mesa/src
Kenneth Graunke eccad18bd8 i965: For color clears, only disable writes to components that exist.
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) by
abound 50%, and Bay Trail (at 1366x768) by over 70% (using Chrome 24).

v2: Use _mesa_format_has_color_component() to properly handle ALPHA
    formats (and generally be less fragile).

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Tested-by: Dylan Baker <baker.dylan.c@gmail.com>
2014-03-24 14:46:05 -07:00
..
egl egl/main: Enable Linux platform extensions 2014-03-17 15:49:06 -07:00
gallium radeonsi: disable fast color clear for 1D-tiled surfaces on CIK 2014-03-22 18:44:58 +01:00
gbm gbm: make 'devices' array static 2014-03-08 20:43:54 +00:00
getopt
glsl glsl: Allow dot() on scalars, and throw out dotlike(). 2014-03-18 23:20:29 -07:00
glx loader: add special logic to distinguish nouveau from nouveau_vieux 2014-03-19 18:17:40 -04:00
gtest gtest: enable subdir-objects to prevent automake warnings 2013-11-16 14:01:27 +00:00
hgl haiku libGL: Move from gallium target to src/hgl 2014-01-06 15:50:21 -06:00
loader loader: add special logic to distinguish nouveau from nouveau_vieux 2014-03-19 18:17:40 -04:00
mapi glapi: restore _glthread_GetID() function 2014-03-14 12:12:07 -06:00
mesa i965: For color clears, only disable writes to components that exist. 2014-03-24 14:46:05 -07:00
Makefile.am loader: introduce the loader util lib 2014-01-18 18:47:27 +00:00
SConscript loader: introduce the loader util lib 2014-01-18 18:47:27 +00:00