blend can be NULL, so check for that

Signed-off-by: Jonathan Marek <jonat...@marek.ca>
---
 src/gallium/drivers/freedreno/a2xx/fd2_emit.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/gallium/drivers/freedreno/a2xx/fd2_emit.c 
b/src/gallium/drivers/freedreno/a2xx/fd2_emit.c
index 4bf41b2c67..dcf7ed10b5 100644
--- a/src/gallium/drivers/freedreno/a2xx/fd2_emit.c
+++ b/src/gallium/drivers/freedreno/a2xx/fd2_emit.c
@@ -295,7 +295,7 @@ fd2_emit_state(struct fd_context *ctx, const enum 
fd_dirty_3d_state dirty)
        if (dirty & (FD_DIRTY_BLEND | FD_DIRTY_ZSA)) {
                OUT_PKT3(ring, CP_SET_CONSTANT, 2);
                OUT_RING(ring, CP_REG(REG_A2XX_RB_COLORCONTROL));
-               OUT_RING(ring, zsa->rb_colorcontrol | blend->rb_colorcontrol);
+               OUT_RING(ring, blend ? zsa->rb_colorcontrol | 
blend->rb_colorcontrol : 0);
        }
 
        if (dirty & (FD_DIRTY_BLEND | FD_DIRTY_FRAMEBUFFER)) {
@@ -305,13 +305,13 @@ fd2_emit_state(struct fd_context *ctx, const enum 
fd_dirty_3d_state dirty)
 
                OUT_PKT3(ring, CP_SET_CONSTANT, 2);
                OUT_RING(ring, CP_REG(REG_A2XX_RB_BLEND_CONTROL));
-               OUT_RING(ring, blend->rb_blendcontrol_alpha |
+               OUT_RING(ring, blend ? blend->rb_blendcontrol_alpha |
                        COND(has_alpha, blend->rb_blendcontrol_rgb) |
-                       COND(!has_alpha, blend->rb_blendcontrol_no_alpha_rgb));
+                       COND(!has_alpha, blend->rb_blendcontrol_no_alpha_rgb) : 
0);
 
                OUT_PKT3(ring, CP_SET_CONSTANT, 2);
                OUT_RING(ring, CP_REG(REG_A2XX_RB_COLOR_MASK));
-               OUT_RING(ring, blend->rb_colormask);
+               OUT_RING(ring, blend ? blend->rb_colormask : 0xf);
        }
 
        if (dirty & FD_DIRTY_BLEND_COLOR) {
-- 
2.17.1

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to