Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
kiollila committed Feb 19, 2018
1 parent 2be6033 commit 00f693d
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 6 deletions.
2 changes: 1 addition & 1 deletion mkspecs/devices/integrity-armv8-msm8996au/qmake.conf
Expand Up @@ -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
Expand Down
Expand Up @@ -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

Expand Down Expand Up @@ -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");
Expand Down Expand Up @@ -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");

Expand Down

0 comments on commit 00f693d

Please sign in to comment.