summaryrefslogtreecommitdiff
path: root/uxa
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2009-07-09 23:56:22 -0700
committerEric Anholt <eric@anholt.net>2009-07-22 09:16:00 -0700
commit22f7cbc32b70a89d55c79bbea39fb10c50a310ec (patch)
tree41eb43589bc82afbf4995e324f550ffe81d2cad8 /uxa
parent5ef3db45e059df136162584d00d4b0b511456a33 (diff)
uxa: Tell the driver when we're just going to immediately map the pixmap.
This lets the driver allocate a nice idle buffer object instead of a busy one, reducing runtime of firefox-20090601 on my G45 from 50.7 (+/- .41%) to 48.4 (+/- 1.1%).
Diffstat (limited to 'uxa')
-rw-r--r--uxa/uxa-render.c3
-rw-r--r--uxa/uxa.h10
2 files changed, 12 insertions, 1 deletions
diff --git a/uxa/uxa-render.c b/uxa/uxa-render.c
index 02373b0b..13128ed7 100644
--- a/uxa/uxa-render.c
+++ b/uxa/uxa-render.c
@@ -822,7 +822,8 @@ uxa_create_alpha_picture (ScreenPtr pScreen,
}
pPixmap = (*pScreen->CreatePixmap) (pScreen, width, height,
- pPictFormat->depth, 0);
+ pPictFormat->depth,
+ UXA_CREATE_PIXMAP_FOR_MAP);
if (!pPixmap)
return 0;
pPicture = CreatePicture (0, &pPixmap->drawable, pPictFormat,
diff --git a/uxa/uxa.h b/uxa/uxa.h
index 8f6f896c..d5f5b9c4 100644
--- a/uxa/uxa.h
+++ b/uxa/uxa.h
@@ -505,6 +505,16 @@ typedef struct _UxaDriver {
/** @} */
+/** @name UXA CreatePixmap hint flags
+ * @{
+ */
+/**
+ * Flag to hint that the first operation on the pixmap will be a
+ * prepare_access.
+ */
+#define UXA_CREATE_PIXMAP_FOR_MAP 0x20000000
+/** @} */
+
uxa_driver_t *
uxa_driver_alloc(void);