From 4db9ad98939711e5c00e9ffb196614fcd9a98ad8 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 18 Sep 2017 12:58:05 -0700 Subject: [PATCH] broadcom/vc4: Fix crashes since the gallium blitter reworks. Even if we're not clearing color, the blitter has started dereferencing the color value. --- src/gallium/drivers/vc4/vc4_draw.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/vc4/vc4_draw.c b/src/gallium/drivers/vc4/vc4_draw.c index fdf983dae7f..da748cdc14d 100644 --- a/src/gallium/drivers/vc4/vc4_draw.c +++ b/src/gallium/drivers/vc4/vc4_draw.c @@ -517,6 +517,8 @@ vc4_clear(struct pipe_context *pctx, unsigned buffers, zsclear == PIPE_CLEAR_STENCIL) && (rsc->initialized_buffers & ~(zsclear | job->cleared)) && util_format_is_depth_and_stencil(vc4->framebuffer.zsbuf->format)) { + static const union pipe_color_union dummy_color = {}; + perf_debug("Partial clear of Z+stencil buffer, " "drawing a quad instead of fast clearing\n"); vc4_blitter_save(vc4); @@ -525,7 +527,7 @@ vc4_clear(struct pipe_context *pctx, unsigned buffers, vc4->framebuffer.height, 1, zsclear, - NULL, depth, stencil); + &dummy_color, depth, stencil); buffers &= ~zsclear; if (!buffers) return; -- 2.30.2