From bd723283f3195cca8acfba6aa3eb880d632918c5 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Fri, 27 Jan 2023 12:52:23 -0500 Subject: [PATCH] Revert "zink: allow direct memory mapping for any COHERENT+CACHED buffer" This reverts commit a3552048c7e7b8afebfc99caac6d555439ddf2bc. on some drivers this catches qbos, which then hits the below assert. needs more investigation Fixes: a3552048c7e ("zink: allow direct memory mapping for any COHERENT+CACHED buffer") Part-of: (cherry picked from commit 07809c45271a25066c583ca90b7365e0d88daf0d) --- .pick_status.json | 2 +- src/gallium/drivers/zink/zink_bo.h | 1 - src/gallium/drivers/zink/zink_resource.c | 4 +--- 3 files changed, 2 insertions(+), 5 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index dfad277..8cb5130 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -4630,7 +4630,7 @@ "description": "Revert \"zink: allow direct memory mapping for any COHERENT+CACHED buffer\"", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "a3552048c7e7b8afebfc99caac6d555439ddf2bc" }, diff --git a/src/gallium/drivers/zink/zink_bo.h b/src/gallium/drivers/zink/zink_bo.h index 42b1fc6..42e5ec2 100644 --- a/src/gallium/drivers/zink/zink_bo.h +++ b/src/gallium/drivers/zink/zink_bo.h @@ -30,7 +30,6 @@ #include "zink_batch.h" #define VK_VIS_VRAM (VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT | VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT) -#define VK_STAGING_RAM (VK_MEMORY_PROPERTY_HOST_COHERENT_BIT | VK_MEMORY_PROPERTY_HOST_CACHED_BIT) #define VK_LAZY_VRAM (VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT | VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT) diff --git a/src/gallium/drivers/zink/zink_resource.c b/src/gallium/drivers/zink/zink_resource.c index eb7bb89..c070ec0 100644 --- a/src/gallium/drivers/zink/zink_resource.c +++ b/src/gallium/drivers/zink/zink_resource.c @@ -1864,9 +1864,7 @@ zink_buffer_map(struct pipe_context *pctx, goto success; usage |= PIPE_MAP_UNSYNCHRONIZED; } else if (!(usage & PIPE_MAP_UNSYNCHRONIZED) && - (((usage & PIPE_MAP_READ) && !(usage & PIPE_MAP_PERSISTENT) && - ((screen->info.mem_props.memoryTypes[res->obj->bo->base.placement].propertyFlags & VK_STAGING_RAM) != VK_STAGING_RAM)) || - !res->obj->host_visible)) { + (((usage & PIPE_MAP_READ) && !(usage & PIPE_MAP_PERSISTENT) && res->base.b.usage != PIPE_USAGE_STAGING) || !res->obj->host_visible)) { assert(!(usage & (TC_TRANSFER_MAP_THREADED_UNSYNC | PIPE_MAP_THREAD_SAFE))); if (!res->obj->host_visible || !(usage & PIPE_MAP_ONCE)) { overwrite: -- 2.7.4