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

@@ -3,3 +3,4 @@
typedef uint32_t gnExtension;
#define GN_EXT_SYNCHRONIZATION 0
#define GN_EXT_QUEUES 1

View File

@@ -1,5 +1,5 @@
#pragma once
#include "stdint.h"
// #include "stdint.h"
#include <utils/gryphn_error_code.h>
#include "gryphn_handles.h"
@@ -9,7 +9,7 @@ typedef enum gnCommandPoolFlags {
} gnCommandPoolFlags;
typedef struct gnCommandPoolInfo {
uint32_t queueIndex;
// uint32_t queueIndex;
gnCommandPoolFlags flags;
} gnCommandPoolInfo;

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);

View File

@@ -7,7 +7,7 @@ typedef struct gnPresentInfo {
uint32_t presentationQueueCount;
gnPresentationQueueHandle* presentationQueues;
uint32_t* imageIndices;
uint32_t queueIndex;
// uint32_t queueIndex;
} gnPresentInfo;
gnReturnCode gnPresent(gnOutputDeviceHandle device, gnPresentInfo info);

View File

@@ -10,8 +10,8 @@ typedef struct gnPresentationQueueInfo {
gnWindowSurfaceHandle surface;
gnSurfaceFormat format;
gnImageSharingMode imageSharingMode;
uint32_t queueFamilyCount;
uint32_t* queueFamilies;
// uint32_t queueFamilyCount;
// uint32_t* queueFamilies;
} gnPresentationQueueInfo;
struct gnPlatformPresentationQueue_t;

View File

@@ -6,6 +6,6 @@
typedef struct gnSubmitInfo {
uint32_t commandBufferCount;
gnCommandBufferHandle* commandBuffers;
uint32_t queueIndex;
// uint32_t queueIndex;
} gnSubmitInfo;
gnReturnCode gnSubmit(gnOutputDevice device, gnSubmitInfo info);

View File

@@ -2,7 +2,6 @@
#include <gryphn_platform_include.h>
#include <utils/gryphn_image_format.h>
#include <instance/gryphn_instance.h>
#include "output_device/gryphn_physical_output_device.h"
#include "utils/math/gryphn_vec2.h"
typedef struct gnSurfaceFormat {