radeonsi/nir: fix tess varying loads for doubles
authorTimothy Arceri <tarceri@itsqueeze.com>
Tue, 20 Feb 2018 23:10:33 +0000 (10:10 +1100)
committerTimothy Arceri <tarceri@itsqueeze.com>
Wed, 21 Feb 2018 22:31:00 +0000 (09:31 +1100)
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 <marek.olsak@amd.com>
src/gallium/drivers/radeonsi/si_shader.c

index 2d98f93e543ee89f69475fb9a3aab2e3c7bacdf0..6f8fee6c28ecfc189fc2021d4789f489ce39716e 100644 (file)
@@ -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);