actually get it to work

This commit is contained in:
Greg Wells
2025-06-26 18:04:14 -04:00
parent ab3bd566d2
commit f98dc5fead
23 changed files with 81 additions and 68 deletions

View File

@@ -3,17 +3,16 @@
gnReturnCode gnCreateOutputDevice(gnOutputDeviceHandle* outputDevice, gnInstanceHandle instance, gnOutputDeviceInfo deviceInfo) {
*outputDevice = malloc(sizeof(struct gnOutputDevice_t));
(*outputDevice)->deviceFunctions = &instance->deviceFunctions;
(*outputDevice)->instance = instance;
(*outputDevice)->physicalDevice = deviceInfo.physicalDevice;
(*outputDevice)->deviceInfo = deviceInfo;
return instance->instanceFunctions._gnCreateOutputDevice(*outputDevice, instance, deviceInfo);
return instance->callingLayer->instanceFunctions._gnCreateOutputDevice(*outputDevice, instance, deviceInfo);
}
void gnWaitForDevice(gnOutputDeviceHandle device) {
device->deviceFunctions->_gnWaitForDevice(device);
device->instance->callingLayer->deviceFunctions._gnWaitForDevice(device);
}
void gnDestroyOutputDevice(gnOutputDeviceHandle device) {
device->instance->instanceFunctions._gnDestroyOutputDevice(device);
device->instance->callingLayer->instanceFunctions._gnDestroyOutputDevice(device);
free(device);
}

View File

@@ -19,7 +19,6 @@ typedef struct gnOutputDeviceInfo {
#ifdef GN_REVEAL_IMPL
struct gnOutputDevice_t {
struct gnPlatformOutputDevice_t* outputDevice;
gnDeviceFunctions* deviceFunctions;
gnOutputDeviceInfo deviceInfo;
gnInstanceHandle instance;
gnPhysicalDevice physicalDevice;

View File

@@ -2,7 +2,7 @@
#include "instance/gryphn_instance.h"
gnPhysicalDevice* gnGetPhyscialDevices(gnInstanceHandle instance, uint32_t* count) {
gnPhysicalDevice* devices = instance->instanceFunctions._gnGetPhysicalDevices(instance, count);
gnPhysicalDevice* devices = instance->callingLayer->instanceFunctions._gnGetPhysicalDevices(instance, count);
for (int i = 0; i < *count; i++) {
devices[i].instance = instance;
}
@@ -18,7 +18,7 @@ gnBool gnQueueCanPresentToSurface(const gnPhysicalDevice device, uint32_t queueI
// );
// return gnFalse;
// }
return device.instance->instanceFunctions._gnQueueCanPresentToSurface(device, queueIndex, windowSurface);
return device.instance->callingLayer->instanceFunctions._gnQueueCanPresentToSurface(device, queueIndex, windowSurface);
}
gnBool gnHasGraphicsQueue(const gnPhysicalDevice device) {