mirror of
				https://github.com/ocornut/imgui.git
				synced 2025-10-26 12:27:30 +00:00 
			
		
		
		
	Backends: Vulkan: Fixed setting VkSwapchainCreateInfoKHR::preTransform for platforms not supporting VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR. (#8222)
This commit is contained in:
		 Mahmood - Zer0xFF
					Mahmood - Zer0xFF
				
			
				
					committed by
					
						 ocornut
						ocornut
					
				
			
			
				
	
			
			
			 ocornut
						ocornut
					
				
			
						parent
						
							f25665f360
						
					
				
				
					commit
					e487eb9da0
				
			| @@ -26,6 +26,7 @@ | ||||
|  | ||||
| // CHANGELOG | ||||
| // (minor and older changes stripped away, please see git history for details) | ||||
| //  2024-12-11: Vulkan: Fixed setting VkSwapchainCreateInfoKHR::preTransform for platforms not supporting VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR. (#8222) | ||||
| //  2024-11-27: Vulkan: Make user-provided descriptor pool optional. As a convenience, when setting init_info->DescriptorPoolSize the backend will create one itself. (#8172, #4867) | ||||
| //  2024-10-07: Vulkan: Changed default texture sampler to Clamp instead of Repeat/Wrap. | ||||
| //  2024-10-07: Vulkan: Expose selected render state in ImGui_ImplVulkan_RenderState, which you can access in 'void* platform_io.Renderer_RenderState' during draw callbacks. | ||||
| @@ -1426,6 +1427,10 @@ void ImGui_ImplVulkanH_CreateWindowSwapChain(VkPhysicalDevice physical_device, V | ||||
|  | ||||
|     // Create Swapchain | ||||
|     { | ||||
|         VkSurfaceCapabilitiesKHR cap; | ||||
|         err = vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physical_device, wd->Surface, &cap); | ||||
|         check_vk_result(err); | ||||
|  | ||||
|         VkSwapchainCreateInfoKHR info = {}; | ||||
|         info.sType = VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR; | ||||
|         info.surface = wd->Surface; | ||||
| @@ -1435,19 +1440,15 @@ void ImGui_ImplVulkanH_CreateWindowSwapChain(VkPhysicalDevice physical_device, V | ||||
|         info.imageArrayLayers = 1; | ||||
|         info.imageUsage = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT; | ||||
|         info.imageSharingMode = VK_SHARING_MODE_EXCLUSIVE;           // Assume that graphics family == present family | ||||
|         info.preTransform = VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR; | ||||
|         info.preTransform = (cap.supportedTransforms & VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR) ? VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR : cap.currentTransform; | ||||
|         info.compositeAlpha = VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR; | ||||
|         info.presentMode = wd->PresentMode; | ||||
|         info.clipped = VK_TRUE; | ||||
|         info.oldSwapchain = old_swapchain; | ||||
|         VkSurfaceCapabilitiesKHR cap; | ||||
|         err = vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physical_device, wd->Surface, &cap); | ||||
|         check_vk_result(err); | ||||
|         if (info.minImageCount < cap.minImageCount) | ||||
|             info.minImageCount = cap.minImageCount; | ||||
|         else if (cap.maxImageCount != 0 && info.minImageCount > cap.maxImageCount) | ||||
|             info.minImageCount = cap.maxImageCount; | ||||
|  | ||||
|         if (cap.currentExtent.width == 0xffffffff) | ||||
|         { | ||||
|             info.imageExtent.width = wd->Width = w; | ||||
|   | ||||
| @@ -43,6 +43,9 @@ Breaking changes: | ||||
|  | ||||
| Other changes: | ||||
|  | ||||
| - Backends: Vulkan: Fixed setting VkSwapchainCreateInfoKHR::preTransform for | ||||
|   platforms not supporting VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR. (#8222) [@Zer0xFF] | ||||
|  | ||||
|  | ||||
| ----------------------------------------------------------------------- | ||||
|  VERSION 1.91.6 (Released 2024-12-11) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user