| # WARNING: This file is auto-generated. Do NOT modify it manually, but rather |
| # modify the generating script file. Otherwise changes will be lost! |
| |
| group arithmetic "Arithmetic operations" |
| |
| group input_before_literal "Input before literal" |
| |
| group add "Addition" |
| |
| case int_to_float |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input int in0 = [ 2 | 1 | 1 | 3 | 5 ]; |
| output float out0 = [ 4.0 | 3.0 | 3.0 | 5.0 | 7.0 ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 + 2.0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case int_to_uint |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input int in0 = [ 2 | 1 | 1 | 3 | 5 ]; |
| output uint out0 = [ 4 | 3 | 3 | 5 | 7 ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 + 2; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case int_to_vec2 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input int in0 = [ 2 | 1 | 1 | 3 | 5 ]; |
| output vec2 out0 = [ vec2(3.0, 4.0) | vec2(2.0, 3.0) | vec2(2.0, 3.0) | vec2(4.0, 5.0) | vec2(6.0, 7.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 + vec2(1.0, 2.0); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case int_to_vec3 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input int in0 = [ 2 | 1 | 1 | 3 | 5 ]; |
| output vec3 out0 = [ vec3(3.0, 4.0, 5.0) | vec3(2.0, 3.0, 4.0) | vec3(2.0, 3.0, 4.0) | vec3(4.0, 5.0, 6.0) | vec3(6.0, 7.0, 8.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 + vec3(1.0, 2.0, 3.0); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case int_to_vec4 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input int in0 = [ 2 | 1 | 1 | 3 | 5 ]; |
| output vec4 out0 = [ vec4(3.0, 4.0, 5.0, 6.0) | vec4(2.0, 3.0, 4.0, 5.0) | vec4(2.0, 3.0, 4.0, 5.0) | vec4(4.0, 5.0, 6.0, 7.0) | vec4(6.0, 7.0, 8.0, 9.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 + vec4(1.0, 2.0, 3.0, 4.0); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case int_to_uvec2 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input int in0 = [ 2 | 1 | 1 | 3 | 5 ]; |
| output uvec2 out0 = [ uvec2(3, 4) | uvec2(2, 3) | uvec2(2, 3) | uvec2(4, 5) | uvec2(6, 7) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 + uvec2(1, 2); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case int_to_uvec3 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input int in0 = [ 2 | 1 | 1 | 3 | 5 ]; |
| output uvec3 out0 = [ uvec3(3, 4, 5) | uvec3(2, 3, 4) | uvec3(2, 3, 4) | uvec3(4, 5, 6) | uvec3(6, 7, 8) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 + uvec3(1, 2, 3); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case int_to_uvec4 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input int in0 = [ 2 | 1 | 1 | 3 | 5 ]; |
| output uvec4 out0 = [ uvec4(3, 4, 5, 6) | uvec4(2, 3, 4, 5) | uvec4(2, 3, 4, 5) | uvec4(4, 5, 6, 7) | uvec4(6, 7, 8, 9) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 + uvec4(1, 2, 3, 4); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case uint_to_float |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input uint in0 = [ 1 | 3 | 4 | 7 | 11 ]; |
| output float out0 = [ 3.0 | 5.0 | 6.0 | 9.0 | 13.0 ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 + 2.0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case uint_to_vec2 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input uint in0 = [ 1 | 3 | 4 | 7 | 11 ]; |
| output vec2 out0 = [ vec2(2.0, 3.0) | vec2(4.0, 5.0) | vec2(5.0, 6.0) | vec2(8.0, 9.0) | vec2(12.0, 13.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 + vec2(1.0, 2.0); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case uint_to_vec3 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input uint in0 = [ 1 | 3 | 4 | 7 | 11 ]; |
| output vec3 out0 = [ vec3(2.0, 3.0, 4.0) | vec3(4.0, 5.0, 6.0) | vec3(5.0, 6.0, 7.0) | vec3(8.0, 9.0, 10.0) | vec3(12.0, 13.0, 14.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 + vec3(1.0, 2.0, 3.0); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case uint_to_vec4 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input uint in0 = [ 1 | 3 | 4 | 7 | 11 ]; |
| output vec4 out0 = [ vec4(2.0, 3.0, 4.0, 5.0) | vec4(4.0, 5.0, 6.0, 7.0) | vec4(5.0, 6.0, 7.0, 8.0) | vec4(8.0, 9.0, 10.0, 11.0) | vec4(12.0, 13.0, 14.0, 15.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 + vec4(1.0, 2.0, 3.0, 4.0); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case ivec2_to_uvec2 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input ivec2 in0 = [ ivec2(1, 2) | ivec2(2, 1) | ivec2(3, 7) ]; |
| output uvec2 out0 = [ uvec2(2, 4) | uvec2(3, 3) | uvec2(4, 9) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 + uvec2(1, 2); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case ivec2_to_vec2 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input ivec2 in0 = [ ivec2(1, 2) | ivec2(2, 1) | ivec2(3, 7) ]; |
| output vec2 out0 = [ vec2(2.0, 4.0) | vec2(3.0, 3.0) | vec2(4.0, 9.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 + vec2(1.0, 2.0); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case uvec2_to_vec2 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input uvec2 in0 = [ uvec2(2, 3) | uvec2(4, 6) | uvec2(1, 13) ]; |
| output vec2 out0 = [ vec2(3.0, 5.0) | vec2(5.0, 8.0) | vec2(2.0, 15.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 + vec2(1.0, 2.0); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case ivec3_to_uvec3 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input ivec3 in0 = [ ivec3(1, 2, 3) | ivec3(2, 1, 2) | ivec3(3, 7, 2) ]; |
| output uvec3 out0 = [ uvec3(2, 4, 6) | uvec3(3, 3, 5) | uvec3(4, 9, 5) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 + uvec3(1, 2, 3); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case ivec3_to_vec3 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input ivec3 in0 = [ ivec3(1, 2, 3) | ivec3(2, 1, 2) | ivec3(3, 7, 2) ]; |
| output vec3 out0 = [ vec3(2.0, 4.0, 6.0) | vec3(3.0, 3.0, 5.0) | vec3(4.0, 9.0, 5.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 + vec3(1.0, 2.0, 3.0); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case uvec3_to_vec3 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input uvec3 in0 = [ uvec3(2, 3, 5) | uvec3(4, 6, 2) | uvec3(1, 13, 7) ]; |
| output vec3 out0 = [ vec3(3.0, 5.0, 8.0) | vec3(5.0, 8.0, 5.0) | vec3(2.0, 15.0, 10.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 + vec3(1.0, 2.0, 3.0); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case ivec4_to_uvec4 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input ivec4 in0 = [ ivec4(1, 2, 3, 4) | ivec4(2, 1, 2, 6) | ivec4(3, 7, 2, 5) ]; |
| output uvec4 out0 = [ uvec4(2, 4, 6, 8) | uvec4(3, 3, 5, 10) | uvec4(4, 9, 5, 9) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 + uvec4(1, 2, 3, 4); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case ivec4_to_vec4 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input ivec4 in0 = [ ivec4(1, 2, 3, 4) | ivec4(2, 1, 2, 6) | ivec4(3, 7, 2, 5) ]; |
| output vec4 out0 = [ vec4(2.0, 4.0, 6.0, 8.0) | vec4(3.0, 3.0, 5.0, 10.0) | vec4(4.0, 9.0, 5.0, 9.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 + vec4(1.0, 2.0, 3.0, 4.0); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case uvec4_to_vec4 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input uvec4 in0 = [ uvec4(2, 3, 5, 8) | uvec4(4, 6, 2, 9) | uvec4(1, 13, 7, 4) ]; |
| output vec4 out0 = [ vec4(3.0, 5.0, 8.0, 12.0) | vec4(5.0, 8.0, 5.0, 13.0) | vec4(2.0, 15.0, 10.0, 8.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 + vec4(1.0, 2.0, 3.0, 4.0); |
| ${OUTPUT} |
| } |
| "" |
| end |
| |
| end # add |
| group sub "Subtraction" |
| |
| case int_to_float |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input int in0 = [ 2 | 1 | 1 | 3 | 5 ]; |
| output float out0 = [ 0.0 | -1.0 | -1.0 | 1.0 | 3.0 ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 - 2.0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case int_to_vec2 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input int in0 = [ 2 | 1 | 1 | 3 | 5 ]; |
| output vec2 out0 = [ vec2(1.0, 0.0) | vec2(0.0, -1.0) | vec2(0.0, -1.0) | vec2(2.0, 1.0) | vec2(4.0, 3.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 - vec2(1.0, 2.0); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case int_to_vec3 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input int in0 = [ 2 | 1 | 1 | 3 | 5 ]; |
| output vec3 out0 = [ vec3(1.0, 0.0, -1.0) | vec3(0.0, -1.0, -2.0) | vec3(0.0, -1.0, -2.0) | vec3(2.0, 1.0, 0.0) | vec3(4.0, 3.0, 2.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 - vec3(1.0, 2.0, 3.0); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case int_to_vec4 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input int in0 = [ 2 | 1 | 1 | 3 | 5 ]; |
| output vec4 out0 = [ vec4(1.0, 0.0, -1.0, -2.0) | vec4(0.0, -1.0, -2.0, -3.0) | vec4(0.0, -1.0, -2.0, -3.0) | vec4(2.0, 1.0, 0.0, -1.0) | vec4(4.0, 3.0, 2.0, 1.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 - vec4(1.0, 2.0, 3.0, 4.0); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case uint_to_float |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input uint in0 = [ 1 | 3 | 4 | 7 | 11 ]; |
| output float out0 = [ -1.0 | 1.0 | 2.0 | 5.0 | 9.0 ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 - 2.0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case uint_to_vec2 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input uint in0 = [ 1 | 3 | 4 | 7 | 11 ]; |
| output vec2 out0 = [ vec2(0.0, -1.0) | vec2(2.0, 1.0) | vec2(3.0, 2.0) | vec2(6.0, 5.0) | vec2(10.0, 9.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 - vec2(1.0, 2.0); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case uint_to_vec3 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input uint in0 = [ 1 | 3 | 4 | 7 | 11 ]; |
| output vec3 out0 = [ vec3(0.0, -1.0, -2.0) | vec3(2.0, 1.0, 0.0) | vec3(3.0, 2.0, 1.0) | vec3(6.0, 5.0, 4.0) | vec3(10.0, 9.0, 8.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 - vec3(1.0, 2.0, 3.0); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case uint_to_vec4 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input uint in0 = [ 1 | 3 | 4 | 7 | 11 ]; |
| output vec4 out0 = [ vec4(0.0, -1.0, -2.0, -3.0) | vec4(2.0, 1.0, 0.0, -1.0) | vec4(3.0, 2.0, 1.0, 0.0) | vec4(6.0, 5.0, 4.0, 3.0) | vec4(10.0, 9.0, 8.0, 7.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 - vec4(1.0, 2.0, 3.0, 4.0); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case ivec2_to_vec2 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input ivec2 in0 = [ ivec2(1, 2) | ivec2(2, 1) | ivec2(3, 7) ]; |
| output vec2 out0 = [ vec2(0.0, 0.0) | vec2(1.0, -1.0) | vec2(2.0, 5.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 - vec2(1.0, 2.0); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case uvec2_to_vec2 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input uvec2 in0 = [ uvec2(2, 3) | uvec2(4, 6) | uvec2(1, 13) ]; |
| output vec2 out0 = [ vec2(1.0, 1.0) | vec2(3.0, 4.0) | vec2(0.0, 11.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 - vec2(1.0, 2.0); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case ivec3_to_vec3 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input ivec3 in0 = [ ivec3(1, 2, 3) | ivec3(2, 1, 2) | ivec3(3, 7, 2) ]; |
| output vec3 out0 = [ vec3(0.0, 0.0, 0.0) | vec3(1.0, -1.0, -1.0) | vec3(2.0, 5.0, -1.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 - vec3(1.0, 2.0, 3.0); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case uvec3_to_vec3 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input uvec3 in0 = [ uvec3(2, 3, 5) | uvec3(4, 6, 2) | uvec3(1, 13, 7) ]; |
| output vec3 out0 = [ vec3(1.0, 1.0, 2.0) | vec3(3.0, 4.0, -1.0) | vec3(0.0, 11.0, 4.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 - vec3(1.0, 2.0, 3.0); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case ivec4_to_vec4 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input ivec4 in0 = [ ivec4(1, 2, 3, 4) | ivec4(2, 1, 2, 6) | ivec4(3, 7, 2, 5) ]; |
| output vec4 out0 = [ vec4(0.0, 0.0, 0.0, 0.0) | vec4(1.0, -1.0, -1.0, 2.0) | vec4(2.0, 5.0, -1.0, 1.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 - vec4(1.0, 2.0, 3.0, 4.0); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case uvec4_to_vec4 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input uvec4 in0 = [ uvec4(2, 3, 5, 8) | uvec4(4, 6, 2, 9) | uvec4(1, 13, 7, 4) ]; |
| output vec4 out0 = [ vec4(1.0, 1.0, 2.0, 4.0) | vec4(3.0, 4.0, -1.0, 5.0) | vec4(0.0, 11.0, 4.0, 0.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 - vec4(1.0, 2.0, 3.0, 4.0); |
| ${OUTPUT} |
| } |
| "" |
| end |
| |
| end # sub |
| group mul "Multiplication" |
| |
| case int_to_float |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input int in0 = [ 2 | 1 | 1 | 3 | 5 ]; |
| output float out0 = [ 4.0 | 2.0 | 2.0 | 6.0 | 10.0 ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 * 2.0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case int_to_uint |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input int in0 = [ 2 | 1 | 1 | 3 | 5 ]; |
| output uint out0 = [ 4 | 2 | 2 | 6 | 10 ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 * 2; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case int_to_vec2 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input int in0 = [ 2 | 1 | 1 | 3 | 5 ]; |
| output vec2 out0 = [ vec2(2.0, 4.0) | vec2(1.0, 2.0) | vec2(1.0, 2.0) | vec2(3.0, 6.0) | vec2(5.0, 10.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 * vec2(1.0, 2.0); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case int_to_vec3 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input int in0 = [ 2 | 1 | 1 | 3 | 5 ]; |
| output vec3 out0 = [ vec3(2.0, 4.0, 6.0) | vec3(1.0, 2.0, 3.0) | vec3(1.0, 2.0, 3.0) | vec3(3.0, 6.0, 9.0) | vec3(5.0, 10.0, 15.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 * vec3(1.0, 2.0, 3.0); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case int_to_vec4 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input int in0 = [ 2 | 1 | 1 | 3 | 5 ]; |
| output vec4 out0 = [ vec4(2.0, 4.0, 6.0, 8.0) | vec4(1.0, 2.0, 3.0, 4.0) | vec4(1.0, 2.0, 3.0, 4.0) | vec4(3.0, 6.0, 9.0, 12.0) | vec4(5.0, 10.0, 15.0, 20.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 * vec4(1.0, 2.0, 3.0, 4.0); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case int_to_uvec2 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input int in0 = [ 2 | 1 | 1 | 3 | 5 ]; |
| output uvec2 out0 = [ uvec2(2, 4) | uvec2(1, 2) | uvec2(1, 2) | uvec2(3, 6) | uvec2(5, 10) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 * uvec2(1, 2); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case int_to_uvec3 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input int in0 = [ 2 | 1 | 1 | 3 | 5 ]; |
| output uvec3 out0 = [ uvec3(2, 4, 6) | uvec3(1, 2, 3) | uvec3(1, 2, 3) | uvec3(3, 6, 9) | uvec3(5, 10, 15) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 * uvec3(1, 2, 3); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case int_to_uvec4 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input int in0 = [ 2 | 1 | 1 | 3 | 5 ]; |
| output uvec4 out0 = [ uvec4(2, 4, 6, 8) | uvec4(1, 2, 3, 4) | uvec4(1, 2, 3, 4) | uvec4(3, 6, 9, 12) | uvec4(5, 10, 15, 20) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 * uvec4(1, 2, 3, 4); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case uint_to_float |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input uint in0 = [ 1 | 3 | 4 | 7 | 11 ]; |
| output float out0 = [ 2.0 | 6.0 | 8.0 | 14.0 | 22.0 ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 * 2.0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case uint_to_vec2 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input uint in0 = [ 1 | 3 | 4 | 7 | 11 ]; |
| output vec2 out0 = [ vec2(1.0, 2.0) | vec2(3.0, 6.0) | vec2(4.0, 8.0) | vec2(7.0, 14.0) | vec2(11.0, 22.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 * vec2(1.0, 2.0); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case uint_to_vec3 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input uint in0 = [ 1 | 3 | 4 | 7 | 11 ]; |
| output vec3 out0 = [ vec3(1.0, 2.0, 3.0) | vec3(3.0, 6.0, 9.0) | vec3(4.0, 8.0, 12.0) | vec3(7.0, 14.0, 21.0) | vec3(11.0, 22.0, 33.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 * vec3(1.0, 2.0, 3.0); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case uint_to_vec4 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input uint in0 = [ 1 | 3 | 4 | 7 | 11 ]; |
| output vec4 out0 = [ vec4(1.0, 2.0, 3.0, 4.0) | vec4(3.0, 6.0, 9.0, 12.0) | vec4(4.0, 8.0, 12.0, 16.0) | vec4(7.0, 14.0, 21.0, 28.0) | vec4(11.0, 22.0, 33.0, 44.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 * vec4(1.0, 2.0, 3.0, 4.0); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case ivec2_to_uvec2 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input ivec2 in0 = [ ivec2(1, 2) | ivec2(2, 1) | ivec2(3, 7) ]; |
| output uvec2 out0 = [ uvec2(1, 4) | uvec2(2, 2) | uvec2(3, 14) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 * uvec2(1, 2); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case ivec2_to_vec2 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input ivec2 in0 = [ ivec2(1, 2) | ivec2(2, 1) | ivec2(3, 7) ]; |
| output vec2 out0 = [ vec2(1.0, 4.0) | vec2(2.0, 2.0) | vec2(3.0, 14.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 * vec2(1.0, 2.0); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case uvec2_to_vec2 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input uvec2 in0 = [ uvec2(2, 3) | uvec2(4, 6) | uvec2(1, 13) ]; |
| output vec2 out0 = [ vec2(2.0, 6.0) | vec2(4.0, 12.0) | vec2(1.0, 26.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 * vec2(1.0, 2.0); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case ivec3_to_uvec3 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input ivec3 in0 = [ ivec3(1, 2, 3) | ivec3(2, 1, 2) | ivec3(3, 7, 2) ]; |
| output uvec3 out0 = [ uvec3(1, 4, 9) | uvec3(2, 2, 6) | uvec3(3, 14, 6) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 * uvec3(1, 2, 3); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case ivec3_to_vec3 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input ivec3 in0 = [ ivec3(1, 2, 3) | ivec3(2, 1, 2) | ivec3(3, 7, 2) ]; |
| output vec3 out0 = [ vec3(1.0, 4.0, 9.0) | vec3(2.0, 2.0, 6.0) | vec3(3.0, 14.0, 6.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 * vec3(1.0, 2.0, 3.0); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case uvec3_to_vec3 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input uvec3 in0 = [ uvec3(2, 3, 5) | uvec3(4, 6, 2) | uvec3(1, 13, 7) ]; |
| output vec3 out0 = [ vec3(2.0, 6.0, 15.0) | vec3(4.0, 12.0, 6.0) | vec3(1.0, 26.0, 21.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 * vec3(1.0, 2.0, 3.0); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case ivec4_to_uvec4 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input ivec4 in0 = [ ivec4(1, 2, 3, 4) | ivec4(2, 1, 2, 6) | ivec4(3, 7, 2, 5) ]; |
| output uvec4 out0 = [ uvec4(1, 4, 9, 16) | uvec4(2, 2, 6, 24) | uvec4(3, 14, 6, 20) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 * uvec4(1, 2, 3, 4); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case ivec4_to_vec4 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input ivec4 in0 = [ ivec4(1, 2, 3, 4) | ivec4(2, 1, 2, 6) | ivec4(3, 7, 2, 5) ]; |
| output vec4 out0 = [ vec4(1.0, 4.0, 9.0, 16.0) | vec4(2.0, 2.0, 6.0, 24.0) | vec4(3.0, 14.0, 6.0, 20.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 * vec4(1.0, 2.0, 3.0, 4.0); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case uvec4_to_vec4 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input uvec4 in0 = [ uvec4(2, 3, 5, 8) | uvec4(4, 6, 2, 9) | uvec4(1, 13, 7, 4) ]; |
| output vec4 out0 = [ vec4(2.0, 6.0, 15.0, 32.0) | vec4(4.0, 12.0, 6.0, 36.0) | vec4(1.0, 26.0, 21.0, 16.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 * vec4(1.0, 2.0, 3.0, 4.0); |
| ${OUTPUT} |
| } |
| "" |
| end |
| |
| end # mul |
| group div "Division" |
| |
| case int_to_float |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input int in0 = [ 2 | 1 | 1 | 3 | 5 ]; |
| output float out0 = [ 1.0 | 0.5 | 0.5 | 1.5 | 2.5 ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 / 2.0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case int_to_uint |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input int in0 = [ 2 | 1 | 1 | 3 | 5 ]; |
| output uint out0 = [ 1 | 0 | 0 | 1 | 2 ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 / 2; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case int_to_vec2 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input int in0 = [ 2 | 1 | 1 | 3 | 5 ]; |
| output vec2 out0 = [ vec2(2.0, 1.0) | vec2(1.0, 0.5) | vec2(1.0, 0.5) | vec2(3.0, 1.5) | vec2(5.0, 2.5) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 / vec2(1.0, 2.0); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case int_to_vec3 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input int in0 = [ 2 | 1 | 1 | 3 | 5 ]; |
| output vec3 out0 = [ vec3(2.0, 1.0, 0.666666666667) | vec3(1.0, 0.5, 0.333333333333) | vec3(1.0, 0.5, 0.333333333333) | vec3(3.0, 1.5, 1.0) | vec3(5.0, 2.5, 1.66666666667) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 / vec3(1.0, 2.0, 3.0); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case int_to_vec4 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input int in0 = [ 2 | 1 | 1 | 3 | 5 ]; |
| output vec4 out0 = [ vec4(2.0, 1.0, 0.666666666667, 0.5) | vec4(1.0, 0.5, 0.333333333333, 0.25) | vec4(1.0, 0.5, 0.333333333333, 0.25) | vec4(3.0, 1.5, 1.0, 0.75) | vec4(5.0, 2.5, 1.66666666667, 1.25) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 / vec4(1.0, 2.0, 3.0, 4.0); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case int_to_uvec2 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input int in0 = [ 2 | 1 | 1 | 3 | 5 ]; |
| output uvec2 out0 = [ uvec2(2, 1) | uvec2(1, 0) | uvec2(1, 0) | uvec2(3, 1) | uvec2(5, 2) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 / uvec2(1, 2); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case int_to_uvec3 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input int in0 = [ 2 | 1 | 1 | 3 | 5 ]; |
| output uvec3 out0 = [ uvec3(2, 1, 0) | uvec3(1, 0, 0) | uvec3(1, 0, 0) | uvec3(3, 1, 1) | uvec3(5, 2, 1) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 / uvec3(1, 2, 3); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case int_to_uvec4 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input int in0 = [ 2 | 1 | 1 | 3 | 5 ]; |
| output uvec4 out0 = [ uvec4(2, 1, 0, 0) | uvec4(1, 0, 0, 0) | uvec4(1, 0, 0, 0) | uvec4(3, 1, 1, 0) | uvec4(5, 2, 1, 1) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 / uvec4(1, 2, 3, 4); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case uint_to_float |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input uint in0 = [ 1 | 3 | 4 | 7 | 11 ]; |
| output float out0 = [ 0.5 | 1.5 | 2.0 | 3.5 | 5.5 ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 / 2.0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case uint_to_vec2 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input uint in0 = [ 1 | 3 | 4 | 7 | 11 ]; |
| output vec2 out0 = [ vec2(1.0, 0.5) | vec2(3.0, 1.5) | vec2(4.0, 2.0) | vec2(7.0, 3.5) | vec2(11.0, 5.5) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 / vec2(1.0, 2.0); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case uint_to_vec3 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input uint in0 = [ 1 | 3 | 4 | 7 | 11 ]; |
| output vec3 out0 = [ vec3(1.0, 0.5, 0.333333333333) | vec3(3.0, 1.5, 1.0) | vec3(4.0, 2.0, 1.33333333333) | vec3(7.0, 3.5, 2.33333333333) | vec3(11.0, 5.5, 3.66666666667) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 / vec3(1.0, 2.0, 3.0); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case uint_to_vec4 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input uint in0 = [ 1 | 3 | 4 | 7 | 11 ]; |
| output vec4 out0 = [ vec4(1.0, 0.5, 0.333333333333, 0.25) | vec4(3.0, 1.5, 1.0, 0.75) | vec4(4.0, 2.0, 1.33333333333, 1.0) | vec4(7.0, 3.5, 2.33333333333, 1.75) | vec4(11.0, 5.5, 3.66666666667, 2.75) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 / vec4(1.0, 2.0, 3.0, 4.0); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case ivec2_to_uvec2 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input ivec2 in0 = [ ivec2(1, 2) | ivec2(2, 1) | ivec2(3, 7) ]; |
| output uvec2 out0 = [ uvec2(1, 1) | uvec2(2, 0) | uvec2(3, 3) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 / uvec2(1, 2); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case ivec2_to_vec2 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input ivec2 in0 = [ ivec2(1, 2) | ivec2(2, 1) | ivec2(3, 7) ]; |
| output vec2 out0 = [ vec2(1.0, 1.0) | vec2(2.0, 0.5) | vec2(3.0, 3.5) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 / vec2(1.0, 2.0); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case uvec2_to_vec2 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input uvec2 in0 = [ uvec2(2, 3) | uvec2(4, 6) | uvec2(1, 13) ]; |
| output vec2 out0 = [ vec2(2.0, 1.5) | vec2(4.0, 3.0) | vec2(1.0, 6.5) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 / vec2(1.0, 2.0); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case ivec3_to_uvec3 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input ivec3 in0 = [ ivec3(1, 2, 3) | ivec3(2, 1, 2) | ivec3(3, 7, 2) ]; |
| output uvec3 out0 = [ uvec3(1, 1, 1) | uvec3(2, 0, 0) | uvec3(3, 3, 0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 / uvec3(1, 2, 3); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case ivec3_to_vec3 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input ivec3 in0 = [ ivec3(1, 2, 3) | ivec3(2, 1, 2) | ivec3(3, 7, 2) ]; |
| output vec3 out0 = [ vec3(1.0, 1.0, 1.0) | vec3(2.0, 0.5, 0.666666666667) | vec3(3.0, 3.5, 0.666666666667) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 / vec3(1.0, 2.0, 3.0); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case uvec3_to_vec3 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input uvec3 in0 = [ uvec3(2, 3, 5) | uvec3(4, 6, 2) | uvec3(1, 13, 7) ]; |
| output vec3 out0 = [ vec3(2.0, 1.5, 1.66666666667) | vec3(4.0, 3.0, 0.666666666667) | vec3(1.0, 6.5, 2.33333333333) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 / vec3(1.0, 2.0, 3.0); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case ivec4_to_uvec4 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input ivec4 in0 = [ ivec4(1, 2, 3, 4) | ivec4(2, 1, 2, 6) | ivec4(3, 7, 2, 5) ]; |
| output uvec4 out0 = [ uvec4(1, 1, 1, 1) | uvec4(2, 0, 0, 1) | uvec4(3, 3, 0, 1) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 / uvec4(1, 2, 3, 4); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case ivec4_to_vec4 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input ivec4 in0 = [ ivec4(1, 2, 3, 4) | ivec4(2, 1, 2, 6) | ivec4(3, 7, 2, 5) ]; |
| output vec4 out0 = [ vec4(1.0, 1.0, 1.0, 1.0) | vec4(2.0, 0.5, 0.666666666667, 1.5) | vec4(3.0, 3.5, 0.666666666667, 1.25) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 / vec4(1.0, 2.0, 3.0, 4.0); |
| ${OUTPUT} |
| } |
| "" |
| end |
| case uvec4_to_vec4 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input uvec4 in0 = [ uvec4(2, 3, 5, 8) | uvec4(4, 6, 2, 9) | uvec4(1, 13, 7, 4) ]; |
| output vec4 out0 = [ vec4(2.0, 1.5, 1.66666666667, 2.0) | vec4(4.0, 3.0, 0.666666666667, 2.25) | vec4(1.0, 6.5, 2.33333333333, 1.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = in0 / vec4(1.0, 2.0, 3.0, 4.0); |
| ${OUTPUT} |
| } |
| "" |
| end |
| |
| end # div |
| |
| end # input_before_literal |
| group literal_before_input "Literal before input" |
| |
| group add "Addition" |
| |
| case int_to_float |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input int in0 = [ 2 | 1 | 1 | 3 | 5 ]; |
| output float out0 = [ 4.0 | 3.0 | 3.0 | 5.0 | 7.0 ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = 2.0 + in0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case int_to_uint |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input int in0 = [ 2 | 1 | 1 | 3 | 5 ]; |
| output uint out0 = [ 4 | 3 | 3 | 5 | 7 ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = 2 + in0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case int_to_vec2 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input int in0 = [ 2 | 1 | 1 | 3 | 5 ]; |
| output vec2 out0 = [ vec2(3.0, 4.0) | vec2(2.0, 3.0) | vec2(2.0, 3.0) | vec2(4.0, 5.0) | vec2(6.0, 7.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = vec2(1.0, 2.0) + in0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case int_to_vec3 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input int in0 = [ 2 | 1 | 1 | 3 | 5 ]; |
| output vec3 out0 = [ vec3(3.0, 4.0, 5.0) | vec3(2.0, 3.0, 4.0) | vec3(2.0, 3.0, 4.0) | vec3(4.0, 5.0, 6.0) | vec3(6.0, 7.0, 8.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = vec3(1.0, 2.0, 3.0) + in0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case int_to_vec4 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input int in0 = [ 2 | 1 | 1 | 3 | 5 ]; |
| output vec4 out0 = [ vec4(3.0, 4.0, 5.0, 6.0) | vec4(2.0, 3.0, 4.0, 5.0) | vec4(2.0, 3.0, 4.0, 5.0) | vec4(4.0, 5.0, 6.0, 7.0) | vec4(6.0, 7.0, 8.0, 9.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = vec4(1.0, 2.0, 3.0, 4.0) + in0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case int_to_uvec2 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input int in0 = [ 2 | 1 | 1 | 3 | 5 ]; |
| output uvec2 out0 = [ uvec2(3, 4) | uvec2(2, 3) | uvec2(2, 3) | uvec2(4, 5) | uvec2(6, 7) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = uvec2(1, 2) + in0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case int_to_uvec3 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input int in0 = [ 2 | 1 | 1 | 3 | 5 ]; |
| output uvec3 out0 = [ uvec3(3, 4, 5) | uvec3(2, 3, 4) | uvec3(2, 3, 4) | uvec3(4, 5, 6) | uvec3(6, 7, 8) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = uvec3(1, 2, 3) + in0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case int_to_uvec4 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input int in0 = [ 2 | 1 | 1 | 3 | 5 ]; |
| output uvec4 out0 = [ uvec4(3, 4, 5, 6) | uvec4(2, 3, 4, 5) | uvec4(2, 3, 4, 5) | uvec4(4, 5, 6, 7) | uvec4(6, 7, 8, 9) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = uvec4(1, 2, 3, 4) + in0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case uint_to_float |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input uint in0 = [ 1 | 3 | 4 | 7 | 11 ]; |
| output float out0 = [ 3.0 | 5.0 | 6.0 | 9.0 | 13.0 ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = 2.0 + in0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case uint_to_vec2 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input uint in0 = [ 1 | 3 | 4 | 7 | 11 ]; |
| output vec2 out0 = [ vec2(2.0, 3.0) | vec2(4.0, 5.0) | vec2(5.0, 6.0) | vec2(8.0, 9.0) | vec2(12.0, 13.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = vec2(1.0, 2.0) + in0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case uint_to_vec3 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input uint in0 = [ 1 | 3 | 4 | 7 | 11 ]; |
| output vec3 out0 = [ vec3(2.0, 3.0, 4.0) | vec3(4.0, 5.0, 6.0) | vec3(5.0, 6.0, 7.0) | vec3(8.0, 9.0, 10.0) | vec3(12.0, 13.0, 14.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = vec3(1.0, 2.0, 3.0) + in0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case uint_to_vec4 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input uint in0 = [ 1 | 3 | 4 | 7 | 11 ]; |
| output vec4 out0 = [ vec4(2.0, 3.0, 4.0, 5.0) | vec4(4.0, 5.0, 6.0, 7.0) | vec4(5.0, 6.0, 7.0, 8.0) | vec4(8.0, 9.0, 10.0, 11.0) | vec4(12.0, 13.0, 14.0, 15.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = vec4(1.0, 2.0, 3.0, 4.0) + in0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case ivec2_to_uvec2 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input ivec2 in0 = [ ivec2(1, 2) | ivec2(2, 1) | ivec2(3, 7) ]; |
| output uvec2 out0 = [ uvec2(2, 4) | uvec2(3, 3) | uvec2(4, 9) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = uvec2(1, 2) + in0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case ivec2_to_vec2 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input ivec2 in0 = [ ivec2(1, 2) | ivec2(2, 1) | ivec2(3, 7) ]; |
| output vec2 out0 = [ vec2(2.0, 4.0) | vec2(3.0, 3.0) | vec2(4.0, 9.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = vec2(1.0, 2.0) + in0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case uvec2_to_vec2 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input uvec2 in0 = [ uvec2(2, 3) | uvec2(4, 6) | uvec2(1, 13) ]; |
| output vec2 out0 = [ vec2(3.0, 5.0) | vec2(5.0, 8.0) | vec2(2.0, 15.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = vec2(1.0, 2.0) + in0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case ivec3_to_uvec3 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input ivec3 in0 = [ ivec3(1, 2, 3) | ivec3(2, 1, 2) | ivec3(3, 7, 2) ]; |
| output uvec3 out0 = [ uvec3(2, 4, 6) | uvec3(3, 3, 5) | uvec3(4, 9, 5) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = uvec3(1, 2, 3) + in0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case ivec3_to_vec3 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input ivec3 in0 = [ ivec3(1, 2, 3) | ivec3(2, 1, 2) | ivec3(3, 7, 2) ]; |
| output vec3 out0 = [ vec3(2.0, 4.0, 6.0) | vec3(3.0, 3.0, 5.0) | vec3(4.0, 9.0, 5.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = vec3(1.0, 2.0, 3.0) + in0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case uvec3_to_vec3 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input uvec3 in0 = [ uvec3(2, 3, 5) | uvec3(4, 6, 2) | uvec3(1, 13, 7) ]; |
| output vec3 out0 = [ vec3(3.0, 5.0, 8.0) | vec3(5.0, 8.0, 5.0) | vec3(2.0, 15.0, 10.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = vec3(1.0, 2.0, 3.0) + in0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case ivec4_to_uvec4 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input ivec4 in0 = [ ivec4(1, 2, 3, 4) | ivec4(2, 1, 2, 6) | ivec4(3, 7, 2, 5) ]; |
| output uvec4 out0 = [ uvec4(2, 4, 6, 8) | uvec4(3, 3, 5, 10) | uvec4(4, 9, 5, 9) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = uvec4(1, 2, 3, 4) + in0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case ivec4_to_vec4 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input ivec4 in0 = [ ivec4(1, 2, 3, 4) | ivec4(2, 1, 2, 6) | ivec4(3, 7, 2, 5) ]; |
| output vec4 out0 = [ vec4(2.0, 4.0, 6.0, 8.0) | vec4(3.0, 3.0, 5.0, 10.0) | vec4(4.0, 9.0, 5.0, 9.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = vec4(1.0, 2.0, 3.0, 4.0) + in0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case uvec4_to_vec4 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input uvec4 in0 = [ uvec4(2, 3, 5, 8) | uvec4(4, 6, 2, 9) | uvec4(1, 13, 7, 4) ]; |
| output vec4 out0 = [ vec4(3.0, 5.0, 8.0, 12.0) | vec4(5.0, 8.0, 5.0, 13.0) | vec4(2.0, 15.0, 10.0, 8.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = vec4(1.0, 2.0, 3.0, 4.0) + in0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| |
| end # add |
| group sub "Subtraction" |
| |
| case int_to_float |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input int in0 = [ 2 | 1 | 1 | 3 | 5 ]; |
| output float out0 = [ 0.0 | 1.0 | 1.0 | -1.0 | -3.0 ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = 2.0 - in0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case int_to_vec2 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input int in0 = [ 2 | 1 | 1 | 3 | 5 ]; |
| output vec2 out0 = [ vec2(-1.0, 0.0) | vec2(0.0, 1.0) | vec2(0.0, 1.0) | vec2(-2.0, -1.0) | vec2(-4.0, -3.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = vec2(1.0, 2.0) - in0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case int_to_vec3 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input int in0 = [ 2 | 1 | 1 | 3 | 5 ]; |
| output vec3 out0 = [ vec3(-1.0, 0.0, 1.0) | vec3(0.0, 1.0, 2.0) | vec3(0.0, 1.0, 2.0) | vec3(-2.0, -1.0, 0.0) | vec3(-4.0, -3.0, -2.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = vec3(1.0, 2.0, 3.0) - in0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case int_to_vec4 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input int in0 = [ 2 | 1 | 1 | 3 | 5 ]; |
| output vec4 out0 = [ vec4(-1.0, 0.0, 1.0, 2.0) | vec4(0.0, 1.0, 2.0, 3.0) | vec4(0.0, 1.0, 2.0, 3.0) | vec4(-2.0, -1.0, 0.0, 1.0) | vec4(-4.0, -3.0, -2.0, -1.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = vec4(1.0, 2.0, 3.0, 4.0) - in0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case uint_to_float |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input uint in0 = [ 1 | 3 | 4 | 7 | 11 ]; |
| output float out0 = [ 1.0 | -1.0 | -2.0 | -5.0 | -9.0 ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = 2.0 - in0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case uint_to_vec2 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input uint in0 = [ 1 | 3 | 4 | 7 | 11 ]; |
| output vec2 out0 = [ vec2(0.0, 1.0) | vec2(-2.0, -1.0) | vec2(-3.0, -2.0) | vec2(-6.0, -5.0) | vec2(-10.0, -9.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = vec2(1.0, 2.0) - in0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case uint_to_vec3 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input uint in0 = [ 1 | 3 | 4 | 7 | 11 ]; |
| output vec3 out0 = [ vec3(0.0, 1.0, 2.0) | vec3(-2.0, -1.0, 0.0) | vec3(-3.0, -2.0, -1.0) | vec3(-6.0, -5.0, -4.0) | vec3(-10.0, -9.0, -8.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = vec3(1.0, 2.0, 3.0) - in0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case uint_to_vec4 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input uint in0 = [ 1 | 3 | 4 | 7 | 11 ]; |
| output vec4 out0 = [ vec4(0.0, 1.0, 2.0, 3.0) | vec4(-2.0, -1.0, 0.0, 1.0) | vec4(-3.0, -2.0, -1.0, 0.0) | vec4(-6.0, -5.0, -4.0, -3.0) | vec4(-10.0, -9.0, -8.0, -7.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = vec4(1.0, 2.0, 3.0, 4.0) - in0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case ivec2_to_vec2 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input ivec2 in0 = [ ivec2(1, 2) | ivec2(2, 1) | ivec2(3, 7) ]; |
| output vec2 out0 = [ vec2(0.0, 0.0) | vec2(-1.0, 1.0) | vec2(-2.0, -5.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = vec2(1.0, 2.0) - in0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case uvec2_to_vec2 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input uvec2 in0 = [ uvec2(2, 3) | uvec2(4, 6) | uvec2(1, 13) ]; |
| output vec2 out0 = [ vec2(-1.0, -1.0) | vec2(-3.0, -4.0) | vec2(0.0, -11.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = vec2(1.0, 2.0) - in0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case ivec3_to_vec3 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input ivec3 in0 = [ ivec3(1, 2, 3) | ivec3(2, 1, 2) | ivec3(3, 7, 2) ]; |
| output vec3 out0 = [ vec3(0.0, 0.0, 0.0) | vec3(-1.0, 1.0, 1.0) | vec3(-2.0, -5.0, 1.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = vec3(1.0, 2.0, 3.0) - in0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case uvec3_to_vec3 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input uvec3 in0 = [ uvec3(2, 3, 5) | uvec3(4, 6, 2) | uvec3(1, 13, 7) ]; |
| output vec3 out0 = [ vec3(-1.0, -1.0, -2.0) | vec3(-3.0, -4.0, 1.0) | vec3(0.0, -11.0, -4.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = vec3(1.0, 2.0, 3.0) - in0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case ivec4_to_vec4 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input ivec4 in0 = [ ivec4(1, 2, 3, 4) | ivec4(2, 1, 2, 6) | ivec4(3, 7, 2, 5) ]; |
| output vec4 out0 = [ vec4(0.0, 0.0, 0.0, 0.0) | vec4(-1.0, 1.0, 1.0, -2.0) | vec4(-2.0, -5.0, 1.0, -1.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = vec4(1.0, 2.0, 3.0, 4.0) - in0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case uvec4_to_vec4 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input uvec4 in0 = [ uvec4(2, 3, 5, 8) | uvec4(4, 6, 2, 9) | uvec4(1, 13, 7, 4) ]; |
| output vec4 out0 = [ vec4(-1.0, -1.0, -2.0, -4.0) | vec4(-3.0, -4.0, 1.0, -5.0) | vec4(0.0, -11.0, -4.0, 0.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = vec4(1.0, 2.0, 3.0, 4.0) - in0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| |
| end # sub |
| group mul "Multiplication" |
| |
| case int_to_float |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input int in0 = [ 2 | 1 | 1 | 3 | 5 ]; |
| output float out0 = [ 4.0 | 2.0 | 2.0 | 6.0 | 10.0 ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = 2.0 * in0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case int_to_uint |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input int in0 = [ 2 | 1 | 1 | 3 | 5 ]; |
| output uint out0 = [ 4 | 2 | 2 | 6 | 10 ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = 2 * in0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case int_to_vec2 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input int in0 = [ 2 | 1 | 1 | 3 | 5 ]; |
| output vec2 out0 = [ vec2(2.0, 4.0) | vec2(1.0, 2.0) | vec2(1.0, 2.0) | vec2(3.0, 6.0) | vec2(5.0, 10.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = vec2(1.0, 2.0) * in0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case int_to_vec3 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input int in0 = [ 2 | 1 | 1 | 3 | 5 ]; |
| output vec3 out0 = [ vec3(2.0, 4.0, 6.0) | vec3(1.0, 2.0, 3.0) | vec3(1.0, 2.0, 3.0) | vec3(3.0, 6.0, 9.0) | vec3(5.0, 10.0, 15.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = vec3(1.0, 2.0, 3.0) * in0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case int_to_vec4 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input int in0 = [ 2 | 1 | 1 | 3 | 5 ]; |
| output vec4 out0 = [ vec4(2.0, 4.0, 6.0, 8.0) | vec4(1.0, 2.0, 3.0, 4.0) | vec4(1.0, 2.0, 3.0, 4.0) | vec4(3.0, 6.0, 9.0, 12.0) | vec4(5.0, 10.0, 15.0, 20.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = vec4(1.0, 2.0, 3.0, 4.0) * in0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case int_to_uvec2 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input int in0 = [ 2 | 1 | 1 | 3 | 5 ]; |
| output uvec2 out0 = [ uvec2(2, 4) | uvec2(1, 2) | uvec2(1, 2) | uvec2(3, 6) | uvec2(5, 10) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = uvec2(1, 2) * in0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case int_to_uvec3 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input int in0 = [ 2 | 1 | 1 | 3 | 5 ]; |
| output uvec3 out0 = [ uvec3(2, 4, 6) | uvec3(1, 2, 3) | uvec3(1, 2, 3) | uvec3(3, 6, 9) | uvec3(5, 10, 15) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = uvec3(1, 2, 3) * in0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case int_to_uvec4 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input int in0 = [ 2 | 1 | 1 | 3 | 5 ]; |
| output uvec4 out0 = [ uvec4(2, 4, 6, 8) | uvec4(1, 2, 3, 4) | uvec4(1, 2, 3, 4) | uvec4(3, 6, 9, 12) | uvec4(5, 10, 15, 20) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = uvec4(1, 2, 3, 4) * in0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case uint_to_float |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input uint in0 = [ 1 | 3 | 4 | 7 | 11 ]; |
| output float out0 = [ 2.0 | 6.0 | 8.0 | 14.0 | 22.0 ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = 2.0 * in0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case uint_to_vec2 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input uint in0 = [ 1 | 3 | 4 | 7 | 11 ]; |
| output vec2 out0 = [ vec2(1.0, 2.0) | vec2(3.0, 6.0) | vec2(4.0, 8.0) | vec2(7.0, 14.0) | vec2(11.0, 22.0) ]; |
| } |
| |
| both "" |
| #version 320 es |
| precision highp float; |
| ${DECLARATIONS} |
| |
| void main() |
| { |
| ${SETUP} |
| out0 = vec2(1.0, 2.0) * in0; |
| ${OUTPUT} |
| } |
| "" |
| end |
| case uint_to_vec3 |
| version 320 es |
| require extension { "GL_EXT_shader_implicit_conversions" } in { vertex, fragment } |
| values |
| { |
| input uint in0 = [ 1 | 3 | 4 | 7 | 11 ]; |
| output vec3 out0 = [ vec3(1.0, 2.0, 3.0) | vec3(3.0, 6.0, 9.0) | vec3(
|