New issue
Advanced search Search tips

Issue 698780 link

Starred by 2 users

Issue metadata

Status: WontFix
Owner:
Closed: Jun 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug

Blocking:
issue 671355



Sign in to add a comment

Ozone X11 osmesa implementation should output to XWindow

Project Member Reported by kylec...@chromium.org, Mar 6 2017

Issue description

Ozone X11 uses the headless osmesa GL implementation and doesn't copy the contents of the osmesa buffer into the XWindow. Using GLSurfaceOSMesaX11 will fix this but some tests need to be fixed first.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Mar 7 2017

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

commit bf2bb744c704f16735d19c617f69beaba236db9b
Author: kylechar <kylechar@chromium.org>
Date: Tue Mar 07 20:52:32 2017

Fix compositor_unittests with Ozone X11.

Some of the tests in compositor_unittests use OSMesa to draw but
TestCompositorHostOzone never creates an AccereleratedWidget. This works
fine with the headless OSMesa implementation, since it never draws to
the AcceleratedWidget, but won't work with GLSurfaceOSMesaX11 which
draws to an XWindow.

Create a PlatformWindow using the OzonePlatform object. This will
produce an AcceleratedWidget appropriately.

BUG= 698780 

Review-Url: https://codereview.chromium.org/2737513003
Cr-Commit-Position: refs/heads/master@{#455210}

[modify] https://crrev.com/bf2bb744c704f16735d19c617f69beaba236db9b/ui/compositor/BUILD.gn
[modify] https://crrev.com/bf2bb744c704f16735d19c617f69beaba236db9b/ui/compositor/test/DEPS
[modify] https://crrev.com/bf2bb744c704f16735d19c617f69beaba236db9b/ui/compositor/test/test_compositor_host_ozone.cc
[modify] https://crrev.com/bf2bb744c704f16735d19c617f69beaba236db9b/ui/compositor/test/test_suite.cc

Project Member

Comment 2 by bugdroid1@chromium.org, Mar 8 2017

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

commit 1df13216e40fed4c8fa2531fc4c764eca1aae018
Author: kylechar <kylechar@chromium.org>
Date: Wed Mar 08 00:15:06 2017

Finish OSMesa support for Ozone X11.

Modify the GLOzone implementation for Ozone X11 OSMesa to use
GLSurfaceOSMesaX11. This copies the bitmap that OSMesa generated to the
XWindow so it's visible.

BUG= 698780 

Review-Url: https://codereview.chromium.org/2730993002
Cr-Commit-Position: refs/heads/master@{#455306}

[modify] https://crrev.com/1df13216e40fed4c8fa2531fc4c764eca1aae018/ui/gl/BUILD.gn
[modify] https://crrev.com/1df13216e40fed4c8fa2531fc4c764eca1aae018/ui/ozone/platform/x11/x11_surface_factory.cc

Status: Fixed (was: Started)
Project Member

Comment 4 by bugdroid1@chromium.org, Mar 9 2017

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

commit 657417b738a5c9c9f9d676d20b2bfdc22d660b9e
Author: rockot <rockot@chromium.org>
Date: Thu Mar 09 07:06:41 2017

Revert of Finish OSMesa support for Ozone X11. (patchset #2 id:40001 of https://codereview.chromium.org/2730993002/ )

Reason for revert:
Sorry, speculatively reverting based on persistent ozone builder flake. Started with this CL as best as I can tell.

Appears to be a sync command buffer IPC hang on shutdown, affecting only tests which force single-process mode. Possibly a deadlock caused by ... something in the OSMesa/X11?

https://luci-logdog.appspot.com/v/?s=chromium%2Fbb%2Ftryserver.chromium.linux%2Flinux_chromium_chromeos_ozone_rel_ng%2F336922%2F%2B%2Frecipes%2Fsteps%2Fcontent_browsertests__with_patch_%2F0%2Flogs%2FSavableResourcesTest.GetSavableResourceLinksWithPageHasInvalidLinks%2F0

Original issue's description:
> Finish OSMesa support for Ozone X11.
>
> Modify the GLOzone implementation for Ozone X11 OSMesa to use
> GLSurfaceOSMesaX11. This copies the bitmap that OSMesa generated to the
> XWindow so it's visible.
>
> BUG= 698780 
>
> Review-Url: https://codereview.chromium.org/2730993002
> Cr-Commit-Position: refs/heads/master@{#455306}
> Committed: https://chromium.googlesource.com/chromium/src/+/1df13216e40fed4c8fa2531fc4c764eca1aae018

TBR=kbr@chromium.org,kylechar@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG= 698780 

Review-Url: https://codereview.chromium.org/2742713002
Cr-Commit-Position: refs/heads/master@{#455684}

[modify] https://crrev.com/657417b738a5c9c9f9d676d20b2bfdc22d660b9e/ui/gl/BUILD.gn
[modify] https://crrev.com/657417b738a5c9c9f9d676d20b2bfdc22d660b9e/ui/ozone/platform/x11/x11_surface_factory.cc

Status: Started (was: Fixed)
Project Member

Comment 6 by bugdroid1@chromium.org, Jun 16 2017

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

commit 4e7ba20bb8235560cf1d81f8811c52bdb655e795
Author: kylechar <kylechar@chromium.org>
Date: Fri Jun 16 13:11:47 2017

Ozone X11 initialization checks for --single-process.

If Chrome is running with --single-process then make sure that
XInitThreads() is the first X call.

Bug:  700142 , 698780 
Change-Id: I6ebde0f8dfcd0c1eb0183acef219e3f6a7b9a08e
Reviewed-on: https://chromium-review.googlesource.com/537475
Reviewed-by: Robert Kroeger <rjkroege@chromium.org>
Commit-Queue: kylechar <kylechar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#480026}
[modify] https://crrev.com/4e7ba20bb8235560cf1d81f8811c52bdb655e795/ui/ozone/platform/x11/ozone_platform_x11.cc

Status: WontFix (was: Started)
As mesa is going to be replaced by SwiftShader it sounds like that is a better path forward. Specifying --use-gl=swiftshader outputs to an XWindow already using software GL, the GN arg enable_swiftshader just has to be toggled to true.
See https://chromium-review.googlesource.com/c/537414/ for the original discussion.

Sign in to add a comment