panvk: report minmax-support for sampled formats

We also need to report minmax as part of the format-features.

This fixes the following CTS tests for me:
- dEQP-VK.api.info.format_properties.r8_unorm
- dEQP-VK.api.info.format_properties.r8_snorm
- dEQP-VK.api.info.format_properties.r16_sfloat
- dEQP-VK.api.info.format_properties.r32_sfloat
- dEQP-VK.api.info.format_properties.d16_unorm

Fixes: 1fc454673a ("panvk: Implement VK_EXT_sampler_filter_minmax for v10")
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32445>
This commit is contained in:
Erik Faye-Lund 2024-12-02 22:24:59 +01:00 committed by Marge Bot
parent 0812a8bccc
commit 7b8f5b0881

View file

@ -1091,6 +1091,7 @@ get_format_properties(struct panvk_physical_device *physical_device,
{
VkFormatFeatureFlags tex = 0, buffer = 0;
enum pipe_format pfmt = vk_format_to_pipe_format(format);
unsigned arch = pan_arch(physical_device->kmod.props.gpu_prod_id);
if (pfmt == PIPE_FORMAT_NONE)
goto end;
@ -1117,6 +1118,9 @@ get_format_properties(struct panvk_physical_device *physical_device,
VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT |
VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT;
if (arch >= 10)
tex |= VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT;
/* Integer formats only support nearest filtering */
if (!util_format_is_scaled(pfmt) && !util_format_is_pure_integer(pfmt))
tex |= VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT;