On Tue, Nov 8, 2016 at 12:01 PM, Ian Romanick <i...@freedesktop.org> wrote: > On 11/08/2016 11:58 AM, Ian Romanick wrote: >> On 11/04/2016 12:23 PM, Matt Turner wrote: >>> On Sun, Oct 30, 2016 at 11:45 PM, Boyan Ding <boyan.j.d...@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 <matts...@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
Yes, vec4(...) < vec4(...) would return a bvec4(). >> bvec4? How much time would like to spend with a the compiler error that >> would result from > > Or did you mean that you can't use lessThanEqual and friends with > scalars is stupid? I think we just didn't consider that when we added > the ability to swizzle scalars, but we probably should have added that > too. I could get behind an extension that makes vector functions also > work with vec1. Definitely that, but I'm not convinced that supporting the operators on vectors would be bad either. bvec4 x = ... if (x) [...] gives a very appropriate error on our compiler: > error: if-statement condition must be scalar boolean _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev