Bugzilla – Bug 26990
[GLSL] variable declaration in "while" fails to compile
Last modified: 2010-08-18 20:04:39 UTC
while(bool b = (test_float1 > test_float2))
gets Error: scalar/boolean expression expected for 'while'
Changing it to:
while(b = (test_float1 > test_float2))
gets the case pass.
But GLSL spec (both 1.10 and 1.50) section 6.3 says: "Both the condition-expression and the init-expression can declare and initialize a variable", so the case should be allowed.
Fixed with glsl2 merge.
verified with mesa master d442a01ac14382d83cdaac87d2832315ceb3e963.
CorrectFull.frag gets assertion now, but that'll be another bug.
the assertion error has been tracked at bug#29573