From fd8cd15ad8f8cfedd43b79d66af2006b924db280 Mon Sep 17 00:00:00 2001 From: HuYingzhuo Date: Thu, 11 Apr 2019 19:51:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E8=BF=9B=E5=88=A4=E6=96=AD=EF=BC=8C?= =?UTF-8?q?=E4=BD=BF=E4=BB=A3=E7=A0=81=E9=98=85=E8=AF=BB=E6=9B=B4=E6=B8=85?= =?UTF-8?q?=E6=99=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- example/Vulkan/RenderSurfaceCreater.cpp | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/example/Vulkan/RenderSurfaceCreater.cpp b/example/Vulkan/RenderSurfaceCreater.cpp index ef8f331d..f30eaf30 100644 --- a/example/Vulkan/RenderSurfaceCreater.cpp +++ b/example/Vulkan/RenderSurfaceCreater.cpp @@ -8,20 +8,22 @@ VkSurfaceKHR CreateSurface(VkInstance,Window *); namespace { - VkExtent2D GetSwapchainExtent(VkSurfaceCapabilitiesKHR &surface_caps,int width,int height) + template T Clamp(const T &cur,const T &min_value,const T &max_value) + { + if(curmax_value)return max_value; + + return cur; + } + + VkExtent2D GetSwapchainExtent(VkSurfaceCapabilitiesKHR &surface_caps,uint32_t width,uint32_t height) { if(surface_caps.currentExtent.width==0xFFFFFFFF) { VkExtent2D swapchain_extent; - swapchain_extent.width=width; - swapchain_extent.height=height; - - if(swapchain_extent.widthsurface_caps.maxImageExtent.width)swapchain_extent.width=surface_caps.maxImageExtent.width; - - if(swapchain_extent.heightsurface_caps.maxImageExtent.height)swapchain_extent.height=surface_caps.maxImageExtent.height; + swapchain_extent.width=Clamp(width,surface_caps.minImageExtent.width,surface_caps.maxImageExtent.width); + swapchain_extent.height=Clamp(height,surface_caps.minImageExtent.height,surface_caps.maxImageExtent.height); return swapchain_extent; }