From 303539af22a59f7cb867924451da444efc8ce5c7 Mon Sep 17 00:00:00 2001 From: DrChat Date: Sat, 14 Apr 2018 15:32:18 -0500 Subject: [PATCH] [SPIR-V] Fix incorrect dst implementation (incorrect extraction indices) --- src/xenia/gpu/spirv_shader_translator.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/xenia/gpu/spirv_shader_translator.cc b/src/xenia/gpu/spirv_shader_translator.cc index ec2f845d7..a4aa4245b 100644 --- a/src/xenia/gpu/spirv_shader_translator.cc +++ b/src/xenia/gpu/spirv_shader_translator.cc @@ -2221,8 +2221,8 @@ void SpirvShaderTranslator::ProcessVectorAluInstruction( auto src1_y = b.createCompositeExtract(sources[1], float_type_, 1); auto dst_y = b.createBinOp(spv::Op::OpFMul, float_type_, src0_y, src1_y); - auto src0_z = b.createCompositeExtract(sources[0], float_type_, 3); - auto src1_w = b.createCompositeExtract(sources[1], float_type_, 4); + auto src0_z = b.createCompositeExtract(sources[0], float_type_, 2); + auto src1_w = b.createCompositeExtract(sources[1], float_type_, 3); dest = b.createCompositeConstruct( vec4_float_type_, std::vector({b.makeFloatConstant(1.f), dst_y, src0_z, src1_w}));