class TestCommandBuffer

Defined at line 12 of file ../../src/graphics/drivers/msd-vsi-vip/tests/unit_tests/test_command_buffer.h

Protected Members

unique_ptr address_space_owner_
unique_ptr device_
unique_ptr client_

Public Methods

std::unique_ptr<CommandBuffer> Create (std::shared_ptr<MsdIntelBuffer> command_buffer_descriptor, std::weak_ptr<MsdIntelContext> context, std::vector<std::shared_ptr<MsdIntelBuffer>> buffers, std::vector<std::shared_ptr<magma::PlatformSemaphore>> wait_semaphores, std::vector<std::shared_ptr<magma::PlatformSemaphore>> signal_semaphores)

Defined at line 13 of file ../../src/graphics/drivers/msd-intel-gen/tests/unit_tests/test_command_buffer.h

void SetUp ()

Defined at line 24 of file ../../src/graphics/drivers/msd-vsi-vip/tests/unit_tests/test_command_buffer.h

void Release ()

Defined at line 33 of file ../../src/graphics/drivers/msd-vsi-vip/tests/unit_tests/test_command_buffer.h

bool MapResourcesGpu (CommandBuffer * command_buffer, std::shared_ptr<AddressSpace> address_space, std::vector<std::shared_ptr<GpuMapping>> & mappings)

Defined at line 44 of file ../../src/graphics/drivers/msd-intel-gen/tests/unit_tests/test_command_buffer.h

void UnmapResourcesGpu (CommandBuffer * command_buffer)

Defined at line 50 of file ../../src/graphics/drivers/msd-intel-gen/tests/unit_tests/test_command_buffer.h

uint32_t batch_buffer_resource_index (const CommandBuffer * command_buffer)

Defined at line 54 of file ../../src/graphics/drivers/msd-intel-gen/tests/unit_tests/test_command_buffer.h

std::vector<CommandBuffer::ExecResource> & exec_resources (CommandBuffer * command_buffer)

Defined at line 58 of file ../../src/graphics/drivers/msd-intel-gen/tests/unit_tests/test_command_buffer.h

Protected Methods

void CreateMsdBuffer (uint32_t buffer_size, std::shared_ptr<MsdVsiBuffer> * out_buffer)

Creates a buffer of |buffer_size| and stores it in |out_buffer|.

Defined at line 23 of file ../../src/graphics/drivers/msd-vsi-vip/tests/unit_tests/test_command_buffer.cc

void CreateAndMapBuffer (std::shared_ptr<MsdVsiContext> context, uint32_t buffer_size, uint32_t map_page_count, uint32_t gpu_addr, std::shared_ptr<MsdVsiBuffer> * out_buffer)

Creates a buffer of |buffer_size| bytes, and maps the buffer to |gpu_addr|.

|map_page_count| may be less bytes than buffer size.

Defined at line 37 of file ../../src/graphics/drivers/msd-vsi-vip/tests/unit_tests/test_command_buffer.cc

void CreateAndPrepareBatch (std::shared_ptr<MsdVsiContext> context, std::shared_ptr<MsdVsiBuffer> buffer, uint32_t data_size, uint32_t batch_offset, std::shared_ptr<magma::PlatformSemaphore> signal, std::optional<CommandBuffer::ExecResource> context_state_buffer, std::unique_ptr<CommandBuffer> * out_batch)

Creates a new command buffer.

|data_size| is the actual length of the user provided data and may be smaller than

the size of |buffer|.

|signal| is an optional semaphore. If present, it will be signalled after the batch

is submitted via |SubmitBatch| and execution completes.

Defined at line 56 of file ../../src/graphics/drivers/msd-vsi-vip/tests/unit_tests/test_command_buffer.cc

void CreateAndSubmitBuffer (std::shared_ptr<MsdVsiContext> context, const BufferDesc & buffer_desc, std::shared_ptr<magma::PlatformSemaphore> signal, std::optional<uint32_t> fault_addr, std::optional<CommandBuffer::ExecResource> context_state_buffer, bool validate_batch, std::shared_ptr<MsdVsiBuffer> * out_buffer)

Creates a buffer from |buffer_desc|, writes a test instruction to it and

submits it as a command buffer.

|signal| is an optional semaphore that will be passed as a signal semaphore for the batch.

If |fault_addr| is populated, the submitted buffer will contain faulting instructions.

If |validate_batch| is true, this will check that the batch is correctly mapped and has valid

sized buffers. If |out_buffer| is non-null, it will be populated with the created buffer.

Defined at line 89 of file ../../src/graphics/drivers/msd-vsi-vip/tests/unit_tests/test_command_buffer.cc

void CreateClient (uint32_t address_space_index, std::unique_ptr<Client> * out_client)

Defined at line 105 of file ../../src/graphics/drivers/msd-vsi-vip/tests/unit_tests/test_command_buffer.h

void CreateAndSubmitBufferWaitCompletion (std::shared_ptr<MsdVsiContext> context, const BufferDesc & buffer_desc, std::optional<CommandBuffer::ExecResource> context_state_buffer, bool validate_batch, std::shared_ptr<MsdVsiBuffer> * out_buffer)

Creates a buffer from |buffer_desc|, writes a test instruction to it and

submits it as a command buffer. This will wait for execution to complete.

If |out_buffer| is non-null, it will be populated with the created buffer.

Defined at line 121 of file ../../src/graphics/drivers/msd-vsi-vip/tests/unit_tests/test_command_buffer.cc

void WriteWaitCommand (std::shared_ptr<MsdVsiBuffer> buf, uint32_t offset)

Writes a single WAIT command in |buf| at |offset|.

Defined at line 136 of file ../../src/graphics/drivers/msd-vsi-vip/tests/unit_tests/test_command_buffer.cc

void WriteLinkCommand (std::shared_ptr<MsdVsiBuffer> buffer, uint32_t offset, uint16_t prefetch, uint32_t gpu_addr)

Writes a single LINK command in |buf| at |offset|.

Defined at line 144 of file ../../src/graphics/drivers/msd-vsi-vip/tests/unit_tests/test_command_buffer.cc

void WriteEventCommand (std::unique_ptr<MsdVsiDevice> & device, std::shared_ptr<MsdVsiContext> context, std::shared_ptr<MsdVsiBuffer> buffer, uint32_t offset, std::unique_ptr<magma::PlatformSemaphore> * out_semaphore)

Writes an EVENT command in |buf| at |offset|. |out_semaphore| will be populated with the

semaphore that will be signalled once the interrupt associated with the event occurs.

Defined at line 153 of file ../../src/graphics/drivers/msd-vsi-vip/tests/unit_tests/test_command_buffer.cc

void DropDefaultClient ()

Defined at line 175 of file ../../src/graphics/drivers/msd-vsi-vip/tests/unit_tests/test_command_buffer.h

std::shared_ptr<MsdVsiConnection> default_connection ()

Defined at line 177 of file ../../src/graphics/drivers/msd-vsi-vip/tests/unit_tests/test_command_buffer.h

std::shared_ptr<MsdVsiContext> default_context ()

Defined at line 178 of file ../../src/graphics/drivers/msd-vsi-vip/tests/unit_tests/test_command_buffer.h

std::shared_ptr<AddressSpace> default_address_space ()

Defined at line 179 of file ../../src/graphics/drivers/msd-vsi-vip/tests/unit_tests/test_command_buffer.h

Records