partway through seeing what parts of the swapchain are supported
This commit is contained in:
parent
d223af2df9
commit
b2e5f00a4c
1 changed files with 23 additions and 0 deletions
23
src/main.c
23
src/main.c
|
|
@ -47,6 +47,14 @@ typedef struct Application {
|
|||
VkQueue presentQueue;
|
||||
} Application;
|
||||
|
||||
typedef struct SwapChainSupportDetails {
|
||||
VkSurfaceCapabilitiesKHR capabilities;
|
||||
uint32_t numFormats;
|
||||
VkSurfaceFormatKHR *formats;
|
||||
uint32_t numPresentModes;
|
||||
VkPresentModeKHR *presentModes;
|
||||
} SwapChainSupportDetails;
|
||||
|
||||
bool checkValidationLayerSupport() {
|
||||
uint32_t layerCount;
|
||||
vkEnumerateInstanceLayerProperties(&layerCount, NULL);
|
||||
|
|
@ -296,6 +304,18 @@ bool checkDeviceExtensionSupport(VkPhysicalDevice device) {
|
|||
return true;
|
||||
}
|
||||
|
||||
SwapChainSupportDetails querySwapchainSupport(VkPhysicalDevice device,
|
||||
VkSurfaceKHR *surface) {
|
||||
SwapChainSupportDetails details = {0};
|
||||
|
||||
vkGetPhysicalDeviceSurfaceCapabilitiesKHR(device, *surface,
|
||||
&details.capabilities);
|
||||
|
||||
vkGetPhysicalDeviceSurfaceFormatsKHR(device, *surface, &details.numFormats,
|
||||
details.formats);
|
||||
return details;
|
||||
}
|
||||
|
||||
bool isDeviceSuitable(VkPhysicalDevice device, VkSurfaceKHR *surface) {
|
||||
QueueFamilyIndices indices = findQueueFamilies(device, surface);
|
||||
bool completeIndeces =
|
||||
|
|
@ -303,6 +323,9 @@ bool isDeviceSuitable(VkPhysicalDevice device, VkSurfaceKHR *surface) {
|
|||
|
||||
bool extensionsSupported = checkDeviceExtensionSupport(device);
|
||||
|
||||
SwapChainSupportDetails swapChaindetails =
|
||||
querySwapchainSupport(device, surface);
|
||||
|
||||
return completeIndeces && extensionsSupported;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue