nvk: Hash minSampleShading in nvk_hash_graphics_state()

We put minSampleShading in the nvk_shader and [de]serialize that to/from
the binary so it also needs to go in the hash.  We could also plumb the
pipeline state through to the deserialize callback but that's quite a
stretch and this literally only affects minSampleShading which is a
rarely used feature.

Fixes: 813b253939 ("nvk: Switch to shader objects")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30914>
This commit is contained in:
Faith Ekstrand
2024-08-28 20:18:08 -05:00
committed by Marge Bot
parent 5b69215ec2
commit 5f402f3aae
2 changed files with 9 additions and 8 deletions

View File

@@ -258,15 +258,7 @@ dEQP-VK.fragment_shading_barycentric.pipeline_library.data.shader_combos.with_te
dEQP-VK.fragment_shading_barycentric.pipeline_library.data.shader_combos.with_tess_shader.type.vec3,Fail
dEQP-VK.fragment_shading_barycentric.pipeline_library.data.shader_combos.with_tess_shader.type.vec4,Fail
dEQP-VK.pipeline.fast_linked_library.extended_dynamic_state.misc.dynamic_sample_shading_static_1_dynamic_2,Fail
dEQP-VK.pipeline.fast_linked_library.extended_dynamic_state.misc.dynamic_sample_shading_static_1_dynamic_4,Fail
dEQP-VK.pipeline.fast_linked_library.extended_dynamic_state.misc.dynamic_sample_shading_static_1_dynamic_8,Fail
dEQP-VK.pipeline.fast_linked_library.extended_dynamic_state.misc.dynamic_sample_shading_static_2_dynamic_4,Fail
dEQP-VK.pipeline.fast_linked_library.extended_dynamic_state.misc.dynamic_sample_shading_static_2_dynamic_8,Fail
dEQP-VK.pipeline.fast_linked_library.pipeline_cache.robustness2.storage,Fail
dEQP-VK.pipeline.pipeline_library.extended_dynamic_state.misc.dynamic_sample_shading_static_1_dynamic_2,Fail
dEQP-VK.pipeline.pipeline_library.extended_dynamic_state.misc.dynamic_sample_shading_static_1_dynamic_4,Fail
dEQP-VK.pipeline.pipeline_library.extended_dynamic_state.misc.dynamic_sample_shading_static_1_dynamic_8,Fail
dEQP-VK.pipeline.pipeline_library.pipeline_cache.robustness2.storage,Fail
dEQP-VK.pipeline.shader_object_linked_binary.pipeline_cache.robustness2.storage,Fail
dEQP-VK.pipeline.shader_object_linked_spirv.pipeline_cache.robustness2.storage,Fail

View File

@@ -255,6 +255,15 @@ nvk_hash_graphics_state(struct vk_physical_device *device,
const bool is_multiview = state->rp->view_mask != 0;
_mesa_blake3_update(&blake3_ctx, &is_multiview, sizeof(is_multiview));
/* This doesn't impact the shader compile but it does go in the
* nvk_shader and gets [de]serialized along with the binary so we
* need to hash it.
*/
if (state->ms && state->ms->sample_shading_enable) {
_mesa_blake3_update(&blake3_ctx, &state->ms->min_sample_shading,
sizeof(state->ms->min_sample_shading));
}
}
_mesa_blake3_final(&blake3_ctx, blake3_out);
}