summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/mga/mgaspan.c
diff options
context:
space:
mode:
authorIan Romanick <idr@us.ibm.com>2006-10-30 22:07:00 +0000
committerIan Romanick <idr@us.ibm.com>2006-10-30 22:07:00 +0000
commit5af5260f3cc6642c16d6b32b3f42693ffd50374b (patch)
tree68528f0eae1549f5eee72e6b6b1f5da9b7d28324 /src/mesa/drivers/dri/mga/mgaspan.c
parent075fae52001cfd2f99c2c9310208a9a615316454 (diff)
Get DRI drawable from framebuffer object.
In the software rasterization fallbacks, get the __DRIdrawablePrivate pointer from the driRenderbuffer that is passed in. This eliminates the need for the mesa_drawable pointer in MGA context structure. This partially fixes bug #8799. wincopy no longer produces a black window for the destination window, but it does produce incorrect results if the destination window is resized.
Diffstat (limited to 'src/mesa/drivers/dri/mga/mgaspan.c')
-rw-r--r--src/mesa/drivers/dri/mga/mgaspan.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/mesa/drivers/dri/mga/mgaspan.c b/src/mesa/drivers/dri/mga/mgaspan.c
index dbc7fc884c..05dcbb8526 100644
--- a/src/mesa/drivers/dri/mga/mgaspan.c
+++ b/src/mesa/drivers/dri/mga/mgaspan.c
@@ -36,9 +36,9 @@
#define LOCAL_VARS \
mgaContextPtr mmesa = MGA_CONTEXT(ctx); \
- __DRIdrawablePrivate *dPriv = mmesa->mesa_drawable; \
__DRIscreenPrivate *sPriv = mmesa->driScreen; \
driRenderbuffer *drb = (driRenderbuffer *) rb; \
+ const __DRIdrawablePrivate *dPriv = drb->dPriv; \
GLuint pitch = drb->pitch; \
GLuint height = dPriv->h; \
char *buf = (char *)(sPriv->pFB + \
@@ -52,9 +52,9 @@
#define LOCAL_DEPTH_VARS \
mgaContextPtr mmesa = MGA_CONTEXT(ctx); \
- __DRIdrawablePrivate *dPriv = mmesa->mesa_drawable; \
__DRIscreenPrivate *sPriv = mmesa->driScreen; \
driRenderbuffer *drb = (driRenderbuffer *) rb; \
+ const __DRIdrawablePrivate *dPriv = drb->dPriv; \
GLuint pitch = drb->pitch; \
GLuint height = dPriv->h; \
char *buf = (char *)(sPriv->pFB + \