ecore-drm2: Remove #ifdef HAVE_ATOMIC_DRM
As we now use static_libs/libdrm for compiling ecore-drm2, we can remove the atomic #ifdefs as we can run-time check this now. Signed-off-by: Chris Michael <cp.michael@samsung.com>
This commit is contained in:
parent
de12621c90
commit
bbd18510d6
|
@ -17,14 +17,12 @@ int (*sym_drmIoctl)(int fd, unsigned long request, void *arg) = NULL;
|
||||||
void *(*sym_drmModeObjectGetProperties)(int fd, uint32_t object_id, uint32_t object_type) = NULL;
|
void *(*sym_drmModeObjectGetProperties)(int fd, uint32_t object_id, uint32_t object_type) = NULL;
|
||||||
void (*sym_drmModeFreeObjectProperties)(drmModeObjectPropertiesPtr ptr) = NULL;
|
void (*sym_drmModeFreeObjectProperties)(drmModeObjectPropertiesPtr ptr) = NULL;
|
||||||
int (*sym_drmModeCreatePropertyBlob)(int fd, const void *data, size_t size, uint32_t *id) = NULL;
|
int (*sym_drmModeCreatePropertyBlob)(int fd, const void *data, size_t size, uint32_t *id) = NULL;
|
||||||
# ifdef HAVE_ATOMIC_DRM
|
|
||||||
void *(*sym_drmModeAtomicAlloc)(void) = NULL;
|
void *(*sym_drmModeAtomicAlloc)(void) = NULL;
|
||||||
void (*sym_drmModeAtomicFree)(drmModeAtomicReqPtr req) = NULL;
|
void (*sym_drmModeAtomicFree)(drmModeAtomicReqPtr req) = NULL;
|
||||||
int (*sym_drmModeAtomicAddProperty)(drmModeAtomicReqPtr req, uint32_t object_id, uint32_t property_id, uint64_t value) = NULL;
|
int (*sym_drmModeAtomicAddProperty)(drmModeAtomicReqPtr req, uint32_t object_id, uint32_t property_id, uint64_t value) = NULL;
|
||||||
int (*sym_drmModeAtomicCommit)(int fd, drmModeAtomicReqPtr req, uint32_t flags, void *user_data) = NULL;
|
int (*sym_drmModeAtomicCommit)(int fd, drmModeAtomicReqPtr req, uint32_t flags, void *user_data) = NULL;
|
||||||
void (*sym_drmModeAtomicSetCursor)(drmModeAtomicReqPtr req, int cursor) = NULL;
|
void (*sym_drmModeAtomicSetCursor)(drmModeAtomicReqPtr req, int cursor) = NULL;
|
||||||
int (*sym_drmModeAtomicMerge)(drmModeAtomicReqPtr base, drmModeAtomicReqPtr augment);
|
int (*sym_drmModeAtomicMerge)(drmModeAtomicReqPtr base, drmModeAtomicReqPtr augment);
|
||||||
# endif
|
|
||||||
void *(*sym_drmModeGetEncoder)(int fd, uint32_t encoder_id) = NULL;
|
void *(*sym_drmModeGetEncoder)(int fd, uint32_t encoder_id) = NULL;
|
||||||
void (*sym_drmModeFreeEncoder)(drmModeEncoderPtr ptr) = NULL;
|
void (*sym_drmModeFreeEncoder)(drmModeEncoderPtr ptr) = NULL;
|
||||||
void *(*sym_drmModeGetCrtc)(int fd, uint32_t crtcId) = NULL;
|
void *(*sym_drmModeGetCrtc)(int fd, uint32_t crtcId) = NULL;
|
||||||
|
@ -96,14 +94,12 @@ _ecore_drm2_link(void)
|
||||||
SYM(drm_lib, drmModeObjectGetProperties);
|
SYM(drm_lib, drmModeObjectGetProperties);
|
||||||
SYM(drm_lib, drmModeFreeObjectProperties);
|
SYM(drm_lib, drmModeFreeObjectProperties);
|
||||||
SYM(drm_lib, drmModeCreatePropertyBlob);
|
SYM(drm_lib, drmModeCreatePropertyBlob);
|
||||||
#ifdef HAVE_ATOMIC_DRM
|
|
||||||
SYM(drm_lib, drmModeAtomicAlloc);
|
SYM(drm_lib, drmModeAtomicAlloc);
|
||||||
SYM(drm_lib, drmModeAtomicFree);
|
SYM(drm_lib, drmModeAtomicFree);
|
||||||
SYM(drm_lib, drmModeAtomicAddProperty);
|
SYM(drm_lib, drmModeAtomicAddProperty);
|
||||||
SYM(drm_lib, drmModeAtomicCommit);
|
SYM(drm_lib, drmModeAtomicCommit);
|
||||||
SYM(drm_lib, drmModeAtomicSetCursor);
|
SYM(drm_lib, drmModeAtomicSetCursor);
|
||||||
SYM(drm_lib, drmModeAtomicMerge);
|
SYM(drm_lib, drmModeAtomicMerge);
|
||||||
#endif
|
|
||||||
SYM(drm_lib, drmModeGetEncoder);
|
SYM(drm_lib, drmModeGetEncoder);
|
||||||
SYM(drm_lib, drmModeFreeEncoder);
|
SYM(drm_lib, drmModeFreeEncoder);
|
||||||
SYM(drm_lib, drmModeGetCrtc);
|
SYM(drm_lib, drmModeGetCrtc);
|
||||||
|
|
|
@ -4,9 +4,7 @@
|
||||||
# define DRM_CAP_DUMB_PREFER_SHADOW 0x4
|
# define DRM_CAP_DUMB_PREFER_SHADOW 0x4
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_ATOMIC_DRM
|
#include <sys/utsname.h>
|
||||||
# include <sys/utsname.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
Eina_Bool _ecore_drm2_use_atomic = EINA_TRUE;
|
Eina_Bool _ecore_drm2_use_atomic = EINA_TRUE;
|
||||||
|
|
||||||
|
@ -143,7 +141,6 @@ out:
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAVE_ATOMIC_DRM
|
|
||||||
# if 0
|
# if 0
|
||||||
static Eina_Bool
|
static Eina_Bool
|
||||||
_drm2_atomic_usable(int fd)
|
_drm2_atomic_usable(int fd)
|
||||||
|
@ -187,7 +184,6 @@ _drm2_atomic_usable(int fd)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
# endif
|
# endif
|
||||||
#endif
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_drm2_atomic_state_crtc_fill(Ecore_Drm2_Crtc_State *cstate, int fd)
|
_drm2_atomic_state_crtc_fill(Ecore_Drm2_Crtc_State *cstate, int fd)
|
||||||
|
@ -614,15 +610,15 @@ ecore_drm2_device_open(Ecore_Drm2_Device *device)
|
||||||
DBG("Device Path: %s", device->path);
|
DBG("Device Path: %s", device->path);
|
||||||
DBG("Device Fd: %d", device->fd);
|
DBG("Device Fd: %d", device->fd);
|
||||||
|
|
||||||
#ifdef HAVE_ATOMIC_DRM
|
|
||||||
# if 0
|
# if 0
|
||||||
/* check that this system can do atomic */
|
/* check that this system can do atomic */
|
||||||
_ecore_drm2_use_atomic = _drm2_atomic_usable(device->fd);
|
_ecore_drm2_use_atomic = _drm2_atomic_usable(device->fd);
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
if (getenv("ECORE_DRM2_ATOMIC_DISABLE"))
|
if (getenv("ECORE_DRM2_ATOMIC_DISABLE"))
|
||||||
_ecore_drm2_use_atomic = EINA_FALSE;
|
_ecore_drm2_use_atomic = EINA_FALSE;
|
||||||
|
|
||||||
if (_ecore_drm2_use_atomic)
|
if (_ecore_drm2_use_atomic)
|
||||||
#endif
|
|
||||||
{
|
{
|
||||||
if (sym_drmSetClientCap(device->fd,
|
if (sym_drmSetClientCap(device->fd,
|
||||||
DRM_CLIENT_CAP_UNIVERSAL_PLANES, 1) < 0)
|
DRM_CLIENT_CAP_UNIVERSAL_PLANES, 1) < 0)
|
||||||
|
|
|
@ -248,11 +248,12 @@ _ecore_drm2_fb_buffer_release(Ecore_Drm2_Output *output, Ecore_Drm2_Output_State
|
||||||
if (output->release_cb) output->release_cb(output->release_data, s->fb);
|
if (output->release_cb) output->release_cb(output->release_data, s->fb);
|
||||||
_ecore_drm2_fb_deref(s->fb);
|
_ecore_drm2_fb_deref(s->fb);
|
||||||
s->fb = NULL;
|
s->fb = NULL;
|
||||||
#ifdef HAVE_ATOMIC_DRM
|
if (_ecore_drm2_use_atomic)
|
||||||
if (s->atomic_req)
|
{
|
||||||
sym_drmModeAtomicFree(s->atomic_req);
|
if (s->atomic_req)
|
||||||
s->atomic_req = NULL;
|
sym_drmModeAtomicFree(s->atomic_req);
|
||||||
#endif
|
s->atomic_req = NULL;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI Eina_Bool
|
EAPI Eina_Bool
|
||||||
|
@ -268,21 +269,22 @@ ecore_drm2_fb_flip_complete(Ecore_Drm2_Output *output)
|
||||||
output->current.fb = output->pending.fb;
|
output->current.fb = output->pending.fb;
|
||||||
output->pending.fb = NULL;
|
output->pending.fb = NULL;
|
||||||
|
|
||||||
#ifdef HAVE_ATOMIC_DRM
|
if (_ecore_drm2_use_atomic)
|
||||||
Eina_List *l, *ll;
|
|
||||||
Ecore_Drm2_Plane *plane;
|
|
||||||
|
|
||||||
output->current.atomic_req = output->pending.atomic_req;
|
|
||||||
output->pending.atomic_req = NULL;
|
|
||||||
|
|
||||||
EINA_LIST_FOREACH_SAFE(output->planes, l, ll, plane)
|
|
||||||
{
|
{
|
||||||
if (!plane->dead) continue;
|
Eina_List *l, *ll;
|
||||||
output->planes = eina_list_remove_list(output->planes, l);
|
Ecore_Drm2_Plane *plane;
|
||||||
free(plane);
|
|
||||||
|
output->current.atomic_req = output->pending.atomic_req;
|
||||||
|
output->pending.atomic_req = NULL;
|
||||||
|
|
||||||
|
EINA_LIST_FOREACH_SAFE(output->planes, l, ll, plane)
|
||||||
|
{
|
||||||
|
if (!plane->dead) continue;
|
||||||
|
output->planes = eina_list_remove_list(output->planes, l);
|
||||||
|
free(plane);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
EINA_LIST_FREE(output->fbs, fb)
|
EINA_LIST_FREE(output->fbs, fb)
|
||||||
_ecore_drm2_fb_deref(fb);
|
_ecore_drm2_fb_deref(fb);
|
||||||
output->fbs = NULL;
|
output->fbs = NULL;
|
||||||
|
@ -293,7 +295,6 @@ ecore_drm2_fb_flip_complete(Ecore_Drm2_Output *output)
|
||||||
Eina_Bool
|
Eina_Bool
|
||||||
_fb_atomic_flip_test(Ecore_Drm2_Output *output)
|
_fb_atomic_flip_test(Ecore_Drm2_Output *output)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_ATOMIC_DRM
|
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
Eina_List *l;
|
Eina_List *l;
|
||||||
Ecore_Drm2_Crtc_State *cstate;
|
Ecore_Drm2_Crtc_State *cstate;
|
||||||
|
@ -303,6 +304,8 @@ _fb_atomic_flip_test(Ecore_Drm2_Output *output)
|
||||||
uint32_t flags = DRM_MODE_ATOMIC_NONBLOCK | DRM_MODE_ATOMIC_ALLOW_MODESET |
|
uint32_t flags = DRM_MODE_ATOMIC_NONBLOCK | DRM_MODE_ATOMIC_ALLOW_MODESET |
|
||||||
DRM_MODE_ATOMIC_TEST_ONLY;
|
DRM_MODE_ATOMIC_TEST_ONLY;
|
||||||
|
|
||||||
|
if (!_ecore_drm2_use_atomic) return EINA_FALSE;
|
||||||
|
|
||||||
req = sym_drmModeAtomicAlloc();
|
req = sym_drmModeAtomicAlloc();
|
||||||
if (!req) return EINA_FALSE;
|
if (!req) return EINA_FALSE;
|
||||||
|
|
||||||
|
@ -401,7 +404,6 @@ _fb_atomic_flip_test(Ecore_Drm2_Output *output)
|
||||||
err:
|
err:
|
||||||
DBG("Failed Atomic Test: %m");
|
DBG("Failed Atomic Test: %m");
|
||||||
sym_drmModeAtomicFree(req);
|
sym_drmModeAtomicFree(req);
|
||||||
#endif
|
|
||||||
|
|
||||||
return EINA_FALSE;
|
return EINA_FALSE;
|
||||||
}
|
}
|
||||||
|
@ -409,12 +411,13 @@ err:
|
||||||
static int
|
static int
|
||||||
_fb_atomic_flip(Ecore_Drm2_Output *output)
|
_fb_atomic_flip(Ecore_Drm2_Output *output)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_ATOMIC_DRM
|
|
||||||
int res = 0;
|
int res = 0;
|
||||||
uint32_t flags =
|
uint32_t flags =
|
||||||
DRM_MODE_ATOMIC_NONBLOCK | DRM_MODE_PAGE_FLIP_EVENT |
|
DRM_MODE_ATOMIC_NONBLOCK | DRM_MODE_PAGE_FLIP_EVENT |
|
||||||
DRM_MODE_ATOMIC_ALLOW_MODESET;
|
DRM_MODE_ATOMIC_ALLOW_MODESET;
|
||||||
|
|
||||||
|
if (!_ecore_drm2_use_atomic) return -1;
|
||||||
|
|
||||||
/* If we have no req yet, we're flipping to current state.
|
/* If we have no req yet, we're flipping to current state.
|
||||||
* rebuild the current state in the prep state */
|
* rebuild the current state in the prep state */
|
||||||
if (!output->prep.atomic_req) _fb_atomic_flip_test(output);
|
if (!output->prep.atomic_req) _fb_atomic_flip_test(output);
|
||||||
|
@ -433,9 +436,6 @@ _fb_atomic_flip(Ecore_Drm2_Output *output)
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
#endif
|
|
||||||
|
|
||||||
return -1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
|
@ -578,10 +578,13 @@ ecore_drm2_fb_flip(Ecore_Drm2_Fb *fb, Ecore_Drm2_Output *output)
|
||||||
}
|
}
|
||||||
output->pending.fb = output->prep.fb;
|
output->pending.fb = output->prep.fb;
|
||||||
output->prep.fb = NULL;
|
output->prep.fb = NULL;
|
||||||
#ifdef HAVE_ATOMIC_DRM
|
|
||||||
output->pending.atomic_req = output->prep.atomic_req;
|
if (_ecore_drm2_use_atomic)
|
||||||
output->prep.atomic_req = NULL;
|
{
|
||||||
#endif
|
output->pending.atomic_req = output->prep.atomic_req;
|
||||||
|
output->prep.atomic_req = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -193,7 +193,6 @@ _output_edid_parse(Ecore_Drm2_Output *output, const uint8_t *data, size_t len)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
//#ifdef HAVE_ATOMIC_DRM
|
|
||||||
static void
|
static void
|
||||||
_output_edid_atomic_find(Ecore_Drm2_Output *output)
|
_output_edid_atomic_find(Ecore_Drm2_Output *output)
|
||||||
{
|
{
|
||||||
|
@ -213,7 +212,6 @@ _output_edid_atomic_find(Ecore_Drm2_Output *output)
|
||||||
eina_stringshare_replace(&output->serial, output->edid.serial);
|
eina_stringshare_replace(&output->serial, output->edid.serial);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//#endif
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_output_edid_find(Ecore_Drm2_Output *output, const drmModeConnector *conn)
|
_output_edid_find(Ecore_Drm2_Output *output, const drmModeConnector *conn)
|
||||||
|
@ -576,7 +574,6 @@ _output_matrix_update(Ecore_Drm2_Output *output)
|
||||||
eina_matrix4_inverse(&output->inverse, &output->matrix);
|
eina_matrix4_inverse(&output->inverse, &output->matrix);
|
||||||
}
|
}
|
||||||
|
|
||||||
//#ifdef HAVE_ATOMIC_DRM
|
|
||||||
static Ecore_Drm2_Crtc_State *
|
static Ecore_Drm2_Crtc_State *
|
||||||
_atomic_state_crtc_duplicate(Ecore_Drm2_Crtc_State *state)
|
_atomic_state_crtc_duplicate(Ecore_Drm2_Crtc_State *state)
|
||||||
{
|
{
|
||||||
|
@ -673,7 +670,6 @@ _output_plane_states_get(Ecore_Drm2_Atomic_State *state, unsigned int crtc_id, i
|
||||||
|
|
||||||
return states;
|
return states;
|
||||||
}
|
}
|
||||||
//#endif
|
|
||||||
|
|
||||||
static Eina_Bool
|
static Eina_Bool
|
||||||
_output_create(Ecore_Drm2_Device *dev, const drmModeRes *res, const drmModeConnector *conn, int x, int y, int *w, Eina_Bool cloned)
|
_output_create(Ecore_Drm2_Device *dev, const drmModeRes *res, const drmModeConnector *conn, int x, int y, int *w, Eina_Bool cloned)
|
||||||
|
@ -756,11 +752,9 @@ _output_create(Ecore_Drm2_Device *dev, const drmModeRes *res, const drmModeConne
|
||||||
|
|
||||||
_output_modes_create(dev, output, conn);
|
_output_modes_create(dev, output, conn);
|
||||||
|
|
||||||
#ifdef HAVE_ATOMIC_DRM
|
|
||||||
if (_ecore_drm2_use_atomic)
|
if (_ecore_drm2_use_atomic)
|
||||||
_output_edid_atomic_find(output);
|
_output_edid_atomic_find(output);
|
||||||
else
|
else
|
||||||
#endif
|
|
||||||
_output_edid_find(output, conn);
|
_output_edid_find(output, conn);
|
||||||
|
|
||||||
if (output->connected) output->enabled = EINA_TRUE;
|
if (output->connected) output->enabled = EINA_TRUE;
|
||||||
|
@ -887,13 +881,11 @@ _output_destroy(Ecore_Drm2_Device *dev, Ecore_Drm2_Output *output)
|
||||||
Ecore_Drm2_Plane *plane;
|
Ecore_Drm2_Plane *plane;
|
||||||
Ecore_Drm2_Plane_State *pstate;
|
Ecore_Drm2_Plane_State *pstate;
|
||||||
|
|
||||||
#ifdef HAVE_ATOMIC_DRM
|
|
||||||
if (_ecore_drm2_use_atomic)
|
if (_ecore_drm2_use_atomic)
|
||||||
{
|
{
|
||||||
if (output->prep.atomic_req)
|
if (output->prep.atomic_req)
|
||||||
sym_drmModeAtomicFree(output->prep.atomic_req);
|
sym_drmModeAtomicFree(output->prep.atomic_req);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
if (_ecore_drm2_use_atomic)
|
if (_ecore_drm2_use_atomic)
|
||||||
{
|
{
|
||||||
|
@ -1055,11 +1047,9 @@ ecore_drm2_output_edid_get(Ecore_Drm2_Output *output)
|
||||||
|
|
||||||
EINA_SAFETY_ON_NULL_RETURN_VAL(output, NULL);
|
EINA_SAFETY_ON_NULL_RETURN_VAL(output, NULL);
|
||||||
|
|
||||||
#ifdef HAVE_ATOMIC_DRM
|
|
||||||
if (_ecore_drm2_use_atomic)
|
if (_ecore_drm2_use_atomic)
|
||||||
blob = output->conn_state->edid.data;
|
blob = output->conn_state->edid.data;
|
||||||
else
|
else
|
||||||
#endif
|
|
||||||
{
|
{
|
||||||
EINA_SAFETY_ON_NULL_RETURN_VAL(output->edid.blob, NULL);
|
EINA_SAFETY_ON_NULL_RETURN_VAL(output->edid.blob, NULL);
|
||||||
blob = output->edid.blob;
|
blob = output->edid.blob;
|
||||||
|
@ -1266,7 +1256,6 @@ ecore_drm2_output_mode_info_get(Ecore_Drm2_Output_Mode *mode, int *w, int *h, un
|
||||||
if (flags) *flags = mode->flags;
|
if (flags) *flags = mode->flags;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAVE_ATOMIC_DRM
|
|
||||||
static Eina_Bool
|
static Eina_Bool
|
||||||
_output_mode_atomic_set(Ecore_Drm2_Output *output, Ecore_Drm2_Output_Mode *mode)
|
_output_mode_atomic_set(Ecore_Drm2_Output *output, Ecore_Drm2_Output_Mode *mode)
|
||||||
{
|
{
|
||||||
|
@ -1337,7 +1326,6 @@ err:
|
||||||
sym_drmModeAtomicFree(req);
|
sym_drmModeAtomicFree(req);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
EAPI Eina_Bool
|
EAPI Eina_Bool
|
||||||
ecore_drm2_output_mode_set(Ecore_Drm2_Output *output, Ecore_Drm2_Output_Mode *mode, int x, int y)
|
ecore_drm2_output_mode_set(Ecore_Drm2_Output *output, Ecore_Drm2_Output_Mode *mode, int x, int y)
|
||||||
|
@ -1351,11 +1339,9 @@ ecore_drm2_output_mode_set(Ecore_Drm2_Output *output, Ecore_Drm2_Output_Mode *mo
|
||||||
output->y = y;
|
output->y = y;
|
||||||
output->current_mode = mode;
|
output->current_mode = mode;
|
||||||
|
|
||||||
#ifdef HAVE_ATOMIC_DRM
|
|
||||||
if (_ecore_drm2_use_atomic)
|
if (_ecore_drm2_use_atomic)
|
||||||
ret = _output_mode_atomic_set(output, mode);
|
ret = _output_mode_atomic_set(output, mode);
|
||||||
else
|
else
|
||||||
#endif
|
|
||||||
{
|
{
|
||||||
if (mode)
|
if (mode)
|
||||||
{
|
{
|
||||||
|
@ -1553,7 +1539,6 @@ ecore_drm2_output_rotation_set(Ecore_Drm2_Output *output, int rotation)
|
||||||
|
|
||||||
EINA_SAFETY_ON_NULL_RETURN_VAL(output, EINA_FALSE);
|
EINA_SAFETY_ON_NULL_RETURN_VAL(output, EINA_FALSE);
|
||||||
|
|
||||||
#ifdef HAVE_ATOMIC_DRM
|
|
||||||
if (_ecore_drm2_use_atomic)
|
if (_ecore_drm2_use_atomic)
|
||||||
{
|
{
|
||||||
Eina_List *l;
|
Eina_List *l;
|
||||||
|
@ -1596,7 +1581,6 @@ ecore_drm2_output_rotation_set(Ecore_Drm2_Output *output, int rotation)
|
||||||
err:
|
err:
|
||||||
sym_drmModeAtomicFree(req);
|
sym_drmModeAtomicFree(req);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
|
@ -192,9 +192,7 @@ struct _Ecore_Drm2_Output_Mode
|
||||||
typedef struct _Ecore_Drm2_Output_State
|
typedef struct _Ecore_Drm2_Output_State
|
||||||
{
|
{
|
||||||
Ecore_Drm2_Fb *fb;
|
Ecore_Drm2_Fb *fb;
|
||||||
# ifdef HAVE_ATOMIC_DRM
|
|
||||||
drmModeAtomicReq *atomic_req;
|
drmModeAtomicReq *atomic_req;
|
||||||
# endif
|
|
||||||
} Ecore_Drm2_Output_State;
|
} Ecore_Drm2_Output_State;
|
||||||
|
|
||||||
struct _Ecore_Drm2_Output
|
struct _Ecore_Drm2_Output
|
||||||
|
@ -314,14 +312,12 @@ extern int (*sym_drmIoctl)(int fd, unsigned long request, void *arg);
|
||||||
extern void *(*sym_drmModeObjectGetProperties)(int fd, uint32_t object_id, uint32_t object_type);
|
extern void *(*sym_drmModeObjectGetProperties)(int fd, uint32_t object_id, uint32_t object_type);
|
||||||
extern void (*sym_drmModeFreeObjectProperties)(drmModeObjectPropertiesPtr ptr);
|
extern void (*sym_drmModeFreeObjectProperties)(drmModeObjectPropertiesPtr ptr);
|
||||||
extern int (*sym_drmModeCreatePropertyBlob)(int fd, const void *data, size_t size, uint32_t *id);
|
extern int (*sym_drmModeCreatePropertyBlob)(int fd, const void *data, size_t size, uint32_t *id);
|
||||||
# ifdef HAVE_ATOMIC_DRM
|
|
||||||
extern void *(*sym_drmModeAtomicAlloc)(void);
|
extern void *(*sym_drmModeAtomicAlloc)(void);
|
||||||
extern void (*sym_drmModeAtomicFree)(drmModeAtomicReqPtr req);
|
extern void (*sym_drmModeAtomicFree)(drmModeAtomicReqPtr req);
|
||||||
extern int (*sym_drmModeAtomicAddProperty)(drmModeAtomicReqPtr req, uint32_t object_id, uint32_t property_id, uint64_t value);
|
extern int (*sym_drmModeAtomicAddProperty)(drmModeAtomicReqPtr req, uint32_t object_id, uint32_t property_id, uint64_t value);
|
||||||
extern int (*sym_drmModeAtomicCommit)(int fd, drmModeAtomicReqPtr req, uint32_t flags, void *user_data);
|
extern int (*sym_drmModeAtomicCommit)(int fd, drmModeAtomicReqPtr req, uint32_t flags, void *user_data);
|
||||||
extern void (*sym_drmModeAtomicSetCursor)(drmModeAtomicReqPtr req, int cursor);
|
extern void (*sym_drmModeAtomicSetCursor)(drmModeAtomicReqPtr req, int cursor);
|
||||||
extern int (*sym_drmModeAtomicMerge)(drmModeAtomicReqPtr base, drmModeAtomicReqPtr augment);
|
extern int (*sym_drmModeAtomicMerge)(drmModeAtomicReqPtr base, drmModeAtomicReqPtr augment);
|
||||||
# endif
|
|
||||||
extern void *(*sym_drmModeGetEncoder)(int fd, uint32_t encoder_id);
|
extern void *(*sym_drmModeGetEncoder)(int fd, uint32_t encoder_id);
|
||||||
extern void (*sym_drmModeFreeEncoder)(drmModeEncoderPtr ptr);
|
extern void (*sym_drmModeFreeEncoder)(drmModeEncoderPtr ptr);
|
||||||
extern void *(*sym_drmModeGetCrtc)(int fd, uint32_t crtcId);
|
extern void *(*sym_drmModeGetCrtc)(int fd, uint32_t crtcId);
|
||||||
|
|
Loading…
Reference in New Issue