a2xx: only update rasterizer settings when they're there
authorIlia Mirkin <imirkin@alum.mit.edu>
Tue, 15 Aug 2017 05:38:17 +0000 (01:38 -0400)
committerIlia Mirkin <imirkin@alum.mit.edu>
Wed, 16 Aug 2017 02:54:40 +0000 (22:54 -0400)
The rasterizer being empty can happen e.g. during clears

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
src/gallium/drivers/freedreno/a2xx/fd2_emit.c

index d745e44..50eee63 100644 (file)
@@ -217,7 +217,7 @@ fd2_emit_state(struct fd_context *ctx, const enum fd_dirty_3d_state dirty)
                OUT_RING(ring, zsa->rb_alpha_ref);
        }
 
-       if (dirty & (FD_DIRTY_RASTERIZER | FD_DIRTY_FRAMEBUFFER)) {
+       if (ctx->rasterizer && dirty & FD_DIRTY_RASTERIZER) {
                struct fd2_rasterizer_stateobj *rasterizer =
                                fd2_rasterizer_stateobj(ctx->rasterizer);
                OUT_PKT3(ring, CP_SET_CONSTANT, 3);