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