@@ -1060,13 +1060,10 @@ namespace ZEngine::Hardwares
10601060 {
10611061 VkSurfaceCapabilitiesKHR capabilities{};
10621062 vkGetPhysicalDeviceSurfaceCapabilitiesKHR (PhysicalDevice, Surface, &capabilities);
1063- if (capabilities.currentExtent .width != std::numeric_limits<uint32_t >::max ())
1064- {
1065- SwapchainImageWidth = capabilities.currentExtent .width ;
1066- SwapchainImageHeight = capabilities.currentExtent .height ;
1067- }
1063+ SwapchainImageWidth = std::clamp (CurrentWindow->GetWidth (), capabilities.minImageExtent .width , capabilities.maxImageExtent .width );
1064+ SwapchainImageHeight = std::clamp (CurrentWindow->GetHeight (), capabilities.minImageExtent .height , capabilities.maxImageExtent .height );
10681065
1069- auto min_image_count = std::clamp (capabilities. minImageCount , capabilities.minImageCount , capabilities. maxImageCount == 0 ? std::numeric_limits< decltype ( capabilities.maxImageCount )>:: max () : capabilities. maxImageCount ) ;
1066+ auto min_image_count = SwapchainImageCount < capabilities.minImageCount ? capabilities.minImageCount : SwapchainImageCount ;
10701067 VkSwapchainCreateInfoKHR swapchain_create_info = {
10711068 .sType = VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR, .pNext = nullptr , .surface = Surface, .minImageCount = min_image_count, .imageFormat = SurfaceFormat.format , .imageColorSpace = SurfaceFormat.colorSpace , .imageExtent = VkExtent2D{.width = SwapchainImageWidth, .height = SwapchainImageHeight},
10721069 .imageArrayLayers = 1 , .imageUsage = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT, .preTransform = capabilities.currentTransform , .compositeAlpha = VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR, .presentMode = PresentMode, .clipped = VK_TRUE
@@ -2093,7 +2090,7 @@ namespace ZEngine::Hardwares
20932090
20942091 void Image2DBuffer::Dispose ()
20952092 {
2096- if (this && m_buffer_image)
2093+ if (m_buffer_image)
20972094 {
20982095 Device->EnqueueBufferImageForDeletion (m_buffer_image);
20992096 m_buffer_image = {};
0 commit comments