[Mesa-dev] [PATCH 06/16] radeonsi: use tgsi_shader_info in fetch_input_gs

Marek Olšák maraeo at gmail.com
Sat Oct 4 15:42:09 PDT 2014


From: Marek Olšák <marek.olsak at amd.com>

---
 src/gallium/drivers/radeonsi/si_shader.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c
index 203e505..692d2a9 100644
--- a/src/gallium/drivers/radeonsi/si_shader.c
+++ b/src/gallium/drivers/radeonsi/si_shader.c
@@ -354,10 +354,11 @@ static LLVMValueRef fetch_input_gs(
 	LLVMValueRef t_list;
 	LLVMValueRef args[9];
 	unsigned vtx_offset_param;
-	struct si_shader_input *input = &shader->input[reg->Register.Index];
+	struct tgsi_shader_info *info = &shader->selector->info;
+	unsigned semantic_name = info->input_semantic_name[reg->Register.Index];
+	unsigned semantic_index = info->input_semantic_index[reg->Register.Index];
 
-	if (swizzle != ~0 &&
-	    shader->input[reg->Register.Index].name == TGSI_SEMANTIC_PRIMID) {
+	if (swizzle != ~0 && semantic_name == TGSI_SEMANTIC_PRIMID) {
 		if (swizzle == 0)
 			return LLVMGetParam(si_shader_ctx->radeon_bld.main_fn,
 					    SI_PARAM_PRIMITIVE_ID);
@@ -400,7 +401,7 @@ static LLVMValueRef fetch_input_gs(
 	args[0] = t_list;
 	args[1] = vtx_offset;
 	args[2] = lp_build_const_int32(gallivm,
-				       (get_param_index(input->name, input->sid,
+				       (get_param_index(semantic_name, semantic_index,
 							shader->selector->gs_used_inputs) * 4 +
 					swizzle) * 256);
 	args[3] = uint->zero;
-- 
1.9.1



More information about the mesa-dev mailing list