1e5c31af7Sopenharmony_ci# WARNING: This file is auto-generated. Do NOT modify it manually, but rather 2e5c31af7Sopenharmony_ci# modify the generating script file. Otherwise changes will be lost! 3e5c31af7Sopenharmony_ci 4e5c31af7Sopenharmony_cigroup scalar_to_scalar "Scalar to Scalar Conversions" 5e5c31af7Sopenharmony_ci 6e5c31af7Sopenharmony_ci case float_to_float 7e5c31af7Sopenharmony_ci values 8e5c31af7Sopenharmony_ci { 9e5c31af7Sopenharmony_ci input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 10e5c31af7Sopenharmony_ci output float out0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 11e5c31af7Sopenharmony_ci } 12e5c31af7Sopenharmony_ci 13e5c31af7Sopenharmony_ci both "" 14e5c31af7Sopenharmony_ci precision mediump float; 15e5c31af7Sopenharmony_ci precision mediump int; 16e5c31af7Sopenharmony_ci 17e5c31af7Sopenharmony_ci ${DECLARATIONS} 18e5c31af7Sopenharmony_ci 19e5c31af7Sopenharmony_ci void main() 20e5c31af7Sopenharmony_ci { 21e5c31af7Sopenharmony_ci ${SETUP} 22e5c31af7Sopenharmony_ci out0 = float(in0); 23e5c31af7Sopenharmony_ci ${OUTPUT} 24e5c31af7Sopenharmony_ci } 25e5c31af7Sopenharmony_ci "" 26e5c31af7Sopenharmony_ci end 27e5c31af7Sopenharmony_ci 28e5c31af7Sopenharmony_ci case float_to_int 29e5c31af7Sopenharmony_ci values 30e5c31af7Sopenharmony_ci { 31e5c31af7Sopenharmony_ci input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 32e5c31af7Sopenharmony_ci output int out0 = [ 0 | 1 | 2 | 3 | 0 | -8 | -20 | 36 ]; 33e5c31af7Sopenharmony_ci } 34e5c31af7Sopenharmony_ci 35e5c31af7Sopenharmony_ci both "" 36e5c31af7Sopenharmony_ci precision mediump float; 37e5c31af7Sopenharmony_ci precision mediump int; 38e5c31af7Sopenharmony_ci 39e5c31af7Sopenharmony_ci ${DECLARATIONS} 40e5c31af7Sopenharmony_ci 41e5c31af7Sopenharmony_ci void main() 42e5c31af7Sopenharmony_ci { 43e5c31af7Sopenharmony_ci ${SETUP} 44e5c31af7Sopenharmony_ci out0 = int(in0); 45e5c31af7Sopenharmony_ci ${OUTPUT} 46e5c31af7Sopenharmony_ci } 47e5c31af7Sopenharmony_ci "" 48e5c31af7Sopenharmony_ci end 49e5c31af7Sopenharmony_ci 50e5c31af7Sopenharmony_ci case float_to_bool 51e5c31af7Sopenharmony_ci values 52e5c31af7Sopenharmony_ci { 53e5c31af7Sopenharmony_ci input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 54e5c31af7Sopenharmony_ci output bool out0 = [ false | true | true | true | true | true | true | true ]; 55e5c31af7Sopenharmony_ci } 56e5c31af7Sopenharmony_ci 57e5c31af7Sopenharmony_ci both "" 58e5c31af7Sopenharmony_ci precision mediump float; 59e5c31af7Sopenharmony_ci precision mediump int; 60e5c31af7Sopenharmony_ci 61e5c31af7Sopenharmony_ci ${DECLARATIONS} 62e5c31af7Sopenharmony_ci 63e5c31af7Sopenharmony_ci void main() 64e5c31af7Sopenharmony_ci { 65e5c31af7Sopenharmony_ci ${SETUP} 66e5c31af7Sopenharmony_ci out0 = bool(in0); 67e5c31af7Sopenharmony_ci ${OUTPUT} 68e5c31af7Sopenharmony_ci } 69e5c31af7Sopenharmony_ci "" 70e5c31af7Sopenharmony_ci end 71e5c31af7Sopenharmony_ci 72e5c31af7Sopenharmony_ci case int_to_float 73e5c31af7Sopenharmony_ci values 74e5c31af7Sopenharmony_ci { 75e5c31af7Sopenharmony_ci input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 76e5c31af7Sopenharmony_ci output float out0 = [ 0.0 | 1.0 | 2.0 | 5.0 | 8.0 | 11.0 | -12.0 | -66.0 | -192.0 | 255.0 ]; 77e5c31af7Sopenharmony_ci } 78e5c31af7Sopenharmony_ci 79e5c31af7Sopenharmony_ci both "" 80e5c31af7Sopenharmony_ci precision mediump float; 81e5c31af7Sopenharmony_ci precision mediump int; 82e5c31af7Sopenharmony_ci 83e5c31af7Sopenharmony_ci ${DECLARATIONS} 84e5c31af7Sopenharmony_ci 85e5c31af7Sopenharmony_ci void main() 86e5c31af7Sopenharmony_ci { 87e5c31af7Sopenharmony_ci ${SETUP} 88e5c31af7Sopenharmony_ci out0 = float(in0); 89e5c31af7Sopenharmony_ci ${OUTPUT} 90e5c31af7Sopenharmony_ci } 91e5c31af7Sopenharmony_ci "" 92e5c31af7Sopenharmony_ci end 93e5c31af7Sopenharmony_ci 94e5c31af7Sopenharmony_ci case int_to_int 95e5c31af7Sopenharmony_ci values 96e5c31af7Sopenharmony_ci { 97e5c31af7Sopenharmony_ci input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 98e5c31af7Sopenharmony_ci output int out0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 99e5c31af7Sopenharmony_ci } 100e5c31af7Sopenharmony_ci 101e5c31af7Sopenharmony_ci both "" 102e5c31af7Sopenharmony_ci precision mediump float; 103e5c31af7Sopenharmony_ci precision mediump int; 104e5c31af7Sopenharmony_ci 105e5c31af7Sopenharmony_ci ${DECLARATIONS} 106e5c31af7Sopenharmony_ci 107e5c31af7Sopenharmony_ci void main() 108e5c31af7Sopenharmony_ci { 109e5c31af7Sopenharmony_ci ${SETUP} 110e5c31af7Sopenharmony_ci out0 = int(in0); 111e5c31af7Sopenharmony_ci ${OUTPUT} 112e5c31af7Sopenharmony_ci } 113e5c31af7Sopenharmony_ci "" 114e5c31af7Sopenharmony_ci end 115e5c31af7Sopenharmony_ci 116e5c31af7Sopenharmony_ci case int_to_bool 117e5c31af7Sopenharmony_ci values 118e5c31af7Sopenharmony_ci { 119e5c31af7Sopenharmony_ci input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 120e5c31af7Sopenharmony_ci output bool out0 = [ false | true | true | true | true | true | true | true | true | true ]; 121e5c31af7Sopenharmony_ci } 122e5c31af7Sopenharmony_ci 123e5c31af7Sopenharmony_ci both "" 124e5c31af7Sopenharmony_ci precision mediump float; 125e5c31af7Sopenharmony_ci precision mediump int; 126e5c31af7Sopenharmony_ci 127e5c31af7Sopenharmony_ci ${DECLARATIONS} 128e5c31af7Sopenharmony_ci 129e5c31af7Sopenharmony_ci void main() 130e5c31af7Sopenharmony_ci { 131e5c31af7Sopenharmony_ci ${SETUP} 132e5c31af7Sopenharmony_ci out0 = bool(in0); 133e5c31af7Sopenharmony_ci ${OUTPUT} 134e5c31af7Sopenharmony_ci } 135e5c31af7Sopenharmony_ci "" 136e5c31af7Sopenharmony_ci end 137e5c31af7Sopenharmony_ci 138e5c31af7Sopenharmony_ci case bool_to_float 139e5c31af7Sopenharmony_ci values 140e5c31af7Sopenharmony_ci { 141e5c31af7Sopenharmony_ci input bool in0 = [ true | false ]; 142e5c31af7Sopenharmony_ci output float out0 = [ 1.0 | 0.0 ]; 143e5c31af7Sopenharmony_ci } 144e5c31af7Sopenharmony_ci 145e5c31af7Sopenharmony_ci both "" 146e5c31af7Sopenharmony_ci precision mediump float; 147e5c31af7Sopenharmony_ci precision mediump int; 148e5c31af7Sopenharmony_ci 149e5c31af7Sopenharmony_ci ${DECLARATIONS} 150e5c31af7Sopenharmony_ci 151e5c31af7Sopenharmony_ci void main() 152e5c31af7Sopenharmony_ci { 153e5c31af7Sopenharmony_ci ${SETUP} 154e5c31af7Sopenharmony_ci out0 = float(in0); 155e5c31af7Sopenharmony_ci ${OUTPUT} 156e5c31af7Sopenharmony_ci } 157e5c31af7Sopenharmony_ci "" 158e5c31af7Sopenharmony_ci end 159e5c31af7Sopenharmony_ci 160e5c31af7Sopenharmony_ci case bool_to_int 161e5c31af7Sopenharmony_ci values 162e5c31af7Sopenharmony_ci { 163e5c31af7Sopenharmony_ci input bool in0 = [ true | false ]; 164e5c31af7Sopenharmony_ci output int out0 = [ 1 | 0 ]; 165e5c31af7Sopenharmony_ci } 166e5c31af7Sopenharmony_ci 167e5c31af7Sopenharmony_ci both "" 168e5c31af7Sopenharmony_ci precision mediump float; 169e5c31af7Sopenharmony_ci precision mediump int; 170e5c31af7Sopenharmony_ci 171e5c31af7Sopenharmony_ci ${DECLARATIONS} 172e5c31af7Sopenharmony_ci 173e5c31af7Sopenharmony_ci void main() 174e5c31af7Sopenharmony_ci { 175e5c31af7Sopenharmony_ci ${SETUP} 176e5c31af7Sopenharmony_ci out0 = int(in0); 177e5c31af7Sopenharmony_ci ${OUTPUT} 178e5c31af7Sopenharmony_ci } 179e5c31af7Sopenharmony_ci "" 180e5c31af7Sopenharmony_ci end 181e5c31af7Sopenharmony_ci 182e5c31af7Sopenharmony_ci case bool_to_bool 183e5c31af7Sopenharmony_ci values 184e5c31af7Sopenharmony_ci { 185e5c31af7Sopenharmony_ci input bool in0 = [ true | false ]; 186e5c31af7Sopenharmony_ci output bool out0 = [ true | false ]; 187e5c31af7Sopenharmony_ci } 188e5c31af7Sopenharmony_ci 189e5c31af7Sopenharmony_ci both "" 190e5c31af7Sopenharmony_ci precision mediump float; 191e5c31af7Sopenharmony_ci precision mediump int; 192e5c31af7Sopenharmony_ci 193e5c31af7Sopenharmony_ci ${DECLARATIONS} 194e5c31af7Sopenharmony_ci 195e5c31af7Sopenharmony_ci void main() 196e5c31af7Sopenharmony_ci { 197e5c31af7Sopenharmony_ci ${SETUP} 198e5c31af7Sopenharmony_ci out0 = bool(in0); 199e5c31af7Sopenharmony_ci ${OUTPUT} 200e5c31af7Sopenharmony_ci } 201e5c31af7Sopenharmony_ci "" 202e5c31af7Sopenharmony_ci end 203e5c31af7Sopenharmony_ci 204e5c31af7Sopenharmony_ci 205e5c31af7Sopenharmony_ciend # scalar_to_scalar 206e5c31af7Sopenharmony_cigroup scalar_to_vector "Scalar to Vector Conversions" 207e5c31af7Sopenharmony_ci 208e5c31af7Sopenharmony_ci case float_to_vec2 209e5c31af7Sopenharmony_ci values 210e5c31af7Sopenharmony_ci { 211e5c31af7Sopenharmony_ci input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 212e5c31af7Sopenharmony_ci 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) ]; 213e5c31af7Sopenharmony_ci } 214e5c31af7Sopenharmony_ci 215e5c31af7Sopenharmony_ci both "" 216e5c31af7Sopenharmony_ci precision mediump float; 217e5c31af7Sopenharmony_ci precision mediump int; 218e5c31af7Sopenharmony_ci 219e5c31af7Sopenharmony_ci ${DECLARATIONS} 220e5c31af7Sopenharmony_ci 221e5c31af7Sopenharmony_ci void main() 222e5c31af7Sopenharmony_ci { 223e5c31af7Sopenharmony_ci ${SETUP} 224e5c31af7Sopenharmony_ci out0 = vec2(in0); 225e5c31af7Sopenharmony_ci ${OUTPUT} 226e5c31af7Sopenharmony_ci } 227e5c31af7Sopenharmony_ci "" 228e5c31af7Sopenharmony_ci end 229e5c31af7Sopenharmony_ci 230e5c31af7Sopenharmony_ci case float_to_vec3 231e5c31af7Sopenharmony_ci values 232e5c31af7Sopenharmony_ci { 233e5c31af7Sopenharmony_ci input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 234e5c31af7Sopenharmony_ci 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) ]; 235e5c31af7Sopenharmony_ci } 236e5c31af7Sopenharmony_ci 237e5c31af7Sopenharmony_ci both "" 238e5c31af7Sopenharmony_ci precision mediump float; 239e5c31af7Sopenharmony_ci precision mediump int; 240e5c31af7Sopenharmony_ci 241e5c31af7Sopenharmony_ci ${DECLARATIONS} 242e5c31af7Sopenharmony_ci 243e5c31af7Sopenharmony_ci void main() 244e5c31af7Sopenharmony_ci { 245e5c31af7Sopenharmony_ci ${SETUP} 246e5c31af7Sopenharmony_ci out0 = vec3(in0); 247e5c31af7Sopenharmony_ci ${OUTPUT} 248e5c31af7Sopenharmony_ci } 249e5c31af7Sopenharmony_ci "" 250e5c31af7Sopenharmony_ci end 251e5c31af7Sopenharmony_ci 252e5c31af7Sopenharmony_ci case float_to_vec4 253e5c31af7Sopenharmony_ci values 254e5c31af7Sopenharmony_ci { 255e5c31af7Sopenharmony_ci input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 256e5c31af7Sopenharmony_ci 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) ]; 257e5c31af7Sopenharmony_ci } 258e5c31af7Sopenharmony_ci 259e5c31af7Sopenharmony_ci both "" 260e5c31af7Sopenharmony_ci precision mediump float; 261e5c31af7Sopenharmony_ci precision mediump int; 262e5c31af7Sopenharmony_ci 263e5c31af7Sopenharmony_ci ${DECLARATIONS} 264e5c31af7Sopenharmony_ci 265e5c31af7Sopenharmony_ci void main() 266e5c31af7Sopenharmony_ci { 267e5c31af7Sopenharmony_ci ${SETUP} 268e5c31af7Sopenharmony_ci out0 = vec4(in0); 269e5c31af7Sopenharmony_ci ${OUTPUT} 270e5c31af7Sopenharmony_ci } 271e5c31af7Sopenharmony_ci "" 272e5c31af7Sopenharmony_ci end 273e5c31af7Sopenharmony_ci 274e5c31af7Sopenharmony_ci case float_to_ivec2 275e5c31af7Sopenharmony_ci values 276e5c31af7Sopenharmony_ci { 277e5c31af7Sopenharmony_ci input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 278e5c31af7Sopenharmony_ci 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) ]; 279e5c31af7Sopenharmony_ci } 280e5c31af7Sopenharmony_ci 281e5c31af7Sopenharmony_ci both "" 282e5c31af7Sopenharmony_ci precision mediump float; 283e5c31af7Sopenharmony_ci precision mediump int; 284e5c31af7Sopenharmony_ci 285e5c31af7Sopenharmony_ci ${DECLARATIONS} 286e5c31af7Sopenharmony_ci 287e5c31af7Sopenharmony_ci void main() 288e5c31af7Sopenharmony_ci { 289e5c31af7Sopenharmony_ci ${SETUP} 290e5c31af7Sopenharmony_ci out0 = ivec2(in0); 291e5c31af7Sopenharmony_ci ${OUTPUT} 292e5c31af7Sopenharmony_ci } 293e5c31af7Sopenharmony_ci "" 294e5c31af7Sopenharmony_ci end 295e5c31af7Sopenharmony_ci 296e5c31af7Sopenharmony_ci case float_to_ivec3 297e5c31af7Sopenharmony_ci values 298e5c31af7Sopenharmony_ci { 299e5c31af7Sopenharmony_ci input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 300e5c31af7Sopenharmony_ci 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) ]; 301e5c31af7Sopenharmony_ci } 302e5c31af7Sopenharmony_ci 303e5c31af7Sopenharmony_ci both "" 304e5c31af7Sopenharmony_ci precision mediump float; 305e5c31af7Sopenharmony_ci precision mediump int; 306e5c31af7Sopenharmony_ci 307e5c31af7Sopenharmony_ci ${DECLARATIONS} 308e5c31af7Sopenharmony_ci 309e5c31af7Sopenharmony_ci void main() 310e5c31af7Sopenharmony_ci { 311e5c31af7Sopenharmony_ci ${SETUP} 312e5c31af7Sopenharmony_ci out0 = ivec3(in0); 313e5c31af7Sopenharmony_ci ${OUTPUT} 314e5c31af7Sopenharmony_ci } 315e5c31af7Sopenharmony_ci "" 316e5c31af7Sopenharmony_ci end 317e5c31af7Sopenharmony_ci 318e5c31af7Sopenharmony_ci case float_to_ivec4 319e5c31af7Sopenharmony_ci values 320e5c31af7Sopenharmony_ci { 321e5c31af7Sopenharmony_ci input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 322e5c31af7Sopenharmony_ci 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) ]; 323e5c31af7Sopenharmony_ci } 324e5c31af7Sopenharmony_ci 325e5c31af7Sopenharmony_ci both "" 326e5c31af7Sopenharmony_ci precision mediump float; 327e5c31af7Sopenharmony_ci precision mediump int; 328e5c31af7Sopenharmony_ci 329e5c31af7Sopenharmony_ci ${DECLARATIONS} 330e5c31af7Sopenharmony_ci 331e5c31af7Sopenharmony_ci void main() 332e5c31af7Sopenharmony_ci { 333e5c31af7Sopenharmony_ci ${SETUP} 334e5c31af7Sopenharmony_ci out0 = ivec4(in0); 335e5c31af7Sopenharmony_ci ${OUTPUT} 336e5c31af7Sopenharmony_ci } 337e5c31af7Sopenharmony_ci "" 338e5c31af7Sopenharmony_ci end 339e5c31af7Sopenharmony_ci 340e5c31af7Sopenharmony_ci case float_to_bvec2 341e5c31af7Sopenharmony_ci values 342e5c31af7Sopenharmony_ci { 343e5c31af7Sopenharmony_ci input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 344e5c31af7Sopenharmony_ci 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) ]; 345e5c31af7Sopenharmony_ci } 346e5c31af7Sopenharmony_ci 347e5c31af7Sopenharmony_ci both "" 348e5c31af7Sopenharmony_ci precision mediump float; 349e5c31af7Sopenharmony_ci precision mediump int; 350e5c31af7Sopenharmony_ci 351e5c31af7Sopenharmony_ci ${DECLARATIONS} 352e5c31af7Sopenharmony_ci 353e5c31af7Sopenharmony_ci void main() 354e5c31af7Sopenharmony_ci { 355e5c31af7Sopenharmony_ci ${SETUP} 356e5c31af7Sopenharmony_ci out0 = bvec2(in0); 357e5c31af7Sopenharmony_ci ${OUTPUT} 358e5c31af7Sopenharmony_ci } 359e5c31af7Sopenharmony_ci "" 360e5c31af7Sopenharmony_ci end 361e5c31af7Sopenharmony_ci 362e5c31af7Sopenharmony_ci case float_to_bvec3 363e5c31af7Sopenharmony_ci values 364e5c31af7Sopenharmony_ci { 365e5c31af7Sopenharmony_ci input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 366e5c31af7Sopenharmony_ci 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) ]; 367e5c31af7Sopenharmony_ci } 368e5c31af7Sopenharmony_ci 369e5c31af7Sopenharmony_ci both "" 370e5c31af7Sopenharmony_ci precision mediump float; 371e5c31af7Sopenharmony_ci precision mediump int; 372e5c31af7Sopenharmony_ci 373e5c31af7Sopenharmony_ci ${DECLARATIONS} 374e5c31af7Sopenharmony_ci 375e5c31af7Sopenharmony_ci void main() 376e5c31af7Sopenharmony_ci { 377e5c31af7Sopenharmony_ci ${SETUP} 378e5c31af7Sopenharmony_ci out0 = bvec3(in0); 379e5c31af7Sopenharmony_ci ${OUTPUT} 380e5c31af7Sopenharmony_ci } 381e5c31af7Sopenharmony_ci "" 382e5c31af7Sopenharmony_ci end 383e5c31af7Sopenharmony_ci 384e5c31af7Sopenharmony_ci case float_to_bvec4 385e5c31af7Sopenharmony_ci values 386e5c31af7Sopenharmony_ci { 387e5c31af7Sopenharmony_ci input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 388e5c31af7Sopenharmony_ci 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) ]; 389e5c31af7Sopenharmony_ci } 390e5c31af7Sopenharmony_ci 391e5c31af7Sopenharmony_ci both "" 392e5c31af7Sopenharmony_ci precision mediump float; 393e5c31af7Sopenharmony_ci precision mediump int; 394e5c31af7Sopenharmony_ci 395e5c31af7Sopenharmony_ci ${DECLARATIONS} 396e5c31af7Sopenharmony_ci 397e5c31af7Sopenharmony_ci void main() 398e5c31af7Sopenharmony_ci { 399e5c31af7Sopenharmony_ci ${SETUP} 400e5c31af7Sopenharmony_ci out0 = bvec4(in0); 401e5c31af7Sopenharmony_ci ${OUTPUT} 402e5c31af7Sopenharmony_ci } 403e5c31af7Sopenharmony_ci "" 404e5c31af7Sopenharmony_ci end 405e5c31af7Sopenharmony_ci 406e5c31af7Sopenharmony_ci case int_to_vec2 407e5c31af7Sopenharmony_ci values 408e5c31af7Sopenharmony_ci { 409e5c31af7Sopenharmony_ci input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 410e5c31af7Sopenharmony_ci 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) ]; 411e5c31af7Sopenharmony_ci } 412e5c31af7Sopenharmony_ci 413e5c31af7Sopenharmony_ci both "" 414e5c31af7Sopenharmony_ci precision mediump float; 415e5c31af7Sopenharmony_ci precision mediump int; 416e5c31af7Sopenharmony_ci 417e5c31af7Sopenharmony_ci ${DECLARATIONS} 418e5c31af7Sopenharmony_ci 419e5c31af7Sopenharmony_ci void main() 420e5c31af7Sopenharmony_ci { 421e5c31af7Sopenharmony_ci ${SETUP} 422e5c31af7Sopenharmony_ci out0 = vec2(in0); 423e5c31af7Sopenharmony_ci ${OUTPUT} 424e5c31af7Sopenharmony_ci } 425e5c31af7Sopenharmony_ci "" 426e5c31af7Sopenharmony_ci end 427e5c31af7Sopenharmony_ci 428e5c31af7Sopenharmony_ci case int_to_vec3 429e5c31af7Sopenharmony_ci values 430e5c31af7Sopenharmony_ci { 431e5c31af7Sopenharmony_ci input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 432e5c31af7Sopenharmony_ci 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) ]; 433e5c31af7Sopenharmony_ci } 434e5c31af7Sopenharmony_ci 435e5c31af7Sopenharmony_ci both "" 436e5c31af7Sopenharmony_ci precision mediump float; 437e5c31af7Sopenharmony_ci precision mediump int; 438e5c31af7Sopenharmony_ci 439e5c31af7Sopenharmony_ci ${DECLARATIONS} 440e5c31af7Sopenharmony_ci 441e5c31af7Sopenharmony_ci void main() 442e5c31af7Sopenharmony_ci { 443e5c31af7Sopenharmony_ci ${SETUP} 444e5c31af7Sopenharmony_ci out0 = vec3(in0); 445e5c31af7Sopenharmony_ci ${OUTPUT} 446e5c31af7Sopenharmony_ci } 447e5c31af7Sopenharmony_ci "" 448e5c31af7Sopenharmony_ci end 449e5c31af7Sopenharmony_ci 450e5c31af7Sopenharmony_ci case int_to_vec4 451e5c31af7Sopenharmony_ci values 452e5c31af7Sopenharmony_ci { 453e5c31af7Sopenharmony_ci input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 454e5c31af7Sopenharmony_ci 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) ]; 455e5c31af7Sopenharmony_ci } 456e5c31af7Sopenharmony_ci 457e5c31af7Sopenharmony_ci both "" 458e5c31af7Sopenharmony_ci precision mediump float; 459e5c31af7Sopenharmony_ci precision mediump int; 460e5c31af7Sopenharmony_ci 461e5c31af7Sopenharmony_ci ${DECLARATIONS} 462e5c31af7Sopenharmony_ci 463e5c31af7Sopenharmony_ci void main() 464e5c31af7Sopenharmony_ci { 465e5c31af7Sopenharmony_ci ${SETUP} 466e5c31af7Sopenharmony_ci out0 = vec4(in0); 467e5c31af7Sopenharmony_ci ${OUTPUT} 468e5c31af7Sopenharmony_ci } 469e5c31af7Sopenharmony_ci "" 470e5c31af7Sopenharmony_ci end 471e5c31af7Sopenharmony_ci 472e5c31af7Sopenharmony_ci case int_to_ivec2 473e5c31af7Sopenharmony_ci values 474e5c31af7Sopenharmony_ci { 475e5c31af7Sopenharmony_ci input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 476e5c31af7Sopenharmony_ci 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) ]; 477e5c31af7Sopenharmony_ci } 478e5c31af7Sopenharmony_ci 479e5c31af7Sopenharmony_ci both "" 480e5c31af7Sopenharmony_ci precision mediump float; 481e5c31af7Sopenharmony_ci precision mediump int; 482e5c31af7Sopenharmony_ci 483e5c31af7Sopenharmony_ci ${DECLARATIONS} 484e5c31af7Sopenharmony_ci 485e5c31af7Sopenharmony_ci void main() 486e5c31af7Sopenharmony_ci { 487e5c31af7Sopenharmony_ci ${SETUP} 488e5c31af7Sopenharmony_ci out0 = ivec2(in0); 489e5c31af7Sopenharmony_ci ${OUTPUT} 490e5c31af7Sopenharmony_ci } 491e5c31af7Sopenharmony_ci "" 492e5c31af7Sopenharmony_ci end 493e5c31af7Sopenharmony_ci 494e5c31af7Sopenharmony_ci case int_to_ivec3 495e5c31af7Sopenharmony_ci values 496e5c31af7Sopenharmony_ci { 497e5c31af7Sopenharmony_ci input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 498e5c31af7Sopenharmony_ci 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) ]; 499e5c31af7Sopenharmony_ci } 500e5c31af7Sopenharmony_ci 501e5c31af7Sopenharmony_ci both "" 502e5c31af7Sopenharmony_ci precision mediump float; 503e5c31af7Sopenharmony_ci precision mediump int; 504e5c31af7Sopenharmony_ci 505e5c31af7Sopenharmony_ci ${DECLARATIONS} 506e5c31af7Sopenharmony_ci 507e5c31af7Sopenharmony_ci void main() 508e5c31af7Sopenharmony_ci { 509e5c31af7Sopenharmony_ci ${SETUP} 510e5c31af7Sopenharmony_ci out0 = ivec3(in0); 511e5c31af7Sopenharmony_ci ${OUTPUT} 512e5c31af7Sopenharmony_ci } 513e5c31af7Sopenharmony_ci "" 514e5c31af7Sopenharmony_ci end 515e5c31af7Sopenharmony_ci 516e5c31af7Sopenharmony_ci case int_to_ivec4 517e5c31af7Sopenharmony_ci values 518e5c31af7Sopenharmony_ci { 519e5c31af7Sopenharmony_ci input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 520e5c31af7Sopenharmony_ci 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) ]; 521e5c31af7Sopenharmony_ci } 522e5c31af7Sopenharmony_ci 523e5c31af7Sopenharmony_ci both "" 524e5c31af7Sopenharmony_ci precision mediump float; 525e5c31af7Sopenharmony_ci precision mediump int; 526e5c31af7Sopenharmony_ci 527e5c31af7Sopenharmony_ci ${DECLARATIONS} 528e5c31af7Sopenharmony_ci 529e5c31af7Sopenharmony_ci void main() 530e5c31af7Sopenharmony_ci { 531e5c31af7Sopenharmony_ci ${SETUP} 532e5c31af7Sopenharmony_ci out0 = ivec4(in0); 533e5c31af7Sopenharmony_ci ${OUTPUT} 534e5c31af7Sopenharmony_ci } 535e5c31af7Sopenharmony_ci "" 536e5c31af7Sopenharmony_ci end 537e5c31af7Sopenharmony_ci 538e5c31af7Sopenharmony_ci case int_to_bvec2 539e5c31af7Sopenharmony_ci values 540e5c31af7Sopenharmony_ci { 541e5c31af7Sopenharmony_ci input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 542e5c31af7Sopenharmony_ci 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) ]; 543e5c31af7Sopenharmony_ci } 544e5c31af7Sopenharmony_ci 545e5c31af7Sopenharmony_ci both "" 546e5c31af7Sopenharmony_ci precision mediump float; 547e5c31af7Sopenharmony_ci precision mediump int; 548e5c31af7Sopenharmony_ci 549e5c31af7Sopenharmony_ci ${DECLARATIONS} 550e5c31af7Sopenharmony_ci 551e5c31af7Sopenharmony_ci void main() 552e5c31af7Sopenharmony_ci { 553e5c31af7Sopenharmony_ci ${SETUP} 554e5c31af7Sopenharmony_ci out0 = bvec2(in0); 555e5c31af7Sopenharmony_ci ${OUTPUT} 556e5c31af7Sopenharmony_ci } 557e5c31af7Sopenharmony_ci "" 558e5c31af7Sopenharmony_ci end 559e5c31af7Sopenharmony_ci 560e5c31af7Sopenharmony_ci case int_to_bvec3 561e5c31af7Sopenharmony_ci values 562e5c31af7Sopenharmony_ci { 563e5c31af7Sopenharmony_ci input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 564e5c31af7Sopenharmony_ci 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) ]; 565e5c31af7Sopenharmony_ci } 566e5c31af7Sopenharmony_ci 567e5c31af7Sopenharmony_ci both "" 568e5c31af7Sopenharmony_ci precision mediump float; 569e5c31af7Sopenharmony_ci precision mediump int; 570e5c31af7Sopenharmony_ci 571e5c31af7Sopenharmony_ci ${DECLARATIONS} 572e5c31af7Sopenharmony_ci 573e5c31af7Sopenharmony_ci void main() 574e5c31af7Sopenharmony_ci { 575e5c31af7Sopenharmony_ci ${SETUP} 576e5c31af7Sopenharmony_ci out0 = bvec3(in0); 577e5c31af7Sopenharmony_ci ${OUTPUT} 578e5c31af7Sopenharmony_ci } 579e5c31af7Sopenharmony_ci "" 580e5c31af7Sopenharmony_ci end 581e5c31af7Sopenharmony_ci 582e5c31af7Sopenharmony_ci case int_to_bvec4 583e5c31af7Sopenharmony_ci values 584e5c31af7Sopenharmony_ci { 585e5c31af7Sopenharmony_ci input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 586e5c31af7Sopenharmony_ci 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) ]; 587e5c31af7Sopenharmony_ci } 588e5c31af7Sopenharmony_ci 589e5c31af7Sopenharmony_ci both "" 590e5c31af7Sopenharmony_ci precision mediump float; 591e5c31af7Sopenharmony_ci precision mediump int; 592e5c31af7Sopenharmony_ci 593e5c31af7Sopenharmony_ci ${DECLARATIONS} 594e5c31af7Sopenharmony_ci 595e5c31af7Sopenharmony_ci void main() 596e5c31af7Sopenharmony_ci { 597e5c31af7Sopenharmony_ci ${SETUP} 598e5c31af7Sopenharmony_ci out0 = bvec4(in0); 599e5c31af7Sopenharmony_ci ${OUTPUT} 600e5c31af7Sopenharmony_ci } 601e5c31af7Sopenharmony_ci "" 602e5c31af7Sopenharmony_ci end 603e5c31af7Sopenharmony_ci 604e5c31af7Sopenharmony_ci case bool_to_vec2 605e5c31af7Sopenharmony_ci values 606e5c31af7Sopenharmony_ci { 607e5c31af7Sopenharmony_ci input bool in0 = [ true | false ]; 608e5c31af7Sopenharmony_ci output vec2 out0 = [ vec2(1.0, 1.0) | vec2(0.0, 0.0) ]; 609e5c31af7Sopenharmony_ci } 610e5c31af7Sopenharmony_ci 611e5c31af7Sopenharmony_ci both "" 612e5c31af7Sopenharmony_ci precision mediump float; 613e5c31af7Sopenharmony_ci precision mediump int; 614e5c31af7Sopenharmony_ci 615e5c31af7Sopenharmony_ci ${DECLARATIONS} 616e5c31af7Sopenharmony_ci 617e5c31af7Sopenharmony_ci void main() 618e5c31af7Sopenharmony_ci { 619e5c31af7Sopenharmony_ci ${SETUP} 620e5c31af7Sopenharmony_ci out0 = vec2(in0); 621e5c31af7Sopenharmony_ci ${OUTPUT} 622e5c31af7Sopenharmony_ci } 623e5c31af7Sopenharmony_ci "" 624e5c31af7Sopenharmony_ci end 625e5c31af7Sopenharmony_ci 626e5c31af7Sopenharmony_ci case bool_to_vec3 627e5c31af7Sopenharmony_ci values 628e5c31af7Sopenharmony_ci { 629e5c31af7Sopenharmony_ci input bool in0 = [ true | false ]; 630e5c31af7Sopenharmony_ci output vec3 out0 = [ vec3(1.0, 1.0, 1.0) | vec3(0.0, 0.0, 0.0) ]; 631e5c31af7Sopenharmony_ci } 632e5c31af7Sopenharmony_ci 633e5c31af7Sopenharmony_ci both "" 634e5c31af7Sopenharmony_ci precision mediump float; 635e5c31af7Sopenharmony_ci precision mediump int; 636e5c31af7Sopenharmony_ci 637e5c31af7Sopenharmony_ci ${DECLARATIONS} 638e5c31af7Sopenharmony_ci 639e5c31af7Sopenharmony_ci void main() 640e5c31af7Sopenharmony_ci { 641e5c31af7Sopenharmony_ci ${SETUP} 642e5c31af7Sopenharmony_ci out0 = vec3(in0); 643e5c31af7Sopenharmony_ci ${OUTPUT} 644e5c31af7Sopenharmony_ci } 645e5c31af7Sopenharmony_ci "" 646e5c31af7Sopenharmony_ci end 647e5c31af7Sopenharmony_ci 648e5c31af7Sopenharmony_ci case bool_to_vec4 649e5c31af7Sopenharmony_ci values 650e5c31af7Sopenharmony_ci { 651e5c31af7Sopenharmony_ci input bool in0 = [ true | false ]; 652e5c31af7Sopenharmony_ci output vec4 out0 = [ vec4(1.0, 1.0, 1.0, 1.0) | vec4(0.0, 0.0, 0.0, 0.0) ]; 653e5c31af7Sopenharmony_ci } 654e5c31af7Sopenharmony_ci 655e5c31af7Sopenharmony_ci both "" 656e5c31af7Sopenharmony_ci precision mediump float; 657e5c31af7Sopenharmony_ci precision mediump int; 658e5c31af7Sopenharmony_ci 659e5c31af7Sopenharmony_ci ${DECLARATIONS} 660e5c31af7Sopenharmony_ci 661e5c31af7Sopenharmony_ci void main() 662e5c31af7Sopenharmony_ci { 663e5c31af7Sopenharmony_ci ${SETUP} 664e5c31af7Sopenharmony_ci out0 = vec4(in0); 665e5c31af7Sopenharmony_ci ${OUTPUT} 666e5c31af7Sopenharmony_ci } 667e5c31af7Sopenharmony_ci "" 668e5c31af7Sopenharmony_ci end 669e5c31af7Sopenharmony_ci 670e5c31af7Sopenharmony_ci case bool_to_ivec2 671e5c31af7Sopenharmony_ci values 672e5c31af7Sopenharmony_ci { 673e5c31af7Sopenharmony_ci input bool in0 = [ true | false ]; 674e5c31af7Sopenharmony_ci output ivec2 out0 = [ ivec2(1, 1) | ivec2(0, 0) ]; 675e5c31af7Sopenharmony_ci } 676e5c31af7Sopenharmony_ci 677e5c31af7Sopenharmony_ci both "" 678e5c31af7Sopenharmony_ci precision mediump float; 679e5c31af7Sopenharmony_ci precision mediump int; 680e5c31af7Sopenharmony_ci 681e5c31af7Sopenharmony_ci ${DECLARATIONS} 682e5c31af7Sopenharmony_ci 683e5c31af7Sopenharmony_ci void main() 684e5c31af7Sopenharmony_ci { 685e5c31af7Sopenharmony_ci ${SETUP} 686e5c31af7Sopenharmony_ci out0 = ivec2(in0); 687e5c31af7Sopenharmony_ci ${OUTPUT} 688e5c31af7Sopenharmony_ci } 689e5c31af7Sopenharmony_ci "" 690e5c31af7Sopenharmony_ci end 691e5c31af7Sopenharmony_ci 692e5c31af7Sopenharmony_ci case bool_to_ivec3 693e5c31af7Sopenharmony_ci values 694e5c31af7Sopenharmony_ci { 695e5c31af7Sopenharmony_ci input bool in0 = [ true | false ]; 696e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(1, 1, 1) | ivec3(0, 0, 0) ]; 697e5c31af7Sopenharmony_ci } 698e5c31af7Sopenharmony_ci 699e5c31af7Sopenharmony_ci both "" 700e5c31af7Sopenharmony_ci precision mediump float; 701e5c31af7Sopenharmony_ci precision mediump int; 702e5c31af7Sopenharmony_ci 703e5c31af7Sopenharmony_ci ${DECLARATIONS} 704e5c31af7Sopenharmony_ci 705e5c31af7Sopenharmony_ci void main() 706e5c31af7Sopenharmony_ci { 707e5c31af7Sopenharmony_ci ${SETUP} 708e5c31af7Sopenharmony_ci out0 = ivec3(in0); 709e5c31af7Sopenharmony_ci ${OUTPUT} 710e5c31af7Sopenharmony_ci } 711e5c31af7Sopenharmony_ci "" 712e5c31af7Sopenharmony_ci end 713e5c31af7Sopenharmony_ci 714e5c31af7Sopenharmony_ci case bool_to_ivec4 715e5c31af7Sopenharmony_ci values 716e5c31af7Sopenharmony_ci { 717e5c31af7Sopenharmony_ci input bool in0 = [ true | false ]; 718e5c31af7Sopenharmony_ci output ivec4 out0 = [ ivec4(1, 1, 1, 1) | ivec4(0, 0, 0, 0) ]; 719e5c31af7Sopenharmony_ci } 720e5c31af7Sopenharmony_ci 721e5c31af7Sopenharmony_ci both "" 722e5c31af7Sopenharmony_ci precision mediump float; 723e5c31af7Sopenharmony_ci precision mediump int; 724e5c31af7Sopenharmony_ci 725e5c31af7Sopenharmony_ci ${DECLARATIONS} 726e5c31af7Sopenharmony_ci 727e5c31af7Sopenharmony_ci void main() 728e5c31af7Sopenharmony_ci { 729e5c31af7Sopenharmony_ci ${SETUP} 730e5c31af7Sopenharmony_ci out0 = ivec4(in0); 731e5c31af7Sopenharmony_ci ${OUTPUT} 732e5c31af7Sopenharmony_ci } 733e5c31af7Sopenharmony_ci "" 734e5c31af7Sopenharmony_ci end 735e5c31af7Sopenharmony_ci 736e5c31af7Sopenharmony_ci case bool_to_bvec2 737e5c31af7Sopenharmony_ci values 738e5c31af7Sopenharmony_ci { 739e5c31af7Sopenharmony_ci input bool in0 = [ true | false ]; 740e5c31af7Sopenharmony_ci output bvec2 out0 = [ bvec2(true, true) | bvec2(false, false) ]; 741e5c31af7Sopenharmony_ci } 742e5c31af7Sopenharmony_ci 743e5c31af7Sopenharmony_ci both "" 744e5c31af7Sopenharmony_ci precision mediump float; 745e5c31af7Sopenharmony_ci precision mediump int; 746e5c31af7Sopenharmony_ci 747e5c31af7Sopenharmony_ci ${DECLARATIONS} 748e5c31af7Sopenharmony_ci 749e5c31af7Sopenharmony_ci void main() 750e5c31af7Sopenharmony_ci { 751e5c31af7Sopenharmony_ci ${SETUP} 752e5c31af7Sopenharmony_ci out0 = bvec2(in0); 753e5c31af7Sopenharmony_ci ${OUTPUT} 754e5c31af7Sopenharmony_ci } 755e5c31af7Sopenharmony_ci "" 756e5c31af7Sopenharmony_ci end 757e5c31af7Sopenharmony_ci 758e5c31af7Sopenharmony_ci case bool_to_bvec3 759e5c31af7Sopenharmony_ci values 760e5c31af7Sopenharmony_ci { 761e5c31af7Sopenharmony_ci input bool in0 = [ true | false ]; 762e5c31af7Sopenharmony_ci output bvec3 out0 = [ bvec3(true, true, true) | bvec3(false, false, false) ]; 763e5c31af7Sopenharmony_ci } 764e5c31af7Sopenharmony_ci 765e5c31af7Sopenharmony_ci both "" 766e5c31af7Sopenharmony_ci precision mediump float; 767e5c31af7Sopenharmony_ci precision mediump int; 768e5c31af7Sopenharmony_ci 769e5c31af7Sopenharmony_ci ${DECLARATIONS} 770e5c31af7Sopenharmony_ci 771e5c31af7Sopenharmony_ci void main() 772e5c31af7Sopenharmony_ci { 773e5c31af7Sopenharmony_ci ${SETUP} 774e5c31af7Sopenharmony_ci out0 = bvec3(in0); 775e5c31af7Sopenharmony_ci ${OUTPUT} 776e5c31af7Sopenharmony_ci } 777e5c31af7Sopenharmony_ci "" 778e5c31af7Sopenharmony_ci end 779e5c31af7Sopenharmony_ci 780e5c31af7Sopenharmony_ci case bool_to_bvec4 781e5c31af7Sopenharmony_ci values 782e5c31af7Sopenharmony_ci { 783e5c31af7Sopenharmony_ci input bool in0 = [ true | false ]; 784e5c31af7Sopenharmony_ci output bvec4 out0 = [ bvec4(true, true, true, true) | bvec4(false, false, false, false) ]; 785e5c31af7Sopenharmony_ci } 786e5c31af7Sopenharmony_ci 787e5c31af7Sopenharmony_ci both "" 788e5c31af7Sopenharmony_ci precision mediump float; 789e5c31af7Sopenharmony_ci precision mediump int; 790e5c31af7Sopenharmony_ci 791e5c31af7Sopenharmony_ci ${DECLARATIONS} 792e5c31af7Sopenharmony_ci 793e5c31af7Sopenharmony_ci void main() 794e5c31af7Sopenharmony_ci { 795e5c31af7Sopenharmony_ci ${SETUP} 796e5c31af7Sopenharmony_ci out0 = bvec4(in0); 797e5c31af7Sopenharmony_ci ${OUTPUT} 798e5c31af7Sopenharmony_ci } 799e5c31af7Sopenharmony_ci "" 800e5c31af7Sopenharmony_ci end 801e5c31af7Sopenharmony_ci 802e5c31af7Sopenharmony_ci 803e5c31af7Sopenharmony_ciend # scalar_to_vector 804e5c31af7Sopenharmony_cigroup vector_to_scalar "Vector to Scalar Conversions" 805e5c31af7Sopenharmony_ci 806e5c31af7Sopenharmony_ci case vec2_to_float 807e5c31af7Sopenharmony_ci values 808e5c31af7Sopenharmony_ci { 809e5c31af7Sopenharmony_ci 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) ]; 810e5c31af7Sopenharmony_ci output float out0 = [ 0.0 | 1.0 | -0.5 | -32.0 | -0.75 ]; 811e5c31af7Sopenharmony_ci } 812e5c31af7Sopenharmony_ci 813e5c31af7Sopenharmony_ci both "" 814e5c31af7Sopenharmony_ci precision mediump float; 815e5c31af7Sopenharmony_ci precision mediump int; 816e5c31af7Sopenharmony_ci 817e5c31af7Sopenharmony_ci ${DECLARATIONS} 818e5c31af7Sopenharmony_ci 819e5c31af7Sopenharmony_ci void main() 820e5c31af7Sopenharmony_ci { 821e5c31af7Sopenharmony_ci ${SETUP} 822e5c31af7Sopenharmony_ci out0 = float(in0); 823e5c31af7Sopenharmony_ci ${OUTPUT} 824e5c31af7Sopenharmony_ci } 825e5c31af7Sopenharmony_ci "" 826e5c31af7Sopenharmony_ci end 827e5c31af7Sopenharmony_ci 828e5c31af7Sopenharmony_ci case vec2_to_int 829e5c31af7Sopenharmony_ci values 830e5c31af7Sopenharmony_ci { 831e5c31af7Sopenharmony_ci 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) ]; 832e5c31af7Sopenharmony_ci output int out0 = [ 0 | 1 | 0 | -32 | 0 ]; 833e5c31af7Sopenharmony_ci } 834e5c31af7Sopenharmony_ci 835e5c31af7Sopenharmony_ci both "" 836e5c31af7Sopenharmony_ci precision mediump float; 837e5c31af7Sopenharmony_ci precision mediump int; 838e5c31af7Sopenharmony_ci 839e5c31af7Sopenharmony_ci ${DECLARATIONS} 840e5c31af7Sopenharmony_ci 841e5c31af7Sopenharmony_ci void main() 842e5c31af7Sopenharmony_ci { 843e5c31af7Sopenharmony_ci ${SETUP} 844e5c31af7Sopenharmony_ci out0 = int(in0); 845e5c31af7Sopenharmony_ci ${OUTPUT} 846e5c31af7Sopenharmony_ci } 847e5c31af7Sopenharmony_ci "" 848e5c31af7Sopenharmony_ci end 849e5c31af7Sopenharmony_ci 850e5c31af7Sopenharmony_ci case vec2_to_bool 851e5c31af7Sopenharmony_ci values 852e5c31af7Sopenharmony_ci { 853e5c31af7Sopenharmony_ci 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) ]; 854e5c31af7Sopenharmony_ci output bool out0 = [ false | true | true | true | true ]; 855e5c31af7Sopenharmony_ci } 856e5c31af7Sopenharmony_ci 857e5c31af7Sopenharmony_ci both "" 858e5c31af7Sopenharmony_ci precision mediump float; 859e5c31af7Sopenharmony_ci precision mediump int; 860e5c31af7Sopenharmony_ci 861e5c31af7Sopenharmony_ci ${DECLARATIONS} 862e5c31af7Sopenharmony_ci 863e5c31af7Sopenharmony_ci void main() 864e5c31af7Sopenharmony_ci { 865e5c31af7Sopenharmony_ci ${SETUP} 866e5c31af7Sopenharmony_ci out0 = bool(in0); 867e5c31af7Sopenharmony_ci ${OUTPUT} 868e5c31af7Sopenharmony_ci } 869e5c31af7Sopenharmony_ci "" 870e5c31af7Sopenharmony_ci end 871e5c31af7Sopenharmony_ci 872e5c31af7Sopenharmony_ci case vec3_to_float 873e5c31af7Sopenharmony_ci values 874e5c31af7Sopenharmony_ci { 875e5c31af7Sopenharmony_ci 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) ]; 876e5c31af7Sopenharmony_ci output float out0 = [ 0.0 | 1.0 | -0.5 | -32.0 | -0.75 ]; 877e5c31af7Sopenharmony_ci } 878e5c31af7Sopenharmony_ci 879e5c31af7Sopenharmony_ci both "" 880e5c31af7Sopenharmony_ci precision mediump float; 881e5c31af7Sopenharmony_ci precision mediump int; 882e5c31af7Sopenharmony_ci 883e5c31af7Sopenharmony_ci ${DECLARATIONS} 884e5c31af7Sopenharmony_ci 885e5c31af7Sopenharmony_ci void main() 886e5c31af7Sopenharmony_ci { 887e5c31af7Sopenharmony_ci ${SETUP} 888e5c31af7Sopenharmony_ci out0 = float(in0); 889e5c31af7Sopenharmony_ci ${OUTPUT} 890e5c31af7Sopenharmony_ci } 891e5c31af7Sopenharmony_ci "" 892e5c31af7Sopenharmony_ci end 893e5c31af7Sopenharmony_ci 894e5c31af7Sopenharmony_ci case vec3_to_int 895e5c31af7Sopenharmony_ci values 896e5c31af7Sopenharmony_ci { 897e5c31af7Sopenharmony_ci 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) ]; 898e5c31af7Sopenharmony_ci output int out0 = [ 0 | 1 | 0 | -32 | 0 ]; 899e5c31af7Sopenharmony_ci } 900e5c31af7Sopenharmony_ci 901e5c31af7Sopenharmony_ci both "" 902e5c31af7Sopenharmony_ci precision mediump float; 903e5c31af7Sopenharmony_ci precision mediump int; 904e5c31af7Sopenharmony_ci 905e5c31af7Sopenharmony_ci ${DECLARATIONS} 906e5c31af7Sopenharmony_ci 907e5c31af7Sopenharmony_ci void main() 908e5c31af7Sopenharmony_ci { 909e5c31af7Sopenharmony_ci ${SETUP} 910e5c31af7Sopenharmony_ci out0 = int(in0); 911e5c31af7Sopenharmony_ci ${OUTPUT} 912e5c31af7Sopenharmony_ci } 913e5c31af7Sopenharmony_ci "" 914e5c31af7Sopenharmony_ci end 915e5c31af7Sopenharmony_ci 916e5c31af7Sopenharmony_ci case vec3_to_bool 917e5c31af7Sopenharmony_ci values 918e5c31af7Sopenharmony_ci { 919e5c31af7Sopenharmony_ci 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) ]; 920e5c31af7Sopenharmony_ci output bool out0 = [ false | true | true | true | true ]; 921e5c31af7Sopenharmony_ci } 922e5c31af7Sopenharmony_ci 923e5c31af7Sopenharmony_ci both "" 924e5c31af7Sopenharmony_ci precision mediump float; 925e5c31af7Sopenharmony_ci precision mediump int; 926e5c31af7Sopenharmony_ci 927e5c31af7Sopenharmony_ci ${DECLARATIONS} 928e5c31af7Sopenharmony_ci 929e5c31af7Sopenharmony_ci void main() 930e5c31af7Sopenharmony_ci { 931e5c31af7Sopenharmony_ci ${SETUP} 932e5c31af7Sopenharmony_ci out0 = bool(in0); 933e5c31af7Sopenharmony_ci ${OUTPUT} 934e5c31af7Sopenharmony_ci } 935e5c31af7Sopenharmony_ci "" 936e5c31af7Sopenharmony_ci end 937e5c31af7Sopenharmony_ci 938e5c31af7Sopenharmony_ci case vec4_to_float 939e5c31af7Sopenharmony_ci values 940e5c31af7Sopenharmony_ci { 941e5c31af7Sopenharmony_ci 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) ]; 942e5c31af7Sopenharmony_ci output float out0 = [ 0.0 | 1.0 | -0.5 | -32.0 | -0.75 ]; 943e5c31af7Sopenharmony_ci } 944e5c31af7Sopenharmony_ci 945e5c31af7Sopenharmony_ci both "" 946e5c31af7Sopenharmony_ci precision mediump float; 947e5c31af7Sopenharmony_ci precision mediump int; 948e5c31af7Sopenharmony_ci 949e5c31af7Sopenharmony_ci ${DECLARATIONS} 950e5c31af7Sopenharmony_ci 951e5c31af7Sopenharmony_ci void main() 952e5c31af7Sopenharmony_ci { 953e5c31af7Sopenharmony_ci ${SETUP} 954e5c31af7Sopenharmony_ci out0 = float(in0); 955e5c31af7Sopenharmony_ci ${OUTPUT} 956e5c31af7Sopenharmony_ci } 957e5c31af7Sopenharmony_ci "" 958e5c31af7Sopenharmony_ci end 959e5c31af7Sopenharmony_ci 960e5c31af7Sopenharmony_ci case vec4_to_int 961e5c31af7Sopenharmony_ci values 962e5c31af7Sopenharmony_ci { 963e5c31af7Sopenharmony_ci 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) ]; 964e5c31af7Sopenharmony_ci output int out0 = [ 0 | 1 | 0 | -32 | 0 ]; 965e5c31af7Sopenharmony_ci } 966e5c31af7Sopenharmony_ci 967e5c31af7Sopenharmony_ci both "" 968e5c31af7Sopenharmony_ci precision mediump float; 969e5c31af7Sopenharmony_ci precision mediump int; 970e5c31af7Sopenharmony_ci 971e5c31af7Sopenharmony_ci ${DECLARATIONS} 972e5c31af7Sopenharmony_ci 973e5c31af7Sopenharmony_ci void main() 974e5c31af7Sopenharmony_ci { 975e5c31af7Sopenharmony_ci ${SETUP} 976e5c31af7Sopenharmony_ci out0 = int(in0); 977e5c31af7Sopenharmony_ci ${OUTPUT} 978e5c31af7Sopenharmony_ci } 979e5c31af7Sopenharmony_ci "" 980e5c31af7Sopenharmony_ci end 981e5c31af7Sopenharmony_ci 982e5c31af7Sopenharmony_ci case vec4_to_bool 983e5c31af7Sopenharmony_ci values 984e5c31af7Sopenharmony_ci { 985e5c31af7Sopenharmony_ci 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) ]; 986e5c31af7Sopenharmony_ci output bool out0 = [ false | true | true | true | true ]; 987e5c31af7Sopenharmony_ci } 988e5c31af7Sopenharmony_ci 989e5c31af7Sopenharmony_ci both "" 990e5c31af7Sopenharmony_ci precision mediump float; 991e5c31af7Sopenharmony_ci precision mediump int; 992e5c31af7Sopenharmony_ci 993e5c31af7Sopenharmony_ci ${DECLARATIONS} 994e5c31af7Sopenharmony_ci 995e5c31af7Sopenharmony_ci void main() 996e5c31af7Sopenharmony_ci { 997e5c31af7Sopenharmony_ci ${SETUP} 998e5c31af7Sopenharmony_ci out0 = bool(in0); 999e5c31af7Sopenharmony_ci ${OUTPUT} 1000e5c31af7Sopenharmony_ci } 1001e5c31af7Sopenharmony_ci "" 1002e5c31af7Sopenharmony_ci end 1003e5c31af7Sopenharmony_ci 1004e5c31af7Sopenharmony_ci case ivec2_to_float 1005e5c31af7Sopenharmony_ci values 1006e5c31af7Sopenharmony_ci { 1007e5c31af7Sopenharmony_ci input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ]; 1008e5c31af7Sopenharmony_ci output float out0 = [ 0.0 | 1.0 | 0.0 | -32.0 | 0.0 ]; 1009e5c31af7Sopenharmony_ci } 1010e5c31af7Sopenharmony_ci 1011e5c31af7Sopenharmony_ci both "" 1012e5c31af7Sopenharmony_ci precision mediump float; 1013e5c31af7Sopenharmony_ci precision mediump int; 1014e5c31af7Sopenharmony_ci 1015e5c31af7Sopenharmony_ci ${DECLARATIONS} 1016e5c31af7Sopenharmony_ci 1017e5c31af7Sopenharmony_ci void main() 1018e5c31af7Sopenharmony_ci { 1019e5c31af7Sopenharmony_ci ${SETUP} 1020e5c31af7Sopenharmony_ci out0 = float(in0); 1021e5c31af7Sopenharmony_ci ${OUTPUT} 1022e5c31af7Sopenharmony_ci } 1023e5c31af7Sopenharmony_ci "" 1024e5c31af7Sopenharmony_ci end 1025e5c31af7Sopenharmony_ci 1026e5c31af7Sopenharmony_ci case ivec2_to_int 1027e5c31af7Sopenharmony_ci values 1028e5c31af7Sopenharmony_ci { 1029e5c31af7Sopenharmony_ci input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ]; 1030e5c31af7Sopenharmony_ci output int out0 = [ 0 | 1 | 0 | -32 | 0 ]; 1031e5c31af7Sopenharmony_ci } 1032e5c31af7Sopenharmony_ci 1033e5c31af7Sopenharmony_ci both "" 1034e5c31af7Sopenharmony_ci precision mediump float; 1035e5c31af7Sopenharmony_ci precision mediump int; 1036e5c31af7Sopenharmony_ci 1037e5c31af7Sopenharmony_ci ${DECLARATIONS} 1038e5c31af7Sopenharmony_ci 1039e5c31af7Sopenharmony_ci void main() 1040e5c31af7Sopenharmony_ci { 1041e5c31af7Sopenharmony_ci ${SETUP} 1042e5c31af7Sopenharmony_ci out0 = int(in0); 1043e5c31af7Sopenharmony_ci ${OUTPUT} 1044e5c31af7Sopenharmony_ci } 1045e5c31af7Sopenharmony_ci "" 1046e5c31af7Sopenharmony_ci end 1047e5c31af7Sopenharmony_ci 1048e5c31af7Sopenharmony_ci case ivec2_to_bool 1049e5c31af7Sopenharmony_ci values 1050e5c31af7Sopenharmony_ci { 1051e5c31af7Sopenharmony_ci input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ]; 1052e5c31af7Sopenharmony_ci output bool out0 = [ false | true | false | true | false ]; 1053e5c31af7Sopenharmony_ci } 1054e5c31af7Sopenharmony_ci 1055e5c31af7Sopenharmony_ci both "" 1056e5c31af7Sopenharmony_ci precision mediump float; 1057e5c31af7Sopenharmony_ci precision mediump int; 1058e5c31af7Sopenharmony_ci 1059e5c31af7Sopenharmony_ci ${DECLARATIONS} 1060e5c31af7Sopenharmony_ci 1061e5c31af7Sopenharmony_ci void main() 1062e5c31af7Sopenharmony_ci { 1063e5c31af7Sopenharmony_ci ${SETUP} 1064e5c31af7Sopenharmony_ci out0 = bool(in0); 1065e5c31af7Sopenharmony_ci ${OUTPUT} 1066e5c31af7Sopenharmony_ci } 1067e5c31af7Sopenharmony_ci "" 1068e5c31af7Sopenharmony_ci end 1069e5c31af7Sopenharmony_ci 1070e5c31af7Sopenharmony_ci case ivec3_to_float 1071e5c31af7Sopenharmony_ci values 1072e5c31af7Sopenharmony_ci { 1073e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ]; 1074e5c31af7Sopenharmony_ci output float out0 = [ 0.0 | 1.0 | 0.0 | -32.0 | 0.0 ]; 1075e5c31af7Sopenharmony_ci } 1076e5c31af7Sopenharmony_ci 1077e5c31af7Sopenharmony_ci both "" 1078e5c31af7Sopenharmony_ci precision mediump float; 1079e5c31af7Sopenharmony_ci precision mediump int; 1080e5c31af7Sopenharmony_ci 1081e5c31af7Sopenharmony_ci ${DECLARATIONS} 1082e5c31af7Sopenharmony_ci 1083e5c31af7Sopenharmony_ci void main() 1084e5c31af7Sopenharmony_ci { 1085e5c31af7Sopenharmony_ci ${SETUP} 1086e5c31af7Sopenharmony_ci out0 = float(in0); 1087e5c31af7Sopenharmony_ci ${OUTPUT} 1088e5c31af7Sopenharmony_ci } 1089e5c31af7Sopenharmony_ci "" 1090e5c31af7Sopenharmony_ci end 1091e5c31af7Sopenharmony_ci 1092e5c31af7Sopenharmony_ci case ivec3_to_int 1093e5c31af7Sopenharmony_ci values 1094e5c31af7Sopenharmony_ci { 1095e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ]; 1096e5c31af7Sopenharmony_ci output int out0 = [ 0 | 1 | 0 | -32 | 0 ]; 1097e5c31af7Sopenharmony_ci } 1098e5c31af7Sopenharmony_ci 1099e5c31af7Sopenharmony_ci both "" 1100e5c31af7Sopenharmony_ci precision mediump float; 1101e5c31af7Sopenharmony_ci precision mediump int; 1102e5c31af7Sopenharmony_ci 1103e5c31af7Sopenharmony_ci ${DECLARATIONS} 1104e5c31af7Sopenharmony_ci 1105e5c31af7Sopenharmony_ci void main() 1106e5c31af7Sopenharmony_ci { 1107e5c31af7Sopenharmony_ci ${SETUP} 1108e5c31af7Sopenharmony_ci out0 = int(in0); 1109e5c31af7Sopenharmony_ci ${OUTPUT} 1110e5c31af7Sopenharmony_ci } 1111e5c31af7Sopenharmony_ci "" 1112e5c31af7Sopenharmony_ci end 1113e5c31af7Sopenharmony_ci 1114e5c31af7Sopenharmony_ci case ivec3_to_bool 1115e5c31af7Sopenharmony_ci values 1116e5c31af7Sopenharmony_ci { 1117e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ]; 1118e5c31af7Sopenharmony_ci output bool out0 = [ false | true | false | true | false ]; 1119e5c31af7Sopenharmony_ci } 1120e5c31af7Sopenharmony_ci 1121e5c31af7Sopenharmony_ci both "" 1122e5c31af7Sopenharmony_ci precision mediump float; 1123e5c31af7Sopenharmony_ci precision mediump int; 1124e5c31af7Sopenharmony_ci 1125e5c31af7Sopenharmony_ci ${DECLARATIONS} 1126e5c31af7Sopenharmony_ci 1127e5c31af7Sopenharmony_ci void main() 1128e5c31af7Sopenharmony_ci { 1129e5c31af7Sopenharmony_ci ${SETUP} 1130e5c31af7Sopenharmony_ci out0 = bool(in0); 1131e5c31af7Sopenharmony_ci ${OUTPUT} 1132e5c31af7Sopenharmony_ci } 1133e5c31af7Sopenharmony_ci "" 1134e5c31af7Sopenharmony_ci end 1135e5c31af7Sopenharmony_ci 1136e5c31af7Sopenharmony_ci case ivec4_to_float 1137e5c31af7Sopenharmony_ci values 1138e5c31af7Sopenharmony_ci { 1139e5c31af7Sopenharmony_ci 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) ]; 1140e5c31af7Sopenharmony_ci output float out0 = [ 0.0 | 1.0 | 0.0 | -32.0 | 0.0 ]; 1141e5c31af7Sopenharmony_ci } 1142e5c31af7Sopenharmony_ci 1143e5c31af7Sopenharmony_ci both "" 1144e5c31af7Sopenharmony_ci precision mediump float; 1145e5c31af7Sopenharmony_ci precision mediump int; 1146e5c31af7Sopenharmony_ci 1147e5c31af7Sopenharmony_ci ${DECLARATIONS} 1148e5c31af7Sopenharmony_ci 1149e5c31af7Sopenharmony_ci void main() 1150e5c31af7Sopenharmony_ci { 1151e5c31af7Sopenharmony_ci ${SETUP} 1152e5c31af7Sopenharmony_ci out0 = float(in0); 1153e5c31af7Sopenharmony_ci ${OUTPUT} 1154e5c31af7Sopenharmony_ci } 1155e5c31af7Sopenharmony_ci "" 1156e5c31af7Sopenharmony_ci end 1157e5c31af7Sopenharmony_ci 1158e5c31af7Sopenharmony_ci case ivec4_to_int 1159e5c31af7Sopenharmony_ci values 1160e5c31af7Sopenharmony_ci { 1161e5c31af7Sopenharmony_ci 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) ]; 1162e5c31af7Sopenharmony_ci output int out0 = [ 0 | 1 | 0 | -32 | 0 ]; 1163e5c31af7Sopenharmony_ci } 1164e5c31af7Sopenharmony_ci 1165e5c31af7Sopenharmony_ci both "" 1166e5c31af7Sopenharmony_ci precision mediump float; 1167e5c31af7Sopenharmony_ci precision mediump int; 1168e5c31af7Sopenharmony_ci 1169e5c31af7Sopenharmony_ci ${DECLARATIONS} 1170e5c31af7Sopenharmony_ci 1171e5c31af7Sopenharmony_ci void main() 1172e5c31af7Sopenharmony_ci { 1173e5c31af7Sopenharmony_ci ${SETUP} 1174e5c31af7Sopenharmony_ci out0 = int(in0); 1175e5c31af7Sopenharmony_ci ${OUTPUT} 1176e5c31af7Sopenharmony_ci } 1177e5c31af7Sopenharmony_ci "" 1178e5c31af7Sopenharmony_ci end 1179e5c31af7Sopenharmony_ci 1180e5c31af7Sopenharmony_ci case ivec4_to_bool 1181e5c31af7Sopenharmony_ci values 1182e5c31af7Sopenharmony_ci { 1183e5c31af7Sopenharmony_ci 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) ]; 1184e5c31af7Sopenharmony_ci output bool out0 = [ false | true | false | true | false ]; 1185e5c31af7Sopenharmony_ci } 1186e5c31af7Sopenharmony_ci 1187e5c31af7Sopenharmony_ci both "" 1188e5c31af7Sopenharmony_ci precision mediump float; 1189e5c31af7Sopenharmony_ci precision mediump int; 1190e5c31af7Sopenharmony_ci 1191e5c31af7Sopenharmony_ci ${DECLARATIONS} 1192e5c31af7Sopenharmony_ci 1193e5c31af7Sopenharmony_ci void main() 1194e5c31af7Sopenharmony_ci { 1195e5c31af7Sopenharmony_ci ${SETUP} 1196e5c31af7Sopenharmony_ci out0 = bool(in0); 1197e5c31af7Sopenharmony_ci ${OUTPUT} 1198e5c31af7Sopenharmony_ci } 1199e5c31af7Sopenharmony_ci "" 1200e5c31af7Sopenharmony_ci end 1201e5c31af7Sopenharmony_ci 1202e5c31af7Sopenharmony_ci case bvec2_to_float 1203e5c31af7Sopenharmony_ci values 1204e5c31af7Sopenharmony_ci { 1205e5c31af7Sopenharmony_ci input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 1206e5c31af7Sopenharmony_ci output float out0 = [ 1.0 | 0.0 | 0.0 | 1.0 | 0.0 ]; 1207e5c31af7Sopenharmony_ci } 1208e5c31af7Sopenharmony_ci 1209e5c31af7Sopenharmony_ci both "" 1210e5c31af7Sopenharmony_ci precision mediump float; 1211e5c31af7Sopenharmony_ci precision mediump int; 1212e5c31af7Sopenharmony_ci 1213e5c31af7Sopenharmony_ci ${DECLARATIONS} 1214e5c31af7Sopenharmony_ci 1215e5c31af7Sopenharmony_ci void main() 1216e5c31af7Sopenharmony_ci { 1217e5c31af7Sopenharmony_ci ${SETUP} 1218e5c31af7Sopenharmony_ci out0 = float(in0); 1219e5c31af7Sopenharmony_ci ${OUTPUT} 1220e5c31af7Sopenharmony_ci } 1221e5c31af7Sopenharmony_ci "" 1222e5c31af7Sopenharmony_ci end 1223e5c31af7Sopenharmony_ci 1224e5c31af7Sopenharmony_ci case bvec2_to_int 1225e5c31af7Sopenharmony_ci values 1226e5c31af7Sopenharmony_ci { 1227e5c31af7Sopenharmony_ci input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 1228e5c31af7Sopenharmony_ci output int out0 = [ 1 | 0 | 0 | 1 | 0 ]; 1229e5c31af7Sopenharmony_ci } 1230e5c31af7Sopenharmony_ci 1231e5c31af7Sopenharmony_ci both "" 1232e5c31af7Sopenharmony_ci precision mediump float; 1233e5c31af7Sopenharmony_ci precision mediump int; 1234e5c31af7Sopenharmony_ci 1235e5c31af7Sopenharmony_ci ${DECLARATIONS} 1236e5c31af7Sopenharmony_ci 1237e5c31af7Sopenharmony_ci void main() 1238e5c31af7Sopenharmony_ci { 1239e5c31af7Sopenharmony_ci ${SETUP} 1240e5c31af7Sopenharmony_ci out0 = int(in0); 1241e5c31af7Sopenharmony_ci ${OUTPUT} 1242e5c31af7Sopenharmony_ci } 1243e5c31af7Sopenharmony_ci "" 1244e5c31af7Sopenharmony_ci end 1245e5c31af7Sopenharmony_ci 1246e5c31af7Sopenharmony_ci case bvec2_to_bool 1247e5c31af7Sopenharmony_ci values 1248e5c31af7Sopenharmony_ci { 1249e5c31af7Sopenharmony_ci input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 1250e5c31af7Sopenharmony_ci output bool out0 = [ true | false | false | true | false ]; 1251e5c31af7Sopenharmony_ci } 1252e5c31af7Sopenharmony_ci 1253e5c31af7Sopenharmony_ci both "" 1254e5c31af7Sopenharmony_ci precision mediump float; 1255e5c31af7Sopenharmony_ci precision mediump int; 1256e5c31af7Sopenharmony_ci 1257e5c31af7Sopenharmony_ci ${DECLARATIONS} 1258e5c31af7Sopenharmony_ci 1259e5c31af7Sopenharmony_ci void main() 1260e5c31af7Sopenharmony_ci { 1261e5c31af7Sopenharmony_ci ${SETUP} 1262e5c31af7Sopenharmony_ci out0 = bool(in0); 1263e5c31af7Sopenharmony_ci ${OUTPUT} 1264e5c31af7Sopenharmony_ci } 1265e5c31af7Sopenharmony_ci "" 1266e5c31af7Sopenharmony_ci end 1267e5c31af7Sopenharmony_ci 1268e5c31af7Sopenharmony_ci case bvec3_to_float 1269e5c31af7Sopenharmony_ci values 1270e5c31af7Sopenharmony_ci { 1271e5c31af7Sopenharmony_ci input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ]; 1272e5c31af7Sopenharmony_ci output float out0 = [ 1.0 | 0.0 | 0.0 | 1.0 | 0.0 ]; 1273e5c31af7Sopenharmony_ci } 1274e5c31af7Sopenharmony_ci 1275e5c31af7Sopenharmony_ci both "" 1276e5c31af7Sopenharmony_ci precision mediump float; 1277e5c31af7Sopenharmony_ci precision mediump int; 1278e5c31af7Sopenharmony_ci 1279e5c31af7Sopenharmony_ci ${DECLARATIONS} 1280e5c31af7Sopenharmony_ci 1281e5c31af7Sopenharmony_ci void main() 1282e5c31af7Sopenharmony_ci { 1283e5c31af7Sopenharmony_ci ${SETUP} 1284e5c31af7Sopenharmony_ci out0 = float(in0); 1285e5c31af7Sopenharmony_ci ${OUTPUT} 1286e5c31af7Sopenharmony_ci } 1287e5c31af7Sopenharmony_ci "" 1288e5c31af7Sopenharmony_ci end 1289e5c31af7Sopenharmony_ci 1290e5c31af7Sopenharmony_ci case bvec3_to_int 1291e5c31af7Sopenharmony_ci values 1292e5c31af7Sopenharmony_ci { 1293e5c31af7Sopenharmony_ci input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ]; 1294e5c31af7Sopenharmony_ci output int out0 = [ 1 | 0 | 0 | 1 | 0 ]; 1295e5c31af7Sopenharmony_ci } 1296e5c31af7Sopenharmony_ci 1297e5c31af7Sopenharmony_ci both "" 1298e5c31af7Sopenharmony_ci precision mediump float; 1299e5c31af7Sopenharmony_ci precision mediump int; 1300e5c31af7Sopenharmony_ci 1301e5c31af7Sopenharmony_ci ${DECLARATIONS} 1302e5c31af7Sopenharmony_ci 1303e5c31af7Sopenharmony_ci void main() 1304e5c31af7Sopenharmony_ci { 1305e5c31af7Sopenharmony_ci ${SETUP} 1306e5c31af7Sopenharmony_ci out0 = int(in0); 1307e5c31af7Sopenharmony_ci ${OUTPUT} 1308e5c31af7Sopenharmony_ci } 1309e5c31af7Sopenharmony_ci "" 1310e5c31af7Sopenharmony_ci end 1311e5c31af7Sopenharmony_ci 1312e5c31af7Sopenharmony_ci case bvec3_to_bool 1313e5c31af7Sopenharmony_ci values 1314e5c31af7Sopenharmony_ci { 1315e5c31af7Sopenharmony_ci input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ]; 1316e5c31af7Sopenharmony_ci output bool out0 = [ true | false | false | true | false ]; 1317e5c31af7Sopenharmony_ci } 1318e5c31af7Sopenharmony_ci 1319e5c31af7Sopenharmony_ci both "" 1320e5c31af7Sopenharmony_ci precision mediump float; 1321e5c31af7Sopenharmony_ci precision mediump int; 1322e5c31af7Sopenharmony_ci 1323e5c31af7Sopenharmony_ci ${DECLARATIONS} 1324e5c31af7Sopenharmony_ci 1325e5c31af7Sopenharmony_ci void main() 1326e5c31af7Sopenharmony_ci { 1327e5c31af7Sopenharmony_ci ${SETUP} 1328e5c31af7Sopenharmony_ci out0 = bool(in0); 1329e5c31af7Sopenharmony_ci ${OUTPUT} 1330e5c31af7Sopenharmony_ci } 1331e5c31af7Sopenharmony_ci "" 1332e5c31af7Sopenharmony_ci end 1333e5c31af7Sopenharmony_ci 1334e5c31af7Sopenharmony_ci case bvec4_to_float 1335e5c31af7Sopenharmony_ci values 1336e5c31af7Sopenharmony_ci { 1337e5c31af7Sopenharmony_ci 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) ]; 1338e5c31af7Sopenharmony_ci output float out0 = [ 1.0 | 0.0 | 0.0 | 1.0 | 0.0 ]; 1339e5c31af7Sopenharmony_ci } 1340e5c31af7Sopenharmony_ci 1341e5c31af7Sopenharmony_ci both "" 1342e5c31af7Sopenharmony_ci precision mediump float; 1343e5c31af7Sopenharmony_ci precision mediump int; 1344e5c31af7Sopenharmony_ci 1345e5c31af7Sopenharmony_ci ${DECLARATIONS} 1346e5c31af7Sopenharmony_ci 1347e5c31af7Sopenharmony_ci void main() 1348e5c31af7Sopenharmony_ci { 1349e5c31af7Sopenharmony_ci ${SETUP} 1350e5c31af7Sopenharmony_ci out0 = float(in0); 1351e5c31af7Sopenharmony_ci ${OUTPUT} 1352e5c31af7Sopenharmony_ci } 1353e5c31af7Sopenharmony_ci "" 1354e5c31af7Sopenharmony_ci end 1355e5c31af7Sopenharmony_ci 1356e5c31af7Sopenharmony_ci case bvec4_to_int 1357e5c31af7Sopenharmony_ci values 1358e5c31af7Sopenharmony_ci { 1359e5c31af7Sopenharmony_ci 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) ]; 1360e5c31af7Sopenharmony_ci output int out0 = [ 1 | 0 | 0 | 1 | 0 ]; 1361e5c31af7Sopenharmony_ci } 1362e5c31af7Sopenharmony_ci 1363e5c31af7Sopenharmony_ci both "" 1364e5c31af7Sopenharmony_ci precision mediump float; 1365e5c31af7Sopenharmony_ci precision mediump int; 1366e5c31af7Sopenharmony_ci 1367e5c31af7Sopenharmony_ci ${DECLARATIONS} 1368e5c31af7Sopenharmony_ci 1369e5c31af7Sopenharmony_ci void main() 1370e5c31af7Sopenharmony_ci { 1371e5c31af7Sopenharmony_ci ${SETUP} 1372e5c31af7Sopenharmony_ci out0 = int(in0); 1373e5c31af7Sopenharmony_ci ${OUTPUT} 1374e5c31af7Sopenharmony_ci } 1375e5c31af7Sopenharmony_ci "" 1376e5c31af7Sopenharmony_ci end 1377e5c31af7Sopenharmony_ci 1378e5c31af7Sopenharmony_ci case bvec4_to_bool 1379e5c31af7Sopenharmony_ci values 1380e5c31af7Sopenharmony_ci { 1381e5c31af7Sopenharmony_ci 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) ]; 1382e5c31af7Sopenharmony_ci output bool out0 = [ true | false | false | true | false ]; 1383e5c31af7Sopenharmony_ci } 1384e5c31af7Sopenharmony_ci 1385e5c31af7Sopenharmony_ci both "" 1386e5c31af7Sopenharmony_ci precision mediump float; 1387e5c31af7Sopenharmony_ci precision mediump int; 1388e5c31af7Sopenharmony_ci 1389e5c31af7Sopenharmony_ci ${DECLARATIONS} 1390e5c31af7Sopenharmony_ci 1391e5c31af7Sopenharmony_ci void main() 1392e5c31af7Sopenharmony_ci { 1393e5c31af7Sopenharmony_ci ${SETUP} 1394e5c31af7Sopenharmony_ci out0 = bool(in0); 1395e5c31af7Sopenharmony_ci ${OUTPUT} 1396e5c31af7Sopenharmony_ci } 1397e5c31af7Sopenharmony_ci "" 1398e5c31af7Sopenharmony_ci end 1399e5c31af7Sopenharmony_ci 1400e5c31af7Sopenharmony_ci 1401e5c31af7Sopenharmony_ciend # vector_to_scalar 1402e5c31af7Sopenharmony_cigroup vector_illegal "Illegal Vector Conversions" 1403e5c31af7Sopenharmony_ci 1404e5c31af7Sopenharmony_ci case vec2_to_vec3 1405e5c31af7Sopenharmony_ci expect compile_fail 1406e5c31af7Sopenharmony_ci values {} 1407e5c31af7Sopenharmony_ci 1408e5c31af7Sopenharmony_ci both "" 1409e5c31af7Sopenharmony_ci precision mediump float; 1410e5c31af7Sopenharmony_ci precision mediump int; 1411e5c31af7Sopenharmony_ci 1412e5c31af7Sopenharmony_ci ${DECLARATIONS} 1413e5c31af7Sopenharmony_ci 1414e5c31af7Sopenharmony_ci void main() 1415e5c31af7Sopenharmony_ci { 1416e5c31af7Sopenharmony_ci ${SETUP} 1417e5c31af7Sopenharmony_ci vec2 in0 = vec2(0.0, 0.5); 1418e5c31af7Sopenharmony_ci vec3 out0 = vec3(in0); 1419e5c31af7Sopenharmony_ci ${OUTPUT} 1420e5c31af7Sopenharmony_ci } 1421e5c31af7Sopenharmony_ci "" 1422e5c31af7Sopenharmony_ci end 1423e5c31af7Sopenharmony_ci 1424e5c31af7Sopenharmony_ci case vec2_to_ivec3 1425e5c31af7Sopenharmony_ci expect compile_fail 1426e5c31af7Sopenharmony_ci values {} 1427e5c31af7Sopenharmony_ci 1428e5c31af7Sopenharmony_ci both "" 1429e5c31af7Sopenharmony_ci precision mediump float; 1430e5c31af7Sopenharmony_ci precision mediump int; 1431e5c31af7Sopenharmony_ci 1432e5c31af7Sopenharmony_ci ${DECLARATIONS} 1433e5c31af7Sopenharmony_ci 1434e5c31af7Sopenharmony_ci void main() 1435e5c31af7Sopenharmony_ci { 1436e5c31af7Sopenharmony_ci ${SETUP} 1437e5c31af7Sopenharmony_ci vec2 in0 = vec2(0.0, 0.5); 1438e5c31af7Sopenharmony_ci ivec3 out0 = ivec3(in0); 1439e5c31af7Sopenharmony_ci ${OUTPUT} 1440e5c31af7Sopenharmony_ci } 1441e5c31af7Sopenharmony_ci "" 1442e5c31af7Sopenharmony_ci end 1443e5c31af7Sopenharmony_ci 1444e5c31af7Sopenharmony_ci case vec2_to_bvec3 1445e5c31af7Sopenharmony_ci expect compile_fail 1446e5c31af7Sopenharmony_ci values {} 1447e5c31af7Sopenharmony_ci 1448e5c31af7Sopenharmony_ci both "" 1449e5c31af7Sopenharmony_ci precision mediump float; 1450e5c31af7Sopenharmony_ci precision mediump int; 1451e5c31af7Sopenharmony_ci 1452e5c31af7Sopenharmony_ci ${DECLARATIONS} 1453e5c31af7Sopenharmony_ci 1454e5c31af7Sopenharmony_ci void main() 1455e5c31af7Sopenharmony_ci { 1456e5c31af7Sopenharmony_ci ${SETUP} 1457e5c31af7Sopenharmony_ci vec2 in0 = vec2(0.0, 0.5); 1458e5c31af7Sopenharmony_ci bvec3 out0 = bvec3(in0); 1459e5c31af7Sopenharmony_ci ${OUTPUT} 1460e5c31af7Sopenharmony_ci } 1461e5c31af7Sopenharmony_ci "" 1462e5c31af7Sopenharmony_ci end 1463e5c31af7Sopenharmony_ci 1464e5c31af7Sopenharmony_ci case vec2_to_vec4 1465e5c31af7Sopenharmony_ci expect compile_fail 1466e5c31af7Sopenharmony_ci values {} 1467e5c31af7Sopenharmony_ci 1468e5c31af7Sopenharmony_ci both "" 1469e5c31af7Sopenharmony_ci precision mediump float; 1470e5c31af7Sopenharmony_ci precision mediump int; 1471e5c31af7Sopenharmony_ci 1472e5c31af7Sopenharmony_ci ${DECLARATIONS} 1473e5c31af7Sopenharmony_ci 1474e5c31af7Sopenharmony_ci void main() 1475e5c31af7Sopenharmony_ci { 1476e5c31af7Sopenharmony_ci ${SETUP} 1477e5c31af7Sopenharmony_ci vec2 in0 = vec2(0.0, 0.5); 1478e5c31af7Sopenharmony_ci vec4 out0 = vec4(in0); 1479e5c31af7Sopenharmony_ci ${OUTPUT} 1480e5c31af7Sopenharmony_ci } 1481e5c31af7Sopenharmony_ci "" 1482e5c31af7Sopenharmony_ci end 1483e5c31af7Sopenharmony_ci 1484e5c31af7Sopenharmony_ci case vec2_to_ivec4 1485e5c31af7Sopenharmony_ci expect compile_fail 1486e5c31af7Sopenharmony_ci values {} 1487e5c31af7Sopenharmony_ci 1488e5c31af7Sopenharmony_ci both "" 1489e5c31af7Sopenharmony_ci precision mediump float; 1490e5c31af7Sopenharmony_ci precision mediump int; 1491e5c31af7Sopenharmony_ci 1492e5c31af7Sopenharmony_ci ${DECLARATIONS} 1493e5c31af7Sopenharmony_ci 1494e5c31af7Sopenharmony_ci void main() 1495e5c31af7Sopenharmony_ci { 1496e5c31af7Sopenharmony_ci ${SETUP} 1497e5c31af7Sopenharmony_ci vec2 in0 = vec2(0.0, 0.5); 1498e5c31af7Sopenharmony_ci ivec4 out0 = ivec4(in0); 1499e5c31af7Sopenharmony_ci ${OUTPUT} 1500e5c31af7Sopenharmony_ci } 1501e5c31af7Sopenharmony_ci "" 1502e5c31af7Sopenharmony_ci end 1503e5c31af7Sopenharmony_ci 1504e5c31af7Sopenharmony_ci case vec2_to_bvec4 1505e5c31af7Sopenharmony_ci expect compile_fail 1506e5c31af7Sopenharmony_ci values {} 1507e5c31af7Sopenharmony_ci 1508e5c31af7Sopenharmony_ci both "" 1509e5c31af7Sopenharmony_ci precision mediump float; 1510e5c31af7Sopenharmony_ci precision mediump int; 1511e5c31af7Sopenharmony_ci 1512e5c31af7Sopenharmony_ci ${DECLARATIONS} 1513e5c31af7Sopenharmony_ci 1514e5c31af7Sopenharmony_ci void main() 1515e5c31af7Sopenharmony_ci { 1516e5c31af7Sopenharmony_ci ${SETUP} 1517e5c31af7Sopenharmony_ci vec2 in0 = vec2(0.0, 0.5); 1518e5c31af7Sopenharmony_ci bvec4 out0 = bvec4(in0); 1519e5c31af7Sopenharmony_ci ${OUTPUT} 1520e5c31af7Sopenharmony_ci } 1521e5c31af7Sopenharmony_ci "" 1522e5c31af7Sopenharmony_ci end 1523e5c31af7Sopenharmony_ci 1524e5c31af7Sopenharmony_ci case ivec2_to_vec3 1525e5c31af7Sopenharmony_ci expect compile_fail 1526e5c31af7Sopenharmony_ci values {} 1527e5c31af7Sopenharmony_ci 1528e5c31af7Sopenharmony_ci both "" 1529e5c31af7Sopenharmony_ci precision mediump float; 1530e5c31af7Sopenharmony_ci precision mediump int; 1531e5c31af7Sopenharmony_ci 1532e5c31af7Sopenharmony_ci ${DECLARATIONS} 1533e5c31af7Sopenharmony_ci 1534e5c31af7Sopenharmony_ci void main() 1535e5c31af7Sopenharmony_ci { 1536e5c31af7Sopenharmony_ci ${SETUP} 1537e5c31af7Sopenharmony_ci ivec2 in0 = ivec2(0, 0); 1538e5c31af7Sopenharmony_ci vec3 out0 = vec3(in0); 1539e5c31af7Sopenharmony_ci ${OUTPUT} 1540e5c31af7Sopenharmony_ci } 1541e5c31af7Sopenharmony_ci "" 1542e5c31af7Sopenharmony_ci end 1543e5c31af7Sopenharmony_ci 1544e5c31af7Sopenharmony_ci case ivec2_to_ivec3 1545e5c31af7Sopenharmony_ci expect compile_fail 1546e5c31af7Sopenharmony_ci values {} 1547e5c31af7Sopenharmony_ci 1548e5c31af7Sopenharmony_ci both "" 1549e5c31af7Sopenharmony_ci precision mediump float; 1550e5c31af7Sopenharmony_ci precision mediump int; 1551e5c31af7Sopenharmony_ci 1552e5c31af7Sopenharmony_ci ${DECLARATIONS} 1553e5c31af7Sopenharmony_ci 1554e5c31af7Sopenharmony_ci void main() 1555e5c31af7Sopenharmony_ci { 1556e5c31af7Sopenharmony_ci ${SETUP} 1557e5c31af7Sopenharmony_ci ivec2 in0 = ivec2(0, 0); 1558e5c31af7Sopenharmony_ci ivec3 out0 = ivec3(in0); 1559e5c31af7Sopenharmony_ci ${OUTPUT} 1560e5c31af7Sopenharmony_ci } 1561e5c31af7Sopenharmony_ci "" 1562e5c31af7Sopenharmony_ci end 1563e5c31af7Sopenharmony_ci 1564e5c31af7Sopenharmony_ci case ivec2_to_bvec3 1565e5c31af7Sopenharmony_ci expect compile_fail 1566e5c31af7Sopenharmony_ci values {} 1567e5c31af7Sopenharmony_ci 1568e5c31af7Sopenharmony_ci both "" 1569e5c31af7Sopenharmony_ci precision mediump float; 1570e5c31af7Sopenharmony_ci precision mediump int; 1571e5c31af7Sopenharmony_ci 1572e5c31af7Sopenharmony_ci ${DECLARATIONS} 1573e5c31af7Sopenharmony_ci 1574e5c31af7Sopenharmony_ci void main() 1575e5c31af7Sopenharmony_ci { 1576e5c31af7Sopenharmony_ci ${SETUP} 1577e5c31af7Sopenharmony_ci ivec2 in0 = ivec2(0, 0); 1578e5c31af7Sopenharmony_ci bvec3 out0 = bvec3(in0); 1579e5c31af7Sopenharmony_ci ${OUTPUT} 1580e5c31af7Sopenharmony_ci } 1581e5c31af7Sopenharmony_ci "" 1582e5c31af7Sopenharmony_ci end 1583e5c31af7Sopenharmony_ci 1584e5c31af7Sopenharmony_ci case ivec2_to_vec4 1585e5c31af7Sopenharmony_ci expect compile_fail 1586e5c31af7Sopenharmony_ci values {} 1587e5c31af7Sopenharmony_ci 1588e5c31af7Sopenharmony_ci both "" 1589e5c31af7Sopenharmony_ci precision mediump float; 1590e5c31af7Sopenharmony_ci precision mediump int; 1591e5c31af7Sopenharmony_ci 1592e5c31af7Sopenharmony_ci ${DECLARATIONS} 1593e5c31af7Sopenharmony_ci 1594e5c31af7Sopenharmony_ci void main() 1595e5c31af7Sopenharmony_ci { 1596e5c31af7Sopenharmony_ci ${SETUP} 1597e5c31af7Sopenharmony_ci ivec2 in0 = ivec2(0, 0); 1598e5c31af7Sopenharmony_ci vec4 out0 = vec4(in0); 1599e5c31af7Sopenharmony_ci ${OUTPUT} 1600e5c31af7Sopenharmony_ci } 1601e5c31af7Sopenharmony_ci "" 1602e5c31af7Sopenharmony_ci end 1603e5c31af7Sopenharmony_ci 1604e5c31af7Sopenharmony_ci case ivec2_to_ivec4 1605e5c31af7Sopenharmony_ci expect compile_fail 1606e5c31af7Sopenharmony_ci values {} 1607e5c31af7Sopenharmony_ci 1608e5c31af7Sopenharmony_ci both "" 1609e5c31af7Sopenharmony_ci precision mediump float; 1610e5c31af7Sopenharmony_ci precision mediump int; 1611e5c31af7Sopenharmony_ci 1612e5c31af7Sopenharmony_ci ${DECLARATIONS} 1613e5c31af7Sopenharmony_ci 1614e5c31af7Sopenharmony_ci void main() 1615e5c31af7Sopenharmony_ci { 1616e5c31af7Sopenharmony_ci ${SETUP} 1617e5c31af7Sopenharmony_ci ivec2 in0 = ivec2(0, 0); 1618e5c31af7Sopenharmony_ci ivec4 out0 = ivec4(in0); 1619e5c31af7Sopenharmony_ci ${OUTPUT} 1620e5c31af7Sopenharmony_ci } 1621e5c31af7Sopenharmony_ci "" 1622e5c31af7Sopenharmony_ci end 1623e5c31af7Sopenharmony_ci 1624e5c31af7Sopenharmony_ci case ivec2_to_bvec4 1625e5c31af7Sopenharmony_ci expect compile_fail 1626e5c31af7Sopenharmony_ci values {} 1627e5c31af7Sopenharmony_ci 1628e5c31af7Sopenharmony_ci both "" 1629e5c31af7Sopenharmony_ci precision mediump float; 1630e5c31af7Sopenharmony_ci precision mediump int; 1631e5c31af7Sopenharmony_ci 1632e5c31af7Sopenharmony_ci ${DECLARATIONS} 1633e5c31af7Sopenharmony_ci 1634e5c31af7Sopenharmony_ci void main() 1635e5c31af7Sopenharmony_ci { 1636e5c31af7Sopenharmony_ci ${SETUP} 1637e5c31af7Sopenharmony_ci ivec2 in0 = ivec2(0, 0); 1638e5c31af7Sopenharmony_ci bvec4 out0 = bvec4(in0); 1639e5c31af7Sopenharmony_ci ${OUTPUT} 1640e5c31af7Sopenharmony_ci } 1641e5c31af7Sopenharmony_ci "" 1642e5c31af7Sopenharmony_ci end 1643e5c31af7Sopenharmony_ci 1644e5c31af7Sopenharmony_ci case bvec2_to_vec3 1645e5c31af7Sopenharmony_ci expect compile_fail 1646e5c31af7Sopenharmony_ci values {} 1647e5c31af7Sopenharmony_ci 1648e5c31af7Sopenharmony_ci both "" 1649e5c31af7Sopenharmony_ci precision mediump float; 1650e5c31af7Sopenharmony_ci precision mediump int; 1651e5c31af7Sopenharmony_ci 1652e5c31af7Sopenharmony_ci ${DECLARATIONS} 1653e5c31af7Sopenharmony_ci 1654e5c31af7Sopenharmony_ci void main() 1655e5c31af7Sopenharmony_ci { 1656e5c31af7Sopenharmony_ci ${SETUP} 1657e5c31af7Sopenharmony_ci bvec2 in0 = bvec2(true, false); 1658e5c31af7Sopenharmony_ci vec3 out0 = vec3(in0); 1659e5c31af7Sopenharmony_ci ${OUTPUT} 1660e5c31af7Sopenharmony_ci } 1661e5c31af7Sopenharmony_ci "" 1662e5c31af7Sopenharmony_ci end 1663e5c31af7Sopenharmony_ci 1664e5c31af7Sopenharmony_ci case bvec2_to_ivec3 1665e5c31af7Sopenharmony_ci expect compile_fail 1666e5c31af7Sopenharmony_ci values {} 1667e5c31af7Sopenharmony_ci 1668e5c31af7Sopenharmony_ci both "" 1669e5c31af7Sopenharmony_ci precision mediump float; 1670e5c31af7Sopenharmony_ci precision mediump int; 1671e5c31af7Sopenharmony_ci 1672e5c31af7Sopenharmony_ci ${DECLARATIONS} 1673e5c31af7Sopenharmony_ci 1674e5c31af7Sopenharmony_ci void main() 1675e5c31af7Sopenharmony_ci { 1676e5c31af7Sopenharmony_ci ${SETUP} 1677e5c31af7Sopenharmony_ci bvec2 in0 = bvec2(true, false); 1678e5c31af7Sopenharmony_ci ivec3 out0 = ivec3(in0); 1679e5c31af7Sopenharmony_ci ${OUTPUT} 1680e5c31af7Sopenharmony_ci } 1681e5c31af7Sopenharmony_ci "" 1682e5c31af7Sopenharmony_ci end 1683e5c31af7Sopenharmony_ci 1684e5c31af7Sopenharmony_ci case bvec2_to_bvec3 1685e5c31af7Sopenharmony_ci expect compile_fail 1686e5c31af7Sopenharmony_ci values {} 1687e5c31af7Sopenharmony_ci 1688e5c31af7Sopenharmony_ci both "" 1689e5c31af7Sopenharmony_ci precision mediump float; 1690e5c31af7Sopenharmony_ci precision mediump int; 1691e5c31af7Sopenharmony_ci 1692e5c31af7Sopenharmony_ci ${DECLARATIONS} 1693e5c31af7Sopenharmony_ci 1694e5c31af7Sopenharmony_ci void main() 1695e5c31af7Sopenharmony_ci { 1696e5c31af7Sopenharmony_ci ${SETUP} 1697e5c31af7Sopenharmony_ci bvec2 in0 = bvec2(true, false); 1698e5c31af7Sopenharmony_ci bvec3 out0 = bvec3(in0); 1699e5c31af7Sopenharmony_ci ${OUTPUT} 1700e5c31af7Sopenharmony_ci } 1701e5c31af7Sopenharmony_ci "" 1702e5c31af7Sopenharmony_ci end 1703e5c31af7Sopenharmony_ci 1704e5c31af7Sopenharmony_ci case bvec2_to_vec4 1705e5c31af7Sopenharmony_ci expect compile_fail 1706e5c31af7Sopenharmony_ci values {} 1707e5c31af7Sopenharmony_ci 1708e5c31af7Sopenharmony_ci both "" 1709e5c31af7Sopenharmony_ci precision mediump float; 1710e5c31af7Sopenharmony_ci precision mediump int; 1711e5c31af7Sopenharmony_ci 1712e5c31af7Sopenharmony_ci ${DECLARATIONS} 1713e5c31af7Sopenharmony_ci 1714e5c31af7Sopenharmony_ci void main() 1715e5c31af7Sopenharmony_ci { 1716e5c31af7Sopenharmony_ci ${SETUP} 1717e5c31af7Sopenharmony_ci bvec2 in0 = bvec2(true, false); 1718e5c31af7Sopenharmony_ci vec4 out0 = vec4(in0); 1719e5c31af7Sopenharmony_ci ${OUTPUT} 1720e5c31af7Sopenharmony_ci } 1721e5c31af7Sopenharmony_ci "" 1722e5c31af7Sopenharmony_ci end 1723e5c31af7Sopenharmony_ci 1724e5c31af7Sopenharmony_ci case bvec2_to_ivec4 1725e5c31af7Sopenharmony_ci expect compile_fail 1726e5c31af7Sopenharmony_ci values {} 1727e5c31af7Sopenharmony_ci 1728e5c31af7Sopenharmony_ci both "" 1729e5c31af7Sopenharmony_ci precision mediump float; 1730e5c31af7Sopenharmony_ci precision mediump int; 1731e5c31af7Sopenharmony_ci 1732e5c31af7Sopenharmony_ci ${DECLARATIONS} 1733e5c31af7Sopenharmony_ci 1734e5c31af7Sopenharmony_ci void main() 1735e5c31af7Sopenharmony_ci { 1736e5c31af7Sopenharmony_ci ${SETUP} 1737e5c31af7Sopenharmony_ci bvec2 in0 = bvec2(true, false); 1738e5c31af7Sopenharmony_ci ivec4 out0 = ivec4(in0); 1739e5c31af7Sopenharmony_ci ${OUTPUT} 1740e5c31af7Sopenharmony_ci } 1741e5c31af7Sopenharmony_ci "" 1742e5c31af7Sopenharmony_ci end 1743e5c31af7Sopenharmony_ci 1744e5c31af7Sopenharmony_ci case bvec2_to_bvec4 1745e5c31af7Sopenharmony_ci expect compile_fail 1746e5c31af7Sopenharmony_ci values {} 1747e5c31af7Sopenharmony_ci 1748e5c31af7Sopenharmony_ci both "" 1749e5c31af7Sopenharmony_ci precision mediump float; 1750e5c31af7Sopenharmony_ci precision mediump int; 1751e5c31af7Sopenharmony_ci 1752e5c31af7Sopenharmony_ci ${DECLARATIONS} 1753e5c31af7Sopenharmony_ci 1754e5c31af7Sopenharmony_ci void main() 1755e5c31af7Sopenharmony_ci { 1756e5c31af7Sopenharmony_ci ${SETUP} 1757e5c31af7Sopenharmony_ci bvec2 in0 = bvec2(true, false); 1758e5c31af7Sopenharmony_ci bvec4 out0 = bvec4(in0); 1759e5c31af7Sopenharmony_ci ${OUTPUT} 1760e5c31af7Sopenharmony_ci } 1761e5c31af7Sopenharmony_ci "" 1762e5c31af7Sopenharmony_ci end 1763e5c31af7Sopenharmony_ci 1764e5c31af7Sopenharmony_ci case vec3_to_vec4 1765e5c31af7Sopenharmony_ci expect compile_fail 1766e5c31af7Sopenharmony_ci values {} 1767e5c31af7Sopenharmony_ci 1768e5c31af7Sopenharmony_ci both "" 1769e5c31af7Sopenharmony_ci precision mediump float; 1770e5c31af7Sopenharmony_ci precision mediump int; 1771e5c31af7Sopenharmony_ci 1772e5c31af7Sopenharmony_ci ${DECLARATIONS} 1773e5c31af7Sopenharmony_ci 1774e5c31af7Sopenharmony_ci void main() 1775e5c31af7Sopenharmony_ci { 1776e5c31af7Sopenharmony_ci ${SETUP} 1777e5c31af7Sopenharmony_ci vec3 in0 = vec3(0.0, 0.5, 0.75); 1778e5c31af7Sopenharmony_ci vec4 out0 = vec4(in0); 1779e5c31af7Sopenharmony_ci ${OUTPUT} 1780e5c31af7Sopenharmony_ci } 1781e5c31af7Sopenharmony_ci "" 1782e5c31af7Sopenharmony_ci end 1783e5c31af7Sopenharmony_ci 1784e5c31af7Sopenharmony_ci case vec3_to_ivec4 1785e5c31af7Sopenharmony_ci expect compile_fail 1786e5c31af7Sopenharmony_ci values {} 1787e5c31af7Sopenharmony_ci 1788e5c31af7Sopenharmony_ci both "" 1789e5c31af7Sopenharmony_ci precision mediump float; 1790e5c31af7Sopenharmony_ci precision mediump int; 1791e5c31af7Sopenharmony_ci 1792e5c31af7Sopenharmony_ci ${DECLARATIONS} 1793e5c31af7Sopenharmony_ci 1794e5c31af7Sopenharmony_ci void main() 1795e5c31af7Sopenharmony_ci { 1796e5c31af7Sopenharmony_ci ${SETUP} 1797e5c31af7Sopenharmony_ci vec3 in0 = vec3(0.0, 0.5, 0.75); 1798e5c31af7Sopenharmony_ci ivec4 out0 = ivec4(in0); 1799e5c31af7Sopenharmony_ci ${OUTPUT} 1800e5c31af7Sopenharmony_ci } 1801e5c31af7Sopenharmony_ci "" 1802e5c31af7Sopenharmony_ci end 1803e5c31af7Sopenharmony_ci 1804e5c31af7Sopenharmony_ci case vec3_to_bvec4 1805e5c31af7Sopenharmony_ci expect compile_fail 1806e5c31af7Sopenharmony_ci values {} 1807e5c31af7Sopenharmony_ci 1808e5c31af7Sopenharmony_ci both "" 1809e5c31af7Sopenharmony_ci precision mediump float; 1810e5c31af7Sopenharmony_ci precision mediump int; 1811e5c31af7Sopenharmony_ci 1812e5c31af7Sopenharmony_ci ${DECLARATIONS} 1813e5c31af7Sopenharmony_ci 1814e5c31af7Sopenharmony_ci void main() 1815e5c31af7Sopenharmony_ci { 1816e5c31af7Sopenharmony_ci ${SETUP} 1817e5c31af7Sopenharmony_ci vec3 in0 = vec3(0.0, 0.5, 0.75); 1818e5c31af7Sopenharmony_ci bvec4 out0 = bvec4(in0); 1819e5c31af7Sopenharmony_ci ${OUTPUT} 1820e5c31af7Sopenharmony_ci } 1821e5c31af7Sopenharmony_ci "" 1822e5c31af7Sopenharmony_ci end 1823e5c31af7Sopenharmony_ci 1824e5c31af7Sopenharmony_ci case ivec3_to_vec4 1825e5c31af7Sopenharmony_ci expect compile_fail 1826e5c31af7Sopenharmony_ci values {} 1827e5c31af7Sopenharmony_ci 1828e5c31af7Sopenharmony_ci both "" 1829e5c31af7Sopenharmony_ci precision mediump float; 1830e5c31af7Sopenharmony_ci precision mediump int; 1831e5c31af7Sopenharmony_ci 1832e5c31af7Sopenharmony_ci ${DECLARATIONS} 1833e5c31af7Sopenharmony_ci 1834e5c31af7Sopenharmony_ci void main() 1835e5c31af7Sopenharmony_ci { 1836e5c31af7Sopenharmony_ci ${SETUP} 1837e5c31af7Sopenharmony_ci ivec3 in0 = ivec3(0, 0, 0); 1838e5c31af7Sopenharmony_ci vec4 out0 = vec4(in0); 1839e5c31af7Sopenharmony_ci ${OUTPUT} 1840e5c31af7Sopenharmony_ci } 1841e5c31af7Sopenharmony_ci "" 1842e5c31af7Sopenharmony_ci end 1843e5c31af7Sopenharmony_ci 1844e5c31af7Sopenharmony_ci case ivec3_to_ivec4 1845e5c31af7Sopenharmony_ci expect compile_fail 1846e5c31af7Sopenharmony_ci values {} 1847e5c31af7Sopenharmony_ci 1848e5c31af7Sopenharmony_ci both "" 1849e5c31af7Sopenharmony_ci precision mediump float; 1850e5c31af7Sopenharmony_ci precision mediump int; 1851e5c31af7Sopenharmony_ci 1852e5c31af7Sopenharmony_ci ${DECLARATIONS} 1853e5c31af7Sopenharmony_ci 1854e5c31af7Sopenharmony_ci void main() 1855e5c31af7Sopenharmony_ci { 1856e5c31af7Sopenharmony_ci ${SETUP} 1857e5c31af7Sopenharmony_ci ivec3 in0 = ivec3(0, 0, 0); 1858e5c31af7Sopenharmony_ci ivec4 out0 = ivec4(in0); 1859e5c31af7Sopenharmony_ci ${OUTPUT} 1860e5c31af7Sopenharmony_ci } 1861e5c31af7Sopenharmony_ci "" 1862e5c31af7Sopenharmony_ci end 1863e5c31af7Sopenharmony_ci 1864e5c31af7Sopenharmony_ci case ivec3_to_bvec4 1865e5c31af7Sopenharmony_ci expect compile_fail 1866e5c31af7Sopenharmony_ci values {} 1867e5c31af7Sopenharmony_ci 1868e5c31af7Sopenharmony_ci both "" 1869e5c31af7Sopenharmony_ci precision mediump float; 1870e5c31af7Sopenharmony_ci precision mediump int; 1871e5c31af7Sopenharmony_ci 1872e5c31af7Sopenharmony_ci ${DECLARATIONS} 1873e5c31af7Sopenharmony_ci 1874e5c31af7Sopenharmony_ci void main() 1875e5c31af7Sopenharmony_ci { 1876e5c31af7Sopenharmony_ci ${SETUP} 1877e5c31af7Sopenharmony_ci ivec3 in0 = ivec3(0, 0, 0); 1878e5c31af7Sopenharmony_ci bvec4 out0 = bvec4(in0); 1879e5c31af7Sopenharmony_ci ${OUTPUT} 1880e5c31af7Sopenharmony_ci } 1881e5c31af7Sopenharmony_ci "" 1882e5c31af7Sopenharmony_ci end 1883e5c31af7Sopenharmony_ci 1884e5c31af7Sopenharmony_ci case bvec3_to_vec4 1885e5c31af7Sopenharmony_ci expect compile_fail 1886e5c31af7Sopenharmony_ci values {} 1887e5c31af7Sopenharmony_ci 1888e5c31af7Sopenharmony_ci both "" 1889e5c31af7Sopenharmony_ci precision mediump float; 1890e5c31af7Sopenharmony_ci precision mediump int; 1891e5c31af7Sopenharmony_ci 1892e5c31af7Sopenharmony_ci ${DECLARATIONS} 1893e5c31af7Sopenharmony_ci 1894e5c31af7Sopenharmony_ci void main() 1895e5c31af7Sopenharmony_ci { 1896e5c31af7Sopenharmony_ci ${SETUP} 1897e5c31af7Sopenharmony_ci bvec3 in0 = bvec3(true, false, false); 1898e5c31af7Sopenharmony_ci vec4 out0 = vec4(in0); 1899e5c31af7Sopenharmony_ci ${OUTPUT} 1900e5c31af7Sopenharmony_ci } 1901e5c31af7Sopenharmony_ci "" 1902e5c31af7Sopenharmony_ci end 1903e5c31af7Sopenharmony_ci 1904e5c31af7Sopenharmony_ci case bvec3_to_ivec4 1905e5c31af7Sopenharmony_ci expect compile_fail 1906e5c31af7Sopenharmony_ci values {} 1907e5c31af7Sopenharmony_ci 1908e5c31af7Sopenharmony_ci both "" 1909e5c31af7Sopenharmony_ci precision mediump float; 1910e5c31af7Sopenharmony_ci precision mediump int; 1911e5c31af7Sopenharmony_ci 1912e5c31af7Sopenharmony_ci ${DECLARATIONS} 1913e5c31af7Sopenharmony_ci 1914e5c31af7Sopenharmony_ci void main() 1915e5c31af7Sopenharmony_ci { 1916e5c31af7Sopenharmony_ci ${SETUP} 1917e5c31af7Sopenharmony_ci bvec3 in0 = bvec3(true, false, false); 1918e5c31af7Sopenharmony_ci ivec4 out0 = ivec4(in0); 1919e5c31af7Sopenharmony_ci ${OUTPUT} 1920e5c31af7Sopenharmony_ci } 1921e5c31af7Sopenharmony_ci "" 1922e5c31af7Sopenharmony_ci end 1923e5c31af7Sopenharmony_ci 1924e5c31af7Sopenharmony_ci case bvec3_to_bvec4 1925e5c31af7Sopenharmony_ci expect compile_fail 1926e5c31af7Sopenharmony_ci values {} 1927e5c31af7Sopenharmony_ci 1928e5c31af7Sopenharmony_ci both "" 1929e5c31af7Sopenharmony_ci precision mediump float; 1930e5c31af7Sopenharmony_ci precision mediump int; 1931e5c31af7Sopenharmony_ci 1932e5c31af7Sopenharmony_ci ${DECLARATIONS} 1933e5c31af7Sopenharmony_ci 1934e5c31af7Sopenharmony_ci void main() 1935e5c31af7Sopenharmony_ci { 1936e5c31af7Sopenharmony_ci ${SETUP} 1937e5c31af7Sopenharmony_ci bvec3 in0 = bvec3(true, false, false); 1938e5c31af7Sopenharmony_ci bvec4 out0 = bvec4(in0); 1939e5c31af7Sopenharmony_ci ${OUTPUT} 1940e5c31af7Sopenharmony_ci } 1941e5c31af7Sopenharmony_ci "" 1942e5c31af7Sopenharmony_ci end 1943e5c31af7Sopenharmony_ci 1944e5c31af7Sopenharmony_ci 1945e5c31af7Sopenharmony_ciend # vector_illegal 1946e5c31af7Sopenharmony_cigroup vector_to_vector "Vector to Vector Conversions" 1947e5c31af7Sopenharmony_ci 1948e5c31af7Sopenharmony_ci case vec4_to_vec4 1949e5c31af7Sopenharmony_ci values 1950e5c31af7Sopenharmony_ci { 1951e5c31af7Sopenharmony_ci 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) ]; 1952e5c31af7Sopenharmony_ci 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) ]; 1953e5c31af7Sopenharmony_ci } 1954e5c31af7Sopenharmony_ci 1955e5c31af7Sopenharmony_ci both "" 1956e5c31af7Sopenharmony_ci precision mediump float; 1957e5c31af7Sopenharmony_ci precision mediump int; 1958e5c31af7Sopenharmony_ci 1959e5c31af7Sopenharmony_ci ${DECLARATIONS} 1960e5c31af7Sopenharmony_ci 1961e5c31af7Sopenharmony_ci void main() 1962e5c31af7Sopenharmony_ci { 1963e5c31af7Sopenharmony_ci ${SETUP} 1964e5c31af7Sopenharmony_ci out0 = vec4(in0); 1965e5c31af7Sopenharmony_ci ${OUTPUT} 1966e5c31af7Sopenharmony_ci } 1967e5c31af7Sopenharmony_ci "" 1968e5c31af7Sopenharmony_ci end 1969e5c31af7Sopenharmony_ci 1970e5c31af7Sopenharmony_ci case vec4_to_vec3 1971e5c31af7Sopenharmony_ci values 1972e5c31af7Sopenharmony_ci { 1973e5c31af7Sopenharmony_ci 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) ]; 1974e5c31af7Sopenharmony_ci 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) ]; 1975e5c31af7Sopenharmony_ci } 1976e5c31af7Sopenharmony_ci 1977e5c31af7Sopenharmony_ci both "" 1978e5c31af7Sopenharmony_ci precision mediump float; 1979e5c31af7Sopenharmony_ci precision mediump int; 1980e5c31af7Sopenharmony_ci 1981e5c31af7Sopenharmony_ci ${DECLARATIONS} 1982e5c31af7Sopenharmony_ci 1983e5c31af7Sopenharmony_ci void main() 1984e5c31af7Sopenharmony_ci { 1985e5c31af7Sopenharmony_ci ${SETUP} 1986e5c31af7Sopenharmony_ci out0 = vec3(in0); 1987e5c31af7Sopenharmony_ci ${OUTPUT} 1988e5c31af7Sopenharmony_ci } 1989e5c31af7Sopenharmony_ci "" 1990e5c31af7Sopenharmony_ci end 1991e5c31af7Sopenharmony_ci 1992e5c31af7Sopenharmony_ci case vec4_to_vec2 1993e5c31af7Sopenharmony_ci values 1994e5c31af7Sopenharmony_ci { 1995e5c31af7Sopenharmony_ci 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) ]; 1996e5c31af7Sopenharmony_ci 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) ]; 1997e5c31af7Sopenharmony_ci } 1998e5c31af7Sopenharmony_ci 1999e5c31af7Sopenharmony_ci both "" 2000e5c31af7Sopenharmony_ci precision mediump float; 2001e5c31af7Sopenharmony_ci precision mediump int; 2002e5c31af7Sopenharmony_ci 2003e5c31af7Sopenharmony_ci ${DECLARATIONS} 2004e5c31af7Sopenharmony_ci 2005e5c31af7Sopenharmony_ci void main() 2006e5c31af7Sopenharmony_ci { 2007e5c31af7Sopenharmony_ci ${SETUP} 2008e5c31af7Sopenharmony_ci out0 = vec2(in0); 2009e5c31af7Sopenharmony_ci ${OUTPUT} 2010e5c31af7Sopenharmony_ci } 2011e5c31af7Sopenharmony_ci "" 2012e5c31af7Sopenharmony_ci end 2013e5c31af7Sopenharmony_ci 2014e5c31af7Sopenharmony_ci case vec4_to_ivec4 2015e5c31af7Sopenharmony_ci values 2016e5c31af7Sopenharmony_ci { 2017e5c31af7Sopenharmony_ci 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) ]; 2018e5c31af7Sopenharmony_ci 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) ]; 2019e5c31af7Sopenharmony_ci } 2020e5c31af7Sopenharmony_ci 2021e5c31af7Sopenharmony_ci both "" 2022e5c31af7Sopenharmony_ci precision mediump float; 2023e5c31af7Sopenharmony_ci precision mediump int; 2024e5c31af7Sopenharmony_ci 2025e5c31af7Sopenharmony_ci ${DECLARATIONS} 2026e5c31af7Sopenharmony_ci 2027e5c31af7Sopenharmony_ci void main() 2028e5c31af7Sopenharmony_ci { 2029e5c31af7Sopenharmony_ci ${SETUP} 2030e5c31af7Sopenharmony_ci out0 = ivec4(in0); 2031e5c31af7Sopenharmony_ci ${OUTPUT} 2032e5c31af7Sopenharmony_ci } 2033e5c31af7Sopenharmony_ci "" 2034e5c31af7Sopenharmony_ci end 2035e5c31af7Sopenharmony_ci 2036e5c31af7Sopenharmony_ci case vec4_to_ivec3 2037e5c31af7Sopenharmony_ci values 2038e5c31af7Sopenharmony_ci { 2039e5c31af7Sopenharmony_ci 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) ]; 2040e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ]; 2041e5c31af7Sopenharmony_ci } 2042e5c31af7Sopenharmony_ci 2043e5c31af7Sopenharmony_ci both "" 2044e5c31af7Sopenharmony_ci precision mediump float; 2045e5c31af7Sopenharmony_ci precision mediump int; 2046e5c31af7Sopenharmony_ci 2047e5c31af7Sopenharmony_ci ${DECLARATIONS} 2048e5c31af7Sopenharmony_ci 2049e5c31af7Sopenharmony_ci void main() 2050e5c31af7Sopenharmony_ci { 2051e5c31af7Sopenharmony_ci ${SETUP} 2052e5c31af7Sopenharmony_ci out0 = ivec3(in0); 2053e5c31af7Sopenharmony_ci ${OUTPUT} 2054e5c31af7Sopenharmony_ci } 2055e5c31af7Sopenharmony_ci "" 2056e5c31af7Sopenharmony_ci end 2057e5c31af7Sopenharmony_ci 2058e5c31af7Sopenharmony_ci case vec4_to_ivec2 2059e5c31af7Sopenharmony_ci values 2060e5c31af7Sopenharmony_ci { 2061e5c31af7Sopenharmony_ci 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) ]; 2062e5c31af7Sopenharmony_ci output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ]; 2063e5c31af7Sopenharmony_ci } 2064e5c31af7Sopenharmony_ci 2065e5c31af7Sopenharmony_ci both "" 2066e5c31af7Sopenharmony_ci precision mediump float; 2067e5c31af7Sopenharmony_ci precision mediump int; 2068e5c31af7Sopenharmony_ci 2069e5c31af7Sopenharmony_ci ${DECLARATIONS} 2070e5c31af7Sopenharmony_ci 2071e5c31af7Sopenharmony_ci void main() 2072e5c31af7Sopenharmony_ci { 2073e5c31af7Sopenharmony_ci ${SETUP} 2074e5c31af7Sopenharmony_ci out0 = ivec2(in0); 2075e5c31af7Sopenharmony_ci ${OUTPUT} 2076e5c31af7Sopenharmony_ci } 2077e5c31af7Sopenharmony_ci "" 2078e5c31af7Sopenharmony_ci end 2079e5c31af7Sopenharmony_ci 2080e5c31af7Sopenharmony_ci case vec4_to_bvec4 2081e5c31af7Sopenharmony_ci values 2082e5c31af7Sopenharmony_ci { 2083e5c31af7Sopenharmony_ci 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) ]; 2084e5c31af7Sopenharmony_ci 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) ]; 2085e5c31af7Sopenharmony_ci } 2086e5c31af7Sopenharmony_ci 2087e5c31af7Sopenharmony_ci both "" 2088e5c31af7Sopenharmony_ci precision mediump float; 2089e5c31af7Sopenharmony_ci precision mediump int; 2090e5c31af7Sopenharmony_ci 2091e5c31af7Sopenharmony_ci ${DECLARATIONS} 2092e5c31af7Sopenharmony_ci 2093e5c31af7Sopenharmony_ci void main() 2094e5c31af7Sopenharmony_ci { 2095e5c31af7Sopenharmony_ci ${SETUP} 2096e5c31af7Sopenharmony_ci out0 = bvec4(in0); 2097e5c31af7Sopenharmony_ci ${OUTPUT} 2098e5c31af7Sopenharmony_ci } 2099e5c31af7Sopenharmony_ci "" 2100e5c31af7Sopenharmony_ci end 2101e5c31af7Sopenharmony_ci 2102e5c31af7Sopenharmony_ci case vec4_to_bvec3 2103e5c31af7Sopenharmony_ci values 2104e5c31af7Sopenharmony_ci { 2105e5c31af7Sopenharmony_ci 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) ]; 2106e5c31af7Sopenharmony_ci output bvec3 out0 = [ bvec3(false, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) ]; 2107e5c31af7Sopenharmony_ci } 2108e5c31af7Sopenharmony_ci 2109e5c31af7Sopenharmony_ci both "" 2110e5c31af7Sopenharmony_ci precision mediump float; 2111e5c31af7Sopenharmony_ci precision mediump int; 2112e5c31af7Sopenharmony_ci 2113e5c31af7Sopenharmony_ci ${DECLARATIONS} 2114e5c31af7Sopenharmony_ci 2115e5c31af7Sopenharmony_ci void main() 2116e5c31af7Sopenharmony_ci { 2117e5c31af7Sopenharmony_ci ${SETUP} 2118e5c31af7Sopenharmony_ci out0 = bvec3(in0); 2119e5c31af7Sopenharmony_ci ${OUTPUT} 2120e5c31af7Sopenharmony_ci } 2121e5c31af7Sopenharmony_ci "" 2122e5c31af7Sopenharmony_ci end 2123e5c31af7Sopenharmony_ci 2124e5c31af7Sopenharmony_ci case vec4_to_bvec2 2125e5c31af7Sopenharmony_ci values 2126e5c31af7Sopenharmony_ci { 2127e5c31af7Sopenharmony_ci 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) ]; 2128e5c31af7Sopenharmony_ci output bvec2 out0 = [ bvec2(false, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) ]; 2129e5c31af7Sopenharmony_ci } 2130e5c31af7Sopenharmony_ci 2131e5c31af7Sopenharmony_ci both "" 2132e5c31af7Sopenharmony_ci precision mediump float; 2133e5c31af7Sopenharmony_ci precision mediump int; 2134e5c31af7Sopenharmony_ci 2135e5c31af7Sopenharmony_ci ${DECLARATIONS} 2136e5c31af7Sopenharmony_ci 2137e5c31af7Sopenharmony_ci void main() 2138e5c31af7Sopenharmony_ci { 2139e5c31af7Sopenharmony_ci ${SETUP} 2140e5c31af7Sopenharmony_ci out0 = bvec2(in0); 2141e5c31af7Sopenharmony_ci ${OUTPUT} 2142e5c31af7Sopenharmony_ci } 2143e5c31af7Sopenharmony_ci "" 2144e5c31af7Sopenharmony_ci end 2145e5c31af7Sopenharmony_ci 2146e5c31af7Sopenharmony_ci case ivec4_to_vec4 2147e5c31af7Sopenharmony_ci values 2148e5c31af7Sopenharmony_ci { 2149e5c31af7Sopenharmony_ci 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) ]; 2150e5c31af7Sopenharmony_ci 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) ]; 2151e5c31af7Sopenharmony_ci } 2152e5c31af7Sopenharmony_ci 2153e5c31af7Sopenharmony_ci both "" 2154e5c31af7Sopenharmony_ci precision mediump float; 2155e5c31af7Sopenharmony_ci precision mediump int; 2156e5c31af7Sopenharmony_ci 2157e5c31af7Sopenharmony_ci ${DECLARATIONS} 2158e5c31af7Sopenharmony_ci 2159e5c31af7Sopenharmony_ci void main() 2160e5c31af7Sopenharmony_ci { 2161e5c31af7Sopenharmony_ci ${SETUP} 2162e5c31af7Sopenharmony_ci out0 = vec4(in0); 2163e5c31af7Sopenharmony_ci ${OUTPUT} 2164e5c31af7Sopenharmony_ci } 2165e5c31af7Sopenharmony_ci "" 2166e5c31af7Sopenharmony_ci end 2167e5c31af7Sopenharmony_ci 2168e5c31af7Sopenharmony_ci case ivec4_to_vec3 2169e5c31af7Sopenharmony_ci values 2170e5c31af7Sopenharmony_ci { 2171e5c31af7Sopenharmony_ci 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) ]; 2172e5c31af7Sopenharmony_ci 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) ]; 2173e5c31af7Sopenharmony_ci } 2174e5c31af7Sopenharmony_ci 2175e5c31af7Sopenharmony_ci both "" 2176e5c31af7Sopenharmony_ci precision mediump float; 2177e5c31af7Sopenharmony_ci precision mediump int; 2178e5c31af7Sopenharmony_ci 2179e5c31af7Sopenharmony_ci ${DECLARATIONS} 2180e5c31af7Sopenharmony_ci 2181e5c31af7Sopenharmony_ci void main() 2182e5c31af7Sopenharmony_ci { 2183e5c31af7Sopenharmony_ci ${SETUP} 2184e5c31af7Sopenharmony_ci out0 = vec3(in0); 2185e5c31af7Sopenharmony_ci ${OUTPUT} 2186e5c31af7Sopenharmony_ci } 2187e5c31af7Sopenharmony_ci "" 2188e5c31af7Sopenharmony_ci end 2189e5c31af7Sopenharmony_ci 2190e5c31af7Sopenharmony_ci case ivec4_to_vec2 2191e5c31af7Sopenharmony_ci values 2192e5c31af7Sopenharmony_ci { 2193e5c31af7Sopenharmony_ci 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) ]; 2194e5c31af7Sopenharmony_ci 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) ]; 2195e5c31af7Sopenharmony_ci } 2196e5c31af7Sopenharmony_ci 2197e5c31af7Sopenharmony_ci both "" 2198e5c31af7Sopenharmony_ci precision mediump float; 2199e5c31af7Sopenharmony_ci precision mediump int; 2200e5c31af7Sopenharmony_ci 2201e5c31af7Sopenharmony_ci ${DECLARATIONS} 2202e5c31af7Sopenharmony_ci 2203e5c31af7Sopenharmony_ci void main() 2204e5c31af7Sopenharmony_ci { 2205e5c31af7Sopenharmony_ci ${SETUP} 2206e5c31af7Sopenharmony_ci out0 = vec2(in0); 2207e5c31af7Sopenharmony_ci ${OUTPUT} 2208e5c31af7Sopenharmony_ci } 2209e5c31af7Sopenharmony_ci "" 2210e5c31af7Sopenharmony_ci end 2211e5c31af7Sopenharmony_ci 2212e5c31af7Sopenharmony_ci case ivec4_to_ivec4 2213e5c31af7Sopenharmony_ci values 2214e5c31af7Sopenharmony_ci { 2215e5c31af7Sopenharmony_ci 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) ]; 2216e5c31af7Sopenharmony_ci 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) ]; 2217e5c31af7Sopenharmony_ci } 2218e5c31af7Sopenharmony_ci 2219e5c31af7Sopenharmony_ci both "" 2220e5c31af7Sopenharmony_ci precision mediump float; 2221e5c31af7Sopenharmony_ci precision mediump int; 2222e5c31af7Sopenharmony_ci 2223e5c31af7Sopenharmony_ci ${DECLARATIONS} 2224e5c31af7Sopenharmony_ci 2225e5c31af7Sopenharmony_ci void main() 2226e5c31af7Sopenharmony_ci { 2227e5c31af7Sopenharmony_ci ${SETUP} 2228e5c31af7Sopenharmony_ci out0 = ivec4(in0); 2229e5c31af7Sopenharmony_ci ${OUTPUT} 2230e5c31af7Sopenharmony_ci } 2231e5c31af7Sopenharmony_ci "" 2232e5c31af7Sopenharmony_ci end 2233e5c31af7Sopenharmony_ci 2234e5c31af7Sopenharmony_ci case ivec4_to_ivec3 2235e5c31af7Sopenharmony_ci values 2236e5c31af7Sopenharmony_ci { 2237e5c31af7Sopenharmony_ci 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) ]; 2238e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ]; 2239e5c31af7Sopenharmony_ci } 2240e5c31af7Sopenharmony_ci 2241e5c31af7Sopenharmony_ci both "" 2242e5c31af7Sopenharmony_ci precision mediump float; 2243e5c31af7Sopenharmony_ci precision mediump int; 2244e5c31af7Sopenharmony_ci 2245e5c31af7Sopenharmony_ci ${DECLARATIONS} 2246e5c31af7Sopenharmony_ci 2247e5c31af7Sopenharmony_ci void main() 2248e5c31af7Sopenharmony_ci { 2249e5c31af7Sopenharmony_ci ${SETUP} 2250e5c31af7Sopenharmony_ci out0 = ivec3(in0); 2251e5c31af7Sopenharmony_ci ${OUTPUT} 2252e5c31af7Sopenharmony_ci } 2253e5c31af7Sopenharmony_ci "" 2254e5c31af7Sopenharmony_ci end 2255e5c31af7Sopenharmony_ci 2256e5c31af7Sopenharmony_ci case ivec4_to_ivec2 2257e5c31af7Sopenharmony_ci values 2258e5c31af7Sopenharmony_ci { 2259e5c31af7Sopenharmony_ci 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) ]; 2260e5c31af7Sopenharmony_ci output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ]; 2261e5c31af7Sopenharmony_ci } 2262e5c31af7Sopenharmony_ci 2263e5c31af7Sopenharmony_ci both "" 2264e5c31af7Sopenharmony_ci precision mediump float; 2265e5c31af7Sopenharmony_ci precision mediump int; 2266e5c31af7Sopenharmony_ci 2267e5c31af7Sopenharmony_ci ${DECLARATIONS} 2268e5c31af7Sopenharmony_ci 2269e5c31af7Sopenharmony_ci void main() 2270e5c31af7Sopenharmony_ci { 2271e5c31af7Sopenharmony_ci ${SETUP} 2272e5c31af7Sopenharmony_ci out0 = ivec2(in0); 2273e5c31af7Sopenharmony_ci ${OUTPUT} 2274e5c31af7Sopenharmony_ci } 2275e5c31af7Sopenharmony_ci "" 2276e5c31af7Sopenharmony_ci end 2277e5c31af7Sopenharmony_ci 2278e5c31af7Sopenharmony_ci case ivec4_to_bvec4 2279e5c31af7Sopenharmony_ci values 2280e5c31af7Sopenharmony_ci { 2281e5c31af7Sopenharmony_ci 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) ]; 2282e5c31af7Sopenharmony_ci 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) ]; 2283e5c31af7Sopenharmony_ci } 2284e5c31af7Sopenharmony_ci 2285e5c31af7Sopenharmony_ci both "" 2286e5c31af7Sopenharmony_ci precision mediump float; 2287e5c31af7Sopenharmony_ci precision mediump int; 2288e5c31af7Sopenharmony_ci 2289e5c31af7Sopenharmony_ci ${DECLARATIONS} 2290e5c31af7Sopenharmony_ci 2291e5c31af7Sopenharmony_ci void main() 2292e5c31af7Sopenharmony_ci { 2293e5c31af7Sopenharmony_ci ${SETUP} 2294e5c31af7Sopenharmony_ci out0 = bvec4(in0); 2295e5c31af7Sopenharmony_ci ${OUTPUT} 2296e5c31af7Sopenharmony_ci } 2297e5c31af7Sopenharmony_ci "" 2298e5c31af7Sopenharmony_ci end 2299e5c31af7Sopenharmony_ci 2300e5c31af7Sopenharmony_ci case ivec4_to_bvec3 2301e5c31af7Sopenharmony_ci values 2302e5c31af7Sopenharmony_ci { 2303e5c31af7Sopenharmony_ci 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) ]; 2304e5c31af7Sopenharmony_ci output bvec3 out0 = [ bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, true, true) | bvec3(true, true, true) | bvec3(false, false, false) ]; 2305e5c31af7Sopenharmony_ci } 2306e5c31af7Sopenharmony_ci 2307e5c31af7Sopenharmony_ci both "" 2308e5c31af7Sopenharmony_ci precision mediump float; 2309e5c31af7Sopenharmony_ci precision mediump int; 2310e5c31af7Sopenharmony_ci 2311e5c31af7Sopenharmony_ci ${DECLARATIONS} 2312e5c31af7Sopenharmony_ci 2313e5c31af7Sopenharmony_ci void main() 2314e5c31af7Sopenharmony_ci { 2315e5c31af7Sopenharmony_ci ${SETUP} 2316e5c31af7Sopenharmony_ci out0 = bvec3(in0); 2317e5c31af7Sopenharmony_ci ${OUTPUT} 2318e5c31af7Sopenharmony_ci } 2319e5c31af7Sopenharmony_ci "" 2320e5c31af7Sopenharmony_ci end 2321e5c31af7Sopenharmony_ci 2322e5c31af7Sopenharmony_ci case ivec4_to_bvec2 2323e5c31af7Sopenharmony_ci values 2324e5c31af7Sopenharmony_ci { 2325e5c31af7Sopenharmony_ci 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) ]; 2326e5c31af7Sopenharmony_ci output bvec2 out0 = [ bvec2(false, false) | bvec2(true, true) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 2327e5c31af7Sopenharmony_ci } 2328e5c31af7Sopenharmony_ci 2329e5c31af7Sopenharmony_ci both "" 2330e5c31af7Sopenharmony_ci precision mediump float; 2331e5c31af7Sopenharmony_ci precision mediump int; 2332e5c31af7Sopenharmony_ci 2333e5c31af7Sopenharmony_ci ${DECLARATIONS} 2334e5c31af7Sopenharmony_ci 2335e5c31af7Sopenharmony_ci void main() 2336e5c31af7Sopenharmony_ci { 2337e5c31af7Sopenharmony_ci ${SETUP} 2338e5c31af7Sopenharmony_ci out0 = bvec2(in0); 2339e5c31af7Sopenharmony_ci ${OUTPUT} 2340e5c31af7Sopenharmony_ci } 2341e5c31af7Sopenharmony_ci "" 2342e5c31af7Sopenharmony_ci end 2343e5c31af7Sopenharmony_ci 2344e5c31af7Sopenharmony_ci case bvec4_to_vec4 2345e5c31af7Sopenharmony_ci values 2346e5c31af7Sopenharmony_ci { 2347e5c31af7Sopenharmony_ci 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) ]; 2348e5c31af7Sopenharmony_ci 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) ]; 2349e5c31af7Sopenharmony_ci } 2350e5c31af7Sopenharmony_ci 2351e5c31af7Sopenharmony_ci both "" 2352e5c31af7Sopenharmony_ci precision mediump float; 2353e5c31af7Sopenharmony_ci precision mediump int; 2354e5c31af7Sopenharmony_ci 2355e5c31af7Sopenharmony_ci ${DECLARATIONS} 2356e5c31af7Sopenharmony_ci 2357e5c31af7Sopenharmony_ci void main() 2358e5c31af7Sopenharmony_ci { 2359e5c31af7Sopenharmony_ci ${SETUP} 2360e5c31af7Sopenharmony_ci out0 = vec4(in0); 2361e5c31af7Sopenharmony_ci ${OUTPUT} 2362e5c31af7Sopenharmony_ci } 2363e5c31af7Sopenharmony_ci "" 2364e5c31af7Sopenharmony_ci end 2365e5c31af7Sopenharmony_ci 2366e5c31af7Sopenharmony_ci case bvec4_to_vec3 2367e5c31af7Sopenharmony_ci values 2368e5c31af7Sopenharmony_ci { 2369e5c31af7Sopenharmony_ci 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) ]; 2370e5c31af7Sopenharmony_ci 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) ]; 2371e5c31af7Sopenharmony_ci } 2372e5c31af7Sopenharmony_ci 2373e5c31af7Sopenharmony_ci both "" 2374e5c31af7Sopenharmony_ci precision mediump float; 2375e5c31af7Sopenharmony_ci precision mediump int; 2376e5c31af7Sopenharmony_ci 2377e5c31af7Sopenharmony_ci ${DECLARATIONS} 2378e5c31af7Sopenharmony_ci 2379e5c31af7Sopenharmony_ci void main() 2380e5c31af7Sopenharmony_ci { 2381e5c31af7Sopenharmony_ci ${SETUP} 2382e5c31af7Sopenharmony_ci out0 = vec3(in0); 2383e5c31af7Sopenharmony_ci ${OUTPUT} 2384e5c31af7Sopenharmony_ci } 2385e5c31af7Sopenharmony_ci "" 2386e5c31af7Sopenharmony_ci end 2387e5c31af7Sopenharmony_ci 2388e5c31af7Sopenharmony_ci case bvec4_to_vec2 2389e5c31af7Sopenharmony_ci values 2390e5c31af7Sopenharmony_ci { 2391e5c31af7Sopenharmony_ci 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) ]; 2392e5c31af7Sopenharmony_ci 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) ]; 2393e5c31af7Sopenharmony_ci } 2394e5c31af7Sopenharmony_ci 2395e5c31af7Sopenharmony_ci both "" 2396e5c31af7Sopenharmony_ci precision mediump float; 2397e5c31af7Sopenharmony_ci precision mediump int; 2398e5c31af7Sopenharmony_ci 2399e5c31af7Sopenharmony_ci ${DECLARATIONS} 2400e5c31af7Sopenharmony_ci 2401e5c31af7Sopenharmony_ci void main() 2402e5c31af7Sopenharmony_ci { 2403e5c31af7Sopenharmony_ci ${SETUP} 2404e5c31af7Sopenharmony_ci out0 = vec2(in0); 2405e5c31af7Sopenharmony_ci ${OUTPUT} 2406e5c31af7Sopenharmony_ci } 2407e5c31af7Sopenharmony_ci "" 2408e5c31af7Sopenharmony_ci end 2409e5c31af7Sopenharmony_ci 2410e5c31af7Sopenharmony_ci case bvec4_to_ivec4 2411e5c31af7Sopenharmony_ci values 2412e5c31af7Sopenharmony_ci { 2413e5c31af7Sopenharmony_ci 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) ]; 2414e5c31af7Sopenharmony_ci 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) ]; 2415e5c31af7Sopenharmony_ci } 2416e5c31af7Sopenharmony_ci 2417e5c31af7Sopenharmony_ci both "" 2418e5c31af7Sopenharmony_ci precision mediump float; 2419e5c31af7Sopenharmony_ci precision mediump int; 2420e5c31af7Sopenharmony_ci 2421e5c31af7Sopenharmony_ci ${DECLARATIONS} 2422e5c31af7Sopenharmony_ci 2423e5c31af7Sopenharmony_ci void main() 2424e5c31af7Sopenharmony_ci { 2425e5c31af7Sopenharmony_ci ${SETUP} 2426e5c31af7Sopenharmony_ci out0 = ivec4(in0); 2427e5c31af7Sopenharmony_ci ${OUTPUT} 2428e5c31af7Sopenharmony_ci } 2429e5c31af7Sopenharmony_ci "" 2430e5c31af7Sopenharmony_ci end 2431e5c31af7Sopenharmony_ci 2432e5c31af7Sopenharmony_ci case bvec4_to_ivec3 2433e5c31af7Sopenharmony_ci values 2434e5c31af7Sopenharmony_ci { 2435e5c31af7Sopenharmony_ci 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) ]; 2436e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(1, 0, 0) | ivec3(0, 0, 0) | ivec3(0, 1, 0) | ivec3(1, 1, 1) | ivec3(0, 0, 0) ]; 2437e5c31af7Sopenharmony_ci } 2438e5c31af7Sopenharmony_ci 2439e5c31af7Sopenharmony_ci both "" 2440e5c31af7Sopenharmony_ci precision mediump float; 2441e5c31af7Sopenharmony_ci precision mediump int; 2442e5c31af7Sopenharmony_ci 2443e5c31af7Sopenharmony_ci ${DECLARATIONS} 2444e5c31af7Sopenharmony_ci 2445e5c31af7Sopenharmony_ci void main() 2446e5c31af7Sopenharmony_ci { 2447e5c31af7Sopenharmony_ci ${SETUP} 2448e5c31af7Sopenharmony_ci out0 = ivec3(in0); 2449e5c31af7Sopenharmony_ci ${OUTPUT} 2450e5c31af7Sopenharmony_ci } 2451e5c31af7Sopenharmony_ci "" 2452e5c31af7Sopenharmony_ci end 2453e5c31af7Sopenharmony_ci 2454e5c31af7Sopenharmony_ci case bvec4_to_ivec2 2455e5c31af7Sopenharmony_ci values 2456e5c31af7Sopenharmony_ci { 2457e5c31af7Sopenharmony_ci 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) ]; 2458e5c31af7Sopenharmony_ci output ivec2 out0 = [ ivec2(1, 0) | ivec2(0, 0) | ivec2(0, 1) | ivec2(1, 1) | ivec2(0, 0) ]; 2459e5c31af7Sopenharmony_ci } 2460e5c31af7Sopenharmony_ci 2461e5c31af7Sopenharmony_ci both "" 2462e5c31af7Sopenharmony_ci precision mediump float; 2463e5c31af7Sopenharmony_ci precision mediump int; 2464e5c31af7Sopenharmony_ci 2465e5c31af7Sopenharmony_ci ${DECLARATIONS} 2466e5c31af7Sopenharmony_ci 2467e5c31af7Sopenharmony_ci void main() 2468e5c31af7Sopenharmony_ci { 2469e5c31af7Sopenharmony_ci ${SETUP} 2470e5c31af7Sopenharmony_ci out0 = ivec2(in0); 2471e5c31af7Sopenharmony_ci ${OUTPUT} 2472e5c31af7Sopenharmony_ci } 2473e5c31af7Sopenharmony_ci "" 2474e5c31af7Sopenharmony_ci end 2475e5c31af7Sopenharmony_ci 2476e5c31af7Sopenharmony_ci case bvec4_to_bvec4 2477e5c31af7Sopenharmony_ci values 2478e5c31af7Sopenharmony_ci { 2479e5c31af7Sopenharmony_ci 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) ]; 2480e5c31af7Sopenharmony_ci 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) ]; 2481e5c31af7Sopenharmony_ci } 2482e5c31af7Sopenharmony_ci 2483e5c31af7Sopenharmony_ci both "" 2484e5c31af7Sopenharmony_ci precision mediump float; 2485e5c31af7Sopenharmony_ci precision mediump int; 2486e5c31af7Sopenharmony_ci 2487e5c31af7Sopenharmony_ci ${DECLARATIONS} 2488e5c31af7Sopenharmony_ci 2489e5c31af7Sopenharmony_ci void main() 2490e5c31af7Sopenharmony_ci { 2491e5c31af7Sopenharmony_ci ${SETUP} 2492e5c31af7Sopenharmony_ci out0 = bvec4(in0); 2493e5c31af7Sopenharmony_ci ${OUTPUT} 2494e5c31af7Sopenharmony_ci } 2495e5c31af7Sopenharmony_ci "" 2496e5c31af7Sopenharmony_ci end 2497e5c31af7Sopenharmony_ci 2498e5c31af7Sopenharmony_ci case bvec4_to_bvec3 2499e5c31af7Sopenharmony_ci values 2500e5c31af7Sopenharmony_ci { 2501e5c31af7Sopenharmony_ci 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) ]; 2502e5c31af7Sopenharmony_ci output bvec3 out0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ]; 2503e5c31af7Sopenharmony_ci } 2504e5c31af7Sopenharmony_ci 2505e5c31af7Sopenharmony_ci both "" 2506e5c31af7Sopenharmony_ci precision mediump float; 2507e5c31af7Sopenharmony_ci precision mediump int; 2508e5c31af7Sopenharmony_ci 2509e5c31af7Sopenharmony_ci ${DECLARATIONS} 2510e5c31af7Sopenharmony_ci 2511e5c31af7Sopenharmony_ci void main() 2512e5c31af7Sopenharmony_ci { 2513e5c31af7Sopenharmony_ci ${SETUP} 2514e5c31af7Sopenharmony_ci out0 = bvec3(in0); 2515e5c31af7Sopenharmony_ci ${OUTPUT} 2516e5c31af7Sopenharmony_ci } 2517e5c31af7Sopenharmony_ci "" 2518e5c31af7Sopenharmony_ci end 2519e5c31af7Sopenharmony_ci 2520e5c31af7Sopenharmony_ci case bvec4_to_bvec2 2521e5c31af7Sopenharmony_ci values 2522e5c31af7Sopenharmony_ci { 2523e5c31af7Sopenharmony_ci 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) ]; 2524e5c31af7Sopenharmony_ci output bvec2 out0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 2525e5c31af7Sopenharmony_ci } 2526e5c31af7Sopenharmony_ci 2527e5c31af7Sopenharmony_ci both "" 2528e5c31af7Sopenharmony_ci precision mediump float; 2529e5c31af7Sopenharmony_ci precision mediump int; 2530e5c31af7Sopenharmony_ci 2531e5c31af7Sopenharmony_ci ${DECLARATIONS} 2532e5c31af7Sopenharmony_ci 2533e5c31af7Sopenharmony_ci void main() 2534e5c31af7Sopenharmony_ci { 2535e5c31af7Sopenharmony_ci ${SETUP} 2536e5c31af7Sopenharmony_ci out0 = bvec2(in0); 2537e5c31af7Sopenharmony_ci ${OUTPUT} 2538e5c31af7Sopenharmony_ci } 2539e5c31af7Sopenharmony_ci "" 2540e5c31af7Sopenharmony_ci end 2541e5c31af7Sopenharmony_ci 2542e5c31af7Sopenharmony_ci case vec3_to_vec3 2543e5c31af7Sopenharmony_ci values 2544e5c31af7Sopenharmony_ci { 2545e5c31af7Sopenharmony_ci 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) ]; 2546e5c31af7Sopenharmony_ci 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) ]; 2547e5c31af7Sopenharmony_ci } 2548e5c31af7Sopenharmony_ci 2549e5c31af7Sopenharmony_ci both "" 2550e5c31af7Sopenharmony_ci precision mediump float; 2551e5c31af7Sopenharmony_ci precision mediump int; 2552e5c31af7Sopenharmony_ci 2553e5c31af7Sopenharmony_ci ${DECLARATIONS} 2554e5c31af7Sopenharmony_ci 2555e5c31af7Sopenharmony_ci void main() 2556e5c31af7Sopenharmony_ci { 2557e5c31af7Sopenharmony_ci ${SETUP} 2558e5c31af7Sopenharmony_ci out0 = vec3(in0); 2559e5c31af7Sopenharmony_ci ${OUTPUT} 2560e5c31af7Sopenharmony_ci } 2561e5c31af7Sopenharmony_ci "" 2562e5c31af7Sopenharmony_ci end 2563e5c31af7Sopenharmony_ci 2564e5c31af7Sopenharmony_ci case vec3_to_vec2 2565e5c31af7Sopenharmony_ci values 2566e5c31af7Sopenharmony_ci { 2567e5c31af7Sopenharmony_ci 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) ]; 2568e5c31af7Sopenharmony_ci 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) ]; 2569e5c31af7Sopenharmony_ci } 2570e5c31af7Sopenharmony_ci 2571e5c31af7Sopenharmony_ci both "" 2572e5c31af7Sopenharmony_ci precision mediump float; 2573e5c31af7Sopenharmony_ci precision mediump int; 2574e5c31af7Sopenharmony_ci 2575e5c31af7Sopenharmony_ci ${DECLARATIONS} 2576e5c31af7Sopenharmony_ci 2577e5c31af7Sopenharmony_ci void main() 2578e5c31af7Sopenharmony_ci { 2579e5c31af7Sopenharmony_ci ${SETUP} 2580e5c31af7Sopenharmony_ci out0 = vec2(in0); 2581e5c31af7Sopenharmony_ci ${OUTPUT} 2582e5c31af7Sopenharmony_ci } 2583e5c31af7Sopenharmony_ci "" 2584e5c31af7Sopenharmony_ci end 2585e5c31af7Sopenharmony_ci 2586e5c31af7Sopenharmony_ci case vec3_to_ivec3 2587e5c31af7Sopenharmony_ci values 2588e5c31af7Sopenharmony_ci { 2589e5c31af7Sopenharmony_ci 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) ]; 2590e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ]; 2591e5c31af7Sopenharmony_ci } 2592e5c31af7Sopenharmony_ci 2593e5c31af7Sopenharmony_ci both "" 2594e5c31af7Sopenharmony_ci precision mediump float; 2595e5c31af7Sopenharmony_ci precision mediump int; 2596e5c31af7Sopenharmony_ci 2597e5c31af7Sopenharmony_ci ${DECLARATIONS} 2598e5c31af7Sopenharmony_ci 2599e5c31af7Sopenharmony_ci void main() 2600e5c31af7Sopenharmony_ci { 2601e5c31af7Sopenharmony_ci ${SETUP} 2602e5c31af7Sopenharmony_ci out0 = ivec3(in0); 2603e5c31af7Sopenharmony_ci ${OUTPUT} 2604e5c31af7Sopenharmony_ci } 2605e5c31af7Sopenharmony_ci "" 2606e5c31af7Sopenharmony_ci end 2607e5c31af7Sopenharmony_ci 2608e5c31af7Sopenharmony_ci case vec3_to_ivec2 2609e5c31af7Sopenharmony_ci values 2610e5c31af7Sopenharmony_ci { 2611e5c31af7Sopenharmony_ci 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) ]; 2612e5c31af7Sopenharmony_ci output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ]; 2613e5c31af7Sopenharmony_ci } 2614e5c31af7Sopenharmony_ci 2615e5c31af7Sopenharmony_ci both "" 2616e5c31af7Sopenharmony_ci precision mediump float; 2617e5c31af7Sopenharmony_ci precision mediump int; 2618e5c31af7Sopenharmony_ci 2619e5c31af7Sopenharmony_ci ${DECLARATIONS} 2620e5c31af7Sopenharmony_ci 2621e5c31af7Sopenharmony_ci void main() 2622e5c31af7Sopenharmony_ci { 2623e5c31af7Sopenharmony_ci ${SETUP} 2624e5c31af7Sopenharmony_ci out0 = ivec2(in0); 2625e5c31af7Sopenharmony_ci ${OUTPUT} 2626e5c31af7Sopenharmony_ci } 2627e5c31af7Sopenharmony_ci "" 2628e5c31af7Sopenharmony_ci end 2629e5c31af7Sopenharmony_ci 2630e5c31af7Sopenharmony_ci case vec3_to_bvec3 2631e5c31af7Sopenharmony_ci values 2632e5c31af7Sopenharmony_ci { 2633e5c31af7Sopenharmony_ci 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) ]; 2634e5c31af7Sopenharmony_ci output bvec3 out0 = [ bvec3(false, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) ]; 2635e5c31af7Sopenharmony_ci } 2636e5c31af7Sopenharmony_ci 2637e5c31af7Sopenharmony_ci both "" 2638e5c31af7Sopenharmony_ci precision mediump float; 2639e5c31af7Sopenharmony_ci precision mediump int; 2640e5c31af7Sopenharmony_ci 2641e5c31af7Sopenharmony_ci ${DECLARATIONS} 2642e5c31af7Sopenharmony_ci 2643e5c31af7Sopenharmony_ci void main() 2644e5c31af7Sopenharmony_ci { 2645e5c31af7Sopenharmony_ci ${SETUP} 2646e5c31af7Sopenharmony_ci out0 = bvec3(in0); 2647e5c31af7Sopenharmony_ci ${OUTPUT} 2648e5c31af7Sopenharmony_ci } 2649e5c31af7Sopenharmony_ci "" 2650e5c31af7Sopenharmony_ci end 2651e5c31af7Sopenharmony_ci 2652e5c31af7Sopenharmony_ci case vec3_to_bvec2 2653e5c31af7Sopenharmony_ci values 2654e5c31af7Sopenharmony_ci { 2655e5c31af7Sopenharmony_ci 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) ]; 2656e5c31af7Sopenharmony_ci output bvec2 out0 = [ bvec2(false, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) ]; 2657e5c31af7Sopenharmony_ci } 2658e5c31af7Sopenharmony_ci 2659e5c31af7Sopenharmony_ci both "" 2660e5c31af7Sopenharmony_ci precision mediump float; 2661e5c31af7Sopenharmony_ci precision mediump int; 2662e5c31af7Sopenharmony_ci 2663e5c31af7Sopenharmony_ci ${DECLARATIONS} 2664e5c31af7Sopenharmony_ci 2665e5c31af7Sopenharmony_ci void main() 2666e5c31af7Sopenharmony_ci { 2667e5c31af7Sopenharmony_ci ${SETUP} 2668e5c31af7Sopenharmony_ci out0 = bvec2(in0); 2669e5c31af7Sopenharmony_ci ${OUTPUT} 2670e5c31af7Sopenharmony_ci } 2671e5c31af7Sopenharmony_ci "" 2672e5c31af7Sopenharmony_ci end 2673e5c31af7Sopenharmony_ci 2674e5c31af7Sopenharmony_ci case ivec3_to_vec3 2675e5c31af7Sopenharmony_ci values 2676e5c31af7Sopenharmony_ci { 2677e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ]; 2678e5c31af7Sopenharmony_ci 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) ]; 2679e5c31af7Sopenharmony_ci } 2680e5c31af7Sopenharmony_ci 2681e5c31af7Sopenharmony_ci both "" 2682e5c31af7Sopenharmony_ci precision mediump float; 2683e5c31af7Sopenharmony_ci precision mediump int; 2684e5c31af7Sopenharmony_ci 2685e5c31af7Sopenharmony_ci ${DECLARATIONS} 2686e5c31af7Sopenharmony_ci 2687e5c31af7Sopenharmony_ci void main() 2688e5c31af7Sopenharmony_ci { 2689e5c31af7Sopenharmony_ci ${SETUP} 2690e5c31af7Sopenharmony_ci out0 = vec3(in0); 2691e5c31af7Sopenharmony_ci ${OUTPUT} 2692e5c31af7Sopenharmony_ci } 2693e5c31af7Sopenharmony_ci "" 2694e5c31af7Sopenharmony_ci end 2695e5c31af7Sopenharmony_ci 2696e5c31af7Sopenharmony_ci case ivec3_to_vec2 2697e5c31af7Sopenharmony_ci values 2698e5c31af7Sopenharmony_ci { 2699e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ]; 2700e5c31af7Sopenharmony_ci 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) ]; 2701e5c31af7Sopenharmony_ci } 2702e5c31af7Sopenharmony_ci 2703e5c31af7Sopenharmony_ci both "" 2704e5c31af7Sopenharmony_ci precision mediump float; 2705e5c31af7Sopenharmony_ci precision mediump int; 2706e5c31af7Sopenharmony_ci 2707e5c31af7Sopenharmony_ci ${DECLARATIONS} 2708e5c31af7Sopenharmony_ci 2709e5c31af7Sopenharmony_ci void main() 2710e5c31af7Sopenharmony_ci { 2711e5c31af7Sopenharmony_ci ${SETUP} 2712e5c31af7Sopenharmony_ci out0 = vec2(in0); 2713e5c31af7Sopenharmony_ci ${OUTPUT} 2714e5c31af7Sopenharmony_ci } 2715e5c31af7Sopenharmony_ci "" 2716e5c31af7Sopenharmony_ci end 2717e5c31af7Sopenharmony_ci 2718e5c31af7Sopenharmony_ci case ivec3_to_ivec3 2719e5c31af7Sopenharmony_ci values 2720e5c31af7Sopenharmony_ci { 2721e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ]; 2722e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ]; 2723e5c31af7Sopenharmony_ci } 2724e5c31af7Sopenharmony_ci 2725e5c31af7Sopenharmony_ci both "" 2726e5c31af7Sopenharmony_ci precision mediump float; 2727e5c31af7Sopenharmony_ci precision mediump int; 2728e5c31af7Sopenharmony_ci 2729e5c31af7Sopenharmony_ci ${DECLARATIONS} 2730e5c31af7Sopenharmony_ci 2731e5c31af7Sopenharmony_ci void main() 2732e5c31af7Sopenharmony_ci { 2733e5c31af7Sopenharmony_ci ${SETUP} 2734e5c31af7Sopenharmony_ci out0 = ivec3(in0); 2735e5c31af7Sopenharmony_ci ${OUTPUT} 2736e5c31af7Sopenharmony_ci } 2737e5c31af7Sopenharmony_ci "" 2738e5c31af7Sopenharmony_ci end 2739e5c31af7Sopenharmony_ci 2740e5c31af7Sopenharmony_ci case ivec3_to_ivec2 2741e5c31af7Sopenharmony_ci values 2742e5c31af7Sopenharmony_ci { 2743e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ]; 2744e5c31af7Sopenharmony_ci output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ]; 2745e5c31af7Sopenharmony_ci } 2746e5c31af7Sopenharmony_ci 2747e5c31af7Sopenharmony_ci both "" 2748e5c31af7Sopenharmony_ci precision mediump float; 2749e5c31af7Sopenharmony_ci precision mediump int; 2750e5c31af7Sopenharmony_ci 2751e5c31af7Sopenharmony_ci ${DECLARATIONS} 2752e5c31af7Sopenharmony_ci 2753e5c31af7Sopenharmony_ci void main() 2754e5c31af7Sopenharmony_ci { 2755e5c31af7Sopenharmony_ci ${SETUP} 2756e5c31af7Sopenharmony_ci out0 = ivec2(in0); 2757e5c31af7Sopenharmony_ci ${OUTPUT} 2758e5c31af7Sopenharmony_ci } 2759e5c31af7Sopenharmony_ci "" 2760e5c31af7Sopenharmony_ci end 2761e5c31af7Sopenharmony_ci 2762e5c31af7Sopenharmony_ci case ivec3_to_bvec3 2763e5c31af7Sopenharmony_ci values 2764e5c31af7Sopenharmony_ci { 2765e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ]; 2766e5c31af7Sopenharmony_ci output bvec3 out0 = [ bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, true, true) | bvec3(true, true, true) | bvec3(false, false, false) ]; 2767e5c31af7Sopenharmony_ci } 2768e5c31af7Sopenharmony_ci 2769e5c31af7Sopenharmony_ci both "" 2770e5c31af7Sopenharmony_ci precision mediump float; 2771e5c31af7Sopenharmony_ci precision mediump int; 2772e5c31af7Sopenharmony_ci 2773e5c31af7Sopenharmony_ci ${DECLARATIONS} 2774e5c31af7Sopenharmony_ci 2775e5c31af7Sopenharmony_ci void main() 2776e5c31af7Sopenharmony_ci { 2777e5c31af7Sopenharmony_ci ${SETUP} 2778e5c31af7Sopenharmony_ci out0 = bvec3(in0); 2779e5c31af7Sopenharmony_ci ${OUTPUT} 2780e5c31af7Sopenharmony_ci } 2781e5c31af7Sopenharmony_ci "" 2782e5c31af7Sopenharmony_ci end 2783e5c31af7Sopenharmony_ci 2784e5c31af7Sopenharmony_ci case ivec3_to_bvec2 2785e5c31af7Sopenharmony_ci values 2786e5c31af7Sopenharmony_ci { 2787e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ]; 2788e5c31af7Sopenharmony_ci output bvec2 out0 = [ bvec2(false, false) | bvec2(true, true) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 2789e5c31af7Sopenharmony_ci } 2790e5c31af7Sopenharmony_ci 2791e5c31af7Sopenharmony_ci both "" 2792e5c31af7Sopenharmony_ci precision mediump float; 2793e5c31af7Sopenharmony_ci precision mediump int; 2794e5c31af7Sopenharmony_ci 2795e5c31af7Sopenharmony_ci ${DECLARATIONS} 2796e5c31af7Sopenharmony_ci 2797e5c31af7Sopenharmony_ci void main() 2798e5c31af7Sopenharmony_ci { 2799e5c31af7Sopenharmony_ci ${SETUP} 2800e5c31af7Sopenharmony_ci out0 = bvec2(in0); 2801e5c31af7Sopenharmony_ci ${OUTPUT} 2802e5c31af7Sopenharmony_ci } 2803e5c31af7Sopenharmony_ci "" 2804e5c31af7Sopenharmony_ci end 2805e5c31af7Sopenharmony_ci 2806e5c31af7Sopenharmony_ci case bvec3_to_vec3 2807e5c31af7Sopenharmony_ci values 2808e5c31af7Sopenharmony_ci { 2809e5c31af7Sopenharmony_ci input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ]; 2810e5c31af7Sopenharmony_ci 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) ]; 2811e5c31af7Sopenharmony_ci } 2812e5c31af7Sopenharmony_ci 2813e5c31af7Sopenharmony_ci both "" 2814e5c31af7Sopenharmony_ci precision mediump float; 2815e5c31af7Sopenharmony_ci precision mediump int; 2816e5c31af7Sopenharmony_ci 2817e5c31af7Sopenharmony_ci ${DECLARATIONS} 2818e5c31af7Sopenharmony_ci 2819e5c31af7Sopenharmony_ci void main() 2820e5c31af7Sopenharmony_ci { 2821e5c31af7Sopenharmony_ci ${SETUP} 2822e5c31af7Sopenharmony_ci out0 = vec3(in0); 2823e5c31af7Sopenharmony_ci ${OUTPUT} 2824e5c31af7Sopenharmony_ci } 2825e5c31af7Sopenharmony_ci "" 2826e5c31af7Sopenharmony_ci end 2827e5c31af7Sopenharmony_ci 2828e5c31af7Sopenharmony_ci case bvec3_to_vec2 2829e5c31af7Sopenharmony_ci values 2830e5c31af7Sopenharmony_ci { 2831e5c31af7Sopenharmony_ci input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ]; 2832e5c31af7Sopenharmony_ci 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) ]; 2833e5c31af7Sopenharmony_ci } 2834e5c31af7Sopenharmony_ci 2835e5c31af7Sopenharmony_ci both "" 2836e5c31af7Sopenharmony_ci precision mediump float; 2837e5c31af7Sopenharmony_ci precision mediump int; 2838e5c31af7Sopenharmony_ci 2839e5c31af7Sopenharmony_ci ${DECLARATIONS} 2840e5c31af7Sopenharmony_ci 2841e5c31af7Sopenharmony_ci void main() 2842e5c31af7Sopenharmony_ci { 2843e5c31af7Sopenharmony_ci ${SETUP} 2844e5c31af7Sopenharmony_ci out0 = vec2(in0); 2845e5c31af7Sopenharmony_ci ${OUTPUT} 2846e5c31af7Sopenharmony_ci } 2847e5c31af7Sopenharmony_ci "" 2848e5c31af7Sopenharmony_ci end 2849e5c31af7Sopenharmony_ci 2850e5c31af7Sopenharmony_ci case bvec3_to_ivec3 2851e5c31af7Sopenharmony_ci values 2852e5c31af7Sopenharmony_ci { 2853e5c31af7Sopenharmony_ci input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ]; 2854e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(1, 0, 0) | ivec3(0, 0, 0) | ivec3(0, 1, 0) | ivec3(1, 1, 1) | ivec3(0, 0, 0) ]; 2855e5c31af7Sopenharmony_ci } 2856e5c31af7Sopenharmony_ci 2857e5c31af7Sopenharmony_ci both "" 2858e5c31af7Sopenharmony_ci precision mediump float; 2859e5c31af7Sopenharmony_ci precision mediump int; 2860e5c31af7Sopenharmony_ci 2861e5c31af7Sopenharmony_ci ${DECLARATIONS} 2862e5c31af7Sopenharmony_ci 2863e5c31af7Sopenharmony_ci void main() 2864e5c31af7Sopenharmony_ci { 2865e5c31af7Sopenharmony_ci ${SETUP} 2866e5c31af7Sopenharmony_ci out0 = ivec3(in0); 2867e5c31af7Sopenharmony_ci ${OUTPUT} 2868e5c31af7Sopenharmony_ci } 2869e5c31af7Sopenharmony_ci "" 2870e5c31af7Sopenharmony_ci end 2871e5c31af7Sopenharmony_ci 2872e5c31af7Sopenharmony_ci case bvec3_to_ivec2 2873e5c31af7Sopenharmony_ci values 2874e5c31af7Sopenharmony_ci { 2875e5c31af7Sopenharmony_ci input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ]; 2876e5c31af7Sopenharmony_ci output ivec2 out0 = [ ivec2(1, 0) | ivec2(0, 0) | ivec2(0, 1) | ivec2(1, 1) | ivec2(0, 0) ]; 2877e5c31af7Sopenharmony_ci } 2878e5c31af7Sopenharmony_ci 2879e5c31af7Sopenharmony_ci both "" 2880e5c31af7Sopenharmony_ci precision mediump float; 2881e5c31af7Sopenharmony_ci precision mediump int; 2882e5c31af7Sopenharmony_ci 2883e5c31af7Sopenharmony_ci ${DECLARATIONS} 2884e5c31af7Sopenharmony_ci 2885e5c31af7Sopenharmony_ci void main() 2886e5c31af7Sopenharmony_ci { 2887e5c31af7Sopenharmony_ci ${SETUP} 2888e5c31af7Sopenharmony_ci out0 = ivec2(in0); 2889e5c31af7Sopenharmony_ci ${OUTPUT} 2890e5c31af7Sopenharmony_ci } 2891e5c31af7Sopenharmony_ci "" 2892e5c31af7Sopenharmony_ci end 2893e5c31af7Sopenharmony_ci 2894e5c31af7Sopenharmony_ci case bvec3_to_bvec3 2895e5c31af7Sopenharmony_ci values 2896e5c31af7Sopenharmony_ci { 2897e5c31af7Sopenharmony_ci input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ]; 2898e5c31af7Sopenharmony_ci output bvec3 out0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ]; 2899e5c31af7Sopenharmony_ci } 2900e5c31af7Sopenharmony_ci 2901e5c31af7Sopenharmony_ci both "" 2902e5c31af7Sopenharmony_ci precision mediump float; 2903e5c31af7Sopenharmony_ci precision mediump int; 2904e5c31af7Sopenharmony_ci 2905e5c31af7Sopenharmony_ci ${DECLARATIONS} 2906e5c31af7Sopenharmony_ci 2907e5c31af7Sopenharmony_ci void main() 2908e5c31af7Sopenharmony_ci { 2909e5c31af7Sopenharmony_ci ${SETUP} 2910e5c31af7Sopenharmony_ci out0 = bvec3(in0); 2911e5c31af7Sopenharmony_ci ${OUTPUT} 2912e5c31af7Sopenharmony_ci } 2913e5c31af7Sopenharmony_ci "" 2914e5c31af7Sopenharmony_ci end 2915e5c31af7Sopenharmony_ci 2916e5c31af7Sopenharmony_ci case bvec3_to_bvec2 2917e5c31af7Sopenharmony_ci values 2918e5c31af7Sopenharmony_ci { 2919e5c31af7Sopenharmony_ci input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ]; 2920e5c31af7Sopenharmony_ci output bvec2 out0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 2921e5c31af7Sopenharmony_ci } 2922e5c31af7Sopenharmony_ci 2923e5c31af7Sopenharmony_ci both "" 2924e5c31af7Sopenharmony_ci precision mediump float; 2925e5c31af7Sopenharmony_ci precision mediump int; 2926e5c31af7Sopenharmony_ci 2927e5c31af7Sopenharmony_ci ${DECLARATIONS} 2928e5c31af7Sopenharmony_ci 2929e5c31af7Sopenharmony_ci void main() 2930e5c31af7Sopenharmony_ci { 2931e5c31af7Sopenharmony_ci ${SETUP} 2932e5c31af7Sopenharmony_ci out0 = bvec2(in0); 2933e5c31af7Sopenharmony_ci ${OUTPUT} 2934e5c31af7Sopenharmony_ci } 2935e5c31af7Sopenharmony_ci "" 2936e5c31af7Sopenharmony_ci end 2937e5c31af7Sopenharmony_ci 2938e5c31af7Sopenharmony_ci case vec2_to_vec2 2939e5c31af7Sopenharmony_ci values 2940e5c31af7Sopenharmony_ci { 2941e5c31af7Sopenharmony_ci 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) ]; 2942e5c31af7Sopenharmony_ci 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) ]; 2943e5c31af7Sopenharmony_ci } 2944e5c31af7Sopenharmony_ci 2945e5c31af7Sopenharmony_ci both "" 2946e5c31af7Sopenharmony_ci precision mediump float; 2947e5c31af7Sopenharmony_ci precision mediump int; 2948e5c31af7Sopenharmony_ci 2949e5c31af7Sopenharmony_ci ${DECLARATIONS} 2950e5c31af7Sopenharmony_ci 2951e5c31af7Sopenharmony_ci void main() 2952e5c31af7Sopenharmony_ci { 2953e5c31af7Sopenharmony_ci ${SETUP} 2954e5c31af7Sopenharmony_ci out0 = vec2(in0); 2955e5c31af7Sopenharmony_ci ${OUTPUT} 2956e5c31af7Sopenharmony_ci } 2957e5c31af7Sopenharmony_ci "" 2958e5c31af7Sopenharmony_ci end 2959e5c31af7Sopenharmony_ci 2960e5c31af7Sopenharmony_ci case vec2_to_ivec2 2961e5c31af7Sopenharmony_ci values 2962e5c31af7Sopenharmony_ci { 2963e5c31af7Sopenharmony_ci 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) ]; 2964e5c31af7Sopenharmony_ci output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ]; 2965e5c31af7Sopenharmony_ci } 2966e5c31af7Sopenharmony_ci 2967e5c31af7Sopenharmony_ci both "" 2968e5c31af7Sopenharmony_ci precision mediump float; 2969e5c31af7Sopenharmony_ci precision mediump int; 2970e5c31af7Sopenharmony_ci 2971e5c31af7Sopenharmony_ci ${DECLARATIONS} 2972e5c31af7Sopenharmony_ci 2973e5c31af7Sopenharmony_ci void main() 2974e5c31af7Sopenharmony_ci { 2975e5c31af7Sopenharmony_ci ${SETUP} 2976e5c31af7Sopenharmony_ci out0 = ivec2(in0); 2977e5c31af7Sopenharmony_ci ${OUTPUT} 2978e5c31af7Sopenharmony_ci } 2979e5c31af7Sopenharmony_ci "" 2980e5c31af7Sopenharmony_ci end 2981e5c31af7Sopenharmony_ci 2982e5c31af7Sopenharmony_ci case vec2_to_bvec2 2983e5c31af7Sopenharmony_ci values 2984e5c31af7Sopenharmony_ci { 2985e5c31af7Sopenharmony_ci 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) ]; 2986e5c31af7Sopenharmony_ci output bvec2 out0 = [ bvec2(false, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) ]; 2987e5c31af7Sopenharmony_ci } 2988e5c31af7Sopenharmony_ci 2989e5c31af7Sopenharmony_ci both "" 2990e5c31af7Sopenharmony_ci precision mediump float; 2991e5c31af7Sopenharmony_ci precision mediump int; 2992e5c31af7Sopenharmony_ci 2993e5c31af7Sopenharmony_ci ${DECLARATIONS} 2994e5c31af7Sopenharmony_ci 2995e5c31af7Sopenharmony_ci void main() 2996e5c31af7Sopenharmony_ci { 2997e5c31af7Sopenharmony_ci ${SETUP} 2998e5c31af7Sopenharmony_ci out0 = bvec2(in0); 2999e5c31af7Sopenharmony_ci ${OUTPUT} 3000e5c31af7Sopenharmony_ci } 3001e5c31af7Sopenharmony_ci "" 3002e5c31af7Sopenharmony_ci end 3003e5c31af7Sopenharmony_ci 3004e5c31af7Sopenharmony_ci case ivec2_to_vec2 3005e5c31af7Sopenharmony_ci values 3006e5c31af7Sopenharmony_ci { 3007e5c31af7Sopenharmony_ci input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ]; 3008e5c31af7Sopenharmony_ci 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) ]; 3009e5c31af7Sopenharmony_ci } 3010e5c31af7Sopenharmony_ci 3011e5c31af7Sopenharmony_ci both "" 3012e5c31af7Sopenharmony_ci precision mediump float; 3013e5c31af7Sopenharmony_ci precision mediump int; 3014e5c31af7Sopenharmony_ci 3015e5c31af7Sopenharmony_ci ${DECLARATIONS} 3016e5c31af7Sopenharmony_ci 3017e5c31af7Sopenharmony_ci void main() 3018e5c31af7Sopenharmony_ci { 3019e5c31af7Sopenharmony_ci ${SETUP} 3020e5c31af7Sopenharmony_ci out0 = vec2(in0); 3021e5c31af7Sopenharmony_ci ${OUTPUT} 3022e5c31af7Sopenharmony_ci } 3023e5c31af7Sopenharmony_ci "" 3024e5c31af7Sopenharmony_ci end 3025e5c31af7Sopenharmony_ci 3026e5c31af7Sopenharmony_ci case ivec2_to_ivec2 3027e5c31af7Sopenharmony_ci values 3028e5c31af7Sopenharmony_ci { 3029e5c31af7Sopenharmony_ci input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ]; 3030e5c31af7Sopenharmony_ci output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ]; 3031e5c31af7Sopenharmony_ci } 3032e5c31af7Sopenharmony_ci 3033e5c31af7Sopenharmony_ci both "" 3034e5c31af7Sopenharmony_ci precision mediump float; 3035e5c31af7Sopenharmony_ci precision mediump int; 3036e5c31af7Sopenharmony_ci 3037e5c31af7Sopenharmony_ci ${DECLARATIONS} 3038e5c31af7Sopenharmony_ci 3039e5c31af7Sopenharmony_ci void main() 3040e5c31af7Sopenharmony_ci { 3041e5c31af7Sopenharmony_ci ${SETUP} 3042e5c31af7Sopenharmony_ci out0 = ivec2(in0); 3043e5c31af7Sopenharmony_ci ${OUTPUT} 3044e5c31af7Sopenharmony_ci } 3045e5c31af7Sopenharmony_ci "" 3046e5c31af7Sopenharmony_ci end 3047e5c31af7Sopenharmony_ci 3048e5c31af7Sopenharmony_ci case ivec2_to_bvec2 3049e5c31af7Sopenharmony_ci values 3050e5c31af7Sopenharmony_ci { 3051e5c31af7Sopenharmony_ci input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ]; 3052e5c31af7Sopenharmony_ci output bvec2 out0 = [ bvec2(false, false) | bvec2(true, true) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 3053e5c31af7Sopenharmony_ci } 3054e5c31af7Sopenharmony_ci 3055e5c31af7Sopenharmony_ci both "" 3056e5c31af7Sopenharmony_ci precision mediump float; 3057e5c31af7Sopenharmony_ci precision mediump int; 3058e5c31af7Sopenharmony_ci 3059e5c31af7Sopenharmony_ci ${DECLARATIONS} 3060e5c31af7Sopenharmony_ci 3061e5c31af7Sopenharmony_ci void main() 3062e5c31af7Sopenharmony_ci { 3063e5c31af7Sopenharmony_ci ${SETUP} 3064e5c31af7Sopenharmony_ci out0 = bvec2(in0); 3065e5c31af7Sopenharmony_ci ${OUTPUT} 3066e5c31af7Sopenharmony_ci } 3067e5c31af7Sopenharmony_ci "" 3068e5c31af7Sopenharmony_ci end 3069e5c31af7Sopenharmony_ci 3070e5c31af7Sopenharmony_ci case bvec2_to_vec2 3071e5c31af7Sopenharmony_ci values 3072e5c31af7Sopenharmony_ci { 3073e5c31af7Sopenharmony_ci input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 3074e5c31af7Sopenharmony_ci 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) ]; 3075e5c31af7Sopenharmony_ci } 3076e5c31af7Sopenharmony_ci 3077e5c31af7Sopenharmony_ci both "" 3078e5c31af7Sopenharmony_ci precision mediump float; 3079e5c31af7Sopenharmony_ci precision mediump int; 3080e5c31af7Sopenharmony_ci 3081e5c31af7Sopenharmony_ci ${DECLARATIONS} 3082e5c31af7Sopenharmony_ci 3083e5c31af7Sopenharmony_ci void main() 3084e5c31af7Sopenharmony_ci { 3085e5c31af7Sopenharmony_ci ${SETUP} 3086e5c31af7Sopenharmony_ci out0 = vec2(in0); 3087e5c31af7Sopenharmony_ci ${OUTPUT} 3088e5c31af7Sopenharmony_ci } 3089e5c31af7Sopenharmony_ci "" 3090e5c31af7Sopenharmony_ci end 3091e5c31af7Sopenharmony_ci 3092e5c31af7Sopenharmony_ci case bvec2_to_ivec2 3093e5c31af7Sopenharmony_ci values 3094e5c31af7Sopenharmony_ci { 3095e5c31af7Sopenharmony_ci input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 3096e5c31af7Sopenharmony_ci output ivec2 out0 = [ ivec2(1, 0) | ivec2(0, 0) | ivec2(0, 1) | ivec2(1, 1) | ivec2(0, 0) ]; 3097e5c31af7Sopenharmony_ci } 3098e5c31af7Sopenharmony_ci 3099e5c31af7Sopenharmony_ci both "" 3100e5c31af7Sopenharmony_ci precision mediump float; 3101e5c31af7Sopenharmony_ci precision mediump int; 3102e5c31af7Sopenharmony_ci 3103e5c31af7Sopenharmony_ci ${DECLARATIONS} 3104e5c31af7Sopenharmony_ci 3105e5c31af7Sopenharmony_ci void main() 3106e5c31af7Sopenharmony_ci { 3107e5c31af7Sopenharmony_ci ${SETUP} 3108e5c31af7Sopenharmony_ci out0 = ivec2(in0); 3109e5c31af7Sopenharmony_ci ${OUTPUT} 3110e5c31af7Sopenharmony_ci } 3111e5c31af7Sopenharmony_ci "" 3112e5c31af7Sopenharmony_ci end 3113e5c31af7Sopenharmony_ci 3114e5c31af7Sopenharmony_ci case bvec2_to_bvec2 3115e5c31af7Sopenharmony_ci values 3116e5c31af7Sopenharmony_ci { 3117e5c31af7Sopenharmony_ci input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 3118e5c31af7Sopenharmony_ci output bvec2 out0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 3119e5c31af7Sopenharmony_ci } 3120e5c31af7Sopenharmony_ci 3121e5c31af7Sopenharmony_ci both "" 3122e5c31af7Sopenharmony_ci precision mediump float; 3123e5c31af7Sopenharmony_ci precision mediump int; 3124e5c31af7Sopenharmony_ci 3125e5c31af7Sopenharmony_ci ${DECLARATIONS} 3126e5c31af7Sopenharmony_ci 3127e5c31af7Sopenharmony_ci void main() 3128e5c31af7Sopenharmony_ci { 3129e5c31af7Sopenharmony_ci ${SETUP} 3130e5c31af7Sopenharmony_ci out0 = bvec2(in0); 3131e5c31af7Sopenharmony_ci ${OUTPUT} 3132e5c31af7Sopenharmony_ci } 3133e5c31af7Sopenharmony_ci "" 3134e5c31af7Sopenharmony_ci end 3135e5c31af7Sopenharmony_ci 3136e5c31af7Sopenharmony_ci 3137e5c31af7Sopenharmony_ciend # vector_to_vector 3138e5c31af7Sopenharmony_cigroup scalar_to_matrix "Scalar to Matrix Conversions" 3139e5c31af7Sopenharmony_ci 3140e5c31af7Sopenharmony_ci case float_to_mat4 3141e5c31af7Sopenharmony_ci values 3142e5c31af7Sopenharmony_ci { 3143e5c31af7Sopenharmony_ci input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 3144e5c31af7Sopenharmony_ci 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) ]; 3145e5c31af7Sopenharmony_ci } 3146e5c31af7Sopenharmony_ci 3147e5c31af7Sopenharmony_ci both "" 3148e5c31af7Sopenharmony_ci precision mediump float; 3149e5c31af7Sopenharmony_ci precision mediump int; 3150e5c31af7Sopenharmony_ci 3151e5c31af7Sopenharmony_ci ${DECLARATIONS} 3152e5c31af7Sopenharmony_ci 3153e5c31af7Sopenharmony_ci void main() 3154e5c31af7Sopenharmony_ci { 3155e5c31af7Sopenharmony_ci ${SETUP} 3156e5c31af7Sopenharmony_ci out0 = mat4(in0); 3157e5c31af7Sopenharmony_ci ${OUTPUT} 3158e5c31af7Sopenharmony_ci } 3159e5c31af7Sopenharmony_ci "" 3160e5c31af7Sopenharmony_ci end 3161e5c31af7Sopenharmony_ci 3162e5c31af7Sopenharmony_ci case float_to_mat3 3163e5c31af7Sopenharmony_ci values 3164e5c31af7Sopenharmony_ci { 3165e5c31af7Sopenharmony_ci input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 3166e5c31af7Sopenharmony_ci 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) ]; 3167e5c31af7Sopenharmony_ci } 3168e5c31af7Sopenharmony_ci 3169e5c31af7Sopenharmony_ci both "" 3170e5c31af7Sopenharmony_ci precision mediump float; 3171e5c31af7Sopenharmony_ci precision mediump int; 3172e5c31af7Sopenharmony_ci 3173e5c31af7Sopenharmony_ci ${DECLARATIONS} 3174e5c31af7Sopenharmony_ci 3175e5c31af7Sopenharmony_ci void main() 3176e5c31af7Sopenharmony_ci { 3177e5c31af7Sopenharmony_ci ${SETUP} 3178e5c31af7Sopenharmony_ci out0 = mat3(in0); 3179e5c31af7Sopenharmony_ci ${OUTPUT} 3180e5c31af7Sopenharmony_ci } 3181e5c31af7Sopenharmony_ci "" 3182e5c31af7Sopenharmony_ci end 3183e5c31af7Sopenharmony_ci 3184e5c31af7Sopenharmony_ci case float_to_mat2 3185e5c31af7Sopenharmony_ci values 3186e5c31af7Sopenharmony_ci { 3187e5c31af7Sopenharmony_ci input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 3188e5c31af7Sopenharmony_ci 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) ]; 3189e5c31af7Sopenharmony_ci } 3190e5c31af7Sopenharmony_ci 3191e5c31af7Sopenharmony_ci both "" 3192e5c31af7Sopenharmony_ci precision mediump float; 3193e5c31af7Sopenharmony_ci precision mediump int; 3194e5c31af7Sopenharmony_ci 3195e5c31af7Sopenharmony_ci ${DECLARATIONS} 3196e5c31af7Sopenharmony_ci 3197e5c31af7Sopenharmony_ci void main() 3198e5c31af7Sopenharmony_ci { 3199e5c31af7Sopenharmony_ci ${SETUP} 3200e5c31af7Sopenharmony_ci out0 = mat2(in0); 3201e5c31af7Sopenharmony_ci ${OUTPUT} 3202e5c31af7Sopenharmony_ci } 3203e5c31af7Sopenharmony_ci "" 3204e5c31af7Sopenharmony_ci end 3205e5c31af7Sopenharmony_ci 3206e5c31af7Sopenharmony_ci case int_to_mat4 3207e5c31af7Sopenharmony_ci values 3208e5c31af7Sopenharmony_ci { 3209e5c31af7Sopenharmony_ci input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 3210e5c31af7Sopenharmony_ci 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) ]; 3211e5c31af7Sopenharmony_ci } 3212e5c31af7Sopenharmony_ci 3213e5c31af7Sopenharmony_ci both "" 3214e5c31af7Sopenharmony_ci precision mediump float; 3215e5c31af7Sopenharmony_ci precision mediump int; 3216e5c31af7Sopenharmony_ci 3217e5c31af7Sopenharmony_ci ${DECLARATIONS} 3218e5c31af7Sopenharmony_ci 3219e5c31af7Sopenharmony_ci void main() 3220e5c31af7Sopenharmony_ci { 3221e5c31af7Sopenharmony_ci ${SETUP} 3222e5c31af7Sopenharmony_ci out0 = mat4(in0); 3223e5c31af7Sopenharmony_ci ${OUTPUT} 3224e5c31af7Sopenharmony_ci } 3225e5c31af7Sopenharmony_ci "" 3226e5c31af7Sopenharmony_ci end 3227e5c31af7Sopenharmony_ci 3228e5c31af7Sopenharmony_ci case int_to_mat3 3229e5c31af7Sopenharmony_ci values 3230e5c31af7Sopenharmony_ci { 3231e5c31af7Sopenharmony_ci input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 3232e5c31af7Sopenharmony_ci 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) ]; 3233e5c31af7Sopenharmony_ci } 3234e5c31af7Sopenharmony_ci 3235e5c31af7Sopenharmony_ci both "" 3236e5c31af7Sopenharmony_ci precision mediump float; 3237e5c31af7Sopenharmony_ci precision mediump int; 3238e5c31af7Sopenharmony_ci 3239e5c31af7Sopenharmony_ci ${DECLARATIONS} 3240e5c31af7Sopenharmony_ci 3241e5c31af7Sopenharmony_ci void main() 3242e5c31af7Sopenharmony_ci { 3243e5c31af7Sopenharmony_ci ${SETUP} 3244e5c31af7Sopenharmony_ci out0 = mat3(in0); 3245e5c31af7Sopenharmony_ci ${OUTPUT} 3246e5c31af7Sopenharmony_ci } 3247e5c31af7Sopenharmony_ci "" 3248e5c31af7Sopenharmony_ci end 3249e5c31af7Sopenharmony_ci 3250e5c31af7Sopenharmony_ci case int_to_mat2 3251e5c31af7Sopenharmony_ci values 3252e5c31af7Sopenharmony_ci { 3253e5c31af7Sopenharmony_ci input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 3254e5c31af7Sopenharmony_ci 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) ]; 3255e5c31af7Sopenharmony_ci } 3256e5c31af7Sopenharmony_ci 3257e5c31af7Sopenharmony_ci both "" 3258e5c31af7Sopenharmony_ci precision mediump float; 3259e5c31af7Sopenharmony_ci precision mediump int; 3260e5c31af7Sopenharmony_ci 3261e5c31af7Sopenharmony_ci ${DECLARATIONS} 3262e5c31af7Sopenharmony_ci 3263e5c31af7Sopenharmony_ci void main() 3264e5c31af7Sopenharmony_ci { 3265e5c31af7Sopenharmony_ci ${SETUP} 3266e5c31af7Sopenharmony_ci out0 = mat2(in0); 3267e5c31af7Sopenharmony_ci ${OUTPUT} 3268e5c31af7Sopenharmony_ci } 3269e5c31af7Sopenharmony_ci "" 3270e5c31af7Sopenharmony_ci end 3271e5c31af7Sopenharmony_ci 3272e5c31af7Sopenharmony_ci case bool_to_mat4 3273e5c31af7Sopenharmony_ci values 3274e5c31af7Sopenharmony_ci { 3275e5c31af7Sopenharmony_ci input bool in0 = [ true | false ]; 3276e5c31af7Sopenharmony_ci 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) ]; 3277e5c31af7Sopenharmony_ci } 3278e5c31af7Sopenharmony_ci 3279e5c31af7Sopenharmony_ci both "" 3280e5c31af7Sopenharmony_ci precision mediump float; 3281e5c31af7Sopenharmony_ci precision mediump int; 3282e5c31af7Sopenharmony_ci 3283e5c31af7Sopenharmony_ci ${DECLARATIONS} 3284e5c31af7Sopenharmony_ci 3285e5c31af7Sopenharmony_ci void main() 3286e5c31af7Sopenharmony_ci { 3287e5c31af7Sopenharmony_ci ${SETUP} 3288e5c31af7Sopenharmony_ci out0 = mat4(in0); 3289e5c31af7Sopenharmony_ci ${OUTPUT} 3290e5c31af7Sopenharmony_ci } 3291e5c31af7Sopenharmony_ci "" 3292e5c31af7Sopenharmony_ci end 3293e5c31af7Sopenharmony_ci 3294e5c31af7Sopenharmony_ci case bool_to_mat3 3295e5c31af7Sopenharmony_ci values 3296e5c31af7Sopenharmony_ci { 3297e5c31af7Sopenharmony_ci input bool in0 = [ true | false ]; 3298e5c31af7Sopenharmony_ci 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) ]; 3299e5c31af7Sopenharmony_ci } 3300e5c31af7Sopenharmony_ci 3301e5c31af7Sopenharmony_ci both "" 3302e5c31af7Sopenharmony_ci precision mediump float; 3303e5c31af7Sopenharmony_ci precision mediump int; 3304e5c31af7Sopenharmony_ci 3305e5c31af7Sopenharmony_ci ${DECLARATIONS} 3306e5c31af7Sopenharmony_ci 3307e5c31af7Sopenharmony_ci void main() 3308e5c31af7Sopenharmony_ci { 3309e5c31af7Sopenharmony_ci ${SETUP} 3310e5c31af7Sopenharmony_ci out0 = mat3(in0); 3311e5c31af7Sopenharmony_ci ${OUTPUT} 3312e5c31af7Sopenharmony_ci } 3313e5c31af7Sopenharmony_ci "" 3314e5c31af7Sopenharmony_ci end 3315e5c31af7Sopenharmony_ci 3316e5c31af7Sopenharmony_ci case bool_to_mat2 3317e5c31af7Sopenharmony_ci values 3318e5c31af7Sopenharmony_ci { 3319e5c31af7Sopenharmony_ci input bool in0 = [ true | false ]; 3320e5c31af7Sopenharmony_ci output mat2 out0 = [ mat2(1.0, 0.0, 0.0, 1.0) | mat2(0.0, 0.0, 0.0, 0.0) ]; 3321e5c31af7Sopenharmony_ci } 3322e5c31af7Sopenharmony_ci 3323e5c31af7Sopenharmony_ci both "" 3324e5c31af7Sopenharmony_ci precision mediump float; 3325e5c31af7Sopenharmony_ci precision mediump int; 3326e5c31af7Sopenharmony_ci 3327e5c31af7Sopenharmony_ci ${DECLARATIONS} 3328e5c31af7Sopenharmony_ci 3329e5c31af7Sopenharmony_ci void main() 3330e5c31af7Sopenharmony_ci { 3331e5c31af7Sopenharmony_ci ${SETUP} 3332e5c31af7Sopenharmony_ci out0 = mat2(in0); 3333e5c31af7Sopenharmony_ci ${OUTPUT} 3334e5c31af7Sopenharmony_ci } 3335e5c31af7Sopenharmony_ci "" 3336e5c31af7Sopenharmony_ci end 3337e5c31af7Sopenharmony_ci 3338e5c31af7Sopenharmony_ci 3339e5c31af7Sopenharmony_ciend # scalar_to_matrix 3340e5c31af7Sopenharmony_cigroup matrix_to_matrix "Matrix to Matrix Conversions" 3341e5c31af7Sopenharmony_ci 3342e5c31af7Sopenharmony_ci case mat4_to_mat4 3343e5c31af7Sopenharmony_ci values 3344e5c31af7Sopenharmony_ci { 3345e5c31af7Sopenharmony_ci 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) ]; 3346e5c31af7Sopenharmony_ci 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) ]; 3347e5c31af7Sopenharmony_ci } 3348e5c31af7Sopenharmony_ci 3349e5c31af7Sopenharmony_ci both "" 3350e5c31af7Sopenharmony_ci precision mediump float; 3351e5c31af7Sopenharmony_ci precision mediump int; 3352e5c31af7Sopenharmony_ci 3353e5c31af7Sopenharmony_ci ${DECLARATIONS} 3354e5c31af7Sopenharmony_ci 3355e5c31af7Sopenharmony_ci void main() 3356e5c31af7Sopenharmony_ci { 3357e5c31af7Sopenharmony_ci ${SETUP} 3358e5c31af7Sopenharmony_ci out0 = mat4(in0); 3359e5c31af7Sopenharmony_ci ${OUTPUT} 3360e5c31af7Sopenharmony_ci } 3361e5c31af7Sopenharmony_ci "" 3362e5c31af7Sopenharmony_ci end 3363e5c31af7Sopenharmony_ci 3364e5c31af7Sopenharmony_ci case mat4_to_mat3 3365e5c31af7Sopenharmony_ci values 3366e5c31af7Sopenharmony_ci { 3367e5c31af7Sopenharmony_ci 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) ]; 3368e5c31af7Sopenharmony_ci 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) ]; 3369e5c31af7Sopenharmony_ci } 3370e5c31af7Sopenharmony_ci 3371e5c31af7Sopenharmony_ci both "" 3372e5c31af7Sopenharmony_ci precision mediump float; 3373e5c31af7Sopenharmony_ci precision mediump int; 3374e5c31af7Sopenharmony_ci 3375e5c31af7Sopenharmony_ci ${DECLARATIONS} 3376e5c31af7Sopenharmony_ci 3377e5c31af7Sopenharmony_ci void main() 3378e5c31af7Sopenharmony_ci { 3379e5c31af7Sopenharmony_ci ${SETUP} 3380e5c31af7Sopenharmony_ci out0 = mat3(in0); 3381e5c31af7Sopenharmony_ci ${OUTPUT} 3382e5c31af7Sopenharmony_ci } 3383e5c31af7Sopenharmony_ci "" 3384e5c31af7Sopenharmony_ci end 3385e5c31af7Sopenharmony_ci 3386e5c31af7Sopenharmony_ci case mat4_to_mat2 3387e5c31af7Sopenharmony_ci values 3388e5c31af7Sopenharmony_ci { 3389e5c31af7Sopenharmony_ci 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) ]; 3390e5c31af7Sopenharmony_ci output mat2 out0 = [ mat2(1.0, 0.0, 0.0, 1.0) | mat2(6.5, 32.0, 12.5, 0.0208333333333) ]; 3391e5c31af7Sopenharmony_ci } 3392e5c31af7Sopenharmony_ci 3393e5c31af7Sopenharmony_ci both "" 3394e5c31af7Sopenharmony_ci precision mediump float; 3395e5c31af7Sopenharmony_ci precision mediump int; 3396e5c31af7Sopenharmony_ci 3397e5c31af7Sopenharmony_ci ${DECLARATIONS} 3398e5c31af7Sopenharmony_ci 3399e5c31af7Sopenharmony_ci void main() 3400e5c31af7Sopenharmony_ci { 3401e5c31af7Sopenharmony_ci ${SETUP} 3402e5c31af7Sopenharmony_ci out0 = mat2(in0); 3403e5c31af7Sopenharmony_ci ${OUTPUT} 3404e5c31af7Sopenharmony_ci } 3405e5c31af7Sopenharmony_ci "" 3406e5c31af7Sopenharmony_ci end 3407e5c31af7Sopenharmony_ci 3408e5c31af7Sopenharmony_ci case mat3_to_mat4 3409e5c31af7Sopenharmony_ci values 3410e5c31af7Sopenharmony_ci { 3411e5c31af7Sopenharmony_ci 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) ]; 3412e5c31af7Sopenharmony_ci 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) ]; 3413e5c31af7Sopenharmony_ci } 3414e5c31af7Sopenharmony_ci 3415e5c31af7Sopenharmony_ci both "" 3416e5c31af7Sopenharmony_ci precision mediump float; 3417e5c31af7Sopenharmony_ci precision mediump int; 3418e5c31af7Sopenharmony_ci 3419e5c31af7Sopenharmony_ci ${DECLARATIONS} 3420e5c31af7Sopenharmony_ci 3421e5c31af7Sopenharmony_ci void main() 3422e5c31af7Sopenharmony_ci { 3423e5c31af7Sopenharmony_ci ${SETUP} 3424e5c31af7Sopenharmony_ci out0 = mat4(in0); 3425e5c31af7Sopenharmony_ci ${OUTPUT} 3426e5c31af7Sopenharmony_ci } 3427e5c31af7Sopenharmony_ci "" 3428e5c31af7Sopenharmony_ci end 3429e5c31af7Sopenharmony_ci 3430e5c31af7Sopenharmony_ci case mat3_to_mat3 3431e5c31af7Sopenharmony_ci values 3432e5c31af7Sopenharmony_ci { 3433e5c31af7Sopenharmony_ci 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) ]; 3434e5c31af7Sopenharmony_ci 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) ]; 3435e5c31af7Sopenharmony_ci } 3436e5c31af7Sopenharmony_ci 3437e5c31af7Sopenharmony_ci both "" 3438e5c31af7Sopenharmony_ci precision mediump float; 3439e5c31af7Sopenharmony_ci precision mediump int; 3440e5c31af7Sopenharmony_ci 3441e5c31af7Sopenharmony_ci ${DECLARATIONS} 3442e5c31af7Sopenharmony_ci 3443e5c31af7Sopenharmony_ci void main() 3444e5c31af7Sopenharmony_ci { 3445e5c31af7Sopenharmony_ci ${SETUP} 3446e5c31af7Sopenharmony_ci out0 = mat3(in0); 3447e5c31af7Sopenharmony_ci ${OUTPUT} 3448e5c31af7Sopenharmony_ci } 3449e5c31af7Sopenharmony_ci "" 3450e5c31af7Sopenharmony_ci end 3451e5c31af7Sopenharmony_ci 3452e5c31af7Sopenharmony_ci case mat3_to_mat2 3453e5c31af7Sopenharmony_ci values 3454e5c31af7Sopenharmony_ci { 3455e5c31af7Sopenharmony_ci 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) ]; 3456e5c31af7Sopenharmony_ci output mat2 out0 = [ mat2(1.0, 0.0, 0.0, 1.0) | mat2(6.5, 32.0, 12.5, 0.03125) ]; 3457e5c31af7Sopenharmony_ci } 3458e5c31af7Sopenharmony_ci 3459e5c31af7Sopenharmony_ci both "" 3460e5c31af7Sopenharmony_ci precision mediump float; 3461e5c31af7Sopenharmony_ci precision mediump int; 3462e5c31af7Sopenharmony_ci 3463e5c31af7Sopenharmony_ci ${DECLARATIONS} 3464e5c31af7Sopenharmony_ci 3465e5c31af7Sopenharmony_ci void main() 3466e5c31af7Sopenharmony_ci { 3467e5c31af7Sopenharmony_ci ${SETUP} 3468e5c31af7Sopenharmony_ci out0 = mat2(in0); 3469e5c31af7Sopenharmony_ci ${OUTPUT} 3470e5c31af7Sopenharmony_ci } 3471e5c31af7Sopenharmony_ci "" 3472e5c31af7Sopenharmony_ci end 3473e5c31af7Sopenharmony_ci 3474e5c31af7Sopenharmony_ci case mat2_to_mat4 3475e5c31af7Sopenharmony_ci values 3476e5c31af7Sopenharmony_ci { 3477e5c31af7Sopenharmony_ci 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) ]; 3478e5c31af7Sopenharmony_ci 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) ]; 3479e5c31af7Sopenharmony_ci } 3480e5c31af7Sopenharmony_ci 3481e5c31af7Sopenharmony_ci both "" 3482e5c31af7Sopenharmony_ci precision mediump float; 3483e5c31af7Sopenharmony_ci precision mediump int; 3484e5c31af7Sopenharmony_ci 3485e5c31af7Sopenharmony_ci ${DECLARATIONS} 3486e5c31af7Sopenharmony_ci 3487e5c31af7Sopenharmony_ci void main() 3488e5c31af7Sopenharmony_ci { 3489e5c31af7Sopenharmony_ci ${SETUP} 3490e5c31af7Sopenharmony_ci out0 = mat4(in0); 3491e5c31af7Sopenharmony_ci ${OUTPUT} 3492e5c31af7Sopenharmony_ci } 3493e5c31af7Sopenharmony_ci "" 3494e5c31af7Sopenharmony_ci end 3495e5c31af7Sopenharmony_ci 3496e5c31af7Sopenharmony_ci case mat2_to_mat3 3497e5c31af7Sopenharmony_ci values 3498e5c31af7Sopenharmony_ci { 3499e5c31af7Sopenharmony_ci 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) ]; 3500e5c31af7Sopenharmony_ci 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) ]; 3501e5c31af7Sopenharmony_ci } 3502e5c31af7Sopenharmony_ci 3503e5c31af7Sopenharmony_ci both "" 3504e5c31af7Sopenharmony_ci precision mediump float; 3505e5c31af7Sopenharmony_ci precision mediump int; 3506e5c31af7Sopenharmony_ci 3507e5c31af7Sopenharmony_ci ${DECLARATIONS} 3508e5c31af7Sopenharmony_ci 3509e5c31af7Sopenharmony_ci void main() 3510e5c31af7Sopenharmony_ci { 3511e5c31af7Sopenharmony_ci ${SETUP} 3512e5c31af7Sopenharmony_ci out0 = mat3(in0); 3513e5c31af7Sopenharmony_ci ${OUTPUT} 3514e5c31af7Sopenharmony_ci } 3515e5c31af7Sopenharmony_ci "" 3516e5c31af7Sopenharmony_ci end 3517e5c31af7Sopenharmony_ci 3518e5c31af7Sopenharmony_ci case mat2_to_mat2 3519e5c31af7Sopenharmony_ci values 3520e5c31af7Sopenharmony_ci { 3521e5c31af7Sopenharmony_ci 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) ]; 3522e5c31af7Sopenharmony_ci 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) ]; 3523e5c31af7Sopenharmony_ci } 3524e5c31af7Sopenharmony_ci 3525e5c31af7Sopenharmony_ci both "" 3526e5c31af7Sopenharmony_ci precision mediump float; 3527e5c31af7Sopenharmony_ci precision mediump int; 3528e5c31af7Sopenharmony_ci 3529e5c31af7Sopenharmony_ci ${DECLARATIONS} 3530e5c31af7Sopenharmony_ci 3531e5c31af7Sopenharmony_ci void main() 3532e5c31af7Sopenharmony_ci { 3533e5c31af7Sopenharmony_ci ${SETUP} 3534e5c31af7Sopenharmony_ci out0 = mat2(in0); 3535e5c31af7Sopenharmony_ci ${OUTPUT} 3536e5c31af7Sopenharmony_ci } 3537e5c31af7Sopenharmony_ci "" 3538e5c31af7Sopenharmony_ci end 3539e5c31af7Sopenharmony_ci 3540e5c31af7Sopenharmony_ci 3541e5c31af7Sopenharmony_ciend # matrix_to_matrix 3542e5c31af7Sopenharmony_cigroup vector_combine "Vector Combine Constructors" 3543e5c31af7Sopenharmony_ci 3544e5c31af7Sopenharmony_ci case vec2_vec2_to_vec4 3545e5c31af7Sopenharmony_ci values 3546e5c31af7Sopenharmony_ci { 3547e5c31af7Sopenharmony_ci 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) ]; 3548e5c31af7Sopenharmony_ci 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) ]; 3549e5c31af7Sopenharmony_ci 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) ]; 3550e5c31af7Sopenharmony_ci } 3551e5c31af7Sopenharmony_ci 3552e5c31af7Sopenharmony_ci both "" 3553e5c31af7Sopenharmony_ci precision mediump float; 3554e5c31af7Sopenharmony_ci precision mediump int; 3555e5c31af7Sopenharmony_ci 3556e5c31af7Sopenharmony_ci ${DECLARATIONS} 3557e5c31af7Sopenharmony_ci 3558e5c31af7Sopenharmony_ci void main() 3559e5c31af7Sopenharmony_ci { 3560e5c31af7Sopenharmony_ci ${SETUP} 3561e5c31af7Sopenharmony_ci out0 = vec4(in0, in1); 3562e5c31af7Sopenharmony_ci ${OUTPUT} 3563e5c31af7Sopenharmony_ci } 3564e5c31af7Sopenharmony_ci "" 3565e5c31af7Sopenharmony_ci end 3566e5c31af7Sopenharmony_ci 3567e5c31af7Sopenharmony_ci case vec2_vec2_to_ivec4 3568e5c31af7Sopenharmony_ci values 3569e5c31af7Sopenharmony_ci { 3570e5c31af7Sopenharmony_ci 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) ]; 3571e5c31af7Sopenharmony_ci 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) ]; 3572e5c31af7Sopenharmony_ci 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) ]; 3573e5c31af7Sopenharmony_ci } 3574e5c31af7Sopenharmony_ci 3575e5c31af7Sopenharmony_ci both "" 3576e5c31af7Sopenharmony_ci precision mediump float; 3577e5c31af7Sopenharmony_ci precision mediump int; 3578e5c31af7Sopenharmony_ci 3579e5c31af7Sopenharmony_ci ${DECLARATIONS} 3580e5c31af7Sopenharmony_ci 3581e5c31af7Sopenharmony_ci void main() 3582e5c31af7Sopenharmony_ci { 3583e5c31af7Sopenharmony_ci ${SETUP} 3584e5c31af7Sopenharmony_ci out0 = ivec4(in0, in1); 3585e5c31af7Sopenharmony_ci ${OUTPUT} 3586e5c31af7Sopenharmony_ci } 3587e5c31af7Sopenharmony_ci "" 3588e5c31af7Sopenharmony_ci end 3589e5c31af7Sopenharmony_ci 3590e5c31af7Sopenharmony_ci case vec2_vec2_to_bvec4 3591e5c31af7Sopenharmony_ci values 3592e5c31af7Sopenharmony_ci { 3593e5c31af7Sopenharmony_ci 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) ]; 3594e5c31af7Sopenharmony_ci 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) ]; 3595e5c31af7Sopenharmony_ci 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) ]; 3596e5c31af7Sopenharmony_ci } 3597e5c31af7Sopenharmony_ci 3598e5c31af7Sopenharmony_ci both "" 3599e5c31af7Sopenharmony_ci precision mediump float; 3600e5c31af7Sopenharmony_ci precision mediump int; 3601e5c31af7Sopenharmony_ci 3602e5c31af7Sopenharmony_ci ${DECLARATIONS} 3603e5c31af7Sopenharmony_ci 3604e5c31af7Sopenharmony_ci void main() 3605e5c31af7Sopenharmony_ci { 3606e5c31af7Sopenharmony_ci ${SETUP} 3607e5c31af7Sopenharmony_ci out0 = bvec4(in0, in1); 3608e5c31af7Sopenharmony_ci ${OUTPUT} 3609e5c31af7Sopenharmony_ci } 3610e5c31af7Sopenharmony_ci "" 3611e5c31af7Sopenharmony_ci end 3612e5c31af7Sopenharmony_ci 3613e5c31af7Sopenharmony_ci case bvec2_bvec2_to_vec4 3614e5c31af7Sopenharmony_ci values 3615e5c31af7Sopenharmony_ci { 3616e5c31af7Sopenharmony_ci input bvec2 in0 = [ bvec2(false, false) | bvec2(true, false) | bvec2(false, true) | bvec2(false, false) | bvec2(true, true) ]; 3617e5c31af7Sopenharmony_ci input bvec2 in1 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 3618e5c31af7Sopenharmony_ci 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) ]; 3619e5c31af7Sopenharmony_ci } 3620e5c31af7Sopenharmony_ci 3621e5c31af7Sopenharmony_ci both "" 3622e5c31af7Sopenharmony_ci precision mediump float; 3623e5c31af7Sopenharmony_ci precision mediump int; 3624e5c31af7Sopenharmony_ci 3625e5c31af7Sopenharmony_ci ${DECLARATIONS} 3626e5c31af7Sopenharmony_ci 3627e5c31af7Sopenharmony_ci void main() 3628e5c31af7Sopenharmony_ci { 3629e5c31af7Sopenharmony_ci ${SETUP} 3630e5c31af7Sopenharmony_ci out0 = vec4(in0, in1); 3631e5c31af7Sopenharmony_ci ${OUTPUT} 3632e5c31af7Sopenharmony_ci } 3633e5c31af7Sopenharmony_ci "" 3634e5c31af7Sopenharmony_ci end 3635e5c31af7Sopenharmony_ci 3636e5c31af7Sopenharmony_ci case bvec2_bvec2_to_ivec4 3637e5c31af7Sopenharmony_ci values 3638e5c31af7Sopenharmony_ci { 3639e5c31af7Sopenharmony_ci input bvec2 in0 = [ bvec2(false, false) | bvec2(true, false) | bvec2(false, true) | bvec2(false, false) | bvec2(true, true) ]; 3640e5c31af7Sopenharmony_ci input bvec2 in1 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 3641e5c31af7Sopenharmony_ci 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) ]; 3642e5c31af7Sopenharmony_ci } 3643e5c31af7Sopenharmony_ci 3644e5c31af7Sopenharmony_ci both "" 3645e5c31af7Sopenharmony_ci precision mediump float; 3646e5c31af7Sopenharmony_ci precision mediump int; 3647e5c31af7Sopenharmony_ci 3648e5c31af7Sopenharmony_ci ${DECLARATIONS} 3649e5c31af7Sopenharmony_ci 3650e5c31af7Sopenharmony_ci void main() 3651e5c31af7Sopenharmony_ci { 3652e5c31af7Sopenharmony_ci ${SETUP} 3653e5c31af7Sopenharmony_ci out0 = ivec4(in0, in1); 3654e5c31af7Sopenharmony_ci ${OUTPUT} 3655e5c31af7Sopenharmony_ci } 3656e5c31af7Sopenharmony_ci "" 3657e5c31af7Sopenharmony_ci end 3658e5c31af7Sopenharmony_ci 3659e5c31af7Sopenharmony_ci case bvec2_bvec2_to_bvec4 3660e5c31af7Sopenharmony_ci values 3661e5c31af7Sopenharmony_ci { 3662e5c31af7Sopenharmony_ci input bvec2 in0 = [ bvec2(false, false) | bvec2(true, false) | bvec2(false, true) | bvec2(false, false) | bvec2(true, true) ]; 3663e5c31af7Sopenharmony_ci input bvec2 in1 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 3664e5c31af7Sopenharmony_ci 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) ]; 3665e5c31af7Sopenharmony_ci } 3666e5c31af7Sopenharmony_ci 3667e5c31af7Sopenharmony_ci both "" 3668e5c31af7Sopenharmony_ci precision mediump float; 3669e5c31af7Sopenharmony_ci precision mediump int; 3670e5c31af7Sopenharmony_ci 3671e5c31af7Sopenharmony_ci ${DECLARATIONS} 3672e5c31af7Sopenharmony_ci 3673e5c31af7Sopenharmony_ci void main() 3674e5c31af7Sopenharmony_ci { 3675e5c31af7Sopenharmony_ci ${SETUP} 3676e5c31af7Sopenharmony_ci out0 = bvec4(in0, in1); 3677e5c31af7Sopenharmony_ci ${OUTPUT} 3678e5c31af7Sopenharmony_ci } 3679e5c31af7Sopenharmony_ci "" 3680e5c31af7Sopenharmony_ci end 3681e5c31af7Sopenharmony_ci 3682e5c31af7Sopenharmony_ci case float_float_float_float_to_vec4 3683e5c31af7Sopenharmony_ci values 3684e5c31af7Sopenharmony_ci { 3685e5c31af7Sopenharmony_ci input float in0 = [ 1.0 | 0.0 | -0.5 | -8.25 | 3.5 | -20.125 | 36.8125 | 2.0 ]; 3686e5c31af7Sopenharmony_ci input float in1 = [ 0.0 | 36.8125 | -8.25 | 2.0 | 3.5 | 1.0 | -20.125 | -0.5 ]; 3687e5c31af7Sopenharmony_ci input float in2 = [ 3.5 | 36.8125 | -8.25 | 1.0 | 2.0 | 0.0 | -20.125 | -0.5 ]; 3688e5c31af7Sopenharmony_ci input float in3 = [ 3.5 | 36.8125 | 1.0 | -8.25 | 2.0 | 0.0 | -0.5 | -20.125 ]; 3689e5c31af7Sopenharmony_ci 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) ]; 3690e5c31af7Sopenharmony_ci } 3691e5c31af7Sopenharmony_ci 3692e5c31af7Sopenharmony_ci both "" 3693e5c31af7Sopenharmony_ci precision mediump float; 3694e5c31af7Sopenharmony_ci precision mediump int; 3695e5c31af7Sopenharmony_ci 3696e5c31af7Sopenharmony_ci ${DECLARATIONS} 3697e5c31af7Sopenharmony_ci 3698e5c31af7Sopenharmony_ci void main() 3699e5c31af7Sopenharmony_ci { 3700e5c31af7Sopenharmony_ci ${SETUP} 3701e5c31af7Sopenharmony_ci out0 = vec4(in0, in1, in2, in3); 3702e5c31af7Sopenharmony_ci ${OUTPUT} 3703e5c31af7Sopenharmony_ci } 3704e5c31af7Sopenharmony_ci "" 3705e5c31af7Sopenharmony_ci end 3706e5c31af7Sopenharmony_ci 3707e5c31af7Sopenharmony_ci case float_float_float_float_to_ivec4 3708e5c31af7Sopenharmony_ci values 3709e5c31af7Sopenharmony_ci { 3710e5c31af7Sopenharmony_ci input float in0 = [ 1.0 | 0.0 | -0.5 | -8.25 | 3.5 | -20.125 | 36.8125 | 2.0 ]; 3711e5c31af7Sopenharmony_ci input float in1 = [ 0.0 | 36.8125 | -8.25 | 2.0 | 3.5 | 1.0 | -20.125 | -0.5 ]; 3712e5c31af7Sopenharmony_ci input float in2 = [ 3.5 | 36.8125 | -8.25 | 1.0 | 2.0 | 0.0 | -20.125 | -0.5 ]; 3713e5c31af7Sopenharmony_ci input float in3 = [ 3.5 | 36.8125 | 1.0 | -8.25 | 2.0 | 0.0 | -0.5 | -20.125 ]; 3714e5c31af7Sopenharmony_ci 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) ]; 3715e5c31af7Sopenharmony_ci } 3716e5c31af7Sopenharmony_ci 3717e5c31af7Sopenharmony_ci both "" 3718e5c31af7Sopenharmony_ci precision mediump float; 3719e5c31af7Sopenharmony_ci precision mediump int; 3720e5c31af7Sopenharmony_ci 3721e5c31af7Sopenharmony_ci ${DECLARATIONS} 3722e5c31af7Sopenharmony_ci 3723e5c31af7Sopenharmony_ci void main() 3724e5c31af7Sopenharmony_ci { 3725e5c31af7Sopenharmony_ci ${SETUP} 3726e5c31af7Sopenharmony_ci out0 = ivec4(in0, in1, in2, in3); 3727e5c31af7Sopenharmony_ci ${OUTPUT} 3728e5c31af7Sopenharmony_ci } 3729e5c31af7Sopenharmony_ci "" 3730e5c31af7Sopenharmony_ci end 3731e5c31af7Sopenharmony_ci 3732e5c31af7Sopenharmony_ci case float_float_float_float_to_bvec4 3733e5c31af7Sopenharmony_ci values 3734e5c31af7Sopenharmony_ci { 3735e5c31af7Sopenharmony_ci input float in0 = [ 1.0 | 0.0 | -0.5 | -8.25 | 3.5 | -20.125 | 36.8125 | 2.0 ]; 3736e5c31af7Sopenharmony_ci input float in1 = [ 0.0 | 36.8125 | -8.25 | 2.0 | 3.5 | 1.0 | -20.125 | -0.5 ]; 3737e5c31af7Sopenharmony_ci input float in2 = [ 3.5 | 36.8125 | -8.25 | 1.0 | 2.0 | 0.0 | -20.125 | -0.5 ]; 3738e5c31af7Sopenharmony_ci input float in3 = [ 3.5 | 36.8125 | 1.0 | -8.25 | 2.0 | 0.0 | -0.5 | -20.125 ]; 3739e5c31af7Sopenharmony_ci 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) ]; 3740e5c31af7Sopenharmony_ci } 3741e5c31af7Sopenharmony_ci 3742e5c31af7Sopenharmony_ci both "" 3743e5c31af7Sopenharmony_ci precision mediump float; 3744e5c31af7Sopenharmony_ci precision mediump int; 3745e5c31af7Sopenharmony_ci 3746e5c31af7Sopenharmony_ci ${DECLARATIONS} 3747e5c31af7Sopenharmony_ci 3748e5c31af7Sopenharmony_ci void main() 3749e5c31af7Sopenharmony_ci { 3750e5c31af7Sopenharmony_ci ${SETUP} 3751e5c31af7Sopenharmony_ci out0 = bvec4(in0, in1, in2, in3); 3752e5c31af7Sopenharmony_ci ${OUTPUT} 3753e5c31af7Sopenharmony_ci } 3754e5c31af7Sopenharmony_ci "" 3755e5c31af7Sopenharmony_ci end 3756e5c31af7Sopenharmony_ci 3757e5c31af7Sopenharmony_ci case int_int_int_int_to_vec4 3758e5c31af7Sopenharmony_ci values 3759e5c31af7Sopenharmony_ci { 3760e5c31af7Sopenharmony_ci input int in0 = [ -12 | -66 | 2 | 5 | 8 | -192 | 255 | 1 | 0 | 11 ]; 3761e5c31af7Sopenharmony_ci input int in1 = [ 2 | 5 | -66 | 11 | -192 | 8 | -12 | 1 | 255 | 0 ]; 3762e5c31af7Sopenharmony_ci input int in2 = [ 11 | 255 | 5 | 8 | 2 | -192 | -12 | -66 | 1 | 0 ]; 3763e5c31af7Sopenharmony_ci input int in3 = [ -192 | -66 | 8 | -12 | 1 | 2 | 0 | 255 | 5 | 11 ]; 3764e5c31af7Sopenharmony_ci 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) ]; 3765e5c31af7Sopenharmony_ci } 3766e5c31af7Sopenharmony_ci 3767e5c31af7Sopenharmony_ci both "" 3768e5c31af7Sopenharmony_ci precision mediump float; 3769e5c31af7Sopenharmony_ci precision mediump int; 3770e5c31af7Sopenharmony_ci 3771e5c31af7Sopenharmony_ci ${DECLARATIONS} 3772e5c31af7Sopenharmony_ci 3773e5c31af7Sopenharmony_ci void main() 3774e5c31af7Sopenharmony_ci { 3775e5c31af7Sopenharmony_ci ${SETUP} 3776e5c31af7Sopenharmony_ci out0 = vec4(in0, in1, in2, in3); 3777e5c31af7Sopenharmony_ci ${OUTPUT} 3778e5c31af7Sopenharmony_ci } 3779e5c31af7Sopenharmony_ci "" 3780e5c31af7Sopenharmony_ci end 3781e5c31af7Sopenharmony_ci 3782e5c31af7Sopenharmony_ci case int_int_int_int_to_ivec4 3783e5c31af7Sopenharmony_ci values 3784e5c31af7Sopenharmony_ci { 3785e5c31af7Sopenharmony_ci input int in0 = [ -12 | -66 | 2 | 5 | 8 | -192 | 255 | 1 | 0 | 11 ]; 3786e5c31af7Sopenharmony_ci input int in1 = [ 2 | 5 | -66 | 11 | -192 | 8 | -12 | 1 | 255 | 0 ]; 3787e5c31af7Sopenharmony_ci input int in2 = [ 11 | 255 | 5 | 8 | 2 | -192 | -12 | -66 | 1 | 0 ]; 3788e5c31af7Sopenharmony_ci input int in3 = [ -192 | -66 | 8 | -12 | 1 | 2 | 0 | 255 | 5 | 11 ]; 3789e5c31af7Sopenharmony_ci 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) ]; 3790e5c31af7Sopenharmony_ci } 3791e5c31af7Sopenharmony_ci 3792e5c31af7Sopenharmony_ci both "" 3793e5c31af7Sopenharmony_ci precision mediump float; 3794e5c31af7Sopenharmony_ci precision mediump int; 3795e5c31af7Sopenharmony_ci 3796e5c31af7Sopenharmony_ci ${DECLARATIONS} 3797e5c31af7Sopenharmony_ci 3798e5c31af7Sopenharmony_ci void main() 3799e5c31af7Sopenharmony_ci { 3800e5c31af7Sopenharmony_ci ${SETUP} 3801e5c31af7Sopenharmony_ci out0 = ivec4(in0, in1, in2, in3); 3802e5c31af7Sopenharmony_ci ${OUTPUT} 3803e5c31af7Sopenharmony_ci } 3804e5c31af7Sopenharmony_ci "" 3805e5c31af7Sopenharmony_ci end 3806e5c31af7Sopenharmony_ci 3807e5c31af7Sopenharmony_ci case int_int_int_int_to_bvec4 3808e5c31af7Sopenharmony_ci values 3809e5c31af7Sopenharmony_ci { 3810e5c31af7Sopenharmony_ci input int in0 = [ -12 | -66 | 2 | 5 | 8 | -192 | 255 | 1 | 0 | 11 ]; 3811e5c31af7Sopenharmony_ci input int in1 = [ 2 | 5 | -66 | 11 | -192 | 8 | -12 | 1 | 255 | 0 ]; 3812e5c31af7Sopenharmony_ci input int in2 = [ 11 | 255 | 5 | 8 | 2 | -192 | -12 | -66 | 1 | 0 ]; 3813e5c31af7Sopenharmony_ci input int in3 = [ -192 | -66 | 8 | -12 | 1 | 2 | 0 | 255 | 5 | 11 ]; 3814e5c31af7Sopenharmony_ci 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) ]; 3815e5c31af7Sopenharmony_ci } 3816e5c31af7Sopenharmony_ci 3817e5c31af7Sopenharmony_ci both "" 3818e5c31af7Sopenharmony_ci precision mediump float; 3819e5c31af7Sopenharmony_ci precision mediump int; 3820e5c31af7Sopenharmony_ci 3821e5c31af7Sopenharmony_ci ${DECLARATIONS} 3822e5c31af7Sopenharmony_ci 3823e5c31af7Sopenharmony_ci void main() 3824e5c31af7Sopenharmony_ci { 3825e5c31af7Sopenharmony_ci ${SETUP} 3826e5c31af7Sopenharmony_ci out0 = bvec4(in0, in1, in2, in3); 3827e5c31af7Sopenharmony_ci ${OUTPUT} 3828e5c31af7Sopenharmony_ci } 3829e5c31af7Sopenharmony_ci "" 3830e5c31af7Sopenharmony_ci end 3831e5c31af7Sopenharmony_ci 3832e5c31af7Sopenharmony_ci case bool_bool_bool_bool_to_vec4 3833e5c31af7Sopenharmony_ci values 3834e5c31af7Sopenharmony_ci { 3835e5c31af7Sopenharmony_ci input bool in0 = [ true | false ]; 3836e5c31af7Sopenharmony_ci input bool in1 = [ false | true ]; 3837e5c31af7Sopenharmony_ci input bool in2 = [ true | false ]; 3838e5c31af7Sopenharmony_ci input bool in3 = [ false | true ]; 3839e5c31af7Sopenharmony_ci output vec4 out0 = [ vec4(1.0, 0.0, 1.0, 0.0) | vec4(0.0, 1.0, 0.0, 1.0) ]; 3840e5c31af7Sopenharmony_ci } 3841e5c31af7Sopenharmony_ci 3842e5c31af7Sopenharmony_ci both "" 3843e5c31af7Sopenharmony_ci precision mediump float; 3844e5c31af7Sopenharmony_ci precision mediump int; 3845e5c31af7Sopenharmony_ci 3846e5c31af7Sopenharmony_ci ${DECLARATIONS} 3847e5c31af7Sopenharmony_ci 3848e5c31af7Sopenharmony_ci void main() 3849e5c31af7Sopenharmony_ci { 3850e5c31af7Sopenharmony_ci ${SETUP} 3851e5c31af7Sopenharmony_ci out0 = vec4(in0, in1, in2, in3); 3852e5c31af7Sopenharmony_ci ${OUTPUT} 3853e5c31af7Sopenharmony_ci } 3854e5c31af7Sopenharmony_ci "" 3855e5c31af7Sopenharmony_ci end 3856e5c31af7Sopenharmony_ci 3857e5c31af7Sopenharmony_ci case bool_bool_bool_bool_to_ivec4 3858e5c31af7Sopenharmony_ci values 3859e5c31af7Sopenharmony_ci { 3860e5c31af7Sopenharmony_ci input bool in0 = [ true | false ]; 3861e5c31af7Sopenharmony_ci input bool in1 = [ false | true ]; 3862e5c31af7Sopenharmony_ci input bool in2 = [ true | false ]; 3863e5c31af7Sopenharmony_ci input bool in3 = [ false | true ]; 3864e5c31af7Sopenharmony_ci output ivec4 out0 = [ ivec4(1, 0, 1, 0) | ivec4(0, 1, 0, 1) ]; 3865e5c31af7Sopenharmony_ci } 3866e5c31af7Sopenharmony_ci 3867e5c31af7Sopenharmony_ci both "" 3868e5c31af7Sopenharmony_ci precision mediump float; 3869e5c31af7Sopenharmony_ci precision mediump int; 3870e5c31af7Sopenharmony_ci 3871e5c31af7Sopenharmony_ci ${DECLARATIONS} 3872e5c31af7Sopenharmony_ci 3873e5c31af7Sopenharmony_ci void main() 3874e5c31af7Sopenharmony_ci { 3875e5c31af7Sopenharmony_ci ${SETUP} 3876e5c31af7Sopenharmony_ci out0 = ivec4(in0, in1, in2, in3); 3877e5c31af7Sopenharmony_ci ${OUTPUT} 3878e5c31af7Sopenharmony_ci } 3879e5c31af7Sopenharmony_ci "" 3880e5c31af7Sopenharmony_ci end 3881e5c31af7Sopenharmony_ci 3882e5c31af7Sopenharmony_ci case bool_bool_bool_bool_to_bvec4 3883e5c31af7Sopenharmony_ci values 3884e5c31af7Sopenharmony_ci { 3885e5c31af7Sopenharmony_ci input bool in0 = [ true | false ]; 3886e5c31af7Sopenharmony_ci input bool in1 = [ false | true ]; 3887e5c31af7Sopenharmony_ci input bool in2 = [ true | false ]; 3888e5c31af7Sopenharmony_ci input bool in3 = [ false | true ]; 3889e5c31af7Sopenharmony_ci output bvec4 out0 = [ bvec4(true, false, true, false) | bvec4(false, true, false, true) ]; 3890e5c31af7Sopenharmony_ci } 3891e5c31af7Sopenharmony_ci 3892e5c31af7Sopenharmony_ci both "" 3893e5c31af7Sopenharmony_ci precision mediump float; 3894e5c31af7Sopenharmony_ci precision mediump int; 3895e5c31af7Sopenharmony_ci 3896e5c31af7Sopenharmony_ci ${DECLARATIONS} 3897e5c31af7Sopenharmony_ci 3898e5c31af7Sopenharmony_ci void main() 3899e5c31af7Sopenharmony_ci { 3900e5c31af7Sopenharmony_ci ${SETUP} 3901e5c31af7Sopenharmony_ci out0 = bvec4(in0, in1, in2, in3); 3902e5c31af7Sopenharmony_ci ${OUTPUT} 3903e5c31af7Sopenharmony_ci } 3904e5c31af7Sopenharmony_ci "" 3905e5c31af7Sopenharmony_ci end 3906e5c31af7Sopenharmony_ci 3907e5c31af7Sopenharmony_ci case bool_float_int_bool_to_vec4 3908e5c31af7Sopenharmony_ci values 3909e5c31af7Sopenharmony_ci { 3910e5c31af7Sopenharmony_ci input bool in0 = [ true | true | true | false | false | false | true | false | true | false ]; 3911e5c31af7Sopenharmony_ci input float in1 = [ 1.0 | 2.0 | 1.0 | 0.0 | 36.8125 | -8.25 | -0.5 | 3.5 | -20.125 | 0.0 ]; 3912e5c31af7Sopenharmony_ci input int in2 = [ -192 | -12 | 2 | -66 | 255 | 8 | 0 | 5 | 11 | 1 ]; 3913e5c31af7Sopenharmony_ci input bool in3 = [ true | true | false | false | true | false | false | false | true | true ]; 3914e5c31af7Sopenharmony_ci 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) ]; 3915e5c31af7Sopenharmony_ci } 3916e5c31af7Sopenharmony_ci 3917e5c31af7Sopenharmony_ci both "" 3918e5c31af7Sopenharmony_ci precision mediump float; 3919e5c31af7Sopenharmony_ci precision mediump int; 3920e5c31af7Sopenharmony_ci 3921e5c31af7Sopenharmony_ci ${DECLARATIONS} 3922e5c31af7Sopenharmony_ci 3923e5c31af7Sopenharmony_ci void main() 3924e5c31af7Sopenharmony_ci { 3925e5c31af7Sopenharmony_ci ${SETUP} 3926e5c31af7Sopenharmony_ci out0 = vec4(in0, in1, in2, in3); 3927e5c31af7Sopenharmony_ci ${OUTPUT} 3928e5c31af7Sopenharmony_ci } 3929e5c31af7Sopenharmony_ci "" 3930e5c31af7Sopenharmony_ci end 3931e5c31af7Sopenharmony_ci 3932e5c31af7Sopenharmony_ci case bool_float_int_bool_to_ivec4 3933e5c31af7Sopenharmony_ci values 3934e5c31af7Sopenharmony_ci { 3935e5c31af7Sopenharmony_ci input bool in0 = [ true | true | true | false | false | false | true | false | true | false ]; 3936e5c31af7Sopenharmony_ci input float in1 = [ 1.0 | 2.0 | 1.0 | 0.0 | 36.8125 | -8.25 | -0.5 | 3.5 | -20.125 | 0.0 ]; 3937e5c31af7Sopenharmony_ci input int in2 = [ -192 | -12 | 2 | -66 | 255 | 8 | 0 | 5 | 11 | 1 ]; 3938e5c31af7Sopenharmony_ci input bool in3 = [ true | true | false | false | true | false | false | false | true | true ]; 3939e5c31af7Sopenharmony_ci 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) ]; 3940e5c31af7Sopenharmony_ci } 3941e5c31af7Sopenharmony_ci 3942e5c31af7Sopenharmony_ci both "" 3943e5c31af7Sopenharmony_ci precision mediump float; 3944e5c31af7Sopenharmony_ci precision mediump int; 3945e5c31af7Sopenharmony_ci 3946e5c31af7Sopenharmony_ci ${DECLARATIONS} 3947e5c31af7Sopenharmony_ci 3948e5c31af7Sopenharmony_ci void main() 3949e5c31af7Sopenharmony_ci { 3950e5c31af7Sopenharmony_ci ${SETUP} 3951e5c31af7Sopenharmony_ci out0 = ivec4(in0, in1, in2, in3); 3952e5c31af7Sopenharmony_ci ${OUTPUT} 3953e5c31af7Sopenharmony_ci } 3954e5c31af7Sopenharmony_ci "" 3955e5c31af7Sopenharmony_ci end 3956e5c31af7Sopenharmony_ci 3957e5c31af7Sopenharmony_ci case bool_float_int_bool_to_bvec4 3958e5c31af7Sopenharmony_ci values 3959e5c31af7Sopenharmony_ci { 3960e5c31af7Sopenharmony_ci input bool in0 = [ true | true | true | false | false | false | true | false | true | false ]; 3961e5c31af7Sopenharmony_ci input float in1 = [ 1.0 | 2.0 | 1.0 | 0.0 | 36.8125 | -8.25 | -0.5 | 3.5 | -20.125 | 0.0 ]; 3962e5c31af7Sopenharmony_ci input int in2 = [ -192 | -12 | 2 | -66 | 255 | 8 | 0 | 5 | 11 | 1 ]; 3963e5c31af7Sopenharmony_ci input bool in3 = [ true | true | false | false | true | false | false | false | true | true ]; 3964e5c31af7Sopenharmony_ci 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) ]; 3965e5c31af7Sopenharmony_ci } 3966e5c31af7Sopenharmony_ci 3967e5c31af7Sopenharmony_ci both "" 3968e5c31af7Sopenharmony_ci precision mediump float; 3969e5c31af7Sopenharmony_ci precision mediump int; 3970e5c31af7Sopenharmony_ci 3971e5c31af7Sopenharmony_ci ${DECLARATIONS} 3972e5c31af7Sopenharmony_ci 3973e5c31af7Sopenharmony_ci void main() 3974e5c31af7Sopenharmony_ci { 3975e5c31af7Sopenharmony_ci ${SETUP} 3976e5c31af7Sopenharmony_ci out0 = bvec4(in0, in1, in2, in3); 3977e5c31af7Sopenharmony_ci ${OUTPUT} 3978e5c31af7Sopenharmony_ci } 3979e5c31af7Sopenharmony_ci "" 3980e5c31af7Sopenharmony_ci end 3981e5c31af7Sopenharmony_ci 3982e5c31af7Sopenharmony_ci case vec2_ivec2_to_vec4 3983e5c31af7Sopenharmony_ci values 3984e5c31af7Sopenharmony_ci { 3985e5c31af7Sopenharmony_ci 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) ]; 3986e5c31af7Sopenharmony_ci input ivec2 in1 = [ ivec2(0, 0) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) | ivec2(1, 1) ]; 3987e5c31af7Sopenharmony_ci 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) ]; 3988e5c31af7Sopenharmony_ci } 3989e5c31af7Sopenharmony_ci 3990e5c31af7Sopenharmony_ci both "" 3991e5c31af7Sopenharmony_ci precision mediump float; 3992e5c31af7Sopenharmony_ci precision mediump int; 3993e5c31af7Sopenharmony_ci 3994e5c31af7Sopenharmony_ci ${DECLARATIONS} 3995e5c31af7Sopenharmony_ci 3996e5c31af7Sopenharmony_ci void main() 3997e5c31af7Sopenharmony_ci { 3998e5c31af7Sopenharmony_ci ${SETUP} 3999e5c31af7Sopenharmony_ci out0 = vec4(in0, in1); 4000e5c31af7Sopenharmony_ci ${OUTPUT} 4001e5c31af7Sopenharmony_ci } 4002e5c31af7Sopenharmony_ci "" 4003e5c31af7Sopenharmony_ci end 4004e5c31af7Sopenharmony_ci 4005e5c31af7Sopenharmony_ci case vec2_ivec2_to_ivec4 4006e5c31af7Sopenharmony_ci values 4007e5c31af7Sopenharmony_ci { 4008e5c31af7Sopenharmony_ci 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) ]; 4009e5c31af7Sopenharmony_ci input ivec2 in1 = [ ivec2(0, 0) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) | ivec2(1, 1) ]; 4010e5c31af7Sopenharmony_ci 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) ]; 4011e5c31af7Sopenharmony_ci } 4012e5c31af7Sopenharmony_ci 4013e5c31af7Sopenharmony_ci both "" 4014e5c31af7Sopenharmony_ci precision mediump float; 4015e5c31af7Sopenharmony_ci precision mediump int; 4016e5c31af7Sopenharmony_ci 4017e5c31af7Sopenharmony_ci ${DECLARATIONS} 4018e5c31af7Sopenharmony_ci 4019e5c31af7Sopenharmony_ci void main() 4020e5c31af7Sopenharmony_ci { 4021e5c31af7Sopenharmony_ci ${SETUP} 4022e5c31af7Sopenharmony_ci out0 = ivec4(in0, in1); 4023e5c31af7Sopenharmony_ci ${OUTPUT} 4024e5c31af7Sopenharmony_ci } 4025e5c31af7Sopenharmony_ci "" 4026e5c31af7Sopenharmony_ci end 4027e5c31af7Sopenharmony_ci 4028e5c31af7Sopenharmony_ci case vec2_ivec2_to_bvec4 4029e5c31af7Sopenharmony_ci values 4030e5c31af7Sopenharmony_ci { 4031e5c31af7Sopenharmony_ci 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) ]; 4032e5c31af7Sopenharmony_ci input ivec2 in1 = [ ivec2(0, 0) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) | ivec2(1, 1) ]; 4033e5c31af7Sopenharmony_ci 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) ]; 4034e5c31af7Sopenharmony_ci } 4035e5c31af7Sopenharmony_ci 4036e5c31af7Sopenharmony_ci both "" 4037e5c31af7Sopenharmony_ci precision mediump float; 4038e5c31af7Sopenharmony_ci precision mediump int; 4039e5c31af7Sopenharmony_ci 4040e5c31af7Sopenharmony_ci ${DECLARATIONS} 4041e5c31af7Sopenharmony_ci 4042e5c31af7Sopenharmony_ci void main() 4043e5c31af7Sopenharmony_ci { 4044e5c31af7Sopenharmony_ci ${SETUP} 4045e5c31af7Sopenharmony_ci out0 = bvec4(in0, in1); 4046e5c31af7Sopenharmony_ci ${OUTPUT} 4047e5c31af7Sopenharmony_ci } 4048e5c31af7Sopenharmony_ci "" 4049e5c31af7Sopenharmony_ci end 4050e5c31af7Sopenharmony_ci 4051e5c31af7Sopenharmony_ci case vec2_bvec2_to_vec4 4052e5c31af7Sopenharmony_ci values 4053e5c31af7Sopenharmony_ci { 4054e5c31af7Sopenharmony_ci 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) ]; 4055e5c31af7Sopenharmony_ci input bvec2 in1 = [ bvec2(false, false) | bvec2(true, false) | bvec2(true, true) | bvec2(false, true) | bvec2(false, false) ]; 4056e5c31af7Sopenharmony_ci 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) ]; 4057e5c31af7Sopenharmony_ci } 4058e5c31af7Sopenharmony_ci 4059e5c31af7Sopenharmony_ci both "" 4060e5c31af7Sopenharmony_ci precision mediump float; 4061e5c31af7Sopenharmony_ci precision mediump int; 4062e5c31af7Sopenharmony_ci 4063e5c31af7Sopenharmony_ci ${DECLARATIONS} 4064e5c31af7Sopenharmony_ci 4065e5c31af7Sopenharmony_ci void main() 4066e5c31af7Sopenharmony_ci { 4067e5c31af7Sopenharmony_ci ${SETUP} 4068e5c31af7Sopenharmony_ci out0 = vec4(in0, in1); 4069e5c31af7Sopenharmony_ci ${OUTPUT} 4070e5c31af7Sopenharmony_ci } 4071e5c31af7Sopenharmony_ci "" 4072e5c31af7Sopenharmony_ci end 4073e5c31af7Sopenharmony_ci 4074e5c31af7Sopenharmony_ci case vec2_bvec2_to_ivec4 4075e5c31af7Sopenharmony_ci values 4076e5c31af7Sopenharmony_ci { 4077e5c31af7Sopenharmony_ci 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) ]; 4078e5c31af7Sopenharmony_ci input bvec2 in1 = [ bvec2(false, false) | bvec2(true, false) | bvec2(true, true) | bvec2(false, true) | bvec2(false, false) ]; 4079e5c31af7Sopenharmony_ci 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) ]; 4080e5c31af7Sopenharmony_ci } 4081e5c31af7Sopenharmony_ci 4082e5c31af7Sopenharmony_ci both "" 4083e5c31af7Sopenharmony_ci precision mediump float; 4084e5c31af7Sopenharmony_ci precision mediump int; 4085e5c31af7Sopenharmony_ci 4086e5c31af7Sopenharmony_ci ${DECLARATIONS} 4087e5c31af7Sopenharmony_ci 4088e5c31af7Sopenharmony_ci void main() 4089e5c31af7Sopenharmony_ci { 4090e5c31af7Sopenharmony_ci ${SETUP} 4091e5c31af7Sopenharmony_ci out0 = ivec4(in0, in1); 4092e5c31af7Sopenharmony_ci ${OUTPUT} 4093e5c31af7Sopenharmony_ci } 4094e5c31af7Sopenharmony_ci "" 4095e5c31af7Sopenharmony_ci end 4096e5c31af7Sopenharmony_ci 4097e5c31af7Sopenharmony_ci case vec2_bvec2_to_bvec4 4098e5c31af7Sopenharmony_ci values 4099e5c31af7Sopenharmony_ci { 4100e5c31af7Sopenharmony_ci 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) ]; 4101e5c31af7Sopenharmony_ci input bvec2 in1 = [ bvec2(false, false) | bvec2(true, false) | bvec2(true, true) | bvec2(false, true) | bvec2(false, false) ]; 4102e5c31af7Sopenharmony_ci 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) ]; 4103e5c31af7Sopenharmony_ci } 4104e5c31af7Sopenharmony_ci 4105e5c31af7Sopenharmony_ci both "" 4106e5c31af7Sopenharmony_ci precision mediump float; 4107e5c31af7Sopenharmony_ci precision mediump int; 4108e5c31af7Sopenharmony_ci 4109e5c31af7Sopenharmony_ci ${DECLARATIONS} 4110e5c31af7Sopenharmony_ci 4111e5c31af7Sopenharmony_ci void main() 4112e5c31af7Sopenharmony_ci { 4113e5c31af7Sopenharmony_ci ${SETUP} 4114e5c31af7Sopenharmony_ci out0 = bvec4(in0, in1); 4115e5c31af7Sopenharmony_ci ${OUTPUT} 4116e5c31af7Sopenharmony_ci } 4117e5c31af7Sopenharmony_ci "" 4118e5c31af7Sopenharmony_ci end 4119e5c31af7Sopenharmony_ci 4120e5c31af7Sopenharmony_ci case bvec3_float_to_vec4 4121e5c31af7Sopenharmony_ci values 4122e5c31af7Sopenharmony_ci { 4123e5c31af7Sopenharmony_ci 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) ]; 4124e5c31af7Sopenharmony_ci input float in1 = [ -8.25 | -20.125 | 2.0 | 0.0 | -0.5 | 3.5 | 36.8125 | 1.0 ]; 4125e5c31af7Sopenharmony_ci 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) ]; 4126e5c31af7Sopenharmony_ci } 4127e5c31af7Sopenharmony_ci 4128e5c31af7Sopenharmony_ci both "" 4129e5c31af7Sopenharmony_ci precision mediump float; 4130e5c31af7Sopenharmony_ci precision mediump int; 4131e5c31af7Sopenharmony_ci 4132e5c31af7Sopenharmony_ci ${DECLARATIONS} 4133e5c31af7Sopenharmony_ci 4134e5c31af7Sopenharmony_ci void main() 4135e5c31af7Sopenharmony_ci { 4136e5c31af7Sopenharmony_ci ${SETUP} 4137e5c31af7Sopenharmony_ci out0 = vec4(in0, in1); 4138e5c31af7Sopenharmony_ci ${OUTPUT} 4139e5c31af7Sopenharmony_ci } 4140e5c31af7Sopenharmony_ci "" 4141e5c31af7Sopenharmony_ci end 4142e5c31af7Sopenharmony_ci 4143e5c31af7Sopenharmony_ci case bvec3_float_to_ivec4 4144e5c31af7Sopenharmony_ci values 4145e5c31af7Sopenharmony_ci { 4146e5c31af7Sopenharmony_ci 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) ]; 4147e5c31af7Sopenharmony_ci input float in1 = [ -8.25 | -20.125 | 2.0 | 0.0 | -0.5 | 3.5 | 36.8125 | 1.0 ]; 4148e5c31af7Sopenharmony_ci 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) ]; 4149e5c31af7Sopenharmony_ci } 4150e5c31af7Sopenharmony_ci 4151e5c31af7Sopenharmony_ci both "" 4152e5c31af7Sopenharmony_ci precision mediump float; 4153e5c31af7Sopenharmony_ci precision mediump int; 4154e5c31af7Sopenharmony_ci 4155e5c31af7Sopenharmony_ci ${DECLARATIONS} 4156e5c31af7Sopenharmony_ci 4157e5c31af7Sopenharmony_ci void main() 4158e5c31af7Sopenharmony_ci { 4159e5c31af7Sopenharmony_ci ${SETUP} 4160e5c31af7Sopenharmony_ci out0 = ivec4(in0, in1); 4161e5c31af7Sopenharmony_ci ${OUTPUT} 4162e5c31af7Sopenharmony_ci } 4163e5c31af7Sopenharmony_ci "" 4164e5c31af7Sopenharmony_ci end 4165e5c31af7Sopenharmony_ci 4166e5c31af7Sopenharmony_ci case bvec3_float_to_bvec4 4167e5c31af7Sopenharmony_ci values 4168e5c31af7Sopenharmony_ci { 4169e5c31af7Sopenharmony_ci 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) ]; 4170e5c31af7Sopenharmony_ci input float in1 = [ -8.25 | -20.125 | 2.0 | 0.0 | -0.5 | 3.5 | 36.8125 | 1.0 ]; 4171e5c31af7Sopenharmony_ci 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) ]; 4172e5c31af7Sopenharmony_ci } 4173e5c31af7Sopenharmony_ci 4174e5c31af7Sopenharmony_ci both "" 4175e5c31af7Sopenharmony_ci precision mediump float; 4176e5c31af7Sopenharmony_ci precision mediump int; 4177e5c31af7Sopenharmony_ci 4178e5c31af7Sopenharmony_ci ${DECLARATIONS} 4179e5c31af7Sopenharmony_ci 4180e5c31af7Sopenharmony_ci void main() 4181e5c31af7Sopenharmony_ci { 4182e5c31af7Sopenharmony_ci ${SETUP} 4183e5c31af7Sopenharmony_ci out0 = bvec4(in0, in1); 4184e5c31af7Sopenharmony_ci ${OUTPUT} 4185e5c31af7Sopenharmony_ci } 4186e5c31af7Sopenharmony_ci "" 4187e5c31af7Sopenharmony_ci end 4188e5c31af7Sopenharmony_ci 4189e5c31af7Sopenharmony_ci case vec3_float_to_vec4 4190e5c31af7Sopenharmony_ci values 4191e5c31af7Sopenharmony_ci { 4192e5c31af7Sopenharmony_ci 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) ]; 4193e5c31af7Sopenharmony_ci input float in1 = [ 0.0 | 2.0 | 36.8125 | 3.5 | 1.0 | -0.5 | -8.25 | -20.125 ]; 4194e5c31af7Sopenharmony_ci 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) ]; 4195e5c31af7Sopenharmony_ci } 4196e5c31af7Sopenharmony_ci 4197e5c31af7Sopenharmony_ci both "" 4198e5c31af7Sopenharmony_ci precision mediump float; 4199e5c31af7Sopenharmony_ci precision mediump int; 4200e5c31af7Sopenharmony_ci 4201e5c31af7Sopenharmony_ci ${DECLARATIONS} 4202e5c31af7Sopenharmony_ci 4203e5c31af7Sopenharmony_ci void main() 4204e5c31af7Sopenharmony_ci { 4205e5c31af7Sopenharmony_ci ${SETUP} 4206e5c31af7Sopenharmony_ci out0 = vec4(in0, in1); 4207e5c31af7Sopenharmony_ci ${OUTPUT} 4208e5c31af7Sopenharmony_ci } 4209e5c31af7Sopenharmony_ci "" 4210e5c31af7Sopenharmony_ci end 4211e5c31af7Sopenharmony_ci 4212e5c31af7Sopenharmony_ci case vec3_float_to_ivec4 4213e5c31af7Sopenharmony_ci values 4214e5c31af7Sopenharmony_ci { 4215e5c31af7Sopenharmony_ci 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) ]; 4216e5c31af7Sopenharmony_ci input float in1 = [ 0.0 | 2.0 | 36.8125 | 3.5 | 1.0 | -0.5 | -8.25 | -20.125 ]; 4217e5c31af7Sopenharmony_ci 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) ]; 4218e5c31af7Sopenharmony_ci } 4219e5c31af7Sopenharmony_ci 4220e5c31af7Sopenharmony_ci both "" 4221e5c31af7Sopenharmony_ci precision mediump float; 4222e5c31af7Sopenharmony_ci precision mediump int; 4223e5c31af7Sopenharmony_ci 4224e5c31af7Sopenharmony_ci ${DECLARATIONS} 4225e5c31af7Sopenharmony_ci 4226e5c31af7Sopenharmony_ci void main() 4227e5c31af7Sopenharmony_ci { 4228e5c31af7Sopenharmony_ci ${SETUP} 4229e5c31af7Sopenharmony_ci out0 = ivec4(in0, in1); 4230e5c31af7Sopenharmony_ci ${OUTPUT} 4231e5c31af7Sopenharmony_ci } 4232e5c31af7Sopenharmony_ci "" 4233e5c31af7Sopenharmony_ci end 4234e5c31af7Sopenharmony_ci 4235e5c31af7Sopenharmony_ci case vec3_float_to_bvec4 4236e5c31af7Sopenharmony_ci values 4237e5c31af7Sopenharmony_ci { 4238e5c31af7Sopenharmony_ci 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) ]; 4239e5c31af7Sopenharmony_ci input float in1 = [ 0.0 | 2.0 | 36.8125 | 3.5 | 1.0 | -0.5 | -8.25 | -20.125 ]; 4240e5c31af7Sopenharmony_ci 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) ]; 4241e5c31af7Sopenharmony_ci } 4242e5c31af7Sopenharmony_ci 4243e5c31af7Sopenharmony_ci both "" 4244e5c31af7Sopenharmony_ci precision mediump float; 4245e5c31af7Sopenharmony_ci precision mediump int; 4246e5c31af7Sopenharmony_ci 4247e5c31af7Sopenharmony_ci ${DECLARATIONS} 4248e5c31af7Sopenharmony_ci 4249e5c31af7Sopenharmony_ci void main() 4250e5c31af7Sopenharmony_ci { 4251e5c31af7Sopenharmony_ci ${SETUP} 4252e5c31af7Sopenharmony_ci out0 = bvec4(in0, in1); 4253e5c31af7Sopenharmony_ci ${OUTPUT} 4254e5c31af7Sopenharmony_ci } 4255e5c31af7Sopenharmony_ci "" 4256e5c31af7Sopenharmony_ci end 4257e5c31af7Sopenharmony_ci 4258e5c31af7Sopenharmony_ci case int_ivec2_int_to_vec4 4259e5c31af7Sopenharmony_ci values 4260e5c31af7Sopenharmony_ci { 4261e5c31af7Sopenharmony_ci input int in0 = [ -66 | 8 | -192 | 255 | 5 | -12 | 0 | 2 | 1 | 11 ]; 4262e5c31af7Sopenharmony_ci 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) ]; 4263e5c31af7Sopenharmony_ci input int in2 = [ 8 | 2 | 11 | -192 | 255 | -12 | 0 | -66 | 1 | 5 ]; 4264e5c31af7Sopenharmony_ci 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) ]; 4265e5c31af7Sopenharmony_ci } 4266e5c31af7Sopenharmony_ci 4267e5c31af7Sopenharmony_ci both "" 4268e5c31af7Sopenharmony_ci precision mediump float; 4269e5c31af7Sopenharmony_ci precision mediump int; 4270e5c31af7Sopenharmony_ci 4271e5c31af7Sopenharmony_ci ${DECLARATIONS} 4272e5c31af7Sopenharmony_ci 4273e5c31af7Sopenharmony_ci void main() 4274e5c31af7Sopenharmony_ci { 4275e5c31af7Sopenharmony_ci ${SETUP} 4276e5c31af7Sopenharmony_ci out0 = vec4(in0, in1, in2); 4277e5c31af7Sopenharmony_ci ${OUTPUT} 4278e5c31af7Sopenharmony_ci } 4279e5c31af7Sopenharmony_ci "" 4280e5c31af7Sopenharmony_ci end 4281e5c31af7Sopenharmony_ci 4282e5c31af7Sopenharmony_ci case int_ivec2_int_to_ivec4 4283e5c31af7Sopenharmony_ci values 4284e5c31af7Sopenharmony_ci { 4285e5c31af7Sopenharmony_ci input int in0 = [ -66 | 8 | -192 | 255 | 5 | -12 | 0 | 2 | 1 | 11 ]; 4286e5c31af7Sopenharmony_ci 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) ]; 4287e5c31af7Sopenharmony_ci input int in2 = [ 8 | 2 | 11 | -192 | 255 | -12 | 0 | -66 | 1 | 5 ]; 4288e5c31af7Sopenharmony_ci 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) ]; 4289e5c31af7Sopenharmony_ci } 4290e5c31af7Sopenharmony_ci 4291e5c31af7Sopenharmony_ci both "" 4292e5c31af7Sopenharmony_ci precision mediump float; 4293e5c31af7Sopenharmony_ci precision mediump int; 4294e5c31af7Sopenharmony_ci 4295e5c31af7Sopenharmony_ci ${DECLARATIONS} 4296e5c31af7Sopenharmony_ci 4297e5c31af7Sopenharmony_ci void main() 4298e5c31af7Sopenharmony_ci { 4299e5c31af7Sopenharmony_ci ${SETUP} 4300e5c31af7Sopenharmony_ci out0 = ivec4(in0, in1, in2); 4301e5c31af7Sopenharmony_ci ${OUTPUT} 4302e5c31af7Sopenharmony_ci } 4303e5c31af7Sopenharmony_ci "" 4304e5c31af7Sopenharmony_ci end 4305e5c31af7Sopenharmony_ci 4306e5c31af7Sopenharmony_ci case int_ivec2_int_to_bvec4 4307e5c31af7Sopenharmony_ci values 4308e5c31af7Sopenharmony_ci { 4309e5c31af7Sopenharmony_ci input int in0 = [ -66 | 8 | -192 | 255 | 5 | -12 | 0 | 2 | 1 | 11 ]; 4310e5c31af7Sopenharmony_ci 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) ]; 4311e5c31af7Sopenharmony_ci input int in2 = [ 8 | 2 | 11 | -192 | 255 | -12 | 0 | -66 | 1 | 5 ]; 4312e5c31af7Sopenharmony_ci 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) ]; 4313e5c31af7Sopenharmony_ci } 4314e5c31af7Sopenharmony_ci 4315e5c31af7Sopenharmony_ci both "" 4316e5c31af7Sopenharmony_ci precision mediump float; 4317e5c31af7Sopenharmony_ci precision mediump int; 4318e5c31af7Sopenharmony_ci 4319e5c31af7Sopenharmony_ci ${DECLARATIONS} 4320e5c31af7Sopenharmony_ci 4321e5c31af7Sopenharmony_ci void main() 4322e5c31af7Sopenharmony_ci { 4323e5c31af7Sopenharmony_ci ${SETUP} 4324e5c31af7Sopenharmony_ci out0 = bvec4(in0, in1, in2); 4325e5c31af7Sopenharmony_ci ${OUTPUT} 4326e5c31af7Sopenharmony_ci } 4327e5c31af7Sopenharmony_ci "" 4328e5c31af7Sopenharmony_ci end 4329e5c31af7Sopenharmony_ci 4330e5c31af7Sopenharmony_ci case bool_float_ivec2_to_vec4 4331e5c31af7Sopenharmony_ci values 4332e5c31af7Sopenharmony_ci { 4333e5c31af7Sopenharmony_ci input bool in0 = [ true | true | true | true | false | false | false | false ]; 4334e5c31af7Sopenharmony_ci input float in1 = [ 2.0 | 0.0 | 3.5 | -8.25 | 36.8125 | -20.125 | 1.0 | -0.5 ]; 4335e5c31af7Sopenharmony_ci 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) ]; 4336e5c31af7Sopenharmony_ci 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) ]; 4337e5c31af7Sopenharmony_ci } 4338e5c31af7Sopenharmony_ci 4339e5c31af7Sopenharmony_ci both "" 4340e5c31af7Sopenharmony_ci precision mediump float; 4341e5c31af7Sopenharmony_ci precision mediump int; 4342e5c31af7Sopenharmony_ci 4343e5c31af7Sopenharmony_ci ${DECLARATIONS} 4344e5c31af7Sopenharmony_ci 4345e5c31af7Sopenharmony_ci void main() 4346e5c31af7Sopenharmony_ci { 4347e5c31af7Sopenharmony_ci ${SETUP} 4348e5c31af7Sopenharmony_ci out0 = vec4(in0, in1, in2); 4349e5c31af7Sopenharmony_ci ${OUTPUT} 4350e5c31af7Sopenharmony_ci } 4351e5c31af7Sopenharmony_ci "" 4352e5c31af7Sopenharmony_ci end 4353e5c31af7Sopenharmony_ci 4354e5c31af7Sopenharmony_ci case bool_float_ivec2_to_ivec4 4355e5c31af7Sopenharmony_ci values 4356e5c31af7Sopenharmony_ci { 4357e5c31af7Sopenharmony_ci input bool in0 = [ true | true | true | true | false | false | false | false ]; 4358e5c31af7Sopenharmony_ci input float in1 = [ 2.0 | 0.0 | 3.5 | -8.25 | 36.8125 | -20.125 | 1.0 | -0.5 ]; 4359e5c31af7Sopenharmony_ci 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) ]; 4360e5c31af7Sopenharmony_ci 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) ]; 4361e5c31af7Sopenharmony_ci } 4362e5c31af7Sopenharmony_ci 4363e5c31af7Sopenharmony_ci both "" 4364e5c31af7Sopenharmony_ci precision mediump float; 4365e5c31af7Sopenharmony_ci precision mediump int; 4366e5c31af7Sopenharmony_ci 4367e5c31af7Sopenharmony_ci ${DECLARATIONS} 4368e5c31af7Sopenharmony_ci 4369e5c31af7Sopenharmony_ci void main() 4370e5c31af7Sopenharmony_ci { 4371e5c31af7Sopenharmony_ci ${SETUP} 4372e5c31af7Sopenharmony_ci out0 = ivec4(in0, in1, in2); 4373e5c31af7Sopenharmony_ci ${OUTPUT} 4374e5c31af7Sopenharmony_ci } 4375e5c31af7Sopenharmony_ci "" 4376e5c31af7Sopenharmony_ci end 4377e5c31af7Sopenharmony_ci 4378e5c31af7Sopenharmony_ci case bool_float_ivec2_to_bvec4 4379e5c31af7Sopenharmony_ci values 4380e5c31af7Sopenharmony_ci { 4381e5c31af7Sopenharmony_ci input bool in0 = [ true | true | true | true | false | false | false | false ]; 4382e5c31af7Sopenharmony_ci input float in1 = [ 2.0 | 0.0 | 3.5 | -8.25 | 36.8125 | -20.125 | 1.0 | -0.5 ]; 4383e5c31af7Sopenharmony_ci 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) ]; 4384e5c31af7Sopenharmony_ci 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) ]; 4385e5c31af7Sopenharmony_ci } 4386e5c31af7Sopenharmony_ci 4387e5c31af7Sopenharmony_ci both "" 4388e5c31af7Sopenharmony_ci precision mediump float; 4389e5c31af7Sopenharmony_ci precision mediump int; 4390e5c31af7Sopenharmony_ci 4391e5c31af7Sopenharmony_ci ${DECLARATIONS} 4392e5c31af7Sopenharmony_ci 4393e5c31af7Sopenharmony_ci void main() 4394e5c31af7Sopenharmony_ci { 4395e5c31af7Sopenharmony_ci ${SETUP} 4396e5c31af7Sopenharmony_ci out0 = bvec4(in0, in1, in2); 4397e5c31af7Sopenharmony_ci ${OUTPUT} 4398e5c31af7Sopenharmony_ci } 4399e5c31af7Sopenharmony_ci "" 4400e5c31af7Sopenharmony_ci end 4401e5c31af7Sopenharmony_ci 4402e5c31af7Sopenharmony_ci case float_float_float_to_vec3 4403e5c31af7Sopenharmony_ci values 4404e5c31af7Sopenharmony_ci { 4405e5c31af7Sopenharmony_ci input float in0 = [ 3.5 | 2.0 | -20.125 | -8.25 | 36.8125 | 1.0 | 0.0 | -0.5 ]; 4406e5c31af7Sopenharmony_ci input float in1 = [ -0.5 | 1.0 | 2.0 | -20.125 | 0.0 | -8.25 | 36.8125 | 3.5 ]; 4407e5c31af7Sopenharmony_ci input float in2 = [ 0.0 | 1.0 | 3.5 | -8.25 | -0.5 | 36.8125 | -20.125 | 2.0 ]; 4408e5c31af7Sopenharmony_ci 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) ]; 4409e5c31af7Sopenharmony_ci } 4410e5c31af7Sopenharmony_ci 4411e5c31af7Sopenharmony_ci both "" 4412e5c31af7Sopenharmony_ci precision mediump float; 4413e5c31af7Sopenharmony_ci precision mediump int; 4414e5c31af7Sopenharmony_ci 4415e5c31af7Sopenharmony_ci ${DECLARATIONS} 4416e5c31af7Sopenharmony_ci 4417e5c31af7Sopenharmony_ci void main() 4418e5c31af7Sopenharmony_ci { 4419e5c31af7Sopenharmony_ci ${SETUP} 4420e5c31af7Sopenharmony_ci out0 = vec3(in0, in1, in2); 4421e5c31af7Sopenharmony_ci ${OUTPUT} 4422e5c31af7Sopenharmony_ci } 4423e5c31af7Sopenharmony_ci "" 4424e5c31af7Sopenharmony_ci end 4425e5c31af7Sopenharmony_ci 4426e5c31af7Sopenharmony_ci case float_float_float_to_ivec3 4427e5c31af7Sopenharmony_ci values 4428e5c31af7Sopenharmony_ci { 4429e5c31af7Sopenharmony_ci input float in0 = [ 3.5 | 2.0 | -20.125 | -8.25 | 36.8125 | 1.0 | 0.0 | -0.5 ]; 4430e5c31af7Sopenharmony_ci input float in1 = [ -0.5 | 1.0 | 2.0 | -20.125 | 0.0 | -8.25 | 36.8125 | 3.5 ]; 4431e5c31af7Sopenharmony_ci input float in2 = [ 0.0 | 1.0 | 3.5 | -8.25 | -0.5 | 36.8125 | -20.125 | 2.0 ]; 4432e5c31af7Sopenharmony_ci 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) ]; 4433e5c31af7Sopenharmony_ci } 4434e5c31af7Sopenharmony_ci 4435e5c31af7Sopenharmony_ci both "" 4436e5c31af7Sopenharmony_ci precision mediump float; 4437e5c31af7Sopenharmony_ci precision mediump int; 4438e5c31af7Sopenharmony_ci 4439e5c31af7Sopenharmony_ci ${DECLARATIONS} 4440e5c31af7Sopenharmony_ci 4441e5c31af7Sopenharmony_ci void main() 4442e5c31af7Sopenharmony_ci { 4443e5c31af7Sopenharmony_ci ${SETUP} 4444e5c31af7Sopenharmony_ci out0 = ivec3(in0, in1, in2); 4445e5c31af7Sopenharmony_ci ${OUTPUT} 4446e5c31af7Sopenharmony_ci } 4447e5c31af7Sopenharmony_ci "" 4448e5c31af7Sopenharmony_ci end 4449e5c31af7Sopenharmony_ci 4450e5c31af7Sopenharmony_ci case float_float_float_to_bvec3 4451e5c31af7Sopenharmony_ci values 4452e5c31af7Sopenharmony_ci { 4453e5c31af7Sopenharmony_ci input float in0 = [ 3.5 | 2.0 | -20.125 | -8.25 | 36.8125 | 1.0 | 0.0 | -0.5 ]; 4454e5c31af7Sopenharmony_ci input float in1 = [ -0.5 | 1.0 | 2.0 | -20.125 | 0.0 | -8.25 | 36.8125 | 3.5 ]; 4455e5c31af7Sopenharmony_ci input float in2 = [ 0.0 | 1.0 | 3.5 | -8.25 | -0.5 | 36.8125 | -20.125 | 2.0 ]; 4456e5c31af7Sopenharmony_ci 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) ]; 4457e5c31af7Sopenharmony_ci } 4458e5c31af7Sopenharmony_ci 4459e5c31af7Sopenharmony_ci both "" 4460e5c31af7Sopenharmony_ci precision mediump float; 4461e5c31af7Sopenharmony_ci precision mediump int; 4462e5c31af7Sopenharmony_ci 4463e5c31af7Sopenharmony_ci ${DECLARATIONS} 4464e5c31af7Sopenharmony_ci 4465e5c31af7Sopenharmony_ci void main() 4466e5c31af7Sopenharmony_ci { 4467e5c31af7Sopenharmony_ci ${SETUP} 4468e5c31af7Sopenharmony_ci out0 = bvec3(in0, in1, in2); 4469e5c31af7Sopenharmony_ci ${OUTPUT} 4470e5c31af7Sopenharmony_ci } 4471e5c31af7Sopenharmony_ci "" 4472e5c31af7Sopenharmony_ci end 4473e5c31af7Sopenharmony_ci 4474e5c31af7Sopenharmony_ci case int_int_int_to_vec3 4475e5c31af7Sopenharmony_ci values 4476e5c31af7Sopenharmony_ci { 4477e5c31af7Sopenharmony_ci input int in0 = [ 0 | 2 | 1 | 5 | 255 | 8 | -66 | 11 | -12 | -192 ]; 4478e5c31af7Sopenharmony_ci input int in1 = [ 2 | 8 | 11 | -12 | -192 | 1 | -66 | 5 | 255 | 0 ]; 4479e5c31af7Sopenharmony_ci input int in2 = [ -192 | -12 | -66 | 8 | 1 | 2 | 5 | 11 | 255 | 0 ]; 4480e5c31af7Sopenharmony_ci 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) ]; 4481e5c31af7Sopenharmony_ci } 4482e5c31af7Sopenharmony_ci 4483e5c31af7Sopenharmony_ci both "" 4484e5c31af7Sopenharmony_ci precision mediump float; 4485e5c31af7Sopenharmony_ci precision mediump int; 4486e5c31af7Sopenharmony_ci 4487e5c31af7Sopenharmony_ci ${DECLARATIONS} 4488e5c31af7Sopenharmony_ci 4489e5c31af7Sopenharmony_ci void main() 4490e5c31af7Sopenharmony_ci { 4491e5c31af7Sopenharmony_ci ${SETUP} 4492e5c31af7Sopenharmony_ci out0 = vec3(in0, in1, in2); 4493e5c31af7Sopenharmony_ci ${OUTPUT} 4494e5c31af7Sopenharmony_ci } 4495e5c31af7Sopenharmony_ci "" 4496e5c31af7Sopenharmony_ci end 4497e5c31af7Sopenharmony_ci 4498e5c31af7Sopenharmony_ci case int_int_int_to_ivec3 4499e5c31af7Sopenharmony_ci values 4500e5c31af7Sopenharmony_ci { 4501e5c31af7Sopenharmony_ci input int in0 = [ 0 | 2 | 1 | 5 | 255 | 8 | -66 | 11 | -12 | -192 ]; 4502e5c31af7Sopenharmony_ci input int in1 = [ 2 | 8 | 11 | -12 | -192 | 1 | -66 | 5 | 255 | 0 ]; 4503e5c31af7Sopenharmony_ci input int in2 = [ -192 | -12 | -66 | 8 | 1 | 2 | 5 | 11 | 255 | 0 ]; 4504e5c31af7Sopenharmony_ci 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) ]; 4505e5c31af7Sopenharmony_ci } 4506e5c31af7Sopenharmony_ci 4507e5c31af7Sopenharmony_ci both "" 4508e5c31af7Sopenharmony_ci precision mediump float; 4509e5c31af7Sopenharmony_ci precision mediump int; 4510e5c31af7Sopenharmony_ci 4511e5c31af7Sopenharmony_ci ${DECLARATIONS} 4512e5c31af7Sopenharmony_ci 4513e5c31af7Sopenharmony_ci void main() 4514e5c31af7Sopenharmony_ci { 4515e5c31af7Sopenharmony_ci ${SETUP} 4516e5c31af7Sopenharmony_ci out0 = ivec3(in0, in1, in2); 4517e5c31af7Sopenharmony_ci ${OUTPUT} 4518e5c31af7Sopenharmony_ci } 4519e5c31af7Sopenharmony_ci "" 4520e5c31af7Sopenharmony_ci end 4521e5c31af7Sopenharmony_ci 4522e5c31af7Sopenharmony_ci case int_int_int_to_bvec3 4523e5c31af7Sopenharmony_ci values 4524e5c31af7Sopenharmony_ci { 4525e5c31af7Sopenharmony_ci input int in0 = [ 0 | 2 | 1 | 5 | 255 | 8 | -66 | 11 | -12 | -192 ]; 4526e5c31af7Sopenharmony_ci input int in1 = [ 2 | 8 | 11 | -12 | -192 | 1 | -66 | 5 | 255 | 0 ]; 4527e5c31af7Sopenharmony_ci input int in2 = [ -192 | -12 | -66 | 8 | 1 | 2 | 5 | 11 | 255 | 0 ]; 4528e5c31af7Sopenharmony_ci 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) ]; 4529e5c31af7Sopenharmony_ci } 4530e5c31af7Sopenharmony_ci 4531e5c31af7Sopenharmony_ci both "" 4532e5c31af7Sopenharmony_ci precision mediump float; 4533e5c31af7Sopenharmony_ci precision mediump int; 4534e5c31af7Sopenharmony_ci 4535e5c31af7Sopenharmony_ci ${DECLARATIONS} 4536e5c31af7Sopenharmony_ci 4537e5c31af7Sopenharmony_ci void main() 4538e5c31af7Sopenharmony_ci { 4539e5c31af7Sopenharmony_ci ${SETUP} 4540e5c31af7Sopenharmony_ci out0 = bvec3(in0, in1, in2); 4541e5c31af7Sopenharmony_ci ${OUTPUT} 4542e5c31af7Sopenharmony_ci } 4543e5c31af7Sopenharmony_ci "" 4544e5c31af7Sopenharmony_ci end 4545e5c31af7Sopenharmony_ci 4546e5c31af7Sopenharmony_ci case bool_bool_bool_to_vec3 4547e5c31af7Sopenharmony_ci values 4548e5c31af7Sopenharmony_ci { 4549e5c31af7Sopenharmony_ci input bool in0 = [ false | true ]; 4550e5c31af7Sopenharmony_ci input bool in1 = [ false | true ]; 4551e5c31af7Sopenharmony_ci input bool in2 = [ false | true ]; 4552e5c31af7Sopenharmony_ci output vec3 out0 = [ vec3(0.0, 0.0, 0.0) | vec3(1.0, 1.0, 1.0) ]; 4553e5c31af7Sopenharmony_ci } 4554e5c31af7Sopenharmony_ci 4555e5c31af7Sopenharmony_ci both "" 4556e5c31af7Sopenharmony_ci precision mediump float; 4557e5c31af7Sopenharmony_ci precision mediump int; 4558e5c31af7Sopenharmony_ci 4559e5c31af7Sopenharmony_ci ${DECLARATIONS} 4560e5c31af7Sopenharmony_ci 4561e5c31af7Sopenharmony_ci void main() 4562e5c31af7Sopenharmony_ci { 4563e5c31af7Sopenharmony_ci ${SETUP} 4564e5c31af7Sopenharmony_ci out0 = vec3(in0, in1, in2); 4565e5c31af7Sopenharmony_ci ${OUTPUT} 4566e5c31af7Sopenharmony_ci } 4567e5c31af7Sopenharmony_ci "" 4568e5c31af7Sopenharmony_ci end 4569e5c31af7Sopenharmony_ci 4570e5c31af7Sopenharmony_ci case bool_bool_bool_to_ivec3 4571e5c31af7Sopenharmony_ci values 4572e5c31af7Sopenharmony_ci { 4573e5c31af7Sopenharmony_ci input bool in0 = [ false | true ]; 4574e5c31af7Sopenharmony_ci input bool in1 = [ false | true ]; 4575e5c31af7Sopenharmony_ci input bool in2 = [ false | true ]; 4576e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) ]; 4577e5c31af7Sopenharmony_ci } 4578e5c31af7Sopenharmony_ci 4579e5c31af7Sopenharmony_ci both "" 4580e5c31af7Sopenharmony_ci precision mediump float; 4581e5c31af7Sopenharmony_ci precision mediump int; 4582e5c31af7Sopenharmony_ci 4583e5c31af7Sopenharmony_ci ${DECLARATIONS} 4584e5c31af7Sopenharmony_ci 4585e5c31af7Sopenharmony_ci void main() 4586e5c31af7Sopenharmony_ci { 4587e5c31af7Sopenharmony_ci ${SETUP} 4588e5c31af7Sopenharmony_ci out0 = ivec3(in0, in1, in2); 4589e5c31af7Sopenharmony_ci ${OUTPUT} 4590e5c31af7Sopenharmony_ci } 4591e5c31af7Sopenharmony_ci "" 4592e5c31af7Sopenharmony_ci end 4593e5c31af7Sopenharmony_ci 4594e5c31af7Sopenharmony_ci case bool_bool_bool_to_bvec3 4595e5c31af7Sopenharmony_ci values 4596e5c31af7Sopenharmony_ci { 4597e5c31af7Sopenharmony_ci input bool in0 = [ false | true ]; 4598e5c31af7Sopenharmony_ci input bool in1 = [ false | true ]; 4599e5c31af7Sopenharmony_ci input bool in2 = [ false | true ]; 4600e5c31af7Sopenharmony_ci output bvec3 out0 = [ bvec3(false, false, false) | bvec3(true, true, true) ]; 4601e5c31af7Sopenharmony_ci } 4602e5c31af7Sopenharmony_ci 4603e5c31af7Sopenharmony_ci both "" 4604e5c31af7Sopenharmony_ci precision mediump float; 4605e5c31af7Sopenharmony_ci precision mediump int; 4606e5c31af7Sopenharmony_ci 4607e5c31af7Sopenharmony_ci ${DECLARATIONS} 4608e5c31af7Sopenharmony_ci 4609e5c31af7Sopenharmony_ci void main() 4610e5c31af7Sopenharmony_ci { 4611e5c31af7Sopenharmony_ci ${SETUP} 4612e5c31af7Sopenharmony_ci out0 = bvec3(in0, in1, in2); 4613e5c31af7Sopenharmony_ci ${OUTPUT} 4614e5c31af7Sopenharmony_ci } 4615e5c31af7Sopenharmony_ci "" 4616e5c31af7Sopenharmony_ci end 4617e5c31af7Sopenharmony_ci 4618e5c31af7Sopenharmony_ci case bool_float_int_to_vec3 4619e5c31af7Sopenharmony_ci values 4620e5c31af7Sopenharmony_ci { 4621e5c31af7Sopenharmony_ci input bool in0 = [ false | true | false | true | false | true | false | true | false | true ]; 4622e5c31af7Sopenharmony_ci input float in1 = [ 0.0 | 2.0 | 1.0 | -0.5 | -8.25 | 3.5 | -20.125 | 1.0 | 0.0 | 36.8125 ]; 4623e5c31af7Sopenharmony_ci input int in2 = [ -12 | -192 | 2 | 5 | -66 | 255 | 11 | 0 | 8 | 1 ]; 4624e5c31af7Sopenharmony_ci 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) ]; 4625e5c31af7Sopenharmony_ci } 4626e5c31af7Sopenharmony_ci 4627e5c31af7Sopenharmony_ci both "" 4628e5c31af7Sopenharmony_ci precision mediump float; 4629e5c31af7Sopenharmony_ci precision mediump int; 4630e5c31af7Sopenharmony_ci 4631e5c31af7Sopenharmony_ci ${DECLARATIONS} 4632e5c31af7Sopenharmony_ci 4633e5c31af7Sopenharmony_ci void main() 4634e5c31af7Sopenharmony_ci { 4635e5c31af7Sopenharmony_ci ${SETUP} 4636e5c31af7Sopenharmony_ci out0 = vec3(in0, in1, in2); 4637e5c31af7Sopenharmony_ci ${OUTPUT} 4638e5c31af7Sopenharmony_ci } 4639e5c31af7Sopenharmony_ci "" 4640e5c31af7Sopenharmony_ci end 4641e5c31af7Sopenharmony_ci 4642e5c31af7Sopenharmony_ci case bool_float_int_to_ivec3 4643e5c31af7Sopenharmony_ci values 4644e5c31af7Sopenharmony_ci { 4645e5c31af7Sopenharmony_ci input bool in0 = [ false | true | false | true | false | true | false | true | false | true ]; 4646e5c31af7Sopenharmony_ci input float in1 = [ 0.0 | 2.0 | 1.0 | -0.5 | -8.25 | 3.5 | -20.125 | 1.0 | 0.0 | 36.8125 ]; 4647e5c31af7Sopenharmony_ci input int in2 = [ -12 | -192 | 2 | 5 | -66 | 255 | 11 | 0 | 8 | 1 ]; 4648e5c31af7Sopenharmony_ci 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) ]; 4649e5c31af7Sopenharmony_ci } 4650e5c31af7Sopenharmony_ci 4651e5c31af7Sopenharmony_ci both "" 4652e5c31af7Sopenharmony_ci precision mediump float; 4653e5c31af7Sopenharmony_ci precision mediump int; 4654e5c31af7Sopenharmony_ci 4655e5c31af7Sopenharmony_ci ${DECLARATIONS} 4656e5c31af7Sopenharmony_ci 4657e5c31af7Sopenharmony_ci void main() 4658e5c31af7Sopenharmony_ci { 4659e5c31af7Sopenharmony_ci ${SETUP} 4660e5c31af7Sopenharmony_ci out0 = ivec3(in0, in1, in2); 4661e5c31af7Sopenharmony_ci ${OUTPUT} 4662e5c31af7Sopenharmony_ci } 4663e5c31af7Sopenharmony_ci "" 4664e5c31af7Sopenharmony_ci end 4665e5c31af7Sopenharmony_ci 4666e5c31af7Sopenharmony_ci case bool_float_int_to_bvec3 4667e5c31af7Sopenharmony_ci values 4668e5c31af7Sopenharmony_ci { 4669e5c31af7Sopenharmony_ci input bool in0 = [ false | true | false | true | false | true | false | true | false | true ]; 4670e5c31af7Sopenharmony_ci input float in1 = [ 0.0 | 2.0 | 1.0 | -0.5 | -8.25 | 3.5 | -20.125 | 1.0 | 0.0 | 36.8125 ]; 4671e5c31af7Sopenharmony_ci input int in2 = [ -12 | -192 | 2 | 5 | -66 | 255 | 11 | 0 | 8 | 1 ]; 4672e5c31af7Sopenharmony_ci 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) ]; 4673e5c31af7Sopenharmony_ci } 4674e5c31af7Sopenharmony_ci 4675e5c31af7Sopenharmony_ci both "" 4676e5c31af7Sopenharmony_ci precision mediump float; 4677e5c31af7Sopenharmony_ci precision mediump int; 4678e5c31af7Sopenharmony_ci 4679e5c31af7Sopenharmony_ci ${DECLARATIONS} 4680e5c31af7Sopenharmony_ci 4681e5c31af7Sopenharmony_ci void main() 4682e5c31af7Sopenharmony_ci { 4683e5c31af7Sopenharmony_ci ${SETUP} 4684e5c31af7Sopenharmony_ci out0 = bvec3(in0, in1, in2); 4685e5c31af7Sopenharmony_ci ${OUTPUT} 4686e5c31af7Sopenharmony_ci } 4687e5c31af7Sopenharmony_ci "" 4688e5c31af7Sopenharmony_ci end 4689e5c31af7Sopenharmony_ci 4690e5c31af7Sopenharmony_ci case vec2_bool_to_vec3 4691e5c31af7Sopenharmony_ci values 4692e5c31af7Sopenharmony_ci { 4693e5c31af7Sopenharmony_ci 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) ]; 4694e5c31af7Sopenharmony_ci input bool in1 = [ false | true | false | true | true ]; 4695e5c31af7Sopenharmony_ci 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) ]; 4696e5c31af7Sopenharmony_ci } 4697e5c31af7Sopenharmony_ci 4698e5c31af7Sopenharmony_ci both "" 4699e5c31af7Sopenharmony_ci precision mediump float; 4700e5c31af7Sopenharmony_ci precision mediump int; 4701e5c31af7Sopenharmony_ci 4702e5c31af7Sopenharmony_ci ${DECLARATIONS} 4703e5c31af7Sopenharmony_ci 4704e5c31af7Sopenharmony_ci void main() 4705e5c31af7Sopenharmony_ci { 4706e5c31af7Sopenharmony_ci ${SETUP} 4707e5c31af7Sopenharmony_ci out0 = vec3(in0, in1); 4708e5c31af7Sopenharmony_ci ${OUTPUT} 4709e5c31af7Sopenharmony_ci } 4710e5c31af7Sopenharmony_ci "" 4711e5c31af7Sopenharmony_ci end 4712e5c31af7Sopenharmony_ci 4713e5c31af7Sopenharmony_ci case vec2_bool_to_ivec3 4714e5c31af7Sopenharmony_ci values 4715e5c31af7Sopenharmony_ci { 4716e5c31af7Sopenharmony_ci 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) ]; 4717e5c31af7Sopenharmony_ci input bool in1 = [ false | true | false | true | true ]; 4718e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, 0) | ivec3(0, 0, 1) | ivec3(-32, 64, 1) ]; 4719e5c31af7Sopenharmony_ci } 4720e5c31af7Sopenharmony_ci 4721e5c31af7Sopenharmony_ci both "" 4722e5c31af7Sopenharmony_ci precision mediump float; 4723e5c31af7Sopenharmony_ci precision mediump int; 4724e5c31af7Sopenharmony_ci 4725e5c31af7Sopenharmony_ci ${DECLARATIONS} 4726e5c31af7Sopenharmony_ci 4727e5c31af7Sopenharmony_ci void main() 4728e5c31af7Sopenharmony_ci { 4729e5c31af7Sopenharmony_ci ${SETUP} 4730e5c31af7Sopenharmony_ci out0 = ivec3(in0, in1); 4731e5c31af7Sopenharmony_ci ${OUTPUT} 4732e5c31af7Sopenharmony_ci } 4733e5c31af7Sopenharmony_ci "" 4734e5c31af7Sopenharmony_ci end 4735e5c31af7Sopenharmony_ci 4736e5c31af7Sopenharmony_ci case vec2_bool_to_bvec3 4737e5c31af7Sopenharmony_ci values 4738e5c31af7Sopenharmony_ci { 4739e5c31af7Sopenharmony_ci 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) ]; 4740e5c31af7Sopenharmony_ci input bool in1 = [ false | true | false | true | true ]; 4741e5c31af7Sopenharmony_ci output bvec3 out0 = [ bvec3(true, true, false) | bvec3(true, true, true) | bvec3(true, true, false) | bvec3(false, true, true) | bvec3(true, true, true) ]; 4742e5c31af7Sopenharmony_ci } 4743e5c31af7Sopenharmony_ci 4744e5c31af7Sopenharmony_ci both "" 4745e5c31af7Sopenharmony_ci precision mediump float; 4746e5c31af7Sopenharmony_ci precision mediump int; 4747e5c31af7Sopenharmony_ci 4748e5c31af7Sopenharmony_ci ${DECLARATIONS} 4749e5c31af7Sopenharmony_ci 4750e5c31af7Sopenharmony_ci void main() 4751e5c31af7Sopenharmony_ci { 4752e5c31af7Sopenharmony_ci ${SETUP} 4753e5c31af7Sopenharmony_ci out0 = bvec3(in0, in1); 4754e5c31af7Sopenharmony_ci ${OUTPUT} 4755e5c31af7Sopenharmony_ci } 4756e5c31af7Sopenharmony_ci "" 4757e5c31af7Sopenharmony_ci end 4758e5c31af7Sopenharmony_ci 4759e5c31af7Sopenharmony_ci case bvec2_float_to_vec3 4760e5c31af7Sopenharmony_ci values 4761e5c31af7Sopenharmony_ci { 4762e5c31af7Sopenharmony_ci 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) ]; 4763e5c31af7Sopenharmony_ci input float in1 = [ 2.0 | 36.8125 | 0.0 | -20.125 | 1.0 | -0.5 | -8.25 | 3.5 ]; 4764e5c31af7Sopenharmony_ci 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) ]; 4765e5c31af7Sopenharmony_ci } 4766e5c31af7Sopenharmony_ci 4767e5c31af7Sopenharmony_ci both "" 4768e5c31af7Sopenharmony_ci precision mediump float; 4769e5c31af7Sopenharmony_ci precision mediump int; 4770e5c31af7Sopenharmony_ci 4771e5c31af7Sopenharmony_ci ${DECLARATIONS} 4772e5c31af7Sopenharmony_ci 4773e5c31af7Sopenharmony_ci void main() 4774e5c31af7Sopenharmony_ci { 4775e5c31af7Sopenharmony_ci ${SETUP} 4776e5c31af7Sopenharmony_ci out0 = vec3(in0, in1); 4777e5c31af7Sopenharmony_ci ${OUTPUT} 4778e5c31af7Sopenharmony_ci } 4779e5c31af7Sopenharmony_ci "" 4780e5c31af7Sopenharmony_ci end 4781e5c31af7Sopenharmony_ci 4782e5c31af7Sopenharmony_ci case bvec2_float_to_ivec3 4783e5c31af7Sopenharmony_ci values 4784e5c31af7Sopenharmony_ci { 4785e5c31af7Sopenharmony_ci 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) ]; 4786e5c31af7Sopenharmony_ci input float in1 = [ 2.0 | 36.8125 | 0.0 | -20.125 | 1.0 | -0.5 | -8.25 | 3.5 ]; 4787e5c31af7Sopenharmony_ci 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) ]; 4788e5c31af7Sopenharmony_ci } 4789e5c31af7Sopenharmony_ci 4790e5c31af7Sopenharmony_ci both "" 4791e5c31af7Sopenharmony_ci precision mediump float; 4792e5c31af7Sopenharmony_ci precision mediump int; 4793e5c31af7Sopenharmony_ci 4794e5c31af7Sopenharmony_ci ${DECLARATIONS} 4795e5c31af7Sopenharmony_ci 4796e5c31af7Sopenharmony_ci void main() 4797e5c31af7Sopenharmony_ci { 4798e5c31af7Sopenharmony_ci ${SETUP} 4799e5c31af7Sopenharmony_ci out0 = ivec3(in0, in1); 4800e5c31af7Sopenharmony_ci ${OUTPUT} 4801e5c31af7Sopenharmony_ci } 4802e5c31af7Sopenharmony_ci "" 4803e5c31af7Sopenharmony_ci end 4804e5c31af7Sopenharmony_ci 4805e5c31af7Sopenharmony_ci case bvec2_float_to_bvec3 4806e5c31af7Sopenharmony_ci values 4807e5c31af7Sopenharmony_ci { 4808e5c31af7Sopenharmony_ci 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) ]; 4809e5c31af7Sopenharmony_ci input float in1 = [ 2.0 | 36.8125 | 0.0 | -20.125 | 1.0 | -0.5 | -8.25 | 3.5 ]; 4810e5c31af7Sopenharmony_ci 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) ]; 4811e5c31af7Sopenharmony_ci } 4812e5c31af7Sopenharmony_ci 4813e5c31af7Sopenharmony_ci both "" 4814e5c31af7Sopenharmony_ci precision mediump float; 4815e5c31af7Sopenharmony_ci precision mediump int; 4816e5c31af7Sopenharmony_ci 4817e5c31af7Sopenharmony_ci ${DECLARATIONS} 4818e5c31af7Sopenharmony_ci 4819e5c31af7Sopenharmony_ci void main() 4820e5c31af7Sopenharmony_ci { 4821e5c31af7Sopenharmony_ci ${SETUP} 4822e5c31af7Sopenharmony_ci out0 = bvec3(in0, in1); 4823e5c31af7Sopenharmony_ci ${OUTPUT} 4824e5c31af7Sopenharmony_ci } 4825e5c31af7Sopenharmony_ci "" 4826e5c31af7Sopenharmony_ci end 4827e5c31af7Sopenharmony_ci 4828e5c31af7Sopenharmony_ci case bvec2_int_to_vec3 4829e5c31af7Sopenharmony_ci values 4830e5c31af7Sopenharmony_ci { 4831e5c31af7Sopenharmony_ci 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) ]; 4832e5c31af7Sopenharmony_ci input int in1 = [ 0 | 255 | 1 | 2 | 8 | 11 | -192 | 5 | -12 | -66 ]; 4833e5c31af7Sopenharmony_ci 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) ]; 4834e5c31af7Sopenharmony_ci } 4835e5c31af7Sopenharmony_ci 4836e5c31af7Sopenharmony_ci both "" 4837e5c31af7Sopenharmony_ci precision mediump float; 4838e5c31af7Sopenharmony_ci precision mediump int; 4839e5c31af7Sopenharmony_ci 4840e5c31af7Sopenharmony_ci ${DECLARATIONS} 4841e5c31af7Sopenharmony_ci 4842e5c31af7Sopenharmony_ci void main() 4843e5c31af7Sopenharmony_ci { 4844e5c31af7Sopenharmony_ci ${SETUP} 4845e5c31af7Sopenharmony_ci out0 = vec3(in0, in1); 4846e5c31af7Sopenharmony_ci ${OUTPUT} 4847e5c31af7Sopenharmony_ci } 4848e5c31af7Sopenharmony_ci "" 4849e5c31af7Sopenharmony_ci end 4850e5c31af7Sopenharmony_ci 4851e5c31af7Sopenharmony_ci case bvec2_int_to_ivec3 4852e5c31af7Sopenharmony_ci values 4853e5c31af7Sopenharmony_ci { 4854e5c31af7Sopenharmony_ci 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) ]; 4855e5c31af7Sopenharmony_ci input int in1 = [ 0 | 255 | 1 | 2 | 8 | 11 | -192 | 5 | -12 | -66 ]; 4856e5c31af7Sopenharmony_ci 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) ]; 4857e5c31af7Sopenharmony_ci } 4858e5c31af7Sopenharmony_ci 4859e5c31af7Sopenharmony_ci both "" 4860e5c31af7Sopenharmony_ci precision mediump float; 4861e5c31af7Sopenharmony_ci precision mediump int; 4862e5c31af7Sopenharmony_ci 4863e5c31af7Sopenharmony_ci ${DECLARATIONS} 4864e5c31af7Sopenharmony_ci 4865e5c31af7Sopenharmony_ci void main() 4866e5c31af7Sopenharmony_ci { 4867e5c31af7Sopenharmony_ci ${SETUP} 4868e5c31af7Sopenharmony_ci out0 = ivec3(in0, in1); 4869e5c31af7Sopenharmony_ci ${OUTPUT} 4870e5c31af7Sopenharmony_ci } 4871e5c31af7Sopenharmony_ci "" 4872e5c31af7Sopenharmony_ci end 4873e5c31af7Sopenharmony_ci 4874e5c31af7Sopenharmony_ci case bvec2_int_to_bvec3 4875e5c31af7Sopenharmony_ci values 4876e5c31af7Sopenharmony_ci { 4877e5c31af7Sopenharmony_ci 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) ]; 4878e5c31af7Sopenharmony_ci input int in1 = [ 0 | 255 | 1 | 2 | 8 | 11 | -192 | 5 | -12 | -66 ]; 4879e5c31af7Sopenharmony_ci 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) ]; 4880e5c31af7Sopenharmony_ci } 4881e5c31af7Sopenharmony_ci 4882e5c31af7Sopenharmony_ci both "" 4883e5c31af7Sopenharmony_ci precision mediump float; 4884e5c31af7Sopenharmony_ci precision mediump int; 4885e5c31af7Sopenharmony_ci 4886e5c31af7Sopenharmony_ci ${DECLARATIONS} 4887e5c31af7Sopenharmony_ci 4888e5c31af7Sopenharmony_ci void main() 4889e5c31af7Sopenharmony_ci { 4890e5c31af7Sopenharmony_ci ${SETUP} 4891e5c31af7Sopenharmony_ci out0 = bvec3(in0, in1); 4892e5c31af7Sopenharmony_ci ${OUTPUT} 4893e5c31af7Sopenharmony_ci } 4894e5c31af7Sopenharmony_ci "" 4895e5c31af7Sopenharmony_ci end 4896e5c31af7Sopenharmony_ci 4897e5c31af7Sopenharmony_ci case bool_ivec2_to_vec3 4898e5c31af7Sopenharmony_ci values 4899e5c31af7Sopenharmony_ci { 4900e5c31af7Sopenharmony_ci input bool in0 = [ false | true | false | true | true ]; 4901e5c31af7Sopenharmony_ci input ivec2 in1 = [ ivec2(0, 0) | ivec2(0, -2) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(1, 1) ]; 4902e5c31af7Sopenharmony_ci 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) ]; 4903e5c31af7Sopenharmony_ci } 4904e5c31af7Sopenharmony_ci 4905e5c31af7Sopenharmony_ci both "" 4906e5c31af7Sopenharmony_ci precision mediump float; 4907e5c31af7Sopenharmony_ci precision mediump int; 4908e5c31af7Sopenharmony_ci 4909e5c31af7Sopenharmony_ci ${DECLARATIONS} 4910e5c31af7Sopenharmony_ci 4911e5c31af7Sopenharmony_ci void main() 4912e5c31af7Sopenharmony_ci { 4913e5c31af7Sopenharmony_ci ${SETUP} 4914e5c31af7Sopenharmony_ci out0 = vec3(in0, in1); 4915e5c31af7Sopenharmony_ci ${OUTPUT} 4916e5c31af7Sopenharmony_ci } 4917e5c31af7Sopenharmony_ci "" 4918e5c31af7Sopenharmony_ci end 4919e5c31af7Sopenharmony_ci 4920e5c31af7Sopenharmony_ci case bool_ivec2_to_ivec3 4921e5c31af7Sopenharmony_ci values 4922e5c31af7Sopenharmony_ci { 4923e5c31af7Sopenharmony_ci input bool in0 = [ false | true | false | true | true ]; 4924e5c31af7Sopenharmony_ci input ivec2 in1 = [ ivec2(0, 0) | ivec2(0, -2) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(1, 1) ]; 4925e5c31af7Sopenharmony_ci output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 0, -2) | ivec3(0, 0, 0) | ivec3(1, -32, 64) | ivec3(1, 1, 1) ]; 4926e5c31af7Sopenharmony_ci } 4927e5c31af7Sopenharmony_ci 4928e5c31af7Sopenharmony_ci both "" 4929e5c31af7Sopenharmony_ci precision mediump float; 4930e5c31af7Sopenharmony_ci precision mediump int; 4931e5c31af7Sopenharmony_ci 4932e5c31af7Sopenharmony_ci ${DECLARATIONS} 4933e5c31af7Sopenharmony_ci 4934e5c31af7Sopenharmony_ci void main() 4935e5c31af7Sopenharmony_ci { 4936e5c31af7Sopenharmony_ci ${SETUP} 4937e5c31af7Sopenharmony_ci out0 = ivec3(in0, in1); 4938e5c31af7Sopenharmony_ci ${OUTPUT} 4939e5c31af7Sopenharmony_ci } 4940e5c31af7Sopenharmony_ci "" 4941e5c31af7Sopenharmony_ci end 4942e5c31af7Sopenharmony_ci 4943e5c31af7Sopenharmony_ci case bool_ivec2_to_bvec3 4944e5c31af7Sopenharmony_ci values 4945e5c31af7Sopenharmony_ci { 4946e5c31af7Sopenharmony_ci input bool in0 = [ false | true | false | true | true ]; 4947e5c31af7Sopenharmony_ci input ivec2 in1 = [ ivec2(0, 0) | ivec2(0, -2) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(1, 1) ]; 4948e5c31af7Sopenharmony_ci output bvec3 out0 = [ bvec3(false, false, false) | bvec3(true, false, true) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(true, true, true) ]; 4949e5c31af7Sopenharmony_ci } 4950e5c31af7Sopenharmony_ci 4951e5c31af7Sopenharmony_ci both "" 4952e5c31af7Sopenharmony_ci precision mediump float; 4953e5c31af7Sopenharmony_ci precision mediump int; 4954e5c31af7Sopenharmony_ci 4955e5c31af7Sopenharmony_ci ${DECLARATIONS} 4956e5c31af7Sopenharmony_ci 4957e5c31af7Sopenharmony_ci void main() 4958e5c31af7Sopenharmony_ci { 4959e5c31af7Sopenharmony_ci ${SETUP} 4960e5c31af7Sopenharmony_ci out0 = bvec3(in0, in1); 4961e5c31af7Sopenharmony_ci ${OUTPUT} 4962e5c31af7Sopenharmony_ci } 4963e5c31af7Sopenharmony_ci "" 4964e5c31af7Sopenharmony_ci end 4965e5c31af7Sopenharmony_ci 4966e5c31af7Sopenharmony_ci case float_float_to_vec2 4967e5c31af7Sopenharmony_ci values 4968e5c31af7Sopenharmony_ci { 4969e5c31af7Sopenharmony_ci input float in0 = [ 2.0 | 3.5 | -8.25 | -0.5 | 0.0 | -20.125 | 36.8125 | 1.0 ]; 4970e5c31af7Sopenharmony_ci input float in1 = [ 3.5 | -20.125 | -0.5 | 2.0 | 1.0 | 0.0 | 36.8125 | -8.25 ]; 4971e5c31af7Sopenharmony_ci 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) ]; 4972e5c31af7Sopenharmony_ci } 4973e5c31af7Sopenharmony_ci 4974e5c31af7Sopenharmony_ci both "" 4975e5c31af7Sopenharmony_ci precision mediump float; 4976e5c31af7Sopenharmony_ci precision mediump int; 4977e5c31af7Sopenharmony_ci 4978e5c31af7Sopenharmony_ci ${DECLARATIONS} 4979e5c31af7Sopenharmony_ci 4980e5c31af7Sopenharmony_ci void main() 4981e5c31af7Sopenharmony_ci { 4982e5c31af7Sopenharmony_ci ${SETUP} 4983e5c31af7Sopenharmony_ci out0 = vec2(in0, in1); 4984e5c31af7Sopenharmony_ci ${OUTPUT} 4985e5c31af7Sopenharmony_ci } 4986e5c31af7Sopenharmony_ci "" 4987e5c31af7Sopenharmony_ci end 4988e5c31af7Sopenharmony_ci 4989e5c31af7Sopenharmony_ci case float_float_to_ivec2 4990e5c31af7Sopenharmony_ci values 4991e5c31af7Sopenharmony_ci { 4992e5c31af7Sopenharmony_ci input float in0 = [ 2.0 | 3.5 | -8.25 | -0.5 | 0.0 | -20.125 | 36.8125 | 1.0 ]; 4993e5c31af7Sopenharmony_ci input float in1 = [ 3.5 | -20.125 | -0.5 | 2.0 | 1.0 | 0.0 | 36.8125 | -8.25 ]; 4994e5c31af7Sopenharmony_ci 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) ]; 4995e5c31af7Sopenharmony_ci } 4996e5c31af7Sopenharmony_ci 4997e5c31af7Sopenharmony_ci both "" 4998e5c31af7Sopenharmony_ci precision mediump float; 4999e5c31af7Sopenharmony_ci precision mediump int; 5000e5c31af7Sopenharmony_ci 5001e5c31af7Sopenharmony_ci ${DECLARATIONS} 5002e5c31af7Sopenharmony_ci 5003e5c31af7Sopenharmony_ci void main() 5004e5c31af7Sopenharmony_ci { 5005e5c31af7Sopenharmony_ci ${SETUP} 5006e5c31af7Sopenharmony_ci out0 = ivec2(in0, in1); 5007e5c31af7Sopenharmony_ci ${OUTPUT} 5008e5c31af7Sopenharmony_ci } 5009e5c31af7Sopenharmony_ci "" 5010e5c31af7Sopenharmony_ci end 5011e5c31af7Sopenharmony_ci 5012e5c31af7Sopenharmony_ci case float_float_to_bvec2 5013e5c31af7Sopenharmony_ci values 5014e5c31af7Sopenharmony_ci { 5015e5c31af7Sopenharmony_ci input float in0 = [ 2.0 | 3.5 | -8.25 | -0.5 | 0.0 | -20.125 | 36.8125 | 1.0 ]; 5016e5c31af7Sopenharmony_ci input float in1 = [ 3.5 | -20.125 | -0.5 | 2.0 | 1.0 | 0.0 | 36.8125 | -8.25 ]; 5017e5c31af7Sopenharmony_ci 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) ]; 5018e5c31af7Sopenharmony_ci } 5019e5c31af7Sopenharmony_ci 5020e5c31af7Sopenharmony_ci both "" 5021e5c31af7Sopenharmony_ci precision mediump float; 5022e5c31af7Sopenharmony_ci precision mediump int; 5023e5c31af7Sopenharmony_ci 5024e5c31af7Sopenharmony_ci ${DECLARATIONS} 5025e5c31af7Sopenharmony_ci 5026e5c31af7Sopenharmony_ci void main() 5027e5c31af7Sopenharmony_ci { 5028e5c31af7Sopenharmony_ci ${SETUP} 5029e5c31af7Sopenharmony_ci out0 = bvec2(in0, in1); 5030e5c31af7Sopenharmony_ci ${OUTPUT} 5031e5c31af7Sopenharmony_ci } 5032e5c31af7Sopenharmony_ci "" 5033e5c31af7Sopenharmony_ci end 5034e5c31af7Sopenharmony_ci 5035e5c31af7Sopenharmony_ci case int_int_to_vec2 5036e5c31af7Sopenharmony_ci values 5037e5c31af7Sopenharmony_ci { 5038e5c31af7Sopenharmony_ci input int in0 = [ 8 | 255 | -192 | 2 | 0 | 1 | -12 | 11 | -66 | 5 ]; 5039e5c31af7Sopenharmony_ci input int in1 = [ -66 | 2 | 255 | 8 | -12 | 5 | -192 | 0 | 1 | 11 ]; 5040e5c31af7Sopenharmony_ci 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) ]; 5041e5c31af7Sopenharmony_ci } 5042e5c31af7Sopenharmony_ci 5043e5c31af7Sopenharmony_ci both "" 5044e5c31af7Sopenharmony_ci precision mediump float; 5045e5c31af7Sopenharmony_ci precision mediump int; 5046e5c31af7Sopenharmony_ci 5047e5c31af7Sopenharmony_ci ${DECLARATIONS} 5048e5c31af7Sopenharmony_ci 5049e5c31af7Sopenharmony_ci void main() 5050e5c31af7Sopenharmony_ci { 5051e5c31af7Sopenharmony_ci ${SETUP} 5052e5c31af7Sopenharmony_ci out0 = vec2(in0, in1); 5053e5c31af7Sopenharmony_ci ${OUTPUT} 5054e5c31af7Sopenharmony_ci } 5055e5c31af7Sopenharmony_ci "" 5056e5c31af7Sopenharmony_ci end 5057e5c31af7Sopenharmony_ci 5058e5c31af7Sopenharmony_ci case int_int_to_ivec2 5059e5c31af7Sopenharmony_ci values 5060e5c31af7Sopenharmony_ci { 5061e5c31af7Sopenharmony_ci input int in0 = [ 8 | 255 | -192 | 2 | 0 | 1 | -12 | 11 | -66 | 5 ]; 5062e5c31af7Sopenharmony_ci input int in1 = [ -66 | 2 | 255 | 8 | -12 | 5 | -192 | 0 | 1 | 11 ]; 5063e5c31af7Sopenharmony_ci 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) ]; 5064e5c31af7Sopenharmony_ci } 5065e5c31af7Sopenharmony_ci 5066e5c31af7Sopenharmony_ci both "" 5067e5c31af7Sopenharmony_ci precision mediump float; 5068e5c31af7Sopenharmony_ci precision mediump int; 5069e5c31af7Sopenharmony_ci 5070e5c31af7Sopenharmony_ci ${DECLARATIONS} 5071e5c31af7Sopenharmony_ci 5072e5c31af7Sopenharmony_ci void main() 5073e5c31af7Sopenharmony_ci { 5074e5c31af7Sopenharmony_ci ${SETUP} 5075e5c31af7Sopenharmony_ci out0 = ivec2(in0, in1); 5076e5c31af7Sopenharmony_ci ${OUTPUT} 5077e5c31af7Sopenharmony_ci } 5078e5c31af7Sopenharmony_ci "" 5079e5c31af7Sopenharmony_ci end 5080e5c31af7Sopenharmony_ci 5081e5c31af7Sopenharmony_ci case int_int_to_bvec2 5082e5c31af7Sopenharmony_ci values 5083e5c31af7Sopenharmony_ci { 5084e5c31af7Sopenharmony_ci input int in0 = [ 8 | 255 | -192 | 2 | 0 | 1 | -12 | 11 | -66 | 5 ]; 5085e5c31af7Sopenharmony_ci input int in1 = [ -66 | 2 | 255 | 8 | -12 | 5 | -192 | 0 | 1 | 11 ]; 5086e5c31af7Sopenharmony_ci 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) ]; 5087e5c31af7Sopenharmony_ci } 5088e5c31af7Sopenharmony_ci 5089e5c31af7Sopenharmony_ci both "" 5090e5c31af7Sopenharmony_ci precision mediump float; 5091e5c31af7Sopenharmony_ci precision mediump int; 5092e5c31af7Sopenharmony_ci 5093e5c31af7Sopenharmony_ci ${DECLARATIONS} 5094e5c31af7Sopenharmony_ci 5095e5c31af7Sopenharmony_ci void main() 5096e5c31af7Sopenharmony_ci { 5097e5c31af7Sopenharmony_ci ${SETUP} 5098e5c31af7Sopenharmony_ci out0 = bvec2(in0, in1); 5099e5c31af7Sopenharmony_ci ${OUTPUT} 5100e5c31af7Sopenharmony_ci } 5101e5c31af7Sopenharmony_ci "" 5102e5c31af7Sopenharmony_ci end 5103e5c31af7Sopenharmony_ci 5104e5c31af7Sopenharmony_ci case bool_bool_to_vec2 5105e5c31af7Sopenharmony_ci values 5106e5c31af7Sopenharmony_ci { 5107e5c31af7Sopenharmony_ci input bool in0 = [ true | false ]; 5108e5c31af7Sopenharmony_ci input bool in1 = [ true | false ]; 5109e5c31af7Sopenharmony_ci output vec2 out0 = [ vec2(1.0, 1.0) | vec2(0.0, 0.0) ]; 5110e5c31af7Sopenharmony_ci } 5111e5c31af7Sopenharmony_ci 5112e5c31af7Sopenharmony_ci both "" 5113e5c31af7Sopenharmony_ci precision mediump float; 5114e5c31af7Sopenharmony_ci precision mediump int; 5115e5c31af7Sopenharmony_ci 5116e5c31af7Sopenharmony_ci ${DECLARATIONS} 5117e5c31af7Sopenharmony_ci 5118e5c31af7Sopenharmony_ci void main() 5119e5c31af7Sopenharmony_ci { 5120e5c31af7Sopenharmony_ci ${SETUP} 5121e5c31af7Sopenharmony_ci out0 = vec2(in0, in1); 5122e5c31af7Sopenharmony_ci ${OUTPUT} 5123e5c31af7Sopenharmony_ci } 5124e5c31af7Sopenharmony_ci "" 5125e5c31af7Sopenharmony_ci end 5126e5c31af7Sopenharmony_ci 5127e5c31af7Sopenharmony_ci case bool_bool_to_ivec2 5128e5c31af7Sopenharmony_ci values 5129e5c31af7Sopenharmony_ci { 5130e5c31af7Sopenharmony_ci input bool in0 = [ true | false ]; 5131e5c31af7Sopenharmony_ci input bool in1 = [ true | false ]; 5132e5c31af7Sopenharmony_ci output ivec2 out0 = [ ivec2(1, 1) | ivec2(0, 0) ]; 5133e5c31af7Sopenharmony_ci } 5134e5c31af7Sopenharmony_ci 5135e5c31af7Sopenharmony_ci both "" 5136e5c31af7Sopenharmony_ci precision mediump float; 5137e5c31af7Sopenharmony_ci precision mediump int; 5138e5c31af7Sopenharmony_ci 5139e5c31af7Sopenharmony_ci ${DECLARATIONS} 5140e5c31af7Sopenharmony_ci 5141e5c31af7Sopenharmony_ci void main() 5142e5c31af7Sopenharmony_ci { 5143e5c31af7Sopenharmony_ci ${SETUP} 5144e5c31af7Sopenharmony_ci out0 = ivec2(in0, in1); 5145e5c31af7Sopenharmony_ci ${OUTPUT} 5146e5c31af7Sopenharmony_ci } 5147e5c31af7Sopenharmony_ci "" 5148e5c31af7Sopenharmony_ci end 5149e5c31af7Sopenharmony_ci 5150e5c31af7Sopenharmony_ci case bool_bool_to_bvec2 5151e5c31af7Sopenharmony_ci values 5152e5c31af7Sopenharmony_ci { 5153e5c31af7Sopenharmony_ci input bool in0 = [ true | false ]; 5154e5c31af7Sopenharmony_ci input bool in1 = [ true | false ]; 5155e5c31af7Sopenharmony_ci output bvec2 out0 = [ bvec2(true, true) | bvec2(false, false) ]; 5156e5c31af7Sopenharmony_ci } 5157e5c31af7Sopenharmony_ci 5158e5c31af7Sopenharmony_ci both "" 5159e5c31af7Sopenharmony_ci precision mediump float; 5160e5c31af7Sopenharmony_ci precision mediump int; 5161e5c31af7Sopenharmony_ci 5162e5c31af7Sopenharmony_ci ${DECLARATIONS} 5163e5c31af7Sopenharmony_ci 5164e5c31af7Sopenharmony_ci void main() 5165e5c31af7Sopenharmony_ci { 5166e5c31af7Sopenharmony_ci ${SETUP} 5167e5c31af7Sopenharmony_ci out0 = bvec2(in0, in1); 5168e5c31af7Sopenharmony_ci ${OUTPUT} 5169e5c31af7Sopenharmony_ci } 5170e5c31af7Sopenharmony_ci "" 5171e5c31af7Sopenharmony_ci end 5172e5c31af7Sopenharmony_ci 5173e5c31af7Sopenharmony_ci case float_int_to_vec2 5174e5c31af7Sopenharmony_ci values 5175e5c31af7Sopenharmony_ci { 5176e5c31af7Sopenharmony_ci input float in0 = [ 1.0 | -0.5 | -20.125 | 0.0 | 3.5 | -8.25 | 36.8125 | 2.0 | 1.0 | 0.0 ]; 5177e5c31af7Sopenharmony_ci input int in1 = [ -192 | -66 | 255 | 1 | 2 | 0 | -12 | 5 | 11 | 8 ]; 5178e5c31af7Sopenharmony_ci 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) ]; 5179e5c31af7Sopenharmony_ci } 5180e5c31af7Sopenharmony_ci 5181e5c31af7Sopenharmony_ci both "" 5182e5c31af7Sopenharmony_ci precision mediump float; 5183e5c31af7Sopenharmony_ci precision mediump int; 5184e5c31af7Sopenharmony_ci 5185e5c31af7Sopenharmony_ci ${DECLARATIONS} 5186e5c31af7Sopenharmony_ci 5187e5c31af7Sopenharmony_ci void main() 5188e5c31af7Sopenharmony_ci { 5189e5c31af7Sopenharmony_ci ${SETUP} 5190e5c31af7Sopenharmony_ci out0 = vec2(in0, in1); 5191e5c31af7Sopenharmony_ci ${OUTPUT} 5192e5c31af7Sopenharmony_ci } 5193e5c31af7Sopenharmony_ci "" 5194e5c31af7Sopenharmony_ci end 5195e5c31af7Sopenharmony_ci 5196e5c31af7Sopenharmony_ci case float_int_to_ivec2 5197e5c31af7Sopenharmony_ci values 5198e5c31af7Sopenharmony_ci { 5199e5c31af7Sopenharmony_ci input float in0 = [ 1.0 | -0.5 | -20.125 | 0.0 | 3.5 | -8.25 | 36.8125 | 2.0 | 1.0 | 0.0 ]; 5200e5c31af7Sopenharmony_ci input int in1 = [ -192 | -66 | 255 | 1 | 2 | 0 | -12 | 5 | 11 | 8 ]; 5201e5c31af7Sopenharmony_ci 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) ]; 5202e5c31af7Sopenharmony_ci } 5203e5c31af7Sopenharmony_ci 5204e5c31af7Sopenharmony_ci both "" 5205e5c31af7Sopenharmony_ci precision mediump float; 5206e5c31af7Sopenharmony_ci precision mediump int; 5207e5c31af7Sopenharmony_ci 5208e5c31af7Sopenharmony_ci ${DECLARATIONS} 5209e5c31af7Sopenharmony_ci 5210e5c31af7Sopenharmony_ci void main() 5211e5c31af7Sopenharmony_ci { 5212e5c31af7Sopenharmony_ci ${SETUP} 5213e5c31af7Sopenharmony_ci out0 = ivec2(in0, in1); 5214e5c31af7Sopenharmony_ci ${OUTPUT} 5215e5c31af7Sopenharmony_ci } 5216e5c31af7Sopenharmony_ci "" 5217e5c31af7Sopenharmony_ci end 5218e5c31af7Sopenharmony_ci 5219e5c31af7Sopenharmony_ci case float_int_to_bvec2 5220e5c31af7Sopenharmony_ci values 5221e5c31af7Sopenharmony_ci { 5222e5c31af7Sopenharmony_ci input float in0 = [ 1.0 | -0.5 | -20.125 | 0.0 | 3.5 | -8.25 | 36.8125 | 2.0 | 1.0 | 0.0 ]; 5223e5c31af7Sopenharmony_ci input int in1 = [ -192 | -66 | 255 | 1 | 2 | 0 | -12 | 5 | 11 | 8 ]; 5224e5c31af7Sopenharmony_ci 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) ]; 5225e5c31af7Sopenharmony_ci } 5226e5c31af7Sopenharmony_ci 5227e5c31af7Sopenharmony_ci both "" 5228e5c31af7Sopenharmony_ci precision mediump float; 5229e5c31af7Sopenharmony_ci precision mediump int; 5230e5c31af7Sopenharmony_ci 5231e5c31af7Sopenharmony_ci ${DECLARATIONS} 5232e5c31af7Sopenharmony_ci 5233e5c31af7Sopenharmony_ci void main() 5234e5c31af7Sopenharmony_ci { 5235e5c31af7Sopenharmony_ci ${SETUP} 5236e5c31af7Sopenharmony_ci out0 = bvec2(in0, in1); 5237e5c31af7Sopenharmony_ci ${OUTPUT} 5238e5c31af7Sopenharmony_ci } 5239e5c31af7Sopenharmony_ci "" 5240e5c31af7Sopenharmony_ci end 5241e5c31af7Sopenharmony_ci 5242e5c31af7Sopenharmony_ci case float_bool_to_vec2 5243e5c31af7Sopenharmony_ci values 5244e5c31af7Sopenharmony_ci { 5245e5c31af7Sopenharmony_ci input float in0 = [ 2.0 | -20.125 | 0.0 | 1.0 | -8.25 | -0.5 | 36.8125 | 3.5 ]; 5246e5c31af7Sopenharmony_ci input bool in1 = [ true | false | false | false | true | true | false | true ]; 5247e5c31af7Sopenharmony_ci 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) ]; 5248e5c31af7Sopenharmony_ci } 5249e5c31af7Sopenharmony_ci 5250e5c31af7Sopenharmony_ci both "" 5251e5c31af7Sopenharmony_ci precision mediump float; 5252e5c31af7Sopenharmony_ci precision mediump int; 5253e5c31af7Sopenharmony_ci 5254e5c31af7Sopenharmony_ci ${DECLARATIONS} 5255e5c31af7Sopenharmony_ci 5256e5c31af7Sopenharmony_ci void main() 5257e5c31af7Sopenharmony_ci { 5258e5c31af7Sopenharmony_ci ${SETUP} 5259e5c31af7Sopenharmony_ci out0 = vec2(in0, in1); 5260e5c31af7Sopenharmony_ci ${OUTPUT} 5261e5c31af7Sopenharmony_ci } 5262e5c31af7Sopenharmony_ci "" 5263e5c31af7Sopenharmony_ci end 5264e5c31af7Sopenharmony_ci 5265e5c31af7Sopenharmony_ci case float_bool_to_ivec2 5266e5c31af7Sopenharmony_ci values 5267e5c31af7Sopenharmony_ci { 5268e5c31af7Sopenharmony_ci input float in0 = [ 2.0 | -20.125 | 0.0 | 1.0 | -8.25 | -0.5 | 36.8125 | 3.5 ]; 5269e5c31af7Sopenharmony_ci input bool in1 = [ true | false | false | false | true | true | false | true ]; 5270e5c31af7Sopenharmony_ci 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) ]; 5271e5c31af7Sopenharmony_ci } 5272e5c31af7Sopenharmony_ci 5273e5c31af7Sopenharmony_ci both "" 5274e5c31af7Sopenharmony_ci precision mediump float; 5275e5c31af7Sopenharmony_ci precision mediump int; 5276e5c31af7Sopenharmony_ci 5277e5c31af7Sopenharmony_ci ${DECLARATIONS} 5278e5c31af7Sopenharmony_ci 5279e5c31af7Sopenharmony_ci void main() 5280e5c31af7Sopenharmony_ci { 5281e5c31af7Sopenharmony_ci ${SETUP} 5282e5c31af7Sopenharmony_ci out0 = ivec2(in0, in1); 5283e5c31af7Sopenharmony_ci ${OUTPUT} 5284e5c31af7Sopenharmony_ci } 5285e5c31af7Sopenharmony_ci "" 5286e5c31af7Sopenharmony_ci end 5287e5c31af7Sopenharmony_ci 5288e5c31af7Sopenharmony_ci case float_bool_to_bvec2 5289e5c31af7Sopenharmony_ci values 5290e5c31af7Sopenharmony_ci { 5291e5c31af7Sopenharmony_ci input float in0 = [ 2.0 | -20.125 | 0.0 | 1.0 | -8.25 | -0.5 | 36.8125 | 3.5 ]; 5292e5c31af7Sopenharmony_ci input bool in1 = [ true | false | false | false | true | true | false | true ]; 5293e5c31af7Sopenharmony_ci 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) ]; 5294e5c31af7Sopenharmony_ci } 5295e5c31af7Sopenharmony_ci 5296e5c31af7Sopenharmony_ci both "" 5297e5c31af7Sopenharmony_ci precision mediump float; 5298e5c31af7Sopenharmony_ci precision mediump int; 5299e5c31af7Sopenharmony_ci 5300e5c31af7Sopenharmony_ci ${DECLARATIONS} 5301e5c31af7Sopenharmony_ci 5302e5c31af7Sopenharmony_ci void main() 5303e5c31af7Sopenharmony_ci { 5304e5c31af7Sopenharmony_ci ${SETUP} 5305e5c31af7Sopenharmony_ci out0 = bvec2(in0, in1); 5306e5c31af7Sopenharmony_ci ${OUTPUT} 5307e5c31af7Sopenharmony_ci } 5308e5c31af7Sopenharmony_ci "" 5309e5c31af7Sopenharmony_ci end 5310e5c31af7Sopenharmony_ci 5311e5c31af7Sopenharmony_ci case int_bool_to_vec2 5312e5c31af7Sopenharmony_ci values 5313e5c31af7Sopenharmony_ci { 5314e5c31af7Sopenharmony_ci input int in0 = [ 8 | 255 | 11 | -66 | 0 | -192 | -12 | 1 | 5 | 2 ]; 5315e5c31af7Sopenharmony_ci input bool in1 = [ true | false | true | false | true | false | false | true | false | true ]; 5316e5c31af7Sopenharmony_ci 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) ]; 5317e5c31af7Sopenharmony_ci } 5318e5c31af7Sopenharmony_ci 5319e5c31af7Sopenharmony_ci both "" 5320e5c31af7Sopenharmony_ci precision mediump float; 5321e5c31af7Sopenharmony_ci precision mediump int; 5322e5c31af7Sopenharmony_ci 5323e5c31af7Sopenharmony_ci ${DECLARATIONS} 5324e5c31af7Sopenharmony_ci 5325e5c31af7Sopenharmony_ci void main() 5326e5c31af7Sopenharmony_ci { 5327e5c31af7Sopenharmony_ci ${SETUP} 5328e5c31af7Sopenharmony_ci out0 = vec2(in0, in1); 5329e5c31af7Sopenharmony_ci ${OUTPUT} 5330e5c31af7Sopenharmony_ci } 5331e5c31af7Sopenharmony_ci "" 5332e5c31af7Sopenharmony_ci end 5333e5c31af7Sopenharmony_ci 5334e5c31af7Sopenharmony_ci case int_bool_to_ivec2 5335e5c31af7Sopenharmony_ci values 5336e5c31af7Sopenharmony_ci { 5337e5c31af7Sopenharmony_ci input int in0 = [ 8 | 255 | 11 | -66 | 0 | -192 | -12 | 1 | 5 | 2 ]; 5338e5c31af7Sopenharmony_ci input bool in1 = [ true | false | true | false | true | false | false | true | false | true ]; 5339e5c31af7Sopenharmony_ci 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) ]; 5340e5c31af7Sopenharmony_ci } 5341e5c31af7Sopenharmony_ci 5342e5c31af7Sopenharmony_ci both "" 5343e5c31af7Sopenharmony_ci precision mediump float; 5344e5c31af7Sopenharmony_ci precision mediump int; 5345e5c31af7Sopenharmony_ci 5346e5c31af7Sopenharmony_ci ${DECLARATIONS} 5347e5c31af7Sopenharmony_ci 5348e5c31af7Sopenharmony_ci void main() 5349e5c31af7Sopenharmony_ci { 5350e5c31af7Sopenharmony_ci ${SETUP} 5351e5c31af7Sopenharmony_ci out0 = ivec2(in0, in1); 5352e5c31af7Sopenharmony_ci ${OUTPUT} 5353e5c31af7Sopenharmony_ci } 5354e5c31af7Sopenharmony_ci "" 5355e5c31af7Sopenharmony_ci end 5356e5c31af7Sopenharmony_ci 5357e5c31af7Sopenharmony_ci case int_bool_to_bvec2 5358e5c31af7Sopenharmony_ci values 5359e5c31af7Sopenharmony_ci { 5360e5c31af7Sopenharmony_ci input int in0 = [ 8 | 255 | 11 | -66 | 0 | -192 | -12 | 1 | 5 | 2 ]; 5361e5c31af7Sopenharmony_ci input bool in1 = [ true | false | true | false | true | false | false | true | false | true ]; 5362e5c31af7Sopenharmony_ci 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) ]; 5363e5c31af7Sopenharmony_ci } 5364e5c31af7Sopenharmony_ci 5365e5c31af7Sopenharmony_ci both "" 5366e5c31af7Sopenharmony_ci precision mediump float; 5367e5c31af7Sopenharmony_ci precision mediump int; 5368e5c31af7Sopenharmony_ci 5369e5c31af7Sopenharmony_ci ${DECLARATIONS} 5370e5c31af7Sopenharmony_ci 5371e5c31af7Sopenharmony_ci void main() 5372e5c31af7Sopenharmony_ci { 5373e5c31af7Sopenharmony_ci ${SETUP} 5374e5c31af7Sopenharmony_ci out0 = bvec2(in0, in1); 5375e5c31af7Sopenharmony_ci ${OUTPUT} 5376e5c31af7Sopenharmony_ci } 5377e5c31af7Sopenharmony_ci "" 5378e5c31af7Sopenharmony_ci end 5379e5c31af7Sopenharmony_ci 5380e5c31af7Sopenharmony_ci 5381e5c31af7Sopenharmony_ciend # vector_combine 5382e5c31af7Sopenharmony_cigroup matrix_combine "Matrix Combine Constructors" 5383e5c31af7Sopenharmony_ci 5384e5c31af7Sopenharmony_ci case vec2_vec2_to_mat2 5385e5c31af7Sopenharmony_ci values 5386e5c31af7Sopenharmony_ci { 5387e5c31af7Sopenharmony_ci 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) ]; 5388e5c31af7Sopenharmony_ci 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) ]; 5389e5c31af7Sopenharmony_ci 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) ]; 5390e5c31af7Sopenharmony_ci } 5391e5c31af7Sopenharmony_ci 5392e5c31af7Sopenharmony_ci both "" 5393e5c31af7Sopenharmony_ci precision mediump float; 5394e5c31af7Sopenharmony_ci precision mediump int; 5395e5c31af7Sopenharmony_ci 5396e5c31af7Sopenharmony_ci ${DECLARATIONS} 5397e5c31af7Sopenharmony_ci 5398e5c31af7Sopenharmony_ci void main() 5399e5c31af7Sopenharmony_ci { 5400e5c31af7Sopenharmony_ci ${SETUP} 5401e5c31af7Sopenharmony_ci out0 = mat2(in0, in1); 5402e5c31af7Sopenharmony_ci ${OUTPUT} 5403e5c31af7Sopenharmony_ci } 5404e5c31af7Sopenharmony_ci "" 5405e5c31af7Sopenharmony_ci end 5406e5c31af7Sopenharmony_ci 5407e5c31af7Sopenharmony_ci case bvec2_bvec2_to_mat2 5408e5c31af7Sopenharmony_ci values 5409e5c31af7Sopenharmony_ci { 5410e5c31af7Sopenharmony_ci input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(false, false) | bvec2(true, true) ]; 5411e5c31af7Sopenharmony_ci input bvec2 in1 = [ bvec2(true, true) | bvec2(false, false) | bvec2(true, false) | bvec2(false, false) | bvec2(false, true) ]; 5412e5c31af7Sopenharmony_ci 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) ]; 5413e5c31af7Sopenharmony_ci } 5414e5c31af7Sopenharmony_ci 5415e5c31af7Sopenharmony_ci both "" 5416e5c31af7Sopenharmony_ci precision mediump float; 5417e5c31af7Sopenharmony_ci precision mediump int; 5418e5c31af7Sopenharmony_ci 5419e5c31af7Sopenharmony_ci ${DECLARATIONS} 5420e5c31af7Sopenharmony_ci 5421e5c31af7Sopenharmony_ci void main() 5422e5c31af7Sopenharmony_ci { 5423e5c31af7Sopenharmony_ci ${SETUP} 5424e5c31af7Sopenharmony_ci out0 = mat2(in0, in1); 5425e5c31af7Sopenharmony_ci ${OUTPUT} 5426e5c31af7Sopenharmony_ci } 5427e5c31af7Sopenharmony_ci "" 5428e5c31af7Sopenharmony_ci end 5429e5c31af7Sopenharmony_ci 5430e5c31af7Sopenharmony_ci case float_float_float_float_to_mat2 5431e5c31af7Sopenharmony_ci values 5432e5c31af7Sopenharmony_ci { 5433e5c31af7Sopenharmony_ci input float in0 = [ 0.0 | -0.5 | -20.125 | 2.0 | 36.8125 | 1.0 | 3.5 | -8.25 ]; 5434e5c31af7Sopenharmony_ci input float in1 = [ -8.25 | 2.0 | -0.5 | -20.125 | 3.5 | 1.0 | 36.8125 | 0.0 ]; 5435e5c31af7Sopenharmony_ci input float in2 = [ 36.8125 | -8.25 | 3.5 | 2.0 | -0.5 | -20.125 | 1.0 | 0.0 ]; 5436e5c31af7Sopenharmony_ci input float in3 = [ 36.8125 | 0.0 | 2.0 | 3.5 | -8.25 | -0.5 | -20.125 | 1.0 ]; 5437e5c31af7Sopenharmony_ci 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) ]; 5438e5c31af7Sopenharmony_ci } 5439e5c31af7Sopenharmony_ci 5440e5c31af7Sopenharmony_ci both "" 5441e5c31af7Sopenharmony_ci precision mediump float; 5442e5c31af7Sopenharmony_ci precision mediump int; 5443e5c31af7Sopenharmony_ci 5444e5c31af7Sopenharmony_ci ${DECLARATIONS} 5445e5c31af7Sopenharmony_ci 5446e5c31af7Sopenharmony_ci void main() 5447e5c31af7Sopenharmony_ci { 5448e5c31af7Sopenharmony_ci ${SETUP} 5449e5c31af7Sopenharmony_ci out0 = mat2(in0, in1, in2, in3); 5450e5c31af7Sopenharmony_ci ${OUTPUT} 5451e5c31af7Sopenharmony_ci } 5452e5c31af7Sopenharmony_ci "" 5453e5c31af7Sopenharmony_ci end 5454e5c31af7Sopenharmony_ci 5455e5c31af7Sopenharmony_ci case int_int_int_int_to_mat2 5456e5c31af7Sopenharmony_ci values 5457e5c31af7Sopenharmony_ci { 5458e5c31af7Sopenharmony_ci input int in0 = [ 2 | 0 | -66 | 8 | 1 | 255 | 5 | -12 | 11 | -192 ]; 5459e5c31af7Sopenharmony_ci input int in1 = [ -192 | 2 | 5 | -12 | -66 | 255 | 8 | 1 | 11 | 0 ]; 5460e5c31af7Sopenharmony_ci input int in2 = [ 2 | 11 | -192 | 255 | 1 | 5 | 0 | -12 | 8 | -66 ]; 5461e5c31af7Sopenharmony_ci input int in3 = [ 255 | 0 | 11 | -66 | 2 | 8 | -192 | 1 | -12 | 5 ]; 5462e5c31af7Sopenharmony_ci 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) ]; 5463e5c31af7Sopenharmony_ci } 5464e5c31af7Sopenharmony_ci 5465e5c31af7Sopenharmony_ci both "" 5466e5c31af7Sopenharmony_ci precision mediump float; 5467e5c31af7Sopenharmony_ci precision mediump int; 5468e5c31af7Sopenharmony_ci 5469e5c31af7Sopenharmony_ci ${DECLARATIONS} 5470e5c31af7Sopenharmony_ci 5471e5c31af7Sopenharmony_ci void main() 5472e5c31af7Sopenharmony_ci { 5473e5c31af7Sopenharmony_ci ${SETUP} 5474e5c31af7Sopenharmony_ci out0 = mat2(in0, in1, in2, in3); 5475e5c31af7Sopenharmony_ci ${OUTPUT} 5476e5c31af7Sopenharmony_ci } 5477e5c31af7Sopenharmony_ci "" 5478e5c31af7Sopenharmony_ci end 5479e5c31af7Sopenharmony_ci 5480e5c31af7Sopenharmony_ci case bool_bool_bool_bool_to_mat2 5481e5c31af7Sopenharmony_ci values 5482e5c31af7Sopenharmony_ci { 5483e5c31af7Sopenharmony_ci input bool in0 = [ false | true ]; 5484e5c31af7Sopenharmony_ci input bool in1 = [ false | true ]; 5485e5c31af7Sopenharmony_ci input bool in2 = [ true | false ]; 5486e5c31af7Sopenharmony_ci input bool in3 = [ false | true ]; 5487e5c31af7Sopenharmony_ci output mat2 out0 = [ mat2(0.0, 0.0, 1.0, 0.0) | mat2(1.0, 1.0, 0.0, 1.0) ]; 5488e5c31af7Sopenharmony_ci } 5489e5c31af7Sopenharmony_ci 5490e5c31af7Sopenharmony_ci both "" 5491e5c31af7Sopenharmony_ci precision mediump float; 5492e5c31af7Sopenharmony_ci precision mediump int; 5493e5c31af7Sopenharmony_ci 5494e5c31af7Sopenharmony_ci ${DECLARATIONS} 5495e5c31af7Sopenharmony_ci 5496e5c31af7Sopenharmony_ci void main() 5497e5c31af7Sopenharmony_ci { 5498e5c31af7Sopenharmony_ci ${SETUP} 5499e5c31af7Sopenharmony_ci out0 = mat2(in0, in1, in2, in3); 5500e5c31af7Sopenharmony_ci ${OUTPUT} 5501e5c31af7Sopenharmony_ci } 5502e5c31af7Sopenharmony_ci "" 5503e5c31af7Sopenharmony_ci end 5504e5c31af7Sopenharmony_ci 5505e5c31af7Sopenharmony_ci case bool_float_int_bool_to_mat2 5506e5c31af7Sopenharmony_ci values 5507e5c31af7Sopenharmony_ci { 5508e5c31af7Sopenharmony_ci input bool in0 = [ false | true | true | false | false | true | true | true | false | false ]; 5509e5c31af7Sopenharmony_ci input float in1 = [ -0.5 | -20.125 | 3.5 | 2.0 | 1.0 | 0.0 | 0.0 | 1.0 | 36.8125 | -8.25 ]; 5510e5c31af7Sopenharmony_ci input int in2 = [ -66 | -192 | 5 | 255 | 0 | -12 | 11 | 1 | 2 | 8 ]; 5511e5c31af7Sopenharmony_ci input bool in3 = [ true | false | true | false | false | false | true | false | true | true ]; 5512e5c31af7Sopenharmony_ci 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) ]; 5513e5c31af7Sopenharmony_ci } 5514e5c31af7Sopenharmony_ci 5515e5c31af7Sopenharmony_ci both "" 5516e5c31af7Sopenharmony_ci precision mediump float; 5517e5c31af7Sopenharmony_ci precision mediump int; 5518e5c31af7Sopenharmony_ci 5519e5c31af7Sopenharmony_ci ${DECLARATIONS} 5520e5c31af7Sopenharmony_ci 5521e5c31af7Sopenharmony_ci void main() 5522e5c31af7Sopenharmony_ci { 5523e5c31af7Sopenharmony_ci ${SETUP} 5524e5c31af7Sopenharmony_ci out0 = mat2(in0, in1, in2, in3); 5525e5c31af7Sopenharmony_ci ${OUTPUT} 5526e5c31af7Sopenharmony_ci } 5527e5c31af7Sopenharmony_ci "" 5528e5c31af7Sopenharmony_ci end 5529e5c31af7Sopenharmony_ci 5530e5c31af7Sopenharmony_ci case vec2_ivec2_to_mat2 5531e5c31af7Sopenharmony_ci values 5532e5c31af7Sopenharmony_ci { 5533e5c31af7Sopenharmony_ci 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) ]; 5534e5c31af7Sopenharmony_ci input ivec2 in1 = [ ivec2(-32, 64) | ivec2(0, 0) | ivec2(0, -2) | ivec2(0, 0) | ivec2(1, 1) ]; 5535e5c31af7Sopenharmony_ci 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) ]; 5536e5c31af7Sopenharmony_ci } 5537e5c31af7Sopenharmony_ci 5538e5c31af7Sopenharmony_ci both "" 5539e5c31af7Sopenharmony_ci precision mediump float; 5540e5c31af7Sopenharmony_ci precision mediump int; 5541e5c31af7Sopenharmony_ci 5542e5c31af7Sopenharmony_ci ${DECLARATIONS} 5543e5c31af7Sopenharmony_ci 5544e5c31af7Sopenharmony_ci void main() 5545e5c31af7Sopenharmony_ci { 5546e5c31af7Sopenharmony_ci ${SETUP} 5547e5c31af7Sopenharmony_ci out0 = mat2(in0, in1); 5548e5c31af7Sopenharmony_ci ${OUTPUT} 5549e5c31af7Sopenharmony_ci } 5550e5c31af7Sopenharmony_ci "" 5551e5c31af7Sopenharmony_ci end 5552e5c31af7Sopenharmony_ci 5553e5c31af7Sopenharmony_ci case vec2_bvec2_to_mat2 5554e5c31af7Sopenharmony_ci values 5555e5c31af7Sopenharmony_ci { 5556e5c31af7Sopenharmony_ci 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) ]; 5557e5c31af7Sopenharmony_ci input bvec2 in1 = [ bvec2(false, true) | bvec2(false, false) | bvec2(true, false) | bvec2(false, false) | bvec2(true, true) ]; 5558e5c31af7Sopenharmony_ci 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) ]; 5559e5c31af7Sopenharmony_ci } 5560e5c31af7Sopenharmony_ci 5561e5c31af7Sopenharmony_ci both "" 5562e5c31af7Sopenharmony_ci precision mediump float; 5563e5c31af7Sopenharmony_ci precision mediump int; 5564e5c31af7Sopenharmony_ci 5565e5c31af7Sopenharmony_ci ${DECLARATIONS} 5566e5c31af7Sopenharmony_ci 5567e5c31af7Sopenharmony_ci void main() 5568e5c31af7Sopenharmony_ci { 5569e5c31af7Sopenharmony_ci ${SETUP} 5570e5c31af7Sopenharmony_ci out0 = mat2(in0, in1); 5571e5c31af7Sopenharmony_ci ${OUTPUT} 5572e5c31af7Sopenharmony_ci } 5573e5c31af7Sopenharmony_ci "" 5574e5c31af7Sopenharmony_ci end 5575e5c31af7Sopenharmony_ci 5576e5c31af7Sopenharmony_ci case bvec3_float_to_mat2 5577e5c31af7Sopenharmony_ci values 5578e5c31af7Sopenharmony_ci { 5579e5c31af7Sopenharmony_ci 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) ]; 5580e5c31af7Sopenharmony_ci input float in1 = [ -20.125 | -0.5 | 3.5 | -8.25 | 0.0 | 1.0 | 2.0 | 36.8125 ]; 5581e5c31af7Sopenharmony_ci 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) ]; 5582e5c31af7Sopenharmony_ci } 5583e5c31af7Sopenharmony_ci 5584e5c31af7Sopenharmony_ci both "" 5585e5c31af7Sopenharmony_ci precision mediump float; 5586e5c31af7Sopenharmony_ci precision mediump int; 5587e5c31af7Sopenharmony_ci 5588e5c31af7Sopenharmony_ci ${DECLARATIONS} 5589e5c31af7Sopenharmony_ci 5590e5c31af7Sopenharmony_ci void main() 5591e5c31af7Sopenharmony_ci { 5592e5c31af7Sopenharmony_ci ${SETUP} 5593e5c31af7Sopenharmony_ci out0 = mat2(in0, in1); 5594e5c31af7Sopenharmony_ci ${OUTPUT} 5595e5c31af7Sopenharmony_ci } 5596e5c31af7Sopenharmony_ci "" 5597e5c31af7Sopenharmony_ci end 5598e5c31af7Sopenharmony_ci 5599e5c31af7Sopenharmony_ci case vec3_float_to_mat2 5600e5c31af7Sopenharmony_ci values 5601e5c31af7Sopenharmony_ci { 5602e5c31af7Sopenharmony_ci 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) ]; 5603e5c31af7Sopenharmony_ci input float in1 = [ -8.25 | 36.8125 | -0.5 | -20.125 | 1.0 | 2.0 | 0.0 | 3.5 ]; 5604e5c31af7Sopenharmony_ci 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) ]; 5605e5c31af7Sopenharmony_ci } 5606e5c31af7Sopenharmony_ci 5607e5c31af7Sopenharmony_ci both "" 5608e5c31af7Sopenharmony_ci precision mediump float; 5609e5c31af7Sopenharmony_ci precision mediump int; 5610e5c31af7Sopenharmony_ci 5611e5c31af7Sopenharmony_ci ${DECLARATIONS} 5612e5c31af7Sopenharmony_ci 5613e5c31af7Sopenharmony_ci void main() 5614e5c31af7Sopenharmony_ci { 5615e5c31af7Sopenharmony_ci ${SETUP} 5616e5c31af7Sopenharmony_ci out0 = mat2(in0, in1); 5617e5c31af7Sopenharmony_ci ${OUTPUT} 5618e5c31af7Sopenharmony_ci } 5619e5c31af7Sopenharmony_ci "" 5620e5c31af7Sopenharmony_ci end 5621e5c31af7Sopenharmony_ci 5622e5c31af7Sopenharmony_ci case int_ivec2_int_to_mat2 5623e5c31af7Sopenharmony_ci values 5624e5c31af7Sopenharmony_ci { 5625e5c31af7Sopenharmony_ci input int in0 = [ -66 | 255 | 8 | 0 | 5 | -12 | 1 | -192 | 2 | 11 ]; 5626e5c31af7Sopenharmony_ci 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) ]; 5627e5c31af7Sopenharmony_ci input int in2 = [ 0 | -12 | 8 | -66 | 11 | 5 | 255 | 2 | 1 | -192 ]; 5628e5c31af7Sopenharmony_ci 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) ]; 5629e5c31af7Sopenharmony_ci } 5630e5c31af7Sopenharmony_ci 5631e5c31af7Sopenharmony_ci both "" 5632e5c31af7Sopenharmony_ci precision mediump float; 5633e5c31af7Sopenharmony_ci precision mediump int; 5634e5c31af7Sopenharmony_ci 5635e5c31af7Sopenharmony_ci ${DECLARATIONS} 5636e5c31af7Sopenharmony_ci 5637e5c31af7Sopenharmony_ci void main() 5638e5c31af7Sopenharmony_ci { 5639e5c31af7Sopenharmony_ci ${SETUP} 5640e5c31af7Sopenharmony_ci out0 = mat2(in0, in1, in2); 5641e5c31af7Sopenharmony_ci ${OUTPUT} 5642e5c31af7Sopenharmony_ci } 5643e5c31af7Sopenharmony_ci "" 5644e5c31af7Sopenharmony_ci end 5645e5c31af7Sopenharmony_ci 5646e5c31af7Sopenharmony_ci case bool_float_ivec2_to_mat2 5647e5c31af7Sopenharmony_ci values 5648e5c31af7Sopenharmony_ci { 5649e5c31af7Sopenharmony_ci input bool in0 = [ true | true | true | false | true | false | false | false ]; 5650e5c31af7Sopenharmony_ci input float in1 = [ 0.0 | 1.0 | 2.0 | -0.5 | 3.5 | -20.125 | 36.8125 | -8.25 ]; 5651e5c31af7Sopenharmony_ci 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) ]; 5652e5c31af7Sopenharmony_ci 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) ]; 5653e5c31af7Sopenharmony_ci } 5654e5c31af7Sopenharmony_ci 5655e5c31af7Sopenharmony_ci both "" 5656e5c31af7Sopenharmony_ci precision mediump float; 5657e5c31af7Sopenharmony_ci precision mediump int; 5658e5c31af7Sopenharmony_ci 5659e5c31af7Sopenharmony_ci ${DECLARATIONS} 5660e5c31af7Sopenharmony_ci 5661e5c31af7Sopenharmony_ci void main() 5662e5c31af7Sopenharmony_ci { 5663e5c31af7Sopenharmony_ci ${SETUP} 5664e5c31af7Sopenharmony_ci out0 = mat2(in0, in1, in2); 5665e5c31af7Sopenharmony_ci ${OUTPUT} 5666e5c31af7Sopenharmony_ci } 5667e5c31af7Sopenharmony_ci "" 5668e5c31af7Sopenharmony_ci end 5669e5c31af7Sopenharmony_ci 5670e5c31af7Sopenharmony_ci case vec3_vec3_vec3_to_mat3 5671e5c31af7Sopenharmony_ci values 5672e5c31af7Sopenharmony_ci { 5673e5c31af7Sopenharmony_ci 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) ]; 5674e5c31af7Sopenharmony_ci 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) ]; 5675e5c31af7Sopenharmony_ci 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) ]; 5676e5c31af7Sopenharmony_ci 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) ]; 5677e5c31af7Sopenharmony_ci } 5678e5c31af7Sopenharmony_ci 5679e5c31af7Sopenharmony_ci both "" 5680e5c31af7Sopenharmony_ci precision mediump float; 5681e5c31af7Sopenharmony_ci precision mediump int; 5682e5c31af7Sopenharmony_ci 5683e5c31af7Sopenharmony_ci ${DECLARATIONS} 5684e5c31af7Sopenharmony_ci 5685e5c31af7Sopenharmony_ci void main() 5686e5c31af7Sopenharmony_ci { 5687e5c31af7Sopenharmony_ci ${SETUP} 5688e5c31af7Sopenharmony_ci out0 = mat3(in0, in1, in2); 5689e5c31af7Sopenharmony_ci ${OUTPUT} 5690e5c31af7Sopenharmony_ci } 5691e5c31af7Sopenharmony_ci "" 5692e5c31af7Sopenharmony_ci end 5693e5c31af7Sopenharmony_ci 5694e5c31af7Sopenharmony_ci case ivec3_ivec3_ivec3_to_mat3 5695e5c31af7Sopenharmony_ci values 5696e5c31af7Sopenharmony_ci { 5697e5c31af7Sopenharmony_ci input ivec3 in0 = [ ivec3(0, -2, -4) | ivec3(1, 1, 1) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) | ivec3(0, 0, 0) ]; 5698e5c31af7Sopenharmony_ci input ivec3 in1 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ]; 5699e5c31af7Sopenharmony_ci input ivec3 in2 = [ ivec3(1, 1, 1) | ivec3(0, 0, 0) | ivec3(0, 0, 0) | ivec3(-32, 64, -51) | ivec3(0, -2, -4) ]; 5700e5c31af7Sopenharmony_ci 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) ]; 5701e5c31af7Sopenharmony_ci } 5702e5c31af7Sopenharmony_ci 5703e5c31af7Sopenharmony_ci both "" 5704e5c31af7Sopenharmony_ci precision mediump float; 5705e5c31af7Sopenharmony_ci precision mediump int; 5706e5c31af7Sopenharmony_ci 5707e5c31af7Sopenharmony_ci ${DECLARATIONS} 5708e5c31af7Sopenharmony_ci 5709e5c31af7Sopenharmony_ci void main() 5710e5c31af7Sopenharmony_ci { 5711e5c31af7Sopenharmony_ci ${SETUP} 5712e5c31af7Sopenharmony_ci out0 = mat3(in0, in1, in2); 5713e5c31af7Sopenharmony_ci ${OUTPUT} 5714e5c31af7Sopenharmony_ci } 5715e5c31af7Sopenharmony_ci "" 5716e5c31af7Sopenharmony_ci end 5717e5c31af7Sopenharmony_ci 5718e5c31af7Sopenharmony_ci case vec2_ivec2_float_float_int_bool_bool_to_mat3 5719e5c31af7Sopenharmony_ci values 5720e5c31af7Sopenharmony_ci { 5721e5c31af7Sopenharmony_ci 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) ]; 5722e5c31af7Sopenharmony_ci 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) ]; 5723e5c31af7Sopenharmony_ci input float in2 = [ -20.125 | -8.25 | 3.5 | 1.0 | 1.0 | -0.5 | 2.0 | 0.0 | 36.8125 | 0.0 ]; 5724e5c31af7Sopenharmony_ci input float in3 = [ 0.0 | -0.5 | 1.0 | -20.125 | 36.8125 | 0.0 | -8.25 | 2.0 | 3.5 | 1.0 ]; 5725e5c31af7Sopenharmony_ci input int in4 = [ 2 | 11 | 1 | 0 | 8 | 5 | -66 | 255 | -192 | -12 ]; 5726e5c31af7Sopenharmony_ci input bool in5 = [ false | true | true | false | false | true | false | true | false | true ]; 5727e5c31af7Sopenharmony_ci input bool in6 = [ false | true | false | false | true | true | true | true | false | false ]; 5728e5c31af7Sopenharmony_ci 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) ]; 5729e5c31af7Sopenharmony_ci } 5730e5c31af7Sopenharmony_ci 5731e5c31af7Sopenharmony_ci both "" 5732e5c31af7Sopenharmony_ci precision mediump float; 5733e5c31af7Sopenharmony_ci precision mediump int; 5734e5c31af7Sopenharmony_ci 5735e5c31af7Sopenharmony_ci ${DECLARATIONS} 5736e5c31af7Sopenharmony_ci 5737e5c31af7Sopenharmony_ci void main() 5738e5c31af7Sopenharmony_ci { 5739e5c31af7Sopenharmony_ci ${SETUP} 5740e5c31af7Sopenharmony_ci out0 = mat3(in0, in1, in2, in3, in4, in5, in6); 5741e5c31af7Sopenharmony_ci ${OUTPUT} 5742e5c31af7Sopenharmony_ci } 5743e5c31af7Sopenharmony_ci "" 5744e5c31af7Sopenharmony_ci end 5745e5c31af7Sopenharmony_ci 5746e5c31af7Sopenharmony_ci case bool_float_int_vec2_bool_bvec2_float_to_mat3 5747e5c31af7Sopenharmony_ci values 5748e5c31af7Sopenharmony_ci { 5749e5c31af7Sopenharmony_ci input bool in0 = [ false | false | false | true | false | false | true | true | true | true ]; 5750e5c31af7Sopenharmony_ci input float in1 = [ 3.5 | -20.125 | 36.8125 | 0.0 | 2.0 | -8.25 | 1.0 | -0.5 | 1.0 | 0.0 ]; 5751e5c31af7Sopenharmony_ci input int in2 = [ 255 | -192 | 11 | 0 | 8 | 5 | -66 | 2 | -12 | 1 ]; 5752e5c31af7Sopenharmony_ci 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) ]; 5753e5c31af7Sopenharmony_ci input bool in4 = [ true | true | false | false | false | true | false | true | false | true ]; 5754e5c31af7Sopenharmony_ci 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) ]; 5755e5c31af7Sopenharmony_ci input float in6 = [ 0.0 | 36.8125 | 3.5 | -0.5 | -8.25 | 1.0 | 0.0 | 1.0 | -20.125 | 2.0 ]; 5756e5c31af7Sopenharmony_ci 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) ]; 5757e5c31af7Sopenharmony_ci } 5758e5c31af7Sopenharmony_ci 5759e5c31af7Sopenharmony_ci both "" 5760e5c31af7Sopenharmony_ci precision mediump float; 5761e5c31af7Sopenharmony_ci precision mediump int; 5762e5c31af7Sopenharmony_ci 5763e5c31af7Sopenharmony_ci ${DECLARATIONS} 5764e5c31af7Sopenharmony_ci 5765e5c31af7Sopenharmony_ci void main() 5766e5c31af7Sopenharmony_ci { 5767e5c31af7Sopenharmony_ci ${SETUP} 5768e5c31af7Sopenharmony_ci out0 = mat3(in0, in1, in2, in3, in4, in5, in6); 5769e5c31af7Sopenharmony_ci ${OUTPUT} 5770e5c31af7Sopenharmony_ci } 5771e5c31af7Sopenharmony_ci "" 5772e5c31af7Sopenharmony_ci end 5773e5c31af7Sopenharmony_ci 5774e5c31af7Sopenharmony_ci case bool_bvec2_int_vec4_bool_to_mat3 5775e5c31af7Sopenharmony_ci values 5776e5c31af7Sopenharmony_ci { 5777e5c31af7Sopenharmony_ci input bool in0 = [ true | false | false | false | false | true | true | true | true | false ]; 5778e5c31af7Sopenharmony_ci 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) ]; 5779e5c31af7Sopenharmony_ci input int in2 = [ 2 | -66 | 1 | 8 | -12 | 0 | 5 | 11 | 255 | -192 ]; 5780e5c31af7Sopenharmony_ci 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) ]; 5781e5c31af7Sopenharmony_ci input bool in4 = [ false | false | true | true | true | false | true | false | false | true ]; 5782e5c31af7Sopenharmony_ci 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) ]; 5783e5c31af7Sopenharmony_ci } 5784e5c31af7Sopenharmony_ci 5785e5c31af7Sopenharmony_ci both "" 5786e5c31af7Sopenharmony_ci precision mediump float; 5787e5c31af7Sopenharmony_ci precision mediump int; 5788e5c31af7Sopenharmony_ci 5789e5c31af7Sopenharmony_ci ${DECLARATIONS} 5790e5c31af7Sopenharmony_ci 5791e5c31af7Sopenharmony_ci void main() 5792e5c31af7Sopenharmony_ci { 5793e5c31af7Sopenharmony_ci ${SETUP} 5794e5c31af7Sopenharmony_ci out0 = mat3(in0, in1, in2, in3, in4); 5795e5c31af7Sopenharmony_ci ${OUTPUT} 5796e5c31af7Sopenharmony_ci } 5797e5c31af7Sopenharmony_ci "" 5798e5c31af7Sopenharmony_ci end 5799e5c31af7Sopenharmony_ci 5800e5c31af7Sopenharmony_ci case float_bvec4_ivec2_bool_bool_to_mat3 5801e5c31af7Sopenharmony_ci values 5802e5c31af7Sopenharmony_ci { 5803e5c31af7Sopenharmony_ci input float in0 = [ -0.5 | 36.8125 | 1.0 | 0.0 | -20.125 | 2.0 | -8.25 | 3.5 ]; 5804e5c31af7Sopenharmony_ci 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) ]; 5805e5c31af7Sopenharmony_ci 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) ]; 5806e5c31af7Sopenharmony_ci input bool in3 = [ true | false | true | false | true | false | false | true ]; 5807e5c31af7Sopenharmony_ci input bool in4 = [ false | true | false | true | false | false | true | true ]; 5808e5c31af7Sopenharmony_ci 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) ]; 5809e5c31af7Sopenharmony_ci } 5810e5c31af7Sopenharmony_ci 5811e5c31af7Sopenharmony_ci both "" 5812e5c31af7Sopenharmony_ci precision mediump float; 5813e5c31af7Sopenharmony_ci precision mediump int; 5814e5c31af7Sopenharmony_ci 5815e5c31af7Sopenharmony_ci ${DECLARATIONS} 5816e5c31af7Sopenharmony_ci 5817e5c31af7Sopenharmony_ci void main() 5818e5c31af7Sopenharmony_ci { 5819e5c31af7Sopenharmony_ci ${SETUP} 5820e5c31af7Sopenharmony_ci out0 = mat3(in0, in1, in2, in3, in4); 5821e5c31af7Sopenharmony_ci ${OUTPUT} 5822e5c31af7Sopenharmony_ci } 5823e5c31af7Sopenharmony_ci "" 5824e5c31af7Sopenharmony_ci end 5825e5c31af7Sopenharmony_ci 5826e5c31af7Sopenharmony_ci case vec4_vec4_vec4_vec4_to_mat4 5827e5c31af7Sopenharmony_ci values 5828e5c31af7Sopenharmony_ci { 5829e5c31af7Sopenharmony_ci 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) ]; 5830e5c31af7Sopenharmony_ci 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) ]; 5831e5c31af7Sopenharmony_ci 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) ]; 5832e5c31af7Sopenharmony_ci 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) ]; 5833e5c31af7Sopenharmony_ci 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) ]; 5834e5c31af7Sopenharmony_ci } 5835e5c31af7Sopenharmony_ci 5836e5c31af7Sopenharmony_ci both "" 5837e5c31af7Sopenharmony_ci precision mediump float; 5838e5c31af7Sopenharmony_ci precision mediump int; 5839e5c31af7Sopenharmony_ci 5840e5c31af7Sopenharmony_ci ${DECLARATIONS} 5841e5c31af7Sopenharmony_ci 5842e5c31af7Sopenharmony_ci void main() 5843e5c31af7Sopenharmony_ci { 5844e5c31af7Sopenharmony_ci ${SETUP} 5845e5c31af7Sopenharmony_ci out0 = mat4(in0, in1, in2, in3); 5846e5c31af7Sopenharmony_ci ${OUTPUT} 5847e5c31af7Sopenharmony_ci } 5848e5c31af7Sopenharmony_ci "" 5849e5c31af7Sopenharmony_ci end 5850e5c31af7Sopenharmony_ci 5851e5c31af7Sopenharmony_ci case ivec4_ivec4_ivec4_ivec4_to_mat4 5852e5c31af7Sopenharmony_ci values 5853e5c31af7Sopenharmony_ci { 5854e5c31af7Sopenharmony_ci 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) ]; 5855e5c31af7Sopenharmony_ci 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) ]; 5856e5c31af7Sopenharmony_ci 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) ]; 5857e5c31af7Sopenharmony_ci 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) ]; 5858e5c31af7Sopenharmony_ci 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) ]; 5859e5c31af7Sopenharmony_ci } 5860e5c31af7Sopenharmony_ci 5861e5c31af7Sopenharmony_ci both "" 5862e5c31af7Sopenharmony_ci precision mediump float; 5863e5c31af7Sopenharmony_ci precision mediump int; 5864e5c31af7Sopenharmony_ci 5865e5c31af7Sopenharmony_ci ${DECLARATIONS} 5866e5c31af7Sopenharmony_ci 5867e5c31af7Sopenharmony_ci void main() 5868e5c31af7Sopenharmony_ci { 5869e5c31af7Sopenharmony_ci ${SETUP} 5870e5c31af7Sopenharmony_ci out0 = mat4(in0, in1, in2, in3); 5871e5c31af7Sopenharmony_ci ${OUTPUT} 5872e5c31af7Sopenharmony_ci } 5873e5c31af7Sopenharmony_ci "" 5874e5c31af7Sopenharmony_ci end 5875e5c31af7Sopenharmony_ci 5876e5c31af7Sopenharmony_ci case bvec4_bvec4_bvec4_bvec4_to_mat4 5877e5c31af7Sopenharmony_ci values 5878e5c31af7Sopenharmony_ci { 5879e5c31af7Sopenharmony_ci 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) ]; 5880e5c31af7Sopenharmony_ci 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) ]; 5881e5c31af7Sopenharmony_ci 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) ]; 5882e5c31af7Sopenharmony_ci 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) ]; 5883e5c31af7Sopenharmony_ci 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) ]; 5884e5c31af7Sopenharmony_ci } 5885e5c31af7Sopenharmony_ci 5886e5c31af7Sopenharmony_ci both "" 5887e5c31af7Sopenharmony_ci precision mediump float; 5888e5c31af7Sopenharmony_ci precision mediump int; 5889e5c31af7Sopenharmony_ci 5890e5c31af7Sopenharmony_ci ${DECLARATIONS} 5891e5c31af7Sopenharmony_ci 5892e5c31af7Sopenharmony_ci void main() 5893e5c31af7Sopenharmony_ci { 5894e5c31af7Sopenharmony_ci ${SETUP} 5895e5c31af7Sopenharmony_ci out0 = mat4(in0, in1, in2, in3); 5896e5c31af7Sopenharmony_ci ${OUTPUT} 5897e5c31af7Sopenharmony_ci } 5898e5c31af7Sopenharmony_ci "" 5899e5c31af7Sopenharmony_ci end 5900e5c31af7Sopenharmony_ci 5901e5c31af7Sopenharmony_ci case float_ivec3_bvec3_vec4_ivec2_float_vec2_to_mat4 5902e5c31af7Sopenharmony_ci values 5903e5c31af7Sopenharmony_ci { 5904e5c31af7Sopenharmony_ci input float in0 = [ -0.5 | -20.125 | 1.0 | 2.0 | 3.5 | 36.8125 | -8.25 | 0.0 ]; 5905e5c31af7Sopenharmony_ci 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) ]; 5906e5c31af7Sopenharmony_ci 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) ]; 5907e5c31af7Sopenharmony_ci 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) ]; 5908e5c31af7Sopenharmony_ci 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) ]; 5909e5c31af7Sopenharmony_ci input float in5 = [ 3.5 | -20.125 | -8.25 | 0.0 | 36.8125 | -0.5 | 1.0 | 2.0 ]; 5910e5c31af7Sopenharmony_ci 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) ]; 5911e5c31af7Sopenharmony_ci 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) ]; 5912e5c31af7Sopenharmony_ci } 5913e5c31af7Sopenharmony_ci 5914e5c31af7Sopenharmony_ci both "" 5915e5c31af7Sopenharmony_ci precision mediump float; 5916e5c31af7Sopenharmony_ci precision mediump int; 5917e5c31af7Sopenharmony_ci 5918e5c31af7Sopenharmony_ci ${DECLARATIONS} 5919e5c31af7Sopenharmony_ci 5920e5c31af7Sopenharmony_ci void main() 5921e5c31af7Sopenharmony_ci { 5922e5c31af7Sopenharmony_ci ${SETUP} 5923e5c31af7Sopenharmony_ci out0 = mat4(in0, in1, in2, in3, in4, in5, in6); 5924e5c31af7Sopenharmony_ci ${OUTPUT} 5925e5c31af7Sopenharmony_ci } 5926e5c31af7Sopenharmony_ci "" 5927e5c31af7Sopenharmony_ci end 5928e5c31af7Sopenharmony_ci 5929e5c31af7Sopenharmony_ci 5930e5c31af7Sopenharmony_ciend # matrix_combine 5931