mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-30 20:50:09 +01:00
zink: store total memory size on zink_screen
need this for oom handling Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9274>
This commit is contained in:
parent
e0b0507635
commit
6a3e340288
2 changed files with 7 additions and 3 deletions
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -60,6 +60,8 @@ struct zink_screen {
|
|||
|
||||
unsigned shader_id;
|
||||
|
||||
uint64_t total_mem;
|
||||
|
||||
VkInstance instance;
|
||||
struct zink_instance_info instance_info;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue