Mesa (master): aco: fix a hardware bug for MRTZ exports on GFX6

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Jan 24 18:51:18 UTC 2020


Module: Mesa
Branch: master
Commit: b9cc50fbce4c5aeab035d855c9368e24e2ed2d20
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b9cc50fbce4c5aeab035d855c9368e24e2ed2d20

Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Thu Jan 23 17:51:09 2020 +0100

aco: fix a hardware bug for MRTZ exports on GFX6

GFX6 (except OLAND and HAINAN) has a bug that it only looks at
the X writemask component.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02 at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3533>

---

 src/amd/compiler/aco_instruction_selection.cpp | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/src/amd/compiler/aco_instruction_selection.cpp b/src/amd/compiler/aco_instruction_selection.cpp
index 7e3226635a3..60344d299ca 100644
--- a/src/amd/compiler/aco_instruction_selection.cpp
+++ b/src/amd/compiler/aco_instruction_selection.cpp
@@ -8364,6 +8364,15 @@ static void export_fs_mrt_z(isel_context *ctx)
       }
    }
 
+   /* GFX6 (except OLAND and HAINAN) has a bug that it only looks at the X
+    * writemask component.
+    */
+   if (ctx->options->chip_class == GFX6 &&
+       ctx->options->family != CHIP_OLAND &&
+       ctx->options->family != CHIP_HAINAN) {
+            enabled_channels |= 0x1;
+   }
+
    bld.exp(aco_opcode::exp, values[0], values[1], values[2], values[3],
            enabled_channels, V_008DFC_SQ_EXP_MRTZ, compr);
 }



More information about the mesa-commit mailing list