From 4c35c1039a48bdb2b33e438d20f6125100542a8b Mon Sep 17 00:00:00 2001 From: Frank Richter Date: Sun, 5 Jun 2022 14:44:49 +0200 Subject: [PATCH] Ensure we always have an image at least with the unscaled extent size when FSR is enabled Fixes #230 --- src/refresh/vkpt/main.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/refresh/vkpt/main.c b/src/refresh/vkpt/main.c index 9e554b9e6..fc4678db5 100644 --- a/src/refresh/vkpt/main.c +++ b/src/refresh/vkpt/main.c @@ -242,9 +242,14 @@ static VkExtent2D get_screen_image_extent() VkExtent2D result; if (cvar_drs_enable->integer) { - int drs_maxscale = max(cvar_drs_minscale->integer, cvar_drs_maxscale->integer); - result.width = (uint32_t)(qvk.extent_unscaled.width * (float)drs_maxscale / 100.f); - result.height = (uint32_t)(qvk.extent_unscaled.height * (float)drs_maxscale / 100.f); + int image_scale = max(cvar_drs_minscale->integer, cvar_drs_maxscale->integer); + + // In case FSR enable we'll always upscale to 100% and thus need at least the unscaled extent + if(vkpt_fsr_is_enabled()) + image_scale = max(image_scale, 100); + + result.width = (uint32_t)(qvk.extent_unscaled.width * (float)image_scale / 100.f); + result.height = (uint32_t)(qvk.extent_unscaled.height * (float)image_scale / 100.f); } else {