summaryrefslogtreecommitdiff
path: root/src/i830.h
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2009-11-10 11:14:23 +0000
committerOwain G. Ainsworth <oga@openbsd.org>2010-03-01 16:00:52 +0000
commit89c6b76bf34ee78a3a57ff2f4a5435238629f00f (patch)
tree9c47492e13363d28f5a13fe93c8c8257f219dfcf /src/i830.h
parent18628a75d45ef66c01d76fd02eeb51bbfc981e5c (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.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/i830.h b/src/i830.h
index fc60c0a5..475eb9b2 100644
--- a/src/i830.h
+++ b/src/i830.h
@@ -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];