|
vdr-plugin-softhddevice-drm-gles 1.4.0
|
#include <drmdevice.h>

Public Member Functions | |
| cDrmDevice (cVideoRender *, const char *) | |
| cDrmDevice constructor More... | |
| virtual | ~cDrmDevice (void) |
| cDrmDevice destructor More... | |
| int | Init (void) |
| Initiate the drm device. More... | |
| int | Fd (void) |
| void | Close (void) |
| Close drm file handle. More... | |
| 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) |
| int | SetPropertyRequest (drmModeAtomicReqPtr, uint32_t, uint32_t, const char *, uint64_t) |
| Add a property to a request. More... | |
| void | SaveCrtc (void) |
| Saves information of a CRTC. More... | |
| void | RestoreCrtc (void) |
| Restore information of a CRTC. More... | |
| int | HandleEvent (void) |
| Polls for a drm event. More... | |
| int | CreatePropertyBlob (uint32_t *) |
| Creates a property blob. More... | |
| void | InitEvent (void) |
| Init the event context. More... | |
Private Member Functions | |
| int32_t | FindCrtcForConnector (const drmModeRes *, const drmModeConnector *) |
| Finds the CRTC_ID for the given connector. More... | |
Private Attributes | |
| cVideoRender * | m_pRender |
| pointer to cVideoRender object More... | |
| int | m_fdDrm |
| drm file descriptor More... | |
| uint32_t | m_connectorId |
| connector id More... | |
| drmModeModeInfo | m_drmModeInfo |
| mode info More... | |
| uint32_t | m_crtcId |
| current crtc ID More... | |
| uint32_t | m_crtcIndex |
| current crtc index More... | |
| drmModeCrtc * | m_drmModeCrtcSaved |
| saved CRTC infos More... | |
| drmEventContext | m_drmEventCtx |
| drm event context More... | |
| int | m_userReqDisplayWidth |
| user requested display width More... | |
| int | m_userReqDisplayHeight |
| user requested display height More... | |
| uint32_t | m_userReqDisplayRefreshRate |
| user requested display refresh rate More... | |
| bool | m_useZpos |
| is set, if drm hardware can use zpos More... | |
| uint64_t | m_zposOverlay |
| zpos of overlay plane More... | |
| uint64_t | m_zposPrimary |
| zpos of primary plane More... | |
| cDrmPlane | m_videoPlane |
| the video drm plane More... | |
| cDrmPlane | m_osdPlane |
| the osd drm plane More... | |
| uint64_t | m_zposPip |
| zpos of pip plane More... | |
| cDrmPlane | m_pipPlane |
| the pip drm plane More... | |
Definition at line 75 of file drmdevice.h.
| cDrmDevice::cDrmDevice | ( | cVideoRender * | render, |
| const char * | resolution | ||
| ) |
cDrmDevice constructor
| render | pointer to cVideoRender object |
Definition at line 77 of file drmdevice.cpp.
References m_fdDrm, m_pRender, m_userReqDisplayHeight, m_userReqDisplayRefreshRate, m_userReqDisplayWidth, and m_useZpos.
|
virtual |
| void cDrmDevice::Close | ( | void | ) |
Close drm file handle.
Definition at line 939 of file drmdevice.cpp.
References L_DRM, LOGDEBUG2, and m_fdDrm.
Referenced by cVideoRender::Exit().
|
inline |
Definition at line 86 of file drmdevice.h.
References m_connectorId.
Referenced by cVideoRender::Init().
| int cDrmDevice::CreatePropertyBlob | ( | uint32_t * | modeID | ) |
Creates a property blob.
Definition at line 951 of file drmdevice.cpp.
References m_drmModeInfo, and m_fdDrm.
Referenced by cVideoRender::Init().
|
inline |
Definition at line 91 of file drmdevice.h.
References m_crtcId.
Referenced by cVideoRender::Init(), cVideoRender::SetOsdBuffer(), cVideoRender::SetPipBuffer(), and cVideoRender::SetVideoBuffer().
|
inline |
Definition at line 89 of file drmdevice.h.
References m_drmModeInfo.
Referenced by cVideoRender::Init(), cVideoRender::SetPipBuffer(), and cVideoRender::SetVideoBuffer().
|
inline |
Definition at line 88 of file drmdevice.h.
References m_drmModeInfo.
Referenced by cVideoRender::Init(), cVideoRender::SetPipBuffer(), and cVideoRender::SetVideoBuffer().
|
inline |
Definition at line 82 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 916 of file drmdevice.cpp.
References FindCrtcForEncoder(), and m_fdDrm.
Referenced by Init().
| int cDrmDevice::HandleEvent | ( | void | ) |
Polls for a drm event.
Definition at line 1013 of file drmdevice.cpp.
References m_drmEventCtx, and m_fdDrm.
Referenced by cVideoRender::DrmHandleEvent(), and cVideoRender::PageFlip().
| int cDrmDevice::Init | ( | void | ) |
Initiate the drm device.
Definition at line 258 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 1021 of file drmdevice.cpp.
References m_drmEventCtx.
Referenced by cVideoRender::Init().
|
inline |
Definition at line 96 of file drmdevice.h.
References m_osdPlane.
Referenced by cVideoRender::CommitBuffer(), cVideoRender::Exit(), cVideoRender::Init(), and cVideoRender::SetOsdBuffer().
|
inline |
Definition at line 98 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 1001 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 993 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 959 of file drmdevice.cpp.
References L_DRM, LOGDEBUG2, and m_fdDrm.
Referenced by cVideoRender::Init().
|
inline |
Definition at line 92 of file drmdevice.h.
References m_useZpos.
Referenced by cVideoRender::Init(), and cVideoRender::SetOsdBuffer().
|
inline |
Definition at line 97 of file drmdevice.h.
References m_videoPlane.
Referenced by cVideoRender::CommitBuffer(), cVideoRender::Exit(), cVideoRender::Init(), cVideoRender::SetOsdBuffer(), and cVideoRender::SetVideoBuffer().
|
inline |
Definition at line 93 of file drmdevice.h.
References m_zposOverlay.
Referenced by cVideoRender::Init(), and cVideoRender::SetOsdBuffer().
|
inline |
Definition at line 94 of file drmdevice.h.
References m_zposPrimary.
Referenced by cVideoRender::Init(), and cVideoRender::SetOsdBuffer().
|
private |
connector id
Definition at line 120 of file drmdevice.h.
Referenced by ConnectorId(), Init(), and RestoreCrtc().
|
private |
current crtc ID
Definition at line 122 of file drmdevice.h.
Referenced by CrtcId(), Init(), and SaveCrtc().
|
private |
|
private |
drm event context
Definition at line 125 of file drmdevice.h.
Referenced by HandleEvent(), and InitEvent().
|
private |
saved CRTC infos
Definition at line 124 of file drmdevice.h.
Referenced by RestoreCrtc(), and SaveCrtc().
|
private |
mode info
Definition at line 121 of file drmdevice.h.
Referenced by CreatePropertyBlob(), DisplayHeight(), DisplayWidth(), and Init().
|
private |
drm file descriptor
Definition at line 119 of file drmdevice.h.
Referenced by cDrmDevice(), Close(), CreatePropertyBlob(), Fd(), FindCrtcForConnector(), HandleEvent(), Init(), RestoreCrtc(), SaveCrtc(), and SetPropertyRequest().
|
private |
|
private |
|
private |
pointer to cVideoRender object
Definition at line 117 of file drmdevice.h.
Referenced by cDrmDevice(), and Init().
|
private |
user requested display height
Definition at line 128 of file drmdevice.h.
Referenced by cDrmDevice(), and Init().
|
private |
user requested display refresh rate
Definition at line 129 of file drmdevice.h.
Referenced by cDrmDevice(), and Init().
|
private |
user requested display width
Definition at line 127 of file drmdevice.h.
Referenced by cDrmDevice(), and Init().
|
private |
is set, if drm hardware can use zpos
Definition at line 131 of file drmdevice.h.
Referenced by cDrmDevice(), Init(), and UseZpos().
|
private |
the video drm plane
Definition at line 134 of file drmdevice.h.
Referenced by Init(), and VideoPlane().
|
private |
zpos of overlay plane
Definition at line 132 of file drmdevice.h.
Referenced by Init(), and ZposOverlay().
|
private |
|
private |
zpos of primary plane
Definition at line 133 of file drmdevice.h.
Referenced by Init(), and ZposPrimary().