summaryrefslogtreecommitdiffstats
path: root/src/core/gl_surface_qt.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix crash on XCB GLES2 and WaylandAllan Sandfeld Jensen2015-08-121-6/+0
| | | | | | | | | We can and must request the "egldisplay" from QPA, otherwise we get the wrong resource. Task-number: QTBUG-47301 Change-Id: I8bcd94415aa8f22b0d868ad751017f5babddf751 Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
* Prevent conflicting declaration errors of GL typedefsv5.5.0-beta1Andras Becsi2015-04-301-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Including gpu/command_buffer headers in Qt code pollute by including ui/gl/gl_bindings.h which pulls in system GL headers. This will cause conflicting declaration of typedefs when included together with content/gpu and content/common/gpu headers which pull in gles2_cmd_format.h that forward declares some GL types. Although the gl_bindings.h header states in a comment that it should only be included in source files, the inline implementation of texture_manager.h and some other low-level GL integration headers nonetheless require gl_bindings.h, which unfortunately cascades through to our core layer and may cause problems when Qt code is compiled. Since getting rid of this include in Chromium's headers is not feasible due to maintenance costs, making sure that in Qt code gpu/command_buffer headers are included before content/gpu and content/common/gpu headers and guarding forward declarations in gpu/command_buffer/common/gles2_cmd_format.h should be a sufficient workaround. We can however get rid of the polluting includes in src/core/gl_surface_qt.cpp, which only requires forward declarations. This also includes a SHA1 update for the Chromium submodule. Task-number: QTBUG-44240 Change-Id: I5813a3663d36e2b565e4fd7f429add7b6f8f8a69 Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* Remove uneeded GetShareHandle() function from EGL integrationAndras Becsi2015-03-171-25/+0
| | | | | | | The override of this function is not needed. Change-Id: I8579bd1b2a8476cb057b9256c816ac88cbb209ab Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>
* Fix the build on eLinuxAndras Becsi2015-02-201-1/+8
| | | | | | | | | | | | | Update ozone layer to the new snapshot, update the embedded_linux.pri configuration, fix the GLSurfaceQt build on non-x11 linux and update embedded command line switches for the 40.0.2214-based chromium snapshot. This patch also updates the snapshot sha1 to include required chromium changes. Change-Id: I7f9446fa1b67a0af7baee564acff41ae33ff1a94 Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com>
* Update copyright headersJani Heikkinen2015-02-161-7/+7
| | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Change-Id: Ieb6bac7a1be5c25eb7cb917495b58b6a870ca6d4 Reviewed-by: Pierre Rossi <pierre.rossi@theqtcompany.com>
* [Win] Use automatic destruction for PbufferGLSurfaceWGL.Michael Brüning2014-09-261-5/+2
| | | | | | | | | | | | PbufferGLSurfaceWGL is a reference counted class, hence deleting it manually triggers an assert in debug builds if Release is not called or the reference count is non-zero. Using a scoped_refptr prevents this and deletes the object correctly. Change-Id: I7e5ff783afc367e06d872b8d118c2ff83627b836 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Add Desktop OpenGL backend for WindowsKai Koehne2014-09-251-2/+82
| | | | | | | | Enabling rendering into a WGL backbuffer, in addition to the EGL/angle one. Change-Id: I8f2e3f5ecf52b6db22712b1129059f462725a256 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Remove unnecessary private header includesJocelyn Turcotte2014-09-111-1/+0
| | | | | | | | Most importantly, get rid of QOpenGLContextPrivate::globalShareContext which will be removed before the final. Change-Id: I5796fa822d2962c21fd8b6d8d3c196686d536e3d Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Update license headers.Pierre Rossi2014-08-281-14/+9
| | | | | | | | Because the files were recent additions or for other unclear reasons, not all the files were updated to reflect the license change. Change-Id: I6898f6f4f993f1efa9489382f0b94af285f8c4f5 Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Update the QtWebEngineCore library to run on top of Chromium 37Jocelyn Turcotte2014-08-141-6/+4
| | | | | | | | | | | | | | | Most of the patch is about upstream classes/methods that changed. Other important details: - icu data files are now used by default - cygwin is no longer required to build on Windows - RenderFrameHost has been replacing RenderViewHost in a few places, following the separate process iframes support in Chromium - The user agent is accessed through ContentClient::GetUserAgent instead of from the command line switches Change-Id: I86cc93aff7ce31176a80b0b4a5d54025674a451c Reviewed-by: Andras Becsi <andras.becsi@digia.com>
* Remove duplicate code for egl extensions and native display queryingAndras Becsi2014-08-061-0/+5
| | | | | | | This is now possible through GLSurfaceQt, and GLContextHelper respectively. Change-Id: I06e13ccdea9737dc41b034befb4f01aa08d72c2a Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
* Implement GLSurfaceQt and exclude chromium's implementationAndras Becsi2014-08-021-0/+498
This makes it possible to use the same EGLConfig that is used by Qt when initializing the EGL surface instead of relying on eglChooseConfig. We can use the native interface to query the used config from Qt to avoid EGL_BAD_MATCH errors during initialization. This depends on patches in the qtbase dev branch, which will become Qt 5.4 at some point, therefore we can only merge this patch if we make Qt 5.4 a hard-dependency of QtWebEngine. Change-Id: I94319433b0790994ecbf543b74e7d12fa4767e32 Reviewed-by: Michael Bruning <michael.bruning@digia.com>