summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGunnar Sletta <gunnar.sletta@nokia.com>2012-01-31 09:14:52 +0100
committerQt by Nokia <qt-info@nokia.com>2012-02-01 08:25:45 +0100
commit7518adbb131ac05fe4e96880e47adcf35fc1c040 (patch)
treee3a6eae0b147832497526f115b67e99a73623b97
parentd394ca7f27197cfbfc28eb9a08eb0db261dd9d3d (diff)
Introduced BufferQueueingOpenGL capability in platofrm integration
Change-Id: Iedb7255862fd3a11aceae0e06e90a5539febc7e7 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
-rw-r--r--src/gui/kernel/qplatformintegration_qpa.cpp21
-rw-r--r--src/gui/kernel/qplatformintegration_qpa.h4
-rw-r--r--src/plugins/platforms/cocoa/qcocoaintegration.mm1
3 files changed, 25 insertions, 1 deletions
diff --git a/src/gui/kernel/qplatformintegration_qpa.cpp b/src/gui/kernel/qplatformintegration_qpa.cpp
index ec9a7fc983..e867e4e588 100644
--- a/src/gui/kernel/qplatformintegration_qpa.cpp
+++ b/src/gui/kernel/qplatformintegration_qpa.cpp
@@ -172,6 +172,27 @@ QPlatformNativeInterface * QPlatformIntegration::nativeInterface() const
*/
/*!
+ \enum QPlatformIntegration::Capability
+
+ Capabilities are used to determing specific features of a platform integration
+
+ \value ThreadedPixmaps The platform uses a pixmap implementation that is reentrant
+ and can be used from multiple threads, like the raster paint engine and QImage based
+ pixmaps.
+
+ \value OpenGL The platform supports OpenGL
+
+ \value ThreadedOpenGL The platform supports using OpenGL outside the GUI thread.
+
+ \value SharedGraphicsCache The platform supports a shared graphics cache
+
+ \value BufferQueueingOpenGL The OpenGL implementation on the platform will queue
+ up buffers when swapBuffers() is called and block only when its buffer pipeline
+ is full, rather than block immediately.
+ */
+
+
+/*!
\fn QAbstractEventDispatcher *QPlatformIntegration::guiThreadEventDispatcher() const = 0
diff --git a/src/gui/kernel/qplatformintegration_qpa.h b/src/gui/kernel/qplatformintegration_qpa.h
index f3dc43094a..efaf495b81 100644
--- a/src/gui/kernel/qplatformintegration_qpa.h
+++ b/src/gui/kernel/qplatformintegration_qpa.h
@@ -74,7 +74,9 @@ public:
ThreadedPixmaps = 1,
OpenGL = 2,
ThreadedOpenGL = 3,
- SharedGraphicsCache = 4
+ SharedGraphicsCache = 4,
+ BufferQueueingOpenGL = 5
+
};
virtual ~QPlatformIntegration() { }
diff --git a/src/plugins/platforms/cocoa/qcocoaintegration.mm b/src/plugins/platforms/cocoa/qcocoaintegration.mm
index 3abfe2c990..fb8e487029 100644
--- a/src/plugins/platforms/cocoa/qcocoaintegration.mm
+++ b/src/plugins/platforms/cocoa/qcocoaintegration.mm
@@ -150,6 +150,7 @@ bool QCocoaIntegration::hasCapability(QPlatformIntegration::Capability cap) cons
case ThreadedPixmaps: return true;
case OpenGL : return true;
case ThreadedOpenGL : return true;
+ case BufferQueueingOpenGL: return true;
default: return QPlatformIntegration::hasCapability(cap);
}
}