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 4group variables "Order of qualification in variable declarations." 5 6 group valid "Valid orderings." 7 8 case invariant_storage_precision 9 expect pass 10 values {} 11 12 vertex "" 13 precision mediump float; 14 attribute highp vec4 dEQP_Position; 15 16 invariant varying lowp float x0; 17 18 uniform mediump float x1; 19 20 attribute mediump float x2; 21 22 void main() 23 { 24 x0 = 1.0; 25 gl_Position = dEQP_Position; 26 } 27 "" 28 29 fragment "" 30 precision mediump float; 31 32 invariant varying lowp float x0; 33 34 uniform mediump float x1; 35 36 void main() 37 { 38 float result = x0 + x1; 39 gl_FragColor = vec4(result, result, result, 1.0); 40 } 41 "" 42 end 43 case storage_precision 44 expect pass 45 values {} 46 47 vertex "" 48 precision mediump float; 49 attribute highp vec4 dEQP_Position; 50 51 varying lowp float x0; 52 53 uniform mediump float x1; 54 55 attribute mediump float x2; 56 57 void main() 58 { 59 x0 = 1.0; 60 gl_Position = dEQP_Position; 61 } 62 "" 63 64 fragment "" 65 precision mediump float; 66 67 varying lowp float x0; 68 69 uniform mediump float x1; 70 71 void main() 72 { 73 float result = x0 + x1; 74 gl_FragColor = vec4(result, result, result, 1.0); 75 } 76 "" 77 end 78 case invariant_storage 79 expect pass 80 values {} 81 82 vertex "" 83 precision mediump float; 84 attribute highp vec4 dEQP_Position; 85 86 invariant varying float x0; 87 88 uniform float x1; 89 90 attribute float x2; 91 92 void main() 93 { 94 x0 = 1.0; 95 gl_Position = dEQP_Position; 96 } 97 "" 98 99 fragment "" 100 precision mediump float; 101 102 invariant varying float x0; 103 104 uniform float x1; 105 106 void main() 107 { 108 float result = x0 + x1; 109 gl_FragColor = vec4(result, result, result, 1.0); 110 } 111 "" 112 end 113 114 end # valid 115 group invalid "Invalid orderings." 116 117 case invariant_precision_storage 118 expect compile_fail 119 values {} 120 121 vertex "" 122 precision mediump float; 123 attribute highp vec4 dEQP_Position; 124 125 invariant lowp varying float x0; 126 127 mediump uniform float x1; 128 129 mediump attribute float x2; 130 131 void main() 132 { 133 x0 = 1.0; 134 gl_Position = dEQP_Position; 135 } 136 "" 137 138 fragment "" 139 precision mediump float; 140 141 invariant lowp varying float x0; 142 143 mediump uniform float x1; 144 145 void main() 146 { 147 float result = x0 + x1; 148 gl_FragColor = vec4(result, result, result, 1.0); 149 } 150 "" 151 end 152 case storage_invariant_precision 153 expect compile_fail 154 values {} 155 156 vertex "" 157 precision mediump float; 158 attribute highp vec4 dEQP_Position; 159 160 varying invariant lowp float x0; 161 162 uniform mediump float x1; 163 164 attribute mediump float x2; 165 166 void main() 167 { 168 x0 = 1.0; 169 gl_Position = dEQP_Position; 170 } 171 "" 172 173 fragment "" 174 precision mediump float; 175 176 varying invariant lowp float x0; 177 178 uniform mediump float x1; 179 180 void main() 181 { 182 float result = x0 + x1; 183 gl_FragColor = vec4(result, result, result, 1.0); 184 } 185 "" 186 end 187 case storage_precision_invariant 188 expect compile_fail 189 values {} 190 191 vertex "" 192 precision mediump float; 193 attribute highp vec4 dEQP_Position; 194 195 varying lowp invariant float x0; 196 197 uniform mediump float x1; 198 199 attribute mediump float x2; 200 201 void main() 202 { 203 x0 = 1.0; 204 gl_Position = dEQP_Position; 205 } 206 "" 207 208 fragment "" 209 precision mediump float; 210 211 varying lowp invariant float x0; 212 213 uniform mediump float x1; 214 215 void main() 216 { 217 float result = x0 + x1; 218 gl_FragColor = vec4(result, result, result, 1.0); 219 } 220 "" 221 end 222 case precision_invariant_storage 223 expect compile_fail 224 values {} 225 226 vertex "" 227 precision mediump float; 228 attribute highp vec4 dEQP_Position; 229 230 lowp invariant varying float x0; 231 232 mediump uniform float x1; 233 234 mediump attribute float x2; 235 236 void main() 237 { 238 x0 = 1.0; 239 gl_Position = dEQP_Position; 240 } 241 "" 242 243 fragment "" 244 precision mediump float; 245 246 lowp invariant varying float x0; 247 248 mediump uniform float x1; 249 250 void main() 251 { 252 float result = x0 + x1; 253 gl_FragColor = vec4(result, result, result, 1.0); 254 } 255 "" 256 end 257 case precision_storage_invariant 258 expect compile_fail 259 values {} 260 261 vertex "" 262 precision mediump float; 263 attribute highp vec4 dEQP_Position; 264 265 lowp varying invariant float x0; 266 267 mediump uniform float x1; 268 269 mediump attribute float x2; 270 271 void main() 272 { 273 x0 = 1.0; 274 gl_Position = dEQP_Position; 275 } 276 "" 277 278 fragment "" 279 precision mediump float; 280 281 lowp varying invariant float x0; 282 283 mediump uniform float x1; 284 285 void main() 286 { 287 float result = x0 + x1; 288 gl_FragColor = vec4(result, result, result, 1.0); 289 } 290 "" 291 end 292 case precision_storage 293 expect compile_fail 294 values {} 295 296 vertex "" 297 precision mediump float; 298 attribute highp vec4 dEQP_Position; 299 300 lowp varying float x0; 301 302 mediump uniform float x1; 303 304 mediump attribute float x2; 305 306 void main() 307 { 308 x0 = 1.0; 309 gl_Position = dEQP_Position; 310 } 311 "" 312 313 fragment "" 314 precision mediump float; 315 316 lowp varying float x0; 317 318 mediump uniform float x1; 319 320 void main() 321 { 322 float result = x0 + x1; 323 gl_FragColor = vec4(result, result, result, 1.0); 324 } 325 "" 326 end 327 case storage_invariant 328 expect compile_fail 329 values {} 330 331 vertex "" 332 precision mediump float; 333 attribute highp vec4 dEQP_Position; 334 335 varying invariant float x0; 336 337 uniform float x1; 338 339 attribute float x2; 340 341 void main() 342 { 343 x0 = 1.0; 344 gl_Position = dEQP_Position; 345 } 346 "" 347 348 fragment "" 349 precision mediump float; 350 351 varying invariant float x0; 352 353 uniform float x1; 354 355 void main() 356 { 357 float result = x0 + x1; 358 gl_FragColor = vec4(result, result, result, 1.0); 359 } 360 "" 361 end 362 363 end # invalid 364 365end # variables 366group parameters "Order of qualification in function parameters." 367 368 group valid "Valid orderings." 369 370 case storage_parameter_precision 371 expect pass 372 values {} 373 374 both "" 375 precision mediump float; 376 ${DECLARATIONS} 377 378 float foo0 (const in lowp float x) 379 { 380 return x + 1.0; 381 } 382 383 void foo1 ( out mediump float x) 384 { 385 x = 1.0; 386 } 387 388 float foo2 ( inout mediump float x) 389 { 390 return x + 1.0; 391 } 392 393 void main() 394 { 395 ${SETUP} 396 float result; 397 foo1(result); 398 float x0 = foo0(1.0); 399 foo2(result); 400 ${OUTPUT} 401 } 402 "" 403 end 404 case storage_parameter 405 expect pass 406 values {} 407 408 both "" 409 precision mediump float; 410 ${DECLARATIONS} 411 412 float foo0 (const in float x) 413 { 414 return x + 1.0; 415 } 416 417 void foo1 ( out float x) 418 { 419 x = 1.0; 420 } 421 422 float foo2 ( inout float x) 423 { 424 return x + 1.0; 425 } 426 427 void main() 428 { 429 ${SETUP} 430 float result; 431 foo1(result); 432 float x0 = foo0(1.0); 433 foo2(result); 434 ${OUTPUT} 435 } 436 "" 437 end 438 case storage_precision 439 expect pass 440 values {} 441 442 both "" 443 precision mediump float; 444 ${DECLARATIONS} 445 446 float foo0 (const lowp float x) 447 { 448 return x + 1.0; 449 } 450 451 void foo1 ( mediump float x) 452 { 453 x = 1.0; 454 } 455 456 float foo2 ( mediump float x) 457 { 458 return x + 1.0; 459 } 460 461 void main() 462 { 463 ${SETUP} 464 float result; 465 foo1(result); 466 float x0 = foo0(1.0); 467 foo2(result); 468 ${OUTPUT} 469 } 470 "" 471 end 472 case parameter_precision 473 expect pass 474 values {} 475 476 both "" 477 precision mediump float; 478 ${DECLARATIONS} 479 480 float foo0 (in lowp float x) 481 { 482 return x + 1.0; 483 } 484 485 void foo1 (out mediump float x) 486 { 487 x = 1.0; 488 } 489 490 float foo2 (inout mediump float x) 491 { 492 return x + 1.0; 493 } 494 495 void main() 496 { 497 ${SETUP} 498 float result; 499 foo1(result); 500 float x0 = foo0(1.0); 501 foo2(result); 502 ${OUTPUT} 503 } 504 "" 505 end 506 507 end # valid 508 group invalid "Invalid orderings." 509 510 case storage_precision_parameter 511 expect compile_fail 512 values {} 513 514 both "" 515 precision mediump float; 516 ${DECLARATIONS} 517 518 float foo0 (const lowp in float x) 519 { 520 return x + 1.0; 521 } 522 523 void foo1 ( mediump out float x) 524 { 525 x = 1.0; 526 } 527 528 float foo2 ( mediump inout float x) 529 { 530 return x + 1.0; 531 } 532 533 void main() 534 { 535 ${SETUP} 536 float result; 537 foo1(result); 538 float x0 = foo0(1.0); 539 foo2(result); 540 ${OUTPUT} 541 } 542 "" 543 end 544 case parameter_storage_precision 545 expect compile_fail 546 values {} 547 548 both "" 549 precision mediump float; 550 ${DECLARATIONS} 551 552 float foo0 (in const lowp float x) 553 { 554 return x + 1.0; 555 } 556 557 void foo1 (out mediump float x) 558 { 559 x = 1.0; 560 } 561 562 float foo2 (inout mediump float x) 563 { 564 return x + 1.0; 565 } 566 567 void main() 568 { 569 ${SETUP} 570 float result; 571 foo1(result); 572 float x0 = foo0(1.0); 573 foo2(result); 574 ${OUTPUT} 575 } 576 "" 577 end 578 case parameter_precision_storage 579 expect compile_fail 580 values {} 581 582 both "" 583 precision mediump float; 584 ${DECLARATIONS} 585 586 float foo0 (in lowp const float x) 587 { 588 return x + 1.0; 589 } 590 591 void foo1 (out mediump float x) 592 { 593 x = 1.0; 594 } 595 596 float foo2 (inout mediump float x) 597 { 598 return x + 1.0; 599 } 600 601 void main() 602 { 603 ${SETUP} 604 float result; 605 foo1(result); 606 float x0 = foo0(1.0); 607 foo2(result); 608 ${OUTPUT} 609 } 610 "" 611 end 612 case precision_storage_parameter 613 expect compile_fail 614 values {} 615 616 both "" 617 precision mediump float; 618 ${DECLARATIONS} 619 620 float foo0 (lowp const in float x) 621 { 622 return x + 1.0; 623 } 624 625 void foo1 (mediump out float x) 626 { 627 x = 1.0; 628 } 629 630 float foo2 (mediump inout float x) 631 { 632 return x + 1.0; 633 } 634 635 void main() 636 { 637 ${SETUP} 638 float result; 639 foo1(result); 640 float x0 = foo0(1.0); 641 foo2(result); 642 ${OUTPUT} 643 } 644 "" 645 end 646 case precision_parameter_storage 647 expect compile_fail 648 values {} 649 650 both "" 651 precision mediump float; 652 ${DECLARATIONS} 653 654 float foo0 (lowp in const float x) 655 { 656 return x + 1.0; 657 } 658 659 void foo1 (mediump out float x) 660 { 661 x = 1.0; 662 } 663 664 float foo2 (mediump inout float x) 665 { 666 return x + 1.0; 667 } 668 669 void main() 670 { 671 ${SETUP} 672 float result; 673 foo1(result); 674 float x0 = foo0(1.0); 675 foo2(result); 676 ${OUTPUT} 677 } 678 "" 679 end 680 case parameter_storage 681 expect compile_fail 682 values {} 683 684 both "" 685 precision mediump float; 686 ${DECLARATIONS} 687 688 float foo0 (in const float x) 689 { 690 return x + 1.0; 691 } 692 693 void foo1 (out float x) 694 { 695 x = 1.0; 696 } 697 698 float foo2 (inout float x) 699 { 700 return x + 1.0; 701 } 702 703 void main() 704 { 705 ${SETUP} 706 float result; 707 foo1(result); 708 float x0 = foo0(1.0); 709 foo2(result); 710 ${OUTPUT} 711 } 712 "" 713 end 714 case precision_storage 715 expect compile_fail 716 values {} 717 718 both "" 719 precision mediump float; 720 ${DECLARATIONS} 721 722 float foo0 (lowp const float x) 723 { 724 return x + 1.0; 725 } 726 727 void foo1 (mediump float x) 728 { 729 x = 1.0; 730 } 731 732 float foo2 (mediump float x) 733 { 734 return x + 1.0; 735 } 736 737 void main() 738 { 739 ${SETUP} 740 float result; 741 foo1(result); 742 float x0 = foo0(1.0); 743 foo2(result); 744 ${OUTPUT} 745 } 746 "" 747 end 748 case precision_parameter 749 expect compile_fail 750 values {} 751 752 both "" 753 precision mediump float; 754 ${DECLARATIONS} 755 756 float foo0 (lowp in float x) 757 { 758 return x + 1.0; 759 } 760 761 void foo1 (mediump out float x) 762 { 763 x = 1.0; 764 } 765 766 float foo2 (mediump inout float x) 767 { 768 return x + 1.0; 769 } 770 771 void main() 772 { 773 ${SETUP} 774 float result; 775 foo1(result); 776 float x0 = foo0(1.0); 777 foo2(result); 778 ${OUTPUT} 779 } 780 "" 781 end 782 783 end # invalid 784 785end # parameters 786