summaryrefslogtreecommitdiff
path: root/src/sna/gen6_render.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2011-06-24 13:32:45 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2011-06-24 13:35:22 +0100
commit471115a9806162bf0cafe27947f49d94fdd63d87 (patch)
treeed2b4d3632b689d419f96e9c26039ed97f71bf0a /src/sna/gen6_render.c
parentc3b1a0d7046a83b6daec03e5a562116e3adf3c71 (diff)
sna: Also allow BLT copies to discard the alpha channel
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/sna/gen6_render.c')
-rw-r--r--src/sna/gen6_render.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/sna/gen6_render.c b/src/sna/gen6_render.c
index b6d99736..2f0879e7 100644
--- a/src/sna/gen6_render.c
+++ b/src/sna/gen6_render.c
@@ -2289,7 +2289,7 @@ gen6_render_copy_boxes(struct sna *sna, uint8_t alu,
struct sna_composite_op tmp;
#if NO_COPY_BOXES
- if (src->drawable.depth != dst->drawable.depth)
+ if (!sna_blt_compare_depth(&src->drawable, &dst->drawable))
return FALSE;
return sna_blt_copy_boxes(sna, alu,
@@ -2304,7 +2304,7 @@ gen6_render_copy_boxes(struct sna *sna, uint8_t alu,
src_bo == dst_bo));
if (sna->kgem.mode == KGEM_BLT &&
- src->drawable.depth == dst->drawable.depth &&
+ sna_blt_compare_depth(&src->drawable, &dst->drawable) &&
sna_blt_copy_boxes(sna, alu,
src_bo, src_dx, src_dy,
dst_bo, dst_dx, dst_dy,
@@ -2315,7 +2315,7 @@ gen6_render_copy_boxes(struct sna *sna, uint8_t alu,
if (!(alu == GXcopy || alu == GXclear) || src_bo == dst_bo ||
src->drawable.width > 8192 || src->drawable.height > 8192 ||
dst->drawable.width > 8192 || dst->drawable.height > 8192) {
- if (src->drawable.depth != dst->drawable.depth)
+ if (!sna_blt_compare_depth(&src->drawable, &dst->drawable))
return FALSE;
return sna_blt_copy_boxes(sna, alu,
@@ -2444,7 +2444,7 @@ gen6_render_copy(struct sna *sna, uint8_t alu,
struct sna_copy_op *op)
{
#if NO_COPY
- if (src->drawable.depth != dst->drawable.depth)
+ if (!sna_blt_compare_depth(&src->drawable, &dst->drawable))
return FALSE;
return sna_blt_copy(sna, alu,
@@ -2459,7 +2459,7 @@ gen6_render_copy(struct sna *sna, uint8_t alu,
dst->drawable.width, dst->drawable.height));
if (sna->kgem.mode == KGEM_BLT &&
- src->drawable.depth == dst->drawable.depth &&
+ sna_blt_compare_depth(&src->drawable, &dst->drawable) &&
sna_blt_copy(sna, alu,
src_bo, dst_bo,
dst->drawable.bitsPerPixel,
@@ -2469,7 +2469,7 @@ gen6_render_copy(struct sna *sna, uint8_t alu,
if (!(alu == GXcopy || alu == GXclear) || src_bo == dst_bo ||
src->drawable.width > 8192 || src->drawable.height > 8192 ||
dst->drawable.width > 8192 || dst->drawable.height > 8192) {
- if (src->drawable.depth != dst->drawable.depth)
+ if (!sna_blt_compare_depth(&src->drawable, &dst->drawable))
return FALSE;
return sna_blt_copy(sna, alu, src_bo, dst_bo,