Mesa (master): intel: Fix more issues with the combined depth-stencil attachment

Ian Romanick idr at kemper.freedesktop.org
Fri Apr 24 23:39:18 UTC 2009


Module: Mesa
Branch: master
Commit: 022319b92ccd2f3bfc4aca54ebc7e39aeddd8b21
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=022319b92ccd2f3bfc4aca54ebc7e39aeddd8b21

Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Fri Apr 24 16:39:00 2009 -0700

intel: Fix more issues with the combined depth-stencil attachment

---

 src/mesa/drivers/dri/intel/intel_context.c |   19 +++++++++++++------
 1 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/src/mesa/drivers/dri/intel/intel_context.c b/src/mesa/drivers/dri/intel/intel_context.c
index 8446032..eb224a8 100644
--- a/src/mesa/drivers/dri/intel/intel_context.c
+++ b/src/mesa/drivers/dri/intel/intel_context.c
@@ -361,13 +361,20 @@ intel_update_renderbuffers(__DRIcontext *context, __DRIdrawable *drawable)
        intel_region_release(&region);
 
        if (buffers[i].attachment == __DRI_BUFFER_DEPTH_STENCIL) {
-	  struct intel_region *stencil_region = NULL;
-
-	  intel_region_reference(&stencil_region, region);
-
 	  rb = intel_get_renderbuffer(&intel_fb->Base, BUFFER_STENCIL);
-	  intel_renderbuffer_set_region(rb, stencil_region);
-	  intel_region_release(&stencil_region);
+	  if (rb != NULL) {
+	     struct intel_region *stencil_region = NULL;
+
+	     if (rb->region) {
+		dri_bo_flink(rb->region->buffer, &name);
+		if (name == buffers[i].name)
+		   continue;
+	     }
+
+	     intel_region_reference(&stencil_region, region);
+	     intel_renderbuffer_set_region(rb, stencil_region);
+	     intel_region_release(&stencil_region);
+	  }
        }
    }
 




More information about the mesa-commit mailing list