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 version 300 es 8 values 9 { 10 input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 11 output float out0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 12 } 13 14 both "" 15 #version 300 es 16 precision mediump float; 17 precision mediump int; 18 19 ${DECLARATIONS} 20 21 void main() 22 { 23 ${SETUP} 24 out0 = float(in0); 25 ${OUTPUT} 26 } 27 "" 28 end 29 30 case float_to_int 31 version 300 es 32 values 33 { 34 input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 35 output int out0 = [ 0 | 1 | 2 | 3 | 0 | -8 | -20 | 36 ]; 36 } 37 38 both "" 39 #version 300 es 40 precision mediump float; 41 precision mediump int; 42 43 ${DECLARATIONS} 44 45 void main() 46 { 47 ${SETUP} 48 out0 = int(in0); 49 ${OUTPUT} 50 } 51 "" 52 end 53 54 case float_to_bool 55 version 300 es 56 values 57 { 58 input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 59 output bool out0 = [ false | true | true | true | true | true | true | true ]; 60 } 61 62 both "" 63 #version 300 es 64 precision mediump float; 65 precision mediump int; 66 67 ${DECLARATIONS} 68 69 void main() 70 { 71 ${SETUP} 72 out0 = bool(in0); 73 ${OUTPUT} 74 } 75 "" 76 end 77 78 case int_to_float 79 version 300 es 80 values 81 { 82 input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 83 output float out0 = [ 0.0 | 1.0 | 2.0 | 5.0 | 8.0 | 11.0 | -12.0 | -66.0 | -192.0 | 255.0 ]; 84 } 85 86 both "" 87 #version 300 es 88 precision mediump float; 89 precision mediump int; 90 91 ${DECLARATIONS} 92 93 void main() 94 { 95 ${SETUP} 96 out0 = float(in0); 97 ${OUTPUT} 98 } 99 "" 100 end 101 102 case int_to_int 103 version 300 es 104 values 105 { 106 input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 107 output int out0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 108 } 109 110 both "" 111 #version 300 es 112 precision mediump float; 113 precision mediump int; 114 115 ${DECLARATIONS} 116 117 void main() 118 { 119 ${SETUP} 120 out0 = int(in0); 121 ${OUTPUT} 122 } 123 "" 124 end 125 126 case int_to_bool 127 version 300 es 128 values 129 { 130 input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 131 output bool out0 = [ false | true | true | true | true | true | true | true | true | true ]; 132 } 133 134 both "" 135 #version 300 es 136 precision mediump float; 137 precision mediump int; 138 139 ${DECLARATIONS} 140 141 void main() 142 { 143 ${SETUP} 144 out0 = bool(in0); 145 ${OUTPUT} 146 } 147 "" 148 end 149 150 case uint_to_float 151 version 300 es 152 values 153 { 154 input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ]; 155 output float out0 = [ 0.0 | 2.0 | 3.0 | 8.0 | 9.0 | 12.0 | 10.0 | 45.0 | 193.0 | 255.0 ]; 156 } 157 158 both "" 159 #version 300 es 160 precision mediump float; 161 precision mediump int; 162 163 ${DECLARATIONS} 164 165 void main() 166 { 167 ${SETUP} 168 out0 = float(in0); 169 ${OUTPUT} 170 } 171 "" 172 end 173 174 case uint_to_int 175 version 300 es 176 values 177 { 178 input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ]; 179 output int out0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ]; 180 } 181 182 both "" 183 #version 300 es 184 precision mediump float; 185 precision mediump int; 186 187 ${DECLARATIONS} 188 189 void main() 190 { 191 ${SETUP} 192 out0 = int(in0); 193 ${OUTPUT} 194 } 195 "" 196 end 197 198 case uint_to_bool 199 version 300 es 200 values 201 { 202 input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ]; 203 output bool out0 = [ false | true | true | true | true | true | true | true | true | true ]; 204 } 205 206 both "" 207 #version 300 es 208 precision mediump float; 209 precision mediump int; 210 211 ${DECLARATIONS} 212 213 void main() 214 { 215 ${SETUP} 216 out0 = bool(in0); 217 ${OUTPUT} 218 } 219 "" 220 end 221 222 case bool_to_float 223 version 300 es 224 values 225 { 226 input bool in0 = [ true | false ]; 227 output float out0 = [ 1.0 | 0.0 ]; 228 } 229 230 both "" 231 #version 300 es 232 precision mediump float; 233 precision mediump int; 234 235 ${DECLARATIONS} 236 237 void main() 238 { 239 ${SETUP} 240 out0 = float(in0); 241 ${OUTPUT} 242 } 243 "" 244 end 245 246 case bool_to_int 247 version 300 es 248 values 249 { 250 input bool in0 = [ true | false ]; 251 output int out0 = [ 1 | 0 ]; 252 } 253 254 both "" 255 #version 300 es 256 precision mediump float; 257 precision mediump int; 258 259 ${DECLARATIONS} 260 261 void main() 262 { 263 ${SETUP} 264 out0 = int(in0); 265 ${OUTPUT} 266 } 267 "" 268 end 269 270 case bool_to_bool 271 version 300 es 272 values 273 { 274 input bool in0 = [ true | false ]; 275 output bool out0 = [ true | false ]; 276 } 277 278 both "" 279 #version 300 es 280 precision mediump float; 281 precision mediump int; 282 283 ${DECLARATIONS} 284 285 void main() 286 { 287 ${SETUP} 288 out0 = bool(in0); 289 ${OUTPUT} 290 } 291 "" 292 end 293 294 case float_to_uint 295 version 300 es 296 values 297 { 298 input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | 0.5 | 8.25 | 20.125 | 36.8125 ]; 299 output uint out0 = [ 0 | 1 | 2 | 3 | 0 | 8 | 20 | 36 ]; 300 } 301 302 both "" 303 #version 300 es 304 precision mediump float; 305 precision mediump int; 306 307 ${DECLARATIONS} 308 309 void main() 310 { 311 ${SETUP} 312 out0 = uint(in0); 313 ${OUTPUT} 314 } 315 "" 316 end 317 318 case int_to_uint 319 version 300 es 320 values 321 { 322 input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | 12 | 66 | 192 | 255 ]; 323 output uint out0 = [ 0 | 1 | 2 | 5 | 8 | 11 | 12 | 66 | 192 | 255 ]; 324 } 325 326 both "" 327 #version 300 es 328 precision mediump float; 329 precision mediump int; 330 331 ${DECLARATIONS} 332 333 void main() 334 { 335 ${SETUP} 336 out0 = uint(in0); 337 ${OUTPUT} 338 } 339 "" 340 end 341 342 case uint_to_uint 343 version 300 es 344 values 345 { 346 input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ]; 347 output uint out0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ]; 348 } 349 350 both "" 351 #version 300 es 352 precision mediump float; 353 precision mediump int; 354 355 ${DECLARATIONS} 356 357 void main() 358 { 359 ${SETUP} 360 out0 = uint(in0); 361 ${OUTPUT} 362 } 363 "" 364 end 365 366 case bool_to_uint 367 version 300 es 368 values 369 { 370 input bool in0 = [ true | false ]; 371 output uint out0 = [ 1 | 0 ]; 372 } 373 374 both "" 375 #version 300 es 376 precision mediump float; 377 precision mediump int; 378 379 ${DECLARATIONS} 380 381 void main() 382 { 383 ${SETUP} 384 out0 = uint(in0); 385 ${OUTPUT} 386 } 387 "" 388 end 389 390 391 end # scalar_to_scalar 392 group scalar_to_vector "Scalar to Vector Conversions" 393 394 case float_to_vec2 395 version 300 es 396 values 397 { 398 input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 399 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) ]; 400 } 401 402 both "" 403 #version 300 es 404 precision mediump float; 405 precision mediump int; 406 407 ${DECLARATIONS} 408 409 void main() 410 { 411 ${SETUP} 412 out0 = vec2(in0); 413 ${OUTPUT} 414 } 415 "" 416 end 417 418 case float_to_vec3 419 version 300 es 420 values 421 { 422 input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 423 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) ]; 424 } 425 426 both "" 427 #version 300 es 428 precision mediump float; 429 precision mediump int; 430 431 ${DECLARATIONS} 432 433 void main() 434 { 435 ${SETUP} 436 out0 = vec3(in0); 437 ${OUTPUT} 438 } 439 "" 440 end 441 442 case float_to_vec4 443 version 300 es 444 values 445 { 446 input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 447 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) ]; 448 } 449 450 both "" 451 #version 300 es 452 precision mediump float; 453 precision mediump int; 454 455 ${DECLARATIONS} 456 457 void main() 458 { 459 ${SETUP} 460 out0 = vec4(in0); 461 ${OUTPUT} 462 } 463 "" 464 end 465 466 case float_to_ivec2 467 version 300 es 468 values 469 { 470 input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 471 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) ]; 472 } 473 474 both "" 475 #version 300 es 476 precision mediump float; 477 precision mediump int; 478 479 ${DECLARATIONS} 480 481 void main() 482 { 483 ${SETUP} 484 out0 = ivec2(in0); 485 ${OUTPUT} 486 } 487 "" 488 end 489 490 case float_to_ivec3 491 version 300 es 492 values 493 { 494 input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 495 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) ]; 496 } 497 498 both "" 499 #version 300 es 500 precision mediump float; 501 precision mediump int; 502 503 ${DECLARATIONS} 504 505 void main() 506 { 507 ${SETUP} 508 out0 = ivec3(in0); 509 ${OUTPUT} 510 } 511 "" 512 end 513 514 case float_to_ivec4 515 version 300 es 516 values 517 { 518 input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 519 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) ]; 520 } 521 522 both "" 523 #version 300 es 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 float_to_bvec2 539 version 300 es 540 values 541 { 542 input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 543 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) ]; 544 } 545 546 both "" 547 #version 300 es 548 precision mediump float; 549 precision mediump int; 550 551 ${DECLARATIONS} 552 553 void main() 554 { 555 ${SETUP} 556 out0 = bvec2(in0); 557 ${OUTPUT} 558 } 559 "" 560 end 561 562 case float_to_bvec3 563 version 300 es 564 values 565 { 566 input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 567 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) ]; 568 } 569 570 both "" 571 #version 300 es 572 precision mediump float; 573 precision mediump int; 574 575 ${DECLARATIONS} 576 577 void main() 578 { 579 ${SETUP} 580 out0 = bvec3(in0); 581 ${OUTPUT} 582 } 583 "" 584 end 585 586 case float_to_bvec4 587 version 300 es 588 values 589 { 590 input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 591 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) ]; 592 } 593 594 both "" 595 #version 300 es 596 precision mediump float; 597 precision mediump int; 598 599 ${DECLARATIONS} 600 601 void main() 602 { 603 ${SETUP} 604 out0 = bvec4(in0); 605 ${OUTPUT} 606 } 607 "" 608 end 609 610 case int_to_vec2 611 version 300 es 612 values 613 { 614 input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 615 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) ]; 616 } 617 618 both "" 619 #version 300 es 620 precision mediump float; 621 precision mediump int; 622 623 ${DECLARATIONS} 624 625 void main() 626 { 627 ${SETUP} 628 out0 = vec2(in0); 629 ${OUTPUT} 630 } 631 "" 632 end 633 634 case int_to_vec3 635 version 300 es 636 values 637 { 638 input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 639 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) ]; 640 } 641 642 both "" 643 #version 300 es 644 precision mediump float; 645 precision mediump int; 646 647 ${DECLARATIONS} 648 649 void main() 650 { 651 ${SETUP} 652 out0 = vec3(in0); 653 ${OUTPUT} 654 } 655 "" 656 end 657 658 case int_to_vec4 659 version 300 es 660 values 661 { 662 input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 663 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) ]; 664 } 665 666 both "" 667 #version 300 es 668 precision mediump float; 669 precision mediump int; 670 671 ${DECLARATIONS} 672 673 void main() 674 { 675 ${SETUP} 676 out0 = vec4(in0); 677 ${OUTPUT} 678 } 679 "" 680 end 681 682 case int_to_ivec2 683 version 300 es 684 values 685 { 686 input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 687 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) ]; 688 } 689 690 both "" 691 #version 300 es 692 precision mediump float; 693 precision mediump int; 694 695 ${DECLARATIONS} 696 697 void main() 698 { 699 ${SETUP} 700 out0 = ivec2(in0); 701 ${OUTPUT} 702 } 703 "" 704 end 705 706 case int_to_ivec3 707 version 300 es 708 values 709 { 710 input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 711 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) ]; 712 } 713 714 both "" 715 #version 300 es 716 precision mediump float; 717 precision mediump int; 718 719 ${DECLARATIONS} 720 721 void main() 722 { 723 ${SETUP} 724 out0 = ivec3(in0); 725 ${OUTPUT} 726 } 727 "" 728 end 729 730 case int_to_ivec4 731 version 300 es 732 values 733 { 734 input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 735 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) ]; 736 } 737 738 both "" 739 #version 300 es 740 precision mediump float; 741 precision mediump int; 742 743 ${DECLARATIONS} 744 745 void main() 746 { 747 ${SETUP} 748 out0 = ivec4(in0); 749 ${OUTPUT} 750 } 751 "" 752 end 753 754 case int_to_bvec2 755 version 300 es 756 values 757 { 758 input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 759 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) ]; 760 } 761 762 both "" 763 #version 300 es 764 precision mediump float; 765 precision mediump int; 766 767 ${DECLARATIONS} 768 769 void main() 770 { 771 ${SETUP} 772 out0 = bvec2(in0); 773 ${OUTPUT} 774 } 775 "" 776 end 777 778 case int_to_bvec3 779 version 300 es 780 values 781 { 782 input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 783 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) ]; 784 } 785 786 both "" 787 #version 300 es 788 precision mediump float; 789 precision mediump int; 790 791 ${DECLARATIONS} 792 793 void main() 794 { 795 ${SETUP} 796 out0 = bvec3(in0); 797 ${OUTPUT} 798 } 799 "" 800 end 801 802 case int_to_bvec4 803 version 300 es 804 values 805 { 806 input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 807 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) ]; 808 } 809 810 both "" 811 #version 300 es 812 precision mediump float; 813 precision mediump int; 814 815 ${DECLARATIONS} 816 817 void main() 818 { 819 ${SETUP} 820 out0 = bvec4(in0); 821 ${OUTPUT} 822 } 823 "" 824 end 825 826 case uint_to_vec2 827 version 300 es 828 values 829 { 830 input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ]; 831 output vec2 out0 = [ vec2(0.0, 0.0) | vec2(2.0, 2.0) | vec2(3.0, 3.0) | vec2(8.0, 8.0) | vec2(9.0, 9.0) | vec2(12.0, 12.0) | vec2(10.0, 10.0) | vec2(45.0, 45.0) | vec2(193.0, 193.0) | vec2(255.0, 255.0) ]; 832 } 833 834 both "" 835 #version 300 es 836 precision mediump float; 837 precision mediump int; 838 839 ${DECLARATIONS} 840 841 void main() 842 { 843 ${SETUP} 844 out0 = vec2(in0); 845 ${OUTPUT} 846 } 847 "" 848 end 849 850 case uint_to_vec3 851 version 300 es 852 values 853 { 854 input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ]; 855 output vec3 out0 = [ vec3(0.0, 0.0, 0.0) | vec3(2.0, 2.0, 2.0) | vec3(3.0, 3.0, 3.0) | vec3(8.0, 8.0, 8.0) | vec3(9.0, 9.0, 9.0) | vec3(12.0, 12.0, 12.0) | vec3(10.0, 10.0, 10.0) | vec3(45.0, 45.0, 45.0) | vec3(193.0, 193.0, 193.0) | vec3(255.0, 255.0, 255.0) ]; 856 } 857 858 both "" 859 #version 300 es 860 precision mediump float; 861 precision mediump int; 862 863 ${DECLARATIONS} 864 865 void main() 866 { 867 ${SETUP} 868 out0 = vec3(in0); 869 ${OUTPUT} 870 } 871 "" 872 end 873 874 case uint_to_vec4 875 version 300 es 876 values 877 { 878 input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ]; 879 output vec4 out0 = [ vec4(0.0, 0.0, 0.0, 0.0) | vec4(2.0, 2.0, 2.0, 2.0) | vec4(3.0, 3.0, 3.0, 3.0) | vec4(8.0, 8.0, 8.0, 8.0) | vec4(9.0, 9.0, 9.0, 9.0) | vec4(12.0, 12.0, 12.0, 12.0) | vec4(10.0, 10.0, 10.0, 10.0) | vec4(45.0, 45.0, 45.0, 45.0) | vec4(193.0, 193.0, 193.0, 193.0) | vec4(255.0, 255.0, 255.0, 255.0) ]; 880 } 881 882 both "" 883 #version 300 es 884 precision mediump float; 885 precision mediump int; 886 887 ${DECLARATIONS} 888 889 void main() 890 { 891 ${SETUP} 892 out0 = vec4(in0); 893 ${OUTPUT} 894 } 895 "" 896 end 897 898 case uint_to_ivec2 899 version 300 es 900 values 901 { 902 input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ]; 903 output ivec2 out0 = [ ivec2(0, 0) | ivec2(2, 2) | ivec2(3, 3) | ivec2(8, 8) | ivec2(9, 9) | ivec2(12, 12) | ivec2(10, 10) | ivec2(45, 45) | ivec2(193, 193) | ivec2(255, 255) ]; 904 } 905 906 both "" 907 #version 300 es 908 precision mediump float; 909 precision mediump int; 910 911 ${DECLARATIONS} 912 913 void main() 914 { 915 ${SETUP} 916 out0 = ivec2(in0); 917 ${OUTPUT} 918 } 919 "" 920 end 921 922 case uint_to_ivec3 923 version 300 es 924 values 925 { 926 input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ]; 927 output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(2, 2, 2) | ivec3(3, 3, 3) | ivec3(8, 8, 8) | ivec3(9, 9, 9) | ivec3(12, 12, 12) | ivec3(10, 10, 10) | ivec3(45, 45, 45) | ivec3(193, 193, 193) | ivec3(255, 255, 255) ]; 928 } 929 930 both "" 931 #version 300 es 932 precision mediump float; 933 precision mediump int; 934 935 ${DECLARATIONS} 936 937 void main() 938 { 939 ${SETUP} 940 out0 = ivec3(in0); 941 ${OUTPUT} 942 } 943 "" 944 end 945 946 case uint_to_ivec4 947 version 300 es 948 values 949 { 950 input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ]; 951 output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(2, 2, 2, 2) | ivec4(3, 3, 3, 3) | ivec4(8, 8, 8, 8) | ivec4(9, 9, 9, 9) | ivec4(12, 12, 12, 12) | ivec4(10, 10, 10, 10) | ivec4(45, 45, 45, 45) | ivec4(193, 193, 193, 193) | ivec4(255, 255, 255, 255) ]; 952 } 953 954 both "" 955 #version 300 es 956 precision mediump float; 957 precision mediump int; 958 959 ${DECLARATIONS} 960 961 void main() 962 { 963 ${SETUP} 964 out0 = ivec4(in0); 965 ${OUTPUT} 966 } 967 "" 968 end 969 970 case uint_to_bvec2 971 version 300 es 972 values 973 { 974 input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ]; 975 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) ]; 976 } 977 978 both "" 979 #version 300 es 980 precision mediump float; 981 precision mediump int; 982 983 ${DECLARATIONS} 984 985 void main() 986 { 987 ${SETUP} 988 out0 = bvec2(in0); 989 ${OUTPUT} 990 } 991 "" 992 end 993 994 case uint_to_bvec3 995 version 300 es 996 values 997 { 998 input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ]; 999 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) ]; 1000 } 1001 1002 both "" 1003 #version 300 es 1004 precision mediump float; 1005 precision mediump int; 1006 1007 ${DECLARATIONS} 1008 1009 void main() 1010 { 1011 ${SETUP} 1012 out0 = bvec3(in0); 1013 ${OUTPUT} 1014 } 1015 "" 1016 end 1017 1018 case uint_to_bvec4 1019 version 300 es 1020 values 1021 { 1022 input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ]; 1023 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) ]; 1024 } 1025 1026 both "" 1027 #version 300 es 1028 precision mediump float; 1029 precision mediump int; 1030 1031 ${DECLARATIONS} 1032 1033 void main() 1034 { 1035 ${SETUP} 1036 out0 = bvec4(in0); 1037 ${OUTPUT} 1038 } 1039 "" 1040 end 1041 1042 case bool_to_vec2 1043 version 300 es 1044 values 1045 { 1046 input bool in0 = [ true | false ]; 1047 output vec2 out0 = [ vec2(1.0, 1.0) | vec2(0.0, 0.0) ]; 1048 } 1049 1050 both "" 1051 #version 300 es 1052 precision mediump float; 1053 precision mediump int; 1054 1055 ${DECLARATIONS} 1056 1057 void main() 1058 { 1059 ${SETUP} 1060 out0 = vec2(in0); 1061 ${OUTPUT} 1062 } 1063 "" 1064 end 1065 1066 case bool_to_vec3 1067 version 300 es 1068 values 1069 { 1070 input bool in0 = [ true | false ]; 1071 output vec3 out0 = [ vec3(1.0, 1.0, 1.0) | vec3(0.0, 0.0, 0.0) ]; 1072 } 1073 1074 both "" 1075 #version 300 es 1076 precision mediump float; 1077 precision mediump int; 1078 1079 ${DECLARATIONS} 1080 1081 void main() 1082 { 1083 ${SETUP} 1084 out0 = vec3(in0); 1085 ${OUTPUT} 1086 } 1087 "" 1088 end 1089 1090 case bool_to_vec4 1091 version 300 es 1092 values 1093 { 1094 input bool in0 = [ true | false ]; 1095 output vec4 out0 = [ vec4(1.0, 1.0, 1.0, 1.0) | vec4(0.0, 0.0, 0.0, 0.0) ]; 1096 } 1097 1098 both "" 1099 #version 300 es 1100 precision mediump float; 1101 precision mediump int; 1102 1103 ${DECLARATIONS} 1104 1105 void main() 1106 { 1107 ${SETUP} 1108 out0 = vec4(in0); 1109 ${OUTPUT} 1110 } 1111 "" 1112 end 1113 1114 case bool_to_ivec2 1115 version 300 es 1116 values 1117 { 1118 input bool in0 = [ true | false ]; 1119 output ivec2 out0 = [ ivec2(1, 1) | ivec2(0, 0) ]; 1120 } 1121 1122 both "" 1123 #version 300 es 1124 precision mediump float; 1125 precision mediump int; 1126 1127 ${DECLARATIONS} 1128 1129 void main() 1130 { 1131 ${SETUP} 1132 out0 = ivec2(in0); 1133 ${OUTPUT} 1134 } 1135 "" 1136 end 1137 1138 case bool_to_ivec3 1139 version 300 es 1140 values 1141 { 1142 input bool in0 = [ true | false ]; 1143 output ivec3 out0 = [ ivec3(1, 1, 1) | ivec3(0, 0, 0) ]; 1144 } 1145 1146 both "" 1147 #version 300 es 1148 precision mediump float; 1149 precision mediump int; 1150 1151 ${DECLARATIONS} 1152 1153 void main() 1154 { 1155 ${SETUP} 1156 out0 = ivec3(in0); 1157 ${OUTPUT} 1158 } 1159 "" 1160 end 1161 1162 case bool_to_ivec4 1163 version 300 es 1164 values 1165 { 1166 input bool in0 = [ true | false ]; 1167 output ivec4 out0 = [ ivec4(1, 1, 1, 1) | ivec4(0, 0, 0, 0) ]; 1168 } 1169 1170 both "" 1171 #version 300 es 1172 precision mediump float; 1173 precision mediump int; 1174 1175 ${DECLARATIONS} 1176 1177 void main() 1178 { 1179 ${SETUP} 1180 out0 = ivec4(in0); 1181 ${OUTPUT} 1182 } 1183 "" 1184 end 1185 1186 case bool_to_bvec2 1187 version 300 es 1188 values 1189 { 1190 input bool in0 = [ true | false ]; 1191 output bvec2 out0 = [ bvec2(true, true) | bvec2(false, false) ]; 1192 } 1193 1194 both "" 1195 #version 300 es 1196 precision mediump float; 1197 precision mediump int; 1198 1199 ${DECLARATIONS} 1200 1201 void main() 1202 { 1203 ${SETUP} 1204 out0 = bvec2(in0); 1205 ${OUTPUT} 1206 } 1207 "" 1208 end 1209 1210 case bool_to_bvec3 1211 version 300 es 1212 values 1213 { 1214 input bool in0 = [ true | false ]; 1215 output bvec3 out0 = [ bvec3(true, true, true) | bvec3(false, false, false) ]; 1216 } 1217 1218 both "" 1219 #version 300 es 1220 precision mediump float; 1221 precision mediump int; 1222 1223 ${DECLARATIONS} 1224 1225 void main() 1226 { 1227 ${SETUP} 1228 out0 = bvec3(in0); 1229 ${OUTPUT} 1230 } 1231 "" 1232 end 1233 1234 case bool_to_bvec4 1235 version 300 es 1236 values 1237 { 1238 input bool in0 = [ true | false ]; 1239 output bvec4 out0 = [ bvec4(true, true, true, true) | bvec4(false, false, false, false) ]; 1240 } 1241 1242 both "" 1243 #version 300 es 1244 precision mediump float; 1245 precision mediump int; 1246 1247 ${DECLARATIONS} 1248 1249 void main() 1250 { 1251 ${SETUP} 1252 out0 = bvec4(in0); 1253 ${OUTPUT} 1254 } 1255 "" 1256 end 1257 1258 case float_to_uvec2 1259 version 300 es 1260 values 1261 { 1262 input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | 0.5 | 8.25 | 20.125 | 36.8125 ]; 1263 output uvec2 out0 = [ uvec2(0, 0) | uvec2(1, 1) | uvec2(2, 2) | uvec2(3, 3) | uvec2(0, 0) | uvec2(8, 8) | uvec2(20, 20) | uvec2(36, 36) ]; 1264 } 1265 1266 both "" 1267 #version 300 es 1268 precision mediump float; 1269 precision mediump int; 1270 1271 ${DECLARATIONS} 1272 1273 void main() 1274 { 1275 ${SETUP} 1276 out0 = uvec2(in0); 1277 ${OUTPUT} 1278 } 1279 "" 1280 end 1281 1282 case float_to_uvec3 1283 version 300 es 1284 values 1285 { 1286 input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | 0.5 | 8.25 | 20.125 | 36.8125 ]; 1287 output uvec3 out0 = [ uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(2, 2, 2) | uvec3(3, 3, 3) | uvec3(0, 0, 0) | uvec3(8, 8, 8) | uvec3(20, 20, 20) | uvec3(36, 36, 36) ]; 1288 } 1289 1290 both "" 1291 #version 300 es 1292 precision mediump float; 1293 precision mediump int; 1294 1295 ${DECLARATIONS} 1296 1297 void main() 1298 { 1299 ${SETUP} 1300 out0 = uvec3(in0); 1301 ${OUTPUT} 1302 } 1303 "" 1304 end 1305 1306 case float_to_uvec4 1307 version 300 es 1308 values 1309 { 1310 input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | 0.5 | 8.25 | 20.125 | 36.8125 ]; 1311 output uvec4 out0 = [ uvec4(0, 0, 0, 0) | uvec4(1, 1, 1, 1) | uvec4(2, 2, 2, 2) | uvec4(3, 3, 3, 3) | uvec4(0, 0, 0, 0) | uvec4(8, 8, 8, 8) | uvec4(20, 20, 20, 20) | uvec4(36, 36, 36, 36) ]; 1312 } 1313 1314 both "" 1315 #version 300 es 1316 precision mediump float; 1317 precision mediump int; 1318 1319 ${DECLARATIONS} 1320 1321 void main() 1322 { 1323 ${SETUP} 1324 out0 = uvec4(in0); 1325 ${OUTPUT} 1326 } 1327 "" 1328 end 1329 1330 case int_to_uvec2 1331 version 300 es 1332 values 1333 { 1334 input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | 12 | 66 | 192 | 255 ]; 1335 output uvec2 out0 = [ uvec2(0, 0) | uvec2(1, 1) | uvec2(2, 2) | uvec2(5, 5) | uvec2(8, 8) | uvec2(11, 11) | uvec2(12, 12) | uvec2(66, 66) | uvec2(192, 192) | uvec2(255, 255) ]; 1336 } 1337 1338 both "" 1339 #version 300 es 1340 precision mediump float; 1341 precision mediump int; 1342 1343 ${DECLARATIONS} 1344 1345 void main() 1346 { 1347 ${SETUP} 1348 out0 = uvec2(in0); 1349 ${OUTPUT} 1350 } 1351 "" 1352 end 1353 1354 case int_to_uvec3 1355 version 300 es 1356 values 1357 { 1358 input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | 12 | 66 | 192 | 255 ]; 1359 output uvec3 out0 = [ uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(2, 2, 2) | uvec3(5, 5, 5) | uvec3(8, 8, 8) | uvec3(11, 11, 11) | uvec3(12, 12, 12) | uvec3(66, 66, 66) | uvec3(192, 192, 192) | uvec3(255, 255, 255) ]; 1360 } 1361 1362 both "" 1363 #version 300 es 1364 precision mediump float; 1365 precision mediump int; 1366 1367 ${DECLARATIONS} 1368 1369 void main() 1370 { 1371 ${SETUP} 1372 out0 = uvec3(in0); 1373 ${OUTPUT} 1374 } 1375 "" 1376 end 1377 1378 case int_to_uvec4 1379 version 300 es 1380 values 1381 { 1382 input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | 12 | 66 | 192 | 255 ]; 1383 output uvec4 out0 = [ uvec4(0, 0, 0, 0) | uvec4(1, 1, 1, 1) | uvec4(2, 2, 2, 2) | uvec4(5, 5, 5, 5) | uvec4(8, 8, 8, 8) | uvec4(11, 11, 11, 11) | uvec4(12, 12, 12, 12) | uvec4(66, 66, 66, 66) | uvec4(192, 192, 192, 192) | uvec4(255, 255, 255, 255) ]; 1384 } 1385 1386 both "" 1387 #version 300 es 1388 precision mediump float; 1389 precision mediump int; 1390 1391 ${DECLARATIONS} 1392 1393 void main() 1394 { 1395 ${SETUP} 1396 out0 = uvec4(in0); 1397 ${OUTPUT} 1398 } 1399 "" 1400 end 1401 1402 case uint_to_uvec2 1403 version 300 es 1404 values 1405 { 1406 input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ]; 1407 output uvec2 out0 = [ uvec2(0, 0) | uvec2(2, 2) | uvec2(3, 3) | uvec2(8, 8) | uvec2(9, 9) | uvec2(12, 12) | uvec2(10, 10) | uvec2(45, 45) | uvec2(193, 193) | uvec2(255, 255) ]; 1408 } 1409 1410 both "" 1411 #version 300 es 1412 precision mediump float; 1413 precision mediump int; 1414 1415 ${DECLARATIONS} 1416 1417 void main() 1418 { 1419 ${SETUP} 1420 out0 = uvec2(in0); 1421 ${OUTPUT} 1422 } 1423 "" 1424 end 1425 1426 case uint_to_uvec3 1427 version 300 es 1428 values 1429 { 1430 input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ]; 1431 output uvec3 out0 = [ uvec3(0, 0, 0) | uvec3(2, 2, 2) | uvec3(3, 3, 3) | uvec3(8, 8, 8) | uvec3(9, 9, 9) | uvec3(12, 12, 12) | uvec3(10, 10, 10) | uvec3(45, 45, 45) | uvec3(193, 193, 193) | uvec3(255, 255, 255) ]; 1432 } 1433 1434 both "" 1435 #version 300 es 1436 precision mediump float; 1437 precision mediump int; 1438 1439 ${DECLARATIONS} 1440 1441 void main() 1442 { 1443 ${SETUP} 1444 out0 = uvec3(in0); 1445 ${OUTPUT} 1446 } 1447 "" 1448 end 1449 1450 case uint_to_uvec4 1451 version 300 es 1452 values 1453 { 1454 input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ]; 1455 output uvec4 out0 = [ uvec4(0, 0, 0, 0) | uvec4(2, 2, 2, 2) | uvec4(3, 3, 3, 3) | uvec4(8, 8, 8, 8) | uvec4(9, 9, 9, 9) | uvec4(12, 12, 12, 12) | uvec4(10, 10, 10, 10) | uvec4(45, 45, 45, 45) | uvec4(193, 193, 193, 193) | uvec4(255, 255, 255, 255) ]; 1456 } 1457 1458 both "" 1459 #version 300 es 1460 precision mediump float; 1461 precision mediump int; 1462 1463 ${DECLARATIONS} 1464 1465 void main() 1466 { 1467 ${SETUP} 1468 out0 = uvec4(in0); 1469 ${OUTPUT} 1470 } 1471 "" 1472 end 1473 1474 case bool_to_uvec2 1475 version 300 es 1476 values 1477 { 1478 input bool in0 = [ true | false ]; 1479 output uvec2 out0 = [ uvec2(1, 1) | uvec2(0, 0) ]; 1480 } 1481 1482 both "" 1483 #version 300 es 1484 precision mediump float; 1485 precision mediump int; 1486 1487 ${DECLARATIONS} 1488 1489 void main() 1490 { 1491 ${SETUP} 1492 out0 = uvec2(in0); 1493 ${OUTPUT} 1494 } 1495 "" 1496 end 1497 1498 case bool_to_uvec3 1499 version 300 es 1500 values 1501 { 1502 input bool in0 = [ true | false ]; 1503 output uvec3 out0 = [ uvec3(1, 1, 1) | uvec3(0, 0, 0) ]; 1504 } 1505 1506 both "" 1507 #version 300 es 1508 precision mediump float; 1509 precision mediump int; 1510 1511 ${DECLARATIONS} 1512 1513 void main() 1514 { 1515 ${SETUP} 1516 out0 = uvec3(in0); 1517 ${OUTPUT} 1518 } 1519 "" 1520 end 1521 1522 case bool_to_uvec4 1523 version 300 es 1524 values 1525 { 1526 input bool in0 = [ true | false ]; 1527 output uvec4 out0 = [ uvec4(1, 1, 1, 1) | uvec4(0, 0, 0, 0) ]; 1528 } 1529 1530 both "" 1531 #version 300 es 1532 precision mediump float; 1533 precision mediump int; 1534 1535 ${DECLARATIONS} 1536 1537 void main() 1538 { 1539 ${SETUP} 1540 out0 = uvec4(in0); 1541 ${OUTPUT} 1542 } 1543 "" 1544 end 1545 1546 1547 end # scalar_to_vector 1548 group vector_to_scalar "Vector to Scalar Conversions" 1549 1550 case vec2_to_float 1551 version 300 es 1552 values 1553 { 1554 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) ]; 1555 output float out0 = [ 0.0 | 1.0 | -0.5 | -32.0 | -0.75 ]; 1556 } 1557 1558 both "" 1559 #version 300 es 1560 precision mediump float; 1561 precision mediump int; 1562 1563 ${DECLARATIONS} 1564 1565 void main() 1566 { 1567 ${SETUP} 1568 out0 = float(in0); 1569 ${OUTPUT} 1570 } 1571 "" 1572 end 1573 1574 case vec2_to_int 1575 version 300 es 1576 values 1577 { 1578 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) ]; 1579 output int out0 = [ 0 | 1 | 0 | -32 | 0 ]; 1580 } 1581 1582 both "" 1583 #version 300 es 1584 precision mediump float; 1585 precision mediump int; 1586 1587 ${DECLARATIONS} 1588 1589 void main() 1590 { 1591 ${SETUP} 1592 out0 = int(in0); 1593 ${OUTPUT} 1594 } 1595 "" 1596 end 1597 1598 case vec2_to_bool 1599 version 300 es 1600 values 1601 { 1602 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) ]; 1603 output bool out0 = [ false | true | true | true | true ]; 1604 } 1605 1606 both "" 1607 #version 300 es 1608 precision mediump float; 1609 precision mediump int; 1610 1611 ${DECLARATIONS} 1612 1613 void main() 1614 { 1615 ${SETUP} 1616 out0 = bool(in0); 1617 ${OUTPUT} 1618 } 1619 "" 1620 end 1621 1622 case vec3_to_float 1623 version 300 es 1624 values 1625 { 1626 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) ]; 1627 output float out0 = [ 0.0 | 1.0 | -0.5 | -32.0 | -0.75 ]; 1628 } 1629 1630 both "" 1631 #version 300 es 1632 precision mediump float; 1633 precision mediump int; 1634 1635 ${DECLARATIONS} 1636 1637 void main() 1638 { 1639 ${SETUP} 1640 out0 = float(in0); 1641 ${OUTPUT} 1642 } 1643 "" 1644 end 1645 1646 case vec3_to_int 1647 version 300 es 1648 values 1649 { 1650 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) ]; 1651 output int out0 = [ 0 | 1 | 0 | -32 | 0 ]; 1652 } 1653 1654 both "" 1655 #version 300 es 1656 precision mediump float; 1657 precision mediump int; 1658 1659 ${DECLARATIONS} 1660 1661 void main() 1662 { 1663 ${SETUP} 1664 out0 = int(in0); 1665 ${OUTPUT} 1666 } 1667 "" 1668 end 1669 1670 case vec3_to_bool 1671 version 300 es 1672 values 1673 { 1674 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) ]; 1675 output bool out0 = [ false | true | true | true | true ]; 1676 } 1677 1678 both "" 1679 #version 300 es 1680 precision mediump float; 1681 precision mediump int; 1682 1683 ${DECLARATIONS} 1684 1685 void main() 1686 { 1687 ${SETUP} 1688 out0 = bool(in0); 1689 ${OUTPUT} 1690 } 1691 "" 1692 end 1693 1694 case vec4_to_float 1695 version 300 es 1696 values 1697 { 1698 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) ]; 1699 output float out0 = [ 0.0 | 1.0 | -0.5 | -32.0 | -0.75 ]; 1700 } 1701 1702 both "" 1703 #version 300 es 1704 precision mediump float; 1705 precision mediump int; 1706 1707 ${DECLARATIONS} 1708 1709 void main() 1710 { 1711 ${SETUP} 1712 out0 = float(in0); 1713 ${OUTPUT} 1714 } 1715 "" 1716 end 1717 1718 case vec4_to_int 1719 version 300 es 1720 values 1721 { 1722 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) ]; 1723 output int out0 = [ 0 | 1 | 0 | -32 | 0 ]; 1724 } 1725 1726 both "" 1727 #version 300 es 1728 precision mediump float; 1729 precision mediump int; 1730 1731 ${DECLARATIONS} 1732 1733 void main() 1734 { 1735 ${SETUP} 1736 out0 = int(in0); 1737 ${OUTPUT} 1738 } 1739 "" 1740 end 1741 1742 case vec4_to_bool 1743 version 300 es 1744 values 1745 { 1746 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) ]; 1747 output bool out0 = [ false | true | true | true | true ]; 1748 } 1749 1750 both "" 1751 #version 300 es 1752 precision mediump float; 1753 precision mediump int; 1754 1755 ${DECLARATIONS} 1756 1757 void main() 1758 { 1759 ${SETUP} 1760 out0 = bool(in0); 1761 ${OUTPUT} 1762 } 1763 "" 1764 end 1765 1766 case ivec2_to_float 1767 version 300 es 1768 values 1769 { 1770 input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ]; 1771 output float out0 = [ 0.0 | 1.0 | 0.0 | -32.0 | 0.0 ]; 1772 } 1773 1774 both "" 1775 #version 300 es 1776 precision mediump float; 1777 precision mediump int; 1778 1779 ${DECLARATIONS} 1780 1781 void main() 1782 { 1783 ${SETUP} 1784 out0 = float(in0); 1785 ${OUTPUT} 1786 } 1787 "" 1788 end 1789 1790 case ivec2_to_int 1791 version 300 es 1792 values 1793 { 1794 input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ]; 1795 output int out0 = [ 0 | 1 | 0 | -32 | 0 ]; 1796 } 1797 1798 both "" 1799 #version 300 es 1800 precision mediump float; 1801 precision mediump int; 1802 1803 ${DECLARATIONS} 1804 1805 void main() 1806 { 1807 ${SETUP} 1808 out0 = int(in0); 1809 ${OUTPUT} 1810 } 1811 "" 1812 end 1813 1814 case ivec2_to_bool 1815 version 300 es 1816 values 1817 { 1818 input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ]; 1819 output bool out0 = [ false | true | false | true | false ]; 1820 } 1821 1822 both "" 1823 #version 300 es 1824 precision mediump float; 1825 precision mediump int; 1826 1827 ${DECLARATIONS} 1828 1829 void main() 1830 { 1831 ${SETUP} 1832 out0 = bool(in0); 1833 ${OUTPUT} 1834 } 1835 "" 1836 end 1837 1838 case ivec3_to_float 1839 version 300 es 1840 values 1841 { 1842 input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ]; 1843 output float out0 = [ 0.0 | 1.0 | 0.0 | -32.0 | 0.0 ]; 1844 } 1845 1846 both "" 1847 #version 300 es 1848 precision mediump float; 1849 precision mediump int; 1850 1851 ${DECLARATIONS} 1852 1853 void main() 1854 { 1855 ${SETUP} 1856 out0 = float(in0); 1857 ${OUTPUT} 1858 } 1859 "" 1860 end 1861 1862 case ivec3_to_int 1863 version 300 es 1864 values 1865 { 1866 input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ]; 1867 output int out0 = [ 0 | 1 | 0 | -32 | 0 ]; 1868 } 1869 1870 both "" 1871 #version 300 es 1872 precision mediump float; 1873 precision mediump int; 1874 1875 ${DECLARATIONS} 1876 1877 void main() 1878 { 1879 ${SETUP} 1880 out0 = int(in0); 1881 ${OUTPUT} 1882 } 1883 "" 1884 end 1885 1886 case ivec3_to_bool 1887 version 300 es 1888 values 1889 { 1890 input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ]; 1891 output bool out0 = [ false | true | false | true | false ]; 1892 } 1893 1894 both "" 1895 #version 300 es 1896 precision mediump float; 1897 precision mediump int; 1898 1899 ${DECLARATIONS} 1900 1901 void main() 1902 { 1903 ${SETUP} 1904 out0 = bool(in0); 1905 ${OUTPUT} 1906 } 1907 "" 1908 end 1909 1910 case ivec4_to_float 1911 version 300 es 1912 values 1913 { 1914 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) ]; 1915 output float out0 = [ 0.0 | 1.0 | 0.0 | -32.0 | 0.0 ]; 1916 } 1917 1918 both "" 1919 #version 300 es 1920 precision mediump float; 1921 precision mediump int; 1922 1923 ${DECLARATIONS} 1924 1925 void main() 1926 { 1927 ${SETUP} 1928 out0 = float(in0); 1929 ${OUTPUT} 1930 } 1931 "" 1932 end 1933 1934 case ivec4_to_int 1935 version 300 es 1936 values 1937 { 1938 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) ]; 1939 output int out0 = [ 0 | 1 | 0 | -32 | 0 ]; 1940 } 1941 1942 both "" 1943 #version 300 es 1944 precision mediump float; 1945 precision mediump int; 1946 1947 ${DECLARATIONS} 1948 1949 void main() 1950 { 1951 ${SETUP} 1952 out0 = int(in0); 1953 ${OUTPUT} 1954 } 1955 "" 1956 end 1957 1958 case ivec4_to_bool 1959 version 300 es 1960 values 1961 { 1962 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) ]; 1963 output bool out0 = [ false | true | false | true | false ]; 1964 } 1965 1966 both "" 1967 #version 300 es 1968 precision mediump float; 1969 precision mediump int; 1970 1971 ${DECLARATIONS} 1972 1973 void main() 1974 { 1975 ${SETUP} 1976 out0 = bool(in0); 1977 ${OUTPUT} 1978 } 1979 "" 1980 end 1981 1982 case uvec2_to_float 1983 version 300 es 1984 values 1985 { 1986 input uvec2 in0 = [ uvec2(0, 0) | uvec2(1, 1) | uvec2(0, 2) | uvec2(32, 64) | uvec2(0, 0) ]; 1987 output float out0 = [ 0.0 | 1.0 | 0.0 | 32.0 | 0.0 ]; 1988 } 1989 1990 both "" 1991 #version 300 es 1992 precision mediump float; 1993 precision mediump int; 1994 1995 ${DECLARATIONS} 1996 1997 void main() 1998 { 1999 ${SETUP} 2000 out0 = float(in0); 2001 ${OUTPUT} 2002 } 2003 "" 2004 end 2005 2006 case uvec2_to_int 2007 version 300 es 2008 values 2009 { 2010 input uvec2 in0 = [ uvec2(0, 0) | uvec2(1, 1) | uvec2(0, 2) | uvec2(32, 64) | uvec2(0, 0) ]; 2011 output int out0 = [ 0 | 1 | 0 | 32 | 0 ]; 2012 } 2013 2014 both "" 2015 #version 300 es 2016 precision mediump float; 2017 precision mediump int; 2018 2019 ${DECLARATIONS} 2020 2021 void main() 2022 { 2023 ${SETUP} 2024 out0 = int(in0); 2025 ${OUTPUT} 2026 } 2027 "" 2028 end 2029 2030 case uvec2_to_bool 2031 version 300 es 2032 values 2033 { 2034 input uvec2 in0 = [ uvec2(0, 0) | uvec2(1, 1) | uvec2(0, 2) | uvec2(32, 64) | uvec2(0, 0) ]; 2035 output bool out0 = [ false | true | false | true | false ]; 2036 } 2037 2038 both "" 2039 #version 300 es 2040 precision mediump float; 2041 precision mediump int; 2042 2043 ${DECLARATIONS} 2044 2045 void main() 2046 { 2047 ${SETUP} 2048 out0 = bool(in0); 2049 ${OUTPUT} 2050 } 2051 "" 2052 end 2053 2054 case uvec3_to_float 2055 version 300 es 2056 values 2057 { 2058 input uvec3 in0 = [ uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(32, 64, 51) | uvec3(0, 0, 0) ]; 2059 output float out0 = [ 0.0 | 1.0 | 0.0 | 32.0 | 0.0 ]; 2060 } 2061 2062 both "" 2063 #version 300 es 2064 precision mediump float; 2065 precision mediump int; 2066 2067 ${DECLARATIONS} 2068 2069 void main() 2070 { 2071 ${SETUP} 2072 out0 = float(in0); 2073 ${OUTPUT} 2074 } 2075 "" 2076 end 2077 2078 case uvec3_to_int 2079 version 300 es 2080 values 2081 { 2082 input uvec3 in0 = [ uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(32, 64, 51) | uvec3(0, 0, 0) ]; 2083 output int out0 = [ 0 | 1 | 0 | 32 | 0 ]; 2084 } 2085 2086 both "" 2087 #version 300 es 2088 precision mediump float; 2089 precision mediump int; 2090 2091 ${DECLARATIONS} 2092 2093 void main() 2094 { 2095 ${SETUP} 2096 out0 = int(in0); 2097 ${OUTPUT} 2098 } 2099 "" 2100 end 2101 2102 case uvec3_to_bool 2103 version 300 es 2104 values 2105 { 2106 input uvec3 in0 = [ uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(32, 64, 51) | uvec3(0, 0, 0) ]; 2107 output bool out0 = [ false | true | false | true | false ]; 2108 } 2109 2110 both "" 2111 #version 300 es 2112 precision mediump float; 2113 precision mediump int; 2114 2115 ${DECLARATIONS} 2116 2117 void main() 2118 { 2119 ${SETUP} 2120 out0 = bool(in0); 2121 ${OUTPUT} 2122 } 2123 "" 2124 end 2125 2126 case uvec4_to_float 2127 version 300 es 2128 values 2129 { 2130 input uvec4 in0 = [ uvec4(0, 0, 0, 0) | uvec4(1, 1, 1, 1) | uvec4(0, 2, 4, 9) | uvec4(32, 64, 51, 24) | uvec4(0, 0, 0, 0) ]; 2131 output float out0 = [ 0.0 | 1.0 | 0.0 | 32.0 | 0.0 ]; 2132 } 2133 2134 both "" 2135 #version 300 es 2136 precision mediump float; 2137 precision mediump int; 2138 2139 ${DECLARATIONS} 2140 2141 void main() 2142 { 2143 ${SETUP} 2144 out0 = float(in0); 2145 ${OUTPUT} 2146 } 2147 "" 2148 end 2149 2150 case uvec4_to_int 2151 version 300 es 2152 values 2153 { 2154 input uvec4 in0 = [ uvec4(0, 0, 0, 0) | uvec4(1, 1, 1, 1) | uvec4(0, 2, 4, 9) | uvec4(32, 64, 51, 24) | uvec4(0, 0, 0, 0) ]; 2155 output int out0 = [ 0 | 1 | 0 | 32 | 0 ]; 2156 } 2157 2158 both "" 2159 #version 300 es 2160 precision mediump float; 2161 precision mediump int; 2162 2163 ${DECLARATIONS} 2164 2165 void main() 2166 { 2167 ${SETUP} 2168 out0 = int(in0); 2169 ${OUTPUT} 2170 } 2171 "" 2172 end 2173 2174 case uvec4_to_bool 2175 version 300 es 2176 values 2177 { 2178 input uvec4 in0 = [ uvec4(0, 0, 0, 0) | uvec4(1, 1, 1, 1) | uvec4(0, 2, 4, 9) | uvec4(32, 64, 51, 24) | uvec4(0, 0, 0, 0) ]; 2179 output bool out0 = [ false | true | false | true | false ]; 2180 } 2181 2182 both "" 2183 #version 300 es 2184 precision mediump float; 2185 precision mediump int; 2186 2187 ${DECLARATIONS} 2188 2189 void main() 2190 { 2191 ${SETUP} 2192 out0 = bool(in0); 2193 ${OUTPUT} 2194 } 2195 "" 2196 end 2197 2198 case bvec2_to_float 2199 version 300 es 2200 values 2201 { 2202 input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 2203 output float out0 = [ 1.0 | 0.0 | 0.0 | 1.0 | 0.0 ]; 2204 } 2205 2206 both "" 2207 #version 300 es 2208 precision mediump float; 2209 precision mediump int; 2210 2211 ${DECLARATIONS} 2212 2213 void main() 2214 { 2215 ${SETUP} 2216 out0 = float(in0); 2217 ${OUTPUT} 2218 } 2219 "" 2220 end 2221 2222 case bvec2_to_int 2223 version 300 es 2224 values 2225 { 2226 input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 2227 output int out0 = [ 1 | 0 | 0 | 1 | 0 ]; 2228 } 2229 2230 both "" 2231 #version 300 es 2232 precision mediump float; 2233 precision mediump int; 2234 2235 ${DECLARATIONS} 2236 2237 void main() 2238 { 2239 ${SETUP} 2240 out0 = int(in0); 2241 ${OUTPUT} 2242 } 2243 "" 2244 end 2245 2246 case bvec2_to_bool 2247 version 300 es 2248 values 2249 { 2250 input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 2251 output bool out0 = [ true | false | false | true | false ]; 2252 } 2253 2254 both "" 2255 #version 300 es 2256 precision mediump float; 2257 precision mediump int; 2258 2259 ${DECLARATIONS} 2260 2261 void main() 2262 { 2263 ${SETUP} 2264 out0 = bool(in0); 2265 ${OUTPUT} 2266 } 2267 "" 2268 end 2269 2270 case bvec3_to_float 2271 version 300 es 2272 values 2273 { 2274 input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ]; 2275 output float out0 = [ 1.0 | 0.0 | 0.0 | 1.0 | 0.0 ]; 2276 } 2277 2278 both "" 2279 #version 300 es 2280 precision mediump float; 2281 precision mediump int; 2282 2283 ${DECLARATIONS} 2284 2285 void main() 2286 { 2287 ${SETUP} 2288 out0 = float(in0); 2289 ${OUTPUT} 2290 } 2291 "" 2292 end 2293 2294 case bvec3_to_int 2295 version 300 es 2296 values 2297 { 2298 input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ]; 2299 output int out0 = [ 1 | 0 | 0 | 1 | 0 ]; 2300 } 2301 2302 both "" 2303 #version 300 es 2304 precision mediump float; 2305 precision mediump int; 2306 2307 ${DECLARATIONS} 2308 2309 void main() 2310 { 2311 ${SETUP} 2312 out0 = int(in0); 2313 ${OUTPUT} 2314 } 2315 "" 2316 end 2317 2318 case bvec3_to_bool 2319 version 300 es 2320 values 2321 { 2322 input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ]; 2323 output bool out0 = [ true | false | false | true | false ]; 2324 } 2325 2326 both "" 2327 #version 300 es 2328 precision mediump float; 2329 precision mediump int; 2330 2331 ${DECLARATIONS} 2332 2333 void main() 2334 { 2335 ${SETUP} 2336 out0 = bool(in0); 2337 ${OUTPUT} 2338 } 2339 "" 2340 end 2341 2342 case bvec4_to_float 2343 version 300 es 2344 values 2345 { 2346 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) ]; 2347 output float out0 = [ 1.0 | 0.0 | 0.0 | 1.0 | 0.0 ]; 2348 } 2349 2350 both "" 2351 #version 300 es 2352 precision mediump float; 2353 precision mediump int; 2354 2355 ${DECLARATIONS} 2356 2357 void main() 2358 { 2359 ${SETUP} 2360 out0 = float(in0); 2361 ${OUTPUT} 2362 } 2363 "" 2364 end 2365 2366 case bvec4_to_int 2367 version 300 es 2368 values 2369 { 2370 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) ]; 2371 output int out0 = [ 1 | 0 | 0 | 1 | 0 ]; 2372 } 2373 2374 both "" 2375 #version 300 es 2376 precision mediump float; 2377 precision mediump int; 2378 2379 ${DECLARATIONS} 2380 2381 void main() 2382 { 2383 ${SETUP} 2384 out0 = int(in0); 2385 ${OUTPUT} 2386 } 2387 "" 2388 end 2389 2390 case bvec4_to_bool 2391 version 300 es 2392 values 2393 { 2394 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) ]; 2395 output bool out0 = [ true | false | false | true | false ]; 2396 } 2397 2398 both "" 2399 #version 300 es 2400 precision mediump float; 2401 precision mediump int; 2402 2403 ${DECLARATIONS} 2404 2405 void main() 2406 { 2407 ${SETUP} 2408 out0 = bool(in0); 2409 ${OUTPUT} 2410 } 2411 "" 2412 end 2413 2414 case vec2_to_uint 2415 version 300 es 2416 values 2417 { 2418 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) ]; 2419 output uint out0 = [ 0 | 1 | 0 | 32 | 0 ]; 2420 } 2421 2422 both "" 2423 #version 300 es 2424 precision mediump float; 2425 precision mediump int; 2426 2427 ${DECLARATIONS} 2428 2429 void main() 2430 { 2431 ${SETUP} 2432 out0 = uint(in0); 2433 ${OUTPUT} 2434 } 2435 "" 2436 end 2437 2438 case vec3_to_uint 2439 version 300 es 2440 values 2441 { 2442 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) ]; 2443 output uint out0 = [ 0 | 1 | 0 | 32 | 0 ]; 2444 } 2445 2446 both "" 2447 #version 300 es 2448 precision mediump float; 2449 precision mediump int; 2450 2451 ${DECLARATIONS} 2452 2453 void main() 2454 { 2455 ${SETUP} 2456 out0 = uint(in0); 2457 ${OUTPUT} 2458 } 2459 "" 2460 end 2461 2462 case vec4_to_uint 2463 version 300 es 2464 values 2465 { 2466 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) ]; 2467 output uint out0 = [ 0 | 1 | 0 | 32 | 0 ]; 2468 } 2469 2470 both "" 2471 #version 300 es 2472 precision mediump float; 2473 precision mediump int; 2474 2475 ${DECLARATIONS} 2476 2477 void main() 2478 { 2479 ${SETUP} 2480 out0 = uint(in0); 2481 ${OUTPUT} 2482 } 2483 "" 2484 end 2485 2486 case ivec2_to_uint 2487 version 300 es 2488 values 2489 { 2490 input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, 2) | ivec2(32, 64) | ivec2(0, 0) ]; 2491 output uint out0 = [ 0 | 1 | 0 | 32 | 0 ]; 2492 } 2493 2494 both "" 2495 #version 300 es 2496 precision mediump float; 2497 precision mediump int; 2498 2499 ${DECLARATIONS} 2500 2501 void main() 2502 { 2503 ${SETUP} 2504 out0 = uint(in0); 2505 ${OUTPUT} 2506 } 2507 "" 2508 end 2509 2510 case ivec3_to_uint 2511 version 300 es 2512 values 2513 { 2514 input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, 2, 4) | ivec3(32, 64, 51) | ivec3(0, 0, 0) ]; 2515 output uint out0 = [ 0 | 1 | 0 | 32 | 0 ]; 2516 } 2517 2518 both "" 2519 #version 300 es 2520 precision mediump float; 2521 precision mediump int; 2522 2523 ${DECLARATIONS} 2524 2525 void main() 2526 { 2527 ${SETUP} 2528 out0 = uint(in0); 2529 ${OUTPUT} 2530 } 2531 "" 2532 end 2533 2534 case ivec4_to_uint 2535 version 300 es 2536 values 2537 { 2538 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) ]; 2539 output uint out0 = [ 0 | 1 | 0 | 32 | 0 ]; 2540 } 2541 2542 both "" 2543 #version 300 es 2544 precision mediump float; 2545 precision mediump int; 2546 2547 ${DECLARATIONS} 2548 2549 void main() 2550 { 2551 ${SETUP} 2552 out0 = uint(in0); 2553 ${OUTPUT} 2554 } 2555 "" 2556 end 2557 2558 case uvec2_to_uint 2559 version 300 es 2560 values 2561 { 2562 input uvec2 in0 = [ uvec2(0, 0) | uvec2(1, 1) | uvec2(0, 2) | uvec2(32, 64) | uvec2(0, 0) ]; 2563 output uint out0 = [ 0 | 1 | 0 | 32 | 0 ]; 2564 } 2565 2566 both "" 2567 #version 300 es 2568 precision mediump float; 2569 precision mediump int; 2570 2571 ${DECLARATIONS} 2572 2573 void main() 2574 { 2575 ${SETUP} 2576 out0 = uint(in0); 2577 ${OUTPUT} 2578 } 2579 "" 2580 end 2581 2582 case uvec3_to_uint 2583 version 300 es 2584 values 2585 { 2586 input uvec3 in0 = [ uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(32, 64, 51) | uvec3(0, 0, 0) ]; 2587 output uint out0 = [ 0 | 1 | 0 | 32 | 0 ]; 2588 } 2589 2590 both "" 2591 #version 300 es 2592 precision mediump float; 2593 precision mediump int; 2594 2595 ${DECLARATIONS} 2596 2597 void main() 2598 { 2599 ${SETUP} 2600 out0 = uint(in0); 2601 ${OUTPUT} 2602 } 2603 "" 2604 end 2605 2606 case uvec4_to_uint 2607 version 300 es 2608 values 2609 { 2610 input uvec4 in0 = [ uvec4(0, 0, 0, 0) | uvec4(1, 1, 1, 1) | uvec4(0, 2, 4, 9) | uvec4(32, 64, 51, 24) | uvec4(0, 0, 0, 0) ]; 2611 output uint out0 = [ 0 | 1 | 0 | 32 | 0 ]; 2612 } 2613 2614 both "" 2615 #version 300 es 2616 precision mediump float; 2617 precision mediump int; 2618 2619 ${DECLARATIONS} 2620 2621 void main() 2622 { 2623 ${SETUP} 2624 out0 = uint(in0); 2625 ${OUTPUT} 2626 } 2627 "" 2628 end 2629 2630 case bvec2_to_uint 2631 version 300 es 2632 values 2633 { 2634 input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 2635 output uint out0 = [ 1 | 0 | 0 | 1 | 0 ]; 2636 } 2637 2638 both "" 2639 #version 300 es 2640 precision mediump float; 2641 precision mediump int; 2642 2643 ${DECLARATIONS} 2644 2645 void main() 2646 { 2647 ${SETUP} 2648 out0 = uint(in0); 2649 ${OUTPUT} 2650 } 2651 "" 2652 end 2653 2654 case bvec3_to_uint 2655 version 300 es 2656 values 2657 { 2658 input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ]; 2659 output uint out0 = [ 1 | 0 | 0 | 1 | 0 ]; 2660 } 2661 2662 both "" 2663 #version 300 es 2664 precision mediump float; 2665 precision mediump int; 2666 2667 ${DECLARATIONS} 2668 2669 void main() 2670 { 2671 ${SETUP} 2672 out0 = uint(in0); 2673 ${OUTPUT} 2674 } 2675 "" 2676 end 2677 2678 case bvec4_to_uint 2679 version 300 es 2680 values 2681 { 2682 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) ]; 2683 output uint out0 = [ 1 | 0 | 0 | 1 | 0 ]; 2684 } 2685 2686 both "" 2687 #version 300 es 2688 precision mediump float; 2689 precision mediump int; 2690 2691 ${DECLARATIONS} 2692 2693 void main() 2694 { 2695 ${SETUP} 2696 out0 = uint(in0); 2697 ${OUTPUT} 2698 } 2699 "" 2700 end 2701 2702 2703 end # vector_to_scalar 2704 group vector_illegal "Illegal Vector Conversions" 2705 2706 case vec2_to_vec3 2707 version 300 es 2708 expect compile_fail 2709 values {} 2710 2711 both "" 2712 #version 300 es 2713 precision mediump float; 2714 precision mediump int; 2715 2716 ${DECLARATIONS} 2717 2718 void main() 2719 { 2720 ${SETUP} 2721 vec2 in0 = vec2(0.0, 0.5); 2722 vec3 out0 = vec3(in0); 2723 ${OUTPUT} 2724 } 2725 "" 2726 end 2727 2728 case vec2_to_ivec3 2729 version 300 es 2730 expect compile_fail 2731 values {} 2732 2733 both "" 2734 #version 300 es 2735 precision mediump float; 2736 precision mediump int; 2737 2738 ${DECLARATIONS} 2739 2740 void main() 2741 { 2742 ${SETUP} 2743 vec2 in0 = vec2(0.0, 0.5); 2744 ivec3 out0 = ivec3(in0); 2745 ${OUTPUT} 2746 } 2747 "" 2748 end 2749 2750 case vec2_to_uvec3 2751 version 300 es 2752 expect compile_fail 2753 values {} 2754 2755 both "" 2756 #version 300 es 2757 precision mediump float; 2758 precision mediump int; 2759 2760 ${DECLARATIONS} 2761 2762 void main() 2763 { 2764 ${SETUP} 2765 vec2 in0 = vec2(0.0, 0.5); 2766 uvec3 out0 = uvec3(in0); 2767 ${OUTPUT} 2768 } 2769 "" 2770 end 2771 2772 case vec2_to_bvec3 2773 version 300 es 2774 expect compile_fail 2775 values {} 2776 2777 both "" 2778 #version 300 es 2779 precision mediump float; 2780 precision mediump int; 2781 2782 ${DECLARATIONS} 2783 2784 void main() 2785 { 2786 ${SETUP} 2787 vec2 in0 = vec2(0.0, 0.5); 2788 bvec3 out0 = bvec3(in0); 2789 ${OUTPUT} 2790 } 2791 "" 2792 end 2793 2794 case vec2_to_vec4 2795 version 300 es 2796 expect compile_fail 2797 values {} 2798 2799 both "" 2800 #version 300 es 2801 precision mediump float; 2802 precision mediump int; 2803 2804 ${DECLARATIONS} 2805 2806 void main() 2807 { 2808 ${SETUP} 2809 vec2 in0 = vec2(0.0, 0.5); 2810 vec4 out0 = vec4(in0); 2811 ${OUTPUT} 2812 } 2813 "" 2814 end 2815 2816 case vec2_to_ivec4 2817 version 300 es 2818 expect compile_fail 2819 values {} 2820 2821 both "" 2822 #version 300 es 2823 precision mediump float; 2824 precision mediump int; 2825 2826 ${DECLARATIONS} 2827 2828 void main() 2829 { 2830 ${SETUP} 2831 vec2 in0 = vec2(0.0, 0.5); 2832 ivec4 out0 = ivec4(in0); 2833 ${OUTPUT} 2834 } 2835 "" 2836 end 2837 2838 case vec2_to_uvec4 2839 version 300 es 2840 expect compile_fail 2841 values {} 2842 2843 both "" 2844 #version 300 es 2845 precision mediump float; 2846 precision mediump int; 2847 2848 ${DECLARATIONS} 2849 2850 void main() 2851 { 2852 ${SETUP} 2853 vec2 in0 = vec2(0.0, 0.5); 2854 uvec4 out0 = uvec4(in0); 2855 ${OUTPUT} 2856 } 2857 "" 2858 end 2859 2860 case vec2_to_bvec4 2861 version 300 es 2862 expect compile_fail 2863 values {} 2864 2865 both "" 2866 #version 300 es 2867 precision mediump float; 2868 precision mediump int; 2869 2870 ${DECLARATIONS} 2871 2872 void main() 2873 { 2874 ${SETUP} 2875 vec2 in0 = vec2(0.0, 0.5); 2876 bvec4 out0 = bvec4(in0); 2877 ${OUTPUT} 2878 } 2879 "" 2880 end 2881 2882 case ivec2_to_vec3 2883 version 300 es 2884 expect compile_fail 2885 values {} 2886 2887 both "" 2888 #version 300 es 2889 precision mediump float; 2890 precision mediump int; 2891 2892 ${DECLARATIONS} 2893 2894 void main() 2895 { 2896 ${SETUP} 2897 ivec2 in0 = ivec2(0, 0); 2898 vec3 out0 = vec3(in0); 2899 ${OUTPUT} 2900 } 2901 "" 2902 end 2903 2904 case ivec2_to_ivec3 2905 version 300 es 2906 expect compile_fail 2907 values {} 2908 2909 both "" 2910 #version 300 es 2911 precision mediump float; 2912 precision mediump int; 2913 2914 ${DECLARATIONS} 2915 2916 void main() 2917 { 2918 ${SETUP} 2919 ivec2 in0 = ivec2(0, 0); 2920 ivec3 out0 = ivec3(in0); 2921 ${OUTPUT} 2922 } 2923 "" 2924 end 2925 2926 case ivec2_to_uvec3 2927 version 300 es 2928 expect compile_fail 2929 values {} 2930 2931 both "" 2932 #version 300 es 2933 precision mediump float; 2934 precision mediump int; 2935 2936 ${DECLARATIONS} 2937 2938 void main() 2939 { 2940 ${SETUP} 2941 ivec2 in0 = ivec2(0, 0); 2942 uvec3 out0 = uvec3(in0); 2943 ${OUTPUT} 2944 } 2945 "" 2946 end 2947 2948 case ivec2_to_bvec3 2949 version 300 es 2950 expect compile_fail 2951 values {} 2952 2953 both "" 2954 #version 300 es 2955 precision mediump float; 2956 precision mediump int; 2957 2958 ${DECLARATIONS} 2959 2960 void main() 2961 { 2962 ${SETUP} 2963 ivec2 in0 = ivec2(0, 0); 2964 bvec3 out0 = bvec3(in0); 2965 ${OUTPUT} 2966 } 2967 "" 2968 end 2969 2970 case ivec2_to_vec4 2971 version 300 es 2972 expect compile_fail 2973 values {} 2974 2975 both "" 2976 #version 300 es 2977 precision mediump float; 2978 precision mediump int; 2979 2980 ${DECLARATIONS} 2981 2982 void main() 2983 { 2984 ${SETUP} 2985 ivec2 in0 = ivec2(0, 0); 2986 vec4 out0 = vec4(in0); 2987 ${OUTPUT} 2988 } 2989 "" 2990 end 2991 2992 case ivec2_to_ivec4 2993 version 300 es 2994 expect compile_fail 2995 values {} 2996 2997 both "" 2998 #version 300 es 2999 precision mediump float; 3000 precision mediump int; 3001 3002 ${DECLARATIONS} 3003 3004 void main() 3005 { 3006 ${SETUP} 3007 ivec2 in0 = ivec2(0, 0); 3008 ivec4 out0 = ivec4(in0); 3009 ${OUTPUT} 3010 } 3011 "" 3012 end 3013 3014 case ivec2_to_uvec4 3015 version 300 es 3016 expect compile_fail 3017 values {} 3018 3019 both "" 3020 #version 300 es 3021 precision mediump float; 3022 precision mediump int; 3023 3024 ${DECLARATIONS} 3025 3026 void main() 3027 { 3028 ${SETUP} 3029 ivec2 in0 = ivec2(0, 0); 3030 uvec4 out0 = uvec4(in0); 3031 ${OUTPUT} 3032 } 3033 "" 3034 end 3035 3036 case ivec2_to_bvec4 3037 version 300 es 3038 expect compile_fail 3039 values {} 3040 3041 both "" 3042 #version 300 es 3043 precision mediump float; 3044 precision mediump int; 3045 3046 ${DECLARATIONS} 3047 3048 void main() 3049 { 3050 ${SETUP} 3051 ivec2 in0 = ivec2(0, 0); 3052 bvec4 out0 = bvec4(in0); 3053 ${OUTPUT} 3054 } 3055 "" 3056 end 3057 3058 case uvec2_to_vec3 3059 version 300 es 3060 expect compile_fail 3061 values {} 3062 3063 both "" 3064 #version 300 es 3065 precision mediump float; 3066 precision mediump int; 3067 3068 ${DECLARATIONS} 3069 3070 void main() 3071 { 3072 ${SETUP} 3073 uvec2 in0 = uvec2(0, 0); 3074 vec3 out0 = vec3(in0); 3075 ${OUTPUT} 3076 } 3077 "" 3078 end 3079 3080 case uvec2_to_ivec3 3081 version 300 es 3082 expect compile_fail 3083 values {} 3084 3085 both "" 3086 #version 300 es 3087 precision mediump float; 3088 precision mediump int; 3089 3090 ${DECLARATIONS} 3091 3092 void main() 3093 { 3094 ${SETUP} 3095 uvec2 in0 = uvec2(0, 0); 3096 ivec3 out0 = ivec3(in0); 3097 ${OUTPUT} 3098 } 3099 "" 3100 end 3101 3102 case uvec2_to_uvec3 3103 version 300 es 3104 expect compile_fail 3105 values {} 3106 3107 both "" 3108 #version 300 es 3109 precision mediump float; 3110 precision mediump int; 3111 3112 ${DECLARATIONS} 3113 3114 void main() 3115 { 3116 ${SETUP} 3117 uvec2 in0 = uvec2(0, 0); 3118 uvec3 out0 = uvec3(in0); 3119 ${OUTPUT} 3120 } 3121 "" 3122 end 3123 3124 case uvec2_to_bvec3 3125 version 300 es 3126 expect compile_fail 3127 values {} 3128 3129 both "" 3130 #version 300 es 3131 precision mediump float; 3132 precision mediump int; 3133 3134 ${DECLARATIONS} 3135 3136 void main() 3137 { 3138 ${SETUP} 3139 uvec2 in0 = uvec2(0, 0); 3140 bvec3 out0 = bvec3(in0); 3141 ${OUTPUT} 3142 } 3143 "" 3144 end 3145 3146 case uvec2_to_vec4 3147 version 300 es 3148 expect compile_fail 3149 values {} 3150 3151 both "" 3152 #version 300 es 3153 precision mediump float; 3154 precision mediump int; 3155 3156 ${DECLARATIONS} 3157 3158 void main() 3159 { 3160 ${SETUP} 3161 uvec2 in0 = uvec2(0, 0); 3162 vec4 out0 = vec4(in0); 3163 ${OUTPUT} 3164 } 3165 "" 3166 end 3167 3168 case uvec2_to_ivec4 3169 version 300 es 3170 expect compile_fail 3171 values {} 3172 3173 both "" 3174 #version 300 es 3175 precision mediump float; 3176 precision mediump int; 3177 3178 ${DECLARATIONS} 3179 3180 void main() 3181 { 3182 ${SETUP} 3183 uvec2 in0 = uvec2(0, 0); 3184 ivec4 out0 = ivec4(in0); 3185 ${OUTPUT} 3186 } 3187 "" 3188 end 3189 3190 case uvec2_to_uvec4 3191 version 300 es 3192 expect compile_fail 3193 values {} 3194 3195 both "" 3196 #version 300 es 3197 precision mediump float; 3198 precision mediump int; 3199 3200 ${DECLARATIONS} 3201 3202 void main() 3203 { 3204 ${SETUP} 3205 uvec2 in0 = uvec2(0, 0); 3206 uvec4 out0 = uvec4(in0); 3207 ${OUTPUT} 3208 } 3209 "" 3210 end 3211 3212 case uvec2_to_bvec4 3213 version 300 es 3214 expect compile_fail 3215 values {} 3216 3217 both "" 3218 #version 300 es 3219 precision mediump float; 3220 precision mediump int; 3221 3222 ${DECLARATIONS} 3223 3224 void main() 3225 { 3226 ${SETUP} 3227 uvec2 in0 = uvec2(0, 0); 3228 bvec4 out0 = bvec4(in0); 3229 ${OUTPUT} 3230 } 3231 "" 3232 end 3233 3234 case bvec2_to_vec3 3235 version 300 es 3236 expect compile_fail 3237 values {} 3238 3239 both "" 3240 #version 300 es 3241 precision mediump float; 3242 precision mediump int; 3243 3244 ${DECLARATIONS} 3245 3246 void main() 3247 { 3248 ${SETUP} 3249 bvec2 in0 = bvec2(true, false); 3250 vec3 out0 = vec3(in0); 3251 ${OUTPUT} 3252 } 3253 "" 3254 end 3255 3256 case bvec2_to_ivec3 3257 version 300 es 3258 expect compile_fail 3259 values {} 3260 3261 both "" 3262 #version 300 es 3263 precision mediump float; 3264 precision mediump int; 3265 3266 ${DECLARATIONS} 3267 3268 void main() 3269 { 3270 ${SETUP} 3271 bvec2 in0 = bvec2(true, false); 3272 ivec3 out0 = ivec3(in0); 3273 ${OUTPUT} 3274 } 3275 "" 3276 end 3277 3278 case bvec2_to_uvec3 3279 version 300 es 3280 expect compile_fail 3281 values {} 3282 3283 both "" 3284 #version 300 es 3285 precision mediump float; 3286 precision mediump int; 3287 3288 ${DECLARATIONS} 3289 3290 void main() 3291 { 3292 ${SETUP} 3293 bvec2 in0 = bvec2(true, false); 3294 uvec3 out0 = uvec3(in0); 3295 ${OUTPUT} 3296 } 3297 "" 3298 end 3299 3300 case bvec2_to_bvec3 3301 version 300 es 3302 expect compile_fail 3303 values {} 3304 3305 both "" 3306 #version 300 es 3307 precision mediump float; 3308 precision mediump int; 3309 3310 ${DECLARATIONS} 3311 3312 void main() 3313 { 3314 ${SETUP} 3315 bvec2 in0 = bvec2(true, false); 3316 bvec3 out0 = bvec3(in0); 3317 ${OUTPUT} 3318 } 3319 "" 3320 end 3321 3322 case bvec2_to_vec4 3323 version 300 es 3324 expect compile_fail 3325 values {} 3326 3327 both "" 3328 #version 300 es 3329 precision mediump float; 3330 precision mediump int; 3331 3332 ${DECLARATIONS} 3333 3334 void main() 3335 { 3336 ${SETUP} 3337 bvec2 in0 = bvec2(true, false); 3338 vec4 out0 = vec4(in0); 3339 ${OUTPUT} 3340 } 3341 "" 3342 end 3343 3344 case bvec2_to_ivec4 3345 version 300 es 3346 expect compile_fail 3347 values {} 3348 3349 both "" 3350 #version 300 es 3351 precision mediump float; 3352 precision mediump int; 3353 3354 ${DECLARATIONS} 3355 3356 void main() 3357 { 3358 ${SETUP} 3359 bvec2 in0 = bvec2(true, false); 3360 ivec4 out0 = ivec4(in0); 3361 ${OUTPUT} 3362 } 3363 "" 3364 end 3365 3366 case bvec2_to_uvec4 3367 version 300 es 3368 expect compile_fail 3369 values {} 3370 3371 both "" 3372 #version 300 es 3373 precision mediump float; 3374 precision mediump int; 3375 3376 ${DECLARATIONS} 3377 3378 void main() 3379 { 3380 ${SETUP} 3381 bvec2 in0 = bvec2(true, false); 3382 uvec4 out0 = uvec4(in0); 3383 ${OUTPUT} 3384 } 3385 "" 3386 end 3387 3388 case bvec2_to_bvec4 3389 version 300 es 3390 expect compile_fail 3391 values {} 3392 3393 both "" 3394 #version 300 es 3395 precision mediump float; 3396 precision mediump int; 3397 3398 ${DECLARATIONS} 3399 3400 void main() 3401 { 3402 ${SETUP} 3403 bvec2 in0 = bvec2(true, false); 3404 bvec4 out0 = bvec4(in0); 3405 ${OUTPUT} 3406 } 3407 "" 3408 end 3409 3410 case vec3_to_vec4 3411 version 300 es 3412 expect compile_fail 3413 values {} 3414 3415 both "" 3416 #version 300 es 3417 precision mediump float; 3418 precision mediump int; 3419 3420 ${DECLARATIONS} 3421 3422 void main() 3423 { 3424 ${SETUP} 3425 vec3 in0 = vec3(0.0, 0.5, 0.75); 3426 vec4 out0 = vec4(in0); 3427 ${OUTPUT} 3428 } 3429 "" 3430 end 3431 3432 case vec3_to_ivec4 3433 version 300 es 3434 expect compile_fail 3435 values {} 3436 3437 both "" 3438 #version 300 es 3439 precision mediump float; 3440 precision mediump int; 3441 3442 ${DECLARATIONS} 3443 3444 void main() 3445 { 3446 ${SETUP} 3447 vec3 in0 = vec3(0.0, 0.5, 0.75); 3448 ivec4 out0 = ivec4(in0); 3449 ${OUTPUT} 3450 } 3451 "" 3452 end 3453 3454 case vec3_to_uvec4 3455 version 300 es 3456 expect compile_fail 3457 values {} 3458 3459 both "" 3460 #version 300 es 3461 precision mediump float; 3462 precision mediump int; 3463 3464 ${DECLARATIONS} 3465 3466 void main() 3467 { 3468 ${SETUP} 3469 vec3 in0 = vec3(0.0, 0.5, 0.75); 3470 uvec4 out0 = uvec4(in0); 3471 ${OUTPUT} 3472 } 3473 "" 3474 end 3475 3476 case vec3_to_bvec4 3477 version 300 es 3478 expect compile_fail 3479 values {} 3480 3481 both "" 3482 #version 300 es 3483 precision mediump float; 3484 precision mediump int; 3485 3486 ${DECLARATIONS} 3487 3488 void main() 3489 { 3490 ${SETUP} 3491 vec3 in0 = vec3(0.0, 0.5, 0.75); 3492 bvec4 out0 = bvec4(in0); 3493 ${OUTPUT} 3494 } 3495 "" 3496 end 3497 3498 case ivec3_to_vec4 3499 version 300 es 3500 expect compile_fail 3501 values {} 3502 3503 both "" 3504 #version 300 es 3505 precision mediump float; 3506 precision mediump int; 3507 3508 ${DECLARATIONS} 3509 3510 void main() 3511 { 3512 ${SETUP} 3513 ivec3 in0 = ivec3(0, 0, 0); 3514 vec4 out0 = vec4(in0); 3515 ${OUTPUT} 3516 } 3517 "" 3518 end 3519 3520 case ivec3_to_ivec4 3521 version 300 es 3522 expect compile_fail 3523 values {} 3524 3525 both "" 3526 #version 300 es 3527 precision mediump float; 3528 precision mediump int; 3529 3530 ${DECLARATIONS} 3531 3532 void main() 3533 { 3534 ${SETUP} 3535 ivec3 in0 = ivec3(0, 0, 0); 3536 ivec4 out0 = ivec4(in0); 3537 ${OUTPUT} 3538 } 3539 "" 3540 end 3541 3542 case ivec3_to_uvec4 3543 version 300 es 3544 expect compile_fail 3545 values {} 3546 3547 both "" 3548 #version 300 es 3549 precision mediump float; 3550 precision mediump int; 3551 3552 ${DECLARATIONS} 3553 3554 void main() 3555 { 3556 ${SETUP} 3557 ivec3 in0 = ivec3(0, 0, 0); 3558 uvec4 out0 = uvec4(in0); 3559 ${OUTPUT} 3560 } 3561 "" 3562 end 3563 3564 case ivec3_to_bvec4 3565 version 300 es 3566 expect compile_fail 3567 values {} 3568 3569 both "" 3570 #version 300 es 3571 precision mediump float; 3572 precision mediump int; 3573 3574 ${DECLARATIONS} 3575 3576 void main() 3577 { 3578 ${SETUP} 3579 ivec3 in0 = ivec3(0, 0, 0); 3580 bvec4 out0 = bvec4(in0); 3581 ${OUTPUT} 3582 } 3583 "" 3584 end 3585 3586 case uvec3_to_vec4 3587 version 300 es 3588 expect compile_fail 3589 values {} 3590 3591 both "" 3592 #version 300 es 3593 precision mediump float; 3594 precision mediump int; 3595 3596 ${DECLARATIONS} 3597 3598 void main() 3599 { 3600 ${SETUP} 3601 uvec3 in0 = uvec3(0, 0, 0); 3602 vec4 out0 = vec4(in0); 3603 ${OUTPUT} 3604 } 3605 "" 3606 end 3607 3608 case uvec3_to_ivec4 3609 version 300 es 3610 expect compile_fail 3611 values {} 3612 3613 both "" 3614 #version 300 es 3615 precision mediump float; 3616 precision mediump int; 3617 3618 ${DECLARATIONS} 3619 3620 void main() 3621 { 3622 ${SETUP} 3623 uvec3 in0 = uvec3(0, 0, 0); 3624 ivec4 out0 = ivec4(in0); 3625 ${OUTPUT} 3626 } 3627 "" 3628 end 3629 3630 case uvec3_to_uvec4 3631 version 300 es 3632 expect compile_fail 3633 values {} 3634 3635 both "" 3636 #version 300 es 3637 precision mediump float; 3638 precision mediump int; 3639 3640 ${DECLARATIONS} 3641 3642 void main() 3643 { 3644 ${SETUP} 3645 uvec3 in0 = uvec3(0, 0, 0); 3646 uvec4 out0 = uvec4(in0); 3647 ${OUTPUT} 3648 } 3649 "" 3650 end 3651 3652 case uvec3_to_bvec4 3653 version 300 es 3654 expect compile_fail 3655 values {} 3656 3657 both "" 3658 #version 300 es 3659 precision mediump float; 3660 precision mediump int; 3661 3662 ${DECLARATIONS} 3663 3664 void main() 3665 { 3666 ${SETUP} 3667 uvec3 in0 = uvec3(0, 0, 0); 3668 bvec4 out0 = bvec4(in0); 3669 ${OUTPUT} 3670 } 3671 "" 3672 end 3673 3674 case bvec3_to_vec4 3675 version 300 es 3676 expect compile_fail 3677 values {} 3678 3679 both "" 3680 #version 300 es 3681 precision mediump float; 3682 precision mediump int; 3683 3684 ${DECLARATIONS} 3685 3686 void main() 3687 { 3688 ${SETUP} 3689 bvec3 in0 = bvec3(true, false, false); 3690 vec4 out0 = vec4(in0); 3691 ${OUTPUT} 3692 } 3693 "" 3694 end 3695 3696 case bvec3_to_ivec4 3697 version 300 es 3698 expect compile_fail 3699 values {} 3700 3701 both "" 3702 #version 300 es 3703 precision mediump float; 3704 precision mediump int; 3705 3706 ${DECLARATIONS} 3707 3708 void main() 3709 { 3710 ${SETUP} 3711 bvec3 in0 = bvec3(true, false, false); 3712 ivec4 out0 = ivec4(in0); 3713 ${OUTPUT} 3714 } 3715 "" 3716 end 3717 3718 case bvec3_to_uvec4 3719 version 300 es 3720 expect compile_fail 3721 values {} 3722 3723 both "" 3724 #version 300 es 3725 precision mediump float; 3726 precision mediump int; 3727 3728 ${DECLARATIONS} 3729 3730 void main() 3731 { 3732 ${SETUP} 3733 bvec3 in0 = bvec3(true, false, false); 3734 uvec4 out0 = uvec4(in0); 3735 ${OUTPUT} 3736 } 3737 "" 3738 end 3739 3740 case bvec3_to_bvec4 3741 version 300 es 3742 expect compile_fail 3743 values {} 3744 3745 both "" 3746 #version 300 es 3747 precision mediump float; 3748 precision mediump int; 3749 3750 ${DECLARATIONS} 3751 3752 void main() 3753 { 3754 ${SETUP} 3755 bvec3 in0 = bvec3(true, false, false); 3756 bvec4 out0 = bvec4(in0); 3757 ${OUTPUT} 3758 } 3759 "" 3760 end 3761 3762 3763 end # vector_illegal 3764 group vector_to_vector "Vector to Vector Conversions" 3765 3766 case vec4_to_vec4 3767 version 300 es 3768 values 3769 { 3770 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) ]; 3771 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) ]; 3772 } 3773 3774 both "" 3775 #version 300 es 3776 precision mediump float; 3777 precision mediump int; 3778 3779 ${DECLARATIONS} 3780 3781 void main() 3782 { 3783 ${SETUP} 3784 out0 = vec4(in0); 3785 ${OUTPUT} 3786 } 3787 "" 3788 end 3789 3790 case vec4_to_vec3 3791 version 300 es 3792 values 3793 { 3794 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) ]; 3795 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) ]; 3796 } 3797 3798 both "" 3799 #version 300 es 3800 precision mediump float; 3801 precision mediump int; 3802 3803 ${DECLARATIONS} 3804 3805 void main() 3806 { 3807 ${SETUP} 3808 out0 = vec3(in0); 3809 ${OUTPUT} 3810 } 3811 "" 3812 end 3813 3814 case vec4_to_vec2 3815 version 300 es 3816 values 3817 { 3818 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) ]; 3819 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) ]; 3820 } 3821 3822 both "" 3823 #version 300 es 3824 precision mediump float; 3825 precision mediump int; 3826 3827 ${DECLARATIONS} 3828 3829 void main() 3830 { 3831 ${SETUP} 3832 out0 = vec2(in0); 3833 ${OUTPUT} 3834 } 3835 "" 3836 end 3837 3838 case vec4_to_ivec4 3839 version 300 es 3840 values 3841 { 3842 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) ]; 3843 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) ]; 3844 } 3845 3846 both "" 3847 #version 300 es 3848 precision mediump float; 3849 precision mediump int; 3850 3851 ${DECLARATIONS} 3852 3853 void main() 3854 { 3855 ${SETUP} 3856 out0 = ivec4(in0); 3857 ${OUTPUT} 3858 } 3859 "" 3860 end 3861 3862 case vec4_to_ivec3 3863 version 300 es 3864 values 3865 { 3866 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) ]; 3867 output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ]; 3868 } 3869 3870 both "" 3871 #version 300 es 3872 precision mediump float; 3873 precision mediump int; 3874 3875 ${DECLARATIONS} 3876 3877 void main() 3878 { 3879 ${SETUP} 3880 out0 = ivec3(in0); 3881 ${OUTPUT} 3882 } 3883 "" 3884 end 3885 3886 case vec4_to_ivec2 3887 version 300 es 3888 values 3889 { 3890 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) ]; 3891 output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ]; 3892 } 3893 3894 both "" 3895 #version 300 es 3896 precision mediump float; 3897 precision mediump int; 3898 3899 ${DECLARATIONS} 3900 3901 void main() 3902 { 3903 ${SETUP} 3904 out0 = ivec2(in0); 3905 ${OUTPUT} 3906 } 3907 "" 3908 end 3909 3910 case vec4_to_bvec4 3911 version 300 es 3912 values 3913 { 3914 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) ]; 3915 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) ]; 3916 } 3917 3918 both "" 3919 #version 300 es 3920 precision mediump float; 3921 precision mediump int; 3922 3923 ${DECLARATIONS} 3924 3925 void main() 3926 { 3927 ${SETUP} 3928 out0 = bvec4(in0); 3929 ${OUTPUT} 3930 } 3931 "" 3932 end 3933 3934 case vec4_to_bvec3 3935 version 300 es 3936 values 3937 { 3938 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) ]; 3939 output bvec3 out0 = [ bvec3(false, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) ]; 3940 } 3941 3942 both "" 3943 #version 300 es 3944 precision mediump float; 3945 precision mediump int; 3946 3947 ${DECLARATIONS} 3948 3949 void main() 3950 { 3951 ${SETUP} 3952 out0 = bvec3(in0); 3953 ${OUTPUT} 3954 } 3955 "" 3956 end 3957 3958 case vec4_to_bvec2 3959 version 300 es 3960 values 3961 { 3962 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) ]; 3963 output bvec2 out0 = [ bvec2(false, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) ]; 3964 } 3965 3966 both "" 3967 #version 300 es 3968 precision mediump float; 3969 precision mediump int; 3970 3971 ${DECLARATIONS} 3972 3973 void main() 3974 { 3975 ${SETUP} 3976 out0 = bvec2(in0); 3977 ${OUTPUT} 3978 } 3979 "" 3980 end 3981 3982 case ivec4_to_vec4 3983 version 300 es 3984 values 3985 { 3986 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) ]; 3987 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) ]; 3988 } 3989 3990 both "" 3991 #version 300 es 3992 precision mediump float; 3993 precision mediump int; 3994 3995 ${DECLARATIONS} 3996 3997 void main() 3998 { 3999 ${SETUP} 4000 out0 = vec4(in0); 4001 ${OUTPUT} 4002 } 4003 "" 4004 end 4005 4006 case ivec4_to_vec3 4007 version 300 es 4008 values 4009 { 4010 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) ]; 4011 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) ]; 4012 } 4013 4014 both "" 4015 #version 300 es 4016 precision mediump float; 4017 precision mediump int; 4018 4019 ${DECLARATIONS} 4020 4021 void main() 4022 { 4023 ${SETUP} 4024 out0 = vec3(in0); 4025 ${OUTPUT} 4026 } 4027 "" 4028 end 4029 4030 case ivec4_to_vec2 4031 version 300 es 4032 values 4033 { 4034 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) ]; 4035 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) ]; 4036 } 4037 4038 both "" 4039 #version 300 es 4040 precision mediump float; 4041 precision mediump int; 4042 4043 ${DECLARATIONS} 4044 4045 void main() 4046 { 4047 ${SETUP} 4048 out0 = vec2(in0); 4049 ${OUTPUT} 4050 } 4051 "" 4052 end 4053 4054 case ivec4_to_ivec4 4055 version 300 es 4056 values 4057 { 4058 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) ]; 4059 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) ]; 4060 } 4061 4062 both "" 4063 #version 300 es 4064 precision mediump float; 4065 precision mediump int; 4066 4067 ${DECLARATIONS} 4068 4069 void main() 4070 { 4071 ${SETUP} 4072 out0 = ivec4(in0); 4073 ${OUTPUT} 4074 } 4075 "" 4076 end 4077 4078 case ivec4_to_ivec3 4079 version 300 es 4080 values 4081 { 4082 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) ]; 4083 output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ]; 4084 } 4085 4086 both "" 4087 #version 300 es 4088 precision mediump float; 4089 precision mediump int; 4090 4091 ${DECLARATIONS} 4092 4093 void main() 4094 { 4095 ${SETUP} 4096 out0 = ivec3(in0); 4097 ${OUTPUT} 4098 } 4099 "" 4100 end 4101 4102 case ivec4_to_ivec2 4103 version 300 es 4104 values 4105 { 4106 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) ]; 4107 output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ]; 4108 } 4109 4110 both "" 4111 #version 300 es 4112 precision mediump float; 4113 precision mediump int; 4114 4115 ${DECLARATIONS} 4116 4117 void main() 4118 { 4119 ${SETUP} 4120 out0 = ivec2(in0); 4121 ${OUTPUT} 4122 } 4123 "" 4124 end 4125 4126 case ivec4_to_bvec4 4127 version 300 es 4128 values 4129 { 4130 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) ]; 4131 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) ]; 4132 } 4133 4134 both "" 4135 #version 300 es 4136 precision mediump float; 4137 precision mediump int; 4138 4139 ${DECLARATIONS} 4140 4141 void main() 4142 { 4143 ${SETUP} 4144 out0 = bvec4(in0); 4145 ${OUTPUT} 4146 } 4147 "" 4148 end 4149 4150 case ivec4_to_bvec3 4151 version 300 es 4152 values 4153 { 4154 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) ]; 4155 output bvec3 out0 = [ bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, true, true) | bvec3(true, true, true) | bvec3(false, false, false) ]; 4156 } 4157 4158 both "" 4159 #version 300 es 4160 precision mediump float; 4161 precision mediump int; 4162 4163 ${DECLARATIONS} 4164 4165 void main() 4166 { 4167 ${SETUP} 4168 out0 = bvec3(in0); 4169 ${OUTPUT} 4170 } 4171 "" 4172 end 4173 4174 case ivec4_to_bvec2 4175 version 300 es 4176 values 4177 { 4178 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) ]; 4179 output bvec2 out0 = [ bvec2(false, false) | bvec2(true, true) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 4180 } 4181 4182 both "" 4183 #version 300 es 4184 precision mediump float; 4185 precision mediump int; 4186 4187 ${DECLARATIONS} 4188 4189 void main() 4190 { 4191 ${SETUP} 4192 out0 = bvec2(in0); 4193 ${OUTPUT} 4194 } 4195 "" 4196 end 4197 4198 case uvec4_to_vec4 4199 version 300 es 4200 values 4201 { 4202 input uvec4 in0 = [ uvec4(0, 0, 0, 0) | uvec4(1, 1, 1, 1) | uvec4(0, 2, 4, 9) | uvec4(32, 64, 51, 24) | uvec4(0, 0, 0, 0) ]; 4203 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) ]; 4204 } 4205 4206 both "" 4207 #version 300 es 4208 precision mediump float; 4209 precision mediump int; 4210 4211 ${DECLARATIONS} 4212 4213 void main() 4214 { 4215 ${SETUP} 4216 out0 = vec4(in0); 4217 ${OUTPUT} 4218 } 4219 "" 4220 end 4221 4222 case uvec4_to_vec3 4223 version 300 es 4224 values 4225 { 4226 input uvec4 in0 = [ uvec4(0, 0, 0, 0) | uvec4(1, 1, 1, 1) | uvec4(0, 2, 4, 9) | uvec4(32, 64, 51, 24) | uvec4(0, 0, 0, 0) ]; 4227 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) ]; 4228 } 4229 4230 both "" 4231 #version 300 es 4232 precision mediump float; 4233 precision mediump int; 4234 4235 ${DECLARATIONS} 4236 4237 void main() 4238 { 4239 ${SETUP} 4240 out0 = vec3(in0); 4241 ${OUTPUT} 4242 } 4243 "" 4244 end 4245 4246 case uvec4_to_vec2 4247 version 300 es 4248 values 4249 { 4250 input uvec4 in0 = [ uvec4(0, 0, 0, 0) | uvec4(1, 1, 1, 1) | uvec4(0, 2, 4, 9) | uvec4(32, 64, 51, 24) | uvec4(0, 0, 0, 0) ]; 4251 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) ]; 4252 } 4253 4254 both "" 4255 #version 300 es 4256 precision mediump float; 4257 precision mediump int; 4258 4259 ${DECLARATIONS} 4260 4261 void main() 4262 { 4263 ${SETUP} 4264 out0 = vec2(in0); 4265 ${OUTPUT} 4266 } 4267 "" 4268 end 4269 4270 case uvec4_to_ivec4 4271 version 300 es 4272 values 4273 { 4274 input uvec4 in0 = [ uvec4(0, 0, 0, 0) | uvec4(1, 1, 1, 1) | uvec4(0, 2, 4, 9) | uvec4(32, 64, 51, 24) | uvec4(0, 0, 0, 0) ]; 4275 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) ]; 4276 } 4277 4278 both "" 4279 #version 300 es 4280 precision mediump float; 4281 precision mediump int; 4282 4283 ${DECLARATIONS} 4284 4285 void main() 4286 { 4287 ${SETUP} 4288 out0 = ivec4(in0); 4289 ${OUTPUT} 4290 } 4291 "" 4292 end 4293 4294 case uvec4_to_ivec3 4295 version 300 es 4296 values 4297 { 4298 input uvec4 in0 = [ uvec4(0, 0, 0, 0) | uvec4(1, 1, 1, 1) | uvec4(0, 2, 4, 9) | uvec4(32, 64, 51, 24) | uvec4(0, 0, 0, 0) ]; 4299 output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, 2, 4) | ivec3(32, 64, 51) | ivec3(0, 0, 0) ]; 4300 } 4301 4302 both "" 4303 #version 300 es 4304 precision mediump float; 4305 precision mediump int; 4306 4307 ${DECLARATIONS} 4308 4309 void main() 4310 { 4311 ${SETUP} 4312 out0 = ivec3(in0); 4313 ${OUTPUT} 4314 } 4315 "" 4316 end 4317 4318 case uvec4_to_ivec2 4319 version 300 es 4320 values 4321 { 4322 input uvec4 in0 = [ uvec4(0, 0, 0, 0) | uvec4(1, 1, 1, 1) | uvec4(0, 2, 4, 9) | uvec4(32, 64, 51, 24) | uvec4(0, 0, 0, 0) ]; 4323 output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, 2) | ivec2(32, 64) | ivec2(0, 0) ]; 4324 } 4325 4326 both "" 4327 #version 300 es 4328 precision mediump float; 4329 precision mediump int; 4330 4331 ${DECLARATIONS} 4332 4333 void main() 4334 { 4335 ${SETUP} 4336 out0 = ivec2(in0); 4337 ${OUTPUT} 4338 } 4339 "" 4340 end 4341 4342 case uvec4_to_bvec4 4343 version 300 es 4344 values 4345 { 4346 input uvec4 in0 = [ uvec4(0, 0, 0, 0) | uvec4(1, 1, 1, 1) | uvec4(0, 2, 4, 9) | uvec4(32, 64, 51, 24) | uvec4(0, 0, 0, 0) ]; 4347 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) ]; 4348 } 4349 4350 both "" 4351 #version 300 es 4352 precision mediump float; 4353 precision mediump int; 4354 4355 ${DECLARATIONS} 4356 4357 void main() 4358 { 4359 ${SETUP} 4360 out0 = bvec4(in0); 4361 ${OUTPUT} 4362 } 4363 "" 4364 end 4365 4366 case uvec4_to_bvec3 4367 version 300 es 4368 values 4369 { 4370 input uvec4 in0 = [ uvec4(0, 0, 0, 0) | uvec4(1, 1, 1, 1) | uvec4(0, 2, 4, 9) | uvec4(32, 64, 51, 24) | uvec4(0, 0, 0, 0) ]; 4371 output bvec3 out0 = [ bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, true, true) | bvec3(true, true, true) | bvec3(false, false, false) ]; 4372 } 4373 4374 both "" 4375 #version 300 es 4376 precision mediump float; 4377 precision mediump int; 4378 4379 ${DECLARATIONS} 4380 4381 void main() 4382 { 4383 ${SETUP} 4384 out0 = bvec3(in0); 4385 ${OUTPUT} 4386 } 4387 "" 4388 end 4389 4390 case uvec4_to_bvec2 4391 version 300 es 4392 values 4393 { 4394 input uvec4 in0 = [ uvec4(0, 0, 0, 0) | uvec4(1, 1, 1, 1) | uvec4(0, 2, 4, 9) | uvec4(32, 64, 51, 24) | uvec4(0, 0, 0, 0) ]; 4395 output bvec2 out0 = [ bvec2(false, false) | bvec2(true, true) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 4396 } 4397 4398 both "" 4399 #version 300 es 4400 precision mediump float; 4401 precision mediump int; 4402 4403 ${DECLARATIONS} 4404 4405 void main() 4406 { 4407 ${SETUP} 4408 out0 = bvec2(in0); 4409 ${OUTPUT} 4410 } 4411 "" 4412 end 4413 4414 case bvec4_to_vec4 4415 version 300 es 4416 values 4417 { 4418 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) ]; 4419 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) ]; 4420 } 4421 4422 both "" 4423 #version 300 es 4424 precision mediump float; 4425 precision mediump int; 4426 4427 ${DECLARATIONS} 4428 4429 void main() 4430 { 4431 ${SETUP} 4432 out0 = vec4(in0); 4433 ${OUTPUT} 4434 } 4435 "" 4436 end 4437 4438 case bvec4_to_vec3 4439 version 300 es 4440 values 4441 { 4442 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) ]; 4443 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) ]; 4444 } 4445 4446 both "" 4447 #version 300 es 4448 precision mediump float; 4449 precision mediump int; 4450 4451 ${DECLARATIONS} 4452 4453 void main() 4454 { 4455 ${SETUP} 4456 out0 = vec3(in0); 4457 ${OUTPUT} 4458 } 4459 "" 4460 end 4461 4462 case bvec4_to_vec2 4463 version 300 es 4464 values 4465 { 4466 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) ]; 4467 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) ]; 4468 } 4469 4470 both "" 4471 #version 300 es 4472 precision mediump float; 4473 precision mediump int; 4474 4475 ${DECLARATIONS} 4476 4477 void main() 4478 { 4479 ${SETUP} 4480 out0 = vec2(in0); 4481 ${OUTPUT} 4482 } 4483 "" 4484 end 4485 4486 case bvec4_to_ivec4 4487 version 300 es 4488 values 4489 { 4490 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) ]; 4491 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) ]; 4492 } 4493 4494 both "" 4495 #version 300 es 4496 precision mediump float; 4497 precision mediump int; 4498 4499 ${DECLARATIONS} 4500 4501 void main() 4502 { 4503 ${SETUP} 4504 out0 = ivec4(in0); 4505 ${OUTPUT} 4506 } 4507 "" 4508 end 4509 4510 case bvec4_to_ivec3 4511 version 300 es 4512 values 4513 { 4514 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) ]; 4515 output ivec3 out0 = [ ivec3(1, 0, 0) | ivec3(0, 0, 0) | ivec3(0, 1, 0) | ivec3(1, 1, 1) | ivec3(0, 0, 0) ]; 4516 } 4517 4518 both "" 4519 #version 300 es 4520 precision mediump float; 4521 precision mediump int; 4522 4523 ${DECLARATIONS} 4524 4525 void main() 4526 { 4527 ${SETUP} 4528 out0 = ivec3(in0); 4529 ${OUTPUT} 4530 } 4531 "" 4532 end 4533 4534 case bvec4_to_ivec2 4535 version 300 es 4536 values 4537 { 4538 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) ]; 4539 output ivec2 out0 = [ ivec2(1, 0) | ivec2(0, 0) | ivec2(0, 1) | ivec2(1, 1) | ivec2(0, 0) ]; 4540 } 4541 4542 both "" 4543 #version 300 es 4544 precision mediump float; 4545 precision mediump int; 4546 4547 ${DECLARATIONS} 4548 4549 void main() 4550 { 4551 ${SETUP} 4552 out0 = ivec2(in0); 4553 ${OUTPUT} 4554 } 4555 "" 4556 end 4557 4558 case bvec4_to_bvec4 4559 version 300 es 4560 values 4561 { 4562 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) ]; 4563 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) ]; 4564 } 4565 4566 both "" 4567 #version 300 es 4568 precision mediump float; 4569 precision mediump int; 4570 4571 ${DECLARATIONS} 4572 4573 void main() 4574 { 4575 ${SETUP} 4576 out0 = bvec4(in0); 4577 ${OUTPUT} 4578 } 4579 "" 4580 end 4581 4582 case bvec4_to_bvec3 4583 version 300 es 4584 values 4585 { 4586 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) ]; 4587 output bvec3 out0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ]; 4588 } 4589 4590 both "" 4591 #version 300 es 4592 precision mediump float; 4593 precision mediump int; 4594 4595 ${DECLARATIONS} 4596 4597 void main() 4598 { 4599 ${SETUP} 4600 out0 = bvec3(in0); 4601 ${OUTPUT} 4602 } 4603 "" 4604 end 4605 4606 case bvec4_to_bvec2 4607 version 300 es 4608 values 4609 { 4610 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) ]; 4611 output bvec2 out0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 4612 } 4613 4614 both "" 4615 #version 300 es 4616 precision mediump float; 4617 precision mediump int; 4618 4619 ${DECLARATIONS} 4620 4621 void main() 4622 { 4623 ${SETUP} 4624 out0 = bvec2(in0); 4625 ${OUTPUT} 4626 } 4627 "" 4628 end 4629 4630 case vec4_to_uvec4 4631 version 300 es 4632 values 4633 { 4634 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) ]; 4635 output uvec4 out0 = [ uvec4(0, 0, 0, 0) | uvec4(1, 1, 1, 1) | uvec4(0, 2, 4, 9) | uvec4(32, 64, 51, 24) | uvec4(0, 0, 0, 0) ]; 4636 } 4637 4638 both "" 4639 #version 300 es 4640 precision mediump float; 4641 precision mediump int; 4642 4643 ${DECLARATIONS} 4644 4645 void main() 4646 { 4647 ${SETUP} 4648 out0 = uvec4(in0); 4649 ${OUTPUT} 4650 } 4651 "" 4652 end 4653 4654 case vec4_to_uvec3 4655 version 300 es 4656 values 4657 { 4658 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) ]; 4659 output uvec3 out0 = [ uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(32, 64, 51) | uvec3(0, 0, 0) ]; 4660 } 4661 4662 both "" 4663 #version 300 es 4664 precision mediump float; 4665 precision mediump int; 4666 4667 ${DECLARATIONS} 4668 4669 void main() 4670 { 4671 ${SETUP} 4672 out0 = uvec3(in0); 4673 ${OUTPUT} 4674 } 4675 "" 4676 end 4677 4678 case vec4_to_uvec2 4679 version 300 es 4680 values 4681 { 4682 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) ]; 4683 output uvec2 out0 = [ uvec2(0, 0) | uvec2(1, 1) | uvec2(0, 2) | uvec2(32, 64) | uvec2(0, 0) ]; 4684 } 4685 4686 both "" 4687 #version 300 es 4688 precision mediump float; 4689 precision mediump int; 4690 4691 ${DECLARATIONS} 4692 4693 void main() 4694 { 4695 ${SETUP} 4696 out0 = uvec2(in0); 4697 ${OUTPUT} 4698 } 4699 "" 4700 end 4701 4702 case ivec4_to_uvec4 4703 version 300 es 4704 values 4705 { 4706 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) ]; 4707 output uvec4 out0 = [ uvec4(0, 0, 0, 0) | uvec4(1, 1, 1, 1) | uvec4(0, 2, 4, 9) | uvec4(32, 64, 51, 24) | uvec4(0, 0, 0, 0) ]; 4708 } 4709 4710 both "" 4711 #version 300 es 4712 precision mediump float; 4713 precision mediump int; 4714 4715 ${DECLARATIONS} 4716 4717 void main() 4718 { 4719 ${SETUP} 4720 out0 = uvec4(in0); 4721 ${OUTPUT} 4722 } 4723 "" 4724 end 4725 4726 case ivec4_to_uvec3 4727 version 300 es 4728 values 4729 { 4730 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) ]; 4731 output uvec3 out0 = [ uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(32, 64, 51) | uvec3(0, 0, 0) ]; 4732 } 4733 4734 both "" 4735 #version 300 es 4736 precision mediump float; 4737 precision mediump int; 4738 4739 ${DECLARATIONS} 4740 4741 void main() 4742 { 4743 ${SETUP} 4744 out0 = uvec3(in0); 4745 ${OUTPUT} 4746 } 4747 "" 4748 end 4749 4750 case ivec4_to_uvec2 4751 version 300 es 4752 values 4753 { 4754 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) ]; 4755 output uvec2 out0 = [ uvec2(0, 0) | uvec2(1, 1) | uvec2(0, 2) | uvec2(32, 64) | uvec2(0, 0) ]; 4756 } 4757 4758 both "" 4759 #version 300 es 4760 precision mediump float; 4761 precision mediump int; 4762 4763 ${DECLARATIONS} 4764 4765 void main() 4766 { 4767 ${SETUP} 4768 out0 = uvec2(in0); 4769 ${OUTPUT} 4770 } 4771 "" 4772 end 4773 4774 case uvec4_to_uvec4 4775 version 300 es 4776 values 4777 { 4778 input uvec4 in0 = [ uvec4(0, 0, 0, 0) | uvec4(1, 1, 1, 1) | uvec4(0, 2, 4, 9) | uvec4(32, 64, 51, 24) | uvec4(0, 0, 0, 0) ]; 4779 output uvec4 out0 = [ uvec4(0, 0, 0, 0) | uvec4(1, 1, 1, 1) | uvec4(0, 2, 4, 9) | uvec4(32, 64, 51, 24) | uvec4(0, 0, 0, 0) ]; 4780 } 4781 4782 both "" 4783 #version 300 es 4784 precision mediump float; 4785 precision mediump int; 4786 4787 ${DECLARATIONS} 4788 4789 void main() 4790 { 4791 ${SETUP} 4792 out0 = uvec4(in0); 4793 ${OUTPUT} 4794 } 4795 "" 4796 end 4797 4798 case uvec4_to_uvec3 4799 version 300 es 4800 values 4801 { 4802 input uvec4 in0 = [ uvec4(0, 0, 0, 0) | uvec4(1, 1, 1, 1) | uvec4(0, 2, 4, 9) | uvec4(32, 64, 51, 24) | uvec4(0, 0, 0, 0) ]; 4803 output uvec3 out0 = [ uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(32, 64, 51) | uvec3(0, 0, 0) ]; 4804 } 4805 4806 both "" 4807 #version 300 es 4808 precision mediump float; 4809 precision mediump int; 4810 4811 ${DECLARATIONS} 4812 4813 void main() 4814 { 4815 ${SETUP} 4816 out0 = uvec3(in0); 4817 ${OUTPUT} 4818 } 4819 "" 4820 end 4821 4822 case uvec4_to_uvec2 4823 version 300 es 4824 values 4825 { 4826 input uvec4 in0 = [ uvec4(0, 0, 0, 0) | uvec4(1, 1, 1, 1) | uvec4(0, 2, 4, 9) | uvec4(32, 64, 51, 24) | uvec4(0, 0, 0, 0) ]; 4827 output uvec2 out0 = [ uvec2(0, 0) | uvec2(1, 1) | uvec2(0, 2) | uvec2(32, 64) | uvec2(0, 0) ]; 4828 } 4829 4830 both "" 4831 #version 300 es 4832 precision mediump float; 4833 precision mediump int; 4834 4835 ${DECLARATIONS} 4836 4837 void main() 4838 { 4839 ${SETUP} 4840 out0 = uvec2(in0); 4841 ${OUTPUT} 4842 } 4843 "" 4844 end 4845 4846 case bvec4_to_uvec4 4847 version 300 es 4848 values 4849 { 4850 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) ]; 4851 output uvec4 out0 = [ uvec4(1, 0, 0, 1) | uvec4(0, 0, 0, 1) | uvec4(0, 1, 0, 0) | uvec4(1, 1, 1, 1) | uvec4(0, 0, 0, 0) ]; 4852 } 4853 4854 both "" 4855 #version 300 es 4856 precision mediump float; 4857 precision mediump int; 4858 4859 ${DECLARATIONS} 4860 4861 void main() 4862 { 4863 ${SETUP} 4864 out0 = uvec4(in0); 4865 ${OUTPUT} 4866 } 4867 "" 4868 end 4869 4870 case bvec4_to_uvec3 4871 version 300 es 4872 values 4873 { 4874 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) ]; 4875 output uvec3 out0 = [ uvec3(1, 0, 0) | uvec3(0, 0, 0) | uvec3(0, 1, 0) | uvec3(1, 1, 1) | uvec3(0, 0, 0) ]; 4876 } 4877 4878 both "" 4879 #version 300 es 4880 precision mediump float; 4881 precision mediump int; 4882 4883 ${DECLARATIONS} 4884 4885 void main() 4886 { 4887 ${SETUP} 4888 out0 = uvec3(in0); 4889 ${OUTPUT} 4890 } 4891 "" 4892 end 4893 4894 case bvec4_to_uvec2 4895 version 300 es 4896 values 4897 { 4898 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) ]; 4899 output uvec2 out0 = [ uvec2(1, 0) | uvec2(0, 0) | uvec2(0, 1) | uvec2(1, 1) | uvec2(0, 0) ]; 4900 } 4901 4902 both "" 4903 #version 300 es 4904 precision mediump float; 4905 precision mediump int; 4906 4907 ${DECLARATIONS} 4908 4909 void main() 4910 { 4911 ${SETUP} 4912 out0 = uvec2(in0); 4913 ${OUTPUT} 4914 } 4915 "" 4916 end 4917 4918 case vec3_to_vec3 4919 version 300 es 4920 values 4921 { 4922 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) ]; 4923 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) ]; 4924 } 4925 4926 both "" 4927 #version 300 es 4928 precision mediump float; 4929 precision mediump int; 4930 4931 ${DECLARATIONS} 4932 4933 void main() 4934 { 4935 ${SETUP} 4936 out0 = vec3(in0); 4937 ${OUTPUT} 4938 } 4939 "" 4940 end 4941 4942 case vec3_to_vec2 4943 version 300 es 4944 values 4945 { 4946 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) ]; 4947 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) ]; 4948 } 4949 4950 both "" 4951 #version 300 es 4952 precision mediump float; 4953 precision mediump int; 4954 4955 ${DECLARATIONS} 4956 4957 void main() 4958 { 4959 ${SETUP} 4960 out0 = vec2(in0); 4961 ${OUTPUT} 4962 } 4963 "" 4964 end 4965 4966 case vec3_to_ivec3 4967 version 300 es 4968 values 4969 { 4970 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) ]; 4971 output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ]; 4972 } 4973 4974 both "" 4975 #version 300 es 4976 precision mediump float; 4977 precision mediump int; 4978 4979 ${DECLARATIONS} 4980 4981 void main() 4982 { 4983 ${SETUP} 4984 out0 = ivec3(in0); 4985 ${OUTPUT} 4986 } 4987 "" 4988 end 4989 4990 case vec3_to_ivec2 4991 version 300 es 4992 values 4993 { 4994 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) ]; 4995 output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ]; 4996 } 4997 4998 both "" 4999 #version 300 es 5000 precision mediump float; 5001 precision mediump int; 5002 5003 ${DECLARATIONS} 5004 5005 void main() 5006 { 5007 ${SETUP} 5008 out0 = ivec2(in0); 5009 ${OUTPUT} 5010 } 5011 "" 5012 end 5013 5014 case vec3_to_bvec3 5015 version 300 es 5016 values 5017 { 5018 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) ]; 5019 output bvec3 out0 = [ bvec3(false, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) ]; 5020 } 5021 5022 both "" 5023 #version 300 es 5024 precision mediump float; 5025 precision mediump int; 5026 5027 ${DECLARATIONS} 5028 5029 void main() 5030 { 5031 ${SETUP} 5032 out0 = bvec3(in0); 5033 ${OUTPUT} 5034 } 5035 "" 5036 end 5037 5038 case vec3_to_bvec2 5039 version 300 es 5040 values 5041 { 5042 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) ]; 5043 output bvec2 out0 = [ bvec2(false, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) ]; 5044 } 5045 5046 both "" 5047 #version 300 es 5048 precision mediump float; 5049 precision mediump int; 5050 5051 ${DECLARATIONS} 5052 5053 void main() 5054 { 5055 ${SETUP} 5056 out0 = bvec2(in0); 5057 ${OUTPUT} 5058 } 5059 "" 5060 end 5061 5062 case ivec3_to_vec3 5063 version 300 es 5064 values 5065 { 5066 input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ]; 5067 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) ]; 5068 } 5069 5070 both "" 5071 #version 300 es 5072 precision mediump float; 5073 precision mediump int; 5074 5075 ${DECLARATIONS} 5076 5077 void main() 5078 { 5079 ${SETUP} 5080 out0 = vec3(in0); 5081 ${OUTPUT} 5082 } 5083 "" 5084 end 5085 5086 case ivec3_to_vec2 5087 version 300 es 5088 values 5089 { 5090 input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ]; 5091 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) ]; 5092 } 5093 5094 both "" 5095 #version 300 es 5096 precision mediump float; 5097 precision mediump int; 5098 5099 ${DECLARATIONS} 5100 5101 void main() 5102 { 5103 ${SETUP} 5104 out0 = vec2(in0); 5105 ${OUTPUT} 5106 } 5107 "" 5108 end 5109 5110 case ivec3_to_ivec3 5111 version 300 es 5112 values 5113 { 5114 input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ]; 5115 output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ]; 5116 } 5117 5118 both "" 5119 #version 300 es 5120 precision mediump float; 5121 precision mediump int; 5122 5123 ${DECLARATIONS} 5124 5125 void main() 5126 { 5127 ${SETUP} 5128 out0 = ivec3(in0); 5129 ${OUTPUT} 5130 } 5131 "" 5132 end 5133 5134 case ivec3_to_ivec2 5135 version 300 es 5136 values 5137 { 5138 input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ]; 5139 output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ]; 5140 } 5141 5142 both "" 5143 #version 300 es 5144 precision mediump float; 5145 precision mediump int; 5146 5147 ${DECLARATIONS} 5148 5149 void main() 5150 { 5151 ${SETUP} 5152 out0 = ivec2(in0); 5153 ${OUTPUT} 5154 } 5155 "" 5156 end 5157 5158 case ivec3_to_bvec3 5159 version 300 es 5160 values 5161 { 5162 input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ]; 5163 output bvec3 out0 = [ bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, true, true) | bvec3(true, true, true) | bvec3(false, false, false) ]; 5164 } 5165 5166 both "" 5167 #version 300 es 5168 precision mediump float; 5169 precision mediump int; 5170 5171 ${DECLARATIONS} 5172 5173 void main() 5174 { 5175 ${SETUP} 5176 out0 = bvec3(in0); 5177 ${OUTPUT} 5178 } 5179 "" 5180 end 5181 5182 case ivec3_to_bvec2 5183 version 300 es 5184 values 5185 { 5186 input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ]; 5187 output bvec2 out0 = [ bvec2(false, false) | bvec2(true, true) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 5188 } 5189 5190 both "" 5191 #version 300 es 5192 precision mediump float; 5193 precision mediump int; 5194 5195 ${DECLARATIONS} 5196 5197 void main() 5198 { 5199 ${SETUP} 5200 out0 = bvec2(in0); 5201 ${OUTPUT} 5202 } 5203 "" 5204 end 5205 5206 case uvec3_to_vec3 5207 version 300 es 5208 values 5209 { 5210 input uvec3 in0 = [ uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(32, 64, 51) | uvec3(0, 0, 0) ]; 5211 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) ]; 5212 } 5213 5214 both "" 5215 #version 300 es 5216 precision mediump float; 5217 precision mediump int; 5218 5219 ${DECLARATIONS} 5220 5221 void main() 5222 { 5223 ${SETUP} 5224 out0 = vec3(in0); 5225 ${OUTPUT} 5226 } 5227 "" 5228 end 5229 5230 case uvec3_to_vec2 5231 version 300 es 5232 values 5233 { 5234 input uvec3 in0 = [ uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(32, 64, 51) | uvec3(0, 0, 0) ]; 5235 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) ]; 5236 } 5237 5238 both "" 5239 #version 300 es 5240 precision mediump float; 5241 precision mediump int; 5242 5243 ${DECLARATIONS} 5244 5245 void main() 5246 { 5247 ${SETUP} 5248 out0 = vec2(in0); 5249 ${OUTPUT} 5250 } 5251 "" 5252 end 5253 5254 case uvec3_to_ivec3 5255 version 300 es 5256 values 5257 { 5258 input uvec3 in0 = [ uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(32, 64, 51) | uvec3(0, 0, 0) ]; 5259 output ivec3 out0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, 2, 4) | ivec3(32, 64, 51) | ivec3(0, 0, 0) ]; 5260 } 5261 5262 both "" 5263 #version 300 es 5264 precision mediump float; 5265 precision mediump int; 5266 5267 ${DECLARATIONS} 5268 5269 void main() 5270 { 5271 ${SETUP} 5272 out0 = ivec3(in0); 5273 ${OUTPUT} 5274 } 5275 "" 5276 end 5277 5278 case uvec3_to_ivec2 5279 version 300 es 5280 values 5281 { 5282 input uvec3 in0 = [ uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(32, 64, 51) | uvec3(0, 0, 0) ]; 5283 output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, 2) | ivec2(32, 64) | ivec2(0, 0) ]; 5284 } 5285 5286 both "" 5287 #version 300 es 5288 precision mediump float; 5289 precision mediump int; 5290 5291 ${DECLARATIONS} 5292 5293 void main() 5294 { 5295 ${SETUP} 5296 out0 = ivec2(in0); 5297 ${OUTPUT} 5298 } 5299 "" 5300 end 5301 5302 case uvec3_to_bvec3 5303 version 300 es 5304 values 5305 { 5306 input uvec3 in0 = [ uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(32, 64, 51) | uvec3(0, 0, 0) ]; 5307 output bvec3 out0 = [ bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, true, true) | bvec3(true, true, true) | bvec3(false, false, false) ]; 5308 } 5309 5310 both "" 5311 #version 300 es 5312 precision mediump float; 5313 precision mediump int; 5314 5315 ${DECLARATIONS} 5316 5317 void main() 5318 { 5319 ${SETUP} 5320 out0 = bvec3(in0); 5321 ${OUTPUT} 5322 } 5323 "" 5324 end 5325 5326 case uvec3_to_bvec2 5327 version 300 es 5328 values 5329 { 5330 input uvec3 in0 = [ uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(32, 64, 51) | uvec3(0, 0, 0) ]; 5331 output bvec2 out0 = [ bvec2(false, false) | bvec2(true, true) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 5332 } 5333 5334 both "" 5335 #version 300 es 5336 precision mediump float; 5337 precision mediump int; 5338 5339 ${DECLARATIONS} 5340 5341 void main() 5342 { 5343 ${SETUP} 5344 out0 = bvec2(in0); 5345 ${OUTPUT} 5346 } 5347 "" 5348 end 5349 5350 case bvec3_to_vec3 5351 version 300 es 5352 values 5353 { 5354 input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ]; 5355 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) ]; 5356 } 5357 5358 both "" 5359 #version 300 es 5360 precision mediump float; 5361 precision mediump int; 5362 5363 ${DECLARATIONS} 5364 5365 void main() 5366 { 5367 ${SETUP} 5368 out0 = vec3(in0); 5369 ${OUTPUT} 5370 } 5371 "" 5372 end 5373 5374 case bvec3_to_vec2 5375 version 300 es 5376 values 5377 { 5378 input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ]; 5379 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) ]; 5380 } 5381 5382 both "" 5383 #version 300 es 5384 precision mediump float; 5385 precision mediump int; 5386 5387 ${DECLARATIONS} 5388 5389 void main() 5390 { 5391 ${SETUP} 5392 out0 = vec2(in0); 5393 ${OUTPUT} 5394 } 5395 "" 5396 end 5397 5398 case bvec3_to_ivec3 5399 version 300 es 5400 values 5401 { 5402 input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ]; 5403 output ivec3 out0 = [ ivec3(1, 0, 0) | ivec3(0, 0, 0) | ivec3(0, 1, 0) | ivec3(1, 1, 1) | ivec3(0, 0, 0) ]; 5404 } 5405 5406 both "" 5407 #version 300 es 5408 precision mediump float; 5409 precision mediump int; 5410 5411 ${DECLARATIONS} 5412 5413 void main() 5414 { 5415 ${SETUP} 5416 out0 = ivec3(in0); 5417 ${OUTPUT} 5418 } 5419 "" 5420 end 5421 5422 case bvec3_to_ivec2 5423 version 300 es 5424 values 5425 { 5426 input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ]; 5427 output ivec2 out0 = [ ivec2(1, 0) | ivec2(0, 0) | ivec2(0, 1) | ivec2(1, 1) | ivec2(0, 0) ]; 5428 } 5429 5430 both "" 5431 #version 300 es 5432 precision mediump float; 5433 precision mediump int; 5434 5435 ${DECLARATIONS} 5436 5437 void main() 5438 { 5439 ${SETUP} 5440 out0 = ivec2(in0); 5441 ${OUTPUT} 5442 } 5443 "" 5444 end 5445 5446 case bvec3_to_bvec3 5447 version 300 es 5448 values 5449 { 5450 input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ]; 5451 output bvec3 out0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ]; 5452 } 5453 5454 both "" 5455 #version 300 es 5456 precision mediump float; 5457 precision mediump int; 5458 5459 ${DECLARATIONS} 5460 5461 void main() 5462 { 5463 ${SETUP} 5464 out0 = bvec3(in0); 5465 ${OUTPUT} 5466 } 5467 "" 5468 end 5469 5470 case bvec3_to_bvec2 5471 version 300 es 5472 values 5473 { 5474 input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ]; 5475 output bvec2 out0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 5476 } 5477 5478 both "" 5479 #version 300 es 5480 precision mediump float; 5481 precision mediump int; 5482 5483 ${DECLARATIONS} 5484 5485 void main() 5486 { 5487 ${SETUP} 5488 out0 = bvec2(in0); 5489 ${OUTPUT} 5490 } 5491 "" 5492 end 5493 5494 case vec3_to_uvec3 5495 version 300 es 5496 values 5497 { 5498 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) ]; 5499 output uvec3 out0 = [ uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(32, 64, 51) | uvec3(0, 0, 0) ]; 5500 } 5501 5502 both "" 5503 #version 300 es 5504 precision mediump float; 5505 precision mediump int; 5506 5507 ${DECLARATIONS} 5508 5509 void main() 5510 { 5511 ${SETUP} 5512 out0 = uvec3(in0); 5513 ${OUTPUT} 5514 } 5515 "" 5516 end 5517 5518 case vec3_to_uvec2 5519 version 300 es 5520 values 5521 { 5522 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) ]; 5523 output uvec2 out0 = [ uvec2(0, 0) | uvec2(1, 1) | uvec2(0, 2) | uvec2(32, 64) | uvec2(0, 0) ]; 5524 } 5525 5526 both "" 5527 #version 300 es 5528 precision mediump float; 5529 precision mediump int; 5530 5531 ${DECLARATIONS} 5532 5533 void main() 5534 { 5535 ${SETUP} 5536 out0 = uvec2(in0); 5537 ${OUTPUT} 5538 } 5539 "" 5540 end 5541 5542 case ivec3_to_uvec3 5543 version 300 es 5544 values 5545 { 5546 input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, 2, 4) | ivec3(32, 64, 51) | ivec3(0, 0, 0) ]; 5547 output uvec3 out0 = [ uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(32, 64, 51) | uvec3(0, 0, 0) ]; 5548 } 5549 5550 both "" 5551 #version 300 es 5552 precision mediump float; 5553 precision mediump int; 5554 5555 ${DECLARATIONS} 5556 5557 void main() 5558 { 5559 ${SETUP} 5560 out0 = uvec3(in0); 5561 ${OUTPUT} 5562 } 5563 "" 5564 end 5565 5566 case ivec3_to_uvec2 5567 version 300 es 5568 values 5569 { 5570 input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, 2, 4) | ivec3(32, 64, 51) | ivec3(0, 0, 0) ]; 5571 output uvec2 out0 = [ uvec2(0, 0) | uvec2(1, 1) | uvec2(0, 2) | uvec2(32, 64) | uvec2(0, 0) ]; 5572 } 5573 5574 both "" 5575 #version 300 es 5576 precision mediump float; 5577 precision mediump int; 5578 5579 ${DECLARATIONS} 5580 5581 void main() 5582 { 5583 ${SETUP} 5584 out0 = uvec2(in0); 5585 ${OUTPUT} 5586 } 5587 "" 5588 end 5589 5590 case uvec3_to_uvec3 5591 version 300 es 5592 values 5593 { 5594 input uvec3 in0 = [ uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(32, 64, 51) | uvec3(0, 0, 0) ]; 5595 output uvec3 out0 = [ uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(32, 64, 51) | uvec3(0, 0, 0) ]; 5596 } 5597 5598 both "" 5599 #version 300 es 5600 precision mediump float; 5601 precision mediump int; 5602 5603 ${DECLARATIONS} 5604 5605 void main() 5606 { 5607 ${SETUP} 5608 out0 = uvec3(in0); 5609 ${OUTPUT} 5610 } 5611 "" 5612 end 5613 5614 case uvec3_to_uvec2 5615 version 300 es 5616 values 5617 { 5618 input uvec3 in0 = [ uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(32, 64, 51) | uvec3(0, 0, 0) ]; 5619 output uvec2 out0 = [ uvec2(0, 0) | uvec2(1, 1) | uvec2(0, 2) | uvec2(32, 64) | uvec2(0, 0) ]; 5620 } 5621 5622 both "" 5623 #version 300 es 5624 precision mediump float; 5625 precision mediump int; 5626 5627 ${DECLARATIONS} 5628 5629 void main() 5630 { 5631 ${SETUP} 5632 out0 = uvec2(in0); 5633 ${OUTPUT} 5634 } 5635 "" 5636 end 5637 5638 case bvec3_to_uvec3 5639 version 300 es 5640 values 5641 { 5642 input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ]; 5643 output uvec3 out0 = [ uvec3(1, 0, 0) | uvec3(0, 0, 0) | uvec3(0, 1, 0) | uvec3(1, 1, 1) | uvec3(0, 0, 0) ]; 5644 } 5645 5646 both "" 5647 #version 300 es 5648 precision mediump float; 5649 precision mediump int; 5650 5651 ${DECLARATIONS} 5652 5653 void main() 5654 { 5655 ${SETUP} 5656 out0 = uvec3(in0); 5657 ${OUTPUT} 5658 } 5659 "" 5660 end 5661 5662 case bvec3_to_uvec2 5663 version 300 es 5664 values 5665 { 5666 input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) ]; 5667 output uvec2 out0 = [ uvec2(1, 0) | uvec2(0, 0) | uvec2(0, 1) | uvec2(1, 1) | uvec2(0, 0) ]; 5668 } 5669 5670 both "" 5671 #version 300 es 5672 precision mediump float; 5673 precision mediump int; 5674 5675 ${DECLARATIONS} 5676 5677 void main() 5678 { 5679 ${SETUP} 5680 out0 = uvec2(in0); 5681 ${OUTPUT} 5682 } 5683 "" 5684 end 5685 5686 case vec2_to_vec2 5687 version 300 es 5688 values 5689 { 5690 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) ]; 5691 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) ]; 5692 } 5693 5694 both "" 5695 #version 300 es 5696 precision mediump float; 5697 precision mediump int; 5698 5699 ${DECLARATIONS} 5700 5701 void main() 5702 { 5703 ${SETUP} 5704 out0 = vec2(in0); 5705 ${OUTPUT} 5706 } 5707 "" 5708 end 5709 5710 case vec2_to_ivec2 5711 version 300 es 5712 values 5713 { 5714 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) ]; 5715 output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ]; 5716 } 5717 5718 both "" 5719 #version 300 es 5720 precision mediump float; 5721 precision mediump int; 5722 5723 ${DECLARATIONS} 5724 5725 void main() 5726 { 5727 ${SETUP} 5728 out0 = ivec2(in0); 5729 ${OUTPUT} 5730 } 5731 "" 5732 end 5733 5734 case vec2_to_bvec2 5735 version 300 es 5736 values 5737 { 5738 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) ]; 5739 output bvec2 out0 = [ bvec2(false, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) ]; 5740 } 5741 5742 both "" 5743 #version 300 es 5744 precision mediump float; 5745 precision mediump int; 5746 5747 ${DECLARATIONS} 5748 5749 void main() 5750 { 5751 ${SETUP} 5752 out0 = bvec2(in0); 5753 ${OUTPUT} 5754 } 5755 "" 5756 end 5757 5758 case ivec2_to_vec2 5759 version 300 es 5760 values 5761 { 5762 input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ]; 5763 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) ]; 5764 } 5765 5766 both "" 5767 #version 300 es 5768 precision mediump float; 5769 precision mediump int; 5770 5771 ${DECLARATIONS} 5772 5773 void main() 5774 { 5775 ${SETUP} 5776 out0 = vec2(in0); 5777 ${OUTPUT} 5778 } 5779 "" 5780 end 5781 5782 case ivec2_to_ivec2 5783 version 300 es 5784 values 5785 { 5786 input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ]; 5787 output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ]; 5788 } 5789 5790 both "" 5791 #version 300 es 5792 precision mediump float; 5793 precision mediump int; 5794 5795 ${DECLARATIONS} 5796 5797 void main() 5798 { 5799 ${SETUP} 5800 out0 = ivec2(in0); 5801 ${OUTPUT} 5802 } 5803 "" 5804 end 5805 5806 case ivec2_to_bvec2 5807 version 300 es 5808 values 5809 { 5810 input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) ]; 5811 output bvec2 out0 = [ bvec2(false, false) | bvec2(true, true) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 5812 } 5813 5814 both "" 5815 #version 300 es 5816 precision mediump float; 5817 precision mediump int; 5818 5819 ${DECLARATIONS} 5820 5821 void main() 5822 { 5823 ${SETUP} 5824 out0 = bvec2(in0); 5825 ${OUTPUT} 5826 } 5827 "" 5828 end 5829 5830 case uvec2_to_vec2 5831 version 300 es 5832 values 5833 { 5834 input uvec2 in0 = [ uvec2(0, 0) | uvec2(1, 1) | uvec2(0, 2) | uvec2(32, 64) | uvec2(0, 0) ]; 5835 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) ]; 5836 } 5837 5838 both "" 5839 #version 300 es 5840 precision mediump float; 5841 precision mediump int; 5842 5843 ${DECLARATIONS} 5844 5845 void main() 5846 { 5847 ${SETUP} 5848 out0 = vec2(in0); 5849 ${OUTPUT} 5850 } 5851 "" 5852 end 5853 5854 case uvec2_to_ivec2 5855 version 300 es 5856 values 5857 { 5858 input uvec2 in0 = [ uvec2(0, 0) | uvec2(1, 1) | uvec2(0, 2) | uvec2(32, 64) | uvec2(0, 0) ]; 5859 output ivec2 out0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, 2) | ivec2(32, 64) | ivec2(0, 0) ]; 5860 } 5861 5862 both "" 5863 #version 300 es 5864 precision mediump float; 5865 precision mediump int; 5866 5867 ${DECLARATIONS} 5868 5869 void main() 5870 { 5871 ${SETUP} 5872 out0 = ivec2(in0); 5873 ${OUTPUT} 5874 } 5875 "" 5876 end 5877 5878 case uvec2_to_bvec2 5879 version 300 es 5880 values 5881 { 5882 input uvec2 in0 = [ uvec2(0, 0) | uvec2(1, 1) | uvec2(0, 2) | uvec2(32, 64) | uvec2(0, 0) ]; 5883 output bvec2 out0 = [ bvec2(false, false) | bvec2(true, true) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 5884 } 5885 5886 both "" 5887 #version 300 es 5888 precision mediump float; 5889 precision mediump int; 5890 5891 ${DECLARATIONS} 5892 5893 void main() 5894 { 5895 ${SETUP} 5896 out0 = bvec2(in0); 5897 ${OUTPUT} 5898 } 5899 "" 5900 end 5901 5902 case bvec2_to_vec2 5903 version 300 es 5904 values 5905 { 5906 input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 5907 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) ]; 5908 } 5909 5910 both "" 5911 #version 300 es 5912 precision mediump float; 5913 precision mediump int; 5914 5915 ${DECLARATIONS} 5916 5917 void main() 5918 { 5919 ${SETUP} 5920 out0 = vec2(in0); 5921 ${OUTPUT} 5922 } 5923 "" 5924 end 5925 5926 case bvec2_to_ivec2 5927 version 300 es 5928 values 5929 { 5930 input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 5931 output ivec2 out0 = [ ivec2(1, 0) | ivec2(0, 0) | ivec2(0, 1) | ivec2(1, 1) | ivec2(0, 0) ]; 5932 } 5933 5934 both "" 5935 #version 300 es 5936 precision mediump float; 5937 precision mediump int; 5938 5939 ${DECLARATIONS} 5940 5941 void main() 5942 { 5943 ${SETUP} 5944 out0 = ivec2(in0); 5945 ${OUTPUT} 5946 } 5947 "" 5948 end 5949 5950 case bvec2_to_bvec2 5951 version 300 es 5952 values 5953 { 5954 input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 5955 output bvec2 out0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 5956 } 5957 5958 both "" 5959 #version 300 es 5960 precision mediump float; 5961 precision mediump int; 5962 5963 ${DECLARATIONS} 5964 5965 void main() 5966 { 5967 ${SETUP} 5968 out0 = bvec2(in0); 5969 ${OUTPUT} 5970 } 5971 "" 5972 end 5973 5974 case vec2_to_uvec2 5975 version 300 es 5976 values 5977 { 5978 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) ]; 5979 output uvec2 out0 = [ uvec2(0, 0) | uvec2(1, 1) | uvec2(0, 2) | uvec2(32, 64) | uvec2(0, 0) ]; 5980 } 5981 5982 both "" 5983 #version 300 es 5984 precision mediump float; 5985 precision mediump int; 5986 5987 ${DECLARATIONS} 5988 5989 void main() 5990 { 5991 ${SETUP} 5992 out0 = uvec2(in0); 5993 ${OUTPUT} 5994 } 5995 "" 5996 end 5997 5998 case ivec2_to_uvec2 5999 version 300 es 6000 values 6001 { 6002 input ivec2 in0 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, 2) | ivec2(32, 64) | ivec2(0, 0) ]; 6003 output uvec2 out0 = [ uvec2(0, 0) | uvec2(1, 1) | uvec2(0, 2) | uvec2(32, 64) | uvec2(0, 0) ]; 6004 } 6005 6006 both "" 6007 #version 300 es 6008 precision mediump float; 6009 precision mediump int; 6010 6011 ${DECLARATIONS} 6012 6013 void main() 6014 { 6015 ${SETUP} 6016 out0 = uvec2(in0); 6017 ${OUTPUT} 6018 } 6019 "" 6020 end 6021 6022 case uvec2_to_uvec2 6023 version 300 es 6024 values 6025 { 6026 input uvec2 in0 = [ uvec2(0, 0) | uvec2(1, 1) | uvec2(0, 2) | uvec2(32, 64) | uvec2(0, 0) ]; 6027 output uvec2 out0 = [ uvec2(0, 0) | uvec2(1, 1) | uvec2(0, 2) | uvec2(32, 64) | uvec2(0, 0) ]; 6028 } 6029 6030 both "" 6031 #version 300 es 6032 precision mediump float; 6033 precision mediump int; 6034 6035 ${DECLARATIONS} 6036 6037 void main() 6038 { 6039 ${SETUP} 6040 out0 = uvec2(in0); 6041 ${OUTPUT} 6042 } 6043 "" 6044 end 6045 6046 case bvec2_to_uvec2 6047 version 300 es 6048 values 6049 { 6050 input bvec2 in0 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 6051 output uvec2 out0 = [ uvec2(1, 0) | uvec2(0, 0) | uvec2(0, 1) | uvec2(1, 1) | uvec2(0, 0) ]; 6052 } 6053 6054 both "" 6055 #version 300 es 6056 precision mediump float; 6057 precision mediump int; 6058 6059 ${DECLARATIONS} 6060 6061 void main() 6062 { 6063 ${SETUP} 6064 out0 = uvec2(in0); 6065 ${OUTPUT} 6066 } 6067 "" 6068 end 6069 6070 6071 end # vector_to_vector 6072 group scalar_to_matrix "Scalar to Matrix Conversions" 6073 6074 case float_to_mat4 6075 version 300 es 6076 values 6077 { 6078 input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 6079 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) ]; 6080 } 6081 6082 both "" 6083 #version 300 es 6084 precision mediump float; 6085 precision mediump int; 6086 6087 ${DECLARATIONS} 6088 6089 void main() 6090 { 6091 ${SETUP} 6092 out0 = mat4(in0); 6093 ${OUTPUT} 6094 } 6095 "" 6096 end 6097 6098 case float_to_mat4x3 6099 version 300 es 6100 values 6101 { 6102 input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 6103 output mat4x3 out0 = [ mat4x3(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat4x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(2.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0) | mat4x3(3.5, 0.0, 0.0, 0.0, 3.5, 0.0, 0.0, 0.0, 3.5, 0.0, 0.0, 0.0) | mat4x3(-0.5, 0.0, 0.0, 0.0, -0.5, 0.0, 0.0, 0.0, -0.5, 0.0, 0.0, 0.0) | mat4x3(-8.25, 0.0, 0.0, 0.0, -8.25, 0.0, 0.0, 0.0, -8.25, 0.0, 0.0, 0.0) | mat4x3(-20.125, 0.0, 0.0, 0.0, -20.125, 0.0, 0.0, 0.0, -20.125, 0.0, 0.0, 0.0) | mat4x3(36.8125, 0.0, 0.0, 0.0, 36.8125, 0.0, 0.0, 0.0, 36.8125, 0.0, 0.0, 0.0) ]; 6104 } 6105 6106 both "" 6107 #version 300 es 6108 precision mediump float; 6109 precision mediump int; 6110 6111 ${DECLARATIONS} 6112 6113 void main() 6114 { 6115 ${SETUP} 6116 out0 = mat4x3(in0); 6117 ${OUTPUT} 6118 } 6119 "" 6120 end 6121 6122 case float_to_mat4x2 6123 version 300 es 6124 values 6125 { 6126 input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 6127 output mat4x2 out0 = [ mat4x2(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(2.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(3.5, 0.0, 0.0, 3.5, 0.0, 0.0, 0.0, 0.0) | mat4x2(-0.5, 0.0, 0.0, -0.5, 0.0, 0.0, 0.0, 0.0) | mat4x2(-8.25, 0.0, 0.0, -8.25, 0.0, 0.0, 0.0, 0.0) | mat4x2(-20.125, 0.0, 0.0, -20.125, 0.0, 0.0, 0.0, 0.0) | mat4x2(36.8125, 0.0, 0.0, 36.8125, 0.0, 0.0, 0.0, 0.0) ]; 6128 } 6129 6130 both "" 6131 #version 300 es 6132 precision mediump float; 6133 precision mediump int; 6134 6135 ${DECLARATIONS} 6136 6137 void main() 6138 { 6139 ${SETUP} 6140 out0 = mat4x2(in0); 6141 ${OUTPUT} 6142 } 6143 "" 6144 end 6145 6146 case float_to_mat3x4 6147 version 300 es 6148 values 6149 { 6150 input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 6151 output mat3x4 out0 = [ mat3x4(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat3x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(2.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0) | mat3x4(3.5, 0.0, 0.0, 0.0, 0.0, 3.5, 0.0, 0.0, 0.0, 0.0, 3.5, 0.0) | mat3x4(-0.5, 0.0, 0.0, 0.0, 0.0, -0.5, 0.0, 0.0, 0.0, 0.0, -0.5, 0.0) | mat3x4(-8.25, 0.0, 0.0, 0.0, 0.0, -8.25, 0.0, 0.0, 0.0, 0.0, -8.25, 0.0) | mat3x4(-20.125, 0.0, 0.0, 0.0, 0.0, -20.125, 0.0, 0.0, 0.0, 0.0, -20.125, 0.0) | mat3x4(36.8125, 0.0, 0.0, 0.0, 0.0, 36.8125, 0.0, 0.0, 0.0, 0.0, 36.8125, 0.0) ]; 6152 } 6153 6154 both "" 6155 #version 300 es 6156 precision mediump float; 6157 precision mediump int; 6158 6159 ${DECLARATIONS} 6160 6161 void main() 6162 { 6163 ${SETUP} 6164 out0 = mat3x4(in0); 6165 ${OUTPUT} 6166 } 6167 "" 6168 end 6169 6170 case float_to_mat3 6171 version 300 es 6172 values 6173 { 6174 input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 6175 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) ]; 6176 } 6177 6178 both "" 6179 #version 300 es 6180 precision mediump float; 6181 precision mediump int; 6182 6183 ${DECLARATIONS} 6184 6185 void main() 6186 { 6187 ${SETUP} 6188 out0 = mat3(in0); 6189 ${OUTPUT} 6190 } 6191 "" 6192 end 6193 6194 case float_to_mat3x2 6195 version 300 es 6196 values 6197 { 6198 input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 6199 output mat3x2 out0 = [ mat3x2(0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat3x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat3x2(2.0, 0.0, 0.0, 2.0, 0.0, 0.0) | mat3x2(3.5, 0.0, 0.0, 3.5, 0.0, 0.0) | mat3x2(-0.5, 0.0, 0.0, -0.5, 0.0, 0.0) | mat3x2(-8.25, 0.0, 0.0, -8.25, 0.0, 0.0) | mat3x2(-20.125, 0.0, 0.0, -20.125, 0.0, 0.0) | mat3x2(36.8125, 0.0, 0.0, 36.8125, 0.0, 0.0) ]; 6200 } 6201 6202 both "" 6203 #version 300 es 6204 precision mediump float; 6205 precision mediump int; 6206 6207 ${DECLARATIONS} 6208 6209 void main() 6210 { 6211 ${SETUP} 6212 out0 = mat3x2(in0); 6213 ${OUTPUT} 6214 } 6215 "" 6216 end 6217 6218 case float_to_mat2x4 6219 version 300 es 6220 values 6221 { 6222 input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 6223 output mat2x4 out0 = [ mat2x4(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat2x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat2x4(2.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0) | mat2x4(3.5, 0.0, 0.0, 0.0, 0.0, 3.5, 0.0, 0.0) | mat2x4(-0.5, 0.0, 0.0, 0.0, 0.0, -0.5, 0.0, 0.0) | mat2x4(-8.25, 0.0, 0.0, 0.0, 0.0, -8.25, 0.0, 0.0) | mat2x4(-20.125, 0.0, 0.0, 0.0, 0.0, -20.125, 0.0, 0.0) | mat2x4(36.8125, 0.0, 0.0, 0.0, 0.0, 36.8125, 0.0, 0.0) ]; 6224 } 6225 6226 both "" 6227 #version 300 es 6228 precision mediump float; 6229 precision mediump int; 6230 6231 ${DECLARATIONS} 6232 6233 void main() 6234 { 6235 ${SETUP} 6236 out0 = mat2x4(in0); 6237 ${OUTPUT} 6238 } 6239 "" 6240 end 6241 6242 case float_to_mat2x3 6243 version 300 es 6244 values 6245 { 6246 input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 6247 output mat2x3 out0 = [ mat2x3(0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat2x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat2x3(2.0, 0.0, 0.0, 0.0, 2.0, 0.0) | mat2x3(3.5, 0.0, 0.0, 0.0, 3.5, 0.0) | mat2x3(-0.5, 0.0, 0.0, 0.0, -0.5, 0.0) | mat2x3(-8.25, 0.0, 0.0, 0.0, -8.25, 0.0) | mat2x3(-20.125, 0.0, 0.0, 0.0, -20.125, 0.0) | mat2x3(36.8125, 0.0, 0.0, 0.0, 36.8125, 0.0) ]; 6248 } 6249 6250 both "" 6251 #version 300 es 6252 precision mediump float; 6253 precision mediump int; 6254 6255 ${DECLARATIONS} 6256 6257 void main() 6258 { 6259 ${SETUP} 6260 out0 = mat2x3(in0); 6261 ${OUTPUT} 6262 } 6263 "" 6264 end 6265 6266 case float_to_mat2 6267 version 300 es 6268 values 6269 { 6270 input float in0 = [ 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -8.25 | -20.125 | 36.8125 ]; 6271 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) ]; 6272 } 6273 6274 both "" 6275 #version 300 es 6276 precision mediump float; 6277 precision mediump int; 6278 6279 ${DECLARATIONS} 6280 6281 void main() 6282 { 6283 ${SETUP} 6284 out0 = mat2(in0); 6285 ${OUTPUT} 6286 } 6287 "" 6288 end 6289 6290 case int_to_mat4 6291 version 300 es 6292 values 6293 { 6294 input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 6295 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) ]; 6296 } 6297 6298 both "" 6299 #version 300 es 6300 precision mediump float; 6301 precision mediump int; 6302 6303 ${DECLARATIONS} 6304 6305 void main() 6306 { 6307 ${SETUP} 6308 out0 = mat4(in0); 6309 ${OUTPUT} 6310 } 6311 "" 6312 end 6313 6314 case int_to_mat4x3 6315 version 300 es 6316 values 6317 { 6318 input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 6319 output mat4x3 out0 = [ mat4x3(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat4x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(2.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0) | mat4x3(5.0, 0.0, 0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 5.0, 0.0, 0.0, 0.0) | mat4x3(8.0, 0.0, 0.0, 0.0, 8.0, 0.0, 0.0, 0.0, 8.0, 0.0, 0.0, 0.0) | mat4x3(11.0, 0.0, 0.0, 0.0, 11.0, 0.0, 0.0, 0.0, 11.0, 0.0, 0.0, 0.0) | mat4x3(-12.0, 0.0, 0.0, 0.0, -12.0, 0.0, 0.0, 0.0, -12.0, 0.0, 0.0, 0.0) | mat4x3(-66.0, 0.0, 0.0, 0.0, -66.0, 0.0, 0.0, 0.0, -66.0, 0.0, 0.0, 0.0) | mat4x3(-192.0, 0.0, 0.0, 0.0, -192.0, 0.0, 0.0, 0.0, -192.0, 0.0, 0.0, 0.0) | mat4x3(255.0, 0.0, 0.0, 0.0, 255.0, 0.0, 0.0, 0.0, 255.0, 0.0, 0.0, 0.0) ]; 6320 } 6321 6322 both "" 6323 #version 300 es 6324 precision mediump float; 6325 precision mediump int; 6326 6327 ${DECLARATIONS} 6328 6329 void main() 6330 { 6331 ${SETUP} 6332 out0 = mat4x3(in0); 6333 ${OUTPUT} 6334 } 6335 "" 6336 end 6337 6338 case int_to_mat4x2 6339 version 300 es 6340 values 6341 { 6342 input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 6343 output mat4x2 out0 = [ mat4x2(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(2.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(5.0, 0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(8.0, 0.0, 0.0, 8.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(11.0, 0.0, 0.0, 11.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(-12.0, 0.0, 0.0, -12.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(-66.0, 0.0, 0.0, -66.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(-192.0, 0.0, 0.0, -192.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(255.0, 0.0, 0.0, 255.0, 0.0, 0.0, 0.0, 0.0) ]; 6344 } 6345 6346 both "" 6347 #version 300 es 6348 precision mediump float; 6349 precision mediump int; 6350 6351 ${DECLARATIONS} 6352 6353 void main() 6354 { 6355 ${SETUP} 6356 out0 = mat4x2(in0); 6357 ${OUTPUT} 6358 } 6359 "" 6360 end 6361 6362 case int_to_mat3x4 6363 version 300 es 6364 values 6365 { 6366 input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 6367 output mat3x4 out0 = [ mat3x4(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat3x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(2.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0) | mat3x4(5.0, 0.0, 0.0, 0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 5.0, 0.0) | mat3x4(8.0, 0.0, 0.0, 0.0, 0.0, 8.0, 0.0, 0.0, 0.0, 0.0, 8.0, 0.0) | mat3x4(11.0, 0.0, 0.0, 0.0, 0.0, 11.0, 0.0, 0.0, 0.0, 0.0, 11.0, 0.0) | mat3x4(-12.0, 0.0, 0.0, 0.0, 0.0, -12.0, 0.0, 0.0, 0.0, 0.0, -12.0, 0.0) | mat3x4(-66.0, 0.0, 0.0, 0.0, 0.0, -66.0, 0.0, 0.0, 0.0, 0.0, -66.0, 0.0) | mat3x4(-192.0, 0.0, 0.0, 0.0, 0.0, -192.0, 0.0, 0.0, 0.0, 0.0, -192.0, 0.0) | mat3x4(255.0, 0.0, 0.0, 0.0, 0.0, 255.0, 0.0, 0.0, 0.0, 0.0, 255.0, 0.0) ]; 6368 } 6369 6370 both "" 6371 #version 300 es 6372 precision mediump float; 6373 precision mediump int; 6374 6375 ${DECLARATIONS} 6376 6377 void main() 6378 { 6379 ${SETUP} 6380 out0 = mat3x4(in0); 6381 ${OUTPUT} 6382 } 6383 "" 6384 end 6385 6386 case int_to_mat3 6387 version 300 es 6388 values 6389 { 6390 input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 6391 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) ]; 6392 } 6393 6394 both "" 6395 #version 300 es 6396 precision mediump float; 6397 precision mediump int; 6398 6399 ${DECLARATIONS} 6400 6401 void main() 6402 { 6403 ${SETUP} 6404 out0 = mat3(in0); 6405 ${OUTPUT} 6406 } 6407 "" 6408 end 6409 6410 case int_to_mat3x2 6411 version 300 es 6412 values 6413 { 6414 input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 6415 output mat3x2 out0 = [ mat3x2(0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat3x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat3x2(2.0, 0.0, 0.0, 2.0, 0.0, 0.0) | mat3x2(5.0, 0.0, 0.0, 5.0, 0.0, 0.0) | mat3x2(8.0, 0.0, 0.0, 8.0, 0.0, 0.0) | mat3x2(11.0, 0.0, 0.0, 11.0, 0.0, 0.0) | mat3x2(-12.0, 0.0, 0.0, -12.0, 0.0, 0.0) | mat3x2(-66.0, 0.0, 0.0, -66.0, 0.0, 0.0) | mat3x2(-192.0, 0.0, 0.0, -192.0, 0.0, 0.0) | mat3x2(255.0, 0.0, 0.0, 255.0, 0.0, 0.0) ]; 6416 } 6417 6418 both "" 6419 #version 300 es 6420 precision mediump float; 6421 precision mediump int; 6422 6423 ${DECLARATIONS} 6424 6425 void main() 6426 { 6427 ${SETUP} 6428 out0 = mat3x2(in0); 6429 ${OUTPUT} 6430 } 6431 "" 6432 end 6433 6434 case int_to_mat2x4 6435 version 300 es 6436 values 6437 { 6438 input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 6439 output mat2x4 out0 = [ mat2x4(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat2x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat2x4(2.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0) | mat2x4(5.0, 0.0, 0.0, 0.0, 0.0, 5.0, 0.0, 0.0) | mat2x4(8.0, 0.0, 0.0, 0.0, 0.0, 8.0, 0.0, 0.0) | mat2x4(11.0, 0.0, 0.0, 0.0, 0.0, 11.0, 0.0, 0.0) | mat2x4(-12.0, 0.0, 0.0, 0.0, 0.0, -12.0, 0.0, 0.0) | mat2x4(-66.0, 0.0, 0.0, 0.0, 0.0, -66.0, 0.0, 0.0) | mat2x4(-192.0, 0.0, 0.0, 0.0, 0.0, -192.0, 0.0, 0.0) | mat2x4(255.0, 0.0, 0.0, 0.0, 0.0, 255.0, 0.0, 0.0) ]; 6440 } 6441 6442 both "" 6443 #version 300 es 6444 precision mediump float; 6445 precision mediump int; 6446 6447 ${DECLARATIONS} 6448 6449 void main() 6450 { 6451 ${SETUP} 6452 out0 = mat2x4(in0); 6453 ${OUTPUT} 6454 } 6455 "" 6456 end 6457 6458 case int_to_mat2x3 6459 version 300 es 6460 values 6461 { 6462 input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 6463 output mat2x3 out0 = [ mat2x3(0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat2x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat2x3(2.0, 0.0, 0.0, 0.0, 2.0, 0.0) | mat2x3(5.0, 0.0, 0.0, 0.0, 5.0, 0.0) | mat2x3(8.0, 0.0, 0.0, 0.0, 8.0, 0.0) | mat2x3(11.0, 0.0, 0.0, 0.0, 11.0, 0.0) | mat2x3(-12.0, 0.0, 0.0, 0.0, -12.0, 0.0) | mat2x3(-66.0, 0.0, 0.0, 0.0, -66.0, 0.0) | mat2x3(-192.0, 0.0, 0.0, 0.0, -192.0, 0.0) | mat2x3(255.0, 0.0, 0.0, 0.0, 255.0, 0.0) ]; 6464 } 6465 6466 both "" 6467 #version 300 es 6468 precision mediump float; 6469 precision mediump int; 6470 6471 ${DECLARATIONS} 6472 6473 void main() 6474 { 6475 ${SETUP} 6476 out0 = mat2x3(in0); 6477 ${OUTPUT} 6478 } 6479 "" 6480 end 6481 6482 case int_to_mat2 6483 version 300 es 6484 values 6485 { 6486 input int in0 = [ 0 | 1 | 2 | 5 | 8 | 11 | -12 | -66 | -192 | 255 ]; 6487 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) ]; 6488 } 6489 6490 both "" 6491 #version 300 es 6492 precision mediump float; 6493 precision mediump int; 6494 6495 ${DECLARATIONS} 6496 6497 void main() 6498 { 6499 ${SETUP} 6500 out0 = mat2(in0); 6501 ${OUTPUT} 6502 } 6503 "" 6504 end 6505 6506 case uint_to_mat4 6507 version 300 es 6508 values 6509 { 6510 input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ]; 6511 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(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.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 3.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(9.0, 0.0, 0.0, 0.0, 0.0, 9.0, 0.0, 0.0, 0.0, 0.0, 9.0, 0.0, 0.0, 0.0, 0.0, 9.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(10.0, 0.0, 0.0, 0.0, 0.0, 10.0, 0.0, 0.0, 0.0, 0.0, 10.0, 0.0, 0.0, 0.0, 0.0, 10.0) | mat4(45.0, 0.0, 0.0, 0.0, 0.0, 45.0, 0.0, 0.0, 0.0, 0.0, 45.0, 0.0, 0.0, 0.0, 0.0, 45.0) | mat4(193.0, 0.0, 0.0, 0.0, 0.0, 193.0, 0.0, 0.0, 0.0, 0.0, 193.0, 0.0, 0.0, 0.0, 0.0, 193.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) ]; 6512 } 6513 6514 both "" 6515 #version 300 es 6516 precision mediump float; 6517 precision mediump int; 6518 6519 ${DECLARATIONS} 6520 6521 void main() 6522 { 6523 ${SETUP} 6524 out0 = mat4(in0); 6525 ${OUTPUT} 6526 } 6527 "" 6528 end 6529 6530 case uint_to_mat4x3 6531 version 300 es 6532 values 6533 { 6534 input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ]; 6535 output mat4x3 out0 = [ mat4x3(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat4x3(2.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0) | mat4x3(3.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0) | mat4x3(8.0, 0.0, 0.0, 0.0, 8.0, 0.0, 0.0, 0.0, 8.0, 0.0, 0.0, 0.0) | mat4x3(9.0, 0.0, 0.0, 0.0, 9.0, 0.0, 0.0, 0.0, 9.0, 0.0, 0.0, 0.0) | mat4x3(12.0, 0.0, 0.0, 0.0, 12.0, 0.0, 0.0, 0.0, 12.0, 0.0, 0.0, 0.0) | mat4x3(10.0, 0.0, 0.0, 0.0, 10.0, 0.0, 0.0, 0.0, 10.0, 0.0, 0.0, 0.0) | mat4x3(45.0, 0.0, 0.0, 0.0, 45.0, 0.0, 0.0, 0.0, 45.0, 0.0, 0.0, 0.0) | mat4x3(193.0, 0.0, 0.0, 0.0, 193.0, 0.0, 0.0, 0.0, 193.0, 0.0, 0.0, 0.0) | mat4x3(255.0, 0.0, 0.0, 0.0, 255.0, 0.0, 0.0, 0.0, 255.0, 0.0, 0.0, 0.0) ]; 6536 } 6537 6538 both "" 6539 #version 300 es 6540 precision mediump float; 6541 precision mediump int; 6542 6543 ${DECLARATIONS} 6544 6545 void main() 6546 { 6547 ${SETUP} 6548 out0 = mat4x3(in0); 6549 ${OUTPUT} 6550 } 6551 "" 6552 end 6553 6554 case uint_to_mat4x2 6555 version 300 es 6556 values 6557 { 6558 input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ]; 6559 output mat4x2 out0 = [ mat4x2(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(2.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(3.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(8.0, 0.0, 0.0, 8.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(9.0, 0.0, 0.0, 9.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(12.0, 0.0, 0.0, 12.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(10.0, 0.0, 0.0, 10.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(45.0, 0.0, 0.0, 45.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(193.0, 0.0, 0.0, 193.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(255.0, 0.0, 0.0, 255.0, 0.0, 0.0, 0.0, 0.0) ]; 6560 } 6561 6562 both "" 6563 #version 300 es 6564 precision mediump float; 6565 precision mediump int; 6566 6567 ${DECLARATIONS} 6568 6569 void main() 6570 { 6571 ${SETUP} 6572 out0 = mat4x2(in0); 6573 ${OUTPUT} 6574 } 6575 "" 6576 end 6577 6578 case uint_to_mat3x4 6579 version 300 es 6580 values 6581 { 6582 input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ]; 6583 output mat3x4 out0 = [ mat3x4(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat3x4(2.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0) | mat3x4(3.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0) | mat3x4(8.0, 0.0, 0.0, 0.0, 0.0, 8.0, 0.0, 0.0, 0.0, 0.0, 8.0, 0.0) | mat3x4(9.0, 0.0, 0.0, 0.0, 0.0, 9.0, 0.0, 0.0, 0.0, 0.0, 9.0, 0.0) | mat3x4(12.0, 0.0, 0.0, 0.0, 0.0, 12.0, 0.0, 0.0, 0.0, 0.0, 12.0, 0.0) | mat3x4(10.0, 0.0, 0.0, 0.0, 0.0, 10.0, 0.0, 0.0, 0.0, 0.0, 10.0, 0.0) | mat3x4(45.0, 0.0, 0.0, 0.0, 0.0, 45.0, 0.0, 0.0, 0.0, 0.0, 45.0, 0.0) | mat3x4(193.0, 0.0, 0.0, 0.0, 0.0, 193.0, 0.0, 0.0, 0.0, 0.0, 193.0, 0.0) | mat3x4(255.0, 0.0, 0.0, 0.0, 0.0, 255.0, 0.0, 0.0, 0.0, 0.0, 255.0, 0.0) ]; 6584 } 6585 6586 both "" 6587 #version 300 es 6588 precision mediump float; 6589 precision mediump int; 6590 6591 ${DECLARATIONS} 6592 6593 void main() 6594 { 6595 ${SETUP} 6596 out0 = mat3x4(in0); 6597 ${OUTPUT} 6598 } 6599 "" 6600 end 6601 6602 case uint_to_mat3 6603 version 300 es 6604 values 6605 { 6606 input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ]; 6607 output mat3 out0 = [ mat3(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat3(2.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0, 2.0) | mat3(3.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0, 0.0, 3.0) | mat3(8.0, 0.0, 0.0, 0.0, 8.0, 0.0, 0.0, 0.0, 8.0) | mat3(9.0, 0.0, 0.0, 0.0, 9.0, 0.0, 0.0, 0.0, 9.0) | mat3(12.0, 0.0, 0.0, 0.0, 12.0, 0.0, 0.0, 0.0, 12.0) | mat3(10.0, 0.0, 0.0, 0.0, 10.0, 0.0, 0.0, 0.0, 10.0) | mat3(45.0, 0.0, 0.0, 0.0, 45.0, 0.0, 0.0, 0.0, 45.0) | mat3(193.0, 0.0, 0.0, 0.0, 193.0, 0.0, 0.0, 0.0, 193.0) | mat3(255.0, 0.0, 0.0, 0.0, 255.0, 0.0, 0.0, 0.0, 255.0) ]; 6608 } 6609 6610 both "" 6611 #version 300 es 6612 precision mediump float; 6613 precision mediump int; 6614 6615 ${DECLARATIONS} 6616 6617 void main() 6618 { 6619 ${SETUP} 6620 out0 = mat3(in0); 6621 ${OUTPUT} 6622 } 6623 "" 6624 end 6625 6626 case uint_to_mat3x2 6627 version 300 es 6628 values 6629 { 6630 input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ]; 6631 output mat3x2 out0 = [ mat3x2(0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat3x2(2.0, 0.0, 0.0, 2.0, 0.0, 0.0) | mat3x2(3.0, 0.0, 0.0, 3.0, 0.0, 0.0) | mat3x2(8.0, 0.0, 0.0, 8.0, 0.0, 0.0) | mat3x2(9.0, 0.0, 0.0, 9.0, 0.0, 0.0) | mat3x2(12.0, 0.0, 0.0, 12.0, 0.0, 0.0) | mat3x2(10.0, 0.0, 0.0, 10.0, 0.0, 0.0) | mat3x2(45.0, 0.0, 0.0, 45.0, 0.0, 0.0) | mat3x2(193.0, 0.0, 0.0, 193.0, 0.0, 0.0) | mat3x2(255.0, 0.0, 0.0, 255.0, 0.0, 0.0) ]; 6632 } 6633 6634 both "" 6635 #version 300 es 6636 precision mediump float; 6637 precision mediump int; 6638 6639 ${DECLARATIONS} 6640 6641 void main() 6642 { 6643 ${SETUP} 6644 out0 = mat3x2(in0); 6645 ${OUTPUT} 6646 } 6647 "" 6648 end 6649 6650 case uint_to_mat2x4 6651 version 300 es 6652 values 6653 { 6654 input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ]; 6655 output mat2x4 out0 = [ mat2x4(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat2x4(2.0, 0.0, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0) | mat2x4(3.0, 0.0, 0.0, 0.0, 0.0, 3.0, 0.0, 0.0) | mat2x4(8.0, 0.0, 0.0, 0.0, 0.0, 8.0, 0.0, 0.0) | mat2x4(9.0, 0.0, 0.0, 0.0, 0.0, 9.0, 0.0, 0.0) | mat2x4(12.0, 0.0, 0.0, 0.0, 0.0, 12.0, 0.0, 0.0) | mat2x4(10.0, 0.0, 0.0, 0.0, 0.0, 10.0, 0.0, 0.0) | mat2x4(45.0, 0.0, 0.0, 0.0, 0.0, 45.0, 0.0, 0.0) | mat2x4(193.0, 0.0, 0.0, 0.0, 0.0, 193.0, 0.0, 0.0) | mat2x4(255.0, 0.0, 0.0, 0.0, 0.0, 255.0, 0.0, 0.0) ]; 6656 } 6657 6658 both "" 6659 #version 300 es 6660 precision mediump float; 6661 precision mediump int; 6662 6663 ${DECLARATIONS} 6664 6665 void main() 6666 { 6667 ${SETUP} 6668 out0 = mat2x4(in0); 6669 ${OUTPUT} 6670 } 6671 "" 6672 end 6673 6674 case uint_to_mat2x3 6675 version 300 es 6676 values 6677 { 6678 input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ]; 6679 output mat2x3 out0 = [ mat2x3(0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat2x3(2.0, 0.0, 0.0, 0.0, 2.0, 0.0) | mat2x3(3.0, 0.0, 0.0, 0.0, 3.0, 0.0) | mat2x3(8.0, 0.0, 0.0, 0.0, 8.0, 0.0) | mat2x3(9.0, 0.0, 0.0, 0.0, 9.0, 0.0) | mat2x3(12.0, 0.0, 0.0, 0.0, 12.0, 0.0) | mat2x3(10.0, 0.0, 0.0, 0.0, 10.0, 0.0) | mat2x3(45.0, 0.0, 0.0, 0.0, 45.0, 0.0) | mat2x3(193.0, 0.0, 0.0, 0.0, 193.0, 0.0) | mat2x3(255.0, 0.0, 0.0, 0.0, 255.0, 0.0) ]; 6680 } 6681 6682 both "" 6683 #version 300 es 6684 precision mediump float; 6685 precision mediump int; 6686 6687 ${DECLARATIONS} 6688 6689 void main() 6690 { 6691 ${SETUP} 6692 out0 = mat2x3(in0); 6693 ${OUTPUT} 6694 } 6695 "" 6696 end 6697 6698 case uint_to_mat2 6699 version 300 es 6700 values 6701 { 6702 input uint in0 = [ 0 | 2 | 3 | 8 | 9 | 12 | 10 | 45 | 193 | 255 ]; 6703 output mat2 out0 = [ mat2(0.0, 0.0, 0.0, 0.0) | mat2(2.0, 0.0, 0.0, 2.0) | mat2(3.0, 0.0, 0.0, 3.0) | mat2(8.0, 0.0, 0.0, 8.0) | mat2(9.0, 0.0, 0.0, 9.0) | mat2(12.0, 0.0, 0.0, 12.0) | mat2(10.0, 0.0, 0.0, 10.0) | mat2(45.0, 0.0, 0.0, 45.0) | mat2(193.0, 0.0, 0.0, 193.0) | mat2(255.0, 0.0, 0.0, 255.0) ]; 6704 } 6705 6706 both "" 6707 #version 300 es 6708 precision mediump float; 6709 precision mediump int; 6710 6711 ${DECLARATIONS} 6712 6713 void main() 6714 { 6715 ${SETUP} 6716 out0 = mat2(in0); 6717 ${OUTPUT} 6718 } 6719 "" 6720 end 6721 6722 case bool_to_mat4 6723 version 300 es 6724 values 6725 { 6726 input bool in0 = [ true | false ]; 6727 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) ]; 6728 } 6729 6730 both "" 6731 #version 300 es 6732 precision mediump float; 6733 precision mediump int; 6734 6735 ${DECLARATIONS} 6736 6737 void main() 6738 { 6739 ${SETUP} 6740 out0 = mat4(in0); 6741 ${OUTPUT} 6742 } 6743 "" 6744 end 6745 6746 case bool_to_mat4x3 6747 version 300 es 6748 values 6749 { 6750 input bool in0 = [ true | false ]; 6751 output mat4x3 out0 = [ mat4x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) ]; 6752 } 6753 6754 both "" 6755 #version 300 es 6756 precision mediump float; 6757 precision mediump int; 6758 6759 ${DECLARATIONS} 6760 6761 void main() 6762 { 6763 ${SETUP} 6764 out0 = mat4x3(in0); 6765 ${OUTPUT} 6766 } 6767 "" 6768 end 6769 6770 case bool_to_mat4x2 6771 version 300 es 6772 values 6773 { 6774 input bool in0 = [ true | false ]; 6775 output mat4x2 out0 = [ mat4x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) ]; 6776 } 6777 6778 both "" 6779 #version 300 es 6780 precision mediump float; 6781 precision mediump int; 6782 6783 ${DECLARATIONS} 6784 6785 void main() 6786 { 6787 ${SETUP} 6788 out0 = mat4x2(in0); 6789 ${OUTPUT} 6790 } 6791 "" 6792 end 6793 6794 case bool_to_mat3x4 6795 version 300 es 6796 values 6797 { 6798 input bool in0 = [ true | false ]; 6799 output mat3x4 out0 = [ mat3x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) ]; 6800 } 6801 6802 both "" 6803 #version 300 es 6804 precision mediump float; 6805 precision mediump int; 6806 6807 ${DECLARATIONS} 6808 6809 void main() 6810 { 6811 ${SETUP} 6812 out0 = mat3x4(in0); 6813 ${OUTPUT} 6814 } 6815 "" 6816 end 6817 6818 case bool_to_mat3 6819 version 300 es 6820 values 6821 { 6822 input bool in0 = [ true | false ]; 6823 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) ]; 6824 } 6825 6826 both "" 6827 #version 300 es 6828 precision mediump float; 6829 precision mediump int; 6830 6831 ${DECLARATIONS} 6832 6833 void main() 6834 { 6835 ${SETUP} 6836 out0 = mat3(in0); 6837 ${OUTPUT} 6838 } 6839 "" 6840 end 6841 6842 case bool_to_mat3x2 6843 version 300 es 6844 values 6845 { 6846 input bool in0 = [ true | false ]; 6847 output mat3x2 out0 = [ mat3x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat3x2(0.0, 0.0, 0.0, 0.0, 0.0, 0.0) ]; 6848 } 6849 6850 both "" 6851 #version 300 es 6852 precision mediump float; 6853 precision mediump int; 6854 6855 ${DECLARATIONS} 6856 6857 void main() 6858 { 6859 ${SETUP} 6860 out0 = mat3x2(in0); 6861 ${OUTPUT} 6862 } 6863 "" 6864 end 6865 6866 case bool_to_mat2x4 6867 version 300 es 6868 values 6869 { 6870 input bool in0 = [ true | false ]; 6871 output mat2x4 out0 = [ mat2x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat2x4(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) ]; 6872 } 6873 6874 both "" 6875 #version 300 es 6876 precision mediump float; 6877 precision mediump int; 6878 6879 ${DECLARATIONS} 6880 6881 void main() 6882 { 6883 ${SETUP} 6884 out0 = mat2x4(in0); 6885 ${OUTPUT} 6886 } 6887 "" 6888 end 6889 6890 case bool_to_mat2x3 6891 version 300 es 6892 values 6893 { 6894 input bool in0 = [ true | false ]; 6895 output mat2x3 out0 = [ mat2x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat2x3(0.0, 0.0, 0.0, 0.0, 0.0, 0.0) ]; 6896 } 6897 6898 both "" 6899 #version 300 es 6900 precision mediump float; 6901 precision mediump int; 6902 6903 ${DECLARATIONS} 6904 6905 void main() 6906 { 6907 ${SETUP} 6908 out0 = mat2x3(in0); 6909 ${OUTPUT} 6910 } 6911 "" 6912 end 6913 6914 case bool_to_mat2 6915 version 300 es 6916 values 6917 { 6918 input bool in0 = [ true | false ]; 6919 output mat2 out0 = [ mat2(1.0, 0.0, 0.0, 1.0) | mat2(0.0, 0.0, 0.0, 0.0) ]; 6920 } 6921 6922 both "" 6923 #version 300 es 6924 precision mediump float; 6925 precision mediump int; 6926 6927 ${DECLARATIONS} 6928 6929 void main() 6930 { 6931 ${SETUP} 6932 out0 = mat2(in0); 6933 ${OUTPUT} 6934 } 6935 "" 6936 end 6937 6938 6939 end # scalar_to_matrix 6940 group matrix_to_matrix "Matrix to Matrix Conversions" 6941 6942 case mat4_to_mat4 6943 version 300 es 6944 values 6945 { 6946 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) ]; 6947 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) ]; 6948 } 6949 6950 both "" 6951 #version 300 es 6952 precision mediump float; 6953 precision mediump int; 6954 6955 ${DECLARATIONS} 6956 6957 void main() 6958 { 6959 ${SETUP} 6960 out0 = mat4(in0); 6961 ${OUTPUT} 6962 } 6963 "" 6964 end 6965 6966 case mat4_to_mat4x3 6967 version 300 es 6968 values 6969 { 6970 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) ]; 6971 output mat4x3 out0 = [ mat4x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625, -0.75, -8.425, 0.03125, 9.975, -6.542, 0.015625) ]; 6972 } 6973 6974 both "" 6975 #version 300 es 6976 precision mediump float; 6977 precision mediump int; 6978 6979 ${DECLARATIONS} 6980 6981 void main() 6982 { 6983 ${SETUP} 6984 out0 = mat4x3(in0); 6985 ${OUTPUT} 6986 } 6987 "" 6988 end 6989 6990 case mat4_to_mat4x2 6991 version 300 es 6992 values 6993 { 6994 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) ]; 6995 output mat4x2 out0 = [ mat4x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425, 9.975, -6.542) ]; 6996 } 6997 6998 both "" 6999 #version 300 es 7000 precision mediump float; 7001 precision mediump int; 7002 7003 ${DECLARATIONS} 7004 7005 void main() 7006 { 7007 ${SETUP} 7008 out0 = mat4x2(in0); 7009 ${OUTPUT} 7010 } 7011 "" 7012 end 7013 7014 case mat4_to_mat3x4 7015 version 300 es 7016 values 7017 { 7018 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) ]; 7019 output mat3x4 out0 = [ mat3x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5, -0.75, -8.425, 0.03125, -0.0125) ]; 7020 } 7021 7022 both "" 7023 #version 300 es 7024 precision mediump float; 7025 precision mediump int; 7026 7027 ${DECLARATIONS} 7028 7029 void main() 7030 { 7031 ${SETUP} 7032 out0 = mat3x4(in0); 7033 ${OUTPUT} 7034 } 7035 "" 7036 end 7037 7038 case mat4_to_mat3 7039 version 300 es 7040 values 7041 { 7042 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) ]; 7043 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) ]; 7044 } 7045 7046 both "" 7047 #version 300 es 7048 precision mediump float; 7049 precision mediump int; 7050 7051 ${DECLARATIONS} 7052 7053 void main() 7054 { 7055 ${SETUP} 7056 out0 = mat3(in0); 7057 ${OUTPUT} 7058 } 7059 "" 7060 end 7061 7062 case mat4_to_mat3x2 7063 version 300 es 7064 values 7065 { 7066 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) ]; 7067 output mat3x2 out0 = [ mat3x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat3x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425) ]; 7068 } 7069 7070 both "" 7071 #version 300 es 7072 precision mediump float; 7073 precision mediump int; 7074 7075 ${DECLARATIONS} 7076 7077 void main() 7078 { 7079 ${SETUP} 7080 out0 = mat3x2(in0); 7081 ${OUTPUT} 7082 } 7083 "" 7084 end 7085 7086 case mat4_to_mat2x4 7087 version 300 es 7088 values 7089 { 7090 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) ]; 7091 output mat2x4 out0 = [ mat2x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat2x4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5) ]; 7092 } 7093 7094 both "" 7095 #version 300 es 7096 precision mediump float; 7097 precision mediump int; 7098 7099 ${DECLARATIONS} 7100 7101 void main() 7102 { 7103 ${SETUP} 7104 out0 = mat2x4(in0); 7105 ${OUTPUT} 7106 } 7107 "" 7108 end 7109 7110 case mat4_to_mat2x3 7111 version 300 es 7112 values 7113 { 7114 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) ]; 7115 output mat2x3 out0 = [ mat2x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat2x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625) ]; 7116 } 7117 7118 both "" 7119 #version 300 es 7120 precision mediump float; 7121 precision mediump int; 7122 7123 ${DECLARATIONS} 7124 7125 void main() 7126 { 7127 ${SETUP} 7128 out0 = mat2x3(in0); 7129 ${OUTPUT} 7130 } 7131 "" 7132 end 7133 7134 case mat4_to_mat2 7135 version 300 es 7136 values 7137 { 7138 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) ]; 7139 output mat2 out0 = [ mat2(1.0, 0.0, 0.0, 1.0) | mat2(6.5, 32.0, 12.5, 0.0208333333333) ]; 7140 } 7141 7142 both "" 7143 #version 300 es 7144 precision mediump float; 7145 precision mediump int; 7146 7147 ${DECLARATIONS} 7148 7149 void main() 7150 { 7151 ${SETUP} 7152 out0 = mat2(in0); 7153 ${OUTPUT} 7154 } 7155 "" 7156 end 7157 7158 case mat4x3_to_mat4 7159 version 300 es 7160 values 7161 { 7162 input mat4x3 in0 = [ mat4x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625, -0.75, -8.425, 0.03125, 9.975, -6.542, 0.015625) ]; 7163 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.0208333333333, 0.0625, 0.0, -0.75, -8.425, 0.03125, 0.0, 9.975, -6.542, 0.015625, 1.0) ]; 7164 } 7165 7166 both "" 7167 #version 300 es 7168 precision mediump float; 7169 precision mediump int; 7170 7171 ${DECLARATIONS} 7172 7173 void main() 7174 { 7175 ${SETUP} 7176 out0 = mat4(in0); 7177 ${OUTPUT} 7178 } 7179 "" 7180 end 7181 7182 case mat4x3_to_mat4x3 7183 version 300 es 7184 values 7185 { 7186 input mat4x3 in0 = [ mat4x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625, -0.75, -8.425, 0.03125, 9.975, -6.542, 0.015625) ]; 7187 output mat4x3 out0 = [ mat4x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625, -0.75, -8.425, 0.03125, 9.975, -6.542, 0.015625) ]; 7188 } 7189 7190 both "" 7191 #version 300 es 7192 precision mediump float; 7193 precision mediump int; 7194 7195 ${DECLARATIONS} 7196 7197 void main() 7198 { 7199 ${SETUP} 7200 out0 = mat4x3(in0); 7201 ${OUTPUT} 7202 } 7203 "" 7204 end 7205 7206 case mat4x3_to_mat4x2 7207 version 300 es 7208 values 7209 { 7210 input mat4x3 in0 = [ mat4x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625, -0.75, -8.425, 0.03125, 9.975, -6.542, 0.015625) ]; 7211 output mat4x2 out0 = [ mat4x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425, 9.975, -6.542) ]; 7212 } 7213 7214 both "" 7215 #version 300 es 7216 precision mediump float; 7217 precision mediump int; 7218 7219 ${DECLARATIONS} 7220 7221 void main() 7222 { 7223 ${SETUP} 7224 out0 = mat4x2(in0); 7225 ${OUTPUT} 7226 } 7227 "" 7228 end 7229 7230 case mat4x3_to_mat3x4 7231 version 300 es 7232 values 7233 { 7234 input mat4x3 in0 = [ mat4x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625, -0.75, -8.425, 0.03125, 9.975, -6.542, 0.015625) ]; 7235 output mat3x4 out0 = [ mat3x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(6.5, 32.0, 0.125, 0.0, 12.5, 0.0208333333333, 0.0625, 0.0, -0.75, -8.425, 0.03125, 0.0) ]; 7236 } 7237 7238 both "" 7239 #version 300 es 7240 precision mediump float; 7241 precision mediump int; 7242 7243 ${DECLARATIONS} 7244 7245 void main() 7246 { 7247 ${SETUP} 7248 out0 = mat3x4(in0); 7249 ${OUTPUT} 7250 } 7251 "" 7252 end 7253 7254 case mat4x3_to_mat3 7255 version 300 es 7256 values 7257 { 7258 input mat4x3 in0 = [ mat4x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625, -0.75, -8.425, 0.03125, 9.975, -6.542, 0.015625) ]; 7259 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) ]; 7260 } 7261 7262 both "" 7263 #version 300 es 7264 precision mediump float; 7265 precision mediump int; 7266 7267 ${DECLARATIONS} 7268 7269 void main() 7270 { 7271 ${SETUP} 7272 out0 = mat3(in0); 7273 ${OUTPUT} 7274 } 7275 "" 7276 end 7277 7278 case mat4x3_to_mat3x2 7279 version 300 es 7280 values 7281 { 7282 input mat4x3 in0 = [ mat4x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625, -0.75, -8.425, 0.03125, 9.975, -6.542, 0.015625) ]; 7283 output mat3x2 out0 = [ mat3x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat3x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425) ]; 7284 } 7285 7286 both "" 7287 #version 300 es 7288 precision mediump float; 7289 precision mediump int; 7290 7291 ${DECLARATIONS} 7292 7293 void main() 7294 { 7295 ${SETUP} 7296 out0 = mat3x2(in0); 7297 ${OUTPUT} 7298 } 7299 "" 7300 end 7301 7302 case mat4x3_to_mat2x4 7303 version 300 es 7304 values 7305 { 7306 input mat4x3 in0 = [ mat4x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625, -0.75, -8.425, 0.03125, 9.975, -6.542, 0.015625) ]; 7307 output mat2x4 out0 = [ mat2x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat2x4(6.5, 32.0, 0.125, 0.0, 12.5, 0.0208333333333, 0.0625, 0.0) ]; 7308 } 7309 7310 both "" 7311 #version 300 es 7312 precision mediump float; 7313 precision mediump int; 7314 7315 ${DECLARATIONS} 7316 7317 void main() 7318 { 7319 ${SETUP} 7320 out0 = mat2x4(in0); 7321 ${OUTPUT} 7322 } 7323 "" 7324 end 7325 7326 case mat4x3_to_mat2x3 7327 version 300 es 7328 values 7329 { 7330 input mat4x3 in0 = [ mat4x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625, -0.75, -8.425, 0.03125, 9.975, -6.542, 0.015625) ]; 7331 output mat2x3 out0 = [ mat2x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat2x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625) ]; 7332 } 7333 7334 both "" 7335 #version 300 es 7336 precision mediump float; 7337 precision mediump int; 7338 7339 ${DECLARATIONS} 7340 7341 void main() 7342 { 7343 ${SETUP} 7344 out0 = mat2x3(in0); 7345 ${OUTPUT} 7346 } 7347 "" 7348 end 7349 7350 case mat4x3_to_mat2 7351 version 300 es 7352 values 7353 { 7354 input mat4x3 in0 = [ mat4x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625, -0.75, -8.425, 0.03125, 9.975, -6.542, 0.015625) ]; 7355 output mat2 out0 = [ mat2(1.0, 0.0, 0.0, 1.0) | mat2(6.5, 32.0, 12.5, 0.0208333333333) ]; 7356 } 7357 7358 both "" 7359 #version 300 es 7360 precision mediump float; 7361 precision mediump int; 7362 7363 ${DECLARATIONS} 7364 7365 void main() 7366 { 7367 ${SETUP} 7368 out0 = mat2(in0); 7369 ${OUTPUT} 7370 } 7371 "" 7372 end 7373 7374 case mat4x2_to_mat4 7375 version 300 es 7376 values 7377 { 7378 input mat4x2 in0 = [ mat4x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425, 9.975, -6.542) ]; 7379 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.0, 0.0, 12.5, 0.0208333333333, 0.0, 0.0, -0.75, -8.425, 1.0, 0.0, 9.975, -6.542, 0.0, 1.0) ]; 7380 } 7381 7382 both "" 7383 #version 300 es 7384 precision mediump float; 7385 precision mediump int; 7386 7387 ${DECLARATIONS} 7388 7389 void main() 7390 { 7391 ${SETUP} 7392 out0 = mat4(in0); 7393 ${OUTPUT} 7394 } 7395 "" 7396 end 7397 7398 case mat4x2_to_mat4x3 7399 version 300 es 7400 values 7401 { 7402 input mat4x2 in0 = [ mat4x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425, 9.975, -6.542) ]; 7403 output mat4x3 out0 = [ mat4x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(6.5, 32.0, 0.0, 12.5, 0.0208333333333, 0.0, -0.75, -8.425, 1.0, 9.975, -6.542, 0.0) ]; 7404 } 7405 7406 both "" 7407 #version 300 es 7408 precision mediump float; 7409 precision mediump int; 7410 7411 ${DECLARATIONS} 7412 7413 void main() 7414 { 7415 ${SETUP} 7416 out0 = mat4x3(in0); 7417 ${OUTPUT} 7418 } 7419 "" 7420 end 7421 7422 case mat4x2_to_mat4x2 7423 version 300 es 7424 values 7425 { 7426 input mat4x2 in0 = [ mat4x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425, 9.975, -6.542) ]; 7427 output mat4x2 out0 = [ mat4x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425, 9.975, -6.542) ]; 7428 } 7429 7430 both "" 7431 #version 300 es 7432 precision mediump float; 7433 precision mediump int; 7434 7435 ${DECLARATIONS} 7436 7437 void main() 7438 { 7439 ${SETUP} 7440 out0 = mat4x2(in0); 7441 ${OUTPUT} 7442 } 7443 "" 7444 end 7445 7446 case mat4x2_to_mat3x4 7447 version 300 es 7448 values 7449 { 7450 input mat4x2 in0 = [ mat4x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425, 9.975, -6.542) ]; 7451 output mat3x4 out0 = [ mat3x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(6.5, 32.0, 0.0, 0.0, 12.5, 0.0208333333333, 0.0, 0.0, -0.75, -8.425, 1.0, 0.0) ]; 7452 } 7453 7454 both "" 7455 #version 300 es 7456 precision mediump float; 7457 precision mediump int; 7458 7459 ${DECLARATIONS} 7460 7461 void main() 7462 { 7463 ${SETUP} 7464 out0 = mat3x4(in0); 7465 ${OUTPUT} 7466 } 7467 "" 7468 end 7469 7470 case mat4x2_to_mat3 7471 version 300 es 7472 values 7473 { 7474 input mat4x2 in0 = [ mat4x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425, 9.975, -6.542) ]; 7475 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.0, 12.5, 0.0208333333333, 0.0, -0.75, -8.425, 1.0) ]; 7476 } 7477 7478 both "" 7479 #version 300 es 7480 precision mediump float; 7481 precision mediump int; 7482 7483 ${DECLARATIONS} 7484 7485 void main() 7486 { 7487 ${SETUP} 7488 out0 = mat3(in0); 7489 ${OUTPUT} 7490 } 7491 "" 7492 end 7493 7494 case mat4x2_to_mat3x2 7495 version 300 es 7496 values 7497 { 7498 input mat4x2 in0 = [ mat4x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425, 9.975, -6.542) ]; 7499 output mat3x2 out0 = [ mat3x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat3x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425) ]; 7500 } 7501 7502 both "" 7503 #version 300 es 7504 precision mediump float; 7505 precision mediump int; 7506 7507 ${DECLARATIONS} 7508 7509 void main() 7510 { 7511 ${SETUP} 7512 out0 = mat3x2(in0); 7513 ${OUTPUT} 7514 } 7515 "" 7516 end 7517 7518 case mat4x2_to_mat2x4 7519 version 300 es 7520 values 7521 { 7522 input mat4x2 in0 = [ mat4x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425, 9.975, -6.542) ]; 7523 output mat2x4 out0 = [ mat2x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat2x4(6.5, 32.0, 0.0, 0.0, 12.5, 0.0208333333333, 0.0, 0.0) ]; 7524 } 7525 7526 both "" 7527 #version 300 es 7528 precision mediump float; 7529 precision mediump int; 7530 7531 ${DECLARATIONS} 7532 7533 void main() 7534 { 7535 ${SETUP} 7536 out0 = mat2x4(in0); 7537 ${OUTPUT} 7538 } 7539 "" 7540 end 7541 7542 case mat4x2_to_mat2x3 7543 version 300 es 7544 values 7545 { 7546 input mat4x2 in0 = [ mat4x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425, 9.975, -6.542) ]; 7547 output mat2x3 out0 = [ mat2x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat2x3(6.5, 32.0, 0.0, 12.5, 0.0208333333333, 0.0) ]; 7548 } 7549 7550 both "" 7551 #version 300 es 7552 precision mediump float; 7553 precision mediump int; 7554 7555 ${DECLARATIONS} 7556 7557 void main() 7558 { 7559 ${SETUP} 7560 out0 = mat2x3(in0); 7561 ${OUTPUT} 7562 } 7563 "" 7564 end 7565 7566 case mat4x2_to_mat2 7567 version 300 es 7568 values 7569 { 7570 input mat4x2 in0 = [ mat4x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425, 9.975, -6.542) ]; 7571 output mat2 out0 = [ mat2(1.0, 0.0, 0.0, 1.0) | mat2(6.5, 32.0, 12.5, 0.0208333333333) ]; 7572 } 7573 7574 both "" 7575 #version 300 es 7576 precision mediump float; 7577 precision mediump int; 7578 7579 ${DECLARATIONS} 7580 7581 void main() 7582 { 7583 ${SETUP} 7584 out0 = mat2(in0); 7585 ${OUTPUT} 7586 } 7587 "" 7588 end 7589 7590 case mat3x4_to_mat4 7591 version 300 es 7592 values 7593 { 7594 input mat3x4 in0 = [ mat3x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5, -0.75, -8.425, 0.03125, -0.0125) ]; 7595 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, 0.0, 0.0, 0.0, 1.0) ]; 7596 } 7597 7598 both "" 7599 #version 300 es 7600 precision mediump float; 7601 precision mediump int; 7602 7603 ${DECLARATIONS} 7604 7605 void main() 7606 { 7607 ${SETUP} 7608 out0 = mat4(in0); 7609 ${OUTPUT} 7610 } 7611 "" 7612 end 7613 7614 case mat3x4_to_mat4x3 7615 version 300 es 7616 values 7617 { 7618 input mat3x4 in0 = [ mat3x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5, -0.75, -8.425, 0.03125, -0.0125) ]; 7619 output mat4x3 out0 = [ mat4x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625, -0.75, -8.425, 0.03125, 0.0, 0.0, 0.0) ]; 7620 } 7621 7622 both "" 7623 #version 300 es 7624 precision mediump float; 7625 precision mediump int; 7626 7627 ${DECLARATIONS} 7628 7629 void main() 7630 { 7631 ${SETUP} 7632 out0 = mat4x3(in0); 7633 ${OUTPUT} 7634 } 7635 "" 7636 end 7637 7638 case mat3x4_to_mat4x2 7639 version 300 es 7640 values 7641 { 7642 input mat3x4 in0 = [ mat3x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5, -0.75, -8.425, 0.03125, -0.0125) ]; 7643 output mat4x2 out0 = [ mat4x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425, 0.0, 0.0) ]; 7644 } 7645 7646 both "" 7647 #version 300 es 7648 precision mediump float; 7649 precision mediump int; 7650 7651 ${DECLARATIONS} 7652 7653 void main() 7654 { 7655 ${SETUP} 7656 out0 = mat4x2(in0); 7657 ${OUTPUT} 7658 } 7659 "" 7660 end 7661 7662 case mat3x4_to_mat3x4 7663 version 300 es 7664 values 7665 { 7666 input mat3x4 in0 = [ mat3x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5, -0.75, -8.425, 0.03125, -0.0125) ]; 7667 output mat3x4 out0 = [ mat3x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5, -0.75, -8.425, 0.03125, -0.0125) ]; 7668 } 7669 7670 both "" 7671 #version 300 es 7672 precision mediump float; 7673 precision mediump int; 7674 7675 ${DECLARATIONS} 7676 7677 void main() 7678 { 7679 ${SETUP} 7680 out0 = mat3x4(in0); 7681 ${OUTPUT} 7682 } 7683 "" 7684 end 7685 7686 case mat3x4_to_mat3 7687 version 300 es 7688 values 7689 { 7690 input mat3x4 in0 = [ mat3x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5, -0.75, -8.425, 0.03125, -0.0125) ]; 7691 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) ]; 7692 } 7693 7694 both "" 7695 #version 300 es 7696 precision mediump float; 7697 precision mediump int; 7698 7699 ${DECLARATIONS} 7700 7701 void main() 7702 { 7703 ${SETUP} 7704 out0 = mat3(in0); 7705 ${OUTPUT} 7706 } 7707 "" 7708 end 7709 7710 case mat3x4_to_mat3x2 7711 version 300 es 7712 values 7713 { 7714 input mat3x4 in0 = [ mat3x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5, -0.75, -8.425, 0.03125, -0.0125) ]; 7715 output mat3x2 out0 = [ mat3x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat3x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425) ]; 7716 } 7717 7718 both "" 7719 #version 300 es 7720 precision mediump float; 7721 precision mediump int; 7722 7723 ${DECLARATIONS} 7724 7725 void main() 7726 { 7727 ${SETUP} 7728 out0 = mat3x2(in0); 7729 ${OUTPUT} 7730 } 7731 "" 7732 end 7733 7734 case mat3x4_to_mat2x4 7735 version 300 es 7736 values 7737 { 7738 input mat3x4 in0 = [ mat3x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5, -0.75, -8.425, 0.03125, -0.0125) ]; 7739 output mat2x4 out0 = [ mat2x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat2x4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5) ]; 7740 } 7741 7742 both "" 7743 #version 300 es 7744 precision mediump float; 7745 precision mediump int; 7746 7747 ${DECLARATIONS} 7748 7749 void main() 7750 { 7751 ${SETUP} 7752 out0 = mat2x4(in0); 7753 ${OUTPUT} 7754 } 7755 "" 7756 end 7757 7758 case mat3x4_to_mat2x3 7759 version 300 es 7760 values 7761 { 7762 input mat3x4 in0 = [ mat3x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5, -0.75, -8.425, 0.03125, -0.0125) ]; 7763 output mat2x3 out0 = [ mat2x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat2x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625) ]; 7764 } 7765 7766 both "" 7767 #version 300 es 7768 precision mediump float; 7769 precision mediump int; 7770 7771 ${DECLARATIONS} 7772 7773 void main() 7774 { 7775 ${SETUP} 7776 out0 = mat2x3(in0); 7777 ${OUTPUT} 7778 } 7779 "" 7780 end 7781 7782 case mat3x4_to_mat2 7783 version 300 es 7784 values 7785 { 7786 input mat3x4 in0 = [ mat3x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5, -0.75, -8.425, 0.03125, -0.0125) ]; 7787 output mat2 out0 = [ mat2(1.0, 0.0, 0.0, 1.0) | mat2(6.5, 32.0, 12.5, 0.0208333333333) ]; 7788 } 7789 7790 both "" 7791 #version 300 es 7792 precision mediump float; 7793 precision mediump int; 7794 7795 ${DECLARATIONS} 7796 7797 void main() 7798 { 7799 ${SETUP} 7800 out0 = mat2(in0); 7801 ${OUTPUT} 7802 } 7803 "" 7804 end 7805 7806 case mat3_to_mat4 7807 version 300 es 7808 values 7809 { 7810 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.0208333333333, 0.0625, -0.75, -8.425, 0.03125) ]; 7811 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.0208333333333, 0.0625, 0.0, -0.75, -8.425, 0.03125, 0.0, 0.0, 0.0, 0.0, 1.0) ]; 7812 } 7813 7814 both "" 7815 #version 300 es 7816 precision mediump float; 7817 precision mediump int; 7818 7819 ${DECLARATIONS} 7820 7821 void main() 7822 { 7823 ${SETUP} 7824 out0 = mat4(in0); 7825 ${OUTPUT} 7826 } 7827 "" 7828 end 7829 7830 case mat3_to_mat4x3 7831 version 300 es 7832 values 7833 { 7834 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.0208333333333, 0.0625, -0.75, -8.425, 0.03125) ]; 7835 output mat4x3 out0 = [ mat4x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625, -0.75, -8.425, 0.03125, 0.0, 0.0, 0.0) ]; 7836 } 7837 7838 both "" 7839 #version 300 es 7840 precision mediump float; 7841 precision mediump int; 7842 7843 ${DECLARATIONS} 7844 7845 void main() 7846 { 7847 ${SETUP} 7848 out0 = mat4x3(in0); 7849 ${OUTPUT} 7850 } 7851 "" 7852 end 7853 7854 case mat3_to_mat4x2 7855 version 300 es 7856 values 7857 { 7858 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.0208333333333, 0.0625, -0.75, -8.425, 0.03125) ]; 7859 output mat4x2 out0 = [ mat4x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425, 0.0, 0.0) ]; 7860 } 7861 7862 both "" 7863 #version 300 es 7864 precision mediump float; 7865 precision mediump int; 7866 7867 ${DECLARATIONS} 7868 7869 void main() 7870 { 7871 ${SETUP} 7872 out0 = mat4x2(in0); 7873 ${OUTPUT} 7874 } 7875 "" 7876 end 7877 7878 case mat3_to_mat3x4 7879 version 300 es 7880 values 7881 { 7882 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.0208333333333, 0.0625, -0.75, -8.425, 0.03125) ]; 7883 output mat3x4 out0 = [ mat3x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(6.5, 32.0, 0.125, 0.0, 12.5, 0.0208333333333, 0.0625, 0.0, -0.75, -8.425, 0.03125, 0.0) ]; 7884 } 7885 7886 both "" 7887 #version 300 es 7888 precision mediump float; 7889 precision mediump int; 7890 7891 ${DECLARATIONS} 7892 7893 void main() 7894 { 7895 ${SETUP} 7896 out0 = mat3x4(in0); 7897 ${OUTPUT} 7898 } 7899 "" 7900 end 7901 7902 case mat3_to_mat3 7903 version 300 es 7904 values 7905 { 7906 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.0208333333333, 0.0625, -0.75, -8.425, 0.03125) ]; 7907 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) ]; 7908 } 7909 7910 both "" 7911 #version 300 es 7912 precision mediump float; 7913 precision mediump int; 7914 7915 ${DECLARATIONS} 7916 7917 void main() 7918 { 7919 ${SETUP} 7920 out0 = mat3(in0); 7921 ${OUTPUT} 7922 } 7923 "" 7924 end 7925 7926 case mat3_to_mat3x2 7927 version 300 es 7928 values 7929 { 7930 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.0208333333333, 0.0625, -0.75, -8.425, 0.03125) ]; 7931 output mat3x2 out0 = [ mat3x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat3x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425) ]; 7932 } 7933 7934 both "" 7935 #version 300 es 7936 precision mediump float; 7937 precision mediump int; 7938 7939 ${DECLARATIONS} 7940 7941 void main() 7942 { 7943 ${SETUP} 7944 out0 = mat3x2(in0); 7945 ${OUTPUT} 7946 } 7947 "" 7948 end 7949 7950 case mat3_to_mat2x4 7951 version 300 es 7952 values 7953 { 7954 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.0208333333333, 0.0625, -0.75, -8.425, 0.03125) ]; 7955 output mat2x4 out0 = [ mat2x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat2x4(6.5, 32.0, 0.125, 0.0, 12.5, 0.0208333333333, 0.0625, 0.0) ]; 7956 } 7957 7958 both "" 7959 #version 300 es 7960 precision mediump float; 7961 precision mediump int; 7962 7963 ${DECLARATIONS} 7964 7965 void main() 7966 { 7967 ${SETUP} 7968 out0 = mat2x4(in0); 7969 ${OUTPUT} 7970 } 7971 "" 7972 end 7973 7974 case mat3_to_mat2x3 7975 version 300 es 7976 values 7977 { 7978 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.0208333333333, 0.0625, -0.75, -8.425, 0.03125) ]; 7979 output mat2x3 out0 = [ mat2x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat2x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625) ]; 7980 } 7981 7982 both "" 7983 #version 300 es 7984 precision mediump float; 7985 precision mediump int; 7986 7987 ${DECLARATIONS} 7988 7989 void main() 7990 { 7991 ${SETUP} 7992 out0 = mat2x3(in0); 7993 ${OUTPUT} 7994 } 7995 "" 7996 end 7997 7998 case mat3_to_mat2 7999 version 300 es 8000 values 8001 { 8002 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.0208333333333, 0.0625, -0.75, -8.425, 0.03125) ]; 8003 output mat2 out0 = [ mat2(1.0, 0.0, 0.0, 1.0) | mat2(6.5, 32.0, 12.5, 0.0208333333333) ]; 8004 } 8005 8006 both "" 8007 #version 300 es 8008 precision mediump float; 8009 precision mediump int; 8010 8011 ${DECLARATIONS} 8012 8013 void main() 8014 { 8015 ${SETUP} 8016 out0 = mat2(in0); 8017 ${OUTPUT} 8018 } 8019 "" 8020 end 8021 8022 case mat3x2_to_mat4 8023 version 300 es 8024 values 8025 { 8026 input mat3x2 in0 = [ mat3x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat3x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425) ]; 8027 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.0, 0.0, 12.5, 0.0208333333333, 0.0, 0.0, -0.75, -8.425, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0) ]; 8028 } 8029 8030 both "" 8031 #version 300 es 8032 precision mediump float; 8033 precision mediump int; 8034 8035 ${DECLARATIONS} 8036 8037 void main() 8038 { 8039 ${SETUP} 8040 out0 = mat4(in0); 8041 ${OUTPUT} 8042 } 8043 "" 8044 end 8045 8046 case mat3x2_to_mat4x3 8047 version 300 es 8048 values 8049 { 8050 input mat3x2 in0 = [ mat3x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat3x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425) ]; 8051 output mat4x3 out0 = [ mat4x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(6.5, 32.0, 0.0, 12.5, 0.0208333333333, 0.0, -0.75, -8.425, 1.0, 0.0, 0.0, 0.0) ]; 8052 } 8053 8054 both "" 8055 #version 300 es 8056 precision mediump float; 8057 precision mediump int; 8058 8059 ${DECLARATIONS} 8060 8061 void main() 8062 { 8063 ${SETUP} 8064 out0 = mat4x3(in0); 8065 ${OUTPUT} 8066 } 8067 "" 8068 end 8069 8070 case mat3x2_to_mat4x2 8071 version 300 es 8072 values 8073 { 8074 input mat3x2 in0 = [ mat3x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat3x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425) ]; 8075 output mat4x2 out0 = [ mat4x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425, 0.0, 0.0) ]; 8076 } 8077 8078 both "" 8079 #version 300 es 8080 precision mediump float; 8081 precision mediump int; 8082 8083 ${DECLARATIONS} 8084 8085 void main() 8086 { 8087 ${SETUP} 8088 out0 = mat4x2(in0); 8089 ${OUTPUT} 8090 } 8091 "" 8092 end 8093 8094 case mat3x2_to_mat3x4 8095 version 300 es 8096 values 8097 { 8098 input mat3x2 in0 = [ mat3x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat3x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425) ]; 8099 output mat3x4 out0 = [ mat3x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(6.5, 32.0, 0.0, 0.0, 12.5, 0.0208333333333, 0.0, 0.0, -0.75, -8.425, 1.0, 0.0) ]; 8100 } 8101 8102 both "" 8103 #version 300 es 8104 precision mediump float; 8105 precision mediump int; 8106 8107 ${DECLARATIONS} 8108 8109 void main() 8110 { 8111 ${SETUP} 8112 out0 = mat3x4(in0); 8113 ${OUTPUT} 8114 } 8115 "" 8116 end 8117 8118 case mat3x2_to_mat3 8119 version 300 es 8120 values 8121 { 8122 input mat3x2 in0 = [ mat3x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat3x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425) ]; 8123 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.0, 12.5, 0.0208333333333, 0.0, -0.75, -8.425, 1.0) ]; 8124 } 8125 8126 both "" 8127 #version 300 es 8128 precision mediump float; 8129 precision mediump int; 8130 8131 ${DECLARATIONS} 8132 8133 void main() 8134 { 8135 ${SETUP} 8136 out0 = mat3(in0); 8137 ${OUTPUT} 8138 } 8139 "" 8140 end 8141 8142 case mat3x2_to_mat3x2 8143 version 300 es 8144 values 8145 { 8146 input mat3x2 in0 = [ mat3x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat3x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425) ]; 8147 output mat3x2 out0 = [ mat3x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat3x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425) ]; 8148 } 8149 8150 both "" 8151 #version 300 es 8152 precision mediump float; 8153 precision mediump int; 8154 8155 ${DECLARATIONS} 8156 8157 void main() 8158 { 8159 ${SETUP} 8160 out0 = mat3x2(in0); 8161 ${OUTPUT} 8162 } 8163 "" 8164 end 8165 8166 case mat3x2_to_mat2x4 8167 version 300 es 8168 values 8169 { 8170 input mat3x2 in0 = [ mat3x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat3x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425) ]; 8171 output mat2x4 out0 = [ mat2x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat2x4(6.5, 32.0, 0.0, 0.0, 12.5, 0.0208333333333, 0.0, 0.0) ]; 8172 } 8173 8174 both "" 8175 #version 300 es 8176 precision mediump float; 8177 precision mediump int; 8178 8179 ${DECLARATIONS} 8180 8181 void main() 8182 { 8183 ${SETUP} 8184 out0 = mat2x4(in0); 8185 ${OUTPUT} 8186 } 8187 "" 8188 end 8189 8190 case mat3x2_to_mat2x3 8191 version 300 es 8192 values 8193 { 8194 input mat3x2 in0 = [ mat3x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat3x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425) ]; 8195 output mat2x3 out0 = [ mat2x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat2x3(6.5, 32.0, 0.0, 12.5, 0.0208333333333, 0.0) ]; 8196 } 8197 8198 both "" 8199 #version 300 es 8200 precision mediump float; 8201 precision mediump int; 8202 8203 ${DECLARATIONS} 8204 8205 void main() 8206 { 8207 ${SETUP} 8208 out0 = mat2x3(in0); 8209 ${OUTPUT} 8210 } 8211 "" 8212 end 8213 8214 case mat3x2_to_mat2 8215 version 300 es 8216 values 8217 { 8218 input mat3x2 in0 = [ mat3x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat3x2(6.5, 32.0, 12.5, 0.0208333333333, -0.75, -8.425) ]; 8219 output mat2 out0 = [ mat2(1.0, 0.0, 0.0, 1.0) | mat2(6.5, 32.0, 12.5, 0.0208333333333) ]; 8220 } 8221 8222 both "" 8223 #version 300 es 8224 precision mediump float; 8225 precision mediump int; 8226 8227 ${DECLARATIONS} 8228 8229 void main() 8230 { 8231 ${SETUP} 8232 out0 = mat2(in0); 8233 ${OUTPUT} 8234 } 8235 "" 8236 end 8237 8238 case mat2x4_to_mat4 8239 version 300 es 8240 values 8241 { 8242 input mat2x4 in0 = [ mat2x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat2x4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5) ]; 8243 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.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0) ]; 8244 } 8245 8246 both "" 8247 #version 300 es 8248 precision mediump float; 8249 precision mediump int; 8250 8251 ${DECLARATIONS} 8252 8253 void main() 8254 { 8255 ${SETUP} 8256 out0 = mat4(in0); 8257 ${OUTPUT} 8258 } 8259 "" 8260 end 8261 8262 case mat2x4_to_mat4x3 8263 version 300 es 8264 values 8265 { 8266 input mat2x4 in0 = [ mat2x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat2x4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5) ]; 8267 output mat4x3 out0 = [ mat4x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) ]; 8268 } 8269 8270 both "" 8271 #version 300 es 8272 precision mediump float; 8273 precision mediump int; 8274 8275 ${DECLARATIONS} 8276 8277 void main() 8278 { 8279 ${SETUP} 8280 out0 = mat4x3(in0); 8281 ${OUTPUT} 8282 } 8283 "" 8284 end 8285 8286 case mat2x4_to_mat4x2 8287 version 300 es 8288 values 8289 { 8290 input mat2x4 in0 = [ mat2x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat2x4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5) ]; 8291 output mat4x2 out0 = [ mat4x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(6.5, 32.0, 12.5, 0.0208333333333, 0.0, 0.0, 0.0, 0.0) ]; 8292 } 8293 8294 both "" 8295 #version 300 es 8296 precision mediump float; 8297 precision mediump int; 8298 8299 ${DECLARATIONS} 8300 8301 void main() 8302 { 8303 ${SETUP} 8304 out0 = mat4x2(in0); 8305 ${OUTPUT} 8306 } 8307 "" 8308 end 8309 8310 case mat2x4_to_mat3x4 8311 version 300 es 8312 values 8313 { 8314 input mat2x4 in0 = [ mat2x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat2x4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5) ]; 8315 output mat3x4 out0 = [ mat3x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5, 0.0, 0.0, 1.0, 0.0) ]; 8316 } 8317 8318 both "" 8319 #version 300 es 8320 precision mediump float; 8321 precision mediump int; 8322 8323 ${DECLARATIONS} 8324 8325 void main() 8326 { 8327 ${SETUP} 8328 out0 = mat3x4(in0); 8329 ${OUTPUT} 8330 } 8331 "" 8332 end 8333 8334 case mat2x4_to_mat3 8335 version 300 es 8336 values 8337 { 8338 input mat2x4 in0 = [ mat2x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat2x4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5) ]; 8339 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.0, 0.0, 1.0) ]; 8340 } 8341 8342 both "" 8343 #version 300 es 8344 precision mediump float; 8345 precision mediump int; 8346 8347 ${DECLARATIONS} 8348 8349 void main() 8350 { 8351 ${SETUP} 8352 out0 = mat3(in0); 8353 ${OUTPUT} 8354 } 8355 "" 8356 end 8357 8358 case mat2x4_to_mat3x2 8359 version 300 es 8360 values 8361 { 8362 input mat2x4 in0 = [ mat2x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat2x4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5) ]; 8363 output mat3x2 out0 = [ mat3x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat3x2(6.5, 32.0, 12.5, 0.0208333333333, 0.0, 0.0) ]; 8364 } 8365 8366 both "" 8367 #version 300 es 8368 precision mediump float; 8369 precision mediump int; 8370 8371 ${DECLARATIONS} 8372 8373 void main() 8374 { 8375 ${SETUP} 8376 out0 = mat3x2(in0); 8377 ${OUTPUT} 8378 } 8379 "" 8380 end 8381 8382 case mat2x4_to_mat2x4 8383 version 300 es 8384 values 8385 { 8386 input mat2x4 in0 = [ mat2x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat2x4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5) ]; 8387 output mat2x4 out0 = [ mat2x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat2x4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5) ]; 8388 } 8389 8390 both "" 8391 #version 300 es 8392 precision mediump float; 8393 precision mediump int; 8394 8395 ${DECLARATIONS} 8396 8397 void main() 8398 { 8399 ${SETUP} 8400 out0 = mat2x4(in0); 8401 ${OUTPUT} 8402 } 8403 "" 8404 end 8405 8406 case mat2x4_to_mat2x3 8407 version 300 es 8408 values 8409 { 8410 input mat2x4 in0 = [ mat2x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat2x4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5) ]; 8411 output mat2x3 out0 = [ mat2x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat2x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625) ]; 8412 } 8413 8414 both "" 8415 #version 300 es 8416 precision mediump float; 8417 precision mediump int; 8418 8419 ${DECLARATIONS} 8420 8421 void main() 8422 { 8423 ${SETUP} 8424 out0 = mat2x3(in0); 8425 ${OUTPUT} 8426 } 8427 "" 8428 end 8429 8430 case mat2x4_to_mat2 8431 version 300 es 8432 values 8433 { 8434 input mat2x4 in0 = [ mat2x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat2x4(6.5, 32.0, 0.125, -6.725, 12.5, 0.0208333333333, 0.0625, -0.5) ]; 8435 output mat2 out0 = [ mat2(1.0, 0.0, 0.0, 1.0) | mat2(6.5, 32.0, 12.5, 0.0208333333333) ]; 8436 } 8437 8438 both "" 8439 #version 300 es 8440 precision mediump float; 8441 precision mediump int; 8442 8443 ${DECLARATIONS} 8444 8445 void main() 8446 { 8447 ${SETUP} 8448 out0 = mat2(in0); 8449 ${OUTPUT} 8450 } 8451 "" 8452 end 8453 8454 case mat2x3_to_mat4 8455 version 300 es 8456 values 8457 { 8458 input mat2x3 in0 = [ mat2x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat2x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625) ]; 8459 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.0208333333333, 0.0625, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0) ]; 8460 } 8461 8462 both "" 8463 #version 300 es 8464 precision mediump float; 8465 precision mediump int; 8466 8467 ${DECLARATIONS} 8468 8469 void main() 8470 { 8471 ${SETUP} 8472 out0 = mat4(in0); 8473 ${OUTPUT} 8474 } 8475 "" 8476 end 8477 8478 case mat2x3_to_mat4x3 8479 version 300 es 8480 values 8481 { 8482 input mat2x3 in0 = [ mat2x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat2x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625) ]; 8483 output mat4x3 out0 = [ mat4x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) ]; 8484 } 8485 8486 both "" 8487 #version 300 es 8488 precision mediump float; 8489 precision mediump int; 8490 8491 ${DECLARATIONS} 8492 8493 void main() 8494 { 8495 ${SETUP} 8496 out0 = mat4x3(in0); 8497 ${OUTPUT} 8498 } 8499 "" 8500 end 8501 8502 case mat2x3_to_mat4x2 8503 version 300 es 8504 values 8505 { 8506 input mat2x3 in0 = [ mat2x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat2x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625) ]; 8507 output mat4x2 out0 = [ mat4x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(6.5, 32.0, 12.5, 0.0208333333333, 0.0, 0.0, 0.0, 0.0) ]; 8508 } 8509 8510 both "" 8511 #version 300 es 8512 precision mediump float; 8513 precision mediump int; 8514 8515 ${DECLARATIONS} 8516 8517 void main() 8518 { 8519 ${SETUP} 8520 out0 = mat4x2(in0); 8521 ${OUTPUT} 8522 } 8523 "" 8524 end 8525 8526 case mat2x3_to_mat3x4 8527 version 300 es 8528 values 8529 { 8530 input mat2x3 in0 = [ mat2x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat2x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625) ]; 8531 output mat3x4 out0 = [ mat3x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(6.5, 32.0, 0.125, 0.0, 12.5, 0.0208333333333, 0.0625, 0.0, 0.0, 0.0, 1.0, 0.0) ]; 8532 } 8533 8534 both "" 8535 #version 300 es 8536 precision mediump float; 8537 precision mediump int; 8538 8539 ${DECLARATIONS} 8540 8541 void main() 8542 { 8543 ${SETUP} 8544 out0 = mat3x4(in0); 8545 ${OUTPUT} 8546 } 8547 "" 8548 end 8549 8550 case mat2x3_to_mat3 8551 version 300 es 8552 values 8553 { 8554 input mat2x3 in0 = [ mat2x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat2x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625) ]; 8555 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.0, 0.0, 1.0) ]; 8556 } 8557 8558 both "" 8559 #version 300 es 8560 precision mediump float; 8561 precision mediump int; 8562 8563 ${DECLARATIONS} 8564 8565 void main() 8566 { 8567 ${SETUP} 8568 out0 = mat3(in0); 8569 ${OUTPUT} 8570 } 8571 "" 8572 end 8573 8574 case mat2x3_to_mat3x2 8575 version 300 es 8576 values 8577 { 8578 input mat2x3 in0 = [ mat2x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat2x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625) ]; 8579 output mat3x2 out0 = [ mat3x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat3x2(6.5, 32.0, 12.5, 0.0208333333333, 0.0, 0.0) ]; 8580 } 8581 8582 both "" 8583 #version 300 es 8584 precision mediump float; 8585 precision mediump int; 8586 8587 ${DECLARATIONS} 8588 8589 void main() 8590 { 8591 ${SETUP} 8592 out0 = mat3x2(in0); 8593 ${OUTPUT} 8594 } 8595 "" 8596 end 8597 8598 case mat2x3_to_mat2x4 8599 version 300 es 8600 values 8601 { 8602 input mat2x3 in0 = [ mat2x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat2x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625) ]; 8603 output mat2x4 out0 = [ mat2x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat2x4(6.5, 32.0, 0.125, 0.0, 12.5, 0.0208333333333, 0.0625, 0.0) ]; 8604 } 8605 8606 both "" 8607 #version 300 es 8608 precision mediump float; 8609 precision mediump int; 8610 8611 ${DECLARATIONS} 8612 8613 void main() 8614 { 8615 ${SETUP} 8616 out0 = mat2x4(in0); 8617 ${OUTPUT} 8618 } 8619 "" 8620 end 8621 8622 case mat2x3_to_mat2x3 8623 version 300 es 8624 values 8625 { 8626 input mat2x3 in0 = [ mat2x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat2x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625) ]; 8627 output mat2x3 out0 = [ mat2x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat2x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625) ]; 8628 } 8629 8630 both "" 8631 #version 300 es 8632 precision mediump float; 8633 precision mediump int; 8634 8635 ${DECLARATIONS} 8636 8637 void main() 8638 { 8639 ${SETUP} 8640 out0 = mat2x3(in0); 8641 ${OUTPUT} 8642 } 8643 "" 8644 end 8645 8646 case mat2x3_to_mat2 8647 version 300 es 8648 values 8649 { 8650 input mat2x3 in0 = [ mat2x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat2x3(6.5, 32.0, 0.125, 12.5, 0.0208333333333, 0.0625) ]; 8651 output mat2 out0 = [ mat2(1.0, 0.0, 0.0, 1.0) | mat2(6.5, 32.0, 12.5, 0.0208333333333) ]; 8652 } 8653 8654 both "" 8655 #version 300 es 8656 precision mediump float; 8657 precision mediump int; 8658 8659 ${DECLARATIONS} 8660 8661 void main() 8662 { 8663 ${SETUP} 8664 out0 = mat2(in0); 8665 ${OUTPUT} 8666 } 8667 "" 8668 end 8669 8670 case mat2_to_mat4 8671 version 300 es 8672 values 8673 { 8674 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) ]; 8675 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) ]; 8676 } 8677 8678 both "" 8679 #version 300 es 8680 precision mediump float; 8681 precision mediump int; 8682 8683 ${DECLARATIONS} 8684 8685 void main() 8686 { 8687 ${SETUP} 8688 out0 = mat4(in0); 8689 ${OUTPUT} 8690 } 8691 "" 8692 end 8693 8694 case mat2_to_mat4x3 8695 version 300 es 8696 values 8697 { 8698 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) ]; 8699 output mat4x3 out0 = [ mat4x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(6.5, -0.75, 0.0, 12.5, 9.975, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(6.5, -0.75, 0.0, 12.5, 9.975, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(8.0, -24.0, 0.0, 16.0, -16.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(0.125, 0.03125, 0.0, 0.0625, 0.015625, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat4x3(-18.725, -0.0125, 0.0, -0.5, 19.975, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) ]; 8700 } 8701 8702 both "" 8703 #version 300 es 8704 precision mediump float; 8705 precision mediump int; 8706 8707 ${DECLARATIONS} 8708 8709 void main() 8710 { 8711 ${SETUP} 8712 out0 = mat4x3(in0); 8713 ${OUTPUT} 8714 } 8715 "" 8716 end 8717 8718 case mat2_to_mat4x2 8719 version 300 es 8720 values 8721 { 8722 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) ]; 8723 output mat4x2 out0 = [ mat4x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(6.5, -0.75, 12.5, 9.975, 0.0, 0.0, 0.0, 0.0) | mat4x2(6.5, -0.75, 12.5, 9.975, 0.0, 0.0, 0.0, 0.0) | mat4x2(8.0, -24.0, 16.0, -16.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(0.125, 0.03125, 0.0625, 0.015625, 0.0, 0.0, 0.0, 0.0) | mat4x2(-18.725, -0.0125, -0.5, 19.975, 0.0, 0.0, 0.0, 0.0) ]; 8724 } 8725 8726 both "" 8727 #version 300 es 8728 precision mediump float; 8729 precision mediump int; 8730 8731 ${DECLARATIONS} 8732 8733 void main() 8734 { 8735 ${SETUP} 8736 out0 = mat4x2(in0); 8737 ${OUTPUT} 8738 } 8739 "" 8740 end 8741 8742 case mat2_to_mat3x4 8743 version 300 es 8744 values 8745 { 8746 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) ]; 8747 output mat3x4 out0 = [ mat3x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(6.5, -0.75, 0.0, 0.0, 12.5, 9.975, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(6.5, -0.75, 0.0, 0.0, 12.5, 9.975, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(8.0, -24.0, 0.0, 0.0, 16.0, -16.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(0.125, 0.03125, 0.0, 0.0, 0.0625, 0.015625, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(-18.725, -0.0125, 0.0, 0.0, -0.5, 19.975, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0) ]; 8748 } 8749 8750 both "" 8751 #version 300 es 8752 precision mediump float; 8753 precision mediump int; 8754 8755 ${DECLARATIONS} 8756 8757 void main() 8758 { 8759 ${SETUP} 8760 out0 = mat3x4(in0); 8761 ${OUTPUT} 8762 } 8763 "" 8764 end 8765 8766 case mat2_to_mat3 8767 version 300 es 8768 values 8769 { 8770 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) ]; 8771 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) ]; 8772 } 8773 8774 both "" 8775 #version 300 es 8776 precision mediump float; 8777 precision mediump int; 8778 8779 ${DECLARATIONS} 8780 8781 void main() 8782 { 8783 ${SETUP} 8784 out0 = mat3(in0); 8785 ${OUTPUT} 8786 } 8787 "" 8788 end 8789 8790 case mat2_to_mat3x2 8791 version 300 es 8792 values 8793 { 8794 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) ]; 8795 output mat3x2 out0 = [ mat3x2(1.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat3x2(6.5, -0.75, 12.5, 9.975, 0.0, 0.0) | mat3x2(6.5, -0.75, 12.5, 9.975, 0.0, 0.0) | mat3x2(8.0, -24.0, 16.0, -16.0, 0.0, 0.0) | mat3x2(0.125, 0.03125, 0.0625, 0.015625, 0.0, 0.0) | mat3x2(-18.725, -0.0125, -0.5, 19.975, 0.0, 0.0) ]; 8796 } 8797 8798 both "" 8799 #version 300 es 8800 precision mediump float; 8801 precision mediump int; 8802 8803 ${DECLARATIONS} 8804 8805 void main() 8806 { 8807 ${SETUP} 8808 out0 = mat3x2(in0); 8809 ${OUTPUT} 8810 } 8811 "" 8812 end 8813 8814 case mat2_to_mat2x4 8815 version 300 es 8816 values 8817 { 8818 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) ]; 8819 output mat2x4 out0 = [ mat2x4(1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0) | mat2x4(6.5, -0.75, 0.0, 0.0, 12.5, 9.975, 0.0, 0.0) | mat2x4(6.5, -0.75, 0.0, 0.0, 12.5, 9.975, 0.0, 0.0) | mat2x4(8.0, -24.0, 0.0, 0.0, 16.0, -16.0, 0.0, 0.0) | mat2x4(0.125, 0.03125, 0.0, 0.0, 0.0625, 0.015625, 0.0, 0.0) | mat2x4(-18.725, -0.0125, 0.0, 0.0, -0.5, 19.975, 0.0, 0.0) ]; 8820 } 8821 8822 both "" 8823 #version 300 es 8824 precision mediump float; 8825 precision mediump int; 8826 8827 ${DECLARATIONS} 8828 8829 void main() 8830 { 8831 ${SETUP} 8832 out0 = mat2x4(in0); 8833 ${OUTPUT} 8834 } 8835 "" 8836 end 8837 8838 case mat2_to_mat2x3 8839 version 300 es 8840 values 8841 { 8842 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) ]; 8843 output mat2x3 out0 = [ mat2x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat2x3(6.5, -0.75, 0.0, 12.5, 9.975, 0.0) | mat2x3(6.5, -0.75, 0.0, 12.5, 9.975, 0.0) | mat2x3(8.0, -24.0, 0.0, 16.0, -16.0, 0.0) | mat2x3(0.125, 0.03125, 0.0, 0.0625, 0.015625, 0.0) | mat2x3(-18.725, -0.0125, 0.0, -0.5, 19.975, 0.0) ]; 8844 } 8845 8846 both "" 8847 #version 300 es 8848 precision mediump float; 8849 precision mediump int; 8850 8851 ${DECLARATIONS} 8852 8853 void main() 8854 { 8855 ${SETUP} 8856 out0 = mat2x3(in0); 8857 ${OUTPUT} 8858 } 8859 "" 8860 end 8861 8862 case mat2_to_mat2 8863 version 300 es 8864 values 8865 { 8866 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) ]; 8867 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) ]; 8868 } 8869 8870 both "" 8871 #version 300 es 8872 precision mediump float; 8873 precision mediump int; 8874 8875 ${DECLARATIONS} 8876 8877 void main() 8878 { 8879 ${SETUP} 8880 out0 = mat2(in0); 8881 ${OUTPUT} 8882 } 8883 "" 8884 end 8885 8886 8887 end # matrix_to_matrix 8888 group vector_combine "Vector Combine Constructors" 8889 8890 case vec2_vec2_to_vec4 8891 version 300 es 8892 values 8893 { 8894 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) ]; 8895 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) ]; 8896 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) ]; 8897 } 8898 8899 both "" 8900 #version 300 es 8901 precision mediump float; 8902 precision mediump int; 8903 8904 ${DECLARATIONS} 8905 8906 void main() 8907 { 8908 ${SETUP} 8909 out0 = vec4(in0, in1); 8910 ${OUTPUT} 8911 } 8912 "" 8913 end 8914 8915 case vec2_vec2_to_ivec4 8916 version 300 es 8917 values 8918 { 8919 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) ]; 8920 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) ]; 8921 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) ]; 8922 } 8923 8924 both "" 8925 #version 300 es 8926 precision mediump float; 8927 precision mediump int; 8928 8929 ${DECLARATIONS} 8930 8931 void main() 8932 { 8933 ${SETUP} 8934 out0 = ivec4(in0, in1); 8935 ${OUTPUT} 8936 } 8937 "" 8938 end 8939 8940 case vec2_vec2_to_bvec4 8941 version 300 es 8942 values 8943 { 8944 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) ]; 8945 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) ]; 8946 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) ]; 8947 } 8948 8949 both "" 8950 #version 300 es 8951 precision mediump float; 8952 precision mediump int; 8953 8954 ${DECLARATIONS} 8955 8956 void main() 8957 { 8958 ${SETUP} 8959 out0 = bvec4(in0, in1); 8960 ${OUTPUT} 8961 } 8962 "" 8963 end 8964 8965 case bvec2_bvec2_to_vec4 8966 version 300 es 8967 values 8968 { 8969 input bvec2 in0 = [ bvec2(false, false) | bvec2(true, false) | bvec2(false, true) | bvec2(false, false) | bvec2(true, true) ]; 8970 input bvec2 in1 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 8971 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) ]; 8972 } 8973 8974 both "" 8975 #version 300 es 8976 precision mediump float; 8977 precision mediump int; 8978 8979 ${DECLARATIONS} 8980 8981 void main() 8982 { 8983 ${SETUP} 8984 out0 = vec4(in0, in1); 8985 ${OUTPUT} 8986 } 8987 "" 8988 end 8989 8990 case bvec2_bvec2_to_ivec4 8991 version 300 es 8992 values 8993 { 8994 input bvec2 in0 = [ bvec2(false, false) | bvec2(true, false) | bvec2(false, true) | bvec2(false, false) | bvec2(true, true) ]; 8995 input bvec2 in1 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 8996 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) ]; 8997 } 8998 8999 both "" 9000 #version 300 es 9001 precision mediump float; 9002 precision mediump int; 9003 9004 ${DECLARATIONS} 9005 9006 void main() 9007 { 9008 ${SETUP} 9009 out0 = ivec4(in0, in1); 9010 ${OUTPUT} 9011 } 9012 "" 9013 end 9014 9015 case bvec2_bvec2_to_bvec4 9016 version 300 es 9017 values 9018 { 9019 input bvec2 in0 = [ bvec2(false, false) | bvec2(true, false) | bvec2(false, true) | bvec2(false, false) | bvec2(true, true) ]; 9020 input bvec2 in1 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) ]; 9021 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) ]; 9022 } 9023 9024 both "" 9025 #version 300 es 9026 precision mediump float; 9027 precision mediump int; 9028 9029 ${DECLARATIONS} 9030 9031 void main() 9032 { 9033 ${SETUP} 9034 out0 = bvec4(in0, in1); 9035 ${OUTPUT} 9036 } 9037 "" 9038 end 9039 9040 case float_float_float_float_to_vec4 9041 version 300 es 9042 values 9043 { 9044 input float in0 = [ 1.0 | 0.0 | -0.5 | -8.25 | 3.5 | -20.125 | 36.8125 | 2.0 ]; 9045 input float in1 = [ 0.0 | 36.8125 | -8.25 | 2.0 | 3.5 | 1.0 | -20.125 | -0.5 ]; 9046 input float in2 = [ 3.5 | 36.8125 | -8.25 | 1.0 | 2.0 | 0.0 | -20.125 | -0.5 ]; 9047 input float in3 = [ 3.5 | 36.8125 | 1.0 | -8.25 | 2.0 | 0.0 | -0.5 | -20.125 ]; 9048 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) ]; 9049 } 9050 9051 both "" 9052 #version 300 es 9053 precision mediump float; 9054 precision mediump int; 9055 9056 ${DECLARATIONS} 9057 9058 void main() 9059 { 9060 ${SETUP} 9061 out0 = vec4(in0, in1, in2, in3); 9062 ${OUTPUT} 9063 } 9064 "" 9065 end 9066 9067 case float_float_float_float_to_ivec4 9068 version 300 es 9069 values 9070 { 9071 input float in0 = [ 1.0 | 0.0 | -0.5 | -8.25 | 3.5 | -20.125 | 36.8125 | 2.0 ]; 9072 input float in1 = [ 0.0 | 36.8125 | -8.25 | 2.0 | 3.5 | 1.0 | -20.125 | -0.5 ]; 9073 input float in2 = [ 3.5 | 36.8125 | -8.25 | 1.0 | 2.0 | 0.0 | -20.125 | -0.5 ]; 9074 input float in3 = [ 3.5 | 36.8125 | 1.0 | -8.25 | 2.0 | 0.0 | -0.5 | -20.125 ]; 9075 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) ]; 9076 } 9077 9078 both "" 9079 #version 300 es 9080 precision mediump float; 9081 precision mediump int; 9082 9083 ${DECLARATIONS} 9084 9085 void main() 9086 { 9087 ${SETUP} 9088 out0 = ivec4(in0, in1, in2, in3); 9089 ${OUTPUT} 9090 } 9091 "" 9092 end 9093 9094 case float_float_float_float_to_bvec4 9095 version 300 es 9096 values 9097 { 9098 input float in0 = [ 1.0 | 0.0 | -0.5 | -8.25 | 3.5 | -20.125 | 36.8125 | 2.0 ]; 9099 input float in1 = [ 0.0 | 36.8125 | -8.25 | 2.0 | 3.5 | 1.0 | -20.125 | -0.5 ]; 9100 input float in2 = [ 3.5 | 36.8125 | -8.25 | 1.0 | 2.0 | 0.0 | -20.125 | -0.5 ]; 9101 input float in3 = [ 3.5 | 36.8125 | 1.0 | -8.25 | 2.0 | 0.0 | -0.5 | -20.125 ]; 9102 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) ]; 9103 } 9104 9105 both "" 9106 #version 300 es 9107 precision mediump float; 9108 precision mediump int; 9109 9110 ${DECLARATIONS} 9111 9112 void main() 9113 { 9114 ${SETUP} 9115 out0 = bvec4(in0, in1, in2, in3); 9116 ${OUTPUT} 9117 } 9118 "" 9119 end 9120 9121 case int_int_int_int_to_vec4 9122 version 300 es 9123 values 9124 { 9125 input int in0 = [ -12 | -66 | 2 | 5 | 8 | -192 | 255 | 1 | 0 | 11 ]; 9126 input int in1 = [ 2 | 5 | -66 | 11 | -192 | 8 | -12 | 1 | 255 | 0 ]; 9127 input int in2 = [ 11 | 255 | 5 | 8 | 2 | -192 | -12 | -66 | 1 | 0 ]; 9128 input int in3 = [ -192 | -66 | 8 | -12 | 1 | 2 | 0 | 255 | 5 | 11 ]; 9129 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) ]; 9130 } 9131 9132 both "" 9133 #version 300 es 9134 precision mediump float; 9135 precision mediump int; 9136 9137 ${DECLARATIONS} 9138 9139 void main() 9140 { 9141 ${SETUP} 9142 out0 = vec4(in0, in1, in2, in3); 9143 ${OUTPUT} 9144 } 9145 "" 9146 end 9147 9148 case int_int_int_int_to_ivec4 9149 version 300 es 9150 values 9151 { 9152 input int in0 = [ -12 | -66 | 2 | 5 | 8 | -192 | 255 | 1 | 0 | 11 ]; 9153 input int in1 = [ 2 | 5 | -66 | 11 | -192 | 8 | -12 | 1 | 255 | 0 ]; 9154 input int in2 = [ 11 | 255 | 5 | 8 | 2 | -192 | -12 | -66 | 1 | 0 ]; 9155 input int in3 = [ -192 | -66 | 8 | -12 | 1 | 2 | 0 | 255 | 5 | 11 ]; 9156 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) ]; 9157 } 9158 9159 both "" 9160 #version 300 es 9161 precision mediump float; 9162 precision mediump int; 9163 9164 ${DECLARATIONS} 9165 9166 void main() 9167 { 9168 ${SETUP} 9169 out0 = ivec4(in0, in1, in2, in3); 9170 ${OUTPUT} 9171 } 9172 "" 9173 end 9174 9175 case int_int_int_int_to_bvec4 9176 version 300 es 9177 values 9178 { 9179 input int in0 = [ -12 | -66 | 2 | 5 | 8 | -192 | 255 | 1 | 0 | 11 ]; 9180 input int in1 = [ 2 | 5 | -66 | 11 | -192 | 8 | -12 | 1 | 255 | 0 ]; 9181 input int in2 = [ 11 | 255 | 5 | 8 | 2 | -192 | -12 | -66 | 1 | 0 ]; 9182 input int in3 = [ -192 | -66 | 8 | -12 | 1 | 2 | 0 | 255 | 5 | 11 ]; 9183 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) ]; 9184 } 9185 9186 both "" 9187 #version 300 es 9188 precision mediump float; 9189 precision mediump int; 9190 9191 ${DECLARATIONS} 9192 9193 void main() 9194 { 9195 ${SETUP} 9196 out0 = bvec4(in0, in1, in2, in3); 9197 ${OUTPUT} 9198 } 9199 "" 9200 end 9201 9202 case uint_uint_uint_uint_to_vec4 9203 version 300 es 9204 values 9205 { 9206 input uint in0 = [ 193 | 3 | 255 | 8 | 10 | 9 | 2 | 12 | 0 | 45 ]; 9207 input uint in1 = [ 12 | 45 | 193 | 2 | 8 | 255 | 0 | 3 | 9 | 10 ]; 9208 input uint in2 = [ 9 | 8 | 12 | 2 | 255 | 45 | 3 | 0 | 193 | 10 ]; 9209 input uint in3 = [ 3 | 9 | 12 | 2 | 255 | 193 | 0 | 10 | 45 | 8 ]; 9210 output vec4 out0 = [ vec4(193.0, 12.0, 9.0, 3.0) | vec4(3.0, 45.0, 8.0, 9.0) | vec4(255.0, 193.0, 12.0, 12.0) | vec4(8.0, 2.0, 2.0, 2.0) | vec4(10.0, 8.0, 255.0, 255.0) | vec4(9.0, 255.0, 45.0, 193.0) | vec4(2.0, 0.0, 3.0, 0.0) | vec4(12.0, 3.0, 0.0, 10.0) | vec4(0.0, 9.0, 193.0, 45.0) | vec4(45.0, 10.0, 10.0, 8.0) ]; 9211 } 9212 9213 both "" 9214 #version 300 es 9215 precision mediump float; 9216 precision mediump int; 9217 9218 ${DECLARATIONS} 9219 9220 void main() 9221 { 9222 ${SETUP} 9223 out0 = vec4(in0, in1, in2, in3); 9224 ${OUTPUT} 9225 } 9226 "" 9227 end 9228 9229 case uint_uint_uint_uint_to_ivec4 9230 version 300 es 9231 values 9232 { 9233 input uint in0 = [ 193 | 3 | 255 | 8 | 10 | 9 | 2 | 12 | 0 | 45 ]; 9234 input uint in1 = [ 12 | 45 | 193 | 2 | 8 | 255 | 0 | 3 | 9 | 10 ]; 9235 input uint in2 = [ 9 | 8 | 12 | 2 | 255 | 45 | 3 | 0 | 193 | 10 ]; 9236 input uint in3 = [ 3 | 9 | 12 | 2 | 255 | 193 | 0 | 10 | 45 | 8 ]; 9237 output ivec4 out0 = [ ivec4(193, 12, 9, 3) | ivec4(3, 45, 8, 9) | ivec4(255, 193, 12, 12) | ivec4(8, 2, 2, 2) | ivec4(10, 8, 255, 255) | ivec4(9, 255, 45, 193) | ivec4(2, 0, 3, 0) | ivec4(12, 3, 0, 10) | ivec4(0, 9, 193, 45) | ivec4(45, 10, 10, 8) ]; 9238 } 9239 9240 both "" 9241 #version 300 es 9242 precision mediump float; 9243 precision mediump int; 9244 9245 ${DECLARATIONS} 9246 9247 void main() 9248 { 9249 ${SETUP} 9250 out0 = ivec4(in0, in1, in2, in3); 9251 ${OUTPUT} 9252 } 9253 "" 9254 end 9255 9256 case uint_uint_uint_uint_to_bvec4 9257 version 300 es 9258 values 9259 { 9260 input uint in0 = [ 193 | 3 | 255 | 8 | 10 | 9 | 2 | 12 | 0 | 45 ]; 9261 input uint in1 = [ 12 | 45 | 193 | 2 | 8 | 255 | 0 | 3 | 9 | 10 ]; 9262 input uint in2 = [ 9 | 8 | 12 | 2 | 255 | 45 | 3 | 0 | 193 | 10 ]; 9263 input uint in3 = [ 3 | 9 | 12 | 2 | 255 | 193 | 0 | 10 | 45 | 8 ]; 9264 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, false, true, false) | bvec4(true, true, false, true) | bvec4(false, true, true, true) | bvec4(true, true, true, true) ]; 9265 } 9266 9267 both "" 9268 #version 300 es 9269 precision mediump float; 9270 precision mediump int; 9271 9272 ${DECLARATIONS} 9273 9274 void main() 9275 { 9276 ${SETUP} 9277 out0 = bvec4(in0, in1, in2, in3); 9278 ${OUTPUT} 9279 } 9280 "" 9281 end 9282 9283 case bool_bool_bool_bool_to_vec4 9284 version 300 es 9285 values 9286 { 9287 input bool in0 = [ true | false ]; 9288 input bool in1 = [ true | false ]; 9289 input bool in2 = [ false | true ]; 9290 input bool in3 = [ false | true ]; 9291 output vec4 out0 = [ vec4(1.0, 1.0, 0.0, 0.0) | vec4(0.0, 0.0, 1.0, 1.0) ]; 9292 } 9293 9294 both "" 9295 #version 300 es 9296 precision mediump float; 9297 precision mediump int; 9298 9299 ${DECLARATIONS} 9300 9301 void main() 9302 { 9303 ${SETUP} 9304 out0 = vec4(in0, in1, in2, in3); 9305 ${OUTPUT} 9306 } 9307 "" 9308 end 9309 9310 case bool_bool_bool_bool_to_ivec4 9311 version 300 es 9312 values 9313 { 9314 input bool in0 = [ true | false ]; 9315 input bool in1 = [ true | false ]; 9316 input bool in2 = [ false | true ]; 9317 input bool in3 = [ false | true ]; 9318 output ivec4 out0 = [ ivec4(1, 1, 0, 0) | ivec4(0, 0, 1, 1) ]; 9319 } 9320 9321 both "" 9322 #version 300 es 9323 precision mediump float; 9324 precision mediump int; 9325 9326 ${DECLARATIONS} 9327 9328 void main() 9329 { 9330 ${SETUP} 9331 out0 = ivec4(in0, in1, in2, in3); 9332 ${OUTPUT} 9333 } 9334 "" 9335 end 9336 9337 case bool_bool_bool_bool_to_bvec4 9338 version 300 es 9339 values 9340 { 9341 input bool in0 = [ true | false ]; 9342 input bool in1 = [ true | false ]; 9343 input bool in2 = [ false | true ]; 9344 input bool in3 = [ false | true ]; 9345 output bvec4 out0 = [ bvec4(true, true, false, false) | bvec4(false, false, true, true) ]; 9346 } 9347 9348 both "" 9349 #version 300 es 9350 precision mediump float; 9351 precision mediump int; 9352 9353 ${DECLARATIONS} 9354 9355 void main() 9356 { 9357 ${SETUP} 9358 out0 = bvec4(in0, in1, in2, in3); 9359 ${OUTPUT} 9360 } 9361 "" 9362 end 9363 9364 case bool_float_int_bool_to_vec4 9365 version 300 es 9366 values 9367 { 9368 input bool in0 = [ true | true | false | false | false | true | false | false | true | true ]; 9369 input float in1 = [ 36.8125 | 0.0 | -8.25 | 1.0 | -0.5 | 0.0 | 2.0 | -20.125 | 3.5 | 1.0 ]; 9370 input int in2 = [ -66 | 2 | 255 | 11 | 1 | 8 | -192 | -12 | 0 | 5 ]; 9371 input bool in3 = [ true | true | false | false | true | true | false | true | false | false ]; 9372 output vec4 out0 = [ vec4(1.0, 36.8125, -66.0, 1.0) | vec4(1.0, 0.0, 2.0, 1.0) | vec4(0.0, -8.25, 255.0, 0.0) | vec4(0.0, 1.0, 11.0, 0.0) | vec4(0.0, -0.5, 1.0, 1.0) | vec4(1.0, 0.0, 8.0, 1.0) | vec4(0.0, 2.0, -192.0, 0.0) | vec4(0.0, -20.125, -12.0, 1.0) | vec4(1.0, 3.5, 0.0, 0.0) | vec4(1.0, 1.0, 5.0, 0.0) ]; 9373 } 9374 9375 both "" 9376 #version 300 es 9377 precision mediump float; 9378 precision mediump int; 9379 9380 ${DECLARATIONS} 9381 9382 void main() 9383 { 9384 ${SETUP} 9385 out0 = vec4(in0, in1, in2, in3); 9386 ${OUTPUT} 9387 } 9388 "" 9389 end 9390 9391 case bool_float_int_bool_to_ivec4 9392 version 300 es 9393 values 9394 { 9395 input bool in0 = [ true | true | false | false | false | true | false | false | true | true ]; 9396 input float in1 = [ 36.8125 | 0.0 | -8.25 | 1.0 | -0.5 | 0.0 | 2.0 | -20.125 | 3.5 | 1.0 ]; 9397 input int in2 = [ -66 | 2 | 255 | 11 | 1 | 8 | -192 | -12 | 0 | 5 ]; 9398 input bool in3 = [ true | true | false | false | true | true | false | true | false | false ]; 9399 output ivec4 out0 = [ ivec4(1, 36, -66, 1) | ivec4(1, 0, 2, 1) | ivec4(0, -8, 255, 0) | ivec4(0, 1, 11, 0) | ivec4(0, 0, 1, 1) | ivec4(1, 0, 8, 1) | ivec4(0, 2, -192, 0) | ivec4(0, -20, -12, 1) | ivec4(1, 3, 0, 0) | ivec4(1, 1, 5, 0) ]; 9400 } 9401 9402 both "" 9403 #version 300 es 9404 precision mediump float; 9405 precision mediump int; 9406 9407 ${DECLARATIONS} 9408 9409 void main() 9410 { 9411 ${SETUP} 9412 out0 = ivec4(in0, in1, in2, in3); 9413 ${OUTPUT} 9414 } 9415 "" 9416 end 9417 9418 case bool_float_int_bool_to_bvec4 9419 version 300 es 9420 values 9421 { 9422 input bool in0 = [ true | true | false | false | false | true | false | false | true | true ]; 9423 input float in1 = [ 36.8125 | 0.0 | -8.25 | 1.0 | -0.5 | 0.0 | 2.0 | -20.125 | 3.5 | 1.0 ]; 9424 input int in2 = [ -66 | 2 | 255 | 11 | 1 | 8 | -192 | -12 | 0 | 5 ]; 9425 input bool in3 = [ true | true | false | false | true | true | false | true | false | false ]; 9426 output bvec4 out0 = [ bvec4(true, true, true, true) | bvec4(true, false, true, true) | bvec4(false, true, true, false) | bvec4(false, true, true, false) | bvec4(false, true, true, true) | bvec4(true, false, true, true) | bvec4(false, true, true, false) | bvec4(false, true, true, true) | bvec4(true, true, false, false) | bvec4(true, true, true, false) ]; 9427 } 9428 9429 both "" 9430 #version 300 es 9431 precision mediump float; 9432 precision mediump int; 9433 9434 ${DECLARATIONS} 9435 9436 void main() 9437 { 9438 ${SETUP} 9439 out0 = bvec4(in0, in1, in2, in3); 9440 ${OUTPUT} 9441 } 9442 "" 9443 end 9444 9445 case vec2_ivec2_to_vec4 9446 version 300 es 9447 values 9448 { 9449 input vec2 in0 = [ vec2(0.0, 0.5) | vec2(-0.75, -0.0322580645161) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(1.0, 1.25) ]; 9450 input ivec2 in1 = [ ivec2(0, 0) | ivec2(0, -2) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(1, 1) ]; 9451 output vec4 out0 = [ vec4(0.0, 0.5, 0.0, 0.0) | vec4(-0.75, -0.0322580645161, 0.0, -2.0) | vec4(-0.5, -2.25, 0.0, 0.0) | vec4(-32.0, 64.0, -32.0, 64.0) | vec4(1.0, 1.25, 1.0, 1.0) ]; 9452 } 9453 9454 both "" 9455 #version 300 es 9456 precision mediump float; 9457 precision mediump int; 9458 9459 ${DECLARATIONS} 9460 9461 void main() 9462 { 9463 ${SETUP} 9464 out0 = vec4(in0, in1); 9465 ${OUTPUT} 9466 } 9467 "" 9468 end 9469 9470 case vec2_ivec2_to_ivec4 9471 version 300 es 9472 values 9473 { 9474 input vec2 in0 = [ vec2(0.0, 0.5) | vec2(-0.75, -0.0322580645161) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(1.0, 1.25) ]; 9475 input ivec2 in1 = [ ivec2(0, 0) | ivec2(0, -2) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(1, 1) ]; 9476 output ivec4 out0 = [ ivec4(0, 0, 0, 0) | ivec4(0, 0, 0, -2) | ivec4(0, -2, 0, 0) | ivec4(-32, 64, -32, 64) | ivec4(1, 1, 1, 1) ]; 9477 } 9478 9479 both "" 9480 #version 300 es 9481 precision mediump float; 9482 precision mediump int; 9483 9484 ${DECLARATIONS} 9485 9486 void main() 9487 { 9488 ${SETUP} 9489 out0 = ivec4(in0, in1); 9490 ${OUTPUT} 9491 } 9492 "" 9493 end 9494 9495 case vec2_ivec2_to_bvec4 9496 version 300 es 9497 values 9498 { 9499 input vec2 in0 = [ vec2(0.0, 0.5) | vec2(-0.75, -0.0322580645161) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(1.0, 1.25) ]; 9500 input ivec2 in1 = [ ivec2(0, 0) | ivec2(0, -2) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(1, 1) ]; 9501 output bvec4 out0 = [ bvec4(false, true, false, false) | bvec4(true, true, false, true) | bvec4(true, true, false, false) | bvec4(true, true, true, true) | bvec4(true, true, true, true) ]; 9502 } 9503 9504 both "" 9505 #version 300 es 9506 precision mediump float; 9507 precision mediump int; 9508 9509 ${DECLARATIONS} 9510 9511 void main() 9512 { 9513 ${SETUP} 9514 out0 = bvec4(in0, in1); 9515 ${OUTPUT} 9516 } 9517 "" 9518 end 9519 9520 case vec2_bvec2_to_vec4 9521 version 300 es 9522 values 9523 { 9524 input vec2 in0 = [ vec2(-0.75, -0.0322580645161) | vec2(-32.0, 64.0) | vec2(1.0, 1.25) | vec2(0.0, 0.5) | vec2(-0.5, -2.25) ]; 9525 input bvec2 in1 = [ bvec2(false, true) | bvec2(false, false) | bvec2(false, false) | bvec2(true, true) | bvec2(true, false) ]; 9526 output vec4 out0 = [ vec4(-0.75, -0.0322580645161, 0.0, 1.0) | vec4(-32.0, 64.0, 0.0, 0.0) | vec4(1.0, 1.25, 0.0, 0.0) | vec4(0.0, 0.5, 1.0, 1.0) | vec4(-0.5, -2.25, 1.0, 0.0) ]; 9527 } 9528 9529 both "" 9530 #version 300 es 9531 precision mediump float; 9532 precision mediump int; 9533 9534 ${DECLARATIONS} 9535 9536 void main() 9537 { 9538 ${SETUP} 9539 out0 = vec4(in0, in1); 9540 ${OUTPUT} 9541 } 9542 "" 9543 end 9544 9545 case vec2_bvec2_to_ivec4 9546 version 300 es 9547 values 9548 { 9549 input vec2 in0 = [ vec2(-0.75, -0.0322580645161) | vec2(-32.0, 64.0) | vec2(1.0, 1.25) | vec2(0.0, 0.5) | vec2(-0.5, -2.25) ]; 9550 input bvec2 in1 = [ bvec2(false, true) | bvec2(false, false) | bvec2(false, false) | bvec2(true, true) | bvec2(true, false) ]; 9551 output ivec4 out0 = [ ivec4(0, 0, 0, 1) | ivec4(-32, 64, 0, 0) | ivec4(1, 1, 0, 0) | ivec4(0, 0, 1, 1) | ivec4(0, -2, 1, 0) ]; 9552 } 9553 9554 both "" 9555 #version 300 es 9556 precision mediump float; 9557 precision mediump int; 9558 9559 ${DECLARATIONS} 9560 9561 void main() 9562 { 9563 ${SETUP} 9564 out0 = ivec4(in0, in1); 9565 ${OUTPUT} 9566 } 9567 "" 9568 end 9569 9570 case vec2_bvec2_to_bvec4 9571 version 300 es 9572 values 9573 { 9574 input vec2 in0 = [ vec2(-0.75, -0.0322580645161) | vec2(-32.0, 64.0) | vec2(1.0, 1.25) | vec2(0.0, 0.5) | vec2(-0.5, -2.25) ]; 9575 input bvec2 in1 = [ bvec2(false, true) | bvec2(false, false) | bvec2(false, false) | bvec2(true, true) | bvec2(true, false) ]; 9576 output bvec4 out0 = [ bvec4(true, true, false, true) | bvec4(true, true, false, false) | bvec4(true, true, false, false) | bvec4(false, true, true, true) | bvec4(true, true, true, false) ]; 9577 } 9578 9579 both "" 9580 #version 300 es 9581 precision mediump float; 9582 precision mediump int; 9583 9584 ${DECLARATIONS} 9585 9586 void main() 9587 { 9588 ${SETUP} 9589 out0 = bvec4(in0, in1); 9590 ${OUTPUT} 9591 } 9592 "" 9593 end 9594 9595 case bvec3_float_to_vec4 9596 version 300 es 9597 values 9598 { 9599 input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(true, false, false) | bvec3(false, true, false) ]; 9600 input float in1 = [ -0.5 | 3.5 | 2.0 | 0.0 | -8.25 | 1.0 | 36.8125 | -20.125 ]; 9601 output vec4 out0 = [ vec4(1.0, 0.0, 0.0, -0.5) | vec4(0.0, 0.0, 0.0, 3.5) | vec4(0.0, 1.0, 0.0, 2.0) | vec4(1.0, 1.0, 1.0, 0.0) | vec4(0.0, 0.0, 0.0, -8.25) | vec4(0.0, 0.0, 0.0, 1.0) | vec4(1.0, 0.0, 0.0, 36.8125) | vec4(0.0, 1.0, 0.0, -20.125) ]; 9602 } 9603 9604 both "" 9605 #version 300 es 9606 precision mediump float; 9607 precision mediump int; 9608 9609 ${DECLARATIONS} 9610 9611 void main() 9612 { 9613 ${SETUP} 9614 out0 = vec4(in0, in1); 9615 ${OUTPUT} 9616 } 9617 "" 9618 end 9619 9620 case bvec3_float_to_ivec4 9621 version 300 es 9622 values 9623 { 9624 input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(true, false, false) | bvec3(false, true, false) ]; 9625 input float in1 = [ -0.5 | 3.5 | 2.0 | 0.0 | -8.25 | 1.0 | 36.8125 | -20.125 ]; 9626 output ivec4 out0 = [ ivec4(1, 0, 0, 0) | ivec4(0, 0, 0, 3) | ivec4(0, 1, 0, 2) | ivec4(1, 1, 1, 0) | ivec4(0, 0, 0, -8) | ivec4(0, 0, 0, 1) | ivec4(1, 0, 0, 36) | ivec4(0, 1, 0, -20) ]; 9627 } 9628 9629 both "" 9630 #version 300 es 9631 precision mediump float; 9632 precision mediump int; 9633 9634 ${DECLARATIONS} 9635 9636 void main() 9637 { 9638 ${SETUP} 9639 out0 = ivec4(in0, in1); 9640 ${OUTPUT} 9641 } 9642 "" 9643 end 9644 9645 case bvec3_float_to_bvec4 9646 version 300 es 9647 values 9648 { 9649 input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(true, false, false) | bvec3(false, true, false) ]; 9650 input float in1 = [ -0.5 | 3.5 | 2.0 | 0.0 | -8.25 | 1.0 | 36.8125 | -20.125 ]; 9651 output bvec4 out0 = [ bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, true, false, true) | bvec4(true, true, true, false) | bvec4(false, false, false, true) | bvec4(false, false, false, true) | bvec4(true, false, false, true) | bvec4(false, true, false, true) ]; 9652 } 9653 9654 both "" 9655 #version 300 es 9656 precision mediump float; 9657 precision mediump int; 9658 9659 ${DECLARATIONS} 9660 9661 void main() 9662 { 9663 ${SETUP} 9664 out0 = bvec4(in0, in1); 9665 ${OUTPUT} 9666 } 9667 "" 9668 end 9669 9670 case vec3_float_to_vec4 9671 version 300 es 9672 values 9673 { 9674 input vec3 in0 = [ vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | 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) ]; 9675 input float in1 = [ -0.5 | 0.0 | 3.5 | -20.125 | 2.0 | -8.25 | 1.0 | 36.8125 ]; 9676 output vec4 out0 = [ vec4(-32.0, 64.0, -51.0, -0.5) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.0) | vec4(1.0, 1.25, 1.125, 3.5) | vec4(-0.5, -2.25, -4.875, -20.125) | vec4(0.0, 0.5, 0.75, 2.0) | vec4(-0.5, -2.25, -4.875, -8.25) | vec4(0.0, 0.5, 0.75, 1.0) | vec4(1.0, 1.25, 1.125, 36.8125) ]; 9677 } 9678 9679 both "" 9680 #version 300 es 9681 precision mediump float; 9682 precision mediump int; 9683 9684 ${DECLARATIONS} 9685 9686 void main() 9687 { 9688 ${SETUP} 9689 out0 = vec4(in0, in1); 9690 ${OUTPUT} 9691 } 9692 "" 9693 end 9694 9695 case vec3_float_to_ivec4 9696 version 300 es 9697 values 9698 { 9699 input vec3 in0 = [ vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | 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) ]; 9700 input float in1 = [ -0.5 | 0.0 | 3.5 | -20.125 | 2.0 | -8.25 | 1.0 | 36.8125 ]; 9701 output ivec4 out0 = [ ivec4(-32, 64, -51, 0) | ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 3) | ivec4(0, -2, -4, -20) | ivec4(0, 0, 0, 2) | ivec4(0, -2, -4, -8) | ivec4(0, 0, 0, 1) | ivec4(1, 1, 1, 36) ]; 9702 } 9703 9704 both "" 9705 #version 300 es 9706 precision mediump float; 9707 precision mediump int; 9708 9709 ${DECLARATIONS} 9710 9711 void main() 9712 { 9713 ${SETUP} 9714 out0 = ivec4(in0, in1); 9715 ${OUTPUT} 9716 } 9717 "" 9718 end 9719 9720 case vec3_float_to_bvec4 9721 version 300 es 9722 values 9723 { 9724 input vec3 in0 = [ vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | 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) ]; 9725 input float in1 = [ -0.5 | 0.0 | 3.5 | -20.125 | 2.0 | -8.25 | 1.0 | 36.8125 ]; 9726 output bvec4 out0 = [ bvec4(true, true, true, true) | bvec4(true, true, true, false) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(false, true, true, true) | bvec4(true, true, true, true) | bvec4(false, true, true, true) | bvec4(true, true, true, true) ]; 9727 } 9728 9729 both "" 9730 #version 300 es 9731 precision mediump float; 9732 precision mediump int; 9733 9734 ${DECLARATIONS} 9735 9736 void main() 9737 { 9738 ${SETUP} 9739 out0 = bvec4(in0, in1); 9740 ${OUTPUT} 9741 } 9742 "" 9743 end 9744 9745 case int_ivec2_int_to_vec4 9746 version 300 es 9747 values 9748 { 9749 input int in0 = [ -12 | 11 | 8 | 255 | 0 | 1 | -66 | 2 | -192 | 5 ]; 9750 input ivec2 in1 = [ ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) | ivec2(0, -2) | ivec2(1, 1) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(1, 1) | ivec2(0, 0) | ivec2(0, 0) ]; 9751 input int in2 = [ 1 | 11 | 2 | -66 | -192 | 0 | -12 | 255 | 5 | 8 ]; 9752 output vec4 out0 = [ vec4(-12.0, 0.0, -2.0, 1.0) | vec4(11.0, -32.0, 64.0, 11.0) | vec4(8.0, 0.0, 0.0, 2.0) | vec4(255.0, 0.0, -2.0, -66.0) | vec4(0.0, 1.0, 1.0, -192.0) | vec4(1.0, 0.0, 0.0, 0.0) | vec4(-66.0, -32.0, 64.0, -12.0) | vec4(2.0, 1.0, 1.0, 255.0) | vec4(-192.0, 0.0, 0.0, 5.0) | vec4(5.0, 0.0, 0.0, 8.0) ]; 9753 } 9754 9755 both "" 9756 #version 300 es 9757 precision mediump float; 9758 precision mediump int; 9759 9760 ${DECLARATIONS} 9761 9762 void main() 9763 { 9764 ${SETUP} 9765 out0 = vec4(in0, in1, in2); 9766 ${OUTPUT} 9767 } 9768 "" 9769 end 9770 9771 case int_ivec2_int_to_ivec4 9772 version 300 es 9773 values 9774 { 9775 input int in0 = [ -12 | 11 | 8 | 255 | 0 | 1 | -66 | 2 | -192 | 5 ]; 9776 input ivec2 in1 = [ ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) | ivec2(0, -2) | ivec2(1, 1) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(1, 1) | ivec2(0, 0) | ivec2(0, 0) ]; 9777 input int in2 = [ 1 | 11 | 2 | -66 | -192 | 0 | -12 | 255 | 5 | 8 ]; 9778 output ivec4 out0 = [ ivec4(-12, 0, -2, 1) | ivec4(11, -32, 64, 11) | ivec4(8, 0, 0, 2) | ivec4(255, 0, -2, -66) | ivec4(0, 1, 1, -192) | ivec4(1, 0, 0, 0) | ivec4(-66, -32, 64, -12) | ivec4(2, 1, 1, 255) | ivec4(-192, 0, 0, 5) | ivec4(5, 0, 0, 8) ]; 9779 } 9780 9781 both "" 9782 #version 300 es 9783 precision mediump float; 9784 precision mediump int; 9785 9786 ${DECLARATIONS} 9787 9788 void main() 9789 { 9790 ${SETUP} 9791 out0 = ivec4(in0, in1, in2); 9792 ${OUTPUT} 9793 } 9794 "" 9795 end 9796 9797 case int_ivec2_int_to_bvec4 9798 version 300 es 9799 values 9800 { 9801 input int in0 = [ -12 | 11 | 8 | 255 | 0 | 1 | -66 | 2 | -192 | 5 ]; 9802 input ivec2 in1 = [ ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, 0) | ivec2(0, -2) | ivec2(1, 1) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(1, 1) | ivec2(0, 0) | ivec2(0, 0) ]; 9803 input int in2 = [ 1 | 11 | 2 | -66 | -192 | 0 | -12 | 255 | 5 | 8 ]; 9804 output bvec4 out0 = [ bvec4(true, false, true, true) | bvec4(true, true, true, true) | bvec4(true, false, false, true) | bvec4(true, false, true, true) | bvec4(false, true, true, true) | bvec4(true, false, false, false) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, false, false, true) | bvec4(true, false, false, true) ]; 9805 } 9806 9807 both "" 9808 #version 300 es 9809 precision mediump float; 9810 precision mediump int; 9811 9812 ${DECLARATIONS} 9813 9814 void main() 9815 { 9816 ${SETUP} 9817 out0 = bvec4(in0, in1, in2); 9818 ${OUTPUT} 9819 } 9820 "" 9821 end 9822 9823 case bool_float_ivec2_to_vec4 9824 version 300 es 9825 values 9826 { 9827 input bool in0 = [ true | false | false | false | true | true | true | false ]; 9828 input float in1 = [ 1.0 | 0.0 | 2.0 | 3.5 | -20.125 | -0.5 | 36.8125 | -8.25 ]; 9829 input ivec2 in2 = [ ivec2(1, 1) | ivec2(-32, 64) | ivec2(0, 0) | ivec2(0, 0) | ivec2(0, -2) | ivec2(0, -2) | ivec2(0, 0) | ivec2(1, 1) ]; 9830 output vec4 out0 = [ vec4(1.0, 1.0, 1.0, 1.0) | vec4(0.0, 0.0, -32.0, 64.0) | vec4(0.0, 2.0, 0.0, 0.0) | vec4(0.0, 3.5, 0.0, 0.0) | vec4(1.0, -20.125, 0.0, -2.0) | vec4(1.0, -0.5, 0.0, -2.0) | vec4(1.0, 36.8125, 0.0, 0.0) | vec4(0.0, -8.25, 1.0, 1.0) ]; 9831 } 9832 9833 both "" 9834 #version 300 es 9835 precision mediump float; 9836 precision mediump int; 9837 9838 ${DECLARATIONS} 9839 9840 void main() 9841 { 9842 ${SETUP} 9843 out0 = vec4(in0, in1, in2); 9844 ${OUTPUT} 9845 } 9846 "" 9847 end 9848 9849 case bool_float_ivec2_to_ivec4 9850 version 300 es 9851 values 9852 { 9853 input bool in0 = [ true | false | false | false | true | true | true | false ]; 9854 input float in1 = [ 1.0 | 0.0 | 2.0 | 3.5 | -20.125 | -0.5 | 36.8125 | -8.25 ]; 9855 input ivec2 in2 = [ ivec2(1, 1) | ivec2(-32, 64) | ivec2(0, 0) | ivec2(0, 0) | ivec2(0, -2) | ivec2(0, -2) | ivec2(0, 0) | ivec2(1, 1) ]; 9856 output ivec4 out0 = [ ivec4(1, 1, 1, 1) | ivec4(0, 0, -32, 64) | ivec4(0, 2, 0, 0) | ivec4(0, 3, 0, 0) | ivec4(1, -20, 0, -2) | ivec4(1, 0, 0, -2) | ivec4(1, 36, 0, 0) | ivec4(0, -8, 1, 1) ]; 9857 } 9858 9859 both "" 9860 #version 300 es 9861 precision mediump float; 9862 precision mediump int; 9863 9864 ${DECLARATIONS} 9865 9866 void main() 9867 { 9868 ${SETUP} 9869 out0 = ivec4(in0, in1, in2); 9870 ${OUTPUT} 9871 } 9872 "" 9873 end 9874 9875 case bool_float_ivec2_to_bvec4 9876 version 300 es 9877 values 9878 { 9879 input bool in0 = [ true | false | false | false | true | true | true | false ]; 9880 input float in1 = [ 1.0 | 0.0 | 2.0 | 3.5 | -20.125 | -0.5 | 36.8125 | -8.25 ]; 9881 input ivec2 in2 = [ ivec2(1, 1) | ivec2(-32, 64) | ivec2(0, 0) | ivec2(0, 0) | ivec2(0, -2) | ivec2(0, -2) | ivec2(0, 0) | ivec2(1, 1) ]; 9882 output bvec4 out0 = [ bvec4(true, true, true, true) | bvec4(false, false, true, true) | bvec4(false, true, false, false) | bvec4(false, true, false, false) | bvec4(true, true, false, true) | bvec4(true, true, false, true) | bvec4(true, true, false, false) | bvec4(false, true, true, true) ]; 9883 } 9884 9885 both "" 9886 #version 300 es 9887 precision mediump float; 9888 precision mediump int; 9889 9890 ${DECLARATIONS} 9891 9892 void main() 9893 { 9894 ${SETUP} 9895 out0 = bvec4(in0, in1, in2); 9896 ${OUTPUT} 9897 } 9898 "" 9899 end 9900 9901 case float_uvec3_to_vec4 9902 version 300 es 9903 values 9904 { 9905 input float in0 = [ 1.0 | -20.125 | -8.25 | -0.5 | 0.0 | 2.0 | 3.5 | 36.8125 ]; 9906 input uvec3 in1 = [ uvec3(0, 0, 0) | uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(32, 64, 51) ]; 9907 output vec4 out0 = [ vec4(1.0, 0.0, 0.0, 0.0) | vec4(-20.125, 0.0, 0.0, 0.0) | vec4(-8.25, 1.0, 1.0, 1.0) | vec4(-0.5, 0.0, 2.0, 4.0) | vec4(0.0, 0.0, 0.0, 0.0) | vec4(2.0, 1.0, 1.0, 1.0) | vec4(3.5, 0.0, 2.0, 4.0) | vec4(36.8125, 32.0, 64.0, 51.0) ]; 9908 } 9909 9910 both "" 9911 #version 300 es 9912 precision mediump float; 9913 precision mediump int; 9914 9915 ${DECLARATIONS} 9916 9917 void main() 9918 { 9919 ${SETUP} 9920 out0 = vec4(in0, in1); 9921 ${OUTPUT} 9922 } 9923 "" 9924 end 9925 9926 case float_uvec3_to_ivec4 9927 version 300 es 9928 values 9929 { 9930 input float in0 = [ 1.0 | -20.125 | -8.25 | -0.5 | 0.0 | 2.0 | 3.5 | 36.8125 ]; 9931 input uvec3 in1 = [ uvec3(0, 0, 0) | uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(32, 64, 51) ]; 9932 output ivec4 out0 = [ ivec4(1, 0, 0, 0) | ivec4(-20, 0, 0, 0) | ivec4(-8, 1, 1, 1) | ivec4(0, 0, 2, 4) | ivec4(0, 0, 0, 0) | ivec4(2, 1, 1, 1) | ivec4(3, 0, 2, 4) | ivec4(36, 32, 64, 51) ]; 9933 } 9934 9935 both "" 9936 #version 300 es 9937 precision mediump float; 9938 precision mediump int; 9939 9940 ${DECLARATIONS} 9941 9942 void main() 9943 { 9944 ${SETUP} 9945 out0 = ivec4(in0, in1); 9946 ${OUTPUT} 9947 } 9948 "" 9949 end 9950 9951 case float_uvec3_to_bvec4 9952 version 300 es 9953 values 9954 { 9955 input float in0 = [ 1.0 | -20.125 | -8.25 | -0.5 | 0.0 | 2.0 | 3.5 | 36.8125 ]; 9956 input uvec3 in1 = [ uvec3(0, 0, 0) | uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(0, 0, 0) | uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(32, 64, 51) ]; 9957 output bvec4 out0 = [ bvec4(true, false, false, false) | bvec4(true, false, false, false) | bvec4(true, true, true, true) | bvec4(true, false, true, true) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(true, false, true, true) | bvec4(true, true, true, true) ]; 9958 } 9959 9960 both "" 9961 #version 300 es 9962 precision mediump float; 9963 precision mediump int; 9964 9965 ${DECLARATIONS} 9966 9967 void main() 9968 { 9969 ${SETUP} 9970 out0 = bvec4(in0, in1); 9971 ${OUTPUT} 9972 } 9973 "" 9974 end 9975 9976 case int_uvec2_bool_to_vec4 9977 version 300 es 9978 values 9979 { 9980 input int in0 = [ 1 | -192 | -66 | -12 | 0 | 2 | 11 | 8 | 255 | 5 ]; 9981 input uvec2 in1 = [ uvec2(0, 2) | uvec2(1, 1) | uvec2(0, 0) | uvec2(0, 2) | uvec2(32, 64) | uvec2(0, 0) | uvec2(32, 64) | uvec2(0, 0) | uvec2(1, 1) | uvec2(0, 0) ]; 9982 input bool in2 = [ false | false | true | true | true | true | true | false | false | false ]; 9983 output vec4 out0 = [ vec4(1.0, 0.0, 2.0, 0.0) | vec4(-192.0, 1.0, 1.0, 0.0) | vec4(-66.0, 0.0, 0.0, 1.0) | vec4(-12.0, 0.0, 2.0, 1.0) | vec4(0.0, 32.0, 64.0, 1.0) | vec4(2.0, 0.0, 0.0, 1.0) | vec4(11.0, 32.0, 64.0, 1.0) | vec4(8.0, 0.0, 0.0, 0.0) | vec4(255.0, 1.0, 1.0, 0.0) | vec4(5.0, 0.0, 0.0, 0.0) ]; 9984 } 9985 9986 both "" 9987 #version 300 es 9988 precision mediump float; 9989 precision mediump int; 9990 9991 ${DECLARATIONS} 9992 9993 void main() 9994 { 9995 ${SETUP} 9996 out0 = vec4(in0, in1, in2); 9997 ${OUTPUT} 9998 } 9999 "" 10000 end 10001 10002 case int_uvec2_bool_to_ivec4 10003 version 300 es 10004 values 10005 { 10006 input int in0 = [ 1 | -192 | -66 | -12 | 0 | 2 | 11 | 8 | 255 | 5 ]; 10007 input uvec2 in1 = [ uvec2(0, 2) | uvec2(1, 1) | uvec2(0, 0) | uvec2(0, 2) | uvec2(32, 64) | uvec2(0, 0) | uvec2(32, 64) | uvec2(0, 0) | uvec2(1, 1) | uvec2(0, 0) ]; 10008 input bool in2 = [ false | false | true | true | true | true | true | false | false | false ]; 10009 output ivec4 out0 = [ ivec4(1, 0, 2, 0) | ivec4(-192, 1, 1, 0) | ivec4(-66, 0, 0, 1) | ivec4(-12, 0, 2, 1) | ivec4(0, 32, 64, 1) | ivec4(2, 0, 0, 1) | ivec4(11, 32, 64, 1) | ivec4(8, 0, 0, 0) | ivec4(255, 1, 1, 0) | ivec4(5, 0, 0, 0) ]; 10010 } 10011 10012 both "" 10013 #version 300 es 10014 precision mediump float; 10015 precision mediump int; 10016 10017 ${DECLARATIONS} 10018 10019 void main() 10020 { 10021 ${SETUP} 10022 out0 = ivec4(in0, in1, in2); 10023 ${OUTPUT} 10024 } 10025 "" 10026 end 10027 10028 case int_uvec2_bool_to_bvec4 10029 version 300 es 10030 values 10031 { 10032 input int in0 = [ 1 | -192 | -66 | -12 | 0 | 2 | 11 | 8 | 255 | 5 ]; 10033 input uvec2 in1 = [ uvec2(0, 2) | uvec2(1, 1) | uvec2(0, 0) | uvec2(0, 2) | uvec2(32, 64) | uvec2(0, 0) | uvec2(32, 64) | uvec2(0, 0) | uvec2(1, 1) | uvec2(0, 0) ]; 10034 input bool in2 = [ false | false | true | true | true | true | true | false | false | false ]; 10035 output bvec4 out0 = [ bvec4(true, false, true, false) | bvec4(true, true, true, false) | bvec4(true, false, false, true) | bvec4(true, false, true, true) | bvec4(false, true, true, true) | bvec4(true, false, false, true) | bvec4(true, true, true, true) | bvec4(true, false, false, false) | bvec4(true, true, true, false) | bvec4(true, false, false, false) ]; 10036 } 10037 10038 both "" 10039 #version 300 es 10040 precision mediump float; 10041 precision mediump int; 10042 10043 ${DECLARATIONS} 10044 10045 void main() 10046 { 10047 ${SETUP} 10048 out0 = bvec4(in0, in1, in2); 10049 ${OUTPUT} 10050 } 10051 "" 10052 end 10053 10054 case vec2_vec2_to_uvec4 10055 version 300 es 10056 values 10057 { 10058 input vec2 in0 = [ vec2(32.0, 64.0) | vec2(0.75, 0.0322580645161) | vec2(0.0, 0.5) | vec2(0.5, 2.25) | vec2(1.0, 1.25) ]; 10059 input vec2 in1 = [ vec2(0.5, 2.25) | vec2(1.0, 1.25) | vec2(32.0, 64.0) | vec2(0.0, 0.5) | vec2(0.75, 0.0322580645161) ]; 10060 output uvec4 out0 = [ uvec4(32, 64, 0, 2) | uvec4(0, 0, 1, 1) | uvec4(0, 0, 32, 64) | uvec4(0, 2, 0, 0) | uvec4(1, 1, 0, 0) ]; 10061 } 10062 10063 both "" 10064 #version 300 es 10065 precision mediump float; 10066 precision mediump int; 10067 10068 ${DECLARATIONS} 10069 10070 void main() 10071 { 10072 ${SETUP} 10073 out0 = uvec4(in0, in1); 10074 ${OUTPUT} 10075 } 10076 "" 10077 end 10078 10079 case bvec2_bvec2_to_uvec4 10080 version 300 es 10081 values 10082 { 10083 input bvec2 in0 = [ bvec2(true, false) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) | bvec2(false, false) ]; 10084 input bvec2 in1 = [ bvec2(true, true) | bvec2(false, false) | bvec2(true, false) | bvec2(false, true) | bvec2(false, false) ]; 10085 output uvec4 out0 = [ uvec4(1, 0, 1, 1) | uvec4(0, 1, 0, 0) | uvec4(1, 1, 1, 0) | uvec4(0, 0, 0, 1) | uvec4(0, 0, 0, 0) ]; 10086 } 10087 10088 both "" 10089 #version 300 es 10090 precision mediump float; 10091 precision mediump int; 10092 10093 ${DECLARATIONS} 10094 10095 void main() 10096 { 10097 ${SETUP} 10098 out0 = uvec4(in0, in1); 10099 ${OUTPUT} 10100 } 10101 "" 10102 end 10103 10104 case float_float_float_float_to_uvec4 10105 version 300 es 10106 values 10107 { 10108 input float in0 = [ 2.0 | 36.8125 | 0.0 | 20.125 | 1.0 | 0.5 | 8.25 | 3.5 ]; 10109 input float in1 = [ 1.0 | 8.25 | 2.0 | 20.125 | 36.8125 | 0.0 | 0.5 | 3.5 ]; 10110 input float in2 = [ 0.0 | 8.25 | 2.0 | 1.0 | 36.8125 | 20.125 | 0.5 | 3.5 ]; 10111 input float in3 = [ 1.0 | 8.25 | 0.0 | 2.0 | 20.125 | 3.5 | 0.5 | 36.8125 ]; 10112 output uvec4 out0 = [ uvec4(2, 1, 0, 1) | uvec4(36, 8, 8, 8) | uvec4(0, 2, 2, 0) | uvec4(20, 20, 1, 2) | uvec4(1, 36, 36, 20) | uvec4(0, 0, 20, 3) | uvec4(8, 0, 0, 0) | uvec4(3, 3, 3, 36) ]; 10113 } 10114 10115 both "" 10116 #version 300 es 10117 precision mediump float; 10118 precision mediump int; 10119 10120 ${DECLARATIONS} 10121 10122 void main() 10123 { 10124 ${SETUP} 10125 out0 = uvec4(in0, in1, in2, in3); 10126 ${OUTPUT} 10127 } 10128 "" 10129 end 10130 10131 case int_int_int_int_to_uvec4 10132 version 300 es 10133 values 10134 { 10135 input int in0 = [ 192 | 2 | 12 | 11 | 0 | 8 | 5 | 66 | 1 | 255 ]; 10136 input int in1 = [ 66 | 12 | 5 | 1 | 0 | 192 | 8 | 255 | 11 | 2 ]; 10137 input int in2 = [ 192 | 5 | 1 | 66 | 255 | 11 | 8 | 12 | 2 | 0 ]; 10138 input int in3 = [ 255 | 5 | 11 | 12 | 2 | 1 | 66 | 0 | 8 | 192 ]; 10139 output uvec4 out0 = [ uvec4(192, 66, 192, 255) | uvec4(2, 12, 5, 5) | uvec4(12, 5, 1, 11) | uvec4(11, 1, 66, 12) | uvec4(0, 0, 255, 2) | uvec4(8, 192, 11, 1) | uvec4(5, 8, 8, 66) | uvec4(66, 255, 12, 0) | uvec4(1, 11, 2, 8) | uvec4(255, 2, 0, 192) ]; 10140 } 10141 10142 both "" 10143 #version 300 es 10144 precision mediump float; 10145 precision mediump int; 10146 10147 ${DECLARATIONS} 10148 10149 void main() 10150 { 10151 ${SETUP} 10152 out0 = uvec4(in0, in1, in2, in3); 10153 ${OUTPUT} 10154 } 10155 "" 10156 end 10157 10158 case uint_uint_uint_uint_to_uvec4 10159 version 300 es 10160 values 10161 { 10162 input uint in0 = [ 255 | 8 | 3 | 193 | 45 | 2 | 0 | 12 | 9 | 10 ]; 10163 input uint in1 = [ 255 | 45 | 0 | 12 | 2 | 10 | 8 | 9 | 193 | 3 ]; 10164 input uint in2 = [ 3 | 0 | 2 | 9 | 12 | 10 | 255 | 45 | 193 | 8 ]; 10165 input uint in3 = [ 2 | 255 | 10 | 193 | 8 | 12 | 3 | 9 | 0 | 45 ]; 10166 output uvec4 out0 = [ uvec4(255, 255, 3, 2) | uvec4(8, 45, 0, 255) | uvec4(3, 0, 2, 10) | uvec4(193, 12, 9, 193) | uvec4(45, 2, 12, 8) | uvec4(2, 10, 10, 12) | uvec4(0, 8, 255, 3) | uvec4(12, 9, 45, 9) | uvec4(9, 193, 193, 0) | uvec4(10, 3, 8, 45) ]; 10167 } 10168 10169 both "" 10170 #version 300 es 10171 precision mediump float; 10172 precision mediump int; 10173 10174 ${DECLARATIONS} 10175 10176 void main() 10177 { 10178 ${SETUP} 10179 out0 = uvec4(in0, in1, in2, in3); 10180 ${OUTPUT} 10181 } 10182 "" 10183 end 10184 10185 case bool_bool_bool_bool_to_uvec4 10186 version 300 es 10187 values 10188 { 10189 input bool in0 = [ false | true ]; 10190 input bool in1 = [ false | true ]; 10191 input bool in2 = [ true | false ]; 10192 input bool in3 = [ true | false ]; 10193 output uvec4 out0 = [ uvec4(0, 0, 1, 1) | uvec4(1, 1, 0, 0) ]; 10194 } 10195 10196 both "" 10197 #version 300 es 10198 precision mediump float; 10199 precision mediump int; 10200 10201 ${DECLARATIONS} 10202 10203 void main() 10204 { 10205 ${SETUP} 10206 out0 = uvec4(in0, in1, in2, in3); 10207 ${OUTPUT} 10208 } 10209 "" 10210 end 10211 10212 case bool_float_int_bool_to_uvec4 10213 version 300 es 10214 values 10215 { 10216 input bool in0 = [ true | false | false | true | false | true | true | true | false | false ]; 10217 input float in1 = [ 20.125 | 0.0 | 1.0 | 3.5 | 1.0 | 0.0 | 0.5 | 8.25 | 2.0 | 36.8125 ]; 10218 input int in2 = [ 66 | 192 | 1 | 2 | 5 | 11 | 8 | 12 | 255 | 0 ]; 10219 input bool in3 = [ true | true | true | true | false | true | false | false | false | false ]; 10220 output uvec4 out0 = [ uvec4(1, 20, 66, 1) | uvec4(0, 0, 192, 1) | uvec4(0, 1, 1, 1) | uvec4(1, 3, 2, 1) | uvec4(0, 1, 5, 0) | uvec4(1, 0, 11, 1) | uvec4(1, 0, 8, 0) | uvec4(1, 8, 12, 0) | uvec4(0, 2, 255, 0) | uvec4(0, 36, 0, 0) ]; 10221 } 10222 10223 both "" 10224 #version 300 es 10225 precision mediump float; 10226 precision mediump int; 10227 10228 ${DECLARATIONS} 10229 10230 void main() 10231 { 10232 ${SETUP} 10233 out0 = uvec4(in0, in1, in2, in3); 10234 ${OUTPUT} 10235 } 10236 "" 10237 end 10238 10239 case vec2_ivec2_to_uvec4 10240 version 300 es 10241 values 10242 { 10243 input vec2 in0 = [ vec2(0.5, 2.25) | vec2(1.0, 1.25) | vec2(32.0, 64.0) | vec2(0.75, 0.0322580645161) | vec2(0.0, 0.5) ]; 10244 input ivec2 in1 = [ ivec2(1, 1) | ivec2(0, 2) | ivec2(32, 64) | ivec2(0, 0) | ivec2(0, 0) ]; 10245 output uvec4 out0 = [ uvec4(0, 2, 1, 1) | uvec4(1, 1, 0, 2) | uvec4(32, 64, 32, 64) | uvec4(0, 0, 0, 0) | uvec4(0, 0, 0, 0) ]; 10246 } 10247 10248 both "" 10249 #version 300 es 10250 precision mediump float; 10251 precision mediump int; 10252 10253 ${DECLARATIONS} 10254 10255 void main() 10256 { 10257 ${SETUP} 10258 out0 = uvec4(in0, in1); 10259 ${OUTPUT} 10260 } 10261 "" 10262 end 10263 10264 case vec2_bvec2_to_uvec4 10265 version 300 es 10266 values 10267 { 10268 input vec2 in0 = [ vec2(32.0, 64.0) | vec2(0.75, 0.0322580645161) | vec2(0.5, 2.25) | vec2(0.0, 0.5) | vec2(1.0, 1.25) ]; 10269 input bvec2 in1 = [ bvec2(false, false) | bvec2(false, false) | bvec2(true, false) | bvec2(false, true) | bvec2(true, true) ]; 10270 output uvec4 out0 = [ uvec4(32, 64, 0, 0) | uvec4(0, 0, 0, 0) | uvec4(0, 2, 1, 0) | uvec4(0, 0, 0, 1) | uvec4(1, 1, 1, 1) ]; 10271 } 10272 10273 both "" 10274 #version 300 es 10275 precision mediump float; 10276 precision mediump int; 10277 10278 ${DECLARATIONS} 10279 10280 void main() 10281 { 10282 ${SETUP} 10283 out0 = uvec4(in0, in1); 10284 ${OUTPUT} 10285 } 10286 "" 10287 end 10288 10289 case bvec3_float_to_uvec4 10290 version 300 es 10291 values 10292 { 10293 input bvec3 in0 = [ bvec3(true, false, false) | bvec3(true, true, true) | bvec3(false, true, false) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, false, false) | bvec3(false, false, false) ]; 10294 input float in1 = [ 2.0 | 0.0 | 36.8125 | 0.5 | 1.0 | 8.25 | 3.5 | 20.125 ]; 10295 output uvec4 out0 = [ uvec4(1, 0, 0, 2) | uvec4(1, 1, 1, 0) | uvec4(0, 1, 0, 36) | uvec4(0, 0, 0, 0) | uvec4(0, 0, 0, 1) | uvec4(0, 1, 0, 8) | uvec4(1, 0, 0, 3) | uvec4(0, 0, 0, 20) ]; 10296 } 10297 10298 both "" 10299 #version 300 es 10300 precision mediump float; 10301 precision mediump int; 10302 10303 ${DECLARATIONS} 10304 10305 void main() 10306 { 10307 ${SETUP} 10308 out0 = uvec4(in0, in1); 10309 ${OUTPUT} 10310 } 10311 "" 10312 end 10313 10314 case vec3_float_to_uvec4 10315 version 300 es 10316 values 10317 { 10318 input vec3 in0 = [ vec3(0.5, 2.25, 4.875) | vec3(1.0, 1.25, 1.125) | vec3(0.0, 0.5, 0.75) | vec3(0.5, 2.25, 4.875) | vec3(32.0, 64.0, 51.0) | vec3(1.0, 1.25, 1.125) | vec3(0.75, 0.0322580645161, 0.0526315789474) | vec3(0.0, 0.5, 0.75) ]; 10319 input float in1 = [ 8.25 | 1.0 | 0.0 | 36.8125 | 2.0 | 0.5 | 20.125 | 3.5 ]; 10320 output uvec4 out0 = [ uvec4(0, 2, 4, 8) | uvec4(1, 1, 1, 1) | uvec4(0, 0, 0, 0) | uvec4(0, 2, 4, 36) | uvec4(32, 64, 51, 2) | uvec4(1, 1, 1, 0) | uvec4(0, 0, 0, 20) | uvec4(0, 0, 0, 3) ]; 10321 } 10322 10323 both "" 10324 #version 300 es 10325 precision mediump float; 10326 precision mediump int; 10327 10328 ${DECLARATIONS} 10329 10330 void main() 10331 { 10332 ${SETUP} 10333 out0 = uvec4(in0, in1); 10334 ${OUTPUT} 10335 } 10336 "" 10337 end 10338 10339 case int_ivec2_int_to_uvec4 10340 version 300 es 10341 values 10342 { 10343 input int in0 = [ 8 | 1 | 11 | 192 | 255 | 12 | 66 | 2 | 0 | 5 ]; 10344 input ivec2 in1 = [ ivec2(1, 1) | ivec2(0, 0) | ivec2(1, 1) | ivec2(32, 64) | ivec2(0, 2) | ivec2(0, 2) | ivec2(0, 0) | ivec2(0, 0) | ivec2(32, 64) | ivec2(0, 0) ]; 10345 input int in2 = [ 2 | 192 | 12 | 0 | 8 | 1 | 66 | 255 | 11 | 5 ]; 10346 output uvec4 out0 = [ uvec4(8, 1, 1, 2) | uvec4(1, 0, 0, 192) | uvec4(11, 1, 1, 12) | uvec4(192, 32, 64, 0) | uvec4(255, 0, 2, 8) | uvec4(12, 0, 2, 1) | uvec4(66, 0, 0, 66) | uvec4(2, 0, 0, 255) | uvec4(0, 32, 64, 11) | uvec4(5, 0, 0, 5) ]; 10347 } 10348 10349 both "" 10350 #version 300 es 10351 precision mediump float; 10352 precision mediump int; 10353 10354 ${DECLARATIONS} 10355 10356 void main() 10357 { 10358 ${SETUP} 10359 out0 = uvec4(in0, in1, in2); 10360 ${OUTPUT} 10361 } 10362 "" 10363 end 10364 10365 case bool_float_ivec2_to_uvec4 10366 version 300 es 10367 values 10368 { 10369 input bool in0 = [ true | true | false | false | true | false | false | true ]; 10370 input float in1 = [ 8.25 | 0.5 | 2.0 | 20.125 | 0.0 | 36.8125 | 3.5 | 1.0 ]; 10371 input ivec2 in2 = [ ivec2(32, 64) | ivec2(1, 1) | ivec2(0, 2) | ivec2(0, 0) | ivec2(0, 0) | ivec2(0, 2) | ivec2(1, 1) | ivec2(0, 0) ]; 10372 output uvec4 out0 = [ uvec4(1, 8, 32, 64) | uvec4(1, 0, 1, 1) | uvec4(0, 2, 0, 2) | uvec4(0, 20, 0, 0) | uvec4(1, 0, 0, 0) | uvec4(0, 36, 0, 2) | uvec4(0, 3, 1, 1) | uvec4(1, 1, 0, 0) ]; 10373 } 10374 10375 both "" 10376 #version 300 es 10377 precision mediump float; 10378 precision mediump int; 10379 10380 ${DECLARATIONS} 10381 10382 void main() 10383 { 10384 ${SETUP} 10385 out0 = uvec4(in0, in1, in2); 10386 ${OUTPUT} 10387 } 10388 "" 10389 end 10390 10391 case float_uvec3_to_uvec4 10392 version 300 es 10393 values 10394 { 10395 input float in0 = [ 8.25 | 20.125 | 1.0 | 0.5 | 3.5 | 2.0 | 36.8125 | 0.0 ]; 10396 input uvec3 in1 = [ uvec3(0, 0, 0) | uvec3(0, 0, 0) | uvec3(0, 2, 4) | uvec3(32, 64, 51) | uvec3(0, 2, 4) | uvec3(1, 1, 1) | uvec3(1, 1, 1) | uvec3(0, 0, 0) ]; 10397 output uvec4 out0 = [ uvec4(8, 0, 0, 0) | uvec4(20, 0, 0, 0) | uvec4(1, 0, 2, 4) | uvec4(0, 32, 64, 51) | uvec4(3, 0, 2, 4) | uvec4(2, 1, 1, 1) | uvec4(36, 1, 1, 1) | uvec4(0, 0, 0, 0) ]; 10398 } 10399 10400 both "" 10401 #version 300 es 10402 precision mediump float; 10403 precision mediump int; 10404 10405 ${DECLARATIONS} 10406 10407 void main() 10408 { 10409 ${SETUP} 10410 out0 = uvec4(in0, in1); 10411 ${OUTPUT} 10412 } 10413 "" 10414 end 10415 10416 case int_uvec2_bool_to_uvec4 10417 version 300 es 10418 values 10419 { 10420 input int in0 = [ 2 | 1 | 11 | 66 | 192 | 12 | 8 | 255 | 0 | 5 ]; 10421 input uvec2 in1 = [ uvec2(1, 1) | uvec2(0, 0) | uvec2(0, 0) | uvec2(0, 2) | uvec2(0, 0) | uvec2(0, 2) | uvec2(32, 64) | uvec2(1, 1) | uvec2(32, 64) | uvec2(0, 0) ]; 10422 input bool in2 = [ true | false | false | false | false | true | true | true | false | true ]; 10423 output uvec4 out0 = [ uvec4(2, 1, 1, 1) | uvec4(1, 0, 0, 0) | uvec4(11, 0, 0, 0) | uvec4(66, 0, 2, 0) | uvec4(192, 0, 0, 0) | uvec4(12, 0, 2, 1) | uvec4(8, 32, 64, 1) | uvec4(255, 1, 1, 1) | uvec4(0, 32, 64, 0) | uvec4(5, 0, 0, 1) ]; 10424 } 10425 10426 both "" 10427 #version 300 es 10428 precision mediump float; 10429 precision mediump int; 10430 10431 ${DECLARATIONS} 10432 10433 void main() 10434 { 10435 ${SETUP} 10436 out0 = uvec4(in0, in1, in2); 10437 ${OUTPUT} 10438 } 10439 "" 10440 end 10441 10442 case float_float_float_to_vec3 10443 version 300 es 10444 values 10445 { 10446 input float in0 = [ -0.5 | 1.0 | 3.5 | -8.25 | 36.8125 | 0.0 | 2.0 | -20.125 ]; 10447 input float in1 = [ 2.0 | -20.125 | 3.5 | 36.8125 | -8.25 | 1.0 | -0.5 | 0.0 ]; 10448 input float in2 = [ 1.0 | 3.5 | 2.0 | -8.25 | -20.125 | -0.5 | 36.8125 | 0.0 ]; 10449 output vec3 out0 = [ vec3(-0.5, 2.0, 1.0) | vec3(1.0, -20.125, 3.5) | vec3(3.5, 3.5, 2.0) | vec3(-8.25, 36.8125, -8.25) | vec3(36.8125, -8.25, -20.125) | vec3(0.0, 1.0, -0.5) | vec3(2.0, -0.5, 36.8125) | vec3(-20.125, 0.0, 0.0) ]; 10450 } 10451 10452 both "" 10453 #version 300 es 10454 precision mediump float; 10455 precision mediump int; 10456 10457 ${DECLARATIONS} 10458 10459 void main() 10460 { 10461 ${SETUP} 10462 out0 = vec3(in0, in1, in2); 10463 ${OUTPUT} 10464 } 10465 "" 10466 end 10467 10468 case float_float_float_to_ivec3 10469 version 300 es 10470 values 10471 { 10472 input float in0 = [ -0.5 | 1.0 | 3.5 | -8.25 | 36.8125 | 0.0 | 2.0 | -20.125 ]; 10473 input float in1 = [ 2.0 | -20.125 | 3.5 | 36.8125 | -8.25 | 1.0 | -0.5 | 0.0 ]; 10474 input float in2 = [ 1.0 | 3.5 | 2.0 | -8.25 | -20.125 | -0.5 | 36.8125 | 0.0 ]; 10475 output ivec3 out0 = [ ivec3(0, 2, 1) | ivec3(1, -20, 3) | ivec3(3, 3, 2) | ivec3(-8, 36, -8) | ivec3(36, -8, -20) | ivec3(0, 1, 0) | ivec3(2, 0, 36) | ivec3(-20, 0, 0) ]; 10476 } 10477 10478 both "" 10479 #version 300 es 10480 precision mediump float; 10481 precision mediump int; 10482 10483 ${DECLARATIONS} 10484 10485 void main() 10486 { 10487 ${SETUP} 10488 out0 = ivec3(in0, in1, in2); 10489 ${OUTPUT} 10490 } 10491 "" 10492 end 10493 10494 case float_float_float_to_bvec3 10495 version 300 es 10496 values 10497 { 10498 input float in0 = [ -0.5 | 1.0 | 3.5 | -8.25 | 36.8125 | 0.0 | 2.0 | -20.125 ]; 10499 input float in1 = [ 2.0 | -20.125 | 3.5 | 36.8125 | -8.25 | 1.0 | -0.5 | 0.0 ]; 10500 input float in2 = [ 1.0 | 3.5 | 2.0 | -8.25 | -20.125 | -0.5 | 36.8125 | 0.0 ]; 10501 output bvec3 out0 = [ bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(false, true, true) | bvec3(true, true, true) | bvec3(true, false, false) ]; 10502 } 10503 10504 both "" 10505 #version 300 es 10506 precision mediump float; 10507 precision mediump int; 10508 10509 ${DECLARATIONS} 10510 10511 void main() 10512 { 10513 ${SETUP} 10514 out0 = bvec3(in0, in1, in2); 10515 ${OUTPUT} 10516 } 10517 "" 10518 end 10519 10520 case int_int_int_to_vec3 10521 version 300 es 10522 values 10523 { 10524 input int in0 = [ -192 | 5 | -12 | 0 | 11 | 8 | 1 | -66 | 255 | 2 ]; 10525 input int in1 = [ 5 | 1 | 8 | 0 | 2 | -192 | -12 | 255 | -66 | 11 ]; 10526 input int in2 = [ -192 | 1 | 2 | 5 | -12 | 8 | 11 | 0 | 255 | -66 ]; 10527 output vec3 out0 = [ vec3(-192.0, 5.0, -192.0) | vec3(5.0, 1.0, 1.0) | vec3(-12.0, 8.0, 2.0) | vec3(0.0, 0.0, 5.0) | vec3(11.0, 2.0, -12.0) | vec3(8.0, -192.0, 8.0) | vec3(1.0, -12.0, 11.0) | vec3(-66.0, 255.0, 0.0) | vec3(255.0, -66.0, 255.0) | vec3(2.0, 11.0, -66.0) ]; 10528 } 10529 10530 both "" 10531 #version 300 es 10532 precision mediump float; 10533 precision mediump int; 10534 10535 ${DECLARATIONS} 10536 10537 void main() 10538 { 10539 ${SETUP} 10540 out0 = vec3(in0, in1, in2); 10541 ${OUTPUT} 10542 } 10543 "" 10544 end 10545 10546 case int_int_int_to_ivec3 10547 version 300 es 10548 values 10549 { 10550 input int in0 = [ -192 | 5 | -12 | 0 | 11 | 8 | 1 | -66 | 255 | 2 ]; 10551 input int in1 = [ 5 | 1 | 8 | 0 | 2 | -192 | -12 | 255 | -66 | 11 ]; 10552 input int in2 = [ -192 | 1 | 2 | 5 | -12 | 8 | 11 | 0 | 255 | -66 ]; 10553 output ivec3 out0 = [ ivec3(-192, 5, -192) | ivec3(5, 1, 1) | ivec3(-12, 8, 2) | ivec3(0, 0, 5) | ivec3(11, 2, -12) | ivec3(8, -192, 8) | ivec3(1, -12, 11) | ivec3(-66, 255, 0) | ivec3(255, -66, 255) | ivec3(2, 11, -66) ]; 10554 } 10555 10556 both "" 10557 #version 300 es 10558 precision mediump float; 10559 precision mediump int; 10560 10561 ${DECLARATIONS} 10562 10563 void main() 10564 { 10565 ${SETUP} 10566 out0 = ivec3(in0, in1, in2); 10567 ${OUTPUT} 10568 } 10569 "" 10570 end 10571 10572 case int_int_int_to_bvec3 10573 version 300 es 10574 values 10575 { 10576 input int in0 = [ -192 | 5 | -12 | 0 | 11 | 8 | 1 | -66 | 255 | 2 ]; 10577 input int in1 = [ 5 | 1 | 8 | 0 | 2 | -192 | -12 | 255 | -66 | 11 ]; 10578 input int in2 = [ -192 | 1 | 2 | 5 | -12 | 8 | 11 | 0 | 255 | -66 ]; 10579 output bvec3 out0 = [ bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(false, false, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, false) | bvec3(true, true, true) | bvec3(true, true, true) ]; 10580 } 10581 10582 both "" 10583 #version 300 es 10584 precision mediump float; 10585 precision mediump int; 10586 10587 ${DECLARATIONS} 10588 10589 void main() 10590 { 10591 ${SETUP} 10592 out0 = bvec3(in0, in1, in2); 10593 ${OUTPUT} 10594 } 10595 "" 10596 end 10597 10598 case uint_uint_uint_to_vec3 10599 version 300 es 10600 values 10601 { 10602 input uint in0 = [ 8 | 45 | 2 | 3 | 255 | 193 | 12 | 0 | 9 | 10 ]; 10603 input uint in1 = [ 193 | 2 | 9 | 8 | 0 | 255 | 45 | 3 | 10 | 12 ]; 10604 input uint in2 = [ 12 | 2 | 193 | 255 | 8 | 10 | 45 | 0 | 3 | 9 ]; 10605 output vec3 out0 = [ vec3(8.0, 193.0, 12.0) | vec3(45.0, 2.0, 2.0) | vec3(2.0, 9.0, 193.0) | vec3(3.0, 8.0, 255.0) | vec3(255.0, 0.0, 8.0) | vec3(193.0, 255.0, 10.0) | vec3(12.0, 45.0, 45.0) | vec3(0.0, 3.0, 0.0) | vec3(9.0, 10.0, 3.0) | vec3(10.0, 12.0, 9.0) ]; 10606 } 10607 10608 both "" 10609 #version 300 es 10610 precision mediump float; 10611 precision mediump int; 10612 10613 ${DECLARATIONS} 10614 10615 void main() 10616 { 10617 ${SETUP} 10618 out0 = vec3(in0, in1, in2); 10619 ${OUTPUT} 10620 } 10621 "" 10622 end 10623 10624 case uint_uint_uint_to_ivec3 10625 version 300 es 10626 values 10627 { 10628 input uint in0 = [ 8 | 45 | 2 | 3 | 255 | 193 | 12 | 0 | 9 | 10 ]; 10629 input uint in1 = [ 193 | 2 | 9 | 8 | 0 | 255 | 45 | 3 | 10 | 12 ]; 10630 input uint in2 = [ 12 | 2 | 193 | 255 | 8 | 10 | 45 | 0 | 3 | 9 ]; 10631 output ivec3 out0 = [ ivec3(8, 193, 12) | ivec3(45, 2, 2) | ivec3(2, 9, 193) | ivec3(3, 8, 255) | ivec3(255, 0, 8) | ivec3(193, 255, 10) | ivec3(12, 45, 45) | ivec3(0, 3, 0) | ivec3(9, 10, 3) | ivec3(10, 12, 9) ]; 10632 } 10633 10634 both "" 10635 #version 300 es 10636 precision mediump float; 10637 precision mediump int; 10638 10639 ${DECLARATIONS} 10640 10641 void main() 10642 { 10643 ${SETUP} 10644 out0 = ivec3(in0, in1, in2); 10645 ${OUTPUT} 10646 } 10647 "" 10648 end 10649 10650 case uint_uint_uint_to_bvec3 10651 version 300 es 10652 values 10653 { 10654 input uint in0 = [ 8 | 45 | 2 | 3 | 255 | 193 | 12 | 0 | 9 | 10 ]; 10655 input uint in1 = [ 193 | 2 | 9 | 8 | 0 | 255 | 45 | 3 | 10 | 12 ]; 10656 input uint in2 = [ 12 | 2 | 193 | 255 | 8 | 10 | 45 | 0 | 3 | 9 ]; 10657 output bvec3 out0 = [ bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, false, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(true, true, true) ]; 10658 } 10659 10660 both "" 10661 #version 300 es 10662 precision mediump float; 10663 precision mediump int; 10664 10665 ${DECLARATIONS} 10666 10667 void main() 10668 { 10669 ${SETUP} 10670 out0 = bvec3(in0, in1, in2); 10671 ${OUTPUT} 10672 } 10673 "" 10674 end 10675 10676 case bool_bool_bool_to_vec3 10677 version 300 es 10678 values 10679 { 10680 input bool in0 = [ true | false ]; 10681 input bool in1 = [ true | false ]; 10682 input bool in2 = [ true | false ]; 10683 output vec3 out0 = [ vec3(1.0, 1.0, 1.0) | vec3(0.0, 0.0, 0.0) ]; 10684 } 10685 10686 both "" 10687 #version 300 es 10688 precision mediump float; 10689 precision mediump int; 10690 10691 ${DECLARATIONS} 10692 10693 void main() 10694 { 10695 ${SETUP} 10696 out0 = vec3(in0, in1, in2); 10697 ${OUTPUT} 10698 } 10699 "" 10700 end 10701 10702 case bool_bool_bool_to_ivec3 10703 version 300 es 10704 values 10705 { 10706 input bool in0 = [ true | false ]; 10707 input bool in1 = [ true | false ]; 10708 input bool in2 = [ true | false ]; 10709 output ivec3 out0 = [ ivec3(1, 1, 1) | ivec3(0, 0, 0) ]; 10710 } 10711 10712 both "" 10713 #version 300 es 10714 precision mediump float; 10715 precision mediump int; 10716 10717 ${DECLARATIONS} 10718 10719 void main() 10720 { 10721 ${SETUP} 10722 out0 = ivec3(in0, in1, in2); 10723 ${OUTPUT} 10724 } 10725 "" 10726 end 10727 10728 case bool_bool_bool_to_bvec3 10729 version 300 es 10730 values 10731 { 10732 input bool in0 = [ true | false ]; 10733 input bool in1 = [ true | false ]; 10734 input bool in2 = [ true | false ]; 10735 output bvec3 out0 = [ bvec3(true, true, true) | bvec3(false, false, false) ]; 10736 } 10737 10738 both "" 10739 #version 300 es 10740 precision mediump float; 10741 precision mediump int; 10742 10743 ${DECLARATIONS} 10744 10745 void main() 10746 { 10747 ${SETUP} 10748 out0 = bvec3(in0, in1, in2); 10749 ${OUTPUT} 10750 } 10751 "" 10752 end 10753 10754 case bool_float_int_to_vec3 10755 version 300 es 10756 values 10757 { 10758 input bool in0 = [ true | true | false | false | true | false | true | false | false | true ]; 10759 input float in1 = [ 0.0 | 36.8125 | 0.0 | -8.25 | 1.0 | 3.5 | 1.0 | -0.5 | -20.125 | 2.0 ]; 10760 input int in2 = [ 8 | -192 | -66 | 2 | 1 | -12 | 11 | 255 | 5 | 0 ]; 10761 output vec3 out0 = [ vec3(1.0, 0.0, 8.0) | vec3(1.0, 36.8125, -192.0) | vec3(0.0, 0.0, -66.0) | vec3(0.0, -8.25, 2.0) | vec3(1.0, 1.0, 1.0) | vec3(0.0, 3.5, -12.0) | vec3(1.0, 1.0, 11.0) | vec3(0.0, -0.5, 255.0) | vec3(0.0, -20.125, 5.0) | vec3(1.0, 2.0, 0.0) ]; 10762 } 10763 10764 both "" 10765 #version 300 es 10766 precision mediump float; 10767 precision mediump int; 10768 10769 ${DECLARATIONS} 10770 10771 void main() 10772 { 10773 ${SETUP} 10774 out0 = vec3(in0, in1, in2); 10775 ${OUTPUT} 10776 } 10777 "" 10778 end 10779 10780 case bool_float_int_to_ivec3 10781 version 300 es 10782 values 10783 { 10784 input bool in0 = [ true | true | false | false | true | false | true | false | false | true ]; 10785 input float in1 = [ 0.0 | 36.8125 | 0.0 | -8.25 | 1.0 | 3.5 | 1.0 | -0.5 | -20.125 | 2.0 ]; 10786 input int in2 = [ 8 | -192 | -66 | 2 | 1 | -12 | 11 | 255 | 5 | 0 ]; 10787 output ivec3 out0 = [ ivec3(1, 0, 8) | ivec3(1, 36, -192) | ivec3(0, 0, -66) | ivec3(0, -8, 2) | ivec3(1, 1, 1) | ivec3(0, 3, -12) | ivec3(1, 1, 11) | ivec3(0, 0, 255) | ivec3(0, -20, 5) | ivec3(1, 2, 0) ]; 10788 } 10789 10790 both "" 10791 #version 300 es 10792 precision mediump float; 10793 precision mediump int; 10794 10795 ${DECLARATIONS} 10796 10797 void main() 10798 { 10799 ${SETUP} 10800 out0 = ivec3(in0, in1, in2); 10801 ${OUTPUT} 10802 } 10803 "" 10804 end 10805 10806 case bool_float_int_to_bvec3 10807 version 300 es 10808 values 10809 { 10810 input bool in0 = [ true | true | false | false | true | false | true | false | false | true ]; 10811 input float in1 = [ 0.0 | 36.8125 | 0.0 | -8.25 | 1.0 | 3.5 | 1.0 | -0.5 | -20.125 | 2.0 ]; 10812 input int in2 = [ 8 | -192 | -66 | 2 | 1 | -12 | 11 | 255 | 5 | 0 ]; 10813 output bvec3 out0 = [ bvec3(true, false, true) | bvec3(true, true, true) | bvec3(false, false, true) | bvec3(false, true, true) | bvec3(true, true, true) | bvec3(false, true, true) | bvec3(true, true, true) | bvec3(false, true, true) | bvec3(false, true, true) | bvec3(true, true, false) ]; 10814 } 10815 10816 both "" 10817 #version 300 es 10818 precision mediump float; 10819 precision mediump int; 10820 10821 ${DECLARATIONS} 10822 10823 void main() 10824 { 10825 ${SETUP} 10826 out0 = bvec3(in0, in1, in2); 10827 ${OUTPUT} 10828 } 10829 "" 10830 end 10831 10832 case vec2_bool_to_vec3 10833 version 300 es 10834 values 10835 { 10836 input vec2 in0 = [ vec2(1.0, 1.25) | vec2(-0.75, -0.0322580645161) | vec2(-32.0, 64.0) | vec2(-0.5, -2.25) | vec2(0.0, 0.5) ]; 10837 input bool in1 = [ false | true | true | true | false ]; 10838 output vec3 out0 = [ vec3(1.0, 1.25, 0.0) | vec3(-0.75, -0.0322580645161, 1.0) | vec3(-32.0, 64.0, 1.0) | vec3(-0.5, -2.25, 1.0) | vec3(0.0, 0.5, 0.0) ]; 10839 } 10840 10841 both "" 10842 #version 300 es 10843 precision mediump float; 10844 precision mediump int; 10845 10846 ${DECLARATIONS} 10847 10848 void main() 10849 { 10850 ${SETUP} 10851 out0 = vec3(in0, in1); 10852 ${OUTPUT} 10853 } 10854 "" 10855 end 10856 10857 case vec2_bool_to_ivec3 10858 version 300 es 10859 values 10860 { 10861 input vec2 in0 = [ vec2(1.0, 1.25) | vec2(-0.75, -0.0322580645161) | vec2(-32.0, 64.0) | vec2(-0.5, -2.25) | vec2(0.0, 0.5) ]; 10862 input bool in1 = [ false | true | true | true | false ]; 10863 output ivec3 out0 = [ ivec3(1, 1, 0) | ivec3(0, 0, 1) | ivec3(-32, 64, 1) | ivec3(0, -2, 1) | ivec3(0, 0, 0) ]; 10864 } 10865 10866 both "" 10867 #version 300 es 10868 precision mediump float; 10869 precision mediump int; 10870 10871 ${DECLARATIONS} 10872 10873 void main() 10874 { 10875 ${SETUP} 10876 out0 = ivec3(in0, in1); 10877 ${OUTPUT} 10878 } 10879 "" 10880 end 10881 10882 case vec2_bool_to_bvec3 10883 version 300 es 10884 values 10885 { 10886 input vec2 in0 = [ vec2(1.0, 1.25) | vec2(-0.75, -0.0322580645161) | vec2(-32.0, 64.0) | vec2(-0.5, -2.25) | vec2(0.0, 0.5) ]; 10887 input bool in1 = [ false | true | true | true | false ]; 10888 output bvec3 out0 = [ bvec3(true, true, false) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(false, true, false) ]; 10889 } 10890 10891 both "" 10892 #version 300 es 10893 precision mediump float; 10894 precision mediump int; 10895 10896 ${DECLARATIONS} 10897 10898 void main() 10899 { 10900 ${SETUP} 10901 out0 = bvec3(in0, in1); 10902 ${OUTPUT} 10903 } 10904 "" 10905 end 10906 10907 case bvec2_float_to_vec3 10908 version 300 es 10909 values 10910 { 10911 input bvec2 in0 = [ bvec2(true, false) | bvec2(false, true) | bvec2(false, true) | bvec2(true, false) | bvec2(false, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ]; 10912 input float in1 = [ -20.125 | 2.0 | 36.8125 | 1.0 | 3.5 | 0.0 | -8.25 | -0.5 ]; 10913 output vec3 out0 = [ vec3(1.0, 0.0, -20.125) | vec3(0.0, 1.0, 2.0) | vec3(0.0, 1.0, 36.8125) | vec3(1.0, 0.0, 1.0) | vec3(0.0, 0.0, 3.5) | vec3(0.0, 0.0, 0.0) | vec3(1.0, 1.0, -8.25) | vec3(0.0, 0.0, -0.5) ]; 10914 } 10915 10916 both "" 10917 #version 300 es 10918 precision mediump float; 10919 precision mediump int; 10920 10921 ${DECLARATIONS} 10922 10923 void main() 10924 { 10925 ${SETUP} 10926 out0 = vec3(in0, in1); 10927 ${OUTPUT} 10928 } 10929 "" 10930 end 10931 10932 case bvec2_float_to_ivec3 10933 version 300 es 10934 values 10935 { 10936 input bvec2 in0 = [ bvec2(true, false) | bvec2(false, true) | bvec2(false, true) | bvec2(true, false) | bvec2(false, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ]; 10937 input float in1 = [ -20.125 | 2.0 | 36.8125 | 1.0 | 3.5 | 0.0 | -8.25 | -0.5 ]; 10938 output ivec3 out0 = [ ivec3(1, 0, -20) | ivec3(0, 1, 2) | ivec3(0, 1, 36) | ivec3(1, 0, 1) | ivec3(0, 0, 3) | ivec3(0, 0, 0) | ivec3(1, 1, -8) | ivec3(0, 0, 0) ]; 10939 } 10940 10941 both "" 10942 #version 300 es 10943 precision mediump float; 10944 precision mediump int; 10945 10946 ${DECLARATIONS} 10947 10948 void main() 10949 { 10950 ${SETUP} 10951 out0 = ivec3(in0, in1); 10952 ${OUTPUT} 10953 } 10954 "" 10955 end 10956 10957 case bvec2_float_to_bvec3 10958 version 300 es 10959 values 10960 { 10961 input bvec2 in0 = [ bvec2(true, false) | bvec2(false, true) | bvec2(false, true) | bvec2(true, false) | bvec2(false, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) ]; 10962 input float in1 = [ -20.125 | 2.0 | 36.8125 | 1.0 | 3.5 | 0.0 | -8.25 | -0.5 ]; 10963 output bvec3 out0 = [ bvec3(true, false, true) | bvec3(false, true, true) | bvec3(false, true, true) | bvec3(true, false, true) | bvec3(false, false, true) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, false, true) ]; 10964 } 10965 10966 both "" 10967 #version 300 es 10968 precision mediump float; 10969 precision mediump int; 10970 10971 ${DECLARATIONS} 10972 10973 void main() 10974 { 10975 ${SETUP} 10976 out0 = bvec3(in0, in1); 10977 ${OUTPUT} 10978 } 10979 "" 10980 end 10981 10982 case bvec2_int_to_vec3 10983 version 300 es 10984 values 10985 { 10986 input bvec2 in0 = [ bvec2(true, true) | bvec2(false, false) | bvec2(false, false) | bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, false) | bvec2(false, true) | bvec2(false, false) | bvec2(true, true) ]; 10987 input int in1 = [ 1 | -66 | 255 | 8 | -192 | 2 | 5 | 11 | -12 | 0 ]; 10988 output vec3 out0 = [ vec3(1.0, 1.0, 1.0) | vec3(0.0, 0.0, -66.0) | vec3(0.0, 0.0, 255.0) | vec3(1.0, 0.0, 8.0) | vec3(0.0, 0.0, -192.0) | vec3(0.0, 1.0, 2.0) | vec3(1.0, 0.0, 5.0) | vec3(0.0, 1.0, 11.0) | vec3(0.0, 0.0, -12.0) | vec3(1.0, 1.0, 0.0) ]; 10989 } 10990 10991 both "" 10992 #version 300 es 10993 precision mediump float; 10994 precision mediump int; 10995 10996 ${DECLARATIONS} 10997 10998 void main() 10999 { 11000 ${SETUP} 11001 out0 = vec3(in0, in1); 11002 ${OUTPUT} 11003 } 11004 "" 11005 end 11006 11007 case bvec2_int_to_ivec3 11008 version 300 es 11009 values 11010 { 11011 input bvec2 in0 = [ bvec2(true, true) | bvec2(false, false) | bvec2(false, false) | bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, false) | bvec2(false, true) | bvec2(false, false) | bvec2(true, true) ]; 11012 input int in1 = [ 1 | -66 | 255 | 8 | -192 | 2 | 5 | 11 | -12 | 0 ]; 11013 output ivec3 out0 = [ ivec3(1, 1, 1) | ivec3(0, 0, -66) | ivec3(0, 0, 255) | ivec3(1, 0, 8) | ivec3(0, 0, -192) | ivec3(0, 1, 2) | ivec3(1, 0, 5) | ivec3(0, 1, 11) | ivec3(0, 0, -12) | ivec3(1, 1, 0) ]; 11014 } 11015 11016 both "" 11017 #version 300 es 11018 precision mediump float; 11019 precision mediump int; 11020 11021 ${DECLARATIONS} 11022 11023 void main() 11024 { 11025 ${SETUP} 11026 out0 = ivec3(in0, in1); 11027 ${OUTPUT} 11028 } 11029 "" 11030 end 11031 11032 case bvec2_int_to_bvec3 11033 version 300 es 11034 values 11035 { 11036 input bvec2 in0 = [ bvec2(true, true) | bvec2(false, false) | bvec2(false, false) | bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, false) | bvec2(false, true) | bvec2(false, false) | bvec2(true, true) ]; 11037 input int in1 = [ 1 | -66 | 255 | 8 | -192 | 2 | 5 | 11 | -12 | 0 ]; 11038 output bvec3 out0 = [ bvec3(true, true, true) | bvec3(false, false, true) | bvec3(false, false, true) | bvec3(true, false, true) | bvec3(false, false, true) | bvec3(false, true, true) | bvec3(true, false, true) | bvec3(false, true, true) | bvec3(false, false, true) | bvec3(true, true, false) ]; 11039 } 11040 11041 both "" 11042 #version 300 es 11043 precision mediump float; 11044 precision mediump int; 11045 11046 ${DECLARATIONS} 11047 11048 void main() 11049 { 11050 ${SETUP} 11051 out0 = bvec3(in0, in1); 11052 ${OUTPUT} 11053 } 11054 "" 11055 end 11056 11057 case bool_ivec2_to_vec3 11058 version 300 es 11059 values 11060 { 11061 input bool in0 = [ true | true | false | false | true ]; 11062 input ivec2 in1 = [ ivec2(0, -2) | ivec2(0, 0) | ivec2(0, 0) | ivec2(1, 1) | ivec2(-32, 64) ]; 11063 output vec3 out0 = [ vec3(1.0, 0.0, -2.0) | vec3(1.0, 0.0, 0.0) | vec3(0.0, 0.0, 0.0) | vec3(0.0, 1.0, 1.0) | vec3(1.0, -32.0, 64.0) ]; 11064 } 11065 11066 both "" 11067 #version 300 es 11068 precision mediump float; 11069 precision mediump int; 11070 11071 ${DECLARATIONS} 11072 11073 void main() 11074 { 11075 ${SETUP} 11076 out0 = vec3(in0, in1); 11077 ${OUTPUT} 11078 } 11079 "" 11080 end 11081 11082 case bool_ivec2_to_ivec3 11083 version 300 es 11084 values 11085 { 11086 input bool in0 = [ true | true | false | false | true ]; 11087 input ivec2 in1 = [ ivec2(0, -2) | ivec2(0, 0) | ivec2(0, 0) | ivec2(1, 1) | ivec2(-32, 64) ]; 11088 output ivec3 out0 = [ ivec3(1, 0, -2) | ivec3(1, 0, 0) | ivec3(0, 0, 0) | ivec3(0, 1, 1) | ivec3(1, -32, 64) ]; 11089 } 11090 11091 both "" 11092 #version 300 es 11093 precision mediump float; 11094 precision mediump int; 11095 11096 ${DECLARATIONS} 11097 11098 void main() 11099 { 11100 ${SETUP} 11101 out0 = ivec3(in0, in1); 11102 ${OUTPUT} 11103 } 11104 "" 11105 end 11106 11107 case bool_ivec2_to_bvec3 11108 version 300 es 11109 values 11110 { 11111 input bool in0 = [ true | true | false | false | true ]; 11112 input ivec2 in1 = [ ivec2(0, -2) | ivec2(0, 0) | ivec2(0, 0) | ivec2(1, 1) | ivec2(-32, 64) ]; 11113 output bvec3 out0 = [ bvec3(true, false, true) | bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, true) | bvec3(true, true, true) ]; 11114 } 11115 11116 both "" 11117 #version 300 es 11118 precision mediump float; 11119 precision mediump int; 11120 11121 ${DECLARATIONS} 11122 11123 void main() 11124 { 11125 ${SETUP} 11126 out0 = bvec3(in0, in1); 11127 ${OUTPUT} 11128 } 11129 "" 11130 end 11131 11132 case float_uvec2_to_vec3 11133 version 300 es 11134 values 11135 { 11136 input float in0 = [ -20.125 | 36.8125 | -8.25 | 2.0 | -0.5 | 0.0 | 3.5 | 1.0 ]; 11137 input uvec2 in1 = [ uvec2(0, 0) | uvec2(0, 2) | uvec2(32, 64) | uvec2(0, 0) | uvec2(0, 2) | uvec2(0, 0) | uvec2(1, 1) | uvec2(1, 1) ]; 11138 output vec3 out0 = [ vec3(-20.125, 0.0, 0.0) | vec3(36.8125, 0.0, 2.0) | vec3(-8.25, 32.0, 64.0) | vec3(2.0, 0.0, 0.0) | vec3(-0.5, 0.0, 2.0) | vec3(0.0, 0.0, 0.0) | vec3(3.5, 1.0, 1.0) | vec3(1.0, 1.0, 1.0) ]; 11139 } 11140 11141 both "" 11142 #version 300 es 11143 precision mediump float; 11144 precision mediump int; 11145 11146 ${DECLARATIONS} 11147 11148 void main() 11149 { 11150 ${SETUP} 11151 out0 = vec3(in0, in1); 11152 ${OUTPUT} 11153 } 11154 "" 11155 end 11156 11157 case float_uvec2_to_ivec3 11158 version 300 es 11159 values 11160 { 11161 input float in0 = [ -20.125 | 36.8125 | -8.25 | 2.0 | -0.5 | 0.0 | 3.5 | 1.0 ]; 11162 input uvec2 in1 = [ uvec2(0, 0) | uvec2(0, 2) | uvec2(32, 64) | uvec2(0, 0) | uvec2(0, 2) | uvec2(0, 0) | uvec2(1, 1) | uvec2(1, 1) ]; 11163 output ivec3 out0 = [ ivec3(-20, 0, 0) | ivec3(36, 0, 2) | ivec3(-8, 32, 64) | ivec3(2, 0, 0) | ivec3(0, 0, 2) | ivec3(0, 0, 0) | ivec3(3, 1, 1) | ivec3(1, 1, 1) ]; 11164 } 11165 11166 both "" 11167 #version 300 es 11168 precision mediump float; 11169 precision mediump int; 11170 11171 ${DECLARATIONS} 11172 11173 void main() 11174 { 11175 ${SETUP} 11176 out0 = ivec3(in0, in1); 11177 ${OUTPUT} 11178 } 11179 "" 11180 end 11181 11182 case float_uvec2_to_bvec3 11183 version 300 es 11184 values 11185 { 11186 input float in0 = [ -20.125 | 36.8125 | -8.25 | 2.0 | -0.5 | 0.0 | 3.5 | 1.0 ]; 11187 input uvec2 in1 = [ uvec2(0, 0) | uvec2(0, 2) | uvec2(32, 64) | uvec2(0, 0) | uvec2(0, 2) | uvec2(0, 0) | uvec2(1, 1) | uvec2(1, 1) ]; 11188 output bvec3 out0 = [ bvec3(true, false, false) | bvec3(true, false, true) | bvec3(true, true, true) | bvec3(true, false, false) | bvec3(true, false, true) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(true, true, true) ]; 11189 } 11190 11191 both "" 11192 #version 300 es 11193 precision mediump float; 11194 precision mediump int; 11195 11196 ${DECLARATIONS} 11197 11198 void main() 11199 { 11200 ${SETUP} 11201 out0 = bvec3(in0, in1); 11202 ${OUTPUT} 11203 } 11204 "" 11205 end 11206 11207 case float_float_float_to_uvec3 11208 version 300 es 11209 values 11210 { 11211 input float in0 = [ 8.25 | 20.125 | 2.0 | 3.5 | 0.5 | 36.8125 | 1.0 | 0.0 ]; 11212 input float in1 = [ 1.0 | 0.0 | 3.5 | 36.8125 | 8.25 | 2.0 | 0.5 | 20.125 ]; 11213 input float in2 = [ 20.125 | 0.5 | 8.25 | 36.8125 | 1.0 | 0.0 | 3.5 | 2.0 ]; 11214 output uvec3 out0 = [ uvec3(8, 1, 20) | uvec3(20, 0, 0) | uvec3(2, 3, 8) | uvec3(3, 36, 36) | uvec3(0, 8, 1) | uvec3(36, 2, 0) | uvec3(1, 0, 3) | uvec3(0, 20, 2) ]; 11215 } 11216 11217 both "" 11218 #version 300 es 11219 precision mediump float; 11220 precision mediump int; 11221 11222 ${DECLARATIONS} 11223 11224 void main() 11225 { 11226 ${SETUP} 11227 out0 = uvec3(in0, in1, in2); 11228 ${OUTPUT} 11229 } 11230 "" 11231 end 11232 11233 case int_int_int_to_uvec3 11234 version 300 es 11235 values 11236 { 11237 input int in0 = [ 1 | 255 | 192 | 2 | 5 | 12 | 0 | 11 | 8 | 66 ]; 11238 input int in1 = [ 192 | 66 | 5 | 8 | 11 | 1 | 0 | 255 | 12 | 2 ]; 11239 input int in2 = [ 192 | 5 | 1 | 11 | 66 | 8 | 12 | 0 | 2 | 255 ]; 11240 output uvec3 out0 = [ uvec3(1, 192, 192) | uvec3(255, 66, 5) | uvec3(192, 5, 1) | uvec3(2, 8, 11) | uvec3(5, 11, 66) | uvec3(12, 1, 8) | uvec3(0, 0, 12) | uvec3(11, 255, 0) | uvec3(8, 12, 2) | uvec3(66, 2, 255) ]; 11241 } 11242 11243 both "" 11244 #version 300 es 11245 precision mediump float; 11246 precision mediump int; 11247 11248 ${DECLARATIONS} 11249 11250 void main() 11251 { 11252 ${SETUP} 11253 out0 = uvec3(in0, in1, in2); 11254 ${OUTPUT} 11255 } 11256 "" 11257 end 11258 11259 case uint_uint_uint_to_uvec3 11260 version 300 es 11261 values 11262 { 11263 input uint in0 = [ 193 | 9 | 45 | 255 | 2 | 0 | 10 | 8 | 12 | 3 ]; 11264 input uint in1 = [ 3 | 45 | 2 | 9 | 10 | 0 | 8 | 12 | 255 | 193 ]; 11265 input uint in2 = [ 2 | 3 | 9 | 10 | 255 | 8 | 12 | 0 | 193 | 45 ]; 11266 output uvec3 out0 = [ uvec3(193, 3, 2) | uvec3(9, 45, 3) | uvec3(45, 2, 9) | uvec3(255, 9, 10) | uvec3(2, 10, 255) | uvec3(0, 0, 8) | uvec3(10, 8, 12) | uvec3(8, 12, 0) | uvec3(12, 255, 193) | uvec3(3, 193, 45) ]; 11267 } 11268 11269 both "" 11270 #version 300 es 11271 precision mediump float; 11272 precision mediump int; 11273 11274 ${DECLARATIONS} 11275 11276 void main() 11277 { 11278 ${SETUP} 11279 out0 = uvec3(in0, in1, in2); 11280 ${OUTPUT} 11281 } 11282 "" 11283 end 11284 11285 case bool_bool_bool_to_uvec3 11286 version 300 es 11287 values 11288 { 11289 input bool in0 = [ false | true ]; 11290 input bool in1 = [ false | true ]; 11291 input bool in2 = [ true | false ]; 11292 output uvec3 out0 = [ uvec3(0, 0, 1) | uvec3(1, 1, 0) ]; 11293 } 11294 11295 both "" 11296 #version 300 es 11297 precision mediump float; 11298 precision mediump int; 11299 11300 ${DECLARATIONS} 11301 11302 void main() 11303 { 11304 ${SETUP} 11305 out0 = uvec3(in0, in1, in2); 11306 ${OUTPUT} 11307 } 11308 "" 11309 end 11310 11311 case bool_float_int_to_uvec3 11312 version 300 es 11313 values 11314 { 11315 input bool in0 = [ true | false | true | false | false | true | false | true | true | false ]; 11316 input float in1 = [ 36.8125 | 20.125 | 1.0 | 0.0 | 3.5 | 1.0 | 2.0 | 0.5 | 0.0 | 8.25 ]; 11317 input int in2 = [ 1 | 0 | 8 | 66 | 2 | 11 | 192 | 5 | 12 | 255 ]; 11318 output uvec3 out0 = [ uvec3(1, 36, 1) | uvec3(0, 20, 0) | uvec3(1, 1, 8) | uvec3(0, 0, 66) | uvec3(0, 3, 2) | uvec3(1, 1, 11) | uvec3(0, 2, 192) | uvec3(1, 0, 5) | uvec3(1, 0, 12) | uvec3(0, 8, 255) ]; 11319 } 11320 11321 both "" 11322 #version 300 es 11323 precision mediump float; 11324 precision mediump int; 11325 11326 ${DECLARATIONS} 11327 11328 void main() 11329 { 11330 ${SETUP} 11331 out0 = uvec3(in0, in1, in2); 11332 ${OUTPUT} 11333 } 11334 "" 11335 end 11336 11337 case vec2_bool_to_uvec3 11338 version 300 es 11339 values 11340 { 11341 input vec2 in0 = [ vec2(0.0, 0.5) | vec2(32.0, 64.0) | vec2(0.5, 2.25) | vec2(1.0, 1.25) | vec2(0.75, 0.0322580645161) ]; 11342 input bool in1 = [ false | false | true | true | true ]; 11343 output uvec3 out0 = [ uvec3(0, 0, 0) | uvec3(32, 64, 0) | uvec3(0, 2, 1) | uvec3(1, 1, 1) | uvec3(0, 0, 1) ]; 11344 } 11345 11346 both "" 11347 #version 300 es 11348 precision mediump float; 11349 precision mediump int; 11350 11351 ${DECLARATIONS} 11352 11353 void main() 11354 { 11355 ${SETUP} 11356 out0 = uvec3(in0, in1); 11357 ${OUTPUT} 11358 } 11359 "" 11360 end 11361 11362 case bvec2_float_to_uvec3 11363 version 300 es 11364 values 11365 { 11366 input bvec2 in0 = [ bvec2(true, true) | bvec2(true, false) | bvec2(false, true) | bvec2(false, false) | bvec2(true, false) | bvec2(false, true) | bvec2(false, false) | bvec2(false, false) ]; 11367 input float in1 = [ 8.25 | 36.8125 | 20.125 | 2.0 | 0.0 | 1.0 | 0.5 | 3.5 ]; 11368 output uvec3 out0 = [ uvec3(1, 1, 8) | uvec3(1, 0, 36) | uvec3(0, 1, 20) | uvec3(0, 0, 2) | uvec3(1, 0, 0) | uvec3(0, 1, 1) | uvec3(0, 0, 0) | uvec3(0, 0, 3) ]; 11369 } 11370 11371 both "" 11372 #version 300 es 11373 precision mediump float; 11374 precision mediump int; 11375 11376 ${DECLARATIONS} 11377 11378 void main() 11379 { 11380 ${SETUP} 11381 out0 = uvec3(in0, in1); 11382 ${OUTPUT} 11383 } 11384 "" 11385 end 11386 11387 case bvec2_int_to_uvec3 11388 version 300 es 11389 values 11390 { 11391 input bvec2 in0 = [ bvec2(true, true) | bvec2(false, true) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) | bvec2(true, false) | bvec2(false, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, false) ]; 11392 input int in1 = [ 255 | 1 | 2 | 5 | 0 | 11 | 192 | 12 | 8 | 66 ]; 11393 output uvec3 out0 = [ uvec3(1, 1, 255) | uvec3(0, 1, 1) | uvec3(0, 0, 2) | uvec3(1, 1, 5) | uvec3(0, 0, 0) | uvec3(1, 0, 11) | uvec3(0, 0, 192) | uvec3(0, 0, 12) | uvec3(0, 1, 8) | uvec3(1, 0, 66) ]; 11394 } 11395 11396 both "" 11397 #version 300 es 11398 precision mediump float; 11399 precision mediump int; 11400 11401 ${DECLARATIONS} 11402 11403 void main() 11404 { 11405 ${SETUP} 11406 out0 = uvec3(in0, in1); 11407 ${OUTPUT} 11408 } 11409 "" 11410 end 11411 11412 case bool_ivec2_to_uvec3 11413 version 300 es 11414 values 11415 { 11416 input bool in0 = [ true | false | true | true | false ]; 11417 input ivec2 in1 = [ ivec2(0, 0) | ivec2(0, 2) | ivec2(1, 1) | ivec2(0, 0) | ivec2(32, 64) ]; 11418 output uvec3 out0 = [ uvec3(1, 0, 0) | uvec3(0, 0, 2) | uvec3(1, 1, 1) | uvec3(1, 0, 0) | uvec3(0, 32, 64) ]; 11419 } 11420 11421 both "" 11422 #version 300 es 11423 precision mediump float; 11424 precision mediump int; 11425 11426 ${DECLARATIONS} 11427 11428 void main() 11429 { 11430 ${SETUP} 11431 out0 = uvec3(in0, in1); 11432 ${OUTPUT} 11433 } 11434 "" 11435 end 11436 11437 case float_uvec2_to_uvec3 11438 version 300 es 11439 values 11440 { 11441 input float in0 = [ 2.0 | 8.25 | 20.125 | 3.5 | 0.0 | 0.5 | 36.8125 | 1.0 ]; 11442 input uvec2 in1 = [ uvec2(0, 2) | uvec2(1, 1) | uvec2(32, 64) | uvec2(0, 0) | uvec2(0, 2) | uvec2(0, 0) | uvec2(1, 1) | uvec2(0, 0) ]; 11443 output uvec3 out0 = [ uvec3(2, 0, 2) | uvec3(8, 1, 1) | uvec3(20, 32, 64) | uvec3(3, 0, 0) | uvec3(0, 0, 2) | uvec3(0, 0, 0) | uvec3(36, 1, 1) | uvec3(1, 0, 0) ]; 11444 } 11445 11446 both "" 11447 #version 300 es 11448 precision mediump float; 11449 precision mediump int; 11450 11451 ${DECLARATIONS} 11452 11453 void main() 11454 { 11455 ${SETUP} 11456 out0 = uvec3(in0, in1); 11457 ${OUTPUT} 11458 } 11459 "" 11460 end 11461 11462 case float_float_to_vec2 11463 version 300 es 11464 values 11465 { 11466 input float in0 = [ -0.5 | -20.125 | 1.0 | 2.0 | 3.5 | 36.8125 | -8.25 | 0.0 ]; 11467 input float in1 = [ 1.0 | -20.125 | 0.0 | 3.5 | -8.25 | 36.8125 | -0.5 | 2.0 ]; 11468 output vec2 out0 = [ vec2(-0.5, 1.0) | vec2(-20.125, -20.125) | vec2(1.0, 0.0) | vec2(2.0, 3.5) | vec2(3.5, -8.25) | vec2(36.8125, 36.8125) | vec2(-8.25, -0.5) | vec2(0.0, 2.0) ]; 11469 } 11470 11471 both "" 11472 #version 300 es 11473 precision mediump float; 11474 precision mediump int; 11475 11476 ${DECLARATIONS} 11477 11478 void main() 11479 { 11480 ${SETUP} 11481 out0 = vec2(in0, in1); 11482 ${OUTPUT} 11483 } 11484 "" 11485 end 11486 11487 case float_float_to_ivec2 11488 version 300 es 11489 values 11490 { 11491 input float in0 = [ -0.5 | -20.125 | 1.0 | 2.0 | 3.5 | 36.8125 | -8.25 | 0.0 ]; 11492 input float in1 = [ 1.0 | -20.125 | 0.0 | 3.5 | -8.25 | 36.8125 | -0.5 | 2.0 ]; 11493 output ivec2 out0 = [ ivec2(0, 1) | ivec2(-20, -20) | ivec2(1, 0) | ivec2(2, 3) | ivec2(3, -8) | ivec2(36, 36) | ivec2(-8, 0) | ivec2(0, 2) ]; 11494 } 11495 11496 both "" 11497 #version 300 es 11498 precision mediump float; 11499 precision mediump int; 11500 11501 ${DECLARATIONS} 11502 11503 void main() 11504 { 11505 ${SETUP} 11506 out0 = ivec2(in0, in1); 11507 ${OUTPUT} 11508 } 11509 "" 11510 end 11511 11512 case float_float_to_bvec2 11513 version 300 es 11514 values 11515 { 11516 input float in0 = [ -0.5 | -20.125 | 1.0 | 2.0 | 3.5 | 36.8125 | -8.25 | 0.0 ]; 11517 input float in1 = [ 1.0 | -20.125 | 0.0 | 3.5 | -8.25 | 36.8125 | -0.5 | 2.0 ]; 11518 output bvec2 out0 = [ bvec2(true, true) | bvec2(true, true) | bvec2(true, false) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(false, true) ]; 11519 } 11520 11521 both "" 11522 #version 300 es 11523 precision mediump float; 11524 precision mediump int; 11525 11526 ${DECLARATIONS} 11527 11528 void main() 11529 { 11530 ${SETUP} 11531 out0 = bvec2(in0, in1); 11532 ${OUTPUT} 11533 } 11534 "" 11535 end 11536 11537 case int_int_to_vec2 11538 version 300 es 11539 values 11540 { 11541 input int in0 = [ 2 | -66 | 0 | 5 | -12 | 8 | -192 | 1 | 11 | 255 ]; 11542 input int in1 = [ -192 | 8 | 1 | 0 | 5 | -66 | 2 | 255 | 11 | -12 ]; 11543 output vec2 out0 = [ vec2(2.0, -192.0) | vec2(-66.0, 8.0) | vec2(0.0, 1.0) | vec2(5.0, 0.0) | vec2(-12.0, 5.0) | vec2(8.0, -66.0) | vec2(-192.0, 2.0) | vec2(1.0, 255.0) | vec2(11.0, 11.0) | vec2(255.0, -12.0) ]; 11544 } 11545 11546 both "" 11547 #version 300 es 11548 precision mediump float; 11549 precision mediump int; 11550 11551 ${DECLARATIONS} 11552 11553 void main() 11554 { 11555 ${SETUP} 11556 out0 = vec2(in0, in1); 11557 ${OUTPUT} 11558 } 11559 "" 11560 end 11561 11562 case int_int_to_ivec2 11563 version 300 es 11564 values 11565 { 11566 input int in0 = [ 2 | -66 | 0 | 5 | -12 | 8 | -192 | 1 | 11 | 255 ]; 11567 input int in1 = [ -192 | 8 | 1 | 0 | 5 | -66 | 2 | 255 | 11 | -12 ]; 11568 output ivec2 out0 = [ ivec2(2, -192) | ivec2(-66, 8) | ivec2(0, 1) | ivec2(5, 0) | ivec2(-12, 5) | ivec2(8, -66) | ivec2(-192, 2) | ivec2(1, 255) | ivec2(11, 11) | ivec2(255, -12) ]; 11569 } 11570 11571 both "" 11572 #version 300 es 11573 precision mediump float; 11574 precision mediump int; 11575 11576 ${DECLARATIONS} 11577 11578 void main() 11579 { 11580 ${SETUP} 11581 out0 = ivec2(in0, in1); 11582 ${OUTPUT} 11583 } 11584 "" 11585 end 11586 11587 case int_int_to_bvec2 11588 version 300 es 11589 values 11590 { 11591 input int in0 = [ 2 | -66 | 0 | 5 | -12 | 8 | -192 | 1 | 11 | 255 ]; 11592 input int in1 = [ -192 | 8 | 1 | 0 | 5 | -66 | 2 | 255 | 11 | -12 ]; 11593 output bvec2 out0 = [ bvec2(true, true) | bvec2(true, true) | bvec2(false, true) | bvec2(true, false) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) ]; 11594 } 11595 11596 both "" 11597 #version 300 es 11598 precision mediump float; 11599 precision mediump int; 11600 11601 ${DECLARATIONS} 11602 11603 void main() 11604 { 11605 ${SETUP} 11606 out0 = bvec2(in0, in1); 11607 ${OUTPUT} 11608 } 11609 "" 11610 end 11611 11612 case uint_uint_to_vec2 11613 version 300 es 11614 values 11615 { 11616 input uint in0 = [ 9 | 12 | 0 | 255 | 8 | 45 | 3 | 2 | 10 | 193 ]; 11617 input uint in1 = [ 8 | 9 | 45 | 2 | 12 | 193 | 255 | 0 | 3 | 10 ]; 11618 output vec2 out0 = [ vec2(9.0, 8.0) | vec2(12.0, 9.0) | vec2(0.0, 45.0) | vec2(255.0, 2.0) | vec2(8.0, 12.0) | vec2(45.0, 193.0) | vec2(3.0, 255.0) | vec2(2.0, 0.0) | vec2(10.0, 3.0) | vec2(193.0, 10.0) ]; 11619 } 11620 11621 both "" 11622 #version 300 es 11623 precision mediump float; 11624 precision mediump int; 11625 11626 ${DECLARATIONS} 11627 11628 void main() 11629 { 11630 ${SETUP} 11631 out0 = vec2(in0, in1); 11632 ${OUTPUT} 11633 } 11634 "" 11635 end 11636 11637 case uint_uint_to_ivec2 11638 version 300 es 11639 values 11640 { 11641 input uint in0 = [ 9 | 12 | 0 | 255 | 8 | 45 | 3 | 2 | 10 | 193 ]; 11642 input uint in1 = [ 8 | 9 | 45 | 2 | 12 | 193 | 255 | 0 | 3 | 10 ]; 11643 output ivec2 out0 = [ ivec2(9, 8) | ivec2(12, 9) | ivec2(0, 45) | ivec2(255, 2) | ivec2(8, 12) | ivec2(45, 193) | ivec2(3, 255) | ivec2(2, 0) | ivec2(10, 3) | ivec2(193, 10) ]; 11644 } 11645 11646 both "" 11647 #version 300 es 11648 precision mediump float; 11649 precision mediump int; 11650 11651 ${DECLARATIONS} 11652 11653 void main() 11654 { 11655 ${SETUP} 11656 out0 = ivec2(in0, in1); 11657 ${OUTPUT} 11658 } 11659 "" 11660 end 11661 11662 case uint_uint_to_bvec2 11663 version 300 es 11664 values 11665 { 11666 input uint in0 = [ 9 | 12 | 0 | 255 | 8 | 45 | 3 | 2 | 10 | 193 ]; 11667 input uint in1 = [ 8 | 9 | 45 | 2 | 12 | 193 | 255 | 0 | 3 | 10 ]; 11668 output bvec2 out0 = [ bvec2(true, true) | bvec2(true, true) | bvec2(false, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, false) | bvec2(true, true) | bvec2(true, true) ]; 11669 } 11670 11671 both "" 11672 #version 300 es 11673 precision mediump float; 11674 precision mediump int; 11675 11676 ${DECLARATIONS} 11677 11678 void main() 11679 { 11680 ${SETUP} 11681 out0 = bvec2(in0, in1); 11682 ${OUTPUT} 11683 } 11684 "" 11685 end 11686 11687 case bool_bool_to_vec2 11688 version 300 es 11689 values 11690 { 11691 input bool in0 = [ true | false ]; 11692 input bool in1 = [ true | false ]; 11693 output vec2 out0 = [ vec2(1.0, 1.0) | vec2(0.0, 0.0) ]; 11694 } 11695 11696 both "" 11697 #version 300 es 11698 precision mediump float; 11699 precision mediump int; 11700 11701 ${DECLARATIONS} 11702 11703 void main() 11704 { 11705 ${SETUP} 11706 out0 = vec2(in0, in1); 11707 ${OUTPUT} 11708 } 11709 "" 11710 end 11711 11712 case bool_bool_to_ivec2 11713 version 300 es 11714 values 11715 { 11716 input bool in0 = [ true | false ]; 11717 input bool in1 = [ true | false ]; 11718 output ivec2 out0 = [ ivec2(1, 1) | ivec2(0, 0) ]; 11719 } 11720 11721 both "" 11722 #version 300 es 11723 precision mediump float; 11724 precision mediump int; 11725 11726 ${DECLARATIONS} 11727 11728 void main() 11729 { 11730 ${SETUP} 11731 out0 = ivec2(in0, in1); 11732 ${OUTPUT} 11733 } 11734 "" 11735 end 11736 11737 case bool_bool_to_bvec2 11738 version 300 es 11739 values 11740 { 11741 input bool in0 = [ true | false ]; 11742 input bool in1 = [ true | false ]; 11743 output bvec2 out0 = [ bvec2(true, true) | bvec2(false, false) ]; 11744 } 11745 11746 both "" 11747 #version 300 es 11748 precision mediump float; 11749 precision mediump int; 11750 11751 ${DECLARATIONS} 11752 11753 void main() 11754 { 11755 ${SETUP} 11756 out0 = bvec2(in0, in1); 11757 ${OUTPUT} 11758 } 11759 "" 11760 end 11761 11762 case float_int_to_vec2 11763 version 300 es 11764 values 11765 { 11766 input float in0 = [ 0.0 | 3.5 | 0.0 | 2.0 | -8.25 | 36.8125 | -20.125 | 1.0 | 1.0 | -0.5 ]; 11767 input int in1 = [ -66 | 1 | 255 | -192 | 8 | 2 | 0 | 5 | -12 | 11 ]; 11768 output vec2 out0 = [ vec2(0.0, -66.0) | vec2(3.5, 1.0) | vec2(0.0, 255.0) | vec2(2.0, -192.0) | vec2(-8.25, 8.0) | vec2(36.8125, 2.0) | vec2(-20.125, 0.0) | vec2(1.0, 5.0) | vec2(1.0, -12.0) | vec2(-0.5, 11.0) ]; 11769 } 11770 11771 both "" 11772 #version 300 es 11773 precision mediump float; 11774 precision mediump int; 11775 11776 ${DECLARATIONS} 11777 11778 void main() 11779 { 11780 ${SETUP} 11781 out0 = vec2(in0, in1); 11782 ${OUTPUT} 11783 } 11784 "" 11785 end 11786 11787 case float_int_to_ivec2 11788 version 300 es 11789 values 11790 { 11791 input float in0 = [ 0.0 | 3.5 | 0.0 | 2.0 | -8.25 | 36.8125 | -20.125 | 1.0 | 1.0 | -0.5 ]; 11792 input int in1 = [ -66 | 1 | 255 | -192 | 8 | 2 | 0 | 5 | -12 | 11 ]; 11793 output ivec2 out0 = [ ivec2(0, -66) | ivec2(3, 1) | ivec2(0, 255) | ivec2(2, -192) | ivec2(-8, 8) | ivec2(36, 2) | ivec2(-20, 0) | ivec2(1, 5) | ivec2(1, -12) | ivec2(0, 11) ]; 11794 } 11795 11796 both "" 11797 #version 300 es 11798 precision mediump float; 11799 precision mediump int; 11800 11801 ${DECLARATIONS} 11802 11803 void main() 11804 { 11805 ${SETUP} 11806 out0 = ivec2(in0, in1); 11807 ${OUTPUT} 11808 } 11809 "" 11810 end 11811 11812 case float_int_to_bvec2 11813 version 300 es 11814 values 11815 { 11816 input float in0 = [ 0.0 | 3.5 | 0.0 | 2.0 | -8.25 | 36.8125 | -20.125 | 1.0 | 1.0 | -0.5 ]; 11817 input int in1 = [ -66 | 1 | 255 | -192 | 8 | 2 | 0 | 5 | -12 | 11 ]; 11818 output bvec2 out0 = [ bvec2(false, true) | bvec2(true, true) | bvec2(false, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, false) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) ]; 11819 } 11820 11821 both "" 11822 #version 300 es 11823 precision mediump float; 11824 precision mediump int; 11825 11826 ${DECLARATIONS} 11827 11828 void main() 11829 { 11830 ${SETUP} 11831 out0 = bvec2(in0, in1); 11832 ${OUTPUT} 11833 } 11834 "" 11835 end 11836 11837 case float_bool_to_vec2 11838 version 300 es 11839 values 11840 { 11841 input float in0 = [ 2.0 | 3.5 | 1.0 | -20.125 | -8.25 | 0.0 | -0.5 | 36.8125 ]; 11842 input bool in1 = [ false | true | true | false | false | true | false | true ]; 11843 output vec2 out0 = [ vec2(2.0, 0.0) | vec2(3.5, 1.0) | vec2(1.0, 1.0) | vec2(-20.125, 0.0) | vec2(-8.25, 0.0) | vec2(0.0, 1.0) | vec2(-0.5, 0.0) | vec2(36.8125, 1.0) ]; 11844 } 11845 11846 both "" 11847 #version 300 es 11848 precision mediump float; 11849 precision mediump int; 11850 11851 ${DECLARATIONS} 11852 11853 void main() 11854 { 11855 ${SETUP} 11856 out0 = vec2(in0, in1); 11857 ${OUTPUT} 11858 } 11859 "" 11860 end 11861 11862 case float_bool_to_ivec2 11863 version 300 es 11864 values 11865 { 11866 input float in0 = [ 2.0 | 3.5 | 1.0 | -20.125 | -8.25 | 0.0 | -0.5 | 36.8125 ]; 11867 input bool in1 = [ false | true | true | false | false | true | false | true ]; 11868 output ivec2 out0 = [ ivec2(2, 0) | ivec2(3, 1) | ivec2(1, 1) | ivec2(-20, 0) | ivec2(-8, 0) | ivec2(0, 1) | ivec2(0, 0) | ivec2(36, 1) ]; 11869 } 11870 11871 both "" 11872 #version 300 es 11873 precision mediump float; 11874 precision mediump int; 11875 11876 ${DECLARATIONS} 11877 11878 void main() 11879 { 11880 ${SETUP} 11881 out0 = ivec2(in0, in1); 11882 ${OUTPUT} 11883 } 11884 "" 11885 end 11886 11887 case float_bool_to_bvec2 11888 version 300 es 11889 values 11890 { 11891 input float in0 = [ 2.0 | 3.5 | 1.0 | -20.125 | -8.25 | 0.0 | -0.5 | 36.8125 ]; 11892 input bool in1 = [ false | true | true | false | false | true | false | true ]; 11893 output bvec2 out0 = [ bvec2(true, false) | bvec2(true, true) | bvec2(true, true) | bvec2(true, false) | bvec2(true, false) | bvec2(false, true) | bvec2(true, false) | bvec2(true, true) ]; 11894 } 11895 11896 both "" 11897 #version 300 es 11898 precision mediump float; 11899 precision mediump int; 11900 11901 ${DECLARATIONS} 11902 11903 void main() 11904 { 11905 ${SETUP} 11906 out0 = bvec2(in0, in1); 11907 ${OUTPUT} 11908 } 11909 "" 11910 end 11911 11912 case int_bool_to_vec2 11913 version 300 es 11914 values 11915 { 11916 input int in0 = [ 255 | 2 | -12 | 1 | -192 | 5 | 8 | 0 | -66 | 11 ]; 11917 input bool in1 = [ true | false | false | false | true | false | true | false | true | true ]; 11918 output vec2 out0 = [ vec2(255.0, 1.0) | vec2(2.0, 0.0) | vec2(-12.0, 0.0) | vec2(1.0, 0.0) | vec2(-192.0, 1.0) | vec2(5.0, 0.0) | vec2(8.0, 1.0) | vec2(0.0, 0.0) | vec2(-66.0, 1.0) | vec2(11.0, 1.0) ]; 11919 } 11920 11921 both "" 11922 #version 300 es 11923 precision mediump float; 11924 precision mediump int; 11925 11926 ${DECLARATIONS} 11927 11928 void main() 11929 { 11930 ${SETUP} 11931 out0 = vec2(in0, in1); 11932 ${OUTPUT} 11933 } 11934 "" 11935 end 11936 11937 case int_bool_to_ivec2 11938 version 300 es 11939 values 11940 { 11941 input int in0 = [ 255 | 2 | -12 | 1 | -192 | 5 | 8 | 0 | -66 | 11 ]; 11942 input bool in1 = [ true | false | false | false | true | false | true | false | true | true ]; 11943 output ivec2 out0 = [ ivec2(255, 1) | ivec2(2, 0) | ivec2(-12, 0) | ivec2(1, 0) | ivec2(-192, 1) | ivec2(5, 0) | ivec2(8, 1) | ivec2(0, 0) | ivec2(-66, 1) | ivec2(11, 1) ]; 11944 } 11945 11946 both "" 11947 #version 300 es 11948 precision mediump float; 11949 precision mediump int; 11950 11951 ${DECLARATIONS} 11952 11953 void main() 11954 { 11955 ${SETUP} 11956 out0 = ivec2(in0, in1); 11957 ${OUTPUT} 11958 } 11959 "" 11960 end 11961 11962 case int_bool_to_bvec2 11963 version 300 es 11964 values 11965 { 11966 input int in0 = [ 255 | 2 | -12 | 1 | -192 | 5 | 8 | 0 | -66 | 11 ]; 11967 input bool in1 = [ true | false | false | false | true | false | true | false | true | true ]; 11968 output bvec2 out0 = [ bvec2(true, true) | bvec2(true, false) | bvec2(true, false) | bvec2(true, false) | bvec2(true, true) | bvec2(true, false) | bvec2(true, true) | bvec2(false, false) | bvec2(true, true) | bvec2(true, true) ]; 11969 } 11970 11971 both "" 11972 #version 300 es 11973 precision mediump float; 11974 precision mediump int; 11975 11976 ${DECLARATIONS} 11977 11978 void main() 11979 { 11980 ${SETUP} 11981 out0 = bvec2(in0, in1); 11982 ${OUTPUT} 11983 } 11984 "" 11985 end 11986 11987 case int_uint_to_vec2 11988 version 300 es 11989 values 11990 { 11991 input int in0 = [ -66 | 1 | -192 | -12 | 5 | 255 | 11 | 0 | 2 | 8 ]; 11992 input uint in1 = [ 193 | 0 | 2 | 10 | 255 | 12 | 45 | 8 | 9 | 3 ]; 11993 output vec2 out0 = [ vec2(-66.0, 193.0) | vec2(1.0, 0.0) | vec2(-192.0, 2.0) | vec2(-12.0, 10.0) | vec2(5.0, 255.0) | vec2(255.0, 12.0) | vec2(11.0, 45.0) | vec2(0.0, 8.0) | vec2(2.0, 9.0) | vec2(8.0, 3.0) ]; 11994 } 11995 11996 both "" 11997 #version 300 es 11998 precision mediump float; 11999 precision mediump int; 12000 12001 ${DECLARATIONS} 12002 12003 void main() 12004 { 12005 ${SETUP} 12006 out0 = vec2(in0, in1); 12007 ${OUTPUT} 12008 } 12009 "" 12010 end 12011 12012 case int_uint_to_ivec2 12013 version 300 es 12014 values 12015 { 12016 input int in0 = [ -66 | 1 | -192 | -12 | 5 | 255 | 11 | 0 | 2 | 8 ]; 12017 input uint in1 = [ 193 | 0 | 2 | 10 | 255 | 12 | 45 | 8 | 9 | 3 ]; 12018 output ivec2 out0 = [ ivec2(-66, 193) | ivec2(1, 0) | ivec2(-192, 2) | ivec2(-12, 10) | ivec2(5, 255) | ivec2(255, 12) | ivec2(11, 45) | ivec2(0, 8) | ivec2(2, 9) | ivec2(8, 3) ]; 12019 } 12020 12021 both "" 12022 #version 300 es 12023 precision mediump float; 12024 precision mediump int; 12025 12026 ${DECLARATIONS} 12027 12028 void main() 12029 { 12030 ${SETUP} 12031 out0 = ivec2(in0, in1); 12032 ${OUTPUT} 12033 } 12034 "" 12035 end 12036 12037 case int_uint_to_bvec2 12038 version 300 es 12039 values 12040 { 12041 input int in0 = [ -66 | 1 | -192 | -12 | 5 | 255 | 11 | 0 | 2 | 8 ]; 12042 input uint in1 = [ 193 | 0 | 2 | 10 | 255 | 12 | 45 | 8 | 9 | 3 ]; 12043 output bvec2 out0 = [ bvec2(true, true) | bvec2(true, false) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(false, true) | bvec2(true, true) | bvec2(true, true) ]; 12044 } 12045 12046 both "" 12047 #version 300 es 12048 precision mediump float; 12049 precision mediump int; 12050 12051 ${DECLARATIONS} 12052 12053 void main() 12054 { 12055 ${SETUP} 12056 out0 = bvec2(in0, in1); 12057 ${OUTPUT} 12058 } 12059 "" 12060 end 12061 12062 case uint_float_to_vec2 12063 version 300 es 12064 values 12065 { 12066 input uint in0 = [ 12 | 0 | 8 | 193 | 3 | 10 | 9 | 2 | 45 | 255 ]; 12067 input float in1 = [ -20.125 | 0.0 | 3.5 | -8.25 | 0.0 | 1.0 | 2.0 | 36.8125 | -0.5 | 1.0 ]; 12068 output vec2 out0 = [ vec2(12.0, -20.125) | vec2(0.0, 0.0) | vec2(8.0, 3.5) | vec2(193.0, -8.25) | vec2(3.0, 0.0) | vec2(10.0, 1.0) | vec2(9.0, 2.0) | vec2(2.0, 36.8125) | vec2(45.0, -0.5) | vec2(255.0, 1.0) ]; 12069 } 12070 12071 both "" 12072 #version 300 es 12073 precision mediump float; 12074 precision mediump int; 12075 12076 ${DECLARATIONS} 12077 12078 void main() 12079 { 12080 ${SETUP} 12081 out0 = vec2(in0, in1); 12082 ${OUTPUT} 12083 } 12084 "" 12085 end 12086 12087 case uint_float_to_ivec2 12088 version 300 es 12089 values 12090 { 12091 input uint in0 = [ 12 | 0 | 8 | 193 | 3 | 10 | 9 | 2 | 45 | 255 ]; 12092 input float in1 = [ -20.125 | 0.0 | 3.5 | -8.25 | 0.0 | 1.0 | 2.0 | 36.8125 | -0.5 | 1.0 ]; 12093 output ivec2 out0 = [ ivec2(12, -20) | ivec2(0, 0) | ivec2(8, 3) | ivec2(193, -8) | ivec2(3, 0) | ivec2(10, 1) | ivec2(9, 2) | ivec2(2, 36) | ivec2(45, 0) | ivec2(255, 1) ]; 12094 } 12095 12096 both "" 12097 #version 300 es 12098 precision mediump float; 12099 precision mediump int; 12100 12101 ${DECLARATIONS} 12102 12103 void main() 12104 { 12105 ${SETUP} 12106 out0 = ivec2(in0, in1); 12107 ${OUTPUT} 12108 } 12109 "" 12110 end 12111 12112 case uint_float_to_bvec2 12113 version 300 es 12114 values 12115 { 12116 input uint in0 = [ 12 | 0 | 8 | 193 | 3 | 10 | 9 | 2 | 45 | 255 ]; 12117 input float in1 = [ -20.125 | 0.0 | 3.5 | -8.25 | 0.0 | 1.0 | 2.0 | 36.8125 | -0.5 | 1.0 ]; 12118 output bvec2 out0 = [ bvec2(true, true) | bvec2(false, false) | bvec2(true, true) | bvec2(true, true) | bvec2(true, false) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) | bvec2(true, true) ]; 12119 } 12120 12121 both "" 12122 #version 300 es 12123 precision mediump float; 12124 precision mediump int; 12125 12126 ${DECLARATIONS} 12127 12128 void main() 12129 { 12130 ${SETUP} 12131 out0 = bvec2(in0, in1); 12132 ${OUTPUT} 12133 } 12134 "" 12135 end 12136 12137 case float_float_to_uvec2 12138 version 300 es 12139 values 12140 { 12141 input float in0 = [ 8.25 | 36.8125 | 1.0 | 0.5 | 20.125 | 0.0 | 2.0 | 3.5 ]; 12142 input float in1 = [ 0.5 | 36.8125 | 0.0 | 2.0 | 8.25 | 20.125 | 1.0 | 3.5 ]; 12143 output uvec2 out0 = [ uvec2(8, 0) | uvec2(36, 36) | uvec2(1, 0) | uvec2(0, 2) | uvec2(20, 8) | uvec2(0, 20) | uvec2(2, 1) | uvec2(3, 3) ]; 12144 } 12145 12146 both "" 12147 #version 300 es 12148 precision mediump float; 12149 precision mediump int; 12150 12151 ${DECLARATIONS} 12152 12153 void main() 12154 { 12155 ${SETUP} 12156 out0 = uvec2(in0, in1); 12157 ${OUTPUT} 12158 } 12159 "" 12160 end 12161 12162 case int_int_to_uvec2 12163 version 300 es 12164 values 12165 { 12166 input int in0 = [ 0 | 12 | 8 | 11 | 255 | 66 | 192 | 2 | 5 | 1 ]; 12167 input int in1 = [ 11 | 12 | 2 | 5 | 66 | 192 | 255 | 0 | 1 | 8 ]; 12168 output uvec2 out0 = [ uvec2(0, 11) | uvec2(12, 12) | uvec2(8, 2) | uvec2(11, 5) | uvec2(255, 66) | uvec2(66, 192) | uvec2(192, 255) | uvec2(2, 0) | uvec2(5, 1) | uvec2(1, 8) ]; 12169 } 12170 12171 both "" 12172 #version 300 es 12173 precision mediump float; 12174 precision mediump int; 12175 12176 ${DECLARATIONS} 12177 12178 void main() 12179 { 12180 ${SETUP} 12181 out0 = uvec2(in0, in1); 12182 ${OUTPUT} 12183 } 12184 "" 12185 end 12186 12187 case uint_uint_to_uvec2 12188 version 300 es 12189 values 12190 { 12191 input uint in0 = [ 3 | 9 | 10 | 193 | 8 | 0 | 255 | 45 | 2 | 12 ]; 12192 input uint in1 = [ 0 | 2 | 12 | 3 | 10 | 9 | 45 | 193 | 255 | 8 ]; 12193 output uvec2 out0 = [ uvec2(3, 0) | uvec2(9, 2) | uvec2(10, 12) | uvec2(193, 3) | uvec2(8, 10) | uvec2(0, 9) | uvec2(255, 45) | uvec2(45, 193) | uvec2(2, 255) | uvec2(12, 8) ]; 12194 } 12195 12196 both "" 12197 #version 300 es 12198 precision mediump float; 12199 precision mediump int; 12200 12201 ${DECLARATIONS} 12202 12203 void main() 12204 { 12205 ${SETUP} 12206 out0 = uvec2(in0, in1); 12207 ${OUTPUT} 12208 } 12209 "" 12210 end 12211 12212 case bool_bool_to_uvec2 12213 version 300 es 12214 values 12215 { 12216 input bool in0 = [ true | false ]; 12217 input bool in1 = [ true | false ]; 12218 output uvec2 out0 = [ uvec2(1, 1) | uvec2(0, 0) ]; 12219 } 12220 12221 both "" 12222 #version 300 es 12223 precision mediump float; 12224 precision mediump int; 12225 12226 ${DECLARATIONS} 12227 12228 void main() 12229 { 12230 ${SETUP} 12231 out0 = uvec2(in0, in1); 12232 ${OUTPUT} 12233 } 12234 "" 12235 end 12236 12237 case float_int_to_uvec2 12238 version 300 es 12239 values 12240 { 12241 input float in0 = [ 8.25 | 1.0 | 0.5 | 3.5 | 2.0 | 0.0 | 36.8125 | 1.0 | 0.0 | 20.125 ]; 12242 input int in1 = [ 0 | 255 | 12 | 5 | 192 | 2 | 66 | 11 | 1 | 8 ]; 12243 output uvec2 out0 = [ uvec2(8, 0) | uvec2(1, 255) | uvec2(0, 12) | uvec2(3, 5) | uvec2(2, 192) | uvec2(0, 2) | uvec2(36, 66) | uvec2(1, 11) | uvec2(0, 1) | uvec2(20, 8) ]; 12244 } 12245 12246 both "" 12247 #version 300 es 12248 precision mediump float; 12249 precision mediump int; 12250 12251 ${DECLARATIONS} 12252 12253 void main() 12254 { 12255 ${SETUP} 12256 out0 = uvec2(in0, in1); 12257 ${OUTPUT} 12258 } 12259 "" 12260 end 12261 12262 case float_bool_to_uvec2 12263 version 300 es 12264 values 12265 { 12266 input float in0 = [ 3.5 | 1.0 | 8.25 | 0.5 | 2.0 | 36.8125 | 0.0 | 20.125 ]; 12267 input bool in1 = [ true | false | true | false | true | false | false | true ]; 12268 output uvec2 out0 = [ uvec2(3, 1) | uvec2(1, 0) | uvec2(8, 1) | uvec2(0, 0) | uvec2(2, 1) | uvec2(36, 0) | uvec2(0, 0) | uvec2(20, 1) ]; 12269 } 12270 12271 both "" 12272 #version 300 es 12273 precision mediump float; 12274 precision mediump int; 12275 12276 ${DECLARATIONS} 12277 12278 void main() 12279 { 12280 ${SETUP} 12281 out0 = uvec2(in0, in1); 12282 ${OUTPUT} 12283 } 12284 "" 12285 end 12286 12287 case int_bool_to_uvec2 12288 version 300 es 12289 values 12290 { 12291 input int in0 = [ 12 | 11 | 0 | 5 | 8 | 255 | 2 | 1 | 66 | 192 ]; 12292 input bool in1 = [ true | true | false | false | false | true | false | false | true | true ]; 12293 output uvec2 out0 = [ uvec2(12, 1) | uvec2(11, 1) | uvec2(0, 0) | uvec2(5, 0) | uvec2(8, 0) | uvec2(255, 1) | uvec2(2, 0) | uvec2(1, 0) | uvec2(66, 1) | uvec2(192, 1) ]; 12294 } 12295 12296 both "" 12297 #version 300 es 12298 precision mediump float; 12299 precision mediump int; 12300 12301 ${DECLARATIONS} 12302 12303 void main() 12304 { 12305 ${SETUP} 12306 out0 = uvec2(in0, in1); 12307 ${OUTPUT} 12308 } 12309 "" 12310 end 12311 12312 case int_uint_to_uvec2 12313 version 300 es 12314 values 12315 { 12316 input int in0 = [ 8 | 5 | 1 | 0 | 11 | 12 | 192 | 66 | 255 | 2 ]; 12317 input uint in1 = [ 8 | 10 | 45 | 255 | 9 | 193 | 2 | 3 | 0 | 12 ]; 12318 output uvec2 out0 = [ uvec2(8, 8) | uvec2(5, 10) | uvec2(1, 45) | uvec2(0, 255) | uvec2(11, 9) | uvec2(12, 193) | uvec2(192, 2) | uvec2(66, 3) | uvec2(255, 0) | uvec2(2, 12) ]; 12319 } 12320 12321 both "" 12322 #version 300 es 12323 precision mediump float; 12324 precision mediump int; 12325 12326 ${DECLARATIONS} 12327 12328 void main() 12329 { 12330 ${SETUP} 12331 out0 = uvec2(in0, in1); 12332 ${OUTPUT} 12333 } 12334 "" 12335 end 12336 12337 case uint_float_to_uvec2 12338 version 300 es 12339 values 12340 { 12341 input uint in0 = [ 9 | 45 | 8 | 3 | 10 | 2 | 193 | 12 | 255 | 0 ]; 12342 input float in1 = [ 3.5 | 20.125 | 2.0 | 0.0 | 1.0 | 36.8125 | 8.25 | 1.0 | 0.0 | 0.5 ]; 12343 output uvec2 out0 = [ uvec2(9, 3) | uvec2(45, 20) | uvec2(8, 2) | uvec2(3, 0) | uvec2(10, 1) | uvec2(2, 36) | uvec2(193, 8) | uvec2(12, 1) | uvec2(255, 0) | uvec2(0, 0) ]; 12344 } 12345 12346 both "" 12347 #version 300 es 12348 precision mediump float; 12349 precision mediump int; 12350 12351 ${DECLARATIONS} 12352 12353 void main() 12354 { 12355 ${SETUP} 12356 out0 = uvec2(in0, in1); 12357 ${OUTPUT} 12358 } 12359 "" 12360 end 12361 12362 12363 end # vector_combine 12364 group matrix_combine "Matrix Combine Constructors" 12365 12366 case vec2_vec2_to_mat2 12367 version 300 es 12368 values 12369 { 12370 input vec2 in0 = [ vec2(1.0, 1.25) | vec2(-32.0, 64.0) | vec2(-0.5, -2.25) | vec2(-0.75, -0.0322580645161) | vec2(0.0, 0.5) ]; 12371 input vec2 in1 = [ vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.75, -0.0322580645161) | vec2(-32.0, 64.0) | vec2(-0.5, -2.25) ]; 12372 output mat2 out0 = [ mat2(1.0, 1.25, 0.0, 0.5) | mat2(-32.0, 64.0, 1.0, 1.25) | mat2(-0.5, -2.25, -0.75, -0.0322580645161) | mat2(-0.75, -0.0322580645161, -32.0, 64.0) | mat2(0.0, 0.5, -0.5, -2.25) ]; 12373 } 12374 12375 both "" 12376 #version 300 es 12377 precision mediump float; 12378 precision mediump int; 12379 12380 ${DECLARATIONS} 12381 12382 void main() 12383 { 12384 ${SETUP} 12385 out0 = mat2(in0, in1); 12386 ${OUTPUT} 12387 } 12388 "" 12389 end 12390 12391 case bvec2_bvec2_to_mat2 12392 version 300 es 12393 values 12394 { 12395 input bvec2 in0 = [ bvec2(false, true) | bvec2(true, true) | bvec2(true, false) | bvec2(false, false) | bvec2(false, false) ]; 12396 input bvec2 in1 = [ bvec2(false, false) | bvec2(true, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, true) ]; 12397 output mat2 out0 = [ mat2(0.0, 1.0, 0.0, 0.0) | mat2(1.0, 1.0, 1.0, 0.0) | mat2(1.0, 0.0, 0.0, 0.0) | mat2(0.0, 0.0, 1.0, 1.0) | mat2(0.0, 0.0, 0.0, 1.0) ]; 12398 } 12399 12400 both "" 12401 #version 300 es 12402 precision mediump float; 12403 precision mediump int; 12404 12405 ${DECLARATIONS} 12406 12407 void main() 12408 { 12409 ${SETUP} 12410 out0 = mat2(in0, in1); 12411 ${OUTPUT} 12412 } 12413 "" 12414 end 12415 12416 case float_float_float_float_to_mat2 12417 version 300 es 12418 values 12419 { 12420 input float in0 = [ -8.25 | 3.5 | 36.8125 | 2.0 | -20.125 | 1.0 | -0.5 | 0.0 ]; 12421 input float in1 = [ 3.5 | -20.125 | 1.0 | 0.0 | -8.25 | 2.0 | 36.8125 | -0.5 ]; 12422 input float in2 = [ 36.8125 | 3.5 | 0.0 | -20.125 | -0.5 | -8.25 | 1.0 | 2.0 ]; 12423 input float in3 = [ -0.5 | 0.0 | -8.25 | -20.125 | 2.0 | 3.5 | 1.0 | 36.8125 ]; 12424 output mat2 out0 = [ mat2(-8.25, 3.5, 36.8125, -0.5) | mat2(3.5, -20.125, 3.5, 0.0) | mat2(36.8125, 1.0, 0.0, -8.25) | mat2(2.0, 0.0, -20.125, -20.125) | mat2(-20.125, -8.25, -0.5, 2.0) | mat2(1.0, 2.0, -8.25, 3.5) | mat2(-0.5, 36.8125, 1.0, 1.0) | mat2(0.0, -0.5, 2.0, 36.8125) ]; 12425 } 12426 12427 both "" 12428 #version 300 es 12429 precision mediump float; 12430 precision mediump int; 12431 12432 ${DECLARATIONS} 12433 12434 void main() 12435 { 12436 ${SETUP} 12437 out0 = mat2(in0, in1, in2, in3); 12438 ${OUTPUT} 12439 } 12440 "" 12441 end 12442 12443 case int_int_int_int_to_mat2 12444 version 300 es 12445 values 12446 { 12447 input int in0 = [ 2 | 1 | -192 | 11 | -66 | 255 | 0 | 8 | -12 | 5 ]; 12448 input int in1 = [ 11 | 255 | 5 | -66 | 8 | 2 | 0 | -12 | 1 | -192 ]; 12449 input int in2 = [ 11 | 1 | -12 | 255 | 5 | 0 | 8 | -192 | 2 | -66 ]; 12450 input int in3 = [ 2 | 1 | 0 | 8 | 255 | -66 | -192 | 11 | 5 | -12 ]; 12451 output mat2 out0 = [ mat2(2.0, 11.0, 11.0, 2.0) | mat2(1.0, 255.0, 1.0, 1.0) | mat2(-192.0, 5.0, -12.0, 0.0) | mat2(11.0, -66.0, 255.0, 8.0) | mat2(-66.0, 8.0, 5.0, 255.0) | mat2(255.0, 2.0, 0.0, -66.0) | mat2(0.0, 0.0, 8.0, -192.0) | mat2(8.0, -12.0, -192.0, 11.0) | mat2(-12.0, 1.0, 2.0, 5.0) | mat2(5.0, -192.0, -66.0, -12.0) ]; 12452 } 12453 12454 both "" 12455 #version 300 es 12456 precision mediump float; 12457 precision mediump int; 12458 12459 ${DECLARATIONS} 12460 12461 void main() 12462 { 12463 ${SETUP} 12464 out0 = mat2(in0, in1, in2, in3); 12465 ${OUTPUT} 12466 } 12467 "" 12468 end 12469 12470 case uint_uint_uint_uint_to_mat2 12471 version 300 es 12472 values 12473 { 12474 input uint in0 = [ 193 | 9 | 12 | 45 | 10 | 2 | 8 | 3 | 255 | 0 ]; 12475 input uint in1 = [ 0 | 255 | 12 | 193 | 3 | 2 | 45 | 9 | 8 | 10 ]; 12476 input uint in2 = [ 3 | 9 | 10 | 2 | 12 | 193 | 255 | 0 | 8 | 45 ]; 12477 input uint in3 = [ 45 | 12 | 9 | 3 | 2 | 255 | 10 | 8 | 193 | 0 ]; 12478 output mat2 out0 = [ mat2(193.0, 0.0, 3.0, 45.0) | mat2(9.0, 255.0, 9.0, 12.0) | mat2(12.0, 12.0, 10.0, 9.0) | mat2(45.0, 193.0, 2.0, 3.0) | mat2(10.0, 3.0, 12.0, 2.0) | mat2(2.0, 2.0, 193.0, 255.0) | mat2(8.0, 45.0, 255.0, 10.0) | mat2(3.0, 9.0, 0.0, 8.0) | mat2(255.0, 8.0, 8.0, 193.0) | mat2(0.0, 10.0, 45.0, 0.0) ]; 12479 } 12480 12481 both "" 12482 #version 300 es 12483 precision mediump float; 12484 precision mediump int; 12485 12486 ${DECLARATIONS} 12487 12488 void main() 12489 { 12490 ${SETUP} 12491 out0 = mat2(in0, in1, in2, in3); 12492 ${OUTPUT} 12493 } 12494 "" 12495 end 12496 12497 case bool_bool_bool_bool_to_mat2 12498 version 300 es 12499 values 12500 { 12501 input bool in0 = [ true | false ]; 12502 input bool in1 = [ true | false ]; 12503 input bool in2 = [ true | false ]; 12504 input bool in3 = [ false | true ]; 12505 output mat2 out0 = [ mat2(1.0, 1.0, 1.0, 0.0) | mat2(0.0, 0.0, 0.0, 1.0) ]; 12506 } 12507 12508 both "" 12509 #version 300 es 12510 precision mediump float; 12511 precision mediump int; 12512 12513 ${DECLARATIONS} 12514 12515 void main() 12516 { 12517 ${SETUP} 12518 out0 = mat2(in0, in1, in2, in3); 12519 ${OUTPUT} 12520 } 12521 "" 12522 end 12523 12524 case bool_float_int_bool_to_mat2 12525 version 300 es 12526 values 12527 { 12528 input bool in0 = [ false | true | false | true | true | false | true | true | false | false ]; 12529 input float in1 = [ 2.0 | -0.5 | 0.0 | 1.0 | 1.0 | 36.8125 | 3.5 | 0.0 | -8.25 | -20.125 ]; 12530 input int in2 = [ 0 | -12 | 8 | -192 | 1 | -66 | 5 | 11 | 2 | 255 ]; 12531 input bool in3 = [ true | false | true | false | true | false | false | true | true | false ]; 12532 output mat2 out0 = [ mat2(0.0, 2.0, 0.0, 1.0) | mat2(1.0, -0.5, -12.0, 0.0) | mat2(0.0, 0.0, 8.0, 1.0) | mat2(1.0, 1.0, -192.0, 0.0) | mat2(1.0, 1.0, 1.0, 1.0) | mat2(0.0, 36.8125, -66.0, 0.0) | mat2(1.0, 3.5, 5.0, 0.0) | mat2(1.0, 0.0, 11.0, 1.0) | mat2(0.0, -8.25, 2.0, 1.0) | mat2(0.0, -20.125, 255.0, 0.0) ]; 12533 } 12534 12535 both "" 12536 #version 300 es 12537 precision mediump float; 12538 precision mediump int; 12539 12540 ${DECLARATIONS} 12541 12542 void main() 12543 { 12544 ${SETUP} 12545 out0 = mat2(in0, in1, in2, in3); 12546 ${OUTPUT} 12547 } 12548 "" 12549 end 12550 12551 case vec2_ivec2_to_mat2 12552 version 300 es 12553 values 12554 { 12555 input vec2 in0 = [ vec2(1.0, 1.25) | vec2(-32.0, 64.0) | vec2(-0.5, -2.25) | vec2(-0.75, -0.0322580645161) | vec2(0.0, 0.5) ]; 12556 input ivec2 in1 = [ ivec2(0, -2) | ivec2(0, 0) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(1, 1) ]; 12557 output mat2 out0 = [ mat2(1.0, 1.25, 0.0, -2.0) | mat2(-32.0, 64.0, 0.0, 0.0) | mat2(-0.5, -2.25, 0.0, 0.0) | mat2(-0.75, -0.0322580645161, -32.0, 64.0) | mat2(0.0, 0.5, 1.0, 1.0) ]; 12558 } 12559 12560 both "" 12561 #version 300 es 12562 precision mediump float; 12563 precision mediump int; 12564 12565 ${DECLARATIONS} 12566 12567 void main() 12568 { 12569 ${SETUP} 12570 out0 = mat2(in0, in1); 12571 ${OUTPUT} 12572 } 12573 "" 12574 end 12575 12576 case vec2_bvec2_to_mat2 12577 version 300 es 12578 values 12579 { 12580 input vec2 in0 = [ vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(1.0, 1.25) | vec2(-0.75, -0.0322580645161) | vec2(0.0, 0.5) ]; 12581 input bvec2 in1 = [ bvec2(false, false) | bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) ]; 12582 output mat2 out0 = [ mat2(-0.5, -2.25, 0.0, 0.0) | mat2(-32.0, 64.0, 1.0, 0.0) | mat2(1.0, 1.25, 0.0, 0.0) | mat2(-0.75, -0.0322580645161, 0.0, 1.0) | mat2(0.0, 0.5, 1.0, 1.0) ]; 12583 } 12584 12585 both "" 12586 #version 300 es 12587 precision mediump float; 12588 precision mediump int; 12589 12590 ${DECLARATIONS} 12591 12592 void main() 12593 { 12594 ${SETUP} 12595 out0 = mat2(in0, in1); 12596 ${OUTPUT} 12597 } 12598 "" 12599 end 12600 12601 case bvec3_float_to_mat2 12602 version 300 es 12603 values 12604 { 12605 input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, true, false) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(true, false, false) | bvec3(false, true, false) | bvec3(false, false, false) | bvec3(false, false, false) ]; 12606 input float in1 = [ 36.8125 | -8.25 | 1.0 | -0.5 | 2.0 | -20.125 | 0.0 | 3.5 ]; 12607 output mat2 out0 = [ mat2(1.0, 0.0, 0.0, 36.8125) | mat2(0.0, 1.0, 0.0, -8.25) | mat2(0.0, 0.0, 0.0, 1.0) | mat2(1.0, 1.0, 1.0, -0.5) | mat2(1.0, 0.0, 0.0, 2.0) | mat2(0.0, 1.0, 0.0, -20.125) | mat2(0.0, 0.0, 0.0, 0.0) | mat2(0.0, 0.0, 0.0, 3.5) ]; 12608 } 12609 12610 both "" 12611 #version 300 es 12612 precision mediump float; 12613 precision mediump int; 12614 12615 ${DECLARATIONS} 12616 12617 void main() 12618 { 12619 ${SETUP} 12620 out0 = mat2(in0, in1); 12621 ${OUTPUT} 12622 } 12623 "" 12624 end 12625 12626 case vec3_float_to_mat2 12627 version 300 es 12628 values 12629 { 12630 input vec3 in0 = [ vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-0.5, -2.25, -4.875) | vec3(1.0, 1.25, 1.125) | vec3(0.0, 0.5, 0.75) | vec3(-32.0, 64.0, -51.0) | vec3(0.0, 0.5, 0.75) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 12631 input float in1 = [ -0.5 | -20.125 | 0.0 | 36.8125 | 3.5 | -8.25 | 2.0 | 1.0 ]; 12632 output mat2 out0 = [ mat2(1.0, 1.25, 1.125, -0.5) | mat2(-0.5, -2.25, -4.875, -20.125) | mat2(-0.5, -2.25, -4.875, 0.0) | mat2(1.0, 1.25, 1.125, 36.8125) | mat2(0.0, 0.5, 0.75, 3.5) | mat2(-32.0, 64.0, -51.0, -8.25) | mat2(0.0, 0.5, 0.75, 2.0) | mat2(-0.75, -0.0322580645161, 0.0526315789474, 1.0) ]; 12633 } 12634 12635 both "" 12636 #version 300 es 12637 precision mediump float; 12638 precision mediump int; 12639 12640 ${DECLARATIONS} 12641 12642 void main() 12643 { 12644 ${SETUP} 12645 out0 = mat2(in0, in1); 12646 ${OUTPUT} 12647 } 12648 "" 12649 end 12650 12651 case int_ivec2_int_to_mat2 12652 version 300 es 12653 values 12654 { 12655 input int in0 = [ 8 | -192 | 2 | 0 | -66 | 255 | 5 | 1 | -12 | 11 ]; 12656 input ivec2 in1 = [ ivec2(0, -2) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(0, 0) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(0, 0) | ivec2(0, -2) | ivec2(1, 1) | ivec2(1, 1) ]; 12657 input int in2 = [ 2 | 1 | -12 | 0 | 11 | 8 | 255 | -192 | 5 | -66 ]; 12658 output mat2 out0 = [ mat2(8.0, 0.0, -2.0, 2.0) | mat2(-192.0, 0.0, 0.0, 1.0) | mat2(2.0, -32.0, 64.0, -12.0) | mat2(0.0, 0.0, 0.0, 0.0) | mat2(-66.0, 0.0, 0.0, 11.0) | mat2(255.0, -32.0, 64.0, 8.0) | mat2(5.0, 0.0, 0.0, 255.0) | mat2(1.0, 0.0, -2.0, -192.0) | mat2(-12.0, 1.0, 1.0, 5.0) | mat2(11.0, 1.0, 1.0, -66.0) ]; 12659 } 12660 12661 both "" 12662 #version 300 es 12663 precision mediump float; 12664 precision mediump int; 12665 12666 ${DECLARATIONS} 12667 12668 void main() 12669 { 12670 ${SETUP} 12671 out0 = mat2(in0, in1, in2); 12672 ${OUTPUT} 12673 } 12674 "" 12675 end 12676 12677 case bool_float_ivec2_to_mat2 12678 version 300 es 12679 values 12680 { 12681 input bool in0 = [ true | true | true | false | false | true | false | false ]; 12682 input float in1 = [ 1.0 | -0.5 | -20.125 | 36.8125 | 2.0 | 0.0 | -8.25 | 3.5 ]; 12683 input ivec2 in2 = [ ivec2(0, 0) | ivec2(0, 0) | ivec2(1, 1) | ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, -2) ]; 12684 output mat2 out0 = [ mat2(1.0, 1.0, 0.0, 0.0) | mat2(1.0, -0.5, 0.0, 0.0) | mat2(1.0, -20.125, 1.0, 1.0) | mat2(0.0, 36.8125, 0.0, 0.0) | mat2(0.0, 2.0, 1.0, 1.0) | mat2(1.0, 0.0, 0.0, -2.0) | mat2(0.0, -8.25, -32.0, 64.0) | mat2(0.0, 3.5, 0.0, -2.0) ]; 12685 } 12686 12687 both "" 12688 #version 300 es 12689 precision mediump float; 12690 precision mediump int; 12691 12692 ${DECLARATIONS} 12693 12694 void main() 12695 { 12696 ${SETUP} 12697 out0 = mat2(in0, in1, in2); 12698 ${OUTPUT} 12699 } 12700 "" 12701 end 12702 12703 case float_uvec3_to_mat2 12704 version 300 es 12705 values 12706 { 12707 input float in0 = [ 36.8125 | 2.0 | -0.5 | 0.0 | -20.125 | 1.0 | 3.5 | -8.25 ]; 12708 input uvec3 in1 = [ uvec3(1, 1, 1) | uvec3(0, 2, 4) | uvec3(0, 2, 4) | uvec3(0, 0, 0) | uvec3(32, 64, 51) | uvec3(0, 0, 0) | uvec3(0, 0, 0) | uvec3(1, 1, 1) ]; 12709 output mat2 out0 = [ mat2(36.8125, 1.0, 1.0, 1.0) | mat2(2.0, 0.0, 2.0, 4.0) | mat2(-0.5, 0.0, 2.0, 4.0) | mat2(0.0, 0.0, 0.0, 0.0) | mat2(-20.125, 32.0, 64.0, 51.0) | mat2(1.0, 0.0, 0.0, 0.0) | mat2(3.5, 0.0, 0.0, 0.0) | mat2(-8.25, 1.0, 1.0, 1.0) ]; 12710 } 12711 12712 both "" 12713 #version 300 es 12714 precision mediump float; 12715 precision mediump int; 12716 12717 ${DECLARATIONS} 12718 12719 void main() 12720 { 12721 ${SETUP} 12722 out0 = mat2(in0, in1); 12723 ${OUTPUT} 12724 } 12725 "" 12726 end 12727 12728 case int_uvec2_bool_to_mat2 12729 version 300 es 12730 values 12731 { 12732 input int in0 = [ 1 | -66 | 5 | -192 | 11 | 0 | 8 | 2 | -12 | 255 ]; 12733 input uvec2 in1 = [ uvec2(0, 2) | uvec2(32, 64) | uvec2(1, 1) | uvec2(0, 0) | uvec2(0, 0) | uvec2(1, 1) | uvec2(0, 2) | uvec2(0, 0) | uvec2(0, 0) | uvec2(32, 64) ]; 12734 input bool in2 = [ true | false | true | false | false | false | true | true | true | false ]; 12735 output mat2 out0 = [ mat2(1.0, 0.0, 2.0, 1.0) | mat2(-66.0, 32.0, 64.0, 0.0) | mat2(5.0, 1.0, 1.0, 1.0) | mat2(-192.0, 0.0, 0.0, 0.0) | mat2(11.0, 0.0, 0.0, 0.0) | mat2(0.0, 1.0, 1.0, 0.0) | mat2(8.0, 0.0, 2.0, 1.0) | mat2(2.0, 0.0, 0.0, 1.0) | mat2(-12.0, 0.0, 0.0, 1.0) | mat2(255.0, 32.0, 64.0, 0.0) ]; 12736 } 12737 12738 both "" 12739 #version 300 es 12740 precision mediump float; 12741 precision mediump int; 12742 12743 ${DECLARATIONS} 12744 12745 void main() 12746 { 12747 ${SETUP} 12748 out0 = mat2(in0, in1, in2); 12749 ${OUTPUT} 12750 } 12751 "" 12752 end 12753 12754 case vec3_vec3_to_mat2x3 12755 version 300 es 12756 values 12757 { 12758 input vec3 in0 = [ vec3(1.0, 1.25, 1.125) | vec3(-0.75, -0.0322580645161, 0.0526315789474) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(0.0, 0.5, 0.75) ]; 12759 input vec3 in1 = [ vec3(-32.0, 64.0, -51.0) | vec3(-0.5, -2.25, -4.875) | vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 12760 output mat2x3 out0 = [ mat2x3(1.0, 1.25, 1.125, -32.0, 64.0, -51.0) | mat2x3(-0.75, -0.0322580645161, 0.0526315789474, -0.5, -2.25, -4.875) | mat2x3(-0.5, -2.25, -4.875, 0.0, 0.5, 0.75) | mat2x3(-32.0, 64.0, -51.0, 1.0, 1.25, 1.125) | mat2x3(0.0, 0.5, 0.75, -0.75, -0.0322580645161, 0.0526315789474) ]; 12761 } 12762 12763 both "" 12764 #version 300 es 12765 precision mediump float; 12766 precision mediump int; 12767 12768 ${DECLARATIONS} 12769 12770 void main() 12771 { 12772 ${SETUP} 12773 out0 = mat2x3(in0, in1); 12774 ${OUTPUT} 12775 } 12776 "" 12777 end 12778 12779 case bvec3_bvec3_to_mat2x3 12780 version 300 es 12781 values 12782 { 12783 input bvec3 in0 = [ bvec3(false, false, false) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, true, false) | bvec3(true, false, false) ]; 12784 input bvec3 in1 = [ bvec3(false, false, false) | bvec3(true, true, true) | bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) ]; 12785 output mat2x3 out0 = [ mat2x3(0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat2x3(0.0, 0.0, 0.0, 1.0, 1.0, 1.0) | mat2x3(1.0, 1.0, 1.0, 1.0, 0.0, 0.0) | mat2x3(0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat2x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0) ]; 12786 } 12787 12788 both "" 12789 #version 300 es 12790 precision mediump float; 12791 precision mediump int; 12792 12793 ${DECLARATIONS} 12794 12795 void main() 12796 { 12797 ${SETUP} 12798 out0 = mat2x3(in0, in1); 12799 ${OUTPUT} 12800 } 12801 "" 12802 end 12803 12804 case float_float_float_float_float_float_to_mat2x3 12805 version 300 es 12806 values 12807 { 12808 input float in0 = [ 1.0 | -8.25 | -20.125 | 36.8125 | -0.5 | 2.0 | 3.5 | 0.0 ]; 12809 input float in1 = [ -0.5 | -20.125 | 36.8125 | -8.25 | 2.0 | 1.0 | 3.5 | 0.0 ]; 12810 input float in2 = [ 3.5 | 1.0 | 36.8125 | -20.125 | -8.25 | -0.5 | 2.0 | 0.0 ]; 12811 input float in3 = [ 1.0 | -8.25 | 0.0 | -20.125 | 2.0 | 3.5 | -0.5 | 36.8125 ]; 12812 input float in4 = [ 1.0 | 0.0 | 3.5 | 2.0 | -8.25 | -20.125 | -0.5 | 36.8125 ]; 12813 input float in5 = [ 2.0 | -20.125 | -8.25 | -0.5 | 3.5 | 1.0 | 36.8125 | 0.0 ]; 12814 output mat2x3 out0 = [ mat2x3(1.0, -0.5, 3.5, 1.0, 1.0, 2.0) | mat2x3(-8.25, -20.125, 1.0, -8.25, 0.0, -20.125) | mat2x3(-20.125, 36.8125, 36.8125, 0.0, 3.5, -8.25) | mat2x3(36.8125, -8.25, -20.125, -20.125, 2.0, -0.5) | mat2x3(-0.5, 2.0, -8.25, 2.0, -8.25, 3.5) | mat2x3(2.0, 1.0, -0.5, 3.5, -20.125, 1.0) | mat2x3(3.5, 3.5, 2.0, -0.5, -0.5, 36.8125) | mat2x3(0.0, 0.0, 0.0, 36.8125, 36.8125, 0.0) ]; 12815 } 12816 12817 both "" 12818 #version 300 es 12819 precision mediump float; 12820 precision mediump int; 12821 12822 ${DECLARATIONS} 12823 12824 void main() 12825 { 12826 ${SETUP} 12827 out0 = mat2x3(in0, in1, in2, in3, in4, in5); 12828 ${OUTPUT} 12829 } 12830 "" 12831 end 12832 12833 case int_int_int_int_int_int_to_mat2x3 12834 version 300 es 12835 values 12836 { 12837 input int in0 = [ 2 | 8 | -192 | 0 | 5 | -12 | 1 | 255 | -66 | 11 ]; 12838 input int in1 = [ 1 | -192 | 8 | 0 | -12 | 2 | 11 | 255 | -66 | 5 ]; 12839 input int in2 = [ -192 | 2 | -66 | 8 | 11 | 255 | 0 | 5 | -12 | 1 ]; 12840 input int in3 = [ 2 | 11 | 255 | 0 | -66 | -12 | 5 | -192 | 8 | 1 ]; 12841 input int in4 = [ 8 | 0 | -12 | -192 | 2 | -66 | 1 | 255 | 5 | 11 ]; 12842 input int in5 = [ 0 | 11 | 5 | 8 | -12 | 255 | -192 | 2 | 1 | -66 ]; 12843 output mat2x3 out0 = [ mat2x3(2.0, 1.0, -192.0, 2.0, 8.0, 0.0) | mat2x3(8.0, -192.0, 2.0, 11.0, 0.0, 11.0) | mat2x3(-192.0, 8.0, -66.0, 255.0, -12.0, 5.0) | mat2x3(0.0, 0.0, 8.0, 0.0, -192.0, 8.0) | mat2x3(5.0, -12.0, 11.0, -66.0, 2.0, -12.0) | mat2x3(-12.0, 2.0, 255.0, -12.0, -66.0, 255.0) | mat2x3(1.0, 11.0, 0.0, 5.0, 1.0, -192.0) | mat2x3(255.0, 255.0, 5.0, -192.0, 255.0, 2.0) | mat2x3(-66.0, -66.0, -12.0, 8.0, 5.0, 1.0) | mat2x3(11.0, 5.0, 1.0, 1.0, 11.0, -66.0) ]; 12844 } 12845 12846 both "" 12847 #version 300 es 12848 precision mediump float; 12849 precision mediump int; 12850 12851 ${DECLARATIONS} 12852 12853 void main() 12854 { 12855 ${SETUP} 12856 out0 = mat2x3(in0, in1, in2, in3, in4, in5); 12857 ${OUTPUT} 12858 } 12859 "" 12860 end 12861 12862 case bool_bool_bool_bool_bool_bool_to_mat2x3 12863 version 300 es 12864 values 12865 { 12866 input bool in0 = [ true | false ]; 12867 input bool in1 = [ false | true ]; 12868 input bool in2 = [ false | true ]; 12869 input bool in3 = [ true | false ]; 12870 input bool in4 = [ true | false ]; 12871 input bool in5 = [ true | false ]; 12872 output mat2x3 out0 = [ mat2x3(1.0, 0.0, 0.0, 1.0, 1.0, 1.0) | mat2x3(0.0, 1.0, 1.0, 0.0, 0.0, 0.0) ]; 12873 } 12874 12875 both "" 12876 #version 300 es 12877 precision mediump float; 12878 precision mediump int; 12879 12880 ${DECLARATIONS} 12881 12882 void main() 12883 { 12884 ${SETUP} 12885 out0 = mat2x3(in0, in1, in2, in3, in4, in5); 12886 ${OUTPUT} 12887 } 12888 "" 12889 end 12890 12891 case bool_float_int_bool_float_int_to_mat2x3 12892 version 300 es 12893 values 12894 { 12895 input bool in0 = [ false | true | false | true | false | true | false | true | true | false ]; 12896 input float in1 = [ 0.0 | -8.25 | 2.0 | -20.125 | 3.5 | 0.0 | -0.5 | 36.8125 | 1.0 | 1.0 ]; 12897 input int in2 = [ -66 | -12 | 2 | 8 | 255 | 11 | -192 | 1 | 5 | 0 ]; 12898 input bool in3 = [ true | false | true | false | false | true | true | false | true | false ]; 12899 input float in4 = [ 1.0 | 0.0 | -8.25 | 1.0 | 3.5 | -20.125 | -0.5 | 0.0 | 2.0 | 36.8125 ]; 12900 input int in5 = [ 255 | -192 | 1 | 2 | -12 | -66 | 8 | 0 | 11 | 5 ]; 12901 output mat2x3 out0 = [ mat2x3(0.0, 0.0, -66.0, 1.0, 1.0, 255.0) | mat2x3(1.0, -8.25, -12.0, 0.0, 0.0, -192.0) | mat2x3(0.0, 2.0, 2.0, 1.0, -8.25, 1.0) | mat2x3(1.0, -20.125, 8.0, 0.0, 1.0, 2.0) | mat2x3(0.0, 3.5, 255.0, 0.0, 3.5, -12.0) | mat2x3(1.0, 0.0, 11.0, 1.0, -20.125, -66.0) | mat2x3(0.0, -0.5, -192.0, 1.0, -0.5, 8.0) | mat2x3(1.0, 36.8125, 1.0, 0.0, 0.0, 0.0) | mat2x3(1.0, 1.0, 5.0, 1.0, 2.0, 11.0) | mat2x3(0.0, 1.0, 0.0, 0.0, 36.8125, 5.0) ]; 12902 } 12903 12904 both "" 12905 #version 300 es 12906 precision mediump float; 12907 precision mediump int; 12908 12909 ${DECLARATIONS} 12910 12911 void main() 12912 { 12913 ${SETUP} 12914 out0 = mat2x3(in0, in1, in2, in3, in4, in5); 12915 ${OUTPUT} 12916 } 12917 "" 12918 end 12919 12920 case vec3_ivec3_to_mat2x3 12921 version 300 es 12922 values 12923 { 12924 input vec3 in0 = [ vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(0.0, 0.5, 0.75) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 12925 input ivec3 in1 = [ ivec3(1, 1, 1) | ivec3(-32, 64, -51) | ivec3(0, -2, -4) | ivec3(0, 0, 0) | ivec3(0, 0, 0) ]; 12926 output mat2x3 out0 = [ mat2x3(1.0, 1.25, 1.125, 1.0, 1.0, 1.0) | mat2x3(-0.5, -2.25, -4.875, -32.0, 64.0, -51.0) | mat2x3(-32.0, 64.0, -51.0, 0.0, -2.0, -4.0) | mat2x3(0.0, 0.5, 0.75, 0.0, 0.0, 0.0) | mat2x3(-0.75, -0.0322580645161, 0.0526315789474, 0.0, 0.0, 0.0) ]; 12927 } 12928 12929 both "" 12930 #version 300 es 12931 precision mediump float; 12932 precision mediump int; 12933 12934 ${DECLARATIONS} 12935 12936 void main() 12937 { 12938 ${SETUP} 12939 out0 = mat2x3(in0, in1); 12940 ${OUTPUT} 12941 } 12942 "" 12943 end 12944 12945 case vec2_bvec4_to_mat2x3 12946 version 300 es 12947 values 12948 { 12949 input vec2 in0 = [ vec2(-32.0, 64.0) | vec2(0.0, 0.5) | vec2(-0.5, -2.25) | vec2(1.0, 1.25) | vec2(-0.75, -0.0322580645161) ]; 12950 input bvec4 in1 = [ bvec4(true, false, false, true) | bvec4(false, true, false, false) | bvec4(false, false, false, true) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ]; 12951 output mat2x3 out0 = [ mat2x3(-32.0, 64.0, 1.0, 0.0, 0.0, 1.0) | mat2x3(0.0, 0.5, 0.0, 1.0, 0.0, 0.0) | mat2x3(-0.5, -2.25, 0.0, 0.0, 0.0, 1.0) | mat2x3(1.0, 1.25, 1.0, 1.0, 1.0, 1.0) | mat2x3(-0.75, -0.0322580645161, 0.0, 0.0, 0.0, 0.0) ]; 12952 } 12953 12954 both "" 12955 #version 300 es 12956 precision mediump float; 12957 precision mediump int; 12958 12959 ${DECLARATIONS} 12960 12961 void main() 12962 { 12963 ${SETUP} 12964 out0 = mat2x3(in0, in1); 12965 ${OUTPUT} 12966 } 12967 "" 12968 end 12969 12970 case bvec3_float_ivec2_to_mat2x3 12971 version 300 es 12972 values 12973 { 12974 input bvec3 in0 = [ bvec3(false, false, false) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, false, false) | bvec3(false, true, false) ]; 12975 input float in1 = [ 1.0 | -8.25 | 36.8125 | 2.0 | 3.5 | -0.5 | -20.125 | 0.0 ]; 12976 input ivec2 in2 = [ ivec2(1, 1) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(0, -2) | ivec2(1, 1) | ivec2(0, -2) | ivec2(0, 0) | ivec2(0, 0) ]; 12977 output mat2x3 out0 = [ mat2x3(0.0, 0.0, 0.0, 1.0, 1.0, 1.0) | mat2x3(0.0, 0.0, 0.0, -8.25, 0.0, 0.0) | mat2x3(1.0, 1.0, 1.0, 36.8125, -32.0, 64.0) | mat2x3(1.0, 0.0, 0.0, 2.0, 0.0, -2.0) | mat2x3(0.0, 0.0, 0.0, 3.5, 1.0, 1.0) | mat2x3(0.0, 1.0, 0.0, -0.5, 0.0, -2.0) | mat2x3(1.0, 0.0, 0.0, -20.125, 0.0, 0.0) | mat2x3(0.0, 1.0, 0.0, 0.0, 0.0, 0.0) ]; 12978 } 12979 12980 both "" 12981 #version 300 es 12982 precision mediump float; 12983 precision mediump int; 12984 12985 ${DECLARATIONS} 12986 12987 void main() 12988 { 12989 ${SETUP} 12990 out0 = mat2x3(in0, in1, in2); 12991 ${OUTPUT} 12992 } 12993 "" 12994 end 12995 12996 case vec3_float_bvec2_to_mat2x3 12997 version 300 es 12998 values 12999 { 13000 input vec3 in0 = [ 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(-0.75, -0.0322580645161, 0.0526315789474) | vec3(-32.0, 64.0, -51.0) | vec3(1.0, 1.25, 1.125) ]; 13001 input float in1 = [ 0.0 | 36.8125 | 3.5 | -0.5 | -8.25 | 2.0 | 1.0 | -20.125 ]; 13002 input bvec2 in2 = [ bvec2(false, false) | bvec2(false, true) | bvec2(true, false) | bvec2(false, true) | bvec2(false, false) | bvec2(true, false) | bvec2(true, true) | bvec2(false, false) ]; 13003 output mat2x3 out0 = [ mat2x3(0.0, 0.5, 0.75, 0.0, 0.0, 0.0) | mat2x3(-0.5, -2.25, -4.875, 36.8125, 0.0, 1.0) | mat2x3(0.0, 0.5, 0.75, 3.5, 1.0, 0.0) | mat2x3(1.0, 1.25, 1.125, -0.5, 0.0, 1.0) | mat2x3(-0.5, -2.25, -4.875, -8.25, 0.0, 0.0) | mat2x3(-0.75, -0.0322580645161, 0.0526315789474, 2.0, 1.0, 0.0) | mat2x3(-32.0, 64.0, -51.0, 1.0, 1.0, 1.0) | mat2x3(1.0, 1.25, 1.125, -20.125, 0.0, 0.0) ]; 13004 } 13005 13006 both "" 13007 #version 300 es 13008 precision mediump float; 13009 precision mediump int; 13010 13011 ${DECLARATIONS} 13012 13013 void main() 13014 { 13015 ${SETUP} 13016 out0 = mat2x3(in0, in1, in2); 13017 ${OUTPUT} 13018 } 13019 "" 13020 end 13021 13022 case vec3_vec3_vec2_to_mat2x4 13023 version 300 es 13024 values 13025 { 13026 input vec3 in0 = [ vec3(-0.5, -2.25, -4.875) | vec3(-0.75, -0.0322580645161, 0.0526315789474) | vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) | vec3(-32.0, 64.0, -51.0) ]; 13027 input vec3 in1 = [ vec3(0.0, 0.5, 0.75) | vec3(-0.5, -2.25, -4.875) | vec3(-0.75, -0.0322580645161, 0.0526315789474) | vec3(-32.0, 64.0, -51.0) | vec3(1.0, 1.25, 1.125) ]; 13028 input vec2 in2 = [ vec2(-0.75, -0.0322580645161) | vec2(-32.0, 64.0) | vec2(1.0, 1.25) | vec2(0.0, 0.5) | vec2(-0.5, -2.25) ]; 13029 output mat2x4 out0 = [ mat2x4(-0.5, -2.25, -4.875, 0.0, 0.5, 0.75, -0.75, -0.0322580645161) | mat2x4(-0.75, -0.0322580645161, 0.0526315789474, -0.5, -2.25, -4.875, -32.0, 64.0) | mat2x4(0.0, 0.5, 0.75, -0.75, -0.0322580645161, 0.0526315789474, 1.0, 1.25) | mat2x4(1.0, 1.25, 1.125, -32.0, 64.0, -51.0, 0.0, 0.5) | mat2x4(-32.0, 64.0, -51.0, 1.0, 1.25, 1.125, -0.5, -2.25) ]; 13030 } 13031 13032 both "" 13033 #version 300 es 13034 precision mediump float; 13035 precision mediump int; 13036 13037 ${DECLARATIONS} 13038 13039 void main() 13040 { 13041 ${SETUP} 13042 out0 = mat2x4(in0, in1, in2); 13043 ${OUTPUT} 13044 } 13045 "" 13046 end 13047 13048 case ivec3_ivec3_ivec2_to_mat2x4 13049 version 300 es 13050 values 13051 { 13052 input ivec3 in0 = [ ivec3(0, -2, -4) | ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, 0, 0) | ivec3(-32, 64, -51) ]; 13053 input ivec3 in1 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ]; 13054 input ivec2 in2 = [ ivec2(0, 0) | ivec2(0, -2) | ivec2(1, 1) | ivec2(0, 0) | ivec2(-32, 64) ]; 13055 output mat2x4 out0 = [ mat2x4(0.0, -2.0, -4.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat2x4(0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, -2.0) | mat2x4(1.0, 1.0, 1.0, 0.0, -2.0, -4.0, 1.0, 1.0) | mat2x4(0.0, 0.0, 0.0, -32.0, 64.0, -51.0, 0.0, 0.0) | mat2x4(-32.0, 64.0, -51.0, 0.0, 0.0, 0.0, -32.0, 64.0) ]; 13056 } 13057 13058 both "" 13059 #version 300 es 13060 precision mediump float; 13061 precision mediump int; 13062 13063 ${DECLARATIONS} 13064 13065 void main() 13066 { 13067 ${SETUP} 13068 out0 = mat2x4(in0, in1, in2); 13069 ${OUTPUT} 13070 } 13071 "" 13072 end 13073 13074 case vec2_ivec2_float_float_int_bool_to_mat2x4 13075 version 300 es 13076 values 13077 { 13078 input vec2 in0 = [ vec2(0.0, 0.5) | vec2(-32.0, 64.0) | 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) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-0.75, -0.0322580645161) ]; 13079 input ivec2 in1 = [ ivec2(1, 1) | ivec2(0, -2) | ivec2(-32, 64) | ivec2(0, -2) | ivec2(0, 0) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(0, 0) | ivec2(0, 0) | ivec2(1, 1) ]; 13080 input float in2 = [ -8.25 | -0.5 | 3.5 | 36.8125 | 0.0 | 0.0 | 2.0 | -20.125 | 1.0 | 1.0 ]; 13081 input float in3 = [ 1.0 | 2.0 | -0.5 | 3.5 | 36.8125 | -8.25 | 1.0 | 0.0 | 0.0 | -20.125 ]; 13082 input int in4 = [ 255 | 8 | 11 | -12 | -192 | 0 | 2 | 1 | -66 | 5 ]; 13083 input bool in5 = [ true | false | false | true | false | true | true | false | true | false ]; 13084 output mat2x4 out0 = [ mat2x4(0.0, 0.5, 1.0, 1.0, -8.25, 1.0, 255.0, 1.0) | mat2x4(-32.0, 64.0, 0.0, -2.0, -0.5, 2.0, 8.0, 0.0) | mat2x4(-0.5, -2.25, -32.0, 64.0, 3.5, -0.5, 11.0, 0.0) | mat2x4(0.0, 0.5, 0.0, -2.0, 36.8125, 3.5, -12.0, 1.0) | mat2x4(-32.0, 64.0, 0.0, 0.0, 0.0, 36.8125, -192.0, 0.0) | mat2x4(1.0, 1.25, 0.0, 0.0, 0.0, -8.25, 0.0, 1.0) | mat2x4(-0.75, -0.0322580645161, -32.0, 64.0, 2.0, 1.0, 2.0, 1.0) | mat2x4(1.0, 1.25, 0.0, 0.0, -20.125, 0.0, 1.0, 0.0) | mat2x4(-0.5, -2.25, 0.0, 0.0, 1.0, 0.0, -66.0, 1.0) | mat2x4(-0.75, -0.0322580645161, 1.0, 1.0, 1.0, -20.125, 5.0, 0.0) ]; 13085 } 13086 13087 both "" 13088 #version 300 es 13089 precision mediump float; 13090 precision mediump int; 13091 13092 ${DECLARATIONS} 13093 13094 void main() 13095 { 13096 ${SETUP} 13097 out0 = mat2x4(in0, in1, in2, in3, in4, in5); 13098 ${OUTPUT} 13099 } 13100 "" 13101 end 13102 13103 case bool_float_int_vec2_bool_bvec2_to_mat2x4 13104 version 300 es 13105 values 13106 { 13107 input bool in0 = [ false | true | false | true | true | true | false | false | false | true ]; 13108 input float in1 = [ 0.0 | -0.5 | -20.125 | -8.25 | 0.0 | 2.0 | 3.5 | 1.0 | 1.0 | 36.8125 ]; 13109 input int in2 = [ 2 | 1 | 255 | 8 | -66 | 0 | -12 | 5 | -192 | 11 ]; 13110 input vec2 in3 = [ 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) | vec2(1.0, 1.25) | vec2(-32.0, 64.0) | vec2(-0.5, -2.25) | vec2(0.0, 0.5) | vec2(-0.75, -0.0322580645161) ]; 13111 input bool in4 = [ true | false | false | true | false | false | true | true | true | false ]; 13112 input bvec2 in5 = [ bvec2(true, false) | bvec2(true, true) | bvec2(false, true) | bvec2(true, true) | bvec2(false, false) | bvec2(false, true) | bvec2(false, false) | bvec2(false, false) | bvec2(false, false) | bvec2(true, false) ]; 13113 output mat2x4 out0 = [ mat2x4(0.0, 0.0, 2.0, -32.0, 64.0, 1.0, 1.0, 0.0) | mat2x4(1.0, -0.5, 1.0, -0.5, -2.25, 0.0, 1.0, 1.0) | mat2x4(0.0, -20.125, 255.0, 1.0, 1.25, 0.0, 0.0, 1.0) | mat2x4(1.0, -8.25, 8.0, -0.75, -0.0322580645161, 1.0, 1.0, 1.0) | mat2x4(1.0, 0.0, -66.0, 0.0, 0.5, 0.0, 0.0, 0.0) | mat2x4(1.0, 2.0, 0.0, 1.0, 1.25, 0.0, 0.0, 1.0) | mat2x4(0.0, 3.5, -12.0, -32.0, 64.0, 1.0, 0.0, 0.0) | mat2x4(0.0, 1.0, 5.0, -0.5, -2.25, 1.0, 0.0, 0.0) | mat2x4(0.0, 1.0, -192.0, 0.0, 0.5, 1.0, 0.0, 0.0) | mat2x4(1.0, 36.8125, 11.0, -0.75, -0.0322580645161, 0.0, 1.0, 0.0) ]; 13114 } 13115 13116 both "" 13117 #version 300 es 13118 precision mediump float; 13119 precision mediump int; 13120 13121 ${DECLARATIONS} 13122 13123 void main() 13124 { 13125 ${SETUP} 13126 out0 = mat2x4(in0, in1, in2, in3, in4, in5); 13127 ${OUTPUT} 13128 } 13129 "" 13130 end 13131 13132 case bool_bvec2_int_vec4_to_mat2x4 13133 version 300 es 13134 values 13135 { 13136 input bool in0 = [ true | true | true | false | false | false | false | false | true | true ]; 13137 input bvec2 in1 = [ bvec2(true, true) | bvec2(false, false) | bvec2(true, false) | bvec2(false, false) | bvec2(true, true) | bvec2(true, false) | bvec2(false, true) | bvec2(false, false) | bvec2(false, true) | bvec2(false, false) ]; 13138 input int in2 = [ 8 | 1 | 5 | -66 | -192 | 11 | 255 | 0 | -12 | 2 ]; 13139 input vec4 in3 = [ 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.5, -2.25, -4.875, 9.0) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-32.0, 64.0, -51.0, 24.0) ]; 13140 output mat2x4 out0 = [ mat2x4(1.0, 1.0, 1.0, 8.0, 0.0, 0.5, 0.75, 0.825) | mat2x4(1.0, 0.0, 0.0, 1.0, 0.0, 0.5, 0.75, 0.825) | mat2x4(1.0, 1.0, 0.0, 5.0, -32.0, 64.0, -51.0, 24.0) | mat2x4(0.0, 0.0, 0.0, -66.0, 1.0, 1.25, 1.125, 1.75) | mat2x4(0.0, 1.0, 1.0, -192.0, -0.5, -2.25, -4.875, 9.0) | mat2x4(0.0, 1.0, 0.0, 11.0, 1.0, 1.25, 1.125, 1.75) | mat2x4(0.0, 0.0, 1.0, 255.0, -0.75, -0.0322580645161, 0.0526315789474, 0.25) | mat2x4(0.0, 0.0, 0.0, 0.0, -0.75, -0.0322580645161, 0.0526315789474, 0.25) | mat2x4(1.0, 0.0, 1.0, -12.0, -0.5, -2.25, -4.875, 9.0) | mat2x4(1.0, 0.0, 0.0, 2.0, -32.0, 64.0, -51.0, 24.0) ]; 13141 } 13142 13143 both "" 13144 #version 300 es 13145 precision mediump float; 13146 precision mediump int; 13147 13148 ${DECLARATIONS} 13149 13150 void main() 13151 { 13152 ${SETUP} 13153 out0 = mat2x4(in0, in1, in2, in3); 13154 ${OUTPUT} 13155 } 13156 "" 13157 end 13158 13159 case float_bvec4_ivec2_bool_to_mat2x4 13160 version 300 es 13161 values 13162 { 13163 input float in0 = [ 0.0 | 3.5 | 2.0 | -8.25 | -20.125 | 36.8125 | 1.0 | -0.5 ]; 13164 input bvec4 in1 = [ bvec4(true, false, false, true) | bvec4(true, true, true, true) | bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(false, true, false, false) | bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, false, false, false) ]; 13165 input ivec2 in2 = [ ivec2(0, -2) | ivec2(-32, 64) | ivec2(1, 1) | ivec2(1, 1) | ivec2(0, 0) | ivec2(0, 0) | ivec2(0, 0) | ivec2(0, -2) ]; 13166 input bool in3 = [ true | true | false | true | false | false | false | true ]; 13167 output mat2x4 out0 = [ mat2x4(0.0, 1.0, 0.0, 0.0, 1.0, 0.0, -2.0, 1.0) | mat2x4(3.5, 1.0, 1.0, 1.0, 1.0, -32.0, 64.0, 1.0) | mat2x4(2.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0) | mat2x4(-8.25, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0) | mat2x4(-20.125, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat2x4(36.8125, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat2x4(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) | mat2x4(-0.5, 0.0, 0.0, 0.0, 0.0, 0.0, -2.0, 1.0) ]; 13168 } 13169 13170 both "" 13171 #version 300 es 13172 precision mediump float; 13173 precision mediump int; 13174 13175 ${DECLARATIONS} 13176 13177 void main() 13178 { 13179 ${SETUP} 13180 out0 = mat2x4(in0, in1, in2, in3); 13181 ${OUTPUT} 13182 } 13183 "" 13184 end 13185 13186 case vec3_vec3_to_mat3x2 13187 version 300 es 13188 values 13189 { 13190 input vec3 in0 = [ 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(1.0, 1.25, 1.125) ]; 13191 input vec3 in1 = [ 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) ]; 13192 output mat3x2 out0 = [ mat3x2(-0.75, -0.0322580645161, 0.0526315789474, 1.0, 1.25, 1.125) | mat3x2(-0.5, -2.25, -4.875, -0.75, -0.0322580645161, 0.0526315789474) | mat3x2(0.0, 0.5, 0.75, -32.0, 64.0, -51.0) | mat3x2(-32.0, 64.0, -51.0, -0.5, -2.25, -4.875) | mat3x2(1.0, 1.25, 1.125, 0.0, 0.5, 0.75) ]; 13193 } 13194 13195 both "" 13196 #version 300 es 13197 precision mediump float; 13198 precision mediump int; 13199 13200 ${DECLARATIONS} 13201 13202 void main() 13203 { 13204 ${SETUP} 13205 out0 = mat3x2(in0, in1); 13206 ${OUTPUT} 13207 } 13208 "" 13209 end 13210 13211 case bvec3_bvec3_to_mat3x2 13212 version 300 es 13213 values 13214 { 13215 input bvec3 in0 = [ bvec3(true, false, false) | bvec3(false, true, false) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, false, false) ]; 13216 input bvec3 in1 = [ bvec3(false, false, false) | bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, true, false) | bvec3(true, false, false) ]; 13217 output mat3x2 out0 = [ mat3x2(1.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat3x2(0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat3x2(0.0, 0.0, 0.0, 1.0, 1.0, 1.0) | mat3x2(1.0, 1.0, 1.0, 0.0, 1.0, 0.0) | mat3x2(0.0, 0.0, 0.0, 1.0, 0.0, 0.0) ]; 13218 } 13219 13220 both "" 13221 #version 300 es 13222 precision mediump float; 13223 precision mediump int; 13224 13225 ${DECLARATIONS} 13226 13227 void main() 13228 { 13229 ${SETUP} 13230 out0 = mat3x2(in0, in1); 13231 ${OUTPUT} 13232 } 13233 "" 13234 end 13235 13236 case float_float_float_float_float_float_to_mat3x2 13237 version 300 es 13238 values 13239 { 13240 input float in0 = [ -8.25 | 36.8125 | -20.125 | -0.5 | 3.5 | 1.0 | 2.0 | 0.0 ]; 13241 input float in1 = [ 2.0 | 3.5 | -20.125 | 36.8125 | 1.0 | 0.0 | -8.25 | -0.5 ]; 13242 input float in2 = [ -0.5 | 2.0 | 1.0 | 0.0 | -8.25 | 36.8125 | -20.125 | 3.5 ]; 13243 input float in3 = [ 36.8125 | 0.0 | 1.0 | -0.5 | 2.0 | 3.5 | -20.125 | -8.25 ]; 13244 input float in4 = [ 36.8125 | 2.0 | 0.0 | -0.5 | 3.5 | -20.125 | -8.25 | 1.0 ]; 13245 input float in5 = [ 0.0 | 36.8125 | -20.125 | -0.5 | 3.5 | 2.0 | 1.0 | -8.25 ]; 13246 output mat3x2 out0 = [ mat3x2(-8.25, 2.0, -0.5, 36.8125, 36.8125, 0.0) | mat3x2(36.8125, 3.5, 2.0, 0.0, 2.0, 36.8125) | mat3x2(-20.125, -20.125, 1.0, 1.0, 0.0, -20.125) | mat3x2(-0.5, 36.8125, 0.0, -0.5, -0.5, -0.5) | mat3x2(3.5, 1.0, -8.25, 2.0, 3.5, 3.5) | mat3x2(1.0, 0.0, 36.8125, 3.5, -20.125, 2.0) | mat3x2(2.0, -8.25, -20.125, -20.125, -8.25, 1.0) | mat3x2(0.0, -0.5, 3.5, -8.25, 1.0, -8.25) ]; 13247 } 13248 13249 both "" 13250 #version 300 es 13251 precision mediump float; 13252 precision mediump int; 13253 13254 ${DECLARATIONS} 13255 13256 void main() 13257 { 13258 ${SETUP} 13259 out0 = mat3x2(in0, in1, in2, in3, in4, in5); 13260 ${OUTPUT} 13261 } 13262 "" 13263 end 13264 13265 case int_int_int_int_int_int_to_mat3x2 13266 version 300 es 13267 values 13268 { 13269 input int in0 = [ 8 | -192 | 2 | 11 | 255 | -66 | 5 | -12 | 1 | 0 ]; 13270 input int in1 = [ 1 | 2 | -12 | 5 | 0 | 255 | 8 | 11 | -192 | -66 ]; 13271 input int in2 = [ -12 | 11 | 2 | 1 | 8 | -66 | -192 | 5 | 255 | 0 ]; 13272 input int in3 = [ -192 | 0 | -12 | 11 | 1 | -66 | 8 | 255 | 2 | 5 ]; 13273 input int in4 = [ -12 | 5 | 0 | -66 | 255 | 8 | -192 | 11 | 2 | 1 ]; 13274 input int in5 = [ -66 | -12 | 8 | 2 | 255 | 0 | -192 | 11 | 1 | 5 ]; 13275 output mat3x2 out0 = [ mat3x2(8.0, 1.0, -12.0, -192.0, -12.0, -66.0) | mat3x2(-192.0, 2.0, 11.0, 0.0, 5.0, -12.0) | mat3x2(2.0, -12.0, 2.0, -12.0, 0.0, 8.0) | mat3x2(11.0, 5.0, 1.0, 11.0, -66.0, 2.0) | mat3x2(255.0, 0.0, 8.0, 1.0, 255.0, 255.0) | mat3x2(-66.0, 255.0, -66.0, -66.0, 8.0, 0.0) | mat3x2(5.0, 8.0, -192.0, 8.0, -192.0, -192.0) | mat3x2(-12.0, 11.0, 5.0, 255.0, 11.0, 11.0) | mat3x2(1.0, -192.0, 255.0, 2.0, 2.0, 1.0) | mat3x2(0.0, -66.0, 0.0, 5.0, 1.0, 5.0) ]; 13276 } 13277 13278 both "" 13279 #version 300 es 13280 precision mediump float; 13281 precision mediump int; 13282 13283 ${DECLARATIONS} 13284 13285 void main() 13286 { 13287 ${SETUP} 13288 out0 = mat3x2(in0, in1, in2, in3, in4, in5); 13289 ${OUTPUT} 13290 } 13291 "" 13292 end 13293 13294 case bool_bool_bool_bool_bool_bool_to_mat3x2 13295 version 300 es 13296 values 13297 { 13298 input bool in0 = [ true | false ]; 13299 input bool in1 = [ false | true ]; 13300 input bool in2 = [ false | true ]; 13301 input bool in3 = [ false | true ]; 13302 input bool in4 = [ false | true ]; 13303 input bool in5 = [ false | true ]; 13304 output mat3x2 out0 = [ mat3x2(1.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat3x2(0.0, 1.0, 1.0, 1.0, 1.0, 1.0) ]; 13305 } 13306 13307 both "" 13308 #version 300 es 13309 precision mediump float; 13310 precision mediump int; 13311 13312 ${DECLARATIONS} 13313 13314 void main() 13315 { 13316 ${SETUP} 13317 out0 = mat3x2(in0, in1, in2, in3, in4, in5); 13318 ${OUTPUT} 13319 } 13320 "" 13321 end 13322 13323 case bool_float_int_bool_float_int_to_mat3x2 13324 version 300 es 13325 values 13326 { 13327 input bool in0 = [ true | false | true | true | false | true | false | true | false | false ]; 13328 input float in1 = [ -20.125 | 0.0 | 3.5 | 0.0 | 1.0 | -8.25 | 1.0 | 2.0 | 36.8125 | -0.5 ]; 13329 input int in2 = [ 255 | -66 | 8 | -192 | 5 | 11 | 1 | 2 | 0 | -12 ]; 13330 input bool in3 = [ true | false | false | true | false | true | true | false | false | true ]; 13331 input float in4 = [ 0.0 | -20.125 | 1.0 | -8.25 | 0.0 | -0.5 | 2.0 | 3.5 | 1.0 | 36.8125 ]; 13332 input int in5 = [ -192 | 8 | 2 | 255 | -66 | -12 | 11 | 0 | 5 | 1 ]; 13333 output mat3x2 out0 = [ mat3x2(1.0, -20.125, 255.0, 1.0, 0.0, -192.0) | mat3x2(0.0, 0.0, -66.0, 0.0, -20.125, 8.0) | mat3x2(1.0, 3.5, 8.0, 0.0, 1.0, 2.0) | mat3x2(1.0, 0.0, -192.0, 1.0, -8.25, 255.0) | mat3x2(0.0, 1.0, 5.0, 0.0, 0.0, -66.0) | mat3x2(1.0, -8.25, 11.0, 1.0, -0.5, -12.0) | mat3x2(0.0, 1.0, 1.0, 1.0, 2.0, 11.0) | mat3x2(1.0, 2.0, 2.0, 0.0, 3.5, 0.0) | mat3x2(0.0, 36.8125, 0.0, 0.0, 1.0, 5.0) | mat3x2(0.0, -0.5, -12.0, 1.0, 36.8125, 1.0) ]; 13334 } 13335 13336 both "" 13337 #version 300 es 13338 precision mediump float; 13339 precision mediump int; 13340 13341 ${DECLARATIONS} 13342 13343 void main() 13344 { 13345 ${SETUP} 13346 out0 = mat3x2(in0, in1, in2, in3, in4, in5); 13347 ${OUTPUT} 13348 } 13349 "" 13350 end 13351 13352 case vec3_ivec3_to_mat3x2 13353 version 300 es 13354 values 13355 { 13356 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(-32.0, 64.0, -51.0) | vec3(-0.5, -2.25, -4.875) ]; 13357 input ivec3 in1 = [ ivec3(1, 1, 1) | ivec3(0, 0, 0) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ]; 13358 output mat3x2 out0 = [ mat3x2(0.0, 0.5, 0.75, 1.0, 1.0, 1.0) | mat3x2(1.0, 1.25, 1.125, 0.0, 0.0, 0.0) | mat3x2(-0.75, -0.0322580645161, 0.0526315789474, 0.0, -2.0, -4.0) | mat3x2(-32.0, 64.0, -51.0, -32.0, 64.0, -51.0) | mat3x2(-0.5, -2.25, -4.875, 0.0, 0.0, 0.0) ]; 13359 } 13360 13361 both "" 13362 #version 300 es 13363 precision mediump float; 13364 precision mediump int; 13365 13366 ${DECLARATIONS} 13367 13368 void main() 13369 { 13370 ${SETUP} 13371 out0 = mat3x2(in0, in1); 13372 ${OUTPUT} 13373 } 13374 "" 13375 end 13376 13377 case vec2_bvec4_to_mat3x2 13378 version 300 es 13379 values 13380 { 13381 input vec2 in0 = [ vec2(0.0, 0.5) | vec2(-0.75, -0.0322580645161) | vec2(-32.0, 64.0) | vec2(-0.5, -2.25) | vec2(1.0, 1.25) ]; 13382 input bvec4 in1 = [ 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) ]; 13383 output mat3x2 out0 = [ mat3x2(0.0, 0.5, 1.0, 1.0, 1.0, 1.0) | mat3x2(-0.75, -0.0322580645161, 0.0, 0.0, 0.0, 1.0) | mat3x2(-32.0, 64.0, 0.0, 0.0, 0.0, 0.0) | mat3x2(-0.5, -2.25, 1.0, 0.0, 0.0, 1.0) | mat3x2(1.0, 1.25, 0.0, 1.0, 0.0, 0.0) ]; 13384 } 13385 13386 both "" 13387 #version 300 es 13388 precision mediump float; 13389 precision mediump int; 13390 13391 ${DECLARATIONS} 13392 13393 void main() 13394 { 13395 ${SETUP} 13396 out0 = mat3x2(in0, in1); 13397 ${OUTPUT} 13398 } 13399 "" 13400 end 13401 13402 case bvec3_float_ivec2_to_mat3x2 13403 version 300 es 13404 values 13405 { 13406 input bvec3 in0 = [ bvec3(false, false, false) | bvec3(true, true, true) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, false, false) | bvec3(false, true, false) | bvec3(true, false, false) ]; 13407 input float in1 = [ -8.25 | 1.0 | 2.0 | -0.5 | -20.125 | 0.0 | 36.8125 | 3.5 ]; 13408 input ivec2 in2 = [ ivec2(1, 1) | ivec2(1, 1) | ivec2(0, 0) | ivec2(0, -2) | ivec2(0, 0) | ivec2(0, 0) | ivec2(0, -2) | ivec2(-32, 64) ]; 13409 output mat3x2 out0 = [ mat3x2(0.0, 0.0, 0.0, -8.25, 1.0, 1.0) | mat3x2(1.0, 1.0, 1.0, 1.0, 1.0, 1.0) | mat3x2(0.0, 0.0, 0.0, 2.0, 0.0, 0.0) | mat3x2(0.0, 0.0, 0.0, -0.5, 0.0, -2.0) | mat3x2(0.0, 1.0, 0.0, -20.125, 0.0, 0.0) | mat3x2(1.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat3x2(0.0, 1.0, 0.0, 36.8125, 0.0, -2.0) | mat3x2(1.0, 0.0, 0.0, 3.5, -32.0, 64.0) ]; 13410 } 13411 13412 both "" 13413 #version 300 es 13414 precision mediump float; 13415 precision mediump int; 13416 13417 ${DECLARATIONS} 13418 13419 void main() 13420 { 13421 ${SETUP} 13422 out0 = mat3x2(in0, in1, in2); 13423 ${OUTPUT} 13424 } 13425 "" 13426 end 13427 13428 case vec3_float_bvec2_to_mat3x2 13429 version 300 es 13430 values 13431 { 13432 input vec3 in0 = [ vec3(1.0, 1.25, 1.125) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(0.0, 0.5, 0.75) | vec3(0.0, 0.5, 0.75) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 13433 input float in1 = [ -8.25 | 36.8125 | -0.5 | 3.5 | 2.0 | -20.125 | 0.0 | 1.0 ]; 13434 input bvec2 in2 = [ bvec2(true, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) | bvec2(false, true) | bvec2(false, true) | bvec2(true, false) | bvec2(false, false) ]; 13435 output mat3x2 out0 = [ mat3x2(1.0, 1.25, 1.125, -8.25, 1.0, 0.0) | mat3x2(1.0, 1.25, 1.125, 36.8125, 0.0, 0.0) | mat3x2(-0.5, -2.25, -4.875, -0.5, 1.0, 1.0) | mat3x2(-0.5, -2.25, -4.875, 3.5, 0.0, 0.0) | mat3x2(-32.0, 64.0, -51.0, 2.0, 0.0, 1.0) | mat3x2(0.0, 0.5, 0.75, -20.125, 0.0, 1.0) | mat3x2(0.0, 0.5, 0.75, 0.0, 1.0, 0.0) | mat3x2(-0.75, -0.0322580645161, 0.0526315789474, 1.0, 0.0, 0.0) ]; 13436 } 13437 13438 both "" 13439 #version 300 es 13440 precision mediump float; 13441 precision mediump int; 13442 13443 ${DECLARATIONS} 13444 13445 void main() 13446 { 13447 ${SETUP} 13448 out0 = mat3x2(in0, in1, in2); 13449 ${OUTPUT} 13450 } 13451 "" 13452 end 13453 13454 case vec3_vec3_vec3_to_mat3 13455 version 300 es 13456 values 13457 { 13458 input vec3 in0 = [ vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-32.0, 64.0, -51.0) | vec3(0.0, 0.5, 0.75) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 13459 input vec3 in1 = [ vec3(-0.75, -0.0322580645161, 0.0526315789474) | vec3(1.0, 1.25, 1.125) | vec3(-32.0, 64.0, -51.0) | vec3(-0.5, -2.25, -4.875) | vec3(0.0, 0.5, 0.75) ]; 13460 input vec3 in2 = [ vec3(-0.75, -0.0322580645161, 0.0526315789474) | vec3(-32.0, 64.0, -51.0) | vec3(-0.5, -2.25, -4.875) | vec3(1.0, 1.25, 1.125) | vec3(0.0, 0.5, 0.75) ]; 13461 output mat3 out0 = [ mat3(1.0, 1.25, 1.125, -0.75, -0.0322580645161, 0.0526315789474, -0.75, -0.0322580645161, 0.0526315789474) | mat3(-0.5, -2.25, -4.875, 1.0, 1.25, 1.125, -32.0, 64.0, -51.0) | mat3(-32.0, 64.0, -51.0, -32.0, 64.0, -51.0, -0.5, -2.25, -4.875) | mat3(0.0, 0.5, 0.75, -0.5, -2.25, -4.875, 1.0, 1.25, 1.125) | mat3(-0.75, -0.0322580645161, 0.0526315789474, 0.0, 0.5, 0.75, 0.0, 0.5, 0.75) ]; 13462 } 13463 13464 both "" 13465 #version 300 es 13466 precision mediump float; 13467 precision mediump int; 13468 13469 ${DECLARATIONS} 13470 13471 void main() 13472 { 13473 ${SETUP} 13474 out0 = mat3(in0, in1, in2); 13475 ${OUTPUT} 13476 } 13477 "" 13478 end 13479 13480 case ivec3_ivec3_ivec3_to_mat3 13481 version 300 es 13482 values 13483 { 13484 input ivec3 in0 = [ ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(0, 0, 0) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) ]; 13485 input ivec3 in1 = [ ivec3(0, 0, 0) | ivec3(0, -2, -4) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) | ivec3(1, 1, 1) ]; 13486 input ivec3 in2 = [ ivec3(1, 1, 1) | ivec3(0, 0, 0) | ivec3(-32, 64, -51) | ivec3(0, -2, -4) | ivec3(0, 0, 0) ]; 13487 output mat3 out0 = [ mat3(1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0) | mat3(0.0, -2.0, -4.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(-32.0, 64.0, -51.0, 0.0, 0.0, 0.0, 0.0, -2.0, -4.0) | mat3(0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0) ]; 13488 } 13489 13490 both "" 13491 #version 300 es 13492 precision mediump float; 13493 precision mediump int; 13494 13495 ${DECLARATIONS} 13496 13497 void main() 13498 { 13499 ${SETUP} 13500 out0 = mat3(in0, in1, in2); 13501 ${OUTPUT} 13502 } 13503 "" 13504 end 13505 13506 case vec2_ivec2_float_float_int_bool_bool_to_mat3 13507 version 300 es 13508 values 13509 { 13510 input vec2 in0 = [ vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(0.0, 0.5) | vec2(-0.75, -0.0322580645161) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) | vec2(-0.5, -2.25) | vec2(1.0, 1.25) | vec2(0.0, 0.5) | vec2(-32.0, 64.0) ]; 13511 input ivec2 in1 = [ ivec2(0, 0) | ivec2(0, -2) | ivec2(1, 1) | ivec2(0, -2) | ivec2(0, 0) | ivec2(0, 0) | ivec2(1, 1) | ivec2(-32, 64) | ivec2(0, 0) | ivec2(-32, 64) ]; 13512 input float in2 = [ -0.5 | 3.5 | 0.0 | -20.125 | 1.0 | -8.25 | 0.0 | 1.0 | 2.0 | 36.8125 ]; 13513 input float in3 = [ 3.5 | 0.0 | -20.125 | 36.8125 | 2.0 | -8.25 | -0.5 | 1.0 | 0.0 | 1.0 ]; 13514 input int in4 = [ 0 | 11 | 5 | -192 | 8 | -66 | 1 | 2 | 255 | -12 ]; 13515 input bool in5 = [ true | true | true | false | true | false | false | false | true | false ]; 13516 input bool in6 = [ false | false | true | false | false | false | true | true | true | true ]; 13517 output mat3 out0 = [ mat3(1.0, 1.25, 0.0, 0.0, -0.5, 3.5, 0.0, 1.0, 0.0) | mat3(-0.5, -2.25, 0.0, -2.0, 3.5, 0.0, 11.0, 1.0, 0.0) | mat3(0.0, 0.5, 1.0, 1.0, 0.0, -20.125, 5.0, 1.0, 1.0) | mat3(-0.75, -0.0322580645161, 0.0, -2.0, -20.125, 36.8125, -192.0, 0.0, 0.0) | mat3(-32.0, 64.0, 0.0, 0.0, 1.0, 2.0, 8.0, 1.0, 0.0) | mat3(-0.75, -0.0322580645161, 0.0, 0.0, -8.25, -8.25, -66.0, 0.0, 0.0) | mat3(-0.5, -2.25, 1.0, 1.0, 0.0, -0.5, 1.0, 0.0, 1.0) | mat3(1.0, 1.25, -32.0, 64.0, 1.0, 1.0, 2.0, 0.0, 1.0) | mat3(0.0, 0.5, 0.0, 0.0, 2.0, 0.0, 255.0, 1.0, 1.0) | mat3(-32.0, 64.0, -32.0, 64.0, 36.8125, 1.0, -12.0, 0.0, 1.0) ]; 13518 } 13519 13520 both "" 13521 #version 300 es 13522 precision mediump float; 13523 precision mediump int; 13524 13525 ${DECLARATIONS} 13526 13527 void main() 13528 { 13529 ${SETUP} 13530 out0 = mat3(in0, in1, in2, in3, in4, in5, in6); 13531 ${OUTPUT} 13532 } 13533 "" 13534 end 13535 13536 case bool_float_int_vec2_bool_bvec2_float_to_mat3 13537 version 300 es 13538 values 13539 { 13540 input bool in0 = [ false | true | true | true | true | true | false | false | false | false ]; 13541 input float in1 = [ -8.25 | 1.0 | -0.5 | 36.8125 | 0.0 | 3.5 | -20.125 | 1.0 | 0.0 | 2.0 ]; 13542 input int in2 = [ 8 | -66 | 5 | 1 | 0 | 2 | -12 | -192 | 11 | 255 ]; 13543 input vec2 in3 = [ vec2(0.0, 0.5) | vec2(-32.0, 64.0) | vec2(1.0, 1.25) | vec2(-32.0, 64.0) | vec2(-0.5, -2.25) | vec2(-0.75, -0.0322580645161) | vec2(-0.5, -2.25) | vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.75, -0.0322580645161) ]; 13544 input bool in4 = [ true | false | true | false | false | true | true | false | true | false ]; 13545 input bvec2 in5 = [ bvec2(false, true) | bvec2(false, false) | bvec2(true, false) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) | bvec2(true, false) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) ]; 13546 input float in6 = [ -0.5 | 1.0 | 1.0 | 0.0 | 36.8125 | 2.0 | 0.0 | 3.5 | -20.125 | -8.25 ]; 13547 output mat3 out0 = [ mat3(0.0, -8.25, 8.0, 0.0, 0.5, 1.0, 0.0, 1.0, -0.5) | mat3(1.0, 1.0, -66.0, -32.0, 64.0, 0.0, 0.0, 0.0, 1.0) | mat3(1.0, -0.5, 5.0, 1.0, 1.25, 1.0, 1.0, 0.0, 1.0) | mat3(1.0, 36.8125, 1.0, -32.0, 64.0, 0.0, 0.0, 0.0, 0.0) | mat3(1.0, 0.0, 0.0, -0.5, -2.25, 0.0, 1.0, 1.0, 36.8125) | mat3(1.0, 3.5, 2.0, -0.75, -0.0322580645161, 1.0, 0.0, 0.0, 2.0) | mat3(0.0, -20.125, -12.0, -0.5, -2.25, 1.0, 1.0, 0.0, 0.0) | mat3(0.0, 1.0, -192.0, 0.0, 0.5, 0.0, 0.0, 0.0, 3.5) | mat3(0.0, 0.0, 11.0, 1.0, 1.25, 1.0, 0.0, 1.0, -20.125) | mat3(0.0, 2.0, 255.0, -0.75, -0.0322580645161, 0.0, 1.0, 1.0, -8.25) ]; 13548 } 13549 13550 both "" 13551 #version 300 es 13552 precision mediump float; 13553 precision mediump int; 13554 13555 ${DECLARATIONS} 13556 13557 void main() 13558 { 13559 ${SETUP} 13560 out0 = mat3(in0, in1, in2, in3, in4, in5, in6); 13561 ${OUTPUT} 13562 } 13563 "" 13564 end 13565 13566 case bool_bvec2_int_vec4_bool_to_mat3 13567 version 300 es 13568 values 13569 { 13570 input bool in0 = [ true | false | true | true | false | false | true | false | false | true ]; 13571 input bvec2 in1 = [ bvec2(false, false) | bvec2(false, true) | bvec2(false, false) | bvec2(true, true) | bvec2(true, true) | bvec2(false, false) | bvec2(false, true) | bvec2(true, false) | bvec2(true, false) | bvec2(false, false) ]; 13572 input int in2 = [ -192 | 2 | 0 | 5 | 1 | -66 | 11 | -12 | 8 | 255 ]; 13573 input vec4 in3 = [ vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) | 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.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(-0.5, -2.25, -4.875, 9.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 13574 input bool in4 = [ false | true | false | true | false | false | false | true | true | true ]; 13575 output mat3 out0 = [ mat3(1.0, 0.0, 0.0, -192.0, -32.0, 64.0, -51.0, 24.0, 0.0) | mat3(0.0, 0.0, 1.0, 2.0, -0.75, -0.0322580645161, 0.0526315789474, 0.25, 1.0) | mat3(1.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.75, 0.825, 0.0) | mat3(1.0, 1.0, 1.0, 5.0, -32.0, 64.0, -51.0, 24.0, 1.0) | mat3(0.0, 1.0, 1.0, 1.0, 1.0, 1.25, 1.125, 1.75, 0.0) | mat3(0.0, 0.0, 0.0, -66.0, 0.0, 0.5, 0.75, 0.825, 0.0) | mat3(1.0, 0.0, 1.0, 11.0, 1.0, 1.25, 1.125, 1.75, 0.0) | mat3(0.0, 1.0, 0.0, -12.0, -0.5, -2.25, -4.875, 9.0, 1.0) | mat3(0.0, 1.0, 0.0, 8.0, -0.5, -2.25, -4.875, 9.0, 1.0) | mat3(1.0, 0.0, 0.0, 255.0, -0.75, -0.0322580645161, 0.0526315789474, 0.25, 1.0) ]; 13576 } 13577 13578 both "" 13579 #version 300 es 13580 precision mediump float; 13581 precision mediump int; 13582 13583 ${DECLARATIONS} 13584 13585 void main() 13586 { 13587 ${SETUP} 13588 out0 = mat3(in0, in1, in2, in3, in4); 13589 ${OUTPUT} 13590 } 13591 "" 13592 end 13593 13594 case float_bvec4_ivec2_bool_bool_to_mat3 13595 version 300 es 13596 values 13597 { 13598 input float in0 = [ -8.25 | 2.0 | 36.8125 | 3.5 | 1.0 | -0.5 | -20.125 | 0.0 ]; 13599 input bvec4 in1 = [ bvec4(false, false, false, true) | bvec4(false, true, false, false) | bvec4(true, false, false, true) | bvec4(true, true, true, true) | bvec4(false, false, false, false) | bvec4(false, true, false, false) | bvec4(true, false, false, true) | bvec4(false, false, false, true) ]; 13600 input ivec2 in2 = [ ivec2(1, 1) | ivec2(0, -2) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(0, 0) | ivec2(0, 0) | ivec2(0, -2) | ivec2(1, 1) ]; 13601 input bool in3 = [ false | true | false | true | true | false | true | false ]; 13602 input bool in4 = [ true | false | false | false | true | true | false | true ]; 13603 output mat3 out0 = [ mat3(-8.25, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 1.0) | mat3(2.0, 0.0, 1.0, 0.0, 0.0, 0.0, -2.0, 1.0, 0.0) | mat3(36.8125, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat3(3.5, 1.0, 1.0, 1.0, 1.0, -32.0, 64.0, 1.0, 0.0) | mat3(1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0) | mat3(-0.5, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0) | mat3(-20.125, 1.0, 0.0, 0.0, 1.0, 0.0, -2.0, 1.0, 0.0) | mat3(0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 1.0) ]; 13604 } 13605 13606 both "" 13607 #version 300 es 13608 precision mediump float; 13609 precision mediump int; 13610 13611 ${DECLARATIONS} 13612 13613 void main() 13614 { 13615 ${SETUP} 13616 out0 = mat3(in0, in1, in2, in3, in4); 13617 ${OUTPUT} 13618 } 13619 "" 13620 end 13621 13622 case vec4_vec4_vec4_to_mat3x4 13623 version 300 es 13624 values 13625 { 13626 input vec4 in0 = [ vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(0.0, 0.5, 0.75, 0.825) ]; 13627 input vec4 in1 = [ 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) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(1.0, 1.25, 1.125, 1.75) ]; 13628 input vec4 in2 = [ 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) | vec4(0.0, 0.5, 0.75, 0.825) ]; 13629 output mat3x4 out0 = [ mat3x4(-0.75, -0.0322580645161, 0.0526315789474, 0.25, -0.75, -0.0322580645161, 0.0526315789474, 0.25, -32.0, 64.0, -51.0, 24.0) | mat3x4(1.0, 1.25, 1.125, 1.75, -0.5, -2.25, -4.875, 9.0, 1.0, 1.25, 1.125, 1.75) | mat3x4(-32.0, 64.0, -51.0, 24.0, 0.0, 0.5, 0.75, 0.825, -0.75, -0.0322580645161, 0.0526315789474, 0.25) | mat3x4(-0.5, -2.25, -4.875, 9.0, -32.0, 64.0, -51.0, 24.0, -0.5, -2.25, -4.875, 9.0) | mat3x4(0.0, 0.5, 0.75, 0.825, 1.0, 1.25, 1.125, 1.75, 0.0, 0.5, 0.75, 0.825) ]; 13630 } 13631 13632 both "" 13633 #version 300 es 13634 precision mediump float; 13635 precision mediump int; 13636 13637 ${DECLARATIONS} 13638 13639 void main() 13640 { 13641 ${SETUP} 13642 out0 = mat3x4(in0, in1, in2); 13643 ${OUTPUT} 13644 } 13645 "" 13646 end 13647 13648 case ivec4_ivec4_ivec4_to_mat3x4 13649 version 300 es 13650 values 13651 { 13652 input ivec4 in0 = [ ivec4(0, -2, -4, 9) | ivec4(0, 0, 0, 0) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) ]; 13653 input ivec4 in1 = [ ivec4(0, -2, -4, 9) | ivec4(0, 0, 0, 0) | ivec4(-32, 64, -51, 24) | ivec4(1, 1, 1, 1) | ivec4(0, 0, 0, 0) ]; 13654 input ivec4 in2 = [ ivec4(0, -2, -4, 9) | ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, 0, 0, 0) | ivec4(-32, 64, -51, 24) ]; 13655 output mat3x4 out0 = [ mat3x4(0.0, -2.0, -4.0, 9.0, 0.0, -2.0, -4.0, 9.0, 0.0, -2.0, -4.0, 9.0) | mat3x4(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat3x4(-32.0, 64.0, -51.0, 24.0, -32.0, 64.0, -51.0, 24.0, 1.0, 1.0, 1.0, 1.0) | mat3x4(0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat3x4(1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, -32.0, 64.0, -51.0, 24.0) ]; 13656 } 13657 13658 both "" 13659 #version 300 es 13660 precision mediump float; 13661 precision mediump int; 13662 13663 ${DECLARATIONS} 13664 13665 void main() 13666 { 13667 ${SETUP} 13668 out0 = mat3x4(in0, in1, in2); 13669 ${OUTPUT} 13670 } 13671 "" 13672 end 13673 13674 case vec2_ivec2_float_float_float_int_int_bool_bool_bool_to_mat3x4 13675 version 300 es 13676 values 13677 { 13678 input vec2 in0 = [ vec2(1.0, 1.25) | vec2(0.0, 0.5) | vec2(0.0, 0.5) | vec2(-32.0, 64.0) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) | vec2(1.0, 1.25) | vec2(-0.75, -0.0322580645161) | vec2(-0.5, -2.25) | vec2(-0.5, -2.25) ]; 13679 input ivec2 in1 = [ ivec2(0, 0) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(1, 1) | ivec2(1, 1) | ivec2(-32, 64) | ivec2(0, 0) | ivec2(0, -2) | ivec2(0, 0) | ivec2(0, -2) ]; 13680 input float in2 = [ 1.0 | -8.25 | 2.0 | 3.5 | -20.125 | 36.8125 | 0.0 | 1.0 | -0.5 | 0.0 ]; 13681 input float in3 = [ -0.5 | 36.8125 | 1.0 | 1.0 | 0.0 | 3.5 | 2.0 | 0.0 | -8.25 | -20.125 ]; 13682 input float in4 = [ -8.25 | 1.0 | 1.0 | 0.0 | 2.0 | 36.8125 | 0.0 | -20.125 | 3.5 | -0.5 ]; 13683 input int in5 = [ 11 | 2 | 8 | 5 | 0 | -192 | 1 | -12 | 255 | -66 ]; 13684 input int in6 = [ -12 | 5 | 8 | 1 | 0 | 255 | 11 | -192 | -66 | 2 ]; 13685 input bool in7 = [ true | true | true | false | false | false | true | false | true | false ]; 13686 input bool in8 = [ true | true | true | false | true | false | true | false | false | false ]; 13687 input bool in9 = [ true | false | true | false | true | true | false | false | false | true ]; 13688 output mat3x4 out0 = [ mat3x4(1.0, 1.25, 0.0, 0.0, 1.0, -0.5, -8.25, 11.0, -12.0, 1.0, 1.0, 1.0) | mat3x4(0.0, 0.5, 0.0, 0.0, -8.25, 36.8125, 1.0, 2.0, 5.0, 1.0, 1.0, 0.0) | mat3x4(0.0, 0.5, -32.0, 64.0, 2.0, 1.0, 1.0, 8.0, 8.0, 1.0, 1.0, 1.0) | mat3x4(-32.0, 64.0, 1.0, 1.0, 3.5, 1.0, 0.0, 5.0, 1.0, 0.0, 0.0, 0.0) | mat3x4(-32.0, 64.0, 1.0, 1.0, -20.125, 0.0, 2.0, 0.0, 0.0, 0.0, 1.0, 1.0) | mat3x4(-0.75, -0.0322580645161, -32.0, 64.0, 36.8125, 3.5, 36.8125, -192.0, 255.0, 0.0, 0.0, 1.0) | mat3x4(1.0, 1.25, 0.0, 0.0, 0.0, 2.0, 0.0, 1.0, 11.0, 1.0, 1.0, 0.0) | mat3x4(-0.75, -0.0322580645161, 0.0, -2.0, 1.0, 0.0, -20.125, -12.0, -192.0, 0.0, 0.0, 0.0) | mat3x4(-0.5, -2.25, 0.0, 0.0, -0.5, -8.25, 3.5, 255.0, -66.0, 1.0, 0.0, 0.0) | mat3x4(-0.5, -2.25, 0.0, -2.0, 0.0, -20.125, -0.5, -66.0, 2.0, 0.0, 0.0, 1.0) ]; 13689 } 13690 13691 both "" 13692 #version 300 es 13693 precision mediump float; 13694 precision mediump int; 13695 13696 ${DECLARATIONS} 13697 13698 void main() 13699 { 13700 ${SETUP} 13701 out0 = mat3x4(in0, in1, in2, in3, in4, in5, in6, in7, in8, in9); 13702 ${OUTPUT} 13703 } 13704 "" 13705 end 13706 13707 case bool_float_int_vec3_bool_bvec3_float_bool_to_mat3x4 13708 version 300 es 13709 values 13710 { 13711 input bool in0 = [ false | false | true | true | true | true | false | false | false | true ]; 13712 input float in1 = [ 36.8125 | -8.25 | 1.0 | 0.0 | 0.0 | 1.0 | 2.0 | 3.5 | -0.5 | -20.125 ]; 13713 input int in2 = [ -66 | -192 | 255 | 8 | 0 | -12 | 5 | 2 | 11 | 1 ]; 13714 input vec3 in3 = [ vec3(-0.75, -0.0322580645161, 0.0526315789474) | vec3(-32.0, 64.0, -51.0) | vec3(0.0, 0.5, 0.75) | 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) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-0.5, -2.25, -4.875) ]; 13715 input bool in4 = [ false | true | true | true | false | false | true | true | false | false ]; 13716 input bvec3 in5 = [ bvec3(true, false, false) | bvec3(true, false, false) | bvec3(false, true, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(false, false, false) | bvec3(false, false, false) | bvec3(false, false, false) ]; 13717 input float in6 = [ -8.25 | 1.0 | -0.5 | 36.8125 | 0.0 | 2.0 | -20.125 | 1.0 | 0.0 | 3.5 ]; 13718 input bool in7 = [ true | false | false | true | true | false | true | false | false | true ]; 13719 output mat3x4 out0 = [ mat3x4(0.0, 36.8125, -66.0, -0.75, -0.0322580645161, 0.0526315789474, 0.0, 1.0, 0.0, 0.0, -8.25, 1.0) | mat3x4(0.0, -8.25, -192.0, -32.0, 64.0, -51.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(1.0, 1.0, 255.0, 0.0, 0.5, 0.75, 1.0, 0.0, 1.0, 0.0, -0.5, 0.0) | mat3x4(1.0, 0.0, 8.0, -0.75, -0.0322580645161, 0.0526315789474, 1.0, 0.0, 0.0, 0.0, 36.8125, 1.0) | mat3x4(1.0, 0.0, 0.0, 0.0, 0.5, 0.75, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0) | mat3x4(1.0, 1.0, -12.0, -32.0, 64.0, -51.0, 0.0, 1.0, 1.0, 1.0, 2.0, 0.0) | mat3x4(0.0, 2.0, 5.0, 1.0, 1.25, 1.125, 1.0, 1.0, 1.0, 1.0, -20.125, 1.0) | mat3x4(0.0, 3.5, 2.0, 1.0, 1.25, 1.125, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0) | mat3x4(0.0, -0.5, 11.0, -0.5, -2.25, -4.875, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat3x4(1.0, -20.125, 1.0, -0.5, -2.25, -4.875, 0.0, 0.0, 0.0, 0.0, 3.5, 1.0) ]; 13720 } 13721 13722 both "" 13723 #version 300 es 13724 precision mediump float; 13725 precision mediump int; 13726 13727 ${DECLARATIONS} 13728 13729 void main() 13730 { 13731 ${SETUP} 13732 out0 = mat3x4(in0, in1, in2, in3, in4, in5, in6, in7); 13733 ${OUTPUT} 13734 } 13735 "" 13736 end 13737 13738 case bool_bvec4_int_vec4_bool_float_to_mat3x4 13739 version 300 es 13740 values 13741 { 13742 input bool in0 = [ false | true | true | true | false | false | false | true | false | true ]; 13743 input bvec4 in1 = [ bvec4(false, false, false, false) | bvec4(true, false, false, true) | bvec4(false, true, false, false) | bvec4(false, false, false, true) | bvec4(true, true, true, true) | bvec4(false, false, false, true) | bvec4(true, true, true, true) | bvec4(false, false, false, false) | bvec4(false, true, false, false) | bvec4(true, false, false, true) ]; 13744 input int in2 = [ 255 | 2 | -192 | -12 | 11 | 1 | 0 | -66 | 8 | 5 ]; 13745 input vec4 in3 = [ vec4(-0.5, -2.25, -4.875, 9.0) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(0.0, 0.5, 0.75, 0.825) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) | vec4(-32.0, 64.0, -51.0, 24.0) | 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(-0.5, -2.25, -4.875, 9.0) ]; 13746 input bool in4 = [ true | true | true | false | false | false | true | true | false | false ]; 13747 input float in5 = [ 36.8125 | 2.0 | -8.25 | 0.0 | 1.0 | 1.0 | -0.5 | 3.5 | 0.0 | -20.125 ]; 13748 output mat3x4 out0 = [ mat3x4(0.0, 0.0, 0.0, 0.0, 0.0, 255.0, -0.5, -2.25, -4.875, 9.0, 1.0, 36.8125) | mat3x4(1.0, 1.0, 0.0, 0.0, 1.0, 2.0, 1.0, 1.25, 1.125, 1.75, 1.0, 2.0) | mat3x4(1.0, 0.0, 1.0, 0.0, 0.0, -192.0, 1.0, 1.25, 1.125, 1.75, 1.0, -8.25) | mat3x4(1.0, 0.0, 0.0, 0.0, 1.0, -12.0, 0.0, 0.5, 0.75, 0.825, 0.0, 0.0) | mat3x4(0.0, 1.0, 1.0, 1.0, 1.0, 11.0, -0.75, -0.0322580645161, 0.0526315789474, 0.25, 0.0, 1.0) | mat3x4(0.0, 0.0, 0.0, 0.0, 1.0, 1.0, -32.0, 64.0, -51.0, 24.0, 0.0, 1.0) | mat3x4(0.0, 1.0, 1.0, 1.0, 1.0, 0.0, -32.0, 64.0, -51.0, 24.0, 1.0, -0.5) | mat3x4(1.0, 0.0, 0.0, 0.0, 0.0, -66.0, 0.0, 0.5, 0.75, 0.825, 1.0, 3.5) | mat3x4(0.0, 0.0, 1.0, 0.0, 0.0, 8.0, -0.75, -0.0322580645161, 0.0526315789474, 0.25, 0.0, 0.0) | mat3x4(1.0, 1.0, 0.0, 0.0, 1.0, 5.0, -0.5, -2.25, -4.875, 9.0, 0.0, -20.125) ]; 13749 } 13750 13751 both "" 13752 #version 300 es 13753 precision mediump float; 13754 precision mediump int; 13755 13756 ${DECLARATIONS} 13757 13758 void main() 13759 { 13760 ${SETUP} 13761 out0 = mat3x4(in0, in1, in2, in3, in4, in5); 13762 ${OUTPUT} 13763 } 13764 "" 13765 end 13766 13767 case float_bvec4_ivec4_bool_bool_int_to_mat3x4 13768 version 300 es 13769 values 13770 { 13771 input float in0 = [ 36.8125 | 1.0 | 0.0 | 3.5 | -8.25 | -20.125 | 2.0 | 0.0 | 1.0 | -0.5 ]; 13772 input bvec4 in1 = [ bvec4(true, true, true, true) | bvec4(false, false, false, false) | bvec4(false, true, false, false) | bvec4(false, false, false, true) | bvec4(true, true, true, true) | bvec4(true, false, false, true) | bvec4(true, false, false, true) | bvec4(false, true, false, false) | bvec4(false, false, false, true) | bvec4(false, false, false, false) ]; 13773 input ivec4 in2 = [ ivec4(0, 0, 0, 0) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, -2, -4, 9) | ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) | ivec4(0, 0, 0, 0) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) | ivec4(1, 1, 1, 1) ]; 13774 input bool in3 = [ true | false | true | true | false | true | true | false | false | false ]; 13775 input bool in4 = [ true | false | false | true | true | false | false | false | true | true ]; 13776 input int in5 = [ 1 | 5 | -12 | 8 | -192 | 2 | -66 | 255 | 11 | 0 ]; 13777 output mat3x4 out0 = [ mat3x4(36.8125, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0) | mat3x4(1.0, 0.0, 0.0, 0.0, 0.0, 0.0, -2.0, -4.0, 9.0, 0.0, 0.0, 5.0) | mat3x4(0.0, 0.0, 1.0, 0.0, 0.0, -32.0, 64.0, -51.0, 24.0, 1.0, 0.0, -12.0) | mat3x4(3.5, 0.0, 0.0, 0.0, 1.0, 0.0, -2.0, -4.0, 9.0, 1.0, 1.0, 8.0) | mat3x4(-8.25, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, -192.0) | mat3x4(-20.125, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 2.0) | mat3x4(2.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, -66.0) | mat3x4(0.0, 0.0, 1.0, 0.0, 0.0, -32.0, 64.0, -51.0, 24.0, 0.0, 0.0, 255.0) | mat3x4(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 11.0) | mat3x4(-0.5, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0, 1.0, 0.0) ]; 13778 } 13779 13780 both "" 13781 #version 300 es 13782 precision mediump float; 13783 precision mediump int; 13784 13785 ${DECLARATIONS} 13786 13787 void main() 13788 { 13789 ${SETUP} 13790 out0 = mat3x4(in0, in1, in2, in3, in4, in5); 13791 ${OUTPUT} 13792 } 13793 "" 13794 end 13795 13796 case vec3_vec3_vec2_to_mat4x2 13797 version 300 es 13798 values 13799 { 13800 input vec3 in0 = [ vec3(1.0, 1.25, 1.125) | vec3(-32.0, 64.0, -51.0) | vec3(0.0, 0.5, 0.75) | vec3(-0.5, -2.25, -4.875) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 13801 input vec3 in1 = [ vec3(-32.0, 64.0, -51.0) | vec3(-0.75, -0.0322580645161, 0.0526315789474) | vec3(-0.5, -2.25, -4.875) | vec3(0.0, 0.5, 0.75) | vec3(1.0, 1.25, 1.125) ]; 13802 input vec2 in2 = [ vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-0.75, -0.0322580645161) | vec2(-32.0, 64.0) | vec2(0.0, 0.5) ]; 13803 output mat4x2 out0 = [ mat4x2(1.0, 1.25, 1.125, -32.0, 64.0, -51.0, 1.0, 1.25) | mat4x2(-32.0, 64.0, -51.0, -0.75, -0.0322580645161, 0.0526315789474, -0.5, -2.25) | mat4x2(0.0, 0.5, 0.75, -0.5, -2.25, -4.875, -0.75, -0.0322580645161) | mat4x2(-0.5, -2.25, -4.875, 0.0, 0.5, 0.75, -32.0, 64.0) | mat4x2(-0.75, -0.0322580645161, 0.0526315789474, 1.0, 1.25, 1.125, 0.0, 0.5) ]; 13804 } 13805 13806 both "" 13807 #version 300 es 13808 precision mediump float; 13809 precision mediump int; 13810 13811 ${DECLARATIONS} 13812 13813 void main() 13814 { 13815 ${SETUP} 13816 out0 = mat4x2(in0, in1, in2); 13817 ${OUTPUT} 13818 } 13819 "" 13820 end 13821 13822 case ivec3_ivec3_ivec2_to_mat4x2 13823 version 300 es 13824 values 13825 { 13826 input ivec3 in0 = [ ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(0, 0, 0) | ivec3(-32, 64, -51) ]; 13827 input ivec3 in1 = [ ivec3(0, -2, -4) | ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(0, 0, 0) | ivec3(-32, 64, -51) ]; 13828 input ivec2 in2 = [ ivec2(-32, 64) | ivec2(0, 0) | ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) ]; 13829 output mat4x2 out0 = [ mat4x2(0.0, 0.0, 0.0, 0.0, -2.0, -4.0, -32.0, 64.0) | mat4x2(1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0) | mat4x2(0.0, -2.0, -4.0, 1.0, 1.0, 1.0, 0.0, 0.0) | mat4x2(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0) | mat4x2(-32.0, 64.0, -51.0, -32.0, 64.0, -51.0, 0.0, -2.0) ]; 13830 } 13831 13832 both "" 13833 #version 300 es 13834 precision mediump float; 13835 precision mediump int; 13836 13837 ${DECLARATIONS} 13838 13839 void main() 13840 { 13841 ${SETUP} 13842 out0 = mat4x2(in0, in1, in2); 13843 ${OUTPUT} 13844 } 13845 "" 13846 end 13847 13848 case vec2_ivec2_float_float_int_bool_to_mat4x2 13849 version 300 es 13850 values 13851 { 13852 input vec2 in0 = [ vec2(-0.5, -2.25) | vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(0.0, 0.5) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) | vec2(-0.75, -0.0322580645161) | vec2(-32.0, 64.0) | vec2(-0.5, -2.25) | vec2(1.0, 1.25) ]; 13853 input ivec2 in1 = [ ivec2(0, -2) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(1, 1) | ivec2(1, 1) | ivec2(0, 0) | ivec2(-32, 64) | ivec2(0, 0) | ivec2(0, 0) | ivec2(0, -2) ]; 13854 input float in2 = [ 3.5 | -8.25 | 2.0 | 36.8125 | -0.5 | 1.0 | 1.0 | 0.0 | -20.125 | 0.0 ]; 13855 input float in3 = [ 0.0 | 36.8125 | 3.5 | 1.0 | -0.5 | -8.25 | 2.0 | 0.0 | -20.125 | 1.0 ]; 13856 input int in4 = [ -12 | -66 | 11 | 5 | 8 | 255 | -192 | 2 | 1 | 0 ]; 13857 input bool in5 = [ true | true | false | true | false | true | false | true | false | false ]; 13858 output mat4x2 out0 = [ mat4x2(-0.5, -2.25, 0.0, -2.0, 3.5, 0.0, -12.0, 1.0) | mat4x2(0.0, 0.5, 0.0, 0.0, -8.25, 36.8125, -66.0, 1.0) | mat4x2(1.0, 1.25, -32.0, 64.0, 2.0, 3.5, 11.0, 0.0) | mat4x2(0.0, 0.5, 1.0, 1.0, 36.8125, 1.0, 5.0, 1.0) | mat4x2(-32.0, 64.0, 1.0, 1.0, -0.5, -0.5, 8.0, 0.0) | mat4x2(-0.75, -0.0322580645161, 0.0, 0.0, 1.0, -8.25, 255.0, 1.0) | mat4x2(-0.75, -0.0322580645161, -32.0, 64.0, 1.0, 2.0, -192.0, 0.0) | mat4x2(-32.0, 64.0, 0.0, 0.0, 0.0, 0.0, 2.0, 1.0) | mat4x2(-0.5, -2.25, 0.0, 0.0, -20.125, -20.125, 1.0, 0.0) | mat4x2(1.0, 1.25, 0.0, -2.0, 0.0, 1.0, 0.0, 0.0) ]; 13859 } 13860 13861 both "" 13862 #version 300 es 13863 precision mediump float; 13864 precision mediump int; 13865 13866 ${DECLARATIONS} 13867 13868 void main() 13869 { 13870 ${SETUP} 13871 out0 = mat4x2(in0, in1, in2, in3, in4, in5); 13872 ${OUTPUT} 13873 } 13874 "" 13875 end 13876 13877 case bool_float_int_vec2_bool_bvec2_to_mat4x2 13878 version 300 es 13879 values 13880 { 13881 input bool in0 = [ false | false | true | true | true | false | false | true | false | true ]; 13882 input float in1 = [ 36.8125 | -8.25 | 3.5 | 1.0 | 2.0 | -0.5 | 0.0 | 1.0 | -20.125 | 0.0 ]; 13883 input int in2 = [ -66 | 1 | -192 | 2 | 11 | 0 | 255 | 8 | 5 | -12 ]; 13884 input vec2 in3 = [ vec2(-0.75, -0.0322580645161) | vec2(-0.75, -0.0322580645161) | vec2(-32.0, 64.0) | vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(1.0, 1.25) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(0.0, 0.5) | vec2(-0.5, -2.25) ]; 13885 input bool in4 = [ true | false | false | false | false | true | true | true | false | true ]; 13886 input bvec2 in5 = [ bvec2(false, false) | bvec2(false, true) | bvec2(false, false) | bvec2(true, true) | bvec2(true, false) | bvec2(false, true) | bvec2(false, false) | bvec2(true, true) | bvec2(false, false) | bvec2(true, false) ]; 13887 output mat4x2 out0 = [ mat4x2(0.0, 36.8125, -66.0, -0.75, -0.0322580645161, 1.0, 0.0, 0.0) | mat4x2(0.0, -8.25, 1.0, -0.75, -0.0322580645161, 0.0, 0.0, 1.0) | mat4x2(1.0, 3.5, -192.0, -32.0, 64.0, 0.0, 0.0, 0.0) | mat4x2(1.0, 1.0, 2.0, 0.0, 0.5, 0.0, 1.0, 1.0) | mat4x2(1.0, 2.0, 11.0, 1.0, 1.25, 0.0, 1.0, 0.0) | mat4x2(0.0, -0.5, 0.0, 1.0, 1.25, 1.0, 0.0, 1.0) | mat4x2(0.0, 0.0, 255.0, -0.5, -2.25, 1.0, 0.0, 0.0) | mat4x2(1.0, 1.0, 8.0, -32.0, 64.0, 1.0, 1.0, 1.0) | mat4x2(0.0, -20.125, 5.0, 0.0, 0.5, 0.0, 0.0, 0.0) | mat4x2(1.0, 0.0, -12.0, -0.5, -2.25, 1.0, 1.0, 0.0) ]; 13888 } 13889 13890 both "" 13891 #version 300 es 13892 precision mediump float; 13893 precision mediump int; 13894 13895 ${DECLARATIONS} 13896 13897 void main() 13898 { 13899 ${SETUP} 13900 out0 = mat4x2(in0, in1, in2, in3, in4, in5); 13901 ${OUTPUT} 13902 } 13903 "" 13904 end 13905 13906 case bool_bvec2_int_vec4_to_mat4x2 13907 version 300 es 13908 values 13909 { 13910 input bool in0 = [ false | false | true | false | true | false | true | true | true | false ]; 13911 input bvec2 in1 = [ bvec2(true, false) | bvec2(false, false) | bvec2(false, false) | bvec2(false, false) | bvec2(true, false) | bvec2(false, true) | bvec2(false, false) | bvec2(false, true) | bvec2(true, true) | bvec2(true, true) ]; 13912 input int in2 = [ -12 | 8 | 2 | 255 | 5 | -192 | 0 | 11 | 1 | -66 ]; 13913 input vec4 in3 = [ 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.75, -0.0322580645161, 0.0526315789474, 0.25) | vec4(-0.5, -2.25, -4.875, 9.0) | vec4(-0.5, -2.25, -4.875, 9.0) | 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.0, 0.5, 0.75, 0.825) ]; 13914 output mat4x2 out0 = [ mat4x2(0.0, 1.0, 0.0, -12.0, 1.0, 1.25, 1.125, 1.75) | mat4x2(0.0, 0.0, 0.0, 8.0, -0.75, -0.0322580645161, 0.0526315789474, 0.25) | mat4x2(1.0, 0.0, 0.0, 2.0, -32.0, 64.0, -51.0, 24.0) | mat4x2(0.0, 0.0, 0.0, 255.0, -0.75, -0.0322580645161, 0.0526315789474, 0.25) | mat4x2(1.0, 1.0, 0.0, 5.0, -0.5, -2.25, -4.875, 9.0) | mat4x2(0.0, 0.0, 1.0, -192.0, -0.5, -2.25, -4.875, 9.0) | mat4x2(1.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.75, 0.825) | mat4x2(1.0, 0.0, 1.0, 11.0, -32.0, 64.0, -51.0, 24.0) | mat4x2(1.0, 1.0, 1.0, 1.0, 1.0, 1.25, 1.125, 1.75) | mat4x2(0.0, 1.0, 1.0, -66.0, 0.0, 0.5, 0.75, 0.825) ]; 13915 } 13916 13917 both "" 13918 #version 300 es 13919 precision mediump float; 13920 precision mediump int; 13921 13922 ${DECLARATIONS} 13923 13924 void main() 13925 { 13926 ${SETUP} 13927 out0 = mat4x2(in0, in1, in2, in3); 13928 ${OUTPUT} 13929 } 13930 "" 13931 end 13932 13933 case float_bvec4_ivec2_bool_to_mat4x2 13934 version 300 es 13935 values 13936 { 13937 input float in0 = [ 1.0 | -8.25 | -20.125 | 3.5 | -0.5 | 2.0 | 36.8125 | 0.0 ]; 13938 input bvec4 in1 = [ bvec4(false, false, false, true) | bvec4(true, false, false, true) | bvec4(true, true, true, true) | bvec4(false, true, false, false) | bvec4(false, false, false, false) | bvec4(true, false, false, true) | bvec4(false, true, false, false) | bvec4(false, false, false, true) ]; 13939 input ivec2 in2 = [ ivec2(-32, 64) | ivec2(0, -2) | ivec2(0, 0) | ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(1, 1) | ivec2(0, 0) ]; 13940 input bool in3 = [ true | true | false | true | true | false | false | false ]; 13941 output mat4x2 out0 = [ mat4x2(1.0, 0.0, 0.0, 0.0, 1.0, -32.0, 64.0, 1.0) | mat4x2(-8.25, 1.0, 0.0, 0.0, 1.0, 0.0, -2.0, 1.0) | mat4x2(-20.125, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0) | mat4x2(3.5, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0) | mat4x2(-0.5, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0) | mat4x2(2.0, 1.0, 0.0, 0.0, 1.0, 0.0, -2.0, 0.0) | mat4x2(36.8125, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0) | mat4x2(0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0) ]; 13942 } 13943 13944 both "" 13945 #version 300 es 13946 precision mediump float; 13947 precision mediump int; 13948 13949 ${DECLARATIONS} 13950 13951 void main() 13952 { 13953 ${SETUP} 13954 out0 = mat4x2(in0, in1, in2, in3); 13955 ${OUTPUT} 13956 } 13957 "" 13958 end 13959 13960 case vec4_vec4_vec4_to_mat4x3 13961 version 300 es 13962 values 13963 { 13964 input vec4 in0 = [ 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) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) | vec4(-32.0, 64.0, -51.0, 24.0) ]; 13965 input vec4 in1 = [ vec4(0.0, 0.5, 0.75, 0.825) | 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) ]; 13966 input vec4 in2 = [ vec4(-32.0, 64.0, -51.0, 24.0) | 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.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 13967 output mat4x3 out0 = [ mat4x3(-0.5, -2.25, -4.875, 9.0, 0.0, 0.5, 0.75, 0.825, -32.0, 64.0, -51.0, 24.0) | mat4x3(1.0, 1.25, 1.125, 1.75, -0.5, -2.25, -4.875, 9.0, 1.0, 1.25, 1.125, 1.75) | mat4x3(0.0, 0.5, 0.75, 0.825, -32.0, 64.0, -51.0, 24.0, -0.5, -2.25, -4.875, 9.0) | mat4x3(-0.75, -0.0322580645161, 0.0526315789474, 0.25, 1.0, 1.25, 1.125, 1.75, 0.0, 0.5, 0.75, 0.825) | mat4x3(-32.0, 64.0, -51.0, 24.0, -0.75, -0.0322580645161, 0.0526315789474, 0.25, -0.75, -0.0322580645161, 0.0526315789474, 0.25) ]; 13968 } 13969 13970 both "" 13971 #version 300 es 13972 precision mediump float; 13973 precision mediump int; 13974 13975 ${DECLARATIONS} 13976 13977 void main() 13978 { 13979 ${SETUP} 13980 out0 = mat4x3(in0, in1, in2); 13981 ${OUTPUT} 13982 } 13983 "" 13984 end 13985 13986 case ivec4_ivec4_ivec4_to_mat4x3 13987 version 300 es 13988 values 13989 { 13990 input ivec4 in0 = [ ivec4(1, 1, 1, 1) | ivec4(0, 0, 0, 0) | ivec4(0, -2, -4, 9) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ]; 13991 input ivec4 in1 = [ ivec4(0, 0, 0, 0) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) | ivec4(0, -2, -4, 9) | ivec4(1, 1, 1, 1) ]; 13992 input ivec4 in2 = [ ivec4(-32, 64, -51, 24) | ivec4(0, -2, -4, 9) | ivec4(1, 1, 1, 1) | ivec4(0, 0, 0, 0) | ivec4(0, 0, 0, 0) ]; 13993 output mat4x3 out0 = [ mat4x3(1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, -32.0, 64.0, -51.0, 24.0) | mat4x3(0.0, 0.0, 0.0, 0.0, -32.0, 64.0, -51.0, 24.0, 0.0, -2.0, -4.0, 9.0) | mat4x3(0.0, -2.0, -4.0, 9.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0) | mat4x3(-32.0, 64.0, -51.0, 24.0, 0.0, -2.0, -4.0, 9.0, 0.0, 0.0, 0.0, 0.0) | mat4x3(0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0) ]; 13994 } 13995 13996 both "" 13997 #version 300 es 13998 precision mediump float; 13999 precision mediump int; 14000 14001 ${DECLARATIONS} 14002 14003 void main() 14004 { 14005 ${SETUP} 14006 out0 = mat4x3(in0, in1, in2); 14007 ${OUTPUT} 14008 } 14009 "" 14010 end 14011 14012 case vec2_ivec2_float_float_float_int_int_bool_bool_bool_to_mat4x3 14013 version 300 es 14014 values 14015 { 14016 input vec2 in0 = [ vec2(-0.5, -2.25) | vec2(0.0, 0.5) | vec2(0.0, 0.5) | vec2(1.0, 1.25) | vec2(-0.75, -0.0322580645161) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(1.0, 1.25) | vec2(-32.0, 64.0) | vec2(-0.75, -0.0322580645161) ]; 14017 input ivec2 in1 = [ ivec2(0, -2) | ivec2(-32, 64) | ivec2(1, 1) | ivec2(-32, 64) | ivec2(0, 0) | ivec2(0, 0) | ivec2(0, 0) | ivec2(0, -2) | ivec2(0, 0) | ivec2(1, 1) ]; 14018 input float in2 = [ -20.125 | 3.5 | 2.0 | -0.5 | -8.25 | 0.0 | 1.0 | 0.0 | 1.0 | 36.8125 ]; 14019 input float in3 = [ 0.0 | -8.25 | 36.8125 | 1.0 | 0.0 | -20.125 | 3.5 | 2.0 | -0.5 | 1.0 ]; 14020 input float in4 = [ 0.0 | 1.0 | 3.5 | -20.125 | 0.0 | 36.8125 | 1.0 | -8.25 | 2.0 | -0.5 ]; 14021 input int in5 = [ 2 | 8 | 1 | -192 | 0 | -12 | 11 | 255 | 5 | -66 ]; 14022 input int in6 = [ 2 | -12 | 5 | 8 | 11 | 255 | 0 | -66 | 1 | -192 ]; 14023 input bool in7 = [ true | true | false | true | false | false | false | true | false | true ]; 14024 input bool in8 = [ true | false | false | true | true | false | true | true | false | false ]; 14025 input bool in9 = [ false | true | false | false | false | false | true | true | true | true ]; 14026 output mat4x3 out0 = [ mat4x3(-0.5, -2.25, 0.0, -2.0, -20.125, 0.0, 0.0, 2.0, 2.0, 1.0, 1.0, 0.0) | mat4x3(0.0, 0.5, -32.0, 64.0, 3.5, -8.25, 1.0, 8.0, -12.0, 1.0, 0.0, 1.0) | mat4x3(0.0, 0.5, 1.0, 1.0, 2.0, 36.8125, 3.5, 1.0, 5.0, 0.0, 0.0, 0.0) | mat4x3(1.0, 1.25, -32.0, 64.0, -0.5, 1.0, -20.125, -192.0, 8.0, 1.0, 1.0, 0.0) | mat4x3(-0.75, -0.0322580645161, 0.0, 0.0, -8.25, 0.0, 0.0, 0.0, 11.0, 0.0, 1.0, 0.0) | mat4x3(-0.5, -2.25, 0.0, 0.0, 0.0, -20.125, 36.8125, -12.0, 255.0, 0.0, 0.0, 0.0) | mat4x3(-32.0, 64.0, 0.0, 0.0, 1.0, 3.5, 1.0, 11.0, 0.0, 0.0, 1.0, 1.0) | mat4x3(1.0, 1.25, 0.0, -2.0, 0.0, 2.0, -8.25, 255.0, -66.0, 1.0, 1.0, 1.0) | mat4x3(-32.0, 64.0, 0.0, 0.0, 1.0, -0.5, 2.0, 5.0, 1.0, 0.0, 0.0, 1.0) | mat4x3(-0.75, -0.0322580645161, 1.0, 1.0, 36.8125, 1.0, -0.5, -66.0, -192.0, 1.0, 0.0, 1.0) ]; 14027 } 14028 14029 both "" 14030 #version 300 es 14031 precision mediump float; 14032 precision mediump int; 14033 14034 ${DECLARATIONS} 14035 14036 void main() 14037 { 14038 ${SETUP} 14039 out0 = mat4x3(in0, in1, in2, in3, in4, in5, in6, in7, in8, in9); 14040 ${OUTPUT} 14041 } 14042 "" 14043 end 14044 14045 case bool_float_int_vec3_bool_bvec3_float_bool_to_mat4x3 14046 version 300 es 14047 values 14048 { 14049 input bool in0 = [ true | true | false | false | true | true | true | false | false | false ]; 14050 input float in1 = [ -8.25 | 2.0 | 1.0 | -0.5 | 0.0 | 0.0 | 36.8125 | -20.125 | 3.5 | 1.0 ]; 14051 input int in2 = [ 255 | 2 | 11 | 1 | 8 | -192 | 0 | -66 | -12 | 5 ]; 14052 input vec3 in3 = [ vec3(-0.75, -0.0322580645161, 0.0526315789474) | vec3(0.0, 0.5, 0.75) | 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) | vec3(-32.0, 64.0, -51.0) | vec3(1.0, 1.25, 1.125) | vec3(-0.5, -2.25, -4.875) | vec3(-0.75, -0.0322580645161, 0.0526315789474) ]; 14053 input bool in4 = [ true | true | false | false | true | false | false | false | true | true ]; 14054 input bvec3 in5 = [ bvec3(false, false, false) | bvec3(false, true, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(true, false, false) | bvec3(true, false, false) | bvec3(true, true, true) | bvec3(true, true, true) | bvec3(false, false, false) | bvec3(false, false, false) ]; 14055 input float in6 = [ 1.0 | 0.0 | -0.5 | 36.8125 | 1.0 | -20.125 | 2.0 | 0.0 | -8.25 | 3.5 ]; 14056 input bool in7 = [ true | true | false | false | false | false | true | true | false | true ]; 14057 output mat4x3 out0 = [ mat4x3(1.0, -8.25, 255.0, -0.75, -0.0322580645161, 0.0526315789474, 1.0, 0.0, 0.0, 0.0, 1.0, 1.0) | mat4x3(1.0, 2.0, 2.0, 0.0, 0.5, 0.75, 1.0, 0.0, 1.0, 0.0, 0.0, 1.0) | mat4x3(0.0, 1.0, 11.0, 0.0, 0.5, 0.75, 0.0, 0.0, 0.0, 0.0, -0.5, 0.0) | mat4x3(0.0, -0.5, 1.0, -32.0, 64.0, -51.0, 0.0, 0.0, 1.0, 0.0, 36.8125, 0.0) | mat4x3(1.0, 0.0, 8.0, -0.5, -2.25, -4.875, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0) | mat4x3(1.0, 0.0, -192.0, 1.0, 1.25, 1.125, 0.0, 1.0, 0.0, 0.0, -20.125, 0.0) | mat4x3(1.0, 36.8125, 0.0, -32.0, 64.0, -51.0, 0.0, 1.0, 1.0, 1.0, 2.0, 1.0) | mat4x3(0.0, -20.125, -66.0, 1.0, 1.25, 1.125, 0.0, 1.0, 1.0, 1.0, 0.0, 1.0) | mat4x3(0.0, 3.5, -12.0, -0.5, -2.25, -4.875, 1.0, 0.0, 0.0, 0.0, -8.25, 0.0) | mat4x3(0.0, 1.0, 5.0, -0.75, -0.0322580645161, 0.0526315789474, 1.0, 0.0, 0.0, 0.0, 3.5, 1.0) ]; 14058 } 14059 14060 both "" 14061 #version 300 es 14062 precision mediump float; 14063 precision mediump int; 14064 14065 ${DECLARATIONS} 14066 14067 void main() 14068 { 14069 ${SETUP} 14070 out0 = mat4x3(in0, in1, in2, in3, in4, in5, in6, in7); 14071 ${OUTPUT} 14072 } 14073 "" 14074 end 14075 14076 case bool_bvec4_int_vec4_bool_float_to_mat4x3 14077 version 300 es 14078 values 14079 { 14080 input bool in0 = [ true | true | true | false | true | false | false | true | false | false ]; 14081 input bvec4 in1 = [ bvec4(false, false, false, false) | bvec4(false, true, false, false) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(true, false, false, true) | bvec4(true, false, false, true) | bvec4(false, false, false, true) | bvec4(false, false, false, false) | bvec4(false, false, false, true) ]; 14082 input int in2 = [ 5 | 11 | 0 | -192 | -66 | 255 | 1 | -12 | 8 | 2 ]; 14083 input vec4 in3 = [ vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) | vec4(-32.0, 64.0, -51.0, 24.0) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(-0.5, -2.25, -4.875, 9.0) | 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) | vec4(0.0, 0.5, 0.75, 0.825) ]; 14084 input bool in4 = [ false | true | true | false | true | false | true | true | false | false ]; 14085 input float in5 = [ -20.125 | 0.0 | 1.0 | -0.5 | 3.5 | -8.25 | 0.0 | 1.0 | 2.0 | 36.8125 ]; 14086 output mat4x3 out0 = [ mat4x3(1.0, 0.0, 0.0, 0.0, 0.0, 5.0, -0.75, -0.0322580645161, 0.0526315789474, 0.25, 0.0, -20.125) | mat4x3(1.0, 0.0, 1.0, 0.0, 0.0, 11.0, -32.0, 64.0, -51.0, 24.0, 1.0, 0.0) | mat4x3(1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.25, 1.125, 1.75, 1.0, 1.0) | mat4x3(0.0, 1.0, 1.0, 1.0, 1.0, -192.0, -0.5, -2.25, -4.875, 9.0, 0.0, -0.5) | mat4x3(1.0, 1.0, 1.0, 1.0, 1.0, -66.0, 1.0, 1.25, 1.125, 1.75, 1.0, 3.5) | mat4x3(0.0, 1.0, 0.0, 0.0, 1.0, 255.0, -32.0, 64.0, -51.0, 24.0, 0.0, -8.25) | mat4x3(0.0, 1.0, 0.0, 0.0, 1.0, 1.0, -0.75, -0.0322580645161, 0.0526315789474, 0.25, 1.0, 0.0) | mat4x3(1.0, 0.0, 0.0, 0.0, 1.0, -12.0, -0.5, -2.25, -4.875, 9.0, 1.0, 1.0) | mat4x3(0.0, 0.0, 0.0, 0.0, 0.0, 8.0, 0.0, 0.5, 0.75, 0.825, 0.0, 2.0) | mat4x3(0.0, 0.0, 0.0, 0.0, 1.0, 2.0, 0.0, 0.5, 0.75, 0.825, 0.0, 36.8125) ]; 14087 } 14088 14089 both "" 14090 #version 300 es 14091 precision mediump float; 14092 precision mediump int; 14093 14094 ${DECLARATIONS} 14095 14096 void main() 14097 { 14098 ${SETUP} 14099 out0 = mat4x3(in0, in1, in2, in3, in4, in5); 14100 ${OUTPUT} 14101 } 14102 "" 14103 end 14104 14105 case float_bvec4_ivec4_bool_bool_int_to_mat4x3 14106 version 300 es 14107 values 14108 { 14109 input float in0 = [ 36.8125 | -0.5 | 3.5 | 2.0 | 1.0 | -20.125 | 0.0 | 0.0 | -8.25 | 1.0 ]; 14110 input bvec4 in1 = [ bvec4(false, false, false, false) | bvec4(false, false, false, true) | bvec4(true, false, false, true) | bvec4(false, true, false, false) | bvec4(false, false, false, false) | bvec4(true, false, false, true) | bvec4(true, true, true, true) | bvec4(true, true, true, true) | bvec4(false, true, false, false) | bvec4(false, false, false, true) ]; 14111 input ivec4 in2 = [ ivec4(1, 1, 1, 1) | ivec4(0, 0, 0, 0) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) | ivec4(0, 0, 0, 0) | ivec4(0, 0, 0, 0) | ivec4(-32, 64, -51, 24) | ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(0, -2, -4, 9) ]; 14112 input bool in3 = [ false | true | false | true | false | false | false | true | true | true ]; 14113 input bool in4 = [ false | true | false | true | false | true | false | false | true | true ]; 14114 input int in5 = [ 2 | 1 | 8 | 11 | 255 | 5 | 0 | -66 | -192 | -12 ]; 14115 output mat4x3 out0 = [ mat4x3(36.8125, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 2.0) | mat4x3(-0.5, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0) | mat4x3(3.5, 1.0, 0.0, 0.0, 1.0, -32.0, 64.0, -51.0, 24.0, 0.0, 0.0, 8.0) | mat4x3(2.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 11.0) | mat4x3(1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 255.0) | mat4x3(-20.125, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 5.0) | mat4x3(0.0, 1.0, 1.0, 1.0, 1.0, -32.0, 64.0, -51.0, 24.0, 0.0, 0.0, 0.0) | mat4x3(0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, -66.0) | mat4x3(-8.25, 0.0, 1.0, 0.0, 0.0, 0.0, -2.0, -4.0, 9.0, 1.0, 1.0, -192.0) | mat4x3(1.0, 0.0, 0.0, 0.0, 1.0, 0.0, -2.0, -4.0, 9.0, 1.0, 1.0, -12.0) ]; 14116 } 14117 14118 both "" 14119 #version 300 es 14120 precision mediump float; 14121 precision mediump int; 14122 14123 ${DECLARATIONS} 14124 14125 void main() 14126 { 14127 ${SETUP} 14128 out0 = mat4x3(in0, in1, in2, in3, in4, in5); 14129 ${OUTPUT} 14130 } 14131 "" 14132 end 14133 14134 case vec4_vec4_vec4_vec4_to_mat4 14135 version 300 es 14136 values 14137 { 14138 input vec4 in0 = [ vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) | vec4(-32.0, 64.0, -51.0, 24.0) | 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) ]; 14139 input vec4 in1 = [ vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) | vec4(-32.0, 64.0, -51.0, 24.0) | 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) ]; 14140 input vec4 in2 = [ 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) ]; 14141 input vec4 in3 = [ vec4(-32.0, 64.0, -51.0, 24.0) | vec4(-0.75, -0.0322580645161, 0.0526315789474, 0.25) | vec4(1.0, 1.25, 1.125, 1.75) | vec4(0.0, 0.5, 0.75, 0.825) | vec4(-0.5, -2.25, -4.875, 9.0) ]; 14142 output mat4 out0 = [ mat4(-0.75, -0.0322580645161, 0.0526315789474, 0.25, -0.75, -0.0322580645161, 0.0526315789474, 0.25, -32.0, 64.0, -51.0, 24.0, -32.0, 64.0, -51.0, 24.0) | mat4(-32.0, 64.0, -51.0, 24.0, -32.0, 64.0, -51.0, 24.0, -0.75, -0.0322580645161, 0.0526315789474, 0.25, -0.75, -0.0322580645161, 0.0526315789474, 0.25) | mat4(-0.5, -2.25, -4.875, 9.0, -0.5, -2.25, -4.875, 9.0, -0.5, -2.25, -4.875, 9.0, 1.0, 1.25, 1.125, 1.75) | mat4(1.0, 1.25, 1.125, 1.75, 1.0, 1.25, 1.125, 1.75, 1.0, 1.25, 1.125, 1.75, 0.0, 0.5, 0.75, 0.825) | mat4(0.0, 0.5, 0.75, 0.825, 0.0, 0.5, 0.75, 0.825, 0.0, 0.5, 0.75, 0.825, -0.5, -2.25, -4.875, 9.0) ]; 14143 } 14144 14145 both "" 14146 #version 300 es 14147 precision mediump float; 14148 precision mediump int; 14149 14150 ${DECLARATIONS} 14151 14152 void main() 14153 { 14154 ${SETUP} 14155 out0 = mat4(in0, in1, in2, in3); 14156 ${OUTPUT} 14157 } 14158 "" 14159 end 14160 14161 case ivec4_ivec4_ivec4_ivec4_to_mat4 14162 version 300 es 14163 values 14164 { 14165 input ivec4 in0 = [ ivec4(-32, 64, -51, 24) | ivec4(0, -2, -4, 9) | ivec4(1, 1, 1, 1) | ivec4(0, 0, 0, 0) | ivec4(0, 0, 0, 0) ]; 14166 input ivec4 in1 = [ ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(0, 0, 0, 0) | ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) ]; 14167 input ivec4 in2 = [ ivec4(-32, 64, -51, 24) | ivec4(0, 0, 0, 0) | ivec4(0, -2, -4, 9) | ivec4(1, 1, 1, 1) | ivec4(0, 0, 0, 0) ]; 14168 input ivec4 in3 = [ ivec4(1, 1, 1, 1) | ivec4(0, -2, -4, 9) | ivec4(0, 0, 0, 0) | ivec4(0, 0, 0, 0) | ivec4(-32, 64, -51, 24) ]; 14169 output mat4 out0 = [ mat4(-32.0, 64.0, -51.0, 24.0, 1.0, 1.0, 1.0, 1.0, -32.0, 64.0, -51.0, 24.0, 1.0, 1.0, 1.0, 1.0) | mat4(0.0, -2.0, -4.0, 9.0, 0.0, -2.0, -4.0, 9.0, 0.0, 0.0, 0.0, 0.0, 0.0, -2.0, -4.0, 9.0) | mat4(1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, -2.0, -4.0, 9.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, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.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, -32.0, 64.0, -51.0, 24.0) ]; 14170 } 14171 14172 both "" 14173 #version 300 es 14174 precision mediump float; 14175 precision mediump int; 14176 14177 ${DECLARATIONS} 14178 14179 void main() 14180 { 14181 ${SETUP} 14182 out0 = mat4(in0, in1, in2, in3); 14183 ${OUTPUT} 14184 } 14185 "" 14186 end 14187 14188 case bvec4_bvec4_bvec4_bvec4_to_mat4 14189 version 300 es 14190 values 14191 { 14192 input bvec4 in0 = [ bvec4(false, false, false, true) | bvec4(false, false, false, false) | bvec4(false, true, false, false) | bvec4(true, true, true, true) | bvec4(true, false, false, true) ]; 14193 input bvec4 in1 = [ bvec4(false, true, false, false) | bvec4(false, false, false, true) | bvec4(true, false, false, true) | bvec4(true, true, true, true) | bvec4(false, false, false, false) ]; 14194 input bvec4 in2 = [ bvec4(false, true, false, false) | bvec4(false, false, false, false) | bvec4(true, true, true, true) | bvec4(false, false, false, true) | bvec4(true, false, false, true) ]; 14195 input bvec4 in3 = [ bvec4(true, true, true, true) | bvec4(false, false, false, true) | bvec4(false, false, false, false) | bvec4(false, true, false, false) | bvec4(true, false, false, true) ]; 14196 output mat4 out0 = [ mat4(0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0) | mat4(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0) | mat4(0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0) | mat4(1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0) | mat4(1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0) ]; 14197 } 14198 14199 both "" 14200 #version 300 es 14201 precision mediump float; 14202 precision mediump int; 14203 14204 ${DECLARATIONS} 14205 14206 void main() 14207 { 14208 ${SETUP} 14209 out0 = mat4(in0, in1, in2, in3); 14210 ${OUTPUT} 14211 } 14212 "" 14213 end 14214 14215 case float_ivec3_bvec3_vec4_ivec2_float_vec2_to_mat4 14216 version 300 es 14217 values 14218 { 14219 input float in0 = [ 2.0 | 1.0 | 3.5 | 0.0 | -20.125 | 36.8125 | -0.5 | -8.25 ]; 14220 input ivec3 in1 = [ ivec3(0, 0, 0) | ivec3(-32, 64, -51) | ivec3(0, 0, 0) | ivec3(1, 1, 1) | ivec3(1, 1, 1) | ivec3(0, -2, -4) | ivec3(0, 0, 0) | ivec3(0, -2, -4) ]; 14221 input bvec3 in2 = [ bvec3(true, false, false) | bvec3(true, true, true) | bvec3(false, false, false) | bvec3(true, false, false) | bvec3(false, false, false) | bvec3(false, true, false) | bvec3(false, false, false) | bvec3(false, true, false) ]; 14222 input vec4 in3 = [ 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) | vec4(-0.5, -2.25, -4.875, 9.0) | 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) ]; 14223 input ivec2 in4 = [ ivec2(0, 0) | ivec2(1, 1) | ivec2(0, -2) | ivec2(0, 0) | ivec2(1, 1) | ivec2(-32, 64) | ivec2(0, 0) | ivec2(0, -2) ]; 14224 input float in5 = [ 2.0 | 3.5 | 36.8125 | -8.25 | 0.0 | -20.125 | 1.0 | -0.5 ]; 14225 input vec2 in6 = [ vec2(0.0, 0.5) | vec2(-0.5, -2.25) | vec2(-32.0, 64.0) | vec2(0.0, 0.5) | vec2(-0.75, -0.0322580645161) | vec2(-0.5, -2.25) | vec2(1.0, 1.25) | vec2(1.0, 1.25) ]; 14226 output mat4 out0 = [ mat4(2.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, -0.5, -2.25, -4.875, 9.0, 0.0, 0.0, 2.0, 0.0, 0.5) | mat4(1.0, -32.0, 64.0, -51.0, 1.0, 1.0, 1.0, 1.0, 1.25, 1.125, 1.75, 1.0, 1.0, 3.5, -0.5, -2.25) | mat4(3.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.75, 0.825, 0.0, -2.0, 36.8125, -32.0, 64.0) | mat4(0.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, -0.5, -2.25, -4.875, 9.0, 0.0, 0.0, -8.25, 0.0, 0.5) | mat4(-20.125, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.25, 1.125, 1.75, 1.0, 1.0, 0.0, -0.75, -0.0322580645161) | mat4(36.8125, 0.0, -2.0, -4.0, 0.0, 1.0, 0.0, -0.75, -0.0322580645161, 0.0526315789474, 0.25, -32.0, 64.0, -20.125, -0.5, -2.25) | mat4(-0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -32.0, 64.0, -51.0, 24.0, 0.0, 0.0, 1.0, 1.0, 1.25) | mat4(-8.25, 0.0, -2.0, -4.0, 0.0, 1.0, 0.0, 0.0, 0.5, 0.75, 0.825, 0.0, -2.0, -0.5, 1.0, 1.25) ]; 14227 } 14228 14229 both "" 14230 #version 300 es 14231 precision mediump float; 14232 precision mediump int; 14233 14234 ${DECLARATIONS} 14235 14236 void main() 14237 { 14238 ${SETUP} 14239 out0 = mat4(in0, in1, in2, in3, in4, in5, in6); 14240 ${OUTPUT} 14241 } 14242 "" 14243 end 14244 14245 14246 end # matrix_combine 14247