Module: Mesa
Branch: master
Commit: 6a3e3402888c8da9d1ad621a9ce3088a81e77995
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=6a3e3402888c8da9d1ad621a9ce3088a81e77995

Author: Mike Blumenkrantz <[email protected]>
Date:   Mon Sep 28 10:50:23 2020 -0400

zink: store total memory size on zink_screen

need this for oom handling

Reviewed-by: Erik Faye-Lund <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9274>

---

 src/gallium/drivers/zink/zink_screen.c | 8 +++++---
 src/gallium/drivers/zink/zink_screen.h | 2 ++
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/gallium/drivers/zink/zink_screen.c 
b/src/gallium/drivers/zink/zink_screen.c
index 7624c828ab1..0f76be28069 100644
--- a/src/gallium/drivers/zink/zink_screen.c
+++ b/src/gallium/drivers/zink/zink_screen.c
@@ -82,7 +82,7 @@ zink_get_name(struct pipe_screen *pscreen)
    return buf;
 }
 
-static int
+static VkDeviceSize
 get_video_mem(struct zink_screen *screen)
 {
    VkDeviceSize size = 0;
@@ -91,7 +91,7 @@ get_video_mem(struct zink_screen *screen)
           VK_MEMORY_HEAP_DEVICE_LOCAL_BIT)
          size += screen->info.mem_props.memoryHeaps[i].size;
    }
-   return (int)(size >> 20);
+   return size;
 }
 
 static void
@@ -401,7 +401,7 @@ zink_get_param(struct pipe_screen *pscreen, enum pipe_cap 
param)
    case PIPE_CAP_ACCELERATED:
       return 1;
    case PIPE_CAP_VIDEO_MEMORY:
-      return get_video_mem(screen);
+      return get_video_mem(screen) >> 20;
    case PIPE_CAP_UMA:
       return screen->info.props.deviceType == 
VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU;
 
@@ -1330,6 +1330,8 @@ zink_internal_create_screen(const struct 
pipe_screen_config *config)
       screen->driconf.dual_color_blend_by_location = 
driQueryOptionb(config->options, "dual_color_blend_by_location");
 #endif
 
+   screen->total_mem = get_video_mem(screen);
+
    return screen;
 
 fail:
diff --git a/src/gallium/drivers/zink/zink_screen.h 
b/src/gallium/drivers/zink/zink_screen.h
index 359c1d2950a..169c350c5fa 100644
--- a/src/gallium/drivers/zink/zink_screen.h
+++ b/src/gallium/drivers/zink/zink_screen.h
@@ -60,6 +60,8 @@ struct zink_screen {
 
    unsigned shader_id;
 
+   uint64_t total_mem;
+
    VkInstance instance;
    struct zink_instance_info instance_info;
 

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to