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