Mesa (master): svga: fix crash when clearing null color buffer
Brian Paul
brianp at kemper.freedesktop.org
Fri Jan 17 17:22:20 UTC 2014
Module: Mesa
Branch: master
Commit: 3618ac4f202138079024ea6ed2cf7e2ef5463066
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3618ac4f202138079024ea6ed2cf7e2ef5463066
Author: Brian Paul <brianp at vmware.com>
Date: Thu Jan 16 13:53:27 2014 -0800
svga: fix crash when clearing null color buffer
Fixes regression since 9baa45f78b8ca7d66280e36009b6a685055d7cd6
but some of the piglit fbo-drawbuffers-none tests still don't
pass.
v2: use the right pointer type for 'h'
Reviewed-by: José Fonseca <jfonseca at vmware.com>
---
src/gallium/drivers/svga/svga_pipe_clear.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/src/gallium/drivers/svga/svga_pipe_clear.c b/src/gallium/drivers/svga/svga_pipe_clear.c
index 47f6258..5deebb2 100644
--- a/src/gallium/drivers/svga/svga_pipe_clear.c
+++ b/src/gallium/drivers/svga/svga_pipe_clear.c
@@ -111,9 +111,13 @@ svga_clear(struct pipe_context *pipe, unsigned buffers,
struct svga_context *svga = svga_context( pipe );
enum pipe_error ret;
- if (buffers & PIPE_CLEAR_COLOR)
- SVGA_DBG(DEBUG_DMA, "clear sid %p\n",
- svga_surface(svga->curr.framebuffer.cbufs[0])->handle);
+ if (buffers & PIPE_CLEAR_COLOR) {
+ struct svga_winsys_surface *h = NULL;
+ if (svga->curr.framebuffer.cbufs[0]) {
+ h = svga_surface(svga->curr.framebuffer.cbufs[0])->handle;
+ }
+ SVGA_DBG(DEBUG_DMA, "clear sid %p\n", h);
+ }
/* flush any queued prims (don't want them to appear after the clear!) */
svga_hwtnl_flush_retry(svga);
More information about the mesa-commit
mailing list