[Mesa-dev] [PATCH 3/3] glsl: Update builtin variables for GLSL 1.40.

Eric Anholt eric at anholt.net
Mon Mar 12 09:50:41 PDT 2012


On Sun, 11 Mar 2012 23:59:35 -0700, Kenneth Graunke <kenneth at whitecape.org> wrote:
> On 03/09/2012 01:27 PM, Eric Anholt wrote:
> > Mostly this is a matter of removing variables that have been moved to
> > the compatibility profile.  There's one addition: gl_InstanceID is
> > present in the core now.
> >
> > This fixes the new piglit tests for GLSL 1.40 builtins.
> >
> > -   add_builtin_constant(instructions, symtab, "gl_MaxLights",
> > -			state->Const.MaxLights);
> > -   add_builtin_constant(instructions, symtab, "gl_MaxClipPlanes",
> > -			state->Const.MaxClipPlanes);
> > -   add_builtin_constant(instructions, symtab, "gl_MaxTextureUnits",
> > -			state->Const.MaxTextureUnits);
> > -   add_builtin_constant(instructions, symtab, "gl_MaxTextureCoords",
> > -			state->Const.MaxTextureCoords);
> > +   if (add_deprecated) {
> > +      add_builtin_constant(instructions, symtab, "gl_MaxLights",
> > +			   state->Const.MaxLights);
> 
> I can't find gl_MaxLights defined in 1.30 or 1.40.  I agree that it 
> makes sense to drop it as it pertains to fixed-function lighting.

I'm pretty sure it was an unintentional omission (should have been
present under ARB_compat) in 1.30, given that it existed in 1.20 and the
1.30 spec still defines some of the ARB_compatibility variables in terms
of it.

> > +      add_builtin_constant(instructions, symtab, "gl_MaxClipPlanes",
> > +			   state->Const.MaxClipPlanes);
> > +      add_builtin_constant(instructions, symtab, "gl_MaxTextureUnits",
> > +			   state->Const.MaxTextureUnits);
> 
> gl_MaxTextureUnits is not deprecated.  (See GLSL 1.40.08 section 7.4. 
> Note the lack of "// Deprecated" comment.)

I think gl_MaxTextureUnits is a special case -- Here's what I wrote in
the compiler test to check that it's not present:

	/* This value (number of fixed function texture environment
	 * units) was erroneously left in the core profile on release
	 * of GLSL 1.40, similar to the typo of increasing the minimum
	 * from 2 to 16 in GLSL 1.30.  In GLSL 1.50, a later
	 * clarification moved it to to the compatibility profile, but
	 * that was never backported to 1.40.
	 */
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20120312/56c82c69/attachment.pgp>


More information about the mesa-dev mailing list