diff --git a/.pick_status.json b/.pick_status.json index 7ebe3a10b13..25c0059d26d 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -1435,7 +1435,7 @@ "description": "lavapipe: more fixes for sample shading", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "cc9e958053183a9507e40be02cd7decfef1c45d0" }, diff --git a/src/gallium/frontends/lavapipe/lvp_execute.c b/src/gallium/frontends/lavapipe/lvp_execute.c index 8eb1bc6384c..ce5038a642d 100644 --- a/src/gallium/frontends/lavapipe/lvp_execute.c +++ b/src/gallium/frontends/lavapipe/lvp_execute.c @@ -1022,6 +1022,7 @@ static void handle_graphics_pipeline(struct vk_cmd_queue_entry *cmd, state->force_min_sample = pipeline->force_min_sample; state->sample_shading = ps->ms->sample_shading_enable; state->min_sample_shading = ps->ms->min_sample_shading; + state->min_samples_dirty = true; state->blend_dirty = true; if (!BITSET_TEST(ps->dynamic, MESA_VK_DYNAMIC_MS_RASTERIZATION_SAMPLES)) update_samples(state, ps->ms->rasterization_samples); @@ -1034,7 +1035,7 @@ static void handle_graphics_pipeline(struct vk_cmd_queue_entry *cmd, if (!BITSET_TEST(ps->dynamic, MESA_VK_DYNAMIC_MS_SAMPLE_MASK)) { state->sample_mask_dirty = state->sample_mask != 0xffffffff; state->sample_mask = 0xffffffff; - state->min_samples_dirty = state->min_samples; + state->min_samples_dirty = !!state->min_samples; state->min_samples = 0; } state->blend_dirty |= state->blend_state.alpha_to_coverage || state->blend_state.alpha_to_one;