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

Issue 14188053: gpu: Change Produce/ConsumeTexture to allow texture sharing (Closed)

Created:
7 years, 8 months ago by piman
Modified:
7 years, 6 months ago
CC:
chromium-reviews, joi+watch-content_chromium.org, darin-cc_chromium.org, jam, feature-media-reviews_chromium.org, Ken Russell (switch to Gerrit)
Visibility:
Public.

Description

gpu: Change Produce/ConsumeTexture to allow texture sharing This changes the semantics of ProduceTexture to not replacing the current texture by a dud, but instead keeping the existing one, that it also puts into the mailbox. It changes the semantics of ConsumeTexture to deleting the current texture, and replacing it by the mailbox contents (without taking it out of the mailbox). The texture becomes shared. The mailbox is now effectively a weak pointer onto the texture. BUG=230137 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=202992

Patch Set 1 : rebase #

Total comments: 22

Patch Set 2 : review comments #

Total comments: 8

Patch Set 3 : remove TextureManager::GetClientId #

Patch Set 4 : apatrick's nits #

Patch Set 5 : rebase #

Patch Set 6 : Remove TODO and don't check for FBOs any more #

Patch Set 7 : Also remove RenderbufferManager::GetClientId #

Patch Set 8 : rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+573 lines, -898 lines) Patch
M content/common/gpu/texture_image_transport_surface.h View 1 2 3 4 5 6 7 5 chunks +10 lines, -15 lines 0 comments Download
M content/common/gpu/texture_image_transport_surface.cc View 1 2 3 4 5 6 7 16 chunks +106 lines, -162 lines 0 comments Download
M gpu/GLES2/extensions/CHROMIUM/CHROMIUM_texture_mailbox.txt View 1 2 3 4 5 5 chunks +35 lines, -34 lines 0 comments Download
M gpu/command_buffer/service/context_group.cc View 1 2 3 4 1 chunk +0 lines, -2 lines 0 comments Download
M gpu/command_buffer/service/framebuffer_manager.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M gpu/command_buffer/service/framebuffer_manager.cc View 1 2 2 chunks +8 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/gl_context_virtual.cc View 1 2 3 4 5 6 7 1 chunk +2 lines, -2 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder.cc View 1 2 3 4 5 6 7 14 chunks +77 lines, -83 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc View 1 2 6 chunks +22 lines, -95 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_unittest_base.cc View 1 chunk +3 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/mailbox_manager.h View 1 2 3 3 chunks +16 lines, -20 lines 0 comments Download
M gpu/command_buffer/service/mailbox_manager.cc View 1 2 3 5 chunks +33 lines, -48 lines 0 comments Download
M gpu/command_buffer/service/renderbuffer_manager.h View 1 2 3 4 5 6 4 chunks +11 lines, -7 lines 0 comments Download
M gpu/command_buffer/service/renderbuffer_manager.cc View 1 2 3 4 5 6 3 chunks +6 lines, -16 lines 0 comments Download
M gpu/command_buffer/service/renderbuffer_manager_unittest.cc View 1 2 3 4 5 6 2 chunks +3 lines, -4 lines 0 comments Download
D gpu/command_buffer/service/texture_definition.h View 1 chunk +0 lines, -98 lines 0 comments Download
D gpu/command_buffer/service/texture_definition.cc View 1 chunk +0 lines, -75 lines 0 comments Download
M gpu/command_buffer/service/texture_manager.h View 1 2 8 chunks +17 lines, -12 lines 0 comments Download
M gpu/command_buffer/service/texture_manager.cc View 1 2 12 chunks +38 lines, -144 lines 0 comments Download
M gpu/command_buffer/service/texture_manager_unittest.cc View 1 2 20 chunks +86 lines, -79 lines 0 comments Download
M gpu/command_buffer/tests/gl_texture_mailbox_unittests.cc View 1 chunk +99 lines, -0 lines 0 comments Download
M gpu/command_buffer_service.gypi View 1 2 3 4 1 chunk +0 lines, -2 lines 0 comments Download

Messages

Total messages: 30 (0 generated)
Justin Novosad
To successfully build on Windows: In texture_manager.h, line 121 (function IsValid()) Change "return target()" to ...
7 years, 7 months ago (2013-04-29 14:29:18 UTC) #1
piman
gman/apatrick: gpu/ sievers: texture_image_transport_surface The most subtle changes are in texture_image_transport_surface, the rest should be ...
7 years, 7 months ago (2013-05-23 02:33:01 UTC) #2
greggman
https://codereview.chromium.org/14188053/diff/62001/content/common/gpu/texture_image_transport_surface.cc File content/common/gpu/texture_image_transport_surface.cc (right): https://codereview.chromium.org/14188053/diff/62001/content/common/gpu/texture_image_transport_surface.cc#newcode203 content/common/gpu/texture_image_transport_surface.cc:203: glFlush(); This is probably a dumb question since I'm ...
7 years, 7 months ago (2013-05-23 17:36:19 UTC) #3
piman
https://codereview.chromium.org/14188053/diff/62001/content/common/gpu/texture_image_transport_surface.cc File content/common/gpu/texture_image_transport_surface.cc (right): https://codereview.chromium.org/14188053/diff/62001/content/common/gpu/texture_image_transport_surface.cc#newcode203 content/common/gpu/texture_image_transport_surface.cc:203: glFlush(); On 2013/05/23 17:36:19, greggman wrote: > This is ...
7 years, 7 months ago (2013-05-23 18:02:37 UTC) #4
apatrick_chromium
I like it. You will have to mostly rewrite the specification now :) https://codereview.chromium.org/14188053/diff/62001/gpu/command_buffer/service/mailbox_manager.cc File ...
7 years, 7 months ago (2013-05-23 18:37:11 UTC) #5
greggman
https://codereview.chromium.org/14188053/diff/62001/gpu/command_buffer/service/texture_manager.cc File gpu/command_buffer/service/texture_manager.cc (right): https://codereview.chromium.org/14188053/diff/62001/gpu/command_buffer/service/texture_manager.cc#newcode1027 gpu/command_buffer/service/texture_manager.cc:1027: DCHECK(result); On 2013/05/23 18:02:38, piman wrote: > On 2013/05/23 ...
7 years, 7 months ago (2013-05-23 18:38:26 UTC) #6
piman
On Thu, May 23, 2013 at 11:38 AM, <gman@chromium.org> wrote: > > https://codereview.chromium.**org/14188053/diff/62001/gpu/** > command_buffer/service/**texture_manager.cc<https://codereview.chromium.org/14188053/diff/62001/gpu/command_buffer/service/texture_manager.cc> ...
7 years, 7 months ago (2013-05-23 19:32:32 UTC) #7
greggman
On 2013/05/23 19:32:32, piman wrote: > On Thu, May 23, 2013 at 11:38 AM, <mailto:gman@chromium.org> ...
7 years, 7 months ago (2013-05-23 20:00:57 UTC) #8
no sievers
> sievers: texture_image_transport_surface lgtm. very exciting.... What happens to the texture image transport surface's texture ...
7 years, 7 months ago (2013-05-24 01:31:38 UTC) #9
piman
https://codereview.chromium.org/14188053/diff/62001/content/common/gpu/texture_image_transport_surface.cc File content/common/gpu/texture_image_transport_surface.cc (right): https://codereview.chromium.org/14188053/diff/62001/content/common/gpu/texture_image_transport_surface.cc#newcode203 content/common/gpu/texture_image_transport_surface.cc:203: glFlush(); On 2013/05/23 18:02:38, piman wrote: > On 2013/05/23 ...
7 years, 7 months ago (2013-05-24 02:32:22 UTC) #10
piman
On 2013/05/23 20:00:57, greggman wrote: > On 2013/05/23 19:32:32, piman wrote: > > On Thu, ...
7 years, 7 months ago (2013-05-24 02:39:08 UTC) #11
piman
On Thu, May 23, 2013 at 7:39 PM, <piman@chromium.org> wrote: > On 2013/05/23 20:00:57, greggman ...
7 years, 7 months ago (2013-05-24 02:45:04 UTC) #12
greggman
lgtm
7 years, 7 months ago (2013-05-24 04:25:36 UTC) #13
greggman
https://codereview.chromium.org/14188053/diff/85001/gpu/command_buffer/service/gles2_cmd_decoder.cc File gpu/command_buffer/service/gles2_cmd_decoder.cc (right): https://codereview.chromium.org/14188053/diff/85001/gpu/command_buffer/service/gles2_cmd_decoder.cc#newcode9922 gpu/command_buffer/service/gles2_cmd_decoder.cc:9922: // change the Texture inside the TextureRef. We need ...
7 years, 7 months ago (2013-05-24 17:51:53 UTC) #14
piman
On Fri, May 24, 2013 at 10:51 AM, <gman@chromium.org> wrote: > > https://codereview.chromium.**org/14188053/diff/85001/gpu/** > command_buffer/service/gles2_**cmd_decoder.cc<https://codereview.chromium.org/14188053/diff/85001/gpu/command_buffer/service/gles2_cmd_decoder.cc> ...
7 years, 7 months ago (2013-05-24 17:58:47 UTC) #15
apatrick_chromium
I think as things stand, we don't want multiple TextureRefs with the same service_id in ...
7 years, 7 months ago (2013-05-24 18:02:10 UTC) #16
piman
On Fri, May 24, 2013 at 11:02 AM, <apatrick@chromium.org> wrote: > I think as things ...
7 years, 7 months ago (2013-05-24 18:32:12 UTC) #17
greggman
On 2013/05/24 18:32:12, piman wrote: > On Fri, May 24, 2013 at 11:02 AM, <mailto:apatrick@chromium.org> ...
7 years, 7 months ago (2013-05-24 19:29:48 UTC) #18
piman
On Fri, May 24, 2013 at 12:29 PM, <gman@chromium.org> wrote: > On 2013/05/24 18:32:12, piman ...
7 years, 7 months ago (2013-05-24 20:43:30 UTC) #19
apatrick_chromium
https://codereview.chromium.org/14188053/diff/85001/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_texture_mailbox.txt File gpu/GLES2/extensions/CHROMIUM/CHROMIUM_texture_mailbox.txt (right): https://codereview.chromium.org/14188053/diff/85001/gpu/GLES2/extensions/CHROMIUM/CHROMIUM_texture_mailbox.txt#newcode76 gpu/GLES2/extensions/CHROMIUM/CHROMIUM_texture_mailbox.txt:76: texture object is deleted once all contexts deleted the ...
7 years, 7 months ago (2013-05-24 20:51:58 UTC) #20
greggman
On 2013/05/24 20:43:30, piman wrote: > On Fri, May 24, 2013 at 12:29 PM, <mailto:gman@chromium.org> ...
7 years, 7 months ago (2013-05-24 20:53:06 UTC) #21
piman
On Fri, May 24, 2013 at 1:53 PM, <gman@chromium.org> wrote: > On 2013/05/24 20:43:30, piman ...
7 years, 7 months ago (2013-05-24 21:11:57 UTC) #22
piman
I also removed TextureManager::GetClientId, replacing most calls by a TextureRef::client_id(), except for RestoreTextureState that I ...
7 years, 7 months ago (2013-05-24 23:03:26 UTC) #23
piman
ping? On Fri, May 24, 2013 at 4:03 PM, <piman@chromium.org> wrote: > I also removed ...
7 years, 6 months ago (2013-05-29 00:08:00 UTC) #24
no sievers
Regarding the multiple (client) texture ids mapping to the same texture: You can already do ...
7 years, 6 months ago (2013-05-29 16:47:13 UTC) #25
greggman
lgtm
7 years, 6 months ago (2013-05-29 18:27:51 UTC) #26
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/piman@chromium.org/14188053/103003
7 years, 6 months ago (2013-05-29 18:30:56 UTC) #27
commit-bot: I haz the power
Failed to apply patch for content/common/gpu/texture_image_transport_surface.cc: While running patch -p1 --forward --force --no-backup-if-mismatch; patching file ...
7 years, 6 months ago (2013-05-29 18:31:04 UTC) #28
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/piman@chromium.org/14188053/140001
7 years, 6 months ago (2013-05-29 19:56:41 UTC) #29
commit-bot: I haz the power
7 years, 6 months ago (2013-05-29 22:28:11 UTC) #30
Message was sent while issue was closed.
Change committed as 202992

Powered by Google App Engine
This is Rietveld 408576698