[prev in list] [next in list] [prev in thread] [next in thread]
List: freedesktop-xorg-devel
Subject: [PATCH 4/8] mi: Shortcut mi blits based on composite clip, not mappedness (v2)
From: Adam Jackson <ajax () redhat ! com>
Date: 2015-02-25 21:03:10
Message-ID: 1424898194-31991-5-git-send-email-ajax () redhat ! com
[Download RAW message or body]
v2: Rather than embed more knowledge about window states, just bail if the
composite clip is empty.
Signed-off-by: Adam Jackson <ajax@redhat.com>
---
mi/mibitblt.c | 5 ++---
mi/micopy.c | 7 ++-----
2 files changed, 4 insertions(+), 8 deletions(-)
diff --git a/mi/mibitblt.c b/mi/mibitblt.c
index 7243963..70a9640 100644
--- a/mi/mibitblt.c
+++ b/mi/mibitblt.c
@@ -96,9 +96,8 @@ miCopyArea(DrawablePtr pSrcDrawable,
srcx = xIn + pSrcDrawable->x;
srcy = yIn + pSrcDrawable->y;
- /* If the destination isn't realized, this is easy */
- if (pDstDrawable->type == DRAWABLE_WINDOW &&
- !((WindowPtr) pDstDrawable)->realized)
+ /* If the destination isn't paintable, this is easy */
+ if (RegionNil(pGC->pCompositeClip))
return NULL;
/* clip the source */
diff --git a/mi/micopy.c b/mi/micopy.c
index 2409c78..d9f2e06 100644
--- a/mi/micopy.c
+++ b/mi/micopy.c
@@ -152,12 +152,9 @@ miDoCopy(DrawablePtr pSrcDrawable,
Bool fastDst = FALSE; /* for fast clipping with one rect dest */
Bool fastExpose = FALSE; /* for fast exposures with pixmap source */
- /* Short cut for unmapped windows */
-
- if (pDstDrawable->type == DRAWABLE_WINDOW &&
- !((WindowPtr) pDstDrawable)->realized) {
+ /* Short cut for empty clip list (eg unpaintable window) */
+ if (RegionNil(pGC->pCompositeClip))
return NULL;
- }
if (pSrcDrawable->pScreen->SourceValidate) {
(*pSrcDrawable->pScreen->SourceValidate) (pSrcDrawable, xIn, yIn,
--
1.9.3
_______________________________________________
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic