Ozone GL headless should output pixels to file |
|||||||
Issue descriptionThe 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.
,
Nov 13 2017
Issue 781268 has been merged into this issue.
,
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
,
Nov 14
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
,
Nov 16
kylechar: Anything left to be done here?
,
Nov 16
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.
,
Nov 19
I think it's worth doing eventually.
,
Nov 19
|
|||||||
►
Sign in to add a comment |
|||||||
Comment 1 by dtapu...@chromium.org
, Nov 10 2017