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

Issue 1922633002: Implement TransformFeedbackManager in GPU command buffer. (Closed)

Created:
4 years, 8 months ago by Zhenyao Mo
Modified:
4 years, 7 months ago
Reviewers:
piman
CC:
chromium-reviews, rjkroege, qsr+mojo_chromium.org, viettrungluu+watch_chromium.org, yzshen+watch_chromium.org, abarth-chromium, Aaron Boodman, piman+watch_chromium.org, darin (slow to review), ben+mojo_chromium.org, Ken Russell (switch to Gerrit), vmiura, no sievers, bajones, qiankun
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Implement TransformFeedbackManager in GPU command buffer. A few design points: 1) create a "default" transform feedback for each context (instead of using the default 0). This will make context switching easier. 2) Emulate BindBufferRange behaviors on GL 4.1 or lower by tracking indexed buffer bindings. WHat's left to be done: 1) Intercept GetIntegeri_v and GetIntegeri64_v on GL 4.1 or lower (due to the emulation) 2) Hook up indexed buffer bindings to Program (for uniform buffer bindings) BUG=604436 TEST=gpu_unittests,webgl2_conformance R=piman@chromium.org 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/6c468baf6600fe4846e73203ce2e83398ee73813 Cr-Commit-Position: refs/heads/master@{#391605}

Patch Set 1 : #

Total comments: 20

Patch Set 2 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1215 lines, -252 lines) Patch
M content/test/gpu/gpu_tests/webgl2_conformance_expectations.py View 1 1 chunk +0 lines, -2 lines 0 comments Download
M gpu/BUILD.gn View 1 2 chunks +2 lines, -0 lines 0 comments Download
M gpu/command_buffer/build_gles2_cmd_buffer.py View 1 9 chunks +18 lines, -2 lines 0 comments Download
M gpu/command_buffer/common/gles2_cmd_utils_implementation_autogen.h View 1 chunk +0 lines, -6 lines 0 comments Download
M gpu/command_buffer/service/BUILD.gn View 2 chunks +4 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/buffer_manager.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M gpu/command_buffer/service/buffer_manager.cc View 1 2 chunks +8 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/context_group.h View 1 2 chunks +0 lines, -26 lines 0 comments Download
M gpu/command_buffer/service/context_state.h View 3 chunks +10 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/context_state.cc View 1 3 chunks +20 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder.h View 1 2 chunks +4 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder.cc View 1 19 chunks +240 lines, -23 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_autogen.h View 8 chunks +9 lines, -30 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_mock.h View 1 1 chunk +2 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc View 1 2 chunks +115 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_unittest_1_autogen.h View 1 4 chunks +0 lines, -103 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_unittest_2_autogen.h View 2 chunks +0 lines, -24 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_unittest_3_autogen.h View 1 chunk +0 lines, -24 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.h View 1 3 chunks +6 lines, -4 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc View 1 3 chunks +22 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_unittest_buffers.cc View 2 chunks +26 lines, -8 lines 0 comments Download
A gpu/command_buffer/service/indexed_buffer_binding_host.h View 1 1 chunk +95 lines, -0 lines 0 comments Download
A gpu/command_buffer/service/indexed_buffer_binding_host.cc View 1 1 chunk +187 lines, -0 lines 0 comments Download
A gpu/command_buffer/service/indexed_buffer_binding_host_unittest.cc View 1 1 chunk +119 lines, -0 lines 0 comments Download
A gpu/command_buffer/service/transform_feedback_manager.h View 1 1 chunk +131 lines, -0 lines 0 comments Download
A gpu/command_buffer/service/transform_feedback_manager.cc View 1 1 chunk +125 lines, -0 lines 0 comments Download
A gpu/command_buffer/service/transform_feedback_manager_unittest.cc View 1 1 chunk +63 lines, -0 lines 0 comments Download
M gpu/command_buffer_service.gypi View 2 chunks +4 lines, -0 lines 0 comments Download
M gpu/gpu.gyp View 1 2 chunks +2 lines, -0 lines 0 comments Download
M mojo/gpu/mojo_gles2_impl_autogen.h View 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 40 (21 generated)
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1922633002/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1922633002/20001
4 years, 8 months ago (2016-04-25 20:14:26 UTC) #3
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: cast_shell_linux on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/cast_shell_linux/builds/150352)
4 years, 8 months ago (2016-04-25 20:35:07 UTC) #5
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1922633002/10017 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1922633002/10017
4 years, 8 months ago (2016-04-25 21:06:57 UTC) #7
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1922633002/50001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1922633002/50001
4 years, 8 months ago (2016-04-25 22:43:54 UTC) #9
Zhenyao Mo
piman: PTAL (sorry about the size of this CL, but it's hard to break down ...
4 years, 8 months ago (2016-04-26 23:41:39 UTC) #14
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1922633002/90001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1922633002/90001
4 years, 8 months ago (2016-04-26 23:42:01 UTC) #16
Zhenyao Mo
In theory this CL should also remove the flakiness of deqp/functional/gles3/negativeshaderapi.html on Linux, which is ...
4 years, 8 months ago (2016-04-26 23:43:51 UTC) #17
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: cast_shell_android on tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/cast_shell_android/builds/56886)
4 years, 8 months ago (2016-04-26 23:52:53 UTC) #19
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1922633002/110001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1922633002/110001
4 years, 8 months ago (2016-04-26 23:58:37 UTC) #21
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 8 months ago (2016-04-27 01:02:33 UTC) #23
piman
The spec calls out a few other things: - DrawArrays/DrawArraysInstanced should raise GL_INVALID_OPERATION while feedback ...
4 years, 7 months ago (2016-04-28 01:38:48 UTC) #24
Zhenyao Mo
piman: PTAL https://codereview.chromium.org/1922633002/diff/110001/gpu/command_buffer/service/context_group.h File gpu/command_buffer/service/context_group.h (right): https://codereview.chromium.org/1922633002/diff/110001/gpu/command_buffer/service/context_group.h#newcode282 gpu/command_buffer/service/context_group.h:282: std::unique_ptr<TransformFeedbackManager> transform_feedback_manager_; On 2016/04/28 01:38:47, piman wrote: ...
4 years, 7 months ago (2016-04-29 21:07:54 UTC) #29
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1922633002/150001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1922633002/150001
4 years, 7 months ago (2016-04-29 21:08:25 UTC) #31
Zhenyao Mo
Note that the latest CL still doesn't do the draw call transformfeedback validation. This CL ...
4 years, 7 months ago (2016-04-29 21:09:04 UTC) #32
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 7 months ago (2016-04-29 22:16:50 UTC) #34
piman
lgtm
4 years, 7 months ago (2016-05-02 22:28:14 UTC) #35
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1922633002/150001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1922633002/150001
4 years, 7 months ago (2016-05-04 17:27:24 UTC) #37
commit-bot: I haz the power
Committed patchset #2 (id:150001)
4 years, 7 months ago (2016-05-04 20:01:01 UTC) #38
commit-bot: I haz the power
4 years, 7 months ago (2016-05-04 20:03:11 UTC) #40
Message was sent while issue was closed.
Patchset 2 (id:??) landed as
https://crrev.com/6c468baf6600fe4846e73203ce2e83398ee73813
Cr-Commit-Position: refs/heads/master@{#391605}

Powered by Google App Engine
This is Rietveld 408576698