[Intel-gfx] [PATCH] rendercopy/gen8: Remove a hole in struct gen8_blend_state

Ben Widawsky ben at bwidawsk.net
Tue Mar 25 03:14:22 CET 2014


On Mon, Mar 24, 2014 at 06:53:47PM +0000, Damien Lespiau wrote:
> Using uint64_t in that second member makes it aligned to 64bits, while
> the first member is only 32bits. We then had a 32bits hole in there!
> 
> Found-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Ben Widawsky <benjamin.widawsky at intel.com>
> Cc: Rafael Barbalho <rafael.barbalho at intel.com>
> Signed-off-by: Damien Lespiau <damien.lespiau at intel.com>

I sent a mail 9 hours ago then never appeared to arrive. Hopefully it
won't show up later. Recapping:
lgtm - maybe a compile time assert on the struct would be a nice patch
on top of this?

Reviewed-by: Ben Widawsky <ben at bwidawsk.net>

> ---
>  lib/gen8_render.h | 38 +++++++++++++++++++-------------------
>  1 file changed, 19 insertions(+), 19 deletions(-)
> 
> diff --git a/lib/gen8_render.h b/lib/gen8_render.h
> index ca53d64..fffc100 100644
> --- a/lib/gen8_render.h
> +++ b/lib/gen8_render.h
> @@ -273,25 +273,25 @@ struct gen8_blend_state {
>  	} bs0;
>  
>  	struct {
> -		uint64_t write_disable_blue:1;
> -		uint64_t write_disable_green:1;
> -		uint64_t write_disable_red:1;
> -		uint64_t write_disable_alpha:1;
> -		uint64_t pad1:1;
> -		uint64_t alpha_blend_func:3;
> -		uint64_t dest_alpha_blend_factor:5;
> -		uint64_t source_alpha_blend_factor:5;
> -		uint64_t color_blend_func:3;
> -		uint64_t dest_blend_factor:5;
> -		uint64_t source_blend_factor:5;
> -		uint64_t color_buffer_blend:1;
> -		uint64_t post_blend_color_clamp:1;
> -		uint64_t pre_blend_color_clamp:1;
> -		uint64_t color_clamp_range:2;
> -		uint64_t pre_blend_source_only_clamp:1;
> -		uint64_t pad0:22;
> -		uint64_t logic_op_func:4;
> -		uint64_t logic_op_enable:1;
> +		uint32_t write_disable_blue:1;
> +		uint32_t write_disable_green:1;
> +		uint32_t write_disable_red:1;
> +		uint32_t write_disable_alpha:1;
> +		uint32_t pad1:1;
> +		uint32_t alpha_blend_func:3;
> +		uint32_t dest_alpha_blend_factor:5;
> +		uint32_t source_alpha_blend_factor:5;
> +		uint32_t color_blend_func:3;
> +		uint32_t dest_blend_factor:5;
> +		uint32_t source_blend_factor:5;
> +		uint32_t color_buffer_blend:1;
> +		uint32_t post_blend_color_clamp:1;
> +		uint32_t pre_blend_color_clamp:1;
> +		uint32_t color_clamp_range:2;
> +		uint32_t pre_blend_source_only_clamp:1;
> +		uint32_t pad0:22;
> +		uint32_t logic_op_func:4;
> +		uint32_t logic_op_enable:1;
>  	} bs[16];
>  };
>  
> -- 
> 1.8.3.1
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Ben Widawsky, Intel Open Source Technology Center



More information about the Intel-gfx mailing list