[Mesa-dev] [PATCH 2/2] svga: fix crash when clearing null color buffer

Brian Paul brianp at vmware.com
Thu Jan 16 13:55:27 PST 2014


Fixes regression since 9baa45f78b8ca7d66280e36009b6a685055d7cd6
but some of the piglit fbo-drawbuffers-none tests still don't
pass.
---
 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..ebdce3b 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_handle *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);
-- 
1.8.3.2



More information about the mesa-dev mailing list