[Mesa-dev] [PATCH 4/6] intel: Fix intel_framebuffer_map/unamp to use intel_get_renderbuffer()

Chad Versace chad at chad-versace.us
Wed Jun 15 18:09:10 PDT 2011


If Attachment[X] was a wrapper (s8_z24) around separate depth (x8_z24) and
stencil (s8) buffers, then intel_renderbuffer_map was passed the wrapper
instead of the real renderbuffer. This was no good; the wrapper has no
intel_region.

Using intel_get_renderbuffer() ensures that we map the real renderbuffer.

Signed-off-by: Chad Versace <chad at chad-versace.us>
---
 src/mesa/drivers/dri/intel/intel_span.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/mesa/drivers/dri/intel/intel_span.c b/src/mesa/drivers/dri/intel/intel_span.c
index fdf687a..9e49b35 100644
--- a/src/mesa/drivers/dri/intel/intel_span.c
+++ b/src/mesa/drivers/dri/intel/intel_span.c
@@ -223,7 +223,8 @@ intel_framebuffer_map(struct intel_context *intel, struct gl_framebuffer *fb)
    int i;
 
    for (i = 0; i < BUFFER_COUNT; i++) {
-      intel_renderbuffer_map(intel, fb->Attachment[i].Renderbuffer);
+      struct intel_renderbuffer *irb = intel_get_renderbuffer(fb, i);
+      intel_renderbuffer_map(intel, &irb->Base);
    }
 
    intel_check_front_buffer_rendering(intel);
@@ -235,7 +236,8 @@ intel_framebuffer_unmap(struct intel_context *intel, struct gl_framebuffer *fb)
    int i;
 
    for (i = 0; i < BUFFER_COUNT; i++) {
-      intel_renderbuffer_unmap(intel, fb->Attachment[i].Renderbuffer);
+      struct intel_renderbuffer *irb = intel_get_renderbuffer(fb, i);
+      intel_renderbuffer_unmap(intel, &irb->Base);
    }
 }
 
-- 
1.7.5.2



More information about the mesa-dev mailing list