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
