Add TTM buffer object based texture from pixmap implementation.
[mesa.git] / src / mesa / drivers / dri / intel / intel_span.c
index 9ce4a184fd4065236d5aff7b75967a14c39764ed..df4f5927a0fd7060c566f95287d493e948620ea2 100644 (file)
@@ -186,21 +186,18 @@ intel_map_unmap_buffers(struct intel_context *intel, GLboolean map)
    struct intel_renderbuffer *irb;
 
    /* color draw buffers */
-   for (i = 0; i < ctx->Const.MaxDrawBuffers; i++) {
-      for (j = 0; j < ctx->DrawBuffer->_NumColorDrawBuffers[i]; j++) {
-         struct gl_renderbuffer *rb =
-            ctx->DrawBuffer->_ColorDrawBuffers[i][j];
-         irb = intel_renderbuffer(rb);
-         if (irb) {
-            /* this is a user-created intel_renderbuffer */
-            if (irb->region) {
-               if (map)
-                  intel_region_map(intel, irb->region);
-               else
-                  intel_region_unmap(intel, irb->region);
-               irb->pfMap = irb->region->map;
-               irb->pfPitch = irb->region->pitch;
-            }
+   for (j = 0; j < ctx->DrawBuffer->_NumColorDrawBuffers; j++) {
+      struct gl_renderbuffer *rb = ctx->DrawBuffer->_ColorDrawBuffers[j];
+      irb = intel_renderbuffer(rb);
+      if (irb) {
+         /* this is a user-created intel_renderbuffer */
+         if (irb->region) {
+            if (map)
+               intel_region_map(intel, irb->region);
+            else
+               intel_region_unmap(intel, irb->region);
+            irb->pfMap = irb->region->map;
+            irb->pfPitch = irb->region->pitch;
          }
       }
    }
@@ -267,7 +264,7 @@ intel_map_unmap_buffers(struct intel_context *intel, GLboolean map)
    /* depth buffer (Note wrapper!) */
    if (ctx->DrawBuffer->_DepthBuffer) {
       irb = intel_renderbuffer(ctx->DrawBuffer->_DepthBuffer->Wrapped);
-      if (irb && irb->region && irb->Base.Name != 0) {
+      if (irb && irb->region) {
          if (map) {
             intel_region_map(intel, irb->region);
             irb->pfMap = irb->region->map;
@@ -275,8 +272,8 @@ intel_map_unmap_buffers(struct intel_context *intel, GLboolean map)
          }
          else {
             intel_region_unmap(intel, irb->region);
-            irb->pfMap = NULL;
-            irb->pfPitch = 0;
+            irb->pfMap = irb->region->map;
+            irb->pfPitch = irb->region->pitch;
          }
       }
    }
@@ -284,7 +281,7 @@ intel_map_unmap_buffers(struct intel_context *intel, GLboolean map)
    /* stencil buffer (Note wrapper!) */
    if (ctx->DrawBuffer->_StencilBuffer) {
       irb = intel_renderbuffer(ctx->DrawBuffer->_StencilBuffer->Wrapped);
-      if (irb && irb->region && irb->Base.Name != 0) {
+      if (irb && irb->region) {
          if (map) {
             intel_region_map(intel, irb->region);
             irb->pfMap = irb->region->map;
@@ -292,8 +289,8 @@ intel_map_unmap_buffers(struct intel_context *intel, GLboolean map)
          }
          else {
             intel_region_unmap(intel, irb->region);
-            irb->pfMap = NULL;
-            irb->pfPitch = 0;
+            irb->pfMap = irb->region->map;
+            irb->pfPitch = irb->region->pitch;
          }
       }
    }