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

Issue 7634019: Allow cmdbuffer creation from compositor thread. (Closed)

Created:
9 years, 4 months ago by no sievers
Modified:
9 years, 4 months ago
CC:
chromium-reviews, joi+watch-content_chromium.org, jam, apatrick_chromium
Visibility:
Public.

Description

Allow cmdbuffer creation from compositor thread. This adds a message filter on the IO thread which routes messages to the corresponding cmdbuffer proxy on the correct thread (main or compositor). The proxies become reference counted so that the filter can track them. When a context gets deleted, a flag gets set on the context to indicate they have become orphaned so we do not handle any incoming messages anymore (the callbacks etc. have become invalid when the context goes away). Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=97824

Patch Set 1 #

Patch Set 2 : io msg loop -> proxy #

Patch Set 3 : use mutex for calls in GpuChannelHost coming from both threads instead #

Patch Set 4 : fix style/build and rebase #

Patch Set 5 : MessageLoop::current() -> MessageLoopProxy::current() #

Total comments: 2

Patch Set 6 : address comments #

Total comments: 2

Patch Set 7 : address comment #

Patch Set 8 : fix crash after channel reset (if-condition in Send()) and use refcounted ptr for sync_filter_ #

Patch Set 9 : rebase #

Patch Set 10 : weak ptr version #

Total comments: 4

Patch Set 11 : nest class #

Unified diffs Side-by-side diffs Delta from patch set Stats (+246 lines, -65 lines) Patch
M content/renderer/gpu/command_buffer_proxy.h View 1 2 3 4 5 6 7 8 9 10 2 chunks +3 lines, -1 line 0 comments Download
M content/renderer/gpu/command_buffer_proxy.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -1 line 0 comments Download
M content/renderer/gpu/gpu_channel_host.h View 1 2 3 4 5 6 7 8 9 10 4 chunks +72 lines, -15 lines 0 comments Download
M content/renderer/gpu/gpu_channel_host.cc View 1 2 3 4 5 6 7 8 9 10 10 chunks +164 lines, -46 lines 0 comments Download
M content/renderer/gpu/gpu_surface_proxy.h View 1 2 3 4 5 6 7 8 9 2 chunks +3 lines, -1 line 0 comments Download
M content/renderer/gpu/gpu_video_decode_accelerator_host.h View 1 2 3 4 5 6 7 8 9 2 chunks +3 lines, -1 line 0 comments Download

Messages

Total messages: 13 (0 generated)
no sievers
TODO: Use MessageLoopProxy instead of MessageLoop when http://codereview.chromium.org/7583053/ lands.
9 years, 4 months ago (2011-08-15 18:32:58 UTC) #1
apatrick_chromium
lgtm
9 years, 4 months ago (2011-08-15 19:42:02 UTC) #2
nduca
http://codereview.chromium.org/7634019/diff/5010/content/renderer/gpu/gpu_channel_host.h File content/renderer/gpu/gpu_channel_host.h (right): http://codereview.chromium.org/7634019/diff/5010/content/renderer/gpu/gpu_channel_host.h#newcode130 content/renderer/gpu/gpu_channel_host.h:130: class Listener : public base::RefCountedThreadSafe<Listener> { Promote this class ...
9 years, 4 months ago (2011-08-15 21:37:52 UTC) #3
nduca
LGTM with fragility comment fixed http://codereview.chromium.org/7634019/diff/10001/content/renderer/gpu/command_buffer_proxy.cc File content/renderer/gpu/command_buffer_proxy.cc (right): http://codereview.chromium.org/7634019/diff/10001/content/renderer/gpu/command_buffer_proxy.cc#newcode43 content/renderer/gpu/command_buffer_proxy.cc:43: if (IsOrphaned()) How about ...
9 years, 4 months ago (2011-08-15 22:28:36 UTC) #4
commit-bot: I haz the power
Can't apply patch for file content/renderer/gpu/gpu_channel_host.h. While running patch -p1 --forward --force; patching file content/renderer/gpu/gpu_channel_host.h ...
9 years, 4 months ago (2011-08-16 23:32:36 UTC) #5
commit-bot: I haz the power
Try job failure for 7634019-15001 (retry) on win for step "compile" (clobber build). It's a ...
9 years, 4 months ago (2011-08-17 03:25:51 UTC) #6
no sievers
A new conflict came up with http://codereview.chromium.org/7659001. Since GpuVideoDecodeAcceleratorHost also wants to be a directly-routed ...
9 years, 4 months ago (2011-08-18 20:31:26 UTC) #7
nduca
I'm not sure I understand what's wrong? You're saying we can't land this because it ...
9 years, 4 months ago (2011-08-18 20:55:55 UTC) #8
no sievers
On 2011/08/18 20:55:55, nduca wrote: > I'm not sure I understand what's wrong? You're saying ...
9 years, 4 months ago (2011-08-18 22:28:46 UTC) #9
Ami GONE FROM CHROMIUM
LGTM for OMX/cros/ARM purposes - I tested gles2 in Debug & Release and didn't see ...
9 years, 4 months ago (2011-08-19 15:28:03 UTC) #10
nduca
LGTM with corrections. http://codereview.chromium.org/7634019/diff/18001/content/renderer/gpu/gpu_channel_host.cc File content/renderer/gpu/gpu_channel_host.cc (right): http://codereview.chromium.org/7634019/diff/18001/content/renderer/gpu/gpu_channel_host.cc#newcode39 content/renderer/gpu/gpu_channel_host.cc:39: }; Does the style guide say ...
9 years, 4 months ago (2011-08-19 15:56:13 UTC) #11
no sievers
http://codereview.chromium.org/7634019/diff/18001/content/renderer/gpu/gpu_channel_host.cc File content/renderer/gpu/gpu_channel_host.cc (right): http://codereview.chromium.org/7634019/diff/18001/content/renderer/gpu/gpu_channel_host.cc#newcode39 content/renderer/gpu/gpu_channel_host.cc:39: }; Good point. It would have to be put ...
9 years, 4 months ago (2011-08-22 22:45:17 UTC) #12
commit-bot: I haz the power
9 years, 4 months ago (2011-08-23 06:34:05 UTC) #13
Change committed as 97824

Powered by Google App Engine
This is Rietveld 408576698