[Piglit] glsl-const-builtin-*: Fix GLSL compilation errors on Mac OS X.

Brian Paul brianp at vmware.com
Thu Jul 15 15:09:42 PDT 2010


On 07/15/2010 12:54 PM, Ian Romanick wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> I believe that commit 14277414 is not correct.  As far as I can tell, in
> GLSL 1.20 the call 'acos(1)' should automatically convert the int(1) to
> float(1.0).  Page 20 (26 of the PDF) of the GLSL 1.20 spec lists an
> implicit conversion for int->float.  Page 43 (49 of the PDF) says:
>
>      "Otherwise, if no exact match is found, then the implicit
>      conversions in Section 4.1.10 “Implicit Conversions” will
>      be applied to the calling arguments if this can make their
>      types match a signature."
>
> If Apple's compiler doesn't compile this code, then it's a bug in their
> compiler.


BTW, IIRC, GLSL-ES does not allow implicit casts of ints to floats.  I 
remember running into this in the past when I was working on OpenGL ES 
support in the slang compiler and running the ES conformance tests.

OK, I just double-checked the ES 1.00 spec.  The 3rd paragraph of 
chapter 4 says:

"""
User-defined types may be defined using struct to aggregate a list of 
existing types into a single name.
The OpenGL ES Shading Language is type safe. There are no implicit 
conversions between types.
"""

That was a PITA to enforce.

-Brian


More information about the Piglit mailing list