Mesa (master): radeonsi/gfx9: fix bad LLVM params in monolithic LS+HS

Marek Olšák mareko at kemper.freedesktop.org
Tue Apr 3 15:09:01 UTC 2018


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

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Mon Apr  2 15:06:42 2018 -0400

radeonsi/gfx9: fix bad LLVM params in monolithic LS+HS

Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

---

 src/gallium/drivers/radeonsi/si_shader.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c
index dd2969aa75..60ca150c21 100644
--- a/src/gallium/drivers/radeonsi/si_shader.c
+++ b/src/gallium/drivers/radeonsi/si_shader.c
@@ -6846,7 +6846,7 @@ int si_compile_tgsi_shader(struct si_screen *sscreen,
 
 			si_build_wrapper_function(&ctx,
 						  parts + !vs_needs_prolog,
-						  4 - !vs_needs_prolog, 0,
+						  4 - !vs_needs_prolog, vs_needs_prolog,
 						  vs_needs_prolog ? 2 : 1);
 		} else {
 			LLVMValueRef parts[2];
@@ -6969,6 +6969,10 @@ int si_compile_tgsi_shader(struct si_screen *sscreen,
 			ac_count_scratch_private_memory(ctx.main_fn);
 	}
 
+	/* Make sure the input is a pointer and not integer followed by inttoptr. */
+	assert(LLVMGetTypeKind(LLVMTypeOf(LLVMGetParam(ctx.main_fn, 0))) ==
+	       LLVMPointerTypeKind);
+
 	/* Compile to bytecode. */
 	r = si_compile_llvm(sscreen, &shader->binary, &shader->config, tm,
 			    ctx.gallivm.module, debug, ctx.type, "TGSI shader");




More information about the mesa-commit mailing list