| |
| group types "Types" |
| case float |
| version 310 es |
| desc "uniform of type float" |
| require extension { "GL_OES_tessellation_shader" | "GL_EXT_tessellation_shader" } in { tessellation_control, tessellation_evaluation } |
| values |
| { |
| uniform float val0 = -1.25; |
| uniform float val1 = 1.0; |
| output float out0 = 0.75; |
| } |
| vertex "" |
| #version 310 es |
| ${VERTEX_DECLARATIONS} |
| void main() |
| { |
| ${VERTEX_OUTPUT} |
| } |
| "" |
| tessellation_control "" |
| #version 310 es |
| ${TESSELLATION_CONTROL_DECLARATIONS} |
| out mediump float tc_out[]; |
| void main() |
| { |
| tc_out[gl_InvocationID] = val0; |
| ${TESSELLATION_CONTROL_OUTPUT} |
| } |
| "" |
| tessellation_evaluation "" |
| #version 310 es |
| ${TESSELLATION_EVALUATION_DECLARATIONS} |
| in mediump float tc_out[]; |
| out mediump float te_out; |
| void main() |
| { |
| te_out = tc_out[2] + 2.0 * val1; |
| ${TESSELLATION_EVALUATION_OUTPUT} |
| } |
| "" |
| fragment "" |
| #version 310 es |
| precision highp float; |
| ${FRAGMENT_DECLARATIONS} |
| in mediump float te_out; |
| void main() |
| { |
| out0 = te_out; |
| ${FRAGMENT_OUTPUT} |
| } |
| "" |
| end |
| |
| case vec2 |
| version 310 es |
| desc "uniform of type vec2" |
| require extension { "GL_OES_tessellation_shader" | "GL_EXT_tessellation_shader" } in { tessellation_control, tessellation_evaluation } |
| values |
| { |
| uniform vec2 val0 = [ vec2(-1.25, 1.25) ]; |
| uniform vec2 val1 = [ vec2(1.0, 1.5) ]; |
| output vec2 out0 = [ vec2(0.75, 4.25) ]; |
| } |
| vertex "" |
| #version 310 es |
| ${VERTEX_DECLARATIONS} |
| void main() |
| { |
| ${VERTEX_OUTPUT} |
| } |
| "" |
| tessellation_control "" |
| #version 310 es |
| ${TESSELLATION_CONTROL_DECLARATIONS} |
| out mediump vec2 tc_out[]; |
| void main() |
| { |
| tc_out[gl_InvocationID] = val0; |
| ${TESSELLATION_CONTROL_OUTPUT} |
| } |
| "" |
| tessellation_evaluation "" |
| #version 310 es |
| ${TESSELLATION_EVALUATION_DECLARATIONS} |
| in mediump vec2 tc_out[]; |
| out mediump vec2 te_out; |
| void main() |
| { |
| te_out = tc_out[2] + 2.0 * val1; |
| ${TESSELLATION_EVALUATION_OUTPUT} |
| } |
| "" |
| fragment "" |
| #version 310 es |
| precision highp float; |
| ${FRAGMENT_DECLARATIONS} |
| in vec2 te_out; |
| void main() |
| { |
| out0 = te_out; |
| ${FRAGMENT_OUTPUT} |
| } |
| "" |
| end |
| |
| case vec3 |
| version 310 es |
| desc "uniform of type vec3" |
| require extension { "GL_OES_tessellation_shader" | "GL_EXT_tessellation_shader" } in { tessellation_control, tessellation_evaluation } |
| values |
| { |
| uniform vec3 val0 = [ vec3(-1.25, 1.25, -9.5) ]; |
| uniform vec3 val1 = [ vec3( 1.0, 1.5, 2.5) ]; |
| output vec3 out0 = [ vec3(0.75, 4.25, -4.5) ]; |
| } |
| vertex "" |
| #version 310 es |
| ${VERTEX_DECLARATIONS} |
| void main() |
| { |
| ${VERTEX_OUTPUT} |
| } |
| "" |
| tessellation_control "" |
| #version 310 es |
| ${TESSELLATION_CONTROL_DECLARATIONS} |
| out mediump vec3 tc_out[]; |
| void main() |
| { |
| tc_out[gl_InvocationID] = val0; |
| ${TESSELLATION_CONTROL_OUTPUT} |
| } |
| "" |
| tessellation_evaluation "" |
| #version 310 es |
| ${TESSELLATION_EVALUATION_DECLARATIONS} |
| in mediump vec3 tc_out[]; |
| out mediump vec3 te_out; |
| void main() |
| { |
| te_out = tc_out[2] + 2.0 * val1; |
| ${TESSELLATION_EVALUATION_OUTPUT} |
| } |
| "" |
| fragment "" |
| #version 310 es |
| precision highp float; |
| ${FRAGMENT_DECLARATIONS} |
| in vec3 te_out; |
| void main() |
| { |
| out0 = te_out; |
| ${FRAGMENT_OUTPUT} |
| } |
| "" |
| end |
| |
| case vec4 |
| version 310 es |
| desc "uniform of type vec4" |
| require extension { "GL_OES_tessellation_shader" | "GL_EXT_tessellation_shader" } in { tessellation_control, tessellation_evaluation } |
| values |
| { |
| uniform vec4 val0 = [ vec4(-1.25, 1.25, -9.5, -12.2) ]; |
| uniform vec4 val1 = [ vec4(1.0, 1.5, 2.5, -1.0) ]; |
| output vec4 out0 = [ vec4(0.75, 4.25, -4.5, -14.2) ]; |
| } |
| vertex "" |
| #version 310 es |
| ${VERTEX_DECLARATIONS} |
| void main() |
| { |
| ${VERTEX_OUTPUT} |
| } |
| "" |
| tessellation_control "" |
| #version 310 es |
| ${TESSELLATION_CONTROL_DECLARATIONS} |
| out mediump vec4 tc_out[]; |
| void main() |
| { |
| tc_out[gl_InvocationID] = val0; |
| ${TESSELLATION_CONTROL_OUTPUT} |
| } |
| "" |
| tessellation_evaluation "" |
| #version 310 es |
| ${TESSELLATION_EVALUATION_DECLARATIONS} |
| in mediump vec4 tc_out[]; |
| out mediump vec4 te_out; |
| void main() |
| { |
| te_out = tc_out[2] + 2.0 * val1; |
| ${TESSELLATION_EVALUATION_OUTPUT} |
| } |
| "" |
| fragment "" |
| #version 310 es |
| precision highp float; |
| ${FRAGMENT_DECLARATIONS} |
| in vec4 te_out; |
| void main() |
| { |
| out0 = te_out; |
| ${FRAGMENT_OUTPUT} |
| } |
| "" |
| end |
| |
| case mat2 |
| version 310 es |
| desc "uniform of type mat2" |
| require extension { "GL_OES_tessellation_shader" | "GL_EXT_tessellation_shader" } in { tessellation_control, tessellation_evaluation } |
| values |
| { |
| uniform mat2 val0 = [ mat2(-1.25, 1.25, -9.5, -12.2) ]; |
| uniform mat2 val1 = [ mat2(1.0, 1.5, 2.5, -1.0) ]; |
| output mat2 out0 = [ mat2(0.75, 4.25, -4.5, -14.2) ]; |
| } |
| vertex "" |
| #version 310 es |
| ${VERTEX_DECLARATIONS} |
| void main() |
| { |
| ${VERTEX_OUTPUT} |
| } |
| "" |
| tessellation_control "" |
| #version 310 es |
| ${TESSELLATION_CONTROL_DECLARATIONS} |
| out mediump mat2 tc_out[]; |
| void main() |
| { |
| tc_out[gl_InvocationID] = val0; |
| ${TESSELLATION_CONTROL_OUTPUT} |
| } |
| "" |
| tessellation_evaluation "" |
| #version 310 es |
| ${TESSELLATION_EVALUATION_DECLARATIONS} |
| in mediump mat2 tc_out[]; |
| out mediump mat2 te_out; |
| void main() |
| { |
| te_out = tc_out[2] + 2.0 * val1; |
| ${TESSELLATION_EVALUATION_OUTPUT} |
| } |
| "" |
| fragment "" |
| #version 310 es |
| precision highp float; |
| ${FRAGMENT_DECLARATIONS} |
| in mat2 te_out; |
| void main() |
| { |
| out0 = te_out; |
| ${FRAGMENT_OUTPUT} |
| } |
| "" |
| end |
| |
| case mat2x3 |
| version 310 es |
| desc "uniform of type mat2x3" |
| require extension { "GL_OES_tessellation_shader" | "GL_EXT_tessellation_shader" } in { tessellation_control, tessellation_evaluation } |
| values |
| { |
| uniform mat2x3 val0 = [ mat2x3(-1.25, 1.25, -9.5, -12.2, -25.65, -7.25) ]; |
| uniform mat2x3 val1 = [ mat2x3(1.0, 1.5, 2.5, -1.0, 2.0, 1.0) ]; |
| output mat2x3 out0 = [ mat2x3(0.75, 4.25, -4.5, -14.2, -21.65, -5.25) ]; |
| } |
| vertex "" |
| #version 310 es |
| ${VERTEX_DECLARATIONS} |
| void main() |
| { |
| ${VERTEX_OUTPUT} |
| } |
| "" |
| tessellation_control "" |
| #version 310 es |
| ${TESSELLATION_CONTROL_DECLARATIONS} |
| out mediump mat2x3 tc_out[]; |
| void main() |
| { |
| tc_out[gl_InvocationID] = val0; |
| ${TESSELLATION_CONTROL_OUTPUT} |
| } |
| "" |
| tessellation_evaluation "" |
| #version 310 es |
| ${TESSELLATION_EVALUATION_DECLARATIONS} |
| in mediump mat2x3 tc_out[]; |
| out mediump mat2x3 te_out; |
| void main() |
| { |
| te_out = tc_out[2] + 2.0 * val1; |
| ${TESSELLATION_EVALUATION_OUTPUT} |
| } |
| "" |
| fragment "" |
| #version 310 es |
| precision highp float; |
| ${FRAGMENT_DECLARATIONS} |
| in mat2x3 te_out; |
| void main() |
| { |
| out0 = te_out; |
| ${FRAGMENT_OUTPUT} |
| } |
| "" |
| end |
| |
| case mat2x4 |
| version 310 es |
| desc "uniform of type mat2x4" |
| require extension { "GL_OES_tessellation_shader" | "GL_EXT_tessellation_shader" } in { tessellation_control, tessellation_evaluation } |
| values |
| { |
| uniform mat2x4 val0 = [ mat2x4(-1.25, 1.25, -9.5, -12.2, -25.65, -7.25, 14.21, -77.7) ]; |
| uniform mat2x4 val1 = [ mat2x4(1.0, 1.5, 2.5, -1.0, 2.0, 1.0, 3.0, 4.0) ]; |
| output mat2x4 out0 = [ mat2x4(0.75, 4.25, -4.5, -14.2, -21.65, -5.25, 20.21, -69.7) ]; |
| } |
| vertex "" |
| #version 310 es |
| ${VERTEX_DECLARATIONS} |
| void main() |
| { |
| ${VERTEX_OUTPUT} |
| } |
| "" |
| tessellation_control "" |
| #version 310 es |
| ${TESSELLATION_CONTROL_DECLARATIONS} |
| out mediump mat2x4 tc_out[]; |
| void main() |
| { |
| tc_out[gl_InvocationID] = val0; |
| ${TESSELLATION_CONTROL_OUTPUT} |
| } |
| "" |
| tessellation_evaluation "" |
| #version 310 es |
| ${TESSELLATION_EVALUATION_DECLARATIONS} |
| in mediump mat2x4 tc_out[]; |
| out mediump mat2x4 te_out; |
| void main() |
| { |
| te_out = tc_out[2] + 2.0 * val1; |
| ${TESSELLATION_EVALUATION_OUTPUT} |
| } |
| "" |
| fragment "" |
| #version 310 es |
| precision highp float; |
| ${FRAGMENT_DECLARATIONS} |
| in mat2x4 te_out; |
| void main() |
| { |
| out0 = te_out; |
| ${FRAGMENT_OUTPUT} |
| } |
| "" |
| end |
| |
| case mat3x2 |
| version 310 es |
| desc "uniform of type mat3x2" |
| require extension { "GL_OES_tessellation_shader" | "GL_EXT_tessellation_shader" } in { tessellation_control, tessellation_evaluation } |
| values |
| { |
| uniform mat3x2 val0 = [ mat3x2(-1.25, 1.25, -9.5, -12.2, -25.65, -7.25) ]; |
| uniform mat3x2 val1 = [ mat3x2(1.0, 1.5, 2.5, -1.0, 2.0, 1.0) ]; |
| output mat3x2 out0 = [ mat3x2(0.75, 4.25, -4.5, -14.2, -21.65, -5.25) ]; |
| } |
| vertex "" |
| #version 310 es |
| ${VERTEX_DECLARATIONS} |
| void main() |
| { |
| ${VERTEX_OUTPUT} |
| } |
| "" |
| tessellation_control "" |
| #version 310 es |
| ${TESSELLATION_CONTROL_DECLARATIONS} |
| out mediump mat3x2 tc_out[]; |
| void main() |
| { |
| tc_out[gl_InvocationID] = val0; |
| ${TESSELLATION_CONTROL_OUTPUT} |
| } |
| "" |
| tessellation_evaluation "" |
| #version 310 es |
| ${TESSELLATION_EVALUATION_DECLARATIONS} |
| in mediump mat3x2 tc_out[]; |
| out mediump mat3x2 te_out; |
| void main() |
| { |
| te_out = tc_out[2] + 2.0 * val1; |
| ${TESSELLATION_EVALUATION_OUTPUT} |
| } |
| "" |
| fragment "" |
| #version 310 es |
| precision highp float; |
| ${FRAGMENT_DECLARATIONS} |
| in mat3x2 te_out; |
| void main() |
| { |
| out0 = te_out; |
| ${FRAGMENT_OUTPUT} |
| } |
| "" |
| end |
| |
| case mat3 |
| version 310 es |
| desc "uniform of type mat3" |
| require extension { "GL_OES_tessellation_shader" | "GL_EXT_tessellation_shader" } in { tessellation_control, tessellation_evaluation } |
| values |
| { |
| uniform mat3 val0 = [ mat3(-1.25, 1.25, -9.5, -12.2, -25.65, -7.25, 14.21, -77.7, 9.9) ]; |
| uniform mat3 val1 = [ mat3(1.0, 1.5, 2.5, -1.0, 2.0, 1.0, 3.0, 4.0, -1.0) ]; |
| output mat3 out0 = [ mat3(0.75, 4.25, -4.5, -14.2, -21.65, -5.25, 20.21, -69.7, 7.9) ]; |
| } |
| vertex "" |
| #version 310 es |
| ${VERTEX_DECLARATIONS} |
| void main() |
| { |
| ${VERTEX_OUTPUT} |
| } |
| "" |
| tessellation_control "" |
| #version 310 es |
| ${TESSELLATION_CONTROL_DECLARATIONS} |
| out mediump mat3 tc_out[]; |
| void main() |
| { |
| tc_out[gl_InvocationID] = val0; |
| ${TESSELLATION_CONTROL_OUTPUT} |
| } |
| "" |
| tessellation_evaluation "" |
| #version 310 es |
| ${TESSELLATION_EVALUATION_DECLARATIONS} |
| in mediump mat3 tc_out[]; |
| out mediump mat3 te_out; |
| void main() |
| { |
| te_out = tc_out[2] + 2.0 * val1; |
| ${TESSELLATION_EVALUATION_OUTPUT} |
| } |
| "" |
| fragment "" |
| #version 310 es |
| precision highp float; |
| ${FRAGMENT_DECLARATIONS} |
| in mat3 te_out; |
| void main() |
| { |
| out0 = te_out; |
| ${FRAGMENT_OUTPUT} |
| } |
| "" |
| end |
| |
| case mat3x4 |
| version 310 es |
| desc "uniform of type mat3x4" |
| require extension { "GL_OES_tessellation_shader" | "GL_EXT_tessellation_shader" } in { tessellation_control, tessellation_evaluation } |
| values |
| { |
| uniform mat3x4 val0 = [ 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) ]; |
| uniform mat3x4 val1 = [ mat3x4(1.0, 1.5, 2.5, -1.0, 2.0, 1.0, 3.0, 4.0, -1.0, 3.0, 4.5, -1.5) ]; |
| output mat3x4 out0 = [ mat3x4(0.75, 4.25, -4.5, -14.2, -21.65, -5.25, 20.21, -69.7, -2.0, 7.0, 8.0, -1.0) ]; |
| } |
| vertex "" |
| #version 310 es |
| ${VERTEX_DECLARATIONS} |
| void main() |
| { |
| ${VERTEX_OUTPUT} |
| } |
| "" |
| tessellation_control "" |
| #version 310 es |
| ${TESSELLATION_CONTROL_DECLARATIONS} |
| out mediump mat3x4 tc_out[]; |
| void main() |
| { |
| tc_out[gl_InvocationID] = val0; |
| ${TESSELLATION_CONTROL_OUTPUT} |
| } |
| "" |
| tessellation_evaluation "" |
| #version 310 es |
| ${TESSELLATION_EVALUATION_DECLARATIONS} |
| in mediump mat3x4 tc_out[]; |
| out mediump mat3x4 te_out; |
| void main() |
| { |
| te_out = tc_out[2] + 2.0 * val1; |
| ${TESSELLATION_EVALUATION_OUTPUT} |
| } |
| "" |
| fragment "" |
| #version 310 es |
| precision highp float; |
| ${FRAGMENT_DECLARATIONS} |
| in mat3x4 te_out; |
| void main() |
| { |
| out0 = te_out; |
| ${FRAGMENT_OUTPUT} |
| } |
| "" |
| end |
| |
| case mat4x2 |
| version 310 es |
| desc "uniform of type mat4x2" |
| require extension { "GL_OES_tessellation_shader" | "GL_EXT_tessellation_shader" } in { tessellation_control, tessellation_evaluation } |
| values |
| { |
| uniform mat4x2 val0 = [ mat4x2(-1.25, 1.25, -9.5, -12.2, -25.65, -7.25, 14.21, -77.7) ]; |
| uniform mat4x2 val1 = [ mat4x2(1.0, 1.5, 2.5, -1.0, 2.0, 1.0, 3.0, 4.0) ]; |
| output mat4x2 out0 = [ mat4x2(0.75, 4.25, -4.5, -14.2, -21.65, -5.25, 20.21, -69.7) ]; |
| } |
| vertex "" |
| #version 310 es |
| ${VERTEX_DECLARATIONS} |
| void main() |
| { |
| ${VERTEX_OUTPUT} |
| } |
| "" |
| tessellation_control "" |
| #version 310 es |
| ${TESSELLATION_CONTROL_DECLARATIONS} |
| out mediump mat4x2 tc_out[]; |
| void main() |
| { |
| tc_out[gl_InvocationID] = val0; |
| ${TESSELLATION_CONTROL_OUTPUT} |
| } |
| "" |
| tessellation_evaluation "" |
| #version 310 es |
| ${TESSELLATION_EVALUATION_DECLARATIONS} |
| in mediump mat4x2 tc_out[]; |
| out mediump mat4x2 te_out; |
| void main() |
| { |
| te_out = tc_out[2] + 2.0 * val1; |
| ${TESSELLATION_EVALUATION_OUTPUT} |
| } |
| "" |
| fragment "" |
| #version 310 es |
| precision highp float; |
| ${FRAGMENT_DECLARATIONS} |
| in mat4x2 te_out; |
| void main() |
| { |
| out0 = te_out; |
| ${FRAGMENT_OUTPUT} |
| } |
| "" |
| end |
| |
| case mat4x3 |
| version 310 es |
| desc "uniform of type mat4x3" |
| require extension { "GL_OES_tessellation_shader" | "GL_EXT_tessellation_shader" } in { tessellation_control, tessellation_evaluation } |
| values |
| { |
| uniform mat4x3 val0 = [ 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) ]; |
| uniform mat4x3 val1 = [ mat4x3(1.0, 1.5, 2.5, -1.0, 2.0, 1.0, 3.0, 4.0, -1.0, 3.0, 4.5, -1.5) ]; |
| output mat4x3 out0 = [ mat4x3(0.75, 4.25, -4.5, -14.2, -21.65, -5.25, 20.21, -69.7, -2.0, 7.0, 8.0, -1.0) ]; |
| } |
| vertex "" |
| #version 310 es |
| ${VERTEX_DECLARATIONS} |
| void main() |
| { |
| ${VERTEX_OUTPUT} |
| } |
| "" |
| tessellation_control "" |
| #version 310 es |
| ${TESSELLATION_CONTROL_DECLARATIONS} |
| out mediump mat4x3 tc_out[]; |
| void main() |
| { |
| tc_out[gl_InvocationID] = val0; |
| ${TESSELLATION_CONTROL_OUTPUT} |
| } |
| "" |
| tessellation_evaluation "" |
| #version 310 es |
| ${TESSELLATION_EVALUATION_DECLARATIONS} |
| in mediump mat4x3 tc_out[]; |
| out mediump mat4x3 te_out; |
| void main() |
| { |
| te_out = tc_out[2] + 2.0 * val1; |
| ${TESSELLATION_EVALUATION_OUTPUT} |
| } |
| "" |
| fragment "" |
| #version 310 es |
| precision highp float; |
| ${FRAGMENT_DECLARATIONS} |
| in mat4x3 te_out; |
| void main() |
| { |
| out0 = te_out; |
| ${FRAGMENT_OUTPUT} |
| } |
| "" |
| end |
| |
| case mat4 |
| version 310 es |
| desc "uniform of type mat4" |
| require extension { "GL_OES_tessellation_shader" | "GL_EXT_tessellation_shader" } in { tessellation_control, tessellation_evaluation } |
| values |
| { |
| uniform mat4 val0 = [ 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) ]; |
| uniform mat4 val1 = [ mat4(1.0, 1.5, 2.5, -1.0, 2.0, 1.0, 3.0, 4.0, -1.0, 3.0, 4.5, -1.5, 3.5, 2.0, 5.0, 0.5) ]; |
| output mat4 out0 = [ mat4(0.75, 4.25, -4.5, -14.2, -21.65, -5.25, 20.21, -69.7, -2.0, 7.0, 8.0, -1.0, 9.25, 6.25, 32.5, 226.0) ]; |
| } |
| vertex "" |
| #version 310 es |
| ${VERTEX_DECLARATIONS} |
| void main() |
| { |
| ${VERTEX_OUTPUT} |
| } |
| "" |
| tessellation_control "" |
| #version 310 es |
| ${TESSELLATION_CONTROL_DECLARATIONS} |
| out mediump mat4 tc_out[]; |
| void main() |
| { |
| tc_out[gl_InvocationID] = val0; |
| ${TESSELLATION_CONTROL_OUTPUT} |
| } |
| "" |
| tessellation_evaluation "" |
| #version 310 es |
| ${TESSELLATION_EVALUATION_DECLARATIONS} |
| in mediump mat4 tc_out[]; |
| out mediump mat4 te_out; |
| void main() |
| { |
| te_out = tc_out[2] + 2.0 * val1; |
| ${TESSELLATION_EVALUATION_OUTPUT} |
| } |
| "" |
| fragment "" |
| #version 310 es |
| precision highp float; |
| ${FRAGMENT_DECLARATIONS} |
| in mat4 te_out; |
| void main() |
| { |
| out0 = te_out; |
| ${FRAGMENT_OUTPUT} |
| } |
| "" |
| end |
| |
| case int |
| version 310 es |
| desc "uniform of type int" |
| require extension { "GL_OES_tessellation_shader" | "GL_EXT_tessellation_shader" } in { tessellation_control, tessellation_evaluation } |
| values |
| { |
| uniform int val0 = [ -1 ]; |
| uniform int val1 = [ 2 ]; |
| output int out0 = [ 3 ]; |
| } |
| vertex "" |
| #version 310 es |
| ${VERTEX_DECLARATIONS} |
| void main() |
| { |
| ${VERTEX_SETUP} |
| ${VERTEX_OUTPUT} |
| } |
| "" |
| tessellation_control "" |
| #version 310 es |
| ${TESSELLATION_CONTROL_DECLARATIONS} |
| flat out mediump int tc_out[]; |
| void main() |
| { |
| tc_out[gl_InvocationID] = val0; |
| ${TESSELLATION_CONTROL_OUTPUT} |
| } |
| "" |
| tessellation_evaluation "" |
| #version 310 es |
| ${TESSELLATION_EVALUATION_DECLARATIONS} |
| flat in mediump int tc_out[]; |
| flat out mediump int te_out; |
| void main() |
| { |
| te_out = tc_out[2] + 2 * val1; |
| ${TESSELLATION_EVALUATION_OUTPUT} |
| } |
| "" |
| fragment "" |
| #version 310 es |
| precision highp int; |
| ${FRAGMENT_DECLARATIONS} |
| flat in int te_out; |
| void main() |
| { |
| out0 = te_out; |
| ${FRAGMENT_OUTPUT} |
| } |
| "" |
| end |
| |
| case ivec2 |
| version 310 es |
| desc "uniform of type ivec2" |
| require extension { "GL_OES_tessellation_shader" | "GL_EXT_tessellation_shader" } in { tessellation_control, tessellation_evaluation } |
| values |
| { |
| uniform ivec2 val0 = [ ivec2(-1, 1) ]; |
| uniform ivec2 val1 = [ ivec2(2, 3) ]; |
| output ivec2 out0 = [ ivec2(3, 7) ]; |
| } |
| vertex "" |
| #version 310 es |
| ${VERTEX_DECLARATIONS} |
| void main() |
| { |
| ${VERTEX_SETUP} |
| ${VERTEX_OUTPUT} |
| } |
| "" |
| tessellation_control "" |
| #version 310 es |
| ${TESSELLATION_CONTROL_DECLARATIONS} |
| flat out mediump ivec2 tc_out[]; |
| void main() |
| { |
| tc_out[gl_InvocationID] = val0; |
| ${TESSELLATION_CONTROL_OUTPUT} |
| } |
| "" |
| tessellation_evaluation "" |
| #version 310 es |
| ${TESSELLATION_EVALUATION_DECLARATIONS} |
| flat in mediump ivec2 tc_out[]; |
| flat out mediump ivec2 te_out; |
| void main() |
| { |
| te_out = tc_out[2] + 2 * val1; |
| ${TESSELLATION_EVALUATION_OUTPUT} |
| } |
| "" |
| fragment "" |
| #version 310 es |
| precision highp int; |
| ${FRAGMENT_DECLARATIONS} |
| flat in ivec2 te_out; |
| void main() |
| { |
| out0 = te_out; |
| ${FRAGMENT_OUTPUT} |
| } |
| "" |
| end |
| |
| case ivec3 |
| version 310 es |
| desc "uniform of type ivec3" |
| require extension { "GL_OES_tessellation_shader" | "GL_EXT_tessellation_shader" } in { tessellation_control, tessellation_evaluation } |
| values |
| { |
| uniform ivec3 val0 = [ ivec3(-1, 1, -2) ]; |
| uniform ivec3 val1 = [ ivec3(2, 3, -2) ]; |
| output ivec3 out0 = [ ivec3(3, 7, -6) ]; |
| } |
| vertex "" |
| #version 310 es |
| ${VERTEX_DECLARATIONS} |
| void main() |
| { |
| ${VERTEX_SETUP} |
| ${VERTEX_OUTPUT} |
| } |
| "" |
| tessellation_control "" |
| #version 310 es |
| ${TESSELLATION_CONTROL_DECLARATIONS} |
| flat out mediump ivec3 tc_out[]; |
| void main() |
| { |
| tc_out[gl_InvocationID] = val0; |
| ${TESSELLATION_CONTROL_OUTPUT} |
| } |
| "" |
| tessellation_evaluation "" |
| #version 310 es |
| ${TESSELLATION_EVALUATION_DECLARATIONS} |
| flat in mediump ivec3 tc_out[]; |
| flat out mediump ivec3 te_out; |
| void main() |
| { |
| te_out = tc_out[2] + 2 * val1; |
| ${TESSELLATION_EVALUATION_OUTPUT} |
| } |
| "" |
| fragment "" |
| #version 310 es |
| precision highp int; |
| ${FRAGMENT_DECLARATIONS} |
| flat in ivec3 te_out; |
| void main() |
| { |
| out0 = te_out; |
| ${FRAGMENT_OUTPUT} |
| } |
| "" |
| end |
| |
| case ivec4 |
| version 310 es |
| desc "uniform of type ivec4" |
| require extension { "GL_OES_tessellation_shader" | "GL_EXT_tessellation_shader" } in { tessellation_control, tessellation_evaluation } |
| values |
| { |
| uniform ivec4 val0 = [ ivec4(-1, 1, -2, 2) ]; |
| uniform ivec4 val1 = [ ivec4(2, 3, -2, 1) ]; |
| output ivec4 out0 = [ ivec4(3, 7, -6, 4) ]; |
| } |
| vertex "" |
| #version 310 es |
| ${VERTEX_DECLARATIONS} |
| void main() |
| { |
| ${VERTEX_SETUP} |
| ${VERTEX_OUTPUT} |
| } |
| "" |
| tessellation_control "" |
| #version 310 es |
| ${TESSELLATION_CONTROL_DECLARATIONS} |
| flat out mediump ivec4 tc_out[]; |
| void main() |
| { |
| tc_out[gl_InvocationID] = val0; |
| ${TESSELLATION_CONTROL_OUTPUT} |
| } |
| "" |
| tessellation_evaluation "" |
| #version 310 es |
| ${TESSELLATION_EVALUATION_DECLARATIONS} |
| flat in mediump ivec4 tc_out[]; |
| flat out mediump ivec4 te_out; |
| void main() |
| { |
| te_out = tc_out[2] + 2 * val1; |
| ${TESSELLATION_EVALUATION_OUTPUT} |
| } |
| "" |
| fragment "" |
| #version 310 es |
| precision highp int; |
| ${FRAGMENT_DECLARATIONS} |
| flat in ivec4 te_out; |
| void main() |
| { |
| out0 = te_out; |
| ${FRAGMENT_OUTPUT} |
| } |
| "" |
| end |
| |
| case uint |
| version 310 es |
| desc "uniform of type int" |
| require extension { "GL_OES_tessellation_shader" | "GL_EXT_tessellation_shader" } in { tessellation_control, tessellation_evaluation } |
| values |
| { |
| uniform uint val0 = [ 1 ]; |
| uniform uint val1 = [ 2 ]; |
| output uint out0 = [ 5 ]; |
| } |
| vertex "" |
| #version 310 es |
| ${VERTEX_DECLARATIONS} |
| void main() |
| { |
| ${VERTEX_SETUP} |
| ${VERTEX_OUTPUT} |
| } |
| "" |
| tessellation_control "" |
| #version 310 es |
| ${TESSELLATION_CONTROL_DECLARATIONS} |
| flat out mediump uint tc_out[]; |
| void main() |
| { |
| tc_out[gl_InvocationID] = val0; |
| ${TESSELLATION_CONTROL_OUTPUT} |
| } |
| "" |
| tessellation_evaluation "" |
| #version 310 es |
| ${TESSELLATION_EVALUATION_DECLARATIONS} |
| flat in mediump uint tc_out[]; |
| flat out mediump uint te_out; |
| void main() |
| { |
| te_out = tc_out[2] + 2u * val1; |
| ${TESSELLATION_EVALUATION_OUTPUT} |
| } |
| "" |
| fragment "" |
| #version 310 es |
| precision highp int; |
| ${FRAGMENT_DECLARATIONS} |
| flat in uint te_out; |
| void main() |
| { |
| out0 = te_out; |
| ${FRAGMENT_OUTPUT} |
| } |
| "" |
| end |
| |
| case uvec2 |
| version 310 es |
| desc "uniform of type uvec2" |
| require extension { "GL_OES_tessellation_shader" | "GL_EXT_tessellation_shader" } in { tessellation_control, tessellation_evaluation } |
| values |
| { |
| uniform uvec2 val0 = [ uvec2(1, 1) ]; |
| uniform uvec2 val1 = [ uvec2(2, 3) ]; |
| output uvec2 out0 = [ uvec2(5, 7) ]; |
| } |
| vertex "" |
| #version 310 es |
| ${VERTEX_DECLARATIONS} |
| void main() |
| { |
| ${VERTEX_SETUP} |
| ${VERTEX_OUTPUT} |
| } |
| "" |
| tessellation_control "" |
| #version 310 es |
| ${TESSELLATION_CONTROL_DECLARATIONS} |
| flat out mediump uvec2 tc_out[]; |
| void main() |
| { |
| tc_out[gl_InvocationID] = val0; |
| ${TESSELLATION_CONTROL_OUTPUT} |
| } |
| "" |
| tessellation_evaluation "" |
| #version 310 es |
| ${TESSELLATION_EVALUATION_DECLARATIONS} |
| flat in mediump uvec2 tc_out[]; |
| flat out mediump uvec2 te_out; |
| void main() |
| { |
| te_out = tc_out[2] + 2u * val1; |
| ${TESSELLATION_EVALUATION_OUTPUT} |
| } |
| "" |
| fragment "" |
| #version 310 es |
| precision highp int; |
| ${FRAGMENT_DECLARATIONS} |
| flat in uvec2 te_out; |
| void main() |
| { |
| out0 = te_out; |
| ${FRAGMENT_OUTPUT} |
| } |
| "" |
| end |
| |
| case uvec3 |
| version 310 es |
| desc "uniform of type uvec3" |
| require extension { "GL_OES_tessellation_shader" | "GL_EXT_tessellation_shader" } in { tessellation_control, tessellation_evaluation } |
| values |
| { |
| uniform uvec3 val0 = [ uvec3(1, 1, 2) ]; |
| uniform uvec3 val1 = [ uvec3(2, 3, 4) ]; |
| output uvec3 out0 = [ uvec3(5, 7, 10) ]; |
| } |
| vertex "" |
| #version 310 es |
| ${VERTEX_DECLARATIONS} |
| void main() |
| { |
| ${VERTEX_SETUP} |
| ${VERTEX_OUTPUT} |
| } |
| "" |
| tessellation_control "" |
| #version 310 es |
| ${TESSELLATION_CONTROL_DECLARATIONS} |
| flat out mediump uvec3 tc_out[]; |
| void main() |
| { |
| tc_out[gl_InvocationID] = val0; |
| ${TESSELLATION_CONTROL_OUTPUT} |
| } |
| "" |
| tessellation_evaluation "" |
| #version 310 es |
| ${TESSELLATION_EVALUATION_DECLARATIONS} |
| flat in mediump uvec3 tc_out[]; |
| flat out mediump uvec3 te_out; |
| void main() |
| { |
| te_out = tc_out[2] + 2u * val1; |
| ${TESSELLATION_EVALUATION_OUTPUT} |
| } |
| "" |
| fragment "" |
| #version 310 es |
| precision highp int; |
| ${FRAGMENT_DECLARATIONS} |
| flat in uvec3 te_out; |
| void main() |
| { |
| out0 = te_out; |
| ${FRAGMENT_OUTPUT} |
| } |
| "" |
| end |
| |
| case uvec4 |
| version 310 es |
| desc "uniform of type uvec4" |
| require extension { "GL_OES_tessellation_shader" | "GL_EXT_tessellation_shader" } in { tessellation_control, tessellation_evaluation } |
| values |
| { |
| uniform uvec4 val0 = [ uvec4(1, 1, 2, 2) ]; |
| uniform uvec4 val1 = [ uvec4(2, 3, 4, 1) ]; |
| output uvec4 out0 = [ uvec4(5, 7, 10, 4) ]; |
| } |
| vertex "" |
| #version 310 es |
| ${VERTEX_DECLARATIONS} |
| void main() |
| { |
| ${VERTEX_SETUP} |
| ${VERTEX_OUTPUT} |
| } |
| "" |
| tessellation_control "" |
| #version 310 es |
| ${TESSELLATION_CONTROL_DECLARATIONS} |
| flat out mediump uvec4 tc_out[]; |
| void main() |
| { |
| tc_out[gl_InvocationID] = val0; |
| ${TESSELLATION_CONTROL_OUTPUT} |
| } |
| "" |
| tessellation_evaluation "" |
| #version 310 es |
| ${TESSELLATION_EVALUATION_DECLARATIONS} |
| flat in mediump uvec4 tc_out[]; |
| flat out mediump uvec4 te_out; |
| void main() |
| { |
| te_out = tc_out[2] + 2u * val1; |
| ${TESSELLATION_EVALUATION_OUTPUT} |
| } |
| "" |
| fragment "" |
| #version 310 es |
| precision highp int; |
| ${FRAGMENT_DECLARATIONS} |
| flat in uvec4 te_out; |
| void main() |
| { |
| out0 = te_out; |
| ${FRAGMENT_OUTPUT} |
| } |
| "" |
| end |
| |
| case float_struct |
| version 310 es |
| desc "varying of struct type containing float" |
| require extension { "GL_OES_tessellation_shader" | "GL_EXT_tessellation_shader" } in { tessellation_control, tessellation_evaluation } |
| values |
| { |
| uniform float u_struct.val = [ 3.0 ]; |
| output float out0 = [ 6.0 ]; |
| } |
| vertex "" |
| #version 310 es |
| ${VERTEX_DECLARATIONS} |
| void main() |
| { |
| ${VERTEX_SETUP} |
| ${VERTEX_OUTPUT} |
| } |
| "" |
| tessellation_control "" |
| #version 310 es |
| ${TESSELLATION_CONTROL_DECLARATIONS} |
| struct S { mediump float val; }; |
| uniform S u_struct; |
| out mediump float tc_out[]; |
| void main() |
| { |
| tc_out[gl_InvocationID] = u_struct.val; |
| ${TESSELLATION_CONTROL_OUTPUT} |
| } |
| "" |
| tessellation_evaluation "" |
| #version 310 es |
| ${TESSELLATION_EVALUATION_DECLARATIONS} |
| struct S { mediump float val; }; |
| uniform S u_struct; |
| in mediump float tc_out[]; |
| out mediump float te_out; |
| void main() |
| { |
| te_out = tc_out[2] + u_struct.val; |
| ${TESSELLATION_EVALUATION_OUTPUT} |
| } |
| "" |
| fragment "" |
| #version 310 es |
| precision mediump float; |
| ${FRAGMENT_DECLARATIONS} |
| in mediump float te_out; |
| void main() |
| { |
| out0 = te_out; |
| ${FRAGMENT_OUTPUT} |
| } |
| "" |
| end |
| end |