swrast: move some renderbuffer functions to s_renderbuffer.c
authorBrian Paul <brianp@vmware.com>
Mon, 16 Jan 2012 20:05:49 +0000 (13:05 -0700)
committerBrian Paul <brianp@vmware.com>
Tue, 24 Jan 2012 21:12:35 +0000 (14:12 -0700)
src/mesa/swrast/s_renderbuffer.c
src/mesa/swrast/s_texture.c

index 378e3a7e39a89a65fdc2acfc7824dbed5b03234a..501b4698c8efc93a9f98ef4f13ca2b5d84754222 100644 (file)
@@ -552,3 +552,124 @@ _swrast_add_soft_renderbuffers(struct gl_framebuffer *fb,
    }
 #endif
 }
+
+
+
+static void
+map_attachment(struct gl_context *ctx,
+                 struct gl_framebuffer *fb,
+                 gl_buffer_index buffer)
+{
+   struct gl_texture_object *texObj = fb->Attachment[buffer].Texture;
+   struct gl_renderbuffer *rb = fb->Attachment[buffer].Renderbuffer;
+   struct swrast_renderbuffer *srb = swrast_renderbuffer(rb);
+
+   if (texObj) {
+      const GLuint level = fb->Attachment[buffer].TextureLevel;
+      const GLuint face = fb->Attachment[buffer].CubeMapFace;
+      struct gl_texture_image *texImage = texObj->Image[face][level];
+      if (texImage) {
+         struct swrast_texture_image *swImage
+            = swrast_texture_image(texImage);
+
+         /* XXX we'll eventually call _swrast_map_teximage() here */
+         swImage->Map = swImage->Buffer;
+         if (srb) {
+            srb->Map = swImage->Buffer;
+            srb->RowStride = swImage->RowStride *
+               _mesa_get_format_bytes(swImage->Base.TexFormat);
+         }
+      }
+   }
+   else if (rb) {
+      /* Map ordinary renderbuffer */
+      ctx->Driver.MapRenderbuffer(ctx, rb,
+                                  0, 0, rb->Width, rb->Height,
+                                  GL_MAP_READ_BIT | GL_MAP_WRITE_BIT,
+                                  &srb->Map, &srb->RowStride);
+      assert(srb->Map);
+   }
+}
+
+static void
+unmap_attachment(struct gl_context *ctx,
+                   struct gl_framebuffer *fb,
+                   gl_buffer_index buffer)
+{
+   struct gl_texture_object *texObj = fb->Attachment[buffer].Texture;
+   struct gl_renderbuffer *rb = fb->Attachment[buffer].Renderbuffer;
+   struct swrast_renderbuffer *srb = swrast_renderbuffer(rb);
+
+   if (texObj) {
+      const GLuint level = fb->Attachment[buffer].TextureLevel;
+      const GLuint face = fb->Attachment[buffer].CubeMapFace;
+      struct gl_texture_image *texImage = texObj->Image[face][level];
+      if (texImage) {
+
+         /* XXX we'll eventually call _swrast_unmap_teximage() here */
+       }
+    }
+   else if (rb) {
+      /* unmap ordinary renderbuffer */
+      ctx->Driver.UnmapRenderbuffer(ctx, rb);
+   }
+
+   srb->Map = NULL;
+}
+/**
+ * Map the renderbuffers we'll use for tri/line/point rendering.
+ */
+void
+_swrast_map_renderbuffers(struct gl_context *ctx)
+{
+   struct gl_framebuffer *fb = ctx->DrawBuffer;
+   struct gl_renderbuffer *depthRb, *stencilRb;
+   GLuint buf;
+
+   depthRb = fb->Attachment[BUFFER_DEPTH].Renderbuffer;
+   if (depthRb) {
+      /* map depth buffer */
+      map_attachment(ctx, fb, BUFFER_DEPTH);
+   }
+
+   stencilRb = fb->Attachment[BUFFER_STENCIL].Renderbuffer;
+   if (stencilRb && stencilRb != depthRb) {
+      /* map stencil buffer */
+      map_attachment(ctx, fb, BUFFER_STENCIL);
+   }
+
+   for (buf = 0; buf < fb->_NumColorDrawBuffers; buf++) {
+      map_attachment(ctx, fb, fb->_ColorDrawBufferIndexes[buf]);
+   }
+}
+/**
+ * Unmap renderbuffers after rendering.
+ */
+void
+_swrast_unmap_renderbuffers(struct gl_context *ctx)
+{
+   struct gl_framebuffer *fb = ctx->DrawBuffer;
+   struct gl_renderbuffer *depthRb, *stencilRb;
+   GLuint buf;
+
+   depthRb = fb->Attachment[BUFFER_DEPTH].Renderbuffer;
+   if (depthRb) {
+      /* map depth buffer */
+      unmap_attachment(ctx, fb, BUFFER_DEPTH);
+   }
+
+   stencilRb = fb->Attachment[BUFFER_STENCIL].Renderbuffer;
+   if (stencilRb && stencilRb != depthRb) {
+      /* map stencil buffer */
+      unmap_attachment(ctx, fb, BUFFER_STENCIL);
+   }
+
+   for (buf = 0; buf < fb->_NumColorDrawBuffers; buf++) {
+      unmap_attachment(ctx, fb, fb->_ColorDrawBufferIndexes[buf]);
+   }
+}
index 0a87b7327e0b2edfa04a9a8abf5441a857cf6b13..72d30930001b48b32cc3cab873c4b884afd057b0 100644 (file)
@@ -315,127 +315,6 @@ _swrast_unmap_textures(struct gl_context *ctx)
 }
 
 
-static void
-map_attachment(struct gl_context *ctx,
-                 struct gl_framebuffer *fb,
-                 gl_buffer_index buffer)
-{
-   struct gl_texture_object *texObj = fb->Attachment[buffer].Texture;
-   struct gl_renderbuffer *rb = fb->Attachment[buffer].Renderbuffer;
-   struct swrast_renderbuffer *srb = swrast_renderbuffer(rb);
-
-   if (texObj) {
-      const GLuint level = fb->Attachment[buffer].TextureLevel;
-      const GLuint face = fb->Attachment[buffer].CubeMapFace;
-      struct gl_texture_image *texImage = texObj->Image[face][level];
-      if (texImage) {
-         struct swrast_texture_image *swImage
-            = swrast_texture_image(texImage);
-
-         /* XXX we'll eventually call _swrast_map_teximage() here */
-         swImage->Map = swImage->Buffer;
-         if (srb) {
-            srb->Map = swImage->Buffer;
-            srb->RowStride = swImage->RowStride *
-               _mesa_get_format_bytes(swImage->Base.TexFormat);
-         }
-      }
-   }
-   else if (rb) {
-      /* Map ordinary renderbuffer */
-      ctx->Driver.MapRenderbuffer(ctx, rb,
-                                  0, 0, rb->Width, rb->Height,
-                                  GL_MAP_READ_BIT | GL_MAP_WRITE_BIT,
-                                  &srb->Map, &srb->RowStride);
-      assert(srb->Map);
-   }
-}
-
-static void
-unmap_attachment(struct gl_context *ctx,
-                   struct gl_framebuffer *fb,
-                   gl_buffer_index buffer)
-{
-   struct gl_texture_object *texObj = fb->Attachment[buffer].Texture;
-   struct gl_renderbuffer *rb = fb->Attachment[buffer].Renderbuffer;
-   struct swrast_renderbuffer *srb = swrast_renderbuffer(rb);
-
-   if (texObj) {
-      const GLuint level = fb->Attachment[buffer].TextureLevel;
-      const GLuint face = fb->Attachment[buffer].CubeMapFace;
-      struct gl_texture_image *texImage = texObj->Image[face][level];
-      if (texImage) {
-
-         /* XXX we'll eventually call _swrast_unmap_teximage() here */
-       }
-    }
-   else if (rb) {
-      /* unmap ordinary renderbuffer */
-      ctx->Driver.UnmapRenderbuffer(ctx, rb);
-   }
-
-   srb->Map = NULL;
-}
-/**
- * Map the renderbuffers we'll use for tri/line/point rendering.
- */
-void
-_swrast_map_renderbuffers(struct gl_context *ctx)
-{
-   struct gl_framebuffer *fb = ctx->DrawBuffer;
-   struct gl_renderbuffer *depthRb, *stencilRb;
-   GLuint buf;
-
-   depthRb = fb->Attachment[BUFFER_DEPTH].Renderbuffer;
-   if (depthRb) {
-      /* map depth buffer */
-      map_attachment(ctx, fb, BUFFER_DEPTH);
-   }
-
-   stencilRb = fb->Attachment[BUFFER_STENCIL].Renderbuffer;
-   if (stencilRb && stencilRb != depthRb) {
-      /* map stencil buffer */
-      map_attachment(ctx, fb, BUFFER_STENCIL);
-   }
-
-   for (buf = 0; buf < fb->_NumColorDrawBuffers; buf++) {
-      map_attachment(ctx, fb, fb->_ColorDrawBufferIndexes[buf]);
-   }
-}
-/**
- * Unmap renderbuffers after rendering.
- */
-void
-_swrast_unmap_renderbuffers(struct gl_context *ctx)
-{
-   struct gl_framebuffer *fb = ctx->DrawBuffer;
-   struct gl_renderbuffer *depthRb, *stencilRb;
-   GLuint buf;
-
-   depthRb = fb->Attachment[BUFFER_DEPTH].Renderbuffer;
-   if (depthRb) {
-      /* map depth buffer */
-      unmap_attachment(ctx, fb, BUFFER_DEPTH);
-   }
-
-   stencilRb = fb->Attachment[BUFFER_STENCIL].Renderbuffer;
-   if (stencilRb && stencilRb != depthRb) {
-      /* map stencil buffer */
-      unmap_attachment(ctx, fb, BUFFER_STENCIL);
-   }
-
-   for (buf = 0; buf < fb->_NumColorDrawBuffers; buf++) {
-      unmap_attachment(ctx, fb, fb->_ColorDrawBufferIndexes[buf]);
-   }
-}
-
-
 /**
  * Called via ctx->Driver.AllocTextureStorage()
  * Just have to allocate memory for the texture images.