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

Issue 853353003: ui/compositor: Provide its own 'in process' ContextProvider. (Closed)

Created:
5 years, 11 months ago by tfarina
Modified:
5 years, 9 months ago
Reviewers:
danakj, jamesr, piman
CC:
chromium-reviews, Ian Vollick, sievers+watch_chromium.org, jbauman+watch_chromium.org, kalyank, piman+watch_chromium.org, danakj+watch_chromium.org, cc-bugs_chromium.org, jochen (gone - plz use gerrit), darin (slow to review), Avi (use Gerrit), jam, pilgrim_google, reed1
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

ui/compositor: Provide its own 'in process' ContextProvider. InProcessContextProvider is twin brother of the ContextProviderInProcess from webkit/common/gpu. We built one here specifically for compositor in order to remove the dependency on webkit/. We did that for some reasons: one is that webkit/ abstraction glue is going away, the second is that compositor can't depend on content, and thus we couldn't simply move the code into content and make compositor use it. BUG=338338 TEST=compositor_unittests R=piman@chromium.org TBR=reed@google.com (for skia/ext deps addition) Committed: https://crrev.com/bca2a0be0924009ef5f8dc0e299c0efbb95a4d67 Cr-Commit-Position: refs/heads/master@{#313022}

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Patch Set 4 : #

Patch Set 5 : REBASE #

Total comments: 2

Patch Set 6 : remove GrContextForWebGraphicsContext3D usage #

Total comments: 3

Patch Set 7 : kNoLimit #

Patch Set 8 : more changes #

Patch Set 9 : links #

Patch Set 10 : rm grcontext_for_webgraphicscontext3d.* #

Total comments: 10

Patch Set 11 : rm LostContextCallbackProxy #

Patch Set 12 : TraceBeginCHROMIUM #

Patch Set 13 : rm gpu/blink dependency #

Total comments: 9

Patch Set 14 : LostContextCallback #

Patch Set 15 : ContextCreationAttribHelper #

Patch Set 16 : OnLostContext() #

Patch Set 17 : SetContextLostCallback #

Total comments: 5

Patch Set 18 : SetContextLostCallback #

Patch Set 19 : platform deps #

Patch Set 20 : check the return value of GLInProcessContext::Create() #

Total comments: 2

Patch Set 21 : piman #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+280 lines, -70 lines) Patch
M ui/compositor/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 3 chunks +2 lines, -2 lines 0 comments Download
M ui/compositor/compositor.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +2 lines, -2 lines 0 comments Download
M ui/compositor/test/DEPS View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +3 lines, -2 lines 0 comments Download
M ui/compositor/test/in_process_context_factory.h View 1 2 chunks +1 line, -8 lines 0 comments Download
M ui/compositor/test/in_process_context_factory.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3 chunks +18 lines, -19 lines 0 comments Download
A + ui/compositor/test/in_process_context_provider.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +30 lines, -37 lines 0 comments Download
A ui/compositor/test/in_process_context_provider.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 chunk +224 lines, -0 lines 2 comments Download

Messages

Total messages: 34 (3 generated)
tfarina
5 years, 11 months ago (2015-01-18 22:41:02 UTC) #1
piman
I would go one step further and eliminate the use of WebGraphicsContext3D in ui/compositor. We ...
5 years, 11 months ago (2015-01-20 19:14:24 UTC) #2
tfarina
https://codereview.chromium.org/853353003/diff/80001/ui/compositor/test/in_process_context_factory.cc File ui/compositor/test/in_process_context_factory.cc (right): https://codereview.chromium.org/853353003/diff/80001/ui/compositor/test/in_process_context_factory.cc#newcode97 ui/compositor/test/in_process_context_factory.cc:97: scoped_ptr<WebGraphicsContext3DInProcessCommandBufferImpl> context3d( Is about this that are talking about ...
5 years, 11 months ago (2015-01-20 23:23:52 UTC) #3
piman
https://codereview.chromium.org/853353003/diff/80001/ui/compositor/test/in_process_context_factory.cc File ui/compositor/test/in_process_context_factory.cc (right): https://codereview.chromium.org/853353003/diff/80001/ui/compositor/test/in_process_context_factory.cc#newcode97 ui/compositor/test/in_process_context_factory.cc:97: scoped_ptr<WebGraphicsContext3DInProcessCommandBufferImpl> context3d( On 2015/01/20 23:23:52, tfarina wrote: > Is ...
5 years, 11 months ago (2015-01-21 00:10:23 UTC) #4
tfarina
I removed the usage of GrContextForWebGraphicsContext3D. Do you also mean we don't need LostContextCallbackProxy?
5 years, 11 months ago (2015-01-21 01:34:19 UTC) #5
piman
https://codereview.chromium.org/853353003/diff/100001/ui/compositor/test/grcontext_for_webgraphicscontext3d.h File ui/compositor/test/grcontext_for_webgraphicscontext3d.h (right): https://codereview.chromium.org/853353003/diff/100001/ui/compositor/test/grcontext_for_webgraphicscontext3d.h#newcode22 ui/compositor/test/grcontext_for_webgraphicscontext3d.h:22: class GrContextForWebGraphicsContext3D { You don't need this class any ...
5 years, 11 months ago (2015-01-21 02:07:36 UTC) #6
tfarina
Antoine, I made more changes, but I need some help to get the other details ...
5 years, 11 months ago (2015-01-21 21:33:21 UTC) #7
jamesr
https://codereview.chromium.org/853353003/diff/180001/ui/compositor/test/in_process_context_provider.cc File ui/compositor/test/in_process_context_provider.cc (right): https://codereview.chromium.org/853353003/diff/180001/ui/compositor/test/in_process_context_provider.cc#newcode24 ui/compositor/test/in_process_context_provider.cc:24: //const int kNoLimit = 0; delete https://codereview.chromium.org/853353003/diff/180001/ui/compositor/test/in_process_context_provider.cc#newcode55 ui/compositor/test/in_process_context_provider.cc:55: class ...
5 years, 11 months ago (2015-01-21 21:39:05 UTC) #9
tfarina
https://codereview.chromium.org/853353003/diff/180001/ui/compositor/test/in_process_context_provider.cc File ui/compositor/test/in_process_context_provider.cc (right): https://codereview.chromium.org/853353003/diff/180001/ui/compositor/test/in_process_context_provider.cc#newcode24 ui/compositor/test/in_process_context_provider.cc:24: //const int kNoLimit = 0; On 2015/01/21 21:39:05, jamesr ...
5 years, 11 months ago (2015-01-21 21:53:35 UTC) #10
jamesr
On 2015/01/21 21:53:35, tfarina wrote: > https://codereview.chromium.org/853353003/diff/180001/ui/compositor/test/in_process_context_provider.cc#newcode150 > ui/compositor/test/in_process_context_provider.cc:150: > //context_->traceBeginCHROMIUM("gpu_toplevel", > On 2015/01/21 21:39:05, ...
5 years, 11 months ago (2015-01-21 21:54:50 UTC) #11
tfarina
On Wed, Jan 21, 2015 at 7:54 PM, <jamesr@chromium.org> wrote: > On 2015/01/21 21:53:35, tfarina ...
5 years, 11 months ago (2015-01-21 22:00:23 UTC) #12
jamesr
That's why I said to call it on whatever GLES2Interface you have, not on GLInProcessContext
5 years, 11 months ago (2015-01-21 22:01:25 UTC) #13
tfarina
On 2015/01/21 22:01:25, jamesr wrote: > That's why I said to call it on whatever ...
5 years, 11 months ago (2015-01-21 22:09:26 UTC) #14
piman
https://codereview.chromium.org/853353003/diff/240001/ui/compositor/test/in_process_context_provider.cc File ui/compositor/test/in_process_context_provider.cc (right): https://codereview.chromium.org/853353003/diff/240001/ui/compositor/test/in_process_context_provider.cc#newcode85 ui/compositor/test/in_process_context_provider.cc:85: share_resources_(attributes.shareResources), This is always true, so you can remove. ...
5 years, 11 months ago (2015-01-21 22:37:39 UTC) #15
tfarina
Who should call OnLostContext()? https://codereview.chromium.org/853353003/diff/240001/ui/compositor/test/in_process_context_provider.cc File ui/compositor/test/in_process_context_provider.cc (right): https://codereview.chromium.org/853353003/diff/240001/ui/compositor/test/in_process_context_provider.cc#newcode85 ui/compositor/test/in_process_context_provider.cc:85: share_resources_(attributes.shareResources), On 2015/01/21 22:37:39, piman ...
5 years, 11 months ago (2015-01-22 00:05:33 UTC) #16
piman
https://codereview.chromium.org/853353003/diff/240001/ui/compositor/test/in_process_context_provider.cc File ui/compositor/test/in_process_context_provider.cc (right): https://codereview.chromium.org/853353003/diff/240001/ui/compositor/test/in_process_context_provider.cc#newcode209 ui/compositor/test/in_process_context_provider.cc:209: const LostContextCallback& lost_context_callback) { On 2015/01/22 00:05:32, tfarina wrote: ...
5 years, 11 months ago (2015-01-22 00:18:17 UTC) #17
piman
On 2015/01/22 00:05:33, tfarina wrote: > Who should call OnLostContext()? The GLInProcessContext should, after you ...
5 years, 11 months ago (2015-01-22 00:20:07 UTC) #18
tfarina
PTAL! Do we need to call setGLInterface() somewhere?
5 years, 11 months ago (2015-01-22 16:28:59 UTC) #19
piman
https://codereview.chromium.org/853353003/diff/320001/ui/compositor/test/DEPS File ui/compositor/test/DEPS (right): https://codereview.chromium.org/853353003/diff/320001/ui/compositor/test/DEPS#newcode6 ui/compositor/test/DEPS:6: "+third_party/WebKit/public/platform", nit: you don't need this one anymore https://codereview.chromium.org/853353003/diff/320001/ui/compositor/test/in_process_context_provider.cc ...
5 years, 11 months ago (2015-01-23 03:21:18 UTC) #20
piman
On 2015/01/22 16:28:59, tfarina wrote: > PTAL! > > Do we need to call setGLInterface() ...
5 years, 11 months ago (2015-01-23 03:22:31 UTC) #21
tfarina
ptal https://codereview.chromium.org/853353003/diff/320001/ui/compositor/test/DEPS File ui/compositor/test/DEPS (right): https://codereview.chromium.org/853353003/diff/320001/ui/compositor/test/DEPS#newcode6 ui/compositor/test/DEPS:6: "+third_party/WebKit/public/platform", On 2015/01/23 03:21:17, piman (Very slow to ...
5 years, 11 months ago (2015-01-23 14:58:17 UTC) #22
piman
https://codereview.chromium.org/853353003/diff/320001/ui/compositor/test/in_process_context_provider.cc File ui/compositor/test/in_process_context_provider.cc (right): https://codereview.chromium.org/853353003/diff/320001/ui/compositor/test/in_process_context_provider.cc#newcode110 ui/compositor/test/in_process_context_provider.cc:110: if (context_) { On 2015/01/23 14:58:17, tfarina wrote: > ...
5 years, 11 months ago (2015-01-23 18:08:52 UTC) #23
tfarina
Something like I did in patch set 20?
5 years, 11 months ago (2015-01-23 22:29:57 UTC) #24
piman
lgtm https://codereview.chromium.org/853353003/diff/380001/ui/compositor/test/in_process_context_provider.cc File ui/compositor/test/in_process_context_provider.cc (right): https://codereview.chromium.org/853353003/diff/380001/ui/compositor/test/in_process_context_provider.cc#newcode112 ui/compositor/test/in_process_context_provider.cc:112: context_ = context.Pass(); nit: you don't actually need ...
5 years, 11 months ago (2015-01-23 23:21:49 UTC) #25
tfarina
https://codereview.chromium.org/853353003/diff/380001/ui/compositor/test/in_process_context_provider.cc File ui/compositor/test/in_process_context_provider.cc (right): https://codereview.chromium.org/853353003/diff/380001/ui/compositor/test/in_process_context_provider.cc#newcode112 ui/compositor/test/in_process_context_provider.cc:112: context_ = context.Pass(); On 2015/01/23 23:21:48, piman (Very slow ...
5 years, 11 months ago (2015-01-24 14:57:12 UTC) #26
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/853353003/400001
5 years, 11 months ago (2015-01-24 14:58:56 UTC) #28
commit-bot: I haz the power
Committed patchset #21 (id:400001)
5 years, 11 months ago (2015-01-24 16:01:16 UTC) #29
commit-bot: I haz the power
Patchset 21 (id:??) landed as https://crrev.com/bca2a0be0924009ef5f8dc0e299c0efbb95a4d67 Cr-Commit-Position: refs/heads/master@{#313022}
5 years, 11 months ago (2015-01-24 16:02:10 UTC) #30
danakj
Since this CL aura_demo has no output in a linux_chromeos build.
5 years, 9 months ago (2015-02-27 22:04:23 UTC) #32
piman
https://codereview.chromium.org/853353003/diff/400001/ui/compositor/test/in_process_context_provider.cc File ui/compositor/test/in_process_context_provider.cc (right): https://codereview.chromium.org/853353003/diff/400001/ui/compositor/test/in_process_context_provider.cc#newcode98 ui/compositor/test/in_process_context_provider.cc:98: true, /* is_offscreen */ Oh, this may be why. ...
5 years, 9 months ago (2015-02-27 22:19:49 UTC) #33
danakj
5 years, 9 months ago (2015-02-27 22:22:43 UTC) #34
Message was sent while issue was closed.
https://codereview.chromium.org/853353003/diff/400001/ui/compositor/test/in_p...
File ui/compositor/test/in_process_context_provider.cc (right):

https://codereview.chromium.org/853353003/diff/400001/ui/compositor/test/in_p...
ui/compositor/test/in_process_context_provider.cc:98: true, /* is_offscreen */
On 2015/02/27 22:19:49, piman (Very slow to review) wrote:
> Oh, this may be why. Should probably be changed to !window_

Yep, fixes it. Good job :)

Powered by Google App Engine
This is Rietveld 408576698