From b9cc50fbce4c5aeab035d855c9368e24e2ed2d20 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Thu, 23 Jan 2020 17:51:09 +0100 Subject: [PATCH] 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 Reviewed-by: Rhys Perry Part-of: --- 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); } -- 2.30.2