Home | History | Annotate | Download | only in shaders
      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 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 
    365 end # variables
    366 group 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 
    785 end # parameters
    786