Mesa (master): radeonsi/nir: fix si_nir_load_tcs_varyings() for outputs

Timothy Arceri tarceri at kemper.freedesktop.org
Wed Feb 14 22:05:55 UTC 2018


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

Author: Timothy Arceri <tarceri at itsqueeze.com>
Date:   Wed Feb 14 12:20:56 2018 +1100

radeonsi/nir: fix si_nir_load_tcs_varyings() for outputs

We were incorrectly using the input info for outputs.

Reviewed-by: Marek Olšák <marek.olsak at amd.com>

---

 src/gallium/drivers/radeonsi/si_shader.c | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c
index 825cb9dd0e..ec03f537d0 100644
--- a/src/gallium/drivers/radeonsi/si_shader.c
+++ b/src/gallium/drivers/radeonsi/si_shader.c
@@ -1254,11 +1254,20 @@ static LLVMValueRef si_nir_load_tcs_varyings(struct ac_shader_abi *abi,
 		param_index = LLVMConstInt(ctx->i32, const_index, 0);
 	}
 
+	ubyte *names;
+	ubyte *indices;
+	if (load_input) {
+		names = info->input_semantic_name;
+		indices = info->input_semantic_index;
+	} else {
+		names = info->output_semantic_name;
+		indices = info->output_semantic_index;
+	}
+
 	dw_addr = get_dw_address_from_generic_indices(ctx, stride, dw_addr,
 						      vertex_index, param_index,
 						      driver_location,
-						      info->input_semantic_name,
-						      info->input_semantic_index,
+						      names, indices,
 						      is_patch);
 
 	LLVMValueRef value[4];




More information about the mesa-commit mailing list