summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSøren Sandmann Pedersen <ssp@redhat.com>2009-02-27 06:28:21 -0500
committerSøren Sandmann Pedersen <ssp@redhat.com>2009-02-27 06:28:21 -0500
commit1085a8a4c42605f75f820232648285faa7f82523 (patch)
tree58ab40f5e63583ce42912acfdc73726d94470ab3
parent818cdad0fc52553e3c38d5a23e5b9275b70778e7 (diff)
Debug spam
-rw-r--r--src/qxl_driver.c49
1 files changed, 46 insertions, 3 deletions
diff --git a/src/qxl_driver.c b/src/qxl_driver.c
index bf94500..a5f38ad 100644
--- a/src/qxl_driver.c
+++ b/src/qxl_driver.c
@@ -791,14 +791,29 @@ qxlPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what)
int nbox = REGION_NUM_RECTS (pRegion);
BoxPtr pbox = REGION_RECTS (pRegion);
+ REGION_EMPTY (pScreen, &qxl->pendingCopy);
+
ErrorF ("Unaccelerated PaintWindow\n");
ErrorF (" what: %d (BG: %d)\n", what, PW_BACKGROUND);
ErrorF (" backgroundState: %d (bgpixel: %d)\n", pWin->backgroundState, BackgroundPixel);
while (nbox--)
{
- ErrorF (" box: %d %d %d %d (size: %d %d)\n",
- pbox->x1, pbox->y1, pbox->x2, pbox->y2,
- pbox->x2 - pbox->x1, pbox->y2 - pbox->y1);
+ RegionRec boxreg;
+
+ REGION_INIT (pScreen, &boxreg, pbox, 1);
+
+ REGION_UNION (pScreen, &qxl->pendingCopy, &qxl->pendingCopy, &boxreg);
+
+ pbox++;
+ }
+
+ nbox = REGION_NUM_RECTS (&qxl->pendingCopy);
+ pbox = REGION_RECTS (&qxl->pendingCopy);
+
+ ErrorF ("damaged region: \n");
+ while (nbox--)
+ {
+ ErrorF (" %d %d %d %d\n", pbox->x1, pbox->y1, pbox->x2, pbox->y2);
pbox++;
}
@@ -857,12 +872,40 @@ qxlCreateGC (GCPtr pGC)
}
static void
+print_region (const char *header, RegionPtr pRegion)
+{
+ int nbox = REGION_NUM_RECTS (pRegion);
+ BoxPtr pbox = REGION_RECTS (pRegion);
+
+ ErrorF ("%s \n", header);
+
+ while (nbox--)
+ {
+ ErrorF (" %d %d %d %d (size: %d %d)\n",
+ pbox->x1, pbox->y1, pbox->x2, pbox->y2,
+ pbox->x2 - pbox->x1, pbox->y2 - pbox->y1);
+
+ pbox++;
+ }
+}
+
+static void
+dummy (RegionPtr pRegion)
+{
+ ;
+}
+
+static void
qxlOnDamage (DamagePtr pDamage, RegionPtr pRegion, pointer closure)
{
qxlScreen *qxl = closure;
qxlSendCopies (qxl);
+ print_region ("damaging region", pRegion);
+
+ dummy (pRegion);
+
REGION_COPY (qxl->pScrn->pScreen, &(qxl->pendingCopy), pRegion);
}