[Mesa-dev] [PATCH 3/7] gallium/util: easy fixes for NULL colorbuffers

Marek Olšák maraeo at gmail.com
Wed Jan 8 09:23:16 PST 2014


From: Marek Olšák <marek.olsak at amd.com>

---
 src/gallium/auxiliary/util/u_clear.h       | 4 ++++
 src/gallium/auxiliary/util/u_framebuffer.c | 3 +++
 2 files changed, 7 insertions(+)

diff --git a/src/gallium/auxiliary/util/u_clear.h b/src/gallium/auxiliary/util/u_clear.h
index 75047c1..db0b9b3 100644
--- a/src/gallium/auxiliary/util/u_clear.h
+++ b/src/gallium/auxiliary/util/u_clear.h
@@ -47,6 +47,10 @@ util_clear(struct pipe_context *pipe,
    for (i = 0; i < framebuffer->nr_cbufs; i++) {
       if (buffers & (PIPE_CLEAR_COLOR0 << i)) {
          struct pipe_surface *ps = framebuffer->cbufs[i];
+
+         if (!ps)
+            continue;
+
          pipe->clear_render_target(pipe, ps, color, 0, 0, ps->width, ps->height);
       }
    }
diff --git a/src/gallium/auxiliary/util/u_framebuffer.c b/src/gallium/auxiliary/util/u_framebuffer.c
index 377b802..2e0ef74 100644
--- a/src/gallium/auxiliary/util/u_framebuffer.c
+++ b/src/gallium/auxiliary/util/u_framebuffer.c
@@ -127,6 +127,9 @@ util_framebuffer_min_size(const struct pipe_framebuffer_state *fb,
    unsigned i;
 
    for (i = 0; i < fb->nr_cbufs; i++) {
+      if (!fb->cbufs[i])
+         continue;
+
       w = MIN2(w, fb->cbufs[i]->width);
       h = MIN2(h, fb->cbufs[i]->height);
    }
-- 
1.8.3.2



More information about the mesa-dev mailing list