[Mesa-dev] [PATCH] radv/xfb: don't increase offset by component mask start.

Samuel Pitoiset samuel.pitoiset at gmail.com
Wed Oct 31 11:05:54 UTC 2018


Seems fine.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>

On 10/31/18 3:58 AM, Dave Airlie wrote:
> From: Dave Airlie <airlied at redhat.com>
> 
> 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)
> ---
>   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,
> 


More information about the mesa-dev mailing list