diff options
Diffstat (limited to 'tests/spec/glsl-es-1.00/compiler/structure-and-array-operations/array-selection.vert')
-rw-r--r-- | tests/spec/glsl-es-1.00/compiler/structure-and-array-operations/array-selection.vert | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/spec/glsl-es-1.00/compiler/structure-and-array-operations/array-selection.vert b/tests/spec/glsl-es-1.00/compiler/structure-and-array-operations/array-selection.vert new file mode 100644 index 00000000..dc3fe359 --- /dev/null +++ b/tests/spec/glsl-es-1.00/compiler/structure-and-array-operations/array-selection.vert @@ -0,0 +1,24 @@ +/* [config] + * expect_result: pass + * glsl_version: 1.20 + * glsles_version: 1.00 + * [end config] + * + * From page 38 (page 44 of the PDF) of the GLSL 1.20 spec: + * + * "The ternary selection operator (?:). It operates on three expressions + * (exp1 ? exp2 : exp3)....The second and third expressions can be any + * type, as long their types match....This resulting matching type is + * the type of the entire expression." + */ + + +uniform vec4 a[2]; +uniform vec4 b[2]; +uniform int i; +uniform bool pick_from_a_or_b; + +void main() +{ + gl_Position = (pick_from_a_or_b ? a : b)[i]; +} |