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> (cherry picked from commit 00f693d3e5046999270c92731e34a3e7fcd01c6b) Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
This commit is contained in:
parent
6d45c28ed4
commit
0e85b554ad
@ -38,7 +38,7 @@ QMAKE_LIBDIR += $$(QCLIBS_DIR)/multimedia/display
|
||||
|
||||
QMAKE_INCDIR += $$(QC_MULTIMEDIA_INC_DIR)
|
||||
|
||||
QMAKE_LIBS_EGL += -lESXEGL_Adreno -lESXGLESv2_Adreno -ladreno_utils -lGSLUser -lOSUser -lpanel -livfs -lposix -lpmem -ltzbsp -lpaged_alloc -lglnext-llvm -lopenwfd
|
||||
QMAKE_LIBS_EGL += -lESXEGL_Adreno -lESXGLESv2_Adreno -ladreno_utils -lGSLUser -lOSUser -lpanel -livfs -lposix -lpmem -ltzbsp -lpaged_alloc -lglnext-llvm -lopenwfd -lplanedef -lmmosallibrary
|
||||
QMAKE_LIBS_OPENGL_ES2 += $${QMAKE_LIBS_EGL}
|
||||
|
||||
QMAKE_CFLAGS += -DINTEGRITY
|
||||
|
@ -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");
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user