summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichel Dänzer <michel@tungstengraphics.com>2007-06-20 18:42:00 +0200
committerMichel Dänzer <michel@tungstengraphics.com>2007-06-20 18:46:03 +0200
commit87966c5d2889873cea6cbc16b7e4399490dfaec1 (patch)
tree33f6620f66a1c5f7aa3cc6b672930100c1d5109e
parent40f27a2df4906d9ceb1c78f6163a62c497321535 (diff)
exaGetImage: Don't migrate or try to accelerate for 1x1.
This is mainly to avoid wasting effort for XSync(), but just reading a single pixel directly is probably faster than DownloadFromScreen anyway. Though in light of the latter, even larger thresholds might be useful. Also move the swappedOut check before the migration checks because migration can't actually occur when swapped out.
-rw-r--r--exa/exa_accel.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/exa/exa_accel.c b/exa/exa_accel.c
index bf63f2c4f..8d03dd5e8 100644
--- a/exa/exa_accel.c
+++ b/exa/exa_accel.c
@@ -1329,6 +1329,9 @@ exaGetImage (DrawablePtr pDrawable, int x, int y, int w, int h,
int xoff, yoff;
Bool ok;
+ if (pExaScr->swappedOut || (w == 1 && h == 1))
+ goto fallback;
+
if (pExaScr->info->DownloadFromScreen == NULL)
goto migrate_and_fallback;
@@ -1342,9 +1345,6 @@ exaGetImage (DrawablePtr pDrawable, int x, int y, int w, int h,
if (pDrawable->bitsPerPixel < 8)
goto migrate_and_fallback;
- if (pExaScr->swappedOut)
- goto fallback;
-
pPix = exaGetOffscreenPixmap (pDrawable, &xoff, &yoff);
if (pPix == NULL)
goto fallback;