Mesa (master): aco/gfx10: Fix PS exports for SPI_SHADER_32_AR.

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Oct 21 15:27:12 UTC 2019


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

Author: Timur Kristóf <timur.kristof at gmail.com>
Date:   Tue Oct 15 09:55:17 2019 +0200

aco/gfx10: Fix PS exports for SPI_SHADER_32_AR.

Signed-off-by: Timur Kristóf <timur.kristof at gmail.com>
Reviewed-by: Daniel Schürmann <daniel at schuermann.dev>

---

 src/amd/compiler/aco_instruction_selection.cpp | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/amd/compiler/aco_instruction_selection.cpp b/src/amd/compiler/aco_instruction_selection.cpp
index 0e7d8a857e4..fede0979bd2 100644
--- a/src/amd/compiler/aco_instruction_selection.cpp
+++ b/src/amd/compiler/aco_instruction_selection.cpp
@@ -2524,7 +2524,13 @@ void visit_store_fs_output(isel_context *ctx, nir_intrinsic_instr *instr)
       break;
 
    case V_028714_SPI_SHADER_32_AR:
-      enabled_channels = 0x9;
+      if (ctx->options->chip_class >= GFX10) {
+         /* Special case: on GFX10, the outputs are different for 32_AR */
+         enabled_channels = 0x3;
+         values[1] = values[3];
+      } else {
+         enabled_channels = 0x9;
+      }
       break;
 
    case V_028714_SPI_SHADER_FP16_ABGR:




More information about the mesa-commit mailing list