summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2019-05-24 22:49:27 -0400
committerMarek Olšák <[email protected]>2019-07-03 15:51:13 -0400
commit7f715790641fef2c54d979dd84e92d8236bddebb (patch)
tree7b71e2635e101766198820c654bacb1eef06ee83
parent4bdf44724fa8bd88d8f5ed2d8627a4b5ba02cbc0 (diff)
radeonsi/gfx10: fix PS exports for SPI_SHADER_32_AR
Acked-by: Bas Nieuwenhuizen <[email protected]>
-rw-r--r--src/gallium/drivers/radeonsi/si_shader.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c
index 6f11225c9af..2d022438841 100644
--- a/src/gallium/drivers/radeonsi/si_shader.c
+++ b/src/gallium/drivers/radeonsi/si_shader.c
@@ -2450,9 +2450,15 @@ static void si_llvm_init_export_args(struct si_shader_context *ctx,
break;
case V_028714_SPI_SHADER_32_AR:
- args->enabled_channels = 0x9; /* writemask */
- args->out[0] = values[0];
- args->out[3] = values[3];
+ if (ctx->screen->info.chip_class >= GFX10) {
+ args->enabled_channels = 0x3; /* writemask */
+ args->out[0] = values[0];
+ args->out[1] = values[3];
+ } else {
+ args->enabled_channels = 0x9; /* writemask */
+ args->out[0] = values[0];
+ args->out[3] = values[3];
+ }
break;
case V_028714_SPI_SHADER_FP16_ABGR: