diff options
author | Kimmo Ollila <kimmo.ollila@qt.io> | 2018-02-06 11:15:42 +0200 |
---|---|---|
committer | Kimmo Ollila <kimmo.ollila@qt.io> | 2018-02-19 13:39:09 +0000 |
commit | 00f693d3e5046999270c92731e34a3e7fcd01c6b (patch) | |
tree | b6385141f95f5f864376aca85add0d671647ca8d /src | |
parent | 2be6033c4f19b97ca2073cd44b500397adb9270a (diff) | |
download | qtbase-00f693d3e5046999270c92731e34a3e7fcd01c6b.tar.gz |
Add WFD_DEVICE_CLIENT_TYPE attribute for INTEGRITY S820Am ADP
This is needed to be compatible with latest Qualcomm BSP releases.
This patch also makes it possible to select HW layer via
QT_OPENWFD_CLIENT_ID and QT_OPENWFD_PIPELINE_ID environment variables.
Change-Id: Ie795b21afc61a1de7c1d0b52cdb30a754e3f8266
Reviewed-by: Janne Koskinen <janne.p.koskinen@qt.io>
Reviewed-by: Timo Aarnipuro <timo.aarnipuro@qt.io>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/platforms/eglfs/deviceintegration/eglfs_openwfd/qeglfsopenwfdintegration.cpp | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_openwfd/qeglfsopenwfdintegration.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_openwfd/qeglfsopenwfdintegration.cpp index bb176a69d2..738c30c65a 100644 --- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_openwfd/qeglfsopenwfdintegration.cpp +++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_openwfd/qeglfsopenwfdintegration.cpp @@ -46,7 +46,7 @@ QT_BEGIN_NAMESPACE #define MAX_NUM_OF_WFD_BUFFERS 3 #define MAX_NUM_OF_WFD_DEVICES 4 -#define MAX_NUM_OF_WFD_PIPELINES 4 +#define MAX_NUM_OF_WFD_PIPELINES 16 #define MAX_NUM_OF_WFD_PORT_MODES 64 #define MAX_NUM_OF_WFD_PORTS 4 @@ -77,7 +77,17 @@ void QEglFSOpenWFDIntegration::platformInit() wfdEnumerateDevices(devIds, numDevs, nullptr); // Create device - mDevice = wfdCreateDevice(WFD_DEFAULT_DEVICE_ID, nullptr); + WFDint dev_attribs[3] = {WFD_DEVICE_CLIENT_TYPE, + WFD_CLIENT_ID_CLUSTER, + WFD_NONE}; + + bool ok; + WFDint clientType = qgetenv("QT_OPENWFD_CLIENT_ID").toInt(&ok, 16); + + if (ok) + dev_attribs[1] = clientType; + + mDevice = wfdCreateDevice(WFD_DEFAULT_DEVICE_ID, dev_attribs); if (WFD_INVALID_HANDLE == mDevice) qFatal( "Failed to create wfd device"); @@ -138,9 +148,13 @@ EGLNativeWindowType QEglFSOpenWFDIntegration::createNativeWindow(QPlatformWindow WFDint pipelineIds[MAX_NUM_OF_WFD_PIPELINES]; wfdEnumeratePipelines(mDevice, pipelineIds, numPipelines, nullptr); - WFDint testId = 0; - testId = pipelineIds[0]; - WFDPipeline pipeline = wfdCreatePipeline(mDevice, testId, nullptr); + bool ok; + WFDint pipelineId = qgetenv("QT_OPENWFD_PIPELINE_ID").toInt(&ok); + + if (!ok) + pipelineId = pipelineIds[0]; + + WFDPipeline pipeline = wfdCreatePipeline(mDevice, pipelineId, nullptr); if (WFD_INVALID_HANDLE == pipeline) qFatal("Failed to create wfd pipeline"); |