6790397346cc added code which attempts to reject modifiers on
depth/stencil formats but it was placed after the early return for depth
and stencil aspects. This commit moves it up so it actually works.
Of course, this doesn't actually matter because the only user of any of
the modifiers stuff is the WSI code and it will never do anything with
depth/stencil.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3794>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3794>
if (aspect & (VK_IMAGE_ASPECT_DEPTH_BIT | VK_IMAGE_ASPECT_STENCIL_BIT)) {
assert(vk_format_aspects(vk_format) &
(VK_IMAGE_ASPECT_DEPTH_BIT | VK_IMAGE_ASPECT_STENCIL_BIT));
+
+ /* There's no reason why we strictly can't support depth or stencil with
+ * modifiers but there's also no reason why we should.
+ */
+ if (tiling == VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT)
+ return unsupported;
+
return plane_format;
}
if (!util_is_power_of_two_or_zero(isl_layout->bpb))
return unsupported;
- if (vk_format_is_depth_or_stencil(vk_format))
- return unsupported;
-
if (isl_format_is_compressed(plane_format.isl_format))
return unsupported;
}