Mesa (master): i915g: make set_framebuffer_state more robust

Daniel Vetter danvet at kemper.freedesktop.org
Thu Mar 10 22:27:25 UTC 2011


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

Author: Daniel Vetter <daniel.vetter at ffwll.ch>
Date:   Sun Mar  6 11:44:06 2011 +0100

i915g: make set_framebuffer_state more robust

u_blitter is lazy and doesn't fully clear it's stack-allocated fb.

Signed-off-by: Daniel Vetter <daniel.vetter at ffwll.ch>

---

 src/gallium/drivers/i915/i915_state.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/src/gallium/drivers/i915/i915_state.c b/src/gallium/drivers/i915/i915_state.c
index 58bbbd1..a694649 100644
--- a/src/gallium/drivers/i915/i915_state.c
+++ b/src/gallium/drivers/i915/i915_state.c
@@ -642,7 +642,8 @@ static void i915_set_framebuffer_state(struct pipe_context *pipe,
    i915->framebuffer.height = fb->height;
    i915->framebuffer.nr_cbufs = fb->nr_cbufs;
    for (i = 0; i < PIPE_MAX_COLOR_BUFS; i++) {
-      pipe_surface_reference(&i915->framebuffer.cbufs[i], fb->cbufs[i]);
+      pipe_surface_reference(&i915->framebuffer.cbufs[i],
+                             i < fb->nr_cbufs ? fb->cbufs[i] : NULL);
    }
    pipe_surface_reference(&i915->framebuffer.zsbuf, fb->zsbuf);
 




More information about the mesa-commit mailing list