anv: fix sampler hashing in set layouts

The logic needs to handle embedded samplers without conversion state.

Fixes vkd3d-proton's test_sampler_border_color

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35679>
This commit is contained in:
Lionel Landwerlin
2025-06-18 09:18:19 +03:00
committed by Marge Bot
parent 32b53a7c6a
commit 786bace191

View File

@@ -1036,13 +1036,11 @@ sha1_update_immutable_sampler(struct mesa_sha1 *ctx,
bool embedded_sampler,
const struct anv_sampler *sampler)
{
if (!sampler->vk.ycbcr_conversion)
return;
/* Hash the conversion if any as this affect placement of descriptors in
* the set due to the number of planes.
/* Hash the conversion if any as this affect shader compilation due to NIR
* lowering.
*/
SHA1_UPDATE_VALUE(ctx, sampler->vk.ycbcr_conversion->state);
if (sampler->vk.ycbcr_conversion)
SHA1_UPDATE_VALUE(ctx, sampler->vk.ycbcr_conversion->state);
/* For embedded samplers, we need to hash the sampler parameters as the
* sampler handle is baked into the shader and this ultimately is part of