Home | History | Annotate | Download | only in shaders
      1 group invalid_declarations "Invalid declarations"
      2 	case in_in_vertex_main
      3 		version 300 es
      4 		expect compile_fail
      5 		vertex ""
      6 			#version 300 es
      7 			${VERTEX_DECLARATIONS}
      8 			void main()
      9 			{
     10 				in mediump float val;
     11 				gl_Position = vec4(1.0);
     12 			}
     13 		""
     14 		fragment ""
     15 			#version 300 es
     16 			${FRAGMENT_DECLARATIONS}
     17 			void main()
     18 			{
     19 				${FRAG_COLOR} = vec4(1.0);
     20 			}
     21 		""
     22 	end
     23 
     24 	case out_in_vertex_main
     25 		version 300 es
     26 		expect compile_fail
     27 		vertex ""
     28 			#version 300 es
     29 			${VERTEX_DECLARATIONS}
     30 			void main()
     31 			{
     32 				out mediump float val;
     33 				gl_Position = vec4(1.0);
     34 			}
     35 		""
     36 		fragment ""
     37 			#version 300 es
     38 			in mediump float val;
     39 			${FRAGMENT_DECLARATIONS}
     40 			void main()
     41 			{
     42 				${FRAG_COLOR} = vec4(1.0);
     43 			}
     44 		""
     45 	end
     46 
     47 	case in_in_fragment_main
     48 		version 300 es
     49 		expect compile_fail
     50 		vertex ""
     51 			#version 300 es
     52 			out mediump float val;
     53 			${VERTEX_DECLARATIONS}
     54 			void main()
     55 			{
     56 				gl_Position = vec4(1.0);
     57 			}
     58 		""
     59 		fragment ""
     60 			#version 300 es
     61 			${FRAGMENT_DECLARATIONS}
     62 			void main()
     63 			{
     64 				in mediump float val;
     65 				${FRAG_COLOR} = vec4(1.0);
     66 			}
     67 		""
     68 	end
     69 
     70 	case out_in_fragment_main
     71 		version 300 es
     72 		expect compile_fail
     73 		vertex ""
     74 			#version 300 es
     75 			${VERTEX_DECLARATIONS}
     76 			void main()
     77 			{
     78 				gl_Position = vec4(1.0);
     79 			}
     80 		""
     81 		fragment ""
     82 			#version 300 es
     83 			${FRAGMENT_DECLARATIONS}
     84 			void main()
     85 			{
     86 				out mediump float val;
     87 				${FRAG_COLOR} = vec4(1.0);
     88 			}
     89 		""
     90 	end
     91 
     92 	case uniform_in_vertex_main
     93 		version 300 es
     94 		expect compile_fail
     95 		vertex ""
     96 			#version 300 es
     97 			${VERTEX_DECLARATIONS}
     98 			void main()
     99 			{
    100 				uniform mediump float val;
    101 				gl_Position = vec4(1.0);
    102 			}
    103 		""
    104 		fragment ""
    105 			#version 300 es
    106 			${FRAGMENT_DECLARATIONS}
    107 			void main()
    108 			{
    109 				${FRAG_COLOR} = vec4(1.0);
    110 			}
    111 		""
    112 	end
    113 
    114 	case uniform_in_fragment_main
    115 		version 300 es
    116 		expect compile_fail
    117 		vertex ""
    118 			#version 300 es
    119 			${VERTEX_DECLARATIONS}
    120 			void main()
    121 			{
    122 				gl_Position = vec4(1.0);
    123 			}
    124 		""
    125 		fragment ""
    126 			#version 300 es
    127 			${FRAGMENT_DECLARATIONS}
    128 			void main()
    129 			{
    130 				uniform mediump float val;
    131 				${FRAG_COLOR} = vec4(1.0);
    132 			}
    133 		""
    134 	end
    135 
    136 	case uniform_block_in_main
    137 		version 300 es
    138 		expect compile_fail
    139 		both ""
    140 			#version 300 es
    141 			${DECLARATIONS}
    142 			void main()
    143 			{
    144 				uniform Block { mediump float val; };
    145 				${OUTPUT}
    146 			}
    147 		""
    148 	end
    149 
    150 	case invariant_attribute
    151 		version 300 es
    152 		expect compile_fail
    153 		vertex ""
    154 			#version 300 es
    155 			invariant in mediump float val;
    156 			${VERTEX_DECLARATIONS}
    157 			void main()
    158 			{
    159 				gl_Position = vec4(1.0);
    160 			}
    161 		""
    162 		fragment ""
    163 			#version 300 es
    164 			${FRAGMENT_DECLARATIONS}
    165 			void main()
    166 			{
    167 				${FRAG_COLOR} = vec4(1.0);
    168 			}
    169 		""
    170 	end
    171 
    172 	case invariant_uniform
    173 		version 300 es
    174 		expect compile_fail
    175 		vertex ""
    176 			#version 300 es
    177 			invariant uniform mediump float val;
    178 			${VERTEX_DECLARATIONS}
    179 			void main()
    180 			{
    181 				gl_Position = vec4(1.0);
    182 			}
    183 		""
    184 		fragment ""
    185 			#version 300 es
    186 			${FRAGMENT_DECLARATIONS}
    187 			void main()
    188 			{
    189 				${FRAG_COLOR} = vec4(1.0);
    190 			}
    191 		""
    192 	end
    193 
    194 	case invariant_uniform_block_1
    195 		version 300 es
    196 		expect compile_fail
    197 		both ""
    198 			#version 300 es
    199 			invariant uniform Block { mediump float val; };
    200 			${DECLARATIONS}
    201 			void main()
    202 			{
    203 				${OUTPUT}
    204 			}
    205 		""
    206 	end
    207 
    208 	case invariant_uniform_block_2
    209 		version 300 es
    210 		expect compile_fail
    211 		both ""
    212 			#version 300 es
    213 			uniform Block { invariant mediump float val; };
    214 			${DECLARATIONS}
    215 			void main()
    216 			{
    217 				${OUTPUT}
    218 			}
    219 		""
    220 	end
    221 
    222 	case uniform_block_layout_qualifier
    223 		version 300 es
    224 		expect compile_fail
    225 		both ""
    226 			#version 300 es
    227 			layout(foobar) uniform Block
    228 			{
    229 				mediump float val;
    230 			};
    231 			${DECLARATIONS}
    232 			void main()
    233 			{
    234 				${OUTPUT}
    235 			}
    236 		""
    237 	end
    238 
    239 	case uniform_block_member_layout_qualifier
    240 		version 300 es
    241 		expect compile_fail
    242 		both ""
    243 			#version 300 es
    244 			${DECLARATIONS}
    245 			uniform Block
    246 			{
    247 				layout(foobar) uniform mediump float val;
    248 			};
    249 			void main()
    250 			{
    251 				${OUTPUT}
    252 			}
    253 		""
    254 	end
    255 
    256 	case uniform_block_nested_struct_definition
    257 		version 300 es
    258 		expect compile_fail
    259 		both ""
    260 			#version 300 es
    261 			${DECLARATIONS}
    262 			uniform Block
    263 			{
    264 				struct S
    265 				{
    266 					mediump float v;
    267 					struct T
    268 					{
    269 						highp int i;
    270 					} t;
    271 				} s;
    272 			};
    273 			void main()
    274 			{
    275 				${OUTPUT}
    276 			}
    277 		""
    278 	end
    279 
    280 	case nested_uniform_block
    281 		version 300 es
    282 		expect compile_fail
    283 		both ""
    284 			#version 300 es
    285 			${DECLARATIONS}
    286 			uniform Block
    287 			{
    288 				uniform Block2
    289 				{
    290 					mediump float v;
    291 				} block2;
    292 			} block;
    293 			void main()
    294 			{
    295 				${OUTPUT}
    296 			}
    297 		""
    298 	end
    299 
    300 	case uniform_block_sampler_2d
    301 		version 300 es
    302 		expect compile_fail
    303 		both ""
    304 			#version 300 es
    305 			${DECLARATIONS}
    306 			uniform Block
    307 			{
    308 				uniform sampler2D s;
    309 			};
    310 			void main()
    311 			{
    312 				${OUTPUT}
    313 			}
    314 		""
    315 	end
    316 
    317 	case uniform_block_sampler_cube
    318 		version 300 es
    319 		expect compile_fail
    320 		both ""
    321 			#version 300 es
    322 			${DECLARATIONS}
    323 			uniform Block
    324 			{
    325 				uniform samplerCube s;
    326 			};
    327 			void main()
    328 			{
    329 				${OUTPUT}
    330 			}
    331 		""
    332 	end
    333 
    334 	case uniform_block_missing_member_semicolon
    335 		version 300 es
    336 		expect compile_fail
    337 		both ""
    338 			#version 300 es
    339 			${DECLARATIONS}
    340 			uniform Block
    341 			{
    342 				mediump float var
    343 			};
    344 			void main()
    345 			{
    346 				${OUTPUT}
    347 			}
    348 		""
    349 	end
    350 
    351 	case uniform_block_missing_end_semicolon
    352 		version 300 es
    353 		expect compile_fail
    354 		both ""
    355 			#version 300 es
    356 			${DECLARATIONS}
    357 			uniform Block
    358 			{
    359 				mediump float var;
    360 			}
    361 			void main()
    362 			{
    363 				${OUTPUT}
    364 			}
    365 		""
    366 	end
    367 
    368 	case uniform_block_duplicate_member_name_1
    369 		version 300 es
    370 		expect compile_fail
    371 		both ""
    372 			#version 300 es
    373 			${DECLARATIONS}
    374 			uniform Block
    375 			{
    376 				mediump float var;
    377 				mediump float var;
    378 			};
    379 			void main()
    380 			{
    381 				${OUTPUT}
    382 			}
    383 		""
    384 	end
    385 
    386 	case uniform_block_duplicate_member_name_2
    387 		version 300 es
    388 		expect compile_fail
    389 		both ""
    390 			#version 300 es
    391 			${DECLARATIONS}
    392 			uniform Block
    393 			{
    394 				mediump float var;
    395 			};
    396 			uniform Block2
    397 			{
    398 				mediump float var;
    399 			};
    400 			void main()
    401 			{
    402 				${OUTPUT}
    403 			}
    404 		""
    405 	end
    406 
    407 	case uniform_block_duplicate_member_name_3
    408 		version 300 es
    409 		expect compile_fail
    410 		both ""
    411 			#version 300 es
    412 			${DECLARATIONS}
    413 			uniform mediump float var;
    414 			uniform Block
    415 			{
    416 				mediump float var;
    417 			};
    418 			void main()
    419 			{
    420 				${OUTPUT}
    421 			}
    422 		""
    423 	end
    424 
    425 	case uniform_block_duplicate_block_name
    426 		version 300 es
    427 		expect compile_fail
    428 		both ""
    429 			#version 300 es
    430 			${DECLARATIONS}
    431 			uniform Block
    432 			{
    433 				mediump float var;
    434 			};
    435 			uniform Block
    436 			{
    437 				mediump float var2;
    438 			};
    439 			void main()
    440 			{
    441 				${OUTPUT}
    442 			}
    443 		""
    444 	end
    445 
    446 	case uniform_block_duplicate_instance_name_1
    447 		version 300 es
    448 		expect compile_fail
    449 		both ""
    450 			#version 300 es
    451 			${DECLARATIONS}
    452 			uniform Block
    453 			{
    454 				mediump float var;
    455 			} block;
    456 			uniform Block2
    457 			{
    458 				mediump float var2;
    459 			} block;
    460 			void main()
    461 			{
    462 				${OUTPUT}
    463 			}
    464 		""
    465 	end
    466 
    467 	case uniform_block_duplicate_instance_name_2
    468 		version 300 es
    469 		expect compile_fail
    470 		both ""
    471 			#version 300 es
    472 			${DECLARATIONS}
    473 			uniform mediump float block;
    474 			uniform Block
    475 			{
    476 				mediump float var;
    477 			} block;
    478 			void main()
    479 			{
    480 				${OUTPUT}
    481 			}
    482 		""
    483 	end
    484 
    485 	case uniform_block_duplicate_instance_name_3
    486 		version 300 es
    487 		expect compile_fail
    488 		both ""
    489 			#version 300 es
    490 			${DECLARATIONS}
    491 			uniform Block
    492 			{
    493 				mediump float block;
    494 			};
    495 			uniform Block2
    496 			{
    497 				mediump float var2;
    498 			} block;
    499 			void main()
    500 			{
    501 				${OUTPUT}
    502 			}
    503 		""
    504 	end
    505 
    506 	case uniform_block_array_without_instance_name_1
    507 		version 300 es
    508 		expect compile_fail
    509 		both ""
    510 			#version 300 es
    511 			${DECLARATIONS}
    512 			uniform Block[2]
    513 			{
    514 				mediump float var;
    515 			};
    516 			void main()
    517 			{
    518 				${OUTPUT}
    519 			}
    520 		""
    521 	end
    522 
    523 	case uniform_block_array_without_instance_name_2
    524 		version 300 es
    525 		expect compile_fail
    526 		both ""
    527 			#version 300 es
    528 			${DECLARATIONS}
    529 			uniform Block
    530 			{
    531 				mediump float var;
    532 			} [2];
    533 			void main()
    534 			{
    535 				${OUTPUT}
    536 			}
    537 		""
    538 	end
    539 
    540 	case uniform_block_in
    541 		version 300 es
    542 		expect compile_fail
    543 		both ""
    544 			#version 300 es
    545 			${DECLARATIONS}
    546 			uniform Block
    547 			{
    548 				in mediump float var;
    549 			};
    550 			void main()
    551 			{
    552 				${OUTPUT}
    553 			}
    554 		""
    555 	end
    556 
    557 	case uniform_block_out
    558 		version 300 es
    559 		expect compile_fail
    560 		both ""
    561 			#version 300 es
    562 			${DECLARATIONS}
    563 			uniform Block
    564 			{
    565 				out mediump float var;
    566 			};
    567 			void main()
    568 			{
    569 				${OUTPUT}
    570 			}
    571 		""
    572 	end
    573 
    574 	case uniform_block_const
    575 		version 300 es
    576 		expect compile_fail
    577 		both ""
    578 			#version 300 es
    579 			${DECLARATIONS}
    580 			uniform Block
    581 			{
    582 				const mediump float var;
    583 			};
    584 			void main()
    585 			{
    586 				${OUTPUT}
    587 			}
    588 		""
    589 	end
    590 
    591 end # invalid_declarations
    592