From 3618ac4f202138079024ea6ed2cf7e2ef5463066 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 16 Jan 2014 13:53:27 -0800 Subject: svga: fix crash when clearing null color buffer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- src/gallium/drivers/svga/svga_pipe_clear.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src/gallium/drivers/svga') diff --git a/src/gallium/drivers/svga/svga_pipe_clear.c b/src/gallium/drivers/svga/svga_pipe_clear.c index 47f62583026..5deebb2bc9f 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); -- cgit v1.2.3