import and use ANGLE GLSL ES shader validator

RESOLVED FIXED

Status

()

Core
Canvas: WebGL
RESOLVED FIXED
8 years ago
7 years ago

People

(Reporter: vlad, Assigned: vlad)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(2 attachments)

The ANGLE project includes a standalone GLSL ES shader validator, which enforces all GLSL ES limits and does GLSL ES -> desktop GLSL translation.  We should import that and hook it up.
Created attachment 450297 [details] [diff] [review]
1. ANGLE source

This is the angle source, taken from SVN.  Rev number is in README.mozilla in upcoming patch.
Assignee: nobody → vladimir
Created attachment 450369 [details] [diff] [review]
2. Use ANGLE for shader translation

This adds the mozilla build pieces and uses the ANGLE translator in WebGL, if a pref is set.  That pref is off by default, because all the webgl implementations are waiting another week or two until we all get this change in plus a few additional changes that break backwards compat, so that we break everyone all at once.
Attachment #450369 - Flags: review?(joe)
Comment on attachment 450369 [details] [diff] [review]
2. Use ANGLE for shader translation

Push the angle stuff upstream? And probably maintain it as a separate patch too, like we do for Cairo.

Also,

case Foo:
{
  // some stuff
}
  break;

is ugly!!
Attachment #450369 - Flags: review?(joe) → review+
So, this is blocked because it introduces a dependency on GLIBCXX_3.4.9, which is what our compiler generates; but the tests are run without the correct paths in the runtime, leading to test failures due to missing version symbols.  See bug 560894.  Seems to only be a problem on linux64; I'm going to see about just disabling angle building there for now.
Landed, compilation disabled on linux64.

http://hg.mozilla.org/mozilla-central/rev/8d003a6c5cb8
http://hg.mozilla.org/mozilla-central/rev/0895c4370e7a
http://hg.mozilla.org/mozilla-central/rev/42029b6d627e

Filed bug 578877 to enable it on linux64 once the build thing is fixed.
Status: NEW → RESOLVED
Last Resolved: 8 years ago
Resolution: --- → FIXED
Blocks: 578938
No longer blocks: 578938
Depends on: 578938
Depends on: 579141

Comment 6

8 years ago
Doesn't this need license stuff added to about:license and https://wiki.mozilla.org/ThirdPartyCode ? There's also https://wiki.mozilla.org/License_Policy#Third_Party_Code but that seems outdated.
Yes, this needs to be added to about:license and https://wiki.mozilla.org/ThirdPartyCode (the other file was outdated and has been removed). Please can someone file a bug and attach a patch for about:licence?

Thanks,

Gerv
Duplicate of this bug: 523456

Comment 9

7 years ago
(In reply to comment #7)
> Yes, this needs to be added to about:license and
> https://wiki.mozilla.org/ThirdPartyCode (the other file was outdated and has
> been removed). Please can someone file a bug and attach a patch for
> about:licence?

Did this happen? I can't see it, but maybe I'm not looking at it right...

Comment 10

7 years ago
(In reply to comment #7)
> Yes, this needs to be added to about:license and
> https://wiki.mozilla.org/ThirdPartyCode (the other file was outdated and has
> been removed). Please can someone file a bug and attach a patch for
> about:licence?

I updated that wiki page and filed bug 627817

Updated

7 years ago
Blocks: 627817
You need to log in before you can comment on or make changes to this bug.