New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 783792 link

Starred by 4 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Feature



Sign in to add a comment

Ozone GL headless should output pixels to file

Project Member Reported by kylec...@chromium.org, Nov 10 2017

Issue description

The Ozone headless GL renderer should writes pixels out to a file just like the software renderer does. There are four parts to this problem:

1. Modifying osmesa GL to write out to a file. We have access to the pixel buffer so this is pretty simple. I've already written code to do this for the last frame.
2. The GPU process sandbox blocks it from opening files. This can be worked around with --no-sandbox so that #1 works. The browser will have to open the file and send the handle to the GPU for this to work properly though.
3. Constantly writing the last frame out to the same file (or even different files) is hacky. If we could encode the frames as a video and write a video file, that would be ideal.
4. When SwiftShader works properly with Ozone we should use SwiftShader GL instead of osmesa GL.
 
Components: Internals>GPU
Cc: sadrul@chromium.org mshoyk...@gmail.com kylec...@chromium.org
 Issue 781268  has been merged into this issue.
Project Member

Comment 3 by bugdroid1@chromium.org, Nov 13 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7ca92c28153e7584e8c956d1209b0019ffabeaab

commit 7ca92c28153e7584e8c956d1209b0019ffabeaab
Author: kylechar <kylechar@chromium.org>
Date: Mon Nov 13 21:42:26 2017

ozone: Headless with osmesa GL outputs to file.

Add a custom GLSurfaceOSMesaPng that outputs to file. Unfortunately the
GPU sandbox will block this from writing to file, so it only works
without the GPU sandbox.

Bug: 783792
Change-Id: I868702aa5dab81bffb8ea4867d659225255e5d50
Reviewed-on: https://chromium-review.googlesource.com/758608
Commit-Queue: kylechar <kylechar@chromium.org>
Reviewed-by: Robert Kroeger <rjkroege@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#516061}
[modify] https://crrev.com/7ca92c28153e7584e8c956d1209b0019ffabeaab/content/browser/gpu/gpu_process_host.cc
[modify] https://crrev.com/7ca92c28153e7584e8c956d1209b0019ffabeaab/ui/ozone/common/BUILD.gn
[modify] https://crrev.com/7ca92c28153e7584e8c956d1209b0019ffabeaab/ui/ozone/platform/headless/BUILD.gn
[add] https://crrev.com/7ca92c28153e7584e8c956d1209b0019ffabeaab/ui/ozone/platform/headless/gl_surface_osmesa_png.cc
[add] https://crrev.com/7ca92c28153e7584e8c956d1209b0019ffabeaab/ui/ozone/platform/headless/gl_surface_osmesa_png.h
[modify] https://crrev.com/7ca92c28153e7584e8c956d1209b0019ffabeaab/ui/ozone/platform/headless/headless_surface_factory.cc
[modify] https://crrev.com/7ca92c28153e7584e8c956d1209b0019ffabeaab/ui/ozone/platform/headless/headless_surface_factory.h
[modify] https://crrev.com/7ca92c28153e7584e8c956d1209b0019ffabeaab/ui/ozone/platform/headless/headless_window.cc
[modify] https://crrev.com/7ca92c28153e7584e8c956d1209b0019ffabeaab/ui/ozone/platform/headless/headless_window.h
[modify] https://crrev.com/7ca92c28153e7584e8c956d1209b0019ffabeaab/ui/ozone/platform/headless/headless_window_manager.cc
[modify] https://crrev.com/7ca92c28153e7584e8c956d1209b0019ffabeaab/ui/ozone/platform/headless/headless_window_manager.h
[modify] https://crrev.com/7ca92c28153e7584e8c956d1209b0019ffabeaab/ui/ozone/platform/headless/ozone_platform_headless.cc

Project Member

Comment 4 by sheriffbot@chromium.org, Nov 14

Labels: Hotlist-Recharge-Cold
Status: Untriaged (was: Available)
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue.

Sorry for the inconvenience if the bug really should have been left as Available.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Owner: kylec...@chromium.org
kylechar: Anything left to be done here?
Status: WontFix (was: Untriaged)
GLSurfaceOSMesaPng got deleted along with OSMesa deprecation. In theory we could do something with SwiftShader but I'm not sure if it's worth the effort to do right.
Labels: -Hotlist-Recharge-Cold
Status: Available (was: WontFix)
I think it's worth doing eventually.

Owner: ----

Sign in to add a comment