swapchain: Add env-var to override swapchain images.

For perf debug mostly.

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
This commit is contained in:
Hans-Kristian Arntzen 2022-02-21 13:39:23 +01:00
parent 15704b2419
commit b066e72243
1 changed files with 11 additions and 0 deletions

View File

@ -1401,8 +1401,10 @@ static HRESULT d3d12_swapchain_create_vulkan_swapchain(struct d3d12_swapchain *s
VkFormat vk_format, vk_swapchain_format;
unsigned int width, height, image_count;
VkSurfaceCapabilitiesKHR surface_caps;
unsigned int override_image_count;
VkSwapchainKHR vk_swapchain;
VkImageUsageFlags usage;
const char *count_env;
VkResult vr;
HRESULT hr;
@ -1426,6 +1428,15 @@ static HRESULT d3d12_swapchain_create_vulkan_swapchain(struct d3d12_swapchain *s
/* Need to account for the front buffer, so + 1 */
image_count = swapchain->desc.BufferCount + 1;
image_count = max(image_count, surface_caps.minImageCount);
count_env = getenv("VKD3D_SWAPCHAIN_IMAGES");
if (count_env)
{
override_image_count = strtoul(count_env, NULL, 0);
image_count = max(image_count, override_image_count);
INFO("Overriding swapchain images to %u.\n", image_count);
}
if (surface_caps.maxImageCount)
image_count = min(image_count, surface_caps.maxImageCount);