[amdgpu] Initial multi queue support

This commit is contained in:
DH 2023-07-19 15:16:38 +03:00
parent 21f9c9b8ec
commit cea6052e54
3 changed files with 538 additions and 520 deletions

View file

@ -1469,7 +1469,8 @@ struct AmdgpuDevice {
void handleProtectMemory(std::uint64_t address, std::uint64_t size,
std::uint32_t prot);
void handleCommandBuffer(std::uint64_t address, std::uint64_t size);
void handleCommandBuffer(std::uint64_t queueId, std::uint64_t address,
std::uint64_t size);
bool handleFlip(std::uint32_t bufferIndex, std::uint64_t arg,
VkCommandBuffer cmd, VkImage targetImage,
VkExtent2D targetExtent, std::vector<VkBuffer> &usedBuffers,

File diff suppressed because it is too large Load diff

View file

@ -763,7 +763,8 @@ int main(int argc, const char *argv[]) {
cmd.memoryProt.prot);
break;
case amdgpu::bridge::CommandId::CommandBuffer:
device.handleCommandBuffer(cmd.commandBuffer.address,
device.handleCommandBuffer(cmd.commandBuffer.queue,
cmd.commandBuffer.address,
cmd.commandBuffer.size);
break;
case amdgpu::bridge::CommandId::Flip: {