| group types "Types" |
| |
| case float |
| version 310 es |
| desc "uniform of type float" |
| require extension { "GL_OES_geometry_shader" | "GL_EXT_geometry_shader" } in { geometry } |
| values |
| { |
| uniform float val = -1.25; |
| output float out0 = -1.25; |
| } |
| vertex "" |
| #version 310 es |
| ${VERTEX_DECLARATIONS} |
| void main() |
| { |
| ${VERTEX_OUTPUT} |
| } |
| "" |
| geometry "" |
| #version 310 es |
| ${GEOMETRY_DECLARATIONS} |
| out mediump float geo_var; |
| void main() |
| { |
| for (int ndx = 0; ndx < gl_in.length(); ++ndx) |
| { |
| geo_var = val; |
| gl_Position = gl_in[ndx].gl_Position; |
| EmitVertex(); |
| } |
| } |
| "" |
| fragment "" |
| #version 310 es |
| precision highp float; |
| ${FRAGMENT_DECLARATIONS} |
| in mediump float geo_var; |
| void main() |
| { |
| out0 = geo_var; |
| ${FRAGMENT_OUTPUT} |
| } |
| "" |
| end |
| |
| case vec2 |
| version 310 es |
| desc "uniform of type vec2" |
| require extension { "GL_OES_geometry_shader" | "GL_EXT_geometry_shader" } in { geometry } |
| values |
| { |
| uniform vec2 val = vec2(-1.25, 1.25); |
| output vec2 out0 = vec2(-1.25, 1.25); |
| } |
| vertex "" |
| #version 310 es |
| ${VERTEX_DECLARATIONS} |
| void main() |
| { |
| ${VERTEX_OUTPUT} |
| } |
| "" |
| geometry "" |
| #version 310 es |
| ${GEOMETRY_DECLARATIONS} |
| out mediump vec2 geo_var; |
| void main() |
| { |
| for (int ndx = 0; ndx < gl_in.length(); ++ndx) |
| { |
| geo_var = val; |
| gl_Position = gl_in[ndx].gl_Position; |
| EmitVertex(); |
| } |
| } |
| "" |
| fragment "" |
| #version 310 es |
| precision highp float; |
| ${FRAGMENT_DECLARATIONS} |
| in vec2 geo_var; |
| void main() |
| { |
| out0 = geo_var; |
| ${FRAGMENT_OUTPUT} |
| } |
| "" |
| end |
| |
| case vec3 |
| version 310 es |
| desc "uniform of type vec3" |
| require extension { "GL_OES_geometry_shader" | "GL_EXT_geometry_shader" } in { geometry } |
| values |
| { |
| uniform vec3 val = vec3(-25.65, -7.25, 14.21); |
| output vec3 out0 = vec3(-25.65, -7.25, 14.21); |
| } |
| vertex "" |
| #version 310 es |
| ${VERTEX_DECLARATIONS} |
| void main() |
| { |
| ${VERTEX_OUTPUT} |
| } |
| "" |
| geometry "" |
| #version 310 es |
| ${GEOMETRY_DECLARATIONS} |
| out mediump vec3 geo_var; |
| void main() |
| { |
| for (int ndx = 0; ndx < gl_in.length(); ++ndx) |
| { |
| geo_var = val; |
| gl_Position = gl_in[ndx].gl_Position; |
| EmitVertex(); |
| } |
| } |
| "" |
| fragment "" |
| #version 310 es |
| precision highp float; |
| ${FRAGMENT_DECLARATIONS} |
| in vec3 geo_var; |
| void main() |
| { |
| out0 = geo_var; |
| ${FRAGMENT_OUTPUT} |
| } |
| "" |
| end |
| |
| case vec4 |
| version 310 es |
| desc "uniform of type vec4" |
| require extension { "GL_OES_geometry_shader" | "GL_EXT_geometry_shader" } in { geometry } |
| values |
| { |
| uniform vec4 val = vec4(-1.25, 1.25, -9.5, -12.2); |
| output vec4 out0 = vec4(-1.25, 1.25, -9.5, -12.2); |
| } |
| vertex "" |
| #version 310 es |
| ${VERTEX_DECLARATIONS} |
| void main() |
| { |
| ${VERTEX_OUTPUT} |
| } |
| "" |
| geometry "" |
| #version 310 es |
| ${GEOMETRY_DECLARATIONS} |
| out mediump vec4 geo_var; |
| void main() |
| { |
| for (int ndx = 0; ndx < gl_in.length(); ++ndx) |
| { |
| geo_var = val; |
| gl_Position = gl_in[ndx].gl_Position; |
| EmitVertex(); |
| } |
| } |
| "" |
| fragment "" |
| #version 310 es |
| precision highp float; |
| ${FRAGMENT_DECLARATIONS} |
| in vec4 geo_var; |
| void main() |
| { |
| out0 = geo_var; |
| ${FRAGMENT_OUTPUT} |
| } |
| "" |
| end |
| |
| case mat2 |
| version 310 es |
| desc "uniform of type mat2" |
| require extension { "GL_OES_geometry_shader" | "GL_EXT_geometry_shader" } in { geometry } |
| values |
| { |
| uniform mat2 val = mat2(-1.25, 1.25, -9.5, -12.2); |
| output mat2 out0 = mat2(-1.25, 1.25, -9.5, -12.2); |
| } |
| vertex "" |
| #version 310 es |
| ${VERTEX_DECLARATIONS} |
| void main() |
| { |
| ${VERTEX_OUTPUT} |
| } |
| "" |
| geometry "" |
| #version 310 es |
| ${GEOMETRY_DECLARATIONS} |
| out mediump mat2 geo_var; |
| void main() |
| { |
| for (int ndx = 0; ndx < gl_in.length(); ++ndx) |
| { |
| geo_var = val; |
| gl_Position = gl_in[ndx].gl_Position; |
| EmitVertex(); |
| } |
| } |
| "" |
| fragment "" |
| #version 310 es |
| precision highp float; |
| ${FRAGMENT_DECLARATIONS} |
| in mat2 geo_var; |
| void main() |
| { |
| out0 = geo_var; |
| ${FRAGMENT_OUTPUT} |
| } |
| "" |
| end |
| |
| case mat2x3 |
| version 310 es |
| desc "uniform of type mat2x3" |
| require extension { "GL_OES_geometry_shader" | "GL_EXT_geometry_shader" } in { geometry } |
| values |
| { |
| uniform mat2x3 val = [ mat2x3(-1.25, 1.25, -9.5, -12.2, -25.65, -7.25) ]; |
| output mat2x3 out0 = [ mat2x3(-1.25, 1.25, -9.5, -12.2, -25.65, -7.25) ]; |
| } |
| vertex "" |
| #version 310 es |
| ${VERTEX_DECLARATIONS} |
| void main() |
| { |
| ${VERTEX_OUTPUT} |
| } |
| "" |
| geometry "" |
| #version 310 es |
| ${GEOMETRY_DECLARATIONS} |
| out mediump mat2x3 geo_var; |
| void main() |
| { |
| for (int ndx = 0; ndx < gl_in.length(); ++ndx) |
| { |
| geo_var = val; |
| gl_Position = gl_in[ndx].gl_Position; |
| EmitVertex(); |
| } |
| } |
| "" |
| fragment "" |
| #version 310 es |
| precision highp float; |
| ${FRAGMENT_DECLARATIONS} |
| in mat2x3 geo_var; |
| void main() |
| { |
| out0 = geo_var; |
| ${FRAGMENT_OUTPUT} |
| } |
| "" |
| end |
| |
| case mat2x4 |
| version 310 es |
| desc "uniform of type mat2x4" |
| require extension { "GL_OES_geometry_shader" | "GL_EXT_geometry_shader" } in { geometry } |
| values |
| { |
| uniform mat2x4 val = [ mat2x4(-1.25, 1.25, -9.5, -12.2, -25.65, -7.25, 14.21, -77.7) ]; |
| output mat2x4 out0 = [ mat2x4(-1.25, 1.25, -9.5, -12.2, -25.65, -7.25, 14.21, -77.7) ]; |
| } |
| vertex "" |
| #version 310 es |
| ${VERTEX_DECLARATIONS} |
| void main() |
| { |
| ${VERTEX_OUTPUT} |
| } |
| "" |
| geometry "" |
| #version 310 es |
| ${GEOMETRY_DECLARATIONS} |
| out mediump mat2x4 geo_var; |
| void main() |
| { |
| for (int ndx = 0; ndx < gl_in.length(); ++ndx) |
| { |
| geo_var = val; |
| gl_Position = gl_in[ndx].gl_Position; |
| EmitVertex(); |
| } |
| } |
| "" |
| fragment "" |
| #version 310 es |
| precision highp float; |
| ${FRAGMENT_DECLARATIONS} |
| in mat2x4 geo_var; |
| void main() |
| { |
| out0 = geo_var; |
| ${FRAGMENT_OUTPUT} |
| } |
| "" |
| end |
| |
| case mat3x2 |
| version 310 es |
| desc "uniform of type mat3x2" |
| require extension { "GL_OES_geometry_shader" | "GL_EXT_geometry_shader" } in { geometry } |
| values |
| { |
| uniform mat3x2 val = [ mat3x2(-1.25, 1.25, -9.5, -12.2, -25.65, -7.25) ]; |
| output mat3x2 out0 = [ mat3x2(-1.25, 1.25, -9.5, -12.2, -25.65, -7.25) ]; |
| } |
| vertex "" |
| #version 310 es |
| ${VERTEX_DECLARATIONS} |
| void main() |
| { |
| ${VERTEX_OUTPUT} |
| } |
| "" |
| geometry "" |
| #version 310 es |
| ${GEOMETRY_DECLARATIONS} |
| out mediump mat3x2 geo_var; |
| void main() |
| { |
| for (int ndx = 0; ndx < gl_in.length(); ++ndx) |
| { |
| geo_var = val; |
| gl_Position = gl_in[ndx].gl_Position; |
| EmitVertex(); |
| } |
| } |
| "" |
| fragment "" |
| #version 310 es |
| precision highp float; |
| ${FRAGMENT_DECLARATIONS} |
| in mat3x2 geo_var; |
| void main() |
| { |
| out0 = geo_var; |
| ${FRAGMENT_OUTPUT} |
| } |
| "" |
| end |
| |
| case mat3 |
| version 310 es |
| desc "uniform of type mat3" |
| require extension { "GL_OES_geometry_shader" | "GL_EXT_geometry_shader" } in { geometry } |
| values |
| { |
| uniform mat3 val = [ mat3(-1.25, 1.25, -9.5, -12.2, -25.65, -7.25, 14.21, -77.7, 9.9) ]; |
| output mat3 out0 = [ mat3(-1.25, 1.25, -9.5, -12.2, -25.65, -7.25, 14.21, -77.7, 9.9) ]; |
| } |
| vertex "" |
| #version 310 es |
| ${VERTEX_DECLARATIONS} |
| void main() |
| { |
| ${VERTEX_OUTPUT} |
| } |
| "" |
| geometry "" |
| #version 310 es |
| ${GEOMETRY_DECLARATIONS} |
| out mediump mat3 geo_var; |
| void main() |
| { |
| for (int ndx = 0; ndx < gl_in.length(); ++ndx) |
| { |
| geo_var = val; |
| gl_Position = gl_in[ndx].gl_Position; |
| EmitVertex(); |
| } |
| } |
| "" |
| fragment "" |
| #version 310 es |
| precision highp float; |
| ${FRAGMENT_DECLARATIONS} |
| in mat3 geo_var; |
| void main() |
| { |
| out0 = geo_var; |
| ${FRAGMENT_OUTPUT} |
| } |
| "" |
| end |
| |
| case mat3x4 |
| version 310 es |
| desc "uniform of type mat3x4" |
| require extension { "GL_OES_geometry_shader" | "GL_EXT_geometry_shader" } in { geometry } |
| values |
| { |
| uniform mat3x4 val = [ mat3x4(-1.25, 1.25, -9.5, -12.2, -25.65, -7.25, 14.21, -77.7, 0.0, 1.0, -1.0, 2.0) ]; |
| output mat3x4 out0 = [ mat3x4(-1.25, 1.25, -9.5, -12.2, -25.65, -7.25, 14.21, -77.7, 0.0, 1.0, -1.0, 2.0) ]; |
| } |
| vertex "" |
| #version 310 es |
| ${VERTEX_DECLARATIONS} |
| void main() |
| { |
| ${VERTEX_OUTPUT} |
| } |
| "" |
| geometry "" |
| #version 310 es |
| ${GEOMETRY_DECLARATIONS} |
| out mediump mat3x4 geo_var; |
| void main() |
| { |
| for (int ndx = 0; ndx < gl_in.length(); ++ndx) |
| { |
| geo_var = val; |
| gl_Position = gl_in[ndx].gl_Position; |
| EmitVertex(); |
| } |
| } |
| "" |
| fragment "" |
| #version 310 es |
| precision highp float; |
| ${FRAGMENT_DECLARATIONS} |
| in mat3x4 geo_var; |
| void main() |
| { |
| out0 = geo_var; |
| ${FRAGMENT_OUTPUT} |
| } |
| "" |
| end |
| |
| case mat4x2 |
| version 310 es |
| desc "uniform of type mat4x2" |
| require extension { "GL_OES_geometry_shader" | "GL_EXT_geometry_shader" } in { geometry } |
| values |
| { |
| uniform mat4x2 val = [ mat4x2(-1.25, 1.25, -9.5, -12.2, -25.65, -7.25, 14.21, -77.7) ]; |
| output mat4x2 out0 = [ mat4x2(-1.25, 1.25, -9.5, -12.2, -25.65, -7.25, 14.21, -77.7) ]; |
| } |
| vertex "" |
| #version 310 es |
| ${VERTEX_DECLARATIONS} |
| void main() |
| { |
| ${VERTEX_OUTPUT} |
| } |
| "" |
| geometry "" |
| #version 310 es |
| ${GEOMETRY_DECLARATIONS} |
| out mediump mat4x2 geo_var; |
| void main() |
| { |
| for (int ndx = 0; ndx < gl_in.length(); ++ndx) |
| { |
| geo_var = val; |
| gl_Position = gl_in[ndx].gl_Position; |
| EmitVertex(); |
| } |
| } |
| "" |
| fragment "" |
| #version 310 es |
| precision highp float; |
| ${FRAGMENT_DECLARATIONS} |
| in mat4x2 geo_var; |
| void main() |
| { |
| out0 = geo_var; |
| ${FRAGMENT_OUTPUT} |
| } |
| "" |
| end |
| |
| case mat4x3 |
| version 310 es |
| desc "uniform of type mat4x3" |
| require extension { "GL_OES_geometry_shader" | "GL_EXT_geometry_shader" } in { geometry } |
| values |
| { |
| uniform mat4x3 val = [ mat4x3(-1.25, 1.25, -9.5, -12.2, -25.65, -7.25, 14.21, -77.7, 0.0, 1.0, -1.0, 2.0) ]; |
| output mat4x3 out0 = [ mat4x3(-1.25, 1.25, -9.5, -12.2, -25.65, -7.25, 14.21, -77.7, 0.0, 1.0, -1.0, 2.0) ]; |
| } |
| vertex "" |
| #version 310 es |
| ${VERTEX_DECLARATIONS} |
| void main() |
| { |
| ${VERTEX_OUTPUT} |
| } |
| "" |
| geometry "" |
| #version 310 es |
| ${GEOMETRY_DECLARATIONS} |
| out mediump mat4x3 geo_var; |
| void main() |
| { |
| for (int ndx = 0; ndx < gl_in.length(); ++ndx) |
| { |
| geo_var = val; |
| gl_Position = gl_in[ndx].gl_Position; |
| EmitVertex(); |
| } |
| } |
| "" |
| fragment "" |
| #version 310 es |
| precision highp float; |
| ${FRAGMENT_DECLARATIONS} |
| in mat4x3 geo_var; |
| void main() |
| { |
| out0 = geo_var; |
| ${FRAGMENT_OUTPUT} |
| } |
| "" |
| end |
| |
| case mat4 |
| version 310 es |
| desc "uniform of type mat4" |
| require extension { "GL_OES_geometry_shader" | "GL_EXT_geometry_shader" } in { geometry } |
| values |
| { |
| uniform mat4 val = [ mat4(-1.25, 1.25, -9.5, -12.2, -25.65, -7.25, 14.21, -77.7, 0.0, 1.0, -1.0, 2.0, 2.25, 2.25, 22.5, 225.0) ]; |
| output mat4 out0 = [ mat4(-1.25, 1.25, -9.5, -12.2, -25.65, -7.25, 14.21, -77.7, 0.0, 1.0, -1.0, 2.0, 2.25, 2.25, 22.5, 225.0) ]; |
| } |
| vertex "" |
| #version 310 es |
| ${VERTEX_DECLARATIONS} |
| void main() |
| { |
| ${VERTEX_OUTPUT} |
| } |
| "" |
| geometry "" |
| #version 310 es |
| ${GEOMETRY_DECLARATIONS} |
| out mediump mat4 geo_var; |
| void main() |
| { |
| for (int ndx = 0; ndx < gl_in.length(); ++ndx) |
| { |
| geo_var = val; |
| gl_Position = gl_in[ndx].gl_Position; |
| EmitVertex(); |
| } |
| } |
| "" |
| fragment "" |
| #version 310 es |
| precision highp float; |
| ${FRAGMENT_DECLARATIONS} |
| in mat4 geo_var; |
| void main() |
| { |
| out0 = geo_var; |
| ${FRAGMENT_OUTPUT} |
| } |
| "" |
| end |
| |
| case int |
| version 310 es |
| desc "uniform of type int" |
| require extension { "GL_OES_geometry_shader" | "GL_EXT_geometry_shader" } in { geometry } |
| values |
| { |
| uniform int val = 3; |
| output int out0 = 3; |
| } |
| vertex "" |
| #version 310 es |
| ${VERTEX_DECLARATIONS} |
| void main() |
| { |
| ${VERTEX_SETUP} |
| ${VERTEX_OUTPUT} |
| } |
| "" |
| geometry "" |
| #version 310 es |
| ${GEOMETRY_DECLARATIONS} |
| flat out mediump int geo_var; |
| void main() |
| { |
| for (int ndx = 0; ndx < gl_in.length(); ++ndx) |
| { |
| geo_var = val; |
| gl_Position = gl_in[ndx].gl_Position; |
| EmitVertex(); |
| } |
| } |
| "" |
| fragment "" |
| #version 310 es |
| precision highp int; |
| ${FRAGMENT_DECLARATIONS} |
| flat in int geo_var; |
| void main() |
| { |
| out0 = geo_var; |
| ${FRAGMENT_OUTPUT} |
| } |
| "" |
| end |
| |
| case ivec2 |
| version 310 es |
| desc "uniform of type ivec2" |
| require extension { "GL_OES_geometry_shader" | "GL_EXT_geometry_shader" } in { geometry } |
| values |
| { |
| uniform ivec2 val = [ ivec2(-25, 25) ]; |
| output ivec2 out0 = [ ivec2(-25, 25) ]; |
| } |
| vertex "" |
| #version 310 es |
| ${VERTEX_DECLARATIONS} |
| void main() |
| { |
| ${VERTEX_SETUP} |
| ${VERTEX_OUTPUT} |
| } |
| "" |
| geometry "" |
| #version 310 es |
| ${GEOMETRY_DECLARATIONS} |
| flat out mediump ivec2 geo_var; |
| void main() |
| { |
| for (int ndx = 0; ndx < gl_in.length(); ++ndx) |
| { |
| geo_var = val; |
| gl_Position = gl_in[ndx].gl_Position; |
| EmitVertex(); |
| } |
| } |
| "" |
| fragment "" |
| #version 310 es |
| precision highp int; |
| ${FRAGMENT_DECLARATIONS} |
| flat in ivec2 geo_var; |
| void main() |
| { |
| out0 = geo_var; |
| ${FRAGMENT_OUTPUT} |
| } |
| "" |
| end |
| |
| case ivec3 |
| version 310 es |
| desc "uniform of type ivec3" |
| require extension { "GL_OES_geometry_shader" | "GL_EXT_geometry_shader" } in { geometry } |
| values |
| { |
| uniform ivec3 val = [ ivec3(-25, 25, -3) ]; |
| output ivec3 out0 = [ ivec3(-25, 25, -3) ]; |
| } |
| vertex "" |
| #version 310 es |
| ${VERTEX_DECLARATIONS} |
| void main() |
| { |
| ${VERTEX_SETUP} |
| ${VERTEX_OUTPUT} |
| } |
| "" |
| geometry "" |
| #version 310 es |
| ${GEOMETRY_DECLARATIONS} |
| flat out mediump ivec3 geo_var; |
| void main() |
| { |
| for (int ndx = 0; ndx < gl_in.length(); ++ndx) |
| { |
| geo_var = val; |
| gl_Position = gl_in[ndx].gl_Position; |
| EmitVertex(); |
| } |
| } |
| "" |
| fragment "" |
| #version 310 es |
| precision highp int; |
| ${FRAGMENT_DECLARATIONS} |
| flat in ivec3 geo_var; |
| void main() |
| { |
| out0 = geo_var; |
| ${FRAGMENT_OUTPUT} |
| } |
| "" |
| end |
| |
| case ivec4 |
| version 310 es |
| desc "uniform of type ivec4" |
| require extension { "GL_OES_geometry_shader" | "GL_EXT_geometry_shader" } in { geometry } |
| values |
| { |
| uniform ivec4 val = [ ivec4(-25, 25, -3, 3) ]; |
| output ivec4 out0 = [ ivec4(-25, 25, -3, 3) ]; |
| } |
| vertex "" |
| #version 310 es |
| ${VERTEX_DECLARATIONS} |
| void main() |
| { |
| ${VERTEX_SETUP} |
| ${VERTEX_OUTPUT} |
| } |
| "" |
| geometry "" |
| #version 310 es |
| ${GEOMETRY_DECLARATIONS} |
| flat out mediump ivec4 geo_var; |
| void main() |
| { |
| for (int ndx = 0; ndx < gl_in.length(); ++ndx) |
| { |
| geo_var = val; |
| gl_Position = gl_in[ndx].gl_Position; |
| EmitVertex(); |
| } |
| } |
| "" |
| fragment "" |
| #version 310 es |
| precision highp int; |
| ${FRAGMENT_DECLARATIONS} |
| flat in ivec4 geo_var; |
| void main() |
| { |
| out0 = geo_var; |
| ${FRAGMENT_OUTPUT} |
| } |
| "" |
| end |
| |
| case uint |
| version 310 es |
| desc "uniform of type int" |
| require extension { "GL_OES_geometry_shader" | "GL_EXT_geometry_shader" } in { geometry } |
| values |
| { |
| uniform uint val = [ 3 ]; |
| output uint out0 = [ 3 ]; |
| } |
| vertex "" |
| #version 310 es |
| ${VERTEX_DECLARATIONS} |
| void main() |
| { |
| ${VERTEX_SETUP} |
| ${VERTEX_OUTPUT} |
| } |
| "" |
| geometry "" |
| #version 310 es |
| ${GEOMETRY_DECLARATIONS} |
| flat out mediump uint geo_var; |
| void main() |
| { |
| for (int ndx = 0; ndx < gl_in.length(); ++ndx) |
| { |
| geo_var = val; |
| gl_Position = gl_in[ndx].gl_Position; |
| EmitVertex(); |
| } |
| } |
| "" |
| fragment "" |
| #version 310 es |
| precision highp int; |
| ${FRAGMENT_DECLARATIONS} |
| flat in uint geo_var; |
| void main() |
| { |
| out0 = geo_var; |
| ${FRAGMENT_OUTPUT} |
| } |
| "" |
| end |
| |
| case uvec2 |
| version 310 es |
| desc "uniform of type uvec2" |
| require extension { "GL_OES_geometry_shader" | "GL_EXT_geometry_shader" } in { geometry } |
| values |
| { |
| uniform uvec2 val = [ uvec2(16, 17) ]; |
| output uvec2 out0 = [ uvec2(16, 17) ]; |
| } |
| vertex "" |
| #version 310 es |
| ${VERTEX_DECLARATIONS} |
| void main() |
| { |
| ${VERTEX_SETUP} |
| ${VERTEX_OUTPUT} |
| } |
| "" |
| geometry "" |
| #version 310 es |
| ${GEOMETRY_DECLARATIONS} |
| flat out mediump uvec2 geo_var; |
| void main() |
| { |
| for (int ndx = 0; ndx < gl_in.length(); ++ndx) |
| { |
| geo_var = val; |
| gl_Position = gl_in[ndx].gl_Position; |
| EmitVertex(); |
| } |
| } |
| "" |
| fragment "" |
| #version 310 es |
| precision highp int; |
| ${FRAGMENT_DECLARATIONS} |
| flat in uvec2 geo_var; |
| void main() |
| { |
| out0 = geo_var; |
| ${FRAGMENT_OUTPUT} |
| } |
| "" |
| end |
| |
| case uvec3 |
| version 310 es |
| desc "uniform of type uvec3" |
| require extension { "GL_OES_geometry_shader" | "GL_EXT_geometry_shader" } in { geometry } |
| values |
| { |
| uniform uvec3 val = [ uvec3(16, 17, 18) ]; |
| output uvec3 out0 = [ uvec3(16, 17, 18) ]; |
| } |
| vertex "" |
| #version 310 es |
| ${VERTEX_DECLARATIONS} |
| void main() |
| { |
| ${VERTEX_SETUP} |
| ${VERTEX_OUTPUT} |
| } |
| "" |
| geometry "" |
| #version 310 es |
| ${GEOMETRY_DECLARATIONS} |
| flat out mediump uvec3 geo_var; |
| void main() |
| { |
| for (int ndx = 0; ndx < gl_in.length(); ++ndx) |
| { |
| geo_var = val; |
| gl_Position = gl_in[ndx].gl_Position; |
| EmitVertex(); |
| } |
| } |
| "" |
| fragment "" |
| #version 310 es |
| precision highp int; |
| ${FRAGMENT_DECLARATIONS} |
| flat in uvec3 geo_var; |
| void main() |
| { |
| out0 = geo_var; |
| ${FRAGMENT_OUTPUT} |
| } |
| "" |
| end |
| |
| case uvec4 |
| version 310 es |
| desc "uniform of type uvec4" |
| require extension { "GL_OES_geometry_shader" | "GL_EXT_geometry_shader" } in { geometry } |
| values |
| { |
| uniform uvec4 val = [ uvec4(16, 17, 18, 19) ]; |
| output uvec4 out0 = [ uvec4(16, 17, 18, 19) ]; |
| } |
| vertex "" |
| #version 310 es |
| ${VERTEX_DECLARATIONS} |
| void main() |
| { |
| ${VERTEX_SETUP} |
| ${VERTEX_OUTPUT} |
| } |
| "" |
| geometry "" |
| #version 310 es |
| ${GEOMETRY_DECLARATIONS} |
| flat out mediump uvec4 geo_var; |
| void main() |
| { |
| for (int ndx = 0; ndx < gl_in.length(); ++ndx) |
| { |
| geo_var = val; |
| gl_Position = gl_in[ndx].gl_Position; |
| EmitVertex(); |
| } |
| } |
| "" |
| fragment "" |
| #version 310 es |
| precision highp int; |
| ${FRAGMENT_DECLARATIONS} |
| flat in uvec4 geo_var; |
| void main() |
| { |
| out0 = geo_var; |
| ${FRAGMENT_OUTPUT} |
| } |
| "" |
| end |
| |
| case float_struct |
| version 310 es |
| desc "varying of struct type containing float" |
| require extension { "GL_OES_geometry_shader" | "GL_EXT_geometry_shader" } in { geometry } |
| values |
| { |
| uniform float val.val = [ 2.25 ]; |
| output float out0 = [ 2.25 ]; |
| } |
| vertex "" |
| #version 310 es |
| ${VERTEX_DECLARATIONS} |
| void main() |
| { |
| ${VERTEX_SETUP} |
| ${VERTEX_OUTPUT} |
| } |
| "" |
| geometry "" |
| #version 310 es |
| ${GEOMETRY_DECLARATIONS} |
| struct S { mediump float val; }; |
| uniform S val; |
| out mediump float geo_var; |
| void main() |
| { |
| for (int ndx = 0; ndx < gl_in.length(); ++ndx) |
| { |
| geo_var = val.val; |
| gl_Position = gl_in[ndx].gl_Position; |
| EmitVertex(); |
| } |
| } |
| "" |
| fragment "" |
| #version 310 es |
| precision mediump float; |
| ${FRAGMENT_DECLARATIONS} |
| in mediump float geo_var; |
| void main() |
| { |
| out0 = geo_var; |
| ${FRAGMENT_OUTPUT} |
| } |
| "" |
| end |
| end |