radeonsi/nir: fix location_frac handling for TCS outputs
authorMarek Olšák <marek.olsak@amd.com>
Thu, 7 Nov 2019 01:19:17 +0000 (20:19 -0500)
committerMarek Olšák <marek.olsak@amd.com>
Thu, 28 Nov 2019 00:28:32 +0000 (19:28 -0500)
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
src/gallium/drivers/radeonsi/si_shader.c

index 2be1485733429aea7aa7ea0ae356e4eb5e9ecd52..2cd0e45350110fcb833ecbf370c52c9ef09f75c6 100644 (file)
@@ -1402,7 +1402,7 @@ static void si_nir_store_output_tcs(struct ac_shader_abi *abi,
        addr = get_tcs_tes_buffer_address_from_generic_indices(ctx, vertex_index,
                                                               param_index, name, index);
 
-       for (unsigned chan = 0; chan < 8; chan++) {
+       for (unsigned chan = component; chan < 8; chan++) {
                if (!(writemask & (1 << chan)))
                        continue;
                LLVMValueRef value = ac_llvm_extract_elem(&ctx->ac, src, chan - component);