zink: limit minSampleShading to a maxium value of 1.0
This is required by the spec and fixes VUID-VkPipelineMultisampleStateCreateInfo-minSampleShading-00786 when running spec@arb_stencil_texturing@glblitframebuffer corrupts state@gl_texture_2d_multisample_array Signed-off-by: Gert Wollny <gert.wollny@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29625>
This commit is contained in:
@@ -137,7 +137,7 @@ zink_create_gfx_pipeline(struct zink_screen *screen,
|
||||
ms_state.minSampleShading = 1.0;
|
||||
} else if (state->min_samples > 0) {
|
||||
ms_state.sampleShadingEnable = VK_TRUE;
|
||||
ms_state.minSampleShading = (float)(state->rast_samples + 1) / (state->min_samples + 1);
|
||||
ms_state.minSampleShading = MIN2((float)(state->rast_samples + 1) / (state->min_samples + 1), 1.0f);
|
||||
}
|
||||
|
||||
VkPipelineViewportStateCreateInfo viewport_state = {0};
|
||||
@@ -515,7 +515,7 @@ zink_create_gfx_pipeline_output(struct zink_screen *screen, struct zink_gfx_pipe
|
||||
ms_state.minSampleShading = 1.0;
|
||||
} else if (state->min_samples > 0) {
|
||||
ms_state.sampleShadingEnable = VK_TRUE;
|
||||
ms_state.minSampleShading = (float)(state->rast_samples + 1) / (state->min_samples + 1);
|
||||
ms_state.minSampleShading = MIN2((float)(state->rast_samples + 1) / (state->min_samples + 1), 1.0f);
|
||||
}
|
||||
|
||||
VkDynamicState dynamicStateEnables[30] = {
|
||||
|
||||
Reference in New Issue
Block a user