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

Issue 2136223002: Introduce GLStubApi (Closed)

Created:
4 years, 5 months ago by piman
Modified:
4 years, 5 months ago
Reviewers:
no sievers
CC:
chromium-reviews, piman+watch_chromium.org, ozone-reviews_chromium.org, kalyank
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Introduce GLStubApi The mock GL bindings are useful, but they are very complex to setup and use (gmock), and too slow for some uses (e.g. a fuzzer), and painful to maintain as the decoder code evolves. This CL introduces a GLStubApi as an alternative: - GLStubApi hooks at the GLApi level rather than the DriverGL level, that is, it implements a full interface rather than individual functions looked up through GetProcAddress. It is simpler to override. - the CL implements an auto-generated GLStubApiBase which only has trivial functions, as well as a more concrete GLStubApi that implements enough to initialize and run a GLES2Decoder. - GpuChannelTest was changed to use the GLStubApi BUG=None CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel;tryserver.chromium.win:win_optional_gpu_tests_rel Committed: https://crrev.com/aa595d83c0f482773418fd441ffa0f23fd62d4ef Cr-Commit-Position: refs/heads/master@{#405276}

Patch Set 1 #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+966 lines, -402 lines) Patch
M gpu/ipc/service/gpu_channel_unittest.cc View 4 chunks +3 lines, -94 lines 0 comments Download
M ui/gl/BUILD.gn View 1 chunk +5 lines, -0 lines 0 comments Download
M ui/gl/generate_bindings.py View 3 chunks +58 lines, -1 line 0 comments Download
M ui/gl/gl.gyp View 1 chunk +5 lines, -0 lines 0 comments Download
M ui/gl/gl_bindings_api_autogen_egl.h View 1 chunk +1 line, -1 line 0 comments Download
M ui/gl/gl_bindings_api_autogen_gl.h View 1 chunk +1 line, -1 line 0 comments Download
M ui/gl/gl_bindings_api_autogen_glx.h View 1 chunk +1 line, -1 line 0 comments Download
M ui/gl/gl_bindings_api_autogen_osmesa.h View 1 chunk +1 line, -1 line 0 comments Download
M ui/gl/gl_bindings_api_autogen_wgl.h View 1 chunk +1 line, -1 line 0 comments Download
M ui/gl/gl_bindings_autogen_egl.h View 1 chunk +1 line, -1 line 0 comments Download
M ui/gl/gl_bindings_autogen_egl.cc View 1 chunk +1 line, -1 line 0 comments Download
M ui/gl/gl_bindings_autogen_gl.h View 1 chunk +1 line, -1 line 0 comments Download
M ui/gl/gl_bindings_autogen_gl.cc View 1 chunk +1 line, -1 line 0 comments Download
M ui/gl/gl_bindings_autogen_glx.h View 1 chunk +1 line, -1 line 0 comments Download
M ui/gl/gl_bindings_autogen_glx.cc View 1 chunk +1 line, -1 line 0 comments Download
M ui/gl/gl_bindings_autogen_mock.h View 1 chunk +1 line, -1 line 0 comments Download
M ui/gl/gl_bindings_autogen_mock.cc View 1 chunk +1 line, -1 line 0 comments Download
M ui/gl/gl_bindings_autogen_osmesa.h View 1 chunk +1 line, -1 line 0 comments Download
M ui/gl/gl_bindings_autogen_osmesa.cc View 1 chunk +1 line, -1 line 0 comments Download
M ui/gl/gl_bindings_autogen_wgl.h View 1 chunk +1 line, -1 line 0 comments Download
M ui/gl/gl_bindings_autogen_wgl.cc View 1 chunk +1 line, -1 line 0 comments Download
M ui/gl/gl_context_stub.cc View 2 chunks +3 lines, -1 line 0 comments Download
M ui/gl/gl_enums_implementation_autogen.h View 2 chunks +1 line, -4 lines 0 comments Download
M ui/gl/gl_gl_api_implementation.h View 1 chunk +2 lines, -0 lines 0 comments Download
M ui/gl/gl_gl_api_implementation.cc View 3 chunks +11 lines, -0 lines 2 comments Download
M ui/gl/gl_mock_autogen_gl.h View 1 chunk +1 line, -1 line 0 comments Download
A ui/gl/gl_stub_api.h View 1 chunk +61 lines, -0 lines 0 comments Download
A ui/gl/gl_stub_api.cc View 1 chunk +296 lines, -0 lines 0 comments Download
A ui/gl/gl_stub_api_base.h View 1 chunk +28 lines, -0 lines 0 comments Download
A + ui/gl/gl_stub_autogen_gl.h View 23 chunks +302 lines, -284 lines 0 comments Download
A ui/gl/gl_stub_autogen_gl.cc View 1 chunk +173 lines, -0 lines 0 comments Download

Messages

Total messages: 38 (20 generated)
piman
sievers: PTAL at another prereq for the fuzzer - mock bindings are way too slow ...
4 years, 5 months ago (2016-07-11 20:27:02 UTC) #3
no sievers
lgtm, much simpler to use indeed. https://codereview.chromium.org/2136223002/diff/1/ui/gl/gl_gl_api_implementation.cc File ui/gl/gl_gl_api_implementation.cc (right): https://codereview.chromium.org/2136223002/diff/1/ui/gl/gl_gl_api_implementation.cc#newcode386 ui/gl/gl_gl_api_implementation.cc:386: SetGLApi(g_stub_gl ? g_stub_gl ...
4 years, 5 months ago (2016-07-11 22:42:42 UTC) #8
piman
https://codereview.chromium.org/2136223002/diff/1/ui/gl/gl_gl_api_implementation.cc File ui/gl/gl_gl_api_implementation.cc (right): https://codereview.chromium.org/2136223002/diff/1/ui/gl/gl_gl_api_implementation.cc#newcode386 ui/gl/gl_gl_api_implementation.cc:386: SetGLApi(g_stub_gl ? g_stub_gl : g_gl); On 2016/07/11 22:42:41, sievers ...
4 years, 5 months ago (2016-07-11 23:57:27 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2136223002/1
4 years, 5 months ago (2016-07-12 00:00:39 UTC) #11
commit-bot: I haz the power
Try jobs failed on following builders: win_chromium_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/253517)
4 years, 5 months ago (2016-07-12 00:54:38 UTC) #13
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2136223002/1
4 years, 5 months ago (2016-07-12 03:20:26 UTC) #15
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_asan_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_asan_rel_ng/builds/190854)
4 years, 5 months ago (2016-07-12 04:52:38 UTC) #17
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2136223002/1
4 years, 5 months ago (2016-07-12 14:53:13 UTC) #19
commit-bot: I haz the power
Try jobs failed on following builders: win_optional_gpu_tests_rel on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_optional_gpu_tests_rel/builds/2158)
4 years, 5 months ago (2016-07-12 15:40:31 UTC) #21
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2136223002/1
4 years, 5 months ago (2016-07-12 21:12:05 UTC) #23
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_chromeos_ozone_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_ozone_rel_ng/builds/200232)
4 years, 5 months ago (2016-07-12 23:47:59 UTC) #25
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2136223002/1
4 years, 5 months ago (2016-07-12 23:57:00 UTC) #27
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_asan_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_asan_rel_ng/builds/191828)
4 years, 5 months ago (2016-07-13 00:38:54 UTC) #29
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2136223002/1
4 years, 5 months ago (2016-07-13 18:29:33 UTC) #33
commit-bot: I haz the power
Your CL relies on deprecated CQ feature(s): * Specifying master names without "master." prefix is ...
4 years, 5 months ago (2016-07-13 19:33:38 UTC) #34
commit-bot: I haz the power
Committed patchset #1 (id:1)
4 years, 5 months ago (2016-07-13 20:26:59 UTC) #35
commit-bot: I haz the power
CQ bit was unchecked.
4 years, 5 months ago (2016-07-13 20:27:09 UTC) #36
commit-bot: I haz the power
4 years, 5 months ago (2016-07-13 20:29:01 UTC) #38
Message was sent while issue was closed.
Patchset 1 (id:??) landed as
https://crrev.com/aa595d83c0f482773418fd441ffa0f23fd62d4ef
Cr-Commit-Position: refs/heads/master@{#405276}

Powered by Google App Engine
This is Rietveld 408576698