mirror of
https://github.com/ocornut/imgui.git
synced 2025-02-02 20:47:23 +01:00
Backends: Vulkan: Fixed setting VkSwapchainCreateInfoKHR::preTransform for platforms not supporting VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR. (#8222)
This commit is contained in:
parent
f25665f360
commit
e487eb9da0
@ -26,6 +26,7 @@
|
|||||||
|
|
||||||
// CHANGELOG
|
// CHANGELOG
|
||||||
// (minor and older changes stripped away, please see git history for details)
|
// (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-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: 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.
|
// 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
|
// Create Swapchain
|
||||||
{
|
{
|
||||||
|
VkSurfaceCapabilitiesKHR cap;
|
||||||
|
err = vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physical_device, wd->Surface, &cap);
|
||||||
|
check_vk_result(err);
|
||||||
|
|
||||||
VkSwapchainCreateInfoKHR info = {};
|
VkSwapchainCreateInfoKHR info = {};
|
||||||
info.sType = VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR;
|
info.sType = VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR;
|
||||||
info.surface = wd->Surface;
|
info.surface = wd->Surface;
|
||||||
@ -1435,19 +1440,15 @@ void ImGui_ImplVulkanH_CreateWindowSwapChain(VkPhysicalDevice physical_device, V
|
|||||||
info.imageArrayLayers = 1;
|
info.imageArrayLayers = 1;
|
||||||
info.imageUsage = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT;
|
info.imageUsage = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT;
|
||||||
info.imageSharingMode = VK_SHARING_MODE_EXCLUSIVE; // Assume that graphics family == present family
|
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.compositeAlpha = VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR;
|
||||||
info.presentMode = wd->PresentMode;
|
info.presentMode = wd->PresentMode;
|
||||||
info.clipped = VK_TRUE;
|
info.clipped = VK_TRUE;
|
||||||
info.oldSwapchain = old_swapchain;
|
info.oldSwapchain = old_swapchain;
|
||||||
VkSurfaceCapabilitiesKHR cap;
|
|
||||||
err = vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physical_device, wd->Surface, &cap);
|
|
||||||
check_vk_result(err);
|
|
||||||
if (info.minImageCount < cap.minImageCount)
|
if (info.minImageCount < cap.minImageCount)
|
||||||
info.minImageCount = cap.minImageCount;
|
info.minImageCount = cap.minImageCount;
|
||||||
else if (cap.maxImageCount != 0 && info.minImageCount > cap.maxImageCount)
|
else if (cap.maxImageCount != 0 && info.minImageCount > cap.maxImageCount)
|
||||||
info.minImageCount = cap.maxImageCount;
|
info.minImageCount = cap.maxImageCount;
|
||||||
|
|
||||||
if (cap.currentExtent.width == 0xffffffff)
|
if (cap.currentExtent.width == 0xffffffff)
|
||||||
{
|
{
|
||||||
info.imageExtent.width = wd->Width = w;
|
info.imageExtent.width = wd->Width = w;
|
||||||
|
@ -43,6 +43,9 @@ Breaking changes:
|
|||||||
|
|
||||||
Other 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)
|
VERSION 1.91.6 (Released 2024-12-11)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user