From fcf15a007d7d32a9cce84f50cb024a638f7c092b Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Wed, 31 Oct 2018 02:56:09 +0000 Subject: [PATCH] radv/xfb: don't increase offset by component mask start. This is incorrect, the offset is into the buffer, and it's legal to write loc 0,0 -> buffer0, offset 0 loc 0,1 -> buffer1, offset 0 This fixes a bunch of piglits running on my zink xfb code on radv. Fixes: 6c21645046 (radv: emit stream outputs for vertex and tessellation stages) Reviewed-by: Samuel Pitoiset --- src/amd/vulkan/radv_nir_to_llvm.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/amd/vulkan/radv_nir_to_llvm.c b/src/amd/vulkan/radv_nir_to_llvm.c index 5ea1755b2a6..f56eb01dc52 100644 --- a/src/amd/vulkan/radv_nir_to_llvm.c +++ b/src/amd/vulkan/radv_nir_to_llvm.c @@ -2512,9 +2512,6 @@ radv_emit_stream_output(struct radv_shader_context *ctx, /* Get the first component. */ start = ffs(output->component_mask) - 1; - /* Adjust the destination offset. */ - offset += start * 4; - /* Load the output as int. */ for (int i = 0; i < num_comps; i++) { out[i] = ac_to_integer(&ctx->ac, -- 2.30.2