mirror of
https://gitlab.freedesktop.org/plymouth/plymouth.git
synced 2026-05-05 00:38:10 +02:00
ply-renderer: Add new PLY_RENDERER_TYPE_SIMPLEDRM renderer-type
Add a new PLY_RENDERER_TYPE_SIMPLEDRM renderer-type to help differentiate the simpledrm case from the regular drm device case. simpledrm devices require some special handling in the device-manager, this is a preparation patch for improving the simpledrm handling in ply-device-manager.
This commit is contained in:
parent
1c3ff0338c
commit
19d49a42fc
3 changed files with 10 additions and 3 deletions
|
|
@ -380,7 +380,7 @@ static bool
|
|||
create_devices_for_udev_device (ply_device_manager_t *manager,
|
||||
struct udev_device *device)
|
||||
{
|
||||
const char *device_path, *device_sysname;
|
||||
const char *device_path, *device_sysname, *device_syspath;
|
||||
bool created = false;
|
||||
bool force_fb = false;
|
||||
|
||||
|
|
@ -389,6 +389,7 @@ create_devices_for_udev_device (ply_device_manager_t *manager,
|
|||
|
||||
device_path = udev_device_get_devnode (device);
|
||||
device_sysname = udev_device_get_sysname (device);
|
||||
device_syspath = udev_device_get_syspath (device);
|
||||
|
||||
if (device_path != NULL) {
|
||||
const char *subsystem;
|
||||
|
|
@ -403,7 +404,10 @@ create_devices_for_udev_device (ply_device_manager_t *manager,
|
|||
return false;
|
||||
}
|
||||
ply_trace ("found DRM device %s", device_path);
|
||||
renderer_type = PLY_RENDERER_TYPE_DRM;
|
||||
if (syspath_is_simpledrm (device_syspath))
|
||||
renderer_type = PLY_RENDERER_TYPE_SIMPLEDRM;
|
||||
else
|
||||
renderer_type = PLY_RENDERER_TYPE_DRM;
|
||||
} else if (strcmp (subsystem, SUBSYSTEM_FRAME_BUFFER) == 0) {
|
||||
ply_trace ("found frame buffer device %s", device_path);
|
||||
if (!fb_device_has_drm_device (manager, device))
|
||||
|
|
@ -446,7 +450,8 @@ create_devices_for_udev_device (ply_device_manager_t *manager,
|
|||
terminal,
|
||||
renderer_type);
|
||||
if (created) {
|
||||
if (renderer_type == PLY_RENDERER_TYPE_DRM)
|
||||
if (renderer_type == PLY_RENDERER_TYPE_DRM ||
|
||||
renderer_type == PLY_RENDERER_TYPE_SIMPLEDRM)
|
||||
manager->found_drm_device = 1;
|
||||
if (renderer_type == PLY_RENDERER_TYPE_FRAME_BUFFER)
|
||||
manager->found_fb_device = 1;
|
||||
|
|
|
|||
|
|
@ -269,6 +269,7 @@ ply_renderer_open (ply_renderer_t *renderer)
|
|||
{
|
||||
{ PLY_RENDERER_TYPE_X11, PLYMOUTH_PLUGIN_PATH "renderers/x11.so" },
|
||||
{ PLY_RENDERER_TYPE_DRM, PLYMOUTH_PLUGIN_PATH "renderers/drm.so" },
|
||||
{ PLY_RENDERER_TYPE_SIMPLEDRM, PLYMOUTH_PLUGIN_PATH "renderers/drm.so" },
|
||||
{ PLY_RENDERER_TYPE_FRAME_BUFFER, PLYMOUTH_PLUGIN_PATH "renderers/frame-buffer.so" },
|
||||
{ PLY_RENDERER_TYPE_NONE, NULL }
|
||||
};
|
||||
|
|
|
|||
|
|
@ -41,6 +41,7 @@ typedef enum
|
|||
PLY_RENDERER_TYPE_NONE = -1,
|
||||
PLY_RENDERER_TYPE_AUTO,
|
||||
PLY_RENDERER_TYPE_DRM,
|
||||
PLY_RENDERER_TYPE_SIMPLEDRM,
|
||||
PLY_RENDERER_TYPE_FRAME_BUFFER,
|
||||
PLY_RENDERER_TYPE_X11
|
||||
} ply_renderer_type_t;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue