From d3e96b106307af7a5de8875cc5d6751c5b5edbb1 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Mon, 2 Apr 2018 15:06:42 -0400 Subject: [PATCH] radeonsi/gfx9: fix bad LLVM params in monolithic LS+HS MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Reviewed-by: Nicolai Hähnle --- 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 dd2969aa755..60ca150c211 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"); -- 2.30.2