[Mesa-dev] [PATCH] i965: Fix clear code for ignoring colormask for XRGB formats on Gen9+.

Ben Widawsky ben at bwidawsk.net
Thu Apr 21 01:57:59 UTC 2016


On Wed, Apr 20, 2016 at 06:38:32PM -0700, Kenneth Graunke wrote:
> In commit cda886a4851ab767fba40e8474d6fa8190347e4f, Neil made us stop
> advertising RGBX formats on Gen9+, as the hardware apparently no longer
> has working fast clear support for those formats.  Instead, we just
> fall back to RGBA formats, and use SCS to override alpha to 1.0.
> 
> This is fine, but had one unintended side effect: it made us fall back
> to slow clears when the color mask disables alpha.  Normally, we ignore
> the color mask for non-existent channels.  This includes alpha for XRGB
> formats as writing garbage to the X channel is harmless.  But, now that
> we use RGBA, we think there's a real alpha channel, and can't do the
> optimization.
> 
> To hack around this, check if _BaseFormat is GL_RGB and ignore alpha.
> 
> Improves WebGL Aquarium performance on Skylake GT3e by about 50%
> by letting it use repclears instead of slow clears.
> 
> Cc: Ben Widawsky <ben at bwidawsk.net>
> Cc: Topi Pohjolainen <topi.pohjolainen at intel.com>
> Cc: mesa-stable at lists.freedesktop.org
> Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Ben Widawsky <ben at bwidawsk.net>


More information about the mesa-dev mailing list