[-]
[+]
|
Changed |
_service:tar_git:qt5-qpa-hwcomposer-plugin.changes
|
|
[-]
[+]
|
Changed |
_service:tar_git:qt5-qpa-hwcomposer-plugin.spec
^
|
|
[-]
[+]
|
Changed |
_service:tar_git:qt5-qpa-hwcomposer-plugin-5.6.2.3.tar.bz2/hwcomposer/hwcomposer.pro
^
|
@@ -1,7 +1,7 @@
TARGET = hwcomposer
PLUGIN_TYPE = platforms
-PLUGIN_CLASS_NAME = QEglFSIntegrationPlugin
+PLUGIN_CLASS_NAME = QEglFShwcIntegrationPlugin
load(qt_plugin)
INCLUDEPATH += .
@@ -28,7 +28,7 @@
HEADERS += hwcomposer_backend_v11.h
-QT += core-private compositor-private gui-private platformsupport-private
+QT += core-private compositor-private gui-private platformsupport-private dbus
DEFINES += QEGL_EXTRA_DEBUG
CONFIG += egl qpa/genericunixfontdatabase
@@ -57,14 +57,12 @@
$$PWD/qeglfswindow.cpp \
$$PWD/qeglfsbackingstore.cpp \
$$PWD/qeglfsscreen.cpp \
- $$PWD/qeglfscontext.cpp \
- $$PWD/qeglfspageflipper.cpp
+ $$PWD/qeglfscontext.cpp
HEADERS += $$PWD/qeglfsintegration.h \
$$PWD/qeglfswindow.h \
$$PWD/qeglfsbackingstore.h \
$$PWD/qeglfsscreen.h \
- $$PWD/qeglfscontext.h \
- $$PWD/qeglfspageflipper.h
+ $$PWD/qeglfscontext.h
QMAKE_LFLAGS += $$QMAKE_LFLAGS_NOUNDEF
|
[-]
[+]
|
Changed |
_service:tar_git:qt5-qpa-hwcomposer-plugin-5.6.2.3.tar.bz2/hwcomposer/hwcomposer_backend.cpp
^
|
@@ -39,6 +39,8 @@
**
****************************************************************************/
+#include <dlfcn.h>
+
#include "hwcomposer_backend.h"
#ifdef HWC_DEVICE_API_VERSION_0_1
#include "hwcomposer_backend_v0.h"
@@ -47,13 +49,21 @@
#include "hwcomposer_backend_v11.h"
-HwComposerBackend::HwComposerBackend(hw_module_t *hwc_module)
- : hwc_module(hwc_module)
+extern "C" void *android_dlopen(const char *filename, int flags);
+extern "C" void *android_dlsym(void *handle, const char *symbol);
+extern "C" int android_dlclose(void *handle);
+
+HwComposerBackend::HwComposerBackend(hw_module_t *hwc_module, void *libmsf)
+ : hwc_module(hwc_module), libminisf(libmsf)
{
}
HwComposerBackend::~HwComposerBackend()
{
+ if (libminisf) {
+ android_dlclose(libminisf);
+ }
+
// XXX: Close/free hwc_module?
}
@@ -62,6 +72,8 @@
{
hw_module_t *hwc_module = NULL;
hw_device_t *hwc_device = NULL;
+ void *libminisf;
+ void (*startMiniSurfaceFlinger)(void) = NULL;
// Some implementations insist on having the framebuffer module opened before loading
// the hardware composer one. Therefor we rely on using the fbdev HYBRIS_EGLPLATFORM
@@ -70,6 +82,24 @@
eglGetDisplay(EGL_DEFAULT_DISPLAY);
}
+ // A reason for calling this method here is to initialize the binder
+ // thread pool such that services started from for example the
+ // hwcomposer plugin don't get stuck.
+ // Another is to have the SurfaceFlinger service in the same process
+ // as hwcomposer, on some devices this could improve performance.
+
+ libminisf = android_dlopen("libminisf.so", RTLD_LAZY);
+
+ if (libminisf) {
+ startMiniSurfaceFlinger = (void(*)(void))android_dlsym(libminisf, "startMiniSurfaceFlinger");
+ }
+
+ if (startMiniSurfaceFlinger) {
+ startMiniSurfaceFlinger();
+ } else {
+ fprintf(stderr, "libminisf is incompatible or missing. Can not possibly start the SurfaceFlinger service. If you're experiencing troubles with media try updating droidmedia (and/or this plugin).");
+ }
+
// Open hardware composer
HWC_PLUGIN_ASSERT_ZERO(hw_get_module(HWC_HARDWARE_MODULE_ID, (const hw_module_t **)(&hwc_module)));
@@ -99,7 +129,7 @@
if ((hwc_device->version == HWC_DEVICE_API_VERSION_0_1) ||
(hwc_device->version == HWC_DEVICE_API_VERSION_0_2) ||
(hwc_device->version == HWC_DEVICE_API_VERSION_0_3)) {
- return new HwComposerBackend_v0(hwc_module, hwc_device);
+ return new HwComposerBackend_v0(hwc_module, hwc_device, libminisf);
}
#endif
@@ -109,12 +139,12 @@
case HWC_DEVICE_API_VERSION_0_1:
case HWC_DEVICE_API_VERSION_0_2:
case HWC_DEVICE_API_VERSION_0_3:
- return new HwComposerBackend_v0(hwc_module, hwc_device);
+ return new HwComposerBackend_v0(hwc_module, hwc_device, libminisf);
break;
#endif
#ifdef HWC_DEVICE_API_VERSION_1_0
case HWC_DEVICE_API_VERSION_1_0:
- return new HwComposerBackend_v10(hwc_module, hwc_device);
+ return new HwComposerBackend_v10(hwc_module, hwc_device, libminisf);
break;
#endif /* HWC_DEVICE_API_VERSION_1_0 */
#ifdef HWC_PLUGIN_HAVE_HWCOMPOSER1_API
@@ -128,9 +158,12 @@
#ifdef HWC_DEVICE_API_VERSION_1_4
case HWC_DEVICE_API_VERSION_1_4:
#endif
+#ifdef HWC_DEVICE_API_VERSION_1_5
+ case HWC_DEVICE_API_VERSION_1_5:
+#endif
// HWC_NUM_DISPLAY_TYPES is the actual size of the array, otherwise
// underrun/overruns happen
- return new HwComposerBackend_v11(hwc_module, hwc_device, HWC_NUM_DISPLAY_TYPES);
+ return new HwComposerBackend_v11(hwc_module, hwc_device, libminisf, HWC_NUM_DISPLAY_TYPES);
break;
#endif /* HWC_PLUGIN_HAVE_HWCOMPOSER1_API */
default:
|
[-]
[+]
|
Changed |
_service:tar_git:qt5-qpa-hwcomposer-plugin-5.6.2.3.tar.bz2/hwcomposer/hwcomposer_backend.h
^
|
@@ -80,7 +80,7 @@
{ int res; if ((res = (x)) != 0) \
qFatal("QPA-HWC: %s in %s returned %i", (#x), __func__, res); }
-static uint32_t interpreted_version(hw_device_t *hwc_device)
+inline static uint32_t interpreted_version(hw_device_t *hwc_device)
{
uint32_t version = hwc_device->version;
@@ -112,10 +112,11 @@
virtual bool requestUpdate(QEglFSWindow *) { return false; }
protected:
- HwComposerBackend(hw_module_t *hwc_module);
+ HwComposerBackend(hw_module_t *hwc_module, void *libmsf);
virtual ~HwComposerBackend();
hw_module_t *hwc_module;
+ void *libminisf;
};
#endif /* HWCOMPOSER_BACKEND_H */
|
[-]
[+]
|
Changed |
_service:tar_git:qt5-qpa-hwcomposer-plugin-5.6.2.3.tar.bz2/hwcomposer/hwcomposer_backend_v0.cpp
^
|
@@ -44,8 +44,8 @@
#ifdef HWC_DEVICE_API_VERSION_0_1
-HwComposerBackend_v0::HwComposerBackend_v0(hw_module_t *hwc_module, hw_device_t *hw_device)
- : HwComposerBackend(hwc_module)
+HwComposerBackend_v0::HwComposerBackend_v0(hw_module_t *hwc_module, hw_device_t *hw_device, void *libminisf)
+ : HwComposerBackend(hwc_module, libminisf)
, hwc_device((hwc_composer_device_t *)hw_device)
, hwc_layer_list(NULL)
{
|
[-]
[+]
|
Changed |
_service:tar_git:qt5-qpa-hwcomposer-plugin-5.6.2.3.tar.bz2/hwcomposer/hwcomposer_backend_v0.h
^
|
@@ -47,7 +47,7 @@
class HwComposerBackend_v0 : public HwComposerBackend {
public:
- HwComposerBackend_v0(hw_module_t *hwc_module, hw_device_t *hw_device);
+ HwComposerBackend_v0(hw_module_t *hwc_module, hw_device_t *hw_device, void *libminisf);
virtual ~HwComposerBackend_v0();
virtual EGLNativeDisplayType display();
|
[-]
[+]
|
Changed |
_service:tar_git:qt5-qpa-hwcomposer-plugin-5.6.2.3.tar.bz2/hwcomposer/hwcomposer_backend_v10.cpp
^
|
@@ -132,8 +132,8 @@
};
-HwComposerBackend_v10::HwComposerBackend_v10(hw_module_t *hwc_module, hw_device_t *hw_device)
- : HwComposerBackend(hwc_module)
+HwComposerBackend_v10::HwComposerBackend_v10(hw_module_t *hwc_module, hw_device_t *hw_device, void *libminisf)
+ : HwComposerBackend(hwc_module, libminisf)
, hwc_device((hwc_composer_device_1_t *)hw_device)
, hwc_list(NULL)
, hwc_mList(NULL)
@@ -146,6 +146,8 @@
HwComposerBackend_v10::~HwComposerBackend_v10()
{
+ hwc_device->eventControl(hwc_device, 0, HWC_EVENT_VSYNC, 0);
+
// Close the hwcomposer handle
HWC_PLUGIN_EXPECT_ZERO(hwc_close_1(hwc_device));
|
[-]
[+]
|
Changed |
_service:tar_git:qt5-qpa-hwcomposer-plugin-5.6.2.3.tar.bz2/hwcomposer/hwcomposer_backend_v10.h
^
|
@@ -51,7 +51,7 @@
class HwComposerBackend_v10 : public HwComposerBackend {
public:
- HwComposerBackend_v10(hw_module_t *hwc_module, hw_device_t *hw_device);
+ HwComposerBackend_v10(hw_module_t *hwc_module, hw_device_t *hw_device, void *libminisf);
virtual ~HwComposerBackend_v10();
virtual EGLNativeDisplayType display();
|
[-]
[+]
|
Changed |
_service:tar_git:qt5-qpa-hwcomposer-plugin-5.6.2.3.tar.bz2/hwcomposer/hwcomposer_backend_v11.cpp
^
|
@@ -48,10 +48,11 @@
#include <QtCore/QCoreApplication>
#include <private/qwindow_p.h>
+#include <private/qsystrace_p.h>
+
#ifdef HWC_PLUGIN_HAVE_HWCOMPOSER1_API
// #define QPA_HWC_TIMING
-// #define QPA_HWC_SYNC_BEFORE_SET
#ifdef QPA_HWC_TIMING
#define QPA_HWC_TIMING_SAMPLE(variable) variable = timer.nsecsElapsed()
@@ -71,6 +72,13 @@
static void hwc11_callback_vsync(const struct hwc_procs *procs, int, int64_t)
{
+ static int counter = 0;
+ ++counter;
+ if (counter % 2)
+ QSystrace::begin("graphics", "QPA::vsync", "");
+ else
+ QSystrace::end("graphics", "QPA::vsync", "");
+
QCoreApplication::postEvent(static_cast<const HwcProcs_v11 *>(procs)->backend, new QEvent(QEvent::User));
}
@@ -90,6 +98,7 @@
hwc_composer_device_1_t *hwcdevice;
hwc_display_contents_1_t **mlist;
int num_displays;
+ bool m_syncBeforeSet;
protected:
void present(HWComposerNativeWindowBuffer *buffer);
@@ -112,25 +121,28 @@
{
int bufferCount = qBound(2, qgetenv("QPA_HWC_BUFFER_COUNT").toInt(), 8);
setBufferCount(bufferCount);
+ m_syncBeforeSet = qEnvironmentVariableIsSet("QPA_HWC_SYNC_BEFORE_SET");
}
void HWComposer::present(HWComposerNativeWindowBuffer *buffer)
{
+ QSystraceEvent trace("graphics", "QPA::present");
+
QPA_HWC_TIMING_SAMPLE(presentTime);
fblayer->handle = buffer->handle;
fblayer->releaseFenceFd = -1;
-#ifdef QPA_HWC_SYNC_BEFORE_SET
- int acqFd = getFenceBufferFd(buffer);
- if (acqFd >= 0) {
- sync_wait(acqFd, -1);
- close(acqFd);
- fblayer->acquireFenceFd = -1;
+ if (m_syncBeforeSet) {
+ int acqFd = getFenceBufferFd(buffer);
+ if (acqFd >= 0) {
+ sync_wait(acqFd, -1);
+ close(acqFd);
+ fblayer->acquireFenceFd = -1;
+ }
+ } else {
+ fblayer->acquireFenceFd = getFenceBufferFd(buffer);
}
-#else
- fblayer->acquireFenceFd = getFenceBufferFd(buffer);
-#endif
QPA_HWC_TIMING_SAMPLE(syncTime);
@@ -139,8 +151,10 @@
QPA_HWC_TIMING_SAMPLE(prepareTime);
+ QSystrace::begin("graphics", "QPA::set", "");
err = hwcdevice->set(hwcdevice, num_displays, mlist);
HWC_PLUGIN_EXPECT_ZERO(err);
+ QSystrace::end("graphics", "QPA::set", "");
QPA_HWC_TIMING_SAMPLE(setTime);
@@ -152,8 +166,8 @@
}
}
-HwComposerBackend_v11::HwComposerBackend_v11(hw_module_t *hwc_module, hw_device_t *hw_device, int num_displays)
- : HwComposerBackend(hwc_module)
+HwComposerBackend_v11::HwComposerBackend_v11(hw_module_t *hwc_module, hw_device_t *hw_device, void *libminisf, int num_displays)
+ : HwComposerBackend(hwc_module, libminisf)
, hwc_device((hwc_composer_device_1_t *)hw_device)
, hwc_list(NULL)
, hwc_mList(NULL)
@@ -174,6 +188,8 @@
HwComposerBackend_v11::~HwComposerBackend_v11()
{
+ hwc_device->eventControl(hwc_device, 0, HWC_EVENT_VSYNC, 0);
+
// Close the hwcomposer handle
if (!qgetenv("QPA_HWC_WORKAROUNDS").split(',').contains("no-close-hwc"))
HWC_PLUGIN_EXPECT_ZERO(hwc_close_1(hwc_device));
@@ -247,6 +263,9 @@
bool tryToForceGLES = !qgetenv("QPA_HWC_FORCE_GLES").isEmpty();
layer->planeAlpha = tryToForceGLES ? 1 : 255;
#endif
+#ifdef HWC_DEVICE_API_VERSION_1_5
+ layer->surfaceDamage.numRects = 0;
+#endif
layer = &hwc_list->hwLayers[1];
memset(layer, 0, sizeof(hwc_layer_1_t));
@@ -272,6 +291,9 @@
#if (ANDROID_VERSION_MAJOR >= 4) && (ANDROID_VERSION_MINOR >= 3) || (ANDROID_VERSION_MAJOR >= 5)
layer->planeAlpha = 0xff;
#endif
+#ifdef HWC_DEVICE_API_VERSION_1_5
+ layer->surfaceDamage.numRects = 0;
+#endif
hwc_list->retireFenceFd = -1;
hwc_list->flags = HWC_GEOMETRY_CHANGED;
@@ -321,12 +343,18 @@
// screen has been turned off. Doing so leads to logcat errors being
// logged.
m_vsyncTimeout.stop();
+ hwc_device->eventControl(hwc_device, 0, HWC_EVENT_VSYNC, 0);
#ifdef HWC_DEVICE_API_VERSION_1_4
if (hwc_version == HWC_DEVICE_API_VERSION_1_4) {
HWC_PLUGIN_EXPECT_ZERO(hwc_device->setPowerMode(hwc_device, 0, HWC_POWER_MODE_OFF));
} else
#endif
+#ifdef HWC_DEVICE_API_VERSION_1_5
+ if (hwc_version == HWC_DEVICE_API_VERSION_1_5) {
+ HWC_PLUGIN_EXPECT_ZERO(hwc_device->setPowerMode(hwc_device, 0, HWC_POWER_MODE_OFF));
+ } else
+#endif
HWC_PLUGIN_EXPECT_ZERO(hwc_device->blank(hwc_device, 0, 1));
} else {
#ifdef HWC_DEVICE_API_VERSION_1_4
@@ -334,11 +362,22 @@
HWC_PLUGIN_EXPECT_ZERO(hwc_device->setPowerMode(hwc_device, 0, HWC_POWER_MODE_NORMAL));
} else
#endif
+#ifdef HWC_DEVICE_API_VERSION_1_5
+ if (hwc_version == HWC_DEVICE_API_VERSION_1_5) {
+ HWC_PLUGIN_EXPECT_ZERO(hwc_device->setPowerMode(hwc_device, 0, HWC_POWER_MODE_NORMAL));
+ } else
+#endif
HWC_PLUGIN_EXPECT_ZERO(hwc_device->blank(hwc_device, 0, 0));
if (hwc_list) {
hwc_list->flags |= HWC_GEOMETRY_CHANGED;
}
+
+ // If we have pending updates, make sure those start happening now..
+ if (m_pendingUpdate.size()) {
+ hwc_device->eventControl(hwc_device, 0, HWC_EVENT_VSYNC, 1);
+ m_vsyncTimeout.start(50, this);
+ }
}
}
@@ -373,7 +412,8 @@
{
if (e->type() == QEvent::User) {
static int idleTime = qBound(0, qgetenv("QPA_HWC_IDLE_TIME").toInt(), 100);
- m_deliverUpdateTimeout.start(idleTime, this);
+ if (!m_deliverUpdateTimeout.isActive())
+ m_deliverUpdateTimeout.start(idleTime, this);
return true;
}
return QObject::event(e);
@@ -381,6 +421,7 @@
void HwComposerBackend_v11::handleVSyncEvent()
{
+ QSystraceEvent trace("graphics", "QPA::handleVsync");
QSet<QWindow *> pendingWindows = m_pendingUpdate;
m_pendingUpdate.clear();
foreach (QWindow *w, pendingWindows) {
|
[-]
[+]
|
Changed |
_service:tar_git:qt5-qpa-hwcomposer-plugin-5.6.2.3.tar.bz2/hwcomposer/hwcomposer_backend_v11.h
^
|
@@ -56,7 +56,7 @@
class HwComposerBackend_v11 : public QObject, public HwComposerBackend {
public:
- HwComposerBackend_v11(hw_module_t *hwc_module, hw_device_t *hw_device, int num_displays);
+ HwComposerBackend_v11(hw_module_t *hwc_module, hw_device_t *hw_device, void *libminisf, int num_displays);
virtual ~HwComposerBackend_v11();
virtual EGLNativeDisplayType display();
|
[-]
[+]
|
Changed |
_service:tar_git:qt5-qpa-hwcomposer-plugin-5.6.2.3.tar.bz2/hwcomposer/main.cpp
^
|
@@ -44,20 +44,19 @@
QT_BEGIN_NAMESPACE
-class QEglFSIntegrationPlugin : public QPlatformIntegrationPlugin
+class QEglFShwcIntegrationPlugin : public QPlatformIntegrationPlugin
{
Q_OBJECT
Q_PLUGIN_METADATA(IID QPlatformIntegrationFactoryInterface_iid FILE "hwcomposer.json")
-
public:
- QPlatformIntegration *create(const QString&, const QStringList&);
+ QPlatformIntegration *create(const QString&, const QStringList&) Q_DECL_OVERRIDE;
};
-QPlatformIntegration* QEglFSIntegrationPlugin::create(const QString& system, const QStringList& paramList)
+QPlatformIntegration* QEglFShwcIntegrationPlugin::create(const QString& system, const QStringList& paramList)
{
Q_UNUSED(paramList);
- if (system.toLower() == "hwcomposer")
- return new QEglFSIntegration;
+ if (!system.compare(QLatin1String("hwcomposer"), Qt::CaseInsensitive))
+ return new QEglFSIntegration();
return 0;
}
|
[-]
[+]
|
Changed |
_service:tar_git:qt5-qpa-hwcomposer-plugin-5.6.2.3.tar.bz2/hwcomposer/qeglfscontext.cpp
^
|
@@ -42,7 +42,6 @@
#include "qeglfscontext.h"
#include "qeglfswindow.h"
#include "qeglfsintegration.h"
-#include "qeglfspageflipper.h"
#include <QtPlatformSupport/private/qeglpbuffer_p.h>
#include <QtGui/QSurface>
#include <QtDebug>
@@ -51,7 +50,6 @@
QEglFSContext::QEglFSContext(
HwComposerContext *hwc
- , QEglFSPageFlipper *pageFlipper
, const QSurfaceFormat &format
, QPlatformOpenGLContext *share
, EGLDisplay display
@@ -63,12 +61,12 @@
hwc->surfaceFormatFor(format)
, share
, display
- , QEglFSIntegration::chooseConfig(display, hwc->surfaceFormatFor(format))
+ , &(m_config = QEglFSIntegration::chooseConfig(display, hwc->surfaceFormatFor(format)))
#if QT_VERSION < QT_VERSION_CHECK(5, 3, 0)
, eglApi
#endif
),
- m_hwc(hwc), m_pageFlipper(pageFlipper), m_swapIntervalConfigured(false)
+ m_hwc(hwc), m_swapIntervalConfigured(false)
{
}
|
[-]
[+]
|
Changed |
_service:tar_git:qt5-qpa-hwcomposer-plugin-5.6.2.3.tar.bz2/hwcomposer/qeglfscontext.h
^
|
@@ -44,7 +44,6 @@
#include <QtPlatformSupport/private/qeglconvenience_p.h>
#include <QtPlatformSupport/private/qeglplatformcontext_p.h>
-#include "qeglfspageflipper.h"
#include "hwcomposer_context.h"
@@ -53,7 +52,7 @@
class QEglFSContext : public QEGLPlatformContext
{
public:
- QEglFSContext(HwComposerContext *hwc, QEglFSPageFlipper *pageFlipper,
+ QEglFSContext(HwComposerContext *hwc,
const QSurfaceFormat &format, QPlatformOpenGLContext *share, EGLDisplay display
#if QT_VERSION < QT_VERSION_CHECK(5, 3, 0)
, EGLenum eglApi = EGL_OPENGL_ES_API);
@@ -65,7 +64,7 @@
void swapBuffers(QPlatformSurface *surface);
private:
HwComposerContext *m_hwc;
- QEglFSPageFlipper *m_pageFlipper;
+ EGLConfig m_config;
bool m_swapIntervalConfigured;
};
|
[-]
[+]
|
Changed |
_service:tar_git:qt5-qpa-hwcomposer-plugin-5.6.2.3.tar.bz2/hwcomposer/qeglfsintegration.cpp
^
|
@@ -63,7 +63,6 @@
#include <qpa/qplatforminputcontextfactory_p.h>
#include "qeglfscontext.h"
-#include "qeglfspageflipper.h"
#include <EGL/egl.h>
@@ -115,7 +114,11 @@
QEglFSIntegration::~QEglFSIntegration()
{
+#if QT_VERSION >= 0x050500
+ destroyScreen(mScreen);
+#else
delete mScreen;
+#endif
eglTerminate(mDisplay);
delete mHwc;
@@ -150,7 +153,7 @@
QPlatformOpenGLContext *QEglFSIntegration::createPlatformOpenGLContext(QOpenGLContext *context) const
{
- return new QEglFSContext(mHwc, static_cast<QEglFSPageFlipper *>(mScreen->pageFlipper()), mHwc->surfaceFormatFor(context->format()), context->shareHandle(), mDisplay);
+ return new QEglFSContext(mHwc, mHwc->surfaceFormatFor(context->format()), context->shareHandle(), mDisplay);
}
QPlatformOffscreenSurface *QEglFSIntegration::createPlatformOffscreenSurface(QOffscreenSurface *surface) const
@@ -197,8 +200,8 @@
mHwc->sleepDisplay(true);
} else if (lowerCaseResource == "displayon") {
// Called from lipstick to turn on the display (src/homeapplication.cpp)
- mHwc->sleepDisplay(false);
- }
+ mHwc->sleepDisplay(false);
+ }
return NULL;
}
@@ -246,7 +249,7 @@
QPlatformTheme *QEglFSIntegration::createPlatformTheme(const QString &name) const
{
- if (name == QLatin1String("generic_qeglfs"))
+ if (name == QLatin1String("generic_eglfs"))
return new GenericEglFSTheme;
return GenericEglFSTheme::createUnixTheme(name);
|
[-]
[+]
|
Changed |
_service:tar_git:qt5-qpa-hwcomposer-plugin-5.6.2.3.tar.bz2/hwcomposer/qeglfsscreen.cpp
^
|
@@ -41,7 +41,6 @@
#include "qeglfsscreen.h"
#include "qeglfswindow.h"
-#include "qeglfspageflipper.h"
#include <private/qmath_p.h>
@@ -49,7 +48,6 @@
QEglFSScreen::QEglFSScreen(HwComposerContext *hwc, EGLDisplay dpy)
: m_hwc(hwc)
- , m_pageFlipper(new QEglFSPageFlipper(this))
, m_dpy(dpy)
{
#ifdef QEGL_EXTRA_DEBUG
@@ -59,17 +57,8 @@
QEglFSScreen::~QEglFSScreen()
{
- delete m_pageFlipper;
}
-#if 0
-QPlatformScreenPageFlipper *QEglFSScreen::pageFlipper() const
-{
- return m_pageFlipper;
-}
-#endif
-
-
QRect QEglFSScreen::geometry() const
{
return QRect(QPoint(0, 0), m_hwc->screenSize());
|