[Mesa-dev] [PATCH 3/4] i965: For color clears, only disable writes to components that exist.

Paul Berry stereotype441 at gmail.com
Fri Mar 21 07:38:58 PDT 2014


On 21 March 2014 04:47, Kenneth Graunke <kenneth at whitecape.org> wrote:

> The SIMD16 replicated FB write message only works if we don't need the
> color calculator to mask our framebuffer writes.  Previously, we bailed
> on it if color_mask wasn't <true, true, true, true>.  However, this was
> needlessly strict for formats with fewer than four components - only the
> components that actually exist matter.
>
> WebGL Aquarium attempts to clear a BGRX texture with the ColorMask set
> to <true, true, true, false>.  This will work perfectly fine with the
> replicated data message; we just bailed unnecessarily.
>
> Improves performance of WebGL Aquarium on Iris Pro (at 1920x1080) and
> Bay Trail (at 2048x1152) by about 40% (using Chrome 24).
>
> Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
> Cc: Dylan Baker <baker.dylan.c at gmail.com>
> Cc: Keith Packard <keithp at keithp.com>
> Cc: Eric Anholt <eric at anholt.net>
> ---
>  src/mesa/drivers/dri/i965/brw_blorp_clear.cpp | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>

Nice find!  Series is:

Reviewed-by: Paul Berry <stereotype441 at gmail.com>


>
> diff --git a/src/mesa/drivers/dri/i965/brw_blorp_clear.cpp
> b/src/mesa/drivers/dri/i965/brw_blorp_clear.cpp
> index 45b9fa0..7e19c2c 100644
> --- a/src/mesa/drivers/dri/i965/brw_blorp_clear.cpp
> +++ b/src/mesa/drivers/dri/i965/brw_blorp_clear.cpp
> @@ -231,7 +231,7 @@ brw_blorp_clear_params::brw_blorp_clear_params(struct
> brw_context *brw,
>     /* Constant color writes ignore everyting in blend and color calculator
>      * state.  This is not documented.
>      */
> -   for (int i = 0; i < 4; i++) {
> +   for (int i = 0; i < _mesa_format_num_components(irb->mt->format); i++)
> {
>        if (!color_mask[i]) {
>           color_write_disable[i] = true;
>           wm_prog_key.use_simd16_replicated_data = false;
> --
> 1.9.0
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20140321/ea23ed9b/attachment.html>


More information about the mesa-dev mailing list