[-]
[+]
|
Changed |
_service:tar_git:qt5-qpa-hwcomposer-plugin.changes
|
|
[-]
[+]
|
Changed |
_service:tar_git:qt5-qpa-hwcomposer-plugin.spec
^
|
|
[-]
[+]
|
Changed |
_service
^
|
@@ -2,6 +2,6 @@
<service name="tar_git">
<param name="url">http://github.com/mer-hybris/qt5-qpa-hwcomposer-plugin.git</param>
<param name="branch">master</param>
- <param name="revision">30e0e080550d2ac0202b4817cbee3a12fa43b961</param>
+ <param name="revision">HEAD</param>
</service>
</services>
|
[-]
[+]
|
Changed |
_service:tar_git:qt5-qpa-hwcomposer-plugin-5.6.2.12.tar.bz2/hwcomposer/hwcomposer_backend_v11.cpp
^
|
@@ -99,6 +99,7 @@
hwc_display_contents_1_t **mlist;
int num_displays;
bool m_syncBeforeSet;
+ bool m_waitOnRetireFence;
protected:
void present(HWComposerNativeWindowBuffer *buffer);
@@ -122,6 +123,7 @@
int bufferCount = qBound(2, qgetenv("QPA_HWC_BUFFER_COUNT").toInt(), 8);
setBufferCount(bufferCount);
m_syncBeforeSet = qEnvironmentVariableIsSet("QPA_HWC_SYNC_BEFORE_SET");
+ m_waitOnRetireFence = qEnvironmentVariableIsSet("QPA_HWC_WAIT_ON_RETIRE_FENCE");
}
void HWComposer::present(HWComposerNativeWindowBuffer *buffer)
@@ -133,6 +135,13 @@
fblayer->handle = buffer->handle;
fblayer->releaseFenceFd = -1;
+ int retireFenceFd = -1;
+
+ if (m_waitOnRetireFence) {
+ retireFenceFd = mlist[0]->retireFenceFd;
+ mlist[0]->retireFenceFd = -1;
+ }
+
if (m_syncBeforeSet) {
int acqFd = getFenceBufferFd(buffer);
if (acqFd >= 0) {
@@ -160,7 +169,10 @@
setFenceBufferFd(buffer, fblayer->releaseFenceFd);
- if (mlist[0]->retireFenceFd != -1) {
+ if (m_waitOnRetireFence && retireFenceFd != -1) {
+ sync_wait(retireFenceFd, -1);
+ close(retireFenceFd);
+ } else if (!m_waitOnRetireFence && mlist[0]->retireFenceFd != -1) {
close(mlist[0]->retireFenceFd);
mlist[0]->retireFenceFd = -1;
}
@@ -476,7 +488,7 @@
bool HwComposerBackend_v11::event(QEvent *e)
{
if (e->type() == QEvent::User) {
- static int idleTime = qBound(0, qgetenv("QPA_HWC_IDLE_TIME").toInt(), 100);
+ static int idleTime = qBound(5, qgetenv("QPA_HWC_IDLE_TIME").toInt(), 100);
if (!m_deliverUpdateTimeout.isActive())
m_deliverUpdateTimeout.start(idleTime, this);
return true;
|
[-]
[+]
|
Changed |
_service:tar_git:qt5-qpa-hwcomposer-plugin-5.6.2.12.tar.bz2/hwcomposer/hwcomposer_backend_v20.cpp
^
|
@@ -246,6 +246,8 @@
{
hwc2_compat_display_set_vsync_enabled(hwc2_primary_display, HWC2_VSYNC_DISABLE);
+ hwc2_compat_display_set_power_mode(hwc2_primary_display, HWC2_POWER_MODE_DOZE);
+
// Close the hwcomposer handle
if (!qgetenv("QPA_HWC_WORKAROUNDS").split(',').contains("no-close-hwc"))
free(hwc2_device);
@@ -389,7 +391,7 @@
bool HwComposerBackend_v20::event(QEvent *e)
{
if (e->type() == QEvent::User) {
- static int idleTime = qBound(0, qgetenv("QPA_HWC_IDLE_TIME").toInt(), 100);
+ static int idleTime = qBound(5, qgetenv("QPA_HWC_IDLE_TIME").toInt(), 100);
if (!m_deliverUpdateTimeout.isActive())
m_deliverUpdateTimeout.start(idleTime, this);
return true;
|