You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
While trying to launch binaries from https://github.com/NVIDIA-RTX/RTXNTC/releases/tag/v0.5.0-beta release, I've noticed that the renderer successfully launches, presents two images, then abruptly exits without any error on my system. Wine logs pointed me to one interesting event that happens just before the renderer goes into teardown sequence:
It appears that when receiving VK_SUBOPTIMAL_KHR from vkQueuePresentKHR, the renderer doesn't know how to proceed and exits, treating this result as some kind of error that's impossible to recover from. I wrote and enabled a dumb Vulkan layer that prevents VK_SUBOPTIMAL_KHR from ever being returned to applications:
#include"vkroots.h"structVkDeviceOverrides
{
static VkResult QueuePresentKHR(vkroots::VkDeviceDispatch const *pDispatch, VkQueue queue, VkPresentInfoKHR const *pPresentInfo)
{
auto result = pDispatch->QueuePresentKHR(queue, pPresentInfo);
if (pPresentInfo->pResults)
{
for (auto i = 0u; i < pPresentInfo->swapchainCount; ++i)
{
if (pPresentInfo->pResults[i] == VkResult::VK_SUBOPTIMAL_KHR)
pPresentInfo->pResults[i] = VkResult::VK_SUCCESS;
}
}
return result == VkResult::VK_SUBOPTIMAL_KHR ? VkResult::VK_SUCCESS : result;
}
};
VKROOTS_DEFINE_LAYER_INTERFACES(vkroots::NoOverrides, vkroots::NoOverrides, VkDeviceOverrides);
… and with that I could launch the sample as presumably intended, but I suppose that's not something I should have been required to do in the first place.
This was tested on NVIDIA GeForce RTX 4080 Mobile with 570.86.16 driver.
The text was updated successfully, but these errors were encountered:
While trying to launch binaries from https://github.com/NVIDIA-RTX/RTXNTC/releases/tag/v0.5.0-beta release, I've noticed that the renderer successfully launches, presents two images, then abruptly exits without any error on my system. Wine logs pointed me to one interesting event that happens just before the renderer goes into teardown sequence:
It appears that when receiving
VK_SUBOPTIMAL_KHR
fromvkQueuePresentKHR
, the renderer doesn't know how to proceed and exits, treating this result as some kind of error that's impossible to recover from. I wrote and enabled a dumb Vulkan layer that preventsVK_SUBOPTIMAL_KHR
from ever being returned to applications:… and with that I could launch the sample as presumably intended, but I suppose that's not something I should have been required to do in the first place.
This was tested on NVIDIA GeForce RTX 4080 Mobile with 570.86.16 driver.
The text was updated successfully, but these errors were encountered: