Add a function `QVk_CheckExtent()` to query the extent state.

This will be used to detect if we've got an extent size of 0x0 because
the window has been maximized.
This commit is contained in:
Yamagi 2021-04-23 13:47:39 +02:00
parent 0ccf1e8ef8
commit dd80702913
2 changed files with 14 additions and 0 deletions

View File

@ -315,6 +315,7 @@ void QVk_DrawTexRect(const float *ubo, VkDeviceSize uboSize, qvktexture_t *text
void QVk_BindPipeline(qvkpipeline_t *pipeline);
void QVk_SubmitStagingBuffers(void);
void Qvk_MemoryBarrier(VkCommandBuffer cmdBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkAccessFlags srcAccessMask, VkAccessFlags dstAccessMask);
qboolean QVk_CheckExtent(void);
// debug label related functions
void QVk_DebugSetObjectName(uint64_t obj, VkObjectType objType, const char *objName);

View File

@ -127,6 +127,19 @@ static VkCompositeAlphaFlagBitsKHR getSupportedCompositeAlpha(VkCompositeAlphaFl
return VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR;
}
qboolean QVk_CheckExtent(void)
{
VkSurfaceCapabilitiesKHR surfaceCaps;
VK_VERIFY(vkGetPhysicalDeviceSurfaceCapabilitiesKHR(vk_device.physical, vk_surface, &surfaceCaps));
if (surfaceCaps.currentExtent.width == 0 || surfaceCaps.currentExtent.height == 0)
{
return false;
}
return true;
}
VkResult QVk_CreateSwapchain()
{
VkSurfaceCapabilitiesKHR surfaceCaps;