diff options
author | Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> | 2015-01-12 15:59:36 +0100 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> | 2015-01-15 23:25:48 +0100 |
commit | 97a82f62c46c272fe3ef1cd9d5c2214b6a7626af (patch) | |
tree | b8f74ccbf8bf053d44f8f5fe5533f97effca0009 /src/plugins/platforms/windows/qwindowsopengltester.h | |
parent | 0fa092cbae1593ca73577ecf9ec71283ae3f2498 (diff) |
Windows: Add infrastructure to be able to a GL renderer based on GPU.
Introduce flags for the renderer type and move code to
qwindowsopengltester. Introduce
QWindowsOpenGLTester::supportedGlesRenderers() where type-dependent
checking can be added.
Change-Id: I4bbffaf861cb0fdbea0919e081e3626fb5a872de
Task-number: QTBUG-43263
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Diffstat (limited to 'src/plugins/platforms/windows/qwindowsopengltester.h')
-rw-r--r-- | src/plugins/platforms/windows/qwindowsopengltester.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/plugins/platforms/windows/qwindowsopengltester.h b/src/plugins/platforms/windows/qwindowsopengltester.h index 98b707dcd2..6238eea4b0 100644 --- a/src/plugins/platforms/windows/qwindowsopengltester.h +++ b/src/plugins/platforms/windows/qwindowsopengltester.h @@ -37,6 +37,7 @@ #include <qtwindowsglobal.h> #include <QtCore/QByteArray> +#include <QtCore/QFlags> QT_BEGIN_NAMESPACE @@ -92,9 +93,29 @@ QDebug operator<<(QDebug d, const GpuDescription &gd); class QWindowsOpenGLTester { public: + enum Renderer { + InvalidRenderer = 0x0000, + DesktopGl = 0x0001, + AngleRendererD3d11 = 0x0002, + AngleRendererD3d9 = 0x0004, + AngleRendererD3d11Warp = 0x0008, // "Windows Advanced Rasterization Platform" + AngleBackendMask = AngleRendererD3d11 | AngleRendererD3d9 | AngleRendererD3d11Warp, + Gles = 0x0010, // ANGLE/unspecified or Generic GLES for Windows CE. + GlesMask = Gles | AngleBackendMask, + SoftwareRasterizer = 0x0020 + }; + Q_DECLARE_FLAGS(Renderers, Renderer) + + static Renderer requestedGlesRenderer(); + static Renderer requestedRenderer(); + static Renderers supportedGlesRenderers(); + static Renderers supportedRenderers(); + static bool testDesktopGL(); }; +Q_DECLARE_OPERATORS_FOR_FLAGS(QWindowsOpenGLTester::Renderers) + QT_END_NAMESPACE #endif // QWINDOWSOPENGLTESTER_H |