summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'hardened/xorg/x11-base/xorg-server/files/05-offscreen-pixmaps.patch')
-rw-r--r--hardened/xorg/x11-base/xorg-server/files/05-offscreen-pixmaps.patch55
1 files changed, 55 insertions, 0 deletions
diff --git a/hardened/xorg/x11-base/xorg-server/files/05-offscreen-pixmaps.patch b/hardened/xorg/x11-base/xorg-server/files/05-offscreen-pixmaps.patch
new file mode 100644
index 0000000..3841b04
--- /dev/null
+++ b/hardened/xorg/x11-base/xorg-server/files/05-offscreen-pixmaps.patch
@@ -0,0 +1,55 @@
+--- ./hw/xfree86/xaa/xaaInit.c.offscreen-pixmaps 2006-07-05 14:31:42.000000000 -0400
++++ ./hw/xfree86/xaa/xaaInit.c 2006-08-30 16:47:29.000000000 -0400
+@@ -98,6 +98,30 @@
+ xfree(infoRec);
+ }
+
++void
++XAAEvictPixmaps(void)
++{
++ XAAScreenPtr pScreenPriv;
++ XAAInfoRecPtr infoRec;
++ ScreenPtr pScreen;
++ int i;
++
++ xf86MsgVerb(X_INFO, 3, "XAA: Evicting pixmaps\n");
++
++ for (i = 0; i < screenInfo.numScreens; i++) {
++ pScreen = screenInfo.screens[i];
++ infoRec = GET_XAAINFORECPTR_FROM_SCREEN(pScreen);
++
++ pScreenPriv = pScreen->devPrivates[XAAScreenIndex].ptr;
++ infoRec = pScreenPriv->AccelInfoRec;
++
++ infoRec->offscreenDepths = 0;
++ infoRec->Flags &= ~OFFSCREEN_PIXMAPS;
++
++ XAAMoveOutOffscreenPixmaps(pScreen);
++ XAAInvalidatePixmapCache(pScreen);
++ }
++}
+
+ Bool
+ XAAInit(ScreenPtr pScreen, XAAInfoRecPtr infoRec)
+--- ./GL/glx/glxdri.c.offscreen-pixmaps 2006-08-30 16:46:45.000000000 -0400
++++ ./GL/glx/glxdri.c 2006-08-30 16:45:52.000000000 -0400
+@@ -367,6 +367,19 @@
+ int bpp;
+ GLenum target, format, type;
+
++ /* When the GLX_EXT_texture_from_pixmap is used, as it's
++ * implemented here, we want to pull pixmap out of video memory
++ * and into host memory. */
++ {
++ extern void XAAEvictPixmaps(void);
++ static int evictedPixmaps;
++
++ if (!evictedPixmaps) {
++ XAAEvictPixmaps();
++ evictedPixmaps = TRUE;
++ }
++ }
++
+ pixmap = (PixmapPtr) glxPixmap->pDraw;
+ if (!glxPixmap->pDamage) {
+ glxPixmap->pDamage = DamageCreate(NULL, NULL, DamageReportNone,