From 93185953f113026c9bd98bf2a34861ce9e0f8f25 Mon Sep 17 00:00:00 2001 From: nmzik Date: Fri, 25 Sep 2026 13:39:07 +0400 Subject: [PATCH] shader: fuse image specialization setup with materialization --- .../ir/passes/ResourceMaterialization.cpp | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/src/graphics/shader/recompiler/ir/passes/ResourceMaterialization.cpp b/src/graphics/shader/recompiler/ir/passes/ResourceMaterialization.cpp index 03d836cdc..f428a2ce2 100644 --- a/src/graphics/shader/recompiler/ir/passes/ResourceMaterialization.cpp +++ b/src/graphics/shader/recompiler/ir/passes/ResourceMaterialization.cpp @@ -1001,10 +1001,10 @@ bool MaterializeResources(const ResourcePlan& program, const SrtRuntime& runtime } } snapshot.images.resize(program.info.images.size()); - specialization.images.clear(); - specialization.images.reserve(program.info.images.size()); - for (const auto& image: program.info.images) { - specialization.images.push_back({ + specialization.images.resize(program.info.images.size()); + for (uint32_t i = 0; i < program.info.images.size(); ++i) { + const auto& image = program.info.images[i]; + specialization.images[i] = { .numeric_class = image.numeric_class, .dimension = image.dimension, .mip_count = image.mip_count, @@ -1014,10 +1014,7 @@ bool MaterializeResources(const ResourcePlan& program, const SrtRuntime& runtime .indirect_mapping_offset = image.indirect_mapping_offset, .indirect_search_iterations = image.indirect_search_iterations, .cube = image.cube, - }); - } - for (uint32_t i = 0; i < program.info.images.size(); ++i) { - const auto& image = program.info.images[i]; + }; const auto* source = Source(program, image.source); if (source == nullptr) { return false;