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