zink: turn off threaded cpu access if not visible.

This turns off the threaded cpu access it the resource isn't visible.

Fixes a bunch of crashes with current nvk.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24548>
(cherry picked from commit ae6be7a44a)
This commit is contained in:
Dave Airlie 2023-08-08 08:32:54 +10:00 committed by Dylan Baker
parent 7ca1c73798
commit a60992ccea
2 changed files with 4 additions and 2 deletions

View file

@ -10054,7 +10054,7 @@
"description": "zink: turn off threaded cpu access if not visible.",
"nominated": true,
"nomination_type": 0,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": null,
"notes": null

View file

@ -1487,8 +1487,10 @@ resource_create(struct pipe_screen *pscreen,
res->swapchain = true;
}
if (!res->obj->host_visible)
if (!res->obj->host_visible) {
res->base.b.flags |= PIPE_RESOURCE_FLAG_DONT_MAP_DIRECTLY;
res->base.allow_cpu_storage = false;
}
if (res->obj->is_buffer) {
res->base.buffer_id_unique = util_idalloc_mt_alloc(&screen->buffer_ids);
_mesa_hash_table_init(&res->bufferview_cache, NULL, NULL, equals_bvci);