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

Issue 2302393002: Support swap damage rect using eglSwapBuffersWithDamageKHR (Closed)

Created:
4 years, 3 months ago by halliwell
Modified:
4 years, 3 months ago
CC:
chromium-reviews, kalyank, ozone-reviews_chromium.org, alokp
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Support swap damage rect using eglSwapBuffersWithDamageKHR Note: semantics of this extension are different than PostSubBuffer. Damage rect expresses area of change between current back and front buffers. Immediate motivation is to save power during video playback with overlays, where the GL buffer typically changes very little. For now, a switch is required to enable support. BUG=internal b/31264129 CQ_INCLUDE_TRYBOTS=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 Committed: https://crrev.com/24abcc8c9a3c991401d40bda546287c90942706e Cr-Commit-Position: refs/heads/master@{#417730}

Patch Set 1 #

Total comments: 2

Patch Set 2 : Added new SwapBuffersWithDamage entry point #

Total comments: 6

Patch Set 3 : rebase #

Patch Set 4 : piman comments #

Patch Set 5 : Add to Capabilities #

Total comments: 2

Patch Set 6 : Reorder capabilities #

Patch Set 7 : Update GLSurfaceAdapter #

Unified diffs Side-by-side diffs Delta from patch set Stats (+404 lines, -2 lines) Patch
M cc/test/test_context_support.h View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M cc/test/test_context_support.cc View 1 2 3 1 chunk +2 lines, -0 lines 0 comments Download
M gpu/GLES2/gl2chromium_autogen.h View 1 1 chunk +2 lines, -0 lines 0 comments Download
M gpu/command_buffer/build_gles2_cmd_buffer.py View 1 2 1 chunk +6 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/context_support.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_c_lib_autogen.h View 1 2 chunks +10 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_cmd_helper_autogen.h View 1 1 chunk +11 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_implementation.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_implementation.cc View 1 2 2 chunks +26 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_implementation_autogen.h View 1 1 chunk +5 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_interface_autogen.h View 1 1 chunk +4 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_interface_stub_autogen.h View 1 1 chunk +4 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_interface_stub_impl_autogen.h View 1 1 chunk +4 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_trace_implementation_autogen.h View 1 1 chunk +4 lines, -0 lines 0 comments Download
M gpu/command_buffer/client/gles2_trace_implementation_impl_autogen.h View 1 1 chunk +9 lines, -0 lines 0 comments Download
M gpu/command_buffer/cmd_buffer_functions.txt View 1 1 chunk +2 lines, -0 lines 0 comments Download
M gpu/command_buffer/common/capabilities.h View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M gpu/command_buffer/common/capabilities.cc View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M gpu/command_buffer/common/gles2_cmd_format_autogen.h View 1 2 1 chunk +45 lines, -0 lines 0 comments Download
M gpu/command_buffer/common/gles2_cmd_format_test_autogen.h View 1 1 chunk +15 lines, -0 lines 0 comments Download
M gpu/command_buffer/common/gles2_cmd_ids_autogen.h View 1 1 chunk +2 lines, -1 line 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder.cc View 1 2 3 4 5 6 5 chunks +36 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_passthrough_doer_prototypes.h View 1 2 1 chunk +4 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_passthrough_doers.cc View 1 2 1 chunk +8 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder_passthrough_handlers.cc View 1 2 1 chunk +17 lines, -0 lines 0 comments Download
M gpu/ipc/common/gpu_command_buffer_traits_multi.h View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M third_party/khronos/EGL/eglext.h View 1 chunk +15 lines, -0 lines 0 comments Download
M third_party/khronos/README.chromium View 1 chunk +1 line, -0 lines 0 comments Download
M ui/gl/generate_bindings.py View 1 chunk +4 lines, -0 lines 0 comments Download
M ui/gl/gl_bindings_api_autogen_egl.h View 1 chunk +4 lines, -0 lines 0 comments Download
M ui/gl/gl_bindings_autogen_egl.h View 5 chunks +13 lines, -0 lines 0 comments Download
M ui/gl/gl_bindings_autogen_egl.cc View 7 chunks +46 lines, -0 lines 0 comments Download
M ui/gl/gl_surface.h View 1 2 3 4 5 6 4 chunks +14 lines, -0 lines 0 comments Download
M ui/gl/gl_surface.cc View 1 2 3 4 5 6 4 chunks +22 lines, -0 lines 0 comments Download
M ui/gl/gl_surface_egl.h View 1 2 chunks +6 lines, -0 lines 0 comments Download
M ui/gl/gl_surface_egl.cc View 1 2 3 4 5 6 4 chunks +36 lines, -0 lines 0 comments Download
M ui/gl/gl_switches.h View 1 chunk +1 line, -0 lines 0 comments Download
M ui/gl/gl_switches.cc View 2 chunks +4 lines, -1 line 0 comments Download
M ui/ozone/platform/cast/gl_surface_cast.h View 1 2 3 1 chunk +4 lines, -0 lines 0 comments Download
M ui/ozone/platform/cast/gl_surface_cast.cc View 1 2 3 1 chunk +12 lines, -0 lines 0 comments Download

Messages

Total messages: 27 (14 generated)
halliwell
4 years, 3 months ago (2016-09-02 16:59:54 UTC) #3
piman
https://codereview.chromium.org/2302393002/diff/1/ui/gl/gl_surface_egl.cc File ui/gl/gl_surface_egl.cc (right): https://codereview.chromium.org/2302393002/diff/1/ui/gl/gl_surface_egl.cc#newcode885 ui/gl/gl_surface_egl.cc:885: DCHECK(supports_post_sub_buffer_ || supports_swap_buffer_with_damage_); Well, the semantics of eglPostSubBufferNV and ...
4 years, 3 months ago (2016-09-02 18:25:47 UTC) #4
halliwell
On 2016/09/02 18:25:47, piman wrote: > https://codereview.chromium.org/2302393002/diff/1/ui/gl/gl_surface_egl.cc > File ui/gl/gl_surface_egl.cc (right): > > https://codereview.chromium.org/2302393002/diff/1/ui/gl/gl_surface_egl.cc#newcode885 > ...
4 years, 3 months ago (2016-09-07 03:13:23 UTC) #6
halliwell
https://codereview.chromium.org/2302393002/diff/1/ui/gl/gl_surface_egl.cc File ui/gl/gl_surface_egl.cc (right): https://codereview.chromium.org/2302393002/diff/1/ui/gl/gl_surface_egl.cc#newcode885 ui/gl/gl_surface_egl.cc:885: DCHECK(supports_post_sub_buffer_ || supports_swap_buffer_with_damage_); On 2016/09/02 18:25:47, piman wrote: > ...
4 years, 3 months ago (2016-09-07 03:17:07 UTC) #7
piman
Thanks, this is better, because we don't encode the client behavior on the service side, ...
4 years, 3 months ago (2016-09-07 17:19:41 UTC) #8
halliwell
Also added to Capabilities (later CL will need some equivalent of GLRenderer::CanPartialSwap). https://codereview.chromium.org/2302393002/diff/20001/gpu/command_buffer/service/gles2_cmd_decoder_passthrough_handlers.cc File gpu/command_buffer/service/gles2_cmd_decoder_passthrough_handlers.cc ...
4 years, 3 months ago (2016-09-08 04:21:34 UTC) #9
piman
lgtm https://codereview.chromium.org/2302393002/diff/80001/gpu/command_buffer/common/capabilities.h File gpu/command_buffer/common/capabilities.h (right): https://codereview.chromium.org/2302393002/diff/80001/gpu/command_buffer/common/capabilities.h#newcode161 gpu/command_buffer/common/capabilities.h:161: bool swap_buffers_with_damage; nit: maybe move this around l.118 ...
4 years, 3 months ago (2016-09-08 04:27:11 UTC) #12
halliwell
+wfh for gpu/ipc change https://codereview.chromium.org/2302393002/diff/80001/gpu/command_buffer/common/capabilities.h File gpu/command_buffer/common/capabilities.h (right): https://codereview.chromium.org/2302393002/diff/80001/gpu/command_buffer/common/capabilities.h#newcode161 gpu/command_buffer/common/capabilities.h:161: bool swap_buffers_with_damage; On 2016/09/08 04:27:11, ...
4 years, 3 months ago (2016-09-08 13:19:00 UTC) #17
halliwell
On 2016/09/08 13:19:00, halliwell wrote: > +wfh for gpu/ipc change > > https://codereview.chromium.org/2302393002/diff/80001/gpu/command_buffer/common/capabilities.h > File ...
4 years, 3 months ago (2016-09-09 03:47:41 UTC) #19
meacer
On 2016/09/09 03:47:41, halliwell wrote: > On 2016/09/08 13:19:00, halliwell wrote: > > +wfh for ...
4 years, 3 months ago (2016-09-09 19:16:44 UTC) #20
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2302393002/120001
4 years, 3 months ago (2016-09-09 20:47:05 UTC) #23
commit-bot: I haz the power
Committed patchset #7 (id:120001)
4 years, 3 months ago (2016-09-09 22:09:24 UTC) #25
commit-bot: I haz the power
4 years, 3 months ago (2016-09-09 22:12:50 UTC) #27
Message was sent while issue was closed.
Patchset 7 (id:??) landed as
https://crrev.com/24abcc8c9a3c991401d40bda546287c90942706e
Cr-Commit-Position: refs/heads/master@{#417730}

Powered by Google App Engine
This is Rietveld 408576698