KhronosGroup/WebGL — pull request #346 by Oletus (2013-08-14 17:56:15+00:00)
Title: Conserve instruction space in uniform packing test

Shaders in variable packing tests could go past instruction register
limits on GLES2 compliant hardware. The GLSL ES 1.0.17 Appendix A.2 says
that the limit is defined by the conformance tests. This limit is inexact
since there's no shader bytecode spec in OpenGL, but instructions can
typically be conserved by doing padding from float, vec2 and vec3 types
to vec4 only once per shader instead of once per uniform as before. This
makes it possible to pass the conformance tests on a wider array of GLES2
compliant devices than before.

Also reduce the minimum number of rows for uniforms from 128 to 126 in
the vertex shader tests to make two rows available to constants.

Includes some cleanup and clarifications in the surrounding code.

This is a bugfix to the conformance suite, so it is backported also to
1.0.2.