perf(window): drop dead present-mode queries from swapchain recreate (#45)
CreateSwapchain unconditionally used VK_PRESENT_MODE_FIFO_KHR, but still ran two vkGetPhysicalDeviceSurfacePresentModesKHR calls plus a heap-allocated std::vector to enumerate present modes that were never consulted. Delete them and assign the constant directly. compositeAlpha is a surface property that does not change across swapchain recreation, so select it once at construction instead of re-deriving it (with another heap-allocated vector) on every resize configure. The vkQueueWaitIdle before recreation is left intact as required. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
626cc6f5c8
commit
9ef554b97e
2 changed files with 28 additions and 29 deletions
|
|
@ -253,6 +253,11 @@ export namespace Crafter {
|
|||
VkSwapchainKHR swapChain = VK_NULL_HANDLE;
|
||||
VkFormat colorFormat;
|
||||
VkColorSpaceKHR colorSpace;
|
||||
// Supported composite-alpha mode for vulkanSurface. A surface property
|
||||
// that does not change across swapchain recreation, so it is selected
|
||||
// once at construction rather than re-derived on every CreateSwapchain
|
||||
// (i.e. on every resize configure).
|
||||
VkCompositeAlphaFlagBitsKHR compositeAlpha = VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR;
|
||||
VkImage images[numFrames];
|
||||
VkImageViewCreateInfo imageViews[numFrames];
|
||||
// Tracks whether each swapchain image has been rendered (and thus
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue