From f63be3ecc79499a9a362ce38d0f3be44033c37fc Mon Sep 17 00:00:00 2001 From: ladevieq Date: Thu, 23 Jan 2025 12:22:10 +0100 Subject: Store queues in a dedicated struct --- include/api-test/command-buffer.hpp | 8 +------- include/api-test/dx12-device-types.hpp | 7 +++++++ include/api-test/dx12-device.hpp | 5 ++++- include/api-test/vk-device-types.hpp | 7 +++++++ include/api-test/vk-device.hpp | 1 - 5 files changed, 19 insertions(+), 9 deletions(-) (limited to 'include') diff --git a/include/api-test/command-buffer.hpp b/include/api-test/command-buffer.hpp index d26fa13..0eff93a 100644 --- a/include/api-test/command-buffer.hpp +++ b/include/api-test/command-buffer.hpp @@ -9,13 +9,7 @@ #include "vec3.hpp" -enum class QueueType : uint32_t { - GRAPHICS, - ASYNC_COMPUTE, - TRANSFER, - MAX, -}; - +#include "vk-device-types.hpp" struct device_texture; struct device_buffer; diff --git a/include/api-test/dx12-device-types.hpp b/include/api-test/dx12-device-types.hpp index dee1811..b70ecf4 100644 --- a/include/api-test/dx12-device-types.hpp +++ b/include/api-test/dx12-device-types.hpp @@ -2,6 +2,13 @@ #include namespace dx12 { + enum class QueueType : uint32_t { + GRAPHICS, + ASYNC_COMPUTE, + TRANSFER, + MAX, + }; + struct texture_desc { }; diff --git a/include/api-test/dx12-device.hpp b/include/api-test/dx12-device.hpp index 5f48f95..83d8888 100644 --- a/include/api-test/dx12-device.hpp +++ b/include/api-test/dx12-device.hpp @@ -4,6 +4,9 @@ #include "dx12-device-types.hpp" class dx12device { + struct queue { + ID3D12CommandQueue* dx_queue; + }; public: void init(); @@ -36,7 +39,7 @@ class dx12device { IDXGIAdapter* adapter; ID3D12Device* device; - ID3D12CommandQueue* queues[3U]; + queue queues[static_cast(dx12::QueueType::MAX)]; freelist surfaces; diff --git a/include/api-test/vk-device-types.hpp b/include/api-test/vk-device-types.hpp index 994f0c4..dd8348b 100644 --- a/include/api-test/vk-device-types.hpp +++ b/include/api-test/vk-device-types.hpp @@ -8,6 +8,13 @@ using VmaAllocation = struct VmaAllocation_T*; +enum class QueueType : uint32_t { + GRAPHICS, + ASYNC_COMPUTE, + TRANSFER, + MAX, +}; + struct texture_desc { uint32_t width = 1U; uint32_t height = 1U; diff --git a/include/api-test/vk-device.hpp b/include/api-test/vk-device.hpp index 9c4b9a9..9dffad8 100644 --- a/include/api-test/vk-device.hpp +++ b/include/api-test/vk-device.hpp @@ -8,7 +8,6 @@ #include "command-buffer.hpp" #include "freelist.hpp" #include "vk-bindless.hpp" -#include "vk-device-types.hpp" using VmaAllocator = struct VmaAllocator_T*; -- cgit v1.3