|
Make ReflectorImpl use mailboxes
- fixes ui::Layer::SetTextureMailbox to not be hard-coded for software
frames.
- adds a ui::Layer::SetTextureSize to update the size without sending a
new mailbox (since it doesn't change).
- entirely removes ui::Layer::SetExternalTexture and ui::Texture, and
derived classes.
- significantly changes the ReflectorImpl implementation:
* an OwnedMailbox is created on the main thread, using the shared main
thread context.
* the mailbox is passed to the impl thread, that creates a texture out
of it with the OutputSurface context, and does operations on that.
* the mailbox is passed to the layer.
* if the OutputSurface is recreated (assuming, after a lost context),
the OwnedMailbox is recreated, and passed to the impl side again,
together with the new surface.
* the OwnedMailbox takes care of deleting the texture, whether because
of a lost context, or when the ReflectorImpl is shut down.
BUG= 333408
R=danakj@chromium.org, oshima@chromium.org, sky@chromium.org
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=262836
Total comments: 24
Total comments: 2
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+304 lines, -428 lines) |
Patch |
 |
M |
content/browser/compositor/browser_compositor_output_surface.h
|
View
|
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
 |
M |
content/browser/compositor/browser_compositor_output_surface.cc
|
View
|
|
2 chunks |
+4 lines, -8 lines |
0 comments
|
Download
|
 |
M |
content/browser/compositor/gpu_process_transport_factory.h
|
View
|
|
1 chunk |
+0 lines, -4 lines |
0 comments
|
Download
|
 |
M |
content/browser/compositor/gpu_process_transport_factory.cc
|
View
|
|
4 chunks |
+0 lines, -67 lines |
0 comments
|
Download
|
 |
M |
content/browser/compositor/image_transport_factory.h
|
View
|
|
1 chunk |
+0 lines, -6 lines |
0 comments
|
Download
|
 |
M |
content/browser/compositor/image_transport_factory_browsertest.cc
|
View
|
1
|
4 chunks |
+8 lines, -9 lines |
0 comments
|
Download
|
 |
M |
content/browser/compositor/no_transport_image_transport_factory.h
|
View
|
|
1 chunk |
+0 lines, -4 lines |
0 comments
|
Download
|
 |
M |
content/browser/compositor/no_transport_image_transport_factory.cc
|
View
|
|
1 chunk |
+0 lines, -7 lines |
0 comments
|
Download
|
 |
M |
content/browser/compositor/owned_mailbox.h
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
 |
M |
content/browser/compositor/reflector_impl.h
|
View
|
1
2
3
|
6 chunks |
+40 lines, -31 lines |
0 comments
|
Download
|
 |
M |
content/browser/compositor/reflector_impl.cc
|
View
|
1
2
3
|
2 chunks |
+136 lines, -107 lines |
0 comments
|
Download
|
 |
M |
content/browser/renderer_host/render_widget_host_view_aura.h
|
View
|
|
1 chunk |
+0 lines, -4 lines |
0 comments
|
Download
|
 |
M |
content/browser/renderer_host/render_widget_host_view_aura.cc
|
View
|
1
2
|
1 chunk |
+0 lines, -4 lines |
0 comments
|
Download
|
 |
M |
ui/aura/bench/bench_main.cc
|
View
|
1
|
5 chunks |
+40 lines, -40 lines |
0 comments
|
Download
|
 |
M |
ui/compositor/compositor.h
|
View
|
|
1 chunk |
+0 lines, -33 lines |
0 comments
|
Download
|
 |
M |
ui/compositor/compositor.cc
|
View
|
|
1 chunk |
+0 lines, -13 lines |
0 comments
|
Download
|
 |
M |
ui/compositor/layer.h
|
View
|
|
4 chunks |
+9 lines, -18 lines |
0 comments
|
Download
|
 |
M |
ui/compositor/layer.cc
|
View
|
1
|
6 chunks |
+35 lines, -56 lines |
0 comments
|
Download
|
 |
M |
ui/compositor/layer_owner_delegate.h
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
ui/compositor/layer_unittest.cc
|
View
|
1
|
4 chunks |
+29 lines, -14 lines |
0 comments
|
Download
|
 |
M |
ui/views/view.cc
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
Total messages: 10 (0 generated)
|