summaryrefslogtreecommitdiff
path: root/src/sna/fb/fbpict.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2012-07-26 01:02:53 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2012-07-26 01:02:53 +0100
commitad6355311b8b80777bc0fec95f6bf6cd1b4969d9 (patch)
treeaadc01d7f27a73f6eef1ddf788866c09119a0a71 /src/sna/fb/fbpict.c
parentb6c7c490d76c683b7b5c89d20f902603b85bd3bc (diff)
sna: Compile against xorg-1.10
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/sna/fb/fbpict.c')
-rw-r--r--src/sna/fb/fbpict.c28
1 files changed, 26 insertions, 2 deletions
diff --git a/src/sna/fb/fbpict.c b/src/sna/fb/fbpict.c
index f6bcb645..a2038518 100644
--- a/src/sna/fb/fbpict.c
+++ b/src/sna/fb/fbpict.c
@@ -31,6 +31,30 @@
#include <mipict.h>
#include "fbpict.h"
+static void
+SourceValidateOnePicture(PicturePtr picture)
+{
+ DrawablePtr drawable = picture->pDrawable;
+ ScreenPtr screen;
+
+ if (!drawable)
+ return;
+
+ screen = drawable->pScreen;
+ if (screen->SourceValidate)
+ screen->SourceValidate(drawable,
+ 0, 0, drawable->width, drawable->height,
+ picture->subWindowMode);
+}
+
+static void
+fbCompositeSourceValidate(PicturePtr picture)
+{
+ SourceValidateOnePicture(picture);
+ if (picture->alphaMap)
+ SourceValidateOnePicture(picture->alphaMap);
+}
+
void
fbComposite(CARD8 op,
PicturePtr pSrc,
@@ -46,9 +70,9 @@ fbComposite(CARD8 op,
int msk_xoff, msk_yoff;
int dst_xoff, dst_yoff;
- miCompositeSourceValidate(pSrc);
+ fbCompositeSourceValidate(pSrc);
if (pMask)
- miCompositeSourceValidate(pMask);
+ fbCompositeSourceValidate(pMask);
src = image_from_pict(pSrc, FALSE, &src_xoff, &src_yoff);
mask = image_from_pict(pMask, FALSE, &msk_xoff, &msk_yoff);