From 80c70966728f843f0fffe9236fa1b04205d44160 Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Fri, 27 Jul 2018 16:02:09 -0700 Subject: [PATCH] iris: fix sample mask 0xffffffff does not mean 1, it means enable as many as there actually are. we don't get set_sample_mask() calls until some masking is actually applied...i.e. it doesn't get updated based on # of samples in the FBO changing. --- src/gallium/drivers/iris/iris_state.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/iris/iris_state.c b/src/gallium/drivers/iris/iris_state.c index fb089664147..afe95d4f6fe 100644 --- a/src/gallium/drivers/iris/iris_state.c +++ b/src/gallium/drivers/iris/iris_state.c @@ -1208,7 +1208,7 @@ iris_set_sample_mask(struct pipe_context *ctx, unsigned sample_mask) { struct iris_context *ice = (struct iris_context *) ctx; - ice->state.sample_mask = sample_mask == 0xffffffff ? 1 : sample_mask; + ice->state.sample_mask = sample_mask & 0xffff; ice->state.dirty |= IRIS_DIRTY_SAMPLE_MASK; } @@ -3882,6 +3882,7 @@ genX(init_state)(struct iris_context *ice) ice->state.dirty = ~0ull; + ice->state.sample_mask = 0xffff; ice->state.num_viewports = 1; ice->state.genx = calloc(1, sizeof(struct iris_genx_state)); -- 2.30.2