[Mesa-dev] [PATCH] glsl: Do not allow scalar types in vector relational functions

Ian Romanick idr at freedesktop.org
Tue Nov 8 19:58:55 UTC 2016


On 11/04/2016 12:23 PM, Matt Turner wrote:
> On Sun, Oct 30, 2016 at 11:45 PM, Boyan Ding <boyan.j.ding at gmail.com> wrote:
>> According to OpenGL Shading Language 4.50 spec, Section 8.7 "Vector
>> Relational Functions", functions of this type do not operate on scalar
>> types, so remove scalar types from signature definitions to make the
>> behavior consistent with glslangValidator and other drivers.
> 
> Yep. Looks like it's always been this way.
> 
> The patch is
> 
> Reviewed-by: Matt Turner <mattst88 at gmail.com>
> 
> Since this seems to be untested by any suite, could you provide some
> piglit parser tests that confirm that lessThanEqual(scalar, scalar),
> et al doesn't work?
> 
> Rant: what a stupid mess to require <= for scalars but lessThanEqual
> for vectors.

I think it makes sense.  What would 'vec4(...) < vec4(...)' return?  A
bvec4?  How much time would like to spend with a the compiler error that
would result from

    if (a < b) {
        ...
    }

because a and b happen to be vectors.  I bet about an equal number of
people think that would be stupid as think the current requirement of
comparison functions for vectors is stupid. :)

> Somewhere on my todo list is a GLSL extension that fixes things like this...
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
> 



More information about the mesa-dev mailing list