1e5c31af7Sopenharmony_ci# WARNING: This file is auto-generated. Do NOT modify it manually, but rather 2e5c31af7Sopenharmony_ci# modify the generating script file. Otherwise changes will be lost! 3e5c31af7Sopenharmony_ci 4e5c31af7Sopenharmony_cigroup valid "Valid uniform interface block syntax tests." 5e5c31af7Sopenharmony_ci 6e5c31af7Sopenharmony_ci case repeat_interface_qualifier_vertex 7e5c31af7Sopenharmony_ci version 300 es 8e5c31af7Sopenharmony_ci expect build_successful 9e5c31af7Sopenharmony_ci 10e5c31af7Sopenharmony_ci vertex "" 11e5c31af7Sopenharmony_ci #version 300 es 12e5c31af7Sopenharmony_ci precision highp float; 13e5c31af7Sopenharmony_ci 14e5c31af7Sopenharmony_ci 15e5c31af7Sopenharmony_ci 16e5c31af7Sopenharmony_ci uniform UniformBlock 17e5c31af7Sopenharmony_ci { 18e5c31af7Sopenharmony_ci uniform vec4 uniformMember; 19e5c31af7Sopenharmony_ci } uniformBlock; 20e5c31af7Sopenharmony_ci 21e5c31af7Sopenharmony_ci void main() 22e5c31af7Sopenharmony_ci { 23e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember; 24e5c31af7Sopenharmony_ci } 25e5c31af7Sopenharmony_ci "" 26e5c31af7Sopenharmony_ci 27e5c31af7Sopenharmony_ci fragment "" 28e5c31af7Sopenharmony_ci #version 300 es 29e5c31af7Sopenharmony_ci precision highp float; 30e5c31af7Sopenharmony_ci 31e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 32e5c31af7Sopenharmony_ci 33e5c31af7Sopenharmony_ci void main() 34e5c31af7Sopenharmony_ci { 35e5c31af7Sopenharmony_ci o_color = vec4(1.0); 36e5c31af7Sopenharmony_ci } 37e5c31af7Sopenharmony_ci "" 38e5c31af7Sopenharmony_ci end 39e5c31af7Sopenharmony_ci case repeat_interface_qualifier_fragment 40e5c31af7Sopenharmony_ci version 300 es 41e5c31af7Sopenharmony_ci expect build_successful 42e5c31af7Sopenharmony_ci 43e5c31af7Sopenharmony_ci vertex "" 44e5c31af7Sopenharmony_ci #version 300 es 45e5c31af7Sopenharmony_ci precision highp float; 46e5c31af7Sopenharmony_ci 47e5c31af7Sopenharmony_ci in vec4 a_pos; 48e5c31af7Sopenharmony_ci 49e5c31af7Sopenharmony_ci void main() 50e5c31af7Sopenharmony_ci { 51e5c31af7Sopenharmony_ci gl_Position = a_pos; 52e5c31af7Sopenharmony_ci } 53e5c31af7Sopenharmony_ci "" 54e5c31af7Sopenharmony_ci 55e5c31af7Sopenharmony_ci fragment "" 56e5c31af7Sopenharmony_ci #version 300 es 57e5c31af7Sopenharmony_ci precision highp float; 58e5c31af7Sopenharmony_ci 59e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 60e5c31af7Sopenharmony_ci 61e5c31af7Sopenharmony_ci uniform UniformBlock 62e5c31af7Sopenharmony_ci { 63e5c31af7Sopenharmony_ci uniform vec4 uniformMember; 64e5c31af7Sopenharmony_ci } uniformBlock; 65e5c31af7Sopenharmony_ci 66e5c31af7Sopenharmony_ci void main() 67e5c31af7Sopenharmony_ci { 68e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember; 69e5c31af7Sopenharmony_ci } 70e5c31af7Sopenharmony_ci "" 71e5c31af7Sopenharmony_ci end 72e5c31af7Sopenharmony_ci case layout_shared_vertex 73e5c31af7Sopenharmony_ci version 300 es 74e5c31af7Sopenharmony_ci expect build_successful 75e5c31af7Sopenharmony_ci 76e5c31af7Sopenharmony_ci vertex "" 77e5c31af7Sopenharmony_ci #version 300 es 78e5c31af7Sopenharmony_ci precision highp float; 79e5c31af7Sopenharmony_ci 80e5c31af7Sopenharmony_ci 81e5c31af7Sopenharmony_ci 82e5c31af7Sopenharmony_ci layout(shared) uniform UniformBlock 83e5c31af7Sopenharmony_ci { 84e5c31af7Sopenharmony_ci vec4 uniformMember; 85e5c31af7Sopenharmony_ci } uniformBlock; 86e5c31af7Sopenharmony_ci 87e5c31af7Sopenharmony_ci void main() 88e5c31af7Sopenharmony_ci { 89e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember; 90e5c31af7Sopenharmony_ci } 91e5c31af7Sopenharmony_ci "" 92e5c31af7Sopenharmony_ci 93e5c31af7Sopenharmony_ci fragment "" 94e5c31af7Sopenharmony_ci #version 300 es 95e5c31af7Sopenharmony_ci precision highp float; 96e5c31af7Sopenharmony_ci 97e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 98e5c31af7Sopenharmony_ci 99e5c31af7Sopenharmony_ci void main() 100e5c31af7Sopenharmony_ci { 101e5c31af7Sopenharmony_ci o_color = vec4(1.0); 102e5c31af7Sopenharmony_ci } 103e5c31af7Sopenharmony_ci "" 104e5c31af7Sopenharmony_ci end 105e5c31af7Sopenharmony_ci case layout_shared_fragment 106e5c31af7Sopenharmony_ci version 300 es 107e5c31af7Sopenharmony_ci expect build_successful 108e5c31af7Sopenharmony_ci 109e5c31af7Sopenharmony_ci vertex "" 110e5c31af7Sopenharmony_ci #version 300 es 111e5c31af7Sopenharmony_ci precision highp float; 112e5c31af7Sopenharmony_ci 113e5c31af7Sopenharmony_ci in vec4 a_pos; 114e5c31af7Sopenharmony_ci 115e5c31af7Sopenharmony_ci void main() 116e5c31af7Sopenharmony_ci { 117e5c31af7Sopenharmony_ci gl_Position = a_pos; 118e5c31af7Sopenharmony_ci } 119e5c31af7Sopenharmony_ci "" 120e5c31af7Sopenharmony_ci 121e5c31af7Sopenharmony_ci fragment "" 122e5c31af7Sopenharmony_ci #version 300 es 123e5c31af7Sopenharmony_ci precision highp float; 124e5c31af7Sopenharmony_ci 125e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 126e5c31af7Sopenharmony_ci 127e5c31af7Sopenharmony_ci layout(shared) uniform UniformBlock 128e5c31af7Sopenharmony_ci { 129e5c31af7Sopenharmony_ci vec4 uniformMember; 130e5c31af7Sopenharmony_ci } uniformBlock; 131e5c31af7Sopenharmony_ci 132e5c31af7Sopenharmony_ci void main() 133e5c31af7Sopenharmony_ci { 134e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember; 135e5c31af7Sopenharmony_ci } 136e5c31af7Sopenharmony_ci "" 137e5c31af7Sopenharmony_ci end 138e5c31af7Sopenharmony_ci case layout_packed_vertex 139e5c31af7Sopenharmony_ci version 300 es 140e5c31af7Sopenharmony_ci expect build_successful 141e5c31af7Sopenharmony_ci 142e5c31af7Sopenharmony_ci vertex "" 143e5c31af7Sopenharmony_ci #version 300 es 144e5c31af7Sopenharmony_ci precision highp float; 145e5c31af7Sopenharmony_ci 146e5c31af7Sopenharmony_ci 147e5c31af7Sopenharmony_ci 148e5c31af7Sopenharmony_ci layout(packed) uniform UniformBlock 149e5c31af7Sopenharmony_ci { 150e5c31af7Sopenharmony_ci vec4 uniformMember; 151e5c31af7Sopenharmony_ci } uniformBlock; 152e5c31af7Sopenharmony_ci 153e5c31af7Sopenharmony_ci void main() 154e5c31af7Sopenharmony_ci { 155e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember; 156e5c31af7Sopenharmony_ci } 157e5c31af7Sopenharmony_ci "" 158e5c31af7Sopenharmony_ci 159e5c31af7Sopenharmony_ci fragment "" 160e5c31af7Sopenharmony_ci #version 300 es 161e5c31af7Sopenharmony_ci precision highp float; 162e5c31af7Sopenharmony_ci 163e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 164e5c31af7Sopenharmony_ci 165e5c31af7Sopenharmony_ci void main() 166e5c31af7Sopenharmony_ci { 167e5c31af7Sopenharmony_ci o_color = vec4(1.0); 168e5c31af7Sopenharmony_ci } 169e5c31af7Sopenharmony_ci "" 170e5c31af7Sopenharmony_ci end 171e5c31af7Sopenharmony_ci case layout_packed_fragment 172e5c31af7Sopenharmony_ci version 300 es 173e5c31af7Sopenharmony_ci expect build_successful 174e5c31af7Sopenharmony_ci 175e5c31af7Sopenharmony_ci vertex "" 176e5c31af7Sopenharmony_ci #version 300 es 177e5c31af7Sopenharmony_ci precision highp float; 178e5c31af7Sopenharmony_ci 179e5c31af7Sopenharmony_ci in vec4 a_pos; 180e5c31af7Sopenharmony_ci 181e5c31af7Sopenharmony_ci void main() 182e5c31af7Sopenharmony_ci { 183e5c31af7Sopenharmony_ci gl_Position = a_pos; 184e5c31af7Sopenharmony_ci } 185e5c31af7Sopenharmony_ci "" 186e5c31af7Sopenharmony_ci 187e5c31af7Sopenharmony_ci fragment "" 188e5c31af7Sopenharmony_ci #version 300 es 189e5c31af7Sopenharmony_ci precision highp float; 190e5c31af7Sopenharmony_ci 191e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 192e5c31af7Sopenharmony_ci 193e5c31af7Sopenharmony_ci layout(packed) uniform UniformBlock 194e5c31af7Sopenharmony_ci { 195e5c31af7Sopenharmony_ci vec4 uniformMember; 196e5c31af7Sopenharmony_ci } uniformBlock; 197e5c31af7Sopenharmony_ci 198e5c31af7Sopenharmony_ci void main() 199e5c31af7Sopenharmony_ci { 200e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember; 201e5c31af7Sopenharmony_ci } 202e5c31af7Sopenharmony_ci "" 203e5c31af7Sopenharmony_ci end 204e5c31af7Sopenharmony_ci case layout_std140_vertex 205e5c31af7Sopenharmony_ci version 300 es 206e5c31af7Sopenharmony_ci expect build_successful 207e5c31af7Sopenharmony_ci 208e5c31af7Sopenharmony_ci vertex "" 209e5c31af7Sopenharmony_ci #version 300 es 210e5c31af7Sopenharmony_ci precision highp float; 211e5c31af7Sopenharmony_ci 212e5c31af7Sopenharmony_ci 213e5c31af7Sopenharmony_ci 214e5c31af7Sopenharmony_ci layout(std140) uniform UniformBlock 215e5c31af7Sopenharmony_ci { 216e5c31af7Sopenharmony_ci vec4 uniformMember; 217e5c31af7Sopenharmony_ci } uniformBlock; 218e5c31af7Sopenharmony_ci 219e5c31af7Sopenharmony_ci void main() 220e5c31af7Sopenharmony_ci { 221e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember; 222e5c31af7Sopenharmony_ci } 223e5c31af7Sopenharmony_ci "" 224e5c31af7Sopenharmony_ci 225e5c31af7Sopenharmony_ci fragment "" 226e5c31af7Sopenharmony_ci #version 300 es 227e5c31af7Sopenharmony_ci precision highp float; 228e5c31af7Sopenharmony_ci 229e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 230e5c31af7Sopenharmony_ci 231e5c31af7Sopenharmony_ci void main() 232e5c31af7Sopenharmony_ci { 233e5c31af7Sopenharmony_ci o_color = vec4(1.0); 234e5c31af7Sopenharmony_ci } 235e5c31af7Sopenharmony_ci "" 236e5c31af7Sopenharmony_ci end 237e5c31af7Sopenharmony_ci case layout_std140_fragment 238e5c31af7Sopenharmony_ci version 300 es 239e5c31af7Sopenharmony_ci expect build_successful 240e5c31af7Sopenharmony_ci 241e5c31af7Sopenharmony_ci vertex "" 242e5c31af7Sopenharmony_ci #version 300 es 243e5c31af7Sopenharmony_ci precision highp float; 244e5c31af7Sopenharmony_ci 245e5c31af7Sopenharmony_ci in vec4 a_pos; 246e5c31af7Sopenharmony_ci 247e5c31af7Sopenharmony_ci void main() 248e5c31af7Sopenharmony_ci { 249e5c31af7Sopenharmony_ci gl_Position = a_pos; 250e5c31af7Sopenharmony_ci } 251e5c31af7Sopenharmony_ci "" 252e5c31af7Sopenharmony_ci 253e5c31af7Sopenharmony_ci fragment "" 254e5c31af7Sopenharmony_ci #version 300 es 255e5c31af7Sopenharmony_ci precision highp float; 256e5c31af7Sopenharmony_ci 257e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 258e5c31af7Sopenharmony_ci 259e5c31af7Sopenharmony_ci layout(std140) uniform UniformBlock 260e5c31af7Sopenharmony_ci { 261e5c31af7Sopenharmony_ci vec4 uniformMember; 262e5c31af7Sopenharmony_ci } uniformBlock; 263e5c31af7Sopenharmony_ci 264e5c31af7Sopenharmony_ci void main() 265e5c31af7Sopenharmony_ci { 266e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember; 267e5c31af7Sopenharmony_ci } 268e5c31af7Sopenharmony_ci "" 269e5c31af7Sopenharmony_ci end 270e5c31af7Sopenharmony_ci case layout_row_major_vertex 271e5c31af7Sopenharmony_ci version 300 es 272e5c31af7Sopenharmony_ci expect build_successful 273e5c31af7Sopenharmony_ci 274e5c31af7Sopenharmony_ci vertex "" 275e5c31af7Sopenharmony_ci #version 300 es 276e5c31af7Sopenharmony_ci precision highp float; 277e5c31af7Sopenharmony_ci 278e5c31af7Sopenharmony_ci 279e5c31af7Sopenharmony_ci 280e5c31af7Sopenharmony_ci layout(row_major) uniform UniformBlock 281e5c31af7Sopenharmony_ci { 282e5c31af7Sopenharmony_ci vec4 uniformMember; 283e5c31af7Sopenharmony_ci } uniformBlock; 284e5c31af7Sopenharmony_ci 285e5c31af7Sopenharmony_ci void main() 286e5c31af7Sopenharmony_ci { 287e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember; 288e5c31af7Sopenharmony_ci } 289e5c31af7Sopenharmony_ci "" 290e5c31af7Sopenharmony_ci 291e5c31af7Sopenharmony_ci fragment "" 292e5c31af7Sopenharmony_ci #version 300 es 293e5c31af7Sopenharmony_ci precision highp float; 294e5c31af7Sopenharmony_ci 295e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 296e5c31af7Sopenharmony_ci 297e5c31af7Sopenharmony_ci void main() 298e5c31af7Sopenharmony_ci { 299e5c31af7Sopenharmony_ci o_color = vec4(1.0); 300e5c31af7Sopenharmony_ci } 301e5c31af7Sopenharmony_ci "" 302e5c31af7Sopenharmony_ci end 303e5c31af7Sopenharmony_ci case layout_row_major_fragment 304e5c31af7Sopenharmony_ci version 300 es 305e5c31af7Sopenharmony_ci expect build_successful 306e5c31af7Sopenharmony_ci 307e5c31af7Sopenharmony_ci vertex "" 308e5c31af7Sopenharmony_ci #version 300 es 309e5c31af7Sopenharmony_ci precision highp float; 310e5c31af7Sopenharmony_ci 311e5c31af7Sopenharmony_ci in vec4 a_pos; 312e5c31af7Sopenharmony_ci 313e5c31af7Sopenharmony_ci void main() 314e5c31af7Sopenharmony_ci { 315e5c31af7Sopenharmony_ci gl_Position = a_pos; 316e5c31af7Sopenharmony_ci } 317e5c31af7Sopenharmony_ci "" 318e5c31af7Sopenharmony_ci 319e5c31af7Sopenharmony_ci fragment "" 320e5c31af7Sopenharmony_ci #version 300 es 321e5c31af7Sopenharmony_ci precision highp float; 322e5c31af7Sopenharmony_ci 323e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 324e5c31af7Sopenharmony_ci 325e5c31af7Sopenharmony_ci layout(row_major) uniform UniformBlock 326e5c31af7Sopenharmony_ci { 327e5c31af7Sopenharmony_ci vec4 uniformMember; 328e5c31af7Sopenharmony_ci } uniformBlock; 329e5c31af7Sopenharmony_ci 330e5c31af7Sopenharmony_ci void main() 331e5c31af7Sopenharmony_ci { 332e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember; 333e5c31af7Sopenharmony_ci } 334e5c31af7Sopenharmony_ci "" 335e5c31af7Sopenharmony_ci end 336e5c31af7Sopenharmony_ci case layout_column_major_vertex 337e5c31af7Sopenharmony_ci version 300 es 338e5c31af7Sopenharmony_ci expect build_successful 339e5c31af7Sopenharmony_ci 340e5c31af7Sopenharmony_ci vertex "" 341e5c31af7Sopenharmony_ci #version 300 es 342e5c31af7Sopenharmony_ci precision highp float; 343e5c31af7Sopenharmony_ci 344e5c31af7Sopenharmony_ci 345e5c31af7Sopenharmony_ci 346e5c31af7Sopenharmony_ci layout(column_major) uniform UniformBlock 347e5c31af7Sopenharmony_ci { 348e5c31af7Sopenharmony_ci vec4 uniformMember; 349e5c31af7Sopenharmony_ci } uniformBlock; 350e5c31af7Sopenharmony_ci 351e5c31af7Sopenharmony_ci void main() 352e5c31af7Sopenharmony_ci { 353e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember; 354e5c31af7Sopenharmony_ci } 355e5c31af7Sopenharmony_ci "" 356e5c31af7Sopenharmony_ci 357e5c31af7Sopenharmony_ci fragment "" 358e5c31af7Sopenharmony_ci #version 300 es 359e5c31af7Sopenharmony_ci precision highp float; 360e5c31af7Sopenharmony_ci 361e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 362e5c31af7Sopenharmony_ci 363e5c31af7Sopenharmony_ci void main() 364e5c31af7Sopenharmony_ci { 365e5c31af7Sopenharmony_ci o_color = vec4(1.0); 366e5c31af7Sopenharmony_ci } 367e5c31af7Sopenharmony_ci "" 368e5c31af7Sopenharmony_ci end 369e5c31af7Sopenharmony_ci case layout_column_major_fragment 370e5c31af7Sopenharmony_ci version 300 es 371e5c31af7Sopenharmony_ci expect build_successful 372e5c31af7Sopenharmony_ci 373e5c31af7Sopenharmony_ci vertex "" 374e5c31af7Sopenharmony_ci #version 300 es 375e5c31af7Sopenharmony_ci precision highp float; 376e5c31af7Sopenharmony_ci 377e5c31af7Sopenharmony_ci in vec4 a_pos; 378e5c31af7Sopenharmony_ci 379e5c31af7Sopenharmony_ci void main() 380e5c31af7Sopenharmony_ci { 381e5c31af7Sopenharmony_ci gl_Position = a_pos; 382e5c31af7Sopenharmony_ci } 383e5c31af7Sopenharmony_ci "" 384e5c31af7Sopenharmony_ci 385e5c31af7Sopenharmony_ci fragment "" 386e5c31af7Sopenharmony_ci #version 300 es 387e5c31af7Sopenharmony_ci precision highp float; 388e5c31af7Sopenharmony_ci 389e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 390e5c31af7Sopenharmony_ci 391e5c31af7Sopenharmony_ci layout(column_major) uniform UniformBlock 392e5c31af7Sopenharmony_ci { 393e5c31af7Sopenharmony_ci vec4 uniformMember; 394e5c31af7Sopenharmony_ci } uniformBlock; 395e5c31af7Sopenharmony_ci 396e5c31af7Sopenharmony_ci void main() 397e5c31af7Sopenharmony_ci { 398e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember; 399e5c31af7Sopenharmony_ci } 400e5c31af7Sopenharmony_ci "" 401e5c31af7Sopenharmony_ci end 402e5c31af7Sopenharmony_ci case layout_all_vertex 403e5c31af7Sopenharmony_ci version 300 es 404e5c31af7Sopenharmony_ci expect build_successful 405e5c31af7Sopenharmony_ci 406e5c31af7Sopenharmony_ci vertex "" 407e5c31af7Sopenharmony_ci #version 300 es 408e5c31af7Sopenharmony_ci precision highp float; 409e5c31af7Sopenharmony_ci 410e5c31af7Sopenharmony_ci 411e5c31af7Sopenharmony_ci 412e5c31af7Sopenharmony_ci layout(shared, packed, std140, row_major, column_major) uniform UniformBlock 413e5c31af7Sopenharmony_ci { 414e5c31af7Sopenharmony_ci vec4 uniformMember; 415e5c31af7Sopenharmony_ci } uniformBlock; 416e5c31af7Sopenharmony_ci 417e5c31af7Sopenharmony_ci void main() 418e5c31af7Sopenharmony_ci { 419e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember; 420e5c31af7Sopenharmony_ci } 421e5c31af7Sopenharmony_ci "" 422e5c31af7Sopenharmony_ci 423e5c31af7Sopenharmony_ci fragment "" 424e5c31af7Sopenharmony_ci #version 300 es 425e5c31af7Sopenharmony_ci precision highp float; 426e5c31af7Sopenharmony_ci 427e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 428e5c31af7Sopenharmony_ci 429e5c31af7Sopenharmony_ci void main() 430e5c31af7Sopenharmony_ci { 431e5c31af7Sopenharmony_ci o_color = vec4(1.0); 432e5c31af7Sopenharmony_ci } 433e5c31af7Sopenharmony_ci "" 434e5c31af7Sopenharmony_ci end 435e5c31af7Sopenharmony_ci case layout_all_fragment 436e5c31af7Sopenharmony_ci version 300 es 437e5c31af7Sopenharmony_ci expect build_successful 438e5c31af7Sopenharmony_ci 439e5c31af7Sopenharmony_ci vertex "" 440e5c31af7Sopenharmony_ci #version 300 es 441e5c31af7Sopenharmony_ci precision highp float; 442e5c31af7Sopenharmony_ci 443e5c31af7Sopenharmony_ci in vec4 a_pos; 444e5c31af7Sopenharmony_ci 445e5c31af7Sopenharmony_ci void main() 446e5c31af7Sopenharmony_ci { 447e5c31af7Sopenharmony_ci gl_Position = a_pos; 448e5c31af7Sopenharmony_ci } 449e5c31af7Sopenharmony_ci "" 450e5c31af7Sopenharmony_ci 451e5c31af7Sopenharmony_ci fragment "" 452e5c31af7Sopenharmony_ci #version 300 es 453e5c31af7Sopenharmony_ci precision highp float; 454e5c31af7Sopenharmony_ci 455e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 456e5c31af7Sopenharmony_ci 457e5c31af7Sopenharmony_ci layout(shared, packed, std140, row_major, column_major) uniform UniformBlock 458e5c31af7Sopenharmony_ci { 459e5c31af7Sopenharmony_ci vec4 uniformMember; 460e5c31af7Sopenharmony_ci } uniformBlock; 461e5c31af7Sopenharmony_ci 462e5c31af7Sopenharmony_ci void main() 463e5c31af7Sopenharmony_ci { 464e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember; 465e5c31af7Sopenharmony_ci } 466e5c31af7Sopenharmony_ci "" 467e5c31af7Sopenharmony_ci end 468e5c31af7Sopenharmony_ci case layout_all_8_times_vertex 469e5c31af7Sopenharmony_ci version 300 es 470e5c31af7Sopenharmony_ci expect build_successful 471e5c31af7Sopenharmony_ci 472e5c31af7Sopenharmony_ci vertex "" 473e5c31af7Sopenharmony_ci #version 300 es 474e5c31af7Sopenharmony_ci precision highp float; 475e5c31af7Sopenharmony_ci 476e5c31af7Sopenharmony_ci 477e5c31af7Sopenharmony_ci 478e5c31af7Sopenharmony_ci layout(shared, packed, std140, row_major, column_major, shared, packed, std140, row_major, column_major, shared, packed, std140, row_major, column_major, shared, packed, std140, row_major, column_major, shared, packed, std140, row_major, column_major, shared, packed, std140, row_major, column_major, shared, packed, std140, row_major, column_major, shared, packed, std140, row_major, column_major) uniform UniformBlock 479e5c31af7Sopenharmony_ci { 480e5c31af7Sopenharmony_ci vec4 uniformMember; 481e5c31af7Sopenharmony_ci } uniformBlock; 482e5c31af7Sopenharmony_ci 483e5c31af7Sopenharmony_ci void main() 484e5c31af7Sopenharmony_ci { 485e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember; 486e5c31af7Sopenharmony_ci } 487e5c31af7Sopenharmony_ci "" 488e5c31af7Sopenharmony_ci 489e5c31af7Sopenharmony_ci fragment "" 490e5c31af7Sopenharmony_ci #version 300 es 491e5c31af7Sopenharmony_ci precision highp float; 492e5c31af7Sopenharmony_ci 493e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 494e5c31af7Sopenharmony_ci 495e5c31af7Sopenharmony_ci void main() 496e5c31af7Sopenharmony_ci { 497e5c31af7Sopenharmony_ci o_color = vec4(1.0); 498e5c31af7Sopenharmony_ci } 499e5c31af7Sopenharmony_ci "" 500e5c31af7Sopenharmony_ci end 501e5c31af7Sopenharmony_ci case layout_all_8_times_fragment 502e5c31af7Sopenharmony_ci version 300 es 503e5c31af7Sopenharmony_ci expect build_successful 504e5c31af7Sopenharmony_ci 505e5c31af7Sopenharmony_ci vertex "" 506e5c31af7Sopenharmony_ci #version 300 es 507e5c31af7Sopenharmony_ci precision highp float; 508e5c31af7Sopenharmony_ci 509e5c31af7Sopenharmony_ci in vec4 a_pos; 510e5c31af7Sopenharmony_ci 511e5c31af7Sopenharmony_ci void main() 512e5c31af7Sopenharmony_ci { 513e5c31af7Sopenharmony_ci gl_Position = a_pos; 514e5c31af7Sopenharmony_ci } 515e5c31af7Sopenharmony_ci "" 516e5c31af7Sopenharmony_ci 517e5c31af7Sopenharmony_ci fragment "" 518e5c31af7Sopenharmony_ci #version 300 es 519e5c31af7Sopenharmony_ci precision highp float; 520e5c31af7Sopenharmony_ci 521e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 522e5c31af7Sopenharmony_ci 523e5c31af7Sopenharmony_ci layout(shared, packed, std140, row_major, column_major, shared, packed, std140, row_major, column_major, shared, packed, std140, row_major, column_major, shared, packed, std140, row_major, column_major, shared, packed, std140, row_major, column_major, shared, packed, std140, row_major, column_major, shared, packed, std140, row_major, column_major, shared, packed, std140, row_major, column_major) uniform UniformBlock 524e5c31af7Sopenharmony_ci { 525e5c31af7Sopenharmony_ci vec4 uniformMember; 526e5c31af7Sopenharmony_ci } uniformBlock; 527e5c31af7Sopenharmony_ci 528e5c31af7Sopenharmony_ci void main() 529e5c31af7Sopenharmony_ci { 530e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember; 531e5c31af7Sopenharmony_ci } 532e5c31af7Sopenharmony_ci "" 533e5c31af7Sopenharmony_ci end 534e5c31af7Sopenharmony_ci case global_layout_shared_vertex 535e5c31af7Sopenharmony_ci version 300 es 536e5c31af7Sopenharmony_ci expect build_successful 537e5c31af7Sopenharmony_ci 538e5c31af7Sopenharmony_ci vertex "" 539e5c31af7Sopenharmony_ci #version 300 es 540e5c31af7Sopenharmony_ci precision highp float; 541e5c31af7Sopenharmony_ci 542e5c31af7Sopenharmony_ci layout(shared) uniform; 543e5c31af7Sopenharmony_ci 544e5c31af7Sopenharmony_ci 545e5c31af7Sopenharmony_ci 546e5c31af7Sopenharmony_ci uniform UniformBlock 547e5c31af7Sopenharmony_ci { 548e5c31af7Sopenharmony_ci vec4 uniformMember; 549e5c31af7Sopenharmony_ci } uniformBlock; 550e5c31af7Sopenharmony_ci 551e5c31af7Sopenharmony_ci void main() 552e5c31af7Sopenharmony_ci { 553e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember; 554e5c31af7Sopenharmony_ci } 555e5c31af7Sopenharmony_ci "" 556e5c31af7Sopenharmony_ci 557e5c31af7Sopenharmony_ci fragment "" 558e5c31af7Sopenharmony_ci #version 300 es 559e5c31af7Sopenharmony_ci precision highp float; 560e5c31af7Sopenharmony_ci 561e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 562e5c31af7Sopenharmony_ci 563e5c31af7Sopenharmony_ci void main() 564e5c31af7Sopenharmony_ci { 565e5c31af7Sopenharmony_ci o_color = vec4(1.0); 566e5c31af7Sopenharmony_ci } 567e5c31af7Sopenharmony_ci "" 568e5c31af7Sopenharmony_ci end 569e5c31af7Sopenharmony_ci case global_layout_shared_fragment 570e5c31af7Sopenharmony_ci version 300 es 571e5c31af7Sopenharmony_ci expect build_successful 572e5c31af7Sopenharmony_ci 573e5c31af7Sopenharmony_ci vertex "" 574e5c31af7Sopenharmony_ci #version 300 es 575e5c31af7Sopenharmony_ci precision highp float; 576e5c31af7Sopenharmony_ci 577e5c31af7Sopenharmony_ci in vec4 a_pos; 578e5c31af7Sopenharmony_ci 579e5c31af7Sopenharmony_ci void main() 580e5c31af7Sopenharmony_ci { 581e5c31af7Sopenharmony_ci gl_Position = a_pos; 582e5c31af7Sopenharmony_ci } 583e5c31af7Sopenharmony_ci "" 584e5c31af7Sopenharmony_ci 585e5c31af7Sopenharmony_ci fragment "" 586e5c31af7Sopenharmony_ci #version 300 es 587e5c31af7Sopenharmony_ci precision highp float; 588e5c31af7Sopenharmony_ci 589e5c31af7Sopenharmony_ci layout(shared) uniform; 590e5c31af7Sopenharmony_ci 591e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 592e5c31af7Sopenharmony_ci 593e5c31af7Sopenharmony_ci uniform UniformBlock 594e5c31af7Sopenharmony_ci { 595e5c31af7Sopenharmony_ci vec4 uniformMember; 596e5c31af7Sopenharmony_ci } uniformBlock; 597e5c31af7Sopenharmony_ci 598e5c31af7Sopenharmony_ci void main() 599e5c31af7Sopenharmony_ci { 600e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember; 601e5c31af7Sopenharmony_ci } 602e5c31af7Sopenharmony_ci "" 603e5c31af7Sopenharmony_ci end 604e5c31af7Sopenharmony_ci case global_layout_packed_vertex 605e5c31af7Sopenharmony_ci version 300 es 606e5c31af7Sopenharmony_ci expect build_successful 607e5c31af7Sopenharmony_ci 608e5c31af7Sopenharmony_ci vertex "" 609e5c31af7Sopenharmony_ci #version 300 es 610e5c31af7Sopenharmony_ci precision highp float; 611e5c31af7Sopenharmony_ci 612e5c31af7Sopenharmony_ci layout(packed) uniform; 613e5c31af7Sopenharmony_ci 614e5c31af7Sopenharmony_ci 615e5c31af7Sopenharmony_ci 616e5c31af7Sopenharmony_ci uniform UniformBlock 617e5c31af7Sopenharmony_ci { 618e5c31af7Sopenharmony_ci vec4 uniformMember; 619e5c31af7Sopenharmony_ci } uniformBlock; 620e5c31af7Sopenharmony_ci 621e5c31af7Sopenharmony_ci void main() 622e5c31af7Sopenharmony_ci { 623e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember; 624e5c31af7Sopenharmony_ci } 625e5c31af7Sopenharmony_ci "" 626e5c31af7Sopenharmony_ci 627e5c31af7Sopenharmony_ci fragment "" 628e5c31af7Sopenharmony_ci #version 300 es 629e5c31af7Sopenharmony_ci precision highp float; 630e5c31af7Sopenharmony_ci 631e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 632e5c31af7Sopenharmony_ci 633e5c31af7Sopenharmony_ci void main() 634e5c31af7Sopenharmony_ci { 635e5c31af7Sopenharmony_ci o_color = vec4(1.0); 636e5c31af7Sopenharmony_ci } 637e5c31af7Sopenharmony_ci "" 638e5c31af7Sopenharmony_ci end 639e5c31af7Sopenharmony_ci case global_layout_packed_fragment 640e5c31af7Sopenharmony_ci version 300 es 641e5c31af7Sopenharmony_ci expect build_successful 642e5c31af7Sopenharmony_ci 643e5c31af7Sopenharmony_ci vertex "" 644e5c31af7Sopenharmony_ci #version 300 es 645e5c31af7Sopenharmony_ci precision highp float; 646e5c31af7Sopenharmony_ci 647e5c31af7Sopenharmony_ci in vec4 a_pos; 648e5c31af7Sopenharmony_ci 649e5c31af7Sopenharmony_ci void main() 650e5c31af7Sopenharmony_ci { 651e5c31af7Sopenharmony_ci gl_Position = a_pos; 652e5c31af7Sopenharmony_ci } 653e5c31af7Sopenharmony_ci "" 654e5c31af7Sopenharmony_ci 655e5c31af7Sopenharmony_ci fragment "" 656e5c31af7Sopenharmony_ci #version 300 es 657e5c31af7Sopenharmony_ci precision highp float; 658e5c31af7Sopenharmony_ci 659e5c31af7Sopenharmony_ci layout(packed) uniform; 660e5c31af7Sopenharmony_ci 661e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 662e5c31af7Sopenharmony_ci 663e5c31af7Sopenharmony_ci uniform UniformBlock 664e5c31af7Sopenharmony_ci { 665e5c31af7Sopenharmony_ci vec4 uniformMember; 666e5c31af7Sopenharmony_ci } uniformBlock; 667e5c31af7Sopenharmony_ci 668e5c31af7Sopenharmony_ci void main() 669e5c31af7Sopenharmony_ci { 670e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember; 671e5c31af7Sopenharmony_ci } 672e5c31af7Sopenharmony_ci "" 673e5c31af7Sopenharmony_ci end 674e5c31af7Sopenharmony_ci case global_layout_std140_vertex 675e5c31af7Sopenharmony_ci version 300 es 676e5c31af7Sopenharmony_ci expect build_successful 677e5c31af7Sopenharmony_ci 678e5c31af7Sopenharmony_ci vertex "" 679e5c31af7Sopenharmony_ci #version 300 es 680e5c31af7Sopenharmony_ci precision highp float; 681e5c31af7Sopenharmony_ci 682e5c31af7Sopenharmony_ci layout(std140) uniform; 683e5c31af7Sopenharmony_ci 684e5c31af7Sopenharmony_ci 685e5c31af7Sopenharmony_ci 686e5c31af7Sopenharmony_ci uniform UniformBlock 687e5c31af7Sopenharmony_ci { 688e5c31af7Sopenharmony_ci vec4 uniformMember; 689e5c31af7Sopenharmony_ci } uniformBlock; 690e5c31af7Sopenharmony_ci 691e5c31af7Sopenharmony_ci void main() 692e5c31af7Sopenharmony_ci { 693e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember; 694e5c31af7Sopenharmony_ci } 695e5c31af7Sopenharmony_ci "" 696e5c31af7Sopenharmony_ci 697e5c31af7Sopenharmony_ci fragment "" 698e5c31af7Sopenharmony_ci #version 300 es 699e5c31af7Sopenharmony_ci precision highp float; 700e5c31af7Sopenharmony_ci 701e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 702e5c31af7Sopenharmony_ci 703e5c31af7Sopenharmony_ci void main() 704e5c31af7Sopenharmony_ci { 705e5c31af7Sopenharmony_ci o_color = vec4(1.0); 706e5c31af7Sopenharmony_ci } 707e5c31af7Sopenharmony_ci "" 708e5c31af7Sopenharmony_ci end 709e5c31af7Sopenharmony_ci case global_layout_std140_fragment 710e5c31af7Sopenharmony_ci version 300 es 711e5c31af7Sopenharmony_ci expect build_successful 712e5c31af7Sopenharmony_ci 713e5c31af7Sopenharmony_ci vertex "" 714e5c31af7Sopenharmony_ci #version 300 es 715e5c31af7Sopenharmony_ci precision highp float; 716e5c31af7Sopenharmony_ci 717e5c31af7Sopenharmony_ci in vec4 a_pos; 718e5c31af7Sopenharmony_ci 719e5c31af7Sopenharmony_ci void main() 720e5c31af7Sopenharmony_ci { 721e5c31af7Sopenharmony_ci gl_Position = a_pos; 722e5c31af7Sopenharmony_ci } 723e5c31af7Sopenharmony_ci "" 724e5c31af7Sopenharmony_ci 725e5c31af7Sopenharmony_ci fragment "" 726e5c31af7Sopenharmony_ci #version 300 es 727e5c31af7Sopenharmony_ci precision highp float; 728e5c31af7Sopenharmony_ci 729e5c31af7Sopenharmony_ci layout(std140) uniform; 730e5c31af7Sopenharmony_ci 731e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 732e5c31af7Sopenharmony_ci 733e5c31af7Sopenharmony_ci uniform UniformBlock 734e5c31af7Sopenharmony_ci { 735e5c31af7Sopenharmony_ci vec4 uniformMember; 736e5c31af7Sopenharmony_ci } uniformBlock; 737e5c31af7Sopenharmony_ci 738e5c31af7Sopenharmony_ci void main() 739e5c31af7Sopenharmony_ci { 740e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember; 741e5c31af7Sopenharmony_ci } 742e5c31af7Sopenharmony_ci "" 743e5c31af7Sopenharmony_ci end 744e5c31af7Sopenharmony_ci case global_layout_row_major_vertex 745e5c31af7Sopenharmony_ci version 300 es 746e5c31af7Sopenharmony_ci expect build_successful 747e5c31af7Sopenharmony_ci 748e5c31af7Sopenharmony_ci vertex "" 749e5c31af7Sopenharmony_ci #version 300 es 750e5c31af7Sopenharmony_ci precision highp float; 751e5c31af7Sopenharmony_ci 752e5c31af7Sopenharmony_ci layout(row_major) uniform; 753e5c31af7Sopenharmony_ci 754e5c31af7Sopenharmony_ci 755e5c31af7Sopenharmony_ci 756e5c31af7Sopenharmony_ci uniform UniformBlock 757e5c31af7Sopenharmony_ci { 758e5c31af7Sopenharmony_ci vec4 uniformMember; 759e5c31af7Sopenharmony_ci } uniformBlock; 760e5c31af7Sopenharmony_ci 761e5c31af7Sopenharmony_ci void main() 762e5c31af7Sopenharmony_ci { 763e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember; 764e5c31af7Sopenharmony_ci } 765e5c31af7Sopenharmony_ci "" 766e5c31af7Sopenharmony_ci 767e5c31af7Sopenharmony_ci fragment "" 768e5c31af7Sopenharmony_ci #version 300 es 769e5c31af7Sopenharmony_ci precision highp float; 770e5c31af7Sopenharmony_ci 771e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 772e5c31af7Sopenharmony_ci 773e5c31af7Sopenharmony_ci void main() 774e5c31af7Sopenharmony_ci { 775e5c31af7Sopenharmony_ci o_color = vec4(1.0); 776e5c31af7Sopenharmony_ci } 777e5c31af7Sopenharmony_ci "" 778e5c31af7Sopenharmony_ci end 779e5c31af7Sopenharmony_ci case global_layout_row_major_fragment 780e5c31af7Sopenharmony_ci version 300 es 781e5c31af7Sopenharmony_ci expect build_successful 782e5c31af7Sopenharmony_ci 783e5c31af7Sopenharmony_ci vertex "" 784e5c31af7Sopenharmony_ci #version 300 es 785e5c31af7Sopenharmony_ci precision highp float; 786e5c31af7Sopenharmony_ci 787e5c31af7Sopenharmony_ci in vec4 a_pos; 788e5c31af7Sopenharmony_ci 789e5c31af7Sopenharmony_ci void main() 790e5c31af7Sopenharmony_ci { 791e5c31af7Sopenharmony_ci gl_Position = a_pos; 792e5c31af7Sopenharmony_ci } 793e5c31af7Sopenharmony_ci "" 794e5c31af7Sopenharmony_ci 795e5c31af7Sopenharmony_ci fragment "" 796e5c31af7Sopenharmony_ci #version 300 es 797e5c31af7Sopenharmony_ci precision highp float; 798e5c31af7Sopenharmony_ci 799e5c31af7Sopenharmony_ci layout(row_major) uniform; 800e5c31af7Sopenharmony_ci 801e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 802e5c31af7Sopenharmony_ci 803e5c31af7Sopenharmony_ci uniform UniformBlock 804e5c31af7Sopenharmony_ci { 805e5c31af7Sopenharmony_ci vec4 uniformMember; 806e5c31af7Sopenharmony_ci } uniformBlock; 807e5c31af7Sopenharmony_ci 808e5c31af7Sopenharmony_ci void main() 809e5c31af7Sopenharmony_ci { 810e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember; 811e5c31af7Sopenharmony_ci } 812e5c31af7Sopenharmony_ci "" 813e5c31af7Sopenharmony_ci end 814e5c31af7Sopenharmony_ci case global_layout_column_major_vertex 815e5c31af7Sopenharmony_ci version 300 es 816e5c31af7Sopenharmony_ci expect build_successful 817e5c31af7Sopenharmony_ci 818e5c31af7Sopenharmony_ci vertex "" 819e5c31af7Sopenharmony_ci #version 300 es 820e5c31af7Sopenharmony_ci precision highp float; 821e5c31af7Sopenharmony_ci 822e5c31af7Sopenharmony_ci layout(column_major) uniform; 823e5c31af7Sopenharmony_ci 824e5c31af7Sopenharmony_ci 825e5c31af7Sopenharmony_ci 826e5c31af7Sopenharmony_ci uniform UniformBlock 827e5c31af7Sopenharmony_ci { 828e5c31af7Sopenharmony_ci vec4 uniformMember; 829e5c31af7Sopenharmony_ci } uniformBlock; 830e5c31af7Sopenharmony_ci 831e5c31af7Sopenharmony_ci void main() 832e5c31af7Sopenharmony_ci { 833e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember; 834e5c31af7Sopenharmony_ci } 835e5c31af7Sopenharmony_ci "" 836e5c31af7Sopenharmony_ci 837e5c31af7Sopenharmony_ci fragment "" 838e5c31af7Sopenharmony_ci #version 300 es 839e5c31af7Sopenharmony_ci precision highp float; 840e5c31af7Sopenharmony_ci 841e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 842e5c31af7Sopenharmony_ci 843e5c31af7Sopenharmony_ci void main() 844e5c31af7Sopenharmony_ci { 845e5c31af7Sopenharmony_ci o_color = vec4(1.0); 846e5c31af7Sopenharmony_ci } 847e5c31af7Sopenharmony_ci "" 848e5c31af7Sopenharmony_ci end 849e5c31af7Sopenharmony_ci case global_layout_column_major_fragment 850e5c31af7Sopenharmony_ci version 300 es 851e5c31af7Sopenharmony_ci expect build_successful 852e5c31af7Sopenharmony_ci 853e5c31af7Sopenharmony_ci vertex "" 854e5c31af7Sopenharmony_ci #version 300 es 855e5c31af7Sopenharmony_ci precision highp float; 856e5c31af7Sopenharmony_ci 857e5c31af7Sopenharmony_ci in vec4 a_pos; 858e5c31af7Sopenharmony_ci 859e5c31af7Sopenharmony_ci void main() 860e5c31af7Sopenharmony_ci { 861e5c31af7Sopenharmony_ci gl_Position = a_pos; 862e5c31af7Sopenharmony_ci } 863e5c31af7Sopenharmony_ci "" 864e5c31af7Sopenharmony_ci 865e5c31af7Sopenharmony_ci fragment "" 866e5c31af7Sopenharmony_ci #version 300 es 867e5c31af7Sopenharmony_ci precision highp float; 868e5c31af7Sopenharmony_ci 869e5c31af7Sopenharmony_ci layout(column_major) uniform; 870e5c31af7Sopenharmony_ci 871e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 872e5c31af7Sopenharmony_ci 873e5c31af7Sopenharmony_ci uniform UniformBlock 874e5c31af7Sopenharmony_ci { 875e5c31af7Sopenharmony_ci vec4 uniformMember; 876e5c31af7Sopenharmony_ci } uniformBlock; 877e5c31af7Sopenharmony_ci 878e5c31af7Sopenharmony_ci void main() 879e5c31af7Sopenharmony_ci { 880e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember; 881e5c31af7Sopenharmony_ci } 882e5c31af7Sopenharmony_ci "" 883e5c31af7Sopenharmony_ci end 884e5c31af7Sopenharmony_ci case global_layout_all_vertex 885e5c31af7Sopenharmony_ci version 300 es 886e5c31af7Sopenharmony_ci expect build_successful 887e5c31af7Sopenharmony_ci 888e5c31af7Sopenharmony_ci vertex "" 889e5c31af7Sopenharmony_ci #version 300 es 890e5c31af7Sopenharmony_ci precision highp float; 891e5c31af7Sopenharmony_ci 892e5c31af7Sopenharmony_ci layout(shared, packed, std140, row_major, column_major) uniform; 893e5c31af7Sopenharmony_ci 894e5c31af7Sopenharmony_ci 895e5c31af7Sopenharmony_ci 896e5c31af7Sopenharmony_ci uniform UniformBlock 897e5c31af7Sopenharmony_ci { 898e5c31af7Sopenharmony_ci vec4 uniformMember; 899e5c31af7Sopenharmony_ci } uniformBlock; 900e5c31af7Sopenharmony_ci 901e5c31af7Sopenharmony_ci void main() 902e5c31af7Sopenharmony_ci { 903e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember; 904e5c31af7Sopenharmony_ci } 905e5c31af7Sopenharmony_ci "" 906e5c31af7Sopenharmony_ci 907e5c31af7Sopenharmony_ci fragment "" 908e5c31af7Sopenharmony_ci #version 300 es 909e5c31af7Sopenharmony_ci precision highp float; 910e5c31af7Sopenharmony_ci 911e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 912e5c31af7Sopenharmony_ci 913e5c31af7Sopenharmony_ci void main() 914e5c31af7Sopenharmony_ci { 915e5c31af7Sopenharmony_ci o_color = vec4(1.0); 916e5c31af7Sopenharmony_ci } 917e5c31af7Sopenharmony_ci "" 918e5c31af7Sopenharmony_ci end 919e5c31af7Sopenharmony_ci case global_layout_all_fragment 920e5c31af7Sopenharmony_ci version 300 es 921e5c31af7Sopenharmony_ci expect build_successful 922e5c31af7Sopenharmony_ci 923e5c31af7Sopenharmony_ci vertex "" 924e5c31af7Sopenharmony_ci #version 300 es 925e5c31af7Sopenharmony_ci precision highp float; 926e5c31af7Sopenharmony_ci 927e5c31af7Sopenharmony_ci in vec4 a_pos; 928e5c31af7Sopenharmony_ci 929e5c31af7Sopenharmony_ci void main() 930e5c31af7Sopenharmony_ci { 931e5c31af7Sopenharmony_ci gl_Position = a_pos; 932e5c31af7Sopenharmony_ci } 933e5c31af7Sopenharmony_ci "" 934e5c31af7Sopenharmony_ci 935e5c31af7Sopenharmony_ci fragment "" 936e5c31af7Sopenharmony_ci #version 300 es 937e5c31af7Sopenharmony_ci precision highp float; 938e5c31af7Sopenharmony_ci 939e5c31af7Sopenharmony_ci layout(shared, packed, std140, row_major, column_major) uniform; 940e5c31af7Sopenharmony_ci 941e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 942e5c31af7Sopenharmony_ci 943e5c31af7Sopenharmony_ci uniform UniformBlock 944e5c31af7Sopenharmony_ci { 945e5c31af7Sopenharmony_ci vec4 uniformMember; 946e5c31af7Sopenharmony_ci } uniformBlock; 947e5c31af7Sopenharmony_ci 948e5c31af7Sopenharmony_ci void main() 949e5c31af7Sopenharmony_ci { 950e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember; 951e5c31af7Sopenharmony_ci } 952e5c31af7Sopenharmony_ci "" 953e5c31af7Sopenharmony_ci end 954e5c31af7Sopenharmony_ci case global_layout_all_8_times_vertex 955e5c31af7Sopenharmony_ci version 300 es 956e5c31af7Sopenharmony_ci expect build_successful 957e5c31af7Sopenharmony_ci 958e5c31af7Sopenharmony_ci vertex "" 959e5c31af7Sopenharmony_ci #version 300 es 960e5c31af7Sopenharmony_ci precision highp float; 961e5c31af7Sopenharmony_ci 962e5c31af7Sopenharmony_ci layout(shared, packed, std140, row_major, column_major, shared, packed, std140, row_major, column_major, shared, packed, std140, row_major, column_major, shared, packed, std140, row_major, column_major, shared, packed, std140, row_major, column_major, shared, packed, std140, row_major, column_major, shared, packed, std140, row_major, column_major, shared, packed, std140, row_major, column_major) uniform; 963e5c31af7Sopenharmony_ci 964e5c31af7Sopenharmony_ci 965e5c31af7Sopenharmony_ci 966e5c31af7Sopenharmony_ci uniform UniformBlock 967e5c31af7Sopenharmony_ci { 968e5c31af7Sopenharmony_ci vec4 uniformMember; 969e5c31af7Sopenharmony_ci } uniformBlock; 970e5c31af7Sopenharmony_ci 971e5c31af7Sopenharmony_ci void main() 972e5c31af7Sopenharmony_ci { 973e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember; 974e5c31af7Sopenharmony_ci } 975e5c31af7Sopenharmony_ci "" 976e5c31af7Sopenharmony_ci 977e5c31af7Sopenharmony_ci fragment "" 978e5c31af7Sopenharmony_ci #version 300 es 979e5c31af7Sopenharmony_ci precision highp float; 980e5c31af7Sopenharmony_ci 981e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 982e5c31af7Sopenharmony_ci 983e5c31af7Sopenharmony_ci void main() 984e5c31af7Sopenharmony_ci { 985e5c31af7Sopenharmony_ci o_color = vec4(1.0); 986e5c31af7Sopenharmony_ci } 987e5c31af7Sopenharmony_ci "" 988e5c31af7Sopenharmony_ci end 989e5c31af7Sopenharmony_ci case global_layout_all_8_times_fragment 990e5c31af7Sopenharmony_ci version 300 es 991e5c31af7Sopenharmony_ci expect build_successful 992e5c31af7Sopenharmony_ci 993e5c31af7Sopenharmony_ci vertex "" 994e5c31af7Sopenharmony_ci #version 300 es 995e5c31af7Sopenharmony_ci precision highp float; 996e5c31af7Sopenharmony_ci 997e5c31af7Sopenharmony_ci in vec4 a_pos; 998e5c31af7Sopenharmony_ci 999e5c31af7Sopenharmony_ci void main() 1000e5c31af7Sopenharmony_ci { 1001e5c31af7Sopenharmony_ci gl_Position = a_pos; 1002e5c31af7Sopenharmony_ci } 1003e5c31af7Sopenharmony_ci "" 1004e5c31af7Sopenharmony_ci 1005e5c31af7Sopenharmony_ci fragment "" 1006e5c31af7Sopenharmony_ci #version 300 es 1007e5c31af7Sopenharmony_ci precision highp float; 1008e5c31af7Sopenharmony_ci 1009e5c31af7Sopenharmony_ci layout(shared, packed, std140, row_major, column_major, shared, packed, std140, row_major, column_major, shared, packed, std140, row_major, column_major, shared, packed, std140, row_major, column_major, shared, packed, std140, row_major, column_major, shared, packed, std140, row_major, column_major, shared, packed, std140, row_major, column_major, shared, packed, std140, row_major, column_major) uniform; 1010e5c31af7Sopenharmony_ci 1011e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 1012e5c31af7Sopenharmony_ci 1013e5c31af7Sopenharmony_ci uniform UniformBlock 1014e5c31af7Sopenharmony_ci { 1015e5c31af7Sopenharmony_ci vec4 uniformMember; 1016e5c31af7Sopenharmony_ci } uniformBlock; 1017e5c31af7Sopenharmony_ci 1018e5c31af7Sopenharmony_ci void main() 1019e5c31af7Sopenharmony_ci { 1020e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember; 1021e5c31af7Sopenharmony_ci } 1022e5c31af7Sopenharmony_ci "" 1023e5c31af7Sopenharmony_ci end 1024e5c31af7Sopenharmony_ci case member_layout_row_major_vertex 1025e5c31af7Sopenharmony_ci version 300 es 1026e5c31af7Sopenharmony_ci expect build_successful 1027e5c31af7Sopenharmony_ci 1028e5c31af7Sopenharmony_ci vertex "" 1029e5c31af7Sopenharmony_ci #version 300 es 1030e5c31af7Sopenharmony_ci precision highp float; 1031e5c31af7Sopenharmony_ci 1032e5c31af7Sopenharmony_ci 1033e5c31af7Sopenharmony_ci 1034e5c31af7Sopenharmony_ci uniform UniformBlock 1035e5c31af7Sopenharmony_ci { 1036e5c31af7Sopenharmony_ci layout(row_major) mat4 uniformMember; 1037e5c31af7Sopenharmony_ci } uniformBlock; 1038e5c31af7Sopenharmony_ci 1039e5c31af7Sopenharmony_ci void main() 1040e5c31af7Sopenharmony_ci { 1041e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember[0]; 1042e5c31af7Sopenharmony_ci } 1043e5c31af7Sopenharmony_ci "" 1044e5c31af7Sopenharmony_ci 1045e5c31af7Sopenharmony_ci fragment "" 1046e5c31af7Sopenharmony_ci #version 300 es 1047e5c31af7Sopenharmony_ci precision highp float; 1048e5c31af7Sopenharmony_ci 1049e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 1050e5c31af7Sopenharmony_ci 1051e5c31af7Sopenharmony_ci void main() 1052e5c31af7Sopenharmony_ci { 1053e5c31af7Sopenharmony_ci o_color = vec4(1.0); 1054e5c31af7Sopenharmony_ci } 1055e5c31af7Sopenharmony_ci "" 1056e5c31af7Sopenharmony_ci end 1057e5c31af7Sopenharmony_ci case member_layout_row_major_fragment 1058e5c31af7Sopenharmony_ci version 300 es 1059e5c31af7Sopenharmony_ci expect build_successful 1060e5c31af7Sopenharmony_ci 1061e5c31af7Sopenharmony_ci vertex "" 1062e5c31af7Sopenharmony_ci #version 300 es 1063e5c31af7Sopenharmony_ci precision highp float; 1064e5c31af7Sopenharmony_ci 1065e5c31af7Sopenharmony_ci in vec4 a_pos; 1066e5c31af7Sopenharmony_ci 1067e5c31af7Sopenharmony_ci void main() 1068e5c31af7Sopenharmony_ci { 1069e5c31af7Sopenharmony_ci gl_Position = a_pos; 1070e5c31af7Sopenharmony_ci } 1071e5c31af7Sopenharmony_ci "" 1072e5c31af7Sopenharmony_ci 1073e5c31af7Sopenharmony_ci fragment "" 1074e5c31af7Sopenharmony_ci #version 300 es 1075e5c31af7Sopenharmony_ci precision highp float; 1076e5c31af7Sopenharmony_ci 1077e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 1078e5c31af7Sopenharmony_ci 1079e5c31af7Sopenharmony_ci uniform UniformBlock 1080e5c31af7Sopenharmony_ci { 1081e5c31af7Sopenharmony_ci layout(row_major) mat4 uniformMember; 1082e5c31af7Sopenharmony_ci } uniformBlock; 1083e5c31af7Sopenharmony_ci 1084e5c31af7Sopenharmony_ci void main() 1085e5c31af7Sopenharmony_ci { 1086e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember[0]; 1087e5c31af7Sopenharmony_ci } 1088e5c31af7Sopenharmony_ci "" 1089e5c31af7Sopenharmony_ci end 1090e5c31af7Sopenharmony_ci case member_layout_column_major_vertex 1091e5c31af7Sopenharmony_ci version 300 es 1092e5c31af7Sopenharmony_ci expect build_successful 1093e5c31af7Sopenharmony_ci 1094e5c31af7Sopenharmony_ci vertex "" 1095e5c31af7Sopenharmony_ci #version 300 es 1096e5c31af7Sopenharmony_ci precision highp float; 1097e5c31af7Sopenharmony_ci 1098e5c31af7Sopenharmony_ci 1099e5c31af7Sopenharmony_ci 1100e5c31af7Sopenharmony_ci uniform UniformBlock 1101e5c31af7Sopenharmony_ci { 1102e5c31af7Sopenharmony_ci layout(column_major) mat4 uniformMember; 1103e5c31af7Sopenharmony_ci } uniformBlock; 1104e5c31af7Sopenharmony_ci 1105e5c31af7Sopenharmony_ci void main() 1106e5c31af7Sopenharmony_ci { 1107e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember[0]; 1108e5c31af7Sopenharmony_ci } 1109e5c31af7Sopenharmony_ci "" 1110e5c31af7Sopenharmony_ci 1111e5c31af7Sopenharmony_ci fragment "" 1112e5c31af7Sopenharmony_ci #version 300 es 1113e5c31af7Sopenharmony_ci precision highp float; 1114e5c31af7Sopenharmony_ci 1115e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 1116e5c31af7Sopenharmony_ci 1117e5c31af7Sopenharmony_ci void main() 1118e5c31af7Sopenharmony_ci { 1119e5c31af7Sopenharmony_ci o_color = vec4(1.0); 1120e5c31af7Sopenharmony_ci } 1121e5c31af7Sopenharmony_ci "" 1122e5c31af7Sopenharmony_ci end 1123e5c31af7Sopenharmony_ci case member_layout_column_major_fragment 1124e5c31af7Sopenharmony_ci version 300 es 1125e5c31af7Sopenharmony_ci expect build_successful 1126e5c31af7Sopenharmony_ci 1127e5c31af7Sopenharmony_ci vertex "" 1128e5c31af7Sopenharmony_ci #version 300 es 1129e5c31af7Sopenharmony_ci precision highp float; 1130e5c31af7Sopenharmony_ci 1131e5c31af7Sopenharmony_ci in vec4 a_pos; 1132e5c31af7Sopenharmony_ci 1133e5c31af7Sopenharmony_ci void main() 1134e5c31af7Sopenharmony_ci { 1135e5c31af7Sopenharmony_ci gl_Position = a_pos; 1136e5c31af7Sopenharmony_ci } 1137e5c31af7Sopenharmony_ci "" 1138e5c31af7Sopenharmony_ci 1139e5c31af7Sopenharmony_ci fragment "" 1140e5c31af7Sopenharmony_ci #version 300 es 1141e5c31af7Sopenharmony_ci precision highp float; 1142e5c31af7Sopenharmony_ci 1143e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 1144e5c31af7Sopenharmony_ci 1145e5c31af7Sopenharmony_ci uniform UniformBlock 1146e5c31af7Sopenharmony_ci { 1147e5c31af7Sopenharmony_ci layout(column_major) mat4 uniformMember; 1148e5c31af7Sopenharmony_ci } uniformBlock; 1149e5c31af7Sopenharmony_ci 1150e5c31af7Sopenharmony_ci void main() 1151e5c31af7Sopenharmony_ci { 1152e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember[0]; 1153e5c31af7Sopenharmony_ci } 1154e5c31af7Sopenharmony_ci "" 1155e5c31af7Sopenharmony_ci end 1156e5c31af7Sopenharmony_ci case member_layout_row_major_vec4_vertex 1157e5c31af7Sopenharmony_ci version 300 es 1158e5c31af7Sopenharmony_ci expect build_successful 1159e5c31af7Sopenharmony_ci 1160e5c31af7Sopenharmony_ci vertex "" 1161e5c31af7Sopenharmony_ci #version 300 es 1162e5c31af7Sopenharmony_ci precision highp float; 1163e5c31af7Sopenharmony_ci 1164e5c31af7Sopenharmony_ci 1165e5c31af7Sopenharmony_ci 1166e5c31af7Sopenharmony_ci uniform UniformBlock 1167e5c31af7Sopenharmony_ci { 1168e5c31af7Sopenharmony_ci layout(row_major) vec4 uniformMember; 1169e5c31af7Sopenharmony_ci } uniformBlock; 1170e5c31af7Sopenharmony_ci 1171e5c31af7Sopenharmony_ci void main() 1172e5c31af7Sopenharmony_ci { 1173e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember; 1174e5c31af7Sopenharmony_ci } 1175e5c31af7Sopenharmony_ci "" 1176e5c31af7Sopenharmony_ci 1177e5c31af7Sopenharmony_ci fragment "" 1178e5c31af7Sopenharmony_ci #version 300 es 1179e5c31af7Sopenharmony_ci precision highp float; 1180e5c31af7Sopenharmony_ci 1181e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 1182e5c31af7Sopenharmony_ci 1183e5c31af7Sopenharmony_ci void main() 1184e5c31af7Sopenharmony_ci { 1185e5c31af7Sopenharmony_ci o_color = vec4(1.0); 1186e5c31af7Sopenharmony_ci } 1187e5c31af7Sopenharmony_ci "" 1188e5c31af7Sopenharmony_ci end 1189e5c31af7Sopenharmony_ci case member_layout_row_major_vec4_fragment 1190e5c31af7Sopenharmony_ci version 300 es 1191e5c31af7Sopenharmony_ci expect build_successful 1192e5c31af7Sopenharmony_ci 1193e5c31af7Sopenharmony_ci vertex "" 1194e5c31af7Sopenharmony_ci #version 300 es 1195e5c31af7Sopenharmony_ci precision highp float; 1196e5c31af7Sopenharmony_ci 1197e5c31af7Sopenharmony_ci in vec4 a_pos; 1198e5c31af7Sopenharmony_ci 1199e5c31af7Sopenharmony_ci void main() 1200e5c31af7Sopenharmony_ci { 1201e5c31af7Sopenharmony_ci gl_Position = a_pos; 1202e5c31af7Sopenharmony_ci } 1203e5c31af7Sopenharmony_ci "" 1204e5c31af7Sopenharmony_ci 1205e5c31af7Sopenharmony_ci fragment "" 1206e5c31af7Sopenharmony_ci #version 300 es 1207e5c31af7Sopenharmony_ci precision highp float; 1208e5c31af7Sopenharmony_ci 1209e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 1210e5c31af7Sopenharmony_ci 1211e5c31af7Sopenharmony_ci uniform UniformBlock 1212e5c31af7Sopenharmony_ci { 1213e5c31af7Sopenharmony_ci layout(row_major) vec4 uniformMember; 1214e5c31af7Sopenharmony_ci } uniformBlock; 1215e5c31af7Sopenharmony_ci 1216e5c31af7Sopenharmony_ci void main() 1217e5c31af7Sopenharmony_ci { 1218e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember; 1219e5c31af7Sopenharmony_ci } 1220e5c31af7Sopenharmony_ci "" 1221e5c31af7Sopenharmony_ci end 1222e5c31af7Sopenharmony_ci case member_layout_column_major_vec4_vertex 1223e5c31af7Sopenharmony_ci version 300 es 1224e5c31af7Sopenharmony_ci expect build_successful 1225e5c31af7Sopenharmony_ci 1226e5c31af7Sopenharmony_ci vertex "" 1227e5c31af7Sopenharmony_ci #version 300 es 1228e5c31af7Sopenharmony_ci precision highp float; 1229e5c31af7Sopenharmony_ci 1230e5c31af7Sopenharmony_ci 1231e5c31af7Sopenharmony_ci 1232e5c31af7Sopenharmony_ci uniform UniformBlock 1233e5c31af7Sopenharmony_ci { 1234e5c31af7Sopenharmony_ci layout(column_major) vec4 uniformMember; 1235e5c31af7Sopenharmony_ci } uniformBlock; 1236e5c31af7Sopenharmony_ci 1237e5c31af7Sopenharmony_ci void main() 1238e5c31af7Sopenharmony_ci { 1239e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember; 1240e5c31af7Sopenharmony_ci } 1241e5c31af7Sopenharmony_ci "" 1242e5c31af7Sopenharmony_ci 1243e5c31af7Sopenharmony_ci fragment "" 1244e5c31af7Sopenharmony_ci #version 300 es 1245e5c31af7Sopenharmony_ci precision highp float; 1246e5c31af7Sopenharmony_ci 1247e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 1248e5c31af7Sopenharmony_ci 1249e5c31af7Sopenharmony_ci void main() 1250e5c31af7Sopenharmony_ci { 1251e5c31af7Sopenharmony_ci o_color = vec4(1.0); 1252e5c31af7Sopenharmony_ci } 1253e5c31af7Sopenharmony_ci "" 1254e5c31af7Sopenharmony_ci end 1255e5c31af7Sopenharmony_ci case member_layout_column_major_vec4_fragment 1256e5c31af7Sopenharmony_ci version 300 es 1257e5c31af7Sopenharmony_ci expect build_successful 1258e5c31af7Sopenharmony_ci 1259e5c31af7Sopenharmony_ci vertex "" 1260e5c31af7Sopenharmony_ci #version 300 es 1261e5c31af7Sopenharmony_ci precision highp float; 1262e5c31af7Sopenharmony_ci 1263e5c31af7Sopenharmony_ci in vec4 a_pos; 1264e5c31af7Sopenharmony_ci 1265e5c31af7Sopenharmony_ci void main() 1266e5c31af7Sopenharmony_ci { 1267e5c31af7Sopenharmony_ci gl_Position = a_pos; 1268e5c31af7Sopenharmony_ci } 1269e5c31af7Sopenharmony_ci "" 1270e5c31af7Sopenharmony_ci 1271e5c31af7Sopenharmony_ci fragment "" 1272e5c31af7Sopenharmony_ci #version 300 es 1273e5c31af7Sopenharmony_ci precision highp float; 1274e5c31af7Sopenharmony_ci 1275e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 1276e5c31af7Sopenharmony_ci 1277e5c31af7Sopenharmony_ci uniform UniformBlock 1278e5c31af7Sopenharmony_ci { 1279e5c31af7Sopenharmony_ci layout(column_major) vec4 uniformMember; 1280e5c31af7Sopenharmony_ci } uniformBlock; 1281e5c31af7Sopenharmony_ci 1282e5c31af7Sopenharmony_ci void main() 1283e5c31af7Sopenharmony_ci { 1284e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember; 1285e5c31af7Sopenharmony_ci } 1286e5c31af7Sopenharmony_ci "" 1287e5c31af7Sopenharmony_ci end 1288e5c31af7Sopenharmony_ci case member_layout_all_vertex 1289e5c31af7Sopenharmony_ci version 300 es 1290e5c31af7Sopenharmony_ci expect build_successful 1291e5c31af7Sopenharmony_ci 1292e5c31af7Sopenharmony_ci vertex "" 1293e5c31af7Sopenharmony_ci #version 300 es 1294e5c31af7Sopenharmony_ci precision highp float; 1295e5c31af7Sopenharmony_ci 1296e5c31af7Sopenharmony_ci 1297e5c31af7Sopenharmony_ci 1298e5c31af7Sopenharmony_ci uniform UniformBlock 1299e5c31af7Sopenharmony_ci { 1300e5c31af7Sopenharmony_ci layout(row_major, column_major) mat4 uniformMember; 1301e5c31af7Sopenharmony_ci } uniformBlock; 1302e5c31af7Sopenharmony_ci 1303e5c31af7Sopenharmony_ci void main() 1304e5c31af7Sopenharmony_ci { 1305e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember[0]; 1306e5c31af7Sopenharmony_ci } 1307e5c31af7Sopenharmony_ci "" 1308e5c31af7Sopenharmony_ci 1309e5c31af7Sopenharmony_ci fragment "" 1310e5c31af7Sopenharmony_ci #version 300 es 1311e5c31af7Sopenharmony_ci precision highp float; 1312e5c31af7Sopenharmony_ci 1313e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 1314e5c31af7Sopenharmony_ci 1315e5c31af7Sopenharmony_ci void main() 1316e5c31af7Sopenharmony_ci { 1317e5c31af7Sopenharmony_ci o_color = vec4(1.0); 1318e5c31af7Sopenharmony_ci } 1319e5c31af7Sopenharmony_ci "" 1320e5c31af7Sopenharmony_ci end 1321e5c31af7Sopenharmony_ci case member_layout_all_fragment 1322e5c31af7Sopenharmony_ci version 300 es 1323e5c31af7Sopenharmony_ci expect build_successful 1324e5c31af7Sopenharmony_ci 1325e5c31af7Sopenharmony_ci vertex "" 1326e5c31af7Sopenharmony_ci #version 300 es 1327e5c31af7Sopenharmony_ci precision highp float; 1328e5c31af7Sopenharmony_ci 1329e5c31af7Sopenharmony_ci in vec4 a_pos; 1330e5c31af7Sopenharmony_ci 1331e5c31af7Sopenharmony_ci void main() 1332e5c31af7Sopenharmony_ci { 1333e5c31af7Sopenharmony_ci gl_Position = a_pos; 1334e5c31af7Sopenharmony_ci } 1335e5c31af7Sopenharmony_ci "" 1336e5c31af7Sopenharmony_ci 1337e5c31af7Sopenharmony_ci fragment "" 1338e5c31af7Sopenharmony_ci #version 300 es 1339e5c31af7Sopenharmony_ci precision highp float; 1340e5c31af7Sopenharmony_ci 1341e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 1342e5c31af7Sopenharmony_ci 1343e5c31af7Sopenharmony_ci uniform UniformBlock 1344e5c31af7Sopenharmony_ci { 1345e5c31af7Sopenharmony_ci layout(row_major, column_major) mat4 uniformMember; 1346e5c31af7Sopenharmony_ci } uniformBlock; 1347e5c31af7Sopenharmony_ci 1348e5c31af7Sopenharmony_ci void main() 1349e5c31af7Sopenharmony_ci { 1350e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember[0]; 1351e5c31af7Sopenharmony_ci } 1352e5c31af7Sopenharmony_ci "" 1353e5c31af7Sopenharmony_ci end 1354e5c31af7Sopenharmony_ci case member_layout_all_8_times_vertex 1355e5c31af7Sopenharmony_ci version 300 es 1356e5c31af7Sopenharmony_ci expect build_successful 1357e5c31af7Sopenharmony_ci 1358e5c31af7Sopenharmony_ci vertex "" 1359e5c31af7Sopenharmony_ci #version 300 es 1360e5c31af7Sopenharmony_ci precision highp float; 1361e5c31af7Sopenharmony_ci 1362e5c31af7Sopenharmony_ci 1363e5c31af7Sopenharmony_ci 1364e5c31af7Sopenharmony_ci uniform UniformBlock 1365e5c31af7Sopenharmony_ci { 1366e5c31af7Sopenharmony_ci layout(row_major, column_major, row_major, column_major, row_major, column_major, row_major, column_major, row_major, column_major, row_major, column_major, row_major, column_major, row_major, column_major) mat4 uniformMember; 1367e5c31af7Sopenharmony_ci } uniformBlock; 1368e5c31af7Sopenharmony_ci 1369e5c31af7Sopenharmony_ci void main() 1370e5c31af7Sopenharmony_ci { 1371e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember[0]; 1372e5c31af7Sopenharmony_ci } 1373e5c31af7Sopenharmony_ci "" 1374e5c31af7Sopenharmony_ci 1375e5c31af7Sopenharmony_ci fragment "" 1376e5c31af7Sopenharmony_ci #version 300 es 1377e5c31af7Sopenharmony_ci precision highp float; 1378e5c31af7Sopenharmony_ci 1379e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 1380e5c31af7Sopenharmony_ci 1381e5c31af7Sopenharmony_ci void main() 1382e5c31af7Sopenharmony_ci { 1383e5c31af7Sopenharmony_ci o_color = vec4(1.0); 1384e5c31af7Sopenharmony_ci } 1385e5c31af7Sopenharmony_ci "" 1386e5c31af7Sopenharmony_ci end 1387e5c31af7Sopenharmony_ci case member_layout_all_8_times_fragment 1388e5c31af7Sopenharmony_ci version 300 es 1389e5c31af7Sopenharmony_ci expect build_successful 1390e5c31af7Sopenharmony_ci 1391e5c31af7Sopenharmony_ci vertex "" 1392e5c31af7Sopenharmony_ci #version 300 es 1393e5c31af7Sopenharmony_ci precision highp float; 1394e5c31af7Sopenharmony_ci 1395e5c31af7Sopenharmony_ci in vec4 a_pos; 1396e5c31af7Sopenharmony_ci 1397e5c31af7Sopenharmony_ci void main() 1398e5c31af7Sopenharmony_ci { 1399e5c31af7Sopenharmony_ci gl_Position = a_pos; 1400e5c31af7Sopenharmony_ci } 1401e5c31af7Sopenharmony_ci "" 1402e5c31af7Sopenharmony_ci 1403e5c31af7Sopenharmony_ci fragment "" 1404e5c31af7Sopenharmony_ci #version 300 es 1405e5c31af7Sopenharmony_ci precision highp float; 1406e5c31af7Sopenharmony_ci 1407e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 1408e5c31af7Sopenharmony_ci 1409e5c31af7Sopenharmony_ci uniform UniformBlock 1410e5c31af7Sopenharmony_ci { 1411e5c31af7Sopenharmony_ci layout(row_major, column_major, row_major, column_major, row_major, column_major, row_major, column_major, row_major, column_major, row_major, column_major, row_major, column_major, row_major, column_major) mat4 uniformMember; 1412e5c31af7Sopenharmony_ci } uniformBlock; 1413e5c31af7Sopenharmony_ci 1414e5c31af7Sopenharmony_ci void main() 1415e5c31af7Sopenharmony_ci { 1416e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember[0]; 1417e5c31af7Sopenharmony_ci } 1418e5c31af7Sopenharmony_ci "" 1419e5c31af7Sopenharmony_ci end 1420e5c31af7Sopenharmony_ci case no_instance_name_vertex 1421e5c31af7Sopenharmony_ci version 300 es 1422e5c31af7Sopenharmony_ci expect build_successful 1423e5c31af7Sopenharmony_ci 1424e5c31af7Sopenharmony_ci vertex "" 1425e5c31af7Sopenharmony_ci #version 300 es 1426e5c31af7Sopenharmony_ci precision highp float; 1427e5c31af7Sopenharmony_ci 1428e5c31af7Sopenharmony_ci 1429e5c31af7Sopenharmony_ci 1430e5c31af7Sopenharmony_ci uniform UniformBlock 1431e5c31af7Sopenharmony_ci { 1432e5c31af7Sopenharmony_ci vec4 uniformMember; 1433e5c31af7Sopenharmony_ci }; 1434e5c31af7Sopenharmony_ci 1435e5c31af7Sopenharmony_ci void main() 1436e5c31af7Sopenharmony_ci { 1437e5c31af7Sopenharmony_ci gl_Position = uniformMember; 1438e5c31af7Sopenharmony_ci } 1439e5c31af7Sopenharmony_ci "" 1440e5c31af7Sopenharmony_ci 1441e5c31af7Sopenharmony_ci fragment "" 1442e5c31af7Sopenharmony_ci #version 300 es 1443e5c31af7Sopenharmony_ci precision highp float; 1444e5c31af7Sopenharmony_ci 1445e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 1446e5c31af7Sopenharmony_ci 1447e5c31af7Sopenharmony_ci void main() 1448e5c31af7Sopenharmony_ci { 1449e5c31af7Sopenharmony_ci o_color = vec4(1.0); 1450e5c31af7Sopenharmony_ci } 1451e5c31af7Sopenharmony_ci "" 1452e5c31af7Sopenharmony_ci end 1453e5c31af7Sopenharmony_ci case no_instance_name_fragment 1454e5c31af7Sopenharmony_ci version 300 es 1455e5c31af7Sopenharmony_ci expect build_successful 1456e5c31af7Sopenharmony_ci 1457e5c31af7Sopenharmony_ci vertex "" 1458e5c31af7Sopenharmony_ci #version 300 es 1459e5c31af7Sopenharmony_ci precision highp float; 1460e5c31af7Sopenharmony_ci 1461e5c31af7Sopenharmony_ci in vec4 a_pos; 1462e5c31af7Sopenharmony_ci 1463e5c31af7Sopenharmony_ci void main() 1464e5c31af7Sopenharmony_ci { 1465e5c31af7Sopenharmony_ci gl_Position = a_pos; 1466e5c31af7Sopenharmony_ci } 1467e5c31af7Sopenharmony_ci "" 1468e5c31af7Sopenharmony_ci 1469e5c31af7Sopenharmony_ci fragment "" 1470e5c31af7Sopenharmony_ci #version 300 es 1471e5c31af7Sopenharmony_ci precision highp float; 1472e5c31af7Sopenharmony_ci 1473e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 1474e5c31af7Sopenharmony_ci 1475e5c31af7Sopenharmony_ci uniform UniformBlock 1476e5c31af7Sopenharmony_ci { 1477e5c31af7Sopenharmony_ci vec4 uniformMember; 1478e5c31af7Sopenharmony_ci }; 1479e5c31af7Sopenharmony_ci 1480e5c31af7Sopenharmony_ci void main() 1481e5c31af7Sopenharmony_ci { 1482e5c31af7Sopenharmony_ci o_color = uniformMember; 1483e5c31af7Sopenharmony_ci } 1484e5c31af7Sopenharmony_ci "" 1485e5c31af7Sopenharmony_ci end 1486e5c31af7Sopenharmony_ci case same_variable_and_block_name_vertex 1487e5c31af7Sopenharmony_ci version 300 es 1488e5c31af7Sopenharmony_ci expect build_successful 1489e5c31af7Sopenharmony_ci 1490e5c31af7Sopenharmony_ci vertex "" 1491e5c31af7Sopenharmony_ci #version 300 es 1492e5c31af7Sopenharmony_ci precision highp float; 1493e5c31af7Sopenharmony_ci 1494e5c31af7Sopenharmony_ci 1495e5c31af7Sopenharmony_ci 1496e5c31af7Sopenharmony_ci uniform UniformBlock 1497e5c31af7Sopenharmony_ci { 1498e5c31af7Sopenharmony_ci vec4 uniformMember; 1499e5c31af7Sopenharmony_ci } uniformBlock; 1500e5c31af7Sopenharmony_ci 1501e5c31af7Sopenharmony_ci void main() 1502e5c31af7Sopenharmony_ci { 1503e5c31af7Sopenharmony_ci vec4 UniformBlock = vec4(0.0); 1504e5c31af7Sopenharmony_ci gl_Position = UniformBlock + uniformBlock.uniformMember; 1505e5c31af7Sopenharmony_ci } 1506e5c31af7Sopenharmony_ci "" 1507e5c31af7Sopenharmony_ci 1508e5c31af7Sopenharmony_ci fragment "" 1509e5c31af7Sopenharmony_ci #version 300 es 1510e5c31af7Sopenharmony_ci precision highp float; 1511e5c31af7Sopenharmony_ci 1512e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 1513e5c31af7Sopenharmony_ci 1514e5c31af7Sopenharmony_ci void main() 1515e5c31af7Sopenharmony_ci { 1516e5c31af7Sopenharmony_ci o_color = vec4(1.0); 1517e5c31af7Sopenharmony_ci } 1518e5c31af7Sopenharmony_ci "" 1519e5c31af7Sopenharmony_ci end 1520e5c31af7Sopenharmony_ci case same_variable_and_block_name_fragment 1521e5c31af7Sopenharmony_ci version 300 es 1522e5c31af7Sopenharmony_ci expect build_successful 1523e5c31af7Sopenharmony_ci 1524e5c31af7Sopenharmony_ci vertex "" 1525e5c31af7Sopenharmony_ci #version 300 es 1526e5c31af7Sopenharmony_ci precision highp float; 1527e5c31af7Sopenharmony_ci 1528e5c31af7Sopenharmony_ci in vec4 a_pos; 1529e5c31af7Sopenharmony_ci 1530e5c31af7Sopenharmony_ci void main() 1531e5c31af7Sopenharmony_ci { 1532e5c31af7Sopenharmony_ci gl_Position = a_pos; 1533e5c31af7Sopenharmony_ci } 1534e5c31af7Sopenharmony_ci "" 1535e5c31af7Sopenharmony_ci 1536e5c31af7Sopenharmony_ci fragment "" 1537e5c31af7Sopenharmony_ci #version 300 es 1538e5c31af7Sopenharmony_ci precision highp float; 1539e5c31af7Sopenharmony_ci 1540e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 1541e5c31af7Sopenharmony_ci 1542e5c31af7Sopenharmony_ci uniform UniformBlock 1543e5c31af7Sopenharmony_ci { 1544e5c31af7Sopenharmony_ci vec4 uniformMember; 1545e5c31af7Sopenharmony_ci } uniformBlock; 1546e5c31af7Sopenharmony_ci 1547e5c31af7Sopenharmony_ci void main() 1548e5c31af7Sopenharmony_ci { 1549e5c31af7Sopenharmony_ci vec4 UniformBlock = vec4(0.0); 1550e5c31af7Sopenharmony_ci o_color = UniformBlock + uniformBlock.uniformMember; 1551e5c31af7Sopenharmony_ci } 1552e5c31af7Sopenharmony_ci "" 1553e5c31af7Sopenharmony_ci end 1554e5c31af7Sopenharmony_ci case same_variable_and_instance_name_vertex 1555e5c31af7Sopenharmony_ci version 300 es 1556e5c31af7Sopenharmony_ci expect build_successful 1557e5c31af7Sopenharmony_ci 1558e5c31af7Sopenharmony_ci vertex "" 1559e5c31af7Sopenharmony_ci #version 300 es 1560e5c31af7Sopenharmony_ci precision highp float; 1561e5c31af7Sopenharmony_ci 1562e5c31af7Sopenharmony_ci 1563e5c31af7Sopenharmony_ci 1564e5c31af7Sopenharmony_ci uniform UniformBlock 1565e5c31af7Sopenharmony_ci { 1566e5c31af7Sopenharmony_ci vec4 uniformMember; 1567e5c31af7Sopenharmony_ci } uniformBlock; 1568e5c31af7Sopenharmony_ci 1569e5c31af7Sopenharmony_ci void main() 1570e5c31af7Sopenharmony_ci { 1571e5c31af7Sopenharmony_ci vec4 uniformBlock = vec4(0.0); 1572e5c31af7Sopenharmony_ci gl_Position = uniformBlock; 1573e5c31af7Sopenharmony_ci } 1574e5c31af7Sopenharmony_ci "" 1575e5c31af7Sopenharmony_ci 1576e5c31af7Sopenharmony_ci fragment "" 1577e5c31af7Sopenharmony_ci #version 300 es 1578e5c31af7Sopenharmony_ci precision highp float; 1579e5c31af7Sopenharmony_ci 1580e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 1581e5c31af7Sopenharmony_ci 1582e5c31af7Sopenharmony_ci void main() 1583e5c31af7Sopenharmony_ci { 1584e5c31af7Sopenharmony_ci o_color = vec4(1.0); 1585e5c31af7Sopenharmony_ci } 1586e5c31af7Sopenharmony_ci "" 1587e5c31af7Sopenharmony_ci end 1588e5c31af7Sopenharmony_ci case same_variable_and_instance_name_fragment 1589e5c31af7Sopenharmony_ci version 300 es 1590e5c31af7Sopenharmony_ci expect build_successful 1591e5c31af7Sopenharmony_ci 1592e5c31af7Sopenharmony_ci vertex "" 1593e5c31af7Sopenharmony_ci #version 300 es 1594e5c31af7Sopenharmony_ci precision highp float; 1595e5c31af7Sopenharmony_ci 1596e5c31af7Sopenharmony_ci in vec4 a_pos; 1597e5c31af7Sopenharmony_ci 1598e5c31af7Sopenharmony_ci void main() 1599e5c31af7Sopenharmony_ci { 1600e5c31af7Sopenharmony_ci gl_Position = a_pos; 1601e5c31af7Sopenharmony_ci } 1602e5c31af7Sopenharmony_ci "" 1603e5c31af7Sopenharmony_ci 1604e5c31af7Sopenharmony_ci fragment "" 1605e5c31af7Sopenharmony_ci #version 300 es 1606e5c31af7Sopenharmony_ci precision highp float; 1607e5c31af7Sopenharmony_ci 1608e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 1609e5c31af7Sopenharmony_ci 1610e5c31af7Sopenharmony_ci uniform UniformBlock 1611e5c31af7Sopenharmony_ci { 1612e5c31af7Sopenharmony_ci vec4 uniformMember; 1613e5c31af7Sopenharmony_ci } uniformBlock; 1614e5c31af7Sopenharmony_ci 1615e5c31af7Sopenharmony_ci void main() 1616e5c31af7Sopenharmony_ci { 1617e5c31af7Sopenharmony_ci vec4 uniformBlock = vec4(0.0); 1618e5c31af7Sopenharmony_ci o_color = uniformBlock; 1619e5c31af7Sopenharmony_ci } 1620e5c31af7Sopenharmony_ci "" 1621e5c31af7Sopenharmony_ci end 1622e5c31af7Sopenharmony_ci case struct_member_vertex 1623e5c31af7Sopenharmony_ci version 300 es 1624e5c31af7Sopenharmony_ci expect build_successful 1625e5c31af7Sopenharmony_ci 1626e5c31af7Sopenharmony_ci vertex "" 1627e5c31af7Sopenharmony_ci #version 300 es 1628e5c31af7Sopenharmony_ci precision highp float; 1629e5c31af7Sopenharmony_ci 1630e5c31af7Sopenharmony_ci 1631e5c31af7Sopenharmony_ci 1632e5c31af7Sopenharmony_ci struct Struct 1633e5c31af7Sopenharmony_ci { 1634e5c31af7Sopenharmony_ci vec4 uniformMember; 1635e5c31af7Sopenharmony_ci }; 1636e5c31af7Sopenharmony_ci 1637e5c31af7Sopenharmony_ci uniform UniformBlock 1638e5c31af7Sopenharmony_ci { 1639e5c31af7Sopenharmony_ci Struct st; 1640e5c31af7Sopenharmony_ci } uniformBlock; 1641e5c31af7Sopenharmony_ci 1642e5c31af7Sopenharmony_ci void main() 1643e5c31af7Sopenharmony_ci { 1644e5c31af7Sopenharmony_ci gl_Position = uniformBlock.st.uniformMember; 1645e5c31af7Sopenharmony_ci } 1646e5c31af7Sopenharmony_ci "" 1647e5c31af7Sopenharmony_ci 1648e5c31af7Sopenharmony_ci fragment "" 1649e5c31af7Sopenharmony_ci #version 300 es 1650e5c31af7Sopenharmony_ci precision highp float; 1651e5c31af7Sopenharmony_ci 1652e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 1653e5c31af7Sopenharmony_ci 1654e5c31af7Sopenharmony_ci void main() 1655e5c31af7Sopenharmony_ci { 1656e5c31af7Sopenharmony_ci o_color = vec4(1.0); 1657e5c31af7Sopenharmony_ci } 1658e5c31af7Sopenharmony_ci "" 1659e5c31af7Sopenharmony_ci end 1660e5c31af7Sopenharmony_ci case struct_member_fragment 1661e5c31af7Sopenharmony_ci version 300 es 1662e5c31af7Sopenharmony_ci expect build_successful 1663e5c31af7Sopenharmony_ci 1664e5c31af7Sopenharmony_ci vertex "" 1665e5c31af7Sopenharmony_ci #version 300 es 1666e5c31af7Sopenharmony_ci precision highp float; 1667e5c31af7Sopenharmony_ci 1668e5c31af7Sopenharmony_ci in vec4 a_pos; 1669e5c31af7Sopenharmony_ci 1670e5c31af7Sopenharmony_ci void main() 1671e5c31af7Sopenharmony_ci { 1672e5c31af7Sopenharmony_ci gl_Position = a_pos; 1673e5c31af7Sopenharmony_ci } 1674e5c31af7Sopenharmony_ci "" 1675e5c31af7Sopenharmony_ci 1676e5c31af7Sopenharmony_ci fragment "" 1677e5c31af7Sopenharmony_ci #version 300 es 1678e5c31af7Sopenharmony_ci precision highp float; 1679e5c31af7Sopenharmony_ci 1680e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 1681e5c31af7Sopenharmony_ci 1682e5c31af7Sopenharmony_ci struct Struct 1683e5c31af7Sopenharmony_ci { 1684e5c31af7Sopenharmony_ci vec4 uniformMember; 1685e5c31af7Sopenharmony_ci }; 1686e5c31af7Sopenharmony_ci 1687e5c31af7Sopenharmony_ci uniform UniformBlock 1688e5c31af7Sopenharmony_ci { 1689e5c31af7Sopenharmony_ci Struct st; 1690e5c31af7Sopenharmony_ci } uniformBlock; 1691e5c31af7Sopenharmony_ci 1692e5c31af7Sopenharmony_ci void main() 1693e5c31af7Sopenharmony_ci { 1694e5c31af7Sopenharmony_ci o_color = uniformBlock.st.uniformMember; 1695e5c31af7Sopenharmony_ci } 1696e5c31af7Sopenharmony_ci "" 1697e5c31af7Sopenharmony_ci end 1698e5c31af7Sopenharmony_ci case struct_member_layout_row_major_vertex 1699e5c31af7Sopenharmony_ci version 300 es 1700e5c31af7Sopenharmony_ci expect build_successful 1701e5c31af7Sopenharmony_ci 1702e5c31af7Sopenharmony_ci vertex "" 1703e5c31af7Sopenharmony_ci #version 300 es 1704e5c31af7Sopenharmony_ci precision highp float; 1705e5c31af7Sopenharmony_ci 1706e5c31af7Sopenharmony_ci 1707e5c31af7Sopenharmony_ci 1708e5c31af7Sopenharmony_ci struct Struct 1709e5c31af7Sopenharmony_ci { 1710e5c31af7Sopenharmony_ci vec4 uniformMember; 1711e5c31af7Sopenharmony_ci }; 1712e5c31af7Sopenharmony_ci 1713e5c31af7Sopenharmony_ci uniform UniformBlock 1714e5c31af7Sopenharmony_ci { 1715e5c31af7Sopenharmony_ci layout(row_major) Struct st; 1716e5c31af7Sopenharmony_ci } uniformBlock; 1717e5c31af7Sopenharmony_ci 1718e5c31af7Sopenharmony_ci void main() 1719e5c31af7Sopenharmony_ci { 1720e5c31af7Sopenharmony_ci gl_Position = uniformBlock.st.uniformMember; 1721e5c31af7Sopenharmony_ci } 1722e5c31af7Sopenharmony_ci "" 1723e5c31af7Sopenharmony_ci 1724e5c31af7Sopenharmony_ci fragment "" 1725e5c31af7Sopenharmony_ci #version 300 es 1726e5c31af7Sopenharmony_ci precision highp float; 1727e5c31af7Sopenharmony_ci 1728e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 1729e5c31af7Sopenharmony_ci 1730e5c31af7Sopenharmony_ci void main() 1731e5c31af7Sopenharmony_ci { 1732e5c31af7Sopenharmony_ci o_color = vec4(1.0); 1733e5c31af7Sopenharmony_ci } 1734e5c31af7Sopenharmony_ci "" 1735e5c31af7Sopenharmony_ci end 1736e5c31af7Sopenharmony_ci case struct_member_layout_row_major_fragment 1737e5c31af7Sopenharmony_ci version 300 es 1738e5c31af7Sopenharmony_ci expect build_successful 1739e5c31af7Sopenharmony_ci 1740e5c31af7Sopenharmony_ci vertex "" 1741e5c31af7Sopenharmony_ci #version 300 es 1742e5c31af7Sopenharmony_ci precision highp float; 1743e5c31af7Sopenharmony_ci 1744e5c31af7Sopenharmony_ci in vec4 a_pos; 1745e5c31af7Sopenharmony_ci 1746e5c31af7Sopenharmony_ci void main() 1747e5c31af7Sopenharmony_ci { 1748e5c31af7Sopenharmony_ci gl_Position = a_pos; 1749e5c31af7Sopenharmony_ci } 1750e5c31af7Sopenharmony_ci "" 1751e5c31af7Sopenharmony_ci 1752e5c31af7Sopenharmony_ci fragment "" 1753e5c31af7Sopenharmony_ci #version 300 es 1754e5c31af7Sopenharmony_ci precision highp float; 1755e5c31af7Sopenharmony_ci 1756e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 1757e5c31af7Sopenharmony_ci 1758e5c31af7Sopenharmony_ci struct Struct 1759e5c31af7Sopenharmony_ci { 1760e5c31af7Sopenharmony_ci vec4 uniformMember; 1761e5c31af7Sopenharmony_ci }; 1762e5c31af7Sopenharmony_ci 1763e5c31af7Sopenharmony_ci uniform UniformBlock 1764e5c31af7Sopenharmony_ci { 1765e5c31af7Sopenharmony_ci layout(row_major) Struct st; 1766e5c31af7Sopenharmony_ci } uniformBlock; 1767e5c31af7Sopenharmony_ci 1768e5c31af7Sopenharmony_ci void main() 1769e5c31af7Sopenharmony_ci { 1770e5c31af7Sopenharmony_ci o_color = uniformBlock.st.uniformMember; 1771e5c31af7Sopenharmony_ci } 1772e5c31af7Sopenharmony_ci "" 1773e5c31af7Sopenharmony_ci end 1774e5c31af7Sopenharmony_ci case struct_member_layout_column_major_vertex 1775e5c31af7Sopenharmony_ci version 300 es 1776e5c31af7Sopenharmony_ci expect build_successful 1777e5c31af7Sopenharmony_ci 1778e5c31af7Sopenharmony_ci vertex "" 1779e5c31af7Sopenharmony_ci #version 300 es 1780e5c31af7Sopenharmony_ci precision highp float; 1781e5c31af7Sopenharmony_ci 1782e5c31af7Sopenharmony_ci 1783e5c31af7Sopenharmony_ci 1784e5c31af7Sopenharmony_ci struct Struct 1785e5c31af7Sopenharmony_ci { 1786e5c31af7Sopenharmony_ci vec4 uniformMember; 1787e5c31af7Sopenharmony_ci }; 1788e5c31af7Sopenharmony_ci 1789e5c31af7Sopenharmony_ci uniform UniformBlock 1790e5c31af7Sopenharmony_ci { 1791e5c31af7Sopenharmony_ci layout(column_major) Struct st; 1792e5c31af7Sopenharmony_ci } uniformBlock; 1793e5c31af7Sopenharmony_ci 1794e5c31af7Sopenharmony_ci void main() 1795e5c31af7Sopenharmony_ci { 1796e5c31af7Sopenharmony_ci gl_Position = uniformBlock.st.uniformMember; 1797e5c31af7Sopenharmony_ci } 1798e5c31af7Sopenharmony_ci "" 1799e5c31af7Sopenharmony_ci 1800e5c31af7Sopenharmony_ci fragment "" 1801e5c31af7Sopenharmony_ci #version 300 es 1802e5c31af7Sopenharmony_ci precision highp float; 1803e5c31af7Sopenharmony_ci 1804e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 1805e5c31af7Sopenharmony_ci 1806e5c31af7Sopenharmony_ci void main() 1807e5c31af7Sopenharmony_ci { 1808e5c31af7Sopenharmony_ci o_color = vec4(1.0); 1809e5c31af7Sopenharmony_ci } 1810e5c31af7Sopenharmony_ci "" 1811e5c31af7Sopenharmony_ci end 1812e5c31af7Sopenharmony_ci case struct_member_layout_column_major_fragment 1813e5c31af7Sopenharmony_ci version 300 es 1814e5c31af7Sopenharmony_ci expect build_successful 1815e5c31af7Sopenharmony_ci 1816e5c31af7Sopenharmony_ci vertex "" 1817e5c31af7Sopenharmony_ci #version 300 es 1818e5c31af7Sopenharmony_ci precision highp float; 1819e5c31af7Sopenharmony_ci 1820e5c31af7Sopenharmony_ci in vec4 a_pos; 1821e5c31af7Sopenharmony_ci 1822e5c31af7Sopenharmony_ci void main() 1823e5c31af7Sopenharmony_ci { 1824e5c31af7Sopenharmony_ci gl_Position = a_pos; 1825e5c31af7Sopenharmony_ci } 1826e5c31af7Sopenharmony_ci "" 1827e5c31af7Sopenharmony_ci 1828e5c31af7Sopenharmony_ci fragment "" 1829e5c31af7Sopenharmony_ci #version 300 es 1830e5c31af7Sopenharmony_ci precision highp float; 1831e5c31af7Sopenharmony_ci 1832e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 1833e5c31af7Sopenharmony_ci 1834e5c31af7Sopenharmony_ci struct Struct 1835e5c31af7Sopenharmony_ci { 1836e5c31af7Sopenharmony_ci vec4 uniformMember; 1837e5c31af7Sopenharmony_ci }; 1838e5c31af7Sopenharmony_ci 1839e5c31af7Sopenharmony_ci uniform UniformBlock 1840e5c31af7Sopenharmony_ci { 1841e5c31af7Sopenharmony_ci layout(column_major) Struct st; 1842e5c31af7Sopenharmony_ci } uniformBlock; 1843e5c31af7Sopenharmony_ci 1844e5c31af7Sopenharmony_ci void main() 1845e5c31af7Sopenharmony_ci { 1846e5c31af7Sopenharmony_ci o_color = uniformBlock.st.uniformMember; 1847e5c31af7Sopenharmony_ci } 1848e5c31af7Sopenharmony_ci "" 1849e5c31af7Sopenharmony_ci end 1850e5c31af7Sopenharmony_ci case struct_member_layout_all_vertex 1851e5c31af7Sopenharmony_ci version 300 es 1852e5c31af7Sopenharmony_ci expect build_successful 1853e5c31af7Sopenharmony_ci 1854e5c31af7Sopenharmony_ci vertex "" 1855e5c31af7Sopenharmony_ci #version 300 es 1856e5c31af7Sopenharmony_ci precision highp float; 1857e5c31af7Sopenharmony_ci 1858e5c31af7Sopenharmony_ci 1859e5c31af7Sopenharmony_ci 1860e5c31af7Sopenharmony_ci struct Struct 1861e5c31af7Sopenharmony_ci { 1862e5c31af7Sopenharmony_ci vec4 uniformMember; 1863e5c31af7Sopenharmony_ci }; 1864e5c31af7Sopenharmony_ci 1865e5c31af7Sopenharmony_ci uniform UniformBlock 1866e5c31af7Sopenharmony_ci { 1867e5c31af7Sopenharmony_ci layout(row_major, column_major) Struct st; 1868e5c31af7Sopenharmony_ci } uniformBlock; 1869e5c31af7Sopenharmony_ci 1870e5c31af7Sopenharmony_ci void main() 1871e5c31af7Sopenharmony_ci { 1872e5c31af7Sopenharmony_ci gl_Position = uniformBlock.st.uniformMember; 1873e5c31af7Sopenharmony_ci } 1874e5c31af7Sopenharmony_ci "" 1875e5c31af7Sopenharmony_ci 1876e5c31af7Sopenharmony_ci fragment "" 1877e5c31af7Sopenharmony_ci #version 300 es 1878e5c31af7Sopenharmony_ci precision highp float; 1879e5c31af7Sopenharmony_ci 1880e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 1881e5c31af7Sopenharmony_ci 1882e5c31af7Sopenharmony_ci void main() 1883e5c31af7Sopenharmony_ci { 1884e5c31af7Sopenharmony_ci o_color = vec4(1.0); 1885e5c31af7Sopenharmony_ci } 1886e5c31af7Sopenharmony_ci "" 1887e5c31af7Sopenharmony_ci end 1888e5c31af7Sopenharmony_ci case struct_member_layout_all_fragment 1889e5c31af7Sopenharmony_ci version 300 es 1890e5c31af7Sopenharmony_ci expect build_successful 1891e5c31af7Sopenharmony_ci 1892e5c31af7Sopenharmony_ci vertex "" 1893e5c31af7Sopenharmony_ci #version 300 es 1894e5c31af7Sopenharmony_ci precision highp float; 1895e5c31af7Sopenharmony_ci 1896e5c31af7Sopenharmony_ci in vec4 a_pos; 1897e5c31af7Sopenharmony_ci 1898e5c31af7Sopenharmony_ci void main() 1899e5c31af7Sopenharmony_ci { 1900e5c31af7Sopenharmony_ci gl_Position = a_pos; 1901e5c31af7Sopenharmony_ci } 1902e5c31af7Sopenharmony_ci "" 1903e5c31af7Sopenharmony_ci 1904e5c31af7Sopenharmony_ci fragment "" 1905e5c31af7Sopenharmony_ci #version 300 es 1906e5c31af7Sopenharmony_ci precision highp float; 1907e5c31af7Sopenharmony_ci 1908e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 1909e5c31af7Sopenharmony_ci 1910e5c31af7Sopenharmony_ci struct Struct 1911e5c31af7Sopenharmony_ci { 1912e5c31af7Sopenharmony_ci vec4 uniformMember; 1913e5c31af7Sopenharmony_ci }; 1914e5c31af7Sopenharmony_ci 1915e5c31af7Sopenharmony_ci uniform UniformBlock 1916e5c31af7Sopenharmony_ci { 1917e5c31af7Sopenharmony_ci layout(row_major, column_major) Struct st; 1918e5c31af7Sopenharmony_ci } uniformBlock; 1919e5c31af7Sopenharmony_ci 1920e5c31af7Sopenharmony_ci void main() 1921e5c31af7Sopenharmony_ci { 1922e5c31af7Sopenharmony_ci o_color = uniformBlock.st.uniformMember; 1923e5c31af7Sopenharmony_ci } 1924e5c31af7Sopenharmony_ci "" 1925e5c31af7Sopenharmony_ci end 1926e5c31af7Sopenharmony_ci case struct_member_layout_all_8_times_vertex 1927e5c31af7Sopenharmony_ci version 300 es 1928e5c31af7Sopenharmony_ci expect build_successful 1929e5c31af7Sopenharmony_ci 1930e5c31af7Sopenharmony_ci vertex "" 1931e5c31af7Sopenharmony_ci #version 300 es 1932e5c31af7Sopenharmony_ci precision highp float; 1933e5c31af7Sopenharmony_ci 1934e5c31af7Sopenharmony_ci 1935e5c31af7Sopenharmony_ci 1936e5c31af7Sopenharmony_ci struct Struct 1937e5c31af7Sopenharmony_ci { 1938e5c31af7Sopenharmony_ci vec4 uniformMember; 1939e5c31af7Sopenharmony_ci }; 1940e5c31af7Sopenharmony_ci 1941e5c31af7Sopenharmony_ci uniform UniformBlock 1942e5c31af7Sopenharmony_ci { 1943e5c31af7Sopenharmony_ci layout(row_major, column_major, row_major, column_major, row_major, column_major, row_major, column_major, row_major, column_major, row_major, column_major, row_major, column_major, row_major, column_major) Struct st; 1944e5c31af7Sopenharmony_ci } uniformBlock; 1945e5c31af7Sopenharmony_ci 1946e5c31af7Sopenharmony_ci void main() 1947e5c31af7Sopenharmony_ci { 1948e5c31af7Sopenharmony_ci gl_Position = uniformBlock.st.uniformMember; 1949e5c31af7Sopenharmony_ci } 1950e5c31af7Sopenharmony_ci "" 1951e5c31af7Sopenharmony_ci 1952e5c31af7Sopenharmony_ci fragment "" 1953e5c31af7Sopenharmony_ci #version 300 es 1954e5c31af7Sopenharmony_ci precision highp float; 1955e5c31af7Sopenharmony_ci 1956e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 1957e5c31af7Sopenharmony_ci 1958e5c31af7Sopenharmony_ci void main() 1959e5c31af7Sopenharmony_ci { 1960e5c31af7Sopenharmony_ci o_color = vec4(1.0); 1961e5c31af7Sopenharmony_ci } 1962e5c31af7Sopenharmony_ci "" 1963e5c31af7Sopenharmony_ci end 1964e5c31af7Sopenharmony_ci case struct_member_layout_all_8_times_fragment 1965e5c31af7Sopenharmony_ci version 300 es 1966e5c31af7Sopenharmony_ci expect build_successful 1967e5c31af7Sopenharmony_ci 1968e5c31af7Sopenharmony_ci vertex "" 1969e5c31af7Sopenharmony_ci #version 300 es 1970e5c31af7Sopenharmony_ci precision highp float; 1971e5c31af7Sopenharmony_ci 1972e5c31af7Sopenharmony_ci in vec4 a_pos; 1973e5c31af7Sopenharmony_ci 1974e5c31af7Sopenharmony_ci void main() 1975e5c31af7Sopenharmony_ci { 1976e5c31af7Sopenharmony_ci gl_Position = a_pos; 1977e5c31af7Sopenharmony_ci } 1978e5c31af7Sopenharmony_ci "" 1979e5c31af7Sopenharmony_ci 1980e5c31af7Sopenharmony_ci fragment "" 1981e5c31af7Sopenharmony_ci #version 300 es 1982e5c31af7Sopenharmony_ci precision highp float; 1983e5c31af7Sopenharmony_ci 1984e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 1985e5c31af7Sopenharmony_ci 1986e5c31af7Sopenharmony_ci struct Struct 1987e5c31af7Sopenharmony_ci { 1988e5c31af7Sopenharmony_ci vec4 uniformMember; 1989e5c31af7Sopenharmony_ci }; 1990e5c31af7Sopenharmony_ci 1991e5c31af7Sopenharmony_ci uniform UniformBlock 1992e5c31af7Sopenharmony_ci { 1993e5c31af7Sopenharmony_ci layout(row_major, column_major, row_major, column_major, row_major, column_major, row_major, column_major, row_major, column_major, row_major, column_major, row_major, column_major, row_major, column_major) Struct st; 1994e5c31af7Sopenharmony_ci } uniformBlock; 1995e5c31af7Sopenharmony_ci 1996e5c31af7Sopenharmony_ci void main() 1997e5c31af7Sopenharmony_ci { 1998e5c31af7Sopenharmony_ci o_color = uniformBlock.st.uniformMember; 1999e5c31af7Sopenharmony_ci } 2000e5c31af7Sopenharmony_ci "" 2001e5c31af7Sopenharmony_ci end 2002e5c31af7Sopenharmony_ci case long_block_name_vertex 2003e5c31af7Sopenharmony_ci version 300 es 2004e5c31af7Sopenharmony_ci expect build_successful 2005e5c31af7Sopenharmony_ci 2006e5c31af7Sopenharmony_ci vertex "" 2007e5c31af7Sopenharmony_ci #version 300 es 2008e5c31af7Sopenharmony_ci precision highp float; 2009e5c31af7Sopenharmony_ci 2010e5c31af7Sopenharmony_ci 2011e5c31af7Sopenharmony_ci 2012e5c31af7Sopenharmony_ci // Total of 1024 characters 2013e5c31af7Sopenharmony_ci uniform aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 2014e5c31af7Sopenharmony_ci { 2015e5c31af7Sopenharmony_ci vec4 uniformMember; 2016e5c31af7Sopenharmony_ci } uniformBlock; 2017e5c31af7Sopenharmony_ci 2018e5c31af7Sopenharmony_ci void main() 2019e5c31af7Sopenharmony_ci { 2020e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember; 2021e5c31af7Sopenharmony_ci } 2022e5c31af7Sopenharmony_ci "" 2023e5c31af7Sopenharmony_ci 2024e5c31af7Sopenharmony_ci fragment "" 2025e5c31af7Sopenharmony_ci #version 300 es 2026e5c31af7Sopenharmony_ci precision highp float; 2027e5c31af7Sopenharmony_ci 2028e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 2029e5c31af7Sopenharmony_ci 2030e5c31af7Sopenharmony_ci void main() 2031e5c31af7Sopenharmony_ci { 2032e5c31af7Sopenharmony_ci o_color = vec4(1.0); 2033e5c31af7Sopenharmony_ci } 2034e5c31af7Sopenharmony_ci "" 2035e5c31af7Sopenharmony_ci end 2036e5c31af7Sopenharmony_ci case long_block_name_fragment 2037e5c31af7Sopenharmony_ci version 300 es 2038e5c31af7Sopenharmony_ci expect build_successful 2039e5c31af7Sopenharmony_ci 2040e5c31af7Sopenharmony_ci vertex "" 2041e5c31af7Sopenharmony_ci #version 300 es 2042e5c31af7Sopenharmony_ci precision highp float; 2043e5c31af7Sopenharmony_ci 2044e5c31af7Sopenharmony_ci in vec4 a_pos; 2045e5c31af7Sopenharmony_ci 2046e5c31af7Sopenharmony_ci void main() 2047e5c31af7Sopenharmony_ci { 2048e5c31af7Sopenharmony_ci gl_Position = a_pos; 2049e5c31af7Sopenharmony_ci } 2050e5c31af7Sopenharmony_ci "" 2051e5c31af7Sopenharmony_ci 2052e5c31af7Sopenharmony_ci fragment "" 2053e5c31af7Sopenharmony_ci #version 300 es 2054e5c31af7Sopenharmony_ci precision highp float; 2055e5c31af7Sopenharmony_ci 2056e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 2057e5c31af7Sopenharmony_ci 2058e5c31af7Sopenharmony_ci // Total of 1024 characters 2059e5c31af7Sopenharmony_ci uniform aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 2060e5c31af7Sopenharmony_ci { 2061e5c31af7Sopenharmony_ci vec4 uniformMember; 2062e5c31af7Sopenharmony_ci } uniformBlock; 2063e5c31af7Sopenharmony_ci 2064e5c31af7Sopenharmony_ci void main() 2065e5c31af7Sopenharmony_ci { 2066e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember; 2067e5c31af7Sopenharmony_ci } 2068e5c31af7Sopenharmony_ci "" 2069e5c31af7Sopenharmony_ci end 2070e5c31af7Sopenharmony_ci case long_instance_name_vertex 2071e5c31af7Sopenharmony_ci version 300 es 2072e5c31af7Sopenharmony_ci expect build_successful 2073e5c31af7Sopenharmony_ci 2074e5c31af7Sopenharmony_ci vertex "" 2075e5c31af7Sopenharmony_ci #version 300 es 2076e5c31af7Sopenharmony_ci precision highp float; 2077e5c31af7Sopenharmony_ci 2078e5c31af7Sopenharmony_ci 2079e5c31af7Sopenharmony_ci 2080e5c31af7Sopenharmony_ci uniform UniformBlock 2081e5c31af7Sopenharmony_ci { 2082e5c31af7Sopenharmony_ci vec4 uniformMember; 2083e5c31af7Sopenharmony_ci } aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa; 2084e5c31af7Sopenharmony_ci // Total of 1024 characters 2085e5c31af7Sopenharmony_ci 2086e5c31af7Sopenharmony_ci void main() 2087e5c31af7Sopenharmony_ci { 2088e5c31af7Sopenharmony_ci gl_Position = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.uniformMember; 2089e5c31af7Sopenharmony_ci } 2090e5c31af7Sopenharmony_ci "" 2091e5c31af7Sopenharmony_ci 2092e5c31af7Sopenharmony_ci fragment "" 2093e5c31af7Sopenharmony_ci #version 300 es 2094e5c31af7Sopenharmony_ci precision highp float; 2095e5c31af7Sopenharmony_ci 2096e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 2097e5c31af7Sopenharmony_ci 2098e5c31af7Sopenharmony_ci void main() 2099e5c31af7Sopenharmony_ci { 2100e5c31af7Sopenharmony_ci o_color = vec4(1.0); 2101e5c31af7Sopenharmony_ci } 2102e5c31af7Sopenharmony_ci "" 2103e5c31af7Sopenharmony_ci end 2104e5c31af7Sopenharmony_ci case long_instance_name_fragment 2105e5c31af7Sopenharmony_ci version 300 es 2106e5c31af7Sopenharmony_ci expect build_successful 2107e5c31af7Sopenharmony_ci 2108e5c31af7Sopenharmony_ci vertex "" 2109e5c31af7Sopenharmony_ci #version 300 es 2110e5c31af7Sopenharmony_ci precision highp float; 2111e5c31af7Sopenharmony_ci 2112e5c31af7Sopenharmony_ci in vec4 a_pos; 2113e5c31af7Sopenharmony_ci 2114e5c31af7Sopenharmony_ci void main() 2115e5c31af7Sopenharmony_ci { 2116e5c31af7Sopenharmony_ci gl_Position = a_pos; 2117e5c31af7Sopenharmony_ci } 2118e5c31af7Sopenharmony_ci "" 2119e5c31af7Sopenharmony_ci 2120e5c31af7Sopenharmony_ci fragment "" 2121e5c31af7Sopenharmony_ci #version 300 es 2122e5c31af7Sopenharmony_ci precision highp float; 2123e5c31af7Sopenharmony_ci 2124e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 2125e5c31af7Sopenharmony_ci 2126e5c31af7Sopenharmony_ci uniform UniformBlock 2127e5c31af7Sopenharmony_ci { 2128e5c31af7Sopenharmony_ci vec4 uniformMember; 2129e5c31af7Sopenharmony_ci } aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa; 2130e5c31af7Sopenharmony_ci // Total of 1024 characters 2131e5c31af7Sopenharmony_ci 2132e5c31af7Sopenharmony_ci void main() 2133e5c31af7Sopenharmony_ci { 2134e5c31af7Sopenharmony_ci o_color = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.uniformMember; 2135e5c31af7Sopenharmony_ci } 2136e5c31af7Sopenharmony_ci "" 2137e5c31af7Sopenharmony_ci end 2138e5c31af7Sopenharmony_ci case underscore_block_name_vertex 2139e5c31af7Sopenharmony_ci version 300 es 2140e5c31af7Sopenharmony_ci expect build_successful 2141e5c31af7Sopenharmony_ci 2142e5c31af7Sopenharmony_ci vertex "" 2143e5c31af7Sopenharmony_ci #version 300 es 2144e5c31af7Sopenharmony_ci precision highp float; 2145e5c31af7Sopenharmony_ci 2146e5c31af7Sopenharmony_ci 2147e5c31af7Sopenharmony_ci 2148e5c31af7Sopenharmony_ci uniform _ 2149e5c31af7Sopenharmony_ci { 2150e5c31af7Sopenharmony_ci vec4 uniformMember; 2151e5c31af7Sopenharmony_ci } uniformBlock; 2152e5c31af7Sopenharmony_ci 2153e5c31af7Sopenharmony_ci void main() 2154e5c31af7Sopenharmony_ci { 2155e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember; 2156e5c31af7Sopenharmony_ci } 2157e5c31af7Sopenharmony_ci "" 2158e5c31af7Sopenharmony_ci 2159e5c31af7Sopenharmony_ci fragment "" 2160e5c31af7Sopenharmony_ci #version 300 es 2161e5c31af7Sopenharmony_ci precision highp float; 2162e5c31af7Sopenharmony_ci 2163e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 2164e5c31af7Sopenharmony_ci 2165e5c31af7Sopenharmony_ci void main() 2166e5c31af7Sopenharmony_ci { 2167e5c31af7Sopenharmony_ci o_color = vec4(1.0); 2168e5c31af7Sopenharmony_ci } 2169e5c31af7Sopenharmony_ci "" 2170e5c31af7Sopenharmony_ci end 2171e5c31af7Sopenharmony_ci case underscore_block_name_fragment 2172e5c31af7Sopenharmony_ci version 300 es 2173e5c31af7Sopenharmony_ci expect build_successful 2174e5c31af7Sopenharmony_ci 2175e5c31af7Sopenharmony_ci vertex "" 2176e5c31af7Sopenharmony_ci #version 300 es 2177e5c31af7Sopenharmony_ci precision highp float; 2178e5c31af7Sopenharmony_ci 2179e5c31af7Sopenharmony_ci in vec4 a_pos; 2180e5c31af7Sopenharmony_ci 2181e5c31af7Sopenharmony_ci void main() 2182e5c31af7Sopenharmony_ci { 2183e5c31af7Sopenharmony_ci gl_Position = a_pos; 2184e5c31af7Sopenharmony_ci } 2185e5c31af7Sopenharmony_ci "" 2186e5c31af7Sopenharmony_ci 2187e5c31af7Sopenharmony_ci fragment "" 2188e5c31af7Sopenharmony_ci #version 300 es 2189e5c31af7Sopenharmony_ci precision highp float; 2190e5c31af7Sopenharmony_ci 2191e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 2192e5c31af7Sopenharmony_ci 2193e5c31af7Sopenharmony_ci uniform _ 2194e5c31af7Sopenharmony_ci { 2195e5c31af7Sopenharmony_ci vec4 uniformMember; 2196e5c31af7Sopenharmony_ci } uniformBlock; 2197e5c31af7Sopenharmony_ci 2198e5c31af7Sopenharmony_ci void main() 2199e5c31af7Sopenharmony_ci { 2200e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember; 2201e5c31af7Sopenharmony_ci } 2202e5c31af7Sopenharmony_ci "" 2203e5c31af7Sopenharmony_ci end 2204e5c31af7Sopenharmony_ci case underscore_instance_name_vertex 2205e5c31af7Sopenharmony_ci version 300 es 2206e5c31af7Sopenharmony_ci expect build_successful 2207e5c31af7Sopenharmony_ci 2208e5c31af7Sopenharmony_ci vertex "" 2209e5c31af7Sopenharmony_ci #version 300 es 2210e5c31af7Sopenharmony_ci precision highp float; 2211e5c31af7Sopenharmony_ci 2212e5c31af7Sopenharmony_ci 2213e5c31af7Sopenharmony_ci 2214e5c31af7Sopenharmony_ci uniform UniformBlock 2215e5c31af7Sopenharmony_ci { 2216e5c31af7Sopenharmony_ci vec4 uniformMember; 2217e5c31af7Sopenharmony_ci } _; 2218e5c31af7Sopenharmony_ci 2219e5c31af7Sopenharmony_ci void main() 2220e5c31af7Sopenharmony_ci { 2221e5c31af7Sopenharmony_ci gl_Position = _.uniformMember; 2222e5c31af7Sopenharmony_ci } 2223e5c31af7Sopenharmony_ci "" 2224e5c31af7Sopenharmony_ci 2225e5c31af7Sopenharmony_ci fragment "" 2226e5c31af7Sopenharmony_ci #version 300 es 2227e5c31af7Sopenharmony_ci precision highp float; 2228e5c31af7Sopenharmony_ci 2229e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 2230e5c31af7Sopenharmony_ci 2231e5c31af7Sopenharmony_ci void main() 2232e5c31af7Sopenharmony_ci { 2233e5c31af7Sopenharmony_ci o_color = vec4(1.0); 2234e5c31af7Sopenharmony_ci } 2235e5c31af7Sopenharmony_ci "" 2236e5c31af7Sopenharmony_ci end 2237e5c31af7Sopenharmony_ci case underscore_instance_name_fragment 2238e5c31af7Sopenharmony_ci version 300 es 2239e5c31af7Sopenharmony_ci expect build_successful 2240e5c31af7Sopenharmony_ci 2241e5c31af7Sopenharmony_ci vertex "" 2242e5c31af7Sopenharmony_ci #version 300 es 2243e5c31af7Sopenharmony_ci precision highp float; 2244e5c31af7Sopenharmony_ci 2245e5c31af7Sopenharmony_ci in vec4 a_pos; 2246e5c31af7Sopenharmony_ci 2247e5c31af7Sopenharmony_ci void main() 2248e5c31af7Sopenharmony_ci { 2249e5c31af7Sopenharmony_ci gl_Position = a_pos; 2250e5c31af7Sopenharmony_ci } 2251e5c31af7Sopenharmony_ci "" 2252e5c31af7Sopenharmony_ci 2253e5c31af7Sopenharmony_ci fragment "" 2254e5c31af7Sopenharmony_ci #version 300 es 2255e5c31af7Sopenharmony_ci precision highp float; 2256e5c31af7Sopenharmony_ci 2257e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 2258e5c31af7Sopenharmony_ci 2259e5c31af7Sopenharmony_ci uniform UniformBlock 2260e5c31af7Sopenharmony_ci { 2261e5c31af7Sopenharmony_ci vec4 uniformMember; 2262e5c31af7Sopenharmony_ci } _; 2263e5c31af7Sopenharmony_ci 2264e5c31af7Sopenharmony_ci void main() 2265e5c31af7Sopenharmony_ci { 2266e5c31af7Sopenharmony_ci o_color = _.uniformMember; 2267e5c31af7Sopenharmony_ci } 2268e5c31af7Sopenharmony_ci "" 2269e5c31af7Sopenharmony_ci end 2270e5c31af7Sopenharmony_ci 2271e5c31af7Sopenharmony_ciend # valid 2272e5c31af7Sopenharmony_cigroup invalid "Invalid uniform interface block syntax tests." 2273e5c31af7Sopenharmony_ci 2274e5c31af7Sopenharmony_ci case member_in_interface_qualifier_vertex 2275e5c31af7Sopenharmony_ci version 300 es 2276e5c31af7Sopenharmony_ci expect compile_fail 2277e5c31af7Sopenharmony_ci 2278e5c31af7Sopenharmony_ci vertex "" 2279e5c31af7Sopenharmony_ci #version 300 es 2280e5c31af7Sopenharmony_ci precision highp float; 2281e5c31af7Sopenharmony_ci 2282e5c31af7Sopenharmony_ci 2283e5c31af7Sopenharmony_ci 2284e5c31af7Sopenharmony_ci uniform UniformBlock 2285e5c31af7Sopenharmony_ci { 2286e5c31af7Sopenharmony_ci in vec4 uniformMember; 2287e5c31af7Sopenharmony_ci } uniformBlock; 2288e5c31af7Sopenharmony_ci 2289e5c31af7Sopenharmony_ci void main() 2290e5c31af7Sopenharmony_ci { 2291e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember; 2292e5c31af7Sopenharmony_ci } 2293e5c31af7Sopenharmony_ci "" 2294e5c31af7Sopenharmony_ci 2295e5c31af7Sopenharmony_ci fragment "" 2296e5c31af7Sopenharmony_ci #version 300 es 2297e5c31af7Sopenharmony_ci precision highp float; 2298e5c31af7Sopenharmony_ci 2299e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 2300e5c31af7Sopenharmony_ci 2301e5c31af7Sopenharmony_ci void main() 2302e5c31af7Sopenharmony_ci { 2303e5c31af7Sopenharmony_ci o_color = vec4(1.0); 2304e5c31af7Sopenharmony_ci } 2305e5c31af7Sopenharmony_ci "" 2306e5c31af7Sopenharmony_ci end 2307e5c31af7Sopenharmony_ci case member_in_interface_qualifier_fragment 2308e5c31af7Sopenharmony_ci version 300 es 2309e5c31af7Sopenharmony_ci expect compile_fail 2310e5c31af7Sopenharmony_ci 2311e5c31af7Sopenharmony_ci vertex "" 2312e5c31af7Sopenharmony_ci #version 300 es 2313e5c31af7Sopenharmony_ci precision highp float; 2314e5c31af7Sopenharmony_ci 2315e5c31af7Sopenharmony_ci in vec4 a_pos; 2316e5c31af7Sopenharmony_ci 2317e5c31af7Sopenharmony_ci void main() 2318e5c31af7Sopenharmony_ci { 2319e5c31af7Sopenharmony_ci gl_Position = a_pos; 2320e5c31af7Sopenharmony_ci } 2321e5c31af7Sopenharmony_ci "" 2322e5c31af7Sopenharmony_ci 2323e5c31af7Sopenharmony_ci fragment "" 2324e5c31af7Sopenharmony_ci #version 300 es 2325e5c31af7Sopenharmony_ci precision highp float; 2326e5c31af7Sopenharmony_ci 2327e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 2328e5c31af7Sopenharmony_ci 2329e5c31af7Sopenharmony_ci uniform UniformBlock 2330e5c31af7Sopenharmony_ci { 2331e5c31af7Sopenharmony_ci in vec4 uniformMember; 2332e5c31af7Sopenharmony_ci } uniformBlock; 2333e5c31af7Sopenharmony_ci 2334e5c31af7Sopenharmony_ci void main() 2335e5c31af7Sopenharmony_ci { 2336e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember; 2337e5c31af7Sopenharmony_ci } 2338e5c31af7Sopenharmony_ci "" 2339e5c31af7Sopenharmony_ci end 2340e5c31af7Sopenharmony_ci case member_out_interface_qualifier_vertex 2341e5c31af7Sopenharmony_ci version 300 es 2342e5c31af7Sopenharmony_ci expect compile_fail 2343e5c31af7Sopenharmony_ci 2344e5c31af7Sopenharmony_ci vertex "" 2345e5c31af7Sopenharmony_ci #version 300 es 2346e5c31af7Sopenharmony_ci precision highp float; 2347e5c31af7Sopenharmony_ci 2348e5c31af7Sopenharmony_ci 2349e5c31af7Sopenharmony_ci 2350e5c31af7Sopenharmony_ci uniform UniformBlock 2351e5c31af7Sopenharmony_ci { 2352e5c31af7Sopenharmony_ci out vec4 uniformMember; 2353e5c31af7Sopenharmony_ci } uniformBlock; 2354e5c31af7Sopenharmony_ci 2355e5c31af7Sopenharmony_ci void main() 2356e5c31af7Sopenharmony_ci { 2357e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember; 2358e5c31af7Sopenharmony_ci } 2359e5c31af7Sopenharmony_ci "" 2360e5c31af7Sopenharmony_ci 2361e5c31af7Sopenharmony_ci fragment "" 2362e5c31af7Sopenharmony_ci #version 300 es 2363e5c31af7Sopenharmony_ci precision highp float; 2364e5c31af7Sopenharmony_ci 2365e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 2366e5c31af7Sopenharmony_ci 2367e5c31af7Sopenharmony_ci void main() 2368e5c31af7Sopenharmony_ci { 2369e5c31af7Sopenharmony_ci o_color = vec4(1.0); 2370e5c31af7Sopenharmony_ci } 2371e5c31af7Sopenharmony_ci "" 2372e5c31af7Sopenharmony_ci end 2373e5c31af7Sopenharmony_ci case member_out_interface_qualifier_fragment 2374e5c31af7Sopenharmony_ci version 300 es 2375e5c31af7Sopenharmony_ci expect compile_fail 2376e5c31af7Sopenharmony_ci 2377e5c31af7Sopenharmony_ci vertex "" 2378e5c31af7Sopenharmony_ci #version 300 es 2379e5c31af7Sopenharmony_ci precision highp float; 2380e5c31af7Sopenharmony_ci 2381e5c31af7Sopenharmony_ci in vec4 a_pos; 2382e5c31af7Sopenharmony_ci 2383e5c31af7Sopenharmony_ci void main() 2384e5c31af7Sopenharmony_ci { 2385e5c31af7Sopenharmony_ci gl_Position = a_pos; 2386e5c31af7Sopenharmony_ci } 2387e5c31af7Sopenharmony_ci "" 2388e5c31af7Sopenharmony_ci 2389e5c31af7Sopenharmony_ci fragment "" 2390e5c31af7Sopenharmony_ci #version 300 es 2391e5c31af7Sopenharmony_ci precision highp float; 2392e5c31af7Sopenharmony_ci 2393e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 2394e5c31af7Sopenharmony_ci 2395e5c31af7Sopenharmony_ci uniform UniformBlock 2396e5c31af7Sopenharmony_ci { 2397e5c31af7Sopenharmony_ci out vec4 uniformMember; 2398e5c31af7Sopenharmony_ci } uniformBlock; 2399e5c31af7Sopenharmony_ci 2400e5c31af7Sopenharmony_ci void main() 2401e5c31af7Sopenharmony_ci { 2402e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember; 2403e5c31af7Sopenharmony_ci } 2404e5c31af7Sopenharmony_ci "" 2405e5c31af7Sopenharmony_ci end 2406e5c31af7Sopenharmony_ci case member_buffer_interface_qualifier_vertex 2407e5c31af7Sopenharmony_ci version 300 es 2408e5c31af7Sopenharmony_ci expect compile_fail 2409e5c31af7Sopenharmony_ci 2410e5c31af7Sopenharmony_ci vertex "" 2411e5c31af7Sopenharmony_ci #version 300 es 2412e5c31af7Sopenharmony_ci precision highp float; 2413e5c31af7Sopenharmony_ci 2414e5c31af7Sopenharmony_ci 2415e5c31af7Sopenharmony_ci 2416e5c31af7Sopenharmony_ci uniform UniformBlock 2417e5c31af7Sopenharmony_ci { 2418e5c31af7Sopenharmony_ci buffer vec4 uniformMember; 2419e5c31af7Sopenharmony_ci } uniformBlock; 2420e5c31af7Sopenharmony_ci 2421e5c31af7Sopenharmony_ci void main() 2422e5c31af7Sopenharmony_ci { 2423e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember; 2424e5c31af7Sopenharmony_ci } 2425e5c31af7Sopenharmony_ci "" 2426e5c31af7Sopenharmony_ci 2427e5c31af7Sopenharmony_ci fragment "" 2428e5c31af7Sopenharmony_ci #version 300 es 2429e5c31af7Sopenharmony_ci precision highp float; 2430e5c31af7Sopenharmony_ci 2431e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 2432e5c31af7Sopenharmony_ci 2433e5c31af7Sopenharmony_ci void main() 2434e5c31af7Sopenharmony_ci { 2435e5c31af7Sopenharmony_ci o_color = vec4(1.0); 2436e5c31af7Sopenharmony_ci } 2437e5c31af7Sopenharmony_ci "" 2438e5c31af7Sopenharmony_ci end 2439e5c31af7Sopenharmony_ci case member_buffer_interface_qualifier_fragment 2440e5c31af7Sopenharmony_ci version 300 es 2441e5c31af7Sopenharmony_ci expect compile_fail 2442e5c31af7Sopenharmony_ci 2443e5c31af7Sopenharmony_ci vertex "" 2444e5c31af7Sopenharmony_ci #version 300 es 2445e5c31af7Sopenharmony_ci precision highp float; 2446e5c31af7Sopenharmony_ci 2447e5c31af7Sopenharmony_ci in vec4 a_pos; 2448e5c31af7Sopenharmony_ci 2449e5c31af7Sopenharmony_ci void main() 2450e5c31af7Sopenharmony_ci { 2451e5c31af7Sopenharmony_ci gl_Position = a_pos; 2452e5c31af7Sopenharmony_ci } 2453e5c31af7Sopenharmony_ci "" 2454e5c31af7Sopenharmony_ci 2455e5c31af7Sopenharmony_ci fragment "" 2456e5c31af7Sopenharmony_ci #version 300 es 2457e5c31af7Sopenharmony_ci precision highp float; 2458e5c31af7Sopenharmony_ci 2459e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 2460e5c31af7Sopenharmony_ci 2461e5c31af7Sopenharmony_ci uniform UniformBlock 2462e5c31af7Sopenharmony_ci { 2463e5c31af7Sopenharmony_ci buffer vec4 uniformMember; 2464e5c31af7Sopenharmony_ci } uniformBlock; 2465e5c31af7Sopenharmony_ci 2466e5c31af7Sopenharmony_ci void main() 2467e5c31af7Sopenharmony_ci { 2468e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember; 2469e5c31af7Sopenharmony_ci } 2470e5c31af7Sopenharmony_ci "" 2471e5c31af7Sopenharmony_ci end 2472e5c31af7Sopenharmony_ci case member_attribute_interface_qualifier_vertex 2473e5c31af7Sopenharmony_ci version 300 es 2474e5c31af7Sopenharmony_ci expect compile_fail 2475e5c31af7Sopenharmony_ci 2476e5c31af7Sopenharmony_ci vertex "" 2477e5c31af7Sopenharmony_ci #version 300 es 2478e5c31af7Sopenharmony_ci precision highp float; 2479e5c31af7Sopenharmony_ci 2480e5c31af7Sopenharmony_ci 2481e5c31af7Sopenharmony_ci 2482e5c31af7Sopenharmony_ci uniform UniformBlock 2483e5c31af7Sopenharmony_ci { 2484e5c31af7Sopenharmony_ci attribute vec4 uniformMember; 2485e5c31af7Sopenharmony_ci } uniformBlock; 2486e5c31af7Sopenharmony_ci 2487e5c31af7Sopenharmony_ci void main() 2488e5c31af7Sopenharmony_ci { 2489e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember; 2490e5c31af7Sopenharmony_ci } 2491e5c31af7Sopenharmony_ci "" 2492e5c31af7Sopenharmony_ci 2493e5c31af7Sopenharmony_ci fragment "" 2494e5c31af7Sopenharmony_ci #version 300 es 2495e5c31af7Sopenharmony_ci precision highp float; 2496e5c31af7Sopenharmony_ci 2497e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 2498e5c31af7Sopenharmony_ci 2499e5c31af7Sopenharmony_ci void main() 2500e5c31af7Sopenharmony_ci { 2501e5c31af7Sopenharmony_ci o_color = vec4(1.0); 2502e5c31af7Sopenharmony_ci } 2503e5c31af7Sopenharmony_ci "" 2504e5c31af7Sopenharmony_ci end 2505e5c31af7Sopenharmony_ci case member_attribute_interface_qualifier_fragment 2506e5c31af7Sopenharmony_ci version 300 es 2507e5c31af7Sopenharmony_ci expect compile_fail 2508e5c31af7Sopenharmony_ci 2509e5c31af7Sopenharmony_ci vertex "" 2510e5c31af7Sopenharmony_ci #version 300 es 2511e5c31af7Sopenharmony_ci precision highp float; 2512e5c31af7Sopenharmony_ci 2513e5c31af7Sopenharmony_ci in vec4 a_pos; 2514e5c31af7Sopenharmony_ci 2515e5c31af7Sopenharmony_ci void main() 2516e5c31af7Sopenharmony_ci { 2517e5c31af7Sopenharmony_ci gl_Position = a_pos; 2518e5c31af7Sopenharmony_ci } 2519e5c31af7Sopenharmony_ci "" 2520e5c31af7Sopenharmony_ci 2521e5c31af7Sopenharmony_ci fragment "" 2522e5c31af7Sopenharmony_ci #version 300 es 2523e5c31af7Sopenharmony_ci precision highp float; 2524e5c31af7Sopenharmony_ci 2525e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 2526e5c31af7Sopenharmony_ci 2527e5c31af7Sopenharmony_ci uniform UniformBlock 2528e5c31af7Sopenharmony_ci { 2529e5c31af7Sopenharmony_ci attribute vec4 uniformMember; 2530e5c31af7Sopenharmony_ci } uniformBlock; 2531e5c31af7Sopenharmony_ci 2532e5c31af7Sopenharmony_ci void main() 2533e5c31af7Sopenharmony_ci { 2534e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember; 2535e5c31af7Sopenharmony_ci } 2536e5c31af7Sopenharmony_ci "" 2537e5c31af7Sopenharmony_ci end 2538e5c31af7Sopenharmony_ci case member_varying_interface_qualifier_vertex 2539e5c31af7Sopenharmony_ci version 300 es 2540e5c31af7Sopenharmony_ci expect compile_fail 2541e5c31af7Sopenharmony_ci 2542e5c31af7Sopenharmony_ci vertex "" 2543e5c31af7Sopenharmony_ci #version 300 es 2544e5c31af7Sopenharmony_ci precision highp float; 2545e5c31af7Sopenharmony_ci 2546e5c31af7Sopenharmony_ci 2547e5c31af7Sopenharmony_ci 2548e5c31af7Sopenharmony_ci uniform UniformBlock 2549e5c31af7Sopenharmony_ci { 2550e5c31af7Sopenharmony_ci varying vec4 uniformMember; 2551e5c31af7Sopenharmony_ci } uniformBlock; 2552e5c31af7Sopenharmony_ci 2553e5c31af7Sopenharmony_ci void main() 2554e5c31af7Sopenharmony_ci { 2555e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember; 2556e5c31af7Sopenharmony_ci } 2557e5c31af7Sopenharmony_ci "" 2558e5c31af7Sopenharmony_ci 2559e5c31af7Sopenharmony_ci fragment "" 2560e5c31af7Sopenharmony_ci #version 300 es 2561e5c31af7Sopenharmony_ci precision highp float; 2562e5c31af7Sopenharmony_ci 2563e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 2564e5c31af7Sopenharmony_ci 2565e5c31af7Sopenharmony_ci void main() 2566e5c31af7Sopenharmony_ci { 2567e5c31af7Sopenharmony_ci o_color = vec4(1.0); 2568e5c31af7Sopenharmony_ci } 2569e5c31af7Sopenharmony_ci "" 2570e5c31af7Sopenharmony_ci end 2571e5c31af7Sopenharmony_ci case member_varying_interface_qualifier_fragment 2572e5c31af7Sopenharmony_ci version 300 es 2573e5c31af7Sopenharmony_ci expect compile_fail 2574e5c31af7Sopenharmony_ci 2575e5c31af7Sopenharmony_ci vertex "" 2576e5c31af7Sopenharmony_ci #version 300 es 2577e5c31af7Sopenharmony_ci precision highp float; 2578e5c31af7Sopenharmony_ci 2579e5c31af7Sopenharmony_ci in vec4 a_pos; 2580e5c31af7Sopenharmony_ci 2581e5c31af7Sopenharmony_ci void main() 2582e5c31af7Sopenharmony_ci { 2583e5c31af7Sopenharmony_ci gl_Position = a_pos; 2584e5c31af7Sopenharmony_ci } 2585e5c31af7Sopenharmony_ci "" 2586e5c31af7Sopenharmony_ci 2587e5c31af7Sopenharmony_ci fragment "" 2588e5c31af7Sopenharmony_ci #version 300 es 2589e5c31af7Sopenharmony_ci precision highp float; 2590e5c31af7Sopenharmony_ci 2591e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 2592e5c31af7Sopenharmony_ci 2593e5c31af7Sopenharmony_ci uniform UniformBlock 2594e5c31af7Sopenharmony_ci { 2595e5c31af7Sopenharmony_ci varying vec4 uniformMember; 2596e5c31af7Sopenharmony_ci } uniformBlock; 2597e5c31af7Sopenharmony_ci 2598e5c31af7Sopenharmony_ci void main() 2599e5c31af7Sopenharmony_ci { 2600e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember; 2601e5c31af7Sopenharmony_ci } 2602e5c31af7Sopenharmony_ci "" 2603e5c31af7Sopenharmony_ci end 2604e5c31af7Sopenharmony_ci case conflicting_instance_names_vertex 2605e5c31af7Sopenharmony_ci version 300 es 2606e5c31af7Sopenharmony_ci expect compile_fail 2607e5c31af7Sopenharmony_ci 2608e5c31af7Sopenharmony_ci vertex "" 2609e5c31af7Sopenharmony_ci #version 300 es 2610e5c31af7Sopenharmony_ci precision highp float; 2611e5c31af7Sopenharmony_ci 2612e5c31af7Sopenharmony_ci 2613e5c31af7Sopenharmony_ci 2614e5c31af7Sopenharmony_ci uniform UniformBlockA 2615e5c31af7Sopenharmony_ci { 2616e5c31af7Sopenharmony_ci vec4 uniformMember; 2617e5c31af7Sopenharmony_ci } uniformBlock; 2618e5c31af7Sopenharmony_ci 2619e5c31af7Sopenharmony_ci uniform UniformBlockB 2620e5c31af7Sopenharmony_ci { 2621e5c31af7Sopenharmony_ci vec4 uniformMember; 2622e5c31af7Sopenharmony_ci } uniformBlock; 2623e5c31af7Sopenharmony_ci 2624e5c31af7Sopenharmony_ci void main() 2625e5c31af7Sopenharmony_ci { 2626e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember; 2627e5c31af7Sopenharmony_ci } 2628e5c31af7Sopenharmony_ci "" 2629e5c31af7Sopenharmony_ci 2630e5c31af7Sopenharmony_ci fragment "" 2631e5c31af7Sopenharmony_ci #version 300 es 2632e5c31af7Sopenharmony_ci precision highp float; 2633e5c31af7Sopenharmony_ci 2634e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 2635e5c31af7Sopenharmony_ci 2636e5c31af7Sopenharmony_ci void main() 2637e5c31af7Sopenharmony_ci { 2638e5c31af7Sopenharmony_ci o_color = vec4(1.0); 2639e5c31af7Sopenharmony_ci } 2640e5c31af7Sopenharmony_ci "" 2641e5c31af7Sopenharmony_ci end 2642e5c31af7Sopenharmony_ci case conflicting_instance_names_fragment 2643e5c31af7Sopenharmony_ci version 300 es 2644e5c31af7Sopenharmony_ci expect compile_fail 2645e5c31af7Sopenharmony_ci 2646e5c31af7Sopenharmony_ci vertex "" 2647e5c31af7Sopenharmony_ci #version 300 es 2648e5c31af7Sopenharmony_ci precision highp float; 2649e5c31af7Sopenharmony_ci 2650e5c31af7Sopenharmony_ci in vec4 a_pos; 2651e5c31af7Sopenharmony_ci 2652e5c31af7Sopenharmony_ci void main() 2653e5c31af7Sopenharmony_ci { 2654e5c31af7Sopenharmony_ci gl_Position = a_pos; 2655e5c31af7Sopenharmony_ci } 2656e5c31af7Sopenharmony_ci "" 2657e5c31af7Sopenharmony_ci 2658e5c31af7Sopenharmony_ci fragment "" 2659e5c31af7Sopenharmony_ci #version 300 es 2660e5c31af7Sopenharmony_ci precision highp float; 2661e5c31af7Sopenharmony_ci 2662e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 2663e5c31af7Sopenharmony_ci 2664e5c31af7Sopenharmony_ci uniform UniformBlockA 2665e5c31af7Sopenharmony_ci { 2666e5c31af7Sopenharmony_ci vec4 uniformMember; 2667e5c31af7Sopenharmony_ci } uniformBlock; 2668e5c31af7Sopenharmony_ci 2669e5c31af7Sopenharmony_ci uniform UniformBlockB 2670e5c31af7Sopenharmony_ci { 2671e5c31af7Sopenharmony_ci vec4 uniformMember; 2672e5c31af7Sopenharmony_ci } uniformBlock; 2673e5c31af7Sopenharmony_ci 2674e5c31af7Sopenharmony_ci void main() 2675e5c31af7Sopenharmony_ci { 2676e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember; 2677e5c31af7Sopenharmony_ci } 2678e5c31af7Sopenharmony_ci "" 2679e5c31af7Sopenharmony_ci end 2680e5c31af7Sopenharmony_ci case conflicting_function_and_instance_name_vertex 2681e5c31af7Sopenharmony_ci version 300 es 2682e5c31af7Sopenharmony_ci expect compile_fail 2683e5c31af7Sopenharmony_ci 2684e5c31af7Sopenharmony_ci vertex "" 2685e5c31af7Sopenharmony_ci #version 300 es 2686e5c31af7Sopenharmony_ci precision highp float; 2687e5c31af7Sopenharmony_ci 2688e5c31af7Sopenharmony_ci 2689e5c31af7Sopenharmony_ci 2690e5c31af7Sopenharmony_ci uniform UniformBlock 2691e5c31af7Sopenharmony_ci { 2692e5c31af7Sopenharmony_ci vec4 uniformMember; 2693e5c31af7Sopenharmony_ci } uniformBlock; 2694e5c31af7Sopenharmony_ci 2695e5c31af7Sopenharmony_ci float uniformBlock (float x) 2696e5c31af7Sopenharmony_ci { 2697e5c31af7Sopenharmony_ci return x; 2698e5c31af7Sopenharmony_ci } 2699e5c31af7Sopenharmony_ci 2700e5c31af7Sopenharmony_ci void main() 2701e5c31af7Sopenharmony_ci { 2702e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember; 2703e5c31af7Sopenharmony_ci } 2704e5c31af7Sopenharmony_ci "" 2705e5c31af7Sopenharmony_ci 2706e5c31af7Sopenharmony_ci fragment "" 2707e5c31af7Sopenharmony_ci #version 300 es 2708e5c31af7Sopenharmony_ci precision highp float; 2709e5c31af7Sopenharmony_ci 2710e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 2711e5c31af7Sopenharmony_ci 2712e5c31af7Sopenharmony_ci void main() 2713e5c31af7Sopenharmony_ci { 2714e5c31af7Sopenharmony_ci o_color = vec4(1.0); 2715e5c31af7Sopenharmony_ci } 2716e5c31af7Sopenharmony_ci "" 2717e5c31af7Sopenharmony_ci end 2718e5c31af7Sopenharmony_ci case conflicting_function_and_instance_name_fragment 2719e5c31af7Sopenharmony_ci version 300 es 2720e5c31af7Sopenharmony_ci expect compile_fail 2721e5c31af7Sopenharmony_ci 2722e5c31af7Sopenharmony_ci vertex "" 2723e5c31af7Sopenharmony_ci #version 300 es 2724e5c31af7Sopenharmony_ci precision highp float; 2725e5c31af7Sopenharmony_ci 2726e5c31af7Sopenharmony_ci in vec4 a_pos; 2727e5c31af7Sopenharmony_ci 2728e5c31af7Sopenharmony_ci void main() 2729e5c31af7Sopenharmony_ci { 2730e5c31af7Sopenharmony_ci gl_Position = a_pos; 2731e5c31af7Sopenharmony_ci } 2732e5c31af7Sopenharmony_ci "" 2733e5c31af7Sopenharmony_ci 2734e5c31af7Sopenharmony_ci fragment "" 2735e5c31af7Sopenharmony_ci #version 300 es 2736e5c31af7Sopenharmony_ci precision highp float; 2737e5c31af7Sopenharmony_ci 2738e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 2739e5c31af7Sopenharmony_ci 2740e5c31af7Sopenharmony_ci uniform UniformBlock 2741e5c31af7Sopenharmony_ci { 2742e5c31af7Sopenharmony_ci vec4 uniformMember; 2743e5c31af7Sopenharmony_ci } uniformBlock; 2744e5c31af7Sopenharmony_ci 2745e5c31af7Sopenharmony_ci float uniformBlock (float x) 2746e5c31af7Sopenharmony_ci { 2747e5c31af7Sopenharmony_ci return x; 2748e5c31af7Sopenharmony_ci } 2749e5c31af7Sopenharmony_ci 2750e5c31af7Sopenharmony_ci void main() 2751e5c31af7Sopenharmony_ci { 2752e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember; 2753e5c31af7Sopenharmony_ci } 2754e5c31af7Sopenharmony_ci "" 2755e5c31af7Sopenharmony_ci end 2756e5c31af7Sopenharmony_ci case conflicting_function_and_block_name_vertex 2757e5c31af7Sopenharmony_ci version 300 es 2758e5c31af7Sopenharmony_ci expect compile_fail 2759e5c31af7Sopenharmony_ci 2760e5c31af7Sopenharmony_ci vertex "" 2761e5c31af7Sopenharmony_ci #version 300 es 2762e5c31af7Sopenharmony_ci precision highp float; 2763e5c31af7Sopenharmony_ci 2764e5c31af7Sopenharmony_ci 2765e5c31af7Sopenharmony_ci 2766e5c31af7Sopenharmony_ci uniform UniformBlock 2767e5c31af7Sopenharmony_ci { 2768e5c31af7Sopenharmony_ci vec4 uniformMember; 2769e5c31af7Sopenharmony_ci } uniformBlock; 2770e5c31af7Sopenharmony_ci 2771e5c31af7Sopenharmony_ci float UniformBlock (float x) 2772e5c31af7Sopenharmony_ci { 2773e5c31af7Sopenharmony_ci return x; 2774e5c31af7Sopenharmony_ci } 2775e5c31af7Sopenharmony_ci 2776e5c31af7Sopenharmony_ci void main() 2777e5c31af7Sopenharmony_ci { 2778e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember; 2779e5c31af7Sopenharmony_ci } 2780e5c31af7Sopenharmony_ci "" 2781e5c31af7Sopenharmony_ci 2782e5c31af7Sopenharmony_ci fragment "" 2783e5c31af7Sopenharmony_ci #version 300 es 2784e5c31af7Sopenharmony_ci precision highp float; 2785e5c31af7Sopenharmony_ci 2786e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 2787e5c31af7Sopenharmony_ci 2788e5c31af7Sopenharmony_ci void main() 2789e5c31af7Sopenharmony_ci { 2790e5c31af7Sopenharmony_ci o_color = vec4(1.0); 2791e5c31af7Sopenharmony_ci } 2792e5c31af7Sopenharmony_ci "" 2793e5c31af7Sopenharmony_ci end 2794e5c31af7Sopenharmony_ci case conflicting_function_and_block_name_fragment 2795e5c31af7Sopenharmony_ci version 300 es 2796e5c31af7Sopenharmony_ci expect compile_fail 2797e5c31af7Sopenharmony_ci 2798e5c31af7Sopenharmony_ci vertex "" 2799e5c31af7Sopenharmony_ci #version 300 es 2800e5c31af7Sopenharmony_ci precision highp float; 2801e5c31af7Sopenharmony_ci 2802e5c31af7Sopenharmony_ci in vec4 a_pos; 2803e5c31af7Sopenharmony_ci 2804e5c31af7Sopenharmony_ci void main() 2805e5c31af7Sopenharmony_ci { 2806e5c31af7Sopenharmony_ci gl_Position = a_pos; 2807e5c31af7Sopenharmony_ci } 2808e5c31af7Sopenharmony_ci "" 2809e5c31af7Sopenharmony_ci 2810e5c31af7Sopenharmony_ci fragment "" 2811e5c31af7Sopenharmony_ci #version 300 es 2812e5c31af7Sopenharmony_ci precision highp float; 2813e5c31af7Sopenharmony_ci 2814e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 2815e5c31af7Sopenharmony_ci 2816e5c31af7Sopenharmony_ci uniform UniformBlock 2817e5c31af7Sopenharmony_ci { 2818e5c31af7Sopenharmony_ci vec4 uniformMember; 2819e5c31af7Sopenharmony_ci } uniformBlock; 2820e5c31af7Sopenharmony_ci 2821e5c31af7Sopenharmony_ci float UniformBlock (float x) 2822e5c31af7Sopenharmony_ci { 2823e5c31af7Sopenharmony_ci return x; 2824e5c31af7Sopenharmony_ci } 2825e5c31af7Sopenharmony_ci 2826e5c31af7Sopenharmony_ci void main() 2827e5c31af7Sopenharmony_ci { 2828e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember; 2829e5c31af7Sopenharmony_ci } 2830e5c31af7Sopenharmony_ci "" 2831e5c31af7Sopenharmony_ci end 2832e5c31af7Sopenharmony_ci case conflicting_uniform_and_instance_name_vertex 2833e5c31af7Sopenharmony_ci version 300 es 2834e5c31af7Sopenharmony_ci expect compile_fail 2835e5c31af7Sopenharmony_ci 2836e5c31af7Sopenharmony_ci vertex "" 2837e5c31af7Sopenharmony_ci #version 300 es 2838e5c31af7Sopenharmony_ci precision highp float; 2839e5c31af7Sopenharmony_ci 2840e5c31af7Sopenharmony_ci 2841e5c31af7Sopenharmony_ci 2842e5c31af7Sopenharmony_ci uniform UniformBlock 2843e5c31af7Sopenharmony_ci { 2844e5c31af7Sopenharmony_ci vec4 uniformMember; 2845e5c31af7Sopenharmony_ci } uniformBlock; 2846e5c31af7Sopenharmony_ci 2847e5c31af7Sopenharmony_ci uniform vec4 uniformBlock; 2848e5c31af7Sopenharmony_ci 2849e5c31af7Sopenharmony_ci void main() 2850e5c31af7Sopenharmony_ci { 2851e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember; 2852e5c31af7Sopenharmony_ci } 2853e5c31af7Sopenharmony_ci "" 2854e5c31af7Sopenharmony_ci 2855e5c31af7Sopenharmony_ci fragment "" 2856e5c31af7Sopenharmony_ci #version 300 es 2857e5c31af7Sopenharmony_ci precision highp float; 2858e5c31af7Sopenharmony_ci 2859e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 2860e5c31af7Sopenharmony_ci 2861e5c31af7Sopenharmony_ci void main() 2862e5c31af7Sopenharmony_ci { 2863e5c31af7Sopenharmony_ci o_color = vec4(1.0); 2864e5c31af7Sopenharmony_ci } 2865e5c31af7Sopenharmony_ci "" 2866e5c31af7Sopenharmony_ci end 2867e5c31af7Sopenharmony_ci case conflicting_uniform_and_instance_name_fragment 2868e5c31af7Sopenharmony_ci version 300 es 2869e5c31af7Sopenharmony_ci expect compile_fail 2870e5c31af7Sopenharmony_ci 2871e5c31af7Sopenharmony_ci vertex "" 2872e5c31af7Sopenharmony_ci #version 300 es 2873e5c31af7Sopenharmony_ci precision highp float; 2874e5c31af7Sopenharmony_ci 2875e5c31af7Sopenharmony_ci in vec4 a_pos; 2876e5c31af7Sopenharmony_ci 2877e5c31af7Sopenharmony_ci void main() 2878e5c31af7Sopenharmony_ci { 2879e5c31af7Sopenharmony_ci gl_Position = a_pos; 2880e5c31af7Sopenharmony_ci } 2881e5c31af7Sopenharmony_ci "" 2882e5c31af7Sopenharmony_ci 2883e5c31af7Sopenharmony_ci fragment "" 2884e5c31af7Sopenharmony_ci #version 300 es 2885e5c31af7Sopenharmony_ci precision highp float; 2886e5c31af7Sopenharmony_ci 2887e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 2888e5c31af7Sopenharmony_ci 2889e5c31af7Sopenharmony_ci uniform UniformBlock 2890e5c31af7Sopenharmony_ci { 2891e5c31af7Sopenharmony_ci vec4 uniformMember; 2892e5c31af7Sopenharmony_ci } uniformBlock; 2893e5c31af7Sopenharmony_ci 2894e5c31af7Sopenharmony_ci uniform vec4 uniformBlock; 2895e5c31af7Sopenharmony_ci 2896e5c31af7Sopenharmony_ci void main() 2897e5c31af7Sopenharmony_ci { 2898e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember; 2899e5c31af7Sopenharmony_ci } 2900e5c31af7Sopenharmony_ci "" 2901e5c31af7Sopenharmony_ci end 2902e5c31af7Sopenharmony_ci case conflicting_in_and_instance_name_vertex 2903e5c31af7Sopenharmony_ci version 300 es 2904e5c31af7Sopenharmony_ci expect compile_fail 2905e5c31af7Sopenharmony_ci 2906e5c31af7Sopenharmony_ci vertex "" 2907e5c31af7Sopenharmony_ci #version 300 es 2908e5c31af7Sopenharmony_ci precision highp float; 2909e5c31af7Sopenharmony_ci 2910e5c31af7Sopenharmony_ci 2911e5c31af7Sopenharmony_ci 2912e5c31af7Sopenharmony_ci uniform UniformBlock 2913e5c31af7Sopenharmony_ci { 2914e5c31af7Sopenharmony_ci vec4 uniformMember; 2915e5c31af7Sopenharmony_ci } uniformBlock; 2916e5c31af7Sopenharmony_ci 2917e5c31af7Sopenharmony_ci in vec4 uniformBlock; 2918e5c31af7Sopenharmony_ci 2919e5c31af7Sopenharmony_ci void main() 2920e5c31af7Sopenharmony_ci { 2921e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember; 2922e5c31af7Sopenharmony_ci } 2923e5c31af7Sopenharmony_ci "" 2924e5c31af7Sopenharmony_ci 2925e5c31af7Sopenharmony_ci fragment "" 2926e5c31af7Sopenharmony_ci #version 300 es 2927e5c31af7Sopenharmony_ci precision highp float; 2928e5c31af7Sopenharmony_ci 2929e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 2930e5c31af7Sopenharmony_ci 2931e5c31af7Sopenharmony_ci void main() 2932e5c31af7Sopenharmony_ci { 2933e5c31af7Sopenharmony_ci o_color = vec4(1.0); 2934e5c31af7Sopenharmony_ci } 2935e5c31af7Sopenharmony_ci "" 2936e5c31af7Sopenharmony_ci end 2937e5c31af7Sopenharmony_ci case conflicting_in_and_instance_name_fragment 2938e5c31af7Sopenharmony_ci version 300 es 2939e5c31af7Sopenharmony_ci expect compile_fail 2940e5c31af7Sopenharmony_ci 2941e5c31af7Sopenharmony_ci vertex "" 2942e5c31af7Sopenharmony_ci #version 300 es 2943e5c31af7Sopenharmony_ci precision highp float; 2944e5c31af7Sopenharmony_ci 2945e5c31af7Sopenharmony_ci in vec4 a_pos; 2946e5c31af7Sopenharmony_ci 2947e5c31af7Sopenharmony_ci void main() 2948e5c31af7Sopenharmony_ci { 2949e5c31af7Sopenharmony_ci gl_Position = a_pos; 2950e5c31af7Sopenharmony_ci } 2951e5c31af7Sopenharmony_ci "" 2952e5c31af7Sopenharmony_ci 2953e5c31af7Sopenharmony_ci fragment "" 2954e5c31af7Sopenharmony_ci #version 300 es 2955e5c31af7Sopenharmony_ci precision highp float; 2956e5c31af7Sopenharmony_ci 2957e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 2958e5c31af7Sopenharmony_ci 2959e5c31af7Sopenharmony_ci uniform UniformBlock 2960e5c31af7Sopenharmony_ci { 2961e5c31af7Sopenharmony_ci vec4 uniformMember; 2962e5c31af7Sopenharmony_ci } uniformBlock; 2963e5c31af7Sopenharmony_ci 2964e5c31af7Sopenharmony_ci in vec4 uniformBlock; 2965e5c31af7Sopenharmony_ci 2966e5c31af7Sopenharmony_ci void main() 2967e5c31af7Sopenharmony_ci { 2968e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember; 2969e5c31af7Sopenharmony_ci } 2970e5c31af7Sopenharmony_ci "" 2971e5c31af7Sopenharmony_ci end 2972e5c31af7Sopenharmony_ci case conflicting_out_and_instance_name_vertex 2973e5c31af7Sopenharmony_ci version 300 es 2974e5c31af7Sopenharmony_ci expect compile_fail 2975e5c31af7Sopenharmony_ci 2976e5c31af7Sopenharmony_ci vertex "" 2977e5c31af7Sopenharmony_ci #version 300 es 2978e5c31af7Sopenharmony_ci precision highp float; 2979e5c31af7Sopenharmony_ci 2980e5c31af7Sopenharmony_ci 2981e5c31af7Sopenharmony_ci 2982e5c31af7Sopenharmony_ci uniform UniformBlock 2983e5c31af7Sopenharmony_ci { 2984e5c31af7Sopenharmony_ci vec4 uniformMember; 2985e5c31af7Sopenharmony_ci } uniformBlock; 2986e5c31af7Sopenharmony_ci 2987e5c31af7Sopenharmony_ci out vec4 uniformBlock; 2988e5c31af7Sopenharmony_ci 2989e5c31af7Sopenharmony_ci void main() 2990e5c31af7Sopenharmony_ci { 2991e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember; 2992e5c31af7Sopenharmony_ci } 2993e5c31af7Sopenharmony_ci "" 2994e5c31af7Sopenharmony_ci 2995e5c31af7Sopenharmony_ci fragment "" 2996e5c31af7Sopenharmony_ci #version 300 es 2997e5c31af7Sopenharmony_ci precision highp float; 2998e5c31af7Sopenharmony_ci 2999e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 3000e5c31af7Sopenharmony_ci 3001e5c31af7Sopenharmony_ci void main() 3002e5c31af7Sopenharmony_ci { 3003e5c31af7Sopenharmony_ci o_color = vec4(1.0); 3004e5c31af7Sopenharmony_ci } 3005e5c31af7Sopenharmony_ci "" 3006e5c31af7Sopenharmony_ci end 3007e5c31af7Sopenharmony_ci case conflicting_out_and_instance_name_fragment 3008e5c31af7Sopenharmony_ci version 300 es 3009e5c31af7Sopenharmony_ci expect compile_fail 3010e5c31af7Sopenharmony_ci 3011e5c31af7Sopenharmony_ci vertex "" 3012e5c31af7Sopenharmony_ci #version 300 es 3013e5c31af7Sopenharmony_ci precision highp float; 3014e5c31af7Sopenharmony_ci 3015e5c31af7Sopenharmony_ci in vec4 a_pos; 3016e5c31af7Sopenharmony_ci 3017e5c31af7Sopenharmony_ci void main() 3018e5c31af7Sopenharmony_ci { 3019e5c31af7Sopenharmony_ci gl_Position = a_pos; 3020e5c31af7Sopenharmony_ci } 3021e5c31af7Sopenharmony_ci "" 3022e5c31af7Sopenharmony_ci 3023e5c31af7Sopenharmony_ci fragment "" 3024e5c31af7Sopenharmony_ci #version 300 es 3025e5c31af7Sopenharmony_ci precision highp float; 3026e5c31af7Sopenharmony_ci 3027e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 3028e5c31af7Sopenharmony_ci 3029e5c31af7Sopenharmony_ci uniform UniformBlock 3030e5c31af7Sopenharmony_ci { 3031e5c31af7Sopenharmony_ci vec4 uniformMember; 3032e5c31af7Sopenharmony_ci } uniformBlock; 3033e5c31af7Sopenharmony_ci 3034e5c31af7Sopenharmony_ci out vec4 uniformBlock; 3035e5c31af7Sopenharmony_ci 3036e5c31af7Sopenharmony_ci void main() 3037e5c31af7Sopenharmony_ci { 3038e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember; 3039e5c31af7Sopenharmony_ci } 3040e5c31af7Sopenharmony_ci "" 3041e5c31af7Sopenharmony_ci end 3042e5c31af7Sopenharmony_ci case conflicting_uniform_and_block_name_vertex 3043e5c31af7Sopenharmony_ci version 300 es 3044e5c31af7Sopenharmony_ci expect compile_fail 3045e5c31af7Sopenharmony_ci 3046e5c31af7Sopenharmony_ci vertex "" 3047e5c31af7Sopenharmony_ci #version 300 es 3048e5c31af7Sopenharmony_ci precision highp float; 3049e5c31af7Sopenharmony_ci 3050e5c31af7Sopenharmony_ci 3051e5c31af7Sopenharmony_ci 3052e5c31af7Sopenharmony_ci uniform UniformBlock 3053e5c31af7Sopenharmony_ci { 3054e5c31af7Sopenharmony_ci vec4 uniformMember; 3055e5c31af7Sopenharmony_ci } uniformBlock; 3056e5c31af7Sopenharmony_ci 3057e5c31af7Sopenharmony_ci uniform vec4 UniformBlock; 3058e5c31af7Sopenharmony_ci 3059e5c31af7Sopenharmony_ci void main() 3060e5c31af7Sopenharmony_ci { 3061e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember; 3062e5c31af7Sopenharmony_ci } 3063e5c31af7Sopenharmony_ci "" 3064e5c31af7Sopenharmony_ci 3065e5c31af7Sopenharmony_ci fragment "" 3066e5c31af7Sopenharmony_ci #version 300 es 3067e5c31af7Sopenharmony_ci precision highp float; 3068e5c31af7Sopenharmony_ci 3069e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 3070e5c31af7Sopenharmony_ci 3071e5c31af7Sopenharmony_ci void main() 3072e5c31af7Sopenharmony_ci { 3073e5c31af7Sopenharmony_ci o_color = vec4(1.0); 3074e5c31af7Sopenharmony_ci } 3075e5c31af7Sopenharmony_ci "" 3076e5c31af7Sopenharmony_ci end 3077e5c31af7Sopenharmony_ci case conflicting_uniform_and_block_name_fragment 3078e5c31af7Sopenharmony_ci version 300 es 3079e5c31af7Sopenharmony_ci expect compile_fail 3080e5c31af7Sopenharmony_ci 3081e5c31af7Sopenharmony_ci vertex "" 3082e5c31af7Sopenharmony_ci #version 300 es 3083e5c31af7Sopenharmony_ci precision highp float; 3084e5c31af7Sopenharmony_ci 3085e5c31af7Sopenharmony_ci in vec4 a_pos; 3086e5c31af7Sopenharmony_ci 3087e5c31af7Sopenharmony_ci void main() 3088e5c31af7Sopenharmony_ci { 3089e5c31af7Sopenharmony_ci gl_Position = a_pos; 3090e5c31af7Sopenharmony_ci } 3091e5c31af7Sopenharmony_ci "" 3092e5c31af7Sopenharmony_ci 3093e5c31af7Sopenharmony_ci fragment "" 3094e5c31af7Sopenharmony_ci #version 300 es 3095e5c31af7Sopenharmony_ci precision highp float; 3096e5c31af7Sopenharmony_ci 3097e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 3098e5c31af7Sopenharmony_ci 3099e5c31af7Sopenharmony_ci uniform UniformBlock 3100e5c31af7Sopenharmony_ci { 3101e5c31af7Sopenharmony_ci vec4 uniformMember; 3102e5c31af7Sopenharmony_ci } uniformBlock; 3103e5c31af7Sopenharmony_ci 3104e5c31af7Sopenharmony_ci uniform vec4 UniformBlock; 3105e5c31af7Sopenharmony_ci 3106e5c31af7Sopenharmony_ci void main() 3107e5c31af7Sopenharmony_ci { 3108e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember; 3109e5c31af7Sopenharmony_ci } 3110e5c31af7Sopenharmony_ci "" 3111e5c31af7Sopenharmony_ci end 3112e5c31af7Sopenharmony_ci case conflicting_in_and_block_name_vertex 3113e5c31af7Sopenharmony_ci version 300 es 3114e5c31af7Sopenharmony_ci expect compile_fail 3115e5c31af7Sopenharmony_ci 3116e5c31af7Sopenharmony_ci vertex "" 3117e5c31af7Sopenharmony_ci #version 300 es 3118e5c31af7Sopenharmony_ci precision highp float; 3119e5c31af7Sopenharmony_ci 3120e5c31af7Sopenharmony_ci 3121e5c31af7Sopenharmony_ci 3122e5c31af7Sopenharmony_ci uniform UniformBlock 3123e5c31af7Sopenharmony_ci { 3124e5c31af7Sopenharmony_ci vec4 uniformMember; 3125e5c31af7Sopenharmony_ci } uniformBlock; 3126e5c31af7Sopenharmony_ci 3127e5c31af7Sopenharmony_ci in vec4 UniformBlock; 3128e5c31af7Sopenharmony_ci 3129e5c31af7Sopenharmony_ci void main() 3130e5c31af7Sopenharmony_ci { 3131e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember; 3132e5c31af7Sopenharmony_ci } 3133e5c31af7Sopenharmony_ci "" 3134e5c31af7Sopenharmony_ci 3135e5c31af7Sopenharmony_ci fragment "" 3136e5c31af7Sopenharmony_ci #version 300 es 3137e5c31af7Sopenharmony_ci precision highp float; 3138e5c31af7Sopenharmony_ci 3139e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 3140e5c31af7Sopenharmony_ci 3141e5c31af7Sopenharmony_ci void main() 3142e5c31af7Sopenharmony_ci { 3143e5c31af7Sopenharmony_ci o_color = vec4(1.0); 3144e5c31af7Sopenharmony_ci } 3145e5c31af7Sopenharmony_ci "" 3146e5c31af7Sopenharmony_ci end 3147e5c31af7Sopenharmony_ci case conflicting_in_and_block_name_fragment 3148e5c31af7Sopenharmony_ci version 300 es 3149e5c31af7Sopenharmony_ci expect compile_fail 3150e5c31af7Sopenharmony_ci 3151e5c31af7Sopenharmony_ci vertex "" 3152e5c31af7Sopenharmony_ci #version 300 es 3153e5c31af7Sopenharmony_ci precision highp float; 3154e5c31af7Sopenharmony_ci 3155e5c31af7Sopenharmony_ci in vec4 a_pos; 3156e5c31af7Sopenharmony_ci 3157e5c31af7Sopenharmony_ci void main() 3158e5c31af7Sopenharmony_ci { 3159e5c31af7Sopenharmony_ci gl_Position = a_pos; 3160e5c31af7Sopenharmony_ci } 3161e5c31af7Sopenharmony_ci "" 3162e5c31af7Sopenharmony_ci 3163e5c31af7Sopenharmony_ci fragment "" 3164e5c31af7Sopenharmony_ci #version 300 es 3165e5c31af7Sopenharmony_ci precision highp float; 3166e5c31af7Sopenharmony_ci 3167e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 3168e5c31af7Sopenharmony_ci 3169e5c31af7Sopenharmony_ci uniform UniformBlock 3170e5c31af7Sopenharmony_ci { 3171e5c31af7Sopenharmony_ci vec4 uniformMember; 3172e5c31af7Sopenharmony_ci } uniformBlock; 3173e5c31af7Sopenharmony_ci 3174e5c31af7Sopenharmony_ci in vec4 UniformBlock; 3175e5c31af7Sopenharmony_ci 3176e5c31af7Sopenharmony_ci void main() 3177e5c31af7Sopenharmony_ci { 3178e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember; 3179e5c31af7Sopenharmony_ci } 3180e5c31af7Sopenharmony_ci "" 3181e5c31af7Sopenharmony_ci end 3182e5c31af7Sopenharmony_ci case conflicting_out_and_block_name_vertex 3183e5c31af7Sopenharmony_ci version 300 es 3184e5c31af7Sopenharmony_ci expect compile_fail 3185e5c31af7Sopenharmony_ci 3186e5c31af7Sopenharmony_ci vertex "" 3187e5c31af7Sopenharmony_ci #version 300 es 3188e5c31af7Sopenharmony_ci precision highp float; 3189e5c31af7Sopenharmony_ci 3190e5c31af7Sopenharmony_ci 3191e5c31af7Sopenharmony_ci 3192e5c31af7Sopenharmony_ci uniform UniformBlock 3193e5c31af7Sopenharmony_ci { 3194e5c31af7Sopenharmony_ci vec4 uniformMember; 3195e5c31af7Sopenharmony_ci } uniformBlock; 3196e5c31af7Sopenharmony_ci 3197e5c31af7Sopenharmony_ci out vec4 UniformBlock; 3198e5c31af7Sopenharmony_ci 3199e5c31af7Sopenharmony_ci void main() 3200e5c31af7Sopenharmony_ci { 3201e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember; 3202e5c31af7Sopenharmony_ci } 3203e5c31af7Sopenharmony_ci "" 3204e5c31af7Sopenharmony_ci 3205e5c31af7Sopenharmony_ci fragment "" 3206e5c31af7Sopenharmony_ci #version 300 es 3207e5c31af7Sopenharmony_ci precision highp float; 3208e5c31af7Sopenharmony_ci 3209e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 3210e5c31af7Sopenharmony_ci 3211e5c31af7Sopenharmony_ci void main() 3212e5c31af7Sopenharmony_ci { 3213e5c31af7Sopenharmony_ci o_color = vec4(1.0); 3214e5c31af7Sopenharmony_ci } 3215e5c31af7Sopenharmony_ci "" 3216e5c31af7Sopenharmony_ci end 3217e5c31af7Sopenharmony_ci case conflicting_out_and_block_name_fragment 3218e5c31af7Sopenharmony_ci version 300 es 3219e5c31af7Sopenharmony_ci expect compile_fail 3220e5c31af7Sopenharmony_ci 3221e5c31af7Sopenharmony_ci vertex "" 3222e5c31af7Sopenharmony_ci #version 300 es 3223e5c31af7Sopenharmony_ci precision highp float; 3224e5c31af7Sopenharmony_ci 3225e5c31af7Sopenharmony_ci in vec4 a_pos; 3226e5c31af7Sopenharmony_ci 3227e5c31af7Sopenharmony_ci void main() 3228e5c31af7Sopenharmony_ci { 3229e5c31af7Sopenharmony_ci gl_Position = a_pos; 3230e5c31af7Sopenharmony_ci } 3231e5c31af7Sopenharmony_ci "" 3232e5c31af7Sopenharmony_ci 3233e5c31af7Sopenharmony_ci fragment "" 3234e5c31af7Sopenharmony_ci #version 300 es 3235e5c31af7Sopenharmony_ci precision highp float; 3236e5c31af7Sopenharmony_ci 3237e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 3238e5c31af7Sopenharmony_ci 3239e5c31af7Sopenharmony_ci uniform UniformBlock 3240e5c31af7Sopenharmony_ci { 3241e5c31af7Sopenharmony_ci vec4 uniformMember; 3242e5c31af7Sopenharmony_ci } uniformBlock; 3243e5c31af7Sopenharmony_ci 3244e5c31af7Sopenharmony_ci out vec4 UniformBlock; 3245e5c31af7Sopenharmony_ci 3246e5c31af7Sopenharmony_ci void main() 3247e5c31af7Sopenharmony_ci { 3248e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember; 3249e5c31af7Sopenharmony_ci } 3250e5c31af7Sopenharmony_ci "" 3251e5c31af7Sopenharmony_ci end 3252e5c31af7Sopenharmony_ci case matching_instance_and_block_name_vertex 3253e5c31af7Sopenharmony_ci version 300 es 3254e5c31af7Sopenharmony_ci expect compile_fail 3255e5c31af7Sopenharmony_ci 3256e5c31af7Sopenharmony_ci vertex "" 3257e5c31af7Sopenharmony_ci #version 300 es 3258e5c31af7Sopenharmony_ci precision highp float; 3259e5c31af7Sopenharmony_ci 3260e5c31af7Sopenharmony_ci 3261e5c31af7Sopenharmony_ci 3262e5c31af7Sopenharmony_ci uniform UniformBlock 3263e5c31af7Sopenharmony_ci { 3264e5c31af7Sopenharmony_ci vec4 uniformMember; 3265e5c31af7Sopenharmony_ci } UniformBlock; 3266e5c31af7Sopenharmony_ci 3267e5c31af7Sopenharmony_ci void main() 3268e5c31af7Sopenharmony_ci { 3269e5c31af7Sopenharmony_ci gl_Position = UniformBlock.uniformMember; 3270e5c31af7Sopenharmony_ci } 3271e5c31af7Sopenharmony_ci "" 3272e5c31af7Sopenharmony_ci 3273e5c31af7Sopenharmony_ci fragment "" 3274e5c31af7Sopenharmony_ci #version 300 es 3275e5c31af7Sopenharmony_ci precision highp float; 3276e5c31af7Sopenharmony_ci 3277e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 3278e5c31af7Sopenharmony_ci 3279e5c31af7Sopenharmony_ci void main() 3280e5c31af7Sopenharmony_ci { 3281e5c31af7Sopenharmony_ci o_color = vec4(1.0); 3282e5c31af7Sopenharmony_ci } 3283e5c31af7Sopenharmony_ci "" 3284e5c31af7Sopenharmony_ci end 3285e5c31af7Sopenharmony_ci case matching_instance_and_block_name_fragment 3286e5c31af7Sopenharmony_ci version 300 es 3287e5c31af7Sopenharmony_ci expect compile_fail 3288e5c31af7Sopenharmony_ci 3289e5c31af7Sopenharmony_ci vertex "" 3290e5c31af7Sopenharmony_ci #version 300 es 3291e5c31af7Sopenharmony_ci precision highp float; 3292e5c31af7Sopenharmony_ci 3293e5c31af7Sopenharmony_ci in vec4 a_pos; 3294e5c31af7Sopenharmony_ci 3295e5c31af7Sopenharmony_ci void main() 3296e5c31af7Sopenharmony_ci { 3297e5c31af7Sopenharmony_ci gl_Position = a_pos; 3298e5c31af7Sopenharmony_ci } 3299e5c31af7Sopenharmony_ci "" 3300e5c31af7Sopenharmony_ci 3301e5c31af7Sopenharmony_ci fragment "" 3302e5c31af7Sopenharmony_ci #version 300 es 3303e5c31af7Sopenharmony_ci precision highp float; 3304e5c31af7Sopenharmony_ci 3305e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 3306e5c31af7Sopenharmony_ci 3307e5c31af7Sopenharmony_ci uniform UniformBlock 3308e5c31af7Sopenharmony_ci { 3309e5c31af7Sopenharmony_ci vec4 uniformMember; 3310e5c31af7Sopenharmony_ci } UniformBlock; 3311e5c31af7Sopenharmony_ci 3312e5c31af7Sopenharmony_ci void main() 3313e5c31af7Sopenharmony_ci { 3314e5c31af7Sopenharmony_ci o_color = UniformBlock.uniformMember; 3315e5c31af7Sopenharmony_ci } 3316e5c31af7Sopenharmony_ci "" 3317e5c31af7Sopenharmony_ci end 3318e5c31af7Sopenharmony_ci case reference_using_block_name_vertex 3319e5c31af7Sopenharmony_ci version 300 es 3320e5c31af7Sopenharmony_ci expect compile_fail 3321e5c31af7Sopenharmony_ci 3322e5c31af7Sopenharmony_ci vertex "" 3323e5c31af7Sopenharmony_ci #version 300 es 3324e5c31af7Sopenharmony_ci precision highp float; 3325e5c31af7Sopenharmony_ci 3326e5c31af7Sopenharmony_ci 3327e5c31af7Sopenharmony_ci 3328e5c31af7Sopenharmony_ci uniform UniformBlock 3329e5c31af7Sopenharmony_ci { 3330e5c31af7Sopenharmony_ci vec4 uniformMember; 3331e5c31af7Sopenharmony_ci } uniformBlock; 3332e5c31af7Sopenharmony_ci 3333e5c31af7Sopenharmony_ci void main() 3334e5c31af7Sopenharmony_ci { 3335e5c31af7Sopenharmony_ci gl_Position = UniformBlock.uniformMember; 3336e5c31af7Sopenharmony_ci } 3337e5c31af7Sopenharmony_ci "" 3338e5c31af7Sopenharmony_ci 3339e5c31af7Sopenharmony_ci fragment "" 3340e5c31af7Sopenharmony_ci #version 300 es 3341e5c31af7Sopenharmony_ci precision highp float; 3342e5c31af7Sopenharmony_ci 3343e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 3344e5c31af7Sopenharmony_ci 3345e5c31af7Sopenharmony_ci void main() 3346e5c31af7Sopenharmony_ci { 3347e5c31af7Sopenharmony_ci o_color = vec4(1.0); 3348e5c31af7Sopenharmony_ci } 3349e5c31af7Sopenharmony_ci "" 3350e5c31af7Sopenharmony_ci end 3351e5c31af7Sopenharmony_ci case reference_using_block_name_fragment 3352e5c31af7Sopenharmony_ci version 300 es 3353e5c31af7Sopenharmony_ci expect compile_fail 3354e5c31af7Sopenharmony_ci 3355e5c31af7Sopenharmony_ci vertex "" 3356e5c31af7Sopenharmony_ci #version 300 es 3357e5c31af7Sopenharmony_ci precision highp float; 3358e5c31af7Sopenharmony_ci 3359e5c31af7Sopenharmony_ci in vec4 a_pos; 3360e5c31af7Sopenharmony_ci 3361e5c31af7Sopenharmony_ci void main() 3362e5c31af7Sopenharmony_ci { 3363e5c31af7Sopenharmony_ci gl_Position = a_pos; 3364e5c31af7Sopenharmony_ci } 3365e5c31af7Sopenharmony_ci "" 3366e5c31af7Sopenharmony_ci 3367e5c31af7Sopenharmony_ci fragment "" 3368e5c31af7Sopenharmony_ci #version 300 es 3369e5c31af7Sopenharmony_ci precision highp float; 3370e5c31af7Sopenharmony_ci 3371e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 3372e5c31af7Sopenharmony_ci 3373e5c31af7Sopenharmony_ci uniform UniformBlock 3374e5c31af7Sopenharmony_ci { 3375e5c31af7Sopenharmony_ci vec4 uniformMember; 3376e5c31af7Sopenharmony_ci } uniformBlock; 3377e5c31af7Sopenharmony_ci 3378e5c31af7Sopenharmony_ci void main() 3379e5c31af7Sopenharmony_ci { 3380e5c31af7Sopenharmony_ci o_color = UniformBlock.uniformMember; 3381e5c31af7Sopenharmony_ci } 3382e5c31af7Sopenharmony_ci "" 3383e5c31af7Sopenharmony_ci end 3384e5c31af7Sopenharmony_ci case empty_block_vertex 3385e5c31af7Sopenharmony_ci version 300 es 3386e5c31af7Sopenharmony_ci expect compile_fail 3387e5c31af7Sopenharmony_ci 3388e5c31af7Sopenharmony_ci vertex "" 3389e5c31af7Sopenharmony_ci #version 300 es 3390e5c31af7Sopenharmony_ci precision highp float; 3391e5c31af7Sopenharmony_ci 3392e5c31af7Sopenharmony_ci 3393e5c31af7Sopenharmony_ci 3394e5c31af7Sopenharmony_ci uniform UniformBlock 3395e5c31af7Sopenharmony_ci { 3396e5c31af7Sopenharmony_ci } uniformBlock; 3397e5c31af7Sopenharmony_ci 3398e5c31af7Sopenharmony_ci void main() 3399e5c31af7Sopenharmony_ci { 3400e5c31af7Sopenharmony_ci gl_Position = vec4(0.0); 3401e5c31af7Sopenharmony_ci } 3402e5c31af7Sopenharmony_ci "" 3403e5c31af7Sopenharmony_ci 3404e5c31af7Sopenharmony_ci fragment "" 3405e5c31af7Sopenharmony_ci #version 300 es 3406e5c31af7Sopenharmony_ci precision highp float; 3407e5c31af7Sopenharmony_ci 3408e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 3409e5c31af7Sopenharmony_ci 3410e5c31af7Sopenharmony_ci void main() 3411e5c31af7Sopenharmony_ci { 3412e5c31af7Sopenharmony_ci o_color = vec4(1.0); 3413e5c31af7Sopenharmony_ci } 3414e5c31af7Sopenharmony_ci "" 3415e5c31af7Sopenharmony_ci end 3416e5c31af7Sopenharmony_ci case empty_block_fragment 3417e5c31af7Sopenharmony_ci version 300 es 3418e5c31af7Sopenharmony_ci expect compile_fail 3419e5c31af7Sopenharmony_ci 3420e5c31af7Sopenharmony_ci vertex "" 3421e5c31af7Sopenharmony_ci #version 300 es 3422e5c31af7Sopenharmony_ci precision highp float; 3423e5c31af7Sopenharmony_ci 3424e5c31af7Sopenharmony_ci in vec4 a_pos; 3425e5c31af7Sopenharmony_ci 3426e5c31af7Sopenharmony_ci void main() 3427e5c31af7Sopenharmony_ci { 3428e5c31af7Sopenharmony_ci gl_Position = a_pos; 3429e5c31af7Sopenharmony_ci } 3430e5c31af7Sopenharmony_ci "" 3431e5c31af7Sopenharmony_ci 3432e5c31af7Sopenharmony_ci fragment "" 3433e5c31af7Sopenharmony_ci #version 300 es 3434e5c31af7Sopenharmony_ci precision highp float; 3435e5c31af7Sopenharmony_ci 3436e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 3437e5c31af7Sopenharmony_ci 3438e5c31af7Sopenharmony_ci uniform UniformBlock 3439e5c31af7Sopenharmony_ci { 3440e5c31af7Sopenharmony_ci } uniformBlock; 3441e5c31af7Sopenharmony_ci 3442e5c31af7Sopenharmony_ci void main() 3443e5c31af7Sopenharmony_ci { 3444e5c31af7Sopenharmony_ci o_color = vec4(0.0); 3445e5c31af7Sopenharmony_ci } 3446e5c31af7Sopenharmony_ci "" 3447e5c31af7Sopenharmony_ci end 3448e5c31af7Sopenharmony_ci case empty_layout_vertex 3449e5c31af7Sopenharmony_ci version 300 es 3450e5c31af7Sopenharmony_ci expect compile_fail 3451e5c31af7Sopenharmony_ci 3452e5c31af7Sopenharmony_ci vertex "" 3453e5c31af7Sopenharmony_ci #version 300 es 3454e5c31af7Sopenharmony_ci precision highp float; 3455e5c31af7Sopenharmony_ci 3456e5c31af7Sopenharmony_ci 3457e5c31af7Sopenharmony_ci 3458e5c31af7Sopenharmony_ci layout() uniform UniformBlock 3459e5c31af7Sopenharmony_ci { 3460e5c31af7Sopenharmony_ci vec4 uniformMember; 3461e5c31af7Sopenharmony_ci } uniformBlock; 3462e5c31af7Sopenharmony_ci 3463e5c31af7Sopenharmony_ci void main() 3464e5c31af7Sopenharmony_ci { 3465e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember; 3466e5c31af7Sopenharmony_ci } 3467e5c31af7Sopenharmony_ci "" 3468e5c31af7Sopenharmony_ci 3469e5c31af7Sopenharmony_ci fragment "" 3470e5c31af7Sopenharmony_ci #version 300 es 3471e5c31af7Sopenharmony_ci precision highp float; 3472e5c31af7Sopenharmony_ci 3473e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 3474e5c31af7Sopenharmony_ci 3475e5c31af7Sopenharmony_ci void main() 3476e5c31af7Sopenharmony_ci { 3477e5c31af7Sopenharmony_ci o_color = vec4(1.0); 3478e5c31af7Sopenharmony_ci } 3479e5c31af7Sopenharmony_ci "" 3480e5c31af7Sopenharmony_ci end 3481e5c31af7Sopenharmony_ci case empty_layout_fragment 3482e5c31af7Sopenharmony_ci version 300 es 3483e5c31af7Sopenharmony_ci expect compile_fail 3484e5c31af7Sopenharmony_ci 3485e5c31af7Sopenharmony_ci vertex "" 3486e5c31af7Sopenharmony_ci #version 300 es 3487e5c31af7Sopenharmony_ci precision highp float; 3488e5c31af7Sopenharmony_ci 3489e5c31af7Sopenharmony_ci in vec4 a_pos; 3490e5c31af7Sopenharmony_ci 3491e5c31af7Sopenharmony_ci void main() 3492e5c31af7Sopenharmony_ci { 3493e5c31af7Sopenharmony_ci gl_Position = a_pos; 3494e5c31af7Sopenharmony_ci } 3495e5c31af7Sopenharmony_ci "" 3496e5c31af7Sopenharmony_ci 3497e5c31af7Sopenharmony_ci fragment "" 3498e5c31af7Sopenharmony_ci #version 300 es 3499e5c31af7Sopenharmony_ci precision highp float; 3500e5c31af7Sopenharmony_ci 3501e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 3502e5c31af7Sopenharmony_ci 3503e5c31af7Sopenharmony_ci layout() uniform UniformBlock 3504e5c31af7Sopenharmony_ci { 3505e5c31af7Sopenharmony_ci vec4 uniformMember; 3506e5c31af7Sopenharmony_ci } uniformBlock; 3507e5c31af7Sopenharmony_ci 3508e5c31af7Sopenharmony_ci void main() 3509e5c31af7Sopenharmony_ci { 3510e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember; 3511e5c31af7Sopenharmony_ci } 3512e5c31af7Sopenharmony_ci "" 3513e5c31af7Sopenharmony_ci end 3514e5c31af7Sopenharmony_ci case empty_member_layout_vertex 3515e5c31af7Sopenharmony_ci version 300 es 3516e5c31af7Sopenharmony_ci expect compile_fail 3517e5c31af7Sopenharmony_ci 3518e5c31af7Sopenharmony_ci vertex "" 3519e5c31af7Sopenharmony_ci #version 300 es 3520e5c31af7Sopenharmony_ci precision highp float; 3521e5c31af7Sopenharmony_ci 3522e5c31af7Sopenharmony_ci 3523e5c31af7Sopenharmony_ci 3524e5c31af7Sopenharmony_ci uniform UniformBlock 3525e5c31af7Sopenharmony_ci { 3526e5c31af7Sopenharmony_ci layout() vec4 uniformMember; 3527e5c31af7Sopenharmony_ci } uniformBlock; 3528e5c31af7Sopenharmony_ci 3529e5c31af7Sopenharmony_ci void main() 3530e5c31af7Sopenharmony_ci { 3531e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember; 3532e5c31af7Sopenharmony_ci } 3533e5c31af7Sopenharmony_ci "" 3534e5c31af7Sopenharmony_ci 3535e5c31af7Sopenharmony_ci fragment "" 3536e5c31af7Sopenharmony_ci #version 300 es 3537e5c31af7Sopenharmony_ci precision highp float; 3538e5c31af7Sopenharmony_ci 3539e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 3540e5c31af7Sopenharmony_ci 3541e5c31af7Sopenharmony_ci void main() 3542e5c31af7Sopenharmony_ci { 3543e5c31af7Sopenharmony_ci o_color = vec4(1.0); 3544e5c31af7Sopenharmony_ci } 3545e5c31af7Sopenharmony_ci "" 3546e5c31af7Sopenharmony_ci end 3547e5c31af7Sopenharmony_ci case empty_member_layout_fragment 3548e5c31af7Sopenharmony_ci version 300 es 3549e5c31af7Sopenharmony_ci expect compile_fail 3550e5c31af7Sopenharmony_ci 3551e5c31af7Sopenharmony_ci vertex "" 3552e5c31af7Sopenharmony_ci #version 300 es 3553e5c31af7Sopenharmony_ci precision highp float; 3554e5c31af7Sopenharmony_ci 3555e5c31af7Sopenharmony_ci in vec4 a_pos; 3556e5c31af7Sopenharmony_ci 3557e5c31af7Sopenharmony_ci void main() 3558e5c31af7Sopenharmony_ci { 3559e5c31af7Sopenharmony_ci gl_Position = a_pos; 3560e5c31af7Sopenharmony_ci } 3561e5c31af7Sopenharmony_ci "" 3562e5c31af7Sopenharmony_ci 3563e5c31af7Sopenharmony_ci fragment "" 3564e5c31af7Sopenharmony_ci #version 300 es 3565e5c31af7Sopenharmony_ci precision highp float; 3566e5c31af7Sopenharmony_ci 3567e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 3568e5c31af7Sopenharmony_ci 3569e5c31af7Sopenharmony_ci uniform UniformBlock 3570e5c31af7Sopenharmony_ci { 3571e5c31af7Sopenharmony_ci layout() vec4 uniformMember; 3572e5c31af7Sopenharmony_ci } uniformBlock; 3573e5c31af7Sopenharmony_ci 3574e5c31af7Sopenharmony_ci void main() 3575e5c31af7Sopenharmony_ci { 3576e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember; 3577e5c31af7Sopenharmony_ci } 3578e5c31af7Sopenharmony_ci "" 3579e5c31af7Sopenharmony_ci end 3580e5c31af7Sopenharmony_ci case empty_global_layout_vertex 3581e5c31af7Sopenharmony_ci version 300 es 3582e5c31af7Sopenharmony_ci expect compile_fail 3583e5c31af7Sopenharmony_ci 3584e5c31af7Sopenharmony_ci vertex "" 3585e5c31af7Sopenharmony_ci #version 300 es 3586e5c31af7Sopenharmony_ci precision highp float; 3587e5c31af7Sopenharmony_ci 3588e5c31af7Sopenharmony_ci layout() uniform; 3589e5c31af7Sopenharmony_ci 3590e5c31af7Sopenharmony_ci 3591e5c31af7Sopenharmony_ci 3592e5c31af7Sopenharmony_ci uniform UniformBlock 3593e5c31af7Sopenharmony_ci { 3594e5c31af7Sopenharmony_ci vec4 uniformMember; 3595e5c31af7Sopenharmony_ci } uniformBlock; 3596e5c31af7Sopenharmony_ci 3597e5c31af7Sopenharmony_ci void main() 3598e5c31af7Sopenharmony_ci { 3599e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember; 3600e5c31af7Sopenharmony_ci } 3601e5c31af7Sopenharmony_ci "" 3602e5c31af7Sopenharmony_ci 3603e5c31af7Sopenharmony_ci fragment "" 3604e5c31af7Sopenharmony_ci #version 300 es 3605e5c31af7Sopenharmony_ci precision highp float; 3606e5c31af7Sopenharmony_ci 3607e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 3608e5c31af7Sopenharmony_ci 3609e5c31af7Sopenharmony_ci void main() 3610e5c31af7Sopenharmony_ci { 3611e5c31af7Sopenharmony_ci o_color = vec4(1.0); 3612e5c31af7Sopenharmony_ci } 3613e5c31af7Sopenharmony_ci "" 3614e5c31af7Sopenharmony_ci end 3615e5c31af7Sopenharmony_ci case empty_global_layout_fragment 3616e5c31af7Sopenharmony_ci version 300 es 3617e5c31af7Sopenharmony_ci expect compile_fail 3618e5c31af7Sopenharmony_ci 3619e5c31af7Sopenharmony_ci vertex "" 3620e5c31af7Sopenharmony_ci #version 300 es 3621e5c31af7Sopenharmony_ci precision highp float; 3622e5c31af7Sopenharmony_ci 3623e5c31af7Sopenharmony_ci in vec4 a_pos; 3624e5c31af7Sopenharmony_ci 3625e5c31af7Sopenharmony_ci void main() 3626e5c31af7Sopenharmony_ci { 3627e5c31af7Sopenharmony_ci gl_Position = a_pos; 3628e5c31af7Sopenharmony_ci } 3629e5c31af7Sopenharmony_ci "" 3630e5c31af7Sopenharmony_ci 3631e5c31af7Sopenharmony_ci fragment "" 3632e5c31af7Sopenharmony_ci #version 300 es 3633e5c31af7Sopenharmony_ci precision highp float; 3634e5c31af7Sopenharmony_ci 3635e5c31af7Sopenharmony_ci layout() uniform; 3636e5c31af7Sopenharmony_ci 3637e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 3638e5c31af7Sopenharmony_ci 3639e5c31af7Sopenharmony_ci uniform UniformBlock 3640e5c31af7Sopenharmony_ci { 3641e5c31af7Sopenharmony_ci vec4 uniformMember; 3642e5c31af7Sopenharmony_ci } uniformBlock; 3643e5c31af7Sopenharmony_ci 3644e5c31af7Sopenharmony_ci void main() 3645e5c31af7Sopenharmony_ci { 3646e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember; 3647e5c31af7Sopenharmony_ci } 3648e5c31af7Sopenharmony_ci "" 3649e5c31af7Sopenharmony_ci end 3650e5c31af7Sopenharmony_ci case structure_definition_vertex 3651e5c31af7Sopenharmony_ci version 300 es 3652e5c31af7Sopenharmony_ci expect compile_fail 3653e5c31af7Sopenharmony_ci 3654e5c31af7Sopenharmony_ci vertex "" 3655e5c31af7Sopenharmony_ci #version 300 es 3656e5c31af7Sopenharmony_ci precision highp float; 3657e5c31af7Sopenharmony_ci 3658e5c31af7Sopenharmony_ci 3659e5c31af7Sopenharmony_ci 3660e5c31af7Sopenharmony_ci uniform UniformBlock 3661e5c31af7Sopenharmony_ci { 3662e5c31af7Sopenharmony_ci struct A 3663e5c31af7Sopenharmony_ci { 3664e5c31af7Sopenharmony_ci vec4 uniformMember; 3665e5c31af7Sopenharmony_ci } a; 3666e5c31af7Sopenharmony_ci } uniformBlock; 3667e5c31af7Sopenharmony_ci 3668e5c31af7Sopenharmony_ci void main() 3669e5c31af7Sopenharmony_ci { 3670e5c31af7Sopenharmony_ci gl_Position = uniformBlock.a.uniformMember; 3671e5c31af7Sopenharmony_ci } 3672e5c31af7Sopenharmony_ci "" 3673e5c31af7Sopenharmony_ci 3674e5c31af7Sopenharmony_ci fragment "" 3675e5c31af7Sopenharmony_ci #version 300 es 3676e5c31af7Sopenharmony_ci precision highp float; 3677e5c31af7Sopenharmony_ci 3678e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 3679e5c31af7Sopenharmony_ci 3680e5c31af7Sopenharmony_ci void main() 3681e5c31af7Sopenharmony_ci { 3682e5c31af7Sopenharmony_ci o_color = vec4(1.0); 3683e5c31af7Sopenharmony_ci } 3684e5c31af7Sopenharmony_ci "" 3685e5c31af7Sopenharmony_ci end 3686e5c31af7Sopenharmony_ci case structure_definition_fragment 3687e5c31af7Sopenharmony_ci version 300 es 3688e5c31af7Sopenharmony_ci expect compile_fail 3689e5c31af7Sopenharmony_ci 3690e5c31af7Sopenharmony_ci vertex "" 3691e5c31af7Sopenharmony_ci #version 300 es 3692e5c31af7Sopenharmony_ci precision highp float; 3693e5c31af7Sopenharmony_ci 3694e5c31af7Sopenharmony_ci in vec4 a_pos; 3695e5c31af7Sopenharmony_ci 3696e5c31af7Sopenharmony_ci void main() 3697e5c31af7Sopenharmony_ci { 3698e5c31af7Sopenharmony_ci gl_Position = a_pos; 3699e5c31af7Sopenharmony_ci } 3700e5c31af7Sopenharmony_ci "" 3701e5c31af7Sopenharmony_ci 3702e5c31af7Sopenharmony_ci fragment "" 3703e5c31af7Sopenharmony_ci #version 300 es 3704e5c31af7Sopenharmony_ci precision highp float; 3705e5c31af7Sopenharmony_ci 3706e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 3707e5c31af7Sopenharmony_ci 3708e5c31af7Sopenharmony_ci uniform UniformBlock 3709e5c31af7Sopenharmony_ci { 3710e5c31af7Sopenharmony_ci struct A 3711e5c31af7Sopenharmony_ci { 3712e5c31af7Sopenharmony_ci vec4 uniformMember; 3713e5c31af7Sopenharmony_ci } a; 3714e5c31af7Sopenharmony_ci } uniformBlock; 3715e5c31af7Sopenharmony_ci 3716e5c31af7Sopenharmony_ci void main() 3717e5c31af7Sopenharmony_ci { 3718e5c31af7Sopenharmony_ci o_color = uniformBlock.a.uniformMember; 3719e5c31af7Sopenharmony_ci } 3720e5c31af7Sopenharmony_ci "" 3721e5c31af7Sopenharmony_ci end 3722e5c31af7Sopenharmony_ci case member_layout_shared_vertex 3723e5c31af7Sopenharmony_ci version 300 es 3724e5c31af7Sopenharmony_ci expect compile_fail 3725e5c31af7Sopenharmony_ci 3726e5c31af7Sopenharmony_ci vertex "" 3727e5c31af7Sopenharmony_ci #version 300 es 3728e5c31af7Sopenharmony_ci precision highp float; 3729e5c31af7Sopenharmony_ci 3730e5c31af7Sopenharmony_ci 3731e5c31af7Sopenharmony_ci 3732e5c31af7Sopenharmony_ci uniform UniformBlock 3733e5c31af7Sopenharmony_ci { 3734e5c31af7Sopenharmony_ci layout(shared) vec4 uniformMember; 3735e5c31af7Sopenharmony_ci } uniformBlock; 3736e5c31af7Sopenharmony_ci 3737e5c31af7Sopenharmony_ci void main() 3738e5c31af7Sopenharmony_ci { 3739e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember; 3740e5c31af7Sopenharmony_ci } 3741e5c31af7Sopenharmony_ci "" 3742e5c31af7Sopenharmony_ci 3743e5c31af7Sopenharmony_ci fragment "" 3744e5c31af7Sopenharmony_ci #version 300 es 3745e5c31af7Sopenharmony_ci precision highp float; 3746e5c31af7Sopenharmony_ci 3747e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 3748e5c31af7Sopenharmony_ci 3749e5c31af7Sopenharmony_ci void main() 3750e5c31af7Sopenharmony_ci { 3751e5c31af7Sopenharmony_ci o_color = vec4(1.0); 3752e5c31af7Sopenharmony_ci } 3753e5c31af7Sopenharmony_ci "" 3754e5c31af7Sopenharmony_ci end 3755e5c31af7Sopenharmony_ci case member_layout_shared_fragment 3756e5c31af7Sopenharmony_ci version 300 es 3757e5c31af7Sopenharmony_ci expect compile_fail 3758e5c31af7Sopenharmony_ci 3759e5c31af7Sopenharmony_ci vertex "" 3760e5c31af7Sopenharmony_ci #version 300 es 3761e5c31af7Sopenharmony_ci precision highp float; 3762e5c31af7Sopenharmony_ci 3763e5c31af7Sopenharmony_ci in vec4 a_pos; 3764e5c31af7Sopenharmony_ci 3765e5c31af7Sopenharmony_ci void main() 3766e5c31af7Sopenharmony_ci { 3767e5c31af7Sopenharmony_ci gl_Position = a_pos; 3768e5c31af7Sopenharmony_ci } 3769e5c31af7Sopenharmony_ci "" 3770e5c31af7Sopenharmony_ci 3771e5c31af7Sopenharmony_ci fragment "" 3772e5c31af7Sopenharmony_ci #version 300 es 3773e5c31af7Sopenharmony_ci precision highp float; 3774e5c31af7Sopenharmony_ci 3775e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 3776e5c31af7Sopenharmony_ci 3777e5c31af7Sopenharmony_ci uniform UniformBlock 3778e5c31af7Sopenharmony_ci { 3779e5c31af7Sopenharmony_ci layout(shared) vec4 uniformMember; 3780e5c31af7Sopenharmony_ci } uniformBlock; 3781e5c31af7Sopenharmony_ci 3782e5c31af7Sopenharmony_ci void main() 3783e5c31af7Sopenharmony_ci { 3784e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember; 3785e5c31af7Sopenharmony_ci } 3786e5c31af7Sopenharmony_ci "" 3787e5c31af7Sopenharmony_ci end 3788e5c31af7Sopenharmony_ci case member_layout_packed_vertex 3789e5c31af7Sopenharmony_ci version 300 es 3790e5c31af7Sopenharmony_ci expect compile_fail 3791e5c31af7Sopenharmony_ci 3792e5c31af7Sopenharmony_ci vertex "" 3793e5c31af7Sopenharmony_ci #version 300 es 3794e5c31af7Sopenharmony_ci precision highp float; 3795e5c31af7Sopenharmony_ci 3796e5c31af7Sopenharmony_ci 3797e5c31af7Sopenharmony_ci 3798e5c31af7Sopenharmony_ci uniform UniformBlock 3799e5c31af7Sopenharmony_ci { 3800e5c31af7Sopenharmony_ci layout(packed) vec4 uniformMember; 3801e5c31af7Sopenharmony_ci } uniformBlock; 3802e5c31af7Sopenharmony_ci 3803e5c31af7Sopenharmony_ci void main() 3804e5c31af7Sopenharmony_ci { 3805e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember; 3806e5c31af7Sopenharmony_ci } 3807e5c31af7Sopenharmony_ci "" 3808e5c31af7Sopenharmony_ci 3809e5c31af7Sopenharmony_ci fragment "" 3810e5c31af7Sopenharmony_ci #version 300 es 3811e5c31af7Sopenharmony_ci precision highp float; 3812e5c31af7Sopenharmony_ci 3813e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 3814e5c31af7Sopenharmony_ci 3815e5c31af7Sopenharmony_ci void main() 3816e5c31af7Sopenharmony_ci { 3817e5c31af7Sopenharmony_ci o_color = vec4(1.0); 3818e5c31af7Sopenharmony_ci } 3819e5c31af7Sopenharmony_ci "" 3820e5c31af7Sopenharmony_ci end 3821e5c31af7Sopenharmony_ci case member_layout_packed_fragment 3822e5c31af7Sopenharmony_ci version 300 es 3823e5c31af7Sopenharmony_ci expect compile_fail 3824e5c31af7Sopenharmony_ci 3825e5c31af7Sopenharmony_ci vertex "" 3826e5c31af7Sopenharmony_ci #version 300 es 3827e5c31af7Sopenharmony_ci precision highp float; 3828e5c31af7Sopenharmony_ci 3829e5c31af7Sopenharmony_ci in vec4 a_pos; 3830e5c31af7Sopenharmony_ci 3831e5c31af7Sopenharmony_ci void main() 3832e5c31af7Sopenharmony_ci { 3833e5c31af7Sopenharmony_ci gl_Position = a_pos; 3834e5c31af7Sopenharmony_ci } 3835e5c31af7Sopenharmony_ci "" 3836e5c31af7Sopenharmony_ci 3837e5c31af7Sopenharmony_ci fragment "" 3838e5c31af7Sopenharmony_ci #version 300 es 3839e5c31af7Sopenharmony_ci precision highp float; 3840e5c31af7Sopenharmony_ci 3841e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 3842e5c31af7Sopenharmony_ci 3843e5c31af7Sopenharmony_ci uniform UniformBlock 3844e5c31af7Sopenharmony_ci { 3845e5c31af7Sopenharmony_ci layout(packed) vec4 uniformMember; 3846e5c31af7Sopenharmony_ci } uniformBlock; 3847e5c31af7Sopenharmony_ci 3848e5c31af7Sopenharmony_ci void main() 3849e5c31af7Sopenharmony_ci { 3850e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember; 3851e5c31af7Sopenharmony_ci } 3852e5c31af7Sopenharmony_ci "" 3853e5c31af7Sopenharmony_ci end 3854e5c31af7Sopenharmony_ci case member_layout_std140_vertex 3855e5c31af7Sopenharmony_ci version 300 es 3856e5c31af7Sopenharmony_ci expect compile_fail 3857e5c31af7Sopenharmony_ci 3858e5c31af7Sopenharmony_ci vertex "" 3859e5c31af7Sopenharmony_ci #version 300 es 3860e5c31af7Sopenharmony_ci precision highp float; 3861e5c31af7Sopenharmony_ci 3862e5c31af7Sopenharmony_ci 3863e5c31af7Sopenharmony_ci 3864e5c31af7Sopenharmony_ci uniform UniformBlock 3865e5c31af7Sopenharmony_ci { 3866e5c31af7Sopenharmony_ci layout(std140) vec4 uniformMember; 3867e5c31af7Sopenharmony_ci } uniformBlock; 3868e5c31af7Sopenharmony_ci 3869e5c31af7Sopenharmony_ci void main() 3870e5c31af7Sopenharmony_ci { 3871e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember; 3872e5c31af7Sopenharmony_ci } 3873e5c31af7Sopenharmony_ci "" 3874e5c31af7Sopenharmony_ci 3875e5c31af7Sopenharmony_ci fragment "" 3876e5c31af7Sopenharmony_ci #version 300 es 3877e5c31af7Sopenharmony_ci precision highp float; 3878e5c31af7Sopenharmony_ci 3879e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 3880e5c31af7Sopenharmony_ci 3881e5c31af7Sopenharmony_ci void main() 3882e5c31af7Sopenharmony_ci { 3883e5c31af7Sopenharmony_ci o_color = vec4(1.0); 3884e5c31af7Sopenharmony_ci } 3885e5c31af7Sopenharmony_ci "" 3886e5c31af7Sopenharmony_ci end 3887e5c31af7Sopenharmony_ci case member_layout_std140_fragment 3888e5c31af7Sopenharmony_ci version 300 es 3889e5c31af7Sopenharmony_ci expect compile_fail 3890e5c31af7Sopenharmony_ci 3891e5c31af7Sopenharmony_ci vertex "" 3892e5c31af7Sopenharmony_ci #version 300 es 3893e5c31af7Sopenharmony_ci precision highp float; 3894e5c31af7Sopenharmony_ci 3895e5c31af7Sopenharmony_ci in vec4 a_pos; 3896e5c31af7Sopenharmony_ci 3897e5c31af7Sopenharmony_ci void main() 3898e5c31af7Sopenharmony_ci { 3899e5c31af7Sopenharmony_ci gl_Position = a_pos; 3900e5c31af7Sopenharmony_ci } 3901e5c31af7Sopenharmony_ci "" 3902e5c31af7Sopenharmony_ci 3903e5c31af7Sopenharmony_ci fragment "" 3904e5c31af7Sopenharmony_ci #version 300 es 3905e5c31af7Sopenharmony_ci precision highp float; 3906e5c31af7Sopenharmony_ci 3907e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 3908e5c31af7Sopenharmony_ci 3909e5c31af7Sopenharmony_ci uniform UniformBlock 3910e5c31af7Sopenharmony_ci { 3911e5c31af7Sopenharmony_ci layout(std140) vec4 uniformMember; 3912e5c31af7Sopenharmony_ci } uniformBlock; 3913e5c31af7Sopenharmony_ci 3914e5c31af7Sopenharmony_ci void main() 3915e5c31af7Sopenharmony_ci { 3916e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember; 3917e5c31af7Sopenharmony_ci } 3918e5c31af7Sopenharmony_ci "" 3919e5c31af7Sopenharmony_ci end 3920e5c31af7Sopenharmony_ci case missing_block_name_vertex 3921e5c31af7Sopenharmony_ci version 300 es 3922e5c31af7Sopenharmony_ci expect compile_fail 3923e5c31af7Sopenharmony_ci 3924e5c31af7Sopenharmony_ci vertex "" 3925e5c31af7Sopenharmony_ci #version 300 es 3926e5c31af7Sopenharmony_ci precision highp float; 3927e5c31af7Sopenharmony_ci 3928e5c31af7Sopenharmony_ci 3929e5c31af7Sopenharmony_ci 3930e5c31af7Sopenharmony_ci uniform 3931e5c31af7Sopenharmony_ci { 3932e5c31af7Sopenharmony_ci vec4 uniformMember; 3933e5c31af7Sopenharmony_ci } uniformBlock; 3934e5c31af7Sopenharmony_ci 3935e5c31af7Sopenharmony_ci void main() 3936e5c31af7Sopenharmony_ci { 3937e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember; 3938e5c31af7Sopenharmony_ci } 3939e5c31af7Sopenharmony_ci "" 3940e5c31af7Sopenharmony_ci 3941e5c31af7Sopenharmony_ci fragment "" 3942e5c31af7Sopenharmony_ci #version 300 es 3943e5c31af7Sopenharmony_ci precision highp float; 3944e5c31af7Sopenharmony_ci 3945e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 3946e5c31af7Sopenharmony_ci 3947e5c31af7Sopenharmony_ci void main() 3948e5c31af7Sopenharmony_ci { 3949e5c31af7Sopenharmony_ci o_color = vec4(1.0); 3950e5c31af7Sopenharmony_ci } 3951e5c31af7Sopenharmony_ci "" 3952e5c31af7Sopenharmony_ci end 3953e5c31af7Sopenharmony_ci case missing_block_name_fragment 3954e5c31af7Sopenharmony_ci version 300 es 3955e5c31af7Sopenharmony_ci expect compile_fail 3956e5c31af7Sopenharmony_ci 3957e5c31af7Sopenharmony_ci vertex "" 3958e5c31af7Sopenharmony_ci #version 300 es 3959e5c31af7Sopenharmony_ci precision highp float; 3960e5c31af7Sopenharmony_ci 3961e5c31af7Sopenharmony_ci in vec4 a_pos; 3962e5c31af7Sopenharmony_ci 3963e5c31af7Sopenharmony_ci void main() 3964e5c31af7Sopenharmony_ci { 3965e5c31af7Sopenharmony_ci gl_Position = a_pos; 3966e5c31af7Sopenharmony_ci } 3967e5c31af7Sopenharmony_ci "" 3968e5c31af7Sopenharmony_ci 3969e5c31af7Sopenharmony_ci fragment "" 3970e5c31af7Sopenharmony_ci #version 300 es 3971e5c31af7Sopenharmony_ci precision highp float; 3972e5c31af7Sopenharmony_ci 3973e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 3974e5c31af7Sopenharmony_ci 3975e5c31af7Sopenharmony_ci uniform 3976e5c31af7Sopenharmony_ci { 3977e5c31af7Sopenharmony_ci vec4 uniformMember; 3978e5c31af7Sopenharmony_ci } uniformBlock; 3979e5c31af7Sopenharmony_ci 3980e5c31af7Sopenharmony_ci void main() 3981e5c31af7Sopenharmony_ci { 3982e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember; 3983e5c31af7Sopenharmony_ci } 3984e5c31af7Sopenharmony_ci "" 3985e5c31af7Sopenharmony_ci end 3986e5c31af7Sopenharmony_ci case invalid_number_block_name_vertex 3987e5c31af7Sopenharmony_ci version 300 es 3988e5c31af7Sopenharmony_ci expect compile_fail 3989e5c31af7Sopenharmony_ci 3990e5c31af7Sopenharmony_ci vertex "" 3991e5c31af7Sopenharmony_ci #version 300 es 3992e5c31af7Sopenharmony_ci precision highp float; 3993e5c31af7Sopenharmony_ci 3994e5c31af7Sopenharmony_ci 3995e5c31af7Sopenharmony_ci 3996e5c31af7Sopenharmony_ci uniform 0UniformBlock 3997e5c31af7Sopenharmony_ci { 3998e5c31af7Sopenharmony_ci vec4 uniformMember; 3999e5c31af7Sopenharmony_ci } uniformBlock; 4000e5c31af7Sopenharmony_ci 4001e5c31af7Sopenharmony_ci void main() 4002e5c31af7Sopenharmony_ci { 4003e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember; 4004e5c31af7Sopenharmony_ci } 4005e5c31af7Sopenharmony_ci "" 4006e5c31af7Sopenharmony_ci 4007e5c31af7Sopenharmony_ci fragment "" 4008e5c31af7Sopenharmony_ci #version 300 es 4009e5c31af7Sopenharmony_ci precision highp float; 4010e5c31af7Sopenharmony_ci 4011e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 4012e5c31af7Sopenharmony_ci 4013e5c31af7Sopenharmony_ci void main() 4014e5c31af7Sopenharmony_ci { 4015e5c31af7Sopenharmony_ci o_color = vec4(1.0); 4016e5c31af7Sopenharmony_ci } 4017e5c31af7Sopenharmony_ci "" 4018e5c31af7Sopenharmony_ci end 4019e5c31af7Sopenharmony_ci case invalid_number_block_name_fragment 4020e5c31af7Sopenharmony_ci version 300 es 4021e5c31af7Sopenharmony_ci expect compile_fail 4022e5c31af7Sopenharmony_ci 4023e5c31af7Sopenharmony_ci vertex "" 4024e5c31af7Sopenharmony_ci #version 300 es 4025e5c31af7Sopenharmony_ci precision highp float; 4026e5c31af7Sopenharmony_ci 4027e5c31af7Sopenharmony_ci in vec4 a_pos; 4028e5c31af7Sopenharmony_ci 4029e5c31af7Sopenharmony_ci void main() 4030e5c31af7Sopenharmony_ci { 4031e5c31af7Sopenharmony_ci gl_Position = a_pos; 4032e5c31af7Sopenharmony_ci } 4033e5c31af7Sopenharmony_ci "" 4034e5c31af7Sopenharmony_ci 4035e5c31af7Sopenharmony_ci fragment "" 4036e5c31af7Sopenharmony_ci #version 300 es 4037e5c31af7Sopenharmony_ci precision highp float; 4038e5c31af7Sopenharmony_ci 4039e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 4040e5c31af7Sopenharmony_ci 4041e5c31af7Sopenharmony_ci uniform 0UniformBlock 4042e5c31af7Sopenharmony_ci { 4043e5c31af7Sopenharmony_ci vec4 uniformMember; 4044e5c31af7Sopenharmony_ci } uniformBlock; 4045e5c31af7Sopenharmony_ci 4046e5c31af7Sopenharmony_ci void main() 4047e5c31af7Sopenharmony_ci { 4048e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember; 4049e5c31af7Sopenharmony_ci } 4050e5c31af7Sopenharmony_ci "" 4051e5c31af7Sopenharmony_ci end 4052e5c31af7Sopenharmony_ci case invalid_hash_block_name_vertex 4053e5c31af7Sopenharmony_ci version 300 es 4054e5c31af7Sopenharmony_ci expect compile_fail 4055e5c31af7Sopenharmony_ci 4056e5c31af7Sopenharmony_ci vertex "" 4057e5c31af7Sopenharmony_ci #version 300 es 4058e5c31af7Sopenharmony_ci precision highp float; 4059e5c31af7Sopenharmony_ci 4060e5c31af7Sopenharmony_ci 4061e5c31af7Sopenharmony_ci 4062e5c31af7Sopenharmony_ci uniform #UniformBlock 4063e5c31af7Sopenharmony_ci { 4064e5c31af7Sopenharmony_ci vec4 uniformMember; 4065e5c31af7Sopenharmony_ci } uniformBlock; 4066e5c31af7Sopenharmony_ci 4067e5c31af7Sopenharmony_ci void main() 4068e5c31af7Sopenharmony_ci { 4069e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember; 4070e5c31af7Sopenharmony_ci } 4071e5c31af7Sopenharmony_ci "" 4072e5c31af7Sopenharmony_ci 4073e5c31af7Sopenharmony_ci fragment "" 4074e5c31af7Sopenharmony_ci #version 300 es 4075e5c31af7Sopenharmony_ci precision highp float; 4076e5c31af7Sopenharmony_ci 4077e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 4078e5c31af7Sopenharmony_ci 4079e5c31af7Sopenharmony_ci void main() 4080e5c31af7Sopenharmony_ci { 4081e5c31af7Sopenharmony_ci o_color = vec4(1.0); 4082e5c31af7Sopenharmony_ci } 4083e5c31af7Sopenharmony_ci "" 4084e5c31af7Sopenharmony_ci end 4085e5c31af7Sopenharmony_ci case invalid_hash_block_name_fragment 4086e5c31af7Sopenharmony_ci version 300 es 4087e5c31af7Sopenharmony_ci expect compile_fail 4088e5c31af7Sopenharmony_ci 4089e5c31af7Sopenharmony_ci vertex "" 4090e5c31af7Sopenharmony_ci #version 300 es 4091e5c31af7Sopenharmony_ci precision highp float; 4092e5c31af7Sopenharmony_ci 4093e5c31af7Sopenharmony_ci in vec4 a_pos; 4094e5c31af7Sopenharmony_ci 4095e5c31af7Sopenharmony_ci void main() 4096e5c31af7Sopenharmony_ci { 4097e5c31af7Sopenharmony_ci gl_Position = a_pos; 4098e5c31af7Sopenharmony_ci } 4099e5c31af7Sopenharmony_ci "" 4100e5c31af7Sopenharmony_ci 4101e5c31af7Sopenharmony_ci fragment "" 4102e5c31af7Sopenharmony_ci #version 300 es 4103e5c31af7Sopenharmony_ci precision highp float; 4104e5c31af7Sopenharmony_ci 4105e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 4106e5c31af7Sopenharmony_ci 4107e5c31af7Sopenharmony_ci uniform #UniformBlock 4108e5c31af7Sopenharmony_ci { 4109e5c31af7Sopenharmony_ci vec4 uniformMember; 4110e5c31af7Sopenharmony_ci } uniformBlock; 4111e5c31af7Sopenharmony_ci 4112e5c31af7Sopenharmony_ci void main() 4113e5c31af7Sopenharmony_ci { 4114e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember; 4115e5c31af7Sopenharmony_ci } 4116e5c31af7Sopenharmony_ci "" 4117e5c31af7Sopenharmony_ci end 4118e5c31af7Sopenharmony_ci case invalid_dollar_block_name_vertex 4119e5c31af7Sopenharmony_ci version 300 es 4120e5c31af7Sopenharmony_ci expect compile_fail 4121e5c31af7Sopenharmony_ci 4122e5c31af7Sopenharmony_ci vertex "" 4123e5c31af7Sopenharmony_ci #version 300 es 4124e5c31af7Sopenharmony_ci precision highp float; 4125e5c31af7Sopenharmony_ci 4126e5c31af7Sopenharmony_ci 4127e5c31af7Sopenharmony_ci 4128e5c31af7Sopenharmony_ci uniform $UniformBlock 4129e5c31af7Sopenharmony_ci { 4130e5c31af7Sopenharmony_ci vec4 uniformMember; 4131e5c31af7Sopenharmony_ci } uniformBlock; 4132e5c31af7Sopenharmony_ci 4133e5c31af7Sopenharmony_ci void main() 4134e5c31af7Sopenharmony_ci { 4135e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember; 4136e5c31af7Sopenharmony_ci } 4137e5c31af7Sopenharmony_ci "" 4138e5c31af7Sopenharmony_ci 4139e5c31af7Sopenharmony_ci fragment "" 4140e5c31af7Sopenharmony_ci #version 300 es 4141e5c31af7Sopenharmony_ci precision highp float; 4142e5c31af7Sopenharmony_ci 4143e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 4144e5c31af7Sopenharmony_ci 4145e5c31af7Sopenharmony_ci void main() 4146e5c31af7Sopenharmony_ci { 4147e5c31af7Sopenharmony_ci o_color = vec4(1.0); 4148e5c31af7Sopenharmony_ci } 4149e5c31af7Sopenharmony_ci "" 4150e5c31af7Sopenharmony_ci end 4151e5c31af7Sopenharmony_ci case invalid_dollar_block_name_fragment 4152e5c31af7Sopenharmony_ci version 300 es 4153e5c31af7Sopenharmony_ci expect compile_fail 4154e5c31af7Sopenharmony_ci 4155e5c31af7Sopenharmony_ci vertex "" 4156e5c31af7Sopenharmony_ci #version 300 es 4157e5c31af7Sopenharmony_ci precision highp float; 4158e5c31af7Sopenharmony_ci 4159e5c31af7Sopenharmony_ci in vec4 a_pos; 4160e5c31af7Sopenharmony_ci 4161e5c31af7Sopenharmony_ci void main() 4162e5c31af7Sopenharmony_ci { 4163e5c31af7Sopenharmony_ci gl_Position = a_pos; 4164e5c31af7Sopenharmony_ci } 4165e5c31af7Sopenharmony_ci "" 4166e5c31af7Sopenharmony_ci 4167e5c31af7Sopenharmony_ci fragment "" 4168e5c31af7Sopenharmony_ci #version 300 es 4169e5c31af7Sopenharmony_ci precision highp float; 4170e5c31af7Sopenharmony_ci 4171e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 4172e5c31af7Sopenharmony_ci 4173e5c31af7Sopenharmony_ci uniform $UniformBlock 4174e5c31af7Sopenharmony_ci { 4175e5c31af7Sopenharmony_ci vec4 uniformMember; 4176e5c31af7Sopenharmony_ci } uniformBlock; 4177e5c31af7Sopenharmony_ci 4178e5c31af7Sopenharmony_ci void main() 4179e5c31af7Sopenharmony_ci { 4180e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember; 4181e5c31af7Sopenharmony_ci } 4182e5c31af7Sopenharmony_ci "" 4183e5c31af7Sopenharmony_ci end 4184e5c31af7Sopenharmony_ci case invalid_identifier_block_name_vertex 4185e5c31af7Sopenharmony_ci version 300 es 4186e5c31af7Sopenharmony_ci expect compile_fail 4187e5c31af7Sopenharmony_ci 4188e5c31af7Sopenharmony_ci vertex "" 4189e5c31af7Sopenharmony_ci #version 300 es 4190e5c31af7Sopenharmony_ci precision highp float; 4191e5c31af7Sopenharmony_ci 4192e5c31af7Sopenharmony_ci 4193e5c31af7Sopenharmony_ci 4194e5c31af7Sopenharmony_ci uniform gl_UniformBlock 4195e5c31af7Sopenharmony_ci { 4196e5c31af7Sopenharmony_ci vec4 uniformMember; 4197e5c31af7Sopenharmony_ci } uniformBlock; 4198e5c31af7Sopenharmony_ci 4199e5c31af7Sopenharmony_ci void main() 4200e5c31af7Sopenharmony_ci { 4201e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember; 4202e5c31af7Sopenharmony_ci } 4203e5c31af7Sopenharmony_ci "" 4204e5c31af7Sopenharmony_ci 4205e5c31af7Sopenharmony_ci fragment "" 4206e5c31af7Sopenharmony_ci #version 300 es 4207e5c31af7Sopenharmony_ci precision highp float; 4208e5c31af7Sopenharmony_ci 4209e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 4210e5c31af7Sopenharmony_ci 4211e5c31af7Sopenharmony_ci void main() 4212e5c31af7Sopenharmony_ci { 4213e5c31af7Sopenharmony_ci o_color = vec4(1.0); 4214e5c31af7Sopenharmony_ci } 4215e5c31af7Sopenharmony_ci "" 4216e5c31af7Sopenharmony_ci end 4217e5c31af7Sopenharmony_ci case invalid_identifier_block_name_fragment 4218e5c31af7Sopenharmony_ci version 300 es 4219e5c31af7Sopenharmony_ci expect compile_fail 4220e5c31af7Sopenharmony_ci 4221e5c31af7Sopenharmony_ci vertex "" 4222e5c31af7Sopenharmony_ci #version 300 es 4223e5c31af7Sopenharmony_ci precision highp float; 4224e5c31af7Sopenharmony_ci 4225e5c31af7Sopenharmony_ci in vec4 a_pos; 4226e5c31af7Sopenharmony_ci 4227e5c31af7Sopenharmony_ci void main() 4228e5c31af7Sopenharmony_ci { 4229e5c31af7Sopenharmony_ci gl_Position = a_pos; 4230e5c31af7Sopenharmony_ci } 4231e5c31af7Sopenharmony_ci "" 4232e5c31af7Sopenharmony_ci 4233e5c31af7Sopenharmony_ci fragment "" 4234e5c31af7Sopenharmony_ci #version 300 es 4235e5c31af7Sopenharmony_ci precision highp float; 4236e5c31af7Sopenharmony_ci 4237e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 4238e5c31af7Sopenharmony_ci 4239e5c31af7Sopenharmony_ci uniform gl_UniformBlock 4240e5c31af7Sopenharmony_ci { 4241e5c31af7Sopenharmony_ci vec4 uniformMember; 4242e5c31af7Sopenharmony_ci } uniformBlock; 4243e5c31af7Sopenharmony_ci 4244e5c31af7Sopenharmony_ci void main() 4245e5c31af7Sopenharmony_ci { 4246e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember; 4247e5c31af7Sopenharmony_ci } 4248e5c31af7Sopenharmony_ci "" 4249e5c31af7Sopenharmony_ci end 4250e5c31af7Sopenharmony_ci case too_long_block_name_vertex 4251e5c31af7Sopenharmony_ci version 300 es 4252e5c31af7Sopenharmony_ci expect compile_fail 4253e5c31af7Sopenharmony_ci 4254e5c31af7Sopenharmony_ci vertex "" 4255e5c31af7Sopenharmony_ci #version 300 es 4256e5c31af7Sopenharmony_ci precision highp float; 4257e5c31af7Sopenharmony_ci 4258e5c31af7Sopenharmony_ci 4259e5c31af7Sopenharmony_ci 4260e5c31af7Sopenharmony_ci // Total of 1025 characters 4261e5c31af7Sopenharmony_ci uniform aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 4262e5c31af7Sopenharmony_ci { 4263e5c31af7Sopenharmony_ci vec4 uniformMember; 4264e5c31af7Sopenharmony_ci } uniformBlock; 4265e5c31af7Sopenharmony_ci 4266e5c31af7Sopenharmony_ci void main() 4267e5c31af7Sopenharmony_ci { 4268e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember; 4269e5c31af7Sopenharmony_ci } 4270e5c31af7Sopenharmony_ci "" 4271e5c31af7Sopenharmony_ci 4272e5c31af7Sopenharmony_ci fragment "" 4273e5c31af7Sopenharmony_ci #version 300 es 4274e5c31af7Sopenharmony_ci precision highp float; 4275e5c31af7Sopenharmony_ci 4276e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 4277e5c31af7Sopenharmony_ci 4278e5c31af7Sopenharmony_ci void main() 4279e5c31af7Sopenharmony_ci { 4280e5c31af7Sopenharmony_ci o_color = vec4(1.0); 4281e5c31af7Sopenharmony_ci } 4282e5c31af7Sopenharmony_ci "" 4283e5c31af7Sopenharmony_ci end 4284e5c31af7Sopenharmony_ci case too_long_block_name_fragment 4285e5c31af7Sopenharmony_ci version 300 es 4286e5c31af7Sopenharmony_ci expect compile_fail 4287e5c31af7Sopenharmony_ci 4288e5c31af7Sopenharmony_ci vertex "" 4289e5c31af7Sopenharmony_ci #version 300 es 4290e5c31af7Sopenharmony_ci precision highp float; 4291e5c31af7Sopenharmony_ci 4292e5c31af7Sopenharmony_ci in vec4 a_pos; 4293e5c31af7Sopenharmony_ci 4294e5c31af7Sopenharmony_ci void main() 4295e5c31af7Sopenharmony_ci { 4296e5c31af7Sopenharmony_ci gl_Position = a_pos; 4297e5c31af7Sopenharmony_ci } 4298e5c31af7Sopenharmony_ci "" 4299e5c31af7Sopenharmony_ci 4300e5c31af7Sopenharmony_ci fragment "" 4301e5c31af7Sopenharmony_ci #version 300 es 4302e5c31af7Sopenharmony_ci precision highp float; 4303e5c31af7Sopenharmony_ci 4304e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 4305e5c31af7Sopenharmony_ci 4306e5c31af7Sopenharmony_ci // Total of 1025 characters 4307e5c31af7Sopenharmony_ci uniform aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 4308e5c31af7Sopenharmony_ci { 4309e5c31af7Sopenharmony_ci vec4 uniformMember; 4310e5c31af7Sopenharmony_ci } uniformBlock; 4311e5c31af7Sopenharmony_ci 4312e5c31af7Sopenharmony_ci void main() 4313e5c31af7Sopenharmony_ci { 4314e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember; 4315e5c31af7Sopenharmony_ci } 4316e5c31af7Sopenharmony_ci "" 4317e5c31af7Sopenharmony_ci end 4318e5c31af7Sopenharmony_ci case invalid_number_instance_name_vertex 4319e5c31af7Sopenharmony_ci version 300 es 4320e5c31af7Sopenharmony_ci expect compile_fail 4321e5c31af7Sopenharmony_ci 4322e5c31af7Sopenharmony_ci vertex "" 4323e5c31af7Sopenharmony_ci #version 300 es 4324e5c31af7Sopenharmony_ci precision highp float; 4325e5c31af7Sopenharmony_ci 4326e5c31af7Sopenharmony_ci 4327e5c31af7Sopenharmony_ci 4328e5c31af7Sopenharmony_ci uniform UniformInstance 4329e5c31af7Sopenharmony_ci { 4330e5c31af7Sopenharmony_ci vec4 uniformMember; 4331e5c31af7Sopenharmony_ci } 0uniformBlock; 4332e5c31af7Sopenharmony_ci 4333e5c31af7Sopenharmony_ci void main() 4334e5c31af7Sopenharmony_ci { 4335e5c31af7Sopenharmony_ci gl_Position = 0uniformBlock.uniformMember; 4336e5c31af7Sopenharmony_ci } 4337e5c31af7Sopenharmony_ci "" 4338e5c31af7Sopenharmony_ci 4339e5c31af7Sopenharmony_ci fragment "" 4340e5c31af7Sopenharmony_ci #version 300 es 4341e5c31af7Sopenharmony_ci precision highp float; 4342e5c31af7Sopenharmony_ci 4343e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 4344e5c31af7Sopenharmony_ci 4345e5c31af7Sopenharmony_ci void main() 4346e5c31af7Sopenharmony_ci { 4347e5c31af7Sopenharmony_ci o_color = vec4(1.0); 4348e5c31af7Sopenharmony_ci } 4349e5c31af7Sopenharmony_ci "" 4350e5c31af7Sopenharmony_ci end 4351e5c31af7Sopenharmony_ci case invalid_number_instance_name_fragment 4352e5c31af7Sopenharmony_ci version 300 es 4353e5c31af7Sopenharmony_ci expect compile_fail 4354e5c31af7Sopenharmony_ci 4355e5c31af7Sopenharmony_ci vertex "" 4356e5c31af7Sopenharmony_ci #version 300 es 4357e5c31af7Sopenharmony_ci precision highp float; 4358e5c31af7Sopenharmony_ci 4359e5c31af7Sopenharmony_ci in vec4 a_pos; 4360e5c31af7Sopenharmony_ci 4361e5c31af7Sopenharmony_ci void main() 4362e5c31af7Sopenharmony_ci { 4363e5c31af7Sopenharmony_ci gl_Position = a_pos; 4364e5c31af7Sopenharmony_ci } 4365e5c31af7Sopenharmony_ci "" 4366e5c31af7Sopenharmony_ci 4367e5c31af7Sopenharmony_ci fragment "" 4368e5c31af7Sopenharmony_ci #version 300 es 4369e5c31af7Sopenharmony_ci precision highp float; 4370e5c31af7Sopenharmony_ci 4371e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 4372e5c31af7Sopenharmony_ci 4373e5c31af7Sopenharmony_ci uniform UniformInstance 4374e5c31af7Sopenharmony_ci { 4375e5c31af7Sopenharmony_ci vec4 uniformMember; 4376e5c31af7Sopenharmony_ci } 0uniformBlock; 4377e5c31af7Sopenharmony_ci 4378e5c31af7Sopenharmony_ci void main() 4379e5c31af7Sopenharmony_ci { 4380e5c31af7Sopenharmony_ci o_color = 0uniformBlock.uniformMember; 4381e5c31af7Sopenharmony_ci } 4382e5c31af7Sopenharmony_ci "" 4383e5c31af7Sopenharmony_ci end 4384e5c31af7Sopenharmony_ci case invalid_hash_instance_name_vertex 4385e5c31af7Sopenharmony_ci version 300 es 4386e5c31af7Sopenharmony_ci expect compile_fail 4387e5c31af7Sopenharmony_ci 4388e5c31af7Sopenharmony_ci vertex "" 4389e5c31af7Sopenharmony_ci #version 300 es 4390e5c31af7Sopenharmony_ci precision highp float; 4391e5c31af7Sopenharmony_ci 4392e5c31af7Sopenharmony_ci 4393e5c31af7Sopenharmony_ci 4394e5c31af7Sopenharmony_ci uniform UniformInstance 4395e5c31af7Sopenharmony_ci { 4396e5c31af7Sopenharmony_ci vec4 uniformMember; 4397e5c31af7Sopenharmony_ci } $uniformBlock; 4398e5c31af7Sopenharmony_ci 4399e5c31af7Sopenharmony_ci void main() 4400e5c31af7Sopenharmony_ci { 4401e5c31af7Sopenharmony_ci gl_Position = $uniformBlock.uniformMember; 4402e5c31af7Sopenharmony_ci } 4403e5c31af7Sopenharmony_ci "" 4404e5c31af7Sopenharmony_ci 4405e5c31af7Sopenharmony_ci fragment "" 4406e5c31af7Sopenharmony_ci #version 300 es 4407e5c31af7Sopenharmony_ci precision highp float; 4408e5c31af7Sopenharmony_ci 4409e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 4410e5c31af7Sopenharmony_ci 4411e5c31af7Sopenharmony_ci void main() 4412e5c31af7Sopenharmony_ci { 4413e5c31af7Sopenharmony_ci o_color = vec4(1.0); 4414e5c31af7Sopenharmony_ci } 4415e5c31af7Sopenharmony_ci "" 4416e5c31af7Sopenharmony_ci end 4417e5c31af7Sopenharmony_ci case invalid_hash_instance_name_fragment 4418e5c31af7Sopenharmony_ci version 300 es 4419e5c31af7Sopenharmony_ci expect compile_fail 4420e5c31af7Sopenharmony_ci 4421e5c31af7Sopenharmony_ci vertex "" 4422e5c31af7Sopenharmony_ci #version 300 es 4423e5c31af7Sopenharmony_ci precision highp float; 4424e5c31af7Sopenharmony_ci 4425e5c31af7Sopenharmony_ci in vec4 a_pos; 4426e5c31af7Sopenharmony_ci 4427e5c31af7Sopenharmony_ci void main() 4428e5c31af7Sopenharmony_ci { 4429e5c31af7Sopenharmony_ci gl_Position = a_pos; 4430e5c31af7Sopenharmony_ci } 4431e5c31af7Sopenharmony_ci "" 4432e5c31af7Sopenharmony_ci 4433e5c31af7Sopenharmony_ci fragment "" 4434e5c31af7Sopenharmony_ci #version 300 es 4435e5c31af7Sopenharmony_ci precision highp float; 4436e5c31af7Sopenharmony_ci 4437e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 4438e5c31af7Sopenharmony_ci 4439e5c31af7Sopenharmony_ci uniform UniformInstance 4440e5c31af7Sopenharmony_ci { 4441e5c31af7Sopenharmony_ci vec4 uniformMember; 4442e5c31af7Sopenharmony_ci } $uniformBlock; 4443e5c31af7Sopenharmony_ci 4444e5c31af7Sopenharmony_ci void main() 4445e5c31af7Sopenharmony_ci { 4446e5c31af7Sopenharmony_ci o_color = $uniformBlock.uniformMember; 4447e5c31af7Sopenharmony_ci } 4448e5c31af7Sopenharmony_ci "" 4449e5c31af7Sopenharmony_ci end 4450e5c31af7Sopenharmony_ci case invalid_dollar_instance_name_vertex 4451e5c31af7Sopenharmony_ci version 300 es 4452e5c31af7Sopenharmony_ci expect compile_fail 4453e5c31af7Sopenharmony_ci 4454e5c31af7Sopenharmony_ci vertex "" 4455e5c31af7Sopenharmony_ci #version 300 es 4456e5c31af7Sopenharmony_ci precision highp float; 4457e5c31af7Sopenharmony_ci 4458e5c31af7Sopenharmony_ci 4459e5c31af7Sopenharmony_ci 4460e5c31af7Sopenharmony_ci uniform UniformInstance 4461e5c31af7Sopenharmony_ci { 4462e5c31af7Sopenharmony_ci vec4 uniformMember; 4463e5c31af7Sopenharmony_ci } $uniformBlock; 4464e5c31af7Sopenharmony_ci 4465e5c31af7Sopenharmony_ci void main() 4466e5c31af7Sopenharmony_ci { 4467e5c31af7Sopenharmony_ci gl_Position = $uniformBlock.uniformMember; 4468e5c31af7Sopenharmony_ci } 4469e5c31af7Sopenharmony_ci "" 4470e5c31af7Sopenharmony_ci 4471e5c31af7Sopenharmony_ci fragment "" 4472e5c31af7Sopenharmony_ci #version 300 es 4473e5c31af7Sopenharmony_ci precision highp float; 4474e5c31af7Sopenharmony_ci 4475e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 4476e5c31af7Sopenharmony_ci 4477e5c31af7Sopenharmony_ci void main() 4478e5c31af7Sopenharmony_ci { 4479e5c31af7Sopenharmony_ci o_color = vec4(1.0); 4480e5c31af7Sopenharmony_ci } 4481e5c31af7Sopenharmony_ci "" 4482e5c31af7Sopenharmony_ci end 4483e5c31af7Sopenharmony_ci case invalid_dollar_instance_name_fragment 4484e5c31af7Sopenharmony_ci version 300 es 4485e5c31af7Sopenharmony_ci expect compile_fail 4486e5c31af7Sopenharmony_ci 4487e5c31af7Sopenharmony_ci vertex "" 4488e5c31af7Sopenharmony_ci #version 300 es 4489e5c31af7Sopenharmony_ci precision highp float; 4490e5c31af7Sopenharmony_ci 4491e5c31af7Sopenharmony_ci in vec4 a_pos; 4492e5c31af7Sopenharmony_ci 4493e5c31af7Sopenharmony_ci void main() 4494e5c31af7Sopenharmony_ci { 4495e5c31af7Sopenharmony_ci gl_Position = a_pos; 4496e5c31af7Sopenharmony_ci } 4497e5c31af7Sopenharmony_ci "" 4498e5c31af7Sopenharmony_ci 4499e5c31af7Sopenharmony_ci fragment "" 4500e5c31af7Sopenharmony_ci #version 300 es 4501e5c31af7Sopenharmony_ci precision highp float; 4502e5c31af7Sopenharmony_ci 4503e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 4504e5c31af7Sopenharmony_ci 4505e5c31af7Sopenharmony_ci uniform UniformInstance 4506e5c31af7Sopenharmony_ci { 4507e5c31af7Sopenharmony_ci vec4 uniformMember; 4508e5c31af7Sopenharmony_ci } $uniformBlock; 4509e5c31af7Sopenharmony_ci 4510e5c31af7Sopenharmony_ci void main() 4511e5c31af7Sopenharmony_ci { 4512e5c31af7Sopenharmony_ci o_color = $uniformBlock.uniformMember; 4513e5c31af7Sopenharmony_ci } 4514e5c31af7Sopenharmony_ci "" 4515e5c31af7Sopenharmony_ci end 4516e5c31af7Sopenharmony_ci case invalid_identifier_instance_name_vertex 4517e5c31af7Sopenharmony_ci version 300 es 4518e5c31af7Sopenharmony_ci expect compile_fail 4519e5c31af7Sopenharmony_ci 4520e5c31af7Sopenharmony_ci vertex "" 4521e5c31af7Sopenharmony_ci #version 300 es 4522e5c31af7Sopenharmony_ci precision highp float; 4523e5c31af7Sopenharmony_ci 4524e5c31af7Sopenharmony_ci 4525e5c31af7Sopenharmony_ci 4526e5c31af7Sopenharmony_ci uniform UniformBlock 4527e5c31af7Sopenharmony_ci { 4528e5c31af7Sopenharmony_ci vec4 uniformMember; 4529e5c31af7Sopenharmony_ci } gl_uniformBlock; 4530e5c31af7Sopenharmony_ci 4531e5c31af7Sopenharmony_ci void main() 4532e5c31af7Sopenharmony_ci { 4533e5c31af7Sopenharmony_ci gl_Position = gl_uniformBlock.uniformMember; 4534e5c31af7Sopenharmony_ci } 4535e5c31af7Sopenharmony_ci "" 4536e5c31af7Sopenharmony_ci 4537e5c31af7Sopenharmony_ci fragment "" 4538e5c31af7Sopenharmony_ci #version 300 es 4539e5c31af7Sopenharmony_ci precision highp float; 4540e5c31af7Sopenharmony_ci 4541e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 4542e5c31af7Sopenharmony_ci 4543e5c31af7Sopenharmony_ci void main() 4544e5c31af7Sopenharmony_ci { 4545e5c31af7Sopenharmony_ci o_color = vec4(1.0); 4546e5c31af7Sopenharmony_ci } 4547e5c31af7Sopenharmony_ci "" 4548e5c31af7Sopenharmony_ci end 4549e5c31af7Sopenharmony_ci case invalid_identifier_instance_name_fragment 4550e5c31af7Sopenharmony_ci version 300 es 4551e5c31af7Sopenharmony_ci expect compile_fail 4552e5c31af7Sopenharmony_ci 4553e5c31af7Sopenharmony_ci vertex "" 4554e5c31af7Sopenharmony_ci #version 300 es 4555e5c31af7Sopenharmony_ci precision highp float; 4556e5c31af7Sopenharmony_ci 4557e5c31af7Sopenharmony_ci in vec4 a_pos; 4558e5c31af7Sopenharmony_ci 4559e5c31af7Sopenharmony_ci void main() 4560e5c31af7Sopenharmony_ci { 4561e5c31af7Sopenharmony_ci gl_Position = a_pos; 4562e5c31af7Sopenharmony_ci } 4563e5c31af7Sopenharmony_ci "" 4564e5c31af7Sopenharmony_ci 4565e5c31af7Sopenharmony_ci fragment "" 4566e5c31af7Sopenharmony_ci #version 300 es 4567e5c31af7Sopenharmony_ci precision highp float; 4568e5c31af7Sopenharmony_ci 4569e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 4570e5c31af7Sopenharmony_ci 4571e5c31af7Sopenharmony_ci uniform UniformBlock 4572e5c31af7Sopenharmony_ci { 4573e5c31af7Sopenharmony_ci vec4 uniformMember; 4574e5c31af7Sopenharmony_ci } gl_uniformBlock; 4575e5c31af7Sopenharmony_ci 4576e5c31af7Sopenharmony_ci void main() 4577e5c31af7Sopenharmony_ci { 4578e5c31af7Sopenharmony_ci o_color = gl_uniformBlock.uniformMember; 4579e5c31af7Sopenharmony_ci } 4580e5c31af7Sopenharmony_ci "" 4581e5c31af7Sopenharmony_ci end 4582e5c31af7Sopenharmony_ci case repeated_block_vertex 4583e5c31af7Sopenharmony_ci version 300 es 4584e5c31af7Sopenharmony_ci expect compile_fail 4585e5c31af7Sopenharmony_ci 4586e5c31af7Sopenharmony_ci vertex "" 4587e5c31af7Sopenharmony_ci #version 300 es 4588e5c31af7Sopenharmony_ci precision highp float; 4589e5c31af7Sopenharmony_ci 4590e5c31af7Sopenharmony_ci 4591e5c31af7Sopenharmony_ci 4592e5c31af7Sopenharmony_ci uniform UniformBlock 4593e5c31af7Sopenharmony_ci { 4594e5c31af7Sopenharmony_ci vec4 uniformMember; 4595e5c31af7Sopenharmony_ci } uniformBlockA; 4596e5c31af7Sopenharmony_ci 4597e5c31af7Sopenharmony_ci uniform UniformBlock 4598e5c31af7Sopenharmony_ci { 4599e5c31af7Sopenharmony_ci vec4 uniformMember; 4600e5c31af7Sopenharmony_ci } uniformBlockB; 4601e5c31af7Sopenharmony_ci 4602e5c31af7Sopenharmony_ci void main() 4603e5c31af7Sopenharmony_ci { 4604e5c31af7Sopenharmony_ci gl_Position = uniformBlockA.uniformMember + uniformBlockB.uniformMember; 4605e5c31af7Sopenharmony_ci } 4606e5c31af7Sopenharmony_ci "" 4607e5c31af7Sopenharmony_ci 4608e5c31af7Sopenharmony_ci fragment "" 4609e5c31af7Sopenharmony_ci #version 300 es 4610e5c31af7Sopenharmony_ci precision highp float; 4611e5c31af7Sopenharmony_ci 4612e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 4613e5c31af7Sopenharmony_ci 4614e5c31af7Sopenharmony_ci void main() 4615e5c31af7Sopenharmony_ci { 4616e5c31af7Sopenharmony_ci o_color = vec4(1.0); 4617e5c31af7Sopenharmony_ci } 4618e5c31af7Sopenharmony_ci "" 4619e5c31af7Sopenharmony_ci end 4620e5c31af7Sopenharmony_ci case repeated_block_fragment 4621e5c31af7Sopenharmony_ci version 300 es 4622e5c31af7Sopenharmony_ci expect compile_fail 4623e5c31af7Sopenharmony_ci 4624e5c31af7Sopenharmony_ci vertex "" 4625e5c31af7Sopenharmony_ci #version 300 es 4626e5c31af7Sopenharmony_ci precision highp float; 4627e5c31af7Sopenharmony_ci 4628e5c31af7Sopenharmony_ci in vec4 a_pos; 4629e5c31af7Sopenharmony_ci 4630e5c31af7Sopenharmony_ci void main() 4631e5c31af7Sopenharmony_ci { 4632e5c31af7Sopenharmony_ci gl_Position = a_pos; 4633e5c31af7Sopenharmony_ci } 4634e5c31af7Sopenharmony_ci "" 4635e5c31af7Sopenharmony_ci 4636e5c31af7Sopenharmony_ci fragment "" 4637e5c31af7Sopenharmony_ci #version 300 es 4638e5c31af7Sopenharmony_ci precision highp float; 4639e5c31af7Sopenharmony_ci 4640e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 4641e5c31af7Sopenharmony_ci 4642e5c31af7Sopenharmony_ci uniform UniformBlock 4643e5c31af7Sopenharmony_ci { 4644e5c31af7Sopenharmony_ci vec4 uniformMember; 4645e5c31af7Sopenharmony_ci } uniformBlockA; 4646e5c31af7Sopenharmony_ci 4647e5c31af7Sopenharmony_ci uniform UniformBlock 4648e5c31af7Sopenharmony_ci { 4649e5c31af7Sopenharmony_ci vec4 uniformMember; 4650e5c31af7Sopenharmony_ci } uniformBlockB; 4651e5c31af7Sopenharmony_ci 4652e5c31af7Sopenharmony_ci void main() 4653e5c31af7Sopenharmony_ci { 4654e5c31af7Sopenharmony_ci o_color = uniformBlockA.uniformMember + uniformBlockB.uniformMember; 4655e5c31af7Sopenharmony_ci } 4656e5c31af7Sopenharmony_ci "" 4657e5c31af7Sopenharmony_ci end 4658e5c31af7Sopenharmony_ci case repeated_block_no_instance_name_vertex 4659e5c31af7Sopenharmony_ci version 300 es 4660e5c31af7Sopenharmony_ci expect compile_fail 4661e5c31af7Sopenharmony_ci 4662e5c31af7Sopenharmony_ci vertex "" 4663e5c31af7Sopenharmony_ci #version 300 es 4664e5c31af7Sopenharmony_ci precision highp float; 4665e5c31af7Sopenharmony_ci 4666e5c31af7Sopenharmony_ci 4667e5c31af7Sopenharmony_ci 4668e5c31af7Sopenharmony_ci uniform UniformBlock 4669e5c31af7Sopenharmony_ci { 4670e5c31af7Sopenharmony_ci vec4 uniformMember; 4671e5c31af7Sopenharmony_ci } uniformBlock; 4672e5c31af7Sopenharmony_ci 4673e5c31af7Sopenharmony_ci uniform UniformBlock 4674e5c31af7Sopenharmony_ci { 4675e5c31af7Sopenharmony_ci vec4 uniformMember; 4676e5c31af7Sopenharmony_ci }; 4677e5c31af7Sopenharmony_ci 4678e5c31af7Sopenharmony_ci void main() 4679e5c31af7Sopenharmony_ci { 4680e5c31af7Sopenharmony_ci gl_Position = uniformBlock.uniformMember + uniformMember; 4681e5c31af7Sopenharmony_ci } 4682e5c31af7Sopenharmony_ci "" 4683e5c31af7Sopenharmony_ci 4684e5c31af7Sopenharmony_ci fragment "" 4685e5c31af7Sopenharmony_ci #version 300 es 4686e5c31af7Sopenharmony_ci precision highp float; 4687e5c31af7Sopenharmony_ci 4688e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 4689e5c31af7Sopenharmony_ci 4690e5c31af7Sopenharmony_ci void main() 4691e5c31af7Sopenharmony_ci { 4692e5c31af7Sopenharmony_ci o_color = vec4(1.0); 4693e5c31af7Sopenharmony_ci } 4694e5c31af7Sopenharmony_ci "" 4695e5c31af7Sopenharmony_ci end 4696e5c31af7Sopenharmony_ci case repeated_block_no_instance_name_fragment 4697e5c31af7Sopenharmony_ci version 300 es 4698e5c31af7Sopenharmony_ci expect compile_fail 4699e5c31af7Sopenharmony_ci 4700e5c31af7Sopenharmony_ci vertex "" 4701e5c31af7Sopenharmony_ci #version 300 es 4702e5c31af7Sopenharmony_ci precision highp float; 4703e5c31af7Sopenharmony_ci 4704e5c31af7Sopenharmony_ci in vec4 a_pos; 4705e5c31af7Sopenharmony_ci 4706e5c31af7Sopenharmony_ci void main() 4707e5c31af7Sopenharmony_ci { 4708e5c31af7Sopenharmony_ci gl_Position = a_pos; 4709e5c31af7Sopenharmony_ci } 4710e5c31af7Sopenharmony_ci "" 4711e5c31af7Sopenharmony_ci 4712e5c31af7Sopenharmony_ci fragment "" 4713e5c31af7Sopenharmony_ci #version 300 es 4714e5c31af7Sopenharmony_ci precision highp float; 4715e5c31af7Sopenharmony_ci 4716e5c31af7Sopenharmony_ci layout(location=0) out vec4 o_color; 4717e5c31af7Sopenharmony_ci 4718e5c31af7Sopenharmony_ci uniform UniformBlock 4719e5c31af7Sopenharmony_ci { 4720e5c31af7Sopenharmony_ci vec4 uniformMember; 4721e5c31af7Sopenharmony_ci } uniformBlock; 4722e5c31af7Sopenharmony_ci 4723e5c31af7Sopenharmony_ci uniform UniformBlock 4724e5c31af7Sopenharmony_ci { 4725e5c31af7Sopenharmony_ci vec4 uniformMember; 4726e5c31af7Sopenharmony_ci }; 4727e5c31af7Sopenharmony_ci 4728e5c31af7Sopenharmony_ci void main() 4729e5c31af7Sopenharmony_ci { 4730e5c31af7Sopenharmony_ci o_color = uniformBlock.uniformMember + uniformMember; 4731e5c31af7Sopenharmony_ci } 4732e5c31af7Sopenharmony_ci "" 4733e5c31af7Sopenharmony_ci end 4734e5c31af7Sopenharmony_ci 4735e5c31af7Sopenharmony_ciend # invalid 4736