From: Dave Airlie Date: Wed, 31 Oct 2018 02:56:09 +0000 (+0000) Subject: radv/xfb: don't increase offset by component mask start. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=fcf15a007d7d32a9cce84f50cb024a638f7c092b;p=mesa.git 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 --- 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,