blob: 7fa98947917c440a8cd178a425af68e76c9f8970 [file] [log] [blame]
// Copyright 2017 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef MOCK_MAPPED_BATCH_H
#define MOCK_MAPPED_BATCH_H
#include "mapped_batch.h"
class MockMappedBatch : public MappedBatch {
public:
MockMappedBatch() {}
MockMappedBatch(std::weak_ptr<MsdIntelContext> context, gpu_addr_t gpu_addr)
: context_(context), gpu_addr_(gpu_addr)
{
}
std::weak_ptr<MsdIntelContext> GetContext() override { return context_; }
bool GetGpuAddress(gpu_addr_t* gpu_addr_out) override
{
if (gpu_addr_ == kInvalidGpuAddr)
return false;
// Arbitrary
*gpu_addr_out = gpu_addr_;
return true;
}
void SetSequenceNumber(uint32_t sequence_number) override
{
sequence_number_ = sequence_number;
}
uint32_t sequence_number() { return sequence_number_; }
uint32_t GetPipeControlFlags() override { return 0; }
GpuMapping* GetBatchMapping() override
{
DASSERT(false);
return nullptr;
}
private:
std::weak_ptr<MsdIntelContext> context_;
gpu_addr_t gpu_addr_ = kInvalidGpuAddr;
uint32_t sequence_number_ = Sequencer::kInvalidSequenceNumber;
};
#endif // MOCK_MAPPED_BATCH_H