summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMarek Olšák <marek.olsak@amd.com>2014-01-08 01:07:20 +0100
committerMarek Olšák <marek.olsak@amd.com>2014-01-13 15:48:08 +0100
commit9677cfab323ef0a24b40711895333685c63258ac (patch)
tree70857cb6bb3959e28ec29bc89fb35d0c82556d27 /src
parent9baa45f78b8ca7d66280e36009b6a685055d7cd6 (diff)
gallium/util: easy fixes for NULL colorbuffers
Reviewed-by: Brian Paul <brianp@vmware.com>
Diffstat (limited to 'src')
-rw-r--r--src/gallium/auxiliary/util/u_clear.h5
-rw-r--r--src/gallium/auxiliary/util/u_framebuffer.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/src/gallium/auxiliary/util/u_clear.h b/src/gallium/auxiliary/util/u_clear.h
index 75047c16b93..bd8efdb4ad2 100644
--- a/src/gallium/auxiliary/util/u_clear.h
+++ b/src/gallium/auxiliary/util/u_clear.h
@@ -47,7 +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];
- pipe->clear_render_target(pipe, ps, color, 0, 0, ps->width, ps->height);
+
+ if (ps) {
+ 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 377b802b62a..2e0ef749e82 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);
}