Module: Mesa
Branch: staging/23.0
Commit: 9c00c2d9ff40011d26eefb702adebda66b2fbb70
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=9c00c2d9ff40011d26eefb702adebda66b2fbb70

Author: Mike Blumenkrantz <[email protected]>
Date:   Tue Jan 31 16:46:51 2023 -0500

zink: fix zink_mem_type_idx_from_bits()

at some point this used to work, but it no longer does what it's supposed
to do, which is return a memtype from a heap+flags

Fixes: d702a503ad5 ("zink: support multiple heaps per memory type")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21025>
(cherry picked from commit d23b3a13943576bbb8dd0fea12ac717c40b376e1)

---

 .pick_status.json                  | 2 +-
 src/gallium/drivers/zink/zink_bo.h | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/.pick_status.json b/.pick_status.json
index ee56d6a052f..3082ddbddbf 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -184,7 +184,7 @@
         "description": "zink: fix zink_mem_type_idx_from_bits()",
         "nominated": true,
         "nomination_type": 1,
-        "resolution": 0,
+        "resolution": 1,
         "main_sha": null,
         "because_sha": "d702a503ad5cc8ca8fddb304a9343490beaf592d"
     },
diff --git a/src/gallium/drivers/zink/zink_bo.h 
b/src/gallium/drivers/zink/zink_bo.h
index 42e5ec22563..46770427f77 100644
--- a/src/gallium/drivers/zink/zink_bo.h
+++ b/src/gallium/drivers/zink/zink_bo.h
@@ -96,7 +96,7 @@ static inline unsigned
 zink_mem_type_idx_from_bits(struct zink_screen *screen, enum zink_heap heap, 
uint32_t bits)
 {
    for (unsigned i = 0; i < screen->heap_count[heap]; i++) {
-      if (bits & BITFIELD_BIT(screen->heap_map[heap][i])) {
+      if (bits & 
screen->info.mem_props.memoryTypes[screen->heap_map[heap][i]].propertyFlags) {
          return screen->heap_map[heap][i];
       }
    }

Reply via email to