mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-10 19:00:13 +01:00
zink: always set VkPipelineMultisampleStateCreateInfo::pSampleMask
by initializing this on context creation, we can ensure that the correct
value is always here
cc: mesa-stable
fixes:
dEQP-GLES31.functional.texture.multisample.samples_1.sample_mask_and_alpha_to_coverage
dEQP-GLES31.functional.texture.multisample.samples_1.sample_mask_and_sample_coverage
dEQP-GLES31.functional.texture.multisample.samples_1.sample_mask_and_sample_coverage_and_alpha_to_coverage
dEQP-GLES31.functional.texture.multisample.samples_1.sample_mask_only
dEQP-GLES31.functional.texture.multisample.samples_2.sample_mask_and_alpha_to_coverage
dEQP-GLES31.functional.texture.multisample.samples_2.sample_mask_and_sample_coverage
dEQP-GLES31.functional.texture.multisample.samples_2.sample_mask_and_sample_coverage_and_alpha_to_coverage
dEQP-GLES31.functional.texture.multisample.samples_2.sample_mask_only
dEQP-GLES31.functional.texture.multisample.samples_3.sample_mask_and_alpha_to_coverage
dEQP-GLES31.functional.texture.multisample.samples_3.sample_mask_and_sample_coverage
dEQP-GLES31.functional.texture.multisample.samples_3.sample_mask_and_sample_coverage_and_alpha_to_coverage
dEQP-GLES31.functional.texture.multisample.samples_3.sample_mask_only
dEQP-GLES31.functional.texture.multisample.samples_4.sample_mask_and_alpha_to_coverage
dEQP-GLES31.functional.texture.multisample.samples_4.sample_mask_and_sample_coverage
dEQP-GLES31.functional.texture.multisample.samples_4.sample_mask_and_sample_coverage_and_alpha_to_coverage
dEQP-GLES31.functional.texture.multisample.samples_4.sample_mask_only
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14974>
(cherry picked from commit 8ff96efcfd)
This commit is contained in:
parent
146135feb6
commit
f4119bc259
4 changed files with 9 additions and 8 deletions
|
|
@ -3640,7 +3640,7 @@
|
|||
"description": "zink: always set VkPipelineMultisampleStateCreateInfo::pSampleMask",
|
||||
"nominated": true,
|
||||
"nomination_type": 0,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": null
|
||||
},
|
||||
|
|
|
|||
|
|
@ -16,10 +16,6 @@ dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_reverse_dst_x,Fail
|
|||
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_reverse_src_dst_x,Fail
|
||||
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_reverse_src_dst_y,Fail
|
||||
dEQP-GLES3.functional.fbo.blit.rect.nearest_consistency_min_reverse_src_x,Fail
|
||||
dEQP-GLES3.functional.multisample.fbo_4_samples.proportionality_sample_coverage,Fail
|
||||
dEQP-GLES3.functional.multisample.fbo_4_samples.sample_coverage_invert,Fail
|
||||
dEQP-GLES3.functional.multisample.fbo_max_samples.proportionality_sample_coverage,Fail
|
||||
dEQP-GLES3.functional.multisample.fbo_max_samples.sample_coverage_invert,Fail
|
||||
KHR-GL32.transform_feedback.capture_geometry_separate_test,Fail
|
||||
KHR-GL32.transform_feedback.capture_vertex_interleaved_test,Fail
|
||||
KHR-GL32.transform_feedback.capture_vertex_separate_test,Fail
|
||||
|
|
@ -436,8 +432,6 @@ spec@ext_framebuffer_multisample@interpolation 4 centroid-disabled,Fail
|
|||
spec@ext_framebuffer_multisample@interpolation 4 centroid-edges,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 4 non-centroid-deriv-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@interpolation 4 non-centroid-disabled,Fail
|
||||
spec@ext_framebuffer_multisample@sample-coverage 2 non-inverted,Fail
|
||||
spec@ext_framebuffer_multisample@sample-coverage 4 non-inverted,Fail
|
||||
spec@ext_framebuffer_object@fbo-blending-formats,Fail
|
||||
spec@ext_framebuffer_object@fbo-blending-formats@GL_INTENSITY,Fail
|
||||
spec@ext_framebuffer_object@fbo-blending-formats@GL_INTENSITY12,Fail
|
||||
|
|
|
|||
|
|
@ -4067,6 +4067,7 @@ zink_context_create(struct pipe_screen *pscreen, void *priv, unsigned flags)
|
|||
ctx->base.set_patch_vertices = zink_set_patch_vertices;
|
||||
|
||||
ctx->base.set_sample_mask = zink_set_sample_mask;
|
||||
ctx->gfx_pipeline_state.sample_mask = UINT32_MAX;
|
||||
|
||||
ctx->base.clear = zink_clear;
|
||||
ctx->base.clear_texture = zink_clear_texture;
|
||||
|
|
|
|||
|
|
@ -124,7 +124,13 @@ zink_create_gfx_pipeline(struct zink_screen *screen,
|
|||
warn_missing_feature("alphaToOne");
|
||||
ms_state.alphaToOneEnable = state->blend_state->alpha_to_one;
|
||||
}
|
||||
ms_state.pSampleMask = state->sample_mask ? &state->sample_mask : NULL;
|
||||
/* "If pSampleMask is NULL, it is treated as if the mask has all bits set to 1."
|
||||
* - Chapter 27. Rasterization
|
||||
*
|
||||
* thus it never makes sense to leave this as NULL since gallium will provide correct
|
||||
* data here as long as sample_mask is initialized on context creation
|
||||
*/
|
||||
ms_state.pSampleMask = &state->sample_mask;
|
||||
if (hw_rast_state->force_persample_interp) {
|
||||
ms_state.sampleShadingEnable = VK_TRUE;
|
||||
ms_state.minSampleShading = 1.0;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue