summaryrefslogtreecommitdiffstats
path: root/src/core/ozone
Commit message (Collapse)AuthorAgeFilesLines
* Adaptations for Chromium 73Allan Sandfeld Jensen2019-03-234-6/+50
| | | | | Change-Id: I565d1e327852110a5abebed3388d7cd6986bef06 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Merge remote-tracking branch 'origin/5.12' into 5.13Allan Sandfeld Jensen2019-03-201-1/+1
|\ | | | | | | Change-Id: If0a4c869d801fe94df23201391c30c1efc5000e0
| * Fix warning: implicit conversion of NULL constant to 'const int'Kirill Burtsev2019-03-151-1/+1
| | | | | | | | | | | | Task-number: QTBUG-74311 Change-Id: If912564ecd29e4f11a613905f2b9169326207ec2 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into 5.13Allan Sandfeld Jensen2019-02-151-1/+1
|\| | | | | | | Change-Id: I0822fb8a10945a252cfd1aacaf0b6d9902cc8831
| * Fix incorrect GLX pbuffer attributes terminatorKirill Burtsev2019-01-091-1/+1
| | | | | | | | | | | | | | Reland fix 04337275e4 after adaptations d5bffb5125 Change-Id: Ieca40fd2ac3d245f760c9b24e2d42d21855b836a Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | Support offscreen plugin with glx backendMichal Klocek2019-02-151-3/+4
| | | | | | | | | | | | Task-number: QTBUG-63346 Change-Id: Id475c6c88f79af8cf82610a40d07eaa3f6588d7d Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | Adaptations for Chromium 71Allan Sandfeld Jensen2019-01-283-11/+15
| | | | | | | | | | | | | | Change-Id: Ib650113b05dfd4771240804f94e33c07aa317bf2 Reviewed-by: Michael Brüning <michael.bruning@qt.io> Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | Adaptations for Chromium 70Allan Sandfeld Jensen2019-01-282-0/+4
| | | | | | | | | | | | | | Change-Id: I8bb77784dbc8a0b9debd96a4c49421bd34e6a0df Reviewed-by: Michael Brüning <michael.bruning@qt.io> Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* | Merge remote-tracking branch 'origin/5.12' into devMichael Brüning2018-12-181-2/+3
|\| | | | | | | | | | | | | | | | | | | | | Conflicts: src/core/compositor/delegated_frame_node.cpp src/core/profile_adapter.cpp src/core/profile_io_data_qt.cpp src/webengine/api/qquickwebengineprofile.cpp src/webenginewidgets/api/qwebengineprofile.cpp Change-Id: I35ec8480e758bbcb6c5942a5401cb1b6dbdcc428
| * Reinstate GetQtXDisplayAllan Sandfeld Jensen2018-11-291-2/+3
| | | | | | | | | | | | | | | | Is needed by the X11-services with no working Ozone equivalent for runtime detection of X11. Change-Id: Iac79b5e29b9a8ef92af35209f3df40eb91c738f7 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* | Merge branch '5.12' into devAllan Sandfeld Jensen2018-11-161-14/+4
|\| | | | | | | | | | | | | | | Conflicts: src/core/compositor/compositor.cpp src/core/compositor/compositor.h Change-Id: I8a4d73d728d93d95e499849f8778cc88dda2105e
| * Add missing refactoring for glxGetProcAddressMichal Klocek2018-11-131-14/+4
| | | | | | | | | | | | | | | | | | | | Commit 9ad3c7aa fixed regression, however refactoring which took place 9397251b is missing. Task-number: QTBUG-70696 Task-number: QTBUG-71742 Change-Id: I4ff3f5fbbd14996478299f51a3d766d2fa1a7017 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* | Fix GPU compositing (and WebGL) to work with ANGLE on WindowsAlexandru Croitor2018-11-121-0/+6
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Given the changes that implement GPU compositing on the UI thread (and thus only a single thread accesses all OpenGL contexts) it is now possible to enable GPU compositing to work together with ANGLE, which did not work before due to ANGLE being thread-unsafe. This requires a couple of things: - Enable GPU compositing via kInProcessGPU switch when using ANGLE - A small fix in GLContextHelper::getEGLDisplay() to return a correct "egldisplay "handle - Improved logic when to pass the kDisableES3GLContext switch depending on which OpenGL ES version is requested (2 or 3) - Adjustments in RenderWidgetHostViewQtDelegateWidget() to set up a correct surface format which matches the shared context OpenGL ES major version - A recent enough version of ANGLE (due to bugs calling glTexImage2D with an unsupported internal texture format for GL_DEPTH_COMPONENT, from inside gpu::gles2::IsWebGLDrawBuffersSupported) By default if no special QSurfaceFormat is set as the default surface format, using ANGLE will create an OpenGL ES 2 context, and will thus provide support only for WebGL 1. To enable OpenGL ES 3 / WebGL 2 support, make sure to set a default QSurfaceFormat with major version set to 3, and enable ANGLE either via QT_OPENGL=angle or QGuiApplication::setAttribute(Qt::AA_UseOpenGLES). The default surface format must be set before the Q*App instance is created. Manual test "webgl" added. Task-number: QTBUG-53908 Task-number: QTBUG-55604 Task-number: QTBUG-69236 Change-Id: Ic31dfdff1ca22d4689db5cf64126d7d12790aa76 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Add missing fallback for glxGetProcAddressMichal Klocek2018-11-021-1/+18
| | | | | | | | | This fallback was added in 5.11, however fell out somehow during ozone change. Fixes: QTBUG-70696 Change-Id: I68d12842e2283a25db64035e57d5a19323b4e6c0 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Rename GLContextHelper::getXConfig() to getGlXConfig()Allan Sandfeld Jensen2018-10-114-5/+5
| | | | | | | It returns a GLX specific configuration, not an X-specific. Change-Id: Iecbb52b8d33c6f6f6471aec41082ecb49eaed416 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Fix Ozone platform detectionAllan Sandfeld Jensen2018-10-111-5/+7
| | | | | | | | | Only use GLX if GLX is used as OpenGL backend. This fixes using QtWebEngine on Linux with QT_XCB_GL_INTEGRATION=xcb_egl set, or when it automatically falls back to EGL. Change-Id: Ida95e4148e72af0d64fe16285b5007e3105ad898 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Fix leak which arises on querying GLOzone instance in SurfaceFactoryQtKirill Burtsev2018-10-082-16/+12
| | | | | | | | | Ownership of GLOzone instance assumed to be hold by factory, no new instance should be created on each GetGLOzone call. Task-number: QTBUG-69088 Change-Id: I7eb8575f1f35bd30292a8b4fc5ab1334ccb8e2bb Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* General adaptations for Chromium 69Allan Sandfeld Jensen2018-09-222-7/+10
| | | | | Change-Id: Ifeaf0ee13213dc5a24d2f2b4655cf7f405cddef7 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* Adaptations for Chromium 68Allan Sandfeld Jensen2018-09-221-0/+1
| | | | | | Together-with: Tamas Zakor<ztamas@inf.u-szeged.hu> Change-Id: I805246b6f01cb151fff48588744408c676d87c14 Reviewed-by: Michael Brüning <michael.bruning@qt.io>
* GLOzoneEGLQt: Fix build with -no-openglJüri Valdmann2018-08-031-0/+2
| | | | | Change-Id: Ic9b10175b48f993deda77a77bbfcf22f41e31598 Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Move last surface and context classes to ozoneMichal Klocek2018-08-024-0/+578
| | | | | | | | Moves last two remaining classes to ozone. Now all the context and surface handling is in ozone subdir. Change-Id: I87d4570f866b905e8f79a73d70f04bd8b21f6e1b Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Use ozone for x11Michal Klocek2018-08-028-24/+316
| | | | | | | | | | | | | | | | | | | | | Switch to use ozone also for x11/glx. This way we have a more elegant approach to hook in our gl surface classes and we use ozone for all linux qpa backends. Moreover, we have now also more fine grain control to reimplement gl surface handling logic. This also aims to fix currently broken wayland backend, but instead of patching the broken x11 calls, we simply reuse ozone which does not use x11 for ozone egl. Add webengine-x11 check to handle ozone glx plugin compilation. For ozone egl backend reimplement missing functions. Task-number: QTBUG-65682 Task-number: QTBUG-51631 Change-Id: I8b45c6f4d09a1c703efb12b6452d78ab385371ab Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
* Adaptations for Chromium 67Allan Sandfeld Jensen2018-06-262-1/+5
| | | | | Change-Id: I13cedba56012f74651a044d6fa8f0957487bf3eb Reviewed-by: Michal Klocek <michal.klocek@qt.io>
* Do no log pbuffer creation failure as errorMichal Klocek2018-04-171-1/+1
| | | | | | | | | The pbuffer creation with egl can fail, however this is expexted if surfaceless egl is used. Task-number: QTBUG-65682 Change-Id: I0aefda0bec3d3b4943df20697b495dba83e012a7 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Move check for g_egl_surfaceless_context_supportedv5.11.0-beta4Michal Klocek2018-04-151-10/+6
| | | | | | | | | | | | | The check g_egl_surfaceless_context_supported can not take place in InitializeExtensionSettingsOneOff since correct surface/less initialization is required for gpu info collection which is initialized with InitializeGLNoExtensionsOneOff. Otherwise egl with pbuffers is only supported, which will fail on wayland. Move the check to InitializeOneOff. Task-number: QTBUG-65682 Change-Id: I0f5107134366f141e1941e824e3238473383962a Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Rename GLOzoneQt to GLOzoneEGLQtMichal Klocek2018-04-073-9/+9
| | | | | Change-Id: I0f88772a0e869de3c7bfd065227b6151558c7408 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Split GLSurfaceWGLQtMichal Klocek2018-04-042-0/+166
| | | | | | | | | | Refactor GLSurfaceWGLQt to speparte file. This class is not used by ozone, however is keept in ozone subdirecotry with other surface classes. Change-Id: I161582546b597912bc4c1c75ebbc0c1763aebed5 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Split GLSurfaceQtMichal Klocek2018-04-044-0/+700
| | | | | | | | | Move GLSurfaceGLXQt and GLSurfaceEGLQt to own implementation files,so they can be reused easly by ozone backends. Change-Id: Ie403a941424343e13775866772bed709d7cbff6a Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Move ozone to new subdirectoryMichal Klocek2018-03-238-0/+712
Move ozone related files to core/ozone. Split classes so they can be reused for new ozone platform backends. Change-Id: I98a2aac6807ef2b3eee92eea9ecfd8fce6dd9d16 Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>