summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2017-01-03 20:03:37 +0100
committerMarek Olšák <[email protected]>2017-01-09 12:01:30 +0100
commit5b85a6b3f7195080a1b8255bb527c16a1d8ba581 (patch)
tree70ec5432f0ae5c2943c72183f5ccf3cf1989bbcc
parent6f356d15be008d23dc01707fcf3ff7a3b5a5c4d3 (diff)
radeonsi: set si_shader_context::input_decls for ranged decls correctly
This has no effect because no code uses those members with ranged decls. Tested-by: Edmondo Tommasina <[email protected]> Acked-by: Edward O'Callaghan <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]>
-rw-r--r--src/gallium/drivers/radeonsi/si_shader_tgsi_setup.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/gallium/drivers/radeonsi/si_shader_tgsi_setup.c b/src/gallium/drivers/radeonsi/si_shader_tgsi_setup.c
index 2f38949b88a..996a458835e 100644
--- a/src/gallium/drivers/radeonsi/si_shader_tgsi_setup.c
+++ b/src/gallium/drivers/radeonsi/si_shader_tgsi_setup.c
@@ -877,9 +877,12 @@ static void emit_declaration(struct lp_build_tgsi_context *bld_base,
if (ctx->load_input &&
ctx->input_decls[idx].Declaration.File != TGSI_FILE_INPUT) {
ctx->input_decls[idx] = *decl;
+ ctx->input_decls[idx].Range.First = idx;
+ ctx->input_decls[idx].Range.Last = idx;
+ ctx->input_decls[idx].Semantic.Index += idx - decl->Range.First;
if (bld_base->info->processor != PIPE_SHADER_FRAGMENT)
- ctx->load_input(ctx, idx, decl,
+ ctx->load_input(ctx, idx, &ctx->input_decls[idx],
&ctx->inputs[idx * 4]);
}
}