diff --git a/src/gallium/drivers/zink/zink_screen.c b/src/gallium/drivers/zink/zink_screen.c index 8cd0d804209..20c01d37c9c 100644 --- a/src/gallium/drivers/zink/zink_screen.c +++ b/src/gallium/drivers/zink/zink_screen.c @@ -879,8 +879,9 @@ zink_is_format_supported(struct pipe_screen *pscreen, !(props.optimalTilingFeatures & VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT)) return false; - if (bind & PIPE_BIND_SAMPLER_REDUCTION_MINMAX) - return props.optimalTilingFeatures & VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT; + if (bind & PIPE_BIND_SAMPLER_REDUCTION_MINMAX && + !(props.optimalTilingFeatures & VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT)) + return false; if ((bind & PIPE_BIND_SAMPLER_VIEW) || (bind & PIPE_BIND_RENDER_TARGET)) { /* if this is a 3-component texture, force gallium to give us 4 components by rejecting this one */