Module: Mesa
Branch: master
Commit: 5080e8bea6ae5cdb116023a5e2d8dbbb762bd69d
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=5080e8bea6ae5cdb116023a5e2d8dbbb762bd69d

Author: Jakob Bornecrantz <[email protected]>
Date:   Thu Oct  8 13:38:34 2009 +0200

st/xorg: Debug fallbacks for composite as well

---

 src/gallium/state_trackers/xorg/xorg_exa.c |   44 +++++++++++++++++----------
 1 files changed, 28 insertions(+), 16 deletions(-)

diff --git a/src/gallium/state_trackers/xorg/xorg_exa.c 
b/src/gallium/state_trackers/xorg/xorg_exa.c
index 8920b24..279b551 100644
--- a/src/gallium/state_trackers/xorg/xorg_exa.c
+++ b/src/gallium/state_trackers/xorg/xorg_exa.c
@@ -215,8 +215,12 @@ ExaPrepareAccess(PixmapPtr pPix, int index)
 #endif
                                        PIPE_TRANSFER_READ_WRITE,
                                        0, 0, priv->tex->width[0], 
priv->tex->height[0]);
-        if (!priv->map_transfer)
+       if (!priv->map_transfer)
+#ifdef EXA_MIXED_PIXMAPS
            return FALSE;
+#else
+           FatalError("failed to create transfer\n");
+#endif
 
        pPix->devPrivate.ptr =
            exa->scrn->transfer_map(exa->scrn, priv->map_transfer);
@@ -318,7 +322,10 @@ ExaPrepareSolid(PixmapPtr pPixmap, int alu, Pixel 
planeMask, Pixel fg)
 #if DISABLE_ACCEL
     return FALSE;
 #else
-    return xorg_solid_bind_state(exa, priv, fg);
+    if (xorg_solid_bind_state(exa, priv, fg))
+       return TRUE;
+    else
+       XORG_FALLBACK("xorg_solid_bind_state failed\n");
 #endif
 }
 
@@ -496,11 +503,14 @@ ExaPrepareComposite(int op, PicturePtr pSrcPicture,
    (void) exa;
    return FALSE;
 #else
-   return xorg_composite_bind_state(exa, op, pSrcPicture, pMaskPicture,
-                                    pDstPicture,
-                                    pSrc ? exaGetPixmapDriverPrivate(pSrc) : 
NULL,
-                                    pMask ? exaGetPixmapDriverPrivate(pMask) : 
NULL,
-                                    exaGetPixmapDriverPrivate(pDst));
+   if (xorg_composite_bind_state(exa, op, pSrcPicture, pMaskPicture,
+                                 pDstPicture,
+                                 pSrc ? exaGetPixmapDriverPrivate(pSrc) : NULL,
+                                 pMask ? exaGetPixmapDriverPrivate(pMask) : 
NULL,
+                                 exaGetPixmapDriverPrivate(pDst)))
+      return TRUE;
+   else
+      XORG_FALLBACK("xorg_composite_bind_state failed");
 #endif
 }
 
@@ -526,15 +536,17 @@ ExaCheckComposite(int op,
                  PicturePtr pSrcPicture, PicturePtr pMaskPicture,
                  PicturePtr pDstPicture)
 {
-   boolean accelerated = xorg_composite_accelerated(op,
-                                                    pSrcPicture,
-                                                    pMaskPicture,
-                                                    pDstPicture);
-#if DEBUG_PRINT
-   debug_printf("ExaCheckComposite(%d, %p, %p, %p) = %d\n",
-                op, pSrcPicture, pMaskPicture, pDstPicture, accelerated);
-#endif
-   return accelerated;
+   ScreenPtr pScreen = pDstPicture->pDrawable->pScreen;
+   ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+   modesettingPtr ms = modesettingPTR(pScrn);
+
+   if (xorg_composite_accelerated(op,
+                                  pSrcPicture,
+                                  pMaskPicture,
+                                  pDstPicture))
+      return TRUE;
+   else
+      XORG_FALLBACK("xorg_composite_accelerated failed");
 }
 
 static void *

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to