diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2009-11-10 11:14:23 +0000 |
---|---|---|
committer | Owain G. Ainsworth <oga@openbsd.org> | 2010-03-01 16:00:52 +0000 |
commit | 89c6b76bf34ee78a3a57ff2f4a5435238629f00f (patch) | |
tree | 9c47492e13363d28f5a13fe93c8c8257f219dfcf /src/i830.h | |
parent | 18628a75d45ef66c01d76fd02eeb51bbfc981e5c (diff) |
i915: Use the color channels to pass along solid sources and masks.
Instead of allocating and utilising the texture samplers for 1x1R
solid sources and masks we can simply use the default diffuse and
specular colour channels and adjust the fragment shader appropriately.
The big advantage is the reduction in size of batches which should give
a good boost to glyph performance, irrespective of the additional boost
from using simpler shaders.
However, the motivating factor behind the switch is that our use of 1x1
textures turns out to be buggy...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
(cherry picked from commit e581ceb7381e29ecc1a172597d258824f6a1d2d3)
Signed-off-by: Owain G. Ainsworth <oga@openbsd.org>
Diffstat (limited to 'src/i830.h')
-rw-r--r-- | src/i830.h | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -479,6 +479,10 @@ typedef struct intel_screen_private { PixmapPtr render_source, render_mask, render_dest; PicturePtr render_source_picture, render_mask_picture, render_dest_picture; + uint32_t render_source_solid; + uint32_t render_mask_solid; + Bool render_source_is_solid; + Bool render_mask_is_solid; Bool needs_render_state_emit; /* i830 render accel state */ @@ -486,6 +490,7 @@ typedef struct intel_screen_private { uint32_t cblend, ablend, s8_blendctl; /* i915 render accel state */ + PixmapPtr texture[2]; uint32_t mapstate[6]; uint32_t samplerstate[6]; |