From: Timothy Arceri Date: Tue, 20 Feb 2018 23:10:33 +0000 (+1100) Subject: radeonsi/nir: fix tess varying loads for doubles X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e6269ffc2e15ef98e86c472834ee1a7d9fa52b1e;p=mesa.git radeonsi/nir: fix tess varying loads for doubles Fixes the following piglit tests: tests/spec/arb_tessellation_shader/execution/double-array-vs-tcs-tes.shader_test tests/spec/arb_tessellation_shader/execution/double-vs-tcs-tes.shader_test Reviewed-by: Marek Olšák --- diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c index 2d98f93e543..6f8fee6c28e 100644 --- a/src/gallium/drivers/radeonsi/si_shader.c +++ b/src/gallium/drivers/radeonsi/si_shader.c @@ -1273,7 +1273,7 @@ static LLVMValueRef si_nir_load_tcs_varyings(struct ac_shader_abi *abi, LLVMValueRef value[4]; for (unsigned i = 0; i < num_components + component; i++) { - value[i] = lds_load(bld_base, ctx->i32, i, dw_addr); + value[i] = lds_load(bld_base, type, i, dw_addr); } return ac_build_varying_gather_values(&ctx->ac, value, num_components, component); @@ -1360,7 +1360,7 @@ LLVMValueRef si_nir_load_input_tes(struct ac_shader_abi *abi, */ LLVMValueRef value[4]; for (unsigned i = component; i < num_components + component; i++) { - value[i] = buffer_load(&ctx->bld_base, ctx->i32, i, buffer, base, addr, true); + value[i] = buffer_load(&ctx->bld_base, type, i, buffer, base, addr, true); } return ac_build_varying_gather_values(&ctx->ac, value, num_components, component);