zink: use maint6 for multi-layer compressed surface creation

this should speed up multi-layer copying

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26953>
This commit is contained in:
Mike Blumenkrantz 2024-01-09 09:03:52 -05:00 committed by Marge Bot
parent 33282e7504
commit 8929257352

View file

@ -304,8 +304,11 @@ zink_create_surface(struct pipe_context *pctx,
If image was created with the VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT flag and
format is a non-compressed format, the levelCount and layerCount members of
subresourceRange must both be 1
...but this is allowed with a maintenance6 property
*/
if (util_format_is_compressed(pres->format) && templ->u.tex.first_layer != templ->u.tex.last_layer)
if (util_format_is_compressed(pres->format) && templ->u.tex.first_layer != templ->u.tex.last_layer &&
(!screen->info.have_KHR_maintenance6 || !screen->info.maint6_props.blockTexelViewCompatibleMultipleLayers))
return NULL;
}