vulkan remove queue API

This commit is contained in:
Greg Wells
2025-07-15 11:43:17 -04:00
parent 5e933479c4
commit cfcb37a1a4
21 changed files with 156 additions and 89 deletions

View File

@@ -2,15 +2,15 @@
#include <output_device/gryphn_physical_output_device.h>
#include <utils/gryphn_error_code.h>
typedef struct gnDeviceQueueInfo {
int queueIndex;
int queueCount;
// float* queuePriority;
} gnDeviceQueueInfo;
// typedef struct gnDeviceQueueInfo {
// int queueIndex;
// int queueCount;
// // float* queuePriority;
// } gnDeviceQueueInfo;
typedef struct gnOutputDeviceInfo {
uint32_t queueInfoCount;
gnDeviceQueueInfo* queueInfos;
// uint32_t queueInfoCount;
// gnDeviceQueueInfo* queueInfos;
gnPhysicalDeviceFeatures enabledFeatures;
gnPhysicalDevice physicalDevice;
} gnOutputDeviceInfo;

View File

@@ -59,4 +59,4 @@ int gnGetPresentQueueIndex(gnPhysicalDevice device, gnWindowSurfaceHandle window
gnPhysicalDeviceProperties gnGetPhysicalDeviceProperties(gnPhysicalOutputDeviceHandle device) { return device->properties; }
gnPhysicalDeviceFeatures gnGetPhysicalDeviceFeatures(gnPhysicalOutputDeviceHandle device) { return device->features; }
gnPhysicalDeviceQueueProperties gnGetPhysicalDeviceQueueProperties(gnPhysicalOutputDeviceHandle device) { return device->queueProperties; }
// gnPhysicalDeviceQueueProperties gnGetPhysicalDeviceQueueProperties(gnPhysicalOutputDeviceHandle device) { return device->queueProperties; }

View File

@@ -28,29 +28,29 @@ typedef struct gnPhysicalDeviceFeatures {
uint32_t maxPushConstantSize;
} gnPhysicalDeviceFeatures;
typedef enum gnQueueTypeFlags {
GN_QUEUE_GRAPHICS = 1 << 0,
GN_QUEUE_COMPUTE = 1 << 1,
GN_QUEUE_TRANSFER = 1 << 2,
GN_QUEUE_SPARSE_BINDING = 1 << 3
} gnQueueTypeFlags;
// typedef enum gnQueueTypeFlags {
// GN_QUEUE_GRAPHICS = 1 << 0,
// GN_QUEUE_COMPUTE = 1 << 1,
// GN_QUEUE_TRANSFER = 1 << 2,
// GN_QUEUE_SPARSE_BINDING = 1 << 3
// } gnQueueTypeFlags;
typedef struct gnQueueProperties {
uint32_t queueCount;
gnQueueTypeFlags queueType;
} gnQueueProperties;
// typedef struct gnQueueProperties {
// uint32_t queueCount;
// gnQueueTypeFlags queueType;
// } gnQueueProperties;
typedef struct gnPhysicalDeviceQueueProperties {
uint32_t queueCount;
gnQueueProperties* queueProperties;
} gnPhysicalDeviceQueueProperties;
// typedef struct gnPhysicalDeviceQueueProperties {
// uint32_t queueCount;
// gnQueueProperties* queueProperties;
// } gnPhysicalDeviceQueueProperties;
#ifdef GN_REVEAL_IMPL
typedef struct gnPhysicalOutputDevice_t {
struct gnPlatformPhysicalDevice_t* physicalDevice;
gnPhysicalDeviceProperties properties;
gnPhysicalDeviceFeatures features;
gnPhysicalDeviceQueueProperties queueProperties;
// gnPhysicalDeviceQueueProperties queueProperties;
gnInstanceHandle instance;
} gnPhysicalOutputDevice_t;
@@ -61,7 +61,7 @@ gnBool gnQueueCanPresentToSurface(gnPhysicalOutputDeviceHandle device, uint32_t
gnPhysicalDeviceProperties gnGetPhysicalDeviceProperties(gnPhysicalOutputDeviceHandle device);
gnPhysicalDeviceFeatures gnGetPhysicalDeviceFeatures(gnPhysicalOutputDeviceHandle device);
gnPhysicalDeviceQueueProperties gnGetPhysicalDeviceQueueProperties(gnPhysicalOutputDeviceHandle device);
// gnPhysicalDeviceQueueProperties gnGetPhysicalDeviceQueueProperties(gnPhysicalOutputDeviceHandle device);
gnBool gnHasGraphicsQueue(gnPhysicalOutputDeviceHandle device);
gnBool gnHasPresentQueue(gnPhysicalOutputDeviceHandle device, gnWindowSurfaceHandle windowSurface);