![]() |
Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
|
#include <qkmsdevice_p.h>
Classes | |
struct | OrderedScreen |
struct | ScreenInfo |
Public Member Functions | |
QKmsDevice (QKmsScreenConfig *screenConfig, const QString &path=QString()) | |
virtual | ~QKmsDevice () |
virtual bool | open ()=0 |
virtual void | close ()=0 |
virtual void * | nativeDisplay () const =0 |
bool | hasAtomicSupport () |
void | checkConnectedScreens () |
void | updateScreens () |
void | createScreens () |
int | fd () const |
QString | devicePath () const |
QKmsScreenConfig * | screenConfig () const |
Protected Types | |
typedef std::function< void(drmModePropertyPtr, quint64)> | PropCallback |
Protected Member Functions | |
void | registerScreens (QList< uint32_t > newConnects=QList< uint32_t >()) |
virtual QPlatformScreen * | createScreen (const QKmsOutput &output)=0 |
virtual QPlatformScreen * | createHeadlessScreen () |
virtual void | registerScreenCloning (QPlatformScreen *screen, QPlatformScreen *screenThisScreenClones, const QList< QPlatformScreen * > &screensCloningThisScreen) |
virtual void | registerScreen (QPlatformScreen *screen, bool isPrimary, const QPoint &virtualPos, const QList< QPlatformScreen * > &virtualSiblings)=0 |
virtual void | unregisterScreen (QPlatformScreen *screen) |
virtual void | updateScreen (QPlatformScreen *screen, const QPoint &virtualPos, const QList< QPlatformScreen * > &virtualSiblings) |
virtual void | updateScreenOutput (QPlatformScreen *screen, const QKmsOutput &output) |
void | setFd (int fd) |
int | crtcForConnector (drmModeResPtr resources, drmModeConnectorPtr connector) |
bool | createScreenInfoForConnector (drmModeResPtr resources, drmModeConnectorPtr connector, ScreenInfo &vinfo) |
drmModePropertyPtr | connectorProperty (drmModeConnectorPtr connector, const QByteArray &name) |
drmModePropertyBlobPtr | connectorPropertyBlob (drmModeConnectorPtr connector, const QByteArray &name) |
void | enumerateProperties (drmModeObjectPropertiesPtr objProps, PropCallback callback) |
void | discoverPlanes () |
void | parseConnectorProperties (uint32_t connectorId, QKmsOutput *output) |
void | parseCrtcProperties (uint32_t crtcId, QKmsOutput *output) |
Protected Attributes | |
QKmsScreenConfig * | m_screenConfig |
QString | m_path |
int | m_dri_fd |
bool | m_has_atomic_support |
quint32 | m_crtc_allocator |
QList< QKmsPlane > | m_planes |
QMap< uint32_t, OrderedScreen > | m_registeredScreens |
QPlatformScreen * | m_headlessScreen = nullptr |
Definition at line 190 of file qkmsdevice_p.h.
|
protected |
Definition at line 253 of file qkmsdevice_p.h.
QKmsDevice::QKmsDevice | ( | QKmsScreenConfig * | screenConfig, |
const QString & | path = QString() ) |
Definition at line 581 of file qkmsdevice.cpp.
References QKmsDevice(), m_dri_fd, m_has_atomic_support, and m_screenConfig.
Referenced by QKmsDevice().
|
virtual |
Definition at line 598 of file qkmsdevice.cpp.
void QKmsDevice::checkConnectedScreens | ( | ) |
Definition at line 605 of file qkmsdevice.cpp.
References QKmsScreenConfig::headless(), m_dri_fd, and m_screenConfig.
|
pure virtual |
Implemented in QEglFSKmsEglDevice, QEglFSKmsGbmDevice, QEglFSKmsVsp2Device, QLinuxFbDevice, and QLinuxFbDevice.
|
protected |
Definition at line 548 of file qkmsdevice.cpp.
References m_dri_fd.
|
protected |
Definition at line 564 of file qkmsdevice.cpp.
References m_dri_fd.
|
protectedvirtual |
Reimplemented in QEglFSKmsGbmDevice, and QEglFSKmsVsp2Device.
Definition at line 1089 of file qkmsdevice.cpp.
|
protectedpure virtual |
Implemented in QEglFSKmsEglDevice, QEglFSKmsGbmDevice, QEglFSKmsVsp2Device, QLinuxFbDevice, and QLinuxFbDevice.
|
protected |
Definition at line 184 of file qkmsdevice.cpp.
References QKmsOutput::connector_id, QKmsOutput::crtc_id, QKmsOutput::crtc_index, crtcForConnector(), QKmsOutput::drm_format_requested_by_user, QKmsOutput::eglfs_plane, QKmsOutput::forced_plane_id, QKmsOutput::forced_plane_set, QKmsDevice::ScreenInfo::isPrimary, m_dri_fd, m_screenConfig, QKmsOutput::mode, QKmsOutput::mode_set, OutputConfigCurrent, OutputConfigMode, OutputConfigModeline, OutputConfigOff, OutputConfigPreferred, OutputConfigSkip, QKmsOutput::preferred_mode, QKmsOutput::saved_crtc, QKmsOutput::subpixel, and QKmsOutput::wants_forced_plane.
Referenced by createScreens(), and updateScreens().
void QKmsDevice::createScreens | ( | ) |
Definition at line 834 of file qkmsdevice.cpp.
References createScreenInfoForConnector(), discoverPlanes(), QKmsScreenConfig::headless(), m_dri_fd, and m_screenConfig.
|
protected |
Definition at line 33 of file qkmsdevice.cpp.
References m_dri_fd.
Referenced by createScreenInfoForConnector().
QString QKmsDevice::devicePath | ( | ) | const |
Definition at line 1261 of file qkmsdevice.cpp.
|
protected |
Definition at line 1170 of file qkmsdevice.cpp.
References QKmsPlane::blendOpPropertyId, QKmsPlane::crtcheightPropertyId, QKmsPlane::crtcPropertyId, QKmsPlane::crtcwidthPropertyId, QKmsPlane::crtcXPropertyId, QKmsPlane::crtcYPropertyId, enumerateProperties(), QKmsPlane::framebufferPropertyId, m_dri_fd, QKmsPlane::possibleCrtcs, QKmsPlane::rotationPropertyId, QKmsPlane::srcheightPropertyId, QKmsPlane::srcwidthPropertyId, QKmsPlane::srcXPropertyId, QKmsPlane::srcYPropertyId, QKmsPlane::type, and QKmsPlane::zposPropertyId.
Referenced by createScreens().
|
protected |
Definition at line 1132 of file qkmsdevice.cpp.
References m_dri_fd, and propTypeIs().
Referenced by discoverPlanes(), parseConnectorProperties(), and parseCrtcProperties().
int QKmsDevice::fd | ( | ) | const |
Definition at line 1256 of file qkmsdevice.cpp.
References m_dri_fd.
Referenced by QKmsOutput::restoreMode(), and QKmsOutput::setPowerState().
bool QKmsDevice::hasAtomicSupport | ( | ) |
Definition at line 1272 of file qkmsdevice.cpp.
References m_has_atomic_support.
|
pure virtual |
Implemented in QEglFSKmsEglDevice, QEglFSKmsGbmDevice, QEglFSKmsVsp2Device, QLinuxFbDevice, and QLinuxFbDevice.
|
pure virtual |
Implemented in QEglFSKmsEglDevice, QEglFSKmsGbmDevice, QEglFSKmsVsp2Device, QLinuxFbDevice, and QLinuxFbDevice.
|
protected |
Definition at line 1327 of file qkmsdevice.cpp.
References QKmsOutput::crtcIdPropertyId, and enumerateProperties().
|
protected |
Definition at line 1344 of file qkmsdevice.cpp.
References QKmsOutput::activePropertyId, enumerateProperties(), and QKmsOutput::modeIdPropertyId.
|
protectedpure virtual |
Implemented in QEglFSKmsDevice, QEglFSKmsGbmDevice, QLinuxFbDevice, and QLinuxFbDevice.
|
protectedvirtual |
Reimplemented in QEglFSKmsGbmDevice, and QEglFSKmsVsp2Device.
Definition at line 1096 of file qkmsdevice.cpp.
Definition at line 927 of file qkmsdevice.cpp.
References m_screenConfig, and QKmsScreenConfig::separateScreens().
QKmsScreenConfig * QKmsDevice::screenConfig | ( | ) | const |
Definition at line 1363 of file qkmsdevice.cpp.
References m_screenConfig.
|
protected |
Definition at line 1266 of file qkmsdevice.cpp.
References m_dri_fd.
|
protectedvirtual |
Reimplemented in QEglFSKmsDevice, and QEglFSKmsGbmDevice.
Definition at line 1105 of file qkmsdevice.cpp.
|
protectedvirtual |
Reimplemented in QEglFSKmsDevice.
Definition at line 1110 of file qkmsdevice.cpp.
|
protectedvirtual |
Reimplemented in QEglFSKmsDevice.
Definition at line 1118 of file qkmsdevice.cpp.
void QKmsDevice::updateScreens | ( | ) |
Definition at line 733 of file qkmsdevice.cpp.
References createScreenInfoForConnector(), QKmsScreenConfig::headless(), m_dri_fd, and m_screenConfig.
|
protected |
Definition at line 272 of file qkmsdevice_p.h.
|
protected |
Definition at line 261 of file qkmsdevice_p.h.
Referenced by QKmsDevice(), checkConnectedScreens(), connectorProperty(), connectorPropertyBlob(), createScreenInfoForConnector(), createScreens(), crtcForConnector(), discoverPlanes(), enumerateProperties(), fd(), setFd(), and updateScreens().
|
protected |
Definition at line 263 of file qkmsdevice_p.h.
Referenced by QKmsDevice(), and hasAtomicSupport().
|
protected |
Definition at line 276 of file qkmsdevice_p.h.
|
protected |
Definition at line 260 of file qkmsdevice_p.h.
Definition at line 274 of file qkmsdevice_p.h.
|
protected |
Definition at line 275 of file qkmsdevice_p.h.
|
protected |
Definition at line 259 of file qkmsdevice_p.h.
Referenced by QKmsDevice(), checkConnectedScreens(), createScreenInfoForConnector(), createScreens(), registerScreens(), screenConfig(), and updateScreens().