r200/i915/st/mesa/compiler: use common inputs read field
[mesa.git] / src / mesa / swrast / s_renderbuffer.c
index b7b2da542fb8bee42816cbd2fd8dd1f54aadbfcc..d8c4ed3863881dec1cd7cb84d5755fd6b2f0d1b5 100644 (file)
@@ -1,6 +1,5 @@
 /*
  * Mesa 3-D graphics library
- * Version:  6.5
  *
  * Copyright (C) 1999-2006  Brian Paul   All Rights Reserved.
  *
  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
- * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
  */
 
 
@@ -69,7 +69,7 @@ soft_renderbuffer_storage(struct gl_context *ctx, struct gl_renderbuffer *rb,
    case GL_RGB10:
    case GL_RGB12:
    case GL_RGB16:
-      rb->Format = MESA_FORMAT_RGB888;
+      rb->Format = MESA_FORMAT_BGR_UNORM8;
       break;
    case GL_RGBA:
    case GL_RGBA2:
@@ -81,35 +81,35 @@ soft_renderbuffer_storage(struct gl_context *ctx, struct gl_renderbuffer *rb,
    case GL_RGBA12:
 #endif
       if (_mesa_little_endian())
-         rb->Format = MESA_FORMAT_RGBA8888_REV;
+         rb->Format = MESA_FORMAT_R8G8B8A8_UNORM;
       else
-         rb->Format = MESA_FORMAT_RGBA8888;
+         rb->Format = MESA_FORMAT_A8B8G8R8_UNORM;
       break;
    case GL_RGBA16:
    case GL_RGBA16_SNORM:
       /* for accum buffer */
-      rb->Format = MESA_FORMAT_SIGNED_RGBA_16;
+      rb->Format = MESA_FORMAT_RGBA_SNORM16;
       break;
    case GL_STENCIL_INDEX:
    case GL_STENCIL_INDEX1_EXT:
    case GL_STENCIL_INDEX4_EXT:
    case GL_STENCIL_INDEX8_EXT:
    case GL_STENCIL_INDEX16_EXT:
-      rb->Format = MESA_FORMAT_S8;
+      rb->Format = MESA_FORMAT_S_UINT8;
       break;
    case GL_DEPTH_COMPONENT:
    case GL_DEPTH_COMPONENT16:
-      rb->Format = MESA_FORMAT_Z16;
+      rb->Format = MESA_FORMAT_Z_UNORM16;
       break;
    case GL_DEPTH_COMPONENT24:
-      rb->Format = MESA_FORMAT_X8_Z24;
+      rb->Format = MESA_FORMAT_Z24_UNORM_X8_UINT;
       break;
    case GL_DEPTH_COMPONENT32:
-      rb->Format = MESA_FORMAT_Z32;
+      rb->Format = MESA_FORMAT_Z_UNORM32;
       break;
    case GL_DEPTH_STENCIL_EXT:
    case GL_DEPTH24_STENCIL8_EXT:
-      rb->Format = MESA_FORMAT_Z24_S8;
+      rb->Format = MESA_FORMAT_S8_UINT_Z24_UNORM;
       break;
    default:
       /* unsupported format */
@@ -153,7 +153,7 @@ soft_renderbuffer_storage(struct gl_context *ctx, struct gl_renderbuffer *rb,
    }
    else {
       /* the internalFormat should have been error checked long ago */
-      ASSERT(rb->_BaseFormat);
+      assert(rb->_BaseFormat);
    }
 
    return GL_TRUE;
@@ -659,8 +659,10 @@ _swrast_map_renderbuffers(struct gl_context *ctx)
    }
 
    for (buf = 0; buf < fb->_NumColorDrawBuffers; buf++) {
-      map_attachment(ctx, fb, fb->_ColorDrawBufferIndexes[buf]);
-      find_renderbuffer_colortype(fb->_ColorDrawBuffers[buf]);
+      if (fb->_ColorDrawBufferIndexes[buf] >= 0) {
+         map_attachment(ctx, fb, fb->_ColorDrawBufferIndexes[buf]);
+         find_renderbuffer_colortype(fb->_ColorDrawBuffers[buf]);
+      }
    }
 }
  
@@ -688,6 +690,8 @@ _swrast_unmap_renderbuffers(struct gl_context *ctx)
    }
 
    for (buf = 0; buf < fb->_NumColorDrawBuffers; buf++) {
-      unmap_attachment(ctx, fb, fb->_ColorDrawBufferIndexes[buf]);
+      if (fb->_ColorDrawBufferIndexes[buf] >= 0) {
+         unmap_attachment(ctx, fb, fb->_ColorDrawBufferIndexes[buf]);
+      }
    }
 }