From 719c44310a43c5177fa09e1333e782410edf7d11 Mon Sep 17 00:00:00 2001 From: nmzik Date: Fri, 23 Oct 2026 08:08:56 +0200 Subject: [PATCH] graphics: mark image heap resources as sampled reads --- .../shader/recompiler/ir/passes/ResourceMaterialization.cpp | 1 + tests/ResourceTrackingTests.cpp | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/graphics/shader/recompiler/ir/passes/ResourceMaterialization.cpp b/src/graphics/shader/recompiler/ir/passes/ResourceMaterialization.cpp index a647b2fde..1e89cf62d 100644 --- a/src/graphics/shader/recompiler/ir/passes/ResourceMaterialization.cpp +++ b/src/graphics/shader/recompiler/ir/passes/ResourceMaterialization.cpp @@ -1800,6 +1800,7 @@ uint32_t ImageHeapKind(const ImageResource& root, DescriptorValue& value) { ImageResource ImageHeapResource(const ImageResource& root, uint32_t kind) { ImageResource resource; resource.resource_class = ImageResourceClass::Sampled; + resource.read = true; resource.heap = true; resource.dimension = root.dimension; resource.unfiltered_access_only = root.unfiltered_access_only; diff --git a/tests/ResourceTrackingTests.cpp b/tests/ResourceTrackingTests.cpp index 72b7c69e3..fd34df80c 100644 --- a/tests/ResourceTrackingTests.cpp +++ b/tests/ResourceTrackingTests.cpp @@ -550,7 +550,7 @@ void TestImageHeapKinds() { Check(resource.numeric_class == Libs::Graphics::Prospero::TextureNumericClass::Uint && !resource.cube && cube_resource.cube && cube_resource.numeric_class == Libs::Graphics::Prospero::TextureNumericClass::Float && - resource.resource_class == ImageResourceClass::Sampled && + resource.resource_class == ImageResourceClass::Sampled && resource.read && ImageHeapResource(root, 0u) == ImageHeapResource(other, 0u), "heap kind resources lost their type or kept root identity"); root.depth_compare = true;