aboutsummaryrefslogtreecommitdiff
path: root/src/common/virtual_buffer.cpp
diff options
context:
space:
mode:
authorxbzk <xbzk@eden-emu.dev>2026-07-02 03:23:08 +0200
committercrueter <crueter@eden-emu.dev>2026-07-02 03:23:08 +0200
commit54c3d10b868806b4d79a919893c7626550244ef7 (patch)
treec78abbca73024efeb8e6c5d5fc26f4535d87ceac /src/common/virtual_buffer.cpp
parentbdf60d79a0f426f988e23ff753e86fb0846aea10 (diff)
[vk, renderdoc] (VUID-02997) avoid vk_image_view as VK_NULL_HANDLE when feature nullDescriptor is unavailable (#4056)
This minor change in src\video_core\renderer_vulkan\pipeline_helper.h allows renderdoc capture on mhr sunbreak. Maybe it sanitizes some crashes on old vulkan GPUs. Device log (nvidia kepler gpu vulkan 1.1.117): [ 17.605262] Render.Vulkan <Info> video_core\vulkan_common\vulkan_device.cpp:1041:GetSuitability: Device doesn't support feature nullDescriptor VUID-VkWriteDescriptorSet-descriptorType-02997 For sampled/combined/storage image descriptors, Khronos says imageView must be valid or VK_NULL_HANDLE (https://docs.vulkan.org/refpages/latest/refpages/source/VkPhysicalDeviceRobustness2FeaturesKHR.html) but then it says: if nullDescriptor is not enabled, imageView must not be VK_NULL_HANDLE. (https://docs.vulkan.org/spec/latest/chapters/descriptorsets.html) nullDescriptor is exactly the feature that allows descriptors to be written with null handles. The fix relies on conditionally replacing the null sampled view with Eden’s dummy null-image-view object (ImageView constructor checks HasNullDescriptor which checks features.robustness2.nullDescriptor. cheap checks, and only for null handles, so no notable cost). Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4056 Reviewed-by: MaranBr <maranbr@eden-emu.dev> Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Diffstat (limited to 'src/common/virtual_buffer.cpp')
0 files changed, 0 insertions, 0 deletions