diff --git a/RAII_Samples/utils/utils.hpp b/RAII_Samples/utils/utils.hpp index 06943c9..f96779a 100644 --- a/RAII_Samples/utils/utils.hpp +++ b/RAII_Samples/utils/utils.hpp @@ -364,7 +364,7 @@ namespace vk vk::PresentModeKHR presentMode = vk::su::pickPresentMode( physicalDevice.getSurfacePresentModesKHR( surface ) ); vk::SwapchainCreateInfoKHR swapChainCreateInfo( {}, surface, - vk::su::clamp( 3u, surfaceCapabilities.minImageCount, surfaceCapabilities.maxImageCount ), + vk::su::clampSurfaceImageCount( 3u, surfaceCapabilities.minImageCount, surfaceCapabilities.maxImageCount ), colorFormat, surfaceFormat.colorSpace, swapchainExtent, diff --git a/samples/utils/utils.hpp b/samples/utils/utils.hpp index 4b93125..7cf92f8 100644 --- a/samples/utils/utils.hpp +++ b/samples/utils/utils.hpp @@ -77,6 +77,7 @@ namespace vk VULKAN_HPP_INLINE uint32_t clampSurfaceImageCount( const uint32_t desiredImageCount, const uint32_t minImageCount, const uint32_t maxImageCount ) { uint32_t imageCount = ( std::max )( desiredImageCount, minImageCount ); + // Some drivers report maxImageCount as 0, so only clamp to max if it is valid. if ( maxImageCount > 0 ) { imageCount = ( std::min )( imageCount, maxImageCount );