cursor-renderer/native: Refactor init to per-gpu
Extract the code to initialize a single GPU cursor support into its own function. The new function will be used by GPU hotplug in the future. This is a pure refactoring without any behavioral changes. https://gitlab.gnome.org/GNOME/mutter/merge_requests/1097
This commit is contained in:
parent
121c5d2a92
commit
4cc29cfb61
@ -1601,6 +1601,31 @@ on_monitors_changed (MetaMonitorManager *monitors,
|
|||||||
force_update_hw_cursor (native);
|
force_update_hw_cursor (native);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
init_hw_cursor_support_for_gpu (MetaGpuKms *gpu_kms)
|
||||||
|
{
|
||||||
|
MetaKmsDevice *kms_device = meta_gpu_kms_get_kms_device (gpu_kms);
|
||||||
|
MetaCursorRendererNativeGpuData *cursor_renderer_gpu_data;
|
||||||
|
struct gbm_device *gbm_device;
|
||||||
|
uint64_t width, height;
|
||||||
|
|
||||||
|
gbm_device = meta_gbm_device_from_gpu (gpu_kms);
|
||||||
|
if (!gbm_device)
|
||||||
|
return;
|
||||||
|
|
||||||
|
cursor_renderer_gpu_data =
|
||||||
|
meta_create_cursor_renderer_native_gpu_data (gpu_kms);
|
||||||
|
|
||||||
|
if (!meta_kms_device_get_cursor_size (kms_device, &width, &height))
|
||||||
|
{
|
||||||
|
width = 64;
|
||||||
|
height = 64;
|
||||||
|
}
|
||||||
|
|
||||||
|
cursor_renderer_gpu_data->cursor_width = width;
|
||||||
|
cursor_renderer_gpu_data->cursor_height = height;
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
init_hw_cursor_support (MetaCursorRendererNative *cursor_renderer_native)
|
init_hw_cursor_support (MetaCursorRendererNative *cursor_renderer_native)
|
||||||
{
|
{
|
||||||
@ -1613,26 +1638,8 @@ init_hw_cursor_support (MetaCursorRendererNative *cursor_renderer_native)
|
|||||||
for (l = gpus; l; l = l->next)
|
for (l = gpus; l; l = l->next)
|
||||||
{
|
{
|
||||||
MetaGpuKms *gpu_kms = l->data;
|
MetaGpuKms *gpu_kms = l->data;
|
||||||
MetaKmsDevice *kms_device = meta_gpu_kms_get_kms_device (gpu_kms);
|
|
||||||
MetaCursorRendererNativeGpuData *cursor_renderer_gpu_data;
|
|
||||||
struct gbm_device *gbm_device;
|
|
||||||
uint64_t width, height;
|
|
||||||
|
|
||||||
gbm_device = meta_gbm_device_from_gpu (gpu_kms);
|
init_hw_cursor_support_for_gpu (gpu_kms);
|
||||||
if (!gbm_device)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
cursor_renderer_gpu_data =
|
|
||||||
meta_create_cursor_renderer_native_gpu_data (gpu_kms);
|
|
||||||
|
|
||||||
if (!meta_kms_device_get_cursor_size (kms_device, &width, &height))
|
|
||||||
{
|
|
||||||
width = 64;
|
|
||||||
height = 64;
|
|
||||||
}
|
|
||||||
|
|
||||||
cursor_renderer_gpu_data->cursor_width = width;
|
|
||||||
cursor_renderer_gpu_data->cursor_height = height;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user