1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
# Test that implicit type conversion of out parameters works properly.
#
# From the GLSL 1.30 spec (which clarifies, but does not change, the
# rules for implicit type conversion in GLSL 1.20), section 6.1
# (Function Definitions):
#
# Mismatched types on output parameters (out or inout) must have a
# conversion from the formal parameter type to the calling argument
# type.
#
# This test uses a simple function returning void and taking a single
# out parameter.
[require]
GLSL >= 1.20
[vertex shader]
#version 120
void f(out int x)
{
x = 4;
}
void main()
{
gl_Position = gl_Vertex;
float value;
f(value);
gl_FrontColor = vec4(1.0/value);
}
[fragment shader]
void main()
{
gl_FragColor = gl_Color;
}
[test]
draw rect -1 -1 2 2
probe all rgba 0.25 0.25 0.25 0.25
|