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

Issue 2473973002: NOT for review (for discussion): Query IOSurfaceIsInUse in the browser process

Created:
4 years, 1 month ago by ccameron
Modified:
4 years, 1 month ago
Reviewers:
erikchen
CC:
chromium-reviews, chromium-apps-reviews_chromium.org, cc-bugs_chromium.org, mac-reviews_chromium.org, piman+watch_chromium.org, extensions-reviews_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

NOT for review (for discussion): Query IOSurfaceIsInUse in the browser process BUG= CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+202 lines, -107 lines) Patch
M cc/output/gl_renderer.h View 1 chunk +19 lines, -7 lines 0 comments Download
M cc/output/gl_renderer.cc View 7 chunks +115 lines, -74 lines 0 comments Download
M gpu/GLES2/extensions/CHROMIUM/CHROMIUM_schedule_ca_layer.txt View 2 chunks +15 lines, -6 lines 0 comments Download
M gpu/GLES2/gl2extchromium.h View 1 chunk +2 lines, -1 line 0 comments Download
M gpu/command_buffer/build_gles2_cmd_buffer.py View 1 chunk +2 lines, -2 lines 0 comments Download
M gpu/command_buffer/cmd_buffer_functions.txt View 1 chunk +1 line, -1 line 0 comments Download
M gpu/command_buffer/common/texture_in_use_response.h View 2 chunks +3 lines, -1 line 0 comments Download
M gpu/command_buffer/service/gles2_cmd_decoder.cc View 3 chunks +10 lines, -4 lines 0 comments Download
M gpu/ipc/client/gpu_memory_buffer_impl_io_surface.h View 1 chunk +1 line, -0 lines 0 comments Download
M gpu/ipc/client/gpu_memory_buffer_impl_io_surface.cc View 1 chunk +4 lines, -0 lines 0 comments Download
M gpu/ipc/common/gpu_command_buffer_traits.cc View 2 chunks +14 lines, -6 lines 0 comments Download
M gpu/ipc/service/image_transport_surface_overlay_mac.mm View 1 chunk +7 lines, -5 lines 0 comments Download
M ui/gfx/gpu_memory_buffer.h View 1 chunk +4 lines, -0 lines 0 comments Download
M ui/gfx/gpu_memory_buffer.cc View 1 chunk +4 lines, -0 lines 0 comments Download
M ui/gl/gl_surface.h View 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 5 (3 generated)
ccameron
This is all that is needed to get IOSurfaces open in the browser process ...
4 years, 1 month ago (2016-11-03 07:22:17 UTC) #4
erikchen
4 years, 1 month ago (2016-11-03 18:13:35 UTC) #5
On 2016/11/03 07:22:17, ccameron wrote:
> This is all that is needed to get IOSurfaces open in the browser process ...
> much simpler than the previous approaches.
> 
> It also makes the "lock for overlay" versus "lock for CALayer" completely
> separate in GLRenderer, which seems reasonable to me.
> 
> Having finished this, I think that we should actually add an automatic ACK for
> all textures that are sent using ScheduleCALayerCHROMIUM, and not even have
the
> separate "query in use" call.
> 
> What I haven't done yet is evaluate the power overhead of opening an extra
Mach
> port. If that's too high, then this is a no-go. I'll measure that tomorrow
> afternoon (IIRC you mentioned that opening ports was among the biggest costs
in
> the window server).
Opening a Mach port for an IOSurface is the slowest part of sending it to the
window server in a CATransaction. IIRC, 100 surfaces takes 2.5ms.

> 
> So, WDYT? Is this worth pursuing? What I'd like to agitate for is:
> - if this increases power, then shelve it
I think stability is more important than power. I would like to factor that into
the calculation before shelving it. I guess my feelings about this CL depend on
just how deprecated RemoteCALayers are. Without further information, I'd say go
for it.

> - if this doesn't increase power, then enable it
> - if this is enabled, then add support for a browser CALayer tree behind finch
> - use finch to evaluate the stability of the two approaches
> - if stability is improved, go with browser CALayers

Powered by Google App Engine
This is Rietveld 408576698