device present to surface checks

This commit is contained in:
Greg Wells
2025-05-23 20:52:25 -04:00
parent 990f40637f
commit 02432e04d3
7 changed files with 34 additions and 7 deletions

View File

@@ -1,6 +1,7 @@
#include "vulkan_physical_device.h"
#include <instance/vulkan_instance.h>
#include <output_device/vulkan_device_extensions.h>
#include <vulkan_surface/vulkan_surface.h>
gnPhysicalDevice* gnGetPhysicalDevicesFn(gnInstance* instance, uint32_t* deviceCount) {
vkEnumeratePhysicalDevices(instance->instance->vk_instance, deviceCount, NULL);
@@ -39,3 +40,11 @@ gnPhysicalDevice* gnGetPhysicalDevicesFn(gnInstance* instance, uint32_t* deviceC
return outputDevices;
}
gnBool gnQueueCanPresentToSurfaceFn(const struct gnPhysicalDevice_t device, uint32_t queueIndex, const struct gnWindowSurface_t windowSurface) {
VkBool32 supportsPresent = false;
vkGetPhysicalDeviceSurfaceSupportKHR(device.physicalDevice->device, queueIndex, windowSurface.windowSurface->surface, &supportsPresent);
if (supportsPresent)
return gnTrue;
return gnFalse;
}