Don't allow glsl[130,400) unless we have gpu_shader5 (was: Jenga WebGL game is not loading in the webpage)

ASSIGNED
Assigned to

Status

()

defect
P1
normal
ASSIGNED
2 years ago
Last month

People

(Reporter: ciprian_georgiu, Assigned: jgilbert)

Tracking

(Blocks 1 bug, {regression})

Trunk
Future
All
Linux
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox-esr60 wontfix, firefox55 wontfix, firefox56 wontfix, firefox57 wontfix, firefox58 wontfix, firefox59 wontfix, firefox60 wontfix, firefox63 wontfix, firefox64 wontfix, firefox66 wontfix, firefox67 wontfix, firefox68 wontfix, firefox69 affected)

Details

(Whiteboard: [gfx-noted])

Attachments

(5 attachments, 13 obsolete attachments)

1.16 MB, image/png
Details
46 bytes, text/x-phabricator-request
Details | Review
46 bytes, text/x-phabricator-request
Details | Review
46 bytes, text/x-phabricator-request
Details | Review
46 bytes, text/x-phabricator-request
Details | Review
[Affected versions]:
- latest Nightly 57.0a1 (2017-09-13)
- Try build 57.0b1 (20170911222249)
- Beta 56.0b11
- RC 55.0.3

[Affected platforms]:
- Ubuntu 16.04 x64 LTS

[Steps to reproduce]:
1. Start Firefox.
2. Go to: http://chandlerprall.github.io/Physijs/examples/jenga.html

[Expected result]:
- The Jenga game is properly loaded in Firefox.

[Actual result]:
- The Jenga game is not loading.

[Regression range]:
- Last good revision: a8ccc3f5397619c4094c86ed51d82e1344ecaf1f
  First bad revision: a6563c2d3699820c5b9df9ac8eda30b0920cf55b

Pushlog: https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=a8ccc3f5397619c4094c86ed51d82e1344ecaf1f&tochange=a6563c2d3699820c5b9df9ac8eda30b0920cf55b

Please note that for this regression range, I considered good builds the ones that loaded the WebGL game (although the game was very laggy) and bad builds, the ones that didn't loaded the game.

[Additional notes]:
- this issue is reproducible only on Ubuntu
- not reproducible on Google Chrome
- info from about:support: https://pastebin.com/PFWdyfMe
- I see the following error in the browser console: "TypeError: Argument 2 of WebGLRenderingContext.attachShader is not an object."
Has Regression Range: --- → yes
Has STR: --- → yes
Keywords: regression
Marking fix-optional for 56 given it's Ubuntu only. Do we think we can get this fixed in the 57 cycle?
It seems that updating ANGLE to chromium/3173 does not fix the issue here.

The page keeps spew "error: sampler arrays indexed with non-constant expressions are forbidden in GLSL 1.30 and later".

I think there is some workaround in ANGLE we current do not use can make it work.

I will try different ANGLE configuration.
Flags: needinfo?(cleu)
So, can we also tech-evangelism this?
Priority: -- → P3
Whiteboard: [gfx-noted]
The problem is that this is valid in WebGL 1.
That said, since content needs to work around this restriction to run on e.g. webgl2, so actively-maintained projects should probably just work around this. However, there exists content, particularly orphaned projects, that will break with this regression.

We should revert the removal of loop unrolling and figure out what Chrome is doing here.

Can you restore the loop unrolling, :cleu?
Assignee: nobody → cleu
Flags: needinfo?(cleu)
Priority: P3 → P1
OK, and here is the patch.

I found that we will encounter conformance fails on Mac if we add back this flag on Mac OSX, so I exclude it on Mac.
Flags: needinfo?(cleu)
Chromium apparently doesn't use it, and just flat out removed it:
https://bugs.chromium.org/p/chromium/issues/detail?id=665255

Perhaps we just need to stick to glsl compatibility profile for webgl1? (really just restrict to versions <130)
It means that we still need this loop unrolling feature, only limited it enabled on Linux with WebGL1.

I think the reason why Chromium does not use it while have no problem rendering this website on Ubuntu is because they do not use ANGLE as their shade translator at all.

I see glsl loop unrolling code inside Chromium's Mesa3D copy, I suspect they use mesa3D instead of ANGLE as their shader processor under Linux platform.

https://cs.chromium.org/chromium/src/third_party/mesa/src/src/glsl/loop_unroll.cpp?q=UNROLL&sq=package:chromium&dr=CSs&l=28
Comment on attachment 8909190 [details]
Bug 1399501 - Part1: Use SH_GLSL_COMPATIBILITY_OUTPUT for OpenGL version less than 3.2

https://reviewboard.mozilla.org/r/180774/#review186950
Attachment #8909190 - Flags: review?(jgilbert) → review+
Can you try always using the compatibility profile glsl option for Linux?
It would be nice if we didn't have to drift from upstream ANGLE.
Flags: needinfo?(cleu)
Comment on attachment 8909192 [details]
Bug 1399501 - Part3: Exclude SH_UNROLL_FOR_LOOP_WITH_SAMPLER_ARRAY_INDEX flag on Mac to prevent conformance testfails

https://reviewboard.mozilla.org/r/180778/#review186956

::: dom/canvas/WebGLShaderValidator.cpp:45
(Diff revision 2)
> +#ifndef XP_MACOSX
>      // Sampler arrays indexed with non-constant expressions are forbidden in
>      // GLSL 1.30 and later.
>      // ESSL 3 requires constant-integral-expressions for this as well.
> -    // Just do it universally.
> +    // We exclude this flag on Mac to prevent some mac-specific
> +    // conformance testfails.

List which ones.
Attachment #8909192 - Flags: review?(jgilbert) → review+
Comment on attachment 8909193 [details]
Bug 1399501 - Part4: Update mochitest-errata

https://reviewboard.mozilla.org/r/180780/#review186960
Attachment #8909193 - Flags: review?(jgilbert) → review+
Comment on attachment 8909191 [details]
Bug 1399501 - Part2: Add back SH_UNROLL_FOR_LOOP_WITH_SAMPLER_ARRAY_INDEX to gecko

https://reviewboard.mozilla.org/r/180776/#review186964
Attachment #8909191 - Flags: review?(jgilbert) → review+
Well..... now things get really weird.....

I found that this bug is not reproducible on any Linux machines, even VMs.

I originally tested it on an Ubuntu VM under ESXi 6.5, and it cannot render the jenga page.

However, I tested it on an Ubuntu PC with i3-3217U with Intel HD4000, the page loads correctly (although laggy).

In addition, I made another test on an Ubuntu VM under VMWare Fusion 8.5.7, the page still loads with no problem (still laggy)

Hi Ciprian, what is the hardware configuration when you test it, is it a VM?
Flags: needinfo?(cleu) → needinfo?(ciprian.georgiu)
And I tested same website on Chrome, they cannot render it as well......
(In reply to Michael Leu[:Lenzak](UTC+8) from comment #21)
...
> 
> Hi Ciprian, what is the hardware configuration when you test it, is it a VM?

Hi, not a VM, it's an AMD FX-8320 3.50 GHz PC with ATI Radeon HD 3000 and 16 GB RAM.

(In reply to Michael Leu[:Lenzak](UTC+8) from comment #22)
> Created attachment 8910619 [details]
> Screen Shot 2017-09-21 at 2.52.39 PM.png
> 
> And I tested same website on Chrome, they cannot render it as well......

Hmm, on my Ubuntu 16.04 x64 machine the game (as stated in comment 0) is rendered in Chrome: https://imgur.com/a/XhRGl 

Let me know if you need more info!
Flags: needinfo?(ciprian.georgiu)
Chromium does not unroll loops presently. Sounds like they removed it prematurely.
Thanks Jeff for the pointer. I removed the loop unrolling code in this commit that landed almost a year ago.

https://chromium-review.googlesource.com/c/angle/angle/+/412023

Given that Chromium uses the ANGLE shader translator on all platform and that the Jenga game works on Chromium, there must be something that can be fixed in the way the shader is compiled.

I mentioned that we enable gpu_shader5 to support this indexing, and here's the relevant commit: https://chromium-review.googlesource.com/c/angle/angle/+/356710/

It is unclear why the game works on Chromium and not Firefox. Ciprian, can you attach a saved version of "about:gpu" from Chromium (or Chrome)? It would help understand if it is enabling workarounds on this card. Also a glxinfo might help.
Flags: needinfo?(ciprian.georgiu)
OK, so now things become more interesting (or confusing) after I tested more Ubuntu PCs and VMs.

I can reproduce all 4 possible renderable/unrenderable scenario, and all on Ubuntu.

I have dumped glxinfo/about:support/chrome://gpu on all 4 configurations, I think it will be beneficial for both Firefox and Chrome if we can figure out this.

                                    | Chrome  |  Firefox |
----------------------------------------------------------
i3-3217U + HD4000 (Bare metal)      |    O    |     O    |
----------------------------------------------------------
 VM on ESXi 6.5 in a HP ML310e G8   |    O    |     X    |
----------------------------------------------------------
VM on VMWare fusion (i7-4790/750Ti) |    X    |     O    |
----------------------------------------------------------
VM on VMWare fusion (i7-4850HQ/750M)|    X    |     X    |
----------------------------------------------------------
Flags: needinfo?(jgilbert)
Flags: needinfo?(corentin)
Posted file gcO_fxO.tar.gz (obsolete) —
Attachment #8910619 - Attachment is obsolete: true
Posted file gcO_fxX.tar.gz (obsolete) —
Posted file gcX_fxO.tar.gz (obsolete) —
Posted file gcX_fxX.tar.gz (obsolete) —
(In reply to Corentin Wallez from comment #25)
...
> Ciprian, can you attach a saved version of "about:gpu" from Chromium (or Chrome)? It
> would help understand if it is enabling workarounds on this card. Also a
> glxinfo might help.

about:gpu from Chrome: https://pastebin.com/x0EPnP9S
glxinfo: https://pastebin.com/1FGqVZpX
Flags: needinfo?(ciprian.georgiu)
I think the reason why we can run different result is because out GLSL translator output configuration is different, it seems that firefox can render the website correctly as long as we specify GLSL1.0 under WebGL1.0 context.

Hi Ciprian,

Can you try the WIP patch here?

(WIP)Bug 1399501 - Explicitly specify WebGL shader translator output to GLSL1.0

Run this website with *only this* patch applied and see whether we can render it correctly or not.
Flags: needinfo?(ciprian.georgiu)
Ciprian, from the about:gpu we can see you are using Swiftshader (software WebGL), that would explain why Chrome works: it isn't using Mesa. It looks like this blacklist entry is triggered on your system:
  ATI/AMD cards with older drivers in Linux are crash-prone: 71381, 76428, 73910, 101225, 136240, 357314
This might be because Mesa recently changed their GL_VENDOR to X.Org (was Mesa previously)

Michael: The logic in the patch looks like it could be made tighter, see https://cs.chromium.org/chromium/src/gpu/command_buffer/service/shader_translator.cc?sq=package:chromium&l=129

I'm not sure what makes Chrome not work in the VM. Is there real GPU access or does the VM have a software rasterizer?
Flags: needinfo?(corentin)
The GL_RENDERER in that case in Chrome is Gallium 0.4 on SVGA3D; build: RELEASE; LLVM; instead of swiftshader.

About the patch, we actually have similar shader output format selection code here.
https://dxr.mozilla.org/mozilla-central/rev/7d15bc419c6cd7e9f3b4d41370c3b0e5990c8d1b/dom/canvas/WebGLShaderValidator.cpp#102

I think maybe we can try modifying this part to make the logic simpler.
So version 130 starts to require integral constant expressions, and both version 400 and gpu_shader5 remove this restriction.

If we don't have gpu_shader5 support, we can't use glsl 130-330, and must use compat profile.
Flags: needinfo?(jgilbert)
Attachment #8909191 - Attachment is obsolete: true
Attachment #8909192 - Attachment is obsolete: true
Attachment #8909193 - Attachment is obsolete: true
Attachment #8912497 - Attachment is obsolete: true
Flags: needinfo?(ciprian.georgiu)
Do we need reviews on some of these patches?
Flags: needinfo?(cleu)
The patch will result in several conformance test fails in shader part for now, so I am working on updating ANGLE and rebase this patch to see if the problem still persist.
Flags: needinfo?(cleu)
I tried the SH_DONT_REMOVE_INVARIANT_FOR_FRAGMENT_INPUT flag but the tests still fail, I will try other compiler flags.
I found that we can fix conformance fail in shaders-with-invariant.html if I add SH_FLATTEN_PRAGMA_STDGL_INVARIANT_ALL flag.

And now there are only one fail left which is an unexpected shader link fail in shaders-with-varyings.html.

The JS console spew error like fragment shader varying [shader_name] not written by vertex shader.
I compared our context and Chromium's, I found that the version of gl context and glsl version is different.

Chromium has GLSL version 3.3 and use SH_GLSL_330_CORE_OUTPUT while we has GLSL version 1.3 which falls back to SH_GLSL_COMPATIBILITY_OUTPUT, the workaround flags used by shader translator is mostly the same between Chromium and us.

I will investigate why we obtain context with older version than driver could support.
OK, there is a pref "webgl.1.allow-core-profiles" which affect our OpenGL context version selection, Gecko will use COMPAT_PROFILE if this pref is set to false, which is undesirable in this case, so I tried to make it true by default on Linux and push a try to verify nothing will be break.
I'll figure out what we can do here.
Assignee: cleu → jgilbert
So I tried to fill in the glsl[130,330] gap with es2_compat and gpu_shader5 (less common), but ran into an issue with this approach:

https://treeherder.mozilla.org/#/jobs?repo=try&revision=5058c779dbcb57867582d56f8f263f453991be4e

You can actually see that we fixed the issue on Linux:
 PASS (expected FAIL) | dom/canvas/test/webgl-conf/generated/test_conformance__glsl__bugs__sampler-array-using-loop-index.html | fail-if condition in manifest

However, it looks like we can't expect to use the same extensions we're used to with GLSL with ESSL-via-es2_compat, and that we should instead expect an ES3-like pure/basic implementation of essl100. Naturally that can't work for us for WebGL1, though that's probably fine for essl100-in-WebGL2.

I expect we need to switch back to compat profiles for these cases, instead of relying on es2_compat for webgl1. (also this means we can't expect to use es3_compat for webgl2 with any extensions)
The simplest fix would be reverting webgl1 to use compat profiles.

I'm going to double-check this, because it would be really awesome if we could actually expect use es*_compat.
Duplicate of this bug: 1432102
Jeff, does this affect 59/60? I just came across this in regression triage and noticed the versions aren't set but the priority is set to P1.
Flags: needinfo?(jgilbert)
Attachment #8909190 - Attachment is obsolete: true
Flags: needinfo?(jgilbert)
Attachment #8913056 - Attachment is obsolete: true
Attachment #8915532 - Attachment is obsolete: true
Comment on attachment 8989552 [details]
Bug 1399501 - Don't allow glsl[130,400) unless we have gpu_shader5. -

https://reviewboard.mozilla.org/r/254582/#review261824

::: dom/canvas/WebGLContext.cpp:606
(Diff revision 2)
>      const auto fnCreate = [&](fnCreateOffscreenT* const pfnCreateOffscreen,
>                                const char* const info)
>      {
>          const gfx::IntSize dummySize(1, 1);
>          nsCString failureId;
> -        const RefPtr<GLContext> gl = pfnCreateOffscreen(dummySize, surfaceCaps, flags,
> +        RefPtr<GLContext> gl = pfnCreateOffscreen(dummySize, surfaceCaps, flags,

can we just figure out if a compat profile is needed right away before the first call here instead of re-creating the context?

::: dom/canvas/WebGLContext.cpp:612
(Diff revision 2)
> -                                                        &failureId);
> +                                                  &failureId);
> +	 if (gl && gl->IsCoreProfile() &&
> +	     !(flags & gl::CreateContextFlags::REQUIRE_COMPAT_PROFILE) &&
> +            !gl->IsSupported(gl::GLFeature::gpu_shader5))
> +        {
> +	     const auto compatFlags = flags | gl::CreateContextFlags::REQUIRE_COMPAT_PROFILE;

a few indentaion issues
Comment on attachment 8989552 [details]
Bug 1399501 - Don't allow glsl[130,400) unless we have gpu_shader5. -

https://reviewboard.mozilla.org/r/254582/#review261968

::: dom/canvas/WebGLContext.cpp:606
(Diff revision 2)
>      const auto fnCreate = [&](fnCreateOffscreenT* const pfnCreateOffscreen,
>                                const char* const info)
>      {
>          const gfx::IntSize dummySize(1, 1);
>          nsCString failureId;
> -        const RefPtr<GLContext> gl = pfnCreateOffscreen(dummySize, surfaceCaps, flags,
> +        RefPtr<GLContext> gl = pfnCreateOffscreen(dummySize, surfaceCaps, flags,

I have plans to do this, but I don't want to do that yet, particularly since this should be fairly rare.
Comment on attachment 8989552 [details]
Bug 1399501 - Don't allow glsl[130,400) unless we have gpu_shader5. -

https://reviewboard.mozilla.org/r/254582/#review262002
Attachment #8989552 - Flags: review?(kvark) → review+
Pushed by jgilbert@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/781e6389661e
Don't allow glsl[130,400) unless we have gpu_shader5. - r=kvark
Backout by csabou@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/ddb7d8cf539f
Backed out changeset 781e6389661e for assertion failures on gfx/gl/GLContext. CLOSED TREE
Push with failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&filter-resultStatus=testfailed&filter-resultStatus=busted&filter-resultStatus=exception&fromchange=781e6389661eebbdbda056f9c1a27be6eccbae4c&tochange=18a6d392999fb556fd429ce542f49fd5ffd3655f&filter-searchStr=mochitest&selectedJob=186719457

Failure log: https://treeherder.mozilla.org/logviewer.html#?job_id=186719457&repo=autoland&lineNumber=5373

Backout link: https://hg.mozilla.org/integration/autoland/rev/ddb7d8cf539f2948c6b169e58ae97d59c74e8b1c

task 2018-07-05T22:31:35.518Z]     INFO - GECKO(1801) | [Parent 1801, Main Thread] WARNING: robust_buffer_access_behavior marked as unsupported: file /builds/worker/workspace/build/src/gfx/gl/GLContextFeatures.cpp, line 927
[task 2018-07-05T22:31:35.518Z]     INFO - GECKO(1801) | [Parent 1801, Main Thread] WARNING: Robustness supported, strategy is not LOSE_CONTEXT_ON_RESET!: file /builds/worker/workspace/build/src/gfx/gl/GLContext.cpp, line 1027
[task 2018-07-05T22:31:35.519Z]     INFO - GECKO(1801) | [Parent 1801, Main Thread] WARNING: robustness marked as unsupported: file /builds/worker/workspace/build/src/gfx/gl/GLContextFeatures.cpp, line 927
[task 2018-07-05T22:31:35.527Z]     INFO - GECKO(1801) | [Parent 1801, Main Thread] WARNING: robust_buffer_access_behavior marked as unsupported: file /builds/worker/workspace/build/src/gfx/gl/GLContextFeatures.cpp, line 927
[task 2018-07-05T22:31:35.528Z]     INFO - GECKO(1801) | [Parent 1801, Main Thread] WARNING: Robustness supported, strategy is not LOSE_CONTEXT_ON_RESET!: file /builds/worker/workspace/build/src/gfx/gl/GLContext.cpp, line 1027
[task 2018-07-05T22:31:35.528Z]     INFO - GECKO(1801) | [Parent 1801, Main Thread] WARNING: robustness marked as unsupported: file /builds/worker/workspace/build/src/gfx/gl/GLContextFeatures.cpp, line 927
[task 2018-07-05T22:31:35.531Z]     INFO - GECKO(1801) | Assertion failure: IsCurrentImpl(), at /builds/worker/workspace/build/src/gfx/gl/GLContext.h:718
[task 2018-07-05T22:32:08.137Z]     INFO - GECKO(1801) | #01: mozilla::gl::GLContext::BeforeGLCall(char const*) const [gfx/gl/GLContext.h:718]
[task 2018-07-05T22:32:08.141Z]     INFO - 
[task 2018-07-05T22:32:08.142Z]     INFO - GECKO(1801) | #02: mozilla::gl::GLContext::fGetError() [gfx/gl/GLContext.h:803]

[task 2018-07-05T22:32:08.380Z]     INFO - TEST-INFO | Main app process: exit 11
[task 2018-07-05T22:32:08.381Z]    ERROR - TEST-UNEXPECTED-FAIL | ShutdownLeaks | process() called before end of test suite
[task 2018-07-05T22:32:08.381Z]     INFO - Buffered messages logged at 22:31:34
[task 2018-07-05T22:32:08.382Z]     INFO - Entering test bound 
[task 2018-07-05T22:32:08.382Z]     INFO - TEST-PASS | browser/base/content/test/tabs/browser_navigatePinnedTab.js | Tab was successfully pinned - 
[task 2018-07-05T22:32:08.383Z]     INFO - Buffered messages finished
[task 2018-07-05T22:32:08.384Z]    ERROR - TEST-UNEXPECTED-FAIL | browser/base/content/test/tabs/browser_navigatePinnedTab.js | application terminated with exit code 11
[task 2018-07-05T22:32:08.385Z]     INFO - runtests.py | Application ran for: 0:04:20.245429
[task 2018-07-05T22:32:08.386Z]     INFO - zombiecheck | Reading PID log: /tmp/tmphVRkqopidlog
[task 2018-07-05T22:32:08.387Z]     INFO - ==> process 1801 launched child process 1820
[task 2018-07-05T22:32:08.388Z]     INFO - ==> process 1801 launched child process 1850
[task 2018-07-05T22:32:08.389Z]     INFO - ==> process 1801 launched child process 1895
[task 2018-07-05T22:32:08.389Z]     INFO - ==> process 1801 launched child process 1924
[task 2018-07-05T22:32:08.393Z]     INFO - ==> process 1801 launched child process 1953
[task 2018-07-05T22:32:08.395Z]     INFO - ==> process 1801 launched child process 1982
[task 2018-07-05T22:32:08.396Z]     INFO - zombiecheck | Checking for orphan process with PID: 1953
[task 2018-07-05T22:32:08.397Z]     INFO - zombiecheck | Checking for orphan process with PID: 1924
[task 2018-07-05T22:32:08.398Z]     INFO - zombiecheck | Checking for orphan process with PID: 1895
[task 2018-07-05T22:32:08.399Z]     INFO - zombiecheck | Checking for orphan process with PID: 1850
[task 2018-07-05T22:32:08.400Z]     INFO - zombiecheck | Checking for orphan process with PID: 1820
[task 2018-07-05T22:32:08.401Z]     INFO - zombiecheck | Checking for orphan process with PID: 1982
[task 2018-07-05T22:32:08.403Z]     INFO - mozcrash Copy/paste: /usr/local/bin/linux64-minidump_stackwalk /tmp/tmp_bYtG5.mozrunner/minidumps/5a457fa9-6057-b2af-11a5-5d65bc1c051d.dmp /builds/worker/workspace/build/symbols
[task 2018-07-05T22:32:16.898Z]     INFO - mozcrash Saved minidump as /builds/worker/workspace/build/blobber_upload_dir/5a457fa9-6057-b2af-11a5-5d65bc1c051d.dmp
[task 2018-07-05T22:32:16.899Z]     INFO - mozcrash Saved app info as /builds/worker/workspace/build/blobber_upload_dir/5a457fa9-6057-b2af-11a5-5d65bc1c051d.extra
[task 2018-07-05T22:32:17.086Z]     INFO - PROCESS-CRASH | browser/base/content/test/tabs/browser_navigatePinnedTab.js | application crashed [@ mozilla::gl::GLContext::BeforeGLCall(char const*) const]
[task 2018-07-05T22:32:17.086Z]     INFO - Crash dump filename: /tmp/tmp_bYtG5.mozrunner/minidumps/5a457fa9-6057-b2af-11a5-5d65bc1c051d.dmp
[task 2018-07-05T22:32:17.086Z]     INFO - Operating system: Linux
[task 2018-07-05T22:32:17.087Z]     INFO -                   0.0.0 Linux 4.4.0-1014-aws #14taskcluster1-Ubuntu SMP Tue Apr 3 10:27:00 UTC 2018 x86_64
[task 2018-07-05T22:32:17.087Z]     INFO - CPU: x86
[task 2018-07-05T22:32:17.088Z]     INFO -      GenuineIntel family 6 model 62 stepping 4
[task 2018-07-05T22:32:17.088Z]     INFO -      2 CPUs
[task 2018-07-05T22:32:17.089Z]     INFO - 
[task 2018-07-05T22:32:17.089Z]     INFO - GPU: UNKNOWN
[task 2018-07-05T22:32:17.089Z]     INFO - 
[task 2018-07-05T22:32:17.090Z]     INFO - Crash reason:  SIGSEGV
[task 2018-07-05T22:32:17.090Z]     INFO - Crash address: 0x0
[task 2018-07-05T22:32:17.090Z]     INFO - Process uptime: not available
[task 2018-07-05T22:32:17.091Z]     INFO - 
[task 2018-07-05T22:32:17.091Z]     INFO - Thread 0 (crashed)
[task 2018-07-05T22:32:17.092Z]     INFO -  0  libxul.so!mozilla::gl::GLContext::BeforeGLCall(char const*) const [GLContext.h:781e6389661eebbdbda056f9c1a27be6eccbae4c : 718 + 0x16]
[task 2018-07-05T22:32:17.092Z]     INFO -     eip = 0xef723239   esp = 0xffd61d80   ebp = 0xffd61da8   ebx = 0xe0498800
[task 2018-07-05T22:32:17.092Z]     INFO -     esi = 0xf3c9d5e0   edi = 0xf5465000   eax = 0x00000000   ecx = 0xf74e8864
[task 2018-07-05T22:32:17.093Z]     INFO -     edx = 0x00000000   efl = 0x00210282
[task 2018-07-05T22:32:17.093Z]     INFO -     Found by: given as instruction pointer in context
Flags: needinfo?(jgilbert)
MozReview-Commit-ID: EUk2uc64Tok
Make MarkDestroyed call MakeCurrent(force=true) to clear the current
context also.

Depends on D9288
Attachment #8989552 - Attachment is obsolete: true
Flags: needinfo?(jgilbert)
Attachment #8911675 - Attachment is obsolete: true
Attachment #8911676 - Attachment is obsolete: true
Attachment #8911677 - Attachment is obsolete: true
Attachment #8911678 - Attachment is obsolete: true
Pushed by jgilbert@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/b4c2cdd8d03b
Don't allow glsl[130,400) unless we have gpu_shader5. - r=kvark
https://hg.mozilla.org/integration/mozilla-inbound/rev/b7e7638dbfd1
!MakeCurrent() should clear the current context. - r=kvark
https://hg.mozilla.org/integration/mozilla-inbound/rev/7c110571ab1a
MakeCurrent again in InitAndValidateGL. r=kvark
Backed out for aseertion failures on GLContextProviderEGL and crashes @ mozilla::gl::DestroySurface(void*)

Push with failures: https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&resultStatus=testfailed%2Cbusted%2Cexception&fromchange=7c110571ab1a8a33e8c072f690d30a7a8e488163&tochange=12e986367fe985de767c4a32a9e5c7fadf824bdd&selectedJob=207338483

Failure log: https://treeherder.mozilla.org/logviewer.html#?job_id=207338483&repo=mozilla-inbound&lineNumber=1363

Backout link: https://hg.mozilla.org/integration/mozilla-inbound/rev/12e986367fe985de767c4a32a9e5c7fadf824bdd

[task 2018-10-23T20:33:08.922Z] 20:33:08     INFO -  10-23 13:32:51.101 W/dalvikvm(  835): VFY: unable to resolve virtual method 375: Landroid/app/NotificationChannel;.getId ()Ljava/lang/String;
[task 2018-10-23T20:33:08.922Z] 20:33:08     INFO -  10-23 13:32:51.200 F/MOZ_Assert(  835): Assertion failure: surf, at /builds/worker/workspace/build/src/gfx/gl/GLContextProviderEGL.cpp:163
[task 2018-10-23T20:33:08.923Z] 20:33:08     INFO -  10-23 13:32:51.220 W/google-breakpad(  835): ExceptionHandler::GenerateDump cloned child
[task 2018-10-23T20:33:08.923Z] 20:33:08     INFO -  10-23 13:32:51.220 W/google-breakpad(  835): 934U�N�R
[task 2018-10-23T20:33:08.923Z] 20:33:08     INFO -  10-23 13:32:51.230 W/google-breakpad(  835):
[task 2018-10-23T20:33:08.924Z] 20:33:08     INFO -  10-23 13:32:51.230 W/google-breakpad(  835): ExceptionHandler::SendContinueSignalToChild sent continue signal to child
[task 2018-10-23T20:33:08.924Z] 20:33:08     INFO -  10-23 13:32:51.240 W/google-breakpad(  934): ExceptionHandler::WaitForContinueSignal waiting for continue signal...
[task 2018-10-23T20:33:08.925Z] 20:33:08     INFO -  10-23 13:32:52.831 D/Zygote  (   38): Process 835 terminated by signal (11)

[task 2018-10-23T20:33:06.049Z] 20:33:06  WARNING -  PROCESS-CRASH | remoteautomation.py | application crashed [@ mozilla::gl::DestroySurface(void*)]
[task 2018-10-23T20:33:06.049Z] 20:33:06     INFO -  Crash dump filename: /tmp/tmpTUtQ8v/7858ac1e-f917-3c6c-b4ac-db69ac487710.dmp
[task 2018-10-23T20:33:06.049Z] 20:33:06     INFO -  Operating system: Android
[task 2018-10-23T20:33:06.050Z] 20:33:06     INFO -                    0.0.0 Linux 2.6.29-gea477bb #1 Wed Sep 26 11:04:45 PDT 2012 armv7l
[task 2018-10-23T20:33:06.050Z] 20:33:06     INFO -  CPU: arm
[task 2018-10-23T20:33:06.050Z] 20:33:06     INFO -       ARMv7 ARM Cortex-A8 features: swp,half,thumb,fastmult,vfpv2,edsp,neon,vfpv3
[task 2018-10-23T20:33:06.050Z] 20:33:06     INFO -       1 CPU
[task 2018-10-23T20:33:06.051Z] 20:33:06     INFO -  GPU: UNKNOWN
[task 2018-10-23T20:33:06.051Z] 20:33:06     INFO -  Crash reason:  SIGSEGV
[task 2018-10-23T20:33:06.051Z] 20:33:06     INFO -  Crash address: 0x0
[task 2018-10-23T20:33:06.051Z] 20:33:06     INFO -  Process uptime: not available
[task 2018-10-23T20:33:06.052Z] 20:33:06     INFO -  Thread 31 (crashed)
[task 2018-10-23T20:33:06.052Z] 20:33:06     INFO -   0  libxul.so!mozilla::gl::DestroySurface(void*) [GLContextProviderEGL.cpp:59160a8260a02fda2bc625b02c3132d9330e2dd7 : 0 + 0x6]
[task 2018-10-23T20:33:06.052Z] 20:33:06     INFO -       r0 = 0x00000000    r1 = 0xf90c1e78    r2 = 0x5fac79da    r3 = 0x000000a3
[task 2018-10-23T20:33:06.053Z] 20:33:06     INFO -       r4 = 0x000000a3    r5 = 0x56185fa0    r6 = 0x560e4280    r7 = 0x55840b68
[task 2018-10-23T20:33:06.053Z] 20:33:06     INFO -       r8 = 0x55840c7c    r9 = 0x56132eb4   r10 = 0x56132eb0   r12 = 0x00000003
[task 2018-10-23T20:33:06.054Z] 20:33:06     INFO -       fp = 0x000000aa    sp = 0x55840b60    lr = 0x5c9d0875    pc = 0x5c9dabca
[task 2018-10-23T20:33:06.054Z] 20:33:06     INFO -      Found by: given as instruction pointer in context
[task 2018-10-23T20:33:06.054Z] 20:33:06     INFO -   1  libxul.so!mozilla::gl::GLContextEGL::ReleaseSurface() [GLContextProviderEGL.cpp:59160a8260a02fda2bc625b02c3132d9330e2dd7 : 491 + 0x3]
[task 2018-10-23T20:33:06.054Z] 20:33:06     INFO -       r4 = 0x54268000    r5 = 0x56185fa0    r6 = 0x560e4280    r7 = 0x55840b78
[task 2018-10-23T20:33:06.055Z] 20:33:06     INFO -       r8 = 0x55840c7c    r9 = 0x56132eb4   r10 = 0x56132eb0    fp = 0x000000aa
[task 2018-10-23T20:33:06.055Z] 20:33:06     INFO -       sp = 0x55840b70    lr = 0x5c9db4c1    pc = 0x5c9db4c1
[task 2018-10-23T20:33:06.056Z] 20:33:06     INFO -      Found by: call frame info
[task 2018-10-23T20:33:06.056Z] 20:33:06     INFO -   2  libxul.so!mozilla::gl::GLContextEGL::RenewSurface(mozilla::widget::CompositorWidget*) [GLContextProviderEGL.cpp:59160a8260a02fda2bc625b02c3132d9330e2dd7 : 470 + 0x7]
[task 2018-10-23T20:33:06.056Z] 20:33:06     INFO -       r4 = 0x54268000    r5 = 0x56185fa0    r6 = 0x560e4280    r7 = 0x55840b90
[task 2018-10-23T20:33:06.057Z] 20:33:06     INFO -       r8 = 0x55840c7c    r9 = 0x56132eb4   r10 = 0x56132eb0    fp = 0x000000aa
[task 2018-10-23T20:33:06.057Z] 20:33:06     INFO -       sp = 0x55840b80    lr = 0x5c9db437    pc = 0x5c9db437
[task 2018-10-23T20:33:06.057Z] 20:33:06     INFO -      Found by: call frame info
[task 2018-10-23T20:33:06.058Z] 20:33:06     INFO -   3  libxul.so!mozilla::layers::CompositorBridgeParent::ResumeComposition() [CompositorBridgeParent.cpp:59160a8260a02fda2bc625b02c3132d9330e2dd7 : 783 + 0x7]
[task 2018-10-23T20:33:06.058Z] 20:33:06     INFO -       r2 = 0x5c9db421    r3 = 0x0000001a    r4 = 0x560e4408    r5 = 0x560e4280
[task 2018-10-23T20:33:06.058Z] 20:33:06     INFO -       r6 = 0x560e4280    r7 = 0x55840ba0    r8 = 0x55840c7c    r9 = 0x56132eb4
[task 2018-10-23T20:33:06.059Z] 20:33:06     INFO -      r10 = 0x56132eb0    fp = 0x000000aa    sp = 0x55840b98    lr = 0x5caaee0f
[task 2018-10-23T20:33:06.059Z] 20:33:06     INFO -       pc = 0x5caaee0f
[task 2018-10-23T20:33:06.059Z] 20:33:06     INFO -      Found by: call frame info
[task 2018-10-23T20:33:06.059Z] 20:33:06     INFO -   4  libxul.so!mozilla::layers::UiCompositorControllerParent::RecvResumeAndResize(int const&, int const&) [UiCompositorControllerParent.cpp:59160a8260a02fda2bc625b02c3132d9330e2dd7 : 79 + 0x3]
[task 2018-10-23T20:33:06.060Z] 20:33:06     INFO -       r4 = 0x55840bcc    r5 = 0x55840bc8    r6 = 0x560e4280    r7 = 0x55840bb8
[task 2018-10-23T20:33:06.060Z] 20:33:06     INFO -       r8 = 0x55840c7c    r9 = 0x56132eb4   r10 = 0x56132eb0    fp = 0x000000aa
[task 2018-10-23T20:33:06.061Z] 20:33:06     INFO -       sp = 0x55840ba8    lr = 0x5cac54b7    pc = 0x5cac54b7
[task 2018-10-23T20:33:06.061Z] 20:33:06     INFO -      Found by: call frame info
[task 2018-10-23T20:33:06.061Z] 20:33:06     INFO -   5  libxul.so!mozilla::layers::PUiCompositorControllerParent::OnMessageReceived(IPC::Message const&, IPC::Message*&) [PUiCompositorControllerParent.cpp: : 513 + 0xb]
[task 2018-10-23T20:33:06.062Z] 20:33:06     INFO -       r4 = 0x5618e500    r5 = 0x55840bd0    r6 = 0x56132eb0    r7 = 0x55840c08
[task 2018-10-23T20:33:06.062Z] 20:33:06     INFO -       r8 = 0x55840c7c    r9 = 0x56132eb4   r10 = 0x56132eb0    fp = 0x000000aa
[task 2018-10-23T20:33:06.062Z] 20:33:06     INFO -       sp = 0x55840bc0    lr = 0x5c75f433    pc = 0x5c75f433
[task 2018-10-23T20:33:06.063Z] 20:33:06     INFO -      Found by: call frame info
[task 2018-10-23T20:33:06.063Z] 20:33:06     INFO -   6  libxul.so!mozilla::ipc::MessageChannel::DispatchSyncMessage(IPC::Message const&, IPC::Message*&) [MessageChannel.cpp:59160a8260a02fda2bc625b02c3132d9330e2dd7 : 2223 + 0x7]
[task 2018-10-23T20:33:06.064Z] 20:33:06     INFO -       r4 = 0x55840c2c    r5 = 0x00000001    r6 = 0x5605d154    r7 = 0x55840c50
[task 2018-10-23T20:33:06.064Z] 20:33:06     INFO -       r8 = 0x55840c7c    r9 = 0x5605d164   r10 = 0x56132eb0    fp = 0x000000aa
[task 2018-10-23T20:33:06.064Z] 20:33:06     INFO -       sp = 0x55840c10    lr = 0x5c5f6ab1    pc = 0x5c5f6ab1
[task 2018-10-23T20:33:06.065Z] 20:33:06     INFO -      Found by: call frame info
[task 2018-10-23T20:33:06.065Z] 20:33:06     INFO -   7  libxul.so!mozilla::ipc::MessageChannel::DispatchMessage(IPC::Message&&) [MessageChannel.cpp:59160a8260a02fda2bc625b02c3132d9330e2dd7 : 2178 + 0x7]
[task 2018-10-23T20:33:06.065Z] 20:33:06     INFO -       r4 = 0x5605d154    r5 = 0x56132eb0    r6 = 0x56194880    r7 = 0x55840ca8
[task 2018-10-23T20:33:06.066Z] 20:33:06     INFO -       r8 = 0xffffffff    r9 = 0x5605d164   r10 = 0x55840d18    fp = 0x000000aa
[task 2018-10-23T20:33:06.066Z] 20:33:06     INFO -       sp = 0x55840c58    lr = 0x5c5f62e1    pc = 0x5c5f62e1
[task 2018-10-23T20:33:06.066Z] 20:33:06     INFO -      Found by: call frame info
[task 2018-10-23T20:33:06.067Z] 20:33:06     INFO -   8  libxul.so!mozilla::ipc::MessageChannel::MessageTask::Run() [MessageChannel.cpp:59160a8260a02fda2bc625b02c3132d9330e2dd7 : 2052 + 0x5]
[task 2018-10-23T20:33:06.067Z] 20:33:06     INFO -       r4 = 0x56132e80    r5 = 0x56194880    r6 = 0x55840cc4    r7 = 0x55840cb8
[task 2018-10-23T20:33:06.068Z] 20:33:06     INFO -       r8 = 0x52f01898    r9 = 0x55840e20   r10 = 0x55840d18    fp = 0x000000aa
[task 2018-10-23T20:33:06.068Z] 20:33:06     INFO -       sp = 0x55840cb0    lr = 0x5c5f68ff    pc = 0x5c5f68ff
[task 2018-10-23T20:33:06.068Z] 20:33:06     INFO -      Found by: call frame info
[task 2018-10-23T20:33:06.069Z] 20:33:06     INFO -   9  libxul.so!MessageLoop::RunTask(already_AddRefed<nsIRunnable>) [message_loop.cc:59160a8260a02fda2bc625b02c3132d9330e2dd7 : 451 + 0x5]
[task 2018-10-23T20:33:06.069Z] 20:33:06     INFO -       r4 = 0x55840e14    r5 = 0x55840cf4    r6 = 0x55840cc4    r7 = 0x55840ce8
[task 2018-10-23T20:33:06.070Z] 20:33:06     INFO -       r8 = 0x52f01898    r9 = 0x55840e20   r10 = 0x55840d18    fp = 0x000000aa
[task 2018-10-23T20:33:06.070Z] 20:33:06     INFO -       sp = 0x55840cc0    lr = 0x5c5b4ca5    pc = 0x5c5b4ca5
[task 2018-10-23T20:33:06.070Z] 20:33:06     INFO -      Found by: call frame info
[task 2018-10-23T20:33:06.071Z] 20:33:06     INFO -  10  libxul.so!MessageLoop::DeferOrRunPendingTask(MessageLoop::PendingTask&&) [message_loop.cc:59160a8260a02fda2bc625b02c3132d9330e2dd7 : 459 + 0x7]
[task 2018-10-23T20:33:06.071Z] 20:33:06     INFO -       r4 = 0x55840e14    r5 = 0x55840cf4    r6 = 0x55840d10    r7 = 0x55840d00
[task 2018-10-23T20:33:06.071Z] 20:33:06     INFO -       r8 = 0x52f01898    r9 = 0x55840e20   r10 = 0x55840d18    fp = 0x000000aa
[task 2018-10-23T20:33:06.072Z] 20:33:06     INFO -       sp = 0x55840cf0    lr = 0x5c5b4f9d    pc = 0x5c5b4f9d
[task 2018-10-23T20:33:06.072Z] 20:33:06     INFO -      Found by: call frame info
[task 2018-10-23T20:33:06.072Z] 20:33:06     INFO -  11  libxul.so!MessageLoop::DoWork() [message_loop.cc:59160a8260a02fda2bc625b02c3132d9330e2dd7 : 534 + 0x7]
[task 2018-10-23T20:33:06.073Z] 20:33:06     INFO -       r2 = 0x0000001c    r3 = 0x00000000    r4 = 0x55840e14    r5 = 0x0000000a
[task 2018-10-23T20:33:06.073Z] 20:33:06     INFO -       r6 = 0x55840d10    r7 = 0x55840d48    r8 = 0x52f01898    r9 = 0x55840e20
[task 2018-10-23T20:33:06.074Z] 20:33:06     INFO -      r10 = 0x55840d18    fp = 0x000000aa    sp = 0x55840d08    lr = 0x5c5b50a9
[task 2018-10-23T20:33:06.074Z] 20:33:06     INFO -       pc = 0x5c5b50a9
[task 2018-10-23T20:33:06.074Z] 20:33:06     INFO -      Found by: call frame info
[task 2018-10-23T20:33:06.075Z] 20:33:06     INFO -  12  libxul.so!base::MessagePumpDefault::Run(base::MessagePump::Delegate*) [message_pump_default.cc:59160a8260a02fda2bc625b02c3132d9330e2dd7 : 38 + 0x7]
[task 2018-10-23T20:33:06.075Z] 20:33:06     INFO -       r4 = 0x561e7d20    r5 = 0x55840e14    r6 = 0x561e7d30    r7 = 0x55840db8
[task 2018-10-23T20:33:06.075Z] 20:33:06     INFO -       r8 = 0x55840d68    r9 = 0x55840d80   r10 = 0x55840d64    fp = 0x55840d78
[task 2018-10-23T20:33:06.076Z] 20:33:06     INFO -       sp = 0x55840d50    lr = 0x5c5b5809    pc = 0x5c5b5809
[task 2018-10-23T20:33:06.076Z] 20:33:06     INFO -      Found by: call frame info
[task 2018-10-23T20:33:06.076Z] 20:33:06     INFO -  13  libxul.so!MessageLoop::RunInternal() [message_loop.cc:59160a8260a02fda2bc625b02c3132d9330e2dd7 : 325 + 0x7]
[task 2018-10-23T20:33:06.077Z] 20:33:06     INFO -       r4 = 0x55840e14    r5 = 0x561e7bb4    r6 = 0x55840e14    r7 = 0x55840dd8
[task 2018-10-23T20:33:06.077Z] 20:33:06     INFO -       r8 = 0x561e7ba8    r9 = 0x55801000   r10 = 0x55840f00    fp = 0x2a2fc2b8
[task 2018-10-23T20:33:06.077Z] 20:33:06     INFO -       sp = 0x55840dc0    lr = 0x5c5b4b9d    pc = 0x5c5b4b9d
[task 2018-10-23T20:33:06.078Z] 20:33:06     INFO -      Found by: call frame info
[task 2018-10-23T20:33:06.078Z] 20:33:06     INFO -  14  libxul.so!MessageLoop::Run() [message_loop.cc:59160a8260a02fda2bc625b02c3132d9330e2dd7 : 318 + 0x5]
[task 2018-10-23T20:33:06.078Z] 20:33:06     INFO -       r0 = 0x55840e14    r1 = 0x00000000    r2 = 0x00000001    r3 = 0x00000000
[task 2018-10-23T20:33:06.079Z] 20:33:06     INFO -       r4 = 0x55840e14    r5 = 0x561e7bb4    r6 = 0x55840e14    r7 = 0x55840df8
[task 2018-10-23T20:33:06.079Z] 20:33:06     INFO -       r8 = 0x561e7ba8    r9 = 0x55801000   r10 = 0x55840f00    fp = 0x2a2fc2b8
[task 2018-10-23T20:33:06.079Z] 20:33:06     INFO -       sp = 0x55840de0    lr = 0x5c5b4b49    pc = 0x5c5b4b49
[task 2018-10-23T20:33:06.080Z] 20:33:06     INFO -      Found by: call frame info
[task 2018-10-23T20:33:06.080Z] 20:33:06     INFO -  15  libxul.so!base::Thread::ThreadMain() [thread.cc:59160a8260a02fda2bc625b02c3132d9330e2dd7 : 198 + 0x5]
[task 2018-10-23T20:33:06.080Z] 20:33:06     INFO -       r0 = 0x00000001    r1 = 0x00000000    r2 = 0x55840e14    r3 = 0x00000000
[task 2018-10-23T20:33:06.081Z] 20:33:06     INFO -       r4 = 0x561e7ba0    r5 = 0x561e7bb4    r6 = 0x55840e14    r7 = 0x55840ed8
[task 2018-10-23T20:33:06.081Z] 20:33:06     INFO -       r8 = 0x561e7ba8    r9 = 0x55801000   r10 = 0x55840f00    fp = 0x2a2fc2b8
[task 2018-10-23T20:33:06.081Z] 20:33:06     INFO -       sp = 0x55840e00    lr = 0x5c5bf5e1    pc = 0x5c5bf5e1
[task 2018-10-23T20:33:06.081Z] 20:33:06     INFO -      Found by: call frame info
[task 2018-10-23T20:33:06.082Z] 20:33:06     INFO -  16  libxul.so!ThreadFunc(void*) [platform_thread_posix.cc:59160a8260a02fda2bc625b02c3132d9330e2dd7 : 40 + 0x5]
[task 2018-10-23T20:33:06.082Z] 20:33:06     INFO -       r4 = 0x55840f00    r5 = 0x2a2fc2b8    r6 = 0x5c5b84dd    r7 = 0x55840ee0
[task 2018-10-23T20:33:06.082Z] 20:33:06     INFO -       r8 = 0x561e7ba8    r9 = 0x55801000   r10 = 0x55840f00    fp = 0x2a2fc2b8
[task 2018-10-23T20:33:06.083Z] 20:33:06     INFO -       sp = 0x55840ee0    lr = 0x5c5b84e7    pc = 0x5c5b84e7
[task 2018-10-23T20:33:06.083Z] 20:33:06     INFO -      Found by: call frame info
[task 2018-10-23T20:33:06.083Z] 20:33:06     INFO -  17  libc.so + 0xca5a
[task 2018-10-23T20:33:06.084Z] 20:33:06     INFO -       r4 = 0x55840f00    r5 = 0x2a2fc2b8    r6 = 0x5c5b84dd    r7 = 0x561e7ba0
[task 2018-10-23T20:33:06.084Z] 20:33:06     INFO -       r8 = 0x561e7ba8    r9 = 0x55801000   r10 = 0x55840f00    fp = 0x2a2fc2b8
[task 2018-10-23T20:33:06.084Z] 20:33:06     INFO -       sp = 0x55840ee8    lr = 0x40033a5c    pc = 0x40033a5c
[task 2018-10-23T20:33:06.085Z] 20:33:06     INFO -      Found by: call frame info
[task 2018-10-23T20:33:06.085Z] 20:33:06     INFO -  18  libc.so + 0xcbd6
[task 2018-10-23T20:33:06.085Z] 20:33:06     INFO -       sp = 0x55840f00    pc = 0x40033bd8
[task 2018-10-23T20:33:06.086Z] 20:33:06     INFO -      Found by: stack scanning
Flags: needinfo?(jgilbert)
Pushed by jgilbert@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/c498bd18345d
Don't allow glsl[130,400) unless we have gpu_shader5. - r=kvark
https://hg.mozilla.org/integration/mozilla-inbound/rev/7b88a6284d31
!MakeCurrent() should clear the current context. - r=kvark
https://hg.mozilla.org/integration/mozilla-inbound/rev/5cb0aeccd4cc
MakeCurrent again in InitAndValidateGL. r=kvark
https://hg.mozilla.org/integration/mozilla-inbound/rev/7f1abf24702d
Make DestroySurface ignore null input. r=kvark
Depends on: 1502286
Backed out 4 changesets (Bug 1399501) per developer's request for causing Bug 1502286 on Android,Bug 1502305 and Bug 1502292 a=backout
 
Backout push: https://hg.mozilla.org/mozilla-central/rev/28a4562cb5173c543cce6b58480ac80fcce3763a
Status: RESOLVED → REOPENED
Flags: needinfo?(jgilbert)
Resolution: FIXED → ---
Target Milestone: mozilla65 → ---
Flags: needinfo?(jgilbert)
Priority: P1 → P2
Duplicate of this bug: 1526133
Summary: [Ubuntu] Jenga WebGL game is not loading in the webpage → Don't allow glsl[130,400) unless we have gpu_shader5 (was: Jenga WebGL game is not loading in the webpage)
Duplicate of this bug: 1418136
Priority: P2 → P1
Duplicate of this bug: 1541381

Rebasing across the reformat was painful.
I'll have to test manually on Android to make sure we don't repeat bug 1502286.

Attachment #9018704 - Attachment description: Bug 1399501 - Don't allow glsl[130,400) unless we have gpu_shader5. - → Bug 1399501 - Don't allow glsl[130,400) unless we have gpu_shader5.
Attachment #9018705 - Attachment description: Bug 1399501 - !MakeCurrent() should clear the current context. - → Bug 1399501 - !MakeCurrent() should clear the current context.

I tested this build on Android (+debug, -opt) on my Essential Phone, and input fields worked fine.

No longer depends on: 1502286
Regressions: 1502286
Priority: P1 → P2
Duplicate of this bug: 1494939
Duplicate of this bug: 1449768
Priority: P2 → P1
Target Milestone: --- → Future
Status: REOPENED → ASSIGNED
You need to log in before you can comment on or make changes to this bug.