summaryrefslogtreecommitdiff
path: root/src/gallium/state_trackers/xorg/xorg_composite.c
diff options
context:
space:
mode:
authorKeith Whitwell <keithw@vmware.com>2009-11-26 10:34:28 +0000
committerKeith Whitwell <keithw@vmware.com>2009-11-26 11:23:36 +0000
commitfa799f81dec1b72e59008b7029d94a00bcf821bb (patch)
tree1c7f1b3690df8b3352e6ff812587a85e4dbde052 /src/gallium/state_trackers/xorg/xorg_composite.c
parentb4ea1eb871ec0e5fffd70bf4da6cdec5d25b5c50 (diff)
st/xorg: split up shared Done call
The two users of composite (Composite and Solid) now call a new xorg_composite_done() from their Done functions, while CopyDone is directly implemented on top of xorg_renderer.c.
Diffstat (limited to 'src/gallium/state_trackers/xorg/xorg_composite.c')
-rw-r--r--src/gallium/state_trackers/xorg/xorg_composite.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/gallium/state_trackers/xorg/xorg_composite.c b/src/gallium/state_trackers/xorg/xorg_composite.c
index 67e4eca68c..760adafa06 100644
--- a/src/gallium/state_trackers/xorg/xorg_composite.c
+++ b/src/gallium/state_trackers/xorg/xorg_composite.c
@@ -582,3 +582,13 @@ void xorg_solid(struct exa_context *exa,
x0, y0, x1, y1, exa->solid_color);
}
+void
+xorg_composite_done(struct exa_context *exa)
+{
+ renderer_draw_flush(exa->renderer);
+
+ exa->transform.has_src = FALSE;
+ exa->transform.has_mask = FALSE;
+ exa->has_solid_color = FALSE;
+ exa->num_bound_samplers = 0;
+}