diff --git a/.pick_status.json b/.pick_status.json index 9810731617d..e33df5a8f19 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -526,7 +526,7 @@ "description": "vulkan: ignore rasterizationSamples when the state is dynamic", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "1deb83fb86d22227a3553f43873b4d4ff9180214" }, diff --git a/src/vulkan/runtime/vk_graphics_state.c b/src/vulkan/runtime/vk_graphics_state.c index d7257132d40..ad2cb7f4248 100644 --- a/src/vulkan/runtime/vk_graphics_state.c +++ b/src/vulkan/runtime/vk_graphics_state.c @@ -660,8 +660,13 @@ vk_multisample_state_init(struct vk_multisample_state *ms, const BITSET_WORD *dynamic, const VkPipelineMultisampleStateCreateInfo *ms_info) { - assert(ms_info->rasterizationSamples <= MESA_VK_MAX_SAMPLES); - ms->rasterization_samples = ms_info->rasterizationSamples; + if (IS_DYNAMIC(MS_RASTERIZATION_SAMPLES)) { + ms->rasterization_samples = 0; + } else { + assert(ms_info->rasterizationSamples <= MESA_VK_MAX_SAMPLES); + ms->rasterization_samples = ms_info->rasterizationSamples; + } + ms->sample_shading_enable = ms_info->sampleShadingEnable; ms->min_sample_shading = ms_info->minSampleShading;