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

Issue 2814583002: Service/ClientDiscardableManager (Closed)

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

Description

Service/Client Discardable Manager This change adds Service/ClientDiscardableManager classes and unit tests. These classes are used by GLES2Implementation and GLES2DecoderImpl to manage GPU discardable memory. See https://docs.google.com/document/d/1WoatXUZ7utZeKNcpOt3LXFPCc6STcmrtYqmgkZPrjds/edit?usp=sharing Note that the follow-up use of these functions can be seen in this CL: https://codereview.chromium.org/2818993002/ 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/2814583002 Cr-Commit-Position: refs/heads/master@{#473037} Committed: https://chromium.googlesource.com/chromium/src/+/dc5eeaa0a9a5a7f9ff83a82ab8896740736ffc6b

Patch Set 1 #

Patch Set 2 : fixes #

Patch Set 3 : updates #

Patch Set 4 : rename #

Patch Set 5 : rebase #

Patch Set 6 : rename #

Total comments: 13

Patch Set 7 : rebase + combine patches #

Patch Set 8 : feeedback #

Total comments: 7

Patch Set 9 : Feedback #

Total comments: 10

Patch Set 10 : feedback #

Patch Set 11 : rebase #

Patch Set 12 : Build fixes Fix iterator invalidation issue with move to base::flat_set #

Patch Set 13 : rebase #

Patch Set 14 : Fixes from asan and rebase #

Patch Set 15 : rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+2070 lines, -85 lines) Patch
M gpu/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +2 lines, -0 lines 0 comments Download
A gpu/GLES2/extensions/CHROMIUM/CHROMIUM_discardable_texture.txt View 1 2 3 4 5 6 7 1 chunk +72 lines, -0 lines 0 comments Download
M gpu/GLES2/gl2chromium_autogen.h View 1 2 3 4 5 6 1 chunk +6 lines, -0 lines 0 comments Download
M gpu/command_buffer/build_gles2_cmd_buffer.py View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +22 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/BUILD.gn View 1 chunk +2 lines, -0 lines 0 comments Download
A gpu/command_buffer/client/client_discardable_manager.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +72 lines, -0 lines 0 comments Download
A gpu/command_buffer/client/client_discardable_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +232 lines, -0 lines 0 comments Download
A gpu/command_buffer/client/client_discardable_manager_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +159 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_c_lib_autogen.h View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +24 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_cmd_helper_autogen.h View 1 2 3 4 5 6 7 1 chunk +26 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_implementation.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +43 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_implementation_autogen.h View 1 2 3 4 5 6 1 chunk +6 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_implementation_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +44 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_interface_autogen.h View 1 2 3 4 5 6 1 chunk +3 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_interface_stub_autogen.h View 1 2 3 4 5 6 1 chunk +3 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_interface_stub_impl_autogen.h View 1 2 3 4 5 6 1 chunk +8 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_trace_implementation_autogen.h View 1 2 3 4 5 6 1 chunk +3 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_trace_implementation_impl_autogen.h View 1 2 3 4 5 6 1 chunk +21 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/share_group.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3 chunks +6 lines, -0 lines 0 comments Download
M gpu/command_buffer/cmd_buffer_functions.txt View 1 2 3 4 5 6 1 chunk +5 lines, -0 lines 0 comments Download
M gpu/command_buffer/common/discardable_handle.h View 1 2 2 chunks +8 lines, -2 lines 0 comments Download
M gpu/command_buffer/common/discardable_handle.cc View 1 2 2 chunks +9 lines, -2 lines 0 comments Download
M gpu/command_buffer/common/gles2_cmd_format_autogen.h View 1 2 3 4 5 6 7 1 chunk +116 lines, -0 lines 0 comments Download
M gpu/command_buffer/common/gles2_cmd_format_test_autogen.h View 1 2 3 4 5 6 7 1 chunk +39 lines, -0 lines 0 comments Download
M gpu/command_buffer/common/gles2_cmd_ids_autogen.h View 1 2 3 4 5 6 7 1 chunk +4 lines, -1 line 0 comments Download
M gpu/command_buffer/service/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +2 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/context_group.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 4 chunks +9 lines, -1 line 0 comments Download
M gpu/command_buffer/service/context_group.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 4 chunks +7 lines, -3 lines 0 comments Download
M gpu/command_buffer/service/context_group_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +6 lines, -3 lines 0 comments Download
M gpu/command_buffer/service/framebuffer_manager_unittest.cc View 1 2 3 4 5 6 7 5 chunks +5 lines, -2 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 5 chunks +90 lines, -23 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_passthrough_handlers.cc View 1 2 3 4 5 6 7 1 chunk +20 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3 chunks +7 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +25 lines, -1 line 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_unittest_textures.cc View 1 2 3 4 5 6 7 8 9 3 chunks +84 lines, -0 lines 0 comments Download
A gpu/command_buffer/service/service_discardable_manager.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +114 lines, -0 lines 0 comments Download
A gpu/command_buffer/service/service_discardable_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +177 lines, -0 lines 0 comments Download
A gpu/command_buffer/service/service_discardable_manager_unittest.cc View 1 2 3 4 5 6 7 8 9 1 chunk +455 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/texture_manager.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 4 chunks +12 lines, -2 lines 0 comments Download
M gpu/command_buffer/service/texture_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 7 chunks +39 lines, -2 lines 0 comments Download
M gpu/command_buffer/service/texture_manager_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 23 chunks +39 lines, -34 lines 0 comments Download
M gpu/command_buffer/tests/fuzzer_main.cc View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +3 lines, -1 line 0 comments Download
M gpu/command_buffer/tests/gl_manager.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +2 lines, -0 lines 0 comments Download
M gpu/command_buffer/tests/gl_manager.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3 chunks +4 lines, -2 lines 0 comments Download
M gpu/gles2_conform_support/egl/context.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 chunks +2 lines, -0 lines 0 comments Download
M gpu/gles2_conform_support/egl/context.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3 chunks +4 lines, -3 lines 0 comments Download
M gpu/ipc/in_process_command_buffer.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3 chunks +3 lines, -0 lines 0 comments Download
M gpu/ipc/in_process_command_buffer.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3 chunks +11 lines, -1 line 0 comments Download
M gpu/ipc/service/gpu_channel.h View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +7 lines, -0 lines 0 comments Download
M gpu/ipc/service/gpu_channel.cc View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +3 lines, -0 lines 0 comments Download
M gpu/ipc/service/gpu_channel_manager.h View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +2 lines, -0 lines 0 comments Download
M gpu/ipc/service/gpu_channel_manager.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +2 lines, -1 line 0 comments Download
M gpu/ipc/service/gpu_command_buffer_stub.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 92 (67 generated)
ericrk
Hey piman@, here's some more GPU discardable logic. Please take a look at this and ...
3 years, 8 months ago (2017-04-19 20:01:31 UTC) #6
ericrk
+vmiura@ fyi
3 years, 8 months ago (2017-04-19 20:02:33 UTC) #7
piman
A few high level comments, I didn't go into the details as things may change ...
3 years, 7 months ago (2017-05-02 22:21:03 UTC) #10
ericrk
Thanks for the feedback - one question (while I work on the rest). Thanks! https://codereview.chromium.org/2814583002/diff/100001/gpu/command_buffer/client/client_discardable_manager.cc ...
3 years, 7 months ago (2017-05-08 01:03:50 UTC) #11
piman
https://codereview.chromium.org/2814583002/diff/100001/gpu/command_buffer/client/client_discardable_manager.cc File gpu/command_buffer/client/client_discardable_manager.cc (right): https://codereview.chromium.org/2814583002/diff/100001/gpu/command_buffer/client/client_discardable_manager.cc#newcode20 gpu/command_buffer/client/client_discardable_manager.cc:20: FreeOffsetSet(uint32_t element_count); nit: explicit https://codereview.chromium.org/2814583002/diff/100001/gpu/command_buffer/client/client_discardable_manager.cc#newcode46 gpu/command_buffer/client/client_discardable_manager.cc:46: std::set<FreeRange, CompareFreeRanges> free_ranges_; ...
3 years, 7 months ago (2017-05-08 20:20:27 UTC) #12
ericrk
Hi piman! Still working on adding more unit tests, but wanted to see if you ...
3 years, 7 months ago (2017-05-10 21:36:03 UTC) #17
ericrk
Hi piman! Still working on adding more unit tests, but wanted to see if you ...
3 years, 7 months ago (2017-05-10 21:36:05 UTC) #18
piman
couple of things but otherwise I like the approach. https://codereview.chromium.org/2814583002/diff/160002/gpu/command_buffer/service/service_discardable_manager.cc File gpu/command_buffer/service/service_discardable_manager.cc (right): https://codereview.chromium.org/2814583002/diff/160002/gpu/command_buffer/service/service_discardable_manager.cc#newcode136 gpu/command_buffer/service/service_discardable_manager.cc:136: ...
3 years, 7 months ago (2017-05-10 22:14:00 UTC) #19
ericrk
Thanks for the feedback. https://codereview.chromium.org/2814583002/diff/160002/gpu/command_buffer/service/service_discardable_manager.cc File gpu/command_buffer/service/service_discardable_manager.cc (right): https://codereview.chromium.org/2814583002/diff/160002/gpu/command_buffer/service/service_discardable_manager.cc#newcode136 gpu/command_buffer/service/service_discardable_manager.cc:136: it = entries_.Erase(it); On 2017/05/10 ...
3 years, 7 months ago (2017-05-12 16:22:12 UTC) #20
piman
LGTM with nits, though I think it's worth checking the last edge case https://codereview.chromium.org/2814583002/diff/220001/gpu/command_buffer/service/gles2_cmd_decoder_unittest_textures.cc File ...
3 years, 7 months ago (2017-05-12 18:01:27 UTC) #21
ericrk
https://codereview.chromium.org/2814583002/diff/220001/gpu/command_buffer/service/gles2_cmd_decoder_unittest_textures.cc File gpu/command_buffer/service/gles2_cmd_decoder_unittest_textures.cc (right): https://codereview.chromium.org/2814583002/diff/220001/gpu/command_buffer/service/gles2_cmd_decoder_unittest_textures.cc#newcode4938 gpu/command_buffer/service/gles2_cmd_decoder_unittest_textures.cc:4938: // it's deletion). On 2017/05/12 18:01:27, piman wrote: > ...
3 years, 7 months ago (2017-05-12 20:24:00 UTC) #22
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/2814583002/240001
3 years, 7 months ago (2017-05-12 20:24:59 UTC) #25
commit-bot: I haz the power
Try jobs failed on following builders: mac_chromium_compile_dbg_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_compile_dbg_ng/builds/417808) mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, ...
3 years, 7 months ago (2017-05-12 20:28:25 UTC) #27
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/2814583002/260001
3 years, 7 months ago (2017-05-12 21:34:35 UTC) #30
commit-bot: I haz the power
Try jobs failed on following builders: android_compile_dbg on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_compile_dbg/builds/268643)
3 years, 7 months ago (2017-05-12 21:56:27 UTC) #32
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/2814583002/280001
3 years, 7 months ago (2017-05-15 17:47:45 UTC) #35
commit-bot: I haz the power
Try jobs failed on following builders: mac_chromium_compile_dbg_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_compile_dbg_ng/builds/418980)
3 years, 7 months ago (2017-05-15 18:03:54 UTC) #37
ericrk
Made a few fixes thanks to asan trybot - also some other misc stuff. Nothing ...
3 years, 7 months ago (2017-05-18 16:00:03 UTC) #72
piman
lgtm
3 years, 7 months ago (2017-05-18 19:08:49 UTC) #77
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/2814583002/420001
3 years, 7 months ago (2017-05-18 19:39:34 UTC) #80
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/441516)
3 years, 7 months ago (2017-05-18 19:52:00 UTC) #82
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/2814583002/440001
3 years, 7 months ago (2017-05-18 20:44:06 UTC) #85
commit-bot: I haz the power
Try jobs failed on following builders: win_optional_gpu_tests_rel on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_optional_gpu_tests_rel/builds/10427)
3 years, 7 months ago (2017-05-18 22:38:17 UTC) #87
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/2814583002/440001
3 years, 7 months ago (2017-05-18 22:40:41 UTC) #89
commit-bot: I haz the power
3 years, 7 months ago (2017-05-19 02:24:23 UTC) #92
Message was sent while issue was closed.
Committed patchset #15 (id:440001) as
https://chromium.googlesource.com/chromium/src/+/dc5eeaa0a9a5a7f9ff83a82ab889...

Powered by Google App Engine
This is Rietveld 408576698