13c827367444ee418f129b2c238299f49d3264554Jarkko Poyry# WARNING: This file is auto-generated. Do NOT modify it manually, but rather 23c827367444ee418f129b2c238299f49d3264554Jarkko Poyry# modify the generating script file. Otherwise changes will be lost! 33c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 43c827367444ee418f129b2c238299f49d3264554Jarkko Poyrygroup scalar_to_scalar "Scalar to Scalar Conversions" 53c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 63c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case float_to_float 73c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 83c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 93c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output float out0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = float(in0); 233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case float_to_int 293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output int out0 = [ 0 | 1 | 2 | 3 | 0 | -8 | -20 | 36 ]; 333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = int(in0); 453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case float_to_bool 513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bool out0 = [ false | true | true | true | true | true | true | true ]; 553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bool(in0); 673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case int_to_float 733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output float out0 = [ 0.0 | 1.0 | 2.0 | 5.0 | 8.0 | 11.0 | -12.0 | -66.0 | -192.0 | 255.0 ]; 773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = float(in0); 893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case int_to_int 953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output int out0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 1003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 1023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 1033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 1043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 1063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 1083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 1093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 1103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = int(in0); 1113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 1123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 1133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 1143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 1153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case int_to_bool 1173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 1183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 1193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 1203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bool out0 = [ false | true | true | true | true | true | true | true | true | true ]; 1213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 1223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 1243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 1253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 1263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 1283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 1303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 1313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 1323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bool(in0); 1333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 1343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 1353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 1363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 1373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bool_to_float 1393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 1403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 1413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in0 = [ true | false ]; 1423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output float out0 = [ 1.0 | 0.0 ]; 1433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 1443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 1463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 1473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 1483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 1503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 1523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 1533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 1543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = float(in0); 1553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 1563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 1573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 1583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 1593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bool_to_int 1613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 1623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 1633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in0 = [ true | false ]; 1643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output int out0 = [ 1 | 0 ]; 1653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 1663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 1683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 1693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 1703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 1723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 1743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 1753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 1763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = int(in0); 1773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 1783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 1793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 1803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 1813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bool_to_bool 1833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 1843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 1853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in0 = [ true | false ]; 1863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bool out0 = [ true | false ]; 1873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 1883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 1903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 1913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 1923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 1943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 1953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 1963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 1973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 1983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bool(in0); 1993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 2003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 2013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 2023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 2033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2053c827367444ee418f129b2c238299f49d3264554Jarkko Poyryend # scalar_to_scalar 2063c827367444ee418f129b2c238299f49d3264554Jarkko Poyrygroup scalar_to_vector "Scalar to Vector Conversions" 2073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case float_to_vec2 2093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 2103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 2113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 2123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec2 out0 = [ vec2(0.0, 0.0) | vec2(1.0, 1.0) | vec2(2.0, 2.0) | vec2(3.5, 3.5) | vec2(-0.5, -0.5) | vec2(-8.25, -8.25) | vec2(-20.125, -20.125) | vec2(36.8125, 36.8125) ]; 2133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 2143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 2163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 2173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 2183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 2203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 2223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 2233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 2243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec2(in0); 2253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 2263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 2273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 2283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 2293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case float_to_vec3 2313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 2323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 2333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 2343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec3 out0 = [ vec3(0.0, 0.0, 0.0) | vec3(1.0, 1.0, 1.0) | vec3(2.0, 2.0, 2.0) | vec3(3.5, 3.5, 3.5) | vec3(-0.5, -0.5, -0.5) | vec3(-8.25, -8.25, -8.25) | vec3(-20.125, -20.125, -20.125) | vec3(36.8125, 36.8125, 36.8125) ]; 2353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 2363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 2383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 2393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 2403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 2423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 2443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 2453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 2463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec3(in0); 2473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 2483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 2493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 2503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 2513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case float_to_vec4 2533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 2543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 2553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 2563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec4 out0 = [ vec4(0.0, 0.0, 0.0, 0.0) | vec4(1.0, 1.0, 1.0, 1.0) | vec4(2.0, 2.0, 2.0, 2.0) | vec4(3.5, 3.5, 3.5, 3.5) | vec4(-0.5, -0.5, -0.5, -0.5) | vec4(-8.25, -8.25, -8.25, -8.25) | vec4(-20.125, -20.125, -20.125, -20.125) | vec4(36.8125, 36.8125, 36.8125, 36.8125) ]; 2573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 2583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 2603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 2613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 2623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 2643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 2663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 2673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 2683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec4(in0); 2693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 2703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 2713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 2723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 2733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case float_to_ivec2 2753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 2763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 2773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 2783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(2, 2) | ivec2(3, 3) | ivec2(0, 0) | ivec2(-8, -8) | ivec2(-20, -20) | ivec2(36, 36) ]; 2793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 2803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 2823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 2833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 2843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 2863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 2883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 2893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 2903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec2(in0); 2913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 2923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 2933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 2943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 2953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 2963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case float_to_ivec3 2973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 2983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 2993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 3003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(2, 2, 2) | ivec3(3, 3, 3) | ivec3(0, 0, 0) | ivec3(-8, -8, -8) | ivec3(-20, -20, -20) | ivec3(36, 36, 36) ]; 3013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 3023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 3033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 3043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 3053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 3063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 3073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 3083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 3093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 3103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 3113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 3123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec3(in0); 3133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 3143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 3153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 3163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 3173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 3183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case float_to_ivec4 3193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 3203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 3213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 3223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(2, 2, 2, 2) | ivec4(3, 3, 3, 3) | ivec4(0, 0, 0, 0) | ivec4(-8, -8, -8, -8) | ivec4(-20, -20, -20, -20) | ivec4(36, 36, 36, 36) ]; 3233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 3243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 3253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 3263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 3273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 3283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 3293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 3303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 3313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 3323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 3333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 3343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec4(in0); 3353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 3363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 3373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 3383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 3393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 3403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case float_to_bvec2 3413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 3423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 3433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 3443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec2 out0 = [ bvec2(false, false) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) ]; 3453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 3463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 3473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 3483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 3493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 3503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 3513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 3523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 3533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 3543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 3553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 3563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec2(in0); 3573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 3583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 3593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 3603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 3613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 3623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case float_to_bvec3 3633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 3643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 3653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 3663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec3 out0 = [ bvec3(false, false, false) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) ]; 3673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 3683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 3693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 3703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 3713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 3723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 3733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 3743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 3753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 3763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 3773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 3783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec3(in0); 3793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 3803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 3813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 3823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 3833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 3843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case float_to_bvec4 3853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 3863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 3873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 3883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec4 out0 = [ bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) ]; 3893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 3903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 3913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 3923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 3933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 3943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 3953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 3963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 3973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 3983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 3993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 4003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec4(in0); 4013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 4023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 4033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 4043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 4053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 4063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case int_to_vec2 4073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 4083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 4093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 4103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec2 out0 = [ vec2(0.0, 0.0) | vec2(1.0, 1.0) | vec2(2.0, 2.0) | vec2(5.0, 5.0) | vec2(8.0, 8.0) | vec2(11.0, 11.0) | vec2(-12.0, -12.0) | vec2(-66.0, -66.0) | vec2(-192.0, -192.0) | vec2(255.0, 255.0) ]; 4113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 4123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 4133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 4143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 4153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 4163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 4173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 4183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 4193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 4203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 4213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 4223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec2(in0); 4233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 4243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 4253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 4263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 4273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 4283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case int_to_vec3 4293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 4303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 4313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 4323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec3 out0 = [ vec3(0.0, 0.0, 0.0) | vec3(1.0, 1.0, 1.0) | vec3(2.0, 2.0, 2.0) | vec3(5.0, 5.0, 5.0) | vec3(8.0, 8.0, 8.0) | vec3(11.0, 11.0, 11.0) | vec3(-12.0, -12.0, -12.0) | vec3(-66.0, -66.0, -66.0) | vec3(-192.0, -192.0, -192.0) | vec3(255.0, 255.0, 255.0) ]; 4333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 4343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 4353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 4363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 4373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 4383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 4393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 4403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 4413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 4423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 4433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 4443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec3(in0); 4453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 4463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 4473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 4483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 4493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 4503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case int_to_vec4 4513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 4523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 4533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 4543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec4 out0 = [ vec4(0.0, 0.0, 0.0, 0.0) | vec4(1.0, 1.0, 1.0, 1.0) | vec4(2.0, 2.0, 2.0, 2.0) | vec4(5.0, 5.0, 5.0, 5.0) | vec4(8.0, 8.0, 8.0, 8.0) | vec4(11.0, 11.0, 11.0, 11.0) | vec4(-12.0, -12.0, -12.0, -12.0) | vec4(-66.0, -66.0, -66.0, -66.0) | vec4(-192.0, -192.0, -192.0, -192.0) | vec4(255.0, 255.0, 255.0, 255.0) ]; 4553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 4563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 4573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 4583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 4593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 4603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 4613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 4623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 4633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 4643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 4653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 4663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec4(in0); 4673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 4683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 4693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 4703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 4713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 4723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case int_to_ivec2 4733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 4743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 4753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 4763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(2, 2) | ivec2(5, 5) | ivec2(8, 8) | ivec2(11, 11) | ivec2(-12, -12) | ivec2(-66, -66) | ivec2(-192, -192) | ivec2(255, 255) ]; 4773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 4783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 4793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 4803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 4813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 4823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 4833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 4843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 4853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 4863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 4873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 4883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec2(in0); 4893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 4903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 4913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 4923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 4933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 4943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case int_to_ivec3 4953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 4963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 4973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 4983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(2, 2, 2) | ivec3(5, 5, 5) | ivec3(8, 8, 8) | ivec3(11, 11, 11) | ivec3(-12, -12, -12) | ivec3(-66, -66, -66) | ivec3(-192, -192, -192) | ivec3(255, 255, 255) ]; 4993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 5003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 5013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 5023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 5033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 5043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 5053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 5063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 5073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 5083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 5093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 5103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec3(in0); 5113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 5123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 5133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 5143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 5153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 5163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case int_to_ivec4 5173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 5183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 5193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 5203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(2, 2, 2, 2) | ivec4(5, 5, 5, 5) | ivec4(8, 8, 8, 8) | ivec4(11, 11, 11, 11) | ivec4(-12, -12, -12, -12) | ivec4(-66, -66, -66, -66) | ivec4(-192, -192, -192, -192) | ivec4(255, 255, 255, 255) ]; 5213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 5223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 5233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 5243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 5253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 5263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 5273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 5283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 5293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 5303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 5313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 5323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec4(in0); 5333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 5343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 5353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 5363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 5373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 5383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case int_to_bvec2 5393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 5403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 5413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 5423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec2 out0 = [ bvec2(false, false) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) ]; 5433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 5443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 5453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 5463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 5473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 5483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 5493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 5503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 5513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 5523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 5533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 5543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec2(in0); 5553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 5563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 5573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 5583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 5593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 5603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case int_to_bvec3 5613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 5623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 5633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 5643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec3 out0 = [ bvec3(false, false, false) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) ]; 5653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 5663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 5673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 5683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 5693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 5703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 5713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 5723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 5733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 5743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 5753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 5763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec3(in0); 5773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 5783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 5793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 5803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 5813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 5823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case int_to_bvec4 5833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 5843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 5853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 5863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec4 out0 = [ bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) ]; 5873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 5883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 5893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 5903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 5913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 5923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 5933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 5943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 5953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 5963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 5973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 5983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec4(in0); 5993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 6003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 6013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 6023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 6033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 6043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bool_to_vec2 6053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 6063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 6073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in0 = [ true | false ]; 6083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec2 out0 = [ vec2(1.0, 1.0) | vec2(0.0, 0.0) ]; 6093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 6103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 6113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 6123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 6133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 6143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 6153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 6163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 6173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 6183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 6193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 6203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec2(in0); 6213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 6223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 6233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 6243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 6253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 6263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bool_to_vec3 6273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 6283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 6293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in0 = [ true | false ]; 6303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec3 out0 = [ vec3(1.0, 1.0, 1.0) | vec3(0.0, 0.0, 0.0) ]; 6313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 6323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 6333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 6343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 6353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 6363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 6373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 6383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 6393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 6403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 6413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 6423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec3(in0); 6433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 6443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 6453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 6463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 6473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 6483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bool_to_vec4 6493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 6503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 6513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in0 = [ true | false ]; 6523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec4 out0 = [ vec4(1.0, 1.0, 1.0, 1.0) | vec4(0.0, 0.0, 0.0, 0.0) ]; 6533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 6543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 6553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 6563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 6573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 6583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 6593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 6603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 6613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 6623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 6633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 6643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec4(in0); 6653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 6663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 6673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 6683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 6693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 6703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bool_to_ivec2 6713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 6723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 6733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in0 = [ true | false ]; 6743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec2 out0 = [ ivec2(1, 1) | ivec2(0, 0) ]; 6753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 6763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 6773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 6783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 6793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 6803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 6813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 6823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 6833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 6843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 6853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 6863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec2(in0); 6873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 6883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 6893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 6903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 6913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 6923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bool_to_ivec3 6933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 6943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 6953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in0 = [ true | false ]; 6963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec3 out0 = [ ivec3(1, 1, 1) | ivec3(0, 0, 0) ]; 6973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 6983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 6993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 7003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 7013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 7023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 7033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 7043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 7053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 7063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 7073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 7083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec3(in0); 7093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 7103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 7113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 7123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 7133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 7143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bool_to_ivec4 7153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 7163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 7173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in0 = [ true | false ]; 7183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec4 out0 = [ ivec4(1, 1, 1, 1) | ivec4(0, 0, 0, 0) ]; 7193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 7203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 7213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 7223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 7233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 7243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 7253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 7263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 7273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 7283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 7293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 7303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec4(in0); 7313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 7323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 7333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 7343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 7353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 7363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bool_to_bvec2 7373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 7383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 7393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in0 = [ true | false ]; 7403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec2 out0 = [ bvec2(true, true) | bvec2(false, false) ]; 7413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 7423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 7433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 7443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 7453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 7463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 7473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 7483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 7493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 7503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 7513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 7523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec2(in0); 7533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 7543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 7553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 7563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 7573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 7583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bool_to_bvec3 7593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 7603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 7613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in0 = [ true | false ]; 7623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec3 out0 = [ bvec3(true, true, true) | bvec3(false, false, false) ]; 7633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 7643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 7653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 7663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 7673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 7683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 7693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 7703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 7713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 7723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 7733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 7743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec3(in0); 7753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 7763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 7773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 7783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 7793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 7803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bool_to_bvec4 7813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 7823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 7833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in0 = [ true | false ]; 7843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec4 out0 = [ bvec4(true, true, true, true) | bvec4(false, false, false, false) ]; 7853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 7863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 7873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 7883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 7893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 7903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 7913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 7923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 7933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 7943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 7953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 7963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec4(in0); 7973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 7983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 7993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 8003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 8013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 8023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 8033c827367444ee418f129b2c238299f49d3264554Jarkko Poyryend # scalar_to_vector 8043c827367444ee418f129b2c238299f49d3264554Jarkko Poyrygroup vector_to_scalar "Vector to Scalar Conversions" 8053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 8063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec2_to_float 8073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 8083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 8093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 8103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output float out0 = [ 0.0 | 1.0 | -0.5 | -32.0 | -0.75 ]; 8113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 8123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 8133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 8143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 8153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 8163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 8173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 8183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 8193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 8203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 8213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 8223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = float(in0); 8233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 8243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 8253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 8263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 8273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 8283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec2_to_int 8293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 8303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 8313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 8323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output int out0 = [ 0 | 1 | 0 | -32 | 0 ]; 8333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 8343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 8353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 8363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 8373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 8383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 8393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 8403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 8413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 8423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 8433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 8443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = int(in0); 8453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 8463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 8473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 8483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 8493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 8503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec2_to_bool 8513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 8523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 8533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 8543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bool out0 = [ false | true | true | true | true ]; 8553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 8563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 8573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 8583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 8593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 8603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 8613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 8623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 8633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 8643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 8653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 8663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bool(in0); 8673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 8683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 8693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 8703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 8713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 8723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec3_to_float 8733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 8743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 8753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 8763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output float out0 = [ 0.0 | 1.0 | -0.5 | -32.0 | -0.75 ]; 8773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 8783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 8793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 8803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 8813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 8823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 8833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 8843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 8853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 8863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 8873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 8883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = float(in0); 8893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 8903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 8913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 8923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 8933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 8943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec3_to_int 8953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 8963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 8973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 8983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output int out0 = [ 0 | 1 | 0 | -32 | 0 ]; 8993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 9003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 9013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 9023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 9033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 9043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 9053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 9063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 9073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 9083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 9093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 9103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = int(in0); 9113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 9123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 9133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 9143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 9153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 9163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec3_to_bool 9173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 9183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 9193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 9203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bool out0 = [ false | true | true | true | true ]; 9213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 9223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 9233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 9243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 9253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 9263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 9273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 9283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 9293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 9303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 9313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 9323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bool(in0); 9333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 9343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 9353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 9363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 9373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 9383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec4_to_float 9393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 9403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 9413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 9423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output float out0 = [ 0.0 | 1.0 | -0.5 | -32.0 | -0.75 ]; 9433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 9443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 9453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 9463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 9473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 9483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 9493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 9503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 9513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 9523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 9533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 9543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = float(in0); 9553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 9563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 9573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 9583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 9593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 9603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec4_to_int 9613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 9623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 9633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 9643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output int out0 = [ 0 | 1 | 0 | -32 | 0 ]; 9653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 9663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 9673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 9683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 9693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 9703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 9713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 9723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 9733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 9743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 9753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 9763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = int(in0); 9773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 9783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 9793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 9803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 9813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 9823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec4_to_bool 9833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 9843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 9853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 9863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bool out0 = [ false | true | true | true | true ]; 9873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 9883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 9893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 9903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 9913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 9923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 9933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 9943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 9953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 9963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 9973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 9983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bool(in0); 9993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 10003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 10013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 10023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 10033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 10043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case ivec2_to_float 10053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 10063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 10073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ]; 10083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output float out0 = [ 0.0 | 1.0 | 0.0 | -32.0 | 0.0 ]; 10093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 10103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 10113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 10123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 10133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 10143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 10153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 10163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 10173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 10183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 10193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 10203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = float(in0); 10213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 10223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 10233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 10243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 10253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 10263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case ivec2_to_int 10273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 10283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 10293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ]; 10303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output int out0 = [ 0 | 1 | 0 | -32 | 0 ]; 10313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 10323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 10333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 10343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 10353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 10363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 10373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 10383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 10393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 10403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 10413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 10423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = int(in0); 10433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 10443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 10453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 10463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 10473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 10483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case ivec2_to_bool 10493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 10503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 10513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ]; 10523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bool out0 = [ false | true | false | true | false ]; 10533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 10543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 10553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 10563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 10573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 10583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 10593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 10603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 10613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 10623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 10633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 10643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bool(in0); 10653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 10663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 10673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 10683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 10693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 10703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case ivec3_to_float 10713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 10723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 10733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ]; 10743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output float out0 = [ 0.0 | 1.0 | 0.0 | -32.0 | 0.0 ]; 10753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 10763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 10773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 10783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 10793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 10803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 10813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 10823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 10833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 10843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 10853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 10863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = float(in0); 10873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 10883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 10893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 10903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 10913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 10923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case ivec3_to_int 10933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 10943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 10953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ]; 10963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output int out0 = [ 0 | 1 | 0 | -32 | 0 ]; 10973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 10983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 10993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 11003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 11013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 11023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 11033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 11043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 11053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 11063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 11073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 11083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = int(in0); 11093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 11103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 11113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 11123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 11133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 11143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case ivec3_to_bool 11153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 11163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 11173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ]; 11183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bool out0 = [ false | true | false | true | false ]; 11193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 11203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 11213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 11223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 11233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 11243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 11253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 11263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 11273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 11283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 11293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 11303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bool(in0); 11313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 11323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 11333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 11343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 11353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 11363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case ivec4_to_float 11373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 11383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 11393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ]; 11403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output float out0 = [ 0.0 | 1.0 | 0.0 | -32.0 | 0.0 ]; 11413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 11423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 11433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 11443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 11453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 11463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 11473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 11483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 11493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 11503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 11513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 11523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = float(in0); 11533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 11543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 11553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 11563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 11573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 11583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case ivec4_to_int 11593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 11603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 11613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ]; 11623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output int out0 = [ 0 | 1 | 0 | -32 | 0 ]; 11633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 11643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 11653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 11663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 11673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 11683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 11693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 11703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 11713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 11723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 11733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 11743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = int(in0); 11753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 11763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 11773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 11783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 11793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 11803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case ivec4_to_bool 11813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 11823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 11833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ]; 11843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bool out0 = [ false | true | false | true | false ]; 11853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 11863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 11873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 11883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 11893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 11903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 11913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 11923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 11933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 11943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 11953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 11963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bool(in0); 11973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 11983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 11993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 12003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 12013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 12023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec2_to_float 12033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 12043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 12053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 12063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output float out0 = [ 1.0 | 0.0 | 0.0 | 1.0 | 0.0 ]; 12073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 12083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 12093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 12103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 12113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 12123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 12133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 12143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 12153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 12163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 12173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 12183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = float(in0); 12193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 12203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 12213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 12223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 12233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 12243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec2_to_int 12253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 12263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 12273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 12283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output int out0 = [ 1 | 0 | 0 | 1 | 0 ]; 12293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 12303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 12313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 12323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 12333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 12343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 12353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 12363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 12373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 12383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 12393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 12403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = int(in0); 12413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 12423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 12433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 12443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 12453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 12463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec2_to_bool 12473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 12483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 12493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 12503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bool out0 = [ true | false | false | true | false ]; 12513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 12523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 12533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 12543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 12553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 12563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 12573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 12583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 12593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 12603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 12613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 12623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bool(in0); 12633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 12643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 12653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 12663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 12673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 12683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec3_to_float 12693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 12703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 12713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ]; 12723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output float out0 = [ 1.0 | 0.0 | 0.0 | 1.0 | 0.0 ]; 12733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 12743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 12753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 12763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 12773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 12783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 12793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 12803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 12813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 12823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 12833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 12843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = float(in0); 12853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 12863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 12873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 12883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 12893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 12903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec3_to_int 12913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 12923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 12933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ]; 12943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output int out0 = [ 1 | 0 | 0 | 1 | 0 ]; 12953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 12963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 12973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 12983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 12993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 13003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 13013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 13023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 13033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 13043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 13053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 13063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = int(in0); 13073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 13083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 13093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 13103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 13113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 13123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec3_to_bool 13133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 13143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 13153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ]; 13163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bool out0 = [ true | false | false | true | false ]; 13173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 13183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 13193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 13203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 13213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 13223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 13233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 13243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 13253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 13263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 13273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 13283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bool(in0); 13293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 13303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 13313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 13323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 13333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 13343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec4_to_float 13353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 13363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 13373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ]; 13383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output float out0 = [ 1.0 | 0.0 | 0.0 | 1.0 | 0.0 ]; 13393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 13403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 13413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 13423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 13433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 13443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 13453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 13463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 13473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 13483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 13493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 13503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = float(in0); 13513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 13523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 13533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 13543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 13553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 13563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec4_to_int 13573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 13583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 13593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ]; 13603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output int out0 = [ 1 | 0 | 0 | 1 | 0 ]; 13613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 13623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 13633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 13643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 13653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 13663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 13673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 13683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 13693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 13703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 13713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 13723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = int(in0); 13733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 13743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 13753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 13763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 13773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 13783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec4_to_bool 13793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 13803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 13813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ]; 13823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bool out0 = [ true | false | false | true | false ]; 13833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 13843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 13853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 13863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 13873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 13883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 13893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 13903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 13913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 13923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 13933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 13943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bool(in0); 13953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 13963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 13973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 13983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 13993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 14003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 14013c827367444ee418f129b2c238299f49d3264554Jarkko Poyryend # vector_to_scalar 14023c827367444ee418f129b2c238299f49d3264554Jarkko Poyrygroup vector_illegal "Illegal Vector Conversions" 14033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 14043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec2_to_vec3 14053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry expect compile_fail 14063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values {} 14073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 14083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 14093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 14103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 14113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 14123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 14133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 14143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 14153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 14163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 14173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry vec2 in0 = vec2(0.0, 0.5); 14183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry vec3 out0 = vec3(in0); 14193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 14203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 14213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 14223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 14233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 14243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec2_to_ivec3 14253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry expect compile_fail 14263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values {} 14273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 14283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 14293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 14303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 14313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 14323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 14333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 14343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 14353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 14363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 14373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry vec2 in0 = vec2(0.0, 0.5); 14383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ivec3 out0 = ivec3(in0); 14393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 14403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 14413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 14423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 14433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 14443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec2_to_bvec3 14453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry expect compile_fail 14463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values {} 14473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 14483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 14493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 14503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 14513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 14523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 14533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 14543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 14553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 14563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 14573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry vec2 in0 = vec2(0.0, 0.5); 14583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry bvec3 out0 = bvec3(in0); 14593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 14603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 14613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 14623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 14633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 14643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec2_to_vec4 14653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry expect compile_fail 14663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values {} 14673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 14683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 14693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 14703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 14713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 14723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 14733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 14743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 14753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 14763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 14773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry vec2 in0 = vec2(0.0, 0.5); 14783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry vec4 out0 = vec4(in0); 14793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 14803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 14813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 14823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 14833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 14843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec2_to_ivec4 14853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry expect compile_fail 14863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values {} 14873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 14883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 14893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 14903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 14913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 14923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 14933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 14943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 14953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 14963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 14973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry vec2 in0 = vec2(0.0, 0.5); 14983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ivec4 out0 = ivec4(in0); 14993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 15003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 15013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 15023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 15033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 15043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec2_to_bvec4 15053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry expect compile_fail 15063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values {} 15073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 15083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 15093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 15103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 15113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 15123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 15133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 15143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 15153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 15163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 15173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry vec2 in0 = vec2(0.0, 0.5); 15183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry bvec4 out0 = bvec4(in0); 15193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 15203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 15213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 15223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 15233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 15243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case ivec2_to_vec3 15253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry expect compile_fail 15263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values {} 15273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 15283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 15293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 15303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 15313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 15323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 15333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 15343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 15353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 15363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 15373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ivec2 in0 = ivec2(0, 0); 15383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry vec3 out0 = vec3(in0); 15393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 15403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 15413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 15423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 15433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 15443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case ivec2_to_ivec3 15453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry expect compile_fail 15463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values {} 15473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 15483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 15493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 15503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 15513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 15523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 15533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 15543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 15553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 15563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 15573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ivec2 in0 = ivec2(0, 0); 15583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ivec3 out0 = ivec3(in0); 15593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 15603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 15613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 15623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 15633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 15643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case ivec2_to_bvec3 15653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry expect compile_fail 15663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values {} 15673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 15683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 15693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 15703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 15713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 15723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 15733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 15743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 15753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 15763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 15773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ivec2 in0 = ivec2(0, 0); 15783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry bvec3 out0 = bvec3(in0); 15793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 15803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 15813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 15823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 15833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 15843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case ivec2_to_vec4 15853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry expect compile_fail 15863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values {} 15873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 15883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 15893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 15903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 15913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 15923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 15933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 15943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 15953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 15963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 15973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ivec2 in0 = ivec2(0, 0); 15983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry vec4 out0 = vec4(in0); 15993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 16003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 16013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 16023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 16033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 16043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case ivec2_to_ivec4 16053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry expect compile_fail 16063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values {} 16073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 16083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 16093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 16103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 16113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 16123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 16133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 16143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 16153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 16163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 16173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ivec2 in0 = ivec2(0, 0); 16183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ivec4 out0 = ivec4(in0); 16193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 16203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 16213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 16223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 16233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 16243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case ivec2_to_bvec4 16253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry expect compile_fail 16263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values {} 16273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 16283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 16293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 16303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 16313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 16323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 16333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 16343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 16353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 16363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 16373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ivec2 in0 = ivec2(0, 0); 16383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry bvec4 out0 = bvec4(in0); 16393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 16403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 16413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 16423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 16433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 16443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec2_to_vec3 16453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry expect compile_fail 16463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values {} 16473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 16483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 16493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 16503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 16513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 16523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 16533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 16543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 16553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 16563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 16573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry bvec2 in0 = bvec2(true, false); 16583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry vec3 out0 = vec3(in0); 16593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 16603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 16613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 16623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 16633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 16643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec2_to_ivec3 16653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry expect compile_fail 16663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values {} 16673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 16683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 16693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 16703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 16713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 16723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 16733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 16743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 16753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 16763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 16773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry bvec2 in0 = bvec2(true, false); 16783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ivec3 out0 = ivec3(in0); 16793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 16803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 16813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 16823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 16833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 16843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec2_to_bvec3 16853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry expect compile_fail 16863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values {} 16873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 16883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 16893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 16903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 16913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 16923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 16933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 16943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 16953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 16963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 16973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry bvec2 in0 = bvec2(true, false); 16983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry bvec3 out0 = bvec3(in0); 16993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 17003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 17013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 17023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 17033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 17043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec2_to_vec4 17053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry expect compile_fail 17063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values {} 17073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 17083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 17093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 17103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 17113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 17123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 17133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 17143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 17153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 17163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 17173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry bvec2 in0 = bvec2(true, false); 17183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry vec4 out0 = vec4(in0); 17193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 17203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 17213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 17223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 17233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 17243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec2_to_ivec4 17253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry expect compile_fail 17263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values {} 17273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 17283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 17293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 17303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 17313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 17323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 17333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 17343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 17353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 17363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 17373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry bvec2 in0 = bvec2(true, false); 17383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ivec4 out0 = ivec4(in0); 17393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 17403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 17413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 17423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 17433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 17443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec2_to_bvec4 17453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry expect compile_fail 17463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values {} 17473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 17483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 17493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 17503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 17513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 17523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 17533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 17543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 17553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 17563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 17573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry bvec2 in0 = bvec2(true, false); 17583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry bvec4 out0 = bvec4(in0); 17593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 17603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 17613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 17623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 17633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 17643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec3_to_vec4 17653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry expect compile_fail 17663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values {} 17673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 17683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 17693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 17703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 17713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 17723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 17733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 17743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 17753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 17763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 17773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry vec3 in0 = vec3(0.0, 0.5, 0.75); 17783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry vec4 out0 = vec4(in0); 17793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 17803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 17813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 17823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 17833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 17843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec3_to_ivec4 17853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry expect compile_fail 17863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values {} 17873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 17883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 17893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 17903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 17913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 17923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 17933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 17943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 17953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 17963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 17973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry vec3 in0 = vec3(0.0, 0.5, 0.75); 17983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ivec4 out0 = ivec4(in0); 17993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 18003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 18013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 18023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 18033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 18043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec3_to_bvec4 18053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry expect compile_fail 18063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values {} 18073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 18083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 18093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 18103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 18113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 18123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 18133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 18143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 18153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 18163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 18173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry vec3 in0 = vec3(0.0, 0.5, 0.75); 18183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry bvec4 out0 = bvec4(in0); 18193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 18203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 18213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 18223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 18233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 18243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case ivec3_to_vec4 18253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry expect compile_fail 18263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values {} 18273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 18283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 18293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 18303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 18313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 18323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 18333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 18343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 18353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 18363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 18373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ivec3 in0 = ivec3(0, 0, 0); 18383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry vec4 out0 = vec4(in0); 18393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 18403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 18413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 18423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 18433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 18443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case ivec3_to_ivec4 18453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry expect compile_fail 18463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values {} 18473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 18483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 18493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 18503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 18513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 18523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 18533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 18543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 18553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 18563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 18573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ivec3 in0 = ivec3(0, 0, 0); 18583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ivec4 out0 = ivec4(in0); 18593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 18603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 18613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 18623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 18633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 18643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case ivec3_to_bvec4 18653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry expect compile_fail 18663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values {} 18673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 18683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 18693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 18703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 18713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 18723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 18733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 18743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 18753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 18763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 18773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ivec3 in0 = ivec3(0, 0, 0); 18783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry bvec4 out0 = bvec4(in0); 18793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 18803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 18813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 18823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 18833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 18843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec3_to_vec4 18853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry expect compile_fail 18863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values {} 18873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 18883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 18893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 18903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 18913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 18923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 18933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 18943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 18953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 18963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 18973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry bvec3 in0 = bvec3(true, false, false); 18983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry vec4 out0 = vec4(in0); 18993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 19003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 19013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 19023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 19033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 19043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec3_to_ivec4 19053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry expect compile_fail 19063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values {} 19073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 19083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 19093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 19103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 19113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 19123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 19133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 19143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 19153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 19163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 19173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry bvec3 in0 = bvec3(true, false, false); 19183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ivec4 out0 = ivec4(in0); 19193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 19203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 19213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 19223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 19233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 19243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec3_to_bvec4 19253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry expect compile_fail 19263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values {} 19273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 19283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 19293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 19303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 19313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 19323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 19333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 19343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 19353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 19363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 19373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry bvec3 in0 = bvec3(true, false, false); 19383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry bvec4 out0 = bvec4(in0); 19393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 19403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 19413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 19423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 19433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 19443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 19453c827367444ee418f129b2c238299f49d3264554Jarkko Poyryend # vector_illegal 19463c827367444ee418f129b2c238299f49d3264554Jarkko Poyrygroup vector_to_vector "Vector to Vector Conversions" 19473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 19483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec4_to_vec4 19493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 19503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 19513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 19523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec4 out0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 19533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 19543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 19553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 19563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 19573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 19583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 19593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 19603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 19613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 19623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 19633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 19643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec4(in0); 19653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 19663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 19673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 19683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 19693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 19703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec4_to_vec3 19713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 19723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 19733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 19743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec3 out0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 19753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 19763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 19773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 19783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 19793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 19803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 19813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 19823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 19833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 19843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 19853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 19863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec3(in0); 19873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 19883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 19893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 19903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 19913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 19923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec4_to_vec2 19933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 19943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 19953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 19963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec2 out0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 19973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 19983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 19993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 20003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 20013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 20023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 20033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 20043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 20053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 20063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 20073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 20083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec2(in0); 20093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 20103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 20113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 20123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 20133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 20143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec4_to_ivec4 20153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 20163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 20173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 20183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ]; 20193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 20203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 20213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 20223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 20233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 20243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 20253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 20263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 20273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 20283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 20293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 20303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec4(in0); 20313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 20323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 20333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 20343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 20353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 20363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec4_to_ivec3 20373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 20383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 20393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 20403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ]; 20413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 20423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 20433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 20443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 20453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 20463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 20473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 20483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 20493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 20503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 20513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 20523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec3(in0); 20533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 20543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 20553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 20563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 20573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 20583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec4_to_ivec2 20593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 20603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 20613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 20623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ]; 20633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 20643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 20653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 20663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 20673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 20683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 20693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 20703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 20713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 20723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 20733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 20743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec2(in0); 20753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 20763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 20773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 20783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 20793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 20803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec4_to_bvec4 20813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 20823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 20833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 20843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec4 out0 = [ bvec4(false, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) ]; 20853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 20863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 20873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 20883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 20893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 20903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 20913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 20923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 20933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 20943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 20953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 20963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec4(in0); 20973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 20983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 20993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 21003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 21013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 21023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec4_to_bvec3 21033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 21043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 21053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 21063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec3 out0 = [ bvec3(false, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) ]; 21073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 21083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 21093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 21103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 21113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 21123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 21133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 21143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 21153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 21163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 21173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 21183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec3(in0); 21193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 21203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 21213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 21223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 21233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 21243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec4_to_bvec2 21253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 21263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 21273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec4 in0 = [ vec4(0.0, 0.5, 0.75, 0.825) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 21283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec2 out0 = [ bvec2(false, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) ]; 21293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 21303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 21313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 21323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 21333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 21343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 21353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 21363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 21373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 21383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 21393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 21403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec2(in0); 21413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 21423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 21433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 21443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 21453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 21463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case ivec4_to_vec4 21473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 21483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 21493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ]; 21503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec4 out0 = [ vec4(0.0, 0.0, 0.0, 0.0) | vec4(1.0, 1.0, 1.0, 1.0) | vec4(0.0, -2.0, -4.0, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(0.0, 0.0, 0.0, 0.0) ]; 21513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 21523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 21533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 21543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 21553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 21563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 21573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 21583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 21593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 21603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 21613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 21623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec4(in0); 21633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 21643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 21653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 21663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 21673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 21683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case ivec4_to_vec3 21693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 21703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 21713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ]; 21723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec3 out0 = [ vec3(0.0, 0.0, 0.0) | vec3(1.0, 1.0, 1.0) | vec3(0.0, -2.0, -4.0) | vec3(-32.0, 64.0, -51.0) | vec3(0.0, 0.0, 0.0) ]; 21733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 21743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 21753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 21763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 21773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 21783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 21793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 21803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 21813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 21823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 21833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 21843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec3(in0); 21853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 21863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 21873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 21883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 21893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 21903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case ivec4_to_vec2 21913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 21923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 21933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ]; 21943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec2 out0 = [ vec2(0.0, 0.0) | vec2(1.0, 1.0) | vec2(0.0, -2.0) | vec2(-32.0, 64.0) | vec2(0.0, 0.0) ]; 21953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 21963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 21973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 21983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 21993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 22003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 22013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 22023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 22033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 22043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 22053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 22063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec2(in0); 22073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 22083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 22093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 22103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 22113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 22123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case ivec4_to_ivec4 22133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 22143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 22153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ]; 22163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ]; 22173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 22183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 22193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 22203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 22213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 22223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 22233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 22243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 22253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 22263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 22273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 22283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec4(in0); 22293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 22303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 22313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 22323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 22333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 22343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case ivec4_to_ivec3 22353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 22363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 22373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ]; 22383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ]; 22393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 22403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 22413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 22423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 22433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 22443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 22453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 22463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 22473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 22483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 22493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 22503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec3(in0); 22513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 22523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 22533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 22543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 22553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 22563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case ivec4_to_ivec2 22573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 22583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 22593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ]; 22603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ]; 22613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 22623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 22633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 22643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 22653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 22663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 22673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 22683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 22693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 22703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 22713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 22723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec2(in0); 22733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 22743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 22753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 22763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 22773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 22783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case ivec4_to_bvec4 22793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 22803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 22813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ]; 22823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec4 out0 = [ bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(false, true, true, true) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ]; 22833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 22843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 22853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 22863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 22873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 22883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 22893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 22903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 22913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 22923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 22933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 22943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec4(in0); 22953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 22963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 22973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 22983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 22993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 23003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case ivec4_to_bvec3 23013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 23023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 23033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ]; 23043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec3 out0 = [ bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, true, true) | bvec3(true, true, true) | bvec3(false, false, false) ]; 23053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 23063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 23073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 23083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 23093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 23103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 23113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 23123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 23133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 23143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 23153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 23163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec3(in0); 23173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 23183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 23193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 23203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 23213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 23223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case ivec4_to_bvec2 23233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 23243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 23253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ]; 23263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec2 out0 = [ bvec2(false, false) | bvec2(true, true) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 23273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 23283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 23293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 23303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 23313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 23323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 23333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 23343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 23353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 23363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 23373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 23383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec2(in0); 23393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 23403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 23413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 23423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 23433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 23443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec4_to_vec4 23453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 23463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 23473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ]; 23483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec4 out0 = [ vec4(1.0, 0.0, 0.0, 1.0) | vec4(0.0, 0.0, 0.0, 1.0) | vec4(0.0, 1.0, 0.0, 0.0) | vec4(1.0, 1.0, 1.0, 1.0) | vec4(0.0, 0.0, 0.0, 0.0) ]; 23493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 23503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 23513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 23523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 23533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 23543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 23553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 23563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 23573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 23583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 23593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 23603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec4(in0); 23613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 23623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 23633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 23643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 23653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 23663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec4_to_vec3 23673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 23683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 23693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ]; 23703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec3 out0 = [ vec3(1.0, 0.0, 0.0) | vec3(0.0, 0.0, 0.0) | vec3(0.0, 1.0, 0.0) | vec3(1.0, 1.0, 1.0) | vec3(0.0, 0.0, 0.0) ]; 23713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 23723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 23733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 23743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 23753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 23763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 23773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 23783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 23793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 23803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 23813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 23823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec3(in0); 23833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 23843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 23853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 23863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 23873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 23883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec4_to_vec2 23893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 23903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 23913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ]; 23923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec2 out0 = [ vec2(1.0, 0.0) | vec2(0.0, 0.0) | vec2(0.0, 1.0) | vec2(1.0, 1.0) | vec2(0.0, 0.0) ]; 23933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 23943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 23953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 23963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 23973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 23983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 23993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 24003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 24013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 24023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 24033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 24043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec2(in0); 24053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 24063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 24073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 24083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 24093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 24103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec4_to_ivec4 24113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 24123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 24133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ]; 24143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec4 out0 = [ ivec4(1, 0, 0, 1) | ivec4(0, 0, 0, 1) | ivec4(0, 1, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, 0, 0, 0) ]; 24153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 24163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 24173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 24183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 24193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 24203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 24213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 24223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 24233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 24243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 24253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 24263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec4(in0); 24273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 24283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 24293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 24303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 24313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 24323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec4_to_ivec3 24333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 24343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 24353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ]; 24363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec3 out0 = [ ivec3(1, 0, 0) | ivec3(0, 0, 0) | ivec3(0, 1, 0) | ivec3(1, 1, 1) | ivec3(0, 0, 0) ]; 24373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 24383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 24393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 24403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 24413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 24423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 24433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 24443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 24453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 24463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 24473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 24483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec3(in0); 24493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 24503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 24513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 24523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 24533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 24543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec4_to_ivec2 24553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 24563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 24573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ]; 24583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec2 out0 = [ ivec2(1, 0) | ivec2(0, 0) | ivec2(0, 1) | ivec2(1, 1) | ivec2(0, 0) ]; 24593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 24603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 24613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 24623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 24633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 24643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 24653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 24663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 24673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 24683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 24693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 24703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec2(in0); 24713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 24723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 24733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 24743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 24753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 24763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec4_to_bvec4 24773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 24783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 24793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ]; 24803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec4 out0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ]; 24813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 24823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 24833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 24843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 24853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 24863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 24873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 24883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 24893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 24903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 24913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 24923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec4(in0); 24933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 24943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 24953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 24963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 24973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 24983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec4_to_bvec3 24993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 25003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 25013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ]; 25023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec3 out0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ]; 25033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 25043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 25053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 25063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 25073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 25083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 25093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 25103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 25113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 25123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 25133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 25143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec3(in0); 25153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 25163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 25173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 25183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 25193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 25203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec4_to_bvec2 25213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 25223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 25233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec4 in0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ]; 25243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec2 out0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 25253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 25263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 25273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 25283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 25293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 25303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 25313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 25323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 25333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 25343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 25353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 25363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec2(in0); 25373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 25383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 25393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 25403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 25413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 25423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec3_to_vec3 25433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 25443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 25453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 25463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec3 out0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 25473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 25483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 25493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 25503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 25513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 25523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 25533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 25543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 25553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 25563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 25573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 25583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec3(in0); 25593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 25603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 25613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 25623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 25633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 25643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec3_to_vec2 25653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 25663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 25673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 25683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec2 out0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 25693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 25703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 25713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 25723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 25733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 25743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 25753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 25763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 25773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 25783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 25793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 25803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec2(in0); 25813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 25823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 25833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 25843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 25853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 25863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec3_to_ivec3 25873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 25883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 25893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 25903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ]; 25913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 25923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 25933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 25943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 25953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 25963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 25973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 25983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 25993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 26003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 26013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 26023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec3(in0); 26033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 26043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 26053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 26063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 26073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 26083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec3_to_ivec2 26093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 26103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 26113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 26123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ]; 26133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 26143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 26153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 26163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 26173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 26183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 26193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 26203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 26213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 26223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 26233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 26243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec2(in0); 26253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 26263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 26273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 26283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 26293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 26303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec3_to_bvec3 26313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 26323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 26333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 26343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec3 out0 = [ bvec3(false, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) ]; 26353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 26363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 26373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 26383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 26393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 26403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 26413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 26423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 26433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 26443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 26453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 26463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec3(in0); 26473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 26483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 26493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 26503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 26513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 26523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec3_to_bvec2 26533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 26543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 26553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 26563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec2 out0 = [ bvec2(false, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) ]; 26573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 26583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 26593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 26603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 26613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 26623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 26633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 26643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 26653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 26663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 26673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 26683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec2(in0); 26693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 26703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 26713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 26723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 26733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 26743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case ivec3_to_vec3 26753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 26763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 26773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ]; 26783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec3 out0 = [ vec3(0.0, 0.0, 0.0) | vec3(1.0, 1.0, 1.0) | vec3(0.0, -2.0, -4.0) | vec3(-32.0, 64.0, -51.0) | vec3(0.0, 0.0, 0.0) ]; 26793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 26803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 26813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 26823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 26833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 26843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 26853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 26863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 26873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 26883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 26893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 26903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec3(in0); 26913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 26923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 26933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 26943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 26953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 26963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case ivec3_to_vec2 26973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 26983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 26993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ]; 27003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec2 out0 = [ vec2(0.0, 0.0) | vec2(1.0, 1.0) | vec2(0.0, -2.0) | vec2(-32.0, 64.0) | vec2(0.0, 0.0) ]; 27013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 27023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 27033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 27043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 27053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 27063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 27073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 27083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 27093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 27103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 27113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 27123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec2(in0); 27133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 27143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 27153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 27163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 27173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 27183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case ivec3_to_ivec3 27193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 27203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 27213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ]; 27223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ]; 27233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 27243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 27253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 27263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 27273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 27283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 27293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 27303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 27313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 27323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 27333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 27343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec3(in0); 27353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 27363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 27373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 27383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 27393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 27403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case ivec3_to_ivec2 27413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 27423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 27433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ]; 27443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ]; 27453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 27463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 27473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 27483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 27493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 27503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 27513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 27523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 27533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 27543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 27553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 27563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec2(in0); 27573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 27583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 27593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 27603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 27613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 27623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case ivec3_to_bvec3 27633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 27643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 27653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ]; 27663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec3 out0 = [ bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, true, true) | bvec3(true, true, true) | bvec3(false, false, false) ]; 27673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 27683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 27693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 27703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 27713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 27723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 27733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 27743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 27753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 27763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 27773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 27783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec3(in0); 27793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 27803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 27813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 27823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 27833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 27843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case ivec3_to_bvec2 27853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 27863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 27873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ]; 27883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec2 out0 = [ bvec2(false, false) | bvec2(true, true) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 27893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 27903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 27913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 27923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 27933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 27943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 27953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 27963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 27973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 27983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 27993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 28003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec2(in0); 28013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 28023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 28033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 28043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 28053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 28063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec3_to_vec3 28073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 28083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 28093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ]; 28103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec3 out0 = [ vec3(1.0, 0.0, 0.0) | vec3(0.0, 0.0, 0.0) | vec3(0.0, 1.0, 0.0) | vec3(1.0, 1.0, 1.0) | vec3(0.0, 0.0, 0.0) ]; 28113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 28123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 28133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 28143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 28153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 28163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 28173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 28183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 28193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 28203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 28213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 28223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec3(in0); 28233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 28243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 28253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 28263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 28273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 28283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec3_to_vec2 28293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 28303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 28313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ]; 28323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec2 out0 = [ vec2(1.0, 0.0) | vec2(0.0, 0.0) | vec2(0.0, 1.0) | vec2(1.0, 1.0) | vec2(0.0, 0.0) ]; 28333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 28343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 28353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 28363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 28373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 28383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 28393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 28403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 28413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 28423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 28433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 28443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec2(in0); 28453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 28463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 28473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 28483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 28493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 28503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec3_to_ivec3 28513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 28523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 28533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ]; 28543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec3 out0 = [ ivec3(1, 0, 0) | ivec3(0, 0, 0) | ivec3(0, 1, 0) | ivec3(1, 1, 1) | ivec3(0, 0, 0) ]; 28553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 28563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 28573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 28583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 28593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 28603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 28613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 28623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 28633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 28643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 28653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 28663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec3(in0); 28673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 28683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 28693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 28703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 28713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 28723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec3_to_ivec2 28733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 28743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 28753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ]; 28763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec2 out0 = [ ivec2(1, 0) | ivec2(0, 0) | ivec2(0, 1) | ivec2(1, 1) | ivec2(0, 0) ]; 28773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 28783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 28793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 28803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 28813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 28823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 28833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 28843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 28853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 28863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 28873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 28883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec2(in0); 28893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 28903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 28913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 28923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 28933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 28943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec3_to_bvec3 28953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 28963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 28973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ]; 28983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec3 out0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ]; 28993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 29003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 29013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 29023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 29033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 29043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 29053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 29063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 29073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 29083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 29093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 29103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec3(in0); 29113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 29123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 29133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 29143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 29153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 29163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec3_to_bvec2 29173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 29183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 29193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ]; 29203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec2 out0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 29213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 29223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 29233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 29243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 29253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 29263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 29273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 29283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 29293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 29303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 29313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 29323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec2(in0); 29333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 29343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 29353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 29363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 29373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 29383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec2_to_vec2 29393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 29403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 29413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 29423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec2 out0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 29433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 29443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 29453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 29463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 29473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 29483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 29493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 29503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 29513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 29523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 29533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 29543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec2(in0); 29553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 29563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 29573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 29583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 29593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 29603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec2_to_ivec2 29613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 29623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 29633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 29643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ]; 29653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 29663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 29673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 29683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 29693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 29703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 29713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 29723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 29733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 29743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 29753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 29763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec2(in0); 29773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 29783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 29793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 29803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 29813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 29823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec2_to_bvec2 29833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 29843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 29853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 29863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec2 out0 = [ bvec2(false, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) ]; 29873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 29883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 29893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 29903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 29913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 29923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 29933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 29943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 29953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 29963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 29973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 29983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec2(in0); 29993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 30003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 30013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 30023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 30033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 30043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case ivec2_to_vec2 30053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 30063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 30073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ]; 30083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec2 out0 = [ vec2(0.0, 0.0) | vec2(1.0, 1.0) | vec2(0.0, -2.0) | vec2(-32.0, 64.0) | vec2(0.0, 0.0) ]; 30093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 30103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 30113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 30123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 30133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 30143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 30153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 30163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 30173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 30183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 30193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 30203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec2(in0); 30213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 30223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 30233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 30243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 30253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 30263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case ivec2_to_ivec2 30273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 30283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 30293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ]; 30303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ]; 30313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 30323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 30333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 30343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 30353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 30363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 30373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 30383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 30393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 30403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 30413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 30423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec2(in0); 30433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 30443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 30453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 30463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 30473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 30483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case ivec2_to_bvec2 30493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 30503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 30513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ]; 30523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec2 out0 = [ bvec2(false, false) | bvec2(true, true) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 30533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 30543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 30553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 30563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 30573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 30583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 30593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 30603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 30613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 30623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 30633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 30643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec2(in0); 30653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 30663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 30673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 30683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 30693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 30703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec2_to_vec2 30713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 30723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 30733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 30743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec2 out0 = [ vec2(1.0, 0.0) | vec2(0.0, 0.0) | vec2(0.0, 1.0) | vec2(1.0, 1.0) | vec2(0.0, 0.0) ]; 30753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 30763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 30773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 30783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 30793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 30803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 30813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 30823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 30833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 30843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 30853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 30863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec2(in0); 30873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 30883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 30893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 30903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 30913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 30923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec2_to_ivec2 30933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 30943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 30953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 30963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec2 out0 = [ ivec2(1, 0) | ivec2(0, 0) | ivec2(0, 1) | ivec2(1, 1) | ivec2(0, 0) ]; 30973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 30983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 30993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 31003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 31013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 31023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 31033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 31043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 31053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 31063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 31073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 31083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec2(in0); 31093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 31103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 31113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 31123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 31133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 31143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec2_to_bvec2 31153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 31163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 31173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 31183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec2 out0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 31193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 31203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 31213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 31223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 31233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 31243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 31253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 31263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 31273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 31283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 31293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 31303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec2(in0); 31313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 31323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 31333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 31343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 31353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 31363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 31373c827367444ee418f129b2c238299f49d3264554Jarkko Poyryend # vector_to_vector 31383c827367444ee418f129b2c238299f49d3264554Jarkko Poyrygroup scalar_to_matrix "Scalar to Matrix Conversions" 31393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 31403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case float_to_mat4 31413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 31423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 31433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 31443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output mat4 out0 = [ mat4(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0) | mat4(2.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 2.0) | mat4(3.5, 0.0, 0.0, 0.0, 0.0, 3.5, 0.0, 0.0, 0.0, 0.0, 3.5, 0.0, 0.0, 0.0, 0.0, 3.5) | mat4(-0.5, 0.0, 0.0, 0.0, 0.0, -0.5, 0.0, 0.0, 0.0, 0.0, -0.5, 0.0, 0.0, 0.0, 0.0, -0.5) | mat4(-8.25, 0.0, 0.0, 0.0, 0.0, -8.25, 0.0, 0.0, 0.0, 0.0, -8.25, 0.0, 0.0, 0.0, 0.0, -8.25) | mat4(-20.125, 0.0, 0.0, 0.0, 0.0, -20.125, 0.0, 0.0, 0.0, 0.0, -20.125, 0.0, 0.0, 0.0, 0.0, -20.125) | mat4(36.8125, 0.0, 0.0, 0.0, 0.0, 36.8125, 0.0, 0.0, 0.0, 0.0, 36.8125, 0.0, 0.0, 0.0, 0.0, 36.8125) ]; 31453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 31463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 31473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 31483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 31493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 31503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 31513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 31523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 31533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 31543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 31553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 31563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = mat4(in0); 31573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 31583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 31593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 31603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 31613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 31623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case float_to_mat3 31633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 31643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 31653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 31663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output mat3 out0 = [ mat3(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0) | mat3(2.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 2.0) | mat3(3.5, 0.0, 0.0, 0.0, 3.5, 0.0, 0.0, 0.0, 3.5) | mat3(-0.5, 0.0, 0.0, 0.0, -0.5, 0.0, 0.0, 0.0, -0.5) | mat3(-8.25, 0.0, 0.0, 0.0, -8.25, 0.0, 0.0, 0.0, -8.25) | mat3(-20.125, 0.0, 0.0, 0.0, -20.125, 0.0, 0.0, 0.0, -20.125) | mat3(36.8125, 0.0, 0.0, 0.0, 36.8125, 0.0, 0.0, 0.0, 36.8125) ]; 31673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 31683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 31693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 31703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 31713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 31723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 31733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 31743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 31753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 31763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 31773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 31783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = mat3(in0); 31793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 31803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 31813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 31823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 31833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 31843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case float_to_mat2 31853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 31863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 31873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 31883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output mat2 out0 = [ mat2(0.0, 0.0, 0.0, 0.0) | mat2(1.0, 0.0, 0.0, 1.0) | mat2(2.0, 0.0, 0.0, 2.0) | mat2(3.5, 0.0, 0.0, 3.5) | mat2(-0.5, 0.0, 0.0, -0.5) | mat2(-8.25, 0.0, 0.0, -8.25) | mat2(-20.125, 0.0, 0.0, -20.125) | mat2(36.8125, 0.0, 0.0, 36.8125) ]; 31893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 31903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 31913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 31923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 31933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 31943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 31953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 31963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 31973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 31983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 31993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 32003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = mat2(in0); 32013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 32023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 32033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 32043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 32053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 32063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case int_to_mat4 32073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 32083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 32093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 32103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output mat4 out0 = [ mat4(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0) | mat4(2.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 2.0) | mat4(5.0, 0.0, 0.0, 0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 5.0) | mat4(8.0, 0.0, 0.0, 0.0, 0.0, 8.0, 0.0, 0.0, 0.0, 0.0, 8.0, 0.0, 0.0, 0.0, 0.0, 8.0) | mat4(11.0, 0.0, 0.0, 0.0, 0.0, 11.0, 0.0, 0.0, 0.0, 0.0, 11.0, 0.0, 0.0, 0.0, 0.0, 11.0) | mat4(-12.0, 0.0, 0.0, 0.0, 0.0, -12.0, 0.0, 0.0, 0.0, 0.0, -12.0, 0.0, 0.0, 0.0, 0.0, -12.0) | mat4(-66.0, 0.0, 0.0, 0.0, 0.0, -66.0, 0.0, 0.0, 0.0, 0.0, -66.0, 0.0, 0.0, 0.0, 0.0, -66.0) | mat4(-192.0, 0.0, 0.0, 0.0, 0.0, -192.0, 0.0, 0.0, 0.0, 0.0, -192.0, 0.0, 0.0, 0.0, 0.0, -192.0) | mat4(255.0, 0.0, 0.0, 0.0, 0.0, 255.0, 0.0, 0.0, 0.0, 0.0, 255.0, 0.0, 0.0, 0.0, 0.0, 255.0) ]; 32113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 32123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 32133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 32143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 32153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 32163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 32173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 32183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 32193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 32203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 32213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 32223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = mat4(in0); 32233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 32243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 32253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 32263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 32273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 32283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case int_to_mat3 32293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 32303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 32313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 32323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output mat3 out0 = [ mat3(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0) | mat3(2.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 2.0) | mat3(5.0, 0.0, 0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 5.0) | mat3(8.0, 0.0, 0.0, 0.0, 8.0, 0.0, 0.0, 0.0, 8.0) | mat3(11.0, 0.0, 0.0, 0.0, 11.0, 0.0, 0.0, 0.0, 11.0) | mat3(-12.0, 0.0, 0.0, 0.0, -12.0, 0.0, 0.0, 0.0, -12.0) | mat3(-66.0, 0.0, 0.0, 0.0, -66.0, 0.0, 0.0, 0.0, -66.0) | mat3(-192.0, 0.0, 0.0, 0.0, -192.0, 0.0, 0.0, 0.0, -192.0) | mat3(255.0, 0.0, 0.0, 0.0, 255.0, 0.0, 0.0, 0.0, 255.0) ]; 32333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 32343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 32353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 32363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 32373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 32383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 32393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 32403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 32413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 32423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 32433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 32443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = mat3(in0); 32453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 32463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 32473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 32483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 32493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 32503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case int_to_mat2 32513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 32523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 32533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 32543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output mat2 out0 = [ mat2(0.0, 0.0, 0.0, 0.0) | mat2(1.0, 0.0, 0.0, 1.0) | mat2(2.0, 0.0, 0.0, 2.0) | mat2(5.0, 0.0, 0.0, 5.0) | mat2(8.0, 0.0, 0.0, 8.0) | mat2(11.0, 0.0, 0.0, 11.0) | mat2(-12.0, 0.0, 0.0, -12.0) | mat2(-66.0, 0.0, 0.0, -66.0) | mat2(-192.0, 0.0, 0.0, -192.0) | mat2(255.0, 0.0, 0.0, 255.0) ]; 32553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 32563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 32573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 32583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 32593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 32603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 32613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 32623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 32633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 32643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 32653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 32663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = mat2(in0); 32673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 32683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 32693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 32703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 32713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 32723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bool_to_mat4 32733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 32743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 32753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in0 = [ true | false ]; 32763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output mat4 out0 = [ mat4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0) | mat4(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) ]; 32773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 32783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 32793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 32803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 32813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 32823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 32833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 32843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 32853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 32863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 32873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 32883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = mat4(in0); 32893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 32903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 32913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 32923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 32933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 32943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bool_to_mat3 32953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 32963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 32973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in0 = [ true | false ]; 32983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output mat3 out0 = [ mat3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0) | mat3(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) ]; 32993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 33003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 33013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 33023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 33033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 33043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 33053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 33063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 33073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 33083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 33093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 33103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = mat3(in0); 33113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 33123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 33133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 33143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 33153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 33163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bool_to_mat2 33173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 33183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 33193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in0 = [ true | false ]; 33203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output mat2 out0 = [ mat2(1.0, 0.0, 0.0, 1.0) | mat2(0.0, 0.0, 0.0, 0.0) ]; 33213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 33223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 33233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 33243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 33253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 33263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 33273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 33283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 33293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 33303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 33313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 33323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = mat2(in0); 33333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 33343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 33353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 33363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 33373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 33383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 33393c827367444ee418f129b2c238299f49d3264554Jarkko Poyryend # scalar_to_matrix 33403c827367444ee418f129b2c238299f49d3264554Jarkko Poyrygroup matrix_to_matrix "Matrix to Matrix Conversions" 33413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 33423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case mat4_to_mat4 33433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 33443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 33453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input mat4 in0 = [ mat4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0) | mat4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5, -0.75, -8.425, 0.03125, -0.0125, 9.975, -6.542, 0.015625, 9.975) ]; 33463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output mat4 out0 = [ mat4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0) | mat4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5, -0.75, -8.425, 0.03125, -0.0125, 9.975, -6.542, 0.015625, 9.975) ]; 33473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 33483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 33493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 33503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 33513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 33523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 33533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 33543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 33553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 33563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 33573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 33583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = mat4(in0); 33593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 33603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 33613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 33623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 33633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 33643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case mat4_to_mat3 33653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 33663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 33673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input mat4 in0 = [ mat4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0) | mat4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5, -0.75, -8.425, 0.03125, -0.0125, 9.975, -6.542, 0.015625, 9.975) ]; 33683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output mat3 out0 = [ mat3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0) | mat3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625, -0.75, -8.425, 0.03125) ]; 33693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 33703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 33713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 33723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 33733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 33743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 33753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 33763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 33773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 33783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 33793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 33803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = mat3(in0); 33813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 33823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 33833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 33843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 33853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 33863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case mat4_to_mat2 33873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 33883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 33893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input mat4 in0 = [ mat4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0) | mat4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5, -0.75, -8.425, 0.03125, -0.0125, 9.975, -6.542, 0.015625, 9.975) ]; 33903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output mat2 out0 = [ mat2(1.0, 0.0, 0.0, 1.0) | mat2(6.5, 32.0, 12.5, 0.0208333333333) ]; 33913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 33923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 33933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 33943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 33953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 33963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 33973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 33983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 33993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 34003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 34013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 34023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = mat2(in0); 34033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 34043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 34053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 34063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 34073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 34083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case mat3_to_mat4 34093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 34103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 34113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input mat3 in0 = [ mat3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0) | mat3(6.5, 32.0, 0.125, 12.5, 0.03125, 0.0625, -0.75, 0.015625, 0.03125) ]; 34123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output mat4 out0 = [ mat4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0) | mat4(6.5, 32.0, 0.125, 0.0, 12.5, 0.03125, 0.0625, 0.0, -0.75, 0.015625, 0.03125, 0.0, 0.0, 0.0, 0.0, 1.0) ]; 34133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 34143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 34153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 34163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 34173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 34183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 34193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 34203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 34213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 34223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 34233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 34243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = mat4(in0); 34253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 34263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 34273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 34283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 34293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 34303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case mat3_to_mat3 34313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 34323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 34333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input mat3 in0 = [ mat3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0) | mat3(6.5, 32.0, 0.125, 12.5, 0.03125, 0.0625, -0.75, 0.015625, 0.03125) ]; 34343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output mat3 out0 = [ mat3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0) | mat3(6.5, 32.0, 0.125, 12.5, 0.03125, 0.0625, -0.75, 0.015625, 0.03125) ]; 34353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 34363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 34373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 34383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 34393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 34403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 34413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 34423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 34433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 34443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 34453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 34463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = mat3(in0); 34473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 34483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 34493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 34503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 34513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 34523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case mat3_to_mat2 34533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 34543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 34553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input mat3 in0 = [ mat3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0) | mat3(6.5, 32.0, 0.125, 12.5, 0.03125, 0.0625, -0.75, 0.015625, 0.03125) ]; 34563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output mat2 out0 = [ mat2(1.0, 0.0, 0.0, 1.0) | mat2(6.5, 32.0, 12.5, 0.03125) ]; 34573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 34583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 34593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 34603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 34613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 34623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 34633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 34643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 34653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 34663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 34673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 34683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = mat2(in0); 34693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 34703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 34713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 34723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 34733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 34743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case mat2_to_mat4 34753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 34763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 34773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input mat2 in0 = [ mat2(1.0, 0.0, 0.0, 1.0) | mat2(6.5, -0.75, 12.5, 9.975) | mat2(6.5, -0.75, 12.5, 9.975) | mat2(8.0, -24.0, 16.0, -16.0) | mat2(0.125, 0.03125, 0.0625, 0.015625) | mat2(-18.725, -0.0125, -0.5, 19.975) ]; 34783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output mat4 out0 = [ mat4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0) | mat4(6.5, -0.75, 0.0, 0.0, 12.5, 9.975, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0) | mat4(6.5, -0.75, 0.0, 0.0, 12.5, 9.975, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0) | mat4(8.0, -24.0, 0.0, 0.0, 16.0, -16.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0) | mat4(0.125, 0.03125, 0.0, 0.0, 0.0625, 0.015625, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0) | mat4(-18.725, -0.0125, 0.0, 0.0, -0.5, 19.975, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0) ]; 34793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 34803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 34813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 34823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 34833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 34843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 34853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 34863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 34873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 34883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 34893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 34903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = mat4(in0); 34913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 34923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 34933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 34943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 34953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 34963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case mat2_to_mat3 34973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 34983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 34993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input mat2 in0 = [ mat2(1.0, 0.0, 0.0, 1.0) | mat2(6.5, -0.75, 12.5, 9.975) | mat2(6.5, -0.75, 12.5, 9.975) | mat2(8.0, -24.0, 16.0, -16.0) | mat2(0.125, 0.03125, 0.0625, 0.015625) | mat2(-18.725, -0.0125, -0.5, 19.975) ]; 35003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output mat3 out0 = [ mat3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0) | mat3(6.5, -0.75, 0.0, 12.5, 9.975, 0.0, 0.0, 0.0, 1.0) | mat3(6.5, -0.75, 0.0, 12.5, 9.975, 0.0, 0.0, 0.0, 1.0) | mat3(8.0, -24.0, 0.0, 16.0, -16.0, 0.0, 0.0, 0.0, 1.0) | mat3(0.125, 0.03125, 0.0, 0.0625, 0.015625, 0.0, 0.0, 0.0, 1.0) | mat3(-18.725, -0.0125, 0.0, -0.5, 19.975, 0.0, 0.0, 0.0, 1.0) ]; 35013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 35023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 35033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 35043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 35053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 35063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 35073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 35083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 35093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 35103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 35113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 35123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = mat3(in0); 35133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 35143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 35153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 35163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 35173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 35183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case mat2_to_mat2 35193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 35203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 35213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input mat2 in0 = [ mat2(1.0, 0.0, 0.0, 1.0) | mat2(6.5, -0.75, 12.5, 9.975) | mat2(6.5, -0.75, 12.5, 9.975) | mat2(8.0, -24.0, 16.0, -16.0) | mat2(0.125, 0.03125, 0.0625, 0.015625) | mat2(-18.725, -0.0125, -0.5, 19.975) ]; 35223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output mat2 out0 = [ mat2(1.0, 0.0, 0.0, 1.0) | mat2(6.5, -0.75, 12.5, 9.975) | mat2(6.5, -0.75, 12.5, 9.975) | mat2(8.0, -24.0, 16.0, -16.0) | mat2(0.125, 0.03125, 0.0625, 0.015625) | mat2(-18.725, -0.0125, -0.5, 19.975) ]; 35233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 35243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 35253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 35263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 35273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 35283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 35293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 35303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 35313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 35323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 35333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 35343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = mat2(in0); 35353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 35363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 35373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 35383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 35393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 35403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 35413c827367444ee418f129b2c238299f49d3264554Jarkko Poyryend # matrix_to_matrix 35423c827367444ee418f129b2c238299f49d3264554Jarkko Poyrygroup vector_combine "Vector Combine Constructors" 35433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 35443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec2_vec2_to_vec4 35453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 35463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 35473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec2 in0 = [ vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(1.0, 1.25) | vec2(0.0, 0.5) | vec2(-0.75, -0.0322580645161) ]; 35483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec2 in1 = [ vec2(-32.0, 64.0) | vec2(1.0, 1.25) | vec2(0.0, 0.5) | vec2(-0.5, -2.25) | vec2(-0.75, -0.0322580645161) ]; 35493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec4 out0 = [ vec4(-0.5, -2.25, -32.0, 64.0) | vec4(-32.0, 64.0, 1.0, 1.25) | vec4(1.0, 1.25, 0.0, 0.5) | vec4(0.0, 0.5, -0.5, -2.25) | vec4(-0.75, -0.0322580645161, -0.75, -0.0322580645161) ]; 35503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 35513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 35523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 35533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 35543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 35553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 35563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 35573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 35583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 35593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 35603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 35613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec4(in0, in1); 35623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 35633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 35643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 35653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 35663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 35673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec2_vec2_to_ivec4 35683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 35693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 35703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec2 in0 = [ vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(1.0, 1.25) | vec2(0.0, 0.5) | vec2(-0.75, -0.0322580645161) ]; 35713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec2 in1 = [ vec2(-32.0, 64.0) | vec2(1.0, 1.25) | vec2(0.0, 0.5) | vec2(-0.5, -2.25) | vec2(-0.75, -0.0322580645161) ]; 35723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec4 out0 = [ ivec4(0, -2, -32, 64) | ivec4(-32, 64, 1, 1) | ivec4(1, 1, 0, 0) | ivec4(0, 0, 0, -2) | ivec4(0, 0, 0, 0) ]; 35733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 35743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 35753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 35763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 35773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 35783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 35793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 35803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 35813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 35823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 35833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 35843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec4(in0, in1); 35853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 35863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 35873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 35883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 35893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 35903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec2_vec2_to_bvec4 35913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 35923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 35933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec2 in0 = [ vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(1.0, 1.25) | vec2(0.0, 0.5) | vec2(-0.75, -0.0322580645161) ]; 35943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec2 in1 = [ vec2(-32.0, 64.0) | vec2(1.0, 1.25) | vec2(0.0, 0.5) | vec2(-0.5, -2.25) | vec2(-0.75, -0.0322580645161) ]; 35953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec4 out0 = [ bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, false, true) | bvec4(false, true, true, true) | bvec4(true, true, true, true) ]; 35963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 35973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 35983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 35993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 36003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 36013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 36023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 36033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 36043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 36053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 36063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 36073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec4(in0, in1); 36083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 36093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 36103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 36113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 36123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 36133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec2_bvec2_to_vec4 36143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 36153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 36163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec2 in0 = [ bvec2(false, false) | bvec2(true, false) | bvec2(false, true) | bvec2(false, false) | bvec2(true, true) ]; 36173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec2 in1 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 36183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec4 out0 = [ vec4(0.0, 0.0, 1.0, 0.0) | vec4(1.0, 0.0, 0.0, 0.0) | vec4(0.0, 1.0, 0.0, 1.0) | vec4(0.0, 0.0, 1.0, 1.0) | vec4(1.0, 1.0, 0.0, 0.0) ]; 36193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 36203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 36213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 36223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 36233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 36243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 36253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 36263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 36273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 36283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 36293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 36303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec4(in0, in1); 36313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 36323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 36333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 36343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 36353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 36363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec2_bvec2_to_ivec4 36373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 36383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 36393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec2 in0 = [ bvec2(false, false) | bvec2(true, false) | bvec2(false, true) | bvec2(false, false) | bvec2(true, true) ]; 36403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec2 in1 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 36413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec4 out0 = [ ivec4(0, 0, 1, 0) | ivec4(1, 0, 0, 0) | ivec4(0, 1, 0, 1) | ivec4(0, 0, 1, 1) | ivec4(1, 1, 0, 0) ]; 36423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 36433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 36443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 36453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 36463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 36473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 36483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 36493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 36503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 36513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 36523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 36533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec4(in0, in1); 36543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 36553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 36563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 36573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 36583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 36593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec2_bvec2_to_bvec4 36603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 36613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 36623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec2 in0 = [ bvec2(false, false) | bvec2(true, false) | bvec2(false, true) | bvec2(false, false) | bvec2(true, true) ]; 36633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec2 in1 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 36643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec4 out0 = [ bvec4(false, false, true, false) | bvec4(true, false, false, false) | bvec4(false, true, false, true) | bvec4(false, false, true, true) | bvec4(true, true, false, false) ]; 36653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 36663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 36673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 36683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 36693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 36703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 36713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 36723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 36733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 36743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 36753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 36763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec4(in0, in1); 36773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 36783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 36793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 36803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 36813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 36823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case float_float_float_float_to_vec4 36833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 36843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 36853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in0 = [ 1.0 | 0.0 | -0.5 | -8.25 | 3.5 | -20.125 | 36.8125 | 2.0 ]; 36863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in1 = [ 0.0 | 36.8125 | -8.25 | 2.0 | 3.5 | 1.0 | -20.125 | -0.5 ]; 36873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in2 = [ 3.5 | 36.8125 | -8.25 | 1.0 | 2.0 | 0.0 | -20.125 | -0.5 ]; 36883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in3 = [ 3.5 | 36.8125 | 1.0 | -8.25 | 2.0 | 0.0 | -0.5 | -20.125 ]; 36893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec4 out0 = [ vec4(1.0, 0.0, 3.5, 3.5) | vec4(0.0, 36.8125, 36.8125, 36.8125) | vec4(-0.5, -8.25, -8.25, 1.0) | vec4(-8.25, 2.0, 1.0, -8.25) | vec4(3.5, 3.5, 2.0, 2.0) | vec4(-20.125, 1.0, 0.0, 0.0) | vec4(36.8125, -20.125, -20.125, -0.5) | vec4(2.0, -0.5, -0.5, -20.125) ]; 36903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 36913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 36923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 36933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 36943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 36953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 36963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 36973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 36983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 36993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 37003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 37013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec4(in0, in1, in2, in3); 37023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 37033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 37043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 37053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 37063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 37073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case float_float_float_float_to_ivec4 37083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 37093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 37103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in0 = [ 1.0 | 0.0 | -0.5 | -8.25 | 3.5 | -20.125 | 36.8125 | 2.0 ]; 37113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in1 = [ 0.0 | 36.8125 | -8.25 | 2.0 | 3.5 | 1.0 | -20.125 | -0.5 ]; 37123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in2 = [ 3.5 | 36.8125 | -8.25 | 1.0 | 2.0 | 0.0 | -20.125 | -0.5 ]; 37133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in3 = [ 3.5 | 36.8125 | 1.0 | -8.25 | 2.0 | 0.0 | -0.5 | -20.125 ]; 37143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec4 out0 = [ ivec4(1, 0, 3, 3) | ivec4(0, 36, 36, 36) | ivec4(0, -8, -8, 1) | ivec4(-8, 2, 1, -8) | ivec4(3, 3, 2, 2) | ivec4(-20, 1, 0, 0) | ivec4(36, -20, -20, 0) | ivec4(2, 0, 0, -20) ]; 37153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 37163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 37173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 37183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 37193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 37203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 37213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 37223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 37233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 37243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 37253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 37263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec4(in0, in1, in2, in3); 37273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 37283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 37293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 37303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 37313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 37323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case float_float_float_float_to_bvec4 37333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 37343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 37353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in0 = [ 1.0 | 0.0 | -0.5 | -8.25 | 3.5 | -20.125 | 36.8125 | 2.0 ]; 37363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in1 = [ 0.0 | 36.8125 | -8.25 | 2.0 | 3.5 | 1.0 | -20.125 | -0.5 ]; 37373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in2 = [ 3.5 | 36.8125 | -8.25 | 1.0 | 2.0 | 0.0 | -20.125 | -0.5 ]; 37383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in3 = [ 3.5 | 36.8125 | 1.0 | -8.25 | 2.0 | 0.0 | -0.5 | -20.125 ]; 37393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec4 out0 = [ bvec4(true, false, true, true) | bvec4(false, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, false, false) | bvec4(true, true, true, true) | bvec4(true, true, true, true) ]; 37403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 37413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 37423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 37433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 37443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 37453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 37463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 37473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 37483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 37493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 37503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 37513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec4(in0, in1, in2, in3); 37523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 37533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 37543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 37553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 37563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 37573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case int_int_int_int_to_vec4 37583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 37593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 37603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in0 = [ -12 | -66 | 2 | 5 | 8 | -192 | 255 | 1 | 0 | 11 ]; 37613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in1 = [ 2 | 5 | -66 | 11 | -192 | 8 | -12 | 1 | 255 | 0 ]; 37623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in2 = [ 11 | 255 | 5 | 8 | 2 | -192 | -12 | -66 | 1 | 0 ]; 37633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in3 = [ -192 | -66 | 8 | -12 | 1 | 2 | 0 | 255 | 5 | 11 ]; 37643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec4 out0 = [ vec4(-12.0, 2.0, 11.0, -192.0) | vec4(-66.0, 5.0, 255.0, -66.0) | vec4(2.0, -66.0, 5.0, 8.0) | vec4(5.0, 11.0, 8.0, -12.0) | vec4(8.0, -192.0, 2.0, 1.0) | vec4(-192.0, 8.0, -192.0, 2.0) | vec4(255.0, -12.0, -12.0, 0.0) | vec4(1.0, 1.0, -66.0, 255.0) | vec4(0.0, 255.0, 1.0, 5.0) | vec4(11.0, 0.0, 0.0, 11.0) ]; 37653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 37663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 37673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 37683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 37693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 37703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 37713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 37723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 37733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 37743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 37753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 37763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec4(in0, in1, in2, in3); 37773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 37783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 37793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 37803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 37813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 37823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case int_int_int_int_to_ivec4 37833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 37843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 37853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in0 = [ -12 | -66 | 2 | 5 | 8 | -192 | 255 | 1 | 0 | 11 ]; 37863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in1 = [ 2 | 5 | -66 | 11 | -192 | 8 | -12 | 1 | 255 | 0 ]; 37873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in2 = [ 11 | 255 | 5 | 8 | 2 | -192 | -12 | -66 | 1 | 0 ]; 37883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in3 = [ -192 | -66 | 8 | -12 | 1 | 2 | 0 | 255 | 5 | 11 ]; 37893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec4 out0 = [ ivec4(-12, 2, 11, -192) | ivec4(-66, 5, 255, -66) | ivec4(2, -66, 5, 8) | ivec4(5, 11, 8, -12) | ivec4(8, -192, 2, 1) | ivec4(-192, 8, -192, 2) | ivec4(255, -12, -12, 0) | ivec4(1, 1, -66, 255) | ivec4(0, 255, 1, 5) | ivec4(11, 0, 0, 11) ]; 37903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 37913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 37923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 37933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 37943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 37953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 37963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 37973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 37983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 37993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 38003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 38013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec4(in0, in1, in2, in3); 38023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 38033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 38043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 38053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 38063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 38073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case int_int_int_int_to_bvec4 38083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 38093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 38103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in0 = [ -12 | -66 | 2 | 5 | 8 | -192 | 255 | 1 | 0 | 11 ]; 38113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in1 = [ 2 | 5 | -66 | 11 | -192 | 8 | -12 | 1 | 255 | 0 ]; 38123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in2 = [ 11 | 255 | 5 | 8 | 2 | -192 | -12 | -66 | 1 | 0 ]; 38133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in3 = [ -192 | -66 | 8 | -12 | 1 | 2 | 0 | 255 | 5 | 11 ]; 38143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec4 out0 = [ bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, false) | bvec4(true, true, true, true) | bvec4(false, true, true, true) | bvec4(true, false, false, true) ]; 38153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 38163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 38173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 38183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 38193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 38203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 38213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 38223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 38233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 38243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 38253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 38263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec4(in0, in1, in2, in3); 38273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 38283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 38293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 38303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 38313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 38323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bool_bool_bool_bool_to_vec4 38333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 38343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 38353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in0 = [ true | false ]; 38363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in1 = [ false | true ]; 38373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in2 = [ true | false ]; 38383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in3 = [ false | true ]; 38393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec4 out0 = [ vec4(1.0, 0.0, 1.0, 0.0) | vec4(0.0, 1.0, 0.0, 1.0) ]; 38403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 38413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 38423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 38433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 38443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 38453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 38463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 38473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 38483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 38493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 38503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 38513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec4(in0, in1, in2, in3); 38523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 38533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 38543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 38553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 38563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 38573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bool_bool_bool_bool_to_ivec4 38583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 38593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 38603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in0 = [ true | false ]; 38613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in1 = [ false | true ]; 38623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in2 = [ true | false ]; 38633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in3 = [ false | true ]; 38643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec4 out0 = [ ivec4(1, 0, 1, 0) | ivec4(0, 1, 0, 1) ]; 38653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 38663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 38673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 38683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 38693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 38703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 38713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 38723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 38733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 38743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 38753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 38763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec4(in0, in1, in2, in3); 38773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 38783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 38793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 38803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 38813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 38823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bool_bool_bool_bool_to_bvec4 38833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 38843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 38853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in0 = [ true | false ]; 38863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in1 = [ false | true ]; 38873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in2 = [ true | false ]; 38883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in3 = [ false | true ]; 38893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec4 out0 = [ bvec4(true, false, true, false) | bvec4(false, true, false, true) ]; 38903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 38913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 38923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 38933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 38943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 38953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 38963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 38973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 38983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 38993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 39003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 39013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec4(in0, in1, in2, in3); 39023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 39033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 39043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 39053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 39063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 39073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bool_float_int_bool_to_vec4 39083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 39093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 39103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in0 = [ true | true | true | false | false | false | true | false | true | false ]; 39113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in1 = [ 1.0 | 2.0 | 1.0 | 0.0 | 36.8125 | -8.25 | -0.5 | 3.5 | -20.125 | 0.0 ]; 39123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in2 = [ -192 | -12 | 2 | -66 | 255 | 8 | 0 | 5 | 11 | 1 ]; 39133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in3 = [ true | true | false | false | true | false | false | false | true | true ]; 39143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec4 out0 = [ vec4(1.0, 1.0, -192.0, 1.0) | vec4(1.0, 2.0, -12.0, 1.0) | vec4(1.0, 1.0, 2.0, 0.0) | vec4(0.0, 0.0, -66.0, 0.0) | vec4(0.0, 36.8125, 255.0, 1.0) | vec4(0.0, -8.25, 8.0, 0.0) | vec4(1.0, -0.5, 0.0, 0.0) | vec4(0.0, 3.5, 5.0, 0.0) | vec4(1.0, -20.125, 11.0, 1.0) | vec4(0.0, 0.0, 1.0, 1.0) ]; 39153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 39163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 39173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 39183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 39193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 39203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 39213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 39223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 39233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 39243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 39253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 39263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec4(in0, in1, in2, in3); 39273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 39283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 39293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 39303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 39313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 39323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bool_float_int_bool_to_ivec4 39333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 39343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 39353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in0 = [ true | true | true | false | false | false | true | false | true | false ]; 39363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in1 = [ 1.0 | 2.0 | 1.0 | 0.0 | 36.8125 | -8.25 | -0.5 | 3.5 | -20.125 | 0.0 ]; 39373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in2 = [ -192 | -12 | 2 | -66 | 255 | 8 | 0 | 5 | 11 | 1 ]; 39383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in3 = [ true | true | false | false | true | false | false | false | true | true ]; 39393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec4 out0 = [ ivec4(1, 1, -192, 1) | ivec4(1, 2, -12, 1) | ivec4(1, 1, 2, 0) | ivec4(0, 0, -66, 0) | ivec4(0, 36, 255, 1) | ivec4(0, -8, 8, 0) | ivec4(1, 0, 0, 0) | ivec4(0, 3, 5, 0) | ivec4(1, -20, 11, 1) | ivec4(0, 0, 1, 1) ]; 39403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 39413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 39423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 39433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 39443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 39453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 39463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 39473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 39483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 39493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 39503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 39513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec4(in0, in1, in2, in3); 39523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 39533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 39543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 39553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 39563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 39573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bool_float_int_bool_to_bvec4 39583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 39593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 39603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in0 = [ true | true | true | false | false | false | true | false | true | false ]; 39613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in1 = [ 1.0 | 2.0 | 1.0 | 0.0 | 36.8125 | -8.25 | -0.5 | 3.5 | -20.125 | 0.0 ]; 39623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in2 = [ -192 | -12 | 2 | -66 | 255 | 8 | 0 | 5 | 11 | 1 ]; 39633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in3 = [ true | true | false | false | true | false | false | false | true | true ]; 39643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec4 out0 = [ bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, false) | bvec4(false, false, true, false) | bvec4(false, true, true, true) | bvec4(false, true, true, false) | bvec4(true, true, false, false) | bvec4(false, true, true, false) | bvec4(true, true, true, true) | bvec4(false, false, true, true) ]; 39653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 39663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 39673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 39683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 39693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 39703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 39713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 39723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 39733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 39743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 39753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 39763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec4(in0, in1, in2, in3); 39773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 39783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 39793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 39803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 39813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 39823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec2_ivec2_to_vec4 39833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 39843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 39853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec2 in0 = [ vec2(-0.5, -2.25) | vec2(0.0, 0.5) | vec2(-32.0, 64.0) | vec2(1.0, 1.25) | vec2(-0.75, -0.0322580645161) ]; 39863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec2 in1 = [ ivec2(0, 0) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) | ivec2(1, 1) ]; 39873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec4 out0 = [ vec4(-0.5, -2.25, 0.0, 0.0) | vec4(0.0, 0.5, 0.0, -2.0) | vec4(-32.0, 64.0, -32.0, 64.0) | vec4(1.0, 1.25, 0.0, 0.0) | vec4(-0.75, -0.0322580645161, 1.0, 1.0) ]; 39883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 39893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 39903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 39913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 39923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 39933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 39943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 39953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 39963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 39973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 39983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 39993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec4(in0, in1); 40003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 40013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 40023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 40033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 40043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 40053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec2_ivec2_to_ivec4 40063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 40073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 40083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec2 in0 = [ vec2(-0.5, -2.25) | vec2(0.0, 0.5) | vec2(-32.0, 64.0) | vec2(1.0, 1.25) | vec2(-0.75, -0.0322580645161) ]; 40093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec2 in1 = [ ivec2(0, 0) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) | ivec2(1, 1) ]; 40103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec4 out0 = [ ivec4(0, -2, 0, 0) | ivec4(0, 0, 0, -2) | ivec4(-32, 64, -32, 64) | ivec4(1, 1, 0, 0) | ivec4(0, 0, 1, 1) ]; 40113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 40123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 40133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 40143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 40153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 40163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 40173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 40183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 40193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 40203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 40213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 40223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec4(in0, in1); 40233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 40243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 40253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 40263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 40273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 40283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec2_ivec2_to_bvec4 40293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 40303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 40313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec2 in0 = [ vec2(-0.5, -2.25) | vec2(0.0, 0.5) | vec2(-32.0, 64.0) | vec2(1.0, 1.25) | vec2(-0.75, -0.0322580645161) ]; 40323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec2 in1 = [ ivec2(0, 0) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) | ivec2(1, 1) ]; 40333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec4 out0 = [ bvec4(true, true, false, false) | bvec4(false, true, false, true) | bvec4(true, true, true, true) | bvec4(true, true, false, false) | bvec4(true, true, true, true) ]; 40343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 40353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 40363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 40373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 40383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 40393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 40403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 40413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 40423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 40433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 40443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 40453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec4(in0, in1); 40463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 40473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 40483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 40493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 40503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 40513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec2_bvec2_to_vec4 40523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 40533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 40543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec2 in0 = [ vec2(-32.0, 64.0) | vec2(-0.5, -2.25) | vec2(1.0, 1.25) | vec2(-0.75, -0.0322580645161) | vec2(0.0, 0.5) ]; 40553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec2 in1 = [ bvec2(false, false) | bvec2(true, false) | bvec2(true, true) | bvec2(false, true) | bvec2(false, false) ]; 40563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec4 out0 = [ vec4(-32.0, 64.0, 0.0, 0.0) | vec4(-0.5, -2.25, 1.0, 0.0) | vec4(1.0, 1.25, 1.0, 1.0) | vec4(-0.75, -0.0322580645161, 0.0, 1.0) | vec4(0.0, 0.5, 0.0, 0.0) ]; 40573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 40583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 40593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 40603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 40613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 40623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 40633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 40643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 40653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 40663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 40673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 40683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec4(in0, in1); 40693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 40703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 40713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 40723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 40733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 40743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec2_bvec2_to_ivec4 40753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 40763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 40773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec2 in0 = [ vec2(-32.0, 64.0) | vec2(-0.5, -2.25) | vec2(1.0, 1.25) | vec2(-0.75, -0.0322580645161) | vec2(0.0, 0.5) ]; 40783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec2 in1 = [ bvec2(false, false) | bvec2(true, false) | bvec2(true, true) | bvec2(false, true) | bvec2(false, false) ]; 40793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec4 out0 = [ ivec4(-32, 64, 0, 0) | ivec4(0, -2, 1, 0) | ivec4(1, 1, 1, 1) | ivec4(0, 0, 0, 1) | ivec4(0, 0, 0, 0) ]; 40803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 40813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 40823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 40833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 40843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 40853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 40863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 40873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 40883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 40893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 40903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 40913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec4(in0, in1); 40923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 40933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 40943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 40953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 40963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 40973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec2_bvec2_to_bvec4 40983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 40993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 41003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec2 in0 = [ vec2(-32.0, 64.0) | vec2(-0.5, -2.25) | vec2(1.0, 1.25) | vec2(-0.75, -0.0322580645161) | vec2(0.0, 0.5) ]; 41013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec2 in1 = [ bvec2(false, false) | bvec2(true, false) | bvec2(true, true) | bvec2(false, true) | bvec2(false, false) ]; 41023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec4 out0 = [ bvec4(true, true, false, false) | bvec4(true, true, true, false) | bvec4(true, true, true, true) | bvec4(true, true, false, true) | bvec4(false, true, false, false) ]; 41033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 41043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 41053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 41063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 41073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 41083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 41093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 41103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 41113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 41123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 41133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 41143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec4(in0, in1); 41153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 41163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 41173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 41183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 41193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 41203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec3_float_to_vec4 41213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 41223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 41233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(true, false, false) | bvec3(false, true, false) | bvec3(false, true, false) | bvec3(true, true, true) ]; 41243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in1 = [ -8.25 | -20.125 | 2.0 | 0.0 | -0.5 | 3.5 | 36.8125 | 1.0 ]; 41253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec4 out0 = [ vec4(1.0, 0.0, 0.0, -8.25) | vec4(0.0, 0.0, 0.0, -20.125) | vec4(0.0, 0.0, 0.0, 2.0) | vec4(0.0, 0.0, 0.0, 0.0) | vec4(1.0, 0.0, 0.0, -0.5) | vec4(0.0, 1.0, 0.0, 3.5) | vec4(0.0, 1.0, 0.0, 36.8125) | vec4(1.0, 1.0, 1.0, 1.0) ]; 41263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 41273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 41283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 41293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 41303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 41313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 41323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 41333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 41343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 41353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 41363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 41373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec4(in0, in1); 41383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 41393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 41403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 41413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 41423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 41433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec3_float_to_ivec4 41443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 41453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 41463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(true, false, false) | bvec3(false, true, false) | bvec3(false, true, false) | bvec3(true, true, true) ]; 41473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in1 = [ -8.25 | -20.125 | 2.0 | 0.0 | -0.5 | 3.5 | 36.8125 | 1.0 ]; 41483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec4 out0 = [ ivec4(1, 0, 0, -8) | ivec4(0, 0, 0, -20) | ivec4(0, 0, 0, 2) | ivec4(0, 0, 0, 0) | ivec4(1, 0, 0, 0) | ivec4(0, 1, 0, 3) | ivec4(0, 1, 0, 36) | ivec4(1, 1, 1, 1) ]; 41493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 41503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 41513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 41523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 41533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 41543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 41553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 41563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 41573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 41583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 41593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 41603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec4(in0, in1); 41613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 41623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 41633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 41643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 41653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 41663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec3_float_to_bvec4 41673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 41683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 41693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(true, false, false) | bvec3(false, true, false) | bvec3(false, true, false) | bvec3(true, true, true) ]; 41703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in1 = [ -8.25 | -20.125 | 2.0 | 0.0 | -0.5 | 3.5 | 36.8125 | 1.0 ]; 41713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec4 out0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, false, false, true) | bvec4(false, false, false, false) | bvec4(true, false, false, true) | bvec4(false, true, false, true) | bvec4(false, true, false, true) | bvec4(true, true, true, true) ]; 41723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 41733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 41743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 41753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 41763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 41773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 41783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 41793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 41803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 41813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 41823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 41833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec4(in0, in1); 41843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 41853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 41863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 41873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 41883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 41893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec3_float_to_vec4 41903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 41913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 41923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec3 in0 = [ vec3(-0.75, -0.0322580645161, 0.0526315789474) | vec3(0.0, 0.5, 0.75) | vec3(-0.5, -2.25, -4.875) | vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(1.0, 1.25, 1.125) ]; 41933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in1 = [ 0.0 | 2.0 | 36.8125 | 3.5 | 1.0 | -0.5 | -8.25 | -20.125 ]; 41943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec4 out0 = [ vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.0) | vec4(0.0, 0.5, 0.75, 2.0) | vec4(-0.5, -2.25, -4.875, 36.8125) | vec4(0.0, 0.5, 0.75, 3.5) | vec4(1.0, 1.25, 1.125, 1.0) | vec4(-0.5, -2.25, -4.875, -0.5) | vec4(-32.0, 64.0, -51.0, -8.25) | vec4(1.0, 1.25, 1.125, -20.125) ]; 41953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 41963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 41973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 41983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 41993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 42003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 42013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 42023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 42033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 42043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 42053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 42063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec4(in0, in1); 42073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 42083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 42093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 42103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 42113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 42123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec3_float_to_ivec4 42133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 42143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 42153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec3 in0 = [ vec3(-0.75, -0.0322580645161, 0.0526315789474) | vec3(0.0, 0.5, 0.75) | vec3(-0.5, -2.25, -4.875) | vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(1.0, 1.25, 1.125) ]; 42163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in1 = [ 0.0 | 2.0 | 36.8125 | 3.5 | 1.0 | -0.5 | -8.25 | -20.125 ]; 42173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(0, 0, 0, 2) | ivec4(0, -2, -4, 36) | ivec4(0, 0, 0, 3) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 0) | ivec4(-32, 64, -51, -8) | ivec4(1, 1, 1, -20) ]; 42183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 42193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 42203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 42213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 42223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 42233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 42243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 42253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 42263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 42273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 42283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 42293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec4(in0, in1); 42303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 42313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 42323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 42333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 42343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 42353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec3_float_to_bvec4 42363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 42373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 42383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec3 in0 = [ vec3(-0.75, -0.0322580645161, 0.0526315789474) | vec3(0.0, 0.5, 0.75) | vec3(-0.5, -2.25, -4.875) | vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(1.0, 1.25, 1.125) ]; 42393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in1 = [ 0.0 | 2.0 | 36.8125 | 3.5 | 1.0 | -0.5 | -8.25 | -20.125 ]; 42403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec4 out0 = [ bvec4(true, true, true, false) | bvec4(false, true, true, true) | bvec4(true, true, true, true) | bvec4(false, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) ]; 42413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 42423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 42433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 42443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 42453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 42463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 42473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 42483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 42493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 42503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 42513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 42523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec4(in0, in1); 42533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 42543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 42553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 42563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 42573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 42583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case int_ivec2_int_to_vec4 42593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 42603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 42613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in0 = [ -66 | 8 | -192 | 255 | 5 | -12 | 0 | 2 | 1 | 11 ]; 42623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec2 in1 = [ ivec2(0, 0) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(-32, 64) | ivec2(1, 1) | ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(0, -2) | ivec2(0, 0) ]; 42633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in2 = [ 8 | 2 | 11 | -192 | 255 | -12 | 0 | -66 | 1 | 5 ]; 42643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec4 out0 = [ vec4(-66.0, 0.0, 0.0, 8.0) | vec4(8.0, 0.0, 0.0, 2.0) | vec4(-192.0, -32.0, 64.0, 11.0) | vec4(255.0, -32.0, 64.0, -192.0) | vec4(5.0, 1.0, 1.0, 255.0) | vec4(-12.0, 0.0, 0.0, -12.0) | vec4(0.0, 1.0, 1.0, 0.0) | vec4(2.0, 0.0, -2.0, -66.0) | vec4(1.0, 0.0, -2.0, 1.0) | vec4(11.0, 0.0, 0.0, 5.0) ]; 42653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 42663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 42673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 42683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 42693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 42703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 42713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 42723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 42733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 42743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 42753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 42763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec4(in0, in1, in2); 42773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 42783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 42793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 42803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 42813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 42823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case int_ivec2_int_to_ivec4 42833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 42843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 42853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in0 = [ -66 | 8 | -192 | 255 | 5 | -12 | 0 | 2 | 1 | 11 ]; 42863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec2 in1 = [ ivec2(0, 0) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(-32, 64) | ivec2(1, 1) | ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(0, -2) | ivec2(0, 0) ]; 42873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in2 = [ 8 | 2 | 11 | -192 | 255 | -12 | 0 | -66 | 1 | 5 ]; 42883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec4 out0 = [ ivec4(-66, 0, 0, 8) | ivec4(8, 0, 0, 2) | ivec4(-192, -32, 64, 11) | ivec4(255, -32, 64, -192) | ivec4(5, 1, 1, 255) | ivec4(-12, 0, 0, -12) | ivec4(0, 1, 1, 0) | ivec4(2, 0, -2, -66) | ivec4(1, 0, -2, 1) | ivec4(11, 0, 0, 5) ]; 42893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 42903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 42913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 42923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 42933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 42943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 42953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 42963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 42973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 42983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 42993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 43003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec4(in0, in1, in2); 43013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 43023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 43033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 43043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 43053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 43063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case int_ivec2_int_to_bvec4 43073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 43083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 43093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in0 = [ -66 | 8 | -192 | 255 | 5 | -12 | 0 | 2 | 1 | 11 ]; 43103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec2 in1 = [ ivec2(0, 0) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(-32, 64) | ivec2(1, 1) | ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(0, -2) | ivec2(0, 0) ]; 43113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in2 = [ 8 | 2 | 11 | -192 | 255 | -12 | 0 | -66 | 1 | 5 ]; 43123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec4 out0 = [ bvec4(true, false, false, true) | bvec4(true, false, false, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, false, false, true) | bvec4(false, true, true, false) | bvec4(true, false, true, true) | bvec4(true, false, true, true) | bvec4(true, false, false, true) ]; 43133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 43143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 43153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 43163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 43173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 43183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 43193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 43203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 43213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 43223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 43233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 43243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec4(in0, in1, in2); 43253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 43263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 43273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 43283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 43293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 43303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bool_float_ivec2_to_vec4 43313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 43323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 43333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in0 = [ true | true | true | true | false | false | false | false ]; 43343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in1 = [ 2.0 | 0.0 | 3.5 | -8.25 | 36.8125 | -20.125 | 1.0 | -0.5 ]; 43353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec2 in2 = [ ivec2(0, 0) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(1, 1) | ivec2(0, -2) | ivec2(0, -2) | ivec2(1, 1) | ivec2(0, 0) ]; 43363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec4 out0 = [ vec4(1.0, 2.0, 0.0, 0.0) | vec4(1.0, 0.0, 0.0, 0.0) | vec4(1.0, 3.5, -32.0, 64.0) | vec4(1.0, -8.25, 1.0, 1.0) | vec4(0.0, 36.8125, 0.0, -2.0) | vec4(0.0, -20.125, 0.0, -2.0) | vec4(0.0, 1.0, 1.0, 1.0) | vec4(0.0, -0.5, 0.0, 0.0) ]; 43373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 43383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 43393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 43403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 43413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 43423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 43433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 43443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 43453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 43463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 43473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 43483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec4(in0, in1, in2); 43493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 43503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 43513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 43523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 43533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 43543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bool_float_ivec2_to_ivec4 43553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 43563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 43573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in0 = [ true | true | true | true | false | false | false | false ]; 43583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in1 = [ 2.0 | 0.0 | 3.5 | -8.25 | 36.8125 | -20.125 | 1.0 | -0.5 ]; 43593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec2 in2 = [ ivec2(0, 0) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(1, 1) | ivec2(0, -2) | ivec2(0, -2) | ivec2(1, 1) | ivec2(0, 0) ]; 43603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec4 out0 = [ ivec4(1, 2, 0, 0) | ivec4(1, 0, 0, 0) | ivec4(1, 3, -32, 64) | ivec4(1, -8, 1, 1) | ivec4(0, 36, 0, -2) | ivec4(0, -20, 0, -2) | ivec4(0, 1, 1, 1) | ivec4(0, 0, 0, 0) ]; 43613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 43623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 43633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 43643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 43653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 43663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 43673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 43683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 43693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 43703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 43713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 43723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec4(in0, in1, in2); 43733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 43743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 43753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 43763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 43773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 43783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bool_float_ivec2_to_bvec4 43793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 43803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 43813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in0 = [ true | true | true | true | false | false | false | false ]; 43823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in1 = [ 2.0 | 0.0 | 3.5 | -8.25 | 36.8125 | -20.125 | 1.0 | -0.5 ]; 43833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec2 in2 = [ ivec2(0, 0) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(1, 1) | ivec2(0, -2) | ivec2(0, -2) | ivec2(1, 1) | ivec2(0, 0) ]; 43843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec4 out0 = [ bvec4(true, true, false, false) | bvec4(true, false, false, false) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(false, true, false, true) | bvec4(false, true, false, true) | bvec4(false, true, true, true) | bvec4(false, true, false, false) ]; 43853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 43863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 43873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 43883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 43893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 43903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 43913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 43923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 43933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 43943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 43953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 43963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec4(in0, in1, in2); 43973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 43983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 43993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 44003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 44013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 44023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case float_float_float_to_vec3 44033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 44043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 44053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in0 = [ 3.5 | 2.0 | -20.125 | -8.25 | 36.8125 | 1.0 | 0.0 | -0.5 ]; 44063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in1 = [ -0.5 | 1.0 | 2.0 | -20.125 | 0.0 | -8.25 | 36.8125 | 3.5 ]; 44073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in2 = [ 0.0 | 1.0 | 3.5 | -8.25 | -0.5 | 36.8125 | -20.125 | 2.0 ]; 44083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec3 out0 = [ vec3(3.5, -0.5, 0.0) | vec3(2.0, 1.0, 1.0) | vec3(-20.125, 2.0, 3.5) | vec3(-8.25, -20.125, -8.25) | vec3(36.8125, 0.0, -0.5) | vec3(1.0, -8.25, 36.8125) | vec3(0.0, 36.8125, -20.125) | vec3(-0.5, 3.5, 2.0) ]; 44093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 44103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 44113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 44123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 44133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 44143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 44153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 44163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 44173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 44183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 44193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 44203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec3(in0, in1, in2); 44213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 44223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 44233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 44243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 44253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 44263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case float_float_float_to_ivec3 44273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 44283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 44293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in0 = [ 3.5 | 2.0 | -20.125 | -8.25 | 36.8125 | 1.0 | 0.0 | -0.5 ]; 44303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in1 = [ -0.5 | 1.0 | 2.0 | -20.125 | 0.0 | -8.25 | 36.8125 | 3.5 ]; 44313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in2 = [ 0.0 | 1.0 | 3.5 | -8.25 | -0.5 | 36.8125 | -20.125 | 2.0 ]; 44323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec3 out0 = [ ivec3(3, 0, 0) | ivec3(2, 1, 1) | ivec3(-20, 2, 3) | ivec3(-8, -20, -8) | ivec3(36, 0, 0) | ivec3(1, -8, 36) | ivec3(0, 36, -20) | ivec3(0, 3, 2) ]; 44333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 44343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 44353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 44363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 44373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 44383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 44393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 44403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 44413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 44423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 44433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 44443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec3(in0, in1, in2); 44453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 44463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 44473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 44483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 44493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 44503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case float_float_float_to_bvec3 44513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 44523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 44533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in0 = [ 3.5 | 2.0 | -20.125 | -8.25 | 36.8125 | 1.0 | 0.0 | -0.5 ]; 44543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in1 = [ -0.5 | 1.0 | 2.0 | -20.125 | 0.0 | -8.25 | 36.8125 | 3.5 ]; 44553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in2 = [ 0.0 | 1.0 | 3.5 | -8.25 | -0.5 | 36.8125 | -20.125 | 2.0 ]; 44563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec3 out0 = [ bvec3(true, true, false) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, false, true) | bvec3(true, true, true) | bvec3(false, true, true) | bvec3(true, true, true) ]; 44573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 44583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 44593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 44603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 44613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 44623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 44633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 44643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 44653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 44663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 44673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 44683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec3(in0, in1, in2); 44693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 44703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 44713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 44723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 44733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 44743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case int_int_int_to_vec3 44753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 44763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 44773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in0 = [ 0 | 2 | 1 | 5 | 255 | 8 | -66 | 11 | -12 | -192 ]; 44783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in1 = [ 2 | 8 | 11 | -12 | -192 | 1 | -66 | 5 | 255 | 0 ]; 44793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in2 = [ -192 | -12 | -66 | 8 | 1 | 2 | 5 | 11 | 255 | 0 ]; 44803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec3 out0 = [ vec3(0.0, 2.0, -192.0) | vec3(2.0, 8.0, -12.0) | vec3(1.0, 11.0, -66.0) | vec3(5.0, -12.0, 8.0) | vec3(255.0, -192.0, 1.0) | vec3(8.0, 1.0, 2.0) | vec3(-66.0, -66.0, 5.0) | vec3(11.0, 5.0, 11.0) | vec3(-12.0, 255.0, 255.0) | vec3(-192.0, 0.0, 0.0) ]; 44813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 44823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 44833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 44843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 44853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 44863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 44873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 44883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 44893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 44903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 44913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 44923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec3(in0, in1, in2); 44933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 44943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 44953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 44963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 44973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 44983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case int_int_int_to_ivec3 44993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 45003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 45013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in0 = [ 0 | 2 | 1 | 5 | 255 | 8 | -66 | 11 | -12 | -192 ]; 45023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in1 = [ 2 | 8 | 11 | -12 | -192 | 1 | -66 | 5 | 255 | 0 ]; 45033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in2 = [ -192 | -12 | -66 | 8 | 1 | 2 | 5 | 11 | 255 | 0 ]; 45043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec3 out0 = [ ivec3(0, 2, -192) | ivec3(2, 8, -12) | ivec3(1, 11, -66) | ivec3(5, -12, 8) | ivec3(255, -192, 1) | ivec3(8, 1, 2) | ivec3(-66, -66, 5) | ivec3(11, 5, 11) | ivec3(-12, 255, 255) | ivec3(-192, 0, 0) ]; 45053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 45063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 45073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 45083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 45093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 45103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 45113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 45123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 45133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 45143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 45153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 45163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec3(in0, in1, in2); 45173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 45183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 45193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 45203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 45213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 45223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case int_int_int_to_bvec3 45233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 45243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 45253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in0 = [ 0 | 2 | 1 | 5 | 255 | 8 | -66 | 11 | -12 | -192 ]; 45263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in1 = [ 2 | 8 | 11 | -12 | -192 | 1 | -66 | 5 | 255 | 0 ]; 45273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in2 = [ -192 | -12 | -66 | 8 | 1 | 2 | 5 | 11 | 255 | 0 ]; 45283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec3 out0 = [ bvec3(false, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, false, false) ]; 45293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 45303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 45313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 45323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 45333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 45343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 45353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 45363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 45373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 45383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 45393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 45403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec3(in0, in1, in2); 45413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 45423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 45433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 45443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 45453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 45463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bool_bool_bool_to_vec3 45473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 45483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 45493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in0 = [ false | true ]; 45503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in1 = [ false | true ]; 45513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in2 = [ false | true ]; 45523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec3 out0 = [ vec3(0.0, 0.0, 0.0) | vec3(1.0, 1.0, 1.0) ]; 45533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 45543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 45553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 45563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 45573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 45583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 45593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 45603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 45613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 45623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 45633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 45643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec3(in0, in1, in2); 45653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 45663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 45673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 45683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 45693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 45703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bool_bool_bool_to_ivec3 45713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 45723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 45733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in0 = [ false | true ]; 45743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in1 = [ false | true ]; 45753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in2 = [ false | true ]; 45763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) ]; 45773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 45783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 45793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 45803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 45813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 45823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 45833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 45843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 45853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 45863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 45873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 45883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec3(in0, in1, in2); 45893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 45903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 45913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 45923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 45933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 45943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bool_bool_bool_to_bvec3 45953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 45963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 45973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in0 = [ false | true ]; 45983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in1 = [ false | true ]; 45993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in2 = [ false | true ]; 46003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec3 out0 = [ bvec3(false, false, false) | bvec3(true, true, true) ]; 46013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 46023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 46033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 46043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 46053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 46063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 46073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 46083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 46093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 46103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 46113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 46123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec3(in0, in1, in2); 46133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 46143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 46153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 46163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 46173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 46183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bool_float_int_to_vec3 46193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 46203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 46213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in0 = [ false | true | false | true | false | true | false | true | false | true ]; 46223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in1 = [ 0.0 | 2.0 | 1.0 | -0.5 | -8.25 | 3.5 | -20.125 | 1.0 | 0.0 | 36.8125 ]; 46233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in2 = [ -12 | -192 | 2 | 5 | -66 | 255 | 11 | 0 | 8 | 1 ]; 46243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec3 out0 = [ vec3(0.0, 0.0, -12.0) | vec3(1.0, 2.0, -192.0) | vec3(0.0, 1.0, 2.0) | vec3(1.0, -0.5, 5.0) | vec3(0.0, -8.25, -66.0) | vec3(1.0, 3.5, 255.0) | vec3(0.0, -20.125, 11.0) | vec3(1.0, 1.0, 0.0) | vec3(0.0, 0.0, 8.0) | vec3(1.0, 36.8125, 1.0) ]; 46253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 46263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 46273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 46283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 46293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 46303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 46313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 46323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 46333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 46343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 46353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 46363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec3(in0, in1, in2); 46373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 46383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 46393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 46403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 46413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 46423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bool_float_int_to_ivec3 46433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 46443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 46453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in0 = [ false | true | false | true | false | true | false | true | false | true ]; 46463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in1 = [ 0.0 | 2.0 | 1.0 | -0.5 | -8.25 | 3.5 | -20.125 | 1.0 | 0.0 | 36.8125 ]; 46473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in2 = [ -12 | -192 | 2 | 5 | -66 | 255 | 11 | 0 | 8 | 1 ]; 46483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec3 out0 = [ ivec3(0, 0, -12) | ivec3(1, 2, -192) | ivec3(0, 1, 2) | ivec3(1, 0, 5) | ivec3(0, -8, -66) | ivec3(1, 3, 255) | ivec3(0, -20, 11) | ivec3(1, 1, 0) | ivec3(0, 0, 8) | ivec3(1, 36, 1) ]; 46493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 46503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 46513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 46523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 46533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 46543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 46553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 46563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 46573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 46583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 46593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 46603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec3(in0, in1, in2); 46613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 46623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 46633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 46643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 46653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 46663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bool_float_int_to_bvec3 46673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 46683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 46693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in0 = [ false | true | false | true | false | true | false | true | false | true ]; 46703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in1 = [ 0.0 | 2.0 | 1.0 | -0.5 | -8.25 | 3.5 | -20.125 | 1.0 | 0.0 | 36.8125 ]; 46713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in2 = [ -12 | -192 | 2 | 5 | -66 | 255 | 11 | 0 | 8 | 1 ]; 46723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec3 out0 = [ bvec3(false, false, true) | bvec3(true, true, true) | bvec3(false, true, true) | bvec3(true, true, true) | bvec3(false, true, true) | bvec3(true, true, true) | bvec3(false, true, true) | bvec3(true, true, false) | bvec3(false, false, true) | bvec3(true, true, true) ]; 46733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 46743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 46753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 46763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 46773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 46783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 46793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 46803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 46813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 46823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 46833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 46843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec3(in0, in1, in2); 46853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 46863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 46873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 46883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 46893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 46903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec2_bool_to_vec3 46913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 46923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 46933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec2 in0 = [ vec2(-0.75, -0.0322580645161) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(0.0, 0.5) | vec2(-32.0, 64.0) ]; 46943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in1 = [ false | true | false | true | true ]; 46953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec3 out0 = [ vec3(-0.75, -0.0322580645161, 0.0) | vec3(1.0, 1.25, 1.0) | vec3(-0.5, -2.25, 0.0) | vec3(0.0, 0.5, 1.0) | vec3(-32.0, 64.0, 1.0) ]; 46963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 46973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 46983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 46993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 47003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 47013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 47023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 47033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 47043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 47053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 47063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 47073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec3(in0, in1); 47083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 47093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 47103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 47113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 47123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 47133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec2_bool_to_ivec3 47143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 47153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 47163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec2 in0 = [ vec2(-0.75, -0.0322580645161) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(0.0, 0.5) | vec2(-32.0, 64.0) ]; 47173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in1 = [ false | true | false | true | true ]; 47183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, 0) | ivec3(0, 0, 1) | ivec3(-32, 64, 1) ]; 47193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 47203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 47213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 47223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 47233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 47243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 47253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 47263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 47273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 47283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 47293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 47303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec3(in0, in1); 47313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 47323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 47333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 47343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 47353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 47363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec2_bool_to_bvec3 47373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 47383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 47393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec2 in0 = [ vec2(-0.75, -0.0322580645161) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(0.0, 0.5) | vec2(-32.0, 64.0) ]; 47403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in1 = [ false | true | false | true | true ]; 47413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec3 out0 = [ bvec3(true, true, false) | bvec3(true, true, true) | bvec3(true, true, false) | bvec3(false, true, true) | bvec3(true, true, true) ]; 47423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 47433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 47443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 47453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 47463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 47473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 47483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 47493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 47503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 47513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 47523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 47533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec3(in0, in1); 47543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 47553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 47563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 47573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 47583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 47593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec2_float_to_vec3 47603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 47613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 47623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(true, false) | bvec2(false, true) | bvec2(false, false) | bvec2(false, true) | bvec2(false, false) | bvec2(true, true) ]; 47633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in1 = [ 2.0 | 36.8125 | 0.0 | -20.125 | 1.0 | -0.5 | -8.25 | 3.5 ]; 47643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec3 out0 = [ vec3(1.0, 0.0, 2.0) | vec3(0.0, 0.0, 36.8125) | vec3(1.0, 0.0, 0.0) | vec3(0.0, 1.0, -20.125) | vec3(0.0, 0.0, 1.0) | vec3(0.0, 1.0, -0.5) | vec3(0.0, 0.0, -8.25) | vec3(1.0, 1.0, 3.5) ]; 47653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 47663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 47673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 47683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 47693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 47703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 47713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 47723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 47733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 47743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 47753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 47763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec3(in0, in1); 47773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 47783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 47793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 47803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 47813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 47823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec2_float_to_ivec3 47833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 47843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 47853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(true, false) | bvec2(false, true) | bvec2(false, false) | bvec2(false, true) | bvec2(false, false) | bvec2(true, true) ]; 47863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in1 = [ 2.0 | 36.8125 | 0.0 | -20.125 | 1.0 | -0.5 | -8.25 | 3.5 ]; 47873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec3 out0 = [ ivec3(1, 0, 2) | ivec3(0, 0, 36) | ivec3(1, 0, 0) | ivec3(0, 1, -20) | ivec3(0, 0, 1) | ivec3(0, 1, 0) | ivec3(0, 0, -8) | ivec3(1, 1, 3) ]; 47883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 47893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 47903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 47913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 47923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 47933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 47943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 47953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 47963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 47973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 47983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 47993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec3(in0, in1); 48003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 48013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 48023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 48033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 48043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 48053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec2_float_to_bvec3 48063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 48073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 48083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(true, false) | bvec2(false, true) | bvec2(false, false) | bvec2(false, true) | bvec2(false, false) | bvec2(true, true) ]; 48093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in1 = [ 2.0 | 36.8125 | 0.0 | -20.125 | 1.0 | -0.5 | -8.25 | 3.5 ]; 48103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec3 out0 = [ bvec3(true, false, true) | bvec3(false, false, true) | bvec3(true, false, false) | bvec3(false, true, true) | bvec3(false, false, true) | bvec3(false, true, true) | bvec3(false, false, true) | bvec3(true, true, true) ]; 48113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 48123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 48133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 48143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 48153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 48163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 48173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 48183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 48193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 48203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 48213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 48223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec3(in0, in1); 48233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 48243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 48253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 48263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 48273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 48283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec2_int_to_vec3 48293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 48303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 48313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec2 in0 = [ bvec2(false, true) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) | bvec2(false, false) | bvec2(false, false) | bvec2(true, true) | bvec2(true, false) | bvec2(true, false) | bvec2(false, false) ]; 48323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in1 = [ 0 | 255 | 1 | 2 | 8 | 11 | -192 | 5 | -12 | -66 ]; 48333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec3 out0 = [ vec3(0.0, 1.0, 0.0) | vec3(0.0, 1.0, 255.0) | vec3(1.0, 1.0, 1.0) | vec3(0.0, 0.0, 2.0) | vec3(0.0, 0.0, 8.0) | vec3(0.0, 0.0, 11.0) | vec3(1.0, 1.0, -192.0) | vec3(1.0, 0.0, 5.0) | vec3(1.0, 0.0, -12.0) | vec3(0.0, 0.0, -66.0) ]; 48343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 48353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 48363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 48373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 48383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 48393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 48403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 48413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 48423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 48433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 48443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 48453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec3(in0, in1); 48463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 48473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 48483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 48493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 48503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 48513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec2_int_to_ivec3 48523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 48533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 48543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec2 in0 = [ bvec2(false, true) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) | bvec2(false, false) | bvec2(false, false) | bvec2(true, true) | bvec2(true, false) | bvec2(true, false) | bvec2(false, false) ]; 48553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in1 = [ 0 | 255 | 1 | 2 | 8 | 11 | -192 | 5 | -12 | -66 ]; 48563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec3 out0 = [ ivec3(0, 1, 0) | ivec3(0, 1, 255) | ivec3(1, 1, 1) | ivec3(0, 0, 2) | ivec3(0, 0, 8) | ivec3(0, 0, 11) | ivec3(1, 1, -192) | ivec3(1, 0, 5) | ivec3(1, 0, -12) | ivec3(0, 0, -66) ]; 48573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 48583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 48593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 48603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 48613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 48623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 48633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 48643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 48653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 48663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 48673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 48683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec3(in0, in1); 48693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 48703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 48713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 48723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 48733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 48743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec2_int_to_bvec3 48753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 48763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 48773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec2 in0 = [ bvec2(false, true) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) | bvec2(false, false) | bvec2(false, false) | bvec2(true, true) | bvec2(true, false) | bvec2(true, false) | bvec2(false, false) ]; 48783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in1 = [ 0 | 255 | 1 | 2 | 8 | 11 | -192 | 5 | -12 | -66 ]; 48793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec3 out0 = [ bvec3(false, true, false) | bvec3(false, true, true) | bvec3(true, true, true) | bvec3(false, false, true) | bvec3(false, false, true) | bvec3(false, false, true) | bvec3(true, true, true) | bvec3(true, false, true) | bvec3(true, false, true) | bvec3(false, false, true) ]; 48803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 48813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 48823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 48833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 48843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 48853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 48863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 48873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 48883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 48893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 48903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 48913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec3(in0, in1); 48923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 48933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 48943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 48953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 48963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 48973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bool_ivec2_to_vec3 48983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 48993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 49003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in0 = [ false | true | false | true | true ]; 49013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec2 in1 = [ ivec2(0, 0) | ivec2(0, -2) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(1, 1) ]; 49023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec3 out0 = [ vec3(0.0, 0.0, 0.0) | vec3(1.0, 0.0, -2.0) | vec3(0.0, 0.0, 0.0) | vec3(1.0, -32.0, 64.0) | vec3(1.0, 1.0, 1.0) ]; 49033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 49043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 49053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 49063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 49073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 49083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 49093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 49103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 49113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 49123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 49133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 49143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec3(in0, in1); 49153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 49163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 49173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 49183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 49193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 49203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bool_ivec2_to_ivec3 49213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 49223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 49233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in0 = [ false | true | false | true | true ]; 49243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec2 in1 = [ ivec2(0, 0) | ivec2(0, -2) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(1, 1) ]; 49253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 0, -2) | ivec3(0, 0, 0) | ivec3(1, -32, 64) | ivec3(1, 1, 1) ]; 49263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 49273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 49283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 49293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 49303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 49313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 49323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 49333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 49343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 49353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 49363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 49373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec3(in0, in1); 49383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 49393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 49403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 49413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 49423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 49433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bool_ivec2_to_bvec3 49443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 49453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 49463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in0 = [ false | true | false | true | true ]; 49473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec2 in1 = [ ivec2(0, 0) | ivec2(0, -2) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(1, 1) ]; 49483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec3 out0 = [ bvec3(false, false, false) | bvec3(true, false, true) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(true, true, true) ]; 49493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 49503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 49513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 49523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 49533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 49543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 49553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 49563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 49573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 49583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 49593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 49603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec3(in0, in1); 49613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 49623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 49633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 49643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 49653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 49663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case float_float_to_vec2 49673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 49683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 49693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in0 = [ 2.0 | 3.5 | -8.25 | -0.5 | 0.0 | -20.125 | 36.8125 | 1.0 ]; 49703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in1 = [ 3.5 | -20.125 | -0.5 | 2.0 | 1.0 | 0.0 | 36.8125 | -8.25 ]; 49713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec2 out0 = [ vec2(2.0, 3.5) | vec2(3.5, -20.125) | vec2(-8.25, -0.5) | vec2(-0.5, 2.0) | vec2(0.0, 1.0) | vec2(-20.125, 0.0) | vec2(36.8125, 36.8125) | vec2(1.0, -8.25) ]; 49723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 49733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 49743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 49753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 49763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 49773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 49783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 49793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 49803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 49813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 49823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 49833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec2(in0, in1); 49843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 49853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 49863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 49873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 49883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 49893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case float_float_to_ivec2 49903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 49913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 49923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in0 = [ 2.0 | 3.5 | -8.25 | -0.5 | 0.0 | -20.125 | 36.8125 | 1.0 ]; 49933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in1 = [ 3.5 | -20.125 | -0.5 | 2.0 | 1.0 | 0.0 | 36.8125 | -8.25 ]; 49943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec2 out0 = [ ivec2(2, 3) | ivec2(3, -20) | ivec2(-8, 0) | ivec2(0, 2) | ivec2(0, 1) | ivec2(-20, 0) | ivec2(36, 36) | ivec2(1, -8) ]; 49953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 49963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 49973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 49983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 49993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 50003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 50013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 50023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 50033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 50043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 50053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 50063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec2(in0, in1); 50073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 50083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 50093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 50103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 50113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 50123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case float_float_to_bvec2 50133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 50143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 50153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in0 = [ 2.0 | 3.5 | -8.25 | -0.5 | 0.0 | -20.125 | 36.8125 | 1.0 ]; 50163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in1 = [ 3.5 | -20.125 | -0.5 | 2.0 | 1.0 | 0.0 | 36.8125 | -8.25 ]; 50173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec2 out0 = [ bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(false, true) | bvec2(true, false) | bvec2(true, true) | bvec2(true, true) ]; 50183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 50193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 50203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 50213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 50223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 50233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 50243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 50253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 50263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 50273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 50283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 50293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec2(in0, in1); 50303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 50313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 50323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 50333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 50343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 50353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case int_int_to_vec2 50363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 50373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 50383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in0 = [ 8 | 255 | -192 | 2 | 0 | 1 | -12 | 11 | -66 | 5 ]; 50393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in1 = [ -66 | 2 | 255 | 8 | -12 | 5 | -192 | 0 | 1 | 11 ]; 50403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec2 out0 = [ vec2(8.0, -66.0) | vec2(255.0, 2.0) | vec2(-192.0, 255.0) | vec2(2.0, 8.0) | vec2(0.0, -12.0) | vec2(1.0, 5.0) | vec2(-12.0, -192.0) | vec2(11.0, 0.0) | vec2(-66.0, 1.0) | vec2(5.0, 11.0) ]; 50413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 50423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 50433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 50443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 50453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 50463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 50473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 50483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 50493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 50503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 50513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 50523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec2(in0, in1); 50533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 50543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 50553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 50563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 50573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 50583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case int_int_to_ivec2 50593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 50603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 50613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in0 = [ 8 | 255 | -192 | 2 | 0 | 1 | -12 | 11 | -66 | 5 ]; 50623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in1 = [ -66 | 2 | 255 | 8 | -12 | 5 | -192 | 0 | 1 | 11 ]; 50633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec2 out0 = [ ivec2(8, -66) | ivec2(255, 2) | ivec2(-192, 255) | ivec2(2, 8) | ivec2(0, -12) | ivec2(1, 5) | ivec2(-12, -192) | ivec2(11, 0) | ivec2(-66, 1) | ivec2(5, 11) ]; 50643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 50653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 50663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 50673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 50683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 50693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 50703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 50713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 50723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 50733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 50743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 50753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec2(in0, in1); 50763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 50773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 50783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 50793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 50803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 50813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case int_int_to_bvec2 50823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 50833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 50843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in0 = [ 8 | 255 | -192 | 2 | 0 | 1 | -12 | 11 | -66 | 5 ]; 50853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in1 = [ -66 | 2 | 255 | 8 | -12 | 5 | -192 | 0 | 1 | 11 ]; 50863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec2 out0 = [ bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(false, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, false) | bvec2(true, true) | bvec2(true, true) ]; 50873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 50883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 50893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 50903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 50913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 50923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 50933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 50943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 50953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 50963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 50973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 50983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec2(in0, in1); 50993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 51003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 51013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 51023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 51033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 51043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bool_bool_to_vec2 51053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 51063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 51073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in0 = [ true | false ]; 51083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in1 = [ true | false ]; 51093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec2 out0 = [ vec2(1.0, 1.0) | vec2(0.0, 0.0) ]; 51103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 51113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 51123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 51133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 51143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 51153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 51163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 51173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 51183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 51193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 51203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 51213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec2(in0, in1); 51223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 51233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 51243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 51253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 51263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 51273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bool_bool_to_ivec2 51283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 51293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 51303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in0 = [ true | false ]; 51313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in1 = [ true | false ]; 51323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec2 out0 = [ ivec2(1, 1) | ivec2(0, 0) ]; 51333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 51343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 51353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 51363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 51373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 51383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 51393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 51403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 51413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 51423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 51433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 51443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec2(in0, in1); 51453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 51463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 51473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 51483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 51493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 51503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bool_bool_to_bvec2 51513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 51523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 51533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in0 = [ true | false ]; 51543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in1 = [ true | false ]; 51553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec2 out0 = [ bvec2(true, true) | bvec2(false, false) ]; 51563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 51573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 51583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 51593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 51603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 51613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 51623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 51633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 51643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 51653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 51663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 51673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec2(in0, in1); 51683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 51693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 51703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 51713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 51723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 51733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case float_int_to_vec2 51743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 51753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 51763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in0 = [ 1.0 | -0.5 | -20.125 | 0.0 | 3.5 | -8.25 | 36.8125 | 2.0 | 1.0 | 0.0 ]; 51773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in1 = [ -192 | -66 | 255 | 1 | 2 | 0 | -12 | 5 | 11 | 8 ]; 51783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec2 out0 = [ vec2(1.0, -192.0) | vec2(-0.5, -66.0) | vec2(-20.125, 255.0) | vec2(0.0, 1.0) | vec2(3.5, 2.0) | vec2(-8.25, 0.0) | vec2(36.8125, -12.0) | vec2(2.0, 5.0) | vec2(1.0, 11.0) | vec2(0.0, 8.0) ]; 51793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 51803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 51813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 51823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 51833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 51843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 51853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 51863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 51873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 51883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 51893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 51903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec2(in0, in1); 51913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 51923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 51933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 51943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 51953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 51963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case float_int_to_ivec2 51973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 51983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 51993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in0 = [ 1.0 | -0.5 | -20.125 | 0.0 | 3.5 | -8.25 | 36.8125 | 2.0 | 1.0 | 0.0 ]; 52003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in1 = [ -192 | -66 | 255 | 1 | 2 | 0 | -12 | 5 | 11 | 8 ]; 52013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec2 out0 = [ ivec2(1, -192) | ivec2(0, -66) | ivec2(-20, 255) | ivec2(0, 1) | ivec2(3, 2) | ivec2(-8, 0) | ivec2(36, -12) | ivec2(2, 5) | ivec2(1, 11) | ivec2(0, 8) ]; 52023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 52033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 52043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 52053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 52063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 52073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 52083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 52093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 52103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 52113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 52123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 52133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec2(in0, in1); 52143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 52153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 52163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 52173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 52183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 52193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case float_int_to_bvec2 52203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 52213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 52223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in0 = [ 1.0 | -0.5 | -20.125 | 0.0 | 3.5 | -8.25 | 36.8125 | 2.0 | 1.0 | 0.0 ]; 52233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in1 = [ -192 | -66 | 255 | 1 | 2 | 0 | -12 | 5 | 11 | 8 ]; 52243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec2 out0 = [ bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(false, true) | bvec2(true, true) | bvec2(true, false) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(false, true) ]; 52253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 52263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 52273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 52283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 52293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 52303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 52313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 52323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 52333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 52343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 52353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 52363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec2(in0, in1); 52373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 52383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 52393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 52403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 52413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 52423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case float_bool_to_vec2 52433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 52443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 52453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in0 = [ 2.0 | -20.125 | 0.0 | 1.0 | -8.25 | -0.5 | 36.8125 | 3.5 ]; 52463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in1 = [ true | false | false | false | true | true | false | true ]; 52473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec2 out0 = [ vec2(2.0, 1.0) | vec2(-20.125, 0.0) | vec2(0.0, 0.0) | vec2(1.0, 0.0) | vec2(-8.25, 1.0) | vec2(-0.5, 1.0) | vec2(36.8125, 0.0) | vec2(3.5, 1.0) ]; 52483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 52493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 52503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 52513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 52523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 52533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 52543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 52553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 52563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 52573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 52583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 52593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec2(in0, in1); 52603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 52613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 52623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 52633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 52643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 52653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case float_bool_to_ivec2 52663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 52673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 52683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in0 = [ 2.0 | -20.125 | 0.0 | 1.0 | -8.25 | -0.5 | 36.8125 | 3.5 ]; 52693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in1 = [ true | false | false | false | true | true | false | true ]; 52703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec2 out0 = [ ivec2(2, 1) | ivec2(-20, 0) | ivec2(0, 0) | ivec2(1, 0) | ivec2(-8, 1) | ivec2(0, 1) | ivec2(36, 0) | ivec2(3, 1) ]; 52713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 52723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 52733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 52743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 52753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 52763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 52773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 52783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 52793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 52803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 52813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 52823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec2(in0, in1); 52833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 52843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 52853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 52863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 52873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 52883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case float_bool_to_bvec2 52893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 52903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 52913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in0 = [ 2.0 | -20.125 | 0.0 | 1.0 | -8.25 | -0.5 | 36.8125 | 3.5 ]; 52923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in1 = [ true | false | false | false | true | true | false | true ]; 52933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec2 out0 = [ bvec2(true, true) | bvec2(true, false) | bvec2(false, false) | bvec2(true, false) | bvec2(true, true) | bvec2(true, true) | bvec2(true, false) | bvec2(true, true) ]; 52943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 52953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 52963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 52973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 52983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 52993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 53003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 53013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 53023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 53033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 53043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 53053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec2(in0, in1); 53063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 53073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 53083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 53093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 53103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 53113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case int_bool_to_vec2 53123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 53133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 53143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in0 = [ 8 | 255 | 11 | -66 | 0 | -192 | -12 | 1 | 5 | 2 ]; 53153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in1 = [ true | false | true | false | true | false | false | true | false | true ]; 53163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output vec2 out0 = [ vec2(8.0, 1.0) | vec2(255.0, 0.0) | vec2(11.0, 1.0) | vec2(-66.0, 0.0) | vec2(0.0, 1.0) | vec2(-192.0, 0.0) | vec2(-12.0, 0.0) | vec2(1.0, 1.0) | vec2(5.0, 0.0) | vec2(2.0, 1.0) ]; 53173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 53183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 53193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 53203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 53213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 53223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 53233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 53243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 53253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 53263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 53273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 53283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = vec2(in0, in1); 53293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 53303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 53313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 53323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 53333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 53343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case int_bool_to_ivec2 53353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 53363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 53373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in0 = [ 8 | 255 | 11 | -66 | 0 | -192 | -12 | 1 | 5 | 2 ]; 53383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in1 = [ true | false | true | false | true | false | false | true | false | true ]; 53393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output ivec2 out0 = [ ivec2(8, 1) | ivec2(255, 0) | ivec2(11, 1) | ivec2(-66, 0) | ivec2(0, 1) | ivec2(-192, 0) | ivec2(-12, 0) | ivec2(1, 1) | ivec2(5, 0) | ivec2(2, 1) ]; 53403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 53413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 53423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 53433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 53443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 53453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 53463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 53473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 53483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 53493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 53503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 53513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = ivec2(in0, in1); 53523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 53533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 53543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 53553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 53563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 53573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case int_bool_to_bvec2 53583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 53593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 53603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in0 = [ 8 | 255 | 11 | -66 | 0 | -192 | -12 | 1 | 5 | 2 ]; 53613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in1 = [ true | false | true | false | true | false | false | true | false | true ]; 53623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output bvec2 out0 = [ bvec2(true, true) | bvec2(true, false) | bvec2(true, true) | bvec2(true, false) | bvec2(false, true) | bvec2(true, false) | bvec2(true, false) | bvec2(true, true) | bvec2(true, false) | bvec2(true, true) ]; 53633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 53643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 53653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 53663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 53673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 53683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 53693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 53703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 53713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 53723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 53733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 53743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = bvec2(in0, in1); 53753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 53763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 53773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 53783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 53793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 53803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 53813c827367444ee418f129b2c238299f49d3264554Jarkko Poyryend # vector_combine 53823c827367444ee418f129b2c238299f49d3264554Jarkko Poyrygroup matrix_combine "Matrix Combine Constructors" 53833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 53843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec2_vec2_to_mat2 53853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 53863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 53873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec2 in0 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) | vec2(-0.5, -2.25) ]; 53883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec2 in1 = [ vec2(-0.5, -2.25) | vec2(-0.75, -0.0322580645161) | vec2(-32.0, 64.0) | vec2(0.0, 0.5) | vec2(1.0, 1.25) ]; 53893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output mat2 out0 = [ mat2(0.0, 0.5, -0.5, -2.25) | mat2(1.0, 1.25, -0.75, -0.0322580645161) | mat2(-32.0, 64.0, -32.0, 64.0) | mat2(-0.75, -0.0322580645161, 0.0, 0.5) | mat2(-0.5, -2.25, 1.0, 1.25) ]; 53903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 53913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 53923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 53933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 53943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 53953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 53963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 53973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 53983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 53993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 54003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 54013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = mat2(in0, in1); 54023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 54033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 54043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 54053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 54063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 54073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec2_bvec2_to_mat2 54083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 54093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 54103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(false, false) | bvec2(true, true) ]; 54113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec2 in1 = [ bvec2(true, true) | bvec2(false, false) | bvec2(true, false) | bvec2(false, false) | bvec2(false, true) ]; 54123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output mat2 out0 = [ mat2(1.0, 0.0, 1.0, 1.0) | mat2(0.0, 0.0, 0.0, 0.0) | mat2(0.0, 1.0, 1.0, 0.0) | mat2(0.0, 0.0, 0.0, 0.0) | mat2(1.0, 1.0, 0.0, 1.0) ]; 54133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 54143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 54153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 54163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 54173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 54183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 54193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 54203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 54213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 54223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 54233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 54243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = mat2(in0, in1); 54253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 54263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 54273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 54283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 54293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 54303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case float_float_float_float_to_mat2 54313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 54323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 54333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in0 = [ 0.0 | -0.5 | -20.125 | 2.0 | 36.8125 | 1.0 | 3.5 | -8.25 ]; 54343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in1 = [ -8.25 | 2.0 | -0.5 | -20.125 | 3.5 | 1.0 | 36.8125 | 0.0 ]; 54353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in2 = [ 36.8125 | -8.25 | 3.5 | 2.0 | -0.5 | -20.125 | 1.0 | 0.0 ]; 54363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in3 = [ 36.8125 | 0.0 | 2.0 | 3.5 | -8.25 | -0.5 | -20.125 | 1.0 ]; 54373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output mat2 out0 = [ mat2(0.0, -8.25, 36.8125, 36.8125) | mat2(-0.5, 2.0, -8.25, 0.0) | mat2(-20.125, -0.5, 3.5, 2.0) | mat2(2.0, -20.125, 2.0, 3.5) | mat2(36.8125, 3.5, -0.5, -8.25) | mat2(1.0, 1.0, -20.125, -0.5) | mat2(3.5, 36.8125, 1.0, -20.125) | mat2(-8.25, 0.0, 0.0, 1.0) ]; 54383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 54393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 54403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 54413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 54423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 54433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 54443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 54453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 54463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 54473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 54483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 54493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = mat2(in0, in1, in2, in3); 54503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 54513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 54523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 54533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 54543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 54553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case int_int_int_int_to_mat2 54563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 54573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 54583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in0 = [ 2 | 0 | -66 | 8 | 1 | 255 | 5 | -12 | 11 | -192 ]; 54593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in1 = [ -192 | 2 | 5 | -12 | -66 | 255 | 8 | 1 | 11 | 0 ]; 54603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in2 = [ 2 | 11 | -192 | 255 | 1 | 5 | 0 | -12 | 8 | -66 ]; 54613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in3 = [ 255 | 0 | 11 | -66 | 2 | 8 | -192 | 1 | -12 | 5 ]; 54623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output mat2 out0 = [ mat2(2.0, -192.0, 2.0, 255.0) | mat2(0.0, 2.0, 11.0, 0.0) | mat2(-66.0, 5.0, -192.0, 11.0) | mat2(8.0, -12.0, 255.0, -66.0) | mat2(1.0, -66.0, 1.0, 2.0) | mat2(255.0, 255.0, 5.0, 8.0) | mat2(5.0, 8.0, 0.0, -192.0) | mat2(-12.0, 1.0, -12.0, 1.0) | mat2(11.0, 11.0, 8.0, -12.0) | mat2(-192.0, 0.0, -66.0, 5.0) ]; 54633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 54643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 54653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 54663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 54673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 54683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 54693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 54703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 54713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 54723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 54733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 54743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = mat2(in0, in1, in2, in3); 54753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 54763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 54773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 54783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 54793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 54803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bool_bool_bool_bool_to_mat2 54813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 54823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 54833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in0 = [ false | true ]; 54843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in1 = [ false | true ]; 54853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in2 = [ true | false ]; 54863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in3 = [ false | true ]; 54873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output mat2 out0 = [ mat2(0.0, 0.0, 1.0, 0.0) | mat2(1.0, 1.0, 0.0, 1.0) ]; 54883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 54893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 54903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 54913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 54923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 54933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 54943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 54953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 54963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 54973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 54983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 54993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = mat2(in0, in1, in2, in3); 55003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 55013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 55023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 55033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 55043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 55053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bool_float_int_bool_to_mat2 55063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 55073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 55083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in0 = [ false | true | true | false | false | true | true | true | false | false ]; 55093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in1 = [ -0.5 | -20.125 | 3.5 | 2.0 | 1.0 | 0.0 | 0.0 | 1.0 | 36.8125 | -8.25 ]; 55103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in2 = [ -66 | -192 | 5 | 255 | 0 | -12 | 11 | 1 | 2 | 8 ]; 55113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in3 = [ true | false | true | false | false | false | true | false | true | true ]; 55123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output mat2 out0 = [ mat2(0.0, -0.5, -66.0, 1.0) | mat2(1.0, -20.125, -192.0, 0.0) | mat2(1.0, 3.5, 5.0, 1.0) | mat2(0.0, 2.0, 255.0, 0.0) | mat2(0.0, 1.0, 0.0, 0.0) | mat2(1.0, 0.0, -12.0, 0.0) | mat2(1.0, 0.0, 11.0, 1.0) | mat2(1.0, 1.0, 1.0, 0.0) | mat2(0.0, 36.8125, 2.0, 1.0) | mat2(0.0, -8.25, 8.0, 1.0) ]; 55133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 55143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 55153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 55163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 55173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 55183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 55193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 55203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 55213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 55223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 55233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 55243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = mat2(in0, in1, in2, in3); 55253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 55263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 55273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 55283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 55293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 55303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec2_ivec2_to_mat2 55313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 55323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 55333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec2 in0 = [ vec2(0.0, 0.5) | vec2(-32.0, 64.0) | vec2(-0.5, -2.25) | vec2(-0.75, -0.0322580645161) | vec2(1.0, 1.25) ]; 55343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec2 in1 = [ ivec2(-32, 64) | ivec2(0, 0) | ivec2(0, -2) | ivec2(0, 0) | ivec2(1, 1) ]; 55353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output mat2 out0 = [ mat2(0.0, 0.5, -32.0, 64.0) | mat2(-32.0, 64.0, 0.0, 0.0) | mat2(-0.5, -2.25, 0.0, -2.0) | mat2(-0.75, -0.0322580645161, 0.0, 0.0) | mat2(1.0, 1.25, 1.0, 1.0) ]; 55363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 55373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 55383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 55393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 55403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 55413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 55423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 55433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 55443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 55453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 55463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 55473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = mat2(in0, in1); 55483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 55493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 55503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 55513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 55523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 55533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec2_bvec2_to_mat2 55543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 55553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 55563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec2 in0 = [ vec2(-32.0, 64.0) | vec2(-0.5, -2.25) | vec2(-0.75, -0.0322580645161) | vec2(1.0, 1.25) | vec2(0.0, 0.5) ]; 55573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec2 in1 = [ bvec2(false, true) | bvec2(false, false) | bvec2(true, false) | bvec2(false, false) | bvec2(true, true) ]; 55583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output mat2 out0 = [ mat2(-32.0, 64.0, 0.0, 1.0) | mat2(-0.5, -2.25, 0.0, 0.0) | mat2(-0.75, -0.0322580645161, 1.0, 0.0) | mat2(1.0, 1.25, 0.0, 0.0) | mat2(0.0, 0.5, 1.0, 1.0) ]; 55593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 55603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 55613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 55623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 55633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 55643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 55653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 55663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 55673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 55683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 55693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 55703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = mat2(in0, in1); 55713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 55723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 55733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 55743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 55753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 55763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec3_float_to_mat2 55773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 55783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 55793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec3 in0 = [ bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) | bvec3(true, false, false) | bvec3(false, true, false) | bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, false, false) ]; 55803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in1 = [ -20.125 | -0.5 | 3.5 | -8.25 | 0.0 | 1.0 | 2.0 | 36.8125 ]; 55813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output mat2 out0 = [ mat2(0.0, 1.0, 0.0, -20.125) | mat2(1.0, 1.0, 1.0, -0.5) | mat2(0.0, 0.0, 0.0, 3.5) | mat2(1.0, 0.0, 0.0, -8.25) | mat2(0.0, 1.0, 0.0, 0.0) | mat2(1.0, 0.0, 0.0, 1.0) | mat2(0.0, 0.0, 0.0, 2.0) | mat2(0.0, 0.0, 0.0, 36.8125) ]; 55823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 55833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 55843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 55853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 55863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 55873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 55883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 55893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 55903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 55913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 55923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 55933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = mat2(in0, in1); 55943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 55953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 55963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 55973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 55983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 55993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec3_float_to_mat2 56003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 56013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 56023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec3 in0 = [ vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.75, -0.0322580645161, 0.0526315789474) | vec3(-0.5, -2.25, -4.875) | vec3(0.0, 0.5, 0.75) | vec3(-32.0, 64.0, -51.0) | vec3(-0.5, -2.25, -4.875) | vec3(1.0, 1.25, 1.125) ]; 56033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in1 = [ -8.25 | 36.8125 | -0.5 | -20.125 | 1.0 | 2.0 | 0.0 | 3.5 ]; 56043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output mat2 out0 = [ mat2(0.0, 0.5, 0.75, -8.25) | mat2(1.0, 1.25, 1.125, 36.8125) | mat2(-0.75, -0.0322580645161, 0.0526315789474, -0.5) | mat2(-0.5, -2.25, -4.875, -20.125) | mat2(0.0, 0.5, 0.75, 1.0) | mat2(-32.0, 64.0, -51.0, 2.0) | mat2(-0.5, -2.25, -4.875, 0.0) | mat2(1.0, 1.25, 1.125, 3.5) ]; 56053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 56063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 56073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 56083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 56093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 56103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 56113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 56123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 56133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 56143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 56153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 56163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = mat2(in0, in1); 56173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 56183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 56193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 56203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 56213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 56223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case int_ivec2_int_to_mat2 56233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 56243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 56253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in0 = [ -66 | 255 | 8 | 0 | 5 | -12 | 1 | -192 | 2 | 11 ]; 56263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec2 in1 = [ ivec2(0, -2) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(1, 1) | ivec2(0, 0) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(0, -2) | ivec2(0, 0) | ivec2(1, 1) ]; 56273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in2 = [ 0 | -12 | 8 | -66 | 11 | 5 | 255 | 2 | 1 | -192 ]; 56283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output mat2 out0 = [ mat2(-66.0, 0.0, -2.0, 0.0) | mat2(255.0, 0.0, 0.0, -12.0) | mat2(8.0, -32.0, 64.0, 8.0) | mat2(0.0, 1.0, 1.0, -66.0) | mat2(5.0, 0.0, 0.0, 11.0) | mat2(-12.0, 0.0, 0.0, 5.0) | mat2(1.0, -32.0, 64.0, 255.0) | mat2(-192.0, 0.0, -2.0, 2.0) | mat2(2.0, 0.0, 0.0, 1.0) | mat2(11.0, 1.0, 1.0, -192.0) ]; 56293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 56303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 56313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 56323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 56333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 56343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 56353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 56363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 56373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 56383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 56393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 56403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = mat2(in0, in1, in2); 56413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 56423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 56433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 56443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 56453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 56463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bool_float_ivec2_to_mat2 56473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 56483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 56493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in0 = [ true | true | true | false | true | false | false | false ]; 56503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in1 = [ 0.0 | 1.0 | 2.0 | -0.5 | 3.5 | -20.125 | 36.8125 | -8.25 ]; 56513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec2 in2 = [ ivec2(1, 1) | ivec2(1, 1) | ivec2(0, -2) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(0, -2) | ivec2(0, 0) | ivec2(0, 0) ]; 56523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output mat2 out0 = [ mat2(1.0, 0.0, 1.0, 1.0) | mat2(1.0, 1.0, 1.0, 1.0) | mat2(1.0, 2.0, 0.0, -2.0) | mat2(0.0, -0.5, 0.0, 0.0) | mat2(1.0, 3.5, -32.0, 64.0) | mat2(0.0, -20.125, 0.0, -2.0) | mat2(0.0, 36.8125, 0.0, 0.0) | mat2(0.0, -8.25, 0.0, 0.0) ]; 56533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 56543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 56553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 56563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 56573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 56583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 56593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 56603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 56613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 56623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 56633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 56643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = mat2(in0, in1, in2); 56653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 56663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 56673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 56683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 56693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 56703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec3_vec3_vec3_to_mat3 56713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 56723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 56733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec3 in0 = [ vec3(1.0, 1.25, 1.125) | vec3(-0.75, -0.0322580645161, 0.0526315789474) | vec3(-32.0, 64.0, -51.0) | vec3(-0.5, -2.25, -4.875) | vec3(0.0, 0.5, 0.75) ]; 56743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec3 in1 = [ vec3(-0.5, -2.25, -4.875) | vec3(-0.75, -0.0322580645161, 0.0526315789474) | vec3(0.0, 0.5, 0.75) | vec3(-32.0, 64.0, -51.0) | vec3(1.0, 1.25, 1.125) ]; 56753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec3 in2 = [ vec3(-0.5, -2.25, -4.875) | vec3(0.0, 0.5, 0.75) | vec3(-0.75, -0.0322580645161, 0.0526315789474) | vec3(-32.0, 64.0, -51.0) | vec3(1.0, 1.25, 1.125) ]; 56763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output mat3 out0 = [ mat3(1.0, 1.25, 1.125, -0.5, -2.25, -4.875, -0.5, -2.25, -4.875) | mat3(-0.75, -0.0322580645161, 0.0526315789474, -0.75, -0.0322580645161, 0.0526315789474, 0.0, 0.5, 0.75) | mat3(-32.0, 64.0, -51.0, 0.0, 0.5, 0.75, -0.75, -0.0322580645161, 0.0526315789474) | mat3(-0.5, -2.25, -4.875, -32.0, 64.0, -51.0, -32.0, 64.0, -51.0) | mat3(0.0, 0.5, 0.75, 1.0, 1.25, 1.125, 1.0, 1.25, 1.125) ]; 56773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 56783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 56793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 56803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 56813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 56823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 56833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 56843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 56853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 56863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 56873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 56883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = mat3(in0, in1, in2); 56893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 56903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 56913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 56923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 56933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 56943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case ivec3_ivec3_ivec3_to_mat3 56953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 56963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 56973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec3 in0 = [ ivec3(0, -2, -4) | ivec3(1, 1, 1) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) | ivec3(0, 0, 0) ]; 56983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec3 in1 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ]; 56993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec3 in2 = [ ivec3(1, 1, 1) | ivec3(0, 0, 0) | ivec3(0, 0, 0) | ivec3(-32, 64, -51) | ivec3(0, -2, -4) ]; 57003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output mat3 out0 = [ mat3(0.0, -2.0, -4.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0) | mat3(1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0) | mat3(-32.0, 64.0, -51.0, 0.0, -2.0, -4.0, 0.0, 0.0, 0.0) | mat3(0.0, 0.0, 0.0, -32.0, 64.0, -51.0, -32.0, 64.0, -51.0) | mat3(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -2.0, -4.0) ]; 57013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 57023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 57033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 57043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 57053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 57063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 57073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 57083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 57093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 57103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 57113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 57123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = mat3(in0, in1, in2); 57133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 57143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 57153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 57163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 57173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 57183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec2_ivec2_float_float_int_bool_bool_to_mat3 57193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 57203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 57213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec2 in0 = [ vec2(-0.75, -0.0322580645161) | vec2(1.0, 1.25) | vec2(0.0, 0.5) | vec2(-32.0, 64.0) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) | vec2(1.0, 1.25) | vec2(0.0, 0.5) | vec2(-0.5, -2.25) ]; 57223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec2 in1 = [ ivec2(-32, 64) | ivec2(0, -2) | ivec2(1, 1) | ivec2(0, 0) | ivec2(0, 0) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) | ivec2(1, 1) | ivec2(0, 0) ]; 57233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in2 = [ -20.125 | -8.25 | 3.5 | 1.0 | 1.0 | -0.5 | 2.0 | 0.0 | 36.8125 | 0.0 ]; 57243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in3 = [ 0.0 | -0.5 | 1.0 | -20.125 | 36.8125 | 0.0 | -8.25 | 2.0 | 3.5 | 1.0 ]; 57253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in4 = [ 2 | 11 | 1 | 0 | 8 | 5 | -66 | 255 | -192 | -12 ]; 57263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in5 = [ false | true | true | false | false | true | false | true | false | true ]; 57273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in6 = [ false | true | false | false | true | true | true | true | false | false ]; 57283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output mat3 out0 = [ mat3(-0.75, -0.0322580645161, -32.0, 64.0, -20.125, 0.0, 2.0, 0.0, 0.0) | mat3(1.0, 1.25, 0.0, -2.0, -8.25, -0.5, 11.0, 1.0, 1.0) | mat3(0.0, 0.5, 1.0, 1.0, 3.5, 1.0, 1.0, 1.0, 0.0) | mat3(-32.0, 64.0, 0.0, 0.0, 1.0, -20.125, 0.0, 0.0, 0.0) | mat3(-0.5, -2.25, 0.0, 0.0, 1.0, 36.8125, 8.0, 0.0, 1.0) | mat3(-32.0, 64.0, 0.0, -2.0, -0.5, 0.0, 5.0, 1.0, 1.0) | mat3(-0.75, -0.0322580645161, -32.0, 64.0, 2.0, -8.25, -66.0, 0.0, 1.0) | mat3(1.0, 1.25, 0.0, 0.0, 0.0, 2.0, 255.0, 1.0, 1.0) | mat3(0.0, 0.5, 1.0, 1.0, 36.8125, 3.5, -192.0, 0.0, 0.0) | mat3(-0.5, -2.25, 0.0, 0.0, 0.0, 1.0, -12.0, 1.0, 0.0) ]; 57293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 57303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 57313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 57323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 57333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 57343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 57353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 57363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 57373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 57383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 57393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 57403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = mat3(in0, in1, in2, in3, in4, in5, in6); 57413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 57423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 57433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 57443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 57453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 57463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bool_float_int_vec2_bool_bvec2_float_to_mat3 57473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 57483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 57493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in0 = [ false | false | false | true | false | false | true | true | true | true ]; 57503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in1 = [ 3.5 | -20.125 | 36.8125 | 0.0 | 2.0 | -8.25 | 1.0 | -0.5 | 1.0 | 0.0 ]; 57513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in2 = [ 255 | -192 | 11 | 0 | 8 | 5 | -66 | 2 | -12 | 1 ]; 57523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec2 in3 = [ vec2(0.0, 0.5) | vec2(0.0, 0.5) | vec2(-0.5, -2.25) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-0.75, -0.0322580645161) | vec2(-32.0, 64.0) | vec2(1.0, 1.25) | vec2(-0.75, -0.0322580645161) | vec2(-32.0, 64.0) ]; 57533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in4 = [ true | true | false | false | false | true | false | true | false | true ]; 57543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec2 in5 = [ bvec2(false, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) | bvec2(true, false) | bvec2(true, false) | bvec2(false, false) | bvec2(false, true) ]; 57553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in6 = [ 0.0 | 36.8125 | 3.5 | -0.5 | -8.25 | 1.0 | 0.0 | 1.0 | -20.125 | 2.0 ]; 57563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output mat3 out0 = [ mat3(0.0, 3.5, 255.0, 0.0, 0.5, 1.0, 0.0, 0.0, 0.0) | mat3(0.0, -20.125, -192.0, 0.0, 0.5, 1.0, 0.0, 0.0, 36.8125) | mat3(0.0, 36.8125, 11.0, -0.5, -2.25, 0.0, 1.0, 1.0, 3.5) | mat3(1.0, 0.0, 0.0, 1.0, 1.25, 0.0, 0.0, 1.0, -0.5) | mat3(0.0, 2.0, 8.0, -0.5, -2.25, 0.0, 1.0, 1.0, -8.25) | mat3(0.0, -8.25, 5.0, -0.75, -0.0322580645161, 1.0, 0.0, 0.0, 1.0) | mat3(1.0, 1.0, -66.0, -32.0, 64.0, 0.0, 1.0, 0.0, 0.0) | mat3(1.0, -0.5, 2.0, 1.0, 1.25, 1.0, 1.0, 0.0, 1.0) | mat3(1.0, 1.0, -12.0, -0.75, -0.0322580645161, 0.0, 0.0, 0.0, -20.125) | mat3(1.0, 0.0, 1.0, -32.0, 64.0, 1.0, 0.0, 1.0, 2.0) ]; 57573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 57583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 57593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 57603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 57613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 57623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 57633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 57643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 57653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 57663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 57673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 57683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = mat3(in0, in1, in2, in3, in4, in5, in6); 57693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 57703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 57713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 57723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 57733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 57743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bool_bvec2_int_vec4_bool_to_mat3 57753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 57763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 57773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in0 = [ true | false | false | false | false | true | true | true | true | false ]; 57783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec2 in1 = [ bvec2(true, true) | bvec2(false, false) | bvec2(false, true) | bvec2(false, false) | bvec2(false, false) | bvec2(true, false) | bvec2(false, false) | bvec2(true, true) | bvec2(true, false) | bvec2(false, true) ]; 57793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input int in2 = [ 2 | -66 | 1 | 8 | -12 | 0 | 5 | 11 | 255 | -192 ]; 57803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec4 in3 = [ vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(0.0, 0.5, 0.75, 0.825) | vec4(0.0, 0.5, 0.75, 0.825) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.5, -2.25, -4.875, 9.0) ]; 57813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in4 = [ false | false | true | true | true | false | true | false | false | true ]; 57823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output mat3 out0 = [ mat3(1.0, 1.0, 1.0, 2.0, 1.0, 1.25, 1.125, 1.75, 0.0) | mat3(0.0, 0.0, 0.0, -66.0, -0.5, -2.25, -4.875, 9.0, 0.0) | mat3(0.0, 0.0, 1.0, 1.0, -0.75, -0.0322580645161, 0.0526315789474, 0.25, 1.0) | mat3(0.0, 0.0, 0.0, 8.0, 1.0, 1.25, 1.125, 1.75, 1.0) | mat3(0.0, 0.0, 0.0, -12.0, -0.75, -0.0322580645161, 0.0526315789474, 0.25, 1.0) | mat3(1.0, 1.0, 0.0, 0.0, -32.0, 64.0, -51.0, 24.0, 0.0) | mat3(1.0, 0.0, 0.0, 5.0, 0.0, 0.5, 0.75, 0.825, 1.0) | mat3(1.0, 1.0, 1.0, 11.0, 0.0, 0.5, 0.75, 0.825, 0.0) | mat3(1.0, 1.0, 0.0, 255.0, -32.0, 64.0, -51.0, 24.0, 0.0) | mat3(0.0, 0.0, 1.0, -192.0, -0.5, -2.25, -4.875, 9.0, 1.0) ]; 57833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 57843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 57853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 57863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 57873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 57883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 57893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 57903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 57913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 57923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 57933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 57943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = mat3(in0, in1, in2, in3, in4); 57953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 57963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 57973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 57983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 57993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 58003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case float_bvec4_ivec2_bool_bool_to_mat3 58013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 58023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 58033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in0 = [ -0.5 | 36.8125 | 1.0 | 0.0 | -20.125 | 2.0 | -8.25 | 3.5 ]; 58043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec4 in1 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, false, false, false) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, true) | bvec4(true, false, false, true) | bvec4(false, true, false, false) ]; 58053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec2 in2 = [ ivec2(1, 1) | ivec2(0, 0) | ivec2(0, 0) | ivec2(0, -2) | ivec2(0, -2) | ivec2(0, 0) | ivec2(1, 1) | ivec2(-32, 64) ]; 58063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in3 = [ true | false | true | false | true | false | false | true ]; 58073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bool in4 = [ false | true | false | true | false | false | true | true ]; 58083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output mat3 out0 = [ mat3(-0.5, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0) | mat3(36.8125, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0) | mat3(1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3(0.0, 0.0, 1.0, 0.0, 0.0, 0.0, -2.0, 0.0, 1.0) | mat3(-20.125, 1.0, 1.0, 1.0, 1.0, 0.0, -2.0, 1.0, 0.0) | mat3(2.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat3(-8.25, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 1.0) | mat3(3.5, 0.0, 1.0, 0.0, 0.0, -32.0, 64.0, 1.0, 1.0) ]; 58093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 58103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 58113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 58123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 58133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 58143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 58153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 58163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 58173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 58183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 58193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 58203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = mat3(in0, in1, in2, in3, in4); 58213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 58223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 58233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 58243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 58253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 58263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case vec4_vec4_vec4_vec4_to_mat4 58273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 58283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 58293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec4 in0 = [ vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(0.0, 0.5, 0.75, 0.825) ]; 58303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec4 in1 = [ vec4(1.0, 1.25, 1.125, 1.75) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(0.0, 0.5, 0.75, 0.825) ]; 58313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec4 in2 = [ vec4(-32.0, 64.0, -51.0, 24.0) | vec4(0.0, 0.5, 0.75, 0.825) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) ]; 58323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec4 in3 = [ vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) | vec4(0.0, 0.5, 0.75, 0.825) ]; 58333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output mat4 out0 = [ mat4(-32.0, 64.0, -51.0, 24.0, 1.0, 1.25, 1.125, 1.75, -32.0, 64.0, -51.0, 24.0, -0.5, -2.25, -4.875, 9.0) | mat4(-0.75, -0.0322580645161, 0.0526315789474, 0.25, -32.0, 64.0, -51.0, 24.0, 0.0, 0.5, 0.75, 0.825, -32.0, 64.0, -51.0, 24.0) | mat4(-0.5, -2.25, -4.875, 9.0, -0.75, -0.0322580645161, 0.0526315789474, 0.25, -0.75, -0.0322580645161, 0.0526315789474, 0.25, 1.0, 1.25, 1.125, 1.75) | mat4(1.0, 1.25, 1.125, 1.75, -0.5, -2.25, -4.875, 9.0, 1.0, 1.25, 1.125, 1.75, -0.75, -0.0322580645161, 0.0526315789474, 0.25) | mat4(0.0, 0.5, 0.75, 0.825, 0.0, 0.5, 0.75, 0.825, -0.5, -2.25, -4.875, 9.0, 0.0, 0.5, 0.75, 0.825) ]; 58343c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 58353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 58363c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 58373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 58383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 58393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 58403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 58413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 58423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 58433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 58443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 58453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = mat4(in0, in1, in2, in3); 58463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 58473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 58483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 58493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 58503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 58513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case ivec4_ivec4_ivec4_ivec4_to_mat4 58523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 58533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 58543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec4 in0 = [ ivec4(0, 0, 0, 0) | ivec4(-32, 64, -51, 24) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(0, 0, 0, 0) ]; 58553c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec4 in1 = [ ivec4(0, -2, -4, 9) | ivec4(1, 1, 1, 1) | ivec4(0, 0, 0, 0) | ivec4(0, 0, 0, 0) | ivec4(-32, 64, -51, 24) ]; 58563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec4 in2 = [ ivec4(0, 0, 0, 0) | ivec4(0, -2, -4, 9) | ivec4(1, 1, 1, 1) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ]; 58573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec4 in3 = [ ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(0, 0, 0, 0) | ivec4(-32, 64, -51, 24) ]; 58583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output mat4 out0 = [ mat4(0.0, 0.0, 0.0, 0.0, 0.0, -2.0, -4.0, 9.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat4(-32.0, 64.0, -51.0, 24.0, 1.0, 1.0, 1.0, 1.0, 0.0, -2.0, -4.0, 9.0, 1.0, 1.0, 1.0, 1.0) | mat4(1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0, -2.0, -4.0, 9.0) | mat4(0.0, -2.0, -4.0, 9.0, 0.0, 0.0, 0.0, 0.0, -32.0, 64.0, -51.0, 24.0, 0.0, 0.0, 0.0, 0.0) | mat4(0.0, 0.0, 0.0, 0.0, -32.0, 64.0, -51.0, 24.0, 0.0, 0.0, 0.0, 0.0, -32.0, 64.0, -51.0, 24.0) ]; 58593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 58603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 58613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 58623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 58633c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 58643c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 58653c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 58663c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 58673c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 58683c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 58693c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 58703c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = mat4(in0, in1, in2, in3); 58713c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 58723c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 58733c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 58743c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 58753c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 58763c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case bvec4_bvec4_bvec4_bvec4_to_mat4 58773c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 58783c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 58793c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec4 in0 = [ bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(true, false, false, true) | bvec4(false, true, false, false) | bvec4(false, false, false, true) ]; 58803c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec4 in1 = [ bvec4(true, true, true, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, false, false, true) | bvec4(false, false, false, false) ]; 58813c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec4 in2 = [ bvec4(true, true, true, true) | bvec4(false, false, false, true) | bvec4(false, false, false, false) | bvec4(true, false, false, true) | bvec4(false, true, false, false) ]; 58823c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec4 in3 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(true, true, true, true) | bvec4(false, false, false, false) | bvec4(false, true, false, false) ]; 58833c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output mat4 out0 = [ mat4(0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 1.0) | mat4(1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0) | mat4(1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0) | mat4(0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat4(0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) ]; 58843c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 58853c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 58863c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 58873c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 58883c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 58893c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 58903c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 58913c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 58923c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 58933c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 58943c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 58953c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = mat4(in0, in1, in2, in3); 58963c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 58973c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 58983c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 58993c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 59003c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 59013c827367444ee418f129b2c238299f49d3264554Jarkko Poyry case float_ivec3_bvec3_vec4_ivec2_float_vec2_to_mat4 59023c827367444ee418f129b2c238299f49d3264554Jarkko Poyry values 59033c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 59043c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in0 = [ -0.5 | -20.125 | 1.0 | 2.0 | 3.5 | 36.8125 | -8.25 | 0.0 ]; 59053c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec3 in1 = [ ivec3(1, 1, 1) | ivec3(1, 1, 1) | ivec3(0, 0, 0) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) | ivec3(0, -2, -4) | ivec3(0, 0, 0) | ivec3(0, -2, -4) ]; 59063c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input bvec3 in2 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) ]; 59073c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec4 in3 = [ vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(0.0, 0.5, 0.75, 0.825) | vec4(0.0, 0.5, 0.75, 0.825) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) | vec4(-0.5, -2.25, -4.875, 9.0) ]; 59083c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input ivec2 in4 = [ ivec2(0, 0) | ivec2(0, -2) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(1, 1) | ivec2(0, -2) | ivec2(0, 0) | ivec2(1, 1) ]; 59093c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input float in5 = [ 3.5 | -20.125 | -8.25 | 0.0 | 36.8125 | -0.5 | 1.0 | 2.0 ]; 59103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry input vec2 in6 = [ vec2(-32.0, 64.0) | vec2(1.0, 1.25) | vec2(-0.75, -0.0322580645161) | vec2(-0.5, -2.25) | vec2(1.0, 1.25) | vec2(0.0, 0.5) | vec2(0.0, 0.5) | vec2(-0.5, -2.25) ]; 59113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry output mat4 out0 = [ mat4(-0.5, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.25, 1.125, 1.75, 0.0, 0.0, 3.5, -32.0, 64.0) | mat4(-20.125, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, -0.5, -2.25, -4.875, 9.0, 0.0, -2.0, -20.125, 1.0, 1.25) | mat4(1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.75, 0.825, 0.0, 0.0, -8.25, -0.75, -0.0322580645161) | mat4(2.0, -32.0, 64.0, -51.0, 0.0, 1.0, 0.0, 0.0, 0.5, 0.75, 0.825, -32.0, 64.0, 0.0, -0.5, -2.25) | mat4(3.5, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, -32.0, 64.0, -51.0, 24.0, 1.0, 1.0, 36.8125, 1.0, 1.25) | mat4(36.8125, 0.0, -2.0, -4.0, 1.0, 0.0, 0.0, 1.0, 1.25, 1.125, 1.75, 0.0, -2.0, -0.5, 0.0, 0.5) | mat4(-8.25, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.75, -0.0322580645161, 0.0526315789474, 0.25, 0.0, 0.0, 1.0, 0.0, 0.5) | mat4(0.0, 0.0, -2.0, -4.0, 0.0, 1.0, 0.0, -0.5, -2.25, -4.875, 9.0, 1.0, 1.0, 2.0, -0.5, -2.25) ]; 59123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 59133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 59143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry both "" 59153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump float; 59163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry precision mediump int; 59173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 59183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${DECLARATIONS} 59193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 59203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void main() 59213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry { 59223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${SETUP} 59233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry out0 = mat4(in0, in1, in2, in3, in4, in5, in6); 59243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ${OUTPUT} 59253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry } 59263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry "" 59273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry end 59283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 59293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 59303c827367444ee418f129b2c238299f49d3264554Jarkko Poyryend # matrix_combine 5931