Mesa (main): r600/sfn: Fix texture gather for Cayman

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue May 18 20:31:03 UTC 2021


Module: Mesa
Branch: main
Commit: 9898bc2915d7e3d951980140ec4d0956f539f0de
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9898bc2915d7e3d951980140ec4d0956f539f0de

Author: Gert Wollny <gert.wollny at collabora.com>
Date:   Fri Apr 30 22:09:27 2021 +0200

r600/sfn: Fix texture gather for Cayman

Signed-off-by: Gert Wollny <gert.wollny at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10608>

---

 src/gallium/drivers/r600/sfn/sfn_emittexinstruction.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

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)



More information about the mesa-commit mailing list