add queue information to Gryphn

This commit is contained in:
Greg Wells
2025-05-23 11:49:34 -04:00
parent 20c351e5d8
commit e7bbd9f9f2
11 changed files with 100 additions and 141 deletions

View File

@@ -65,8 +65,6 @@ void gnLoadFunctions(struct gnDynamicLibrary_t* lib, struct gnFunctions_t* funct
#endif
gnLoadDLLFunction(lib, functions->_gnDestroyWindowSurface, "gnDestroyWindowSurfaceFn");
printf("_gnDestroyWindowSurface location: %p\n", functions->_gnDestroyWindowSurface);
}
void gnLoadDeviceFunctions(struct gnDynamicLibrary_t* lib, struct gnDeviceFunctions_t* functions) {

View File

@@ -1,11 +1,11 @@
#pragma once
#include <core/output_device/gryphn_physical_output_device.h>
struct gnPlatformOutputDevice;
struct gnPlatformOutputDevice_t;
struct gnDeviceFunctions_t;
typedef struct gnOutputDevice_t {
struct gnPlatformOutputDevice* outputDevice;
struct gnPlatformOutputDevice_t* outputDevice;
struct gnDeviceFunctions_t* deviceFunctions;
gnPhysicalDevice* physicalDevice;
} gnOutputDevice;

View File

@@ -1,3 +0,0 @@
#include "gryphn_physical_output_device.h"
gnString gnGetPhysicalOutputDeviceName(const gnPhysicalOutputDevice& device) { return device.outputDeviceName; }

View File

@@ -1,19 +1,35 @@
#pragma once
#include "core/instance/gryphn_instance.h"
struct gnPlatformPhysicalDevice;
struct gnPlatformPhysicalDevice_t;
typedef struct gnPhysicalDeviceProperties_t {
// there are currently no properties
gnString name;
} gnPhysicalDeviceProperties;
typedef enum gnQueueTypeFlags_e {
GN_QUEUE_GRAPHICS = 0x00000001,
GN_QUEUE_COMPUTE = 0x00000002,
GN_QUEUE_TRANSFER = 0x00000004,
GN_QUEUE_SPARSE_BINDING = 0x00000008
} gnQueueTypeFlags;
typedef struct gnQueueProperties_t {
uint32_t queueCount;
enum gnQueueTypeFlags_e queueType;
} gnQueueProperties;
typedef struct gnPhysicalDeviceQueueProperties_t {
uint32_t queueCount;
struct gnQueueProperties_t* queueProperties;
} gnPhysicalDeviceQueueProperties;
typedef struct gnPhysicalDevice_t {
struct gnPlatformPhysicalDevice* physicalDevice;
gnString name;
struct gnPlatformPhysicalDevice_t* physicalDevice;
struct gnPhysicalDeviceProperties_t properties;
struct gnPhysicalDeviceQueueProperties_t queueProperties;
gnInstance* instance;
} gnPhysicalDevice;
gnPhysicalDevice* gnGetPhyscialDevices(gnInstance* instance, uint32_t* count);
gnBool gnDeviceSupportsAPI(const gnPhysicalDevice device);