Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(911)

Issue 1203513004: Respect the disabled extension list during binding initialization. (Closed)

Created:
5 years, 6 months ago by Tobias Sargeant
Modified:
5 years, 5 months ago
CC:
chromium-reviews, kalyank, ozone-reviews_chromium.org, M-A Ruel, David Yen, Corentin Wallez
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Respect the disabled extension list during EGL/GL binding initialization. BUG=502353, 504758 Committed: https://crrev.com/bbda4652027d46bae2212f8d8e0cc5f2426dae48 Cr-Commit-Position: refs/heads/master@{#336470}

Patch Set 1 #

Patch Set 2 : only apply disabled extensions list to GL and EGL extensions #

Total comments: 2

Patch Set 3 : split extension binding loading from static binding loading; pass enabled extensions #

Total comments: 1

Patch Set 4 : refactor, and deal with failures #

Patch Set 5 : #

Patch Set 6 : give up on std::copy_if #

Patch Set 7 : simplify #

Patch Set 8 : #

Patch Set 9 : EGL_KHR_fence_sync must be unconditionally enabled; ANGLE GetPlatformExtensions reqires client exte… #

Total comments: 4

Patch Set 10 : address comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+127 lines, -113 lines) Patch
M ui/gl/egl_api_unittest.cc View 1 2 3 1 chunk +0 lines, -1 line 0 comments Download
M ui/gl/generate_bindings.py View 1 2 3 4 5 6 7 8 9 7 chunks +62 lines, -37 lines 0 comments Download
M ui/gl/gl_bindings.h View 1 2 3 4 5 6 4 chunks +4 lines, -0 lines 0 comments Download
M ui/gl/gl_bindings.cc View 1 2 3 4 5 6 1 chunk +2 lines, -6 lines 0 comments Download
M ui/gl/gl_bindings_autogen_egl.h View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -0 lines 0 comments Download
M ui/gl/gl_bindings_autogen_egl.cc View 1 2 3 4 5 6 7 8 9 8 chunks +14 lines, -32 lines 0 comments Download
M ui/gl/gl_bindings_autogen_glx.cc View 1 2 3 4 5 6 1 chunk +3 lines, -0 lines 0 comments Download
M ui/gl/gl_bindings_autogen_osmesa.cc View 1 2 3 4 5 6 1 chunk +3 lines, -0 lines 0 comments Download
M ui/gl/gl_bindings_autogen_wgl.cc View 1 2 3 4 5 6 1 chunk +3 lines, -0 lines 0 comments Download
M ui/gl/gl_egl_api_implementation.h View 1 2 3 4 5 6 2 chunks +2 lines, -2 lines 0 comments Download
M ui/gl/gl_egl_api_implementation.cc View 1 2 3 4 5 6 7 8 9 2 chunks +30 lines, -35 lines 0 comments Download
M ui/gl/gl_glx_api_implementation.cc View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M ui/gl/gl_osmesa_api_implementation.cc View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M ui/gl/gl_wgl_api_implementation.cc View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 38 (4 generated)
David Yen
+sievers for review
5 years, 6 months ago (2015-06-23 16:28:04 UTC) #2
David Yen
https://codereview.chromium.org/1203513004/diff/20001/ui/gl/gl_bindings_autogen_egl.cc File ui/gl/gl_bindings_autogen_egl.cc (right): https://codereview.chromium.org/1203513004/diff/20001/ui/gl/gl_bindings_autogen_egl.cc#newcode110 ui/gl/gl_bindings_autogen_egl.cc:110: const std::vector<std::string>& disabled_extensions) { Should this function simply take ...
5 years, 6 months ago (2015-06-23 16:38:50 UTC) #3
no sievers
https://codereview.chromium.org/1203513004/diff/40001/ui/gl/gl_egl_api_implementation.cc File ui/gl/gl_egl_api_implementation.cc (right): https://codereview.chromium.org/1203513004/diff/40001/ui/gl/gl_egl_api_implementation.cc#newcode117 ui/gl/gl_egl_api_implementation.cc:117: std::set<std::string> RealEGLApi::GetEnabledExtensions() const { This is basically duplicated code, ...
5 years, 6 months ago (2015-06-23 20:48:25 UTC) #4
Tobias Sargeant
On 2015/06/23 20:48:25, sievers wrote: > https://codereview.chromium.org/1203513004/diff/40001/ui/gl/gl_egl_api_implementation.cc#newcode117 > ui/gl/gl_egl_api_implementation.cc:117: std::set<std::string> > RealEGLApi::GetEnabledExtensions() const { > ...
5 years, 6 months ago (2015-06-24 17:00:04 UTC) #5
no sievers
On 2015/06/24 17:00:04, Tobias Sargeant wrote: > On 2015/06/23 20:48:25, sievers wrote: > > > ...
5 years, 6 months ago (2015-06-24 23:03:00 UTC) #6
Tobias Sargeant
Ok, that seems like a reasonable approach. I thought passing the enabled extension set was ...
5 years, 6 months ago (2015-06-24 23:17:13 UTC) #7
no sievers
On 2015/06/24 23:17:13, Tobias Sargeant wrote: > Ok, that seems like a reasonable approach. I ...
5 years, 6 months ago (2015-06-24 23:25:14 UTC) #8
Tobias Sargeant
instrumentation tests fail on linux_android_rel_ng because now we are properly disabling EGL_KHR_fence_sync on K devices, ...
5 years, 6 months ago (2015-06-25 17:00:43 UTC) #10
Ken Russell (switch to Gerrit)
On 2015/06/25 17:00:43, Tobias Sargeant wrote: > instrumentation tests fail on linux_android_rel_ng because now we ...
5 years, 6 months ago (2015-06-25 18:01:45 UTC) #11
boliu
On 2015/06/25 18:01:45, Ken Russell wrote: > On 2015/06/25 17:00:43, Tobias Sargeant wrote: > > ...
5 years, 6 months ago (2015-06-25 18:07:29 UTC) #12
no sievers
On 2015/06/25 17:00:43, Tobias Sargeant wrote: > instrumentation tests fail on linux_android_rel_ng because now we ...
5 years, 6 months ago (2015-06-25 19:11:14 UTC) #13
Ken Russell (switch to Gerrit)
On 2015/06/25 18:07:29, boliu wrote: > On 2015/06/25 18:01:45, Ken Russell wrote: > > On ...
5 years, 6 months ago (2015-06-26 00:09:43 UTC) #14
boliu
On 2015/06/26 00:09:43, Ken Russell wrote: > On 2015/06/25 18:07:29, boliu wrote: > > On ...
5 years, 6 months ago (2015-06-26 01:37:37 UTC) #15
boliu
stack! Backtrace: (No symbol) [0x00000000] gfx::`anonymous namespace'::GetPlatformANGLEDisplay [0x00B794F4+308] gfx::`anonymous namespace'::GetDisplayFromType [0x00B78EA0+112] gfx::GLSurfaceEGL::InitializeDisplay [0x00B79C34+196] gfx::DriverEGL::GetPlatformExtensions [0x00B7F660+32] ...
5 years, 6 months ago (2015-06-26 02:04:12 UTC) #16
Tobias Sargeant
> I'm guessing eglGetPlatformDisplayEXT is not bound? Yes. It seems that GetPlatformExtensions using ANGLE relies ...
5 years, 6 months ago (2015-06-26 11:19:47 UTC) #17
Ken Russell (switch to Gerrit)
+geofflang and jmadill in case they have any suggestions.
5 years, 6 months ago (2015-06-26 15:39:40 UTC) #18
Ken Russell (switch to Gerrit)
and +cwallez since this might be a general problem in the EGL implementation.
5 years, 6 months ago (2015-06-26 15:40:25 UTC) #19
Geoff Lang
On 2015/06/26 11:19:47, Tobias Sargeant wrote: > > I'm guessing eglGetPlatformDisplayEXT is not bound? > ...
5 years, 6 months ago (2015-06-26 15:48:52 UTC) #20
Jamie Madill
On 2015/06/26 15:48:52, Geoff Lang wrote: > On 2015/06/26 11:19:47, Tobias Sargeant wrote: > > ...
5 years, 6 months ago (2015-06-26 15:51:24 UTC) #21
Geoff Lang
I'll also add that client extensions usually expose features that need to be known before ...
5 years, 6 months ago (2015-06-26 15:51:30 UTC) #22
Tobias Sargeant
On 2015/06/26 15:51:30, Geoff Lang wrote: > I'll also add that client extensions usually expose ...
5 years, 6 months ago (2015-06-26 15:57:25 UTC) #23
Ken Russell (switch to Gerrit)
Nice work. LGTM overall. One question. P.S. If it would be appropriate or at all ...
5 years, 6 months ago (2015-06-26 17:06:50 UTC) #24
no sievers
lgtm stamp with kbr's comments addressed. We should also handle GLX and WGL extension filtering ...
5 years, 6 months ago (2015-06-26 17:51:29 UTC) #25
Tobias Sargeant
> nit: |extensions| cannot be null here removed.
5 years, 6 months ago (2015-06-26 20:30:35 UTC) #26
Tobias Sargeant
> 'GL_CHROMIUM_EGL_KHR_fence_sync_bind_always_504758_hack', # crbug.com/504758 > That's a mouthful. Is it really worth embedding the bug ...
5 years, 6 months ago (2015-06-26 20:39:31 UTC) #27
no sievers
On 2015/06/26 20:39:31, Tobias Sargeant wrote: > > 'GL_CHROMIUM_EGL_KHR_fence_sync_bind_always_504758_hack', # crbug.com/504758 > > That's a ...
5 years, 6 months ago (2015-06-26 20:43:33 UTC) #28
Tobias Sargeant
> You could also consider just supporting two entries in the map for the time ...
5 years, 6 months ago (2015-06-26 20:55:28 UTC) #29
no sievers
On 2015/06/26 20:55:28, Tobias Sargeant wrote: > > You could also consider just supporting two ...
5 years, 6 months ago (2015-06-26 21:01:10 UTC) #30
Tobias Sargeant
> It's just that there is a risk that the map grows on some platform ...
5 years, 6 months ago (2015-06-26 23:03:33 UTC) #31
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1203513004/180001
5 years, 6 months ago (2015-06-26 23:04:28 UTC) #34
commit-bot: I haz the power
Committed patchset #10 (id:180001)
5 years, 6 months ago (2015-06-26 23:09:01 UTC) #35
commit-bot: I haz the power
Patchset 10 (id:??) landed as https://crrev.com/bbda4652027d46bae2212f8d8e0cc5f2426dae48 Cr-Commit-Position: refs/heads/master@{#336470}
5 years, 6 months ago (2015-06-26 23:09:55 UTC) #36
no sievers
Did we somehow miss fixing this for the GL core extension bools? in gl_gl_api_implementation.cc it ...
5 years, 5 months ago (2015-07-21 23:16:27 UTC) #37
Tobias Sargeant
5 years, 5 months ago (2015-07-22 14:46:18 UTC) #38
Message was sent while issue was closed.
On 2015/07/21 23:16:27, sievers wrote:
> Did we somehow miss fixing this for the GL core extension bools?
> 
> in gl_gl_api_implementation.cc it looks like we would init the bools before we
> call InitializeFilteredExtensions().

You're right. Sorry. https://codereview.chromium.org/1253433002/ for the fix.

Powered by Google App Engine
This is Rietveld 408576698