1e5c31af7Sopenharmony_cigroup builtins "Builtin Tests" 2e5c31af7Sopenharmony_ci 3e5c31af7Sopenharmony_ci case core_gl_FragColor 4e5c31af7Sopenharmony_ci version 420 5e5c31af7Sopenharmony_ci expect compile_fail 6e5c31af7Sopenharmony_ci vertex "" 7e5c31af7Sopenharmony_ci #version 420 8e5c31af7Sopenharmony_ci ${VERTEX_DECLARATIONS} 9e5c31af7Sopenharmony_ci void main() 10e5c31af7Sopenharmony_ci { 11e5c31af7Sopenharmony_ci ${VERTEX_OUTPUT} 12e5c31af7Sopenharmony_ci } 13e5c31af7Sopenharmony_ci "" 14e5c31af7Sopenharmony_ci fragment "" 15e5c31af7Sopenharmony_ci #version 420 16e5c31af7Sopenharmony_ci void main() 17e5c31af7Sopenharmony_ci { 18e5c31af7Sopenharmony_ci gl_FragColor = vec4(1.0); 19e5c31af7Sopenharmony_ci } 20e5c31af7Sopenharmony_ci "" 21e5c31af7Sopenharmony_ci end 22e5c31af7Sopenharmony_ci 23e5c31af7Sopenharmony_ci case core_gl_FragData 24e5c31af7Sopenharmony_ci version 420 25e5c31af7Sopenharmony_ci expect compile_fail 26e5c31af7Sopenharmony_ci vertex "" 27e5c31af7Sopenharmony_ci #version 420 28e5c31af7Sopenharmony_ci ${VERTEX_DECLARATIONS} 29e5c31af7Sopenharmony_ci void main() 30e5c31af7Sopenharmony_ci { 31e5c31af7Sopenharmony_ci ${VERTEX_OUTPUT} 32e5c31af7Sopenharmony_ci } 33e5c31af7Sopenharmony_ci "" 34e5c31af7Sopenharmony_ci fragment "" 35e5c31af7Sopenharmony_ci #version 420 36e5c31af7Sopenharmony_ci void main() 37e5c31af7Sopenharmony_ci { 38e5c31af7Sopenharmony_ci gl_FragData[0] = vec4(1.0, 1.0, 1.0, 1.0); 39e5c31af7Sopenharmony_ci } 40e5c31af7Sopenharmony_ci "" 41e5c31af7Sopenharmony_ci end 42e5c31af7Sopenharmony_ci 43e5c31af7Sopenharmony_ci case core_gl_MaxVaryingFloats 44e5c31af7Sopenharmony_ci version 420 45e5c31af7Sopenharmony_ci expect compile_fail 46e5c31af7Sopenharmony_ci vertex "" 47e5c31af7Sopenharmony_ci #version 420 48e5c31af7Sopenharmony_ci ${VERTEX_DECLARATIONS} 49e5c31af7Sopenharmony_ci void main() 50e5c31af7Sopenharmony_ci { 51e5c31af7Sopenharmony_ci ${VERTEX_OUTPUT} 52e5c31af7Sopenharmony_ci } 53e5c31af7Sopenharmony_ci "" 54e5c31af7Sopenharmony_ci fragment "" 55e5c31af7Sopenharmony_ci #version 420 56e5c31af7Sopenharmony_ci out vec4 color; 57e5c31af7Sopenharmony_ci void main() 58e5c31af7Sopenharmony_ci { 59e5c31af7Sopenharmony_ci color = vec4(float(gl_MaxVaryingFloats)); 60e5c31af7Sopenharmony_ci } 61e5c31af7Sopenharmony_ci "" 62e5c31af7Sopenharmony_ci end 63e5c31af7Sopenharmony_ci 64e5c31af7Sopenharmony_ci case core_texture_builtins 65e5c31af7Sopenharmony_ci version 420 66e5c31af7Sopenharmony_ci expect compile_fail 67e5c31af7Sopenharmony_ci vertex "" 68e5c31af7Sopenharmony_ci #version 420 69e5c31af7Sopenharmony_ci ${VERTEX_DECLARATIONS} 70e5c31af7Sopenharmony_ci void main() 71e5c31af7Sopenharmony_ci { 72e5c31af7Sopenharmony_ci ${VERTEX_OUTPUT} 73e5c31af7Sopenharmony_ci } 74e5c31af7Sopenharmony_ci "" 75e5c31af7Sopenharmony_ci fragment "" 76e5c31af7Sopenharmony_ci #version 420 77e5c31af7Sopenharmony_ci uniform sampler1D tex1d; 78e5c31af7Sopenharmony_ci uniform sampler2D tex2d; 79e5c31af7Sopenharmony_ci uniform sampler3D tex3d; 80e5c31af7Sopenharmony_ci uniform samplerCube texCube; 81e5c31af7Sopenharmony_ci 82e5c31af7Sopenharmony_ci uniform float i; 83e5c31af7Sopenharmony_ci uniform float dummy_f_coord; 84e5c31af7Sopenharmony_ci uniform vec2 dummy_v2_coord; 85e5c31af7Sopenharmony_ci uniform vec3 dummy_v3_coord; 86e5c31af7Sopenharmony_ci uniform vec4 dummy_v4_coord; 87e5c31af7Sopenharmony_ci out vec4 color; 88e5c31af7Sopenharmony_ci void main() 89e5c31af7Sopenharmony_ci { 90e5c31af7Sopenharmony_ci color = texture1D(tex1d, dummy_f_coord, i); 91e5c31af7Sopenharmony_ci color =+ texture1DProj(tex1d, dummy_v2_coord, i); 92e5c31af7Sopenharmony_ci color =+ texture1DProj(tex1d, dummy_v4_coord, i); 93e5c31af7Sopenharmony_ci color =+ texture1DLod(tex1d, dummy_f_coord, i); 94e5c31af7Sopenharmony_ci color =+ texture1DProjLod(tex1d, dummy_v2_coord, i); 95e5c31af7Sopenharmony_ci color =+ texture1DProjLod(tex1d, dummy_v4_coord, i); 96e5c31af7Sopenharmony_ci 97e5c31af7Sopenharmony_ci color =+ texture2D(tex2d, dummy_v2_coord, i); 98e5c31af7Sopenharmony_ci color =+ texture2DProj(tex2d, dummy_v3_coord, i); 99e5c31af7Sopenharmony_ci color =+ texture2DProj(tex2d, dummy_v4_coord, i); 100e5c31af7Sopenharmony_ci color =+ texture2DLod(tex2d, dummy_v2_coord, i); 101e5c31af7Sopenharmony_ci color =+ texture2DProjLod(tex2d, dummy_v3_coord, i); 102e5c31af7Sopenharmony_ci color =+ texture2DProjLod(tex2d, dummy_v4_coord, i); 103e5c31af7Sopenharmony_ci 104e5c31af7Sopenharmony_ci color =+ texture3D(tex3d, dummy_v3_coord, i); 105e5c31af7Sopenharmony_ci color =+ texture3DProj(tex3d, dummy_v4_coord, i); 106e5c31af7Sopenharmony_ci color =+ texture3DLod(tex3d, dummy_v3_coord, i); 107e5c31af7Sopenharmony_ci color =+ texture3DProjLod(tex3d, dummy_v4_coord, i); 108e5c31af7Sopenharmony_ci 109e5c31af7Sopenharmony_ci color =+ textureCube(texCube, dummy_v3_coord, i); 110e5c31af7Sopenharmony_ci color =+ textureCubeLod(texCube, dummy_v3_coord, i); 111e5c31af7Sopenharmony_ci } 112e5c31af7Sopenharmony_ci "" 113e5c31af7Sopenharmony_ci end 114e5c31af7Sopenharmony_ci 115e5c31af7Sopenharmony_ci case core_shadow_builtins 116e5c31af7Sopenharmony_ci version 420 117e5c31af7Sopenharmony_ci expect compile_fail 118e5c31af7Sopenharmony_ci vertex "" 119e5c31af7Sopenharmony_ci #version 420 120e5c31af7Sopenharmony_ci ${VERTEX_DECLARATIONS} 121e5c31af7Sopenharmony_ci void main() 122e5c31af7Sopenharmony_ci { 123e5c31af7Sopenharmony_ci ${VERTEX_OUTPUT} 124e5c31af7Sopenharmony_ci } 125e5c31af7Sopenharmony_ci "" 126e5c31af7Sopenharmony_ci fragment "" 127e5c31af7Sopenharmony_ci #version 420 128e5c31af7Sopenharmony_ci uniform sampler1DShadow tex1dshadow; 129e5c31af7Sopenharmony_ci uniform sampler2DShadow tex2dshadow; 130e5c31af7Sopenharmony_ci 131e5c31af7Sopenharmony_ci uniform float i; 132e5c31af7Sopenharmony_ci uniform vec3 dummy_v3_coord; 133e5c31af7Sopenharmony_ci uniform vec4 dummy_v4_coord; 134e5c31af7Sopenharmony_ci out vec4 color; 135e5c31af7Sopenharmony_ci void main() 136e5c31af7Sopenharmony_ci { 137e5c31af7Sopenharmony_ci color = shadow1D(tex1dshadow, dummy_v3_coord, i); 138e5c31af7Sopenharmony_ci color =+ shadow1DProj(tex1dshadow, dummy_v4_coord, i); 139e5c31af7Sopenharmony_ci color =+ shadow1DLod(tex1dshadow, dummy_v3_coord, i); 140e5c31af7Sopenharmony_ci color =+ shadow1DProjLod(tex1dshadow, dummy_v4_coord, i); 141e5c31af7Sopenharmony_ci 142e5c31af7Sopenharmony_ci color =+ shadow2D(tex2dshadow, dummy_v3_coord, i); 143e5c31af7Sopenharmony_ci color =+ shadow2DProj(tex2dshadow, dummy_v4_coord, i); 144e5c31af7Sopenharmony_ci color =+ shadow2DLod(tex2dshadow, dummy_v3_coord, i); 145e5c31af7Sopenharmony_ci color =+ shadow2DProjLod(tex2dshadow, dummy_v4_coord, i); 146e5c31af7Sopenharmony_ci } 147e5c31af7Sopenharmony_ci "" 148e5c31af7Sopenharmony_ci end 149e5c31af7Sopenharmony_ci 150e5c31af7Sopenharmony_ci case compatibility_gl_FragColor 151e5c31af7Sopenharmony_ci version 420 152e5c31af7Sopenharmony_ci vertex "" 153e5c31af7Sopenharmony_ci #version 420 compatibility 154e5c31af7Sopenharmony_ci ${VERTEX_DECLARATIONS} 155e5c31af7Sopenharmony_ci void main() 156e5c31af7Sopenharmony_ci { 157e5c31af7Sopenharmony_ci ${VERTEX_OUTPUT} 158e5c31af7Sopenharmony_ci } 159e5c31af7Sopenharmony_ci "" 160e5c31af7Sopenharmony_ci fragment "" 161e5c31af7Sopenharmony_ci #version 420 compatibility 162e5c31af7Sopenharmony_ci void main() 163e5c31af7Sopenharmony_ci { 164e5c31af7Sopenharmony_ci gl_FragColor = vec4(1.0); 165e5c31af7Sopenharmony_ci } 166e5c31af7Sopenharmony_ci "" 167e5c31af7Sopenharmony_ci end 168e5c31af7Sopenharmony_ci 169e5c31af7Sopenharmony_ci case compatibility_gl_FragData 170e5c31af7Sopenharmony_ci version 420 171e5c31af7Sopenharmony_ci vertex "" 172e5c31af7Sopenharmony_ci #version 420 compatibility 173e5c31af7Sopenharmony_ci ${VERTEX_DECLARATIONS} 174e5c31af7Sopenharmony_ci void main() 175e5c31af7Sopenharmony_ci { 176e5c31af7Sopenharmony_ci ${VERTEX_OUTPUT} 177e5c31af7Sopenharmony_ci } 178e5c31af7Sopenharmony_ci "" 179e5c31af7Sopenharmony_ci fragment "" 180e5c31af7Sopenharmony_ci #version 420 compatibility 181e5c31af7Sopenharmony_ci void main() 182e5c31af7Sopenharmony_ci { 183e5c31af7Sopenharmony_ci gl_FragData[0] = vec4(1.0, 1.0, 1.0, 1.0); 184e5c31af7Sopenharmony_ci } 185e5c31af7Sopenharmony_ci "" 186e5c31af7Sopenharmony_ci end 187e5c31af7Sopenharmony_ci 188e5c31af7Sopenharmony_ci case compatibility_gl_MaxVaryingFloats 189e5c31af7Sopenharmony_ci version 420 190e5c31af7Sopenharmony_ci vertex "" 191e5c31af7Sopenharmony_ci #version 420 compatibility 192e5c31af7Sopenharmony_ci ${VERTEX_DECLARATIONS} 193e5c31af7Sopenharmony_ci void main() 194e5c31af7Sopenharmony_ci { 195e5c31af7Sopenharmony_ci ${VERTEX_OUTPUT} 196e5c31af7Sopenharmony_ci } 197e5c31af7Sopenharmony_ci "" 198e5c31af7Sopenharmony_ci fragment "" 199e5c31af7Sopenharmony_ci #version 420 compatibility 200e5c31af7Sopenharmony_ci out vec4 color; 201e5c31af7Sopenharmony_ci void main() 202e5c31af7Sopenharmony_ci { 203e5c31af7Sopenharmony_ci color = vec4(float(gl_MaxVaryingFloats)); 204e5c31af7Sopenharmony_ci } 205e5c31af7Sopenharmony_ci "" 206e5c31af7Sopenharmony_ci end 207e5c31af7Sopenharmony_ci 208e5c31af7Sopenharmony_ci case compatibility_texture_builtins 209e5c31af7Sopenharmony_ci version 420 210e5c31af7Sopenharmony_ci vertex "" 211e5c31af7Sopenharmony_ci #version 420 compatibility 212e5c31af7Sopenharmony_ci ${VERTEX_DECLARATIONS} 213e5c31af7Sopenharmony_ci void main() 214e5c31af7Sopenharmony_ci { 215e5c31af7Sopenharmony_ci ${VERTEX_OUTPUT} 216e5c31af7Sopenharmony_ci } 217e5c31af7Sopenharmony_ci "" 218e5c31af7Sopenharmony_ci fragment "" 219e5c31af7Sopenharmony_ci #version 420 compatibility 220e5c31af7Sopenharmony_ci uniform sampler1D tex1d; 221e5c31af7Sopenharmony_ci uniform sampler2D tex2d; 222e5c31af7Sopenharmony_ci uniform sampler3D tex3d; 223e5c31af7Sopenharmony_ci uniform samplerCube texCube; 224e5c31af7Sopenharmony_ci 225e5c31af7Sopenharmony_ci uniform float i; 226e5c31af7Sopenharmony_ci uniform float dummy_f_coord; 227e5c31af7Sopenharmony_ci uniform vec2 dummy_v2_coord; 228e5c31af7Sopenharmony_ci uniform vec3 dummy_v3_coord; 229e5c31af7Sopenharmony_ci uniform vec4 dummy_v4_coord; 230e5c31af7Sopenharmony_ci out vec4 color; 231e5c31af7Sopenharmony_ci void main() 232e5c31af7Sopenharmony_ci { 233e5c31af7Sopenharmony_ci color = texture1D(tex1d, dummy_f_coord, i); 234e5c31af7Sopenharmony_ci color =+ texture1DProj(tex1d, dummy_v2_coord, i); 235e5c31af7Sopenharmony_ci color =+ texture1DProj(tex1d, dummy_v4_coord, i); 236e5c31af7Sopenharmony_ci color =+ texture1DLod(tex1d, dummy_f_coord, i); 237e5c31af7Sopenharmony_ci color =+ texture1DProjLod(tex1d, dummy_v2_coord, i); 238e5c31af7Sopenharmony_ci color =+ texture1DProjLod(tex1d, dummy_v4_coord, i); 239e5c31af7Sopenharmony_ci 240e5c31af7Sopenharmony_ci color =+ texture2D(tex2d, dummy_v2_coord, i); 241e5c31af7Sopenharmony_ci color =+ texture2DProj(tex2d, dummy_v3_coord, i); 242e5c31af7Sopenharmony_ci color =+ texture2DProj(tex2d, dummy_v4_coord, i); 243e5c31af7Sopenharmony_ci color =+ texture2DLod(tex2d, dummy_v2_coord, i); 244e5c31af7Sopenharmony_ci color =+ texture2DProjLod(tex2d, dummy_v3_coord, i); 245e5c31af7Sopenharmony_ci color =+ texture2DProjLod(tex2d, dummy_v4_coord, i); 246e5c31af7Sopenharmony_ci 247e5c31af7Sopenharmony_ci color =+ texture3D(tex3d, dummy_v3_coord, i); 248e5c31af7Sopenharmony_ci color =+ texture3DProj(tex3d, dummy_v4_coord, i); 249e5c31af7Sopenharmony_ci color =+ texture3DLod(tex3d, dummy_v3_coord, i); 250e5c31af7Sopenharmony_ci color =+ texture3DProjLod(tex3d, dummy_v4_coord, i); 251e5c31af7Sopenharmony_ci 252e5c31af7Sopenharmony_ci color =+ textureCube(texCube, dummy_v3_coord, i); 253e5c31af7Sopenharmony_ci color =+ textureCubeLod(texCube, dummy_v3_coord, i); 254e5c31af7Sopenharmony_ci } 255e5c31af7Sopenharmony_ci "" 256e5c31af7Sopenharmony_ci end 257e5c31af7Sopenharmony_ci 258e5c31af7Sopenharmony_ci case compatibility_shadow_builtins 259e5c31af7Sopenharmony_ci version 420 260e5c31af7Sopenharmony_ci vertex "" 261e5c31af7Sopenharmony_ci #version 420 compatibility 262e5c31af7Sopenharmony_ci ${VERTEX_DECLARATIONS} 263e5c31af7Sopenharmony_ci void main() 264e5c31af7Sopenharmony_ci { 265e5c31af7Sopenharmony_ci ${VERTEX_OUTPUT} 266e5c31af7Sopenharmony_ci } 267e5c31af7Sopenharmony_ci "" 268e5c31af7Sopenharmony_ci fragment "" 269e5c31af7Sopenharmony_ci #version 420 compatibility 270e5c31af7Sopenharmony_ci uniform sampler1DShadow tex1dshadow; 271e5c31af7Sopenharmony_ci uniform sampler2DShadow tex2dshadow; 272e5c31af7Sopenharmony_ci 273e5c31af7Sopenharmony_ci uniform float i; 274e5c31af7Sopenharmony_ci uniform vec3 dummy_v3_coord; 275e5c31af7Sopenharmony_ci uniform vec4 dummy_v4_coord; 276e5c31af7Sopenharmony_ci out vec4 color; 277e5c31af7Sopenharmony_ci void main() 278e5c31af7Sopenharmony_ci { 279e5c31af7Sopenharmony_ci color = shadow1D(tex1dshadow, dummy_v3_coord, i); 280e5c31af7Sopenharmony_ci color =+ shadow1DProj(tex1dshadow, dummy_v4_coord, i); 281e5c31af7Sopenharmony_ci color =+ shadow1DLod(tex1dshadow, dummy_v3_coord, i); 282e5c31af7Sopenharmony_ci color =+ shadow1DProjLod(tex1dshadow, dummy_v4_coord, i); 283e5c31af7Sopenharmony_ci 284e5c31af7Sopenharmony_ci color =+ shadow2D(tex2dshadow, dummy_v3_coord, i); 285e5c31af7Sopenharmony_ci color =+ shadow2DProj(tex2dshadow, dummy_v4_coord, i); 286e5c31af7Sopenharmony_ci color =+ shadow2DLod(tex2dshadow, dummy_v3_coord, i); 287e5c31af7Sopenharmony_ci color =+ shadow2DProjLod(tex2dshadow, dummy_v4_coord, i); 288e5c31af7Sopenharmony_ci } 289e5c31af7Sopenharmony_ci "" 290e5c31af7Sopenharmony_ci end 291e5c31af7Sopenharmony_ci 292e5c31af7Sopenharmony_ciend 293