diff --git a/projects/apis/metal/loader/metal_instance_loader.m b/projects/apis/metal/loader/metal_instance_loader.m index eaeef0d..932cc44 100644 --- a/projects/apis/metal/loader/metal_instance_loader.m +++ b/projects/apis/metal/loader/metal_instance_loader.m @@ -8,7 +8,7 @@ gnInstanceFunctions loadMetalInstanceFunctions() { ._gnCreateInstance = createMetalInstance, ._gnDestroyInstance = destroyMetalInstance, ._gnGetPhysicalDevices = getMetalDevices, - ._gnQueueCanPresentToSurface = metalCanQueuePresentToSurface, + ._gnPhysicalDeviceCanPresentToSurface = metalCanDevicePresent, ._gnCreateOutputDevice = createMetalOutputDevice, ._gnDestroyOutputDevice = destroyMetalOutputDevice, ._gnCreateMacOSWindowSurface = createMetalSurface, diff --git a/projects/apis/metal/src/devices/metal_output_devices.h b/projects/apis/metal/src/devices/metal_output_devices.h index 5617a19..1169ac6 100644 --- a/projects/apis/metal/src/devices/metal_output_devices.h +++ b/projects/apis/metal/src/devices/metal_output_devices.h @@ -17,7 +17,7 @@ struct gnPlatformOutputDevice_t { } gnPlatformOutputDevice; gnPhysicalDevice* getMetalDevices(gnInstanceHandle instance, uint32_t* deviceCount); -gnBool metalCanQueuePresentToSurface(const gnPhysicalDevice device, uint32_t queueIndex, gnWindowSurface windowSurface); +gnBool metalCanDevicePresent(gnPhysicalDevice device, gnWindowSurface windowSurface); gnReturnCode createMetalOutputDevice(gnOutputDeviceHandle outputDevice, gnInstanceHandle instance, gnOutputDeviceInfo deviceInfo); void waitForMetalDevice(gnOutputDeviceHandle device); diff --git a/projects/apis/metal/src/devices/metal_physical_device.m b/projects/apis/metal/src/devices/metal_physical_device.m index 9d9f6c1..83db36b 100644 --- a/projects/apis/metal/src/devices/metal_physical_device.m +++ b/projects/apis/metal/src/devices/metal_physical_device.m @@ -45,6 +45,6 @@ gnPhysicalDevice* getMetalDevices(gnInstanceHandle instance, uint32_t* deviceCou return devicesList; } -gnBool metalCanQueuePresentToSurface(const gnPhysicalDevice device, uint32_t queueIndex, gnWindowSurface windowSurface) { +gnBool metalCanDevicePresent(gnPhysicalDevice device, gnWindowSurface windowSurface) { return gnTrue; // I belive that a window should always be able to present to a surface in metal } diff --git a/projects/apis/vulkan/loader/vulkan_instance_loader.c b/projects/apis/vulkan/loader/vulkan_instance_loader.c index 573ce9f..d628f03 100644 --- a/projects/apis/vulkan/loader/vulkan_instance_loader.c +++ b/projects/apis/vulkan/loader/vulkan_instance_loader.c @@ -10,7 +10,7 @@ gnInstanceFunctions loadVulkanInstanceFunctions() { ._gnDestroyInstance = destroyInstance, ._gnGetPhysicalDevices = getPhysicalDevices, - ._gnQueueCanPresentToSurface = queueCanPresentToSurface, + ._gnPhysicalDeviceCanPresentToSurface = deviceCanPresentToSurface, ._gnCreateOutputDevice = createOutputDevice, ._gnDestroyOutputDevice = destroyOutputDevice, diff --git a/projects/apis/vulkan/src/output_device/vulkan_physical_device.h b/projects/apis/vulkan/src/output_device/vulkan_physical_device.h index a1a6ad0..48de8cd 100644 --- a/projects/apis/vulkan/src/output_device/vulkan_physical_device.h +++ b/projects/apis/vulkan/src/output_device/vulkan_physical_device.h @@ -16,7 +16,7 @@ typedef struct gnPlatformPhysicalDevice_t { } gnPlatformPhysicalDevice; gnPhysicalDevice* getPhysicalDevices(gnInstanceHandle instance, uint32_t* deviceCount); -gnBool queueCanPresentToSurface(const gnPhysicalDevice device, uint32_t queueIndex, gnWindowSurfaceHandle windowSurface); +gnBool deviceCanPresentToSurface(gnPhysicalDevice device, gnWindowSurface surface); gnMultisampleCountFlags vkSampleCountToGryphn(VkSampleCountFlags counts); diff --git a/projects/core/src/output_device/gryphn_physical_output_device.c b/projects/core/src/output_device/gryphn_physical_output_device.c index 258bd03..49a8ebf 100644 --- a/projects/core/src/output_device/gryphn_physical_output_device.c +++ b/projects/core/src/output_device/gryphn_physical_output_device.c @@ -8,55 +8,47 @@ gnPhysicalOutputDeviceHandle* gnGetPhyscialDevices(gnInstanceHandle instance, ui return devices; } -gnBool gnQueueCanPresentToSurface(const gnPhysicalDevice device, uint32_t queueIndex, gnWindowSurfaceHandle windowSurface) { - // if (queueIndex >= device.queueProperties.queueCount) { - // gnDebuggerSetErrorMessage(device.instance->debugger, - // (gnMessageData){ - // .message = gnCreateString("gnQueueCanPresentToSurface queue index passed in is large then queueProperties.queueCount") - // } - // ); - // return gnFalse; - // } - return device->instance->callingLayer->instanceFunctions._gnQueueCanPresentToSurface(device, queueIndex, windowSurface); +gnBool gnPhysicalDeviceCanPresentToSurface(gnPhysicalOutputDeviceHandle device, gnWindowSurfaceHandle windowSurface) { + return device->instance->callingLayer->instanceFunctions._gnPhysicalDeviceCanPresentToSurface(device, windowSurface); } -gnBool gnHasGraphicsQueue(gnPhysicalDevice device) { - for (int i = 0; i < device->queueProperties.queueCount; i++) { - if ((device->queueProperties.queueProperties[i].queueType & GN_QUEUE_GRAPHICS) == GN_QUEUE_GRAPHICS) { - return gnTrue; - } - } - return gnFalse; -} -gnBool gnHasPresentQueue(gnPhysicalDevice device, gnWindowSurfaceHandle windowSurface) { - for (int i = 0; i < device->queueProperties.queueCount; i++) { - if (gnQueueCanPresentToSurface(device, i, windowSurface)) { - return gnTrue; - } - } - return gnFalse; -} - -int gnGetGraphicsQueueIndex(gnPhysicalDevice device) { - for (int i = 0; i < device->queueProperties.queueCount; i++) { - if ((device->queueProperties.queueProperties[i].queueType & GN_QUEUE_GRAPHICS) == GN_QUEUE_GRAPHICS) { - return i; - break; - } - } - return -1; -} -int gnGetPresentQueueIndex(gnPhysicalDevice device, gnWindowSurfaceHandle windowSurface) { - for (int i = 0; i < device->queueProperties.queueCount; i++) { - if (gnQueueCanPresentToSurface(device, i, windowSurface)) { - return i; - break; - } - } - return -1; -} - - gnPhysicalDeviceProperties gnGetPhysicalDeviceProperties(gnPhysicalOutputDeviceHandle device) { return device->properties; } gnPhysicalDeviceFeatures gnGetPhysicalDeviceFeatures(gnPhysicalOutputDeviceHandle device) { return device->features; } + +// gnBool gnHasGraphicsQueue(gnPhysicalDevice device) { +// for (int i = 0; i < device->queueProperties.queueCount; i++) { +// if ((device->queueProperties.queueProperties[i].queueType & GN_QUEUE_GRAPHICS) == GN_QUEUE_GRAPHICS) { +// return gnTrue; +// } +// } +// return gnFalse; +// } +// gnBool gnHasPresentQueue(gnPhysicalDevice device, gnWindowSurfaceHandle windowSurface) { +// for (int i = 0; i < device->queueProperties.queueCount; i++) { +// if (gnQueueCanPresentToSurface(device, i, windowSurface)) { +// return gnTrue; +// } +// } +// return gnFalse; +// } + +// int gnGetGraphicsQueueIndex(gnPhysicalDevice device) { +// for (int i = 0; i < device->queueProperties.queueCount; i++) { +// if ((device->queueProperties.queueProperties[i].queueType & GN_QUEUE_GRAPHICS) == GN_QUEUE_GRAPHICS) { +// return i; +// break; +// } +// } +// return -1; +// } +// int gnGetPresentQueueIndex(gnPhysicalDevice device, gnWindowSurfaceHandle windowSurface) { +// for (int i = 0; i < device->queueProperties.queueCount; i++) { +// if (gnQueueCanPresentToSurface(device, i, windowSurface)) { +// return i; +// break; +// } +// } +// return -1; +// } + // gnPhysicalDeviceQueueProperties gnGetPhysicalDeviceQueueProperties(gnPhysicalOutputDeviceHandle device) { return device->queueProperties; } diff --git a/projects/core/src/output_device/gryphn_physical_output_device.h b/projects/core/src/output_device/gryphn_physical_output_device.h index ff76818..83bbeb3 100644 --- a/projects/core/src/output_device/gryphn_physical_output_device.h +++ b/projects/core/src/output_device/gryphn_physical_output_device.h @@ -57,14 +57,14 @@ typedef struct gnPhysicalOutputDevice_t { #endif gnPhysicalOutputDeviceHandle* gnGetPhyscialDevices(gnInstanceHandle instance, uint32_t* count); -gnBool gnQueueCanPresentToSurface(gnPhysicalOutputDeviceHandle device, uint32_t queueIndex, gnWindowSurfaceHandle windowSurface); +gnBool gnPhysicalDeviceCanPresentToSurface(gnPhysicalOutputDeviceHandle device, gnWindowSurfaceHandle windowSurface); -gnPhysicalDeviceProperties gnGetPhysicalDeviceProperties(gnPhysicalOutputDeviceHandle device); -gnPhysicalDeviceFeatures gnGetPhysicalDeviceFeatures(gnPhysicalOutputDeviceHandle device); +// gnPhysicalDeviceProperties gnGetPhysicalDeviceProperties(gnPhysicalOutputDeviceHandle device); +// gnPhysicalDeviceFeatures gnGetPhysicalDeviceFeatures(gnPhysicalOutputDeviceHandle device); // gnPhysicalDeviceQueueProperties gnGetPhysicalDeviceQueueProperties(gnPhysicalOutputDeviceHandle device); -gnBool gnHasGraphicsQueue(gnPhysicalOutputDeviceHandle device); -gnBool gnHasPresentQueue(gnPhysicalOutputDeviceHandle device, gnWindowSurfaceHandle windowSurface); +// gnBool gnHasGraphicsQueue(gnPhysicalOutputDeviceHandle device); +// gnBool gnHasPresentQueue(gnPhysicalOutputDeviceHandle device, gnWindowSurfaceHandle windowSurface); -int gnGetGraphicsQueueIndex(gnPhysicalOutputDeviceHandle device); -int gnGetPresentQueueIndex(gnPhysicalOutputDeviceHandle device, gnWindowSurfaceHandle windowSurface); +// int gnGetGraphicsQueueIndex(gnPhysicalOutputDeviceHandle device); +// int gnGetPresentQueueIndex(gnPhysicalOutputDeviceHandle device, gnWindowSurfaceHandle windowSurface); diff --git a/projects/loader/src/gryphn_instance_functions.h b/projects/loader/src/gryphn_instance_functions.h index c1c1852..9322293 100644 --- a/projects/loader/src/gryphn_instance_functions.h +++ b/projects/loader/src/gryphn_instance_functions.h @@ -23,7 +23,7 @@ typedef struct gnInstanceFunctions { void (*_gnDestroyInstance)(gnInstanceHandle instance); gnPhysicalDevice* (*_gnGetPhysicalDevices)(gnInstanceHandle instance, uint32_t* count); - gnBool (*_gnQueueCanPresentToSurface)(gnPhysicalDevice device, uint32_t queueIndex, gnWindowSurfaceHandle windowSurface); + gnBool (*_gnPhysicalDeviceCanPresentToSurface)(gnPhysicalDevice device, gnWindowSurfaceHandle windowSurface); gnReturnCode (*_gnCreateOutputDevice)(gnOutputDeviceHandle device, gnInstanceHandle instance, gnOutputDeviceInfo deviceInfo); void (*_gnDestroyOutputDevice)(gnOutputDeviceHandle device); diff --git a/projects/validation_layers/function_loader/loader/function_loader.c b/projects/validation_layers/function_loader/loader/function_loader.c index edb7d7c..e6edd51 100644 --- a/projects/validation_layers/function_loader/loader/function_loader.c +++ b/projects/validation_layers/function_loader/loader/function_loader.c @@ -10,7 +10,7 @@ gnInstanceFunctions loadFunctionLoaderInstanceFunctions() { ._gnDestroyInstance = checkDestroyInstance, ._gnGetPhysicalDevices = checkGetPhysicalDevices, - ._gnQueueCanPresentToSurface = checkQueueCanPresentToSurface, + ._gnPhysicalDeviceCanPresentToSurface = checkCanDevicePresent, ._gnCreateOutputDevice = checkCreateOutputDevice, ._gnDestroyOutputDevice = checkDestroyOutputDevice, diff --git a/projects/validation_layers/function_loader/src/instance_functions.c b/projects/validation_layers/function_loader/src/instance_functions.c index f9dbab9..40ab1ef 100644 --- a/projects/validation_layers/function_loader/src/instance_functions.c +++ b/projects/validation_layers/function_loader/src/instance_functions.c @@ -15,8 +15,8 @@ void checkDestroyInstance(gnInstance instance) { gnPhysicalDevice* checkGetPhysicalDevices(gnInstanceHandle instance, uint32_t* count) { CHECK_RETURNED_FUNCTION(instance, _gnGetPhysicalDevices, instanceFunctions, NULL, instance, count); } -gnBool checkQueueCanPresentToSurface(gnPhysicalDevice device, uint32_t queueIndex, const gnWindowSurfaceHandle windowSurface) { - CHECK_RETURNED_FUNCTION(device->instance, _gnQueueCanPresentToSurface, instanceFunctions, gnFalse, device, queueIndex, windowSurface); +gnBool checkCanDevicePresent(gnPhysicalDevice device, gnWindowSurfaceHandle windowSurface) { + CHECK_RETURNED_FUNCTION(device->instance, _gnPhysicalDeviceCanPresentToSurface, instanceFunctions, gnFalse, device, windowSurface); } gnReturnCode checkCreateOutputDevice(gnOutputDeviceHandle device, gnInstanceHandle instance, gnOutputDeviceInfo deviceInfo) { diff --git a/projects/validation_layers/function_loader/src/instance_functions.h b/projects/validation_layers/function_loader/src/instance_functions.h index 2ad4f92..6b5b4b6 100644 --- a/projects/validation_layers/function_loader/src/instance_functions.h +++ b/projects/validation_layers/function_loader/src/instance_functions.h @@ -6,7 +6,7 @@ gnReturnCode checkCreateInstance(gnInstanceHandle instance, gnInstanceInfo info) void checkDestroyInstance(gnInstance instance); gnPhysicalDevice* checkGetPhysicalDevices(gnInstanceHandle instance, uint32_t* count); -gnBool checkQueueCanPresentToSurface(const gnPhysicalDevice device, uint32_t queueIndex, const gnWindowSurfaceHandle windowSurface); +gnBool checkCanDevicePresent(gnPhysicalDevice device, gnWindowSurfaceHandle windowSurface); gnReturnCode checkCreateOutputDevice(gnOutputDeviceHandle device, gnInstanceHandle instance, gnOutputDeviceInfo deviceInfo); void checkDestroyOutputDevice(gnOutputDeviceHandle device);