|
Add DCLayerOverlayProcessor and supporting DCLayer structures.
DirectComposition layers are more flexible than normal hardware overlays
- for example they can have clip rects, be arbitrarily transformed, and
soon will have other capabilities like stacking contexts. So it makes
sense to transmit them to the GPU process using a new
glScheduleDCLayerCHROMIUM command.
The gpu command buffer code is mostly a copy and paste of the CALayer
code. The main difference for now is that it has a z order instead
of a sorting context, but they'll diverge more over time.
We can't DCLayers the same exact way as we currently use CALayers
because tile quads aren't accessible as DirectComposition surfaces so
complete RenderPasses can't be converted to use DCLayers. So we need to
create a new DCLayerOverlayProcessor that behaves somewhat similarly to
the regular OverlayProcessor.
This processor supports both promoting a single on top quad to an
overlay, as well as promoting other video quads to be underlays.
BUG= 678800
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Review-Url: https://codereview.chromium.org/2736643004
Cr-Commit-Position: refs/heads/master@{#456512}
Committed: https://chromium.googlesource.com/chromium/src/+/80ceeee5bc83abc038e4e8cc4e0e8d0fbc710576
Total comments: 1
|
Unified diffs |
Side-by-side diffs |
Stats (+1384 lines, -146 lines) |
 |
M |
cc/BUILD.gn
|
View
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
 |
A |
cc/output/dc_layer_overlay.h
|
View
|
1 chunk |
+101 lines, -0 lines |
0 comments
|
 |
A |
cc/output/dc_layer_overlay.cc
|
View
|
1 chunk |
+184 lines, -0 lines |
0 comments
|
 |
M |
cc/output/direct_renderer.h
|
View
|
2 chunks |
+2 lines, -0 lines |
0 comments
|
 |
M |
cc/output/direct_renderer.cc
|
View
|
1 chunk |
+1 line, -0 lines |
0 comments
|
 |
M |
cc/output/gl_renderer.h
|
View
|
1 chunk |
+1 line, -0 lines |
0 comments
|
 |
M |
cc/output/gl_renderer.cc
|
View
|
2 chunks |
+59 lines, -0 lines |
0 comments
|
 |
M |
cc/output/gl_renderer_unittest.cc
|
View
|
2 chunks |
+3 lines, -0 lines |
0 comments
|
 |
M |
cc/output/overlay_candidate_validator.h
|
View
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
 |
M |
cc/output/overlay_processor.h
|
View
|
3 chunks |
+12 lines, -0 lines |
0 comments
|
 |
M |
cc/output/overlay_processor.cc
|
View
|
5 chunks |
+30 lines, -0 lines |
0 comments
|
 |
M |
cc/output/overlay_unittest.cc
|
View
|
59 chunks |
+242 lines, -100 lines |
0 comments
|
 |
M |
components/display_compositor/compositor_overlay_candidate_validator_android.h
|
View
|
1 chunk |
+1 line, -0 lines |
0 comments
|
 |
M |
components/display_compositor/compositor_overlay_candidate_validator_android.cc
|
View
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
 |
M |
components/display_compositor/compositor_overlay_candidate_validator_mac.h
|
View
|
1 chunk |
+1 line, -0 lines |
0 comments
|
 |
M |
components/display_compositor/compositor_overlay_candidate_validator_mac.mm
|
View
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
 |
M |
components/display_compositor/compositor_overlay_candidate_validator_ozone.h
|
View
|
1 chunk |
+1 line, -0 lines |
0 comments
|
 |
M |
components/display_compositor/compositor_overlay_candidate_validator_ozone.cc
|
View
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
 |
M |
components/display_compositor/compositor_overlay_candidate_validator_win.h
|
View
|
1 chunk |
+1 line, -0 lines |
0 comments
|
 |
M |
components/display_compositor/compositor_overlay_candidate_validator_win.cc
|
View
|
2 chunks |
+5 lines, -12 lines |
0 comments
|
 |
M |
gpu/GLES2/gl2chromium_autogen.h
|
View
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
 |
M |
gpu/command_buffer/build_gles2_cmd_buffer.py
|
View
|
1 chunk |
+17 lines, -0 lines |
0 comments
|
 |
M |
gpu/command_buffer/client/gles2_c_lib_autogen.h
|
View
|
2 chunks |
+28 lines, -0 lines |
0 comments
|
 |
M |
gpu/command_buffer/client/gles2_cmd_helper_autogen.h
|
View
|
1 chunk |
+26 lines, -0 lines |
0 comments
|
 |
M |
gpu/command_buffer/client/gles2_implementation.cc
|
View
|
1 chunk |
+41 lines, -0 lines |
0 comments
|
 |
M |
gpu/command_buffer/client/gles2_implementation_autogen.h
|
View
|
1 chunk |
+13 lines, -0 lines |
0 comments
|
 |
M |
gpu/command_buffer/client/gles2_interface_autogen.h
|
View
|
1 chunk |
+11 lines, -0 lines |
0 comments
|
 |
M |
gpu/command_buffer/client/gles2_interface_stub_autogen.h
|
View
|
1 chunk |
+11 lines, -0 lines |
0 comments
|
 |
M |
gpu/command_buffer/client/gles2_interface_stub_impl_autogen.h
|
View
|
1 chunk |
+13 lines, -0 lines |
0 comments
|
 |
M |
gpu/command_buffer/client/gles2_trace_implementation_autogen.h
|
View
|
1 chunk |
+11 lines, -0 lines |
0 comments
|
 |
M |
gpu/command_buffer/client/gles2_trace_implementation_impl_autogen.h
|
View
|
1 chunk |
+25 lines, -0 lines |
0 comments
|
 |
M |
gpu/command_buffer/cmd_buffer_functions.txt
|
View
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
 |
M |
gpu/command_buffer/common/gles2_cmd_format_autogen.h
|
View
|
1 chunk |
+132 lines, -0 lines |
0 comments
|
 |
M |
gpu/command_buffer/common/gles2_cmd_format_test_autogen.h
|
View
|
1 chunk |
+37 lines, -0 lines |
0 comments
|
 |
M |
gpu/command_buffer/common/gles2_cmd_ids_autogen.h
|
View
|
1 chunk |
+36 lines, -34 lines |
0 comments
|
 |
M |
gpu/command_buffer/service/gles2_cmd_decoder.cc
|
View
|
9 chunks |
+105 lines, -0 lines |
0 comments
|
 |
M |
gpu/command_buffer/service/gles2_cmd_decoder_passthrough_doer_prototypes.h
|
View
|
1 chunk |
+10 lines, -0 lines |
0 comments
|
 |
M |
gpu/command_buffer/service/gles2_cmd_decoder_passthrough_doers.cc
|
View
|
1 chunk |
+20 lines, -0 lines |
0 comments
|
 |
M |
gpu/command_buffer/service/gles2_cmd_decoder_passthrough_handlers.cc
|
View
|
1 chunk |
+51 lines, -0 lines |
0 comments
|
 |
M |
ui/gl/BUILD.gn
|
View
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
 |
A |
ui/gl/dc_renderer_layer_params.h
|
View
|
1 chunk |
+78 lines, -0 lines |
0 comments
|
 |
A |
ui/gl/dc_renderer_layer_params.cc
|
View
|
1 chunk |
+36 lines, -0 lines |
0 comments
|
 |
M |
ui/gl/gl_surface.h
|
View
|
3 chunks |
+4 lines, -0 lines |
0 comments
|
 |
M |
ui/gl/gl_surface.cc
|
View
|
2 chunks |
+10 lines, -0 lines |
0 comments
|
Depends on Patchset:
Dependent Patchsets:
Total messages: 25 (18 generated)
|