From 5391bbdfac99199b0014daf3c8d669e380a267bc Mon Sep 17 00:00:00 2001 From: wildcard Date: Sat, 7 Mar 2026 22:27:13 +0100 Subject: [PATCH] [vulkan] Fix incorrect offset application for Array2D textures Earlier we were taking the coords and adding them to coords instead of actually taking offsets and adding it to coord --- src/shader_recompiler/backend/spirv/emit_spirv_image.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/shader_recompiler/backend/spirv/emit_spirv_image.cpp b/src/shader_recompiler/backend/spirv/emit_spirv_image.cpp index 4bff810547..c4c898bec9 100644 --- a/src/shader_recompiler/backend/spirv/emit_spirv_image.cpp +++ b/src/shader_recompiler/backend/spirv/emit_spirv_image.cpp @@ -343,8 +343,8 @@ void AddOffsetToCoordinates(EmitContext& ctx, const IR::TextureInstInfo& info, I break; } case TextureType::ColorArray2D: - offset = ctx.OpCompositeConstruct(ctx.U32[3], ctx.OpCompositeExtract(ctx.U32[1], coords, 0), - ctx.OpCompositeExtract(ctx.U32[1], coords, 1), + offset = ctx.OpCompositeConstruct(ctx.U32[3], ctx.OpCompositeExtract(ctx.U32[1], offset, 0), + ctx.OpCompositeExtract(ctx.U32[1], offset, 1), ctx.u32_zero_value); [[fallthrough]]; case TextureType::Color3D: {