[Mesa-dev] [PATCH 09/10] radeonsi: emit param exports after position exports
Marek Olšák
maraeo at gmail.com
Sat Jul 8 00:42:18 UTC 2017
From: Marek Olšák <marek.olsak at amd.com>
---
src/gallium/drivers/radeonsi/si_shader.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c
index 71e84ce..4b2995f 100644
--- a/src/gallium/drivers/radeonsi/si_shader.c
+++ b/src/gallium/drivers/radeonsi/si_shader.c
@@ -2341,23 +2341,20 @@ static void si_llvm_export_vs(struct lp_build_tgsi_context *bld_base,
break;
case TGSI_SEMANTIC_CLIPVERTEX:
if (!shader->key.opt.clip_disable) {
si_llvm_emit_clipvertex(bld_base, pos_args,
outputs[i].values);
}
break;
}
}
- /* Build parameter exports. */
- si_build_param_exports(ctx, outputs, noutput);
-
/* We need to add the position output manually if it's missing. */
if (!pos_args[0].out[0]) {
pos_args[0].enabled_channels = 0xf; /* writemask */
pos_args[0].valid_mask = 0; /* EXEC mask */
pos_args[0].done = 0; /* last export? */
pos_args[0].target = V_008DFC_SQ_EXP_POS;
pos_args[0].compr = 0; /* COMPR flag */
pos_args[0].out[0] = base->zero; /* X */
pos_args[0].out[1] = base->zero; /* Y */
pos_args[0].out[2] = base->zero; /* Z */
@@ -2442,20 +2439,23 @@ static void si_llvm_export_vs(struct lp_build_tgsi_context *bld_base,
/* Specify the target we are exporting */
pos_args[i].target = V_008DFC_SQ_EXP_POS + pos_idx++;
if (pos_idx == shader->info.nr_pos_exports)
/* Specify that this is the last export */
pos_args[i].done = 1;
ac_build_export(&ctx->ac, &pos_args[i]);
}
+
+ /* Build parameter exports. */
+ si_build_param_exports(ctx, outputs, noutput);
}
/**
* Forward all outputs from the vertex shader to the TES. This is only used
* for the fixed function TCS.
*/
static void si_copy_tcs_inputs(struct lp_build_tgsi_context *bld_base)
{
struct si_shader_context *ctx = si_shader_context(bld_base);
struct gallivm_state *gallivm = &ctx->gallivm;
--
2.7.4
More information about the mesa-dev
mailing list