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

Issue 23868030: Make it possible to use OSMesa on Android (Closed)

Created:
7 years, 3 months ago by Peter Beverloo
Modified:
6 years, 10 months ago
CC:
chromium-reviews, jam, apatrick_chromium, joi+watch-content_chromium.org, darin-cc_chromium.org, piman+watch_chromium.org, jochen+watch_chromium.org, Isaac (away), Dirk Pranke
Visibility:
Public.

Description

Make it possible to use OSMesa on Android This patch will start compiling OSMesa as a dependency of the content_shell_apk target, and changes the GL implementation for Android to recognize OSMesa as a valid implementation. libosmesa.so will be separately included in ContentShell.apk, and will be lazily loaded depending on whether OSMesa will be used or not. When running a set of 54 layout tests on a Nexus 4, total time is [69, 68, 68] ~68 seconds with this patch, [62, 60, 61] ~61 seconds without this patch. Compensated for the setup time (13 seconds), this means pixel tests are on average 14 percent slower. I believe the win of (a) consistency with Chrome, (b) more reliable results and (c) less cross-device differences warrants this, however. Switching to OSMesa does also enable us to reliably enable impl-side painting without getting garbage rendering on higher-end devices. At time time it's not yet enabled by default however, as it makes content_shell time out when ran on the Nexus 7. BUG=232044, 248925, 250777 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=252583

Patch Set 1 #

Patch Set 2 : #

Total comments: 2

Patch Set 3 : #

Total comments: 2

Patch Set 4 : #

Total comments: 2

Patch Set 5 : #

Patch Set 6 : #

Patch Set 7 : #

Total comments: 3

Patch Set 8 : rebased #

Total comments: 1

Patch Set 9 : don't enable by default #

Patch Set 10 : #

Patch Set 11 : #

Total comments: 2

Patch Set 12 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+77 lines, -113 lines) Patch
M content/content_shell.gypi View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +2 lines, -0 lines 0 comments Download
M content/shell/app/shell_main_delegate.cc View 1 2 3 4 5 6 7 8 9 10 3 chunks +3 lines, -9 lines 0 comments Download
M gpu/command_buffer/service/async_pixel_transfer_manager_android.cc View 1 1 chunk +2 lines, -0 lines 0 comments Download
M third_party/mesa/mesa.gyp View 1 2 3 4 5 6 7 8 9 1 chunk +29 lines, -0 lines 0 comments Download
M ui/gl/gl.gyp View 1 2 3 4 5 6 7 8 9 10 3 chunks +6 lines, -3 lines 0 comments Download
M ui/gl/gl_context_android.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +16 lines, -7 lines 0 comments Download
M ui/gl/gl_implementation_android.cc View 1 2 3 4 5 6 7 8 9 10 11 5 chunks +11 lines, -14 lines 0 comments Download
D ui/gl/gl_implementation_linux.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +0 lines, -14 lines 0 comments Download
D ui/gl/gl_implementation_linux.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +0 lines, -63 lines 0 comments Download
A + ui/gl/gl_implementation_osmesa.h View 1 2 3 4 5 6 7 8 9 10 2 chunks +5 lines, -0 lines 0 comments Download
A + ui/gl/gl_implementation_osmesa.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -1 line 0 comments Download
M ui/gl/gl_implementation_ozone.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -1 line 0 comments Download
M ui/gl/gl_implementation_x11.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 32 (0 generated)
Peter Beverloo
+skyostil for GL and command buffer. If you're happy I'll do the OWNERS dance. This ...
7 years, 3 months ago (2013-09-19 14:34:51 UTC) #1
Sami
lgtm modulo the favor below. https://codereview.chromium.org/23868030/diff/2001/ui/gl/gl_context_android.cc File ui/gl/gl_context_android.cc (right): https://codereview.chromium.org/23868030/diff/2001/ui/gl/gl_context_android.cc#newcode80 ui/gl/gl_context_android.cc:80: switch(GetGLImplementation()) { Since you're ...
7 years, 3 months ago (2013-09-19 16:37:45 UTC) #2
Peter Beverloo
+jochen for content/ +sievers for gpu/ +piman for ui/gl/ Once again, this commit is depending ...
7 years, 3 months ago (2013-09-19 16:48:44 UTC) #3
piman
https://codereview.chromium.org/23868030/diff/7001/ui/gl/gl_implementation_android.cc File ui/gl/gl_implementation_android.cc (right): https://codereview.chromium.org/23868030/diff/7001/ui/gl/gl_implementation_android.cc#newcode79 ui/gl/gl_implementation_android.cc:79: } nit: since this looks like a copy&paste from ...
7 years, 3 months ago (2013-09-19 19:48:37 UTC) #4
jochen (gone - plz use gerrit)
lgtm
7 years, 3 months ago (2013-09-20 13:10:19 UTC) #5
Peter Beverloo
Updated, sorry for the delay. I'm having some weird gyp issues in gl.gyp where it ...
7 years, 2 months ago (2013-10-03 19:46:41 UTC) #6
piman
https://codereview.chromium.org/23868030/diff/13001/ui/gl/gl.gyp File ui/gl/gl.gyp (right): https://codereview.chromium.org/23868030/diff/13001/ui/gl/gl.gyp#newcode268 ui/gl/gl.gyp:268: 'gl_implementation_linux.h', On 2013/10/03 19:46:42, Peter Beverloo wrote: > I've ...
7 years, 2 months ago (2013-10-03 19:54:17 UTC) #7
no sievers
On 2013/10/03 19:54:17, piman wrote: > https://codereview.chromium.org/23868030/diff/13001/ui/gl/gl.gyp > File ui/gl/gl.gyp (right): > > https://codereview.chromium.org/23868030/diff/13001/ui/gl/gl.gyp#newcode268 > ...
7 years, 2 months ago (2013-10-03 20:06:00 UTC) #8
Peter Beverloo
Done. Including _linux.cc files in other directories works fine, I don't know why it doesn't ...
7 years, 2 months ago (2013-10-04 14:24:53 UTC) #9
piman
On 2013/10/04 14:24:53, Peter Beverloo wrote: > Done. Including _linux.cc files in other directories works ...
7 years, 2 months ago (2013-10-04 17:58:18 UTC) #10
no sievers
lgtm with one nit. Cool, now we can run cc pixel tests. https://codereview.chromium.org/23868030/diff/29001/ui/gl/gl_implementation_osmesa.h File ui/gl/gl_implementation_osmesa.h ...
7 years, 2 months ago (2013-10-04 21:48:54 UTC) #11
Peter Beverloo
To give a status-update about this patch: using OSMesa works fine on most devices, but ...
7 years, 1 month ago (2013-10-25 15:40:55 UTC) #12
no sievers
On 2013/10/25 15:40:55, Peter Beverloo wrote: > To give a status-update about this patch: using ...
7 years, 1 month ago (2013-10-25 19:08:02 UTC) #13
no sievers
https://codereview.chromium.org/23868030/diff/29001/ui/gl/gl_implementation_osmesa.h File ui/gl/gl_implementation_osmesa.h (right): https://codereview.chromium.org/23868030/diff/29001/ui/gl/gl_implementation_osmesa.h#newcode15 ui/gl/gl_implementation_osmesa.h:15: base::NativeLibrary LoadLibrary(const base::FilePath& filename); On 2013/10/25 15:40:55, Peter Beverloo ...
7 years, 1 month ago (2013-10-25 19:08:13 UTC) #14
no sievers
https://codereview.chromium.org/23868030/diff/40001/content/content_shell.gypi File content/content_shell.gypi (right): https://codereview.chromium.org/23868030/diff/40001/content/content_shell.gypi#newcode859 content/content_shell.gypi:859: { Can this somehow move to the libosmesa target ...
7 years, 1 month ago (2013-11-11 20:20:05 UTC) #15
Peter Beverloo
On 2013/11/11 20:20:05, sievers wrote: > https://codereview.chromium.org/23868030/diff/40001/content/content_shell.gypi > File content/content_shell.gypi (right): > > https://codereview.chromium.org/23868030/diff/40001/content/content_shell.gypi#newcode859 > ...
7 years, 1 month ago (2013-11-12 20:22:09 UTC) #16
no sievers
On 2013/11/12 20:22:09, Peter Beverloo wrote: > On 2013/11/11 20:20:05, sievers wrote: > > https://codereview.chromium.org/23868030/diff/40001/content/content_shell.gypi ...
7 years, 1 month ago (2013-11-12 22:31:46 UTC) #17
jochen (gone - plz use gerrit)
any updates on this?
6 years, 11 months ago (2014-01-03 10:43:42 UTC) #18
Peter Beverloo
Large rebase, apologies for the long delay. Notable changes for the reviewers: * jochen: Enabling ...
6 years, 10 months ago (2014-02-19 15:43:26 UTC) #19
jochen (gone - plz use gerrit)
lgtm
6 years, 10 months ago (2014-02-19 17:23:16 UTC) #20
Sami
lgtm, thanks Peter! https://codereview.chromium.org/23868030/diff/460001/ui/gl/gl_implementation_android.cc File ui/gl/gl_implementation_android.cc (right): https://codereview.chromium.org/23868030/diff/460001/ui/gl/gl_implementation_android.cc#newcode85 ui/gl/gl_implementation_android.cc:85: return InitializeStaticGLBindingsOSMesaGL(); nit: To make this ...
6 years, 10 months ago (2014-02-19 18:42:43 UTC) #21
Peter Beverloo
The CQ bit was checked by peter@chromium.org
6 years, 10 months ago (2014-02-20 16:57:52 UTC) #22
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/peter@chromium.org/23868030/460001
6 years, 10 months ago (2014-02-20 16:58:38 UTC) #23
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 10 months ago (2014-02-20 17:07:53 UTC) #24
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_rel
6 years, 10 months ago (2014-02-20 17:07:54 UTC) #25
Peter Beverloo
The CQ bit was checked by peter@chromium.org
6 years, 10 months ago (2014-02-21 12:15:20 UTC) #26
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/peter@chromium.org/23868030/590001
6 years, 10 months ago (2014-02-21 12:15:52 UTC) #27
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 10 months ago (2014-02-21 14:10:23 UTC) #28
commit-bot: I haz the power
Retried try job too often on win_rel for step(s) browser_tests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=win_rel&number=267757
6 years, 10 months ago (2014-02-21 14:10:24 UTC) #29
Peter Beverloo
The CQ bit was checked by peter@chromium.org
6 years, 10 months ago (2014-02-21 14:13:37 UTC) #30
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/peter@chromium.org/23868030/590001
6 years, 10 months ago (2014-02-21 14:13:49 UTC) #31
commit-bot: I haz the power
6 years, 10 months ago (2014-02-21 17:08:35 UTC) #32
Message was sent while issue was closed.
Change committed as 252583

Powered by Google App Engine
This is Rietveld 408576698