zink: force display-targets to be linear

This is close to a revert of commit
b5b25ee032, but it limits the scope a bit
to avoid needless performance degregation.

In the long run, we should really allow using tiled resources here, and
instead detile while presenting.

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8115>
This commit is contained in:
Erik Faye-Lund 2020-12-15 19:51:29 +01:00 committed by Marge Bot
parent 87d7568d69
commit 1fd5e7b14e
1 changed files with 3 additions and 1 deletions

View File

@ -203,8 +203,10 @@ resource_create(struct pipe_screen *pscreen,
templ->target == PIPE_TEXTURE_CUBE_ARRAY)
ici.arrayLayers *= 6;
if (templ->bind & PIPE_BIND_SHARED)
if (templ->bind & (PIPE_BIND_DISPLAY_TARGET |
PIPE_BIND_SHARED)) {
ici.tiling = VK_IMAGE_TILING_LINEAR;
}
if (templ->usage == PIPE_USAGE_STAGING)
ici.tiling = VK_IMAGE_TILING_LINEAR;