summaryrefslogtreecommitdiff
path: root/glamor/glamor.h
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2014-03-15 13:31:18 -0700
committerEric Anholt <eric@anholt.net>2014-06-15 22:02:41 +0100
commit45ebc4e3fac7f1a85167d05e2833949b89f02d64 (patch)
tree516440ad47d1691481dad0655d25b489dd659ab6 /glamor/glamor.h
parent0e08a79599c773f77c0667d557376a5ccee3f89c (diff)
glamor: Add glamor_program based copy acceleration
Paints with textures, using a temporary buffer for overlapping copies Performs CPU to GPU transfers for pixmaps in memory. Accelerates copy plane when both objects are in the GPU. Includes copy_window acceleration too. v2: Use NV_texture_barrier for non-overlapping copies within the same drawable v3: Switch to glamor_make_current v4: Do overlap check on the bounding box of the region rather than on individual boxes v5: Use Eric Anholt's re-written comments which provide a more accurate description of the code v6: Use floating point uniform for copy plane bit multiplier. This avoids an int to float conversion in the copy plane fragment shader. Use round() instead of adding 0.5 in copy plane. round() and +0.5 end up generating equivalent code, and performance measurements confirm that they are the same speed. Round() is a bit clearer though, so we'll use it. Signed-off-by: Keith Packard <keithp@keithp.com> Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Markus Wick <markus@selfnet.de>
Diffstat (limited to 'glamor/glamor.h')
-rw-r--r--glamor/glamor.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/glamor/glamor.h b/glamor/glamor.h
index b0f2212d9..77fa01e8d 100644
--- a/glamor/glamor.h
+++ b/glamor/glamor.h
@@ -354,6 +354,17 @@ extern _X_EXPORT Bool glamor_copy_n_to_n_nf(DrawablePtr src,
Bool upsidedown, Pixel bitplane,
void *closure);
+extern _X_EXPORT Bool glamor_copy_nf(DrawablePtr src,
+ DrawablePtr dst,
+ GCPtr gc,
+ BoxPtr box,
+ int nbox,
+ int dx,
+ int dy,
+ Bool reverse,
+ Bool upsidedown, Pixel bitplane,
+ void *closure);
+
extern _X_EXPORT Bool glamor_composite_nf(CARD8 op,
PicturePtr source,
PicturePtr mask,