From 2371103bb599894391df3a01a02645be1b04e9ed Mon Sep 17 00:00:00 2001 From: wildcard Date: Mon, 4 Aug 2025 13:25:32 +0200 Subject: [PATCH] fix vuid07752 Validation Error: [ VUID-vkCmdDraw-viewType-07752 ] The Vulkan spec states: If a VkImageView is accessed as a result of this command, then the image view's viewType must match the Dim operand of the OpTypeImage as described in Instruction/Sampler/Image View Validation (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkCmdDraw-viewType-07752) --- src/video_core/renderer_vulkan/vk_texture_cache.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/video_core/renderer_vulkan/vk_texture_cache.cpp b/src/video_core/renderer_vulkan/vk_texture_cache.cpp index 9259639107..d8babd1bd2 100644 --- a/src/video_core/renderer_vulkan/vk_texture_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_texture_cache.cpp @@ -2034,9 +2034,12 @@ ImageView::ImageView(TextureCacheRuntime& runtime, const VideoCommon::ImageViewI render_target = Handle(TextureType::ColorArray1D); break; case VideoCommon::ImageViewType::e2D: - case VideoCommon::ImageViewType::e2DArray: case VideoCommon::ImageViewType::Rect: create(TextureType::Color2D, 1); + render_target = Handle(Shader::TextureType::Color2D); + break; + + case VideoCommon::ImageViewType::e2DArray: create(TextureType::ColorArray2D, std::nullopt); render_target = Handle(Shader::TextureType::ColorArray2D); break; @@ -2055,6 +2058,7 @@ ImageView::ImageView(TextureCacheRuntime& runtime, const VideoCommon::ImageViewI } } + ImageView::ImageView(TextureCacheRuntime& runtime, const VideoCommon::ImageViewInfo& info, ImageId image_id_, Image& image, const SlotVector& slot_imgs) : ImageView{runtime, info, image_id_, image} {