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

Issue 14844004: gpu: Refactor to support cross-channel shared textures (Closed)

Created:
7 years, 7 months ago by piman
Modified:
7 years, 7 months ago
CC:
chromium-reviews, joi+watch-content_chromium.org, darin-cc_chromium.org, jam, apatrick_chromium, feature-media-reviews_chromium.org
Visibility:
Public.

Description

gpu: Refactor to support cross-channel shared textures This CL doesn't change command semantics, but is refactoring the management of textures on the service side. Accounting for texture gets separated into the Texture class which wraps the service id and the meta-data, vs the TextureRef class which is a reference to that service id in a given context group (generally corresponding to the client id). A Texture can now have multiple TextureRef referencing it (though in this CL no code does yet). TextureRef keeps the refcount, whereas the Texture is explicitly managed (jointly owned by all the TextureRef). The main functional change is that texture-related, per-TextureManager meta-data, such as "Is there any texture that hasn't been cleared", "Is there any non-renderable texture", or memory accounting is pushed from the Texture to all the owning TextureManagers (since changes from one can affect other ones). BUG=230137 TEST=gpu_unittests, gles2_conform_test, webgl conformance tests Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=200981

Patch Set 1 #

Total comments: 6

Patch Set 2 : rebase #

Patch Set 3 : add tests #

Patch Set 4 : rebase #

Patch Set 5 : remove bogus assert #

Patch Set 6 : win compile fix #

Patch Set 7 : rebase #

Patch Set 8 : fix accidentally reverted behavior #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1407 lines, -995 lines) Patch
M content/common/gpu/media/gpu_video_decode_accelerator.cc View 2 chunks +5 lines, -3 lines 0 comments Download
M gpu/command_buffer/service/context_group.cc View 2 chunks +3 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/context_state.h View 2 chunks +6 lines, -6 lines 0 comments Download
M gpu/command_buffer/service/framebuffer_manager.h View 4 chunks +4 lines, -3 lines 0 comments Download
M gpu/command_buffer/service/framebuffer_manager.cc View 8 chunks +27 lines, -23 lines 0 comments Download
M gpu/command_buffer/service/framebuffer_manager_unittest.cc View 5 chunks +6 lines, -6 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder.cc View 1 2 3 4 5 6 79 chunks +183 lines, -175 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc View 1 2 3 4 5 6 35 chunks +79 lines, -59 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.h View 1 chunk +1 line, -1 line 0 comments Download
M gpu/command_buffer/service/test_helper.h View 2 chunks +2 lines, -2 lines 0 comments Download
M gpu/command_buffer/service/test_helper.cc View 2 chunks +4 lines, -3 lines 0 comments Download
M gpu/command_buffer/service/texture_manager.h View 1 2 3 4 5 6 7 20 chunks +142 lines, -54 lines 0 comments Download
M gpu/command_buffer/service/texture_manager.cc View 1 2 3 4 5 6 7 30 chunks +252 lines, -234 lines 0 comments Download
M gpu/command_buffer/service/texture_manager_unittest.cc View 1 2 3 4 5 6 7 33 chunks +693 lines, -426 lines 0 comments Download

Messages

Total messages: 16 (0 generated)
piman
Sorry for the bomb-tastic patch... https://codereview.chromium.org/14844004/diff/1/gpu/command_buffer/service/gles2_cmd_decoder.cc File gpu/command_buffer/service/gles2_cmd_decoder.cc (left): https://codereview.chromium.org/14844004/diff/1/gpu/command_buffer/service/gles2_cmd_decoder.cc#oldcode7542 gpu/command_buffer/service/gles2_cmd_decoder.cc:7542: framebuffer_manager()->IncFramebufferStateChangeCount(); Note: this is ...
7 years, 7 months ago (2013-05-14 01:34:50 UTC) #1
greggman
Looks great! Much smaller than I expected. I don't see any tests though. Should there ...
7 years, 7 months ago (2013-05-15 21:11:38 UTC) #2
apatrick_chromium
LGTM % gman's comments.
7 years, 7 months ago (2013-05-15 21:26:18 UTC) #3
piman
PTAL On 2013/05/15 21:11:38, greggman wrote: > Looks great! Much smaller than I expected. It's ...
7 years, 7 months ago (2013-05-17 01:32:13 UTC) #4
greggman
On 2013/05/17 01:32:13, piman wrote: > PTAL > > On 2013/05/15 21:11:38, greggman wrote: > ...
7 years, 7 months ago (2013-05-17 01:50:21 UTC) #5
piman
On 2013/05/17 01:50:21, greggman wrote: > On 2013/05/17 01:32:13, piman wrote: > > PTAL > ...
7 years, 7 months ago (2013-05-17 01:57:26 UTC) #6
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/piman@chromium.org/14844004/22002
7 years, 7 months ago (2013-05-17 01:57:55 UTC) #7
commit-bot: I haz the power
Failed to trigger a try job on linux_chromeos HTTP Error 400: Bad Request
7 years, 7 months ago (2013-05-17 02:34:07 UTC) #8
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/piman@chromium.org/14844004/34001
7 years, 7 months ago (2013-05-17 02:34:15 UTC) #9
commit-bot: I haz the power
Retried try job too often on win7_aura for step(s) ash_unittests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=win7_aura&number=40985
7 years, 7 months ago (2013-05-17 04:06:07 UTC) #10
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/piman@chromium.org/14844004/34001
7 years, 7 months ago (2013-05-17 05:45:36 UTC) #11
commit-bot: I haz the power
Failed to apply patch for gpu/command_buffer/service/gles2_cmd_decoder.cc: While running patch -p1 --forward --force --no-backup-if-mismatch; patching file ...
7 years, 7 months ago (2013-05-17 05:45:43 UTC) #12
piman
This collided with https://chromiumcodereview.appspot.com/14828011 I rebased but the conflicts were non-trivial around the CanRender logic ...
7 years, 7 months ago (2013-05-17 21:28:11 UTC) #13
greggman
On 2013/05/17 21:28:11, piman wrote: > This collided with https://chromiumcodereview.appspot.com/14828011 > I rebased but the ...
7 years, 7 months ago (2013-05-17 22:14:27 UTC) #14
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/piman@chromium.org/14844004/53002
7 years, 7 months ago (2013-05-18 01:48:27 UTC) #15
commit-bot: I haz the power
7 years, 7 months ago (2013-05-18 09:19:51 UTC) #16
Message was sent while issue was closed.
Change committed as 200981

Powered by Google App Engine
This is Rietveld 408576698