eglfs_kms: Subpixel antialiasing type

[ChangeLog][QPA][eglfs][kms] Provide subpixel antialiasing type.

Change-Id: I1eed487cea675d988a128f63a9d5c2c0ddeae21f
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
This commit is contained in:
Pier Luigi Fiorini 2015-08-01 07:00:22 +02:00 committed by Laszlo Agocs
parent 9facf1be9b
commit 0ea56cc075
3 changed files with 22 additions and 0 deletions

View File

@ -284,6 +284,7 @@ QEglFSKmsScreen *QEglFSKmsDevice::screenForConnector(drmModeResPtr resources, dr
false,
drmModeGetCrtc(m_dri_fd, crtc_id),
modes,
connector->subpixel,
connectorProperty(connector, QByteArrayLiteral("DPMS"))
};

View File

@ -321,6 +321,24 @@ qreal QEglFSKmsScreen::refreshRate() const
return refresh > 0 ? refresh : 60;
}
QPlatformScreen::SubpixelAntialiasingType QEglFSKmsScreen::subpixelAntialiasingTypeHint() const
{
switch (m_output.subpixel) {
default:
case DRM_MODE_SUBPIXEL_UNKNOWN:
case DRM_MODE_SUBPIXEL_NONE:
return Subpixel_None;
case DRM_MODE_SUBPIXEL_HORIZONTAL_RGB:
return Subpixel_RGB;
case DRM_MODE_SUBPIXEL_HORIZONTAL_BGR:
return Subpixel_BGR;
case DRM_MODE_SUBPIXEL_VERTICAL_RGB:
return Subpixel_VRGB;
case DRM_MODE_SUBPIXEL_VERTICAL_BGR:
return Subpixel_VBGR;
}
}
QPlatformScreen::PowerState QEglFSKmsScreen::powerState() const
{
return m_powerState;

View File

@ -60,6 +60,7 @@ struct QEglFSKmsOutput
bool mode_set;
drmModeCrtcPtr saved_crtc;
QList<drmModeModeInfo> modes;
int subpixel;
drmModePropertyPtr dpms_prop;
};
@ -104,6 +105,8 @@ public:
QEglFSKmsOutput &output() { return m_output; }
void restoreMode();
SubpixelAntialiasingType subpixelAntialiasingTypeHint() const Q_DECL_OVERRIDE;
QPlatformScreen::PowerState powerState() const Q_DECL_OVERRIDE;
void setPowerState(QPlatformScreen::PowerState state) Q_DECL_OVERRIDE;