RESOLVED FIXED 136734
Check for varying packing restrictions per program instead of per shader
https://bugs.webkit.org/show_bug.cgi?id=136734
Summary Check for varying packing restrictions per program instead of per shader
Roger Fong
Reported 2014-09-10 21:39:58 PDT
Attachments
patch (10.67 KB, patch)
2014-09-10 21:50 PDT, Roger Fong
no flags
patch (10.67 KB, patch)
2014-09-11 10:13 PDT, Roger Fong
dino: review+
Roger Fong
Comment 1 2014-09-10 21:50:43 PDT
WebKit Commit Bot
Comment 2 2014-09-10 21:52:51 PDT
Note that there are important steps to take when updating ANGLE. See http://trac.webkit.org/wiki/UpdatingANGLE
Roger Fong
Comment 3 2014-09-10 21:56:43 PDT
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.
Roger Fong
Comment 4 2014-09-11 10:13:58 PDT
Created attachment 237961 [details] patch with build fix
Dean Jackson
Comment 5 2014-09-11 11:50:18 PDT
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;
Roger Fong
Comment 6 2014-09-11 12:24:26 PDT
Took Dean's suggestion. Committed: http://trac.webkit.org/changeset/173527
Note You need to log in before you can comment on or make changes to this bug.