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

Issue 2826043002: Do not share FBOs/VAOs/Transform feedback objects across contexts (Closed)

Created:
3 years, 8 months ago by Chandan
Modified:
3 years, 7 months ago
CC:
chromium-reviews, piman+watch_chromium.org
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Do not share FBOs/VAOs/Transform feedback objects across contexts Framebuffer, vertex array and transform feedback objects are not shared across opengl contexts. Therefore, instead of using ShareGroup's IdHandler, we can manage IDs for these objects locally in GLES2Implementation itself. BUG=722717 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Review-Url: https://codereview.chromium.org/2826043002 Cr-Commit-Position: refs/heads/master@{#472883} Committed: https://chromium.googlesource.com/chromium/src/+/2dfc7029286f40d73b131760e3b7467c68b8bb17

Patch Set 1 #

Patch Set 2 : FBOs/VAOs should not be shared between contexts #

Total comments: 10

Patch Set 3 : @review comments #

Total comments: 10

Patch Set 4 : @review comments #

Total comments: 6

Patch Set 5 : Added service side changes #

Total comments: 4

Patch Set 6 : fixed unittests failures; zmo@ review comments #

Total comments: 7

Patch Set 7 : added DeleteFramebuffers() expectation #

Total comments: 3
Unified diffs Side-by-side diffs Delta from patch set Stats (+237 lines, -228 lines) Patch
M gpu/command_buffer/build_gles2_cmd_buffer.py View 1 2 3 4 5 chunks +28 lines, -19 lines 0 comments Download
M gpu/command_buffer/client/gles2_implementation.h View 1 2 3 5 chunks +6 lines, -10 lines 0 comments Download
M gpu/command_buffer/client/gles2_implementation.cc View 1 2 3 23 chunks +65 lines, -84 lines 0 comments Download
M gpu/command_buffer/client/gles2_implementation_impl_autogen.h View 1 2 3 4 11 chunks +17 lines, -19 lines 0 comments Download
M gpu/command_buffer/client/gles2_implementation_unittest.cc View 1 2 3 4 chunks +0 lines, -25 lines 0 comments Download
M gpu/command_buffer/client/share_group.h View 1 2 3 5 chunks +11 lines, -6 lines 0 comments Download
M gpu/command_buffer/client/share_group.cc View 1 2 3 1 chunk +8 lines, -4 lines 0 comments Download
M gpu/command_buffer/common/gles2_cmd_format.h View 1 2 1 chunk +28 lines, -9 lines 0 comments Download
M gpu/command_buffer/service/context_group.h View 1 2 3 4 3 chunks +0 lines, -7 lines 0 comments Download
M gpu/command_buffer/service/context_group.cc View 1 2 3 4 3 chunks +0 lines, -12 lines 0 comments Download
M gpu/command_buffer/service/context_group_unittest.cc View 1 2 3 4 6 chunks +0 lines, -6 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder.h View 1 2 3 4 2 chunks +4 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder.cc View 1 2 3 4 5 6 5 chunks +19 lines, -1 line 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_mock.h View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_passthrough.h View 1 2 3 4 1 chunk +3 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_passthrough.cc View 1 2 3 4 1 chunk +5 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.h View 1 2 3 4 2 chunks +5 lines, -1 line 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 3 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_unittest_framebuffers.cc View 1 2 3 4 11 chunks +11 lines, -16 lines 0 comments Download
M gpu/command_buffer/service/texture_manager.h View 1 2 3 4 5 2 chunks +3 lines, -4 lines 0 comments Download
M gpu/command_buffer/service/texture_manager.cc View 1 2 3 4 5 6 3 chunks +20 lines, -3 lines 0 comments Download
M gpu/command_buffer/service/texture_manager_unittest.cc View 1 2 3 4 5 1 chunk +2 lines, -2 lines 0 comments Download

Messages

Total messages: 74 (44 generated)
Chandan
I have made an attempt to manage IDs for FBOs/VAOs locally. Please review and let ...
3 years, 8 months ago (2017-04-19 13:45:21 UTC) #4
Zhenyao Mo
https://codereview.chromium.org/2826043002/diff/20001/gpu/command_buffer/client/gles2_implementation.cc File gpu/command_buffer/client/gles2_implementation.cc (right): https://codereview.chromium.org/2826043002/diff/20001/gpu/command_buffer/client/gles2_implementation.cc#newcode249 gpu/command_buffer/client/gles2_implementation.cc:249: id_allocators_[i].reset(new IdAllocator()); Some of these allocators are never used. ...
3 years, 8 months ago (2017-04-19 20:24:28 UTC) #9
Chandan
Below unittests are failing. GLES2ImplementationStrictSharedTest.CrossContextGenerationAutoFlushTestFramebuffers GLES2ImplementationStrictSharedTest.CrossContextGenerationTestFramebuffers GLES2ImplementationStrictSharedTest.FlushGenerationTestFramebuffers We now use IdAllocator which frees the glGenFramebuffer ...
3 years, 8 months ago (2017-04-20 10:56:07 UTC) #10
Chandan
ping
3 years, 7 months ago (2017-05-08 15:41:24 UTC) #11
Zhenyao Mo
On 2017/05/08 15:41:24, Chandan wrote: > ping I was on vacation. Sorry about the delay. ...
3 years, 7 months ago (2017-05-09 00:04:54 UTC) #12
Chandan
On 2017/05/09 00:04:54, Zhenyao Mo wrote: > On 2017/05/08 15:41:24, Chandan wrote: > > ping ...
3 years, 7 months ago (2017-05-09 04:35:58 UTC) #13
Zhenyao Mo
https://codereview.chromium.org/2826043002/diff/20001/gpu/command_buffer/common/gles2_cmd_format.h File gpu/command_buffer/common/gles2_cmd_format.h (right): https://codereview.chromium.org/2826043002/diff/20001/gpu/command_buffer/common/gles2_cmd_format.h#newcode74 gpu/command_buffer/common/gles2_cmd_format.h:74: enum IdNamespaces { kFramebuffers, kQueries, kVertexArrays, kNumIdNamespaces }; On ...
3 years, 7 months ago (2017-05-09 22:21:55 UTC) #16
Chandan
Added Transform feedback objects to the list. Uploaded patch set 2 based on my assumption ...
3 years, 7 months ago (2017-05-10 14:47:38 UTC) #19
Zhenyao Mo
You will need to make all bots green, otherwise I can't really do an effective ...
3 years, 7 months ago (2017-05-10 23:17:11 UTC) #31
Chandan
On 2017/05/10 23:17:11, Zhenyao Mo wrote: > You will need to make all bots green, ...
3 years, 7 months ago (2017-05-11 03:42:51 UTC) #32
Zhenyao Mo
Yes, the three failing tests can be deleted. https://codereview.chromium.org/2826043002/diff/40001/gpu/command_buffer/build_gles2_cmd_buffer.py File gpu/command_buffer/build_gles2_cmd_buffer.py (right): https://codereview.chromium.org/2826043002/diff/40001/gpu/command_buffer/build_gles2_cmd_buffer.py#newcode6045 gpu/command_buffer/build_gles2_cmd_buffer.py:6045: """ ...
3 years, 7 months ago (2017-05-11 22:10:58 UTC) #33
Chandan
zmo@, Thanks for the review. PTAL @PS4. https://codereview.chromium.org/2826043002/diff/40001/gpu/command_buffer/build_gles2_cmd_buffer.py File gpu/command_buffer/build_gles2_cmd_buffer.py (right): https://codereview.chromium.org/2826043002/diff/40001/gpu/command_buffer/build_gles2_cmd_buffer.py#newcode6045 gpu/command_buffer/build_gles2_cmd_buffer.py:6045: """ IdAllocator* ...
3 years, 7 months ago (2017-05-12 12:30:31 UTC) #36
Zhenyao Mo
A bunch of new tests begin to fail. piman took a look and pointed out ...
3 years, 7 months ago (2017-05-12 17:37:46 UTC) #39
Chandan
@zmo, PTAL @PS5. Service side unittests are failing with below errors: [ RUN ] Service/GLES3DecoderTest.Basic/0 ...
3 years, 7 months ago (2017-05-15 14:49:17 UTC) #40
Ken Russell (switch to Gerrit)
Please create a bug for this and refer to it in the BUG= line. It ...
3 years, 7 months ago (2017-05-16 01:14:27 UTC) #46
Chandan
On 2017/05/16 01:14:27, Ken Russell wrote: > Please create a bug for this and refer ...
3 years, 7 months ago (2017-05-16 13:08:42 UTC) #48
Ken Russell (switch to Gerrit)
On 2017/05/16 13:08:42, Chandan wrote: > On 2017/05/16 01:14:27, Ken Russell wrote: > > Please ...
3 years, 7 months ago (2017-05-16 17:46:53 UTC) #49
Zhenyao Mo
After addressing my latest comments, please take a look at the failing unit tests. It's ...
3 years, 7 months ago (2017-05-16 18:53:40 UTC) #50
Chandan
On 2017/05/16 18:53:40, Zhenyao Mo wrote: > After addressing my latest comments, please take a ...
3 years, 7 months ago (2017-05-16 19:14:43 UTC) #51
Zhenyao Mo
On 2017/05/16 19:14:43, Chandan wrote: > On 2017/05/16 18:53:40, Zhenyao Mo wrote: > > After ...
3 years, 7 months ago (2017-05-16 19:32:16 UTC) #52
Chandan
https://codereview.chromium.org/2826043002/diff/80001/gpu/command_buffer/service/gles2_cmd_decoder.cc File gpu/command_buffer/service/gles2_cmd_decoder.cc (left): https://codereview.chromium.org/2826043002/diff/80001/gpu/command_buffer/service/gles2_cmd_decoder.cc#oldcode5732 gpu/command_buffer/service/gles2_cmd_decoder.cc:5732: if (!group_->bind_generates_resource()) { On 2017/05/16 18:53:40, Zhenyao Mo wrote: ...
3 years, 7 months ago (2017-05-17 13:08:09 UTC) #55
Chandan
Thank you Zhenyao Mo. Your input helped me figure out the root cause of these ...
3 years, 7 months ago (2017-05-17 13:19:03 UTC) #56
Zhenyao Mo
Mostly looks good. Thanks for keeping pushing on this CL. https://codereview.chromium.org/2826043002/diff/100001/gpu/command_buffer/service/gles2_cmd_decoder.cc File gpu/command_buffer/service/gles2_cmd_decoder.cc (right): https://codereview.chromium.org/2826043002/diff/100001/gpu/command_buffer/service/gles2_cmd_decoder.cc#newcode4870 ...
3 years, 7 months ago (2017-05-17 18:06:51 UTC) #59
Chandan
Please take another look. Thank you. https://codereview.chromium.org/2826043002/diff/100001/gpu/command_buffer/service/gles2_cmd_decoder.cc File gpu/command_buffer/service/gles2_cmd_decoder.cc (right): https://codereview.chromium.org/2826043002/diff/100001/gpu/command_buffer/service/gles2_cmd_decoder.cc#newcode4870 gpu/command_buffer/service/gles2_cmd_decoder.cc:4870: framebuffer_manager_->Destroy(false); On 2017/05/17 ...
3 years, 7 months ago (2017-05-18 13:33:36 UTC) #64
Zhenyao Mo
One concern. Otherwise it looks good. https://codereview.chromium.org/2826043002/diff/120001/gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc File gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc (right): https://codereview.chromium.org/2826043002/diff/120001/gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc#newcode545 gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc:545: EXPECT_CALL(*gl_, DeleteFramebuffersEXT(1, _)).Times(AnyNumber()); ...
3 years, 7 months ago (2017-05-18 17:39:54 UTC) #65
Chandan
https://codereview.chromium.org/2826043002/diff/120001/gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc File gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc (right): https://codereview.chromium.org/2826043002/diff/120001/gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc#newcode545 gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc:545: EXPECT_CALL(*gl_, DeleteFramebuffersEXT(1, _)).Times(AnyNumber()); On 2017/05/18 17:39:53, Zhenyao Mo wrote: ...
3 years, 7 months ago (2017-05-18 18:10:09 UTC) #66
Zhenyao Mo
lgtm then Thank you
3 years, 7 months ago (2017-05-18 18:13:25 UTC) #67
Chandan
On 2017/05/18 18:13:25, Zhenyao Mo wrote: > lgtm then > > Thank you Thank you ...
3 years, 7 months ago (2017-05-18 18:32:58 UTC) #69
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/2826043002/120001
3 years, 7 months ago (2017-05-18 18:34:23 UTC) #70
commit-bot: I haz the power
3 years, 7 months ago (2017-05-18 18:40:52 UTC) #74
Message was sent while issue was closed.
Committed patchset #7 (id:120001) as
https://chromium.googlesource.com/chromium/src/+/2dfc7029286f40d73b131760e3b7...

Powered by Google App Engine
This is Rietveld 408576698