| Summary: | Check for varying packing restrictions per program instead of per shader | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | Roger Fong <roger_fong> | ||||||
| Component: | WebGL | Assignee: | Nobody <webkit-unassigned> | ||||||
| Status: | RESOLVED FIXED | ||||||||
| Severity: | Normal | CC: | bfulgham, commit-queue, dino, esprehn+autocc, gyuyoung.kim, jonlee, kondapallykalyan, noam, roger_fong | ||||||
| Priority: | P2 | Keywords: | InRadar | ||||||
| Version: | 528+ (Nightly build) | ||||||||
| Hardware: | Unspecified | ||||||||
| OS: | Unspecified | ||||||||
| Attachments: |
|
||||||||
|
Description
Roger Fong
2014-09-10 21:39:58 PDT
Created attachment 237931 [details]
patch
Note that there are important steps to take when updating ANGLE. See http://trac.webkit.org/wiki/UpdatingANGLE The spec says: If the packing algorithm fails either for the uniform variables of a shader or for the varying variables of a program, compilation or linking must fail. I originally understood compilation to mean, the shaders fail to compile (since you don't compile a program, you just link it). But in this case, I think compilation means the same thing as linking. Created attachment 237961 [details]
patch
with build fix
Comment on attachment 237961 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=237961&action=review > Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:368 > + const char* builtIns[] = { > + "gl_FragCoord", > + "gl_FrontFacing", > + "gl_PointCoord" > + }; > + > + bool isBuiltIn = false; > + for (int i = 0; i < 3; ++i) { > + if (symbolName == builtIns[i]) { > + isBuiltIn = true; > + break; > + } > + } > + > + if (isBuiltIn) > + continue; I don't really have a preference here, but maybe it might be simpler to do if (symbolName == "gl_FragCoord" || symbolName ==...) continue; Took Dean's suggestion. Committed: http://trac.webkit.org/changeset/173527 |