diff --git a/src/gallium/drivers/r600/sfn/sfn_emittexinstruction.cpp b/src/gallium/drivers/r600/sfn/sfn_emittexinstruction.cpp index c31bee43db0..a34a10bc67b 100644 --- a/src/gallium/drivers/r600/sfn/sfn_emittexinstruction.cpp +++ b/src/gallium/drivers/r600/sfn/sfn_emittexinstruction.cpp @@ -422,7 +422,8 @@ bool EmitTexInstruction::emit_tex_tg4(nir_tex_instr* instr, TexInputs& src) auto irt = new TexInstruction(tex_op, dst, src.coord, sampler.id, sampler.id + R600_MAX_CONST_BUFFERS, src.sampler_offset); - irt->set_dest_swizzle({1,2,0,3}); + if (get_chip_class() != CAYMAN) + irt->set_dest_swizzle({1,2,0,3}); irt->set_gather_comp(instr->component); if (instr->is_array)