|
vdr-plugin-softhddevice-drm-gles 1.5.9-20e15de
|
#include <drmdevice.h>
Public Member Functions | |
| cDrmDevice (cVideoRender *, const char *) | |
| cDrmDevice constructor | |
| ~cDrmDevice (void) | |
| cDrmDevice destructor | |
| int | Init (void) |
| Initiate the drm device. | |
| int | Fd (void) |
| void | Close (void) |
| Close drm file handle. | |
| uint32_t | ConnectorId (void) |
| uint64_t | DisplayWidth (void) |
| uint64_t | DisplayHeight (void) |
| uint32_t | CrtcId (void) |
| int | UseZpos (void) |
| uint64_t | ZposOverlay (void) |
| uint64_t | ZposPrimary (void) |
| cDrmPlane * | OsdPlane (void) |
| cDrmPlane * | VideoPlane (void) |
| cDrmPlane * | PipPlane (void) |
| bool | HasPipPlane (void) |
| int | SetPropertyRequest (drmModeAtomicReqPtr, uint32_t, uint32_t, const char *, uint64_t) |
| Add a property to a request. | |
| void | SaveCrtc (void) |
| Saves information of a CRTC. | |
| void | RestoreCrtc (void) |
| Restore information of a CRTC. | |
| int | HandleEvent (void) |
| Polls for a drm event. | |
| int | CreatePropertyBlob (uint32_t *) |
| Creates a property blob. | |
| void | InitEvent (void) |
| Init the event context. | |
Private Member Functions | |
| int32_t | FindCrtcForConnector (const drmModeRes *, const drmModeConnector *) |
| Finds the CRTC_ID for the given connector. | |
Private Attributes | |
| cVideoRender * | m_pRender |
| pointer to cVideoRender object | |
| int | m_fdDrm = -1 |
| drm file descriptor | |
| uint32_t | m_connectorId |
| connector id | |
| drmModeModeInfo | m_drmModeInfo |
| mode info | |
| uint32_t | m_crtcId |
| current crtc ID | |
| uint32_t | m_crtcIndex |
| current crtc index | |
| drmModeCrtc * | m_drmModeCrtcSaved |
| saved CRTC infos | |
| drmEventContext | m_drmEventCtx |
| drm event context | |
| int | m_userReqDisplayWidth = 0 |
| user requested display width | |
| int | m_userReqDisplayHeight |
| user requested display height | |
| uint32_t | m_userReqDisplayRefreshRate |
| user requested display refresh rate | |
| bool | m_useZpos = false |
| is set, if drm hardware can use zpos | |
| uint64_t | m_zposOverlay = 0 |
| zpos of overlay plane | |
| uint64_t | m_zposPrimary = 0 |
| zpos of primary plane | |
| cDrmPlane | m_videoPlane |
| the video drm plane | |
| cDrmPlane | m_osdPlane |
| the osd drm plane | |
| uint64_t | m_zposPip = 0 |
| zpos of pip plane | |
| cDrmPlane | m_pipPlane |
| the pip drm plane | |
Definition at line 45 of file drmdevice.h.
| cDrmDevice::cDrmDevice | ( | cVideoRender * | render, |
| const char * | resolution | ||
| ) |
cDrmDevice constructor
| render | pointer to cVideoRender object |
| resolution | display resolution string set by user |
Definition at line 59 of file drmdevice.cpp.
References m_userReqDisplayHeight, m_userReqDisplayRefreshRate, and m_userReqDisplayWidth.
| cDrmDevice::~cDrmDevice | ( | void | ) |
| void cDrmDevice::Close | ( | void | ) |
Close drm file handle.
Definition at line 933 of file drmdevice.cpp.
References L_DRM, LOGDEBUG2, and m_fdDrm.
Referenced by cVideoRender::Exit().
|
inline |
Definition at line 56 of file drmdevice.h.
References m_connectorId.
Referenced by cVideoRender::Init().
| int cDrmDevice::CreatePropertyBlob | ( | uint32_t * | modeID | ) |
Creates a property blob.
Definition at line 945 of file drmdevice.cpp.
References m_drmModeInfo, and m_fdDrm.
Referenced by cVideoRender::Init().
|
inline |
Definition at line 61 of file drmdevice.h.
References m_crtcId.
Referenced by cVideoRender::Init(), cVideoRender::SetOsdBuffer(), cVideoRender::SetPipBuffer(), and cVideoRender::SetVideoBuffer().
|
inline |
Definition at line 59 of file drmdevice.h.
References m_drmModeInfo.
Referenced by cVideoRender::Init(), cVideoRender::SetPipBuffer(), and cVideoRender::SetVideoBuffer().
|
inline |
Definition at line 58 of file drmdevice.h.
References m_drmModeInfo.
Referenced by cVideoRender::Init(), cVideoRender::SetPipBuffer(), and cVideoRender::SetVideoBuffer().
|
inline |
Definition at line 52 of file drmdevice.h.
References m_fdDrm.
Referenced by cVideoRender::CommitBuffer(), cVideoRender::Init(), and cVideoRender::PushFrame().
|
private |
Finds the CRTC_ID for the given connector.
Definition at line 910 of file drmdevice.cpp.
References FindCrtcForEncoder(), and m_fdDrm.
Referenced by Init().
| int cDrmDevice::HandleEvent | ( | void | ) |
Polls for a drm event.
Definition at line 1007 of file drmdevice.cpp.
References m_drmEventCtx, and m_fdDrm.
Referenced by cVideoRender::DrmHandleEvent(), and cVideoRender::PageFlip().
|
inline |
Definition at line 69 of file drmdevice.h.
References cDrmPlane::GetId(), and m_pipPlane.
Referenced by cVideoRender::Init().
| int cDrmDevice::Init | ( | void | ) |
Initiate the drm device.
Definition at line 236 of file drmdevice.cpp.
References cDrmPlane::FillProperties(), FindCrtcForConnector(), FindDrmConnector(), FindDrmDevice(), cDrmPlane::GetId(), GetPropertyValue(), cDrmPlane::GetType(), cDrmPlane::GetZpos(), cDrmPlane::HasZpos(), L_DRM, LOGDEBUG2, LOGERROR, LOGFATAL, LOGINFO, LOGWARNING, m_connectorId, m_crtcId, m_crtcIndex, m_drmModeInfo, m_fdDrm, m_osdPlane, m_pipPlane, m_pRender, m_userReqDisplayHeight, m_userReqDisplayRefreshRate, m_userReqDisplayWidth, m_useZpos, m_videoPlane, m_zposOverlay, m_zposPip, m_zposPrimary, cDrmPlane::SetId(), cVideoRender::SetScreenSize(), cDrmPlane::SetType(), and cDrmPlane::SetZpos().
Referenced by cVideoRender::Init().
| void cDrmDevice::InitEvent | ( | void | ) |
Init the event context.
Definition at line 1015 of file drmdevice.cpp.
References m_drmEventCtx.
Referenced by cVideoRender::Init().
|
inline |
Definition at line 66 of file drmdevice.h.
References m_osdPlane.
Referenced by cVideoRender::CommitBuffer(), cVideoRender::Exit(), cVideoRender::Init(), and cVideoRender::SetOsdBuffer().
|
inline |
Definition at line 68 of file drmdevice.h.
References m_pipPlane.
Referenced by cVideoRender::CommitBuffer(), and cVideoRender::SetPipBuffer().
| void cDrmDevice::RestoreCrtc | ( | void | ) |
Restore information of a CRTC.
Definition at line 995 of file drmdevice.cpp.
References m_connectorId, m_drmModeCrtcSaved, and m_fdDrm.
Referenced by cVideoRender::Exit().
| void cDrmDevice::SaveCrtc | ( | void | ) |
Saves information of a CRTC.
Definition at line 987 of file drmdevice.cpp.
References m_crtcId, m_drmModeCrtcSaved, and m_fdDrm.
Referenced by cVideoRender::Init().
| int cDrmDevice::SetPropertyRequest | ( | drmModeAtomicReqPtr | ModeReq, |
| uint32_t | objectID, | ||
| uint32_t | objectType, | ||
| const char * | propName, | ||
| uint64_t | value | ||
| ) |
Add a property to a request.
Definition at line 953 of file drmdevice.cpp.
References L_DRM, LOGDEBUG2, and m_fdDrm.
Referenced by cVideoRender::Init().
|
inline |
Definition at line 62 of file drmdevice.h.
References m_useZpos.
Referenced by cVideoRender::Init(), and cVideoRender::SetOsdBuffer().
|
inline |
Definition at line 67 of file drmdevice.h.
References m_videoPlane.
Referenced by cVideoRender::CommitBuffer(), cVideoRender::Exit(), cVideoRender::Init(), cVideoRender::SetOsdBuffer(), and cVideoRender::SetVideoBuffer().
|
inline |
Definition at line 63 of file drmdevice.h.
References m_zposOverlay.
Referenced by cVideoRender::Init(), and cVideoRender::SetOsdBuffer().
|
inline |
Definition at line 64 of file drmdevice.h.
References m_zposPrimary.
Referenced by cVideoRender::Init(), and cVideoRender::SetOsdBuffer().
|
private |
connector id
Definition at line 91 of file drmdevice.h.
Referenced by ConnectorId(), Init(), and RestoreCrtc().
|
private |
current crtc ID
Definition at line 93 of file drmdevice.h.
Referenced by CrtcId(), Init(), and SaveCrtc().
|
private |
|
private |
drm event context
Definition at line 96 of file drmdevice.h.
Referenced by HandleEvent(), and InitEvent().
|
private |
saved CRTC infos
Definition at line 95 of file drmdevice.h.
Referenced by RestoreCrtc(), and SaveCrtc().
|
private |
mode info
Definition at line 92 of file drmdevice.h.
Referenced by CreatePropertyBlob(), DisplayHeight(), DisplayWidth(), and Init().
|
private |
drm file descriptor
Definition at line 90 of file drmdevice.h.
Referenced by Close(), CreatePropertyBlob(), Fd(), FindCrtcForConnector(), HandleEvent(), Init(), RestoreCrtc(), SaveCrtc(), and SetPropertyRequest().
|
private |
|
private |
the pip drm plane
Definition at line 108 of file drmdevice.h.
Referenced by HasPipPlane(), Init(), and PipPlane().
|
private |
|
private |
user requested display height
Definition at line 99 of file drmdevice.h.
Referenced by cDrmDevice(), and Init().
|
private |
user requested display refresh rate
Definition at line 100 of file drmdevice.h.
Referenced by cDrmDevice(), and Init().
|
private |
user requested display width
Definition at line 98 of file drmdevice.h.
Referenced by cDrmDevice(), and Init().
|
private |
is set, if drm hardware can use zpos
Definition at line 102 of file drmdevice.h.
|
private |
the video drm plane
Definition at line 105 of file drmdevice.h.
Referenced by Init(), and VideoPlane().
|
private |
zpos of overlay plane
Definition at line 103 of file drmdevice.h.
Referenced by Init(), and ZposOverlay().
|
private |
|
private |
zpos of primary plane
Definition at line 104 of file drmdevice.h.
Referenced by Init(), and ZposPrimary().