[Mesa-dev] [PATCH 4/5] mesa/drivers: use new swrast renderbuffer functions

Brian Paul brianp at vmware.com
Mon Dec 5 19:42:42 PST 2011


---
 src/mesa/drivers/common/driverfuncs.c         |    7 +++--
 src/mesa/drivers/dri/intel/intel_screen.c     |   15 +++++++------
 src/mesa/drivers/dri/intel/intel_span.c       |   27 +++++++++++++------------
 src/mesa/drivers/dri/nouveau/nouveau_screen.c |    7 +++--
 src/mesa/drivers/dri/radeon/radeon_screen.c   |    3 +-
 src/mesa/drivers/dri/swrast/swrast.c          |   15 +++++++------
 src/mesa/drivers/osmesa/osmesa.c              |   15 +++++++------
 src/mesa/drivers/windows/gdi/wmesa.c          |   15 +++++++------
 src/mesa/drivers/x11/xm_api.c                 |   15 +++++++------
 src/mesa/drivers/x11/xm_buffer.c              |    7 +++--
 10 files changed, 68 insertions(+), 58 deletions(-)

diff --git a/src/mesa/drivers/common/driverfuncs.c b/src/mesa/drivers/common/driverfuncs.c
index 0785cff..c6b42a2 100644
--- a/src/mesa/drivers/common/driverfuncs.c
+++ b/src/mesa/drivers/common/driverfuncs.c
@@ -50,6 +50,7 @@
 #include "program/program.h"
 #include "tnl/tnl.h"
 #include "swrast/swrast.h"
+#include "swrast/s_renderbuffer.h"
 
 #include "driverfuncs.h"
 #include "meta.h"
@@ -179,9 +180,9 @@ _mesa_init_driver_functions(struct dd_function_table *driver)
    _mesa_init_sync_object_functions(driver);
 
    driver->NewFramebuffer = _mesa_new_framebuffer;
-   driver->NewRenderbuffer = _mesa_new_soft_renderbuffer;
-   driver->MapRenderbuffer = _mesa_map_soft_renderbuffer;
-   driver->UnmapRenderbuffer = _mesa_unmap_soft_renderbuffer;
+   driver->NewRenderbuffer = _swrast_new_soft_renderbuffer;
+   driver->MapRenderbuffer = _swrast_map_soft_renderbuffer;
+   driver->UnmapRenderbuffer = _swrast_unmap_soft_renderbuffer;
    driver->RenderTexture = _swrast_render_texture;
    driver->FinishRenderTexture = _swrast_finish_render_texture;
    driver->FramebufferRenderbuffer = _mesa_framebuffer_renderbuffer;
diff --git a/src/mesa/drivers/dri/intel/intel_screen.c b/src/mesa/drivers/dri/intel/intel_screen.c
index f67bef9..e4cc5b0 100644
--- a/src/mesa/drivers/dri/intel/intel_screen.c
+++ b/src/mesa/drivers/dri/intel/intel_screen.c
@@ -33,6 +33,7 @@
 #include "main/hash.h"
 #include "main/fbobject.h"
 #include "main/mfeatures.h"
+#include "swrast/s_renderbuffer.h"
 
 #include "utils.h"
 #include "xmlpool.h"
@@ -470,13 +471,13 @@ intelCreateBuffer(__DRIscreen * driScrnPriv,
       }
 
       /* now add any/all software-based renderbuffers we may need */
-      _mesa_add_soft_renderbuffers(fb,
-                                   false, /* never sw color */
-                                   false, /* never sw depth */
-                                   false, /* never sw stencil */
-                                   mesaVis->accumRedBits > 0,
-                                   false, /* never sw alpha */
-                                   false  /* never sw aux */ );
+      _swrast_add_soft_renderbuffers(fb,
+                                     false, /* never sw color */
+                                     false, /* never sw depth */
+                                     false, /* never sw stencil */
+                                     mesaVis->accumRedBits > 0,
+                                     false, /* never sw alpha */
+                                     false  /* never sw aux */ );
       driDrawPriv->driverPrivate = fb;
 
       return true;
diff --git a/src/mesa/drivers/dri/intel/intel_span.c b/src/mesa/drivers/dri/intel/intel_span.c
index d203617..43b8151 100644
--- a/src/mesa/drivers/dri/intel/intel_span.c
+++ b/src/mesa/drivers/dri/intel/intel_span.c
@@ -46,6 +46,7 @@
 #include "intel_tex.h"
 
 #include "swrast/swrast.h"
+#include "swrast/s_renderbuffer.h"
 
 static void
 intel_set_span_functions(struct intel_context *intel,
@@ -415,19 +416,19 @@ static span_init_func intel_span_init_funcs[MESA_FORMAT_COUNT] =
    [MESA_FORMAT_XRGB8888] = intel_InitPointers_xRGB8888,
    [MESA_FORMAT_ARGB8888] = intel_InitPointers_ARGB8888,
    [MESA_FORMAT_SARGB8] = intel_InitPointers_ARGB8888,
-   [MESA_FORMAT_Z16] = _mesa_set_renderbuffer_accessors,
-   [MESA_FORMAT_X8_Z24] = _mesa_set_renderbuffer_accessors,
-   [MESA_FORMAT_S8_Z24] = _mesa_set_renderbuffer_accessors,
-   [MESA_FORMAT_S8] = _mesa_set_renderbuffer_accessors,
-   [MESA_FORMAT_R8] = _mesa_set_renderbuffer_accessors,
-   [MESA_FORMAT_GR88] = _mesa_set_renderbuffer_accessors,
-   [MESA_FORMAT_R16] = _mesa_set_renderbuffer_accessors,
-   [MESA_FORMAT_RG1616] = _mesa_set_renderbuffer_accessors,
-   [MESA_FORMAT_RGBA_FLOAT32] = _mesa_set_renderbuffer_accessors,
-   [MESA_FORMAT_RG_FLOAT32] = _mesa_set_renderbuffer_accessors,
-   [MESA_FORMAT_R_FLOAT32] = _mesa_set_renderbuffer_accessors,
-   [MESA_FORMAT_INTENSITY_FLOAT32] = _mesa_set_renderbuffer_accessors,
-   [MESA_FORMAT_LUMINANCE_FLOAT32] = _mesa_set_renderbuffer_accessors,
+   [MESA_FORMAT_Z16] = _swrast_set_renderbuffer_accessors,
+   [MESA_FORMAT_X8_Z24] = _swrast_set_renderbuffer_accessors,
+   [MESA_FORMAT_S8_Z24] = _swrast_set_renderbuffer_accessors,
+   [MESA_FORMAT_S8] = _swrast_set_renderbuffer_accessors,
+   [MESA_FORMAT_R8] = _swrast_set_renderbuffer_accessors,
+   [MESA_FORMAT_GR88] = _swrast_set_renderbuffer_accessors,
+   [MESA_FORMAT_R16] = _swrast_set_renderbuffer_accessors,
+   [MESA_FORMAT_RG1616] = _swrast_set_renderbuffer_accessors,
+   [MESA_FORMAT_RGBA_FLOAT32] = _swrast_set_renderbuffer_accessors,
+   [MESA_FORMAT_RG_FLOAT32] = _swrast_set_renderbuffer_accessors,
+   [MESA_FORMAT_R_FLOAT32] = _swrast_set_renderbuffer_accessors,
+   [MESA_FORMAT_INTENSITY_FLOAT32] = _swrast_set_renderbuffer_accessors,
+   [MESA_FORMAT_LUMINANCE_FLOAT32] = _swrast_set_renderbuffer_accessors,
 };
 
 bool
diff --git a/src/mesa/drivers/dri/nouveau/nouveau_screen.c b/src/mesa/drivers/dri/nouveau/nouveau_screen.c
index c845280..b0cd223 100644
--- a/src/mesa/drivers/dri/nouveau/nouveau_screen.c
+++ b/src/mesa/drivers/dri/nouveau/nouveau_screen.c
@@ -35,6 +35,7 @@
 
 #include "main/framebuffer.h"
 #include "main/renderbuffer.h"
+#include "swrats/s_renderbuffer.h"
 
 static const __DRIextension *nouveau_screen_extensions[];
 
@@ -200,9 +201,9 @@ nouveau_create_buffer(__DRIscreen *dri_screen,
 	}
 
 	/* Software renderbuffers. */
-	_mesa_add_soft_renderbuffers(fb, GL_FALSE, GL_FALSE, GL_FALSE,
-				     visual->accumRedBits > 0,
-				     GL_FALSE, GL_FALSE);
+	_swrast_add_soft_renderbuffers(fb, GL_FALSE, GL_FALSE, GL_FALSE,
+                                       visual->accumRedBits > 0,
+                                       GL_FALSE, GL_FALSE);
 
 	drawable->driverPrivate = fb;
 
diff --git a/src/mesa/drivers/dri/radeon/radeon_screen.c b/src/mesa/drivers/dri/radeon/radeon_screen.c
index 74b2ad1..1ea6be5 100644
--- a/src/mesa/drivers/dri/radeon/radeon_screen.c
+++ b/src/mesa/drivers/dri/radeon/radeon_screen.c
@@ -42,6 +42,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #include "main/framebuffer.h"
 #include "main/renderbuffer.h"
 #include "main/fbobject.h"
+#include "swrast/s_renderbuffer.h"
 
 #define STANDALONE_MMIO
 #include "radeon_chipset.h"
@@ -650,7 +651,7 @@ radeonCreateBuffer( __DRIscreen *driScrnPriv,
 	depth->has_surface = screen->depthHasSurface;
     }
 
-    _mesa_add_soft_renderbuffers(&rfb->base,
+    _swrast_add_soft_renderbuffers(&rfb->base,
 	    GL_FALSE, /* color */
 	    swDepth,
 	    swStencil,
diff --git a/src/mesa/drivers/dri/swrast/swrast.c b/src/mesa/drivers/dri/swrast/swrast.c
index 6297604..ac82dc7 100644
--- a/src/mesa/drivers/dri/swrast/swrast.c
+++ b/src/mesa/drivers/dri/swrast/swrast.c
@@ -38,6 +38,7 @@
 #include "main/imports.h"
 #include "main/renderbuffer.h"
 #include "swrast/swrast.h"
+#include "swrast/s_renderbuffer.h"
 #include "swrast_setup/swrast_setup.h"
 #include "tnl/tnl.h"
 #include "tnl/t_context.h"
@@ -490,13 +491,13 @@ dri_create_buffer(__DRIscreen * sPriv,
     }
 
     /* add software renderbuffers */
-    _mesa_add_soft_renderbuffers(fb,
-				 GL_FALSE, /* color */
-				 visual->haveDepthBuffer,
-				 visual->haveStencilBuffer,
-				 visual->haveAccumBuffer,
-				 GL_FALSE, /* alpha */
-				 GL_FALSE /* aux bufs */);
+    _swrast_add_soft_renderbuffers(fb,
+                                   GL_FALSE, /* color */
+                                   visual->haveDepthBuffer,
+                                   visual->haveStencilBuffer,
+                                   visual->haveAccumBuffer,
+                                   GL_FALSE, /* alpha */
+                                   GL_FALSE /* aux bufs */);
 
     return GL_TRUE;
 
diff --git a/src/mesa/drivers/osmesa/osmesa.c b/src/mesa/drivers/osmesa/osmesa.c
index 4e6d5b6..022f4cc 100644
--- a/src/mesa/drivers/osmesa/osmesa.c
+++ b/src/mesa/drivers/osmesa/osmesa.c
@@ -46,6 +46,7 @@
 #include "swrast_setup/swrast_setup.h"
 #include "swrast/s_context.h"
 #include "swrast/s_lines.h"
+#include "swrast/s_renderbuffer.h"
 #include "swrast/s_triangle.h"
 #include "tnl/tnl.h"
 #include "tnl/t_context.h"
@@ -1168,13 +1169,13 @@ OSMesaCreateContextExt( GLenum format, GLint depthBits, GLint stencilBits,
       /* Create depth/stencil/accum buffers.  We'll create the color
        * buffer later in OSMesaMakeCurrent().
        */
-      _mesa_add_soft_renderbuffers(osmesa->gl_buffer,
-                                   GL_FALSE, /* color */
-                                   osmesa->gl_visual->haveDepthBuffer,
-                                   osmesa->gl_visual->haveStencilBuffer,
-                                   osmesa->gl_visual->haveAccumBuffer,
-                                   GL_FALSE, /* alpha */
-                                   GL_FALSE /* aux */ );
+      _swrast_add_soft_renderbuffers(osmesa->gl_buffer,
+                                     GL_FALSE, /* color */
+                                     osmesa->gl_visual->haveDepthBuffer,
+                                     osmesa->gl_visual->haveStencilBuffer,
+                                     osmesa->gl_visual->haveAccumBuffer,
+                                     GL_FALSE, /* alpha */
+                                     GL_FALSE /* aux */ );
 
       osmesa->format = format;
       osmesa->userRowLength = 0;
diff --git a/src/mesa/drivers/windows/gdi/wmesa.c b/src/mesa/drivers/windows/gdi/wmesa.c
index 14d15ed..675ffda 100644
--- a/src/mesa/drivers/windows/gdi/wmesa.c
+++ b/src/mesa/drivers/windows/gdi/wmesa.c
@@ -16,6 +16,7 @@
 #include "drivers/common/meta.h"
 #include "vbo/vbo.h"
 #include "swrast/swrast.h"
+#include "swrast/s_renderbuffer.h"
 #include "swrast_setup/swrast_setup.h"
 #include "tnl/tnl.h"
 #include "tnl/t_context.h"
@@ -1610,13 +1611,13 @@ void WMesaMakeCurrent(WMesaContext c, HDC hdc)
         wmesa_set_renderbuffer_funcs(rb, pwfb->pixelformat, pwfb->cColorBits, 0);
 
 	/* Let Mesa own the Depth, Stencil, and Accum buffers */
-        _mesa_add_soft_renderbuffers(&pwfb->Base,
-                                     GL_FALSE, /* color */
-                                     visual->depthBits > 0,
-                                     visual->stencilBits > 0,
-                                     visual->accumRedBits > 0,
-                                     visual->alphaBits >0, 
-                                     GL_FALSE);
+        _swrast_add_soft_renderbuffers(&pwfb->Base,
+                                       GL_FALSE, /* color */
+                                       visual->depthBits > 0,
+                                       visual->stencilBits > 0,
+                                       visual->accumRedBits > 0,
+                                       visual->alphaBits >0, 
+                                       GL_FALSE);
     }
 
     if (c && pwfb)
diff --git a/src/mesa/drivers/x11/xm_api.c b/src/mesa/drivers/x11/xm_api.c
index 7d60280..81b2459 100644
--- a/src/mesa/drivers/x11/xm_api.c
+++ b/src/mesa/drivers/x11/xm_api.c
@@ -73,6 +73,7 @@
 #include "main/teximage.h"
 #include "glapi/glthread.h"
 #include "swrast/swrast.h"
+#include "swrast/s_renderbuffer.h"
 #include "swrast_setup/swrast_setup.h"
 #include "vbo/vbo.h"
 #include "tnl/tnl.h"
@@ -331,13 +332,13 @@ create_xmesa_buffer(XMesaDrawable d, BufferType type,
    /*
     * Other renderbuffer (depth, stencil, etc)
     */
-   _mesa_add_soft_renderbuffers(&b->mesa_buffer,
-                                GL_FALSE,  /* color */
-                                vis->mesa_visual.haveDepthBuffer,
-                                vis->mesa_visual.haveStencilBuffer,
-                                vis->mesa_visual.haveAccumBuffer,
-                                GL_FALSE,  /* software alpha buffer */
-                                vis->mesa_visual.numAuxBuffers > 0 );
+   _swrast_add_soft_renderbuffers(&b->mesa_buffer,
+                                  GL_FALSE,  /* color */
+                                  vis->mesa_visual.haveDepthBuffer,
+                                  vis->mesa_visual.haveStencilBuffer,
+                                  vis->mesa_visual.haveAccumBuffer,
+                                  GL_FALSE,  /* software alpha buffer */
+                                  vis->mesa_visual.numAuxBuffers > 0 );
 
    /* GLX_EXT_texture_from_pixmap */
    b->TextureTarget = 0;
diff --git a/src/mesa/drivers/x11/xm_buffer.c b/src/mesa/drivers/x11/xm_buffer.c
index 11b7c24..84e6fcd 100644
--- a/src/mesa/drivers/x11/xm_buffer.c
+++ b/src/mesa/drivers/x11/xm_buffer.c
@@ -35,6 +35,7 @@
 #include "main/formats.h"
 #include "main/framebuffer.h"
 #include "main/renderbuffer.h"
+#include "swrast/s_renderbuffer.h"
 
 
 #define XMESA_RENDERBUFFER 0x1234
@@ -481,8 +482,8 @@ xmesa_MapRenderbuffer(struct gl_context *ctx,
    }
 
    /* otherwise, this is an ordinary malloc-based renderbuffer */
-   _mesa_map_soft_renderbuffer(ctx, rb, x, y, w, h, mode,
-                               mapOut, rowStrideOut);
+   _swrast_map_soft_renderbuffer(ctx, rb, x, y, w, h, mode,
+                                 mapOut, rowStrideOut);
 }
 
 
@@ -528,7 +529,7 @@ xmesa_UnmapRenderbuffer(struct gl_context *ctx, struct gl_renderbuffer *rb)
    }
 
    /* otherwise, this is an ordinary malloc-based renderbuffer */
-   _mesa_unmap_soft_renderbuffer(ctx, rb);
+   _swrast_unmap_soft_renderbuffer(ctx, rb);
 }
 
 
-- 
1.7.3.4



More information about the mesa-dev mailing list