[Mesa-dev] [PATCH] gallium: Force blend color to 16-byte alignment

Roland Scheidegger sroland at vmware.com
Tue Jun 28 22:38:37 UTC 2016


Am 28.06.2016 um 22:45 schrieb Chuck Atkins:
> This aligns the 4-element color float array to 16 byte boundaries.  This
> should allow compiler vectorizers to generate better optimizations.
> Also fixes broken vectorization generated by Intel compiler.
> 
> Reported-by: Tim Rowley <timothy.o.rowley at intel.com>
> Signed-off-by: Chuck Atkins <chuck.atkins at kitware.com>
> ---
>  src/gallium/include/pipe/p_state.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/gallium/include/pipe/p_state.h b/src/gallium/include/pipe/p_state.h
> index 1543e90..95f140f 100644
> --- a/src/gallium/include/pipe/p_state.h
> +++ b/src/gallium/include/pipe/p_state.h
> @@ -326,7 +326,7 @@ struct pipe_blend_state
>  
>  struct pipe_blend_color
>  {
> -   float color[4];
> +  PIPE_ALIGN_VAR(16) float color[4];
>  };
>  

I'm wondering if that's really needed. I have a difficult time to
imagine setting blend color is performance critical. And driver internal
you can obviously still align pipe_blend_color structs yourself.
But OTOH, why not...

Acked-by: Roland Scheidegger <sroland at vmware.com>


More information about the mesa-dev mailing list