NVIDIAGameWorks / RTXGI-DDGI

RTX Global Illumination (RTXGI)
https://developer.nvidia.com/rtxgi
Other
696 stars 55 forks source link

TestHarness-VK is failing at Creating swap chain on Windows 11 #77

Closed Raki closed 1 year ago

Raki commented 1 year ago

I tried to run TestHarness-VK on Windows.

Application is failing to create Swapchain.

The reason is extent of the VkSurfaceCapabilitiesKHR . It is not matching with the extent with which the glfw window is created, which is 1920x1080 in this case.

image

If I use default app dimensions(1280x720), there is no issue with the swapchain creation and the app runs fine. At this instance if I choose 1920x1080 resolution from the imgui interface there is no issue. image

acmarrs-nvidia commented 1 year ago

Hi @Raki - is the resolution of your screen <= 1920x1080? The 1061 value you're seeing for the Y dimension seems like 1080 - the window header's height. VkSurfaceCapabilitiesKHR seems to think the device and surface combo you have doesn't support the full 1080p resolution.

You have a few options. The first to try is change the resolution dimensions to a lower value in the scene .ini file you are loading (e.g. see cornell.ini). All scenes default to 1920x1080, but you can change them to anything you want. Another option is to remove the checks in Vulkan.cpp that ensure the swapchain dimensions match the resolution dimensions specified by the .ini file. This isn't recommended though.

Raki commented 1 year ago

Hi @acmarrs-nvidia I can confirm that my screen resolution is 1920x1080. I am able to run the demo with lower resolution 1280x720. If I change the resolution back to 1920x1080 from Settings windows (Resoution Preset), I can see the output with 1920x1061

image

acmarrs-nvidia commented 1 year ago

Hmm, well that's weird. The FHD preset should set the application to 1920x1080 - so it reporting 1061 for the height is...wrong. For some reason it seems vkGetPhysicalDeviceSurfaceCapabilitiesKHR is returning 1061 as the maximum pixel height supported by your device.

Do you have the latest drivers for your graphics device installed? Are you using a fairly recent version of the Vulkan SDK?

Raki commented 1 year ago

My Graphics driver is up to date. image

I'm using LunarG Vulkan SDK : 1.3.268.0

acmarrs-nvidia commented 1 year ago

I tried to reproduce this issue on my side (using 1440p resolution instead), but am not able to. Since this issue is ultimately not related to RTXGI directly, but I'd recommend simply commenting out the checks on line 496 and 497 of Vulkan.cpp. This will allow the swapchain to be created using the allowed (slightly smaller) dimensions, even though they don't match the requested dimensions.