remove DitherValues
[mesa.git] / src / mesa / drivers / x11 / xm_span.c
index c62b15835b0345dab7ec65a19c0bb035b48c839f..71a4c8008257f51c4dca7385557b2cc73aabdf8c 100644 (file)
@@ -1,10 +1,8 @@
-/* $Id: xm_span.c,v 1.18 2002/11/13 16:48:47 brianp Exp $ */
-
 /*
  * Mesa 3-D graphics library
  * Version:  5.1
  *
- * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved.
+ * Copyright (C) 1999-2003  Brian Paul   All Rights Reserved.
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
  * copy of this software and associated documentation files (the "Software"),
@@ -182,14 +180,12 @@ static unsigned long read_pixel( XMesaDisplay *dpy,
  */
 static void write_span_TRUECOLOR_pixmap( RGBA_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    XMesaDrawable buffer = xmesa->xm_buffer->buffer;
    XMesaGC gc = xmesa->xm_buffer->gc;
    register GLuint i;
 
-   (void)DitherValues;         /* Muffle compiler */
-
    y = FLIP(xmesa->xm_buffer, y);
    if (mask) {
       for (i=0;i<n;i++,x++) {
@@ -219,7 +215,7 @@ static void write_span_TRUECOLOR_pixmap( RGBA_SPAN_ARGS )
  */
 static void write_span_rgb_TRUECOLOR_pixmap( RGB_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    XMesaDrawable buffer = xmesa->xm_buffer->buffer;
    XMesaGC gc = xmesa->xm_buffer->gc;
@@ -253,7 +249,7 @@ static void write_span_rgb_TRUECOLOR_pixmap( RGB_SPAN_ARGS )
  */
 static void write_span_TRUEDITHER_pixmap( RGBA_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    XMesaDrawable buffer = xmesa->xm_buffer->buffer;
    XMesaGC gc = xmesa->xm_buffer->gc;
@@ -286,7 +282,7 @@ static void write_span_TRUEDITHER_pixmap( RGBA_SPAN_ARGS )
  */
 static void write_span_rgb_TRUEDITHER_pixmap( RGB_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    XMesaDrawable buffer = xmesa->xm_buffer->buffer;
    XMesaGC gc = xmesa->xm_buffer->gc;
@@ -320,7 +316,7 @@ static void write_span_rgb_TRUEDITHER_pixmap( RGB_SPAN_ARGS )
  */
 static void write_span_8A8B8G8R_pixmap( RGBA_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    XMesaDrawable buffer = xmesa->xm_buffer->buffer;
    XMesaGC gc = xmesa->xm_buffer->gc;
@@ -352,7 +348,7 @@ static void write_span_8A8B8G8R_pixmap( RGBA_SPAN_ARGS )
  */
 static void write_span_rgb_8A8B8G8R_pixmap( RGB_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    XMesaDrawable buffer = xmesa->xm_buffer->buffer;
    XMesaGC gc = xmesa->xm_buffer->gc;
@@ -384,7 +380,7 @@ static void write_span_rgb_8A8B8G8R_pixmap( RGB_SPAN_ARGS )
  */
 static void write_span_8R8G8B_pixmap( RGBA_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    XMesaDrawable buffer = xmesa->xm_buffer->buffer;
    XMesaGC gc = xmesa->xm_buffer->gc;
@@ -415,7 +411,7 @@ static void write_span_8R8G8B_pixmap( RGBA_SPAN_ARGS )
  */
 static void write_span_8R8G8B24_pixmap( RGBA_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    XMesaDrawable buffer = xmesa->xm_buffer->buffer;
    XMesaGC gc = xmesa->xm_buffer->gc;
@@ -509,7 +505,7 @@ static void write_span_8R8G8B24_pixmap( RGBA_SPAN_ARGS )
  */
 static void write_span_rgb_8R8G8B_pixmap( RGB_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    XMesaDrawable buffer = xmesa->xm_buffer->buffer;
    XMesaGC gc = xmesa->xm_buffer->gc;
@@ -540,7 +536,7 @@ static void write_span_rgb_8R8G8B_pixmap( RGB_SPAN_ARGS )
  */
 static void write_span_rgb_8R8G8B24_pixmap( RGB_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    XMesaDrawable buffer = xmesa->xm_buffer->buffer;
    XMesaGC gc = xmesa->xm_buffer->gc;
@@ -639,7 +635,7 @@ static void write_span_rgb_8R8G8B24_pixmap( RGB_SPAN_ARGS )
  */
 static void write_span_5R6G5B_pixmap( RGBA_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    XMesaDrawable buffer = xmesa->xm_buffer->buffer;
    XMesaGC gc = xmesa->xm_buffer->gc;
@@ -670,7 +666,7 @@ static void write_span_5R6G5B_pixmap( RGBA_SPAN_ARGS )
  */
 static void write_span_DITHER_5R6G5B_pixmap( RGBA_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    XMesaDrawable buffer = xmesa->xm_buffer->buffer;
    XMesaGC gc = xmesa->xm_buffer->gc;
@@ -703,7 +699,7 @@ static void write_span_DITHER_5R6G5B_pixmap( RGBA_SPAN_ARGS )
  */
 static void write_span_rgb_5R6G5B_pixmap( RGB_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    XMesaDrawable buffer = xmesa->xm_buffer->buffer;
    XMesaGC gc = xmesa->xm_buffer->gc;
@@ -734,7 +730,7 @@ static void write_span_rgb_5R6G5B_pixmap( RGB_SPAN_ARGS )
  */
 static void write_span_rgb_DITHER_5R6G5B_pixmap( RGB_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    XMesaDrawable buffer = xmesa->xm_buffer->buffer;
    XMesaGC gc = xmesa->xm_buffer->gc;
@@ -768,7 +764,7 @@ static void write_span_rgb_DITHER_5R6G5B_pixmap( RGB_SPAN_ARGS )
  */
 static void write_span_DITHER_pixmap( RGBA_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    XMesaDrawable buffer = xmesa->xm_buffer->buffer;
    XMesaGC gc = xmesa->xm_buffer->gc;
@@ -799,7 +795,7 @@ static void write_span_DITHER_pixmap( RGBA_SPAN_ARGS )
  */
 static void write_span_rgb_DITHER_pixmap( RGB_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    XMesaDrawable buffer = xmesa->xm_buffer->buffer;
    XMesaGC gc = xmesa->xm_buffer->gc;
@@ -830,7 +826,7 @@ static void write_span_rgb_DITHER_pixmap( RGB_SPAN_ARGS )
  */
 static void write_span_1BIT_pixmap( RGBA_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    XMesaDrawable buffer = xmesa->xm_buffer->buffer;
    XMesaGC gc = xmesa->xm_buffer->gc;
@@ -863,7 +859,7 @@ static void write_span_1BIT_pixmap( RGBA_SPAN_ARGS )
  */
 static void write_span_rgb_1BIT_pixmap( RGB_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    XMesaDrawable buffer = xmesa->xm_buffer->buffer;
    XMesaGC gc = xmesa->xm_buffer->gc;
@@ -896,7 +892,7 @@ static void write_span_rgb_1BIT_pixmap( RGB_SPAN_ARGS )
  */
 static void write_span_HPCR_pixmap( RGBA_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    XMesaDrawable buffer = xmesa->xm_buffer->buffer;
    XMesaGC gc = xmesa->xm_buffer->gc;
@@ -927,7 +923,7 @@ static void write_span_HPCR_pixmap( RGBA_SPAN_ARGS )
  */
 static void write_span_rgb_HPCR_pixmap( RGB_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    XMesaDrawable buffer = xmesa->xm_buffer->buffer;
    XMesaGC gc = xmesa->xm_buffer->gc;
@@ -958,7 +954,7 @@ static void write_span_rgb_HPCR_pixmap( RGB_SPAN_ARGS )
  */
 static void write_span_LOOKUP_pixmap( RGBA_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    XMesaDrawable buffer = xmesa->xm_buffer->buffer;
    XMesaGC gc = xmesa->xm_buffer->gc;
@@ -988,7 +984,7 @@ static void write_span_LOOKUP_pixmap( RGBA_SPAN_ARGS )
  */
 static void write_span_rgb_LOOKUP_pixmap( RGB_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    XMesaDrawable buffer = xmesa->xm_buffer->buffer;
    XMesaGC gc = xmesa->xm_buffer->gc;
@@ -1019,7 +1015,7 @@ static void write_span_rgb_LOOKUP_pixmap( RGB_SPAN_ARGS )
  */
 static void write_span_GRAYSCALE_pixmap( RGBA_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    XMesaDrawable buffer = xmesa->xm_buffer->buffer;
    XMesaGC gc = xmesa->xm_buffer->gc;
@@ -1048,7 +1044,7 @@ static void write_span_GRAYSCALE_pixmap( RGBA_SPAN_ARGS )
  */
 static void write_span_rgb_GRAYSCALE_pixmap( RGB_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    XMesaDrawable buffer = xmesa->xm_buffer->buffer;
    XMesaGC gc = xmesa->xm_buffer->gc;
@@ -1077,7 +1073,7 @@ static void write_span_rgb_GRAYSCALE_pixmap( RGB_SPAN_ARGS )
  */
 static void write_span_TRUECOLOR_ximage( RGBA_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaImage *img = xmesa->xm_buffer->backimage;
    register GLuint i;
    y = FLIP(xmesa->xm_buffer, y);
@@ -1106,7 +1102,7 @@ static void write_span_TRUECOLOR_ximage( RGBA_SPAN_ARGS )
  */
 static void write_span_rgb_TRUECOLOR_ximage( RGB_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaImage *img = xmesa->xm_buffer->backimage;
    register GLuint i;
    y = FLIP(xmesa->xm_buffer, y);
@@ -1135,7 +1131,7 @@ static void write_span_rgb_TRUECOLOR_ximage( RGB_SPAN_ARGS )
  */
 static void write_span_TRUEDITHER_ximage( RGBA_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaImage *img = xmesa->xm_buffer->backimage;
    register GLuint i;
    y = FLIP(xmesa->xm_buffer, y);
@@ -1164,7 +1160,7 @@ static void write_span_TRUEDITHER_ximage( RGBA_SPAN_ARGS )
  */
 static void write_span_rgb_TRUEDITHER_ximage( RGB_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaImage *img = xmesa->xm_buffer->backimage;
    register GLuint i;
    y = FLIP(xmesa->xm_buffer, y);
@@ -1193,7 +1189,7 @@ static void write_span_rgb_TRUEDITHER_ximage( RGB_SPAN_ARGS )
  */
 static void write_span_8A8B8G8R_ximage( RGBA_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    register GLuint i;
    register GLuint *ptr = PIXELADDR4( xmesa->xm_buffer, x, y );
    if (mask) {
@@ -1217,7 +1213,7 @@ static void write_span_8A8B8G8R_ximage( RGBA_SPAN_ARGS )
  */
 static void write_span_rgb_8A8B8G8R_ximage( RGB_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    register GLuint i;
    register GLuint *ptr = PIXELADDR4( xmesa->xm_buffer, x, y );
    if (mask) {
@@ -1241,7 +1237,7 @@ static void write_span_rgb_8A8B8G8R_ximage( RGB_SPAN_ARGS )
  */
 static void write_span_8R8G8B_ximage( RGBA_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    register GLuint i;
    register GLuint *ptr = PIXELADDR4( xmesa->xm_buffer, x, y );
    if (mask) {
@@ -1264,7 +1260,7 @@ static void write_span_8R8G8B_ximage( RGBA_SPAN_ARGS )
  */
 static void write_span_8R8G8B24_ximage( RGBA_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    register GLuint i;
    register GLubyte *ptr = (GLubyte *) PIXELADDR3( xmesa->xm_buffer, x, y );
    if (mask) {
@@ -1414,7 +1410,7 @@ static void write_span_8R8G8B24_ximage( RGBA_SPAN_ARGS )
  */
 static void write_span_rgb_8R8G8B_ximage( RGB_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    register GLuint i;
    register GLuint *ptr = PIXELADDR4( xmesa->xm_buffer, x, y );
    if (mask) {
@@ -1438,7 +1434,7 @@ static void write_span_rgb_8R8G8B_ximage( RGB_SPAN_ARGS )
  */
 static void write_span_rgb_8R8G8B24_ximage( RGB_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    register GLuint i;
    register GLubyte *ptr = (GLubyte *) PIXELADDR3( xmesa->xm_buffer, x, y );
    if (mask) {
@@ -1469,7 +1465,7 @@ static void write_span_rgb_8R8G8B24_ximage( RGB_SPAN_ARGS )
  */
 static void write_span_5R6G5B_ximage( RGBA_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    register GLuint i;
    register GLushort *ptr = PIXELADDR2( xmesa->xm_buffer, x, y );
    if (mask) {
@@ -1508,7 +1504,7 @@ static void write_span_5R6G5B_ximage( RGBA_SPAN_ARGS )
  */
 static void write_span_DITHER_5R6G5B_ximage( RGBA_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    register GLuint i;
    register GLushort *ptr = PIXELADDR2( xmesa->xm_buffer, x, y );
    const GLint y2 = FLIP(xmesa->xm_buffer, y);
@@ -1548,7 +1544,7 @@ static void write_span_DITHER_5R6G5B_ximage( RGBA_SPAN_ARGS )
  */
 static void write_span_rgb_5R6G5B_ximage( RGB_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    register GLuint i;
    register GLushort *ptr = PIXELADDR2( xmesa->xm_buffer, x, y );
    if (mask) {
@@ -1587,7 +1583,7 @@ static void write_span_rgb_5R6G5B_ximage( RGB_SPAN_ARGS )
  */
 static void write_span_rgb_DITHER_5R6G5B_ximage( RGB_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    register GLuint i;
    register GLushort *ptr = PIXELADDR2( xmesa->xm_buffer, x, y );
    if (mask) {
@@ -1626,7 +1622,7 @@ static void write_span_rgb_DITHER_5R6G5B_ximage( RGB_SPAN_ARGS )
  */
 static void write_span_DITHER_ximage( RGBA_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaImage *img = xmesa->xm_buffer->backimage;
    register GLuint i;
    int yy = FLIP(xmesa->xm_buffer, y);
@@ -1652,7 +1648,7 @@ static void write_span_DITHER_ximage( RGBA_SPAN_ARGS )
  */
 static void write_span_rgb_DITHER_ximage( RGB_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaImage *img = xmesa->xm_buffer->backimage;
    register GLuint i;
    int yy = FLIP(xmesa->xm_buffer, y);
@@ -1679,7 +1675,7 @@ static void write_span_rgb_DITHER_ximage( RGB_SPAN_ARGS )
  */
 static void write_span_DITHER8_ximage( RGBA_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    register GLuint i;
    register GLubyte *ptr = PIXELADDR1( xmesa->xm_buffer, x, y );
    XDITHER_SETUP(y);
@@ -1700,7 +1696,7 @@ static void write_span_DITHER8_ximage( RGBA_SPAN_ARGS )
 
 static void write_span_rgb_DITHER8_ximage( RGB_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    register GLuint i;
    register GLubyte *ptr = PIXELADDR1( xmesa->xm_buffer, x, y );
    XDITHER_SETUP(y);
@@ -1727,7 +1723,7 @@ static void write_span_rgb_DITHER8_ximage( RGB_SPAN_ARGS )
  */
 static void write_span_1BIT_ximage( RGBA_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaImage *img = xmesa->xm_buffer->backimage;
    register GLuint i;
    SETUP_1BIT;
@@ -1752,7 +1748,7 @@ static void write_span_1BIT_ximage( RGBA_SPAN_ARGS )
  */
 static void write_span_rgb_1BIT_ximage( RGB_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaImage *img = xmesa->xm_buffer->backimage;
    register GLuint i;
    SETUP_1BIT;
@@ -1777,7 +1773,7 @@ static void write_span_rgb_1BIT_ximage( RGB_SPAN_ARGS )
  */
 static void write_span_HPCR_ximage( RGBA_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    register GLuint i;
    register GLubyte *ptr = PIXELADDR1( xmesa->xm_buffer, x, y );
    if (mask) {
@@ -1801,7 +1797,7 @@ static void write_span_HPCR_ximage( RGBA_SPAN_ARGS )
  */
 static void write_span_rgb_HPCR_ximage( RGB_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    register GLuint i;
    register GLubyte *ptr = PIXELADDR1( xmesa->xm_buffer, x, y );
    if (mask) {
@@ -1825,7 +1821,7 @@ static void write_span_rgb_HPCR_ximage( RGB_SPAN_ARGS )
  */
 static void write_span_LOOKUP_ximage( RGBA_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaImage *img = xmesa->xm_buffer->backimage;
    register GLuint i;
    LOOKUP_SETUP;
@@ -1851,7 +1847,7 @@ static void write_span_LOOKUP_ximage( RGBA_SPAN_ARGS )
  */
 static void write_span_rgb_LOOKUP_ximage( RGB_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaImage *img = xmesa->xm_buffer->backimage;
    register GLuint i;
    LOOKUP_SETUP;
@@ -1877,7 +1873,7 @@ static void write_span_rgb_LOOKUP_ximage( RGB_SPAN_ARGS )
  */
 static void write_span_LOOKUP8_ximage( RGBA_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    register GLuint i;
    register GLubyte *ptr = PIXELADDR1( xmesa->xm_buffer, x, y );
    LOOKUP_SETUP;
@@ -1902,7 +1898,7 @@ static void write_rgb_LOOKUP8_ximage( const GLcontext *ctx,
                                       CONST GLubyte rgb[][3],
                                       const GLubyte mask[] )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    register GLuint i;
    register GLubyte *ptr = PIXELADDR1( xmesa->xm_buffer, x, y );
    LOOKUP_SETUP;
@@ -1929,7 +1925,7 @@ static void write_rgb_LOOKUP8_ximage( const GLcontext *ctx,
  */
 static void write_span_GRAYSCALE_ximage( RGBA_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaImage *img = xmesa->xm_buffer->backimage;
    register GLuint i;
    y = FLIP(xmesa->xm_buffer, y);
@@ -1954,7 +1950,7 @@ static void write_span_GRAYSCALE_ximage( RGBA_SPAN_ARGS )
  */
 static void write_span_rgb_GRAYSCALE_ximage( RGB_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaImage *img = xmesa->xm_buffer->backimage;
    register GLuint i;
    y = FLIP(xmesa->xm_buffer, y);
@@ -1979,7 +1975,7 @@ static void write_span_rgb_GRAYSCALE_ximage( RGB_SPAN_ARGS )
  */
 static void write_span_GRAYSCALE8_ximage( RGBA_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    register GLuint i;
    register GLubyte *ptr = PIXELADDR1( xmesa->xm_buffer, x, y );
    if (mask) {
@@ -2003,7 +1999,7 @@ static void write_span_GRAYSCALE8_ximage( RGBA_SPAN_ARGS )
  */
 static void write_span_rgb_GRAYSCALE8_ximage( RGB_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    register GLuint i;
    register GLubyte *ptr = PIXELADDR1( xmesa->xm_buffer, x, y );
    if (mask) {
@@ -2039,7 +2035,7 @@ static void write_span_rgb_GRAYSCALE8_ximage( RGB_SPAN_ARGS )
  */
 static void write_pixels_TRUECOLOR_pixmap( RGBA_PIXEL_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    XMesaDrawable buffer = xmesa->xm_buffer->buffer;
    XMesaGC gc = xmesa->xm_buffer->gc;
@@ -2060,7 +2056,7 @@ static void write_pixels_TRUECOLOR_pixmap( RGBA_PIXEL_ARGS )
  */
 static void write_pixels_TRUEDITHER_pixmap( RGBA_PIXEL_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    XMesaDrawable buffer = xmesa->xm_buffer->buffer;
    XMesaGC gc = xmesa->xm_buffer->gc;
@@ -2081,7 +2077,7 @@ static void write_pixels_TRUEDITHER_pixmap( RGBA_PIXEL_ARGS )
  */
 static void write_pixels_8A8B8G8R_pixmap( RGBA_PIXEL_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    XMesaDrawable buffer = xmesa->xm_buffer->buffer;
    XMesaGC gc = xmesa->xm_buffer->gc;
@@ -2101,7 +2097,7 @@ static void write_pixels_8A8B8G8R_pixmap( RGBA_PIXEL_ARGS )
  */
 static void write_pixels_8R8G8B_pixmap( RGBA_PIXEL_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    XMesaDrawable buffer = xmesa->xm_buffer->buffer;
    XMesaGC gc = xmesa->xm_buffer->gc;
@@ -2120,7 +2116,7 @@ static void write_pixels_8R8G8B_pixmap( RGBA_PIXEL_ARGS )
  */
 static void write_pixels_8R8G8B24_pixmap( RGBA_PIXEL_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    XMesaDrawable buffer = xmesa->xm_buffer->buffer;
    XMesaGC gc = xmesa->xm_buffer->gc;
@@ -2139,7 +2135,7 @@ static void write_pixels_8R8G8B24_pixmap( RGBA_PIXEL_ARGS )
  */
 static void write_pixels_5R6G5B_pixmap( RGBA_PIXEL_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    XMesaDrawable buffer = xmesa->xm_buffer->buffer;
    XMesaGC gc = xmesa->xm_buffer->gc;
@@ -2158,7 +2154,7 @@ static void write_pixels_5R6G5B_pixmap( RGBA_PIXEL_ARGS )
  */
 static void write_pixels_DITHER_5R6G5B_pixmap( RGBA_PIXEL_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    XMesaDrawable buffer = xmesa->xm_buffer->buffer;
    XMesaGC gc = xmesa->xm_buffer->gc;
@@ -2179,7 +2175,7 @@ static void write_pixels_DITHER_5R6G5B_pixmap( RGBA_PIXEL_ARGS )
  */
 static void write_pixels_DITHER_pixmap( RGBA_PIXEL_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    XMesaDrawable buffer = xmesa->xm_buffer->buffer;
    XMesaGC gc = xmesa->xm_buffer->gc;
@@ -2200,7 +2196,7 @@ static void write_pixels_DITHER_pixmap( RGBA_PIXEL_ARGS )
  */
 static void write_pixels_1BIT_pixmap( RGBA_PIXEL_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    XMesaDrawable buffer = xmesa->xm_buffer->buffer;
    XMesaGC gc = xmesa->xm_buffer->gc;
@@ -2221,7 +2217,7 @@ static void write_pixels_1BIT_pixmap( RGBA_PIXEL_ARGS )
  */
 static void write_pixels_HPCR_pixmap( RGBA_PIXEL_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    XMesaDrawable buffer = xmesa->xm_buffer->buffer;
    XMesaGC gc = xmesa->xm_buffer->gc;
@@ -2241,7 +2237,7 @@ static void write_pixels_HPCR_pixmap( RGBA_PIXEL_ARGS )
  */
 static void write_pixels_LOOKUP_pixmap( RGBA_PIXEL_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    XMesaDrawable buffer = xmesa->xm_buffer->buffer;
    XMesaGC gc = xmesa->xm_buffer->gc;
@@ -2261,7 +2257,7 @@ static void write_pixels_LOOKUP_pixmap( RGBA_PIXEL_ARGS )
  */
 static void write_pixels_GRAYSCALE_pixmap( RGBA_PIXEL_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    XMesaDrawable buffer = xmesa->xm_buffer->buffer;
    XMesaGC gc = xmesa->xm_buffer->gc;
@@ -2280,7 +2276,7 @@ static void write_pixels_GRAYSCALE_pixmap( RGBA_PIXEL_ARGS )
  */
 static void write_pixels_TRUECOLOR_ximage( RGBA_PIXEL_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaImage *img = xmesa->xm_buffer->backimage;
    register GLuint i;
    for (i=0;i<n;i++) {
@@ -2298,7 +2294,7 @@ static void write_pixels_TRUECOLOR_ximage( RGBA_PIXEL_ARGS )
  */
 static void write_pixels_TRUEDITHER_ximage( RGBA_PIXEL_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaImage *img = xmesa->xm_buffer->backimage;
    register GLuint i;
    for (i=0;i<n;i++) {
@@ -2316,7 +2312,7 @@ static void write_pixels_TRUEDITHER_ximage( RGBA_PIXEL_ARGS )
  */
 static void write_pixels_8A8B8G8R_ximage( RGBA_PIXEL_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    register GLuint i;
    for (i=0;i<n;i++) {
       if (mask[i]) {
@@ -2332,7 +2328,7 @@ static void write_pixels_8A8B8G8R_ximage( RGBA_PIXEL_ARGS )
  */
 static void write_pixels_8R8G8B_ximage( RGBA_PIXEL_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    register GLuint i;
    for (i=0;i<n;i++) {
       if (mask[i]) {
@@ -2348,7 +2344,7 @@ static void write_pixels_8R8G8B_ximage( RGBA_PIXEL_ARGS )
  */
 static void write_pixels_8R8G8B24_ximage( RGBA_PIXEL_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    register GLuint i;
    for (i=0;i<n;i++) {
       if (mask[i]) {
@@ -2366,7 +2362,7 @@ static void write_pixels_8R8G8B24_ximage( RGBA_PIXEL_ARGS )
  */
 static void write_pixels_5R6G5B_ximage( RGBA_PIXEL_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    register GLuint i;
    for (i=0;i<n;i++) {
       if (mask[i]) {
@@ -2382,7 +2378,7 @@ static void write_pixels_5R6G5B_ximage( RGBA_PIXEL_ARGS )
  */
 static void write_pixels_DITHER_5R6G5B_ximage( RGBA_PIXEL_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    register GLuint i;
    for (i=0;i<n;i++) {
       if (mask[i]) {
@@ -2398,7 +2394,7 @@ static void write_pixels_DITHER_5R6G5B_ximage( RGBA_PIXEL_ARGS )
  */
 static void write_pixels_DITHER_ximage( RGBA_PIXEL_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaImage *img = xmesa->xm_buffer->backimage;
    register GLuint i;
    DITHER_SETUP;
@@ -2416,7 +2412,7 @@ static void write_pixels_DITHER_ximage( RGBA_PIXEL_ARGS )
  */
 static void write_pixels_DITHER8_ximage( RGBA_PIXEL_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    register GLuint i;
    DITHER_SETUP;
    for (i=0;i<n;i++) {
@@ -2433,7 +2429,7 @@ static void write_pixels_DITHER8_ximage( RGBA_PIXEL_ARGS )
  */
 static void write_pixels_1BIT_ximage( RGBA_PIXEL_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaImage *img = xmesa->xm_buffer->backimage;
    register GLuint i;
    SETUP_1BIT;
@@ -2451,7 +2447,7 @@ static void write_pixels_1BIT_ximage( RGBA_PIXEL_ARGS )
  */
 static void write_pixels_HPCR_ximage( RGBA_PIXEL_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    register GLuint i;
    for (i=0;i<n;i++) {
       if (mask[i]) {
@@ -2467,7 +2463,7 @@ static void write_pixels_HPCR_ximage( RGBA_PIXEL_ARGS )
  */
 static void write_pixels_LOOKUP_ximage( RGBA_PIXEL_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaImage *img = xmesa->xm_buffer->backimage;
    register GLuint i;
    LOOKUP_SETUP;
@@ -2484,7 +2480,7 @@ static void write_pixels_LOOKUP_ximage( RGBA_PIXEL_ARGS )
  */
 static void write_pixels_LOOKUP8_ximage( RGBA_PIXEL_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    register GLuint i;
    LOOKUP_SETUP;
    for (i=0;i<n;i++) {
@@ -2501,7 +2497,7 @@ static void write_pixels_LOOKUP8_ximage( RGBA_PIXEL_ARGS )
  */
 static void write_pixels_GRAYSCALE_ximage( RGBA_PIXEL_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaImage *img = xmesa->xm_buffer->backimage;
    register GLuint i;
    for (i=0;i<n;i++) {
@@ -2518,7 +2514,7 @@ static void write_pixels_GRAYSCALE_ximage( RGBA_PIXEL_ARGS )
  */
 static void write_pixels_GRAYSCALE8_ximage( RGBA_PIXEL_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    register GLuint i;
    for (i=0;i<n;i++) {
       if (mask[i]) {
@@ -2545,7 +2541,7 @@ static void write_pixels_GRAYSCALE8_ximage( RGBA_PIXEL_ARGS )
  */
 static void write_span_mono_pixmap( MONO_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    XMesaDrawable buffer = xmesa->xm_buffer->buffer;
    XMesaGC gc = xmesa->xm_buffer->gc;
@@ -2584,7 +2580,7 @@ static void write_span_mono_index_pixmap( const GLcontext *ctx, GLuint n,
                                           GLint x, GLint y, GLuint colorIndex,
                                           const GLubyte mask[] )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    XMesaDrawable buffer = xmesa->xm_buffer->buffer;
    XMesaGC gc = xmesa->xm_buffer->gc;
@@ -2619,7 +2615,7 @@ static void write_span_mono_index_pixmap( const GLcontext *ctx, GLuint n,
  */
 static void write_span_mono_TRUEDITHER_pixmap( MONO_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    XMesaDrawable buffer = xmesa->xm_buffer->buffer;
    XMesaGC gc = xmesa->xm_buffer->gc;
@@ -2642,7 +2638,7 @@ static void write_span_mono_TRUEDITHER_pixmap( MONO_SPAN_ARGS )
  */
 static void write_span_mono_DITHER_pixmap( MONO_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    XMesaDrawable buffer = xmesa->xm_buffer->buffer;
    XMesaGC gc = xmesa->xm_buffer->gc;
@@ -2664,7 +2660,7 @@ static void write_span_mono_DITHER_pixmap( MONO_SPAN_ARGS )
  */
 static void write_span_mono_1BIT_pixmap( MONO_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    XMesaDrawable buffer = xmesa->xm_buffer->buffer;
    XMesaGC gc = xmesa->xm_buffer->gc;
@@ -2686,7 +2682,7 @@ static void write_span_mono_1BIT_pixmap( MONO_SPAN_ARGS )
  */
 static void write_span_mono_ximage( MONO_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaImage *img = xmesa->xm_buffer->backimage;
    register GLuint i;
    const unsigned long pixel = xmesa_color_to_pixel(xmesa, color[RCOMP],
@@ -2705,7 +2701,7 @@ static void write_span_mono_index_ximage( const GLcontext *ctx, GLuint n,
                                           GLuint colorIndex,
                                           const GLubyte mask[] )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaImage *img = xmesa->xm_buffer->backimage;
    register GLuint i;
    y = FLIP(xmesa->xm_buffer, y);
@@ -2722,7 +2718,7 @@ static void write_span_mono_index_ximage( const GLcontext *ctx, GLuint n,
  */
 static void write_span_mono_TRUEDITHER_ximage( MONO_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaImage *img = xmesa->xm_buffer->backimage;
    const GLint r = color[RCOMP], g = color[GCOMP], b = color[BCOMP];
    GLuint i;
@@ -2742,7 +2738,7 @@ static void write_span_mono_TRUEDITHER_ximage( MONO_SPAN_ARGS )
  */
 static void write_span_mono_8A8B8G8R_ximage( MONO_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    GLuint i, *ptr;
    const unsigned long pixel = xmesa_color_to_pixel(xmesa, color[RCOMP],
                color[GCOMP], color[BCOMP], color[ACOMP], xmesa->pixelformat);
@@ -2760,7 +2756,7 @@ static void write_span_mono_8A8B8G8R_ximage( MONO_SPAN_ARGS )
  */
 static void write_span_mono_8R8G8B_ximage( MONO_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    const GLuint pixel = PACK_8R8G8B(color[RCOMP], color[GCOMP], color[BCOMP]);
    GLuint *ptr = PIXELADDR4( xmesa->xm_buffer, x, y );
    GLuint i;
@@ -2777,7 +2773,7 @@ static void write_span_mono_8R8G8B_ximage( MONO_SPAN_ARGS )
  */
 static void write_span_mono_8R8G8B24_ximage( MONO_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    const GLubyte r = color[RCOMP];
    const GLubyte g = color[GCOMP];
    const GLubyte b = color[BCOMP];
@@ -2798,7 +2794,7 @@ static void write_span_mono_8R8G8B24_ximage( MONO_SPAN_ARGS )
  */
 static void write_span_mono_DITHER_ximage( MONO_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    const GLubyte r = color[RCOMP], g = color[GCOMP], b = color[BCOMP];
    XMesaImage *img = xmesa->xm_buffer->backimage;
    int yy = FLIP(xmesa->xm_buffer, y);
@@ -2817,7 +2813,7 @@ static void write_span_mono_DITHER_ximage( MONO_SPAN_ARGS )
  */
 static void write_span_mono_DITHER8_ximage( MONO_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    const GLubyte r = color[RCOMP], g = color[GCOMP], b = color[BCOMP];
    register GLubyte *ptr = PIXELADDR1( xmesa->xm_buffer,x,y);
    register GLuint i;
@@ -2835,7 +2831,7 @@ static void write_span_mono_DITHER8_ximage( MONO_SPAN_ARGS )
  */
 static void write_span_mono_LOOKUP8_ximage( MONO_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    register GLuint i;
    register GLubyte *ptr = PIXELADDR1( xmesa->xm_buffer,x,y);
    GLubyte pixel;
@@ -2854,7 +2850,7 @@ static void write_span_mono_LOOKUP8_ximage( MONO_SPAN_ARGS )
  */
 static void write_span_mono_1BIT_ximage( MONO_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    const GLubyte r = color[RCOMP], g = color[GCOMP], b = color[BCOMP];
    XMesaImage *img = xmesa->xm_buffer->backimage;
    register GLuint i;
@@ -2873,7 +2869,7 @@ static void write_span_mono_1BIT_ximage( MONO_SPAN_ARGS )
  */
 static void write_span_mono_HPCR_ximage( MONO_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    const GLubyte r = color[RCOMP], g = color[GCOMP], b = color[BCOMP];
    register GLubyte *ptr = PIXELADDR1( xmesa->xm_buffer,x,y);
    register GLuint i;
@@ -2890,7 +2886,7 @@ static void write_span_mono_HPCR_ximage( MONO_SPAN_ARGS )
  */
 static void write_span_mono_GRAYSCALE8_ximage( MONO_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    const GLubyte p = GRAY_RGB(color[RCOMP], color[GCOMP], color[BCOMP]);
    GLubyte *ptr = (GLubyte *) PIXELADDR1( xmesa->xm_buffer,x,y);
    GLuint i;
@@ -2908,7 +2904,7 @@ static void write_span_mono_GRAYSCALE8_ximage( MONO_SPAN_ARGS )
  */
 static void write_span_mono_DITHER_5R6G5B_ximage( MONO_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    register GLushort *ptr = PIXELADDR2( xmesa->xm_buffer, x, y );
    const GLint r = color[RCOMP], g = color[GCOMP], b = color[BCOMP];
    GLuint i;
@@ -2935,7 +2931,7 @@ static void write_span_mono_DITHER_5R6G5B_ximage( MONO_SPAN_ARGS )
  */
 static void write_pixels_mono_pixmap( MONO_PIXEL_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    XMesaDrawable buffer = xmesa->xm_buffer->buffer;
    XMesaGC gc = xmesa->xm_buffer->gc;
@@ -2958,7 +2954,7 @@ static void write_pixels_mono_index_pixmap(const GLcontext *ctx,
                                            GLuint colorIndex,
                                            const GLubyte mask[] )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    XMesaDrawable buffer = xmesa->xm_buffer->buffer;
    XMesaGC gc = xmesa->xm_buffer->gc;
@@ -2978,7 +2974,7 @@ static void write_pixels_mono_index_pixmap(const GLcontext *ctx,
  */
 static void write_pixels_mono_TRUEDITHER_pixmap( MONO_PIXEL_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    XMesaDrawable buffer = xmesa->xm_buffer->buffer;
    XMesaGC gc = xmesa->xm_buffer->gc;
@@ -3001,7 +2997,7 @@ static void write_pixels_mono_TRUEDITHER_pixmap( MONO_PIXEL_ARGS )
  */
 static void write_pixels_mono_DITHER_pixmap( MONO_PIXEL_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    XMesaDrawable buffer = xmesa->xm_buffer->buffer;
    XMesaGC gc = xmesa->xm_buffer->gc;
@@ -3022,7 +3018,7 @@ static void write_pixels_mono_DITHER_pixmap( MONO_PIXEL_ARGS )
  */
 static void write_pixels_mono_1BIT_pixmap( MONO_PIXEL_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    XMesaDrawable buffer = xmesa->xm_buffer->buffer;
    XMesaGC gc = xmesa->xm_buffer->gc;
@@ -3043,7 +3039,7 @@ static void write_pixels_mono_1BIT_pixmap( MONO_PIXEL_ARGS )
  */
 static void write_pixels_mono_ximage( MONO_PIXEL_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaImage *img = xmesa->xm_buffer->backimage;
    register GLuint i;
    const unsigned long pixel = xmesa_color_to_pixel(xmesa, color[RCOMP],
@@ -3061,7 +3057,7 @@ static void write_pixels_mono_index_ximage( const GLcontext *ctx, GLuint n,
                                             GLuint colorIndex,
                                             const GLubyte mask[] )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaImage *img = xmesa->xm_buffer->backimage;
    register GLuint i;
    for (i=0;i<n;i++) {
@@ -3077,7 +3073,7 @@ static void write_pixels_mono_index_ximage( const GLcontext *ctx, GLuint n,
  */
 static void write_pixels_mono_TRUEDITHER_ximage( MONO_PIXEL_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaImage *img = xmesa->xm_buffer->backimage;
    register GLuint i;
    const int r = color[RCOMP], g = color[GCOMP], b = color[BCOMP];
@@ -3097,7 +3093,7 @@ static void write_pixels_mono_TRUEDITHER_ximage( MONO_PIXEL_ARGS )
  */
 static void write_pixels_mono_8A8B8G8R_ximage( MONO_PIXEL_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    const GLuint p = PACK_8A8B8G8R(color[RCOMP], color[GCOMP],
                                   color[BCOMP], color[ACOMP]);
    register GLuint i;
@@ -3115,7 +3111,7 @@ static void write_pixels_mono_8A8B8G8R_ximage( MONO_PIXEL_ARGS )
  */
 static void write_pixels_mono_8R8G8B_ximage( MONO_PIXEL_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    register GLuint i;
    const GLuint p = PACK_8R8G8B(color[RCOMP], color[GCOMP], color[BCOMP]);
    for (i=0;i<n;i++) {
@@ -3132,7 +3128,7 @@ static void write_pixels_mono_8R8G8B_ximage( MONO_PIXEL_ARGS )
  */
 static void write_pixels_mono_8R8G8B24_ximage( MONO_PIXEL_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    const GLubyte r = color[RCOMP], g = color[GCOMP], b = color[BCOMP];
    register GLuint i;
    for (i=0;i<n;i++) {
@@ -3151,7 +3147,7 @@ static void write_pixels_mono_8R8G8B24_ximage( MONO_PIXEL_ARGS )
  */
 static void write_pixels_mono_DITHER_ximage( MONO_PIXEL_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    const GLubyte r = color[RCOMP], g = color[GCOMP], b = color[BCOMP];
    XMesaImage *img = xmesa->xm_buffer->backimage;
    register GLuint i;
@@ -3169,7 +3165,7 @@ static void write_pixels_mono_DITHER_ximage( MONO_PIXEL_ARGS )
  */
 static void write_pixels_mono_DITHER8_ximage( MONO_PIXEL_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    const GLubyte r = color[RCOMP], g = color[GCOMP], b = color[BCOMP];
    register GLuint i;
    DITHER_SETUP;
@@ -3187,7 +3183,7 @@ static void write_pixels_mono_DITHER8_ximage( MONO_PIXEL_ARGS )
  */
 static void write_pixels_mono_LOOKUP8_ximage( MONO_PIXEL_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    register GLuint i;
    GLubyte pixel;
    LOOKUP_SETUP;
@@ -3207,7 +3203,7 @@ static void write_pixels_mono_LOOKUP8_ximage( MONO_PIXEL_ARGS )
  */
 static void write_pixels_mono_1BIT_ximage( MONO_PIXEL_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    const GLubyte r = color[RCOMP], g = color[GCOMP], b = color[BCOMP];
    XMesaImage *img = xmesa->xm_buffer->backimage;
    register GLuint i;
@@ -3226,7 +3222,7 @@ static void write_pixels_mono_1BIT_ximage( MONO_PIXEL_ARGS )
  */
 static void write_pixels_mono_HPCR_ximage( MONO_PIXEL_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    const GLubyte r = color[RCOMP], g = color[GCOMP], b = color[BCOMP];
    register GLuint i;
    for (i=0;i<n;i++) {
@@ -3243,7 +3239,7 @@ static void write_pixels_mono_HPCR_ximage( MONO_PIXEL_ARGS )
  */
 static void write_pixels_mono_GRAYSCALE8_ximage( MONO_PIXEL_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    register GLuint i;
    register GLubyte p = GRAY_RGB(color[RCOMP], color[GCOMP], color[BCOMP]);
    for (i=0;i<n;i++) {
@@ -3260,7 +3256,7 @@ static void write_pixels_mono_GRAYSCALE8_ximage( MONO_PIXEL_ARGS )
  */
 static void write_pixels_mono_DITHER_5R6G5B_ximage( MONO_PIXEL_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    const int r = color[RCOMP], g = color[GCOMP], b = color[BCOMP];
    register GLuint i;
    for (i=0;i<n;i++) {
@@ -3291,7 +3287,7 @@ static void write_pixels_mono_DITHER_5R6G5B_ximage( MONO_PIXEL_ARGS )
  */
 static void write_span_index_pixmap( INDEX_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    XMesaDrawable buffer = xmesa->xm_buffer->buffer;
    XMesaGC gc = xmesa->xm_buffer->gc;
@@ -3319,7 +3315,7 @@ static void write_span_index_pixmap( INDEX_SPAN_ARGS )
  */
 static void write_span_index8_pixmap( INDEX8_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    XMesaDrawable buffer = xmesa->xm_buffer->buffer;
    XMesaGC gc = xmesa->xm_buffer->gc;
@@ -3347,7 +3343,7 @@ static void write_span_index8_pixmap( INDEX8_SPAN_ARGS )
  */
 static void write_span_index_ximage( INDEX_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaImage *img = xmesa->xm_buffer->backimage;
    register GLuint i;
    y = FLIP(xmesa->xm_buffer, y);
@@ -3369,11 +3365,9 @@ static void write_span_index_ximage( INDEX_SPAN_ARGS )
 /*
  * Write a span of 8-bit CI pixels to a non 8-bit XImage.
  */
-static void write_span_index8_ximage( const GLcontext *ctx, GLuint n,
-                                      GLint x, GLint y, const GLubyte index[],
-                                      const GLubyte mask[] )
+static void write_span_index8_ximage( INDEX8_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    if (mask) {
       GLuint i;
       for (i=0;i<n;i++) {
@@ -3393,11 +3387,9 @@ static void write_span_index8_ximage( const GLcontext *ctx, GLuint n,
 /*
  * Write a span of 8-bit CI pixels to an 8-bit XImage.
  */
-static void write_span_index8_ximage8( const GLcontext *ctx, GLuint n,
-                                      GLint x, GLint y, const GLubyte index[],
-                                      const GLubyte mask[] )
+static void write_span_index8_ximage8( INDEX8_SPAN_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    GLubyte *dst = PIXELADDR1( xmesa->xm_buffer,x,y);
    if (mask) {
       GLuint i;
@@ -3428,7 +3420,7 @@ static void write_span_index8_ximage8( const GLcontext *ctx, GLuint n,
  */
 static void write_pixels_index_pixmap( INDEX_PIXELS_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    XMesaDrawable buffer = xmesa->xm_buffer->buffer;
    XMesaGC gc = xmesa->xm_buffer->gc;
@@ -3447,7 +3439,7 @@ static void write_pixels_index_pixmap( INDEX_PIXELS_ARGS )
  */
 static void write_pixels_index_ximage( INDEX_PIXELS_ARGS )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaImage *img = xmesa->xm_buffer->backimage;
    register GLuint i;
    for (i=0;i<n;i++) {
@@ -3472,7 +3464,7 @@ static void write_pixels_index_ximage( INDEX_PIXELS_ARGS )
 static void read_index_span( const GLcontext *ctx,
                             GLuint n, GLint x, GLint y, GLuint index[] )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaBuffer source = xmesa->xm_buffer;
    GLuint i;
 
@@ -3523,7 +3515,7 @@ static void read_color_span( const GLcontext *ctx,
                             GLuint n, GLint x, GLint y,
                              GLubyte rgba[][4] )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaBuffer source = xmesa->xm_buffer;
 
    if (source->buffer) {
@@ -3545,8 +3537,8 @@ static void read_color_span( const GLcontext *ctx,
 #endif
       if (span && !error) {
         switch (xmesa->pixelformat) {
-           case PF_TRUECOLOR:
-           case PF_TRUEDITHER:
+           case PF_Truecolor:
+           case PF_Dither_True:
                {
                   const GLubyte *pixelToR = xmesa->xm_visual->PixelToR;
                   const GLubyte *pixelToG = xmesa->xm_visual->PixelToG;
@@ -3569,7 +3561,7 @@ static void read_color_span( const GLcontext *ctx,
                }
               break;
             case PF_5R6G5B:
-            case PF_DITHER_5R6G5B:
+            case PF_Dither_5R6G5B:
                {
                   const GLubyte *pixelToR = xmesa->xm_visual->PixelToR;
                   const GLubyte *pixelToG = xmesa->xm_visual->PixelToG;
@@ -3640,9 +3632,9 @@ static void read_color_span( const GLcontext *ctx,
                   }
                }
                break;
-           case PF_DITHER:
-           case PF_LOOKUP:
-           case PF_GRAYSCALE:
+           case PF_Dither:
+           case PF_Lookup:
+           case PF_Grayscale:
                {
                   GLubyte *rTable = source->pixel_to_r;
                   GLubyte *gTable = source->pixel_to_g;
@@ -3670,7 +3662,7 @@ static void read_color_span( const GLcontext *ctx,
                   }
                }
               break;
-           case PF_1BIT:
+           case PF_1Bit:
                {
                   int bitFlip = xmesa->xm_visual->bitFlip;
                   GLuint i;
@@ -3703,8 +3695,8 @@ static void read_color_span( const GLcontext *ctx,
    else if (source->backimage) {
       /* Read from XImage back buffer */
       switch (xmesa->pixelformat) {
-         case PF_TRUECOLOR:
-         case PF_TRUEDITHER:
+         case PF_Truecolor:
+         case PF_Dither_True:
             {
                const GLubyte *pixelToR = xmesa->xm_visual->PixelToR;
                const GLubyte *pixelToG = xmesa->xm_visual->PixelToG;
@@ -3729,7 +3721,7 @@ static void read_color_span( const GLcontext *ctx,
             }
             break;
          case PF_5R6G5B:
-         case PF_DITHER_5R6G5B:
+         case PF_Dither_5R6G5B:
             {
                const GLubyte *pixelToR = xmesa->xm_visual->PixelToR;
                const GLubyte *pixelToG = xmesa->xm_visual->PixelToG;
@@ -3827,9 +3819,9 @@ static void read_color_span( const GLcontext *ctx,
                }
             }
             break;
-        case PF_DITHER:
-        case PF_LOOKUP:
-        case PF_GRAYSCALE:
+        case PF_Dither:
+        case PF_Lookup:
+        case PF_Grayscale:
             {
                const GLubyte *rTable = source->pixel_to_r;
                const GLubyte *gTable = source->pixel_to_g;
@@ -3859,7 +3851,7 @@ static void read_color_span( const GLcontext *ctx,
                }
             }
            break;
-        case PF_1BIT:
+        case PF_1Bit:
             {
                XMesaImage *img = source->backimage;
                int bitFlip = xmesa->xm_visual->bitFlip;
@@ -3891,7 +3883,7 @@ static void read_index_pixels( const GLcontext *ctx,
                               GLuint n, const GLint x[], const GLint y[],
                                GLuint indx[], const GLubyte mask[] )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    register GLuint i;
    XMesaBuffer source = xmesa->xm_buffer;
 
@@ -3920,7 +3912,7 @@ static void read_color_pixels( const GLcontext *ctx,
                               GLuint n, const GLint x[], const GLint y[],
                                GLubyte rgba[][4], const GLubyte mask[] )
 {
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
    XMesaDisplay *dpy = xmesa->xm_visual->display;
    register GLuint i;
    XMesaBuffer source = xmesa->xm_buffer;
@@ -3928,10 +3920,10 @@ static void read_color_pixels( const GLcontext *ctx,
 
    if (source->buffer) {
       switch (xmesa->pixelformat) {
-        case PF_TRUECOLOR:
-         case PF_TRUEDITHER:
+        case PF_Truecolor:
+         case PF_Dither_True:
          case PF_5R6G5B:
-         case PF_DITHER_5R6G5B:
+         case PF_Dither_5R6G5B:
             {
                unsigned long rMask = GET_REDMASK(xmesa->xm_visual);
                unsigned long gMask = GET_GREENMASK(xmesa->xm_visual);
@@ -4004,9 +3996,9 @@ static void read_color_pixels( const GLcontext *ctx,
                }
             }
             break;
-        case PF_DITHER:
-        case PF_LOOKUP:
-        case PF_GRAYSCALE:
+        case PF_Dither:
+        case PF_Lookup:
+        case PF_Grayscale:
             {
                GLubyte *rTable = source->pixel_to_r;
                GLubyte *gTable = source->pixel_to_g;
@@ -4023,7 +4015,7 @@ static void read_color_pixels( const GLcontext *ctx,
                }
            }
            break;
-        case PF_1BIT:
+        case PF_1Bit:
             {
                int bitFlip = xmesa->xm_visual->bitFlip;
                for (i=0;i<n;i++) {
@@ -4045,10 +4037,10 @@ static void read_color_pixels( const GLcontext *ctx,
    }
    else if (source->backimage) {
       switch (xmesa->pixelformat) {
-        case PF_TRUECOLOR:
-         case PF_TRUEDITHER:
+        case PF_Truecolor:
+         case PF_Dither_True:
          case PF_5R6G5B:
-         case PF_DITHER_5R6G5B:
+         case PF_Dither_5R6G5B:
             {
                unsigned long rMask = GET_REDMASK(xmesa->xm_visual);
                unsigned long gMask = GET_GREENMASK(xmesa->xm_visual);
@@ -4119,9 +4111,9 @@ static void read_color_pixels( const GLcontext *ctx,
                }
             }
             break;
-        case PF_DITHER:
-        case PF_LOOKUP:
-        case PF_GRAYSCALE:
+        case PF_Dither:
+        case PF_Lookup:
+        case PF_Grayscale:
             {
                GLubyte *rTable = source->pixel_to_r;
                GLubyte *gTable = source->pixel_to_g;
@@ -4139,7 +4131,7 @@ static void read_color_pixels( const GLcontext *ctx,
                }
            }
            break;
-        case PF_1BIT:
+        case PF_1Bit:
             {
                XMesaImage *img = source->backimage;
                int bitFlip = xmesa->xm_visual->bitFlip;
@@ -4167,7 +4159,7 @@ static void
 clear_color_HPCR_ximage( GLcontext *ctx, const GLfloat color[4] )
 {
    int i;
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
 
    CLAMPED_FLOAT_TO_UBYTE(xmesa->clearcolor[0], color[0]);
    CLAMPED_FLOAT_TO_UBYTE(xmesa->clearcolor[1], color[1]);
@@ -4201,7 +4193,7 @@ static void
 clear_color_HPCR_pixmap( GLcontext *ctx, const GLfloat color[4] )
 {
    int i;
-   const XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   const XMesaContext xmesa = XMESA_CONTEXT(ctx);
 
    CLAMPED_FLOAT_TO_UBYTE(xmesa->clearcolor[0], color[0]);
    CLAMPED_FLOAT_TO_UBYTE(xmesa->clearcolor[1], color[1]);
@@ -4240,7 +4232,7 @@ clear_color_HPCR_pixmap( GLcontext *ctx, const GLfloat color[4] )
 
 void xmesa_update_span_funcs( GLcontext *ctx )
 {
-   XMesaContext xmesa = (XMesaContext) ctx->DriverCtx;
+   XMesaContext xmesa = XMESA_CONTEXT(ctx);
    int depth=GET_VISUAL_DEPTH(xmesa->xm_visual);
    struct swrast_device_driver *dd = _swrast_GetDeviceDriverReference( ctx );
 
@@ -4250,21 +4242,21 @@ void xmesa_update_span_funcs( GLcontext *ctx )
    if (xmesa->xm_buffer->buffer!=XIMAGE) {
       /* Writing to window or back pixmap */
       switch (xmesa->pixelformat) {
-        case PF_INDEX:
+        case PF_Index:
            dd->WriteCI32Span     = write_span_index_pixmap;
            dd->WriteCI8Span      = write_span_index8_pixmap;
            dd->WriteMonoCISpan   = write_span_mono_index_pixmap;
            dd->WriteCI32Pixels   = write_pixels_index_pixmap;
            dd->WriteMonoCIPixels = write_pixels_mono_index_pixmap;
            break;
-        case PF_TRUECOLOR:
+        case PF_Truecolor:
            dd->WriteRGBASpan       = write_span_TRUECOLOR_pixmap;
            dd->WriteRGBSpan        = write_span_rgb_TRUECOLOR_pixmap;
            dd->WriteMonoRGBASpan   = write_span_mono_pixmap;
            dd->WriteRGBAPixels     = write_pixels_TRUECOLOR_pixmap;
            dd->WriteMonoRGBAPixels = write_pixels_mono_pixmap;
            break;
-        case PF_TRUEDITHER:
+        case PF_Dither_True:
            dd->WriteRGBASpan       = write_span_TRUEDITHER_pixmap;
            dd->WriteRGBSpan        = write_span_rgb_TRUEDITHER_pixmap;
            dd->WriteMonoRGBASpan   = write_span_mono_TRUEDITHER_pixmap;
@@ -4299,21 +4291,21 @@ void xmesa_update_span_funcs( GLcontext *ctx )
            dd->WriteRGBAPixels     = write_pixels_5R6G5B_pixmap;
            dd->WriteMonoRGBAPixels = write_pixels_mono_pixmap;
            break;
-        case PF_DITHER_5R6G5B:
+        case PF_Dither_5R6G5B:
            dd->WriteRGBASpan       = write_span_DITHER_5R6G5B_pixmap;
            dd->WriteRGBSpan        = write_span_rgb_DITHER_5R6G5B_pixmap;
            dd->WriteMonoRGBASpan   = write_span_mono_TRUEDITHER_pixmap;
            dd->WriteRGBAPixels     = write_pixels_DITHER_5R6G5B_pixmap;
            dd->WriteMonoRGBAPixels = write_pixels_mono_TRUEDITHER_pixmap;
            break;
-        case PF_DITHER:
+        case PF_Dither:
            dd->WriteRGBASpan       = write_span_DITHER_pixmap;
            dd->WriteRGBSpan        = write_span_rgb_DITHER_pixmap;
            dd->WriteMonoRGBASpan   = write_span_mono_DITHER_pixmap;
            dd->WriteRGBAPixels     = write_pixels_DITHER_pixmap;
            dd->WriteMonoRGBAPixels = write_pixels_mono_DITHER_pixmap;
            break;
-        case PF_1BIT:
+        case PF_1Bit:
            dd->WriteRGBASpan       = write_span_1BIT_pixmap;
            dd->WriteRGBSpan        = write_span_rgb_1BIT_pixmap;
            dd->WriteMonoRGBASpan   = write_span_mono_1BIT_pixmap;
@@ -4330,14 +4322,14 @@ void xmesa_update_span_funcs( GLcontext *ctx )
               ctx->Driver.ClearColor = clear_color_HPCR_pixmap;
            }
             break;
-         case PF_LOOKUP:
+         case PF_Lookup:
             dd->WriteRGBASpan       = write_span_LOOKUP_pixmap;
             dd->WriteRGBSpan        = write_span_rgb_LOOKUP_pixmap;
             dd->WriteMonoRGBASpan   = write_span_mono_pixmap;
             dd->WriteRGBAPixels     = write_pixels_LOOKUP_pixmap;
             dd->WriteMonoRGBAPixels = write_pixels_mono_pixmap;
             break;
-         case PF_GRAYSCALE:
+         case PF_Grayscale:
             dd->WriteRGBASpan       = write_span_GRAYSCALE_pixmap;
             dd->WriteRGBSpan        = write_span_rgb_GRAYSCALE_pixmap;
             dd->WriteMonoRGBASpan   = write_span_mono_pixmap;
@@ -4352,7 +4344,7 @@ void xmesa_update_span_funcs( GLcontext *ctx )
    else if (xmesa->xm_buffer->buffer==XIMAGE) {
       /* Writing to back XImage */
       switch (xmesa->pixelformat) {
-        case PF_INDEX:
+        case PF_Index:
            dd->WriteCI32Span     = write_span_index_ximage;
            if (depth==8)
                dd->WriteCI8Span   = write_span_index8_ximage8;
@@ -4362,7 +4354,7 @@ void xmesa_update_span_funcs( GLcontext *ctx )
            dd->WriteCI32Pixels   = write_pixels_index_ximage;
            dd->WriteMonoCIPixels = write_pixels_mono_index_ximage;
            break;
-        case PF_TRUECOLOR:
+        case PF_Truecolor:
            /* Generic RGB */
            dd->WriteRGBASpan       = write_span_TRUECOLOR_ximage;
            dd->WriteRGBSpan        = write_span_rgb_TRUECOLOR_ximage;
@@ -4370,7 +4362,7 @@ void xmesa_update_span_funcs( GLcontext *ctx )
            dd->WriteRGBAPixels     = write_pixels_TRUECOLOR_ximage;
            dd->WriteMonoRGBAPixels = write_pixels_mono_ximage;
            break;
-        case PF_TRUEDITHER:
+        case PF_Dither_True:
            dd->WriteRGBASpan       = write_span_TRUEDITHER_ximage;
            dd->WriteRGBSpan        = write_span_rgb_TRUEDITHER_ximage;
            dd->WriteMonoRGBASpan   = write_span_mono_TRUEDITHER_ximage;
@@ -4405,14 +4397,14 @@ void xmesa_update_span_funcs( GLcontext *ctx )
            dd->WriteRGBAPixels     = write_pixels_5R6G5B_ximage;
            dd->WriteMonoRGBAPixels = write_pixels_mono_ximage;
            break;
-        case PF_DITHER_5R6G5B:
+        case PF_Dither_5R6G5B:
            dd->WriteRGBASpan       = write_span_DITHER_5R6G5B_ximage;
            dd->WriteRGBSpan        = write_span_rgb_DITHER_5R6G5B_ximage;
            dd->WriteMonoRGBASpan   = write_span_mono_DITHER_5R6G5B_ximage;
            dd->WriteRGBAPixels     = write_pixels_DITHER_5R6G5B_ximage;
            dd->WriteMonoRGBAPixels = write_pixels_mono_DITHER_5R6G5B_ximage;
            break;
-        case PF_DITHER:
+        case PF_Dither:
            if (depth==8) {
               dd->WriteRGBASpan      = write_span_DITHER8_ximage;
               dd->WriteRGBSpan       = write_span_rgb_DITHER8_ximage;
@@ -4428,7 +4420,7 @@ void xmesa_update_span_funcs( GLcontext *ctx )
               dd->WriteMonoRGBAPixels = write_pixels_mono_DITHER_ximage;
            }
            break;
-        case PF_1BIT:
+        case PF_1Bit:
            dd->WriteRGBASpan       = write_span_1BIT_ximage;
            dd->WriteRGBSpan        = write_span_rgb_1BIT_ximage;
            dd->WriteMonoRGBASpan   = write_span_mono_1BIT_ximage;
@@ -4445,7 +4437,7 @@ void xmesa_update_span_funcs( GLcontext *ctx )
                ctx->Driver.ClearColor = clear_color_HPCR_ximage;
            }
             break;
-         case PF_LOOKUP:
+         case PF_Lookup:
            if (depth==8) {
                dd->WriteRGBASpan       = write_span_LOOKUP8_ximage;
                dd->WriteRGBSpan        = write_rgb_LOOKUP8_ximage;
@@ -4461,7 +4453,7 @@ void xmesa_update_span_funcs( GLcontext *ctx )
                dd->WriteMonoRGBAPixels = write_pixels_mono_ximage;
             }
             break;
-         case PF_GRAYSCALE:
+         case PF_Grayscale:
            if (depth==8) {
               dd->WriteRGBASpan       = write_span_GRAYSCALE8_ximage;
               dd->WriteRGBSpan        = write_span_rgb_GRAYSCALE8_ximage;