src/libANGLE/renderer/gl/glx/WindowSurfaceGLX.h


Log

Author Commit Date CI Message
Jonah Ryan-Davis a392a81d 2021-01-06T12:26:44 GLX: Avoid creating child window when X visual ID is specified. ANGLE's GLX backend creates a child ID because the visual of the X window must match that of the GLX window, and we can't always be certain. EGL_ANGLE_x11_visual allows applications to specify the visual ID of the window passed to ANGLE via EGL_X11_VISUAL_ID_ANGLE. When this is the case, we don't need to make a child window. Since Chrome always passes this information, this may help optimize ANGLE's GLX usage in Chrome, because we don't have to poll the parent window to manage the child window's properties. Bug: chromium:1132827 Change-Id: If8082d2d07469905afffab01dde2ec9fca8d4eb9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2611556 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jonah Ryan-Davis 937bc82b 2020-12-17T17:57:50 Revert "GLX: Expose EGL_ANGLE_window_fixed_size" This reverts commit fa9b803e078fb833143df7a2b3f88c8694fa8f2f. Reason for revert: https://bugs.chromium.org/p/chromium/issues/detail?id=1157748 Original change's description: > GLX: Expose EGL_ANGLE_window_fixed_size > > Right now the GLX backend checks for resize on every SwapBuffers > call. If EGL_ANGLE_window_fixed_size is used, it will only resize > when signaled by Chrome. > > Bug: chromium:1132827 > Change-Id: Ia4ddbbbf6dcf13f46ad564208eccc517de8be33c > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2572886 > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> TBR=syoussefi@chromium.org,jonahr@google.com,jmadill@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: chromium:1132827 Change-Id: I1110c5dd5d806b3c6c59308d4865f0d3aa57fc3f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2595197 Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Jonah Ryan-Davis fa9b803e 2020-12-03T17:53:12 GLX: Expose EGL_ANGLE_window_fixed_size Right now the GLX backend checks for resize on every SwapBuffers call. If EGL_ANGLE_window_fixed_size is used, it will only resize when signaled by Chrome. Bug: chromium:1132827 Change-Id: Ia4ddbbbf6dcf13f46ad564208eccc517de8be33c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2572886 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Maksim Sisov 4b2a9cbc 2020-05-21T08:57:02 move duplicated SwapControlData to rendergl_utils. Both DisplayOzone and DisplayGLX have SwapControlData declared and defined. In the future, when both of them will be compiled (DisplayGLX will be required for Ozone/X11), they will result in a compilation error stating about multiple definitions of the struct. Thus, move that rendergl_utils. Bug: chromium:1084458 Change-Id: Ib174d0e8de1ac4773c841fe286175358acb15d79 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2210702 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jonah Ryan-Davis 1a1a1427 2020-01-23T13:57:21 Expose eglGetMscRateCHROMIUM from EGL_CHROMIUM_sync_control When ANGLE is using the GL backend on GLX, we can expose eglGetMscRateCHROMIUM via glXGetMscRateOML. Otherwise, this function should return false. Bug: chromium:1042393 Change-Id: Id9b308c2217e07ee9860e2869be0e23b7a0c7411 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2017048 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jonah Ryan-Davis a829c0b9 2019-11-14T16:49:02 Expose EGL_CHROMIUM_sync_control via GLX_OML_sync_control On GLX, we can expose the EGL_CHROMIUM_sync_control extension by forwarding to GLX_OML_sync_control when it's available. This will help with accurate vsync times for Chrome Bug: 1020252 Change-Id: I9b1e8cf0f8b1a548cc7cc7202fac2d0cdb01d74d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1918104 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Stuart Morgan 9d737966 2019-08-14T12:25:12 Standardize copyright notices to project style For all "ANGLE Project" copyrights, standardize to the format specified by the style guide. Changes: - "Copyright (c)" and "Copyright(c)" changed to just "Copyright". - Removed the second half of date ranges ("Y1Y1-Y2Y2"->"Y1Y1"). - Fixed a small number of files that had no copyright date using the initial commit year from the version control history. - Fixed one instance of copyright being "The ANGLE Project" rather than "The ANGLE Project Authors" These changes are applied both to the copyright of source file, and where applicable to copyright statements that are generated by templates. BUG=angleproject:3811 Change-Id: I973dd65e4ef9deeba232d5be74c768256a0eb2e5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1754397 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
James Darpinian 2889dff6 2019-03-27T16:25:11 Mac: Support using an IOSurface as the default framebuffer Bug: angleproject:2764 Change-Id: I3fdab330b59ed996f68e3063debca29323a66cf0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1542599 Commit-Queue: James Darpinian <jdarpinian@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill b980c563 2018-11-27T11:34:27 Reformat all cpp and h files. This applies git cl format --full to all ANGLE sources. Bug: angleproject:2986 Change-Id: Ib504e618c1589332a37e97696cdc3515d739308f Reviewed-on: https://chromium-review.googlesource.com/c/1351367 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Geoff Lang 6110763f 2018-05-09T11:32:46 Refactor the GL surfaces and framebuffers to not hold renderer objects. BUG=angleproject:2464 Change-Id: I20aabeef3de6cf1fc13a29b6220e040aa83184d7 Reviewed-on: https://chromium-review.googlesource.com/1039986 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Geoff Lang ccafa62c 2018-05-02T13:07:53 Pass a context pointer to SurfaceImpl::[bind|release]TexImage. BUG=angleproject:2464 Change-Id: I59fd38c626f7076b4065f25601de3e53c1a446ad Reviewed-on: https://chromium-review.googlesource.com/1040051 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Corentin Wallez 84a6c5b2 2017-06-21T16:12:58 Perform all glXMakeCurrent in DisplayGLX This allows caching the current surface more efficiently than at the egl layer because we can take advantage of having only one backing context. BUG=angleproject:1651 Change-Id: I62867b16ac5e06901a988dc41a3d4812accdb74c Reviewed-on: https://chromium-review.googlesource.com/543835 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill fe54834f 2017-06-19T11:13:24 Proliferate gl::Context. This enables a few small things: it will enable making the platform a property of the Display rather than a global. The same goes for the global logging annotator. Also it ensures all back-end implementations have access to the GL / EGL state when available. Also introduces a smart pointer helper class to angleutils for objects that prefer to be destroyed with a context (gl::Context/egl::Display) parameter. We were using std::unique_ptr in a few places that would not work well with these objects. BUG=angleproject:1156 Change-Id: I59e288a3d6f766ff8a0f4b48ff3a1fbf7489daba Reviewed-on: https://chromium-review.googlesource.com/529706 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill c564c070 2017-06-01T12:45:42 Pass gl::Context to impl methods instead of ContextImpl. In some cases we might have to call back into the GL layer, passing the Context, and if we just have a ContextImpl pointer this isn't possible. It also removes the need for SafeGetImpl. BUG=angleproject:2044 Change-Id: I6363e84b25648c992c25779d4c43f795aa2866d6 Reviewed-on: https://chromium-review.googlesource.com/516835 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 95401dbb 2016-12-15T11:27:48 Surface: Pass DisplayImpl to initialize and swap. In new back-ends (Vulkan) this will allow us to avoid storing a ref to the Renderer in the Surface class. BUG=angleproject:1319 Change-Id: I3b3f50893070d2993e4e91dd82ee539a083b3727 Reviewed-on: https://chromium-review.googlesource.com/419837 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 62baf0cf 2016-05-19T13:13:36 Add a shared egl::SurfaceState struct. This structure can share GL-level properties (immutably) with the implementation. BUG=angleproject:1369 Change-Id: I1e9406f18b6b88bb7db2a8f87b5e6d547cc7ecb1 Reviewed-on: https://chromium-review.googlesource.com/342061 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Corentin Wallez 436e32ae 2016-01-15T15:53:12 GLX backend: check for child window resizes on eglWaitNative This is the standard way, if not often used, for application to notify the driver of window size changes. Chromium uses it to resize when it is done rendering and swapping so that drivers do not clobber the backbuffer. This fixes black flickering appearing when resizing the Chromium windows with --use-gl=angle. BUG=angleproject:1281 Change-Id: Ic76f3c3ef453eae07eb59122135290411f86764d Reviewed-on: https://chromium-review.googlesource.com/322390 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tryjob-Request: Corentin Wallez <cwallez@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Geoff Lang 1b3979b9 2015-12-08T11:39:24 Pass the gl::Texture object into Surface::bindTexImage. BUG=540829 Change-Id: Iee602165e69bfe574821c6f628a745c32932a938 Reviewed-on: https://chromium-review.googlesource.com/316800 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Corentin Wallez 67bc1021 2015-11-06T14:30:15 GLX backend: fallback to lesser swap_control extensions Re-reland with a warning fix. We would like to use the EXT_swap_control extension to specify the swap interval of each drawable independently. However open source drivers do not expose this extension and instead expose the MESA and SGI versions that have a global swap interval. This commit changes the code to use the best swap_control extension it can, potentially changing the swap interval on each swap buffers on lesser extensions. BUG=angleproject:1206 Change-Id: I7ecf1eed6808672f277d0242d65f90d7851d2a32 Reviewed-on: https://chromium-review.googlesource.com/312322 Tryjob-Request: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 2075102d 2015-11-13T15:21:30 Revert "GLX backend: fallback to lesser swap_control extensions" This reverts commit a1393c59e9466dfe3a3ccaf710c272aa26045b85. Change-Id: I5da0f740a7073f14ad1ee7e2876a9cc71a706e7f Reviewed-on: https://chromium-review.googlesource.com/312231 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez a1393c59 2015-11-06T14:30:15 GLX backend: fallback to lesser swap_control extensions Reland with a compilation fix. We would like to use the EXT_swap_control extension to specify the swap interval of each drawable independently. However open source drivers do not expose this extension and instead expose the MESA and SGI versions that have a global swap interval. This commit changes the code to use the best swap_control extension it can, potentially changing the swap interval on each swap buffers on lesser extensions. BUG=angleproject:1206 Change-Id: I6c24217c7cfd5e09f60469cc7d6336cd68bc5c32 Reviewed-on: https://chromium-review.googlesource.com/312270 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tryjob-Request: Jamie Madill <jmadill@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 0ed0d8ac 2015-11-11T21:24:31 Revert "GLX backend: fallback to lesser swap_control extensions" Compile error, whoops This reverts commit 10ad877c41c05aa0764748844244ead6ebca6c1c. Change-Id: Ic8c8b7945c7f702b91fc34ab6862e1aadb3e82e7 Reviewed-on: https://chromium-review.googlesource.com/312260 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 10ad877c 2015-11-06T14:30:15 GLX backend: fallback to lesser swap_control extensions We would like to use the EXT_swap_control extension to specify the swap interval of each drawable independently. However open source drivers do not expose this extension and instead expose the MESA and SGI versions that have a global swap interval. This commit changes the code to use the best swap_control extension it can, potentially changing the swap interval on each swap buffers on lesser extensions. BUG=angleproject:1206 Change-Id: I48e40e443ff9a258fc33b38efb0acf6b1f3db103 Reviewed-on: https://chromium-review.googlesource.com/311244 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 84f505db 2015-11-09T13:16:45 Revert "GLX backend: fallback to lesser swap_control extensions" This reverts commit 26e3736fe30b9f67ee4b488d8a9d31ded1b679d3.
Corentin Wallez 26e3736f 2015-11-06T14:30:15 GLX backend: fallback to lesser swap_control extensions Ideally we want to use EXT_swap_control as the code currently does as it allows us to specify the swap interval of each drawable independently. However open source drivers do not expose this extension and instead expose the MESA and SGI versions that have a global swap interval. This commit changes the code to use the best swap_control extension it can, potentially changing the swap interval on each swap buffers on lesser extensions. BUG=angleproject:1206 Change-Id: I251c6edf400aeeae5359a4370020e74b8e6cae51
Corentin Wallez 37c3979e 2015-08-20T14:19:46 Revert "Revert "Make the default framebuffer owned by Surface"" Reland the commit after fixing a bug in FramebufferAttachment. This reverts commit 18fdcbcf1d02d3b3b4b5c712f05058f2e8d629c6. BUG=angleproject:891 Change-Id: I07e08de52bfce8d84d070fc7bc15883009298a4d Reviewed-on: https://chromium-review.googlesource.com/294831 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Jamie Madill 18fdcbcf 2015-08-19T18:12:44 Revert "Make the default framebuffer owned by Surface" Seems to be causing failures on the Mac GPU FYI bots. SurfaceTest.DestructionDeletesImpl seems to crash. BUG=angleproject:891 BUG=522557 This reverts commit 264ab56f2e70431e8310f9353952acd3b22b466f. Change-Id: I80aeecb8e191de011d9afe6534d0285dcffa82a3 Reviewed-on: https://chromium-review.googlesource.com/294540 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Corentin Wallez 264ab56f 2015-08-12T12:39:52 Make the default framebuffer owned by Surface Reland with a fix for SurfaceTest in angle_unittests and fixes for signed-unsigned warnings In CGL there is no notion of default Framebuffer and MakeCurrent only makes a context current but not a drawable. Instead, everything is done via render to texture. For that reason, different surfaces will have different FBOs as default framebuffers, which causes that change. BUG=angleproject:891 Change-Id: I0664896bc335b1a757226aaa212536b8f9d0f08f Reviewed-on: https://chromium-review.googlesource.com/293752 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 11cd6af6 2015-08-18T15:54:01 Revert "Make the default framebuffer owned by Surface" Compilation warning on Windows This reverts commit 6cb2ae8292e69aa110c89e0465366b9f049c1168. Change-Id: I4ecadf5d8e909f986da186a7326cfa0922ae8710 Reviewed-on: https://chromium-review.googlesource.com/294241 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 6cb2ae82 2015-08-12T12:39:52 Make the default framebuffer owned by Surface Reland with a fix for SurfaceTest in angle_unittests and fixes for signed-unsigned warnings In CGL there is no notion of default Framebuffer and MakeCurrent only makes a context current but not a drawable. Instead, everything is done via render to texture. For that reason, different surfaces will have different FBOs as default framebuffers, which causes that change. BUG=angleproject:891 Change-Id: Ie9a72de01a58e583a1bfa3f4a055debb860b912f Reviewed-on: https://chromium-review.googlesource.com/293713 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 1bf40bfe 2015-08-12T15:52:04 Revert "Make the default framebuffer owned by Surface" This reverts commit 87e63a9982803b5e4c12afa9a40ff0e2b04a7369. Speculative revert to fix the webgl cts on Windows D3D9 and the unittests on Linux. BUG= Change-Id: I488f4e0b2dc67270eed45f1c10bfba1d13c98739 Reviewed-on: https://chromium-review.googlesource.com/293350 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 87e63a99 2015-08-12T12:39:52 Make the default framebuffer owned by Surface In CGL there is no notion of default Framebuffer and MakeCurrent only makes a context current but not a drawable. Instead, everything is done via render to texture. For that reason, different surfaces will have different FBOs as default framebuffers, which causes that change. BUG=angleproject:891 Change-Id: I3f6da7b587353316026ea39a5c87f91265e0f1ba Reviewed-on: https://chromium-review.googlesource.com/289872 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 5d65cd56 2015-07-30T09:47:39 Surface: query swapBehavior from the Impl All the previously implemented surfaces used to preserve the content of the surface on a swap but this is no longer the case with CGL. BUG=angleproject:891 Change-Id: I264c579bcbbd22b4eeb09e78aa95751d223694fc Reviewed-on: https://chromium-review.googlesource.com/289871 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 591516ff 2015-07-21T10:17:50 Add skeleton for DisplayNSGL and WindowSurfaceNSGL BUG=angleproject:891 Change-Id: Ie79e76c68775e1144ac224a4f1eba85f8a889269 Reviewed-on: https://chromium-review.googlesource.com/286829 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez aaa9eb94 2015-05-22T16:08:08 WindowSurfaceGLX handle resizing the window on swap This make the multi window sample work well. BUG=angleproject:892 Change-Id: If98c6f995875b63c391cee9b6fddc6d138d48f8b Reviewed-on: https://chromium-review.googlesource.com/272946 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez f4863b70 2015-05-21T16:29:36 Implement swapInterval for EGL on GLX BUG=angleproject:892 Change-Id: I80d8d67270662c7f2be893f4a8318fbc0926f1fc Reviewed-on: https://chromium-review.googlesource.com/272677 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez f68fd9c4 2015-05-19T16:41:44 Revert "Revert "Call XSync in the GLX EGL impl if we have a new X server connection"" This reverts commit 9c0a421858162673f4232d37bf8c5e2459ec28ea. Change-Id: Ia543daebc240b81950e21930895a7e24ed9f7a1b Reviewed-on: https://chromium-review.googlesource.com/272225 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez a588ef5b 2015-05-19T16:38:47 Fix most occurences of -Winconsistent-missing-override Other occurences are in code generated by macro in googlemock. BUG=angleproject:892 Change-Id: I8b2c6ad4b793be2d9a440687b1b010c9feb8bdae Reviewed-on: https://chromium-review.googlesource.com/272224 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 3cd0ca3c 2015-05-15T15:05:18 Completely isolate GLX in FunctionsGLX This makes it so it is the only file including glx.h. BUG=angleproject:892 Change-Id: I5c45b659ec102b7a2c92e010a6843fa21b7c664b Reviewed-on: https://chromium-review.googlesource.com/271418 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Zhenyao Mo 9c0a4218 2015-05-15T17:24:47 Revert "Call XSync in the GLX EGL impl if we have a new X server connection" broke linux builders This reverts commit cedb8ca27f97d3101a22f586671a4668bf09bbec. Change-Id: I57143ec207b454bce7498a4d33f6d54464b55ab8 Reviewed-on: https://chromium-review.googlesource.com/271424 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Tested-by: Zhenyao Mo <zmo@chromium.org>
Corentin Wallez cedb8ca2 2015-05-14T13:28:42 Call XSync in the GLX EGL impl if we have a new X server connection This prevents races between the application's connection and ANGLE's one that could lead to X errors crashing the program. BUG=angleproject:892 Change-Id: Ic09462e76724d1a32c35b32708de97258d99241c Reviewed-on: https://chromium-review.googlesource.com/271178 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 0d3afab8 2015-05-11T14:53:13 Implement Pbuffers for the GLX EGL implementation BUG=angleproject:892 Change-Id: I32b9bbb35d99621f16a055fb544ec0691dfcd5a0 Reviewed-on: https://chromium-review.googlesource.com/270261 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez eac64633 2015-05-06T13:14:24 Add a basic GLX EGL implementation BUG=angleproject:892 Change-Id: Ife9955a457d4a6fb3adce17757ccb0de7d0dd274 Reviewed-on: https://chromium-review.googlesource.com/269413 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez f229cb9b 2015-05-08T15:53:39 Add a FunctionsGLX class to dynamically load the GLX entry points BUG=angleproject:892 Change-Id: I516b7d859100cb065871de8e328585a9ca817499 Reviewed-on: https://chromium-review.googlesource.com/270123 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 9477dc94 2015-05-06T13:13:33 Add GLX EGL implementation stubs BUG=angleproject:892 Change-Id: I1ef1bd0ce60f4585e473f9750c748a1b41c09da2 Reviewed-on: https://chromium-review.googlesource.com/269741 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>