summaryrefslogtreecommitdiff
path: root/uxa/uxa.h
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2010-05-14 23:29:13 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2010-05-14 23:31:57 +0100
commitf7bbcc492a05f0801c64ee884798cf1a7ebb71c2 (patch)
tree9f3dd8208ff88f30be516242c7840721efda7f63 /uxa/uxa.h
parent4be8d7eb89e61ffb2ceb19f1f84260e581187692 (diff)
Split the prepare blitter functions into check + prepare.
Allow us to check whether we can handle the operation using the blitter prior to doing any work. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'uxa/uxa.h')
-rw-r--r--uxa/uxa.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/uxa/uxa.h b/uxa/uxa.h
index 32a86a96..bf7ec0b5 100644
--- a/uxa/uxa.h
+++ b/uxa/uxa.h
@@ -74,6 +74,17 @@ typedef struct _UxaDriver {
* @{
*/
/**
+ * check_solid() checks whether the driver can do a solid fill to this drawable.
+ * @param pDrawable Destination drawable
+ * @param alu raster operation
+ * @param planemask write mask for the fill
+ *
+ * The check_solid() call is recommended if prepare_solid() is
+ * implemented, but is not required.
+ */
+ Bool(*check_solid) (DrawablePtr pDrawable, int alu, Pixel planemask);
+
+ /**
* prepare_solid() sets up the driver for doing a solid fill.
* @param pPixmap Destination pixmap
* @param alu raster operation
@@ -138,6 +149,12 @@ typedef struct _UxaDriver {
* @{
*/
/**
+ * check_copy() checks whether the driver can blit between the two Pictures
+ */
+ Bool(*check_copy) (DrawablePtr pSrcDrawable,
+ DrawablePtr pDstDrawable,
+ int alu, Pixel planemask);
+ /**
* prepare_copy() sets up the driver for doing a copy within video
* memory.
- *