blob: 6f0ac2801f15a9d7eb34198b72f959b9794c251f [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<TestPackage name="dEQP-GLES31" appPackageName="com.drawelements.deqp.gles31" testType="deqpTest">
<TestSuite name="dEQP-GLES31">
<TestCase name="info">
<Test name="renderer" />
<Test name="version" />
<Test name="shading_language_version" />
<Test name="extensions" />
<Test name="render_target" />
</TestCase>
<TestSuite name="functional">
<TestSuite name="shaders">
<TestSuite name="builtin_var">
<TestCase name="compute">
<Test name="num_work_groups" />
<Test name="work_group_size" />
<Test name="work_group_id" />
<Test name="local_invocation_id" />
<Test name="global_invocation_id" />
<Test name="local_invocation_index" />
</TestCase>
</TestSuite>
<TestSuite name="builtin_functions">
<TestSuite name="common">
<TestCase name="abs">
<Test name="float_lowp_geometry" />
<Test name="float_lowp_tess_control" />
<Test name="float_lowp_tess_eval" />
<Test name="float_lowp_compute" />
<Test name="float_mediump_geometry" />
<Test name="float_mediump_tess_control" />
<Test name="float_mediump_tess_eval" />
<Test name="float_mediump_compute" />
<Test name="float_highp_geometry" />
<Test name="float_highp_tess_control" />
<Test name="float_highp_tess_eval" />
<Test name="float_highp_compute" />
<Test name="vec2_lowp_geometry" />
<Test name="vec2_lowp_tess_control" />
<Test name="vec2_lowp_tess_eval" />
<Test name="vec2_lowp_compute" />
<Test name="vec2_mediump_geometry" />
<Test name="vec2_mediump_tess_control" />
<Test name="vec2_mediump_tess_eval" />
<Test name="vec2_mediump_compute" />
<Test name="vec2_highp_geometry" />
<Test name="vec2_highp_tess_control" />
<Test name="vec2_highp_tess_eval" />
<Test name="vec2_highp_compute" />
<Test name="vec3_lowp_geometry" />
<Test name="vec3_lowp_tess_control" />
<Test name="vec3_lowp_tess_eval" />
<Test name="vec3_lowp_compute" />
<Test name="vec3_mediump_geometry" />
<Test name="vec3_mediump_tess_control" />
<Test name="vec3_mediump_tess_eval" />
<Test name="vec3_mediump_compute" />
<Test name="vec3_highp_geometry" />
<Test name="vec3_highp_tess_control" />
<Test name="vec3_highp_tess_eval" />
<Test name="vec3_highp_compute" />
<Test name="vec4_lowp_geometry" />
<Test name="vec4_lowp_tess_control" />
<Test name="vec4_lowp_tess_eval" />
<Test name="vec4_lowp_compute" />
<Test name="vec4_mediump_geometry" />
<Test name="vec4_mediump_tess_control" />
<Test name="vec4_mediump_tess_eval" />
<Test name="vec4_mediump_compute" />
<Test name="vec4_highp_geometry" />
<Test name="vec4_highp_tess_control" />
<Test name="vec4_highp_tess_eval" />
<Test name="vec4_highp_compute" />
<Test name="int_lowp_geometry" />
<Test name="int_lowp_tess_control" />
<Test name="int_lowp_tess_eval" />
<Test name="int_lowp_compute" />
<Test name="int_mediump_geometry" />
<Test name="int_mediump_tess_control" />
<Test name="int_mediump_tess_eval" />
<Test name="int_mediump_compute" />
<Test name="int_highp_geometry" />
<Test name="int_highp_tess_control" />
<Test name="int_highp_tess_eval" />
<Test name="int_highp_compute" />
<Test name="ivec2_lowp_geometry" />
<Test name="ivec2_lowp_tess_control" />
<Test name="ivec2_lowp_tess_eval" />
<Test name="ivec2_lowp_compute" />
<Test name="ivec2_mediump_geometry" />
<Test name="ivec2_mediump_tess_control" />
<Test name="ivec2_mediump_tess_eval" />
<Test name="ivec2_mediump_compute" />
<Test name="ivec2_highp_geometry" />
<Test name="ivec2_highp_tess_control" />
<Test name="ivec2_highp_tess_eval" />
<Test name="ivec2_highp_compute" />
<Test name="ivec3_lowp_geometry" />
<Test name="ivec3_lowp_tess_control" />
<Test name="ivec3_lowp_tess_eval" />
<Test name="ivec3_lowp_compute" />
<Test name="ivec3_mediump_geometry" />
<Test name="ivec3_mediump_tess_control" />
<Test name="ivec3_mediump_tess_eval" />
<Test name="ivec3_mediump_compute" />
<Test name="ivec3_highp_geometry" />
<Test name="ivec3_highp_tess_control" />
<Test name="ivec3_highp_tess_eval" />
<Test name="ivec3_highp_compute" />
<Test name="ivec4_lowp_geometry" />
<Test name="ivec4_lowp_tess_control" />
<Test name="ivec4_lowp_tess_eval" />
<Test name="ivec4_lowp_compute" />
<Test name="ivec4_mediump_geometry" />
<Test name="ivec4_mediump_tess_control" />
<Test name="ivec4_mediump_tess_eval" />
<Test name="ivec4_mediump_compute" />
<Test name="ivec4_highp_geometry" />
<Test name="ivec4_highp_tess_control" />
<Test name="ivec4_highp_tess_eval" />
<Test name="ivec4_highp_compute" />
</TestCase>
<TestCase name="sign">
<Test name="float_lowp_geometry" />
<Test name="float_lowp_tess_control" />
<Test name="float_lowp_tess_eval" />
<Test name="float_lowp_compute" />
<Test name="float_mediump_geometry" />
<Test name="float_mediump_tess_control" />
<Test name="float_mediump_tess_eval" />
<Test name="float_mediump_compute" />
<Test name="float_highp_geometry" />
<Test name="float_highp_tess_control" />
<Test name="float_highp_tess_eval" />
<Test name="float_highp_compute" />
<Test name="vec2_lowp_geometry" />
<Test name="vec2_lowp_tess_control" />
<Test name="vec2_lowp_tess_eval" />
<Test name="vec2_lowp_compute" />
<Test name="vec2_mediump_geometry" />
<Test name="vec2_mediump_tess_control" />
<Test name="vec2_mediump_tess_eval" />
<Test name="vec2_mediump_compute" />
<Test name="vec2_highp_geometry" />
<Test name="vec2_highp_tess_control" />
<Test name="vec2_highp_tess_eval" />
<Test name="vec2_highp_compute" />
<Test name="vec3_lowp_geometry" />
<Test name="vec3_lowp_tess_control" />
<Test name="vec3_lowp_tess_eval" />
<Test name="vec3_lowp_compute" />
<Test name="vec3_mediump_geometry" />
<Test name="vec3_mediump_tess_control" />
<Test name="vec3_mediump_tess_eval" />
<Test name="vec3_mediump_compute" />
<Test name="vec3_highp_geometry" />
<Test name="vec3_highp_tess_control" />
<Test name="vec3_highp_tess_eval" />
<Test name="vec3_highp_compute" />
<Test name="vec4_lowp_geometry" />
<Test name="vec4_lowp_tess_control" />
<Test name="vec4_lowp_tess_eval" />
<Test name="vec4_lowp_compute" />
<Test name="vec4_mediump_geometry" />
<Test name="vec4_mediump_tess_control" />
<Test name="vec4_mediump_tess_eval" />
<Test name="vec4_mediump_compute" />
<Test name="vec4_highp_geometry" />
<Test name="vec4_highp_tess_control" />
<Test name="vec4_highp_tess_eval" />
<Test name="vec4_highp_compute" />
<Test name="int_lowp_geometry" />
<Test name="int_lowp_tess_control" />
<Test name="int_lowp_tess_eval" />
<Test name="int_lowp_compute" />
<Test name="int_mediump_geometry" />
<Test name="int_mediump_tess_control" />
<Test name="int_mediump_tess_eval" />
<Test name="int_mediump_compute" />
<Test name="int_highp_geometry" />
<Test name="int_highp_tess_control" />
<Test name="int_highp_tess_eval" />
<Test name="int_highp_compute" />
<Test name="ivec2_lowp_geometry" />
<Test name="ivec2_lowp_tess_control" />
<Test name="ivec2_lowp_tess_eval" />
<Test name="ivec2_lowp_compute" />
<Test name="ivec2_mediump_geometry" />
<Test name="ivec2_mediump_tess_control" />
<Test name="ivec2_mediump_tess_eval" />
<Test name="ivec2_mediump_compute" />
<Test name="ivec2_highp_geometry" />
<Test name="ivec2_highp_tess_control" />
<Test name="ivec2_highp_tess_eval" />
<Test name="ivec2_highp_compute" />
<Test name="ivec3_lowp_geometry" />
<Test name="ivec3_lowp_tess_control" />
<Test name="ivec3_lowp_tess_eval" />
<Test name="ivec3_lowp_compute" />
<Test name="ivec3_mediump_geometry" />
<Test name="ivec3_mediump_tess_control" />
<Test name="ivec3_mediump_tess_eval" />
<Test name="ivec3_mediump_compute" />
<Test name="ivec3_highp_geometry" />
<Test name="ivec3_highp_tess_control" />
<Test name="ivec3_highp_tess_eval" />
<Test name="ivec3_highp_compute" />
<Test name="ivec4_lowp_geometry" />
<Test name="ivec4_lowp_tess_control" />
<Test name="ivec4_lowp_tess_eval" />
<Test name="ivec4_lowp_compute" />
<Test name="ivec4_mediump_geometry" />
<Test name="ivec4_mediump_tess_control" />
<Test name="ivec4_mediump_tess_eval" />
<Test name="ivec4_mediump_compute" />
<Test name="ivec4_highp_geometry" />
<Test name="ivec4_highp_tess_control" />
<Test name="ivec4_highp_tess_eval" />
<Test name="ivec4_highp_compute" />
</TestCase>
<TestCase name="floor">
<Test name="float_lowp_geometry" />
<Test name="float_lowp_tess_control" />
<Test name="float_lowp_tess_eval" />
<Test name="float_lowp_compute" />
<Test name="float_mediump_geometry" />
<Test name="float_mediump_tess_control" />
<Test name="float_mediump_tess_eval" />
<Test name="float_mediump_compute" />
<Test name="float_highp_geometry" />
<Test name="float_highp_tess_control" />
<Test name="float_highp_tess_eval" />
<Test name="float_highp_compute" />
<Test name="vec2_lowp_geometry" />
<Test name="vec2_lowp_tess_control" />
<Test name="vec2_lowp_tess_eval" />
<Test name="vec2_lowp_compute" />
<Test name="vec2_mediump_geometry" />
<Test name="vec2_mediump_tess_control" />
<Test name="vec2_mediump_tess_eval" />
<Test name="vec2_mediump_compute" />
<Test name="vec2_highp_geometry" />
<Test name="vec2_highp_tess_control" />
<Test name="vec2_highp_tess_eval" />
<Test name="vec2_highp_compute" />
<Test name="vec3_lowp_geometry" />
<Test name="vec3_lowp_tess_control" />
<Test name="vec3_lowp_tess_eval" />
<Test name="vec3_lowp_compute" />
<Test name="vec3_mediump_geometry" />
<Test name="vec3_mediump_tess_control" />
<Test name="vec3_mediump_tess_eval" />
<Test name="vec3_mediump_compute" />
<Test name="vec3_highp_geometry" />
<Test name="vec3_highp_tess_control" />
<Test name="vec3_highp_tess_eval" />
<Test name="vec3_highp_compute" />
<Test name="vec4_lowp_geometry" />
<Test name="vec4_lowp_tess_control" />
<Test name="vec4_lowp_tess_eval" />
<Test name="vec4_lowp_compute" />
<Test name="vec4_mediump_geometry" />
<Test name="vec4_mediump_tess_control" />
<Test name="vec4_mediump_tess_eval" />
<Test name="vec4_mediump_compute" />
<Test name="vec4_highp_geometry" />
<Test name="vec4_highp_tess_control" />
<Test name="vec4_highp_tess_eval" />
<Test name="vec4_highp_compute" />
</TestCase>
<TestCase name="trunc">
<Test name="float_lowp_geometry" />
<Test name="float_lowp_tess_control" />
<Test name="float_lowp_tess_eval" />
<Test name="float_lowp_compute" />
<Test name="float_mediump_geometry" />
<Test name="float_mediump_tess_control" />
<Test name="float_mediump_tess_eval" />
<Test name="float_mediump_compute" />
<Test name="float_highp_geometry" />
<Test name="float_highp_tess_control" />
<Test name="float_highp_tess_eval" />
<Test name="float_highp_compute" />
<Test name="vec2_lowp_geometry" />
<Test name="vec2_lowp_tess_control" />
<Test name="vec2_lowp_tess_eval" />
<Test name="vec2_lowp_compute" />
<Test name="vec2_mediump_geometry" />
<Test name="vec2_mediump_tess_control" />
<Test name="vec2_mediump_tess_eval" />
<Test name="vec2_mediump_compute" />
<Test name="vec2_highp_geometry" />
<Test name="vec2_highp_tess_control" />
<Test name="vec2_highp_tess_eval" />
<Test name="vec2_highp_compute" />
<Test name="vec3_lowp_geometry" />
<Test name="vec3_lowp_tess_control" />
<Test name="vec3_lowp_tess_eval" />
<Test name="vec3_lowp_compute" />
<Test name="vec3_mediump_geometry" />
<Test name="vec3_mediump_tess_control" />
<Test name="vec3_mediump_tess_eval" />
<Test name="vec3_mediump_compute" />
<Test name="vec3_highp_geometry" />
<Test name="vec3_highp_tess_control" />
<Test name="vec3_highp_tess_eval" />
<Test name="vec3_highp_compute" />
<Test name="vec4_lowp_geometry" />
<Test name="vec4_lowp_tess_control" />
<Test name="vec4_lowp_tess_eval" />
<Test name="vec4_lowp_compute" />
<Test name="vec4_mediump_geometry" />
<Test name="vec4_mediump_tess_control" />
<Test name="vec4_mediump_tess_eval" />
<Test name="vec4_mediump_compute" />
<Test name="vec4_highp_geometry" />
<Test name="vec4_highp_tess_control" />
<Test name="vec4_highp_tess_eval" />
<Test name="vec4_highp_compute" />
</TestCase>
<TestCase name="round">
<Test name="float_lowp_geometry" />
<Test name="float_lowp_tess_control" />
<Test name="float_lowp_tess_eval" />
<Test name="float_lowp_compute" />
<Test name="float_mediump_geometry" />
<Test name="float_mediump_tess_control" />
<Test name="float_mediump_tess_eval" />
<Test name="float_mediump_compute" />
<Test name="float_highp_geometry" />
<Test name="float_highp_tess_control" />
<Test name="float_highp_tess_eval" />
<Test name="float_highp_compute" />
<Test name="vec2_lowp_geometry" />
<Test name="vec2_lowp_tess_control" />
<Test name="vec2_lowp_tess_eval" />
<Test name="vec2_lowp_compute" />
<Test name="vec2_mediump_geometry" />
<Test name="vec2_mediump_tess_control" />
<Test name="vec2_mediump_tess_eval" />
<Test name="vec2_mediump_compute" />
<Test name="vec2_highp_geometry" />
<Test name="vec2_highp_tess_control" />
<Test name="vec2_highp_tess_eval" />
<Test name="vec2_highp_compute" />
<Test name="vec3_lowp_geometry" />
<Test name="vec3_lowp_tess_control" />
<Test name="vec3_lowp_tess_eval" />
<Test name="vec3_lowp_compute" />
<Test name="vec3_mediump_geometry" />
<Test name="vec3_mediump_tess_control" />
<Test name="vec3_mediump_tess_eval" />
<Test name="vec3_mediump_compute" />
<Test name="vec3_highp_geometry" />
<Test name="vec3_highp_tess_control" />
<Test name="vec3_highp_tess_eval" />
<Test name="vec3_highp_compute" />
<Test name="vec4_lowp_geometry" />
<Test name="vec4_lowp_tess_control" />
<Test name="vec4_lowp_tess_eval" />
<Test name="vec4_lowp_compute" />
<Test name="vec4_mediump_geometry" />
<Test name="vec4_mediump_tess_control" />
<Test name="vec4_mediump_tess_eval" />
<Test name="vec4_mediump_compute" />
<Test name="vec4_highp_geometry" />
<Test name="vec4_highp_tess_control" />
<Test name="vec4_highp_tess_eval" />
<Test name="vec4_highp_compute" />
</TestCase>
<TestCase name="roundeven">
<Test name="float_lowp_geometry" />
<Test name="float_lowp_tess_control" />
<Test name="float_lowp_tess_eval" />
<Test name="float_lowp_compute" />
<Test name="float_mediump_geometry" />
<Test name="float_mediump_tess_control" />
<Test name="float_mediump_tess_eval" />
<Test name="float_mediump_compute" />
<Test name="float_highp_geometry" />
<Test name="float_highp_tess_control" />
<Test name="float_highp_tess_eval" />
<Test name="float_highp_compute" />
<Test name="vec2_lowp_geometry" />
<Test name="vec2_lowp_tess_control" />
<Test name="vec2_lowp_tess_eval" />
<Test name="vec2_lowp_compute" />
<Test name="vec2_mediump_geometry" />
<Test name="vec2_mediump_tess_control" />
<Test name="vec2_mediump_tess_eval" />
<Test name="vec2_mediump_compute" />
<Test name="vec2_highp_geometry" />
<Test name="vec2_highp_tess_control" />
<Test name="vec2_highp_tess_eval" />
<Test name="vec2_highp_compute" />
<Test name="vec3_lowp_geometry" />
<Test name="vec3_lowp_tess_control" />
<Test name="vec3_lowp_tess_eval" />
<Test name="vec3_lowp_compute" />
<Test name="vec3_mediump_geometry" />
<Test name="vec3_mediump_tess_control" />
<Test name="vec3_mediump_tess_eval" />
<Test name="vec3_mediump_compute" />
<Test name="vec3_highp_geometry" />
<Test name="vec3_highp_tess_control" />
<Test name="vec3_highp_tess_eval" />
<Test name="vec3_highp_compute" />
<Test name="vec4_lowp_geometry" />
<Test name="vec4_lowp_tess_control" />
<Test name="vec4_lowp_tess_eval" />
<Test name="vec4_lowp_compute" />
<Test name="vec4_mediump_geometry" />
<Test name="vec4_mediump_tess_control" />
<Test name="vec4_mediump_tess_eval" />
<Test name="vec4_mediump_compute" />
<Test name="vec4_highp_geometry" />
<Test name="vec4_highp_tess_control" />
<Test name="vec4_highp_tess_eval" />
<Test name="vec4_highp_compute" />
</TestCase>
<TestCase name="ceil">
<Test name="float_lowp_geometry" />
<Test name="float_lowp_tess_control" />
<Test name="float_lowp_tess_eval" />
<Test name="float_lowp_compute" />
<Test name="float_mediump_geometry" />
<Test name="float_mediump_tess_control" />
<Test name="float_mediump_tess_eval" />
<Test name="float_mediump_compute" />
<Test name="float_highp_geometry" />
<Test name="float_highp_tess_control" />
<Test name="float_highp_tess_eval" />
<Test name="float_highp_compute" />
<Test name="vec2_lowp_geometry" />
<Test name="vec2_lowp_tess_control" />
<Test name="vec2_lowp_tess_eval" />
<Test name="vec2_lowp_compute" />
<Test name="vec2_mediump_geometry" />
<Test name="vec2_mediump_tess_control" />
<Test name="vec2_mediump_tess_eval" />
<Test name="vec2_mediump_compute" />
<Test name="vec2_highp_geometry" />
<Test name="vec2_highp_tess_control" />
<Test name="vec2_highp_tess_eval" />
<Test name="vec2_highp_compute" />
<Test name="vec3_lowp_geometry" />
<Test name="vec3_lowp_tess_control" />
<Test name="vec3_lowp_tess_eval" />
<Test name="vec3_lowp_compute" />
<Test name="vec3_mediump_geometry" />
<Test name="vec3_mediump_tess_control" />
<Test name="vec3_mediump_tess_eval" />
<Test name="vec3_mediump_compute" />
<Test name="vec3_highp_geometry" />
<Test name="vec3_highp_tess_control" />
<Test name="vec3_highp_tess_eval" />
<Test name="vec3_highp_compute" />
<Test name="vec4_lowp_geometry" />
<Test name="vec4_lowp_tess_control" />
<Test name="vec4_lowp_tess_eval" />
<Test name="vec4_lowp_compute" />
<Test name="vec4_mediump_geometry" />
<Test name="vec4_mediump_tess_control" />
<Test name="vec4_mediump_tess_eval" />
<Test name="vec4_mediump_compute" />
<Test name="vec4_highp_geometry" />
<Test name="vec4_highp_tess_control" />
<Test name="vec4_highp_tess_eval" />
<Test name="vec4_highp_compute" />
</TestCase>
<TestCase name="fract">
<Test name="float_lowp_geometry" />
<Test name="float_lowp_tess_control" />
<Test name="float_lowp_tess_eval" />
<Test name="float_lowp_compute" />
<Test name="float_mediump_geometry" />
<Test name="float_mediump_tess_control" />
<Test name="float_mediump_tess_eval" />
<Test name="float_mediump_compute" />
<Test name="float_highp_geometry" />
<Test name="float_highp_tess_control" />
<Test name="float_highp_tess_eval" />
<Test name="float_highp_compute" />
<Test name="vec2_lowp_geometry" />
<Test name="vec2_lowp_tess_control" />
<Test name="vec2_lowp_tess_eval" />
<Test name="vec2_lowp_compute" />
<Test name="vec2_mediump_geometry" />
<Test name="vec2_mediump_tess_control" />
<Test name="vec2_mediump_tess_eval" />
<Test name="vec2_mediump_compute" />
<Test name="vec2_highp_geometry" />
<Test name="vec2_highp_tess_control" />
<Test name="vec2_highp_tess_eval" />
<Test name="vec2_highp_compute" />
<Test name="vec3_lowp_geometry" />
<Test name="vec3_lowp_tess_control" />
<Test name="vec3_lowp_tess_eval" />
<Test name="vec3_lowp_compute" />
<Test name="vec3_mediump_geometry" />
<Test name="vec3_mediump_tess_control" />
<Test name="vec3_mediump_tess_eval" />
<Test name="vec3_mediump_compute" />
<Test name="vec3_highp_geometry" />
<Test name="vec3_highp_tess_control" />
<Test name="vec3_highp_tess_eval" />
<Test name="vec3_highp_compute" />
<Test name="vec4_lowp_geometry" />
<Test name="vec4_lowp_tess_control" />
<Test name="vec4_lowp_tess_eval" />
<Test name="vec4_lowp_compute" />
<Test name="vec4_mediump_geometry" />
<Test name="vec4_mediump_tess_control" />
<Test name="vec4_mediump_tess_eval" />
<Test name="vec4_mediump_compute" />
<Test name="vec4_highp_geometry" />
<Test name="vec4_highp_tess_control" />
<Test name="vec4_highp_tess_eval" />
<Test name="vec4_highp_compute" />
</TestCase>
<TestCase name="modf">
<Test name="float_lowp_geometry" />
<Test name="float_lowp_tess_control" />
<Test name="float_lowp_tess_eval" />
<Test name="float_lowp_compute" />
<Test name="float_mediump_geometry" />
<Test name="float_mediump_tess_control" />
<Test name="float_mediump_tess_eval" />
<Test name="float_mediump_compute" />
<Test name="float_highp_geometry" />
<Test name="float_highp_tess_control" />
<Test name="float_highp_tess_eval" />
<Test name="float_highp_compute" />
<Test name="vec2_lowp_geometry" />
<Test name="vec2_lowp_tess_control" />
<Test name="vec2_lowp_tess_eval" />
<Test name="vec2_lowp_compute" />
<Test name="vec2_mediump_geometry" />
<Test name="vec2_mediump_tess_control" />
<Test name="vec2_mediump_tess_eval" />
<Test name="vec2_mediump_compute" />
<Test name="vec2_highp_geometry" />
<Test name="vec2_highp_tess_control" />
<Test name="vec2_highp_tess_eval" />
<Test name="vec2_highp_compute" />
<Test name="vec3_lowp_geometry" />
<Test name="vec3_lowp_tess_control" />
<Test name="vec3_lowp_tess_eval" />
<Test name="vec3_lowp_compute" />
<Test name="vec3_mediump_geometry" />
<Test name="vec3_mediump_tess_control" />
<Test name="vec3_mediump_tess_eval" />
<Test name="vec3_mediump_compute" />
<Test name="vec3_highp_geometry" />
<Test name="vec3_highp_tess_control" />
<Test name="vec3_highp_tess_eval" />
<Test name="vec3_highp_compute" />
<Test name="vec4_lowp_geometry" />
<Test name="vec4_lowp_tess_control" />
<Test name="vec4_lowp_tess_eval" />
<Test name="vec4_lowp_compute" />
<Test name="vec4_mediump_geometry" />
<Test name="vec4_mediump_tess_control" />
<Test name="vec4_mediump_tess_eval" />
<Test name="vec4_mediump_compute" />
<Test name="vec4_highp_geometry" />
<Test name="vec4_highp_tess_control" />
<Test name="vec4_highp_tess_eval" />
<Test name="vec4_highp_compute" />
</TestCase>
<TestCase name="isnan">
<Test name="float_lowp_geometry" />
<Test name="float_lowp_tess_control" />
<Test name="float_lowp_tess_eval" />
<Test name="float_lowp_compute" />
<Test name="float_mediump_geometry" />
<Test name="float_mediump_tess_control" />
<Test name="float_mediump_tess_eval" />
<Test name="float_mediump_compute" />
<Test name="float_highp_geometry" />
<Test name="float_highp_tess_control" />
<Test name="float_highp_tess_eval" />
<Test name="float_highp_compute" />
<Test name="vec2_lowp_geometry" />
<Test name="vec2_lowp_tess_control" />
<Test name="vec2_lowp_tess_eval" />
<Test name="vec2_lowp_compute" />
<Test name="vec2_mediump_geometry" />
<Test name="vec2_mediump_tess_control" />
<Test name="vec2_mediump_tess_eval" />
<Test name="vec2_mediump_compute" />
<Test name="vec2_highp_geometry" />
<Test name="vec2_highp_tess_control" />
<Test name="vec2_highp_tess_eval" />
<Test name="vec2_highp_compute" />
<Test name="vec3_lowp_geometry" />
<Test name="vec3_lowp_tess_control" />
<Test name="vec3_lowp_tess_eval" />
<Test name="vec3_lowp_compute" />
<Test name="vec3_mediump_geometry" />
<Test name="vec3_mediump_tess_control" />
<Test name="vec3_mediump_tess_eval" />
<Test name="vec3_mediump_compute" />
<Test name="vec3_highp_geometry" />
<Test name="vec3_highp_tess_control" />
<Test name="vec3_highp_tess_eval" />
<Test name="vec3_highp_compute" />
<Test name="vec4_lowp_geometry" />
<Test name="vec4_lowp_tess_control" />
<Test name="vec4_lowp_tess_eval" />
<Test name="vec4_lowp_compute" />
<Test name="vec4_mediump_geometry" />
<Test name="vec4_mediump_tess_control" />
<Test name="vec4_mediump_tess_eval" />
<Test name="vec4_mediump_compute" />
<Test name="vec4_highp_geometry" />
<Test name="vec4_highp_tess_control" />
<Test name="vec4_highp_tess_eval" />
<Test name="vec4_highp_compute" />
</TestCase>
<TestCase name="isinf">
<Test name="float_lowp_geometry" />
<Test name="float_lowp_tess_control" />
<Test name="float_lowp_tess_eval" />
<Test name="float_lowp_compute" />
<Test name="float_mediump_geometry" />
<Test name="float_mediump_tess_control" />
<Test name="float_mediump_tess_eval" />
<Test name="float_mediump_compute" />
<Test name="float_highp_geometry" />
<Test name="float_highp_tess_control" />
<Test name="float_highp_tess_eval" />
<Test name="float_highp_compute" />
<Test name="vec2_lowp_geometry" />
<Test name="vec2_lowp_tess_control" />
<Test name="vec2_lowp_tess_eval" />
<Test name="vec2_lowp_compute" />
<Test name="vec2_mediump_geometry" />
<Test name="vec2_mediump_tess_control" />
<Test name="vec2_mediump_tess_eval" />
<Test name="vec2_mediump_compute" />
<Test name="vec2_highp_geometry" />
<Test name="vec2_highp_tess_control" />
<Test name="vec2_highp_tess_eval" />
<Test name="vec2_highp_compute" />
<Test name="vec3_lowp_geometry" />
<Test name="vec3_lowp_tess_control" />
<Test name="vec3_lowp_tess_eval" />
<Test name="vec3_lowp_compute" />
<Test name="vec3_mediump_geometry" />
<Test name="vec3_mediump_tess_control" />
<Test name="vec3_mediump_tess_eval" />
<Test name="vec3_mediump_compute" />
<Test name="vec3_highp_geometry" />
<Test name="vec3_highp_tess_control" />
<Test name="vec3_highp_tess_eval" />
<Test name="vec3_highp_compute" />
<Test name="vec4_lowp_geometry" />
<Test name="vec4_lowp_tess_control" />
<Test name="vec4_lowp_tess_eval" />
<Test name="vec4_lowp_compute" />
<Test name="vec4_mediump_geometry" />
<Test name="vec4_mediump_tess_control" />
<Test name="vec4_mediump_tess_eval" />
<Test name="vec4_mediump_compute" />
<Test name="vec4_highp_geometry" />
<Test name="vec4_highp_tess_control" />
<Test name="vec4_highp_tess_eval" />
<Test name="vec4_highp_compute" />
</TestCase>
<TestCase name="floatbitstoint">
<Test name="float_lowp_geometry" />
<Test name="float_lowp_tess_control" />
<Test name="float_lowp_tess_eval" />
<Test name="float_lowp_compute" />
<Test name="float_mediump_geometry" />
<Test name="float_mediump_tess_control" />
<Test name="float_mediump_tess_eval" />
<Test name="float_mediump_compute" />
<Test name="float_highp_geometry" />
<Test name="float_highp_tess_control" />
<Test name="float_highp_tess_eval" />
<Test name="float_highp_compute" />
<Test name="vec2_lowp_geometry" />
<Test name="vec2_lowp_tess_control" />
<Test name="vec2_lowp_tess_eval" />
<Test name="vec2_lowp_compute" />
<Test name="vec2_mediump_geometry" />
<Test name="vec2_mediump_tess_control" />
<Test name="vec2_mediump_tess_eval" />
<Test name="vec2_mediump_compute" />
<Test name="vec2_highp_geometry" />
<Test name="vec2_highp_tess_control" />
<Test name="vec2_highp_tess_eval" />
<Test name="vec2_highp_compute" />
<Test name="vec3_lowp_geometry" />
<Test name="vec3_lowp_tess_control" />
<Test name="vec3_lowp_tess_eval" />
<Test name="vec3_lowp_compute" />
<Test name="vec3_mediump_geometry" />
<Test name="vec3_mediump_tess_control" />
<Test name="vec3_mediump_tess_eval" />
<Test name="vec3_mediump_compute" />
<Test name="vec3_highp_geometry" />
<Test name="vec3_highp_tess_control" />
<Test name="vec3_highp_tess_eval" />
<Test name="vec3_highp_compute" />
<Test name="vec4_lowp_geometry" />
<Test name="vec4_lowp_tess_control" />
<Test name="vec4_lowp_tess_eval" />
<Test name="vec4_lowp_compute" />
<Test name="vec4_mediump_geometry" />
<Test name="vec4_mediump_tess_control" />
<Test name="vec4_mediump_tess_eval" />
<Test name="vec4_mediump_compute" />
<Test name="vec4_highp_geometry" />
<Test name="vec4_highp_tess_control" />
<Test name="vec4_highp_tess_eval" />
<Test name="vec4_highp_compute" />
</TestCase>
<TestCase name="floatbitstouint">
<Test name="float_lowp_geometry" />
<Test name="float_lowp_tess_control" />
<Test name="float_lowp_tess_eval" />
<Test name="float_lowp_compute" />
<Test name="float_mediump_geometry" />
<Test name="float_mediump_tess_control" />
<Test name="float_mediump_tess_eval" />
<Test name="float_mediump_compute" />
<Test name="float_highp_geometry" />
<Test name="float_highp_tess_control" />
<Test name="float_highp_tess_eval" />
<Test name="float_highp_compute" />
<Test name="vec2_lowp_geometry" />
<Test name="vec2_lowp_tess_control" />
<Test name="vec2_lowp_tess_eval" />
<Test name="vec2_lowp_compute" />
<Test name="vec2_mediump_geometry" />
<Test name="vec2_mediump_tess_control" />
<Test name="vec2_mediump_tess_eval" />
<Test name="vec2_mediump_compute" />
<Test name="vec2_highp_geometry" />
<Test name="vec2_highp_tess_control" />
<Test name="vec2_highp_tess_eval" />
<Test name="vec2_highp_compute" />
<Test name="vec3_lowp_geometry" />
<Test name="vec3_lowp_tess_control" />
<Test name="vec3_lowp_tess_eval" />
<Test name="vec3_lowp_compute" />
<Test name="vec3_mediump_geometry" />
<Test name="vec3_mediump_tess_control" />
<Test name="vec3_mediump_tess_eval" />
<Test name="vec3_mediump_compute" />
<Test name="vec3_highp_geometry" />
<Test name="vec3_highp_tess_control" />
<Test name="vec3_highp_tess_eval" />
<Test name="vec3_highp_compute" />
<Test name="vec4_lowp_geometry" />
<Test name="vec4_lowp_tess_control" />
<Test name="vec4_lowp_tess_eval" />
<Test name="vec4_lowp_compute" />
<Test name="vec4_mediump_geometry" />
<Test name="vec4_mediump_tess_control" />
<Test name="vec4_mediump_tess_eval" />
<Test name="vec4_mediump_compute" />
<Test name="vec4_highp_geometry" />
<Test name="vec4_highp_tess_control" />
<Test name="vec4_highp_tess_eval" />
<Test name="vec4_highp_compute" />
</TestCase>
<TestCase name="frexp">
<Test name="float_lowp_vertex" />
<Test name="float_lowp_geometry" />
<Test name="float_lowp_tess_control" />
<Test name="float_lowp_tess_eval" />
<Test name="float_lowp_compute" />
<Test name="float_mediump_vertex" />
<Test name="float_mediump_geometry" />
<Test name="float_mediump_tess_control" />
<Test name="float_mediump_tess_eval" />
<Test name="float_mediump_compute" />
<Test name="float_highp_vertex" />
<Test name="float_highp_geometry" />
<Test name="float_highp_tess_control" />
<Test name="float_highp_tess_eval" />
<Test name="float_highp_compute" />
<Test name="vec2_lowp_vertex" />
<Test name="vec2_lowp_geometry" />
<Test name="vec2_lowp_tess_control" />
<Test name="vec2_lowp_tess_eval" />
<Test name="vec2_lowp_compute" />
<Test name="vec2_mediump_vertex" />
<Test name="vec2_mediump_geometry" />
<Test name="vec2_mediump_tess_control" />
<Test name="vec2_mediump_tess_eval" />
<Test name="vec2_mediump_compute" />
<Test name="vec2_highp_vertex" />
<Test name="vec2_highp_geometry" />
<Test name="vec2_highp_tess_control" />
<Test name="vec2_highp_tess_eval" />
<Test name="vec2_highp_compute" />
<Test name="vec3_lowp_vertex" />
<Test name="vec3_lowp_geometry" />
<Test name="vec3_lowp_tess_control" />
<Test name="vec3_lowp_tess_eval" />
<Test name="vec3_lowp_compute" />
<Test name="vec3_mediump_vertex" />
<Test name="vec3_mediump_geometry" />
<Test name="vec3_mediump_tess_control" />
<Test name="vec3_mediump_tess_eval" />
<Test name="vec3_mediump_compute" />
<Test name="vec3_highp_vertex" />
<Test name="vec3_highp_geometry" />
<Test name="vec3_highp_tess_control" />
<Test name="vec3_highp_tess_eval" />
<Test name="vec3_highp_compute" />
<Test name="vec4_lowp_vertex" />
<Test name="vec4_lowp_geometry" />
<Test name="vec4_lowp_tess_control" />
<Test name="vec4_lowp_tess_eval" />
<Test name="vec4_lowp_compute" />
<Test name="vec4_mediump_vertex" />
<Test name="vec4_mediump_geometry" />
<Test name="vec4_mediump_tess_control" />
<Test name="vec4_mediump_tess_eval" />
<Test name="vec4_mediump_compute" />
<Test name="vec4_highp_vertex" />
<Test name="vec4_highp_geometry" />
<Test name="vec4_highp_tess_control" />
<Test name="vec4_highp_tess_eval" />
<Test name="vec4_highp_compute" />
</TestCase>
<TestCase name="ldexp">
<Test name="float_lowp_vertex" />
<Test name="float_lowp_fragment" />
<Test name="float_lowp_geometry" />
<Test name="float_lowp_tess_control" />
<Test name="float_lowp_tess_eval" />
<Test name="float_lowp_compute" />
<Test name="float_mediump_vertex" />
<Test name="float_mediump_fragment" />
<Test name="float_mediump_geometry" />
<Test name="float_mediump_tess_control" />
<Test name="float_mediump_tess_eval" />
<Test name="float_mediump_compute" />
<Test name="float_highp_vertex" />
<Test name="float_highp_fragment" />
<Test name="float_highp_geometry" />
<Test name="float_highp_tess_control" />
<Test name="float_highp_tess_eval" />
<Test name="float_highp_compute" />
<Test name="vec2_lowp_vertex" />
<Test name="vec2_lowp_fragment" />
<Test name="vec2_lowp_geometry" />
<Test name="vec2_lowp_tess_control" />
<Test name="vec2_lowp_tess_eval" />
<Test name="vec2_lowp_compute" />
<Test name="vec2_mediump_vertex" />
<Test name="vec2_mediump_fragment" />
<Test name="vec2_mediump_geometry" />
<Test name="vec2_mediump_tess_control" />
<Test name="vec2_mediump_tess_eval" />
<Test name="vec2_mediump_compute" />
<Test name="vec2_highp_vertex" />
<Test name="vec2_highp_fragment" />
<Test name="vec2_highp_geometry" />
<Test name="vec2_highp_tess_control" />
<Test name="vec2_highp_tess_eval" />
<Test name="vec2_highp_compute" />
<Test name="vec3_lowp_vertex" />
<Test name="vec3_lowp_fragment" />
<Test name="vec3_lowp_geometry" />
<Test name="vec3_lowp_tess_control" />
<Test name="vec3_lowp_tess_eval" />
<Test name="vec3_lowp_compute" />
<Test name="vec3_mediump_vertex" />
<Test name="vec3_mediump_fragment" />
<Test name="vec3_mediump_geometry" />
<Test name="vec3_mediump_tess_control" />
<Test name="vec3_mediump_tess_eval" />
<Test name="vec3_mediump_compute" />
<Test name="vec3_highp_vertex" />
<Test name="vec3_highp_fragment" />
<Test name="vec3_highp_geometry" />
<Test name="vec3_highp_tess_control" />
<Test name="vec3_highp_tess_eval" />
<Test name="vec3_highp_compute" />
<Test name="vec4_lowp_vertex" />
<Test name="vec4_lowp_fragment" />
<Test name="vec4_lowp_geometry" />
<Test name="vec4_lowp_tess_control" />
<Test name="vec4_lowp_tess_eval" />
<Test name="vec4_lowp_compute" />
<Test name="vec4_mediump_vertex" />
<Test name="vec4_mediump_fragment" />
<Test name="vec4_mediump_geometry" />
<Test name="vec4_mediump_tess_control" />
<Test name="vec4_mediump_tess_eval" />
<Test name="vec4_mediump_compute" />
<Test name="vec4_highp_vertex" />
<Test name="vec4_highp_fragment" />
<Test name="vec4_highp_geometry" />
<Test name="vec4_highp_tess_control" />
<Test name="vec4_highp_tess_eval" />
<Test name="vec4_highp_compute" />
</TestCase>
<TestCase name="fma">
<Test name="float_lowp_vertex" />
<Test name="float_lowp_fragment" />
<Test name="float_lowp_geometry" />
<Test name="float_lowp_tess_control" />
<Test name="float_lowp_tess_eval" />
<Test name="float_lowp_compute" />
<Test name="float_mediump_vertex" />
<Test name="float_mediump_fragment" />
<Test name="float_mediump_geometry" />
<Test name="float_mediump_tess_control" />
<Test name="float_mediump_tess_eval" />
<Test name="float_mediump_compute" />
<Test name="float_highp_vertex" />
<Test name="float_highp_fragment" />
<Test name="float_highp_geometry" />
<Test name="float_highp_tess_control" />
<Test name="float_highp_tess_eval" />
<Test name="float_highp_compute" />
<Test name="vec2_lowp_vertex" />
<Test name="vec2_lowp_fragment" />
<Test name="vec2_lowp_geometry" />
<Test name="vec2_lowp_tess_control" />
<Test name="vec2_lowp_tess_eval" />
<Test name="vec2_lowp_compute" />
<Test name="vec2_mediump_vertex" />
<Test name="vec2_mediump_fragment" />
<Test name="vec2_mediump_geometry" />
<Test name="vec2_mediump_tess_control" />
<Test name="vec2_mediump_tess_eval" />
<Test name="vec2_mediump_compute" />
<Test name="vec2_highp_vertex" />
<Test name="vec2_highp_fragment" />
<Test name="vec2_highp_geometry" />
<Test name="vec2_highp_tess_control" />
<Test name="vec2_highp_tess_eval" />
<Test name="vec2_highp_compute" />
<Test name="vec3_lowp_vertex" />
<Test name="vec3_lowp_fragment" />
<Test name="vec3_lowp_geometry" />
<Test name="vec3_lowp_tess_control" />
<Test name="vec3_lowp_tess_eval" />
<Test name="vec3_lowp_compute" />
<Test name="vec3_mediump_vertex" />
<Test name="vec3_mediump_fragment" />
<Test name="vec3_mediump_geometry" />
<Test name="vec3_mediump_tess_control" />
<Test name="vec3_mediump_tess_eval" />
<Test name="vec3_mediump_compute" />
<Test name="vec3_highp_vertex" />
<Test name="vec3_highp_fragment" />
<Test name="vec3_highp_geometry" />
<Test name="vec3_highp_tess_control" />
<Test name="vec3_highp_tess_eval" />
<Test name="vec3_highp_compute" />
<Test name="vec4_lowp_vertex" />
<Test name="vec4_lowp_fragment" />
<Test name="vec4_lowp_geometry" />
<Test name="vec4_lowp_tess_control" />
<Test name="vec4_lowp_tess_eval" />
<Test name="vec4_lowp_compute" />
<Test name="vec4_mediump_vertex" />
<Test name="vec4_mediump_fragment" />
<Test name="vec4_mediump_geometry" />
<Test name="vec4_mediump_tess_control" />
<Test name="vec4_mediump_tess_eval" />
<Test name="vec4_mediump_compute" />
<Test name="vec4_highp_vertex" />
<Test name="vec4_highp_fragment" />
<Test name="vec4_highp_geometry" />
<Test name="vec4_highp_tess_control" />
<Test name="vec4_highp_tess_eval" />
<Test name="vec4_highp_compute" />
</TestCase>
<TestCase name="intbitstofloat">
<Test name="int_highp_geometry" />
<Test name="int_highp_tess_control" />
<Test name="int_highp_tess_eval" />
<Test name="int_highp_compute" />
<Test name="ivec2_highp_geometry" />
<Test name="ivec2_highp_tess_control" />
<Test name="ivec2_highp_tess_eval" />
<Test name="ivec2_highp_compute" />
<Test name="ivec3_highp_geometry" />
<Test name="ivec3_highp_tess_control" />
<Test name="ivec3_highp_tess_eval" />
<Test name="ivec3_highp_compute" />
</TestCase>
<TestCase name="uintbitstofloat">
<Test name="uint_highp_geometry" />
<Test name="uint_highp_tess_control" />
<Test name="uint_highp_tess_eval" />
<Test name="uint_highp_compute" />
<Test name="uvec2_highp_geometry" />
<Test name="uvec2_highp_tess_control" />
<Test name="uvec2_highp_tess_eval" />
<Test name="uvec2_highp_compute" />
<Test name="uvec3_highp_geometry" />
<Test name="uvec3_highp_tess_control" />
<Test name="uvec3_highp_tess_eval" />
<Test name="uvec3_highp_compute" />
</TestCase>
</TestSuite>
<TestCase name="pack_unpack">
<Test name="packsnorm4x8_lowp_vertex" />
<Test name="packsnorm4x8_lowp_tess_control" />
<Test name="packsnorm4x8_lowp_tess_eval" />
<Test name="packsnorm4x8_lowp_geometry" />
<Test name="packsnorm4x8_lowp_fragment" />
<Test name="packsnorm4x8_lowp_compute" />
<Test name="packsnorm4x8_mediump_vertex" />
<Test name="packsnorm4x8_mediump_tess_control" />
<Test name="packsnorm4x8_mediump_tess_eval" />
<Test name="packsnorm4x8_mediump_geometry" />
<Test name="packsnorm4x8_mediump_fragment" />
<Test name="packsnorm4x8_mediump_compute" />
<Test name="packsnorm4x8_highp_vertex" />
<Test name="packsnorm4x8_highp_tess_control" />
<Test name="packsnorm4x8_highp_tess_eval" />
<Test name="packsnorm4x8_highp_geometry" />
<Test name="packsnorm4x8_highp_fragment" />
<Test name="packsnorm4x8_highp_compute" />
<Test name="unpacksnorm4x8_vertex" />
<Test name="unpacksnorm4x8_tess_control" />
<Test name="unpacksnorm4x8_tess_eval" />
<Test name="unpacksnorm4x8_geometry" />
<Test name="unpacksnorm4x8_fragment" />
<Test name="unpacksnorm4x8_compute" />
<Test name="packunorm4x8_lowp_vertex" />
<Test name="packunorm4x8_lowp_tess_control" />
<Test name="packunorm4x8_lowp_tess_eval" />
<Test name="packunorm4x8_lowp_geometry" />
<Test name="packunorm4x8_lowp_fragment" />
<Test name="packunorm4x8_lowp_compute" />
<Test name="packunorm4x8_mediump_vertex" />
<Test name="packunorm4x8_mediump_tess_control" />
<Test name="packunorm4x8_mediump_tess_eval" />
<Test name="packunorm4x8_mediump_geometry" />
<Test name="packunorm4x8_mediump_fragment" />
<Test name="packunorm4x8_mediump_compute" />
<Test name="packunorm4x8_highp_vertex" />
<Test name="packunorm4x8_highp_tess_control" />
<Test name="packunorm4x8_highp_tess_eval" />
<Test name="packunorm4x8_highp_geometry" />
<Test name="packunorm4x8_highp_fragment" />
<Test name="packunorm4x8_highp_compute" />
<Test name="unpackunorm4x8_vertex" />
<Test name="unpackunorm4x8_tess_control" />
<Test name="unpackunorm4x8_tess_eval" />
<Test name="unpackunorm4x8_geometry" />
<Test name="unpackunorm4x8_fragment" />
<Test name="unpackunorm4x8_compute" />
<Test name="packsnorm2x16_lowp_geometry" />
<Test name="packsnorm2x16_lowp_compute" />
<Test name="packsnorm2x16_mediump_geometry" />
<Test name="packsnorm2x16_mediump_compute" />
<Test name="packsnorm2x16_highp_geometry" />
<Test name="packsnorm2x16_highp_compute" />
<Test name="unpacksnorm2x16_geometry" />
<Test name="unpacksnorm2x16_compute" />
<Test name="packunorm2x16_lowp_geometry" />
<Test name="packunorm2x16_lowp_compute" />
<Test name="packunorm2x16_mediump_geometry" />
<Test name="packunorm2x16_mediump_compute" />
<Test name="packunorm2x16_highp_geometry" />
<Test name="packunorm2x16_highp_compute" />
<Test name="unpackunorm2x16_geometry" />
<Test name="unpackunorm2x16_compute" />
<Test name="packhalf2x16_geometry" />
<Test name="packhalf2x16_compute" />
<Test name="unpackhalf2x16_geometry" />
<Test name="unpackhalf2x16_compute" />
</TestCase>
<TestSuite name="integer">
<TestCase name="uaddcarry">
<Test name="uint_lowp_vertex" />
<Test name="uint_lowp_geometry" />
<Test name="uint_lowp_tess_control" />
<Test name="uint_lowp_tess_eval" />
<Test name="uint_lowp_compute" />
<Test name="uint_mediump_vertex" />
<Test name="uint_mediump_geometry" />
<Test name="uint_mediump_tess_control" />
<Test name="uint_mediump_tess_eval" />
<Test name="uint_mediump_compute" />
<Test name="uint_highp_vertex" />
<Test name="uint_highp_geometry" />
<Test name="uint_highp_tess_control" />
<Test name="uint_highp_tess_eval" />
<Test name="uint_highp_compute" />
<Test name="uvec2_lowp_vertex" />
<Test name="uvec2_lowp_geometry" />
<Test name="uvec2_lowp_tess_control" />
<Test name="uvec2_lowp_tess_eval" />
<Test name="uvec2_lowp_compute" />
<Test name="uvec2_mediump_vertex" />
<Test name="uvec2_mediump_geometry" />
<Test name="uvec2_mediump_tess_control" />
<Test name="uvec2_mediump_tess_eval" />
<Test name="uvec2_mediump_compute" />
<Test name="uvec2_highp_vertex" />
<Test name="uvec2_highp_geometry" />
<Test name="uvec2_highp_tess_control" />
<Test name="uvec2_highp_tess_eval" />
<Test name="uvec2_highp_compute" />
<Test name="uvec3_lowp_vertex" />
<Test name="uvec3_lowp_geometry" />
<Test name="uvec3_lowp_tess_control" />
<Test name="uvec3_lowp_tess_eval" />
<Test name="uvec3_lowp_compute" />
<Test name="uvec3_mediump_vertex" />
<Test name="uvec3_mediump_geometry" />
<Test name="uvec3_mediump_tess_control" />
<Test name="uvec3_mediump_tess_eval" />
<Test name="uvec3_mediump_compute" />
<Test name="uvec3_highp_vertex" />
<Test name="uvec3_highp_geometry" />
<Test name="uvec3_highp_tess_control" />
<Test name="uvec3_highp_tess_eval" />
<Test name="uvec3_highp_compute" />
<Test name="uvec4_lowp_vertex" />
<Test name="uvec4_lowp_geometry" />
<Test name="uvec4_lowp_tess_control" />
<Test name="uvec4_lowp_tess_eval" />
<Test name="uvec4_lowp_compute" />
<Test name="uvec4_mediump_vertex" />
<Test name="uvec4_mediump_geometry" />
<Test name="uvec4_mediump_tess_control" />
<Test name="uvec4_mediump_tess_eval" />
<Test name="uvec4_mediump_compute" />
<Test name="uvec4_highp_vertex" />
<Test name="uvec4_highp_geometry" />
<Test name="uvec4_highp_tess_control" />
<Test name="uvec4_highp_tess_eval" />
<Test name="uvec4_highp_compute" />
</TestCase>
<TestCase name="usubborrow">
<Test name="uint_lowp_vertex" />
<Test name="uint_lowp_geometry" />
<Test name="uint_lowp_tess_control" />
<Test name="uint_lowp_tess_eval" />
<Test name="uint_lowp_compute" />
<Test name="uint_mediump_vertex" />
<Test name="uint_mediump_geometry" />
<Test name="uint_mediump_tess_control" />
<Test name="uint_mediump_tess_eval" />
<Test name="uint_mediump_compute" />
<Test name="uint_highp_vertex" />
<Test name="uint_highp_geometry" />
<Test name="uint_highp_tess_control" />
<Test name="uint_highp_tess_eval" />
<Test name="uint_highp_compute" />
<Test name="uvec2_lowp_vertex" />
<Test name="uvec2_lowp_geometry" />
<Test name="uvec2_lowp_tess_control" />
<Test name="uvec2_lowp_tess_eval" />
<Test name="uvec2_lowp_compute" />
<Test name="uvec2_mediump_vertex" />
<Test name="uvec2_mediump_geometry" />
<Test name="uvec2_mediump_tess_control" />
<Test name="uvec2_mediump_tess_eval" />
<Test name="uvec2_mediump_compute" />
<Test name="uvec2_highp_vertex" />
<Test name="uvec2_highp_geometry" />
<Test name="uvec2_highp_tess_control" />
<Test name="uvec2_highp_tess_eval" />
<Test name="uvec2_highp_compute" />
<Test name="uvec3_lowp_vertex" />
<Test name="uvec3_lowp_geometry" />
<Test name="uvec3_lowp_tess_control" />
<Test name="uvec3_lowp_tess_eval" />
<Test name="uvec3_lowp_compute" />
<Test name="uvec3_mediump_vertex" />
<Test name="uvec3_mediump_geometry" />
<Test name="uvec3_mediump_tess_control" />
<Test name="uvec3_mediump_tess_eval" />
<Test name="uvec3_mediump_compute" />
<Test name="uvec3_highp_vertex" />
<Test name="uvec3_highp_geometry" />
<Test name="uvec3_highp_tess_control" />
<Test name="uvec3_highp_tess_eval" />
<Test name="uvec3_highp_compute" />
<Test name="uvec4_lowp_vertex" />
<Test name="uvec4_lowp_geometry" />
<Test name="uvec4_lowp_tess_control" />
<Test name="uvec4_lowp_tess_eval" />
<Test name="uvec4_lowp_compute" />
<Test name="uvec4_mediump_vertex" />
<Test name="uvec4_mediump_geometry" />
<Test name="uvec4_mediump_tess_control" />
<Test name="uvec4_mediump_tess_eval" />
<Test name="uvec4_mediump_compute" />
<Test name="uvec4_highp_vertex" />
<Test name="uvec4_highp_geometry" />
<Test name="uvec4_highp_tess_control" />
<Test name="uvec4_highp_tess_eval" />
<Test name="uvec4_highp_compute" />
</TestCase>
<TestCase name="umulextended">
<Test name="uint_highp_vertex" />
<Test name="uint_highp_geometry" />
<Test name="uint_highp_tess_control" />
<Test name="uint_highp_tess_eval" />
<Test name="uint_highp_compute" />
<Test name="uvec2_highp_vertex" />
<Test name="uvec2_highp_geometry" />
<Test name="uvec2_highp_tess_control" />
<Test name="uvec2_highp_tess_eval" />
<Test name="uvec2_highp_compute" />
<Test name="uvec3_highp_vertex" />
<Test name="uvec3_highp_geometry" />
<Test name="uvec3_highp_tess_control" />
<Test name="uvec3_highp_tess_eval" />
<Test name="uvec3_highp_compute" />
<Test name="uvec4_highp_vertex" />
<Test name="uvec4_highp_geometry" />
<Test name="uvec4_highp_tess_control" />
<Test name="uvec4_highp_tess_eval" />
<Test name="uvec4_highp_compute" />
</TestCase>
<TestCase name="imulextended">
<Test name="int_highp_vertex" />
<Test name="int_highp_geometry" />
<Test name="int_highp_tess_control" />
<Test name="int_highp_tess_eval" />
<Test name="int_highp_compute" />
<Test name="ivec2_highp_vertex" />
<Test name="ivec2_highp_geometry" />
<Test name="ivec2_highp_tess_control" />
<Test name="ivec2_highp_tess_eval" />
<Test name="ivec2_highp_compute" />
<Test name="ivec3_highp_vertex" />
<Test name="ivec3_highp_geometry" />
<Test name="ivec3_highp_tess_control" />
<Test name="ivec3_highp_tess_eval" />
<Test name="ivec3_highp_compute" />
<Test name="ivec4_highp_vertex" />
<Test name="ivec4_highp_geometry" />
<Test name="ivec4_highp_tess_control" />
<Test name="ivec4_highp_tess_eval" />
<Test name="ivec4_highp_compute" />
</TestCase>
<TestCase name="bitfieldextract">
<Test name="int_lowp_vertex" />
<Test name="int_lowp_fragment" />
<Test name="int_lowp_geometry" />
<Test name="int_lowp_tess_control" />
<Test name="int_lowp_tess_eval" />
<Test name="int_lowp_compute" />
<Test name="int_mediump_vertex" />
<Test name="int_mediump_fragment" />
<Test name="int_mediump_geometry" />
<Test name="int_mediump_tess_control" />
<Test name="int_mediump_tess_eval" />
<Test name="int_mediump_compute" />
<Test name="int_highp_vertex" />
<Test name="int_highp_fragment" />
<Test name="int_highp_geometry" />
<Test name="int_highp_tess_control" />
<Test name="int_highp_tess_eval" />
<Test name="int_highp_compute" />
<Test name="ivec2_lowp_vertex" />
<Test name="ivec2_lowp_fragment" />
<Test name="ivec2_lowp_geometry" />
<Test name="ivec2_lowp_tess_control" />
<Test name="ivec2_lowp_tess_eval" />
<Test name="ivec2_lowp_compute" />
<Test name="ivec2_mediump_vertex" />
<Test name="ivec2_mediump_fragment" />
<Test name="ivec2_mediump_geometry" />
<Test name="ivec2_mediump_tess_control" />
<Test name="ivec2_mediump_tess_eval" />
<Test name="ivec2_mediump_compute" />
<Test name="ivec2_highp_vertex" />
<Test name="ivec2_highp_fragment" />
<Test name="ivec2_highp_geometry" />
<Test name="ivec2_highp_tess_control" />
<Test name="ivec2_highp_tess_eval" />
<Test name="ivec2_highp_compute" />
<Test name="ivec3_lowp_vertex" />
<Test name="ivec3_lowp_fragment" />
<Test name="ivec3_lowp_geometry" />
<Test name="ivec3_lowp_tess_control" />
<Test name="ivec3_lowp_tess_eval" />
<Test name="ivec3_lowp_compute" />
<Test name="ivec3_mediump_vertex" />
<Test name="ivec3_mediump_fragment" />
<Test name="ivec3_mediump_geometry" />
<Test name="ivec3_mediump_tess_control" />
<Test name="ivec3_mediump_tess_eval" />
<Test name="ivec3_mediump_compute" />
<Test name="ivec3_highp_vertex" />
<Test name="ivec3_highp_fragment" />
<Test name="ivec3_highp_geometry" />
<Test name="ivec3_highp_tess_control" />
<Test name="ivec3_highp_tess_eval" />
<Test name="ivec3_highp_compute" />
<Test name="ivec4_lowp_vertex" />
<Test name="ivec4_lowp_fragment" />
<Test name="ivec4_lowp_geometry" />
<Test name="ivec4_lowp_tess_control" />
<Test name="ivec4_lowp_tess_eval" />
<Test name="ivec4_lowp_compute" />
<Test name="ivec4_mediump_vertex" />
<Test name="ivec4_mediump_fragment" />
<Test name="ivec4_mediump_geometry" />
<Test name="ivec4_mediump_tess_control" />
<Test name="ivec4_mediump_tess_eval" />
<Test name="ivec4_mediump_compute" />
<Test name="ivec4_highp_vertex" />
<Test name="ivec4_highp_fragment" />
<Test name="ivec4_highp_geometry" />
<Test name="ivec4_highp_tess_control" />
<Test name="ivec4_highp_tess_eval" />
<Test name="ivec4_highp_compute" />
<Test name="uint_lowp_vertex" />
<Test name="uint_lowp_fragment" />
<Test name="uint_lowp_geometry" />
<Test name="uint_lowp_tess_control" />
<Test name="uint_lowp_tess_eval" />
<Test name="uint_lowp_compute" />
<Test name="uint_mediump_vertex" />
<Test name="uint_mediump_fragment" />
<Test name="uint_mediump_geometry" />
<Test name="uint_mediump_tess_control" />
<Test name="uint_mediump_tess_eval" />
<Test name="uint_mediump_compute" />
<Test name="uint_highp_vertex" />
<Test name="uint_highp_fragment" />
<Test name="uint_highp_geometry" />
<Test name="uint_highp_tess_control" />
<Test name="uint_highp_tess_eval" />
<Test name="uint_highp_compute" />
<Test name="uvec2_lowp_vertex" />
<Test name="uvec2_lowp_fragment" />
<Test name="uvec2_lowp_geometry" />
<Test name="uvec2_lowp_tess_control" />
<Test name="uvec2_lowp_tess_eval" />
<Test name="uvec2_lowp_compute" />
<Test name="uvec2_mediump_vertex" />
<Test name="uvec2_mediump_fragment" />
<Test name="uvec2_mediump_geometry" />
<Test name="uvec2_mediump_tess_control" />
<Test name="uvec2_mediump_tess_eval" />
<Test name="uvec2_mediump_compute" />
<Test name="uvec2_highp_vertex" />
<Test name="uvec2_highp_fragment" />
<Test name="uvec2_highp_geometry" />
<Test name="uvec2_highp_tess_control" />
<Test name="uvec2_highp_tess_eval" />
<Test name="uvec2_highp_compute" />
<Test name="uvec3_lowp_vertex" />
<Test name="uvec3_lowp_fragment" />
<Test name="uvec3_lowp_geometry" />
<Test name="uvec3_lowp_tess_control" />
<Test name="uvec3_lowp_tess_eval" />
<Test name="uvec3_lowp_compute" />
<Test name="uvec3_mediump_vertex" />
<Test name="uvec3_mediump_fragment" />
<Test name="uvec3_mediump_geometry" />
<Test name="uvec3_mediump_tess_control" />
<Test name="uvec3_mediump_tess_eval" />
<Test name="uvec3_mediump_compute" />
<Test name="uvec3_highp_vertex" />
<Test name="uvec3_highp_fragment" />
<Test name="uvec3_highp_geometry" />
<Test name="uvec3_highp_tess_control" />
<Test name="uvec3_highp_tess_eval" />
<Test name="uvec3_highp_compute" />
<Test name="uvec4_lowp_vertex" />
<Test name="uvec4_lowp_fragment" />
<Test name="uvec4_lowp_geometry" />
<Test name="uvec4_lowp_tess_control" />
<Test name="uvec4_lowp_tess_eval" />
<Test name="uvec4_lowp_compute" />
<Test name="uvec4_mediump_vertex" />
<Test name="uvec4_mediump_fragment" />
<Test name="uvec4_mediump_geometry" />
<Test name="uvec4_mediump_tess_control" />
<Test name="uvec4_mediump_tess_eval" />
<Test name="uvec4_mediump_compute" />
<Test name="uvec4_highp_vertex" />
<Test name="uvec4_highp_fragment" />
<Test name="uvec4_highp_geometry" />
<Test name="uvec4_highp_tess_control" />
<Test name="uvec4_highp_tess_eval" />
<Test name="uvec4_highp_compute" />
</TestCase>
<TestCase name="bitfieldinsert">
<Test name="int_lowp_vertex" />
<Test name="int_lowp_fragment" />
<Test name="int_lowp_geometry" />
<Test name="int_lowp_tess_control" />
<Test name="int_lowp_tess_eval" />
<Test name="int_lowp_compute" />
<Test name="int_mediump_vertex" />
<Test name="int_mediump_fragment" />
<Test name="int_mediump_geometry" />
<Test name="int_mediump_tess_control" />
<Test name="int_mediump_tess_eval" />
<Test name="int_mediump_compute" />
<Test name="int_highp_vertex" />
<Test name="int_highp_fragment" />
<Test name="int_highp_geometry" />
<Test name="int_highp_tess_control" />
<Test name="int_highp_tess_eval" />
<Test name="int_highp_compute" />
<Test name="ivec2_lowp_vertex" />
<Test name="ivec2_lowp_fragment" />
<Test name="ivec2_lowp_geometry" />
<Test name="ivec2_lowp_tess_control" />
<Test name="ivec2_lowp_tess_eval" />
<Test name="ivec2_lowp_compute" />
<Test name="ivec2_mediump_vertex" />
<Test name="ivec2_mediump_fragment" />
<Test name="ivec2_mediump_geometry" />
<Test name="ivec2_mediump_tess_control" />
<Test name="ivec2_mediump_tess_eval" />
<Test name="ivec2_mediump_compute" />
<Test name="ivec2_highp_vertex" />
<Test name="ivec2_highp_fragment" />
<Test name="ivec2_highp_geometry" />
<Test name="ivec2_highp_tess_control" />
<Test name="ivec2_highp_tess_eval" />
<Test name="ivec2_highp_compute" />
<Test name="ivec3_lowp_vertex" />
<Test name="ivec3_lowp_fragment" />
<Test name="ivec3_lowp_geometry" />
<Test name="ivec3_lowp_tess_control" />
<Test name="ivec3_lowp_tess_eval" />
<Test name="ivec3_lowp_compute" />
<Test name="ivec3_mediump_vertex" />
<Test name="ivec3_mediump_fragment" />
<Test name="ivec3_mediump_geometry" />
<Test name="ivec3_mediump_tess_control" />
<Test name="ivec3_mediump_tess_eval" />
<Test name="ivec3_mediump_compute" />
<Test name="ivec3_highp_vertex" />
<Test name="ivec3_highp_fragment" />
<Test name="ivec3_highp_geometry" />
<Test name="ivec3_highp_tess_control" />
<Test name="ivec3_highp_tess_eval" />
<Test name="ivec3_highp_compute" />
<Test name="ivec4_lowp_vertex" />
<Test name="ivec4_lowp_fragment" />
<Test name="ivec4_lowp_geometry" />
<Test name="ivec4_lowp_tess_control" />
<Test name="ivec4_lowp_tess_eval" />
<Test name="ivec4_lowp_compute" />
<Test name="ivec4_mediump_vertex" />
<Test name="ivec4_mediump_fragment" />
<Test name="ivec4_mediump_geometry" />
<Test name="ivec4_mediump_tess_control" />
<Test name="ivec4_mediump_tess_eval" />
<Test name="ivec4_mediump_compute" />
<Test name="ivec4_highp_vertex" />
<Test name="ivec4_highp_fragment" />
<Test name="ivec4_highp_geometry" />
<Test name="ivec4_highp_tess_control" />
<Test name="ivec4_highp_tess_eval" />
<Test name="ivec4_highp_compute" />
<Test name="uint_lowp_vertex" />
<Test name="uint_lowp_fragment" />
<Test name="uint_lowp_geometry" />
<Test name="uint_lowp_tess_control" />
<Test name="uint_lowp_tess_eval" />
<Test name="uint_lowp_compute" />
<Test name="uint_mediump_vertex" />
<Test name="uint_mediump_fragment" />
<Test name="uint_mediump_geometry" />
<Test name="uint_mediump_tess_control" />
<Test name="uint_mediump_tess_eval" />
<Test name="uint_mediump_compute" />
<Test name="uint_highp_vertex" />
<Test name="uint_highp_fragment" />
<Test name="uint_highp_geometry" />
<Test name="uint_highp_tess_control" />
<Test name="uint_highp_tess_eval" />
<Test name="uint_highp_compute" />
<Test name="uvec2_lowp_vertex" />
<Test name="uvec2_lowp_fragment" />
<Test name="uvec2_lowp_geometry" />
<Test name="uvec2_lowp_tess_control" />
<Test name="uvec2_lowp_tess_eval" />
<Test name="uvec2_lowp_compute" />
<Test name="uvec2_mediump_vertex" />
<Test name="uvec2_mediump_fragment" />
<Test name="uvec2_mediump_geometry" />
<Test name="uvec2_mediump_tess_control" />
<Test name="uvec2_mediump_tess_eval" />
<Test name="uvec2_mediump_compute" />
<Test name="uvec2_highp_vertex" />
<Test name="uvec2_highp_fragment" />
<Test name="uvec2_highp_geometry" />
<Test name="uvec2_highp_tess_control" />
<Test name="uvec2_highp_tess_eval" />
<Test name="uvec2_highp_compute" />
<Test name="uvec3_lowp_vertex" />
<Test name="uvec3_lowp_fragment" />
<Test name="uvec3_lowp_geometry" />
<Test name="uvec3_lowp_tess_control" />
<Test name="uvec3_lowp_tess_eval" />
<Test name="uvec3_lowp_compute" />
<Test name="uvec3_mediump_vertex" />
<Test name="uvec3_mediump_fragment" />
<Test name="uvec3_mediump_geometry" />
<Test name="uvec3_mediump_tess_control" />
<Test name="uvec3_mediump_tess_eval" />
<Test name="uvec3_mediump_compute" />
<Test name="uvec3_highp_vertex" />
<Test name="uvec3_highp_fragment" />
<Test name="uvec3_highp_geometry" />
<Test name="uvec3_highp_tess_control" />
<Test name="uvec3_highp_tess_eval" />
<Test name="uvec3_highp_compute" />
<Test name="uvec4_lowp_vertex" />
<Test name="uvec4_lowp_fragment" />
<Test name="uvec4_lowp_geometry" />
<Test name="uvec4_lowp_tess_control" />
<Test name="uvec4_lowp_tess_eval" />
<Test name="uvec4_lowp_compute" />
<Test name="uvec4_mediump_vertex" />
<Test name="uvec4_mediump_fragment" />
<Test name="uvec4_mediump_geometry" />
<Test name="uvec4_mediump_tess_control" />
<Test name="uvec4_mediump_tess_eval" />
<Test name="uvec4_mediump_compute" />
<Test name="uvec4_highp_vertex" />
<Test name="uvec4_highp_fragment" />
<Test name="uvec4_highp_geometry" />
<Test name="uvec4_highp_tess_control" />
<Test name="uvec4_highp_tess_eval" />
<Test name="uvec4_highp_compute" />
</TestCase>
<TestCase name="bitfieldreverse">
<Test name="int_lowp_vertex" />
<Test name="int_lowp_fragment" />
<Test name="int_lowp_geometry" />
<Test name="int_lowp_tess_control" />
<Test name="int_lowp_tess_eval" />
<Test name="int_lowp_compute" />
<Test name="int_mediump_vertex" />
<Test name="int_mediump_fragment" />
<Test name="int_mediump_geometry" />
<Test name="int_mediump_tess_control" />
<Test name="int_mediump_tess_eval" />
<Test name="int_mediump_compute" />
<Test name="int_highp_vertex" />
<Test name="int_highp_fragment" />
<Test name="int_highp_geometry" />
<Test name="int_highp_tess_control" />
<Test name="int_highp_tess_eval" />
<Test name="int_highp_compute" />
<Test name="ivec2_lowp_vertex" />
<Test name="ivec2_lowp_fragment" />
<Test name="ivec2_lowp_geometry" />
<Test name="ivec2_lowp_tess_control" />
<Test name="ivec2_lowp_tess_eval" />
<Test name="ivec2_lowp_compute" />
<Test name="ivec2_mediump_vertex" />
<Test name="ivec2_mediump_fragment" />
<Test name="ivec2_mediump_geometry" />
<Test name="ivec2_mediump_tess_control" />
<Test name="ivec2_mediump_tess_eval" />
<Test name="ivec2_mediump_compute" />
<Test name="ivec2_highp_vertex" />
<Test name="ivec2_highp_fragment" />
<Test name="ivec2_highp_geometry" />
<Test name="ivec2_highp_tess_control" />
<Test name="ivec2_highp_tess_eval" />
<Test name="ivec2_highp_compute" />
<Test name="ivec3_lowp_vertex" />
<Test name="ivec3_lowp_fragment" />
<Test name="ivec3_lowp_geometry" />
<Test name="ivec3_lowp_tess_control" />
<Test name="ivec3_lowp_tess_eval" />
<Test name="ivec3_lowp_compute" />
<Test name="ivec3_mediump_vertex" />
<Test name="ivec3_mediump_fragment" />
<Test name="ivec3_mediump_geometry" />
<Test name="ivec3_mediump_tess_control" />
<Test name="ivec3_mediump_tess_eval" />
<Test name="ivec3_mediump_compute" />
<Test name="ivec3_highp_vertex" />
<Test name="ivec3_highp_fragment" />
<Test name="ivec3_highp_geometry" />
<Test name="ivec3_highp_tess_control" />
<Test name="ivec3_highp_tess_eval" />
<Test name="ivec3_highp_compute" />
<Test name="ivec4_lowp_vertex" />
<Test name="ivec4_lowp_fragment" />
<Test name="ivec4_lowp_geometry" />
<Test name="ivec4_lowp_tess_control" />
<Test name="ivec4_lowp_tess_eval" />
<Test name="ivec4_lowp_compute" />
<Test name="ivec4_mediump_vertex" />
<Test name="ivec4_mediump_fragment" />
<Test name="ivec4_mediump_geometry" />
<Test name="ivec4_mediump_tess_control" />
<Test name="ivec4_mediump_tess_eval" />
<Test name="ivec4_mediump_compute" />
<Test name="ivec4_highp_vertex" />
<Test name="ivec4_highp_fragment" />
<Test name="ivec4_highp_geometry" />
<Test name="ivec4_highp_tess_control" />
<Test name="ivec4_highp_tess_eval" />
<Test name="ivec4_highp_compute" />
<Test name="uint_lowp_vertex" />
<Test name="uint_lowp_fragment" />
<Test name="uint_lowp_geometry" />
<Test name="uint_lowp_tess_control" />
<Test name="uint_lowp_tess_eval" />
<Test name="uint_lowp_compute" />
<Test name="uint_mediump_vertex" />
<Test name="uint_mediump_fragment" />
<Test name="uint_mediump_geometry" />
<Test name="uint_mediump_tess_control" />
<Test name="uint_mediump_tess_eval" />
<Test name="uint_mediump_compute" />
<Test name="uint_highp_vertex" />
<Test name="uint_highp_fragment" />
<Test name="uint_highp_geometry" />
<Test name="uint_highp_tess_control" />
<Test name="uint_highp_tess_eval" />
<Test name="uint_highp_compute" />
<Test name="uvec2_lowp_vertex" />
<Test name="uvec2_lowp_fragment" />
<Test name="uvec2_lowp_geometry" />
<Test name="uvec2_lowp_tess_control" />
<Test name="uvec2_lowp_tess_eval" />
<Test name="uvec2_lowp_compute" />
<Test name="uvec2_mediump_vertex" />
<Test name="uvec2_mediump_fragment" />
<Test name="uvec2_mediump_geometry" />
<Test name="uvec2_mediump_tess_control" />
<Test name="uvec2_mediump_tess_eval" />
<Test name="uvec2_mediump_compute" />
<Test name="uvec2_highp_vertex" />
<Test name="uvec2_highp_fragment" />
<Test name="uvec2_highp_geometry" />
<Test name="uvec2_highp_tess_control" />
<Test name="uvec2_highp_tess_eval" />
<Test name="uvec2_highp_compute" />
<Test name="uvec3_lowp_vertex" />
<Test name="uvec3_lowp_fragment" />
<Test name="uvec3_lowp_geometry" />
<Test name="uvec3_lowp_tess_control" />
<Test name="uvec3_lowp_tess_eval" />
<Test name="uvec3_lowp_compute" />
<Test name="uvec3_mediump_vertex" />
<Test name="uvec3_mediump_fragment" />
<Test name="uvec3_mediump_geometry" />
<Test name="uvec3_mediump_tess_control" />
<Test name="uvec3_mediump_tess_eval" />
<Test name="uvec3_mediump_compute" />
<Test name="uvec3_highp_vertex" />
<Test name="uvec3_highp_fragment" />
<Test name="uvec3_highp_geometry" />
<Test name="uvec3_highp_tess_control" />
<Test name="uvec3_highp_tess_eval" />
<Test name="uvec3_highp_compute" />
<Test name="uvec4_lowp_vertex" />
<Test name="uvec4_lowp_fragment" />
<Test name="uvec4_lowp_geometry" />
<Test name="uvec4_lowp_tess_control" />
<Test name="uvec4_lowp_tess_eval" />
<Test name="uvec4_lowp_compute" />
<Test name="uvec4_mediump_vertex" />
<Test name="uvec4_mediump_fragment" />
<Test name="uvec4_mediump_geometry" />
<Test name="uvec4_mediump_tess_control" />
<Test name="uvec4_mediump_tess_eval" />
<Test name="uvec4_mediump_compute" />
<Test name="uvec4_highp_vertex" />
<Test name="uvec4_highp_fragment" />
<Test name="uvec4_highp_geometry" />
<Test name="uvec4_highp_tess_control" />
<Test name="uvec4_highp_tess_eval" />
<Test name="uvec4_highp_compute" />
</TestCase>
<TestCase name="bitcount">
<Test name="int_lowp_vertex" />
<Test name="int_lowp_fragment" />
<Test name="int_lowp_geometry" />
<Test name="int_lowp_tess_control" />
<Test name="int_lowp_tess_eval" />
<Test name="int_lowp_compute" />
<Test name="int_mediump_vertex" />
<Test name="int_mediump_fragment" />
<Test name="int_mediump_geometry" />
<Test name="int_mediump_tess_control" />
<Test name="int_mediump_tess_eval" />
<Test name="int_mediump_compute" />
<Test name="int_highp_vertex" />
<Test name="int_highp_fragment" />
<Test name="int_highp_geometry" />
<Test name="int_highp_tess_control" />
<Test name="int_highp_tess_eval" />
<Test name="int_highp_compute" />
<Test name="ivec2_lowp_vertex" />
<Test name="ivec2_lowp_fragment" />
<Test name="ivec2_lowp_geometry" />
<Test name="ivec2_lowp_tess_control" />
<Test name="ivec2_lowp_tess_eval" />
<Test name="ivec2_lowp_compute" />
<Test name="ivec2_mediump_vertex" />
<Test name="ivec2_mediump_fragment" />
<Test name="ivec2_mediump_geometry" />
<Test name="ivec2_mediump_tess_control" />
<Test name="ivec2_mediump_tess_eval" />
<Test name="ivec2_mediump_compute" />
<Test name="ivec2_highp_vertex" />
<Test name="ivec2_highp_fragment" />
<Test name="ivec2_highp_geometry" />
<Test name="ivec2_highp_tess_control" />
<Test name="ivec2_highp_tess_eval" />
<Test name="ivec2_highp_compute" />
<Test name="ivec3_lowp_vertex" />
<Test name="ivec3_lowp_fragment" />
<Test name="ivec3_lowp_geometry" />
<Test name="ivec3_lowp_tess_control" />
<Test name="ivec3_lowp_tess_eval" />
<Test name="ivec3_lowp_compute" />
<Test name="ivec3_mediump_vertex" />
<Test name="ivec3_mediump_fragment" />
<Test name="ivec3_mediump_geometry" />
<Test name="ivec3_mediump_tess_control" />
<Test name="ivec3_mediump_tess_eval" />
<Test name="ivec3_mediump_compute" />
<Test name="ivec3_highp_vertex" />
<Test name="ivec3_highp_fragment" />
<Test name="ivec3_highp_geometry" />
<Test name="ivec3_highp_tess_control" />
<Test name="ivec3_highp_tess_eval" />
<Test name="ivec3_highp_compute" />
<Test name="ivec4_lowp_vertex" />
<Test name="ivec4_lowp_fragment" />
<Test name="ivec4_lowp_geometry" />
<Test name="ivec4_lowp_tess_control" />
<Test name="ivec4_lowp_tess_eval" />
<Test name="ivec4_lowp_compute" />
<Test name="ivec4_mediump_vertex" />
<Test name="ivec4_mediump_fragment" />
<Test name="ivec4_mediump_geometry" />
<Test name="ivec4_mediump_tess_control" />
<Test name="ivec4_mediump_tess_eval" />
<Test name="ivec4_mediump_compute" />
<Test name="ivec4_highp_vertex" />
<Test name="ivec4_highp_fragment" />
<Test name="ivec4_highp_geometry" />
<Test name="ivec4_highp_tess_control" />
<Test name="ivec4_highp_tess_eval" />
<Test name="ivec4_highp_compute" />
<Test name="uint_lowp_vertex" />
<Test name="uint_lowp_fragment" />
<Test name="uint_lowp_geometry" />
<Test name="uint_lowp_tess_control" />
<Test name="uint_lowp_tess_eval" />
<Test name="uint_lowp_compute" />
<Test name="uint_mediump_vertex" />
<Test name="uint_mediump_fragment" />
<Test name="uint_mediump_geometry" />
<Test name="uint_mediump_tess_control" />
<Test name="uint_mediump_tess_eval" />
<Test name="uint_mediump_compute" />
<Test name="uint_highp_vertex" />
<Test name="uint_highp_fragment" />
<Test name="uint_highp_geometry" />
<Test name="uint_highp_tess_control" />
<Test name="uint_highp_tess_eval" />
<Test name="uint_highp_compute" />
<Test name="uvec2_lowp_vertex" />
<Test name="uvec2_lowp_fragment" />
<Test name="uvec2_lowp_geometry" />
<Test name="uvec2_lowp_tess_control" />
<Test name="uvec2_lowp_tess_eval" />
<Test name="uvec2_lowp_compute" />
<Test name="uvec2_mediump_vertex" />
<Test name="uvec2_mediump_fragment" />
<Test name="uvec2_mediump_geometry" />
<Test name="uvec2_mediump_tess_control" />
<Test name="uvec2_mediump_tess_eval" />
<Test name="uvec2_mediump_compute" />
<Test name="uvec2_highp_vertex" />
<Test name="uvec2_highp_fragment" />
<Test name="uvec2_highp_geometry" />
<Test name="uvec2_highp_tess_control" />
<Test name="uvec2_highp_tess_eval" />
<Test name="uvec2_highp_compute" />
<Test name="uvec3_lowp_vertex" />
<Test name="uvec3_lowp_fragment" />
<Test name="uvec3_lowp_geometry" />
<Test name="uvec3_lowp_tess_control" />
<Test name="uvec3_lowp_tess_eval" />
<Test name="uvec3_lowp_compute" />
<Test name="uvec3_mediump_vertex" />
<Test name="uvec3_mediump_fragment" />
<Test name="uvec3_mediump_geometry" />
<Test name="uvec3_mediump_tess_control" />
<Test name="uvec3_mediump_tess_eval" />
<Test name="uvec3_mediump_compute" />
<Test name="uvec3_highp_vertex" />
<Test name="uvec3_highp_fragment" />
<Test name="uvec3_highp_geometry" />
<Test name="uvec3_highp_tess_control" />
<Test name="uvec3_highp_tess_eval" />
<Test name="uvec3_highp_compute" />
<Test name="uvec4_lowp_vertex" />
<Test name="uvec4_lowp_fragment" />
<Test name="uvec4_lowp_geometry" />
<Test name="uvec4_lowp_tess_control" />
<Test name="uvec4_lowp_tess_eval" />
<Test name="uvec4_lowp_compute" />
<Test name="uvec4_mediump_vertex" />
<Test name="uvec4_mediump_fragment" />
<Test name="uvec4_mediump_geometry" />
<Test name="uvec4_mediump_tess_control" />
<Test name="uvec4_mediump_tess_eval" />
<Test name="uvec4_mediump_compute" />
<Test name="uvec4_highp_vertex" />
<Test name="uvec4_highp_fragment" />
<Test name="uvec4_highp_geometry" />
<Test name="uvec4_highp_tess_control" />
<Test name="uvec4_highp_tess_eval" />
<Test name="uvec4_highp_compute" />
</TestCase>
<TestCase name="findlsb">
<Test name="int_lowp_vertex" />
<Test name="int_lowp_fragment" />
<Test name="int_lowp_geometry" />
<Test name="int_lowp_tess_control" />
<Test name="int_lowp_tess_eval" />
<Test name="int_lowp_compute" />
<Test name="int_mediump_vertex" />
<Test name="int_mediump_fragment" />
<Test name="int_mediump_geometry" />
<Test name="int_mediump_tess_control" />
<Test name="int_mediump_tess_eval" />
<Test name="int_mediump_compute" />
<Test name="int_highp_vertex" />
<Test name="int_highp_fragment" />
<Test name="int_highp_geometry" />
<Test name="int_highp_tess_control" />
<Test name="int_highp_tess_eval" />
<Test name="int_highp_compute" />
<Test name="ivec2_lowp_vertex" />
<Test name="ivec2_lowp_fragment" />
<Test name="ivec2_lowp_geometry" />
<Test name="ivec2_lowp_tess_control" />
<Test name="ivec2_lowp_tess_eval" />
<Test name="ivec2_lowp_compute" />
<Test name="ivec2_mediump_vertex" />
<Test name="ivec2_mediump_fragment" />
<Test name="ivec2_mediump_geometry" />
<Test name="ivec2_mediump_tess_control" />
<Test name="ivec2_mediump_tess_eval" />
<Test name="ivec2_mediump_compute" />
<Test name="ivec2_highp_vertex" />
<Test name="ivec2_highp_fragment" />
<Test name="ivec2_highp_geometry" />
<Test name="ivec2_highp_tess_control" />
<Test name="ivec2_highp_tess_eval" />
<Test name="ivec2_highp_compute" />
<Test name="ivec3_lowp_vertex" />
<Test name="ivec3_lowp_fragment" />
<Test name="ivec3_lowp_geometry" />
<Test name="ivec3_lowp_tess_control" />
<Test name="ivec3_lowp_tess_eval" />
<Test name="ivec3_lowp_compute" />
<Test name="ivec3_mediump_vertex" />
<Test name="ivec3_mediump_fragment" />
<Test name="ivec3_mediump_geometry" />
<Test name="ivec3_mediump_tess_control" />
<Test name="ivec3_mediump_tess_eval" />
<Test name="ivec3_mediump_compute" />
<Test name="ivec3_highp_vertex" />
<Test name="ivec3_highp_fragment" />
<Test name="ivec3_highp_geometry" />
<Test name="ivec3_highp_tess_control" />
<Test name="ivec3_highp_tess_eval" />
<Test name="ivec3_highp_compute" />
<Test name="ivec4_lowp_vertex" />
<Test name="ivec4_lowp_fragment" />
<Test name="ivec4_lowp_geometry" />
<Test name="ivec4_lowp_tess_control" />
<Test name="ivec4_lowp_tess_eval" />
<Test name="ivec4_lowp_compute" />
<Test name="ivec4_mediump_vertex" />
<Test name="ivec4_mediump_fragment" />
<Test name="ivec4_mediump_geometry" />
<Test name="ivec4_mediump_tess_control" />
<Test name="ivec4_mediump_tess_eval" />
<Test name="ivec4_mediump_compute" />
<Test name="ivec4_highp_vertex" />
<Test name="ivec4_highp_fragment" />
<Test name="ivec4_highp_geometry" />
<Test name="ivec4_highp_tess_control" />
<Test name="ivec4_highp_tess_eval" />
<Test name="ivec4_highp_compute" />
<Test name="uint_lowp_vertex" />
<Test name="uint_lowp_fragment" />
<Test name="uint_lowp_geometry" />
<Test name="uint_lowp_tess_control" />
<Test name="uint_lowp_tess_eval" />
<Test name="uint_lowp_compute" />
<Test name="uint_mediump_vertex" />
<Test name="uint_mediump_fragment" />
<Test name="uint_mediump_geometry" />
<Test name="uint_mediump_tess_control" />
<Test name="uint_mediump_tess_eval" />
<Test name="uint_mediump_compute" />
<Test name="uint_highp_vertex" />
<Test name="uint_highp_fragment" />
<Test name="uint_highp_geometry" />
<Test name="uint_highp_tess_control" />
<Test name="uint_highp_tess_eval" />
<Test name="uint_highp_compute" />
<Test name="uvec2_lowp_vertex" />
<Test name="uvec2_lowp_fragment" />
<Test name="uvec2_lowp_geometry" />
<Test name="uvec2_lowp_tess_control" />
<Test name="uvec2_lowp_tess_eval" />
<Test name="uvec2_lowp_compute" />
<Test name="uvec2_mediump_vertex" />
<Test name="uvec2_mediump_fragment" />
<Test name="uvec2_mediump_geometry" />
<Test name="uvec2_mediump_tess_control" />
<Test name="uvec2_mediump_tess_eval" />
<Test name="uvec2_mediump_compute" />
<Test name="uvec2_highp_vertex" />
<Test name="uvec2_highp_fragment" />
<Test name="uvec2_highp_geometry" />
<Test name="uvec2_highp_tess_control" />
<Test name="uvec2_highp_tess_eval" />
<Test name="uvec2_highp_compute" />
<Test name="uvec3_lowp_vertex" />
<Test name="uvec3_lowp_fragment" />
<Test name="uvec3_lowp_geometry" />
<Test name="uvec3_lowp_tess_control" />
<Test name="uvec3_lowp_tess_eval" />
<Test name="uvec3_lowp_compute" />
<Test name="uvec3_mediump_vertex" />
<Test name="uvec3_mediump_fragment" />
<Test name="uvec3_mediump_geometry" />
<Test name="uvec3_mediump_tess_control" />
<Test name="uvec3_mediump_tess_eval" />
<Test name="uvec3_mediump_compute" />
<Test name="uvec3_highp_vertex" />
<Test name="uvec3_highp_fragment" />
<Test name="uvec3_highp_geometry" />
<Test name="uvec3_highp_tess_control" />
<Test name="uvec3_highp_tess_eval" />
<Test name="uvec3_highp_compute" />
<Test name="uvec4_lowp_vertex" />
<Test name="uvec4_lowp_fragment" />
<Test name="uvec4_lowp_geometry" />
<Test name="uvec4_lowp_tess_control" />
<Test name="uvec4_lowp_tess_eval" />
<Test name="uvec4_lowp_compute" />
<Test name="uvec4_mediump_vertex" />
<Test name="uvec4_mediump_fragment" />
<Test name="uvec4_mediump_geometry" />
<Test name="uvec4_mediump_tess_control" />
<Test name="uvec4_mediump_tess_eval" />
<Test name="uvec4_mediump_compute" />
<Test name="uvec4_highp_vertex" />
<Test name="uvec4_highp_fragment" />
<Test name="uvec4_highp_geometry" />
<Test name="uvec4_highp_tess_control" />
<Test name="uvec4_highp_tess_eval" />
<Test name="uvec4_highp_compute" />
</TestCase>
<TestCase name="findmsb">
<Test name="int_lowp_vertex" />
<Test name="int_lowp_fragment" />
<Test name="int_lowp_geometry" />
<Test name="int_lowp_tess_control" />
<Test name="int_lowp_tess_eval" />
<Test name="int_lowp_compute" />
<Test name="int_mediump_vertex" />
<Test name="int_mediump_fragment" />
<Test name="int_mediump_geometry" />
<Test name="int_mediump_tess_control" />
<Test name="int_mediump_tess_eval" />
<Test name="int_mediump_compute" />
<Test name="int_highp_vertex" />
<Test name="int_highp_fragment" />
<Test name="int_highp_geometry" />
<Test name="int_highp_tess_control" />
<Test name="int_highp_tess_eval" />
<Test name="int_highp_compute" />
<Test name="ivec2_lowp_vertex" />
<Test name="ivec2_lowp_fragment" />
<Test name="ivec2_lowp_geometry" />
<Test name="ivec2_lowp_tess_control" />
<Test name="ivec2_lowp_tess_eval" />
<Test name="ivec2_lowp_compute" />
<Test name="ivec2_mediump_vertex" />
<Test name="ivec2_mediump_fragment" />
<Test name="ivec2_mediump_geometry" />
<Test name="ivec2_mediump_tess_control" />
<Test name="ivec2_mediump_tess_eval" />
<Test name="ivec2_mediump_compute" />
<Test name="ivec2_highp_vertex" />
<Test name="ivec2_highp_fragment" />
<Test name="ivec2_highp_geometry" />
<Test name="ivec2_highp_tess_control" />
<Test name="ivec2_highp_tess_eval" />
<Test name="ivec2_highp_compute" />
<Test name="ivec3_lowp_vertex" />
<Test name="ivec3_lowp_fragment" />
<Test name="ivec3_lowp_geometry" />
<Test name="ivec3_lowp_tess_control" />
<Test name="ivec3_lowp_tess_eval" />
<Test name="ivec3_lowp_compute" />
<Test name="ivec3_mediump_vertex" />
<Test name="ivec3_mediump_fragment" />
<Test name="ivec3_mediump_geometry" />
<Test name="ivec3_mediump_tess_control" />
<Test name="ivec3_mediump_tess_eval" />
<Test name="ivec3_mediump_compute" />
<Test name="ivec3_highp_vertex" />
<Test name="ivec3_highp_fragment" />
<Test name="ivec3_highp_geometry" />
<Test name="ivec3_highp_tess_control" />
<Test name="ivec3_highp_tess_eval" />
<Test name="ivec3_highp_compute" />
<Test name="ivec4_lowp_vertex" />
<Test name="ivec4_lowp_fragment" />
<Test name="ivec4_lowp_geometry" />
<Test name="ivec4_lowp_tess_control" />
<Test name="ivec4_lowp_tess_eval" />
<Test name="ivec4_lowp_compute" />
<Test name="ivec4_mediump_vertex" />
<Test name="ivec4_mediump_fragment" />
<Test name="ivec4_mediump_geometry" />
<Test name="ivec4_mediump_tess_control" />
<Test name="ivec4_mediump_tess_eval" />
<Test name="ivec4_mediump_compute" />
<Test name="ivec4_highp_vertex" />
<Test name="ivec4_highp_fragment" />
<Test name="ivec4_highp_geometry" />
<Test name="ivec4_highp_tess_control" />
<Test name="ivec4_highp_tess_eval" />
<Test name="ivec4_highp_compute" />
<Test name="uint_lowp_vertex" />
<Test name="uint_lowp_fragment" />
<Test name="uint_lowp_geometry" />
<Test name="uint_lowp_tess_control" />
<Test name="uint_lowp_tess_eval" />
<Test name="uint_lowp_compute" />
<Test name="uint_mediump_vertex" />
<Test name="uint_mediump_fragment" />
<Test name="uint_mediump_geometry" />
<Test name="uint_mediump_tess_control" />
<Test name="uint_mediump_tess_eval" />
<Test name="uint_mediump_compute" />
<Test name="uint_highp_vertex" />
<Test name="uint_highp_fragment" />
<Test name="uint_highp_geometry" />
<Test name="uint_highp_tess_control" />
<Test name="uint_highp_tess_eval" />
<Test name="uint_highp_compute" />
<Test name="uvec2_lowp_vertex" />
<Test name="uvec2_lowp_fragment" />
<Test name="uvec2_lowp_geometry" />
<Test name="uvec2_lowp_tess_control" />
<Test name="uvec2_lowp_tess_eval" />
<Test name="uvec2_lowp_compute" />
<Test name="uvec2_mediump_vertex" />
<Test name="uvec2_mediump_fragment" />
<Test name="uvec2_mediump_geometry" />
<Test name="uvec2_mediump_tess_control" />
<Test name="uvec2_mediump_tess_eval" />
<Test name="uvec2_mediump_compute" />
<Test name="uvec2_highp_vertex" />
<Test name="uvec2_highp_fragment" />
<Test name="uvec2_highp_geometry" />
<Test name="uvec2_highp_tess_control" />
<Test name="uvec2_highp_tess_eval" />
<Test name="uvec2_highp_compute" />
<Test name="uvec3_lowp_vertex" />
<Test name="uvec3_lowp_fragment" />
<Test name="uvec3_lowp_geometry" />
<Test name="uvec3_lowp_tess_control" />
<Test name="uvec3_lowp_tess_eval" />
<Test name="uvec3_lowp_compute" />
<Test name="uvec3_mediump_vertex" />
<Test name="uvec3_mediump_fragment" />
<Test name="uvec3_mediump_geometry" />
<Test name="uvec3_mediump_tess_control" />
<Test name="uvec3_mediump_tess_eval" />
<Test name="uvec3_mediump_compute" />
<Test name="uvec3_highp_vertex" />
<Test name="uvec3_highp_fragment" />
<Test name="uvec3_highp_geometry" />
<Test name="uvec3_highp_tess_control" />
<Test name="uvec3_highp_tess_eval" />
<Test name="uvec3_highp_compute" />
<Test name="uvec4_lowp_vertex" />
<Test name="uvec4_lowp_fragment" />
<Test name="uvec4_lowp_geometry" />
<Test name="uvec4_lowp_tess_control" />
<Test name="uvec4_lowp_tess_eval" />
<Test name="uvec4_lowp_compute" />
<Test name="uvec4_mediump_vertex" />
<Test name="uvec4_mediump_fragment" />
<Test name="uvec4_mediump_geometry" />
<Test name="uvec4_mediump_tess_control" />
<Test name="uvec4_mediump_tess_eval" />
<Test name="uvec4_mediump_compute" />
<Test name="uvec4_highp_vertex" />
<Test name="uvec4_highp_fragment" />
<Test name="uvec4_highp_geometry" />
<Test name="uvec4_highp_tess_control" />
<Test name="uvec4_highp_tess_eval" />
<Test name="uvec4_highp_compute" />
</TestCase>
</TestSuite>
<TestCase name="texture_size">
<Test name="samples_1_texture_2d" />
<Test name="samples_4_texture_2d" />
<Test name="samples_1_texture_2d_array" />
<Test name="samples_4_texture_2d_array" />
<Test name="samples_1_texture_int_2d" />
<Test name="samples_4_texture_int_2d" />
<Test name="samples_1_texture_int_2d_array" />
<Test name="samples_4_texture_int_2d_array" />
<Test name="samples_1_texture_uint_2d" />
<Test name="samples_4_texture_uint_2d" />
<Test name="samples_1_texture_uint_2d_array" />
<Test name="samples_4_texture_uint_2d_array" />
</TestCase>
<TestSuite name="precision">
<TestSuite name="add">
<TestCase name="lowp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="mediump_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="highp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="sub">
<TestCase name="lowp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="mediump_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="highp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="mul">
<TestCase name="lowp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="mediump_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="highp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="div">
<TestCase name="lowp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="mediump_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="radians">
<TestCase name="lowp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="mediump_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="highp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="degrees">
<TestCase name="lowp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="mediump_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="highp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="sin">
<TestCase name="lowp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="highp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="cos">
<TestCase name="lowp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="highp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="tan">
<TestCase name="lowp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="highp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="asin">
<TestCase name="lowp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="acos">
<TestCase name="lowp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="mediump_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="atan">
<TestCase name="lowp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="mediump_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="sinh">
<TestCase name="lowp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="mediump_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="highp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="cosh">
<TestCase name="lowp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="mediump_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="highp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="tanh">
<TestCase name="lowp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="mediump_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="asinh">
<TestCase name="lowp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="mediump_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="highp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="acosh">
<TestCase name="lowp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="mediump_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="atanh">
<TestCase name="lowp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="mediump_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="pow">
<TestCase name="lowp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="mediump_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="highp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="exp">
<TestCase name="lowp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="mediump_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="highp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="log">
<TestCase name="lowp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="mediump_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="highp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="exp2">
<TestCase name="lowp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="mediump_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="highp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="log2">
<TestCase name="lowp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="mediump_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="highp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="sqrt">
<TestCase name="lowp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="mediump_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="highp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="inversesqrt">
<TestCase name="lowp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="mediump_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="highp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="abs">
<TestCase name="lowp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="mediump_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="highp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="sign">
<TestCase name="lowp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="mediump_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="highp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="floor">
<TestCase name="lowp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="mediump_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="highp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="trunc">
<TestCase name="lowp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="mediump_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="highp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="round">
<TestCase name="lowp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="mediump_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="highp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="roundeven">
<TestCase name="lowp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="mediump_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="highp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="ceil">
<TestCase name="lowp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="mediump_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="highp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="fract">
<TestCase name="lowp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="mediump_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="highp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="mod">
<TestCase name="lowp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="mediump_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="min">
<TestCase name="lowp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="mediump_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="max">
<TestCase name="lowp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="mediump_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="clamp">
<TestCase name="lowp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="mediump_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="step">
<TestCase name="lowp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="mediump_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="highp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="smoothstep">
<TestCase name="lowp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="length">
<TestCase name="lowp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="mediump_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="highp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="distance">
<TestCase name="lowp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="mediump_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="highp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="dot">
<TestCase name="lowp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="mediump_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="highp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
</TestCase>
</TestSuite>
<TestCase name="cross">
<Test name="lowp_compute" />
<Test name="mediump_compute" />
<Test name="highp_compute" />
</TestCase>
<TestSuite name="normalize">
<TestCase name="lowp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="mediump_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="highp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="faceforward">
<TestCase name="lowp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="mediump_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="highp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="reflect">
<TestCase name="lowp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="mediump_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="matrixcompmult">
<TestCase name="lowp_compute">
<Test name="mat2" />
<Test name="mat2x3" />
<Test name="mat2x4" />
<Test name="mat3x2" />
<Test name="mat3" />
<Test name="mat3x4" />
<Test name="mat4x2" />
<Test name="mat4x3" />
<Test name="mat4" />
</TestCase>
<TestCase name="mediump_compute">
<Test name="mat2" />
<Test name="mat2x3" />
<Test name="mat2x4" />
<Test name="mat3x2" />
<Test name="mat3" />
<Test name="mat3x4" />
<Test name="mat4x2" />
<Test name="mat4x3" />
<Test name="mat4" />
</TestCase>
<TestCase name="highp_compute">
<Test name="mat2" />
<Test name="mat2x3" />
<Test name="mat2x4" />
<Test name="mat3x2" />
<Test name="mat3" />
<Test name="mat3x4" />
<Test name="mat4x2" />
<Test name="mat4x3" />
<Test name="mat4" />
</TestCase>
</TestSuite>
<TestSuite name="outerproduct">
<TestCase name="lowp_compute">
<Test name="mat2" />
<Test name="mat2x3" />
<Test name="mat2x4" />
<Test name="mat3x2" />
<Test name="mat3" />
<Test name="mat3x4" />
<Test name="mat4x2" />
<Test name="mat4x3" />
<Test name="mat4" />
</TestCase>
<TestCase name="mediump_compute">
<Test name="mat2" />
<Test name="mat2x3" />
<Test name="mat2x4" />
<Test name="mat3x2" />
<Test name="mat3" />
<Test name="mat3x4" />
<Test name="mat4x2" />
<Test name="mat4x3" />
<Test name="mat4" />
</TestCase>
<TestCase name="highp_compute">
<Test name="mat2" />
<Test name="mat2x3" />
<Test name="mat2x4" />
<Test name="mat3x2" />
<Test name="mat3" />
<Test name="mat3x4" />
<Test name="mat4x2" />
<Test name="mat4x3" />
<Test name="mat4" />
</TestCase>
</TestSuite>
<TestSuite name="transpose">
<TestCase name="lowp_compute">
<Test name="mat2" />
<Test name="mat2x3" />
<Test name="mat2x4" />
<Test name="mat3x2" />
<Test name="mat3" />
<Test name="mat3x4" />
<Test name="mat4x2" />
<Test name="mat4x3" />
<Test name="mat4" />
</TestCase>
<TestCase name="mediump_compute">
<Test name="mat2" />
<Test name="mat2x3" />
<Test name="mat2x4" />
<Test name="mat3x2" />
<Test name="mat3" />
<Test name="mat3x4" />
<Test name="mat4x2" />
<Test name="mat4x3" />
<Test name="mat4" />
</TestCase>
<TestCase name="highp_compute">
<Test name="mat2" />
<Test name="mat2x3" />
<Test name="mat2x4" />
<Test name="mat3x2" />
<Test name="mat3" />
<Test name="mat3x4" />
<Test name="mat4x2" />
<Test name="mat4x3" />
<Test name="mat4" />
</TestCase>
</TestSuite>
<TestSuite name="determinant">
<TestCase name="lowp_compute">
<Test name="mat2" />
</TestCase>
<TestCase name="mediump_compute">
<Test name="mat2" />
</TestCase>
<TestCase name="highp_compute">
<Test name="mat2" />
</TestCase>
</TestSuite>
<TestSuite name="inverse">
<TestCase name="lowp_compute">
<Test name="mat2" />
</TestCase>
<TestCase name="mediump_compute">
<Test name="mat2" />
</TestCase>
</TestSuite>
<TestSuite name="frexp">
<TestCase name="lowp_vertex">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="lowp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="mediump_vertex">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="mediump_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="ldexp">
<TestCase name="lowp_vertex">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="lowp_fragment">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="lowp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="mediump_vertex">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="mediump_fragment">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="mediump_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="highp_vertex">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="highp_fragment">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="highp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="fma">
<TestCase name="lowp_vertex">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="lowp_fragment">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="lowp_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="mediump_vertex">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="mediump_fragment">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="mediump_compute">
<Test name="scalar" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
</TestSuite>
</TestSuite>
<TestSuite name="sample_variables">
<TestCase name="num_samples">
<Test name="multisample_texture_1" />
<Test name="multisample_texture_2" />
<Test name="multisample_texture_4" />
<Test name="multisample_texture_8" />
<Test name="multisample_texture_16" />
<Test name="multisample_rbo_1" />
<Test name="multisample_rbo_2" />
<Test name="multisample_rbo_4" />
<Test name="multisample_rbo_8" />
<Test name="multisample_rbo_16" />
</TestCase>
<TestCase name="max_samples">
<Test name="default_framebuffer" />
<Test name="singlesample_texture" />
<Test name="multisample_texture_1" />
<Test name="multisample_texture_2" />
<Test name="multisample_texture_4" />
<Test name="multisample_texture_8" />
<Test name="multisample_texture_16" />
<Test name="singlesample_rbo" />
<Test name="multisample_rbo_1" />
<Test name="multisample_rbo_2" />
<Test name="multisample_rbo_4" />
<Test name="multisample_rbo_8" />
<Test name="multisample_rbo_16" />
</TestCase>
<TestCase name="sample_id">
<Test name="default_framebuffer" />
<Test name="singlesample_texture" />
<Test name="multisample_texture_1" />
<Test name="multisample_texture_2" />
<Test name="multisample_texture_4" />
<Test name="multisample_texture_8" />
<Test name="singlesample_rbo" />
<Test name="multisample_rbo_1" />
<Test name="multisample_rbo_2" />
<Test name="multisample_rbo_4" />
<Test name="multisample_rbo_8" />
</TestCase>
<TestSuite name="sample_pos">
<TestCase name="correctness">
<Test name="default_framebuffer" />
<Test name="singlesample_texture" />
<Test name="multisample_texture_1" />
<Test name="multisample_texture_2" />
<Test name="multisample_texture_4" />
<Test name="multisample_texture_8" />
<Test name="singlesample_rbo" />
<Test name="multisample_rbo_1" />
<Test name="multisample_rbo_2" />
<Test name="multisample_rbo_4" />
<Test name="multisample_rbo_8" />
</TestCase>
<TestCase name="distribution">
<Test name="default_framebuffer" />
<Test name="singlesample_texture" />
<Test name="multisample_texture_1" />
<Test name="multisample_texture_2" />
<Test name="multisample_texture_4" />
<Test name="multisample_texture_8" />
<Test name="singlesample_rbo" />
<Test name="multisample_rbo_1" />
<Test name="multisample_rbo_2" />
<Test name="multisample_rbo_4" />
<Test name="multisample_rbo_8" />
<Test name="multisample_rbo_16" />
</TestCase>
</TestSuite>
<TestSuite name="sample_mask_in">
<TestCase name="sample_mask">
<Test name="default_framebuffer" />
<Test name="singlesample_texture" />
<Test name="multisample_texture_1" />
<Test name="multisample_texture_2" />
<Test name="multisample_texture_4" />
<Test name="multisample_texture_8" />
<Test name="multisample_texture_16" />
<Test name="singlesample_rbo" />
<Test name="multisample_rbo_1" />
<Test name="multisample_rbo_2" />
<Test name="multisample_rbo_4" />
<Test name="multisample_rbo_8" />
<Test name="multisample_rbo_16" />
</TestCase>
<TestCase name="bit_count_per_pixel">
<Test name="default_framebuffer" />
<Test name="singlesample_texture" />
<Test name="multisample_texture_1" />
<Test name="multisample_texture_2" />
<Test name="multisample_texture_4" />
<Test name="multisample_texture_8" />
<Test name="multisample_texture_16" />
<Test name="singlesample_rbo" />
<Test name="multisample_rbo_1" />
<Test name="multisample_rbo_2" />
<Test name="multisample_rbo_4" />
<Test name="multisample_rbo_8" />
<Test name="multisample_rbo_16" />
</TestCase>
<TestCase name="bit_count_per_sample">
<Test name="default_framebuffer" />
<Test name="singlesample_texture" />
<Test name="singlesample_rbo" />
</TestCase>
<TestCase name="bit_count_per_two_samples">
<Test name="default_framebuffer" />
<Test name="singlesample_texture" />
<Test name="multisample_texture_16" />
<Test name="singlesample_rbo" />
<Test name="multisample_rbo_16" />
</TestCase>
<TestCase name="bits_unique_per_sample">
<Test name="singlesample_texture" />
</TestCase>
<TestCase name="bits_unique_per_two_samples">
<Test name="singlesample_texture" />
<Test name="multisample_texture_1" />
<Test name="multisample_texture_2" />
</TestCase>
</TestSuite>
<TestSuite name="sample_mask">
<TestCase name="discard_half_per_pixel">
<Test name="default_framebuffer" />
<Test name="singlesample_texture" />
<Test name="multisample_texture_1" />
<Test name="multisample_texture_2" />
<Test name="multisample_texture_4" />
<Test name="multisample_texture_8" />
<Test name="multisample_texture_16" />
<Test name="singlesample_rbo" />
<Test name="multisample_rbo_1" />
<Test name="multisample_rbo_2" />
<Test name="multisample_rbo_4" />
<Test name="multisample_rbo_8" />
<Test name="multisample_rbo_16" />
</TestCase>
<TestCase name="discard_half_per_sample">
<Test name="default_framebuffer" />
<Test name="singlesample_texture" />
<Test name="multisample_texture_1" />
<Test name="multisample_texture_2" />
<Test name="multisample_texture_4" />
<Test name="multisample_texture_8" />
<Test name="multisample_texture_16" />
<Test name="singlesample_rbo" />
<Test name="multisample_rbo_1" />
<Test name="multisample_rbo_2" />
<Test name="multisample_rbo_4" />
<Test name="multisample_rbo_8" />
<Test name="multisample_rbo_16" />
</TestCase>
<TestCase name="discard_half_per_two_samples">
<Test name="default_framebuffer" />
<Test name="singlesample_texture" />
<Test name="multisample_texture_1" />
<Test name="multisample_texture_2" />
<Test name="multisample_texture_4" />
<Test name="multisample_texture_8" />
<Test name="multisample_texture_16" />
<Test name="singlesample_rbo" />
<Test name="multisample_rbo_1" />
<Test name="multisample_rbo_2" />
<Test name="multisample_rbo_4" />
<Test name="multisample_rbo_8" />
<Test name="multisample_rbo_16" />
</TestCase>
<TestCase name="inverse_per_pixel">
<Test name="default_framebuffer" />
<Test name="singlesample_texture" />
<Test name="multisample_texture_1" />
<Test name="multisample_texture_2" />
<Test name="multisample_texture_4" />
<Test name="multisample_texture_8" />
<Test name="multisample_texture_16" />
<Test name="singlesample_rbo" />
<Test name="multisample_rbo_1" />
<Test name="multisample_rbo_2" />
<Test name="multisample_rbo_4" />
<Test name="multisample_rbo_8" />
<Test name="multisample_rbo_16" />
</TestCase>
<TestCase name="inverse_per_sample">
<Test name="default_framebuffer" />
<Test name="singlesample_texture" />
<Test name="multisample_texture_1" />
<Test name="multisample_texture_2" />
<Test name="multisample_texture_4" />
<Test name="multisample_texture_8" />
<Test name="multisample_texture_16" />
<Test name="singlesample_rbo" />
<Test name="multisample_rbo_1" />
<Test name="multisample_rbo_2" />
<Test name="multisample_rbo_4" />
<Test name="multisample_rbo_8" />
<Test name="multisample_rbo_16" />
</TestCase>
<TestCase name="inverse_per_two_samples">
<Test name="default_framebuffer" />
<Test name="singlesample_texture" />
<Test name="multisample_texture_1" />
<Test name="multisample_texture_2" />
<Test name="multisample_texture_4" />
<Test name="multisample_texture_8" />
<Test name="multisample_texture_16" />
<Test name="singlesample_rbo" />
<Test name="multisample_rbo_1" />
<Test name="multisample_rbo_2" />
<Test name="multisample_rbo_4" />
<Test name="multisample_rbo_8" />
<Test name="multisample_rbo_16" />
</TestCase>
</TestSuite>
</TestSuite>
<TestSuite name="multisample_interpolation">
<TestCase name="sample_qualifier">
<Test name="default_framebuffer" />
<Test name="singlesample_texture" />
<Test name="multisample_texture_1" />
<Test name="multisample_texture_2" />
<Test name="multisample_texture_4" />
<Test name="multisample_texture_8" />
<Test name="multisample_texture_16" />
<Test name="singlesample_rbo" />
<Test name="multisample_rbo_1" />
<Test name="multisample_rbo_2" />
<Test name="multisample_rbo_4" />
<Test name="multisample_rbo_8" />
<Test name="multisample_rbo_16" />
</TestCase>
<TestSuite name="interpolate_at_sample">
<TestCase name="static_sample_number">
<Test name="default_framebuffer" />
<Test name="singlesample_texture" />
<Test name="multisample_texture_1" />
<Test name="multisample_texture_2" />
<Test name="multisample_texture_4" />
<Test name="multisample_texture_8" />
<Test name="multisample_texture_16" />
<Test name="singlesample_rbo" />
<Test name="multisample_rbo_1" />
<Test name="multisample_rbo_2" />
<Test name="multisample_rbo_4" />
<Test name="multisample_rbo_8" />
<Test name="multisample_rbo_16" />
</TestCase>
<TestCase name="dynamic_sample_number">
<Test name="default_framebuffer" />
<Test name="singlesample_texture" />
<Test name="multisample_texture_1" />
<Test name="multisample_texture_2" />
<Test name="multisample_texture_4" />
<Test name="multisample_texture_8" />
<Test name="multisample_texture_16" />
<Test name="singlesample_rbo" />
<Test name="multisample_rbo_1" />
<Test name="multisample_rbo_2" />
<Test name="multisample_rbo_4" />
<Test name="multisample_rbo_8" />
<Test name="multisample_rbo_16" />
</TestCase>
<TestCase name="non_multisample_buffer">
<Test name="sample_0_default_framebuffer" />
<Test name="sample_0_singlesample_texture" />
<Test name="sample_0_singlesample_rbo" />
<Test name="sample_n_default_framebuffer" />
<Test name="sample_n_singlesample_texture" />
<Test name="sample_n_singlesample_rbo" />
</TestCase>
<TestCase name="centroid_qualified">
<Test name="default_framebuffer" />
<Test name="singlesample_texture" />
<Test name="multisample_texture_1" />
<Test name="multisample_texture_2" />
<Test name="multisample_texture_4" />
<Test name="multisample_texture_8" />
<Test name="multisample_texture_16" />
<Test name="singlesample_rbo" />
<Test name="multisample_rbo_1" />
<Test name="multisample_rbo_2" />
<Test name="multisample_rbo_4" />
<Test name="multisample_rbo_8" />
<Test name="multisample_rbo_16" />
</TestCase>
<TestCase name="at_sample_id">
<Test name="default_framebuffer" />
<Test name="singlesample_texture" />
<Test name="multisample_texture_1" />
<Test name="multisample_texture_2" />
<Test name="multisample_texture_4" />
<Test name="multisample_texture_8" />
<Test name="multisample_texture_16" />
<Test name="singlesample_rbo" />
<Test name="multisample_rbo_1" />
<Test name="multisample_rbo_2" />
<Test name="multisample_rbo_4" />
<Test name="multisample_rbo_8" />
<Test name="multisample_rbo_16" />
</TestCase>
</TestSuite>
<TestSuite name="interpolate_at_centroid">
<TestCase name="consistency">
<Test name="default_framebuffer" />
<Test name="singlesample_texture" />
<Test name="multisample_texture_1" />
<Test name="multisample_texture_2" />
<Test name="multisample_texture_4" />
<Test name="multisample_texture_8" />
<Test name="multisample_texture_16" />
<Test name="singlesample_rbo" />
<Test name="multisample_rbo_1" />
<Test name="multisample_rbo_2" />
<Test name="multisample_rbo_4" />
<Test name="multisample_rbo_8" />
<Test name="multisample_rbo_16" />
</TestCase>
<TestCase name="array_element">
<Test name="default_framebuffer" />
<Test name="singlesample_texture" />
<Test name="multisample_texture_1" />
<Test name="multisample_texture_2" />
<Test name="multisample_texture_4" />
<Test name="multisample_texture_8" />
<Test name="multisample_texture_16" />
<Test name="singlesample_rbo" />
<Test name="multisample_rbo_1" />
<Test name="multisample_rbo_2" />
<Test name="multisample_rbo_4" />
<Test name="multisample_rbo_8" />
<Test name="multisample_rbo_16" />
</TestCase>
</TestSuite>
<TestSuite name="interpolate_at_offset">
<TestCase name="no_qualifiers">
<Test name="default_framebuffer" />
<Test name="singlesample_texture" />
<Test name="multisample_texture_1" />
<Test name="multisample_texture_2" />
<Test name="multisample_texture_4" />
<Test name="multisample_texture_8" />
<Test name="singlesample_rbo" />
<Test name="multisample_rbo_1" />
<Test name="multisample_rbo_2" />
<Test name="multisample_rbo_4" />
<Test name="multisample_rbo_8" />
</TestCase>
<TestCase name="centroid_qualifier">
<Test name="default_framebuffer" />
<Test name="singlesample_texture" />
<Test name="multisample_texture_1" />
<Test name="multisample_texture_2" />
<Test name="multisample_texture_4" />
<Test name="multisample_texture_8" />
<Test name="singlesample_rbo" />
<Test name="multisample_rbo_1" />
<Test name="multisample_rbo_2" />
<Test name="multisample_rbo_4" />
<Test name="multisample_rbo_8" />
</TestCase>
<TestCase name="sample_qualifier">
<Test name="default_framebuffer" />
<Test name="singlesample_texture" />
<Test name="multisample_texture_1" />
<Test name="multisample_texture_2" />
<Test name="multisample_texture_4" />
<Test name="multisample_texture_8" />
<Test name="singlesample_rbo" />
<Test name="multisample_rbo_1" />
<Test name="multisample_rbo_2" />
<Test name="multisample_rbo_4" />
<Test name="multisample_rbo_8" />
</TestCase>
<TestCase name="at_sample_position">
<Test name="default_framebuffer" />
<Test name="singlesample_texture" />
<Test name="multisample_texture_1" />
<Test name="multisample_texture_2" />
<Test name="multisample_texture_4" />
<Test name="multisample_texture_8" />
<Test name="singlesample_rbo" />
<Test name="multisample_rbo_1" />
<Test name="multisample_rbo_2" />
<Test name="multisample_rbo_4" />
<Test name="multisample_rbo_8" />
</TestCase>
<TestCase name="array_element">
<Test name="default_framebuffer" />
<Test name="singlesample_texture" />
<Test name="multisample_texture_1" />
<Test name="multisample_texture_2" />
<Test name="multisample_texture_4" />
<Test name="multisample_texture_8" />
<Test name="singlesample_rbo" />
<Test name="multisample_rbo_1" />
<Test name="multisample_rbo_2" />
<Test name="multisample_rbo_4" />
<Test name="multisample_rbo_8" />
</TestCase>
</TestSuite>
</TestSuite>
<TestSuite name="opaque_type_indexing">
<TestSuite name="sampler">
<TestSuite name="const_literal">
<TestCase name="vertex">
<Test name="sampler2d" />
<Test name="samplercube" />
<Test name="sampler2darray" />
<Test name="sampler3d" />
<Test name="sampler2dshadow" />
<Test name="samplercubeshadow" />
<Test name="sampler2darrayshadow" />
<Test name="isampler2d" />
<Test name="isamplercube" />
<Test name="isampler2darray" />
<Test name="isampler3d" />
<Test name="usampler2d" />
<Test name="usamplercube" />
<Test name="usampler2darray" />
<Test name="usampler3d" />
</TestCase>
<TestCase name="fragment">
<Test name="sampler2d" />
<Test name="samplercube" />
<Test name="sampler2darray" />
<Test name="sampler3d" />
<Test name="sampler2dshadow" />
<Test name="samplercubeshadow" />
<Test name="sampler2darrayshadow" />
<Test name="isampler2d" />
<Test name="isamplercube" />
<Test name="isampler2darray" />
<Test name="isampler3d" />
<Test name="usampler2d" />
<Test name="usamplercube" />
<Test name="usampler2darray" />
<Test name="usampler3d" />
</TestCase>
<TestCase name="compute">
<Test name="sampler2d" />
<Test name="samplercube" />
<Test name="sampler2darray" />
<Test name="sampler3d" />
<Test name="sampler2dshadow" />
<Test name="samplercubeshadow" />
<Test name="sampler2darrayshadow" />
<Test name="isampler2d" />
<Test name="isamplercube" />
<Test name="isampler2darray" />
<Test name="isampler3d" />
<Test name="usampler2d" />
<Test name="usamplercube" />
<Test name="usampler2darray" />
<Test name="usampler3d" />
</TestCase>
</TestSuite>
<TestSuite name="const_expression">
<TestCase name="vertex">
<Test name="sampler2d" />
<Test name="samplercube" />
<Test name="sampler2darray" />
<Test name="sampler3d" />
<Test name="sampler2dshadow" />
<Test name="samplercubeshadow" />
<Test name="sampler2darrayshadow" />
<Test name="isampler2d" />
<Test name="isamplercube" />
<Test name="isampler2darray" />
<Test name="isampler3d" />
<Test name="usampler2d" />
<Test name="usamplercube" />
<Test name="usampler2darray" />
<Test name="usampler3d" />
</TestCase>
<TestCase name="fragment">
<Test name="sampler2d" />
<Test name="samplercube" />
<Test name="sampler2darray" />
<Test name="sampler3d" />
<Test name="sampler2dshadow" />
<Test name="samplercubeshadow" />
<Test name="sampler2darrayshadow" />
<Test name="isampler2d" />
<Test name="isamplercube" />
<Test name="isampler2darray" />
<Test name="isampler3d" />
<Test name="usampler2d" />
<Test name="usamplercube" />
<Test name="usampler2darray" />
<Test name="usampler3d" />
</TestCase>
<TestCase name="compute">
<Test name="sampler2d" />
<Test name="samplercube" />
<Test name="sampler2darray" />
<Test name="sampler3d" />
<Test name="sampler2dshadow" />
<Test name="samplercubeshadow" />
<Test name="sampler2darrayshadow" />
<Test name="isampler2d" />
<Test name="isamplercube" />
<Test name="isampler2darray" />
<Test name="isampler3d" />
<Test name="usampler2d" />
<Test name="usamplercube" />
<Test name="usampler2darray" />
<Test name="usampler3d" />
</TestCase>
</TestSuite>
<TestSuite name="uniform">
<TestCase name="vertex">
<Test name="sampler2d" />
<Test name="samplercube" />
<Test name="sampler2darray" />
<Test name="sampler3d" />
<Test name="sampler2dshadow" />
<Test name="samplercubeshadow" />
<Test name="sampler2darrayshadow" />
<Test name="isampler2d" />
<Test name="isamplercube" />
<Test name="isampler2darray" />
<Test name="isampler3d" />
<Test name="usampler2d" />
<Test name="usamplercube" />
<Test name="usampler2darray" />
<Test name="usampler3d" />
</TestCase>
<TestCase name="fragment">
<Test name="sampler2d" />
<Test name="samplercube" />
<Test name="sampler2darray" />
<Test name="sampler3d" />
<Test name="sampler2dshadow" />
<Test name="samplercubeshadow" />
<Test name="sampler2darrayshadow" />
<Test name="isampler2d" />
<Test name="isamplercube" />
<Test name="isampler2darray" />
<Test name="isampler3d" />
<Test name="usampler2d" />
<Test name="usamplercube" />
<Test name="usampler2darray" />
<Test name="usampler3d" />
</TestCase>
<TestCase name="compute">
<Test name="sampler2d" />
<Test name="samplercube" />
<Test name="sampler2darray" />
<Test name="sampler3d" />
<Test name="sampler2dshadow" />
<Test name="samplercubeshadow" />
<Test name="sampler2darrayshadow" />
<Test name="isampler2d" />
<Test name="isamplercube" />
<Test name="isampler2darray" />
<Test name="isampler3d" />
<Test name="usampler2d" />
<Test name="usamplercube" />
<Test name="usampler2darray" />
<Test name="usampler3d" />
</TestCase>
</TestSuite>
<TestSuite name="dynamically_uniform">
<TestCase name="vertex">
<Test name="sampler2d" />
<Test name="samplercube" />
<Test name="sampler2darray" />
<Test name="sampler3d" />
<Test name="sampler2dshadow" />
<Test name="samplercubeshadow" />
<Test name="sampler2darrayshadow" />
<Test name="isampler2d" />
<Test name="isamplercube" />
<Test name="isampler2darray" />
<Test name="isampler3d" />
<Test name="usampler2d" />
<Test name="usamplercube" />
<Test name="usampler2darray" />
<Test name="usampler3d" />
</TestCase>
<TestCase name="fragment">
<Test name="sampler2d" />
<Test name="samplercube" />
<Test name="sampler2darray" />
<Test name="sampler3d" />
<Test name="sampler2dshadow" />
<Test name="samplercubeshadow" />
<Test name="sampler2darrayshadow" />
<Test name="isampler2d" />
<Test name="isamplercube" />
<Test name="isampler2darray" />
<Test name="isampler3d" />
<Test name="usampler2d" />
<Test name="usamplercube" />
<Test name="usampler2darray" />
<Test name="usampler3d" />
</TestCase>
<TestCase name="compute">
<Test name="sampler2d" />
<Test name="samplercube" />
<Test name="sampler2darray" />
<Test name="sampler3d" />
<Test name="sampler2dshadow" />
<Test name="samplercubeshadow" />
<Test name="sampler2darrayshadow" />
<Test name="isampler2d" />
<Test name="isamplercube" />
<Test name="isampler2darray" />
<Test name="isampler3d" />
<Test name="usampler2d" />
<Test name="usamplercube" />
<Test name="usampler2darray" />
<Test name="usampler3d" />
</TestCase>
</TestSuite>
</TestSuite>
<TestCase name="ubo">
<Test name="const_literal_vertex" />
<Test name="const_literal_fragment" />
<Test name="const_literal_compute" />
<Test name="const_expression_vertex" />
<Test name="const_expression_fragment" />
<Test name="const_expression_compute" />
<Test name="uniform_vertex" />
<Test name="uniform_fragment" />
<Test name="uniform_compute" />
<Test name="dynamically_uniform_vertex" />
<Test name="dynamically_uniform_fragment" />
<Test name="dynamically_uniform_compute" />
</TestCase>
<TestCase name="ssbo">
<Test name="const_literal_vertex" />
<Test name="const_literal_fragment" />
<Test name="const_literal_compute" />
<Test name="const_expression_vertex" />
<Test name="const_expression_fragment" />
<Test name="const_expression_compute" />
</TestCase>
<TestCase name="atomic_counter">
<Test name="const_literal_vertex" />
<Test name="const_literal_fragment" />
<Test name="const_literal_compute" />
<Test name="const_expression_vertex" />
<Test name="const_expression_fragment" />
<Test name="const_expression_compute" />
<Test name="uniform_vertex" />
<Test name="uniform_fragment" />
<Test name="uniform_compute" />
<Test name="dynamically_uniform_vertex" />
<Test name="dynamically_uniform_fragment" />
<Test name="dynamically_uniform_compute" />
</TestCase>
</TestSuite>
<TestSuite name="functions">
<TestCase name="overloading">
<Test name="arrays_of_arrays_size_vertex" />
<Test name="arrays_of_arrays_size_fragment" />
</TestCase>
</TestSuite>
<TestSuite name="arrays_of_arrays">
<TestSuite name="constructor">
<TestCase name="explicit">
<Test name="float_3x3_vertex" />
<Test name="float_3x3_fragment" />
<Test name="float_3x4_vertex" />
<Test name="float_3x4_fragment" />
<Test name="int_3x1_vertex" />
<Test name="int_3x1_fragment" />
<Test name="int_4x4x4_vertex" />
<Test name="int_4x4x4_fragment" />
<Test name="bool_3x3x3_vertex" />
<Test name="bool_3x3x3_fragment" />
<Test name="bool_2x1x4_vertex" />
<Test name="bool_2x1x4_fragment" />
<Test name="struct_3x2_vertex" />
<Test name="struct_3x2_fragment" />
<Test name="struct_4x1x4_vertex" />
<Test name="struct_4x1x4_fragment" />
<Test name="vec3_4x3_vertex" />
<Test name="vec3_4x3_fragment" />
<Test name="ivec3_3x2x1_vertex" />
<Test name="ivec3_3x2x1_fragment" />
<Test name="bvec3_1x2x3_vertex" />
<Test name="bvec3_1x2x3_fragment" />
<Test name="mat3_3x2_vertex" />
<Test name="mat3_3x2_fragment" />
<Test name="mat3_3x3x3_vertex" />
<Test name="mat3_3x3x3_fragment" />
<Test name="mat3_3x4_vertex" />
<Test name="mat3_3x4_fragment" />
<Test name="high_dimensional_array_vertex" />
<Test name="high_dimensional_array_fragment" />
</TestCase>
<TestCase name="implicit">
<Test name="float_3x3_vertex" />
<Test name="float_3x3_fragment" />
<Test name="float_3x4_vertex" />
<Test name="float_3x4_fragment" />
<Test name="int_3x1_vertex" />
<Test name="int_3x1_fragment" />
<Test name="int_4x4x4_vertex" />
<Test name="int_4x4x4_fragment" />
<Test name="bool_3x3x3_vertex" />
<Test name="bool_3x3x3_fragment" />
<Test name="bool_2x1x4_vertex" />
<Test name="bool_2x1x4_fragment" />
<Test name="struct_3x2_vertex" />
<Test name="struct_3x2_fragment" />
<Test name="struct_4x1x4_vertex" />
<Test name="struct_4x1x4_fragment" />
<Test name="vec3_4x3_vertex" />
<Test name="vec3_4x3_fragment" />
<Test name="ivec3_3x2x1_vertex" />
<Test name="ivec3_3x2x1_fragment" />
<Test name="bvec3_1x2x3_vertex" />
<Test name="bvec3_1x2x3_fragment" />
<Test name="mat3_3x2_vertex" />
<Test name="mat3_3x2_fragment" />
<Test name="mat3_3x3x3_vertex" />
<Test name="mat3_3x3x3_fragment" />
<Test name="mat3_3x4_vertex" />
<Test name="mat3_3x4_fragment" />
<Test name="int_high_dimensional_array_vertex" />
<Test name="int_high_dimensional_array_fragment" />
</TestCase>
</TestSuite>
<TestSuite name="return">
<TestCase name="explicit">
<Test name="float_3x3_vertex" />
<Test name="float_3x3_fragment" />
<Test name="int_2x2x2_vertex" />
<Test name="int_2x2x2_fragment" />
<Test name="bool_3x2x3_vertex" />
<Test name="bool_3x2x3_fragment" />
<Test name="vec3_2x3_vertex" />
<Test name="vec3_2x3_fragment" />
<Test name="struct_3x1x3_vertex" />
<Test name="struct_3x1x3_fragment" />
<Test name="ivec3_3x3_vertex" />
<Test name="ivec3_3x3_fragment" />
<Test name="bvec4_4x2_vertex" />
<Test name="bvec4_4x2_fragment" />
<Test name="mat3_3x2_vertex" />
<Test name="mat3_3x2_fragment" />
<Test name="mat3_3x3x3_vertex" />
<Test name="mat3_3x3x3_fragment" />
<Test name="mat3_3x4_vertex" />
<Test name="mat3_3x4_fragment" />
</TestCase>
<TestCase name="implicit">
<Test name="float_3x3_vertex" />
<Test name="float_3x3_fragment" />
<Test name="int_2x2x2_vertex" />
<Test name="int_2x2x2_fragment" />
<Test name="bool_3x2x3_vertex" />
<Test name="bool_3x2x3_fragment" />
<Test name="vec3_2x3_vertex" />
<Test name="vec3_2x3_fragment" />
<Test name="struct_3x1x3_vertex" />
<Test name="struct_3x1x3_fragment" />
<Test name="ivec3_3x3_vertex" />
<Test name="ivec3_3x3_fragment" />
<Test name="bvec4_4x2_vertex" />
<Test name="bvec4_4x2_fragment" />
<Test name="mat3_3x2_vertex" />
<Test name="mat3_3x2_fragment" />
<Test name="mat3_3x3x3_vertex" />
<Test name="mat3_3x3x3_fragment" />
<Test name="mat3_3x4_vertex" />
<Test name="mat3_3x4_fragment" />
</TestCase>
</TestSuite>
<TestSuite name="parameter">
<TestCase name="in">
<Test name="float_3x3_vertex" />
<Test name="float_3x3_fragment" />
<Test name="int_2x2x2_vertex" />
<Test name="int_2x2x2_fragment" />
<Test name="bool_3x2x3_vertex" />
<Test name="bool_3x2x3_fragment" />
<Test name="vec3_2x3_vertex" />
<Test name="vec3_2x3_fragment" />
<Test name="struct_3x1x3_vertex" />
<Test name="struct_3x1x3_fragment" />
<Test name="ivec3_3x3_vertex" />
<Test name="ivec3_3x3_fragment" />
<Test name="bvec4_4x2_vertex" />
<Test name="bvec4_4x2_fragment" />
<Test name="mat3_3x2_vertex" />
<Test name="mat3_3x2_fragment" />
<Test name="mat3_3x3x3_vertex" />
<Test name="mat3_3x3x3_fragment" />
<Test name="mat3_3x4_vertex" />
<Test name="mat3_3x4_fragment" />
</TestCase>
<TestCase name="out">
<Test name="float_3x3_vertex" />
<Test name="float_3x3_fragment" />
<Test name="int_2x2x2_vertex" />
<Test name="int_2x2x2_fragment" />
<Test name="bool_3x2x3_vertex" />
<Test name="bool_3x2x3_fragment" />
<Test name="vec3_2x3_vertex" />
<Test name="vec3_2x3_fragment" />
<Test name="struct_3x1x3_vertex" />
<Test name="struct_3x1x3_fragment" />
<Test name="ivec3_3x3_vertex" />
<Test name="ivec3_3x3_fragment" />
<Test name="bvec4_4x2_vertex" />
<Test name="bvec4_4x2_fragment" />
<Test name="mat3_3x2_vertex" />
<Test name="mat3_3x2_fragment" />
<Test name="mat3_3x3x3_vertex" />
<Test name="mat3_3x3x3_fragment" />
<Test name="mat3_3x4_vertex" />
<Test name="mat3_3x4_fragment" />
</TestCase>
<TestCase name="unnamed">
<Test name="float_3x3_vertex" />
<Test name="float_3x3_fragment" />
<Test name="int_2x2x2_vertex" />
<Test name="int_2x2x2_fragment" />
<Test name="bool_3x2x3_vertex" />
<Test name="bool_3x2x3_fragment" />
<Test name="vec3_2x3_vertex" />
<Test name="vec3_2x3_fragment" />
<Test name="struct_3x1x3_vertex" />
<Test name="struct_3x1x3_fragment" />
<Test name="ivec3_3x3_vertex" />
<Test name="ivec3_3x3_fragment" />
<Test name="bvec4_4x2_vertex" />
<Test name="bvec4_4x2_fragment" />
<Test name="mat3_3x2_vertex" />
<Test name="mat3_3x2_fragment" />
<Test name="mat3_3x3x3_vertex" />
<Test name="mat3_3x3x3_fragment" />
<Test name="mat3_3x4_vertex" />
<Test name="mat3_3x4_fragment" />
</TestCase>
</TestSuite>
<TestCase name="implicit_size">
<Test name="float_3x3_vertex" />
<Test name="float_3x3_fragment" />
<Test name="int_2x3_vertex" />
<Test name="int_2x3_fragment" />
<Test name="bool_3x3x3_vertex" />
<Test name="bool_3x3x3_fragment" />
<Test name="struct_5x5x4_vertex" />
<Test name="struct_5x5x4_fragment" />
<Test name="vec3_1x3_vertex" />
<Test name="vec3_1x3_fragment" />
<Test name="ivec3_3x1x3_vertex" />
<Test name="ivec3_3x1x3_fragment" />
<Test name="bvec3_3x1_vertex" />
<Test name="bvec3_3x1_fragment" />
<Test name="mat3_3x2_vertex" />
<Test name="mat3_3x2_fragment" />
<Test name="mat3_3x3x3_vertex" />
<Test name="mat3_3x3x3_fragment" />
<Test name="mat3_3x4_vertex" />
<Test name="mat3_3x4_fragment" />
</TestCase>
<TestSuite name="assignment">
<TestCase name="explicit_to_explicit">
<Test name="float_3x3_vertex" />
<Test name="float_3x3_fragment" />
<Test name="int_2x3_vertex" />
<Test name="int_2x3_fragment" />
<Test name="bool_3x3x3_vertex" />
<Test name="bool_3x3x3_fragment" />
<Test name="struct_5x5x4_vertex" />
<Test name="struct_5x5x4_fragment" />
<Test name="vec3_1x3_vertex" />
<Test name="vec3_1x3_fragment" />
<Test name="ivec3_3x1x3_vertex" />
<Test name="ivec3_3x1x3_fragment" />
<Test name="bvec3_3x1_vertex" />
<Test name="bvec3_3x1_fragment" />
<Test name="mat3_3x2_vertex" />
<Test name="mat3_3x2_fragment" />
<Test name="mat3_3x3x3_vertex" />
<Test name="mat3_3x3x3_fragment" />
<Test name="mat3_3x4_vertex" />
<Test name="mat3_3x4_fragment" />
</TestCase>
<TestCase name="implicit_to_explicit">
<Test name="float_3x3_vertex" />
<Test name="float_3x3_fragment" />
<Test name="int_2x3_vertex" />
<Test name="int_2x3_fragment" />
<Test name="bool_3x3x3_vertex" />
<Test name="bool_3x3x3_fragment" />
<Test name="struct_5x5x4_vertex" />
<Test name="struct_5x5x4_fragment" />
<Test name="vec3_1x3_vertex" />
<Test name="vec3_1x3_fragment" />
<Test name="ivec3_3x1x3_vertex" />
<Test name="ivec3_3x1x3_fragment" />
<Test name="bvec3_3x1_vertex" />
<Test name="bvec3_3x1_fragment" />
<Test name="mat3_3x2_vertex" />
<Test name="mat3_3x2_fragment" />
<Test name="mat3_3x3x3_vertex" />
<Test name="mat3_3x3x3_fragment" />
<Test name="mat3_3x4_vertex" />
<Test name="mat3_3x4_fragment" />
</TestCase>
</TestSuite>
<TestCase name="length">
<Test name="float_vertex" />
<Test name="float_fragment" />
<Test name="int_vertex" />
<Test name="int_fragment" />
<Test name="bool_vertex" />
<Test name="bool_fragment" />
<Test name="struct_vertex" />
<Test name="struct_fragment" />
<Test name="mat3_vertex" />
<Test name="mat3_fragment" />
<Test name="constant_expression_vertex" />
<Test name="constant_expression_fragment" />
</TestCase>
<TestCase name="array_access">
<Test name="constant_expression_access_vertex" />
<Test name="constant_expression_access_fragment" />
<Test name="dynamic_expression_access_vertex" />
<Test name="dynamic_expression_access_fragment" />
</TestCase>
<TestSuite name="single_statement_multiple_declarations">
<TestCase name="explicit_constructor">
<Test name="float_2_dimensions_vertex" />
<Test name="float_2_dimensions_fragment" />
<Test name="int_3_dimensions_vertex" />
<Test name="int_3_dimensions_fragment" />
</TestCase>
<TestCase name="implicit_constructor">
<Test name="float_2_dimensions_vertex" />
<Test name="float_2_dimensions_fragment" />
<Test name="int_3_dimensions_vertex" />
<Test name="int_3_dimensions_fragment" />
</TestCase>
</TestSuite>
<TestCase name="invalid">
<Test name="dynamic_expression_array_size_vertex" />
<Test name="dynamic_expression_array_size_fragment" />
<Test name="empty_declaration_with_var_name_vertex" />
<Test name="empty_declaration_with_var_name_fragment" />
<Test name="uniform_block_vertex" />
<Test name="uniform_block_fragment" />
<Test name="storage_block_vertex" />
<Test name="storage_block_fragment" />
</TestCase>
</TestSuite>
<TestSuite name="linkage">
<TestSuite name="geometry">
<TestSuite name="varying">
<TestCase name="rules">
<Test name="input_type_mismatch" />
<Test name="output_type_mismatch" />
<Test name="input_different_precision" />
<Test name="output_different_precision" />
<Test name="input_superfluous_declaration" />
<Test name="output_superfluous_declaration" />
<Test name="input_array_explicit_size" />
<Test name="input_non_array" />
<Test name="input_block" />
<Test name="input_block_explicit_size" />
<Test name="input_block_non_array" />
<Test name="output_block" />
<Test name="output_block_array" />
<Test name="unspecified_input_primitive_type" />
<Test name="unspecified_output_primitive_type" />
<Test name="access_more_than_available_input_vertices" />
</TestCase>
<TestCase name="types">
<Test name="float" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="mat2" />
<Test name="mat2x3" />
<Test name="mat2x4" />
<Test name="mat3x2" />
<Test name="mat3" />
<Test name="mat3x4" />
<Test name="mat4x2" />
<Test name="mat4x3" />
<Test name="mat4" />
<Test name="int" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uint" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
<Test name="float_struct" />
<Test name="float_array" />
</TestCase>
<TestCase name="qualifiers">
<Test name="smooth" />
<Test name="flat" />
<Test name="centroid" />
<Test name="sample" />
</TestCase>
</TestSuite>
<TestSuite name="uniform">
<TestCase name="rules">
<Test name="type_mismatch_1" />
<Test name="type_mismatch_2" />
<Test name="precision_mismatch" />
<Test name="struct_partial_usage" />
</TestCase>
<TestCase name="types">
<Test name="float" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="mat2" />
<Test name="mat2x3" />
<Test name="mat2x4" />
<Test name="mat3x2" />
<Test name="mat3" />
<Test name="mat3x4" />
<Test name="mat4x2" />
<Test name="mat4x3" />
<Test name="mat4" />
<Test name="int" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uint" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
<Test name="float_struct" />
</TestCase>
</TestSuite>
</TestSuite>
<TestSuite name="tessellation">
<TestSuite name="varying">
<TestCase name="rules">
<Test name="input_type_mismatch" />
<Test name="output_type_mismatch" />
<Test name="internal_type_mismatch" />
<Test name="input_different_precision" />
<Test name="output_different_precision" />
<Test name="internal_different_precision" />
<Test name="input_superfluous_declaration" />
<Test name="output_superfluous_declaration" />
<Test name="internal_superfluous_declaration" />
<Test name="vertex_fragment_same_varying_name_1" />
<Test name="vertex_fragment_same_varying_name_2" />
<Test name="invalid_vertex_index" />
<Test name="input_non_array" />
<Test name="input_array_size_mismatch" />
<Test name="internal_array_size_mismatch" />
<Test name="per_patch_qualifier_mismatch_1" />
<Test name="input_block" />
<Test name="input_block_non_array" />
<Test name="input_block_array_size_mismatch" />
<Test name="output_block" />
<Test name="output_block_array" />
<Test name="unspecified_vertex_count" />
<Test name="unspecified_primitive_mode" />
</TestCase>
<TestCase name="qualifiers">
<Test name="smooth" />
<Test name="flat" />
<Test name="centroid" />
<Test name="sample" />
<Test name="patch" />
</TestCase>
<TestCase name="types">
<Test name="float" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="mat2" />
<Test name="mat2x3" />
<Test name="mat2x4" />
<Test name="mat3x2" />
<Test name="mat3" />
<Test name="mat3x4" />
<Test name="mat4x2" />
<Test name="mat4x3" />
<Test name="mat4" />
<Test name="int" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uint" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
<Test name="float_struct" />
<Test name="float_array" />
</TestCase>
</TestSuite>
<TestSuite name="uniform">
<TestCase name="rules">
<Test name="type_mismatch_1" />
<Test name="type_mismatch_2" />
<Test name="type_mismatch_3" />
<Test name="type_mismatch_4" />
<Test name="precision_mismatch_1" />
<Test name="precision_mismatch_2" />
<Test name="struct_partial_usage" />
</TestCase>
<TestCase name="types">
<Test name="float" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="mat2" />
<Test name="mat2x3" />
<Test name="mat2x4" />
<Test name="mat3x2" />
<Test name="mat3" />
<Test name="mat3x4" />
<Test name="mat4x2" />
<Test name="mat4x3" />
<Test name="mat4" />
<Test name="int" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uint" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
<Test name="float_struct" />
</TestCase>
</TestSuite>
</TestSuite>
<TestSuite name="tessellation_geometry">
<TestSuite name="varying">
<TestCase name="rules">
<Test name="type_mismatch" />
<Test name="different_precision" />
<Test name="superfluous_output_declaration" />
<Test name="vertex_geometry_same_varying_name_1" />
<Test name="vertex_geometry_same_varying_name_2" />
<Test name="io_block" />
<Test name="array_in_io_block" />
</TestCase>
<TestCase name="types">
<Test name="float" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="mat2" />
<Test name="mat2x3" />
<Test name="mat2x4" />
<Test name="mat3x2" />
<Test name="mat3" />
<Test name="mat3x4" />
<Test name="mat4x2" />
<Test name="mat4x3" />
<Test name="mat4" />
<Test name="int" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uint" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
<Test name="float_struct" />
<Test name="float_array" />
</TestCase>
</TestSuite>
<TestSuite name="uniform">
<TestCase name="rules">
<Test name="type_mismatch_1" />
<Test name="precision_mismatch_1" />
<Test name="struct_partial_usage" />
</TestCase>
</TestSuite>
</TestSuite>
<TestCase name="shader_storage_block">
<Test name="mismatch_number_of_declarations" />
<Test name="mismatch_order" />
<Test name="mismatch_type" />
<Test name="mismatch_member_name" />
<Test name="mismatch_member_unsized_sized_array" />
<Test name="mismatch_member_array_size" />
<Test name="mismatch_with_and_without_instance_name" />
<Test name="mismatch_block_array_size" />
<Test name="ambiguous_variable_name_1" />
<Test name="ambiguous_variable_name_2" />
</TestCase>
<TestCase name="io_block">
<Test name="mismatch_number_of_declarations" />
<Test name="mismatch_order" />
<Test name="mismatch_type" />
<Test name="mismatch_member_array_size" />
<Test name="ambiguous_variable_name_1" />
<Test name="ambiguous_variable_name_2" />
</TestCase>
</TestSuite>
<TestSuite name="builtin_constants">
<TestCase name="core">
<Test name="max_vertex_attribs" />
<Test name="max_vertex_uniform_vectors" />
<Test name="max_vertex_output_vectors" />
<Test name="max_fragment_input_vectors" />
<Test name="max_fragment_uniform_vectors" />
<Test name="max_draw_buffers" />
<Test name="max_vertex_texture_image_units" />
<Test name="max_combined_texture_image_units" />
<Test name="max_texture_image_units" />
<Test name="min_program_texel_offset" />
<Test name="max_program_texel_offset" />
<Test name="max_image_units" />
<Test name="max_vertex_image_uniforms" />
<Test name="max_fragment_image_uniforms" />
<Test name="max_compute_image_uniforms" />
<Test name="max_combined_image_uniforms" />
<Test name="max_combined_shader_output_resources" />
<Test name="max_compute_uniform_components" />
<Test name="max_compute_texture_image_units" />
<Test name="max_compute_atomic_counters" />
<Test name="max_compute_atomic_counter_buffers" />
<Test name="max_vertex_atomic_counters" />
<Test name="max_fragment_atomic_counters" />
<Test name="max_combined_atomic_counters" />
<Test name="max_atomic_counter_bindings" />
<Test name="max_fragment_atomic_counter_buffers" />
<Test name="max_compute_work_group_count" />
<Test name="max_compute_work_group_size" />
</TestCase>
<TestCase name="sample_variables">
<Test name="max_samples" />
</TestCase>
<TestCase name="geometry_shader">
<Test name="max_geometry_input_components" />
<Test name="max_geometry_output_components" />
<Test name="max_geometry_image_uniforms" />
<Test name="max_geometry_texture_image_units" />
<Test name="max_geometry_output_vertices" />
<Test name="max_geometry_total_output_components" />
<Test name="max_geometry_uniform_components" />
<Test name="max_geometry_atomic_counters" />
<Test name="max_geometry_atomic_counter_buffers" />
</TestCase>
</TestSuite>
<TestSuite name="helper_invocation">
<TestCase name="value">
<Test name="triangles" />
<Test name="lines" />
<Test name="wide_lines" />
<Test name="points" />
<Test name="wide_points" />
<Test name="triangles_4_samples" />
<Test name="lines_4_samples" />
<Test name="wide_lines_4_samples" />
<Test name="points_4_samples" />
<Test name="wide_points_4_samples" />
<Test name="triangles_8_samples" />
<Test name="lines_8_samples" />
<Test name="wide_lines_8_samples" />
<Test name="points_8_samples" />
<Test name="wide_points_8_samples" />
<Test name="triangles_max_samples" />
<Test name="lines_max_samples" />
<Test name="wide_lines_max_samples" />
<Test name="points_max_samples" />
<Test name="wide_points_max_samples" />
</TestCase>
<TestCase name="derivate">
<Test name="triangles_dfdx" />
<Test name="triangles_dfdy" />
<Test name="triangles_fwidth" />
<Test name="lines_dfdx" />
<Test name="lines_dfdy" />
<Test name="lines_fwidth" />
<Test name="wide_lines_dfdx" />
<Test name="wide_lines_dfdy" />
<Test name="wide_lines_fwidth" />
<Test name="points_dfdx" />
<Test name="points_dfdy" />
<Test name="points_fwidth" />
<Test name="wide_points_dfdx" />
<Test name="wide_points_dfdy" />
<Test name="wide_points_fwidth" />
<Test name="triangles_4_samples_dfdx" />
<Test name="triangles_4_samples_dfdy" />
<Test name="triangles_4_samples_fwidth" />
<Test name="lines_4_samples_dfdx" />
<Test name="lines_4_samples_dfdy" />
<Test name="lines_4_samples_fwidth" />
<Test name="points_4_samples_dfdx" />
<Test name="points_4_samples_dfdy" />
<Test name="points_4_samples_fwidth" />
<Test name="wide_points_4_samples_dfdx" />
<Test name="wide_points_4_samples_dfdy" />
<Test name="wide_points_4_samples_fwidth" />
<Test name="triangles_8_samples_dfdx" />
<Test name="triangles_8_samples_dfdy" />
<Test name="triangles_8_samples_fwidth" />
<Test name="lines_8_samples_dfdx" />
<Test name="lines_8_samples_dfdy" />
<Test name="lines_8_samples_fwidth" />
<Test name="points_8_samples_dfdx" />
<Test name="points_8_samples_dfdy" />
<Test name="points_8_samples_fwidth" />
<Test name="wide_points_8_samples_dfdx" />
<Test name="wide_points_8_samples_dfdy" />
<Test name="wide_points_8_samples_fwidth" />
<Test name="triangles_max_samples_dfdx" />
<Test name="triangles_max_samples_dfdy" />
<Test name="triangles_max_samples_fwidth" />
<Test name="lines_max_samples_dfdx" />
<Test name="lines_max_samples_dfdy" />
<Test name="lines_max_samples_fwidth" />
<Test name="points_max_samples_dfdx" />
<Test name="points_max_samples_dfdy" />
<Test name="points_max_samples_fwidth" />
<Test name="wide_points_max_samples_dfdx" />
<Test name="wide_points_max_samples_dfdy" />
<Test name="wide_points_max_samples_fwidth" />
</TestCase>
</TestSuite>
<TestSuite name="implicit_conversions">
<TestSuite name="arithmetic">
<TestSuite name="input_before_literal">
<TestCase name="add">
<Test name="int_to_float_vertex" />
<Test name="int_to_float_fragment" />
<Test name="int_to_uint_vertex" />
<Test name="int_to_uint_fragment" />
<Test name="int_to_vec2_vertex" />
<Test name="int_to_vec2_fragment" />
<Test name="int_to_vec3_vertex" />
<Test name="int_to_vec3_fragment" />
<Test name="int_to_vec4_vertex" />
<Test name="int_to_vec4_fragment" />
<Test name="int_to_uvec2_vertex" />
<Test name="int_to_uvec2_fragment" />
<Test name="int_to_uvec3_vertex" />
<Test name="int_to_uvec3_fragment" />
<Test name="int_to_uvec4_vertex" />
<Test name="int_to_uvec4_fragment" />
<Test name="uint_to_vec2_vertex" />
<Test name="uint_to_vec2_fragment" />
<Test name="uint_to_vec3_vertex" />
<Test name="uint_to_vec3_fragment" />
<Test name="uint_to_vec4_vertex" />
<Test name="uint_to_vec4_fragment" />
<Test name="ivec2_to_uvec2_vertex" />
<Test name="ivec2_to_uvec2_fragment" />
<Test name="ivec2_to_vec2_vertex" />
<Test name="ivec2_to_vec2_fragment" />
<Test name="uvec2_to_vec2_vertex" />
<Test name="uvec2_to_vec2_fragment" />
<Test name="ivec3_to_uvec3_vertex" />
<Test name="ivec3_to_uvec3_fragment" />
<Test name="ivec3_to_vec3_vertex" />
<Test name="ivec3_to_vec3_fragment" />
<Test name="uvec3_to_vec3_vertex" />
<Test name="uvec3_to_vec3_fragment" />
<Test name="ivec4_to_uvec4_vertex" />
<Test name="ivec4_to_uvec4_fragment" />
<Test name="ivec4_to_vec4_vertex" />
<Test name="ivec4_to_vec4_fragment" />
<Test name="uvec4_to_vec4_vertex" />
<Test name="uvec4_to_vec4_fragment" />
</TestCase>
<TestCase name="sub">
<Test name="int_to_float_vertex" />
<Test name="int_to_float_fragment" />
<Test name="int_to_vec2_vertex" />
<Test name="int_to_vec2_fragment" />
<Test name="int_to_vec3_vertex" />
<Test name="int_to_vec3_fragment" />
<Test name="int_to_vec4_vertex" />
<Test name="int_to_vec4_fragment" />
<Test name="uint_to_vec2_vertex" />
<Test name="uint_to_vec2_fragment" />
<Test name="uint_to_vec3_vertex" />
<Test name="uint_to_vec3_fragment" />
<Test name="uint_to_vec4_vertex" />
<Test name="uint_to_vec4_fragment" />
<Test name="ivec2_to_vec2_vertex" />
<Test name="ivec2_to_vec2_fragment" />
<Test name="uvec2_to_vec2_vertex" />
<Test name="uvec2_to_vec2_fragment" />
<Test name="ivec3_to_vec3_vertex" />
<Test name="ivec3_to_vec3_fragment" />
<Test name="uvec3_to_vec3_vertex" />
<Test name="uvec3_to_vec3_fragment" />
<Test name="ivec4_to_vec4_vertex" />
<Test name="ivec4_to_vec4_fragment" />
<Test name="uvec4_to_vec4_vertex" />
<Test name="uvec4_to_vec4_fragment" />
</TestCase>
<TestCase name="mul">
<Test name="int_to_float_vertex" />
<Test name="int_to_float_fragment" />
<Test name="int_to_uint_vertex" />
<Test name="int_to_uint_fragment" />
<Test name="int_to_vec2_vertex" />
<Test name="int_to_vec2_fragment" />
<Test name="int_to_vec3_vertex" />
<Test name="int_to_vec3_fragment" />
<Test name="int_to_vec4_vertex" />
<Test name="int_to_vec4_fragment" />
<Test name="int_to_uvec2_vertex" />
<Test name="int_to_uvec2_fragment" />
<Test name="int_to_uvec3_vertex" />
<Test name="int_to_uvec3_fragment" />
<Test name="int_to_uvec4_vertex" />
<Test name="int_to_uvec4_fragment" />
<Test name="uint_to_vec2_vertex" />
<Test name="uint_to_vec2_fragment" />
<Test name="uint_to_vec3_vertex" />
<Test name="uint_to_vec3_fragment" />
<Test name="uint_to_vec4_vertex" />
<Test name="uint_to_vec4_fragment" />
<Test name="ivec2_to_uvec2_vertex" />
<Test name="ivec2_to_uvec2_fragment" />
<Test name="ivec2_to_vec2_vertex" />
<Test name="ivec2_to_vec2_fragment" />
<Test name="uvec2_to_vec2_vertex" />
<Test name="uvec2_to_vec2_fragment" />
<Test name="ivec3_to_uvec3_vertex" />
<Test name="ivec3_to_uvec3_fragment" />
<Test name="ivec3_to_vec3_vertex" />
<Test name="ivec3_to_vec3_fragment" />
<Test name="uvec3_to_vec3_vertex" />
<Test name="uvec3_to_vec3_fragment" />
<Test name="ivec4_to_uvec4_vertex" />
<Test name="ivec4_to_uvec4_fragment" />
<Test name="ivec4_to_vec4_vertex" />
<Test name="ivec4_to_vec4_fragment" />
<Test name="uvec4_to_vec4_vertex" />
<Test name="uvec4_to_vec4_fragment" />
</TestCase>
<TestCase name="div">
<Test name="int_to_float_vertex" />
<Test name="int_to_float_fragment" />
<Test name="int_to_uint_vertex" />
<Test name="int_to_uint_fragment" />
<Test name="int_to_vec2_vertex" />
<Test name="int_to_vec2_fragment" />
<Test name="int_to_vec3_vertex" />
<Test name="int_to_vec3_fragment" />
<Test name="int_to_vec4_vertex" />
<Test name="int_to_vec4_fragment" />
<Test name="int_to_uvec2_vertex" />
<Test name="int_to_uvec2_fragment" />
<Test name="int_to_uvec3_vertex" />
<Test name="int_to_uvec3_fragment" />
<Test name="int_to_uvec4_vertex" />
<Test name="int_to_uvec4_fragment" />
<Test name="uint_to_vec2_vertex" />
<Test name="uint_to_vec2_fragment" />
<Test name="uint_to_vec3_vertex" />
<Test name="uint_to_vec3_fragment" />
<Test name="uint_to_vec4_vertex" />
<Test name="uint_to_vec4_fragment" />
<Test name="ivec2_to_uvec2_vertex" />
<Test name="ivec2_to_uvec2_fragment" />
<Test name="ivec2_to_vec2_vertex" />
<Test name="ivec2_to_vec2_fragment" />
<Test name="uvec2_to_vec2_vertex" />
<Test name="uvec2_to_vec2_fragment" />
<Test name="ivec3_to_uvec3_vertex" />
<Test name="ivec3_to_uvec3_fragment" />
<Test name="ivec3_to_vec3_vertex" />
<Test name="ivec3_to_vec3_fragment" />
<Test name="uvec3_to_vec3_vertex" />
<Test name="uvec3_to_vec3_fragment" />
<Test name="ivec4_to_uvec4_vertex" />
<Test name="ivec4_to_uvec4_fragment" />
<Test name="ivec4_to_vec4_vertex" />
<Test name="ivec4_to_vec4_fragment" />
<Test name="uvec4_to_vec4_vertex" />
<Test name="uvec4_to_vec4_fragment" />
</TestCase>
</TestSuite>
<TestSuite name="literal_before_input">
<TestCase name="add">
<Test name="int_to_float_vertex" />
<Test name="int_to_float_fragment" />
<Test name="int_to_uint_vertex" />
<Test name="int_to_uint_fragment" />
<Test name="int_to_vec2_vertex" />
<Test name="int_to_vec2_fragment" />
<Test name="int_to_vec3_vertex" />
<Test name="int_to_vec3_fragment" />
<Test name="int_to_vec4_vertex" />
<Test name="int_to_vec4_fragment" />
<Test name="int_to_uvec2_vertex" />
<Test name="int_to_uvec2_fragment" />
<Test name="int_to_uvec3_vertex" />
<Test name="int_to_uvec3_fragment" />
<Test name="int_to_uvec4_vertex" />
<Test name="int_to_uvec4_fragment" />
<Test name="uint_to_vec2_vertex" />
<Test name="uint_to_vec2_fragment" />
<Test name="uint_to_vec3_vertex" />
<Test name="uint_to_vec3_fragment" />
<Test name="uint_to_vec4_vertex" />
<Test name="uint_to_vec4_fragment" />
<Test name="ivec2_to_uvec2_vertex" />
<Test name="ivec2_to_uvec2_fragment" />
<Test name="ivec2_to_vec2_vertex" />
<Test name="ivec2_to_vec2_fragment" />
<Test name="uvec2_to_vec2_vertex" />
<Test name="uvec2_to_vec2_fragment" />
<Test name="ivec3_to_uvec3_vertex" />
<Test name="ivec3_to_uvec3_fragment" />
<Test name="ivec3_to_vec3_vertex" />
<Test name="ivec3_to_vec3_fragment" />
<Test name="uvec3_to_vec3_vertex" />
<Test name="uvec3_to_vec3_fragment" />
<Test name="ivec4_to_uvec4_vertex" />
<Test name="ivec4_to_uvec4_fragment" />
<Test name="ivec4_to_vec4_vertex" />
<Test name="ivec4_to_vec4_fragment" />
<Test name="uvec4_to_vec4_vertex" />
<Test name="uvec4_to_vec4_fragment" />
</TestCase>
<TestCase name="sub">
<Test name="int_to_float_vertex" />
<Test name="int_to_float_fragment" />
<Test name="int_to_vec2_vertex" />
<Test name="int_to_vec2_fragment" />
<Test name="int_to_vec3_vertex" />
<Test name="int_to_vec3_fragment" />
<Test name="int_to_vec4_vertex" />
<Test name="int_to_vec4_fragment" />
<Test name="uint_to_vec2_vertex" />
<Test name="uint_to_vec2_fragment" />
<Test name="uint_to_vec3_vertex" />
<Test name="uint_to_vec3_fragment" />
<Test name="uint_to_vec4_vertex" />
<Test name="uint_to_vec4_fragment" />
<Test name="ivec2_to_vec2_vertex" />
<Test name="ivec2_to_vec2_fragment" />
<Test name="uvec2_to_vec2_vertex" />
<Test name="uvec2_to_vec2_fragment" />
<Test name="ivec3_to_vec3_vertex" />
<Test name="ivec3_to_vec3_fragment" />
<Test name="uvec3_to_vec3_vertex" />
<Test name="uvec3_to_vec3_fragment" />
<Test name="ivec4_to_vec4_vertex" />
<Test name="ivec4_to_vec4_fragment" />
<Test name="uvec4_to_vec4_vertex" />
<Test name="uvec4_to_vec4_fragment" />
</TestCase>
<TestCase name="mul">
<Test name="int_to_float_vertex" />
<Test name="int_to_float_fragment" />
<Test name="int_to_uint_vertex" />
<Test name="int_to_uint_fragment" />
<Test name="int_to_vec2_vertex" />
<Test name="int_to_vec2_fragment" />
<Test name="int_to_vec3_vertex" />
<Test name="int_to_vec3_fragment" />
<Test name="int_to_vec4_vertex" />
<Test name="int_to_vec4_fragment" />
<Test name="int_to_uvec2_vertex" />
<Test name="int_to_uvec2_fragment" />
<Test name="int_to_uvec3_vertex" />
<Test name="int_to_uvec3_fragment" />
<Test name="int_to_uvec4_vertex" />
<Test name="int_to_uvec4_fragment" />
<Test name="uint_to_vec2_vertex" />
<Test name="uint_to_vec2_fragment" />
<Test name="uint_to_vec3_vertex" />
<Test name="uint_to_vec3_fragment" />
<Test name="uint_to_vec4_vertex" />
<Test name="uint_to_vec4_fragment" />
<Test name="ivec2_to_uvec2_vertex" />
<Test name="ivec2_to_uvec2_fragment" />
<Test name="ivec2_to_vec2_vertex" />
<Test name="ivec2_to_vec2_fragment" />
<Test name="uvec2_to_vec2_vertex" />
<Test name="uvec2_to_vec2_fragment" />
<Test name="ivec3_to_uvec3_vertex" />
<Test name="ivec3_to_uvec3_fragment" />
<Test name="ivec3_to_vec3_vertex" />
<Test name="ivec3_to_vec3_fragment" />
<Test name="uvec3_to_vec3_vertex" />
<Test name="uvec3_to_vec3_fragment" />
<Test name="ivec4_to_uvec4_vertex" />
<Test name="ivec4_to_uvec4_fragment" />
<Test name="ivec4_to_vec4_vertex" />
<Test name="ivec4_to_vec4_fragment" />
<Test name="uvec4_to_vec4_vertex" />
<Test name="uvec4_to_vec4_fragment" />
</TestCase>
<TestCase name="div">
<Test name="int_to_float_vertex" />
<Test name="int_to_float_fragment" />
<Test name="int_to_uint_vertex" />
<Test name="int_to_uint_fragment" />
<Test name="int_to_vec2_vertex" />
<Test name="int_to_vec2_fragment" />
<Test name="int_to_vec3_vertex" />
<Test name="int_to_vec3_fragment" />
<Test name="int_to_vec4_vertex" />
<Test name="int_to_vec4_fragment" />
<Test name="int_to_uvec2_vertex" />
<Test name="int_to_uvec2_fragment" />
<Test name="int_to_uvec3_vertex" />
<Test name="int_to_uvec3_fragment" />
<Test name="int_to_uvec4_vertex" />
<Test name="int_to_uvec4_fragment" />
<Test name="uint_to_vec2_vertex" />
<Test name="uint_to_vec2_fragment" />
<Test name="uint_to_vec3_vertex" />
<Test name="uint_to_vec3_fragment" />
<Test name="uint_to_vec4_vertex" />
<Test name="uint_to_vec4_fragment" />
<Test name="ivec2_to_uvec2_vertex" />
<Test name="ivec2_to_uvec2_fragment" />
<Test name="ivec2_to_vec2_vertex" />
<Test name="ivec2_to_vec2_fragment" />
<Test name="uvec2_to_vec2_vertex" />
<Test name="uvec2_to_vec2_fragment" />
<Test name="ivec3_to_uvec3_vertex" />
<Test name="ivec3_to_uvec3_fragment" />
<Test name="ivec3_to_vec3_vertex" />
<Test name="ivec3_to_vec3_fragment" />
<Test name="uvec3_to_vec3_vertex" />
<Test name="uvec3_to_vec3_fragment" />
<Test name="ivec4_to_uvec4_vertex" />
<Test name="ivec4_to_uvec4_fragment" />
<Test name="ivec4_to_vec4_vertex" />
<Test name="ivec4_to_vec4_fragment" />
<Test name="uvec4_to_vec4_vertex" />
<Test name="uvec4_to_vec4_fragment" />
</TestCase>
</TestSuite>
</TestSuite>
<TestSuite name="comparisons">
<TestSuite name="input_before_literal">
<TestCase name="equal">
<Test name="int_to_float_vertex" />
<Test name="int_to_float_fragment" />
<Test name="int_to_uint_vertex" />
<Test name="int_to_uint_fragment" />
<Test name="uvec2_to_vec2_vertex" />
<Test name="uvec2_to_vec2_fragment" />
<Test name="uvec3_to_vec3_vertex" />
<Test name="uvec3_to_vec3_fragment" />
<Test name="uvec4_to_vec4_vertex" />
<Test name="uvec4_to_vec4_fragment" />
</TestCase>
<TestCase name="not_equal">
<Test name="int_to_float_vertex" />
<Test name="int_to_float_fragment" />
<Test name="int_to_uint_vertex" />
<Test name="int_to_uint_fragment" />
<Test name="uvec2_to_vec2_vertex" />
<Test name="uvec2_to_vec2_fragment" />
<Test name="uvec3_to_vec3_vertex" />
<Test name="uvec3_to_vec3_fragment" />
<Test name="uvec4_to_vec4_vertex" />
<Test name="uvec4_to_vec4_fragment" />
</TestCase>
<TestCase name="less">
<Test name="int_to_float_vertex" />
<Test name="int_to_float_fragment" />
<Test name="int_to_uint_vertex" />
<Test name="int_to_uint_fragment" />
</TestCase>
<TestCase name="greater">
<Test name="int_to_float_vertex" />
<Test name="int_to_float_fragment" />
<Test name="int_to_uint_vertex" />
<Test name="int_to_uint_fragment" />
</TestCase>
<TestCase name="less_or_equal">
<Test name="int_to_float_vertex" />
<Test name="int_to_float_fragment" />
<Test name="int_to_uint_vertex" />
<Test name="int_to_uint_fragment" />
</TestCase>
<TestCase name="greater_or_equal">
<Test name="int_to_float_vertex" />
<Test name="int_to_float_fragment" />
<Test name="int_to_uint_vertex" />
<Test name="int_to_uint_fragment" />
</TestCase>
</TestSuite>
<TestSuite name="literal_before_input">
<TestCase name="equal">
<Test name="int_to_float_vertex" />
<Test name="int_to_float_fragment" />
<Test name="int_to_uint_vertex" />
<Test name="int_to_uint_fragment" />
<Test name="uvec2_to_vec2_vertex" />
<Test name="uvec2_to_vec2_fragment" />
<Test name="uvec3_to_vec3_vertex" />
<Test name="uvec3_to_vec3_fragment" />
<Test name="uvec4_to_vec4_vertex" />
<Test name="uvec4_to_vec4_fragment" />
</TestCase>
<TestCase name="not_equal">
<Test name="int_to_float_vertex" />
<Test name="int_to_float_fragment" />
<Test name="int_to_uint_vertex" />
<Test name="int_to_uint_fragment" />
<Test name="uvec2_to_vec2_vertex" />
<Test name="uvec2_to_vec2_fragment" />
<Test name="uvec3_to_vec3_vertex" />
<Test name="uvec3_to_vec3_fragment" />
<Test name="uvec4_to_vec4_vertex" />
<Test name="uvec4_to_vec4_fragment" />
</TestCase>
<TestCase name="less">
<Test name="int_to_float_vertex" />
<Test name="int_to_float_fragment" />
<Test name="int_to_uint_vertex" />
<Test name="int_to_uint_fragment" />
</TestCase>
<TestCase name="greater">
<Test name="int_to_float_vertex" />
<Test name="int_to_float_fragment" />
<Test name="int_to_uint_vertex" />
<Test name="int_to_uint_fragment" />
</TestCase>
<TestCase name="less_or_equal">
<Test name="int_to_float_vertex" />
<Test name="int_to_float_fragment" />
<Test name="int_to_uint_vertex" />
<Test name="int_to_uint_fragment" />
</TestCase>
<TestCase name="greater_or_equal">
<Test name="int_to_float_vertex" />
<Test name="int_to_float_fragment" />
<Test name="int_to_uint_vertex" />
<Test name="int_to_uint_fragment" />
</TestCase>
</TestSuite>
</TestSuite>
<TestSuite name="array_subscripts">
<TestCase name="input_before_subscript">
<Test name="int_to_float_vertex" />
<Test name="int_to_float_fragment" />
<Test name="int_to_uint_vertex" />
<Test name="int_to_uint_fragment" />
<Test name="int_to_vec2_vertex" />
<Test name="int_to_vec2_fragment" />
<Test name="int_to_vec3_vertex" />
<Test name="int_to_vec3_fragment" />
<Test name="int_to_vec4_vertex" />
<Test name="int_to_vec4_fragment" />
<Test name="int_to_uvec2_vertex" />
<Test name="int_to_uvec2_fragment" />
<Test name="int_to_uvec3_vertex" />
<Test name="int_to_uvec3_fragment" />
<Test name="int_to_uvec4_vertex" />
<Test name="int_to_uvec4_fragment" />
<Test name="uint_to_float_vertex" />
<Test name="uint_to_float_fragment" />
<Test name="uint_to_vec2_vertex" />
<Test name="uint_to_vec2_fragment" />
<Test name="uint_to_vec3_vertex" />
<Test name="uint_to_vec3_fragment" />
<Test name="uint_to_vec4_vertex" />
<Test name="uint_to_vec4_fragment" />
<Test name="ivec2_to_uvec2_vertex" />
<Test name="ivec2_to_uvec2_fragment" />
<Test name="ivec2_to_vec2_vertex" />
<Test name="ivec2_to_vec2_fragment" />
<Test name="uvec2_to_vec2_vertex" />
<Test name="uvec2_to_vec2_fragment" />
<Test name="ivec3_to_uvec3_vertex" />
<Test name="ivec3_to_uvec3_fragment" />
<Test name="ivec3_to_vec3_vertex" />
<Test name="ivec3_to_vec3_fragment" />
<Test name="uvec3_to_vec3_vertex" />
<Test name="uvec3_to_vec3_fragment" />
<Test name="ivec4_to_uvec4_vertex" />
<Test name="ivec4_to_uvec4_fragment" />
<Test name="ivec4_to_vec4_vertex" />
<Test name="ivec4_to_vec4_fragment" />
<Test name="uvec4_to_vec4_vertex" />
<Test name="uvec4_to_vec4_fragment" />
</TestCase>
<TestCase name="subscript_before_input">
<Test name="int_to_float_vertex" />
<Test name="int_to_float_fragment" />
<Test name="int_to_uint_vertex" />
<Test name="int_to_uint_fragment" />
<Test name="int_to_vec2_vertex" />
<Test name="int_to_vec2_fragment" />
<Test name="int_to_vec3_vertex" />
<Test name="int_to_vec3_fragment" />
<Test name="int_to_vec4_vertex" />
<Test name="int_to_vec4_fragment" />
<Test name="int_to_uvec2_vertex" />
<Test name="int_to_uvec2_fragment" />
<Test name="int_to_uvec3_vertex" />
<Test name="int_to_uvec3_fragment" />
<Test name="int_to_uvec4_vertex" />
<Test name="int_to_uvec4_fragment" />
<Test name="uint_to_float_vertex" />
<Test name="uint_to_float_fragment" />
<Test name="uint_to_vec2_vertex" />
<Test name="uint_to_vec2_fragment" />
<Test name="uint_to_vec3_vertex" />
<Test name="uint_to_vec3_fragment" />
<Test name="uint_to_vec4_vertex" />
<Test name="uint_to_vec4_fragment" />
<Test name="ivec2_to_uvec2_vertex" />
<Test name="ivec2_to_uvec2_fragment" />
<Test name="ivec2_to_vec2_vertex" />
<Test name="ivec2_to_vec2_fragment" />
<Test name="uvec2_to_vec2_vertex" />
<Test name="uvec2_to_vec2_fragment" />
<Test name="ivec3_to_uvec3_vertex" />
<Test name="ivec3_to_uvec3_fragment" />
<Test name="ivec3_to_vec3_vertex" />
<Test name="ivec3_to_vec3_fragment" />
<Test name="uvec3_to_vec3_vertex" />
<Test name="uvec3_to_vec3_fragment" />
<Test name="ivec4_to_uvec4_vertex" />
<Test name="ivec4_to_uvec4_fragment" />
<Test name="ivec4_to_vec4_vertex" />
<Test name="ivec4_to_vec4_fragment" />
<Test name="uvec4_to_vec4_vertex" />
<Test name="uvec4_to_vec4_fragment" />
</TestCase>
</TestSuite>
<TestCase name="functions">
<Test name="int_to_float_vertex" />
<Test name="int_to_float_fragment" />
<Test name="int_to_uint_vertex" />
<Test name="int_to_uint_fragment" />
<Test name="uint_to_float_vertex" />
<Test name="uint_to_float_fragment" />
<Test name="ivec2_to_uvec2_vertex" />
<Test name="ivec2_to_uvec2_fragment" />
<Test name="ivec2_to_vec2_vertex" />
<Test name="ivec2_to_vec2_fragment" />
<Test name="uvec2_to_vec2_vertex" />
<Test name="uvec2_to_vec2_fragment" />
<Test name="ivec3_to_uvec3_vertex" />
<Test name="ivec3_to_uvec3_fragment" />
<Test name="ivec3_to_vec3_vertex" />
<Test name="ivec3_to_vec3_fragment" />
<Test name="uvec3_to_vec3_vertex" />
<Test name="uvec3_to_vec3_fragment" />
<Test name="ivec4_to_uvec4_vertex" />
<Test name="ivec4_to_uvec4_fragment" />
<Test name="ivec4_to_vec4_vertex" />
<Test name="ivec4_to_vec4_fragment" />
<Test name="uvec4_to_vec4_vertex" />
<Test name="uvec4_to_vec4_fragment" />
</TestCase>
<TestSuite name="struct_fields">
<TestCase name="input_before_field">
<Test name="int_to_float_vertex" />
<Test name="int_to_float_fragment" />
<Test name="int_to_uint_vertex" />
<Test name="int_to_uint_fragment" />
<Test name="int_to_vec2_vertex" />
<Test name="int_to_vec2_fragment" />
<Test name="int_to_vec3_vertex" />
<Test name="int_to_vec3_fragment" />
<Test name="int_to_vec4_vertex" />
<Test name="int_to_vec4_fragment" />
<Test name="int_to_uvec2_vertex" />
<Test name="int_to_uvec2_fragment" />
<Test name="int_to_uvec3_vertex" />
<Test name="int_to_uvec3_fragment" />
<Test name="int_to_uvec4_vertex" />
<Test name="int_to_uvec4_fragment" />
<Test name="uint_to_float_vertex" />
<Test name="uint_to_float_fragment" />
<Test name="uint_to_vec2_vertex" />
<Test name="uint_to_vec2_fragment" />
<Test name="uint_to_vec3_vertex" />
<Test name="uint_to_vec3_fragment" />
<Test name="uint_to_vec4_vertex" />
<Test name="uint_to_vec4_fragment" />
<Test name="ivec2_to_uvec2_vertex" />
<Test name="ivec2_to_uvec2_fragment" />
<Test name="ivec2_to_vec2_vertex" />
<Test name="ivec2_to_vec2_fragment" />
<Test name="uvec2_to_vec2_vertex" />
<Test name="uvec2_to_vec2_fragment" />
<Test name="ivec3_to_uvec3_vertex" />
<Test name="ivec3_to_uvec3_fragment" />
<Test name="ivec3_to_vec3_vertex" />
<Test name="ivec3_to_vec3_fragment" />
<Test name="uvec3_to_vec3_vertex" />
<Test name="uvec3_to_vec3_fragment" />
<Test name="ivec4_to_uvec4_vertex" />
<Test name="ivec4_to_uvec4_fragment" />
<Test name="ivec4_to_vec4_vertex" />
<Test name="ivec4_to_vec4_fragment" />
<Test name="uvec4_to_vec4_vertex" />
<Test name="uvec4_to_vec4_fragment" />
</TestCase>
<TestCase name="field_before_input">
<Test name="int_to_float_vertex" />
<Test name="int_to_float_fragment" />
<Test name="int_to_uint_vertex" />
<Test name="int_to_uint_fragment" />
<Test name="int_to_vec2_vertex" />
<Test name="int_to_vec2_fragment" />
<Test name="int_to_vec3_vertex" />
<Test name="int_to_vec3_fragment" />
<Test name="int_to_vec4_vertex" />
<Test name="int_to_vec4_fragment" />
<Test name="int_to_uvec2_vertex" />
<Test name="int_to_uvec2_fragment" />
<Test name="int_to_uvec3_vertex" />
<Test name="int_to_uvec3_fragment" />
<Test name="int_to_uvec4_vertex" />
<Test name="int_to_uvec4_fragment" />
<Test name="uint_to_float_vertex" />
<Test name="uint_to_float_fragment" />
<Test name="uint_to_vec2_vertex" />
<Test name="uint_to_vec2_fragment" />
<Test name="uint_to_vec3_vertex" />
<Test name="uint_to_vec3_fragment" />
<Test name="uint_to_vec4_vertex" />
<Test name="uint_to_vec4_fragment" />
<Test name="ivec2_to_uvec2_vertex" />
<Test name="ivec2_to_uvec2_fragment" />
<Test name="ivec2_to_vec2_vertex" />
<Test name="ivec2_to_vec2_fragment" />
<Test name="uvec2_to_vec2_vertex" />
<Test name="uvec2_to_vec2_fragment" />
<Test name="ivec3_to_uvec3_vertex" />
<Test name="ivec3_to_uvec3_fragment" />
<Test name="ivec3_to_vec3_vertex" />
<Test name="ivec3_to_vec3_fragment" />
<Test name="uvec3_to_vec3_vertex" />
<Test name="uvec3_to_vec3_fragment" />
<Test name="ivec4_to_uvec4_vertex" />
<Test name="ivec4_to_uvec4_fragment" />
<Test name="ivec4_to_vec4_vertex" />
<Test name="ivec4_to_vec4_fragment" />
<Test name="uvec4_to_vec4_vertex" />
<Test name="uvec4_to_vec4_fragment" />
</TestCase>
</TestSuite>
<TestSuite name="parenthesized_expressions">
<TestSuite name="paren_expr_before_literal">
<TestCase name="input_in_parens">
<Test name="int_to_float_vertex" />
<Test name="int_to_float_fragment" />
<Test name="int_to_uint_vertex" />
<Test name="int_to_uint_fragment" />
<Test name="int_to_vec2_vertex" />
<Test name="int_to_vec2_fragment" />
<Test name="int_to_vec3_vertex" />
<Test name="int_to_vec3_fragment" />
<Test name="int_to_vec4_vertex" />
<Test name="int_to_vec4_fragment" />
<Test name="int_to_uvec2_vertex" />
<Test name="int_to_uvec2_fragment" />
<Test name="int_to_uvec3_vertex" />
<Test name="int_to_uvec3_fragment" />
<Test name="int_to_uvec4_vertex" />
<Test name="int_to_uvec4_fragment" />
<Test name="uint_to_vec2_vertex" />
<Test name="uint_to_vec2_fragment" />
<Test name="uint_to_vec3_vertex" />
<Test name="uint_to_vec3_fragment" />
<Test name="uint_to_vec4_vertex" />
<Test name="uint_to_vec4_fragment" />
<Test name="ivec2_to_uvec2_vertex" />
<Test name="ivec2_to_uvec2_fragment" />
<Test name="ivec2_to_vec2_vertex" />
<Test name="ivec2_to_vec2_fragment" />
<Test name="uvec2_to_vec2_vertex" />
<Test name="uvec2_to_vec2_fragment" />
<Test name="ivec3_to_uvec3_vertex" />
<Test name="ivec3_to_uvec3_fragment" />
<Test name="ivec3_to_vec3_vertex" />
<Test name="ivec3_to_vec3_fragment" />
<Test name="uvec3_to_vec3_vertex" />
<Test name="uvec3_to_vec3_fragment" />
<Test name="ivec4_to_uvec4_vertex" />
<Test name="ivec4_to_uvec4_fragment" />
<Test name="ivec4_to_vec4_vertex" />
<Test name="ivec4_to_vec4_fragment" />
<Test name="uvec4_to_vec4_vertex" />
<Test name="uvec4_to_vec4_fragment" />
</TestCase>
<TestCase name="input_outside_parens">
<Test name="int_to_float_vertex" />
<Test name="int_to_float_fragment" />
<Test name="int_to_uint_vertex" />
<Test name="int_to_uint_fragment" />
<Test name="int_to_vec2_vertex" />
<Test name="int_to_vec2_fragment" />
<Test name="int_to_vec3_vertex" />
<Test name="int_to_vec3_fragment" />
<Test name="int_to_vec4_vertex" />
<Test name="int_to_vec4_fragment" />
<Test name="int_to_uvec2_vertex" />
<Test name="int_to_uvec2_fragment" />
<Test name="int_to_uvec3_vertex" />
<Test name="int_to_uvec3_fragment" />
<Test name="int_to_uvec4_vertex" />
<Test name="int_to_uvec4_fragment" />
<Test name="uint_to_vec2_vertex" />
<Test name="uint_to_vec2_fragment" />
<Test name="uint_to_vec3_vertex" />
<Test name="uint_to_vec3_fragment" />
<Test name="uint_to_vec4_vertex" />
<Test name="uint_to_vec4_fragment" />
<Test name="ivec2_to_uvec2_vertex" />
<Test name="ivec2_to_uvec2_fragment" />
<Test name="ivec2_to_vec2_vertex" />
<Test name="ivec2_to_vec2_fragment" />
<Test name="uvec2_to_vec2_vertex" />
<Test name="uvec2_to_vec2_fragment" />
<Test name="ivec3_to_uvec3_vertex" />
<Test name="ivec3_to_uvec3_fragment" />
<Test name="ivec3_to_vec3_vertex" />
<Test name="ivec3_to_vec3_fragment" />
<Test name="uvec3_to_vec3_vertex" />
<Test name="uvec3_to_vec3_fragment" />
<Test name="ivec4_to_uvec4_vertex" />
<Test name="ivec4_to_uvec4_fragment" />
<Test name="ivec4_to_vec4_vertex" />
<Test name="ivec4_to_vec4_fragment" />
<Test name="uvec4_to_vec4_vertex" />
<Test name="uvec4_to_vec4_fragment" />
</TestCase>
</TestSuite>
<TestSuite name="literal_before_paren_expr">
<TestCase name="input_in_parens">
<Test name="int_to_float_vertex" />
<Test name="int_to_float_fragment" />
<Test name="int_to_uint_vertex" />
<Test name="int_to_uint_fragment" />
<Test name="int_to_vec2_vertex" />
<Test name="int_to_vec2_fragment" />
<Test name="int_to_vec3_vertex" />
<Test name="int_to_vec3_fragment" />
<Test name="int_to_vec4_vertex" />
<Test name="int_to_vec4_fragment" />
<Test name="int_to_uvec2_vertex" />
<Test name="int_to_uvec2_fragment" />
<Test name="int_to_uvec3_vertex" />
<Test name="int_to_uvec3_fragment" />
<Test name="int_to_uvec4_vertex" />
<Test name="int_to_uvec4_fragment" />
<Test name="uint_to_vec2_vertex" />
<Test name="uint_to_vec2_fragment" />
<Test name="uint_to_vec3_vertex" />
<Test name="uint_to_vec3_fragment" />
<Test name="uint_to_vec4_vertex" />
<Test name="uint_to_vec4_fragment" />
<Test name="ivec2_to_uvec2_vertex" />
<Test name="ivec2_to_uvec2_fragment" />
<Test name="ivec2_to_vec2_vertex" />
<Test name="ivec2_to_vec2_fragment" />
<Test name="uvec2_to_vec2_vertex" />
<Test name="uvec2_to_vec2_fragment" />
<Test name="ivec3_to_uvec3_vertex" />
<Test name="ivec3_to_uvec3_fragment" />
<Test name="ivec3_to_vec3_vertex" />
<Test name="ivec3_to_vec3_fragment" />
<Test name="uvec3_to_vec3_vertex" />
<Test name="uvec3_to_vec3_fragment" />
<Test name="ivec4_to_uvec4_vertex" />
<Test name="ivec4_to_uvec4_fragment" />
<Test name="ivec4_to_vec4_vertex" />
<Test name="ivec4_to_vec4_fragment" />
<Test name="uvec4_to_vec4_vertex" />
<Test name="uvec4_to_vec4_fragment" />
</TestCase>
<TestCase name="input_outside_parens">
<Test name="int_to_float_vertex" />
<Test name="int_to_float_fragment" />
<Test name="int_to_uint_vertex" />
<Test name="int_to_uint_fragment" />
<Test name="int_to_vec2_vertex" />
<Test name="int_to_vec2_fragment" />
<Test name="int_to_vec3_vertex" />
<Test name="int_to_vec3_fragment" />
<Test name="int_to_vec4_vertex" />
<Test name="int_to_vec4_fragment" />
<Test name="int_to_uvec2_vertex" />
<Test name="int_to_uvec2_fragment" />
<Test name="int_to_uvec3_vertex" />
<Test name="int_to_uvec3_fragment" />
<Test name="int_to_uvec4_vertex" />
<Test name="int_to_uvec4_fragment" />
<Test name="uint_to_vec2_vertex" />
<Test name="uint_to_vec2_fragment" />
<Test name="uint_to_vec3_vertex" />
<Test name="uint_to_vec3_fragment" />
<Test name="uint_to_vec4_vertex" />
<Test name="uint_to_vec4_fragment" />
<Test name="ivec2_to_uvec2_vertex" />
<Test name="ivec2_to_uvec2_fragment" />
<Test name="ivec2_to_vec2_vertex" />
<Test name="ivec2_to_vec2_fragment" />
<Test name="uvec2_to_vec2_vertex" />
<Test name="uvec2_to_vec2_fragment" />
<Test name="ivec3_to_uvec3_vertex" />
<Test name="ivec3_to_uvec3_fragment" />
<Test name="ivec3_to_vec3_vertex" />
<Test name="ivec3_to_vec3_fragment" />
<Test name="uvec3_to_vec3_vertex" />
<Test name="uvec3_to_vec3_fragment" />
<Test name="ivec4_to_uvec4_vertex" />
<Test name="ivec4_to_uvec4_fragment" />
<Test name="ivec4_to_vec4_vertex" />
<Test name="ivec4_to_vec4_fragment" />
<Test name="uvec4_to_vec4_vertex" />
<Test name="uvec4_to_vec4_fragment" />
</TestCase>
</TestSuite>
</TestSuite>
<TestSuite name="invalid">
<TestCase name="variables">
<Test name="uint_to_int_vertex" />
<Test name="uint_to_int_fragment" />
<Test name="uint_to_ivec2_vertex" />
<Test name="uint_to_ivec2_fragment" />
<Test name="uint_to_ivec3_vertex" />
<Test name="uint_to_ivec3_fragment" />
<Test name="uint_to_ivec4_vertex" />
<Test name="uint_to_ivec4_fragment" />
<Test name="ivec2_to_ivec3_vertex" />
<Test name="ivec2_to_ivec3_fragment" />
<Test name="ivec2_to_uvec3_vertex" />
<Test name="ivec2_to_uvec3_fragment" />
<Test name="ivec2_to_ivec4_vertex" />
<Test name="ivec2_to_ivec4_fragment" />
<Test name="ivec2_to_uvec4_vertex" />
<Test name="ivec2_to_uvec4_fragment" />
<Test name="ivec2_to_vec3_vertex" />
<Test name="ivec2_to_vec3_fragment" />
<Test name="ivec2_to_vec4_vertex" />
<Test name="ivec2_to_vec4_fragment" />
<Test name="uvec2_to_int_vertex" />
<Test name="uvec2_to_int_fragment" />
<Test name="uvec2_to_ivec2_vertex" />
<Test name="uvec2_to_ivec2_fragment" />
<Test name="uvec2_to_ivec3_vertex" />
<Test name="uvec2_to_ivec3_fragment" />
<Test name="uvec2_to_uvec3_vertex" />
<Test name="uvec2_to_uvec3_fragment" />
<Test name="uvec2_to_ivec4_vertex" />
<Test name="uvec2_to_ivec4_fragment" />
<Test name="uvec2_to_uvec4_vertex" />
<Test name="uvec2_to_uvec4_fragment" />
<Test name="uvec2_to_vec3_vertex" />
<Test name="uvec2_to_vec3_fragment" />
<Test name="uvec2_to_vec4_vertex" />
<Test name="uvec2_to_vec4_fragment" />
<Test name="ivec3_to_ivec2_vertex" />
<Test name="ivec3_to_ivec2_fragment" />
<Test name="ivec3_to_uvec2_vertex" />
<Test name="ivec3_to_uvec2_fragment" />
<Test name="ivec3_to_ivec4_vertex" />
<Test name="ivec3_to_ivec4_fragment" />
<Test name="ivec3_to_uvec4_vertex" />
<Test name="ivec3_to_uvec4_fragment" />
<Test name="ivec3_to_vec2_vertex" />
<Test name="ivec3_to_vec2_fragment" />
<Test name="ivec3_to_vec4_vertex" />
<Test name="ivec3_to_vec4_fragment" />
<Test name="uvec3_to_int_vertex" />
<Test name="uvec3_to_int_fragment" />
<Test name="uvec3_to_ivec2_vertex" />
<Test name="uvec3_to_ivec2_fragment" />
<Test name="uvec3_to_uvec2_vertex" />
<Test name="uvec3_to_uvec2_fragment" />
<Test name="uvec3_to_ivec3_vertex" />
<Test name="uvec3_to_ivec3_fragment" />
<Test name="uvec3_to_ivec4_vertex" />
<Test name="uvec3_to_ivec4_fragment" />
<Test name="uvec3_to_uvec4_vertex" />
<Test name="uvec3_to_uvec4_fragment" />
<Test name="uvec3_to_vec2_vertex" />
<Test name="uvec3_to_vec2_fragment" />
<Test name="uvec3_to_vec4_vertex" />
<Test name="uvec3_to_vec4_fragment" />
<Test name="ivec4_to_ivec2_vertex" />
<Test name="ivec4_to_ivec2_fragment" />
<Test name="ivec4_to_uvec2_vertex" />
<Test name="ivec4_to_uvec2_fragment" />
<Test name="ivec4_to_ivec3_vertex" />
<Test name="ivec4_to_ivec3_fragment" />
<Test name="ivec4_to_uvec3_vertex" />
<Test name="ivec4_to_uvec3_fragment" />
<Test name="ivec4_to_vec2_vertex" />
<Test name="ivec4_to_vec2_fragment" />
<Test name="ivec4_to_vec3_vertex" />
<Test name="ivec4_to_vec3_fragment" />
<Test name="uvec4_to_int_vertex" />
<Test name="uvec4_to_int_fragment" />
<Test name="uvec4_to_ivec2_vertex" />
<Test name="uvec4_to_ivec2_fragment" />
<Test name="uvec4_to_uvec2_vertex" />
<Test name="uvec4_to_uvec2_fragment" />
<Test name="uvec4_to_ivec3_vertex" />
<Test name="uvec4_to_ivec3_fragment" />
<Test name="uvec4_to_uvec3_vertex" />
<Test name="uvec4_to_uvec3_fragment" />
<Test name="uvec4_to_ivec4_vertex" />
<Test name="uvec4_to_ivec4_fragment" />
<Test name="uvec4_to_vec2_vertex" />
<Test name="uvec4_to_vec2_fragment" />
<Test name="uvec4_to_vec3_vertex" />
<Test name="uvec4_to_vec3_fragment" />
<Test name="float_to_int_vertex" />
<Test name="float_to_int_fragment" />
<Test name="float_to_uint_vertex" />
<Test name="float_to_uint_fragment" />
<Test name="float_to_ivec2_vertex" />
<Test name="float_to_ivec2_fragment" />
<Test name="float_to_uvec2_vertex" />
<Test name="float_to_uvec2_fragment" />
<Test name="float_to_ivec3_vertex" />
<Test name="float_to_ivec3_fragment" />
<Test name="float_to_uvec3_vertex" />
<Test name="float_to_uvec3_fragment" />
<Test name="float_to_ivec4_vertex" />
<Test name="float_to_ivec4_fragment" />
<Test name="float_to_uvec4_vertex" />
<Test name="float_to_uvec4_fragment" />
<Test name="vec2_to_int_vertex" />
<Test name="vec2_to_int_fragment" />
<Test name="vec2_to_uint_vertex" />
<Test name="vec2_to_uint_fragment" />
<Test name="vec2_to_ivec2_vertex" />
<Test name="vec2_to_ivec2_fragment" />
<Test name="vec2_to_uvec2_vertex" />
<Test name="vec2_to_uvec2_fragment" />
<Test name="vec2_to_ivec3_vertex" />
<Test name="vec2_to_ivec3_fragment" />
<Test name="vec2_to_uvec3_vertex" />
<Test name="vec2_to_uvec3_fragment" />
<Test name="vec2_to_ivec4_vertex" />
<Test name="vec2_to_ivec4_fragment" />
<Test name="vec2_to_uvec4_vertex" />
<Test name="vec2_to_uvec4_fragment" />
<Test name="vec2_to_vec3_vertex" />
<Test name="vec2_to_vec3_fragment" />
<Test name="vec2_to_vec4_vertex" />
<Test name="vec2_to_vec4_fragment" />
<Test name="vec3_to_int_vertex" />
<Test name="vec3_to_int_fragment" />
<Test name="vec3_to_uint_vertex" />
<Test name="vec3_to_uint_fragment" />
<Test name="vec3_to_ivec2_vertex" />
<Test name="vec3_to_ivec2_fragment" />
<Test name="vec3_to_uvec2_vertex" />
<Test name="vec3_to_uvec2_fragment" />
<Test name="vec3_to_ivec3_vertex" />
<Test name="vec3_to_ivec3_fragment" />
<Test name="vec3_to_uvec3_vertex" />
<Test name="vec3_to_uvec3_fragment" />
<Test name="vec3_to_ivec4_vertex" />
<Test name="vec3_to_ivec4_fragment" />
<Test name="vec3_to_uvec4_vertex" />
<Test name="vec3_to_uvec4_fragment" />
<Test name="vec3_to_vec2_vertex" />
<Test name="vec3_to_vec2_fragment" />
<Test name="vec3_to_vec4_vertex" />
<Test name="vec3_to_vec4_fragment" />
<Test name="vec4_to_int_vertex" />
<Test name="vec4_to_int_fragment" />
<Test name="vec4_to_uint_vertex" />
<Test name="vec4_to_uint_fragment" />
<Test name="vec4_to_ivec2_vertex" />
<Test name="vec4_to_ivec2_fragment" />
<Test name="vec4_to_uvec2_vertex" />
<Test name="vec4_to_uvec2_fragment" />
<Test name="vec4_to_ivec3_vertex" />
<Test name="vec4_to_ivec3_fragment" />
<Test name="vec4_to_uvec3_vertex" />
<Test name="vec4_to_uvec3_fragment" />
<Test name="vec4_to_ivec4_vertex" />
<Test name="vec4_to_ivec4_fragment" />
<Test name="vec4_to_uvec4_vertex" />
<Test name="vec4_to_uvec4_fragment" />
<Test name="vec4_to_vec2_vertex" />
<Test name="vec4_to_vec2_fragment" />
<Test name="vec4_to_vec3_vertex" />
<Test name="vec4_to_vec3_fragment" />
</TestCase>
<TestCase name="arrays">
<Test name="int_to_float_vertex" />
<Test name="int_to_float_fragment" />
<Test name="int_to_uint_vertex" />
<Test name="int_to_uint_fragment" />
<Test name="uint_to_float_vertex" />
<Test name="uint_to_float_fragment" />
<Test name="ivec2_to_uvec2_vertex" />
<Test name="ivec2_to_uvec2_fragment" />
<Test name="ivec2_to_vec2_vertex" />
<Test name="ivec2_to_vec2_fragment" />
<Test name="uvec2_to_vec2_vertex" />
<Test name="uvec2_to_vec2_fragment" />
<Test name="ivec3_to_uvec3_vertex" />
<Test name="ivec3_to_uvec3_fragment" />
<Test name="ivec3_to_vec3_vertex" />
<Test name="ivec3_to_vec3_fragment" />
<Test name="uvec3_to_vec3_vertex" />
<Test name="uvec3_to_vec3_fragment" />
<Test name="ivec4_to_uvec4_vertex" />
<Test name="ivec4_to_uvec4_fragment" />
<Test name="ivec4_to_vec4_vertex" />
<Test name="ivec4_to_vec4_fragment" />
<Test name="uvec4_to_vec4_vertex" />
<Test name="uvec4_to_vec4_fragment" />
</TestCase>
<TestCase name="structs">
<Test name="int_to_float_vertex" />
<Test name="int_to_float_fragment" />
<Test name="int_to_uint_vertex" />
<Test name="int_to_uint_fragment" />
<Test name="uint_to_float_vertex" />
<Test name="uint_to_float_fragment" />
<Test name="ivec2_to_uvec2_vertex" />
<Test name="ivec2_to_uvec2_fragment" />
<Test name="ivec2_to_vec2_vertex" />
<Test name="ivec2_to_vec2_fragment" />
<Test name="uvec2_to_vec2_vertex" />
<Test name="uvec2_to_vec2_fragment" />
<Test name="ivec3_to_uvec3_vertex" />
<Test name="ivec3_to_uvec3_fragment" />
<Test name="ivec3_to_vec3_vertex" />
<Test name="ivec3_to_vec3_fragment" />
<Test name="uvec3_to_vec3_vertex" />
<Test name="uvec3_to_vec3_fragment" />
<Test name="ivec4_to_uvec4_vertex" />
<Test name="ivec4_to_uvec4_fragment" />
<Test name="ivec4_to_vec4_vertex" />
<Test name="ivec4_to_vec4_fragment" />
<Test name="uvec4_to_vec4_vertex" />
<Test name="uvec4_to_vec4_fragment" />
</TestCase>
</TestSuite>
</TestSuite>
</TestSuite>
<TestSuite name="compute">
<TestCase name="basic">
<Test name="empty" />
<Test name="ubo_to_ssbo_single_invocation" />
<Test name="ubo_to_ssbo_single_group" />
<Test name="ubo_to_ssbo_multiple_invocations" />
<Test name="ubo_to_ssbo_multiple_groups" />
<Test name="copy_ssbo_single_invocation" />
<Test name="copy_ssbo_multiple_invocations" />
<Test name="copy_ssbo_multiple_groups" />
<Test name="ssbo_rw_single_invocation" />
<Test name="ssbo_rw_multiple_groups" />
<Test name="ssbo_unsized_arr_single_invocation" />
<Test name="ssbo_unsized_arr_multiple_groups" />
<Test name="write_multiple_arr_single_invocation" />
<Test name="write_multiple_arr_multiple_groups" />
<Test name="write_multiple_unsized_arr_single_invocation" />
<Test name="write_multiple_unsized_arr_multiple_groups" />
<Test name="ssbo_local_barrier_single_invocation" />
<Test name="ssbo_local_barrier_single_group" />
<Test name="ssbo_local_barrier_multiple_groups" />
<Test name="ssbo_cmd_barrier_single" />
<Test name="ssbo_cmd_barrier_multiple" />
<Test name="shared_var_single_invocation" />
<Test name="shared_var_single_group" />
<Test name="shared_var_multiple_invocations" />
<Test name="shared_var_multiple_groups" />
<Test name="shared_atomic_op_single_invocation" />
<Test name="shared_atomic_op_single_group" />
<Test name="shared_atomic_op_multiple_invocations" />
<Test name="shared_atomic_op_multiple_groups" />
<Test name="copy_image_to_ssbo_small" />
<Test name="copy_ssbo_to_image_small" />
<Test name="image_atomic_op_local_size_1" />
<Test name="image_atomic_op_local_size_8" />
<Test name="image_barrier_single" />
<Test name="image_barrier_multiple" />
<Test name="atomic_counter_single_invocation" />
<Test name="atomic_counter_single_group" />
<Test name="atomic_counter_multiple_invocations" />
<Test name="atomic_counter_multiple_groups" />
</TestCase>
<TestSuite name="shared_var">
<TestCase name="basic_type">
<Test name="float_lowp" />
<Test name="float_mediump" />
<Test name="float_highp" />
<Test name="vec2_lowp" />
<Test name="vec2_mediump" />
<Test name="vec2_highp" />
<Test name="vec3_lowp" />
<Test name="vec3_mediump" />
<Test name="vec3_highp" />
<Test name="vec4_lowp" />
<Test name="vec4_mediump" />
<Test name="vec4_highp" />
<Test name="mat2_lowp" />
<Test name="mat2_mediump" />
<Test name="mat2_highp" />
<Test name="mat2x3_lowp" />
<Test name="mat2x3_mediump" />
<Test name="mat2x3_highp" />
<Test name="mat2x4_lowp" />
<Test name="mat2x4_mediump" />
<Test name="mat2x4_highp" />
<Test name="mat3x2_lowp" />
<Test name="mat3x2_mediump" />
<Test name="mat3x2_highp" />
<Test name="mat3_lowp" />
<Test name="mat3_mediump" />
<Test name="mat3_highp" />
<Test name="mat3x4_lowp" />
<Test name="mat3x4_mediump" />
<Test name="mat3x4_highp" />
<Test name="mat4x2_lowp" />
<Test name="mat4x2_mediump" />
<Test name="mat4x2_highp" />
<Test name="mat4x3_lowp" />
<Test name="mat4x3_mediump" />
<Test name="mat4x3_highp" />
<Test name="mat4_lowp" />
<Test name="mat4_mediump" />
<Test name="mat4_highp" />
<Test name="int_lowp" />
<Test name="int_mediump" />
<Test name="int_highp" />
<Test name="ivec2_lowp" />
<Test name="ivec2_mediump" />
<Test name="ivec2_highp" />
<Test name="ivec3_lowp" />
<Test name="ivec3_mediump" />
<Test name="ivec3_highp" />
<Test name="ivec4_lowp" />
<Test name="ivec4_mediump" />
<Test name="ivec4_highp" />
<Test name="uint_lowp" />
<Test name="uint_mediump" />
<Test name="uint_highp" />
<Test name="uvec2_lowp" />
<Test name="uvec2_mediump" />
<Test name="uvec2_highp" />
<Test name="uvec3_lowp" />
<Test name="uvec3_mediump" />
<Test name="uvec3_highp" />
<Test name="uvec4_lowp" />
<Test name="uvec4_mediump" />
<Test name="uvec4_highp" />
<Test name="bool" />
<Test name="bvec2" />
<Test name="bvec3" />
<Test name="bvec4" />
</TestCase>
<TestCase name="work_group_size">
<Test name="float_1_1_1" />
<Test name="float_64_1_1" />
<Test name="float_1_64_1" />
<Test name="float_1_1_64" />
<Test name="float_128_1_1" />
<Test name="float_1_128_1" />
<Test name="float_13_2_4" />
<Test name="vec4_1_1_1" />
<Test name="vec4_64_1_1" />
<Test name="vec4_1_64_1" />
<Test name="vec4_1_1_64" />
<Test name="vec4_128_1_1" />
<Test name="vec4_1_128_1" />
<Test name="vec4_13_2_4" />
<Test name="mat4_1_1_1" />
<Test name="mat4_64_1_1" />
<Test name="mat4_1_64_1" />
<Test name="mat4_1_1_64" />
<Test name="mat4_128_1_1" />
<Test name="mat4_1_128_1" />
<Test name="mat4_13_2_4" />
</TestCase>
<TestSuite name="atomic">
<TestCase name="add">
<Test name="lowp_uint" />
<Test name="lowp_int" />
<Test name="mediump_uint" />
<Test name="mediump_int" />
<Test name="highp_uint" />
<Test name="highp_int" />
</TestCase>
<TestCase name="min">
<Test name="lowp_uint" />
<Test name="lowp_int" />
<Test name="mediump_uint" />
<Test name="mediump_int" />
<Test name="highp_uint" />
<Test name="highp_int" />
</TestCase>
<TestCase name="max">
<Test name="lowp_uint" />
<Test name="lowp_int" />
<Test name="mediump_uint" />
<Test name="mediump_int" />
<Test name="highp_uint" />
<Test name="highp_int" />
</TestCase>
<TestCase name="and">
<Test name="lowp_uint" />
<Test name="lowp_int" />
<Test name="mediump_uint" />
<Test name="mediump_int" />
<Test name="highp_uint" />
<Test name="highp_int" />
</TestCase>
<TestCase name="or">
<Test name="lowp_uint" />
<Test name="lowp_int" />
<Test name="mediump_uint" />
<Test name="mediump_int" />
<Test name="highp_uint" />
<Test name="highp_int" />
</TestCase>
<TestCase name="xor">
<Test name="lowp_uint" />
<Test name="lowp_int" />
<Test name="mediump_uint" />
<Test name="mediump_int" />
<Test name="highp_uint" />
<Test name="highp_int" />
</TestCase>
<TestCase name="exchange">
<Test name="lowp_uint" />
<Test name="lowp_int" />
<Test name="mediump_uint" />
<Test name="mediump_int" />
<Test name="highp_uint" />
<Test name="highp_int" />
</TestCase>
<TestCase name="compswap">
<Test name="lowp_uint" />
<Test name="lowp_int" />
<Test name="mediump_uint" />
<Test name="mediump_int" />
<Test name="highp_uint" />
<Test name="highp_int" />
</TestCase>
</TestSuite>
</TestSuite>
<TestSuite name="indirect_dispatch">
<TestCase name="upload_buffer">
<Test name="single_invocation" />
<Test name="multiple_groups" />
<Test name="multiple_groups_multiple_invocations" />
<Test name="small_offset" />
<Test name="large_offset" />
<Test name="large_offset_multiple_invocations" />
<Test name="empty_command" />
<Test name="multi_dispatch" />
<Test name="multi_dispatch_reuse_command" />
</TestCase>
<TestCase name="gen_in_compute">
<Test name="single_invocation" />
<Test name="multiple_groups" />
<Test name="multiple_groups_multiple_invocations" />
<Test name="small_offset" />
<Test name="empty_command" />
<Test name="multi_dispatch" />
<Test name="multi_dispatch_reuse_command" />
</TestCase>
</TestSuite>
</TestSuite>
<TestSuite name="draw_indirect">
<TestSuite name="draw_arrays_indirect">
<TestCase name="first">
<Test name="first_1" />
<Test name="first_3" />
<Test name="first_17" />
</TestCase>
<TestCase name="points">
<Test name="single_attribute" />
<Test name="multiple_attributes" />
<Test name="instanced_attributes" />
<Test name="default_attribute" />
</TestCase>
<TestCase name="triangles">
<Test name="single_attribute" />
<Test name="multiple_attributes" />
<Test name="instanced_attributes" />
<Test name="default_attribute" />
</TestCase>
<TestCase name="triangle_fan">
<Test name="single_attribute" />
<Test name="multiple_attributes" />
<Test name="instanced_attributes" />
<Test name="default_attribute" />
</TestCase>
<TestCase name="triangle_strip">
<Test name="single_attribute" />
<Test name="multiple_attributes" />
<Test name="instanced_attributes" />
<Test name="default_attribute" />
</TestCase>
<TestCase name="lines">
<Test name="single_attribute" />
<Test name="multiple_attributes" />
<Test name="instanced_attributes" />
<Test name="default_attribute" />
</TestCase>
<TestCase name="line_strip">
<Test name="single_attribute" />
<Test name="multiple_attributes" />
<Test name="instanced_attributes" />
<Test name="default_attribute" />
</TestCase>
<TestCase name="line_loop">
<Test name="single_attribute" />
<Test name="multiple_attributes" />
<Test name="instanced_attributes" />
<Test name="default_attribute" />
</TestCase>
</TestSuite>
<TestSuite name="draw_elements_indirect">
<TestCase name="indices">
<Test name="index_byte" />
<Test name="index_short" />
<Test name="index_int" />
</TestCase>
<TestCase name="base_vertex">
<Test name="index_byte" />
<Test name="index_short" />
<Test name="index_int" />
<Test name="index_neg_byte" />
<Test name="index_neg_short" />
<Test name="index_neg_int" />
</TestCase>
<TestCase name="points">
<Test name="single_attribute" />
<Test name="multiple_attributes" />
<Test name="instanced_attributes" />
<Test name="default_attribute" />
</TestCase>
<TestCase name="triangles">
<Test name="single_attribute" />
<Test name="multiple_attributes" />
<Test name="instanced_attributes" />
<Test name="default_attribute" />
</TestCase>
<TestCase name="triangle_fan">
<Test name="single_attribute" />
<Test name="multiple_attributes" />
<Test name="instanced_attributes" />
<Test name="default_attribute" />
</TestCase>
<TestCase name="triangle_strip">
<Test name="single_attribute" />
<Test name="multiple_attributes" />
<Test name="instanced_attributes" />
<Test name="default_attribute" />
</TestCase>
<TestCase name="lines">
<Test name="single_attribute" />
<Test name="multiple_attributes" />
<Test name="instanced_attributes" />
<Test name="default_attribute" />
</TestCase>
<TestCase name="line_strip">
<Test name="single_attribute" />
<Test name="multiple_attributes" />
<Test name="instanced_attributes" />
<Test name="default_attribute" />
</TestCase>
<TestCase name="line_loop">
<Test name="single_attribute" />
<Test name="multiple_attributes" />
<Test name="instanced_attributes" />
<Test name="default_attribute" />
</TestCase>
</TestSuite>
<TestCase name="instancing">
<Test name="draw_arrays_indirect_grid_2x2" />
<Test name="draw_arrays_indirect_grid_5x5" />
<Test name="draw_arrays_indirect_grid_10x10" />
<Test name="draw_arrays_indirect_grid_32x32" />
<Test name="draw_arrays_indirect_grid_100x100" />
<Test name="draw_elements_indirect_grid_2x2" />
<Test name="draw_elements_indirect_grid_5x5" />
<Test name="draw_elements_indirect_grid_10x10" />
<Test name="draw_elements_indirect_grid_32x32" />
<Test name="draw_elements_indirect_grid_100x100" />
</TestCase>
<TestSuite name="compute_interop">
<TestCase name="separate">
<Test name="drawarrays_compute_cmd" />
<Test name="drawarrays_compute_data" />
<Test name="drawarrays_compute_cmd_and_data" />
<Test name="drawelements_compute_cmd" />
<Test name="drawelements_compute_data" />
<Test name="drawelements_compute_indices" />
<Test name="drawelements_compute_cmd_and_data" />
<Test name="drawelements_compute_cmd_and_indices" />
<Test name="drawelements_compute_data_and_indices" />
<Test name="drawelements_compute_cmd_and_data_and_indices" />
</TestCase>
<TestCase name="combined">
<Test name="drawarrays_compute_cmd_and_data" />
<Test name="drawelements_compute_cmd_and_data" />
<Test name="drawelements_compute_cmd_and_indices" />
<Test name="drawelements_compute_data_and_indices" />
<Test name="drawelements_compute_cmd_and_data_and_indices" />
</TestCase>
<TestCase name="large">
<Test name="drawarrays_separate_grid_100x100_drawcount_1" />
<Test name="drawarrays_separate_grid_200x200_drawcount_1" />
<Test name="drawarrays_separate_grid_500x500_drawcount_1" />
<Test name="drawarrays_separate_grid_1200x1200_drawcount_1" />
<Test name="drawarrays_separate_grid_1500x1500_drawcount_1" />
<Test name="drawarrays_separate_grid_100x100_drawcount_8" />
<Test name="drawarrays_separate_grid_200x200_drawcount_8" />
<Test name="drawarrays_separate_grid_500x500_drawcount_8" />
<Test name="drawarrays_separate_grid_1200x1200_drawcount_8" />
<Test name="drawarrays_separate_grid_1500x1500_drawcount_8" />
<Test name="drawarrays_separate_grid_100x100_drawcount_200" />
<Test name="drawarrays_separate_grid_200x200_drawcount_800" />
<Test name="drawarrays_separate_grid_500x500_drawcount_2500" />
<Test name="drawarrays_combined_grid_100x100_drawcount_1" />
<Test name="drawarrays_combined_grid_200x200_drawcount_1" />
<Test name="drawarrays_combined_grid_500x500_drawcount_1" />
<Test name="drawarrays_combined_grid_1200x1200_drawcount_1" />
<Test name="drawarrays_combined_grid_1500x1500_drawcount_1" />
<Test name="drawarrays_combined_grid_100x100_drawcount_8" />
<Test name="drawarrays_combined_grid_200x200_drawcount_8" />
<Test name="drawarrays_combined_grid_500x500_drawcount_8" />
<Test name="drawarrays_combined_grid_1200x1200_drawcount_8" />
<Test name="drawarrays_combined_grid_1500x1500_drawcount_8" />
<Test name="drawarrays_combined_grid_100x100_drawcount_200" />
<Test name="drawarrays_combined_grid_200x200_drawcount_800" />
<Test name="drawarrays_combined_grid_500x500_drawcount_2500" />
<Test name="drawelements_separate_grid_100x100_drawcount_1" />
<Test name="drawelements_separate_grid_200x200_drawcount_1" />
<Test name="drawelements_separate_grid_500x500_drawcount_1" />
<Test name="drawelements_separate_grid_1000x1000_drawcount_1" />
<Test name="drawelements_separate_grid_1200x1200_drawcount_1" />
<Test name="drawelements_separate_grid_100x100_drawcount_8" />
<Test name="drawelements_separate_grid_200x200_drawcount_8" />
<Test name="drawelements_separate_grid_500x500_drawcount_8" />
<Test name="drawelements_separate_grid_1000x1000_drawcount_8" />
<Test name="drawelements_separate_grid_1200x1200_drawcount_8" />
<Test name="drawelements_separate_grid_100x100_drawcount_200" />
<Test name="drawelements_separate_grid_200x200_drawcount_800" />
<Test name="drawelements_separate_grid_500x500_drawcount_2500" />
<Test name="drawelements_combined_grid_100x100_drawcount_1" />
<Test name="drawelements_combined_grid_200x200_drawcount_1" />
<Test name="drawelements_combined_grid_500x500_drawcount_1" />
<Test name="drawelements_combined_grid_1000x1000_drawcount_1" />
<Test name="drawelements_combined_grid_1200x1200_drawcount_1" />
<Test name="drawelements_combined_grid_100x100_drawcount_8" />
<Test name="drawelements_combined_grid_200x200_drawcount_8" />
<Test name="drawelements_combined_grid_500x500_drawcount_8" />
<Test name="drawelements_combined_grid_1000x1000_drawcount_8" />
<Test name="drawelements_combined_grid_1200x1200_drawcount_8" />
<Test name="drawelements_combined_grid_100x100_drawcount_200" />
<Test name="drawelements_combined_grid_200x200_drawcount_800" />
<Test name="drawelements_combined_grid_500x500_drawcount_2500" />
</TestCase>
</TestSuite>
<TestCase name="random">
<Test name="2" />
<Test name="3" />
<Test name="4" />
<Test name="5" />
<Test name="6" />
<Test name="7" />
<Test name="8" />
<Test name="11" />
<Test name="12" />
<Test name="13" />
<Test name="14" />
<Test name="17" />
<Test name="19" />
<Test name="20" />
<Test name="21" />
<Test name="22" />
<Test name="24" />
<Test name="25" />
<Test name="27" />
<Test name="28" />
<Test name="29" />
<Test name="30" />
<Test name="31" />
<Test name="32" />
<Test name="35" />
<Test name="36" />
<Test name="37" />
<Test name="38" />
<Test name="39" />
<Test name="40" />
<Test name="42" />
<Test name="43" />
<Test name="44" />
<Test name="45" />
<Test name="46" />
<Test name="47" />
<Test name="48" />
<Test name="49" />
<Test name="50" />
<Test name="51" />
<Test name="52" />
<Test name="53" />
<Test name="54" />
<Test name="55" />
<Test name="56" />
<Test name="57" />
<Test name="61" />
</TestCase>
<TestCase name="negative">
<Test name="command_bad_alignment_1" />
<Test name="command_bad_alignment_2" />
<Test name="command_bad_alignment_3" />
<Test name="command_offset_partially_in_buffer" />
<Test name="command_offset_not_in_buffer" />
<Test name="client_vertex_attrib_array" />
<Test name="client_command_array" />
<Test name="default_vao" />
<Test name="invalid_mode_draw_arrays" />
<Test name="invalid_mode_draw_elements" />
<Test name="invalid_type_draw_elements" />
</TestCase>
</TestSuite>
<TestSuite name="tessellation">
<TestCase name="tesscoord">
<Test name="triangles_fractional_odd_spacing" />
<Test name="triangles_fractional_even_spacing" />
<Test name="quads_equal_spacing" />
<Test name="quads_fractional_odd_spacing" />
<Test name="quads_fractional_even_spacing" />
<Test name="isolines_equal_spacing" />
<Test name="isolines_fractional_odd_spacing" />
<Test name="isolines_fractional_even_spacing" />
</TestCase>
<TestCase name="winding">
<Test name="triangles_ccw" />
<Test name="triangles_cw" />
<Test name="quads_ccw" />
<Test name="quads_cw" />
</TestCase>
<TestCase name="shader_input_output">
<Test name="patch_vertices_5_in_10_out" />
<Test name="patch_vertices_10_in_5_out" />
<Test name="primitive_id_tcs" />
<Test name="primitive_id_tes" />
<Test name="patch_vertices_in_tcs" />
<Test name="patch_vertices_in_tes" />
<Test name="tess_level_inner_0_tes" />
<Test name="tess_level_inner_1_tes" />
<Test name="tess_level_outer_0_tes" />
<Test name="tess_level_outer_1_tes" />
<Test name="tess_level_outer_2_tes" />
<Test name="tess_level_outer_3_tes" />
<Test name="gl_position_vs_to_tcs" />
<Test name="gl_position_tcs_to_tes" />
<Test name="gl_position_vs_to_tcs_to_tes" />
</TestCase>
<TestCase name="misc_draw">
<Test name="fill_cover_triangles_equal_spacing" />
<Test name="fill_cover_triangles_fractional_odd_spacing" />
<Test name="fill_cover_triangles_fractional_even_spacing" />
<Test name="fill_cover_quads_equal_spacing" />
<Test name="fill_cover_quads_fractional_odd_spacing" />
<Test name="fill_cover_quads_fractional_even_spacing" />
<Test name="fill_overlap_triangles_equal_spacing" />
<Test name="fill_overlap_triangles_fractional_odd_spacing" />
<Test name="fill_overlap_triangles_fractional_even_spacing" />
<Test name="fill_overlap_quads_equal_spacing" />
<Test name="fill_overlap_quads_fractional_odd_spacing" />
<Test name="fill_overlap_quads_fractional_even_spacing" />
<Test name="isolines_equal_spacing" />
<Test name="isolines_fractional_odd_spacing" />
<Test name="isolines_fractional_even_spacing" />
</TestCase>
<TestCase name="common_edge">
<Test name="triangles_equal_spacing" />
<Test name="triangles_fractional_odd_spacing" />
<Test name="triangles_fractional_even_spacing" />
<Test name="quads_equal_spacing" />
<Test name="quads_fractional_odd_spacing" />
<Test name="quads_fractional_even_spacing" />
</TestCase>
<TestCase name="fractional_spacing">
<Test name="odd" />
<Test name="even" />
</TestCase>
<TestCase name="primitive_discard">
<Test name="triangles_equal_spacing_ccw" />
<Test name="triangles_equal_spacing_ccw_point_mode" />
<Test name="triangles_equal_spacing_cw" />
<Test name="triangles_equal_spacing_cw_point_mode" />
<Test name="triangles_fractional_odd_spacing_ccw" />
<Test name="triangles_fractional_odd_spacing_ccw_point_mode" />
<Test name="triangles_fractional_odd_spacing_cw" />
<Test name="triangles_fractional_odd_spacing_cw_point_mode" />
<Test name="triangles_fractional_even_spacing_ccw" />
<Test name="triangles_fractional_even_spacing_ccw_point_mode" />
<Test name="triangles_fractional_even_spacing_cw" />
<Test name="triangles_fractional_even_spacing_cw_point_mode" />
<Test name="quads_equal_spacing_ccw" />
<Test name="quads_equal_spacing_ccw_point_mode" />
<Test name="quads_equal_spacing_cw" />
<Test name="quads_equal_spacing_cw_point_mode" />
<Test name="quads_fractional_odd_spacing_ccw" />
<Test name="quads_fractional_odd_spacing_ccw_point_mode" />
<Test name="quads_fractional_odd_spacing_cw" />
<Test name="quads_fractional_odd_spacing_cw_point_mode" />
<Test name="quads_fractional_even_spacing_ccw" />
<Test name="quads_fractional_even_spacing_ccw_point_mode" />
<Test name="quads_fractional_even_spacing_cw" />
<Test name="quads_fractional_even_spacing_cw_point_mode" />
<Test name="isolines_equal_spacing_ccw" />
<Test name="isolines_equal_spacing_ccw_point_mode" />
<Test name="isolines_equal_spacing_cw" />
<Test name="isolines_equal_spacing_cw_point_mode" />
<Test name="isolines_fractional_odd_spacing_ccw" />
<Test name="isolines_fractional_odd_spacing_ccw_point_mode" />
<Test name="isolines_fractional_odd_spacing_cw" />
<Test name="isolines_fractional_odd_spacing_cw_point_mode" />
<Test name="isolines_fractional_even_spacing_ccw" />
<Test name="isolines_fractional_even_spacing_ccw_point_mode" />
<Test name="isolines_fractional_even_spacing_cw" />
<Test name="isolines_fractional_even_spacing_cw_point_mode" />
</TestCase>
<TestSuite name="invariance">
<TestCase name="primitive_set">
<Test name="triangles_equal_spacing_ccw" />
<Test name="triangles_equal_spacing_ccw_point_mode" />
<Test name="triangles_equal_spacing_cw" />
<Test name="triangles_equal_spacing_cw_point_mode" />
<Test name="triangles_fractional_odd_spacing_ccw" />
<Test name="triangles_fractional_odd_spacing_ccw_point_mode" />
<Test name="triangles_fractional_odd_spacing_cw" />
<Test name="triangles_fractional_odd_spacing_cw_point_mode" />
<Test name="triangles_fractional_even_spacing_ccw" />
<Test name="triangles_fractional_even_spacing_ccw_point_mode" />
<Test name="triangles_fractional_even_spacing_cw" />
<Test name="triangles_fractional_even_spacing_cw_point_mode" />
<Test name="quads_equal_spacing_ccw" />
<Test name="quads_equal_spacing_ccw_point_mode" />
<Test name="quads_equal_spacing_cw" />
<Test name="quads_equal_spacing_cw_point_mode" />
<Test name="quads_fractional_odd_spacing_ccw" />
<Test name="quads_fractional_odd_spacing_ccw_point_mode" />
<Test name="quads_fractional_odd_spacing_cw" />
<Test name="quads_fractional_odd_spacing_cw_point_mode" />
<Test name="quads_fractional_even_spacing_ccw" />
<Test name="quads_fractional_even_spacing_ccw_point_mode" />
<Test name="quads_fractional_even_spacing_cw" />
<Test name="quads_fractional_even_spacing_cw_point_mode" />
<Test name="isolines_equal_spacing_ccw" />
<Test name="isolines_equal_spacing_ccw_point_mode" />
<Test name="isolines_equal_spacing_cw" />
<Test name="isolines_equal_spacing_cw_point_mode" />
<Test name="isolines_fractional_odd_spacing_ccw" />
<Test name="isolines_fractional_odd_spacing_ccw_point_mode" />
<Test name="isolines_fractional_odd_spacing_cw" />
<Test name="isolines_fractional_odd_spacing_cw_point_mode" />
<Test name="isolines_fractional_even_spacing_ccw" />
<Test name="isolines_fractional_even_spacing_ccw_point_mode" />
<Test name="isolines_fractional_even_spacing_cw" />
<Test name="isolines_fractional_even_spacing_cw_point_mode" />
</TestCase>
<TestCase name="outer_edge_division">
<Test name="triangles_equal_spacing" />
<Test name="triangles_fractional_odd_spacing" />
<Test name="triangles_fractional_even_spacing" />
<Test name="quads_equal_spacing" />
<Test name="quads_fractional_odd_spacing" />
<Test name="quads_fractional_even_spacing" />
</TestCase>
<TestCase name="outer_edge_symmetry">
<Test name="triangles_equal_spacing_ccw" />
<Test name="triangles_equal_spacing_ccw_point_mode" />
<Test name="triangles_equal_spacing_cw" />
<Test name="triangles_equal_spacing_cw_point_mode" />
<Test name="triangles_fractional_odd_spacing_ccw" />
<Test name="triangles_fractional_odd_spacing_ccw_point_mode" />
<Test name="triangles_fractional_odd_spacing_cw" />
<Test name="triangles_fractional_odd_spacing_cw_point_mode" />
<Test name="triangles_fractional_even_spacing_ccw" />
<Test name="triangles_fractional_even_spacing_ccw_point_mode" />
<Test name="triangles_fractional_even_spacing_cw" />
<Test name="triangles_fractional_even_spacing_cw_point_mode" />
<Test name="quads_equal_spacing_ccw" />
<Test name="quads_equal_spacing_ccw_point_mode" />
<Test name="quads_equal_spacing_cw" />
<Test name="quads_equal_spacing_cw_point_mode" />
<Test name="quads_fractional_odd_spacing_ccw" />
<Test name="quads_fractional_odd_spacing_ccw_point_mode" />
<Test name="quads_fractional_odd_spacing_cw" />
<Test name="quads_fractional_odd_spacing_cw_point_mode" />
<Test name="quads_fractional_even_spacing_ccw" />
<Test name="quads_fractional_even_spacing_ccw_point_mode" />
<Test name="quads_fractional_even_spacing_cw" />
<Test name="quads_fractional_even_spacing_cw_point_mode" />
<Test name="isolines_equal_spacing_ccw" />
<Test name="isolines_equal_spacing_ccw_point_mode" />
<Test name="isolines_equal_spacing_cw" />
<Test name="isolines_equal_spacing_cw_point_mode" />
<Test name="isolines_fractional_odd_spacing_ccw" />
<Test name="isolines_fractional_odd_spacing_ccw_point_mode" />
<Test name="isolines_fractional_odd_spacing_cw" />
<Test name="isolines_fractional_odd_spacing_cw_point_mode" />
<Test name="isolines_fractional_even_spacing_ccw" />
<Test name="isolines_fractional_even_spacing_ccw_point_mode" />
<Test name="isolines_fractional_even_spacing_cw" />
<Test name="isolines_fractional_even_spacing_cw_point_mode" />
</TestCase>
<TestCase name="outer_edge_index_independence">
<Test name="triangles_equal_spacing_ccw" />
<Test name="triangles_equal_spacing_ccw_point_mode" />
<Test name="triangles_equal_spacing_cw" />
<Test name="triangles_equal_spacing_cw_point_mode" />
<Test name="triangles_fractional_odd_spacing_ccw" />
<Test name="triangles_fractional_odd_spacing_ccw_point_mode" />
<Test name="triangles_fractional_odd_spacing_cw" />
<Test name="triangles_fractional_odd_spacing_cw_point_mode" />
<Test name="triangles_fractional_even_spacing_ccw" />
<Test name="triangles_fractional_even_spacing_ccw_point_mode" />
<Test name="triangles_fractional_even_spacing_cw" />
<Test name="triangles_fractional_even_spacing_cw_point_mode" />
<Test name="quads_equal_spacing_ccw" />
<Test name="quads_equal_spacing_ccw_point_mode" />
<Test name="quads_equal_spacing_cw" />
<Test name="quads_equal_spacing_cw_point_mode" />
<Test name="quads_fractional_odd_spacing_ccw" />
<Test name="quads_fractional_odd_spacing_ccw_point_mode" />
<Test name="quads_fractional_odd_spacing_cw" />
<Test name="quads_fractional_odd_spacing_cw_point_mode" />
<Test name="quads_fractional_even_spacing_ccw" />
<Test name="quads_fractional_even_spacing_ccw_point_mode" />
<Test name="quads_fractional_even_spacing_cw" />
<Test name="quads_fractional_even_spacing_cw_point_mode" />
</TestCase>
<TestCase name="triangle_set">
<Test name="triangles_equal_spacing" />
<Test name="triangles_fractional_odd_spacing" />
<Test name="triangles_fractional_even_spacing" />
<Test name="quads_equal_spacing" />
<Test name="quads_fractional_odd_spacing" />
<Test name="quads_fractional_even_spacing" />
</TestCase>
<TestCase name="inner_triangle_set">
<Test name="triangles_equal_spacing" />
<Test name="triangles_fractional_odd_spacing" />
<Test name="triangles_fractional_even_spacing" />
<Test name="quads_equal_spacing" />
<Test name="quads_fractional_odd_spacing" />
<Test name="quads_fractional_even_spacing" />
</TestCase>
<TestCase name="outer_triangle_set">
<Test name="triangles_equal_spacing" />
<Test name="triangles_fractional_odd_spacing" />
<Test name="triangles_fractional_even_spacing" />
<Test name="quads_equal_spacing" />
<Test name="quads_fractional_odd_spacing" />
<Test name="quads_fractional_even_spacing" />
</TestCase>
<TestCase name="tess_coord_component_range">
<Test name="triangles_equal_spacing_ccw" />
<Test name="triangles_equal_spacing_ccw_point_mode" />
<Test name="triangles_equal_spacing_cw" />
<Test name="triangles_equal_spacing_cw_point_mode" />
<Test name="triangles_fractional_odd_spacing_ccw" />
<Test name="triangles_fractional_odd_spacing_ccw_point_mode" />
<Test name="triangles_fractional_odd_spacing_cw" />
<Test name="triangles_fractional_odd_spacing_cw_point_mode" />
<Test name="triangles_fractional_even_spacing_ccw" />
<Test name="triangles_fractional_even_spacing_ccw_point_mode" />
<Test name="triangles_fractional_even_spacing_cw" />
<Test name="triangles_fractional_even_spacing_cw_point_mode" />
<Test name="quads_equal_spacing_ccw" />
<Test name="quads_equal_spacing_ccw_point_mode" />
<Test name="quads_equal_spacing_cw" />
<Test name="quads_equal_spacing_cw_point_mode" />
<Test name="quads_fractional_odd_spacing_ccw" />
<Test name="quads_fractional_odd_spacing_ccw_point_mode" />
<Test name="quads_fractional_odd_spacing_cw" />
<Test name="quads_fractional_odd_spacing_cw_point_mode" />
<Test name="quads_fractional_even_spacing_ccw" />
<Test name="quads_fractional_even_spacing_ccw_point_mode" />
<Test name="quads_fractional_even_spacing_cw" />
<Test name="quads_fractional_even_spacing_cw_point_mode" />
<Test name="isolines_equal_spacing_ccw" />
<Test name="isolines_equal_spacing_ccw_point_mode" />
<Test name="isolines_equal_spacing_cw" />
<Test name="isolines_equal_spacing_cw_point_mode" />
<Test name="isolines_fractional_odd_spacing_ccw" />
<Test name="isolines_fractional_odd_spacing_ccw_point_mode" />
<Test name="isolines_fractional_odd_spacing_cw" />
<Test name="isolines_fractional_odd_spacing_cw_point_mode" />
<Test name="isolines_fractional_even_spacing_ccw" />
<Test name="isolines_fractional_even_spacing_ccw_point_mode" />
<Test name="isolines_fractional_even_spacing_cw" />
<Test name="isolines_fractional_even_spacing_cw_point_mode" />
</TestCase>
<TestCase name="one_minus_tess_coord_component">
<Test name="triangles_equal_spacing_ccw" />
<Test name="triangles_equal_spacing_ccw_point_mode" />
<Test name="triangles_equal_spacing_cw" />
<Test name="triangles_equal_spacing_cw_point_mode" />
<Test name="triangles_fractional_odd_spacing_ccw" />
<Test name="triangles_fractional_odd_spacing_ccw_point_mode" />
<Test name="triangles_fractional_odd_spacing_cw" />
<Test name="triangles_fractional_odd_spacing_cw_point_mode" />
<Test name="triangles_fractional_even_spacing_ccw" />
<Test name="triangles_fractional_even_spacing_ccw_point_mode" />
<Test name="triangles_fractional_even_spacing_cw" />
<Test name="triangles_fractional_even_spacing_cw_point_mode" />
<Test name="quads_equal_spacing_ccw" />
<Test name="quads_equal_spacing_ccw_point_mode" />
<Test name="quads_equal_spacing_cw" />
<Test name="quads_equal_spacing_cw_point_mode" />
<Test name="quads_fractional_odd_spacing_ccw" />
<Test name="quads_fractional_odd_spacing_ccw_point_mode" />
<Test name="quads_fractional_odd_spacing_cw" />
<Test name="quads_fractional_odd_spacing_cw_point_mode" />
<Test name="quads_fractional_even_spacing_ccw" />
<Test name="quads_fractional_even_spacing_ccw_point_mode" />
<Test name="quads_fractional_even_spacing_cw" />
<Test name="quads_fractional_even_spacing_cw_point_mode" />
<Test name="isolines_equal_spacing_ccw" />
<Test name="isolines_equal_spacing_ccw_point_mode" />
<Test name="isolines_equal_spacing_cw" />
<Test name="isolines_equal_spacing_cw_point_mode" />
<Test name="isolines_fractional_odd_spacing_ccw" />
<Test name="isolines_fractional_odd_spacing_ccw_point_mode" />
<Test name="isolines_fractional_odd_spacing_cw" />
<Test name="isolines_fractional_odd_spacing_cw_point_mode" />
<Test name="isolines_fractional_even_spacing_ccw" />
<Test name="isolines_fractional_even_spacing_ccw_point_mode" />
<Test name="isolines_fractional_even_spacing_cw" />
<Test name="isolines_fractional_even_spacing_cw_point_mode" />
</TestCase>
</TestSuite>
<TestSuite name="user_defined_io">
<TestSuite name="per_vertex_block">
<TestCase name="vertex_io_array_size_implicit">
<Test name="triangles" />
<Test name="quads" />
<Test name="isolines" />
</TestCase>
<TestCase name="vertex_io_array_size_shader_builtin">
<Test name="triangles" />
<Test name="quads" />
<Test name="isolines" />
</TestCase>
<TestCase name="vertex_io_array_size_query">
<Test name="triangles" />
<Test name="quads" />
<Test name="isolines" />
</TestCase>
</TestSuite>
</TestSuite>
</TestSuite>
<TestSuite name="ssbo">
<TestSuite name="layout">
<TestSuite name="single_basic_type">
<TestCase name="shared">
<Test name="lowp_float" />
<Test name="mediump_float" />
<Test name="highp_float" />
<Test name="lowp_vec2" />
<Test name="mediump_vec2" />
<Test name="highp_vec2" />
<Test name="lowp_vec3" />
<Test name="mediump_vec3" />
<Test name="highp_vec3" />
<Test name="lowp_vec4" />
<Test name="mediump_vec4" />
<Test name="highp_vec4" />
<Test name="lowp_int" />
<Test name="mediump_int" />
<Test name="highp_int" />
<Test name="lowp_ivec2" />
<Test name="mediump_ivec2" />
<Test name="highp_ivec2" />
<Test name="lowp_ivec3" />
<Test name="mediump_ivec3" />
<Test name="highp_ivec3" />
<Test name="lowp_ivec4" />
<Test name="mediump_ivec4" />
<Test name="highp_ivec4" />
<Test name="lowp_uint" />
<Test name="mediump_uint" />
<Test name="highp_uint" />
<Test name="lowp_uvec2" />
<Test name="mediump_uvec2" />
<Test name="highp_uvec2" />
<Test name="lowp_uvec3" />
<Test name="mediump_uvec3" />
<Test name="highp_uvec3" />
<Test name="lowp_uvec4" />
<Test name="mediump_uvec4" />
<Test name="highp_uvec4" />
<Test name="bool" />
<Test name="bvec2" />
<Test name="bvec3" />
<Test name="bvec4" />
<Test name="lowp_mat2" />
<Test name="mediump_mat2" />
<Test name="highp_mat2" />
<Test name="row_major_lowp_mat2" />
<Test name="row_major_mediump_mat2" />
<Test name="row_major_highp_mat2" />
<Test name="column_major_lowp_mat2" />
<Test name="column_major_mediump_mat2" />
<Test name="column_major_highp_mat2" />
<Test name="lowp_mat3" />
<Test name="mediump_mat3" />
<Test name="highp_mat3" />
<Test name="row_major_lowp_mat3" />
<Test name="row_major_mediump_mat3" />
<Test name="row_major_highp_mat3" />
<Test name="column_major_lowp_mat3" />
<Test name="column_major_mediump_mat3" />
<Test name="column_major_highp_mat3" />
<Test name="lowp_mat4" />
<Test name="mediump_mat4" />
<Test name="highp_mat4" />
<Test name="row_major_lowp_mat4" />
<Test name="row_major_mediump_mat4" />
<Test name="row_major_highp_mat4" />
<Test name="column_major_lowp_mat4" />
<Test name="column_major_mediump_mat4" />
<Test name="column_major_highp_mat4" />
<Test name="lowp_mat2x3" />
<Test name="mediump_mat2x3" />
<Test name="highp_mat2x3" />
<Test name="row_major_lowp_mat2x3" />
<Test name="row_major_mediump_mat2x3" />
<Test name="row_major_highp_mat2x3" />
<Test name="column_major_lowp_mat2x3" />
<Test name="column_major_mediump_mat2x3" />
<Test name="column_major_highp_mat2x3" />
<Test name="lowp_mat2x4" />
<Test name="mediump_mat2x4" />
<Test name="highp_mat2x4" />
<Test name="row_major_lowp_mat2x4" />
<Test name="row_major_mediump_mat2x4" />
<Test name="row_major_highp_mat2x4" />
<Test name="column_major_lowp_mat2x4" />
<Test name="column_major_mediump_mat2x4" />
<Test name="column_major_highp_mat2x4" />
<Test name="lowp_mat3x2" />
<Test name="mediump_mat3x2" />
<Test name="highp_mat3x2" />
<Test name="row_major_lowp_mat3x2" />
<Test name="row_major_mediump_mat3x2" />
<Test name="row_major_highp_mat3x2" />
<Test name="column_major_lowp_mat3x2" />
<Test name="column_major_mediump_mat3x2" />
<Test name="column_major_highp_mat3x2" />
<Test name="lowp_mat3x4" />
<Test name="mediump_mat3x4" />
<Test name="highp_mat3x4" />
<Test name="row_major_lowp_mat3x4" />
<Test name="row_major_mediump_mat3x4" />
<Test name="row_major_highp_mat3x4" />
<Test name="column_major_lowp_mat3x4" />
<Test name="column_major_mediump_mat3x4" />
<Test name="column_major_highp_mat3x4" />
<Test name="lowp_mat4x2" />
<Test name="mediump_mat4x2" />
<Test name="highp_mat4x2" />
<Test name="row_major_lowp_mat4x2" />
<Test name="row_major_mediump_mat4x2" />
<Test name="row_major_highp_mat4x2" />
<Test name="column_major_lowp_mat4x2" />
<Test name="column_major_mediump_mat4x2" />
<Test name="column_major_highp_mat4x2" />
<Test name="lowp_mat4x3" />
<Test name="mediump_mat4x3" />
<Test name="highp_mat4x3" />
<Test name="row_major_lowp_mat4x3" />
<Test name="row_major_mediump_mat4x3" />
<Test name="row_major_highp_mat4x3" />
<Test name="column_major_lowp_mat4x3" />
<Test name="column_major_mediump_mat4x3" />
<Test name="column_major_highp_mat4x3" />
</TestCase>
<TestCase name="packed">
<Test name="lowp_float" />
<Test name="mediump_float" />
<Test name="highp_float" />
<Test name="lowp_vec2" />
<Test name="mediump_vec2" />
<Test name="highp_vec2" />
<Test name="lowp_vec3" />
<Test name="mediump_vec3" />
<Test name="highp_vec3" />
<Test name="lowp_vec4" />
<Test name="mediump_vec4" />
<Test name="highp_vec4" />
<Test name="lowp_int" />
<Test name="mediump_int" />
<Test name="highp_int" />
<Test name="lowp_ivec2" />
<Test name="mediump_ivec2" />
<Test name="highp_ivec2" />
<Test name="lowp_ivec3" />
<Test name="mediump_ivec3" />
<Test name="highp_ivec3" />
<Test name="lowp_ivec4" />
<Test name="mediump_ivec4" />
<Test name="highp_ivec4" />
<Test name="lowp_uint" />
<Test name="mediump_uint" />
<Test name="highp_uint" />
<Test name="lowp_uvec2" />
<Test name="mediump_uvec2" />
<Test name="highp_uvec2" />
<Test name="lowp_uvec3" />
<Test name="mediump_uvec3" />
<Test name="highp_uvec3" />
<Test name="lowp_uvec4" />
<Test name="mediump_uvec4" />
<Test name="highp_uvec4" />
<Test name="bool" />
<Test name="bvec2" />
<Test name="bvec3" />
<Test name="bvec4" />
<Test name="lowp_mat2" />
<Test name="mediump_mat2" />
<Test name="highp_mat2" />
<Test name="row_major_lowp_mat2" />
<Test name="row_major_mediump_mat2" />
<Test name="row_major_highp_mat2" />
<Test name="column_major_lowp_mat2" />
<Test name="column_major_mediump_mat2" />
<Test name="column_major_highp_mat2" />
<Test name="lowp_mat3" />
<Test name="mediump_mat3" />
<Test name="highp_mat3" />
<Test name="row_major_lowp_mat3" />
<Test name="row_major_mediump_mat3" />
<Test name="row_major_highp_mat3" />
<Test name="column_major_lowp_mat3" />
<Test name="column_major_mediump_mat3" />
<Test name="column_major_highp_mat3" />
<Test name="lowp_mat4" />
<Test name="mediump_mat4" />
<Test name="highp_mat4" />
<Test name="row_major_lowp_mat4" />
<Test name="row_major_mediump_mat4" />
<Test name="row_major_highp_mat4" />
<Test name="column_major_lowp_mat4" />
<Test name="column_major_mediump_mat4" />
<Test name="column_major_highp_mat4" />
<Test name="lowp_mat2x3" />
<Test name="mediump_mat2x3" />
<Test name="highp_mat2x3" />
<Test name="row_major_lowp_mat2x3" />
<Test name="row_major_mediump_mat2x3" />
<Test name="row_major_highp_mat2x3" />
<Test name="column_major_lowp_mat2x3" />
<Test name="column_major_mediump_mat2x3" />
<Test name="column_major_highp_mat2x3" />
<Test name="lowp_mat2x4" />
<Test name="mediump_mat2x4" />
<Test name="highp_mat2x4" />
<Test name="row_major_lowp_mat2x4" />
<Test name="row_major_mediump_mat2x4" />
<Test name="row_major_highp_mat2x4" />
<Test name="column_major_lowp_mat2x4" />
<Test name="column_major_mediump_mat2x4" />
<Test name="column_major_highp_mat2x4" />
<Test name="lowp_mat3x2" />
<Test name="mediump_mat3x2" />
<Test name="highp_mat3x2" />
<Test name="row_major_lowp_mat3x2" />
<Test name="row_major_mediump_mat3x2" />
<Test name="row_major_highp_mat3x2" />
<Test name="column_major_lowp_mat3x2" />
<Test name="column_major_mediump_mat3x2" />
<Test name="column_major_highp_mat3x2" />
<Test name="lowp_mat3x4" />
<Test name="mediump_mat3x4" />
<Test name="highp_mat3x4" />
<Test name="row_major_lowp_mat3x4" />
<Test name="row_major_mediump_mat3x4" />
<Test name="row_major_highp_mat3x4" />
<Test name="column_major_lowp_mat3x4" />
<Test name="column_major_mediump_mat3x4" />
<Test name="column_major_highp_mat3x4" />
<Test name="lowp_mat4x2" />
<Test name="mediump_mat4x2" />
<Test name="highp_mat4x2" />
<Test name="row_major_lowp_mat4x2" />
<Test name="row_major_mediump_mat4x2" />
<Test name="row_major_highp_mat4x2" />
<Test name="column_major_lowp_mat4x2" />
<Test name="column_major_mediump_mat4x2" />
<Test name="column_major_highp_mat4x2" />
<Test name="lowp_mat4x3" />
<Test name="mediump_mat4x3" />
<Test name="highp_mat4x3" />
<Test name="row_major_lowp_mat4x3" />
<Test name="row_major_mediump_mat4x3" />
<Test name="row_major_highp_mat4x3" />
<Test name="column_major_lowp_mat4x3" />
<Test name="column_major_mediump_mat4x3" />
<Test name="column_major_highp_mat4x3" />
</TestCase>
<TestCase name="std140">
<Test name="lowp_float" />
<Test name="mediump_float" />
<Test name="highp_float" />
<Test name="lowp_vec2" />
<Test name="mediump_vec2" />
<Test name="highp_vec2" />
<Test name="lowp_vec3" />
<Test name="mediump_vec3" />
<Test name="highp_vec3" />
<Test name="lowp_vec4" />
<Test name="mediump_vec4" />
<Test name="highp_vec4" />
<Test name="lowp_int" />
<Test name="mediump_int" />
<Test name="highp_int" />
<Test name="lowp_ivec2" />
<Test name="mediump_ivec2" />
<Test name="highp_ivec2" />
<Test name="lowp_ivec3" />
<Test name="mediump_ivec3" />
<Test name="highp_ivec3" />
<Test name="lowp_ivec4" />
<Test name="mediump_ivec4" />
<Test name="highp_ivec4" />
<Test name="lowp_uint" />
<Test name="mediump_uint" />
<Test name="highp_uint" />
<Test name="lowp_uvec2" />
<Test name="mediump_uvec2" />
<Test name="highp_uvec2" />
<Test name="lowp_uvec3" />
<Test name="mediump_uvec3" />
<Test name="highp_uvec3" />
<Test name="lowp_uvec4" />
<Test name="mediump_uvec4" />
<Test name="highp_uvec4" />
<Test name="bool" />
<Test name="bvec2" />
<Test name="bvec3" />
<Test name="bvec4" />
<Test name="lowp_mat2" />
<Test name="mediump_mat2" />
<Test name="highp_mat2" />
<Test name="row_major_lowp_mat2" />
<Test name="row_major_mediump_mat2" />
<Test name="row_major_highp_mat2" />
<Test name="column_major_lowp_mat2" />
<Test name="column_major_mediump_mat2" />
<Test name="column_major_highp_mat2" />
<Test name="lowp_mat3" />
<Test name="mediump_mat3" />
<Test name="highp_mat3" />
<Test name="row_major_lowp_mat3" />
<Test name="row_major_mediump_mat3" />
<Test name="row_major_highp_mat3" />
<Test name="column_major_lowp_mat3" />
<Test name="column_major_mediump_mat3" />
<Test name="column_major_highp_mat3" />
<Test name="lowp_mat4" />
<Test name="mediump_mat4" />
<Test name="highp_mat4" />
<Test name="row_major_lowp_mat4" />
<Test name="row_major_mediump_mat4" />
<Test name="row_major_highp_mat4" />
<Test name="column_major_lowp_mat4" />
<Test name="column_major_mediump_mat4" />
<Test name="column_major_highp_mat4" />
<Test name="lowp_mat2x3" />
<Test name="mediump_mat2x3" />
<Test name="highp_mat2x3" />
<Test name="row_major_lowp_mat2x3" />
<Test name="row_major_mediump_mat2x3" />
<Test name="row_major_highp_mat2x3" />
<Test name="column_major_lowp_mat2x3" />
<Test name="column_major_mediump_mat2x3" />
<Test name="column_major_highp_mat2x3" />
<Test name="lowp_mat2x4" />
<Test name="mediump_mat2x4" />
<Test name="highp_mat2x4" />
<Test name="row_major_lowp_mat2x4" />
<Test name="row_major_mediump_mat2x4" />
<Test name="row_major_highp_mat2x4" />
<Test name="column_major_lowp_mat2x4" />
<Test name="column_major_mediump_mat2x4" />
<Test name="column_major_highp_mat2x4" />
<Test name="lowp_mat3x2" />
<Test name="mediump_mat3x2" />
<Test name="highp_mat3x2" />
<Test name="row_major_lowp_mat3x2" />
<Test name="row_major_mediump_mat3x2" />
<Test name="row_major_highp_mat3x2" />
<Test name="column_major_lowp_mat3x2" />
<Test name="column_major_mediump_mat3x2" />
<Test name="column_major_highp_mat3x2" />
<Test name="lowp_mat3x4" />
<Test name="mediump_mat3x4" />
<Test name="highp_mat3x4" />
<Test name="row_major_lowp_mat3x4" />
<Test name="row_major_mediump_mat3x4" />
<Test name="row_major_highp_mat3x4" />
<Test name="column_major_lowp_mat3x4" />
<Test name="column_major_mediump_mat3x4" />
<Test name="column_major_highp_mat3x4" />
<Test name="lowp_mat4x2" />
<Test name="mediump_mat4x2" />
<Test name="highp_mat4x2" />
<Test name="row_major_lowp_mat4x2" />
<Test name="row_major_mediump_mat4x2" />
<Test name="row_major_highp_mat4x2" />
<Test name="column_major_lowp_mat4x2" />
<Test name="column_major_mediump_mat4x2" />
<Test name="column_major_highp_mat4x2" />
<Test name="lowp_mat4x3" />
<Test name="mediump_mat4x3" />
<Test name="highp_mat4x3" />
<Test name="row_major_lowp_mat4x3" />
<Test name="row_major_mediump_mat4x3" />
<Test name="row_major_highp_mat4x3" />
<Test name="column_major_lowp_mat4x3" />
<Test name="column_major_mediump_mat4x3" />
<Test name="column_major_highp_mat4x3" />
</TestCase>
<TestCase name="std430">
<Test name="lowp_float" />
<Test name="mediump_float" />
<Test name="highp_float" />
<Test name="lowp_vec2" />
<Test name="mediump_vec2" />
<Test name="highp_vec2" />
<Test name="lowp_vec3" />
<Test name="mediump_vec3" />
<Test name="highp_vec3" />
<Test name="lowp_vec4" />
<Test name="mediump_vec4" />
<Test name="highp_vec4" />
<Test name="lowp_int" />
<Test name="mediump_int" />
<Test name="highp_int" />
<Test name="lowp_ivec2" />
<Test name="mediump_ivec2" />
<Test name="highp_ivec2" />
<Test name="lowp_ivec3" />
<Test name="mediump_ivec3" />
<Test name="highp_ivec3" />
<Test name="lowp_ivec4" />
<Test name="mediump_ivec4" />
<Test name="highp_ivec4" />
<Test name="lowp_uint" />
<Test name="mediump_uint" />
<Test name="highp_uint" />
<Test name="lowp_uvec2" />
<Test name="mediump_uvec2" />
<Test name="highp_uvec2" />
<Test name="lowp_uvec3" />
<Test name="mediump_uvec3" />
<Test name="highp_uvec3" />
<Test name="lowp_uvec4" />
<Test name="mediump_uvec4" />
<Test name="highp_uvec4" />
<Test name="bool" />
<Test name="bvec2" />
<Test name="bvec3" />
<Test name="bvec4" />
<Test name="lowp_mat2" />
<Test name="mediump_mat2" />
<Test name="highp_mat2" />
<Test name="row_major_lowp_mat2" />
<Test name="row_major_mediump_mat2" />
<Test name="row_major_highp_mat2" />
<Test name="column_major_lowp_mat2" />
<Test name="column_major_mediump_mat2" />
<Test name="column_major_highp_mat2" />
<Test name="lowp_mat3" />
<Test name="mediump_mat3" />
<Test name="highp_mat3" />
<Test name="row_major_lowp_mat3" />
<Test name="row_major_mediump_mat3" />
<Test name="row_major_highp_mat3" />
<Test name="column_major_lowp_mat3" />
<Test name="column_major_mediump_mat3" />
<Test name="column_major_highp_mat3" />
<Test name="lowp_mat4" />
<Test name="mediump_mat4" />
<Test name="highp_mat4" />
<Test name="row_major_lowp_mat4" />
<Test name="row_major_mediump_mat4" />
<Test name="row_major_highp_mat4" />
<Test name="column_major_lowp_mat4" />
<Test name="column_major_mediump_mat4" />
<Test name="column_major_highp_mat4" />
<Test name="lowp_mat2x3" />
<Test name="mediump_mat2x3" />
<Test name="highp_mat2x3" />
<Test name="row_major_lowp_mat2x3" />
<Test name="row_major_mediump_mat2x3" />
<Test name="row_major_highp_mat2x3" />
<Test name="column_major_lowp_mat2x3" />
<Test name="column_major_mediump_mat2x3" />
<Test name="column_major_highp_mat2x3" />
<Test name="lowp_mat2x4" />
<Test name="mediump_mat2x4" />
<Test name="highp_mat2x4" />
<Test name="row_major_lowp_mat2x4" />
<Test name="row_major_mediump_mat2x4" />
<Test name="row_major_highp_mat2x4" />
<Test name="column_major_lowp_mat2x4" />
<Test name="column_major_mediump_mat2x4" />
<Test name="column_major_highp_mat2x4" />
<Test name="lowp_mat3x2" />
<Test name="mediump_mat3x2" />
<Test name="highp_mat3x2" />
<Test name="row_major_lowp_mat3x2" />
<Test name="row_major_mediump_mat3x2" />
<Test name="row_major_highp_mat3x2" />
<Test name="column_major_lowp_mat3x2" />
<Test name="column_major_mediump_mat3x2" />
<Test name="column_major_highp_mat3x2" />
<Test name="lowp_mat3x4" />
<Test name="mediump_mat3x4" />
<Test name="highp_mat3x4" />
<Test name="row_major_lowp_mat3x4" />
<Test name="row_major_mediump_mat3x4" />
<Test name="row_major_highp_mat3x4" />
<Test name="column_major_lowp_mat3x4" />
<Test name="column_major_mediump_mat3x4" />
<Test name="column_major_highp_mat3x4" />
<Test name="lowp_mat4x2" />
<Test name="mediump_mat4x2" />
<Test name="highp_mat4x2" />
<Test name="row_major_lowp_mat4x2" />
<Test name="row_major_mediump_mat4x2" />
<Test name="row_major_highp_mat4x2" />
<Test name="column_major_lowp_mat4x2" />
<Test name="column_major_mediump_mat4x2" />
<Test name="column_major_highp_mat4x2" />
<Test name="lowp_mat4x3" />
<Test name="mediump_mat4x3" />
<Test name="highp_mat4x3" />
<Test name="row_major_lowp_mat4x3" />
<Test name="row_major_mediump_mat4x3" />
<Test name="row_major_highp_mat4x3" />
<Test name="column_major_lowp_mat4x3" />
<Test name="column_major_mediump_mat4x3" />
<Test name="column_major_highp_mat4x3" />
</TestCase>
</TestSuite>
<TestSuite name="single_basic_array">
<TestCase name="shared">
<Test name="float" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="int" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uint" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
<Test name="bool" />
<Test name="bvec2" />
<Test name="bvec3" />
<Test name="bvec4" />
<Test name="mat2" />
<Test name="row_major_mat2" />
<Test name="column_major_mat2" />
<Test name="mat3" />
<Test name="row_major_mat3" />
<Test name="column_major_mat3" />
<Test name="mat4" />
<Test name="row_major_mat4" />
<Test name="column_major_mat4" />
<Test name="mat2x3" />
<Test name="row_major_mat2x3" />
<Test name="column_major_mat2x3" />
<Test name="mat2x4" />
<Test name="row_major_mat2x4" />
<Test name="column_major_mat2x4" />
<Test name="mat3x2" />
<Test name="row_major_mat3x2" />
<Test name="column_major_mat3x2" />
<Test name="mat3x4" />
<Test name="row_major_mat3x4" />
<Test name="column_major_mat3x4" />
<Test name="mat4x2" />
<Test name="row_major_mat4x2" />
<Test name="column_major_mat4x2" />
<Test name="mat4x3" />
<Test name="row_major_mat4x3" />
<Test name="column_major_mat4x3" />
</TestCase>
<TestCase name="packed">
<Test name="float" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="int" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uint" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
<Test name="bool" />
<Test name="bvec2" />
<Test name="bvec3" />
<Test name="bvec4" />
<Test name="mat2" />
<Test name="row_major_mat2" />
<Test name="column_major_mat2" />
<Test name="mat3" />
<Test name="row_major_mat3" />
<Test name="column_major_mat3" />
<Test name="mat4" />
<Test name="row_major_mat4" />
<Test name="column_major_mat4" />
<Test name="mat2x3" />
<Test name="row_major_mat2x3" />
<Test name="column_major_mat2x3" />
<Test name="mat2x4" />
<Test name="row_major_mat2x4" />
<Test name="column_major_mat2x4" />
<Test name="mat3x2" />
<Test name="row_major_mat3x2" />
<Test name="column_major_mat3x2" />
<Test name="mat3x4" />
<Test name="row_major_mat3x4" />
<Test name="column_major_mat3x4" />
<Test name="mat4x2" />
<Test name="row_major_mat4x2" />
<Test name="column_major_mat4x2" />
<Test name="mat4x3" />
<Test name="row_major_mat4x3" />
<Test name="column_major_mat4x3" />
</TestCase>
<TestCase name="std140">
<Test name="float" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="int" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uint" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
<Test name="bool" />
<Test name="bvec2" />
<Test name="bvec3" />
<Test name="bvec4" />
<Test name="mat2" />
<Test name="row_major_mat2" />
<Test name="column_major_mat2" />
<Test name="mat3" />
<Test name="row_major_mat3" />
<Test name="column_major_mat3" />
<Test name="mat4" />
<Test name="row_major_mat4" />
<Test name="column_major_mat4" />
<Test name="mat2x3" />
<Test name="row_major_mat2x3" />
<Test name="column_major_mat2x3" />
<Test name="mat2x4" />
<Test name="row_major_mat2x4" />
<Test name="column_major_mat2x4" />
<Test name="mat3x2" />
<Test name="row_major_mat3x2" />
<Test name="column_major_mat3x2" />
<Test name="mat3x4" />
<Test name="row_major_mat3x4" />
<Test name="column_major_mat3x4" />
<Test name="mat4x2" />
<Test name="row_major_mat4x2" />
<Test name="column_major_mat4x2" />
<Test name="mat4x3" />
<Test name="row_major_mat4x3" />
<Test name="column_major_mat4x3" />
</TestCase>
<TestCase name="std430">
<Test name="float" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="int" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uint" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
<Test name="bool" />
<Test name="bvec2" />
<Test name="bvec3" />
<Test name="bvec4" />
<Test name="mat2" />
<Test name="row_major_mat2" />
<Test name="column_major_mat2" />
<Test name="mat3" />
<Test name="row_major_mat3" />
<Test name="column_major_mat3" />
<Test name="mat4" />
<Test name="row_major_mat4" />
<Test name="column_major_mat4" />
<Test name="mat2x3" />
<Test name="row_major_mat2x3" />
<Test name="column_major_mat2x3" />
<Test name="mat2x4" />
<Test name="row_major_mat2x4" />
<Test name="column_major_mat2x4" />
<Test name="mat3x2" />
<Test name="row_major_mat3x2" />
<Test name="column_major_mat3x2" />
<Test name="mat3x4" />
<Test name="row_major_mat3x4" />
<Test name="column_major_mat3x4" />
<Test name="mat4x2" />
<Test name="row_major_mat4x2" />
<Test name="column_major_mat4x2" />
<Test name="mat4x3" />
<Test name="row_major_mat4x3" />
<Test name="column_major_mat4x3" />
</TestCase>
</TestSuite>
<TestSuite name="basic_unsized_array">
<TestCase name="shared">
<Test name="float" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="int" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uint" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
<Test name="bool" />
<Test name="bvec2" />
<Test name="bvec3" />
<Test name="bvec4" />
<Test name="mat2" />
<Test name="row_major_mat2" />
<Test name="column_major_mat2" />
<Test name="mat3" />
<Test name="row_major_mat3" />
<Test name="column_major_mat3" />
<Test name="mat4" />
<Test name="row_major_mat4" />
<Test name="column_major_mat4" />
<Test name="mat2x3" />
<Test name="row_major_mat2x3" />
<Test name="column_major_mat2x3" />
<Test name="mat2x4" />
<Test name="row_major_mat2x4" />
<Test name="column_major_mat2x4" />
<Test name="mat3x2" />
<Test name="row_major_mat3x2" />
<Test name="column_major_mat3x2" />
<Test name="mat3x4" />
<Test name="row_major_mat3x4" />
<Test name="column_major_mat3x4" />
<Test name="mat4x2" />
<Test name="row_major_mat4x2" />
<Test name="column_major_mat4x2" />
<Test name="mat4x3" />
<Test name="row_major_mat4x3" />
<Test name="column_major_mat4x3" />
</TestCase>
<TestCase name="packed">
<Test name="float" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="int" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uint" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
<Test name="bool" />
<Test name="bvec2" />
<Test name="bvec3" />
<Test name="bvec4" />
<Test name="mat2" />
<Test name="row_major_mat2" />
<Test name="column_major_mat2" />
<Test name="mat3" />
<Test name="row_major_mat3" />
<Test name="column_major_mat3" />
<Test name="mat4" />
<Test name="row_major_mat4" />
<Test name="column_major_mat4" />
<Test name="mat2x3" />
<Test name="row_major_mat2x3" />
<Test name="column_major_mat2x3" />
<Test name="mat2x4" />
<Test name="row_major_mat2x4" />
<Test name="column_major_mat2x4" />
<Test name="mat3x2" />
<Test name="row_major_mat3x2" />
<Test name="column_major_mat3x2" />
<Test name="mat3x4" />
<Test name="row_major_mat3x4" />
<Test name="column_major_mat3x4" />
<Test name="mat4x2" />
<Test name="row_major_mat4x2" />
<Test name="column_major_mat4x2" />
<Test name="mat4x3" />
<Test name="row_major_mat4x3" />
<Test name="column_major_mat4x3" />
</TestCase>
<TestCase name="std140">
<Test name="float" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="int" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uint" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
<Test name="bool" />
<Test name="bvec2" />
<Test name="bvec3" />
<Test name="bvec4" />
<Test name="mat2" />
<Test name="row_major_mat2" />
<Test name="column_major_mat2" />
<Test name="mat3" />
<Test name="row_major_mat3" />
<Test name="column_major_mat3" />
<Test name="mat4" />
<Test name="row_major_mat4" />
<Test name="column_major_mat4" />
<Test name="mat2x3" />
<Test name="row_major_mat2x3" />
<Test name="column_major_mat2x3" />
<Test name="mat2x4" />
<Test name="row_major_mat2x4" />
<Test name="column_major_mat2x4" />
<Test name="mat3x2" />
<Test name="row_major_mat3x2" />
<Test name="column_major_mat3x2" />
<Test name="mat3x4" />
<Test name="row_major_mat3x4" />
<Test name="column_major_mat3x4" />
<Test name="mat4x2" />
<Test name="row_major_mat4x2" />
<Test name="column_major_mat4x2" />
<Test name="mat4x3" />
<Test name="row_major_mat4x3" />
<Test name="column_major_mat4x3" />
</TestCase>
<TestCase name="std430">
<Test name="float" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="int" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uint" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
<Test name="bool" />
<Test name="bvec2" />
<Test name="bvec3" />
<Test name="bvec4" />
<Test name="mat2" />
<Test name="row_major_mat2" />
<Test name="column_major_mat2" />
<Test name="mat3" />
<Test name="row_major_mat3" />
<Test name="column_major_mat3" />
<Test name="mat4" />
<Test name="row_major_mat4" />
<Test name="column_major_mat4" />
<Test name="mat2x3" />
<Test name="row_major_mat2x3" />
<Test name="column_major_mat2x3" />
<Test name="mat2x4" />
<Test name="row_major_mat2x4" />
<Test name="column_major_mat2x4" />
<Test name="mat3x2" />
<Test name="row_major_mat3x2" />
<Test name="column_major_mat3x2" />
<Test name="mat3x4" />
<Test name="row_major_mat3x4" />
<Test name="column_major_mat3x4" />
<Test name="mat4x2" />
<Test name="row_major_mat4x2" />
<Test name="column_major_mat4x2" />
<Test name="mat4x3" />
<Test name="row_major_mat4x3" />
<Test name="column_major_mat4x3" />
</TestCase>
</TestSuite>
<TestSuite name="2_level_array">
<TestCase name="shared">
<Test name="float" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="int" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uint" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
<Test name="bool" />
<Test name="bvec2" />
<Test name="bvec3" />
<Test name="bvec4" />
<Test name="mat2" />
<Test name="row_major_mat2" />
<Test name="column_major_mat2" />
<Test name="mat3" />
<Test name="row_major_mat3" />
<Test name="column_major_mat3" />
<Test name="mat4" />
<Test name="row_major_mat4" />
<Test name="column_major_mat4" />
<Test name="mat2x3" />
<Test name="row_major_mat2x3" />
<Test name="column_major_mat2x3" />
<Test name="mat2x4" />
<Test name="row_major_mat2x4" />
<Test name="column_major_mat2x4" />
<Test name="mat3x2" />
<Test name="row_major_mat3x2" />
<Test name="column_major_mat3x2" />
<Test name="mat3x4" />
<Test name="row_major_mat3x4" />
<Test name="column_major_mat3x4" />
<Test name="mat4x2" />
<Test name="row_major_mat4x2" />
<Test name="column_major_mat4x2" />
<Test name="mat4x3" />
<Test name="row_major_mat4x3" />
<Test name="column_major_mat4x3" />
</TestCase>
<TestCase name="packed">
<Test name="float" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="int" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uint" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
<Test name="bool" />
<Test name="bvec2" />
<Test name="bvec3" />
<Test name="bvec4" />
<Test name="mat2" />
<Test name="row_major_mat2" />
<Test name="column_major_mat2" />
<Test name="mat3" />
<Test name="row_major_mat3" />
<Test name="column_major_mat3" />
<Test name="mat4" />
<Test name="row_major_mat4" />
<Test name="column_major_mat4" />
<Test name="mat2x3" />
<Test name="row_major_mat2x3" />
<Test name="column_major_mat2x3" />
<Test name="mat2x4" />
<Test name="row_major_mat2x4" />
<Test name="column_major_mat2x4" />
<Test name="mat3x2" />
<Test name="row_major_mat3x2" />
<Test name="column_major_mat3x2" />
<Test name="mat3x4" />
<Test name="row_major_mat3x4" />
<Test name="column_major_mat3x4" />
<Test name="mat4x2" />
<Test name="row_major_mat4x2" />
<Test name="column_major_mat4x2" />
<Test name="mat4x3" />
<Test name="row_major_mat4x3" />
<Test name="column_major_mat4x3" />
</TestCase>
<TestCase name="std140">
<Test name="float" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="int" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uint" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
<Test name="bool" />
<Test name="bvec2" />
<Test name="bvec3" />
<Test name="bvec4" />
<Test name="mat2" />
<Test name="row_major_mat2" />
<Test name="column_major_mat2" />
<Test name="mat3" />
<Test name="row_major_mat3" />
<Test name="column_major_mat3" />
<Test name="mat4" />
<Test name="row_major_mat4" />
<Test name="column_major_mat4" />
<Test name="mat2x3" />
<Test name="row_major_mat2x3" />
<Test name="column_major_mat2x3" />
<Test name="mat2x4" />
<Test name="row_major_mat2x4" />
<Test name="column_major_mat2x4" />
<Test name="mat3x2" />
<Test name="row_major_mat3x2" />
<Test name="column_major_mat3x2" />
<Test name="mat3x4" />
<Test name="row_major_mat3x4" />
<Test name="column_major_mat3x4" />
<Test name="mat4x2" />
<Test name="row_major_mat4x2" />
<Test name="column_major_mat4x2" />
<Test name="mat4x3" />
<Test name="row_major_mat4x3" />
<Test name="column_major_mat4x3" />
</TestCase>
<TestCase name="std430">
<Test name="float" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="int" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uint" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
<Test name="bool" />
<Test name="bvec2" />
<Test name="bvec3" />
<Test name="bvec4" />
<Test name="mat2" />
<Test name="row_major_mat2" />
<Test name="column_major_mat2" />
<Test name="mat3" />
<Test name="row_major_mat3" />
<Test name="column_major_mat3" />
<Test name="mat4" />
<Test name="row_major_mat4" />
<Test name="column_major_mat4" />
<Test name="mat2x3" />
<Test name="row_major_mat2x3" />
<Test name="column_major_mat2x3" />
<Test name="mat2x4" />
<Test name="row_major_mat2x4" />
<Test name="column_major_mat2x4" />
<Test name="mat3x2" />
<Test name="row_major_mat3x2" />
<Test name="column_major_mat3x2" />
<Test name="mat3x4" />
<Test name="row_major_mat3x4" />
<Test name="column_major_mat3x4" />
<Test name="mat4x2" />
<Test name="row_major_mat4x2" />
<Test name="column_major_mat4x2" />
<Test name="mat4x3" />
<Test name="row_major_mat4x3" />
<Test name="column_major_mat4x3" />
</TestCase>
</TestSuite>
<TestSuite name="3_level_array">
<TestCase name="shared">
<Test name="float" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="int" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uint" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
<Test name="bool" />
<Test name="bvec2" />
<Test name="bvec3" />
<Test name="bvec4" />
<Test name="mat2" />
<Test name="row_major_mat2" />
<Test name="column_major_mat2" />
<Test name="mat3" />
<Test name="row_major_mat3" />
<Test name="column_major_mat3" />
<Test name="mat4" />
<Test name="row_major_mat4" />
<Test name="column_major_mat4" />
<Test name="mat2x3" />
<Test name="row_major_mat2x3" />
<Test name="column_major_mat2x3" />
<Test name="mat2x4" />
<Test name="row_major_mat2x4" />
<Test name="column_major_mat2x4" />
<Test name="mat3x2" />
<Test name="row_major_mat3x2" />
<Test name="column_major_mat3x2" />
<Test name="mat3x4" />
<Test name="row_major_mat3x4" />
<Test name="column_major_mat3x4" />
<Test name="mat4x2" />
<Test name="row_major_mat4x2" />
<Test name="column_major_mat4x2" />
<Test name="mat4x3" />
<Test name="row_major_mat4x3" />
<Test name="column_major_mat4x3" />
</TestCase>
<TestCase name="packed">
<Test name="float" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="int" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uint" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
<Test name="bool" />
<Test name="bvec2" />
<Test name="bvec3" />
<Test name="bvec4" />
<Test name="mat2" />
<Test name="row_major_mat2" />
<Test name="column_major_mat2" />
<Test name="mat3" />
<Test name="row_major_mat3" />
<Test name="column_major_mat3" />
<Test name="mat4" />
<Test name="row_major_mat4" />
<Test name="column_major_mat4" />
<Test name="mat2x3" />
<Test name="row_major_mat2x3" />
<Test name="column_major_mat2x3" />
<Test name="mat2x4" />
<Test name="row_major_mat2x4" />
<Test name="column_major_mat2x4" />
<Test name="mat3x2" />
<Test name="row_major_mat3x2" />
<Test name="column_major_mat3x2" />
<Test name="mat3x4" />
<Test name="row_major_mat3x4" />
<Test name="column_major_mat3x4" />
<Test name="mat4x2" />
<Test name="row_major_mat4x2" />
<Test name="column_major_mat4x2" />
<Test name="mat4x3" />
<Test name="row_major_mat4x3" />
<Test name="column_major_mat4x3" />
</TestCase>
<TestCase name="std140">
<Test name="float" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="int" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uint" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
<Test name="bool" />
<Test name="bvec2" />
<Test name="bvec3" />
<Test name="bvec4" />
<Test name="mat2" />
<Test name="row_major_mat2" />
<Test name="column_major_mat2" />
<Test name="mat3" />
<Test name="row_major_mat3" />
<Test name="column_major_mat3" />
<Test name="mat4" />
<Test name="row_major_mat4" />
<Test name="column_major_mat4" />
<Test name="mat2x3" />
<Test name="row_major_mat2x3" />
<Test name="column_major_mat2x3" />
<Test name="mat2x4" />
<Test name="row_major_mat2x4" />
<Test name="column_major_mat2x4" />
<Test name="mat3x2" />
<Test name="row_major_mat3x2" />
<Test name="column_major_mat3x2" />
<Test name="mat3x4" />
<Test name="row_major_mat3x4" />
<Test name="column_major_mat3x4" />
<Test name="mat4x2" />
<Test name="row_major_mat4x2" />
<Test name="column_major_mat4x2" />
<Test name="mat4x3" />
<Test name="row_major_mat4x3" />
<Test name="column_major_mat4x3" />
</TestCase>
<TestCase name="std430">
<Test name="float" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="int" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uint" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
<Test name="bool" />
<Test name="bvec2" />
<Test name="bvec3" />
<Test name="bvec4" />
<Test name="mat2" />
<Test name="row_major_mat2" />
<Test name="column_major_mat2" />
<Test name="mat3" />
<Test name="row_major_mat3" />
<Test name="column_major_mat3" />
<Test name="mat4" />
<Test name="row_major_mat4" />
<Test name="column_major_mat4" />
<Test name="mat2x3" />
<Test name="row_major_mat2x3" />
<Test name="column_major_mat2x3" />
<Test name="mat2x4" />
<Test name="row_major_mat2x4" />
<Test name="column_major_mat2x4" />
<Test name="mat3x2" />
<Test name="row_major_mat3x2" />
<Test name="column_major_mat3x2" />
<Test name="mat3x4" />
<Test name="row_major_mat3x4" />
<Test name="column_major_mat3x4" />
<Test name="mat4x2" />
<Test name="row_major_mat4x2" />
<Test name="column_major_mat4x2" />
<Test name="mat4x3" />
<Test name="row_major_mat4x3" />
<Test name="column_major_mat4x3" />
</TestCase>
</TestSuite>
<TestSuite name="3_level_unsized_array">
<TestCase name="shared">
<Test name="float" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="int" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uint" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
<Test name="bool" />
<Test name="bvec2" />
<Test name="bvec3" />
<Test name="bvec4" />
<Test name="mat2" />
<Test name="row_major_mat2" />
<Test name="column_major_mat2" />
<Test name="mat3" />
<Test name="row_major_mat3" />
<Test name="column_major_mat3" />
<Test name="mat4" />
<Test name="row_major_mat4" />
<Test name="column_major_mat4" />
<Test name="mat2x3" />
<Test name="row_major_mat2x3" />
<Test name="column_major_mat2x3" />
<Test name="mat2x4" />
<Test name="row_major_mat2x4" />
<Test name="column_major_mat2x4" />
<Test name="mat3x2" />
<Test name="row_major_mat3x2" />
<Test name="column_major_mat3x2" />
<Test name="mat3x4" />
<Test name="row_major_mat3x4" />
<Test name="column_major_mat3x4" />
<Test name="mat4x2" />
<Test name="row_major_mat4x2" />
<Test name="column_major_mat4x2" />
<Test name="mat4x3" />
<Test name="row_major_mat4x3" />
<Test name="column_major_mat4x3" />
</TestCase>
<TestCase name="packed">
<Test name="float" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="int" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uint" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
<Test name="bool" />
<Test name="bvec2" />
<Test name="bvec3" />
<Test name="bvec4" />
<Test name="mat2" />
<Test name="row_major_mat2" />
<Test name="column_major_mat2" />
<Test name="mat3" />
<Test name="row_major_mat3" />
<Test name="column_major_mat3" />
<Test name="mat4" />
<Test name="row_major_mat4" />
<Test name="column_major_mat4" />
<Test name="mat2x3" />
<Test name="row_major_mat2x3" />
<Test name="column_major_mat2x3" />
<Test name="mat2x4" />
<Test name="row_major_mat2x4" />
<Test name="column_major_mat2x4" />
<Test name="mat3x2" />
<Test name="row_major_mat3x2" />
<Test name="column_major_mat3x2" />
<Test name="mat3x4" />
<Test name="row_major_mat3x4" />
<Test name="column_major_mat3x4" />
<Test name="mat4x2" />
<Test name="row_major_mat4x2" />
<Test name="column_major_mat4x2" />
<Test name="mat4x3" />
<Test name="row_major_mat4x3" />
<Test name="column_major_mat4x3" />
</TestCase>
<TestCase name="std140">
<Test name="float" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="int" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uint" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
<Test name="bool" />
<Test name="bvec2" />
<Test name="bvec3" />
<Test name="bvec4" />
<Test name="mat2" />
<Test name="row_major_mat2" />
<Test name="column_major_mat2" />
<Test name="mat3" />
<Test name="row_major_mat3" />
<Test name="column_major_mat3" />
<Test name="mat4" />
<Test name="row_major_mat4" />
<Test name="column_major_mat4" />
<Test name="mat2x3" />
<Test name="row_major_mat2x3" />
<Test name="column_major_mat2x3" />
<Test name="mat2x4" />
<Test name="row_major_mat2x4" />
<Test name="column_major_mat2x4" />
<Test name="mat3x2" />
<Test name="row_major_mat3x2" />
<Test name="column_major_mat3x2" />
<Test name="mat3x4" />
<Test name="row_major_mat3x4" />
<Test name="column_major_mat3x4" />
<Test name="mat4x2" />
<Test name="row_major_mat4x2" />
<Test name="column_major_mat4x2" />
<Test name="mat4x3" />
<Test name="row_major_mat4x3" />
<Test name="column_major_mat4x3" />
</TestCase>
<TestCase name="std430">
<Test name="float" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="int" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uint" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
<Test name="bool" />
<Test name="bvec2" />
<Test name="bvec3" />
<Test name="bvec4" />
<Test name="mat2" />
<Test name="row_major_mat2" />
<Test name="column_major_mat2" />
<Test name="mat3" />
<Test name="row_major_mat3" />
<Test name="column_major_mat3" />
<Test name="mat4" />
<Test name="row_major_mat4" />
<Test name="column_major_mat4" />
<Test name="mat2x3" />
<Test name="row_major_mat2x3" />
<Test name="column_major_mat2x3" />
<Test name="mat2x4" />
<Test name="row_major_mat2x4" />
<Test name="column_major_mat2x4" />
<Test name="mat3x2" />
<Test name="row_major_mat3x2" />
<Test name="column_major_mat3x2" />
<Test name="mat3x4" />
<Test name="row_major_mat3x4" />
<Test name="column_major_mat3x4" />
<Test name="mat4x2" />
<Test name="row_major_mat4x2" />
<Test name="column_major_mat4x2" />
<Test name="mat4x3" />
<Test name="row_major_mat4x3" />
<Test name="column_major_mat4x3" />
</TestCase>
</TestSuite>
<TestSuite name="single_struct">
<TestCase name="per_block_buffer">
<Test name="shared" />
<Test name="shared_instance_array" />
<Test name="packed" />
<Test name="packed_instance_array" />
<Test name="std140" />
<Test name="std140_instance_array" />
<Test name="std430" />
<Test name="std430_instance_array" />
</TestCase>
<TestCase name="single_buffer">
<Test name="shared_instance_array" />
<Test name="packed_instance_array" />
<Test name="std140_instance_array" />
<Test name="std430_instance_array" />
</TestCase>
</TestSuite>
<TestSuite name="single_struct_array">
<TestCase name="per_block_buffer">
<Test name="shared" />
<Test name="shared_instance_array" />
<Test name="packed" />
<Test name="packed_instance_array" />
<Test name="std140" />
<Test name="std140_instance_array" />
<Test name="std430" />
<Test name="std430_instance_array" />
</TestCase>
<TestCase name="single_buffer">
<Test name="shared_instance_array" />
<Test name="packed_instance_array" />
<Test name="std140_instance_array" />
<Test name="std430_instance_array" />
</TestCase>
</TestSuite>
<TestSuite name="single_nested_struct">
<TestCase name="per_block_buffer">
<Test name="shared" />
<Test name="shared_instance_array" />
<Test name="packed" />
<Test name="packed_instance_array" />
<Test name="std140" />
<Test name="std140_instance_array" />
<Test name="std430" />
<Test name="std430_instance_array" />
</TestCase>
<TestCase name="single_buffer">
<Test name="shared_instance_array" />
<Test name="packed_instance_array" />
<Test name="std140_instance_array" />
<Test name="std430_instance_array" />
</TestCase>
</TestSuite>
<TestSuite name="single_nested_struct_array">
<TestCase name="per_block_buffer">
<Test name="shared" />
<Test name="shared_instance_array" />
<Test name="packed" />
<Test name="packed_instance_array" />
<Test name="std140" />
<Test name="std140_instance_array" />
<Test name="std430" />
<Test name="std430_instance_array" />
</TestCase>
<TestCase name="single_buffer">
<Test name="shared_instance_array" />
<Test name="packed_instance_array" />
<Test name="std140_instance_array" />
<Test name="std430_instance_array" />
</TestCase>
</TestSuite>
<TestSuite name="unsized_struct_array">
<TestCase name="per_block_buffer">
<Test name="shared" />
<Test name="shared_instance_array" />
<Test name="packed" />
<Test name="packed_instance_array" />
<Test name="std140" />
<Test name="std140_instance_array" />
<Test name="std430" />
<Test name="std430_instance_array" />
</TestCase>
<TestCase name="single_buffer">
<Test name="shared_instance_array" />
<Test name="packed_instance_array" />
<Test name="std140_instance_array" />
<Test name="std430_instance_array" />
</TestCase>
</TestSuite>
<TestSuite name="2_level_unsized_struct_array">
<TestCase name="per_block_buffer">
<Test name="shared" />
<Test name="shared_instance_array" />
<Test name="packed" />
<Test name="packed_instance_array" />
<Test name="std140" />
<Test name="std140_instance_array" />
<Test name="std430" />
<Test name="std430_instance_array" />
</TestCase>
<TestCase name="single_buffer">
<Test name="shared_instance_array" />
<Test name="packed_instance_array" />
<Test name="std140_instance_array" />
<Test name="std430_instance_array" />
</TestCase>
</TestSuite>
<TestSuite name="unsized_nested_struct_array">
<TestCase name="per_block_buffer">
<Test name="shared" />
<Test name="shared_instance_array" />
<Test name="packed" />
<Test name="packed_instance_array" />
<Test name="std140" />
<Test name="std140_instance_array" />
<Test name="std430" />
<Test name="std430_instance_array" />
</TestCase>
<TestCase name="single_buffer">
<Test name="shared_instance_array" />
<Test name="packed_instance_array" />
<Test name="std140_instance_array" />
<Test name="std430_instance_array" />
</TestCase>
</TestSuite>
<TestSuite name="instance_array_basic_type">
<TestCase name="shared">
<Test name="float" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="int" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uint" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
<Test name="bool" />
<Test name="bvec2" />
<Test name="bvec3" />
<Test name="bvec4" />
<Test name="mat2" />
<Test name="row_major_mat2" />
<Test name="column_major_mat2" />
<Test name="mat3" />
<Test name="row_major_mat3" />
<Test name="column_major_mat3" />
<Test name="mat4" />
<Test name="row_major_mat4" />
<Test name="column_major_mat4" />
<Test name="mat2x3" />
<Test name="row_major_mat2x3" />
<Test name="column_major_mat2x3" />
<Test name="mat2x4" />
<Test name="row_major_mat2x4" />
<Test name="column_major_mat2x4" />
<Test name="mat3x2" />
<Test name="row_major_mat3x2" />
<Test name="column_major_mat3x2" />
<Test name="mat3x4" />
<Test name="row_major_mat3x4" />
<Test name="column_major_mat3x4" />
<Test name="mat4x2" />
<Test name="row_major_mat4x2" />
<Test name="column_major_mat4x2" />
<Test name="mat4x3" />
<Test name="row_major_mat4x3" />
<Test name="column_major_mat4x3" />
</TestCase>
<TestCase name="packed">
<Test name="float" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="int" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uint" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
<Test name="bool" />
<Test name="bvec2" />
<Test name="bvec3" />
<Test name="bvec4" />
<Test name="mat2" />
<Test name="row_major_mat2" />
<Test name="column_major_mat2" />
<Test name="mat3" />
<Test name="row_major_mat3" />
<Test name="column_major_mat3" />
<Test name="mat4" />
<Test name="row_major_mat4" />
<Test name="column_major_mat4" />
<Test name="mat2x3" />
<Test name="row_major_mat2x3" />
<Test name="column_major_mat2x3" />
<Test name="mat2x4" />
<Test name="row_major_mat2x4" />
<Test name="column_major_mat2x4" />
<Test name="mat3x2" />
<Test name="row_major_mat3x2" />
<Test name="column_major_mat3x2" />
<Test name="mat3x4" />
<Test name="row_major_mat3x4" />
<Test name="column_major_mat3x4" />
<Test name="mat4x2" />
<Test name="row_major_mat4x2" />
<Test name="column_major_mat4x2" />
<Test name="mat4x3" />
<Test name="row_major_mat4x3" />
<Test name="column_major_mat4x3" />
</TestCase>
<TestCase name="std140">
<Test name="float" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="int" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uint" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
<Test name="bool" />
<Test name="bvec2" />
<Test name="bvec3" />
<Test name="bvec4" />
<Test name="mat2" />
<Test name="row_major_mat2" />
<Test name="column_major_mat2" />
<Test name="mat3" />
<Test name="row_major_mat3" />
<Test name="column_major_mat3" />
<Test name="mat4" />
<Test name="row_major_mat4" />
<Test name="column_major_mat4" />
<Test name="mat2x3" />
<Test name="row_major_mat2x3" />
<Test name="column_major_mat2x3" />
<Test name="mat2x4" />
<Test name="row_major_mat2x4" />
<Test name="column_major_mat2x4" />
<Test name="mat3x2" />
<Test name="row_major_mat3x2" />
<Test name="column_major_mat3x2" />
<Test name="mat3x4" />
<Test name="row_major_mat3x4" />
<Test name="column_major_mat3x4" />
<Test name="mat4x2" />
<Test name="row_major_mat4x2" />
<Test name="column_major_mat4x2" />
<Test name="mat4x3" />
<Test name="row_major_mat4x3" />
<Test name="column_major_mat4x3" />
</TestCase>
<TestCase name="std430">
<Test name="float" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="int" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uint" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
<Test name="bool" />
<Test name="bvec2" />
<Test name="bvec3" />
<Test name="bvec4" />
<Test name="mat2" />
<Test name="row_major_mat2" />
<Test name="column_major_mat2" />
<Test name="mat3" />
<Test name="row_major_mat3" />
<Test name="column_major_mat3" />
<Test name="mat4" />
<Test name="row_major_mat4" />
<Test name="column_major_mat4" />
<Test name="mat2x3" />
<Test name="row_major_mat2x3" />
<Test name="column_major_mat2x3" />
<Test name="mat2x4" />
<Test name="row_major_mat2x4" />
<Test name="column_major_mat2x4" />
<Test name="mat3x2" />
<Test name="row_major_mat3x2" />
<Test name="column_major_mat3x2" />
<Test name="mat3x4" />
<Test name="row_major_mat3x4" />
<Test name="column_major_mat3x4" />
<Test name="mat4x2" />
<Test name="row_major_mat4x2" />
<Test name="column_major_mat4x2" />
<Test name="mat4x3" />
<Test name="row_major_mat4x3" />
<Test name="column_major_mat4x3" />
</TestCase>
</TestSuite>
<TestSuite name="multi_basic_types">
<TestCase name="per_block_buffer">
<Test name="shared" />
<Test name="shared_instance_array" />
<Test name="packed" />
<Test name="packed_instance_array" />
<Test name="std140" />
<Test name="std140_instance_array" />
<Test name="std430" />
<Test name="std430_instance_array" />
</TestCase>
<TestCase name="single_buffer">
<Test name="shared" />
<Test name="shared_instance_array" />
<Test name="packed" />
<Test name="packed_instance_array" />
<Test name="std140" />
<Test name="std140_instance_array" />
<Test name="std430" />
<Test name="std430_instance_array" />
</TestCase>
</TestSuite>
<TestSuite name="multi_nested_struct">
<TestCase name="per_block_buffer">
<Test name="shared" />
<Test name="shared_instance_array" />
<Test name="packed" />
<Test name="packed_instance_array" />
<Test name="std140" />
<Test name="std140_instance_array" />
<Test name="std430" />
<Test name="std430_instance_array" />
</TestCase>
<TestCase name="single_buffer">
<Test name="shared" />
<Test name="shared_instance_array" />
<Test name="packed" />
<Test name="packed_instance_array" />
<Test name="std140" />
<Test name="std140_instance_array" />
<Test name="std430" />
<Test name="std430_instance_array" />
</TestCase>
</TestSuite>
<TestSuite name="random">
<TestCase name="scalar_types">
<Test name="0" />
<Test name="1" />
<Test name="2" />
<Test name="3" />
<Test name="4" />
<Test name="5" />
<Test name="6" />
<Test name="7" />
<Test name="8" />
<Test name="9" />
<Test name="10" />
<Test name="11" />
<Test name="12" />
<Test name="13" />
<Test name="14" />
<Test name="15" />
<Test name="16" />
<Test name="17" />
<Test name="18" />
<Test name="19" />
<Test name="20" />
<Test name="21" />
<Test name="22" />
<Test name="23" />
<Test name="24" />
</TestCase>
<TestCase name="vector_types">
<Test name="0" />
<Test name="1" />
<Test name="2" />
<Test name="3" />
<Test name="4" />
<Test name="5" />
<Test name="6" />
<Test name="7" />
<Test name="8" />
<Test name="9" />
<Test name="10" />
<Test name="11" />
<Test name="12" />
<Test name="13" />
<Test name="14" />
<Test name="15" />
<Test name="16" />
<Test name="17" />
<Test name="18" />
<Test name="19" />
<Test name="20" />
<Test name="21" />
<Test name="22" />
<Test name="23" />
<Test name="24" />
</TestCase>
<TestCase name="basic_types">
<Test name="0" />
<Test name="1" />
<Test name="2" />
<Test name="3" />
<Test name="4" />
<Test name="5" />
<Test name="6" />
<Test name="7" />
<Test name="8" />
<Test name="9" />
<Test name="10" />
<Test name="11" />
<Test name="12" />
<Test name="13" />
<Test name="14" />
<Test name="15" />
<Test name="16" />
<Test name="17" />
<Test name="18" />
<Test name="19" />
<Test name="20" />
<Test name="21" />
<Test name="22" />
<Test name="23" />
<Test name="24" />
</TestCase>
<TestCase name="basic_arrays">
<Test name="0" />
<Test name="1" />
<Test name="2" />
<Test name="3" />
<Test name="4" />
<Test name="5" />
<Test name="6" />
<Test name="7" />
<Test name="8" />
<Test name="9" />
<Test name="10" />
<Test name="11" />
<Test name="12" />
<Test name="13" />
<Test name="14" />
<Test name="15" />
<Test name="16" />
<Test name="17" />
<Test name="18" />
<Test name="19" />
<Test name="20" />
<Test name="21" />
<Test name="22" />
<Test name="23" />
<Test name="24" />
</TestCase>
<TestCase name="unsized_arrays">
<Test name="0" />
<Test name="1" />
<Test name="2" />
<Test name="3" />
<Test name="4" />
<Test name="5" />
<Test name="6" />
<Test name="7" />
<Test name="8" />
<Test name="9" />
<Test name="10" />
<Test name="11" />
<Test name="12" />
<Test name="13" />
<Test name="14" />
<Test name="15" />
<Test name="16" />
<Test name="17" />
<Test name="18" />
<Test name="19" />
<Test name="20" />
<Test name="21" />
<Test name="22" />
<Test name="23" />
<Test name="24" />
</TestCase>
<TestCase name="arrays_of_arrays">
<Test name="0" />
<Test name="1" />
<Test name="2" />
<Test name="3" />
<Test name="4" />
<Test name="5" />
<Test name="6" />
<Test name="7" />
<Test name="8" />
<Test name="9" />
<Test name="10" />
<Test name="11" />
<Test name="12" />
<Test name="13" />
<Test name="14" />
<Test name="15" />
<Test name="16" />
<Test name="17" />
<Test name="18" />
<Test name="19" />
<Test name="20" />
<Test name="21" />
<Test name="22" />
<Test name="23" />
<Test name="24" />
</TestCase>
<TestCase name="basic_instance_arrays">
<Test name="0" />
<Test name="1" />
<Test name="2" />
<Test name="3" />
<Test name="4" />
<Test name="5" />
<Test name="6" />
<Test name="7" />
<Test name="8" />
<Test name="9" />
<Test name="10" />
<Test name="11" />
<Test name="12" />
<Test name="13" />
<Test name="14" />
<Test name="15" />
<Test name="16" />
<Test name="17" />
<Test name="18" />
<Test name="19" />
<Test name="20" />
<Test name="21" />
<Test name="22" />
<Test name="23" />
<Test name="24" />
</TestCase>
<TestCase name="nested_structs">
<Test name="0" />
<Test name="1" />
<Test name="2" />
<Test name="3" />
<Test name="4" />
<Test name="5" />
<Test name="6" />
<Test name="7" />
<Test name="8" />
<Test name="9" />
<Test name="10" />
<Test name="11" />
<Test name="12" />
<Test name="13" />
<Test name="14" />
<Test name="15" />
<Test name="16" />
<Test name="17" />
<Test name="18" />
<Test name="19" />
<Test name="20" />
<Test name="21" />
<Test name="22" />
<Test name="23" />
<Test name="24" />
</TestCase>
<TestCase name="nested_structs_arrays">
<Test name="0" />
<Test name="1" />
<Test name="2" />
<Test name="3" />
<Test name="4" />
<Test name="5" />
<Test name="6" />
<Test name="7" />
<Test name="8" />
<Test name="9" />
<Test name="10" />
<Test name="11" />
<Test name="12" />
<Test name="13" />
<Test name="14" />
<Test name="15" />
<Test name="16" />
<Test name="17" />
<Test name="18" />
<Test name="19" />
<Test name="20" />
<Test name="21" />
<Test name="22" />
<Test name="23" />
<Test name="24" />
</TestCase>
<TestCase name="nested_structs_instance_arrays">
<Test name="0" />
<Test name="1" />
<Test name="2" />
<Test name="3" />
<Test name="4" />
<Test name="5" />
<Test name="6" />
<Test name="7" />
<Test name="8" />
<Test name="9" />
<Test name="10" />
<Test name="11" />
<Test name="12" />
<Test name="13" />
<Test name="14" />
<Test name="15" />
<Test name="16" />
<Test name="17" />
<Test name="18" />
<Test name="19" />
<Test name="20" />
<Test name="21" />
<Test name="22" />
<Test name="23" />
<Test name="24" />
</TestCase>
<TestCase name="nested_structs_arrays_instance_arrays">
<Test name="0" />
<Test name="1" />
<Test name="2" />
<Test name="3" />
<Test name="4" />
<Test name="5" />
<Test name="6" />
<Test name="7" />
<Test name="8" />
<Test name="9" />
<Test name="10" />
<Test name="11" />
<Test name="12" />
<Test name="13" />
<Test name="14" />
<Test name="15" />
<Test name="16" />
<Test name="17" />
<Test name="18" />
<Test name="19" />
<Test name="20" />
<Test name="21" />
<Test name="22" />
<Test name="23" />
<Test name="24" />
</TestCase>
<TestCase name="all_per_block_buffers">
<Test name="0" />
<Test name="1" />
<Test name="2" />
<Test name="3" />
<Test name="4" />
<Test name="5" />
<Test name="6" />
<Test name="7" />
<Test name="8" />
<Test name="9" />
<Test name="10" />
<Test name="11" />
<Test name="12" />
<Test name="13" />
<Test name="14" />
<Test name="15" />
<Test name="16" />
<Test name="17" />
<Test name="18" />
<Test name="19" />
<Test name="21" />
<Test name="22" />
<Test name="23" />
<Test name="24" />
<Test name="25" />
<Test name="26" />
<Test name="27" />
<Test name="28" />
<Test name="29" />
<Test name="30" />
<Test name="31" />
<Test name="32" />
<Test name="33" />
<Test name="34" />
<Test name="35" />
<Test name="36" />
<Test name="37" />
<Test name="38" />
<Test name="39" />
<Test name="40" />
<Test name="41" />
<Test name="42" />
<Test name="43" />
<Test name="44" />
<Test name="45" />
<Test name="46" />
<Test name="47" />
<Test name="48" />
<Test name="49" />
</TestCase>
<TestCase name="all_shared_buffer">
<Test name="0" />
<Test name="1" />
<Test name="2" />
<Test name="3" />
<Test name="4" />
<Test name="5" />
<Test name="6" />
<Test name="7" />
<Test name="8" />
<Test name="9" />
<Test name="10" />
<Test name="11" />
<Test name="12" />
<Test name="13" />
<Test name="14" />
<Test name="15" />
<Test name="16" />
<Test name="17" />
<Test name="18" />
<Test name="19" />
<Test name="20" />
<Test name="21" />
<Test name="22" />
<Test name="23" />
<Test name="24" />
<Test name="25" />
<Test name="26" />
<Test name="27" />
<Test name="28" />
<Test name="29" />
<Test name="30" />
<Test name="31" />
<Test name="32" />
<Test name="33" />
<Test name="34" />
<Test name="35" />
<Test name="36" />
<Test name="37" />
<Test name="38" />
<Test name="39" />
<Test name="40" />
<Test name="41" />
<Test name="42" />
<Test name="43" />
<Test name="44" />
<Test name="45" />
<Test name="46" />
<Test name="47" />
<Test name="48" />
<Test name="49" />
</TestCase>
</TestSuite>
</TestSuite>
<TestSuite name="atomic">
<TestCase name="add">
<Test name="lowp_uint" />
<Test name="lowp_int" />
<Test name="mediump_uint" />
<Test name="mediump_int" />
<Test name="highp_uint" />
<Test name="highp_int" />
</TestCase>
<TestCase name="min">
<Test name="lowp_uint" />
<Test name="lowp_int" />
<Test name="mediump_uint" />
<Test name="mediump_int" />
<Test name="highp_uint" />
<Test name="highp_int" />
</TestCase>
<TestCase name="max">
<Test name="lowp_uint" />
<Test name="lowp_int" />
<Test name="mediump_uint" />
<Test name="mediump_int" />
<Test name="highp_uint" />
<Test name="highp_int" />
</TestCase>
<TestCase name="and">
<Test name="lowp_uint" />
<Test name="lowp_int" />
<Test name="mediump_uint" />
<Test name="mediump_int" />
<Test name="highp_uint" />
<Test name="highp_int" />
</TestCase>
<TestCase name="or">
<Test name="lowp_uint" />
<Test name="lowp_int" />
<Test name="mediump_uint" />
<Test name="mediump_int" />
<Test name="highp_uint" />
<Test name="highp_int" />
</TestCase>
<TestCase name="xor">
<Test name="lowp_uint" />
<Test name="lowp_int" />
<Test name="mediump_uint" />
<Test name="mediump_int" />
<Test name="highp_uint" />
<Test name="highp_int" />
</TestCase>
<TestCase name="exchange">
<Test name="lowp_uint" />
<Test name="lowp_int" />
<Test name="mediump_uint" />
<Test name="mediump_int" />
<Test name="highp_uint" />
<Test name="highp_int" />
</TestCase>
<TestCase name="compswap">
<Test name="lowp_uint" />
<Test name="lowp_int" />
<Test name="mediump_uint" />
<Test name="mediump_int" />
<Test name="highp_uint" />
<Test name="highp_int" />
</TestCase>
</TestSuite>
<TestCase name="array_length">
<Test name="sized_array" />
<Test name="sized_writeonly_array" />
<Test name="sized_readonly_array" />
<Test name="unsized_array" />
<Test name="unsized_readonly_array" />
</TestCase>
</TestSuite>
<TestSuite name="ubo">
<TestSuite name="2_level_array">
<TestCase name="shared">
<Test name="float_vertex" />
<Test name="float_fragment" />
<Test name="float_both" />
<Test name="vec2_vertex" />
<Test name="vec2_fragment" />
<Test name="vec2_both" />
<Test name="vec3_vertex" />
<Test name="vec3_fragment" />
<Test name="vec3_both" />
<Test name="vec4_vertex" />
<Test name="vec4_fragment" />
<Test name="vec4_both" />
<Test name="int_vertex" />
<Test name="int_fragment" />
<Test name="int_both" />
<Test name="ivec2_vertex" />
<Test name="ivec2_fragment" />
<Test name="ivec2_both" />
<Test name="ivec3_vertex" />
<Test name="ivec3_fragment" />
<Test name="ivec3_both" />
<Test name="ivec4_vertex" />
<Test name="ivec4_fragment" />
<Test name="ivec4_both" />
<Test name="uint_vertex" />
<Test name="uint_fragment" />
<Test name="uint_both" />
<Test name="uvec2_vertex" />
<Test name="uvec2_fragment" />
<Test name="uvec2_both" />
<Test name="uvec3_vertex" />
<Test name="uvec3_fragment" />
<Test name="uvec3_both" />
<Test name="uvec4_vertex" />
<Test name="uvec4_fragment" />
<Test name="uvec4_both" />
<Test name="bool_vertex" />
<Test name="bool_fragment" />
<Test name="bool_both" />
<Test name="bvec2_vertex" />
<Test name="bvec2_fragment" />
<Test name="bvec2_both" />
<Test name="bvec3_vertex" />
<Test name="bvec3_fragment" />
<Test name="bvec3_both" />
<Test name="bvec4_vertex" />
<Test name="bvec4_fragment" />
<Test name="bvec4_both" />
<Test name="mat2_vertex" />
<Test name="mat2_fragment" />
<Test name="mat2_both" />
<Test name="row_major_mat2_vertex" />
<Test name="row_major_mat2_fragment" />
<Test name="row_major_mat2_both" />
<Test name="column_major_mat2_vertex" />
<Test name="column_major_mat2_fragment" />
<Test name="column_major_mat2_both" />
<Test name="mat3_vertex" />
<Test name="mat3_fragment" />
<Test name="mat3_both" />
<Test name="row_major_mat3_vertex" />
<Test name="row_major_mat3_fragment" />
<Test name="row_major_mat3_both" />
<Test name="column_major_mat3_vertex" />
<Test name="column_major_mat3_fragment" />
<Test name="column_major_mat3_both" />
<Test name="mat4_vertex" />
<Test name="mat4_fragment" />
<Test name="mat4_both" />
<Test name="row_major_mat4_vertex" />
<Test name="row_major_mat4_fragment" />
<Test name="row_major_mat4_both" />
<Test name="column_major_mat4_vertex" />
<Test name="column_major_mat4_fragment" />
<Test name="column_major_mat4_both" />
<Test name="mat2x3_vertex" />
<Test name="mat2x3_fragment" />
<Test name="mat2x3_both" />
<Test name="row_major_mat2x3_vertex" />
<Test name="row_major_mat2x3_fragment" />
<Test name="row_major_mat2x3_both" />
<Test name="column_major_mat2x3_vertex" />
<Test name="column_major_mat2x3_fragment" />
<Test name="column_major_mat2x3_both" />
<Test name="mat2x4_vertex" />
<Test name="mat2x4_fragment" />
<Test name="mat2x4_both" />
<Test name="row_major_mat2x4_vertex" />
<Test name="row_major_mat2x4_fragment" />
<Test name="row_major_mat2x4_both" />
<Test name="column_major_mat2x4_vertex" />
<Test name="column_major_mat2x4_fragment" />
<Test name="column_major_mat2x4_both" />
<Test name="mat3x2_vertex" />
<Test name="mat3x2_fragment" />
<Test name="mat3x2_both" />
<Test name="row_major_mat3x2_vertex" />
<Test name="row_major_mat3x2_fragment" />
<Test name="row_major_mat3x2_both" />
<Test name="column_major_mat3x2_vertex" />
<Test name="column_major_mat3x2_fragment" />
<Test name="column_major_mat3x2_both" />
<Test name="mat3x4_vertex" />
<Test name="mat3x4_fragment" />
<Test name="mat3x4_both" />
<Test name="row_major_mat3x4_vertex" />
<Test name="row_major_mat3x4_fragment" />
<Test name="row_major_mat3x4_both" />
<Test name="column_major_mat3x4_vertex" />
<Test name="column_major_mat3x4_fragment" />
<Test name="column_major_mat3x4_both" />
<Test name="mat4x2_vertex" />
<Test name="mat4x2_fragment" />
<Test name="mat4x2_both" />
<Test name="row_major_mat4x2_vertex" />
<Test name="row_major_mat4x2_fragment" />
<Test name="row_major_mat4x2_both" />
<Test name="column_major_mat4x2_vertex" />
<Test name="column_major_mat4x2_fragment" />
<Test name="column_major_mat4x2_both" />
<Test name="mat4x3_vertex" />
<Test name="mat4x3_fragment" />
<Test name="mat4x3_both" />
<Test name="row_major_mat4x3_vertex" />
<Test name="row_major_mat4x3_fragment" />
<Test name="row_major_mat4x3_both" />
<Test name="column_major_mat4x3_vertex" />
<Test name="column_major_mat4x3_fragment" />
<Test name="column_major_mat4x3_both" />
</TestCase>
<TestCase name="packed">
<Test name="float_vertex" />
<Test name="float_fragment" />
<Test name="vec2_vertex" />
<Test name="vec2_fragment" />
<Test name="vec3_vertex" />
<Test name="vec3_fragment" />
<Test name="vec4_vertex" />
<Test name="vec4_fragment" />
<Test name="int_vertex" />
<Test name="int_fragment" />
<Test name="ivec2_vertex" />
<Test name="ivec2_fragment" />
<Test name="ivec3_vertex" />
<Test name="ivec3_fragment" />
<Test name="ivec4_vertex" />
<Test name="ivec4_fragment" />
<Test name="uint_vertex" />
<Test name="uint_fragment" />
<Test name="uvec2_vertex" />
<Test name="uvec2_fragment" />
<Test name="uvec3_vertex" />
<Test name="uvec3_fragment" />
<Test name="uvec4_vertex" />
<Test name="uvec4_fragment" />
<Test name="bool_vertex" />
<Test name="bool_fragment" />
<Test name="bvec2_vertex" />
<Test name="bvec2_fragment" />
<Test name="bvec3_vertex" />
<Test name="bvec3_fragment" />
<Test name="bvec4_vertex" />
<Test name="bvec4_fragment" />
<Test name="mat2_vertex" />
<Test name="mat2_fragment" />
<Test name="row_major_mat2_vertex" />
<Test name="row_major_mat2_fragment" />
<Test name="column_major_mat2_vertex" />
<Test name="column_major_mat2_fragment" />
<Test name="mat3_vertex" />
<Test name="mat3_fragment" />
<Test name="row_major_mat3_vertex" />
<Test name="row_major_mat3_fragment" />
<Test name="column_major_mat3_vertex" />
<Test name="column_major_mat3_fragment" />
<Test name="mat4_vertex" />
<Test name="mat4_fragment" />
<Test name="row_major_mat4_vertex" />
<Test name="row_major_mat4_fragment" />
<Test name="column_major_mat4_vertex" />
<Test name="column_major_mat4_fragment" />
<Test name="mat2x3_vertex" />
<Test name="mat2x3_fragment" />
<Test name="row_major_mat2x3_vertex" />
<Test name="row_major_mat2x3_fragment" />
<Test name="column_major_mat2x3_vertex" />
<Test name="column_major_mat2x3_fragment" />
<Test name="mat2x4_vertex" />
<Test name="mat2x4_fragment" />
<Test name="row_major_mat2x4_vertex" />
<Test name="row_major_mat2x4_fragment" />
<Test name="column_major_mat2x4_vertex" />
<Test name="column_major_mat2x4_fragment" />
<Test name="mat3x2_vertex" />
<Test name="mat3x2_fragment" />
<Test name="row_major_mat3x2_vertex" />
<Test name="row_major_mat3x2_fragment" />
<Test name="column_major_mat3x2_vertex" />
<Test name="column_major_mat3x2_fragment" />
<Test name="mat3x4_vertex" />
<Test name="mat3x4_fragment" />
<Test name="row_major_mat3x4_vertex" />
<Test name="row_major_mat3x4_fragment" />
<Test name="column_major_mat3x4_vertex" />
<Test name="column_major_mat3x4_fragment" />
<Test name="mat4x2_vertex" />
<Test name="mat4x2_fragment" />
<Test name="row_major_mat4x2_vertex" />
<Test name="row_major_mat4x2_fragment" />
<Test name="column_major_mat4x2_vertex" />
<Test name="column_major_mat4x2_fragment" />
<Test name="mat4x3_vertex" />
<Test name="mat4x3_fragment" />
<Test name="row_major_mat4x3_vertex" />
<Test name="row_major_mat4x3_fragment" />
<Test name="column_major_mat4x3_vertex" />
<Test name="column_major_mat4x3_fragment" />
</TestCase>
<TestCase name="std140">
<Test name="float_vertex" />
<Test name="float_fragment" />
<Test name="float_both" />
<Test name="vec2_vertex" />
<Test name="vec2_fragment" />
<Test name="vec2_both" />
<Test name="vec3_vertex" />
<Test name="vec3_fragment" />
<Test name="vec3_both" />
<Test name="vec4_vertex" />
<Test name="vec4_fragment" />
<Test name="vec4_both" />
<Test name="int_vertex" />
<Test name="int_fragment" />
<Test name="int_both" />
<Test name="ivec2_vertex" />
<Test name="ivec2_fragment" />
<Test name="ivec2_both" />
<Test name="ivec3_vertex" />
<Test name="ivec3_fragment" />
<Test name="ivec3_both" />
<Test name="ivec4_vertex" />
<Test name="ivec4_fragment" />
<Test name="ivec4_both" />
<Test name="uint_vertex" />
<Test name="uint_fragment" />
<Test name="uint_both" />
<Test name="uvec2_vertex" />
<Test name="uvec2_fragment" />
<Test name="uvec2_both" />
<Test name="uvec3_vertex" />
<Test name="uvec3_fragment" />
<Test name="uvec3_both" />
<Test name="uvec4_vertex" />
<Test name="uvec4_fragment" />
<Test name="uvec4_both" />
<Test name="bool_vertex" />
<Test name="bool_fragment" />
<Test name="bool_both" />
<Test name="bvec2_vertex" />
<Test name="bvec2_fragment" />
<Test name="bvec2_both" />
<Test name="bvec3_vertex" />
<Test name="bvec3_fragment" />
<Test name="bvec3_both" />
<Test name="bvec4_vertex" />
<Test name="bvec4_fragment" />
<Test name="bvec4_both" />
<Test name="mat2_vertex" />
<Test name="mat2_fragment" />
<Test name="mat2_both" />
<Test name="row_major_mat2_vertex" />
<Test name="row_major_mat2_fragment" />
<Test name="row_major_mat2_both" />
<Test name="column_major_mat2_vertex" />
<Test name="column_major_mat2_fragment" />
<Test name="column_major_mat2_both" />
<Test name="mat3_vertex" />
<Test name="mat3_fragment" />
<Test name="mat3_both" />
<Test name="row_major_mat3_vertex" />
<Test name="row_major_mat3_fragment" />
<Test name="row_major_mat3_both" />
<Test name="column_major_mat3_vertex" />
<Test name="column_major_mat3_fragment" />
<Test name="column_major_mat3_both" />
<Test name="mat4_vertex" />
<Test name="mat4_fragment" />
<Test name="mat4_both" />
<Test name="row_major_mat4_vertex" />
<Test name="row_major_mat4_fragment" />
<Test name="row_major_mat4_both" />
<Test name="column_major_mat4_vertex" />
<Test name="column_major_mat4_fragment" />
<Test name="column_major_mat4_both" />
<Test name="mat2x3_vertex" />
<Test name="mat2x3_fragment" />
<Test name="mat2x3_both" />
<Test name="row_major_mat2x3_vertex" />
<Test name="row_major_mat2x3_fragment" />
<Test name="row_major_mat2x3_both" />
<Test name="column_major_mat2x3_vertex" />
<Test name="column_major_mat2x3_fragment" />
<Test name="column_major_mat2x3_both" />
<Test name="mat2x4_vertex" />
<Test name="mat2x4_fragment" />
<Test name="mat2x4_both" />
<Test name="row_major_mat2x4_vertex" />
<Test name="row_major_mat2x4_fragment" />
<Test name="row_major_mat2x4_both" />
<Test name="column_major_mat2x4_vertex" />
<Test name="column_major_mat2x4_fragment" />
<Test name="column_major_mat2x4_both" />
<Test name="mat3x2_vertex" />
<Test name="mat3x2_fragment" />
<Test name="mat3x2_both" />
<Test name="row_major_mat3x2_vertex" />
<Test name="row_major_mat3x2_fragment" />
<Test name="row_major_mat3x2_both" />
<Test name="column_major_mat3x2_vertex" />
<Test name="column_major_mat3x2_fragment" />
<Test name="column_major_mat3x2_both" />
<Test name="mat3x4_vertex" />
<Test name="mat3x4_fragment" />
<Test name="mat3x4_both" />
<Test name="row_major_mat3x4_vertex" />
<Test name="row_major_mat3x4_fragment" />
<Test name="row_major_mat3x4_both" />
<Test name="column_major_mat3x4_vertex" />
<Test name="column_major_mat3x4_fragment" />
<Test name="column_major_mat3x4_both" />
<Test name="mat4x2_vertex" />
<Test name="mat4x2_fragment" />
<Test name="mat4x2_both" />
<Test name="row_major_mat4x2_vertex" />
<Test name="row_major_mat4x2_fragment" />
<Test name="row_major_mat4x2_both" />
<Test name="column_major_mat4x2_vertex" />
<Test name="column_major_mat4x2_fragment" />
<Test name="column_major_mat4x2_both" />
<Test name="mat4x3_vertex" />
<Test name="mat4x3_fragment" />
<Test name="mat4x3_both" />
<Test name="row_major_mat4x3_vertex" />
<Test name="row_major_mat4x3_fragment" />
<Test name="row_major_mat4x3_both" />
<Test name="column_major_mat4x3_vertex" />
<Test name="column_major_mat4x3_fragment" />
<Test name="column_major_mat4x3_both" />
</TestCase>
</TestSuite>
<TestSuite name="3_level_array">
<TestCase name="shared">
<Test name="float_vertex" />
<Test name="float_fragment" />
<Test name="float_both" />
<Test name="vec2_vertex" />
<Test name="vec2_fragment" />
<Test name="vec2_both" />
<Test name="vec3_vertex" />
<Test name="vec3_fragment" />
<Test name="vec3_both" />
<Test name="vec4_vertex" />
<Test name="vec4_fragment" />
<Test name="vec4_both" />
<Test name="int_vertex" />
<Test name="int_fragment" />
<Test name="int_both" />
<Test name="ivec2_vertex" />
<Test name="ivec2_fragment" />
<Test name="ivec2_both" />
<Test name="ivec3_vertex" />
<Test name="ivec3_fragment" />
<Test name="ivec3_both" />
<Test name="ivec4_vertex" />
<Test name="ivec4_fragment" />
<Test name="ivec4_both" />
<Test name="uint_vertex" />
<Test name="uint_fragment" />
<Test name="uint_both" />
<Test name="uvec2_vertex" />
<Test name="uvec2_fragment" />
<Test name="uvec2_both" />
<Test name="uvec3_vertex" />
<Test name="uvec3_fragment" />
<Test name="uvec3_both" />
<Test name="uvec4_vertex" />
<Test name="uvec4_fragment" />
<Test name="uvec4_both" />
<Test name="bool_vertex" />
<Test name="bool_fragment" />
<Test name="bool_both" />
<Test name="bvec2_vertex" />
<Test name="bvec2_fragment" />
<Test name="bvec2_both" />
<Test name="bvec3_vertex" />
<Test name="bvec3_fragment" />
<Test name="bvec3_both" />
<Test name="bvec4_vertex" />
<Test name="bvec4_fragment" />
<Test name="bvec4_both" />
<Test name="mat2_vertex" />
<Test name="mat2_fragment" />
<Test name="mat2_both" />
<Test name="row_major_mat2_vertex" />
<Test name="row_major_mat2_fragment" />
<Test name="row_major_mat2_both" />
<Test name="column_major_mat2_vertex" />
<Test name="column_major_mat2_fragment" />
<Test name="column_major_mat2_both" />
<Test name="mat3_vertex" />
<Test name="mat3_fragment" />
<Test name="mat3_both" />
<Test name="row_major_mat3_vertex" />
<Test name="row_major_mat3_fragment" />
<Test name="row_major_mat3_both" />
<Test name="column_major_mat3_vertex" />
<Test name="column_major_mat3_fragment" />
<Test name="column_major_mat3_both" />
<Test name="mat4_vertex" />
<Test name="mat4_fragment" />
<Test name="mat4_both" />
<Test name="row_major_mat4_vertex" />
<Test name="row_major_mat4_fragment" />
<Test name="row_major_mat4_both" />
<Test name="column_major_mat4_vertex" />
<Test name="column_major_mat4_fragment" />
<Test name="column_major_mat4_both" />
<Test name="mat2x3_vertex" />
<Test name="mat2x3_fragment" />
<Test name="mat2x3_both" />
<Test name="row_major_mat2x3_vertex" />
<Test name="row_major_mat2x3_fragment" />
<Test name="row_major_mat2x3_both" />
<Test name="column_major_mat2x3_vertex" />
<Test name="column_major_mat2x3_fragment" />
<Test name="column_major_mat2x3_both" />
<Test name="mat2x4_vertex" />
<Test name="mat2x4_fragment" />
<Test name="mat2x4_both" />
<Test name="row_major_mat2x4_vertex" />
<Test name="row_major_mat2x4_fragment" />
<Test name="row_major_mat2x4_both" />
<Test name="column_major_mat2x4_vertex" />
<Test name="column_major_mat2x4_fragment" />
<Test name="column_major_mat2x4_both" />
<Test name="mat3x2_vertex" />
<Test name="mat3x2_fragment" />
<Test name="mat3x2_both" />
<Test name="row_major_mat3x2_vertex" />
<Test name="row_major_mat3x2_fragment" />
<Test name="row_major_mat3x2_both" />
<Test name="column_major_mat3x2_vertex" />
<Test name="column_major_mat3x2_fragment" />
<Test name="column_major_mat3x2_both" />
<Test name="mat3x4_vertex" />
<Test name="mat3x4_fragment" />
<Test name="mat3x4_both" />
<Test name="row_major_mat3x4_vertex" />
<Test name="row_major_mat3x4_fragment" />
<Test name="row_major_mat3x4_both" />
<Test name="column_major_mat3x4_vertex" />
<Test name="column_major_mat3x4_fragment" />
<Test name="column_major_mat3x4_both" />
<Test name="mat4x2_vertex" />
<Test name="mat4x2_fragment" />
<Test name="mat4x2_both" />
<Test name="row_major_mat4x2_vertex" />
<Test name="row_major_mat4x2_fragment" />
<Test name="row_major_mat4x2_both" />
<Test name="column_major_mat4x2_vertex" />
<Test name="column_major_mat4x2_fragment" />
<Test name="column_major_mat4x2_both" />
<Test name="mat4x3_vertex" />
<Test name="mat4x3_fragment" />
<Test name="mat4x3_both" />
<Test name="row_major_mat4x3_vertex" />
<Test name="row_major_mat4x3_fragment" />
<Test name="row_major_mat4x3_both" />
<Test name="column_major_mat4x3_vertex" />
<Test name="column_major_mat4x3_fragment" />
<Test name="column_major_mat4x3_both" />
</TestCase>
<TestCase name="packed">
<Test name="float_vertex" />
<Test name="float_fragment" />
<Test name="vec2_vertex" />
<Test name="vec2_fragment" />
<Test name="vec3_vertex" />
<Test name="vec3_fragment" />
<Test name="vec4_vertex" />
<Test name="vec4_fragment" />
<Test name="int_vertex" />
<Test name="int_fragment" />
<Test name="ivec2_vertex" />
<Test name="ivec2_fragment" />
<Test name="ivec3_vertex" />
<Test name="ivec3_fragment" />
<Test name="ivec4_vertex" />
<Test name="ivec4_fragment" />
<Test name="uint_vertex" />
<Test name="uint_fragment" />
<Test name="uvec2_vertex" />
<Test name="uvec2_fragment" />
<Test name="uvec3_vertex" />
<Test name="uvec3_fragment" />
<Test name="uvec4_vertex" />
<Test name="uvec4_fragment" />
<Test name="bool_vertex" />
<Test name="bool_fragment" />
<Test name="bvec2_vertex" />
<Test name="bvec2_fragment" />
<Test name="bvec3_vertex" />
<Test name="bvec3_fragment" />
<Test name="bvec4_vertex" />
<Test name="bvec4_fragment" />
<Test name="mat2_vertex" />
<Test name="mat2_fragment" />
<Test name="row_major_mat2_vertex" />
<Test name="row_major_mat2_fragment" />
<Test name="column_major_mat2_vertex" />
<Test name="column_major_mat2_fragment" />
<Test name="mat3_vertex" />
<Test name="mat3_fragment" />
<Test name="row_major_mat3_vertex" />
<Test name="row_major_mat3_fragment" />
<Test name="column_major_mat3_vertex" />
<Test name="column_major_mat3_fragment" />
<Test name="mat4_vertex" />
<Test name="mat4_fragment" />
<Test name="row_major_mat4_vertex" />
<Test name="row_major_mat4_fragment" />
<Test name="column_major_mat4_vertex" />
<Test name="column_major_mat4_fragment" />
<Test name="mat2x3_vertex" />
<Test name="mat2x3_fragment" />
<Test name="row_major_mat2x3_vertex" />
<Test name="row_major_mat2x3_fragment" />
<Test name="column_major_mat2x3_vertex" />
<Test name="column_major_mat2x3_fragment" />
<Test name="mat2x4_vertex" />
<Test name="mat2x4_fragment" />
<Test name="row_major_mat2x4_vertex" />
<Test name="row_major_mat2x4_fragment" />
<Test name="column_major_mat2x4_vertex" />
<Test name="column_major_mat2x4_fragment" />
<Test name="mat3x2_vertex" />
<Test name="mat3x2_fragment" />
<Test name="row_major_mat3x2_vertex" />
<Test name="row_major_mat3x2_fragment" />
<Test name="column_major_mat3x2_vertex" />
<Test name="column_major_mat3x2_fragment" />
<Test name="mat3x4_vertex" />
<Test name="mat3x4_fragment" />
<Test name="row_major_mat3x4_vertex" />
<Test name="row_major_mat3x4_fragment" />
<Test name="column_major_mat3x4_vertex" />
<Test name="column_major_mat3x4_fragment" />
<Test name="mat4x2_vertex" />
<Test name="mat4x2_fragment" />
<Test name="row_major_mat4x2_vertex" />
<Test name="row_major_mat4x2_fragment" />
<Test name="column_major_mat4x2_vertex" />
<Test name="column_major_mat4x2_fragment" />
<Test name="mat4x3_vertex" />
<Test name="mat4x3_fragment" />
<Test name="row_major_mat4x3_vertex" />
<Test name="row_major_mat4x3_fragment" />
<Test name="column_major_mat4x3_vertex" />
<Test name="column_major_mat4x3_fragment" />
</TestCase>
<TestCase name="std140">
<Test name="float_vertex" />
<Test name="float_fragment" />
<Test name="float_both" />
<Test name="vec2_vertex" />
<Test name="vec2_fragment" />
<Test name="vec2_both" />
<Test name="vec3_vertex" />
<Test name="vec3_fragment" />
<Test name="vec3_both" />
<Test name="vec4_vertex" />
<Test name="vec4_fragment" />
<Test name="vec4_both" />
<Test name="int_vertex" />
<Test name="int_fragment" />
<Test name="int_both" />
<Test name="ivec2_vertex" />
<Test name="ivec2_fragment" />
<Test name="ivec2_both" />
<Test name="ivec3_vertex" />
<Test name="ivec3_fragment" />
<Test name="ivec3_both" />
<Test name="ivec4_vertex" />
<Test name="ivec4_fragment" />
<Test name="ivec4_both" />
<Test name="uint_vertex" />
<Test name="uint_fragment" />
<Test name="uint_both" />
<Test name="uvec2_vertex" />
<Test name="uvec2_fragment" />
<Test name="uvec2_both" />
<Test name="uvec3_vertex" />
<Test name="uvec3_fragment" />
<Test name="uvec3_both" />
<Test name="uvec4_vertex" />
<Test name="uvec4_fragment" />
<Test name="uvec4_both" />
<Test name="bool_vertex" />
<Test name="bool_fragment" />
<Test name="bool_both" />
<Test name="bvec2_vertex" />
<Test name="bvec2_fragment" />
<Test name="bvec2_both" />
<Test name="bvec3_vertex" />
<Test name="bvec3_fragment" />
<Test name="bvec3_both" />
<Test name="bvec4_vertex" />
<Test name="bvec4_fragment" />
<Test name="bvec4_both" />
<Test name="mat2_vertex" />
<Test name="mat2_fragment" />
<Test name="mat2_both" />
<Test name="row_major_mat2_vertex" />
<Test name="row_major_mat2_fragment" />
<Test name="row_major_mat2_both" />
<Test name="column_major_mat2_vertex" />
<Test name="column_major_mat2_fragment" />
<Test name="column_major_mat2_both" />
<Test name="mat3_vertex" />
<Test name="mat3_fragment" />
<Test name="mat3_both" />
<Test name="row_major_mat3_vertex" />
<Test name="row_major_mat3_fragment" />
<Test name="row_major_mat3_both" />
<Test name="column_major_mat3_vertex" />
<Test name="column_major_mat3_fragment" />
<Test name="column_major_mat3_both" />
<Test name="mat4_vertex" />
<Test name="mat4_fragment" />
<Test name="mat4_both" />
<Test name="row_major_mat4_vertex" />
<Test name="row_major_mat4_fragment" />
<Test name="row_major_mat4_both" />
<Test name="column_major_mat4_vertex" />
<Test name="column_major_mat4_fragment" />
<Test name="column_major_mat4_both" />
<Test name="mat2x3_vertex" />
<Test name="mat2x3_fragment" />
<Test name="mat2x3_both" />
<Test name="row_major_mat2x3_vertex" />
<Test name="row_major_mat2x3_fragment" />
<Test name="row_major_mat2x3_both" />
<Test name="column_major_mat2x3_vertex" />
<Test name="column_major_mat2x3_fragment" />
<Test name="column_major_mat2x3_both" />
<Test name="mat2x4_vertex" />
<Test name="mat2x4_fragment" />
<Test name="mat2x4_both" />
<Test name="row_major_mat2x4_vertex" />
<Test name="row_major_mat2x4_fragment" />
<Test name="row_major_mat2x4_both" />
<Test name="column_major_mat2x4_vertex" />
<Test name="column_major_mat2x4_fragment" />
<Test name="column_major_mat2x4_both" />
<Test name="mat3x2_vertex" />
<Test name="mat3x2_fragment" />
<Test name="mat3x2_both" />
<Test name="row_major_mat3x2_vertex" />
<Test name="row_major_mat3x2_fragment" />
<Test name="row_major_mat3x2_both" />
<Test name="column_major_mat3x2_vertex" />
<Test name="column_major_mat3x2_fragment" />
<Test name="column_major_mat3x2_both" />
<Test name="mat3x4_vertex" />
<Test name="mat3x4_fragment" />
<Test name="mat3x4_both" />
<Test name="row_major_mat3x4_vertex" />
<Test name="row_major_mat3x4_fragment" />
<Test name="row_major_mat3x4_both" />
<Test name="column_major_mat3x4_vertex" />
<Test name="column_major_mat3x4_fragment" />
<Test name="column_major_mat3x4_both" />
<Test name="mat4x2_vertex" />
<Test name="mat4x2_fragment" />
<Test name="mat4x2_both" />
<Test name="row_major_mat4x2_vertex" />
<Test name="row_major_mat4x2_fragment" />
<Test name="row_major_mat4x2_both" />
<Test name="column_major_mat4x2_vertex" />
<Test name="column_major_mat4x2_fragment" />
<Test name="column_major_mat4x2_both" />
<Test name="mat4x3_vertex" />
<Test name="mat4x3_fragment" />
<Test name="mat4x3_both" />
<Test name="row_major_mat4x3_vertex" />
<Test name="row_major_mat4x3_fragment" />
<Test name="row_major_mat4x3_both" />
<Test name="column_major_mat4x3_vertex" />
<Test name="column_major_mat4x3_fragment" />
<Test name="column_major_mat4x3_both" />
</TestCase>
</TestSuite>
<TestSuite name="2_level_struct_array">
<TestCase name="per_block_buffer">
<Test name="shared_vertex" />
<Test name="shared_fragment" />
<Test name="shared_both" />
<Test name="shared_instance_array_vertex" />
<Test name="shared_instance_array_fragment" />
<Test name="shared_instance_array_both" />
<Test name="packed_vertex" />
<Test name="packed_fragment" />
<Test name="packed_instance_array_vertex" />
<Test name="packed_instance_array_fragment" />
<Test name="std140_vertex" />
<Test name="std140_fragment" />
<Test name="std140_both" />
<Test name="std140_instance_array_vertex" />
<Test name="std140_instance_array_fragment" />
<Test name="std140_instance_array_both" />
</TestCase>
<TestCase name="single_buffer">
<Test name="shared_instance_array_vertex" />
<Test name="shared_instance_array_fragment" />
<Test name="shared_instance_array_both" />
<Test name="packed_instance_array_vertex" />
<Test name="packed_instance_array_fragment" />
<Test name="std140_instance_array_vertex" />
<Test name="std140_instance_array_fragment" />
<Test name="std140_instance_array_both" />
</TestCase>
</TestSuite>
<TestSuite name="random">
<TestCase name="basic_type_arrays">
<Test name="0" />
<Test name="1" />
<Test name="2" />
<Test name="3" />
<Test name="4" />
<Test name="5" />
<Test name="6" />
<Test name="7" />
<Test name="8" />
<Test name="9" />
<Test name="10" />
<Test name="11" />
<Test name="12" />
<Test name="13" />
<Test name="14" />
<Test name="15" />
<Test name="16" />
<Test name="17" />
<Test name="18" />
<Test name="19" />
<Test name="20" />
<Test name="21" />
<Test name="22" />
<Test name="23" />
<Test name="24" />
</TestCase>
<TestCase name="all_per_block_buffers">
<Test name="0" />
<Test name="1" />
<Test name="2" />
<Test name="3" />
<Test name="4" />
<Test name="5" />
<Test name="6" />
<Test name="7" />
<Test name="8" />
<Test name="9" />
<Test name="10" />
<Test name="11" />
<Test name="12" />
<Test name="13" />
<Test name="14" />
<Test name="15" />
<Test name="16" />
<Test name="17" />
<Test name="18" />
<Test name="19" />
<Test name="21" />
<Test name="22" />
<Test name="23" />
<Test name="24" />
<Test name="25" />
<Test name="26" />
<Test name="27" />
<Test name="28" />
<Test name="29" />
<Test name="30" />
<Test name="31" />
<Test name="32" />
<Test name="33" />
<Test name="34" />
<Test name="35" />
<Test name="36" />
<Test name="37" />
<Test name="38" />
<Test name="39" />
<Test name="40" />
<Test name="42" />
<Test name="43" />
<Test name="44" />
<Test name="45" />
<Test name="46" />
<Test name="47" />
<Test name="48" />
<Test name="49" />
</TestCase>
<TestCase name="all_shared_buffer">
<Test name="0" />
<Test name="1" />
<Test name="2" />
<Test name="3" />
<Test name="4" />
<Test name="5" />
<Test name="6" />
<Test name="7" />
<Test name="8" />
<Test name="9" />
<Test name="10" />
<Test name="11" />
<Test name="12" />
<Test name="13" />
<Test name="14" />
<Test name="15" />
<Test name="16" />
<Test name="17" />
<Test name="18" />
<Test name="19" />
<Test name="20" />
<Test name="21" />
<Test name="22" />
<Test name="23" />
<Test name="24" />
<Test name="25" />
<Test name="26" />
<Test name="27" />
<Test name="28" />
<Test name="29" />
<Test name="30" />
<Test name="31" />
<Test name="32" />
<Test name="33" />
<Test name="34" />
<Test name="35" />
<Test name="36" />
<Test name="37" />
<Test name="38" />
<Test name="39" />
<Test name="40" />
<Test name="41" />
<Test name="42" />
<Test name="43" />
<Test name="44" />
<Test name="45" />
<Test name="46" />
<Test name="47" />
<Test name="48" />
<Test name="49" />
</TestCase>
</TestSuite>
</TestSuite>
<TestSuite name="image_load_store">
<TestSuite name="2d">
<TestCase name="store">
<Test name="rgba32f" />
<Test name="rgba16f" />
<Test name="r32f" />
<Test name="rgba32ui" />
<Test name="rgba16ui" />
<Test name="rgba8ui" />
<Test name="r32ui" />
<Test name="rgba32i" />
<Test name="rgba16i" />
<Test name="rgba8i" />
<Test name="r32i" />
<Test name="rgba8" />
<Test name="rgba8_snorm" />
</TestCase>
<TestCase name="load_store">
<Test name="rgba32f" />
<Test name="rgba16f" />
<Test name="r32f" />
<Test name="rgba32ui" />
<Test name="rgba16ui" />
<Test name="rgba8ui" />
<Test name="r32ui" />
<Test name="rgba32i" />
<Test name="rgba16i" />
<Test name="rgba8i" />
<Test name="r32i" />
<Test name="rgba8" />
<Test name="rgba8_snorm" />
</TestCase>
<TestCase name="atomic">
<Test name="exchange_r32f_result" />
<Test name="exchange_r32f_return_value" />
<Test name="add_r32ui_result" />
<Test name="add_r32ui_return_value" />
<Test name="min_r32ui_result" />
<Test name="min_r32ui_return_value" />
<Test name="max_r32ui_result" />
<Test name="max_r32ui_return_value" />
<Test name="and_r32ui_result" />
<Test name="and_r32ui_return_value" />
<Test name="or_r32ui_result" />
<Test name="or_r32ui_return_value" />
<Test name="xor_r32ui_result" />
<Test name="xor_r32ui_return_value" />
<Test name="exchange_r32ui_result" />
<Test name="exchange_r32ui_return_value" />
<Test name="comp_swap_r32ui_result" />
<Test name="add_r32i_result" />
<Test name="add_r32i_return_value" />
<Test name="min_r32i_result" />
<Test name="min_r32i_return_value" />
<Test name="max_r32i_result" />
<Test name="max_r32i_return_value" />
<Test name="and_r32i_result" />
<Test name="and_r32i_return_value" />
<Test name="or_r32i_result" />
<Test name="or_r32i_return_value" />
<Test name="xor_r32i_result" />
<Test name="xor_r32i_return_value" />
<Test name="exchange_r32i_result" />
<Test name="exchange_r32i_return_value" />
<Test name="comp_swap_r32i_result" />
</TestCase>
<TestCase name="qualifiers">
<Test name="coherent_r32f" />
<Test name="volatile_r32f" />
<Test name="coherent_r32ui" />
<Test name="volatile_r32ui" />
<Test name="coherent_r32i" />
<Test name="volatile_r32i" />
<Test name="restrict" />
</TestCase>
<TestCase name="format_reinterpret">
<Test name="rgba32f_rgba32ui" />
<Test name="rgba32f_rgba32i" />
<Test name="rgba16f_rgba16ui" />
<Test name="rgba16f_rgba16i" />
<Test name="r32f_rgba8ui" />
<Test name="r32f_r32ui" />
<Test name="r32f_rgba8i" />
<Test name="r32f_r32i" />
<Test name="r32f_rgba8" />
<Test name="r32f_rgba8_snorm" />
<Test name="rgba32ui_rgba32f" />
<Test name="rgba32ui_rgba32i" />
<Test name="rgba16ui_rgba16f" />
<Test name="rgba16ui_rgba16i" />
<Test name="rgba8ui_r32f" />
<Test name="rgba8ui_r32ui" />
<Test name="rgba8ui_rgba8i" />
<Test name="rgba8ui_r32i" />
<Test name="rgba8ui_rgba8" />
<Test name="rgba8ui_rgba8_snorm" />
<Test name="r32ui_r32f" />
<Test name="r32ui_rgba8ui" />
<Test name="r32ui_rgba8i" />
<Test name="r32ui_r32i" />
<Test name="r32ui_rgba8" />
<Test name="r32ui_rgba8_snorm" />
<Test name="rgba32i_rgba32f" />
<Test name="rgba32i_rgba32ui" />
<Test name="rgba16i_rgba16f" />
<Test name="rgba16i_rgba16ui" />
<Test name="rgba8i_r32f" />
<Test name="rgba8i_rgba8ui" />
<Test name="rgba8i_r32ui" />
<Test name="rgba8i_r32i" />
<Test name="rgba8i_rgba8" />
<Test name="rgba8i_rgba8_snorm" />
<Test name="r32i_r32f" />
<Test name="r32i_rgba8ui" />
<Test name="r32i_r32ui" />
<Test name="r32i_rgba8i" />
<Test name="r32i_rgba8" />
<Test name="r32i_rgba8_snorm" />
<Test name="rgba8_r32f" />
<Test name="rgba8_rgba8ui" />
<Test name="rgba8_r32ui" />
<Test name="rgba8_rgba8i" />
<Test name="rgba8_r32i" />
<Test name="rgba8_rgba8_snorm" />
<Test name="rgba8_snorm_r32f" />
<Test name="rgba8_snorm_rgba8ui" />
<Test name="rgba8_snorm_r32ui" />
<Test name="rgba8_snorm_rgba8i" />
<Test name="rgba8_snorm_r32i" />
<Test name="rgba8_snorm_rgba8" />
</TestCase>
<TestCase name="image_size">
<Test name="readonly_32x32" />
<Test name="readonly_12x34" />
<Test name="readonly_1x1" />
<Test name="readonly_7x1" />
<Test name="writeonly_32x32" />
<Test name="writeonly_12x34" />
<Test name="writeonly_1x1" />
<Test name="writeonly_7x1" />
<Test name="readonly_writeonly_32x32" />
<Test name="readonly_writeonly_12x34" />
<Test name="readonly_writeonly_1x1" />
<Test name="readonly_writeonly_7x1" />
</TestCase>
</TestSuite>
<TestSuite name="cube">
<TestCase name="store">
<Test name="rgba32f" />
<Test name="rgba32f_single_layer" />
<Test name="rgba16f" />
<Test name="rgba16f_single_layer" />
<Test name="r32f" />
<Test name="r32f_single_layer" />
<Test name="rgba32ui" />
<Test name="rgba32ui_single_layer" />
<Test name="rgba16ui" />
<Test name="rgba16ui_single_layer" />
<Test name="rgba8ui" />
<Test name="rgba8ui_single_layer" />
<Test name="r32ui" />
<Test name="r32ui_single_layer" />
<Test name="rgba32i" />
<Test name="rgba32i_single_layer" />
<Test name="rgba16i" />
<Test name="rgba16i_single_layer" />
<Test name="rgba8i" />
<Test name="rgba8i_single_layer" />
<Test name="r32i" />
<Test name="r32i_single_layer" />
<Test name="rgba8" />
<Test name="rgba8_single_layer" />
<Test name="rgba8_snorm" />
<Test name="rgba8_snorm_single_layer" />
</TestCase>
<TestCase name="load_store">
<Test name="rgba32f" />
<Test name="rgba32f_single_layer" />
<Test name="rgba16f" />
<Test name="rgba16f_single_layer" />
<Test name="r32f" />
<Test name="r32f_single_layer" />
<Test name="rgba32ui" />
<Test name="rgba32ui_single_layer" />
<Test name="rgba16ui" />
<Test name="rgba16ui_single_layer" />
<Test name="rgba8ui" />
<Test name="rgba8ui_single_layer" />
<Test name="r32ui" />
<Test name="r32ui_single_layer" />
<Test name="rgba32i" />
<Test name="rgba32i_single_layer" />
<Test name="rgba16i" />
<Test name="rgba16i_single_layer" />
<Test name="rgba8i" />
<Test name="rgba8i_single_layer" />
<Test name="r32i" />
<Test name="r32i_single_layer" />
<Test name="rgba8" />
<Test name="rgba8_single_layer" />
<Test name="rgba8_snorm" />
<Test name="rgba8_snorm_single_layer" />
</TestCase>
<TestCase name="atomic">
<Test name="exchange_r32f_result" />
<Test name="exchange_r32f_return_value" />
<Test name="add_r32ui_result" />
<Test name="add_r32ui_return_value" />
<Test name="min_r32ui_result" />
<Test name="min_r32ui_return_value" />
<Test name="max_r32ui_result" />
<Test name="max_r32ui_return_value" />
<Test name="and_r32ui_result" />
<Test name="and_r32ui_return_value" />
<Test name="or_r32ui_result" />
<Test name="or_r32ui_return_value" />
<Test name="xor_r32ui_result" />
<Test name="xor_r32ui_return_value" />
<Test name="exchange_r32ui_result" />
<Test name="exchange_r32ui_return_value" />
<Test name="comp_swap_r32ui_result" />
<Test name="add_r32i_result" />
<Test name="add_r32i_return_value" />
<Test name="min_r32i_result" />
<Test name="min_r32i_return_value" />
<Test name="max_r32i_result" />
<Test name="max_r32i_return_value" />
<Test name="and_r32i_result" />
<Test name="and_r32i_return_value" />
<Test name="or_r32i_result" />
<Test name="or_r32i_return_value" />
<Test name="xor_r32i_result" />
<Test name="xor_r32i_return_value" />
<Test name="exchange_r32i_result" />
<Test name="exchange_r32i_return_value" />
<Test name="comp_swap_r32i_result" />
</TestCase>
<TestCase name="qualifiers">
<Test name="coherent_r32f" />
<Test name="volatile_r32f" />
<Test name="coherent_r32ui" />
<Test name="volatile_r32ui" />
<Test name="coherent_r32i" />
<Test name="volatile_r32i" />
<Test name="restrict" />
</TestCase>
<TestCase name="format_reinterpret">
<Test name="rgba32f_rgba32ui" />
<Test name="rgba32f_rgba32i" />
<Test name="rgba16f_rgba16ui" />
<Test name="rgba16f_rgba16i" />
<Test name="r32f_rgba8ui" />
<Test name="r32f_r32ui" />
<Test name="r32f_rgba8i" />
<Test name="r32f_r32i" />
<Test name="r32f_rgba8" />
<Test name="r32f_rgba8_snorm" />
<Test name="rgba32ui_rgba32f" />
<Test name="rgba32ui_rgba32i" />
<Test name="rgba16ui_rgba16f" />
<Test name="rgba16ui_rgba16i" />
<Test name="rgba8ui_r32f" />
<Test name="rgba8ui_r32ui" />
<Test name="rgba8ui_rgba8i" />
<Test name="rgba8ui_r32i" />
<Test name="rgba8ui_rgba8" />
<Test name="rgba8ui_rgba8_snorm" />
<Test name="r32ui_r32f" />
<Test name="r32ui_rgba8ui" />
<Test name="r32ui_rgba8i" />
<Test name="r32ui_r32i" />
<Test name="r32ui_rgba8" />
<Test name="r32ui_rgba8_snorm" />
<Test name="rgba32i_rgba32f" />
<Test name="rgba32i_rgba32ui" />
<Test name="rgba16i_rgba16f" />
<Test name="rgba16i_rgba16ui" />
<Test name="rgba8i_r32f" />
<Test name="rgba8i_rgba8ui" />
<Test name="rgba8i_r32ui" />
<Test name="rgba8i_r32i" />
<Test name="rgba8i_rgba8" />
<Test name="rgba8i_rgba8_snorm" />
<Test name="r32i_r32f" />
<Test name="r32i_rgba8ui" />
<Test name="r32i_r32ui" />
<Test name="r32i_rgba8i" />
<Test name="r32i_rgba8" />
<Test name="r32i_rgba8_snorm" />
<Test name="rgba8_r32f" />
<Test name="rgba8_rgba8ui" />
<Test name="rgba8_r32ui" />
<Test name="rgba8_rgba8i" />
<Test name="rgba8_r32i" />
<Test name="rgba8_rgba8_snorm" />
<Test name="rgba8_snorm_r32f" />
<Test name="rgba8_snorm_rgba8ui" />
<Test name="rgba8_snorm_r32ui" />
<Test name="rgba8_snorm_rgba8i" />
<Test name="rgba8_snorm_r32i" />
<Test name="rgba8_snorm_rgba8" />
</TestCase>
<TestCase name="image_size">
<Test name="readonly_32x32" />
<Test name="readonly_12x12" />
<Test name="readonly_1x1" />
<Test name="readonly_7x7" />
<Test name="writeonly_32x32" />
<Test name="writeonly_12x12" />
<Test name="writeonly_1x1" />
<Test name="writeonly_7x7" />
<Test name="readonly_writeonly_32x32" />
<Test name="readonly_writeonly_12x12" />
<Test name="readonly_writeonly_1x1" />
<Test name="readonly_writeonly_7x7" />
</TestCase>
</TestSuite>
<TestSuite name="3d">
<TestCase name="store">
<Test name="rgba32f" />
<Test name="rgba32f_single_layer" />
<Test name="rgba16f" />
<Test name="rgba16f_single_layer" />
<Test name="r32f" />
<Test name="r32f_single_layer" />
<Test name="rgba32ui" />
<Test name="rgba32ui_single_layer" />
<Test name="rgba16ui" />
<Test name="rgba16ui_single_layer" />
<Test name="rgba8ui" />
<Test name="rgba8ui_single_layer" />
<Test name="r32ui" />
<Test name="r32ui_single_layer" />
<Test name="rgba32i" />
<Test name="rgba32i_single_layer" />
<Test name="rgba16i" />
<Test name="rgba16i_single_layer" />
<Test name="rgba8i" />
<Test name="rgba8i_single_layer" />
<Test name="r32i" />
<Test name="r32i_single_layer" />
<Test name="rgba8" />
<Test name="rgba8_single_layer" />
<Test name="rgba8_snorm" />
<Test name="rgba8_snorm_single_layer" />
</TestCase>
<TestCase name="load_store">
<Test name="rgba32f" />
<Test name="rgba32f_single_layer" />
<Test name="rgba16f" />
<Test name="rgba16f_single_layer" />
<Test name="r32f" />
<Test name="r32f_single_layer" />
<Test name="rgba32ui" />
<Test name="rgba32ui_single_layer" />
<Test name="rgba16ui" />
<Test name="rgba16ui_single_layer" />
<Test name="rgba8ui" />
<Test name="rgba8ui_single_layer" />
<Test name="r32ui" />
<Test name="r32ui_single_layer" />
<Test name="rgba32i" />
<Test name="rgba32i_single_layer" />
<Test name="rgba16i" />
<Test name="rgba16i_single_layer" />
<Test name="rgba8i" />
<Test name="rgba8i_single_layer" />
<Test name="r32i" />
<Test name="r32i_single_layer" />
<Test name="rgba8" />
<Test name="rgba8_single_layer" />
<Test name="rgba8_snorm" />
<Test name="rgba8_snorm_single_layer" />
</TestCase>
<TestCase name="atomic">
<Test name="exchange_r32f_result" />
<Test name="exchange_r32f_return_value" />
<Test name="add_r32ui_result" />
<Test name="add_r32ui_return_value" />
<Test name="min_r32ui_result" />
<Test name="min_r32ui_return_value" />
<Test name="max_r32ui_result" />
<Test name="max_r32ui_return_value" />
<Test name="and_r32ui_result" />
<Test name="and_r32ui_return_value" />
<Test name="or_r32ui_result" />
<Test name="or_r32ui_return_value" />
<Test name="xor_r32ui_result" />
<Test name="xor_r32ui_return_value" />
<Test name="exchange_r32ui_result" />
<Test name="exchange_r32ui_return_value" />
<Test name="comp_swap_r32ui_result" />
<Test name="add_r32i_result" />
<Test name="add_r32i_return_value" />
<Test name="min_r32i_result" />
<Test name="min_r32i_return_value" />
<Test name="max_r32i_result" />
<Test name="max_r32i_return_value" />
<Test name="and_r32i_result" />
<Test name="and_r32i_return_value" />
<Test name="or_r32i_result" />
<Test name="or_r32i_return_value" />
<Test name="xor_r32i_result" />
<Test name="xor_r32i_return_value" />
<Test name="exchange_r32i_result" />
<Test name="exchange_r32i_return_value" />
<Test name="comp_swap_r32i_result" />
</TestCase>
<TestCase name="qualifiers">
<Test name="coherent_r32f" />
<Test name="volatile_r32f" />
<Test name="coherent_r32ui" />
<Test name="volatile_r32ui" />
<Test name="coherent_r32i" />
<Test name="volatile_r32i" />
<Test name="restrict" />
</TestCase>
<TestCase name="format_reinterpret">
<Test name="rgba32f_rgba32ui" />
<Test name="rgba32f_rgba32i" />
<Test name="rgba16f_rgba16ui" />
<Test name="rgba16f_rgba16i" />
<Test name="r32f_rgba8ui" />
<Test name="r32f_r32ui" />
<Test name="r32f_rgba8i" />
<Test name="r32f_r32i" />
<Test name="r32f_rgba8" />
<Test name="r32f_rgba8_snorm" />
<Test name="rgba32ui_rgba32f" />
<Test name="rgba32ui_rgba32i" />
<Test name="rgba16ui_rgba16f" />
<Test name="rgba16ui_rgba16i" />
<Test name="rgba8ui_r32f" />
<Test name="rgba8ui_r32ui" />
<Test name="rgba8ui_rgba8i" />
<Test name="rgba8ui_r32i" />
<Test name="rgba8ui_rgba8" />
<Test name="rgba8ui_rgba8_snorm" />
<Test name="r32ui_r32f" />
<Test name="r32ui_rgba8ui" />
<Test name="r32ui_rgba8i" />
<Test name="r32ui_r32i" />
<Test name="r32ui_rgba8" />
<Test name="r32ui_rgba8_snorm" />
<Test name="rgba32i_rgba32f" />
<Test name="rgba32i_rgba32ui" />
<Test name="rgba16i_rgba16f" />
<Test name="rgba16i_rgba16ui" />
<Test name="rgba8i_r32f" />
<Test name="rgba8i_rgba8ui" />
<Test name="rgba8i_r32ui" />
<Test name="rgba8i_r32i" />
<Test name="rgba8i_rgba8" />
<Test name="rgba8i_rgba8_snorm" />
<Test name="r32i_r32f" />
<Test name="r32i_rgba8ui" />
<Test name="r32i_r32ui" />
<Test name="r32i_rgba8i" />
<Test name="r32i_rgba8" />
<Test name="r32i_rgba8_snorm" />
<Test name="rgba8_r32f" />
<Test name="rgba8_rgba8ui" />
<Test name="rgba8_r32ui" />
<Test name="rgba8_rgba8i" />
<Test name="rgba8_r32i" />
<Test name="rgba8_rgba8_snorm" />
<Test name="rgba8_snorm_r32f" />
<Test name="rgba8_snorm_rgba8ui" />
<Test name="rgba8_snorm_r32ui" />
<Test name="rgba8_snorm_rgba8i" />
<Test name="rgba8_snorm_r32i" />
<Test name="rgba8_snorm_rgba8" />
</TestCase>
<TestCase name="image_size">
<Test name="readonly_32x32x32" />
<Test name="readonly_12x34x56" />
<Test name="readonly_1x1x1" />
<Test name="readonly_7x1x1" />
<Test name="writeonly_32x32x32" />
<Test name="writeonly_12x34x56" />
<Test name="writeonly_1x1x1" />
<Test name="writeonly_7x1x1" />
<Test name="readonly_writeonly_32x32x32" />
<Test name="readonly_writeonly_12x34x56" />
<Test name="readonly_writeonly_1x1x1" />
<Test name="readonly_writeonly_7x1x1" />
</TestCase>
</TestSuite>
<TestSuite name="2d_array">
<TestCase name="store">
<Test name="rgba32f" />
<Test name="rgba32f_single_layer" />
<Test name="rgba16f" />
<Test name="rgba16f_single_layer" />
<Test name="r32f" />
<Test name="r32f_single_layer" />
<Test name="rgba32ui" />
<Test name="rgba32ui_single_layer" />
<Test name="rgba16ui" />
<Test name="rgba16ui_single_layer" />
<Test name="rgba8ui" />
<Test name="rgba8ui_single_layer" />
<Test name="r32ui" />
<Test name="r32ui_single_layer" />
<Test name="rgba32i" />
<Test name="rgba32i_single_layer" />
<Test name="rgba16i" />
<Test name="rgba16i_single_layer" />
<Test name="rgba8i" />
<Test name="rgba8i_single_layer" />
<Test name="r32i" />
<Test name="r32i_single_layer" />
<Test name="rgba8" />
<Test name="rgba8_single_layer" />
<Test name="rgba8_snorm" />
<Test name="rgba8_snorm_single_layer" />
</TestCase>
<TestCase name="load_store">
<Test name="rgba32f" />
<Test name="rgba32f_single_layer" />
<Test name="rgba16f" />
<Test name="rgba16f_single_layer" />
<Test name="r32f" />
<Test name="r32f_single_layer" />
<Test name="rgba32ui" />
<Test name="rgba32ui_single_layer" />
<Test name="rgba16ui" />
<Test name="rgba16ui_single_layer" />
<Test name="rgba8ui" />
<Test name="rgba8ui_single_layer" />
<Test name="r32ui" />
<Test name="r32ui_single_layer" />
<Test name="rgba32i" />
<Test name="rgba32i_single_layer" />
<Test name="rgba16i" />
<Test name="rgba16i_single_layer" />
<Test name="rgba8i" />
<Test name="rgba8i_single_layer" />
<Test name="r32i" />
<Test name="r32i_single_layer" />
<Test name="rgba8" />
<Test name="rgba8_single_layer" />
<Test name="rgba8_snorm" />
<Test name="rgba8_snorm_single_layer" />
</TestCase>
<TestCase name="atomic">
<Test name="exchange_r32f_result" />
<Test name="exchange_r32f_return_value" />
<Test name="add_r32ui_result" />
<Test name="add_r32ui_return_value" />
<Test name="min_r32ui_result" />
<Test name="min_r32ui_return_value" />
<Test name="max_r32ui_result" />
<Test name="max_r32ui_return_value" />
<Test name="and_r32ui_result" />
<Test name="and_r32ui_return_value" />
<Test name="or_r32ui_result" />
<Test name="or_r32ui_return_value" />
<Test name="xor_r32ui_result" />
<Test name="xor_r32ui_return_value" />
<Test name="exchange_r32ui_result" />
<Test name="exchange_r32ui_return_value" />
<Test name="comp_swap_r32ui_result" />
<Test name="add_r32i_result" />
<Test name="add_r32i_return_value" />
<Test name="min_r32i_result" />
<Test name="min_r32i_return_value" />
<Test name="max_r32i_result" />
<Test name="max_r32i_return_value" />
<Test name="and_r32i_result" />
<Test name="and_r32i_return_value" />
<Test name="or_r32i_result" />
<Test name="or_r32i_return_value" />
<Test name="xor_r32i_result" />
<Test name="xor_r32i_return_value" />
<Test name="exchange_r32i_result" />
<Test name="exchange_r32i_return_value" />
<Test name="comp_swap_r32i_result" />
</TestCase>
<TestCase name="qualifiers">
<Test name="coherent_r32f" />
<Test name="volatile_r32f" />
<Test name="coherent_r32ui" />
<Test name="volatile_r32ui" />
<Test name="coherent_r32i" />
<Test name="volatile_r32i" />
<Test name="restrict" />
</TestCase>
<TestCase name="format_reinterpret">
<Test name="rgba32f_rgba32ui" />
<Test name="rgba32f_rgba32i" />
<Test name="rgba16f_rgba16ui" />
<Test name="rgba16f_rgba16i" />
<Test name="r32f_rgba8ui" />
<Test name="r32f_r32ui" />
<Test name="r32f_rgba8i" />
<Test name="r32f_r32i" />
<Test name="r32f_rgba8" />
<Test name="r32f_rgba8_snorm" />
<Test name="rgba32ui_rgba32f" />
<Test name="rgba32ui_rgba32i" />
<Test name="rgba16ui_rgba16f" />
<Test name="rgba16ui_rgba16i" />
<Test name="rgba8ui_r32f" />
<Test name="rgba8ui_r32ui" />
<Test name="rgba8ui_rgba8i" />
<Test name="rgba8ui_r32i" />
<Test name="rgba8ui_rgba8" />
<Test name="rgba8ui_rgba8_snorm" />
<Test name="r32ui_r32f" />
<Test name="r32ui_rgba8ui" />
<Test name="r32ui_rgba8i" />
<Test name="r32ui_r32i" />
<Test name="r32ui_rgba8" />
<Test name="r32ui_rgba8_snorm" />
<Test name="rgba32i_rgba32f" />
<Test name="rgba32i_rgba32ui" />
<Test name="rgba16i_rgba16f" />
<Test name="rgba16i_rgba16ui" />
<Test name="rgba8i_r32f" />
<Test name="rgba8i_rgba8ui" />
<Test name="rgba8i_r32ui" />
<Test name="rgba8i_r32i" />
<Test name="rgba8i_rgba8" />
<Test name="rgba8i_rgba8_snorm" />
<Test name="r32i_r32f" />
<Test name="r32i_rgba8ui" />
<Test name="r32i_r32ui" />
<Test name="r32i_rgba8i" />
<Test name="r32i_rgba8" />
<Test name="r32i_rgba8_snorm" />
<Test name="rgba8_r32f" />
<Test name="rgba8_rgba8ui" />
<Test name="rgba8_r32ui" />
<Test name="rgba8_rgba8i" />
<Test name="rgba8_r32i" />
<Test name="rgba8_rgba8_snorm" />
<Test name="rgba8_snorm_r32f" />
<Test name="rgba8_snorm_rgba8ui" />
<Test name="rgba8_snorm_r32ui" />
<Test name="rgba8_snorm_rgba8i" />
<Test name="rgba8_snorm_r32i" />
<Test name="rgba8_snorm_rgba8" />
</TestCase>
<TestCase name="image_size">
<Test name="readonly_32x32x32" />
<Test name="readonly_12x34x56" />
<Test name="readonly_1x1x1" />
<Test name="readonly_7x1x1" />
<Test name="writeonly_32x32x32" />
<Test name="writeonly_12x34x56" />
<Test name="writeonly_1x1x1" />
<Test name="writeonly_7x1x1" />
<Test name="readonly_writeonly_32x32x32" />
<Test name="readonly_writeonly_12x34x56" />
<Test name="readonly_writeonly_1x1x1" />
<Test name="readonly_writeonly_7x1x1" />
</TestCase>
</TestSuite>
<TestSuite name="buffer">
<TestCase name="store">
<Test name="rgba32f" />
<Test name="rgba16f" />
<Test name="r32f" />
<Test name="rgba32ui" />
<Test name="rgba16ui" />
<Test name="rgba8ui" />
<Test name="r32ui" />
<Test name="rgba32i" />
<Test name="rgba16i" />
<Test name="rgba8i" />
<Test name="r32i" />
<Test name="rgba8" />
</TestCase>
<TestCase name="load_store">
<Test name="rgba32f" />
<Test name="rgba16f" />
<Test name="r32f" />
<Test name="rgba32ui" />
<Test name="rgba16ui" />
<Test name="rgba8ui" />
<Test name="r32ui" />
<Test name="rgba32i" />
<Test name="rgba16i" />
<Test name="rgba8i" />
<Test name="r32i" />
<Test name="rgba8" />
</TestCase>
<TestCase name="atomic">
<Test name="exchange_r32f_result" />
<Test name="exchange_r32f_return_value" />
<Test name="add_r32ui_result" />
<Test name="add_r32ui_return_value" />
<Test name="min_r32ui_result" />
<Test name="min_r32ui_return_value" />
<Test name="max_r32ui_result" />
<Test name="max_r32ui_return_value" />
<Test name="and_r32ui_result" />
<Test name="and_r32ui_return_value" />
<Test name="or_r32ui_result" />
<Test name="or_r32ui_return_value" />
<Test name="xor_r32ui_result" />
<Test name="xor_r32ui_return_value" />
<Test name="exchange_r32ui_result" />
<Test name="exchange_r32ui_return_value" />
<Test name="comp_swap_r32ui_result" />
<Test name="add_r32i_result" />
<Test name="add_r32i_return_value" />
<Test name="min_r32i_result" />
<Test name="min_r32i_return_value" />
<Test name="max_r32i_result" />
<Test name="max_r32i_return_value" />
<Test name="and_r32i_result" />
<Test name="and_r32i_return_value" />
<Test name="or_r32i_result" />
<Test name="or_r32i_return_value" />
<Test name="xor_r32i_result" />
<Test name="xor_r32i_return_value" />
<Test name="exchange_r32i_result" />
<Test name="exchange_r32i_return_value" />
<Test name="comp_swap_r32i_result" />
</TestCase>
<TestCase name="qualifiers">
<Test name="coherent_r32f" />
<Test name="volatile_r32f" />
<Test name="coherent_r32ui" />
<Test name="volatile_r32ui" />
<Test name="coherent_r32i" />
<Test name="volatile_r32i" />
<Test name="restrict" />
</TestCase>
<TestCase name="format_reinterpret">
<Test name="rgba32f_rgba32ui" />
<Test name="rgba32f_rgba32i" />
<Test name="rgba16f_rgba16ui" />
<Test name="rgba16f_rgba16i" />
<Test name="r32f_rgba8ui" />
<Test name="r32f_r32ui" />
<Test name="r32f_rgba8i" />
<Test name="r32f_r32i" />
<Test name="r32f_rgba8" />
<Test name="r32f_rgba8_snorm" />
<Test name="rgba32ui_rgba32f" />
<Test name="rgba32ui_rgba32i" />
<Test name="rgba16ui_rgba16f" />
<Test name="rgba16ui_rgba16i" />
<Test name="rgba8ui_r32f" />
<Test name="rgba8ui_r32ui" />
<Test name="rgba8ui_rgba8i" />
<Test name="rgba8ui_r32i" />
<Test name="rgba8ui_rgba8" />
<Test name="rgba8ui_rgba8_snorm" />
<Test name="r32ui_r32f" />
<Test name="r32ui_rgba8ui" />
<Test name="r32ui_rgba8i" />
<Test name="r32ui_r32i" />
<Test name="r32ui_rgba8" />
<Test name="r32ui_rgba8_snorm" />
<Test name="rgba32i_rgba32f" />
<Test name="rgba32i_rgba32ui" />
<Test name="rgba16i_rgba16f" />
<Test name="rgba16i_rgba16ui" />
<Test name="rgba8i_r32f" />
<Test name="rgba8i_rgba8ui" />
<Test name="rgba8i_r32ui" />
<Test name="rgba8i_r32i" />
<Test name="rgba8i_rgba8" />
<Test name="rgba8i_rgba8_snorm" />
<Test name="r32i_r32f" />
<Test name="r32i_rgba8ui" />
<Test name="r32i_r32ui" />
<Test name="r32i_rgba8i" />
<Test name="r32i_rgba8" />
<Test name="r32i_rgba8_snorm" />
<Test name="rgba8_r32f" />
<Test name="rgba8_rgba8ui" />
<Test name="rgba8_r32ui" />
<Test name="rgba8_rgba8i" />
<Test name="rgba8_r32i" />
<Test name="rgba8_rgba8_snorm" />
</TestCase>
<TestCase name="image_size">
<Test name="readonly_32" />
<Test name="readonly_12" />
<Test name="readonly_1" />
<Test name="readonly_7" />
<Test name="writeonly_32" />
<Test name="writeonly_12" />
<Test name="writeonly_1" />
<Test name="writeonly_7" />
<Test name="readonly_writeonly_32" />
<Test name="readonly_writeonly_12" />
<Test name="readonly_writeonly_1" />
<Test name="readonly_writeonly_7" />
</TestCase>
</TestSuite>
<TestCase name="early_fragment_tests">
<Test name="no_early_fragment_tests_depth" />
<Test name="no_early_fragment_tests_stencil" />
<Test name="early_fragment_tests_depth" />
<Test name="early_fragment_tests_stencil" />
</TestCase>
</TestSuite>
<TestSuite name="atomic_counter">
<TestCase name="get">
<Test name="1_counter_1_call_1_thread" />
<Test name="1_counter_1_call_10_threads" />
<Test name="1_counter_1_call_5000_threads" />
<Test name="1_counter_5_calls_1_thread" />
<Test name="1_counter_5_calls_10_threads" />
<Test name="1_counter_100_calls_1_thread" />
<Test name="1_counter_100_calls_10_threads" />
<Test name="4_counters_1_call_1_thread" />
<Test name="4_counters_1_call_10_threads" />
<Test name="4_counters_5_calls_1_thread" />
<Test name="4_counters_5_calls_10_threads" />
<Test name="4_counters_100_calls_1_thread" />
<Test name="4_counters_100_calls_10_threads" />
<Test name="8_counters_1_call_1_thread" />
<Test name="8_counters_1_call_10_threads" />
<Test name="8_counters_5_calls_1_thread" />
<Test name="8_counters_5_calls_10_threads" />
<Test name="8_counters_100_calls_1_thread" />
<Test name="8_counters_100_calls_10_threads" />
</TestCase>
<TestCase name="get_branch">
<Test name="1_counter_1_call_10_threads" />
<Test name="1_counter_1_call_5000_threads" />
<Test name="1_counter_5_calls_1_thread" />
<Test name="1_counter_5_calls_10_threads" />
<Test name="1_counter_100_calls_1_thread" />
<Test name="1_counter_100_calls_10_threads" />
<Test name="4_counters_1_call_10_threads" />
<Test name="4_counters_5_calls_1_thread" />
<Test name="4_counters_5_calls_10_threads" />
<Test name="4_counters_100_calls_1_thread" />
<Test name="4_counters_100_calls_10_threads" />
<Test name="8_counters_1_call_10_threads" />
<Test name="8_counters_5_calls_1_thread" />
<Test name="8_counters_5_calls_10_threads" />
<Test name="8_counters_100_calls_1_thread" />
<Test name="8_counters_100_calls_10_threads" />
</TestCase>
<TestCase name="inc">
<Test name="1_counter_1_call_1_thread" />
<Test name="1_counter_1_call_10_threads" />
<Test name="1_counter_1_call_5000_threads" />
<Test name="1_counter_5_calls_1_thread" />
<Test name="1_counter_5_calls_10_threads" />
<Test name="1_counter_100_calls_1_thread" />
<Test name="1_counter_100_calls_10_threads" />
<Test name="4_counters_1_call_1_thread" />
<Test name="4_counters_1_call_10_threads" />
<Test name="4_counters_5_calls_1_thread" />
<Test name="4_counters_5_calls_10_threads" />
<Test name="4_counters_100_calls_1_thread" />
<Test name="4_counters_100_calls_10_threads" />
<Test name="8_counters_1_call_1_thread" />
<Test name="8_counters_1_call_10_threads" />
<Test name="8_counters_5_calls_1_thread" />
<Test name="8_counters_5_calls_10_threads" />
<Test name="8_counters_100_calls_1_thread" />
<Test name="8_counters_100_calls_10_threads" />
</TestCase>
<TestCase name="inc_branch">
<Test name="1_counter_1_call_10_threads" />
<Test name="1_counter_1_call_5000_threads" />
<Test name="1_counter_5_calls_1_thread" />
<Test name="1_counter_5_calls_10_threads" />
<Test name="1_counter_100_calls_1_thread" />
<Test name="1_counter_100_calls_10_threads" />
<Test name="4_counters_1_call_10_threads" />
<Test name="4_counters_5_calls_1_thread" />
<Test name="4_counters_5_calls_10_threads" />
<Test name="4_counters_100_calls_1_thread" />
<Test name="4_counters_100_calls_10_threads" />
<Test name="8_counters_1_call_10_threads" />
<Test name="8_counters_5_calls_1_thread" />
<Test name="8_counters_5_calls_10_threads" />
<Test name="8_counters_100_calls_1_thread" />
<Test name="8_counters_100_calls_10_threads" />
</TestCase>
<TestCase name="dec">
<Test name="1_counter_1_call_1_thread" />
<Test name="1_counter_1_call_10_threads" />
<Test name="1_counter_1_call_5000_threads" />
<Test name="1_counter_5_calls_1_thread" />
<Test name="1_counter_5_calls_10_threads" />
<Test name="1_counter_100_calls_1_thread" />
<Test name="1_counter_100_calls_10_threads" />
<Test name="4_counters_1_call_1_thread" />
<Test name="4_counters_1_call_10_threads" />
<Test name="4_counters_5_calls_1_thread" />
<Test name="4_counters_5_calls_10_threads" />
<Test name="4_counters_100_calls_1_thread" />
<Test name="4_counters_100_calls_10_threads" />
<Test name="8_counters_1_call_1_thread" />
<Test name="8_counters_1_call_10_threads" />
<Test name="8_counters_5_calls_1_thread" />
<Test name="8_counters_5_calls_10_threads" />
<Test name="8_counters_100_calls_1_thread" />
<Test name="8_counters_100_calls_10_threads" />
</TestCase>
<TestCase name="dec_branch">
<Test name="1_counter_1_call_10_threads" />
<Test name="1_counter_1_call_5000_threads" />
<Test name="1_counter_5_calls_1_thread" />
<Test name="1_counter_5_calls_10_threads" />
<Test name="1_counter_100_calls_1_thread" />
<Test name="1_counter_100_calls_10_threads" />
<Test name="4_counters_1_call_10_threads" />
<Test name="4_counters_5_calls_1_thread" />
<Test name="4_counters_5_calls_10_threads" />
<Test name="4_counters_100_calls_1_thread" />
<Test name="4_counters_100_calls_10_threads" />
<Test name="8_counters_1_call_10_threads" />
<Test name="8_counters_5_calls_1_thread" />
<Test name="8_counters_5_calls_10_threads" />
<Test name="8_counters_100_calls_1_thread" />
<Test name="8_counters_100_calls_10_threads" />
</TestCase>
<TestCase name="get_inc">
<Test name="1_counter_1_call_1_thread" />
<Test name="1_counter_1_call_10_threads" />
<Test name="1_counter_1_call_5000_threads" />
<Test name="1_counter_5_calls_1_thread" />
<Test name="1_counter_5_calls_10_threads" />
<Test name="1_counter_100_calls_1_thread" />
<Test name="1_counter_100_calls_10_threads" />
<Test name="4_counters_1_call_1_thread" />
<Test name="4_counters_1_call_10_threads" />
<Test name="4_counters_5_calls_1_thread" />
<Test name="4_counters_5_calls_10_threads" />
<Test name="4_counters_100_calls_1_thread" />
<Test name="4_counters_100_calls_10_threads" />
<Test name="8_counters_1_call_1_thread" />
<Test name="8_counters_1_call_10_threads" />
<Test name="8_counters_5_calls_1_thread" />
<Test name="8_counters_5_calls_10_threads" />
<Test name="8_counters_100_calls_1_thread" />
<Test name="8_counters_100_calls_10_threads" />
</TestCase>
<TestCase name="get_inc_branch">
<Test name="1_counter_1_call_10_threads" />
<Test name="1_counter_1_call_5000_threads" />
<Test name="1_counter_5_calls_1_thread" />
<Test name="1_counter_5_calls_10_threads" />
<Test name="1_counter_100_calls_1_thread" />
<Test name="1_counter_100_calls_10_threads" />
<Test name="4_counters_1_call_10_threads" />
<Test name="4_counters_5_calls_1_thread" />
<Test name="4_counters_5_calls_10_threads" />
<Test name="4_counters_100_calls_1_thread" />
<Test name="4_counters_100_calls_10_threads" />
<Test name="8_counters_1_call_10_threads" />
<Test name="8_counters_5_calls_1_thread" />
<Test name="8_counters_5_calls_10_threads" />
<Test name="8_counters_100_calls_1_thread" />
<Test name="8_counters_100_calls_10_threads" />
</TestCase>
<TestCase name="get_dec">
<Test name="1_counter_1_call_1_thread" />
<Test name="1_counter_1_call_10_threads" />
<Test name="1_counter_1_call_5000_threads" />
</TestCase>
<TestCase name="get_dec_branch">
<Test name="1_counter_1_call_10_threads" />
<Test name="1_counter_1_call_5000_threads" />
<Test name="1_counter_5_calls_1_thread" />
<Test name="1_counter_5_calls_10_threads" />
<Test name="1_counter_100_calls_1_thread" />
<Test name="1_counter_100_calls_10_threads" />
<Test name="4_counters_1_call_10_threads" />
<Test name="4_counters_5_calls_1_thread" />
<Test name="4_counters_5_calls_10_threads" />
<Test name="4_counters_100_calls_1_thread" />
<Test name="4_counters_100_calls_10_threads" />
<Test name="8_counters_1_call_10_threads" />
<Test name="8_counters_5_calls_1_thread" />
<Test name="8_counters_5_calls_10_threads" />
<Test name="8_counters_100_calls_1_thread" />
<Test name="8_counters_100_calls_10_threads" />
</TestCase>
<TestCase name="inc_dec">
<Test name="1_counter_1_call_1_thread" />
<Test name="1_counter_1_call_10_threads" />
<Test name="1_counter_1_call_5000_threads" />
<Test name="1_counter_5_calls_1_thread" />
<Test name="1_counter_5_calls_10_threads" />
<Test name="1_counter_100_calls_1_thread" />
<Test name="1_counter_100_calls_10_threads" />
<Test name="4_counters_1_call_1_thread" />
<Test name="4_counters_1_call_10_threads" />
<Test name="4_counters_5_calls_1_thread" />
<Test name="4_counters_5_calls_10_threads" />
<Test name="4_counters_100_calls_1_thread" />
<Test name="4_counters_100_calls_10_threads" />
<Test name="8_counters_1_call_1_thread" />
<Test name="8_counters_1_call_10_threads" />
<Test name="8_counters_5_calls_1_thread" />
<Test name="8_counters_5_calls_10_threads" />
<Test name="8_counters_100_calls_1_thread" />
<Test name="8_counters_100_calls_10_threads" />
</TestCase>
<TestCase name="inc_dec_branch">
<Test name="1_counter_1_call_10_threads" />
<Test name="1_counter_1_call_5000_threads" />
<Test name="1_counter_5_calls_1_thread" />
<Test name="1_counter_5_calls_10_threads" />
<Test name="1_counter_100_calls_1_thread" />
<Test name="1_counter_100_calls_10_threads" />
<Test name="4_counters_1_call_10_threads" />
<Test name="4_counters_5_calls_1_thread" />
<Test name="4_counters_5_calls_10_threads" />
<Test name="4_counters_100_calls_1_thread" />
<Test name="4_counters_100_calls_10_threads" />
<Test name="8_counters_1_call_10_threads" />
<Test name="8_counters_5_calls_1_thread" />
<Test name="8_counters_5_calls_10_threads" />
<Test name="8_counters_100_calls_1_thread" />
<Test name="8_counters_100_calls_10_threads" />
</TestCase>
<TestCase name="get_inc_dec">
<Test name="1_counter_1_call_1_thread" />
<Test name="1_counter_1_call_10_threads" />
<Test name="1_counter_1_call_5000_threads" />
<Test name="1_counter_5_calls_1_thread" />
<Test name="1_counter_5_calls_10_threads" />
<Test name="1_counter_100_calls_1_thread" />
<Test name="1_counter_100_calls_10_threads" />
<Test name="4_counters_1_call_1_thread" />
<Test name="4_counters_1_call_10_threads" />
<Test name="4_counters_5_calls_1_thread" />
<Test name="4_counters_5_calls_10_threads" />
<Test name="4_counters_100_calls_1_thread" />
<Test name="4_counters_100_calls_10_threads" />
<Test name="8_counters_1_call_1_thread" />
<Test name="8_counters_1_call_10_threads" />
<Test name="8_counters_5_calls_1_thread" />
<Test name="8_counters_5_calls_10_threads" />
<Test name="8_counters_100_calls_1_thread" />
<Test name="8_counters_100_calls_10_threads" />
</TestCase>
<TestCase name="get_inc_dec_branch">
<Test name="1_counter_1_call_10_threads" />
<Test name="1_counter_1_call_5000_threads" />
<Test name="1_counter_5_calls_1_thread" />
<Test name="1_counter_5_calls_10_threads" />
<Test name="1_counter_100_calls_1_thread" />
<Test name="1_counter_100_calls_10_threads" />
<Test name="4_counters_1_call_10_threads" />
<Test name="4_counters_5_calls_1_thread" />
<Test name="4_counters_5_calls_10_threads" />
<Test name="4_counters_100_calls_1_thread" />
<Test name="4_counters_100_calls_10_threads" />
<Test name="8_counters_1_call_10_threads" />
<Test name="8_counters_5_calls_1_thread" />
<Test name="8_counters_5_calls_10_threads" />
<Test name="8_counters_100_calls_1_thread" />
<Test name="8_counters_100_calls_10_threads" />
</TestCase>
<TestSuite name="layout">
<TestSuite name="reverse_offset">
<TestCase name="get_inc">
<Test name="8_counters_1_call_1_thread" />
<Test name="8_counters_1_call_1000_threads" />
<Test name="8_counters_5_calls_1_thread" />
<Test name="8_counters_5_calls_1000_threads" />
</TestCase>
<TestCase name="inc_dec">
<Test name="8_counters_1_call_1_thread" />
<Test name="8_counters_1_call_1000_threads" />
<Test name="8_counters_5_calls_1_thread" />
<Test name="8_counters_5_calls_1000_threads" />
</TestCase>
</TestSuite>
<TestSuite name="first_offset_set">
<TestCase name="get_inc">
<Test name="8_counters_1_call_1_thread" />
<Test name="8_counters_1_call_1000_threads" />
<Test name="8_counters_5_calls_1_thread" />
<Test name="8_counters_5_calls_1000_threads" />
</TestCase>
<TestCase name="inc_dec">
<Test name="8_counters_1_call_1_thread" />
<Test name="8_counters_1_call_1000_threads" />
<Test name="8_counters_5_calls_1_thread" />
<Test name="8_counters_5_calls_1000_threads" />
</TestCase>
</TestSuite>
<TestSuite name="default_offset_set">
<TestCase name="get_inc">
<Test name="8_counters_1_call_1_thread" />
<Test name="8_counters_1_call_1000_threads" />
<Test name="8_counters_5_calls_1_thread" />
<Test name="8_counters_5_calls_1000_threads" />
</TestCase>
<TestCase name="inc_dec">
<Test name="8_counters_1_call_1_thread" />
<Test name="8_counters_1_call_1000_threads" />
<Test name="8_counters_5_calls_1_thread" />
<Test name="8_counters_5_calls_1000_threads" />
</TestCase>
</TestSuite>
<TestSuite name="reset_default_offset">
<TestCase name="get_inc">
<Test name="8_counters_1_call_1_thread" />
<Test name="8_counters_1_call_1000_threads" />
<Test name="8_counters_5_calls_1_thread" />
<Test name="8_counters_5_calls_1000_threads" />
</TestCase>
<TestCase name="inc_dec">
<Test name="8_counters_1_call_1_thread" />
<Test name="8_counters_1_call_1000_threads" />
<Test name="8_counters_5_calls_1_thread" />
<Test name="8_counters_5_calls_1000_threads" />
</TestCase>
</TestSuite>
<TestCase name="invalid">
<Test name="invalid_binding" />
<Test name="invalid_default_binding" />
<Test name="invalid_offset_align" />
<Test name="invalid_offset_overlap" />
<Test name="invalid_default_offset" />
</TestCase>
</TestSuite>
</TestSuite>
<TestSuite name="stencil_texturing">
<TestCase name="format">
<Test name="depth32f_stencil8_2d" />
<Test name="depth32f_stencil8_2d_array" />
<Test name="depth32f_stencil8_cube" />
<Test name="depth24_stencil8_2d" />
<Test name="depth24_stencil8_2d_array" />
<Test name="depth24_stencil8_cube" />
<Test name="stencil_index8_2d" />
<Test name="stencil_index8_2d_array" />
<Test name="stencil_index8_cube" />
</TestCase>
<TestCase name="render">
<Test name="depth32f_stencil8_clear" />
<Test name="depth32f_stencil8_draw" />
<Test name="depth24_stencil8_clear" />
<Test name="depth24_stencil8_draw" />
</TestCase>
<TestCase name="misc">
<Test name="compare_mode_effect" />
<Test name="base_level" />
</TestCase>
</TestSuite>
<TestSuite name="texture">
<TestSuite name="filtering">
<TestSuite name="cube_array">
<TestCase name="formats">
<Test name="rgba16f_nearest" />
<Test name="rgba16f_linear" />
<Test name="rgba16f_nearest_mipmap_nearest" />
<Test name="rgba16f_linear_mipmap_nearest" />
<Test name="rgba16f_nearest_mipmap_linear" />
<Test name="rgba16f_linear_mipmap_linear" />
<Test name="r11f_g11f_b10f_nearest" />
<Test name="r11f_g11f_b10f_linear" />
<Test name="r11f_g11f_b10f_nearest_mipmap_nearest" />
<Test name="r11f_g11f_b10f_linear_mipmap_nearest" />
<Test name="r11f_g11f_b10f_nearest_mipmap_linear" />
<Test name="r11f_g11f_b10f_linear_mipmap_linear" />
<Test name="rgb9_e5_nearest" />
<Test name="rgb9_e5_linear" />
<Test name="rgb9_e5_nearest_mipmap_nearest" />
<Test name="rgb9_e5_linear_mipmap_nearest" />
<Test name="rgb9_e5_nearest_mipmap_linear" />
<Test name="rgb9_e5_linear_mipmap_linear" />
<Test name="rgba8_nearest" />
<Test name="rgba8_linear" />
<Test name="rgba8_nearest_mipmap_nearest" />
<Test name="rgba8_linear_mipmap_nearest" />
<Test name="rgba8_nearest_mipmap_linear" />
<Test name="rgba8_linear_mipmap_linear" />
<Test name="rgba8_snorm_nearest" />
<Test name="rgba8_snorm_linear" />
<Test name="rgba8_snorm_nearest_mipmap_nearest" />
<Test name="rgba8_snorm_linear_mipmap_nearest" />
<Test name="rgba8_snorm_nearest_mipmap_linear" />
<Test name="rgba8_snorm_linear_mipmap_linear" />
<Test name="rgb565_nearest" />
<Test name="rgb565_linear" />
<Test name="rgb565_nearest_mipmap_nearest" />
<Test name="rgb565_linear_mipmap_nearest" />
<Test name="rgb565_nearest_mipmap_linear" />
<Test name="rgb565_linear_mipmap_linear" />
<Test name="rgba4_nearest" />
<Test name="rgba4_linear" />
<Test name="rgba4_nearest_mipmap_nearest" />
<Test name="rgba4_linear_mipmap_nearest" />
<Test name="rgba4_nearest_mipmap_linear" />
<Test name="rgba4_linear_mipmap_linear" />
<Test name="rgb5_a1_nearest" />
<Test name="rgb5_a1_linear" />
<Test name="rgb5_a1_nearest_mipmap_nearest" />
<Test name="rgb5_a1_linear_mipmap_nearest" />
<Test name="rgb5_a1_nearest_mipmap_linear" />
<Test name="rgb5_a1_linear_mipmap_linear" />
<Test name="srgb8_alpha8_nearest" />
<Test name="srgb8_alpha8_linear" />
<Test name="srgb8_alpha8_nearest_mipmap_nearest" />
<Test name="srgb8_alpha8_linear_mipmap_nearest" />
<Test name="srgb8_alpha8_nearest_mipmap_linear" />
<Test name="srgb8_alpha8_linear_mipmap_linear" />
<Test name="rgb10_a2_nearest" />
<Test name="rgb10_a2_linear" />
<Test name="rgb10_a2_nearest_mipmap_nearest" />
<Test name="rgb10_a2_linear_mipmap_nearest" />
<Test name="rgb10_a2_nearest_mipmap_linear" />
<Test name="rgb10_a2_linear_mipmap_linear" />
</TestCase>
<TestCase name="sizes">
<Test name="8x8x6_nearest" />
<Test name="8x8x6_linear" />
<Test name="8x8x6_nearest_mipmap_nearest" />
<Test name="8x8x6_linear_mipmap_nearest" />
<Test name="8x8x6_nearest_mipmap_linear" />
<Test name="8x8x6_linear_mipmap_linear" />
<Test name="64x64x12_nearest" />
<Test name="64x64x12_linear" />
<Test name="64x64x12_nearest_mipmap_nearest" />
<Test name="64x64x12_linear_mipmap_nearest" />
<Test name="64x64x12_nearest_mipmap_linear" />
<Test name="64x64x12_linear_mipmap_linear" />
<Test name="128x128x12_nearest" />
<Test name="128x128x12_linear" />
<Test name="128x128x12_nearest_mipmap_nearest" />
<Test name="128x128x12_linear_mipmap_nearest" />
<Test name="128x128x12_nearest_mipmap_linear" />
<Test name="128x128x12_linear_mipmap_linear" />
<Test name="7x7x12_nearest" />
<Test name="7x7x12_linear" />
<Test name="7x7x12_nearest_mipmap_nearest" />
<Test name="7x7x12_linear_mipmap_nearest" />
<Test name="7x7x12_nearest_mipmap_linear" />
<Test name="7x7x12_linear_mipmap_linear" />
<Test name="63x63x18_nearest" />
<Test name="63x63x18_linear" />
<Test name="63x63x18_nearest_mipmap_nearest" />
<Test name="63x63x18_linear_mipmap_nearest" />
<Test name="63x63x18_nearest_mipmap_linear" />
<Test name="63x63x18_linear_mipmap_linear" />
</TestCase>
<TestCase name="combinations">
<Test name="nearest_nearest_clamp_clamp" />
<Test name="nearest_nearest_clamp_repeat" />
<Test name="nearest_nearest_clamp_mirror" />
<Test name="nearest_nearest_repeat_clamp" />
<Test name="nearest_nearest_repeat_repeat" />
<Test name="nearest_nearest_repeat_mirror" />
<Test name="nearest_nearest_mirror_clamp" />
<Test name="nearest_nearest_mirror_repeat" />
<Test name="nearest_nearest_mirror_mirror" />
<Test name="nearest_linear_clamp_clamp" />
<Test name="nearest_linear_clamp_repeat" />
<Test name="nearest_linear_clamp_mirror" />
<Test name="nearest_linear_repeat_clamp" />
<Test name="nearest_linear_repeat_repeat" />
<Test name="nearest_linear_repeat_mirror" />
<Test name="nearest_linear_mirror_clamp" />
<Test name="nearest_linear_mirror_repeat" />
<Test name="nearest_linear_mirror_mirror" />
<Test name="linear_nearest_clamp_clamp" />
<Test name="linear_nearest_clamp_repeat" />
<Test name="linear_nearest_clamp_mirror" />
<Test name="linear_nearest_repeat_clamp" />
<Test name="linear_nearest_repeat_repeat" />
<Test name="linear_nearest_repeat_mirror" />
<Test name="linear_nearest_mirror_clamp" />
<Test name="linear_nearest_mirror_repeat" />
<Test name="linear_nearest_mirror_mirror" />
<Test name="linear_linear_clamp_clamp" />
<Test name="linear_linear_clamp_repeat" />
<Test name="linear_linear_clamp_mirror" />
<Test name="linear_linear_repeat_clamp" />
<Test name="linear_linear_repeat_repeat" />
<Test name="linear_linear_repeat_mirror" />
<Test name="linear_linear_mirror_clamp" />
<Test name="linear_linear_mirror_repeat" />
<Test name="linear_linear_mirror_mirror" />
<Test name="nearest_mipmap_nearest_nearest_clamp_clamp" />
<Test name="nearest_mipmap_nearest_nearest_clamp_repeat" />
<Test name="nearest_mipmap_nearest_nearest_clamp_mirror" />
<Test name="nearest_mipmap_nearest_nearest_repeat_clamp" />
<Test name="nearest_mipmap_nearest_nearest_repeat_repeat" />
<Test name="nearest_mipmap_nearest_nearest_repeat_mirror" />
<Test name="nearest_mipmap_nearest_nearest_mirror_clamp" />
<Test name="nearest_mipmap_nearest_nearest_mirror_repeat" />
<Test name="nearest_mipmap_nearest_nearest_mirror_mirror" />
<Test name="nearest_mipmap_nearest_linear_clamp_clamp" />
<Test name="nearest_mipmap_nearest_linear_clamp_repeat" />
<Test name="nearest_mipmap_nearest_linear_clamp_mirror" />
<Test name="nearest_mipmap_nearest_linear_repeat_clamp" />
<Test name="nearest_mipmap_nearest_linear_repeat_repeat" />
<Test name="nearest_mipmap_nearest_linear_repeat_mirror" />
<Test name="nearest_mipmap_nearest_linear_mirror_clamp" />
<Test name="nearest_mipmap_nearest_linear_mirror_repeat" />
<Test name="nearest_mipmap_nearest_linear_mirror_mirror" />
<Test name="linear_mipmap_nearest_nearest_clamp_clamp" />
<Test name="linear_mipmap_nearest_nearest_clamp_repeat" />
<Test name="linear_mipmap_nearest_nearest_clamp_mirror" />
<Test name="linear_mipmap_nearest_nearest_repeat_clamp" />
<Test name="linear_mipmap_nearest_nearest_repeat_repeat" />
<Test name="linear_mipmap_nearest_nearest_repeat_mirror" />
<Test name="linear_mipmap_nearest_nearest_mirror_clamp" />
<Test name="linear_mipmap_nearest_nearest_mirror_repeat" />
<Test name="linear_mipmap_nearest_nearest_mirror_mirror" />
<Test name="linear_mipmap_nearest_linear_clamp_clamp" />
<Test name="linear_mipmap_nearest_linear_clamp_repeat" />
<Test name="linear_mipmap_nearest_linear_clamp_mirror" />
<Test name="linear_mipmap_nearest_linear_repeat_clamp" />
<Test name="linear_mipmap_nearest_linear_repeat_repeat" />
<Test name="linear_mipmap_nearest_linear_repeat_mirror" />
<Test name="linear_mipmap_nearest_linear_mirror_clamp" />
<Test name="linear_mipmap_nearest_linear_mirror_repeat" />
<Test name="linear_mipmap_nearest_linear_mirror_mirror" />
<Test name="nearest_mipmap_linear_nearest_clamp_clamp" />
<Test name="nearest_mipmap_linear_nearest_clamp_repeat" />
<Test name="nearest_mipmap_linear_nearest_clamp_mirror" />
<Test name="nearest_mipmap_linear_nearest_repeat_clamp" />
<Test name="nearest_mipmap_linear_nearest_repeat_repeat" />
<Test name="nearest_mipmap_linear_nearest_repeat_mirror" />
<Test name="nearest_mipmap_linear_nearest_mirror_clamp" />
<Test name="nearest_mipmap_linear_nearest_mirror_repeat" />
<Test name="nearest_mipmap_linear_nearest_mirror_mirror" />
<Test name="nearest_mipmap_linear_linear_clamp_clamp" />
<Test name="nearest_mipmap_linear_linear_clamp_repeat" />
<Test name="nearest_mipmap_linear_linear_clamp_mirror" />
<Test name="nearest_mipmap_linear_linear_repeat_clamp" />
<Test name="nearest_mipmap_linear_linear_repeat_repeat" />
<Test name="nearest_mipmap_linear_linear_repeat_mirror" />
<Test name="nearest_mipmap_linear_linear_mirror_clamp" />
<Test name="nearest_mipmap_linear_linear_mirror_repeat" />
<Test name="nearest_mipmap_linear_linear_mirror_mirror" />
<Test name="linear_mipmap_linear_nearest_clamp_clamp" />
<Test name="linear_mipmap_linear_nearest_clamp_repeat" />
<Test name="linear_mipmap_linear_nearest_clamp_mirror" />
<Test name="linear_mipmap_linear_nearest_repeat_clamp" />
<Test name="linear_mipmap_linear_nearest_repeat_repeat" />
<Test name="linear_mipmap_linear_nearest_repeat_mirror" />
<Test name="linear_mipmap_linear_nearest_mirror_clamp" />
<Test name="linear_mipmap_linear_nearest_mirror_repeat" />
<Test name="linear_mipmap_linear_nearest_mirror_mirror" />
<Test name="linear_mipmap_linear_linear_clamp_clamp" />
<Test name="linear_mipmap_linear_linear_clamp_repeat" />
<Test name="linear_mipmap_linear_linear_clamp_mirror" />
<Test name="linear_mipmap_linear_linear_repeat_clamp" />
<Test name="linear_mipmap_linear_linear_repeat_repeat" />
<Test name="linear_mipmap_linear_linear_repeat_mirror" />
<Test name="linear_mipmap_linear_linear_mirror_clamp" />
<Test name="linear_mipmap_linear_linear_mirror_repeat" />
<Test name="linear_mipmap_linear_linear_mirror_mirror" />
</TestCase>
<TestCase name="no_edges_visible">
<Test name="nearest" />
<Test name="linear" />
</TestCase>
</TestSuite>
</TestSuite>
<TestSuite name="format">
<TestCase name="unsized">
<Test name="alpha_cube_array_pot" />
<Test name="alpha_cube_array_npot" />
<Test name="luminance_cube_array_pot" />
<Test name="luminance_cube_array_npot" />
<Test name="luminance_alpha_cube_array_pot" />
<Test name="luminance_alpha_cube_array_npot" />
<Test name="rgb_unsigned_short_5_6_5_cube_array_pot" />
<Test name="rgb_unsigned_short_5_6_5_cube_array_npot" />
<Test name="rgb_unsigned_byte_cube_array_pot" />
<Test name="rgb_unsigned_byte_cube_array_npot" />
<Test name="rgba_unsigned_short_4_4_4_4_cube_array_pot" />
<Test name="rgba_unsigned_short_4_4_4_4_cube_array_npot" />
<Test name="rgba_unsigned_short_5_5_5_1_cube_array_pot" />
<Test name="rgba_unsigned_short_5_5_5_1_cube_array_npot" />
<Test name="rgba_unsigned_byte_cube_array_pot" />
<Test name="rgba_unsigned_byte_cube_array_npot" />
</TestCase>
<TestSuite name="sized">
<TestCase name="cube_array">
<Test name="rgba32f_pot" />
<Test name="rgba32f_npot" />
<Test name="rgba32i_pot" />
<Test name="rgba32i_npot" />
<Test name="rgba32ui_pot" />
<Test name="rgba32ui_npot" />
<Test name="rgba16f_pot" />
<Test name="rgba16f_npot" />
<Test name="rgba16i_pot" />
<Test name="rgba16i_npot" />
<Test name="rgba16ui_pot" />
<Test name="rgba16ui_npot" />
<Test name="rgba8_pot" />
<Test name="rgba8_npot" />
<Test name="rgba8i_pot" />
<Test name="rgba8i_npot" />
<Test name="rgba8ui_pot" />
<Test name="rgba8ui_npot" />
<Test name="srgb8_alpha8_pot" />
<Test name="srgb8_alpha8_npot" />
<Test name="rgb10_a2_pot" />
<Test name="rgb10_a2_npot" />
<Test name="rgb10_a2ui_pot" />
<Test name="rgb10_a2ui_npot" />
<Test name="rgba4_pot" />
<Test name="rgba4_npot" />
<Test name="rgb5_a1_pot" />
<Test name="rgb5_a1_npot" />
<Test name="rgba8_snorm_pot" />
<Test name="rgba8_snorm_npot" />
<Test name="rgb8_pot" />
<Test name="rgb8_npot" />
<Test name="rgb565_pot" />
<Test name="rgb565_npot" />
<Test name="r11f_g11f_b10f_pot" />
<Test name="r11f_g11f_b10f_npot" />
<Test name="rgb32f_pot" />
<Test name="rgb32f_npot" />
<Test name="rgb32i_pot" />
<Test name="rgb32i_npot" />
<Test name="rgb32ui_pot" />
<Test name="rgb32ui_npot" />
<Test name="rgb16f_pot" />
<Test name="rgb16f_npot" />
<Test name="rgb16i_pot" />
<Test name="rgb16i_npot" />
<Test name="rgb16ui_pot" />
<Test name="rgb16ui_npot" />
<Test name="rgb8_snorm_pot" />
<Test name="rgb8_snorm_npot" />
<Test name="rgb8i_pot" />
<Test name="rgb8i_npot" />
<Test name="rgb8ui_pot" />
<Test name="rgb8ui_npot" />
<Test name="srgb8_pot" />
<Test name="srgb8_npot" />
<Test name="rgb9_e5_pot" />
<Test name="rgb9_e5_npot" />
<Test name="rg32f_pot" />
<Test name="rg32f_npot" />
<Test name="rg32i_pot" />
<Test name="rg32i_npot" />
<Test name="rg32ui_pot" />
<Test name="rg32ui_npot" />
<Test name="rg16f_pot" />
<Test name="rg16f_npot" />
<Test name="rg16i_pot" />
<Test name="rg16i_npot" />
<Test name="rg16ui_pot" />
<Test name="rg16ui_npot" />
<Test name="rg8_pot" />
<Test name="rg8_npot" />
<Test name="rg8i_pot" />
<Test name="rg8i_npot" />
<Test name="rg8ui_pot" />
<Test name="rg8ui_npot" />
<Test name="rg8_snorm_pot" />
<Test name="rg8_snorm_npot" />
<Test name="r32f_pot" />
<Test name="r32f_npot" />
<Test name="r32i_pot" />
<Test name="r32i_npot" />
<Test name="r32ui_pot" />
<Test name="r32ui_npot" />
<Test name="r16f_pot" />
<Test name="r16f_npot" />
<Test name="r16i_pot" />
<Test name="r16i_npot" />
<Test name="r16ui_pot" />
<Test name="r16ui_npot" />
<Test name="r8_pot" />
<Test name="r8_npot" />
<Test name="r8i_pot" />
<Test name="r8i_npot" />
<Test name="r8ui_pot" />
<Test name="r8ui_npot" />
<Test name="r8_snorm_pot" />
<Test name="r8_snorm_npot" />
<Test name="depth_component32f_pot" />
<Test name="depth_component32f_npot" />
<Test name="depth_component24_pot" />
<Test name="depth_component24_npot" />
<Test name="depth_component16_pot" />
<Test name="depth_component16_npot" />
<Test name="depth32f_stencil8_pot" />
<Test name="depth32f_stencil8_npot" />
<Test name="depth24_stencil8_pot" />
<Test name="depth24_stencil8_npot" />
</TestCase>
</TestSuite>
<TestCase name="buffer">
<Test name="r8_pot" />
<Test name="r8_npot" />
<Test name="r16f_pot" />
<Test name="r16f_npot" />
<Test name="r32f_pot" />
<Test name="r32f_npot" />
<Test name="r8i_pot" />
<Test name="r8i_npot" />
<Test name="r16i_pot" />
<Test name="r16i_npot" />
<Test name="r32i_pot" />
<Test name="r32i_npot" />
<Test name="r8ui_pot" />
<Test name="r8ui_npot" />
<Test name="r16ui_pot" />
<Test name="r16ui_npot" />
<Test name="r32ui_pot" />
<Test name="r32ui_npot" />
<Test name="rg8_pot" />
<Test name="rg8_npot" />
<Test name="rg16f_pot" />
<Test name="rg16f_npot" />
<Test name="rg32f_pot" />
<Test name="rg32f_npot" />
<Test name="rg8i_pot" />
<Test name="rg8i_npot" />
<Test name="rg16i_pot" />
<Test name="rg16i_npot" />
<Test name="rg32i_pot" />
<Test name="rg32i_npot" />
<Test name="rg8ui_pot" />
<Test name="rg8ui_npot" />
<Test name="rg16ui_pot" />
<Test name="rg16ui_npot" />
<Test name="rg32ui_pot" />
<Test name="rg32ui_npot" />
<Test name="rgba8_pot" />
<Test name="rgba8_npot" />
<Test name="rgba16f_pot" />
<Test name="rgba16f_npot" />
<Test name="rgba32f_pot" />
<Test name="rgba32f_npot" />
<Test name="rgba8i_pot" />
<Test name="rgba8i_npot" />
<Test name="rgba16i_pot" />
<Test name="rgba16i_npot" />
<Test name="rgba32i_pot" />
<Test name="rgba32i_npot" />
<Test name="rgba8ui_pot" />
<Test name="rgba8ui_npot" />
<Test name="rgba16ui_pot" />
<Test name="rgba16ui_npot" />
<Test name="rgba32ui_pot" />
<Test name="rgba32ui_npot" />
</TestCase>
</TestSuite>
<TestSuite name="specification">
<TestCase name="basic_teximage3d">
<Test name="rgba32f_cube_array" />
<Test name="rgba32i_cube_array" />
<Test name="rgba32ui_cube_array" />
<Test name="rgba16f_cube_array" />
<Test name="rgba16i_cube_array" />
<Test name="rgba16ui_cube_array" />
<Test name="rgba8_cube_array" />
<Test name="rgba8i_cube_array" />
<Test name="rgba8ui_cube_array" />
<Test name="srgb8_alpha8_cube_array" />
<Test name="rgb10_a2_cube_array" />
<Test name="rgb10_a2ui_cube_array" />
<Test name="rgba4_cube_array" />
<Test name="rgb5_a1_cube_array" />
<Test name="rgba8_snorm_cube_array" />
<Test name="rgb8_cube_array" />
<Test name="rgb565_cube_array" />
<Test name="r11f_g11f_b10f_cube_array" />
<Test name="rgb32f_cube_array" />
<Test name="rgb32i_cube_array" />
<Test name="rgb32ui_cube_array" />
<Test name="rgb16f_cube_array" />
<Test name="rgb16i_cube_array" />
<Test name="rgb16ui_cube_array" />
<Test name="rgb8_snorm_cube_array" />
<Test name="rgb8i_cube_array" />
<Test name="rgb8ui_cube_array" />
<Test name="srgb8_cube_array" />
<Test name="rgb9_e5_cube_array" />
<Test name="rg32f_cube_array" />
<Test name="rg32i_cube_array" />
<Test name="rg32ui_cube_array" />
<Test name="rg16f_cube_array" />
<Test name="rg16i_cube_array" />
<Test name="rg16ui_cube_array" />
<Test name="rg8_cube_array" />
<Test name="rg8i_cube_array" />
<Test name="rg8ui_cube_array" />
<Test name="rg8_snorm_cube_array" />
<Test name="r32f_cube_array" />
<Test name="r32i_cube_array" />
<Test name="r32ui_cube_array" />
<Test name="r16f_cube_array" />
<Test name="r16i_cube_array" />
<Test name="r16ui_cube_array" />
<Test name="r8_cube_array" />
<Test name="r8i_cube_array" />
<Test name="r8ui_cube_array" />
<Test name="r8_snorm_cube_array" />
</TestCase>
<TestCase name="teximage3d_pbo">
<Test name="rgba32f_cube_array" />
<Test name="rgba32i_cube_array" />
<Test name="rgba32ui_cube_array" />
<Test name="rgba16f_cube_array" />
<Test name="rgba16i_cube_array" />
<Test name="rgba16ui_cube_array" />
<Test name="rgba8_cube_array" />
<Test name="rgba8i_cube_array" />
<Test name="rgba8ui_cube_array" />
<Test name="srgb8_alpha8_cube_array" />
<Test name="rgb10_a2_cube_array" />
<Test name="rgb10_a2ui_cube_array" />
<Test name="rgba4_cube_array" />
<Test name="rgb5_a1_cube_array" />
<Test name="rgba8_snorm_cube_array" />
<Test name="rgb8_cube_array" />
<Test name="rgb565_cube_array" />
<Test name="r11f_g11f_b10f_cube_array" />
<Test name="rgb32f_cube_array" />
<Test name="rgb32i_cube_array" />
<Test name="rgb32ui_cube_array" />
<Test name="rgb16f_cube_array" />
<Test name="rgb16i_cube_array" />
<Test name="rgb16ui_cube_array" />
<Test name="rgb8_snorm_cube_array" />
<Test name="rgb8i_cube_array" />
<Test name="rgb8ui_cube_array" />
<Test name="srgb8_cube_array" />
<Test name="rgb9_e5_cube_array" />
<Test name="rg32f_cube_array" />
<Test name="rg32i_cube_array" />
<Test name="rg32ui_cube_array" />
<Test name="rg16f_cube_array" />
<Test name="rg16i_cube_array" />
<Test name="rg16ui_cube_array" />
<Test name="rg8_cube_array" />
<Test name="rg8i_cube_array" />
<Test name="rg8ui_cube_array" />
<Test name="rg8_snorm_cube_array" />
<Test name="r32f_cube_array" />
<Test name="r32i_cube_array" />
<Test name="r32ui_cube_array" />
<Test name="r16f_cube_array" />
<Test name="r16i_cube_array" />
<Test name="r16ui_cube_array" />
<Test name="r8_cube_array" />
<Test name="r8i_cube_array" />
<Test name="r8ui_cube_array" />
<Test name="r8_snorm_cube_array" />
<Test name="rgb8_offset_cube_array" />
<Test name="rgb8_alignment_cube_array" />
<Test name="rgb8_image_height_cube_array" />
<Test name="rgb8_row_length_cube_array" />
<Test name="rgb8_skip_images_cube_array" />
<Test name="rgb8_skip_rows_cube_array" />
<Test name="rgb8_skip_pixels_cube_array" />
</TestCase>
<TestCase name="teximage3d_depth">
<Test name="depth_component32f_cube_array" />
<Test name="depth_component24_cube_array" />
<Test name="depth_component16_cube_array" />
<Test name="depth32f_stencil8_cube_array" />
<Test name="depth24_stencil8_cube_array" />
</TestCase>
<TestCase name="teximage3d_depth_pbo">
<Test name="depth_component32f_cube_array" />
<Test name="depth_component24_cube_array" />
<Test name="depth_component16_cube_array" />
<Test name="depth32f_stencil8_cube_array" />
<Test name="depth24_stencil8_cube_array" />
</TestCase>
<TestCase name="texsubimage3d_pbo">
<Test name="rgba32f_cube_array" />
<Test name="rgba32i_cube_array" />
<Test name="rgba32ui_cube_array" />
<Test name="rgba16f_cube_array" />
<Test name="rgba16i_cube_array" />
<Test name="rgba16ui_cube_array" />
<Test name="rgba8_cube_array" />
<Test name="rgba8i_cube_array" />
<Test name="rgba8ui_cube_array" />
<Test name="srgb8_alpha8_cube_array" />
<Test name="rgb10_a2_cube_array" />
<Test name="rgb10_a2ui_cube_array" />
<Test name="rgba4_cube_array" />
<Test name="rgb5_a1_cube_array" />
<Test name="rgba8_snorm_cube_array" />
<Test name="rgb8_cube_array" />
<Test name="rgb565_cube_array" />
<Test name="r11f_g11f_b10f_cube_array" />
<Test name="rgb32f_cube_array" />
<Test name="rgb32i_cube_array" />
<Test name="rgb32ui_cube_array" />
<Test name="rgb16f_cube_array" />
<Test name="rgb16i_cube_array" />
<Test name="rgb16ui_cube_array" />
<Test name="rgb8_snorm_cube_array" />
<Test name="rgb8i_cube_array" />
<Test name="rgb8ui_cube_array" />
<Test name="srgb8_cube_array" />
<Test name="rgb9_e5_cube_array" />
<Test name="rg32f_cube_array" />
<Test name="rg32i_cube_array" />
<Test name="rg32ui_cube_array" />
<Test name="rg16f_cube_array" />
<Test name="rg16i_cube_array" />
<Test name="rg16ui_cube_array" />
<Test name="rg8_cube_array" />
<Test name="rg8i_cube_array" />
<Test name="rg8ui_cube_array" />
<Test name="rg8_snorm_cube_array" />
<Test name="r32f_cube_array" />
<Test name="r32i_cube_array" />
<Test name="r32ui_cube_array" />
<Test name="r16f_cube_array" />
<Test name="r16i_cube_array" />
<Test name="r16ui_cube_array" />
<Test name="r8_cube_array" />
<Test name="r8i_cube_array" />
<Test name="r8ui_cube_array" />
<Test name="r8_snorm_cube_array" />
<Test name="rgb8_offset_cube_array" />
<Test name="rgb8_image_height_cube_array" />
<Test name="rgb8_row_length_cube_array" />
<Test name="rgb8_skip_images_cube_array" />
<Test name="rgb8_skip_rows_cube_array" />
<Test name="rgb8_skip_pixels_cube_array" />
</TestCase>
<TestCase name="texsubimage3d_depth">
<Test name="depth_component32f_cube_array" />
<Test name="depth_component24_cube_array" />
<Test name="depth_component16_cube_array" />
<Test name="depth32f_stencil8_cube_array" />
<Test name="depth24_stencil8_cube_array" />
</TestCase>
<TestSuite name="texstorage3d">
<TestCase name="format">
<Test name="rgba32f_cube_array" />
<Test name="rgba32i_cube_array" />
<Test name="rgba32ui_cube_array" />
<Test name="rgba16f_cube_array" />
<Test name="rgba16i_cube_array" />
<Test name="rgba16ui_cube_array" />
<Test name="rgba8_cube_array" />
<Test name="rgba8i_cube_array" />
<Test name="rgba8ui_cube_array" />
<Test name="srgb8_alpha8_cube_array" />
<Test name="rgb10_a2_cube_array" />
<Test name="rgb10_a2ui_cube_array" />
<Test name="rgba4_cube_array" />
<Test name="rgb5_a1_cube_array" />
<Test name="rgba8_snorm_cube_array" />
<Test name="rgb8_cube_array" />
<Test name="rgb565_cube_array" />
<Test name="r11f_g11f_b10f_cube_array" />
<Test name="rgb32f_cube_array" />
<Test name="rgb32i_cube_array" />
<Test name="rgb32ui_cube_array" />
<Test name="rgb16f_cube_array" />
<Test name="rgb16i_cube_array" />
<Test name="rgb16ui_cube_array" />
<Test name="rgb8_snorm_cube_array" />
<Test name="rgb8i_cube_array" />
<Test name="rgb8ui_cube_array" />
<Test name="srgb8_cube_array" />
<Test name="rgb9_e5_cube_array" />
<Test name="rg32f_cube_array" />
<Test name="rg32i_cube_array" />
<Test name="rg32ui_cube_array" />
<Test name="rg16f_cube_array" />
<Test name="rg16i_cube_array" />
<Test name="rg16ui_cube_array" />
<Test name="rg8_cube_array" />
<Test name="rg8i_cube_array" />
<Test name="rg8ui_cube_array" />
<Test name="rg8_snorm_cube_array" />
<Test name="r32f_cube_array" />
<Test name="r32i_cube_array" />
<Test name="r32ui_cube_array" />
<Test name="r16f_cube_array" />
<Test name="r16i_cube_array" />
<Test name="r16ui_cube_array" />
<Test name="r8_cube_array" />
<Test name="r8i_cube_array" />
<Test name="r8ui_cube_array" />
<Test name="r8_snorm_cube_array" />
<Test name="depth_component32f_cube_array" />
<Test name="depth_component24_cube_array" />
<Test name="depth_component16_cube_array" />
<Test name="depth32f_stencil8_cube_array" />
<Test name="depth24_stencil8_cube_array" />
</TestCase>
<TestCase name="size">
<Test name="cube_array_1x1x6_1_levels" />
<Test name="cube_array_2x2x6_2_levels" />
<Test name="cube_array_32x32x6_3_levels" />
<Test name="cube_array_64x64x6_4_levels" />
<Test name="cube_array_57x57x12_1_levels" />
<Test name="cube_array_57x57x12_2_levels" />
<Test name="cube_array_57x57x12_6_levels" />
</TestCase>
</TestSuite>
</TestSuite>
<TestSuite name="multisample">
<TestCase name="samples_1">
<Test name="sample_position" />
<Test name="use_texture_color_2d" />
<Test name="use_texture_color_2d_array" />
<Test name="use_texture_int_2d" />
<Test name="use_texture_int_2d_array" />
<Test name="use_texture_uint_2d" />
<Test name="use_texture_uint_2d_array" />
<Test name="use_texture_depth_2d" />
<Test name="use_texture_depth_2d_array" />
</TestCase>
<TestCase name="samples_2">
<Test name="sample_position" />
<Test name="sample_mask_only" />
<Test name="sample_mask_and_alpha_to_coverage" />
<Test name="sample_mask_and_sample_coverage" />
<Test name="sample_mask_and_sample_coverage_and_alpha_to_coverage" />
<Test name="sample_mask_non_effective_bits" />
<Test name="use_texture_color_2d" />
<Test name="use_texture_color_2d_array" />
<Test name="use_texture_int_2d" />
<Test name="use_texture_int_2d_array" />
<Test name="use_texture_uint_2d" />
<Test name="use_texture_uint_2d_array" />
<Test name="use_texture_depth_2d" />
<Test name="use_texture_depth_2d_array" />
</TestCase>
<TestCase name="samples_3">
<Test name="sample_position" />
<Test name="sample_mask_only" />
<Test name="sample_mask_and_alpha_to_coverage" />
<Test name="sample_mask_and_sample_coverage" />
<Test name="sample_mask_and_sample_coverage_and_alpha_to_coverage" />
<Test name="sample_mask_non_effective_bits" />
<Test name="use_texture_color_2d" />
<Test name="use_texture_color_2d_array" />
<Test name="use_texture_int_2d" />
<Test name="use_texture_int_2d_array" />
<Test name="use_texture_uint_2d" />
<Test name="use_texture_uint_2d_array" />
<Test name="use_texture_depth_2d" />
<Test name="use_texture_depth_2d_array" />
</TestCase>
<TestCase name="samples_4">
<Test name="sample_position" />
<Test name="sample_mask_only" />
<Test name="sample_mask_and_alpha_to_coverage" />
<Test name="sample_mask_and_sample_coverage" />
<Test name="sample_mask_and_sample_coverage_and_alpha_to_coverage" />
<Test name="sample_mask_non_effective_bits" />
<Test name="use_texture_color_2d" />
<Test name="use_texture_color_2d_array" />
<Test name="use_texture_int_2d" />
<Test name="use_texture_int_2d_array" />
<Test name="use_texture_uint_2d" />
<Test name="use_texture_uint_2d_array" />
<Test name="use_texture_depth_2d" />
<Test name="use_texture_depth_2d_array" />
</TestCase>
<TestCase name="samples_8">
<Test name="sample_position" />
<Test name="sample_mask_only" />
<Test name="sample_mask_and_alpha_to_coverage" />
<Test name="sample_mask_and_sample_coverage" />
<Test name="sample_mask_and_sample_coverage_and_alpha_to_coverage" />
<Test name="sample_mask_non_effective_bits" />
<Test name="use_texture_color_2d" />
<Test name="use_texture_color_2d_array" />
<Test name="use_texture_int_2d" />
<Test name="use_texture_int_2d_array" />
<Test name="use_texture_uint_2d" />
<Test name="use_texture_uint_2d_array" />
<Test name="use_texture_depth_2d" />
<Test name="use_texture_depth_2d_array" />
</TestCase>
<TestCase name="samples_10">
<Test name="sample_position" />
<Test name="sample_mask_only" />
<Test name="sample_mask_and_alpha_to_coverage" />
<Test name="sample_mask_and_sample_coverage" />
<Test name="sample_mask_and_sample_coverage_and_alpha_to_coverage" />
<Test name="sample_mask_non_effective_bits" />
<Test name="use_texture_color_2d" />
<Test name="use_texture_color_2d_array" />
<Test name="use_texture_int_2d" />
<Test name="use_texture_int_2d_array" />
<Test name="use_texture_uint_2d" />
<Test name="use_texture_uint_2d_array" />
<Test name="use_texture_depth_2d" />
<Test name="use_texture_depth_2d_array" />
</TestCase>
<TestCase name="samples_12">
<Test name="sample_position" />
<Test name="sample_mask_only" />
<Test name="sample_mask_and_alpha_to_coverage" />
<Test name="sample_mask_and_sample_coverage" />
<Test name="sample_mask_and_sample_coverage_and_alpha_to_coverage" />
<Test name="sample_mask_non_effective_bits" />
<Test name="use_texture_color_2d" />
<Test name="use_texture_color_2d_array" />
<Test name="use_texture_int_2d" />
<Test name="use_texture_int_2d_array" />
<Test name="use_texture_uint_2d" />
<Test name="use_texture_uint_2d_array" />
<Test name="use_texture_depth_2d" />
<Test name="use_texture_depth_2d_array" />
</TestCase>
<TestCase name="samples_13">
<Test name="sample_position" />
<Test name="sample_mask_only" />
<Test name="sample_mask_and_alpha_to_coverage" />
<Test name="sample_mask_and_sample_coverage" />
<Test name="sample_mask_and_sample_coverage_and_alpha_to_coverage" />
<Test name="sample_mask_non_effective_bits" />
<Test name="use_texture_color_2d" />
<Test name="use_texture_color_2d_array" />
<Test name="use_texture_int_2d" />
<Test name="use_texture_int_2d_array" />
<Test name="use_texture_uint_2d" />
<Test name="use_texture_uint_2d_array" />
<Test name="use_texture_depth_2d" />
<Test name="use_texture_depth_2d_array" />
</TestCase>
<TestCase name="samples_16">
<Test name="sample_position" />
<Test name="sample_mask_only" />
<Test name="sample_mask_and_alpha_to_coverage" />
<Test name="sample_mask_and_sample_coverage" />
<Test name="sample_mask_and_sample_coverage_and_alpha_to_coverage" />
<Test name="sample_mask_non_effective_bits" />
<Test name="use_texture_color_2d" />
<Test name="use_texture_color_2d_array" />
<Test name="use_texture_int_2d" />
<Test name="use_texture_int_2d_array" />
<Test name="use_texture_uint_2d" />
<Test name="use_texture_uint_2d_array" />
<Test name="use_texture_depth_2d" />
<Test name="use_texture_depth_2d_array" />
</TestCase>
<TestCase name="samples_64">
<Test name="sample_position" />
<Test name="sample_mask_only" />
<Test name="sample_mask_and_alpha_to_coverage" />
<Test name="sample_mask_and_sample_coverage" />
<Test name="sample_mask_and_sample_coverage_and_alpha_to_coverage" />
<Test name="sample_mask_non_effective_bits" />
<Test name="use_texture_color_2d" />
<Test name="use_texture_color_2d_array" />
<Test name="use_texture_int_2d" />
<Test name="use_texture_int_2d_array" />
<Test name="use_texture_uint_2d" />
<Test name="use_texture_uint_2d_array" />
<Test name="use_texture_depth_2d" />
<Test name="use_texture_depth_2d_array" />
</TestCase>
<TestCase name="negative">
<Test name="fbo_attach_different_sample_count_tex_tex" />
<Test name="fbo_attach_different_sample_count_tex_rbo" />
<Test name="fbo_attach_different_fixed_state_tex_tex" />
<Test name="fbo_attach_different_fixed_state_tex_rbo" />
<Test name="fbo_attach_non_zero_level" />
<Test name="texture_min_filter" />
<Test name="texture_mag_filter" />
<Test name="texture_wrap_s" />
<Test name="texture_wrap_t" />
<Test name="texture_wrap_r" />
<Test name="texture_min_lod" />
<Test name="texture_max_lod" />
<Test name="texture_compare_mode" />
<Test name="texture_compare_func" />
<Test name="texture_base_level" />
<Test name="texture_high_sample_count" />
<Test name="texture_zero_sample_count" />
</TestCase>
</TestSuite>
<TestSuite name="gather">
<TestSuite name="basic">
<TestSuite name="2d">
<TestSuite name="rgba8">
<TestCase name="size_pot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="size_npot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="texture_swizzle">
<Test name="green_blue_alpha_zero" />
<Test name="blue_alpha_zero_one" />
<Test name="alpha_zero_one_red" />
<Test name="zero_one_red_green" />
<Test name="one_red_green_blue" />
</TestCase>
<TestCase name="filter_mode">
<Test name="min_linear_mag_linear" />
<Test name="min_nearest_mipmap_nearest_mag_linear" />
<Test name="min_nearest_mipmap_linear_mag_linear" />
<Test name="min_linear_mipmap_nearest_mag_linear" />
<Test name="min_linear_mipmap_linear_mag_linear" />
</TestCase>
<TestCase name="base_level">
<Test name="level_1" />
<Test name="level_2" />
</TestCase>
<TestCase name="incomplete">
<Test name="mipmap_incomplete" />
</TestCase>
</TestSuite>
<TestSuite name="rgba8ui">
<TestCase name="size_pot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="size_npot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="texture_swizzle">
<Test name="green_blue_alpha_zero" />
<Test name="blue_alpha_zero_one" />
<Test name="alpha_zero_one_red" />
<Test name="zero_one_red_green" />
<Test name="one_red_green_blue" />
</TestCase>
<TestCase name="filter_mode">
<Test name="min_nearest_mipmap_nearest_mag_nearest" />
</TestCase>
<TestCase name="base_level">
<Test name="level_1" />
<Test name="level_2" />
</TestCase>
</TestSuite>
<TestSuite name="rgba8i">
<TestCase name="size_pot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="size_npot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="texture_swizzle">
<Test name="green_blue_alpha_zero" />
<Test name="blue_alpha_zero_one" />
<Test name="alpha_zero_one_red" />
<Test name="zero_one_red_green" />
<Test name="one_red_green_blue" />
</TestCase>
<TestCase name="filter_mode">
<Test name="min_nearest_mipmap_nearest_mag_nearest" />
</TestCase>
<TestCase name="base_level">
<Test name="level_1" />
<Test name="level_2" />
</TestCase>
</TestSuite>
<TestSuite name="depth32f">
<TestSuite name="size_pot">
<TestCase name="compare_less">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
</TestCase>
<TestCase name="compare_greater">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
</TestCase>
</TestSuite>
<TestSuite name="size_npot">
<TestCase name="compare_less">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="compare_greater">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
</TestSuite>
<TestCase name="filter_mode">
<Test name="min_linear_mag_linear" />
<Test name="min_nearest_mipmap_nearest_mag_linear" />
<Test name="min_nearest_mipmap_linear_mag_linear" />
<Test name="min_linear_mipmap_nearest_mag_linear" />
<Test name="min_linear_mipmap_linear_mag_linear" />
</TestCase>
<TestCase name="base_level">
<Test name="level_1" />
<Test name="level_2" />
</TestCase>
</TestSuite>
</TestSuite>
<TestSuite name="2d_array">
<TestSuite name="rgba8">
<TestCase name="size_pot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="size_npot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="texture_swizzle">
<Test name="green_blue_alpha_zero" />
<Test name="blue_alpha_zero_one" />
<Test name="alpha_zero_one_red" />
<Test name="zero_one_red_green" />
<Test name="one_red_green_blue" />
</TestCase>
<TestCase name="filter_mode">
<Test name="min_linear_mag_linear" />
<Test name="min_nearest_mipmap_nearest_mag_linear" />
<Test name="min_nearest_mipmap_linear_mag_linear" />
<Test name="min_linear_mipmap_nearest_mag_linear" />
<Test name="min_linear_mipmap_linear_mag_linear" />
</TestCase>
<TestCase name="base_level">
<Test name="level_1" />
<Test name="level_2" />
</TestCase>
<TestCase name="incomplete">
<Test name="mipmap_incomplete" />
</TestCase>
</TestSuite>
<TestSuite name="rgba8ui">
<TestCase name="size_pot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="size_npot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="texture_swizzle">
<Test name="green_blue_alpha_zero" />
<Test name="blue_alpha_zero_one" />
<Test name="alpha_zero_one_red" />
<Test name="zero_one_red_green" />
<Test name="one_red_green_blue" />
</TestCase>
<TestCase name="filter_mode">
<Test name="min_nearest_mipmap_nearest_mag_nearest" />
</TestCase>
<TestCase name="base_level">
<Test name="level_1" />
<Test name="level_2" />
</TestCase>
</TestSuite>
<TestSuite name="rgba8i">
<TestCase name="size_pot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="size_npot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="texture_swizzle">
<Test name="green_blue_alpha_zero" />
<Test name="blue_alpha_zero_one" />
<Test name="alpha_zero_one_red" />
<Test name="zero_one_red_green" />
<Test name="one_red_green_blue" />
</TestCase>
<TestCase name="filter_mode">
<Test name="min_nearest_mipmap_nearest_mag_nearest" />
</TestCase>
<TestCase name="base_level">
<Test name="level_1" />
<Test name="level_2" />
</TestCase>
</TestSuite>
<TestSuite name="depth32f">
<TestSuite name="size_pot">
<TestCase name="compare_less">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="compare_greater">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
</TestSuite>
<TestSuite name="size_npot">
<TestCase name="compare_less">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="compare_greater">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
</TestSuite>
<TestCase name="filter_mode">
<Test name="min_linear_mag_linear" />
<Test name="min_nearest_mipmap_nearest_mag_linear" />
<Test name="min_nearest_mipmap_linear_mag_linear" />
<Test name="min_linear_mipmap_nearest_mag_linear" />
<Test name="min_linear_mipmap_linear_mag_linear" />
</TestCase>
<TestCase name="base_level">
<Test name="level_1" />
<Test name="level_2" />
</TestCase>
</TestSuite>
</TestSuite>
<TestSuite name="cube">
<TestSuite name="rgba8">
<TestCase name="size_pot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="size_npot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="texture_swizzle">
<Test name="green_blue_alpha_zero" />
<Test name="blue_alpha_zero_one" />
<Test name="alpha_zero_one_red" />
<Test name="zero_one_red_green" />
<Test name="one_red_green_blue" />
</TestCase>
<TestCase name="filter_mode">
<Test name="min_linear_mag_linear" />
<Test name="min_nearest_mipmap_nearest_mag_linear" />
<Test name="min_nearest_mipmap_linear_mag_linear" />
<Test name="min_linear_mipmap_nearest_mag_linear" />
<Test name="min_linear_mipmap_linear_mag_linear" />
</TestCase>
<TestCase name="base_level">
<Test name="level_1" />
<Test name="level_2" />
</TestCase>
</TestSuite>
<TestSuite name="rgba8ui">
<TestCase name="size_pot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="size_npot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="texture_swizzle">
<Test name="green_blue_alpha_zero" />
<Test name="blue_alpha_zero_one" />
<Test name="alpha_zero_one_red" />
<Test name="zero_one_red_green" />
<Test name="one_red_green_blue" />
</TestCase>
<TestCase name="filter_mode">
<Test name="min_nearest_mipmap_nearest_mag_nearest" />
</TestCase>
<TestCase name="base_level">
<Test name="level_1" />
<Test name="level_2" />
</TestCase>
</TestSuite>
<TestSuite name="rgba8i">
<TestCase name="size_pot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="size_npot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="texture_swizzle">
<Test name="green_blue_alpha_zero" />
<Test name="blue_alpha_zero_one" />
<Test name="alpha_zero_one_red" />
<Test name="zero_one_red_green" />
<Test name="one_red_green_blue" />
</TestCase>
<TestCase name="filter_mode">
<Test name="min_nearest_mipmap_nearest_mag_nearest" />
</TestCase>
<TestCase name="base_level">
<Test name="level_1" />
<Test name="level_2" />
</TestCase>
</TestSuite>
<TestSuite name="depth32f">
<TestSuite name="size_pot">
<TestCase name="compare_less">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="compare_greater">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
</TestSuite>
<TestSuite name="size_npot">
<TestCase name="compare_less">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="compare_greater">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
</TestSuite>
<TestCase name="filter_mode">
<Test name="min_linear_mag_linear" />
</TestCase>
<TestCase name="base_level">
<Test name="level_1" />
<Test name="level_2" />
</TestCase>
</TestSuite>
</TestSuite>
</TestSuite>
<TestSuite name="offset">
<TestSuite name="min_required_offset">
<TestSuite name="2d">
<TestSuite name="rgba8">
<TestCase name="size_pot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="size_npot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
</TestSuite>
<TestSuite name="rgba8ui">
<TestCase name="size_pot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="size_npot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
</TestSuite>
<TestSuite name="rgba8i">
<TestCase name="size_pot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="size_npot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
</TestSuite>
<TestSuite name="depth32f">
<TestSuite name="size_pot">
<TestCase name="compare_less">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="compare_greater">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
</TestSuite>
<TestSuite name="size_npot">
<TestCase name="compare_less">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="compare_greater">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
</TestSuite>
</TestSuite>
</TestSuite>
<TestSuite name="2d_array">
<TestSuite name="rgba8">
<TestCase name="size_pot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="size_npot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
</TestSuite>
<TestSuite name="rgba8ui">
<TestCase name="size_pot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="size_npot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
</TestSuite>
<TestSuite name="rgba8i">
<TestCase name="size_pot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="size_npot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
</TestSuite>
<TestSuite name="depth32f">
<TestSuite name="size_pot">
<TestCase name="compare_less">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="compare_greater">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
</TestSuite>
<TestSuite name="size_npot">
<TestCase name="compare_less">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="compare_greater">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
</TestSuite>
</TestSuite>
</TestSuite>
</TestSuite>
<TestSuite name="implementation_offset">
<TestSuite name="2d">
<TestSuite name="rgba8">
<TestCase name="size_pot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="size_npot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="texture_swizzle">
<Test name="green_blue_alpha_zero" />
<Test name="blue_alpha_zero_one" />
<Test name="alpha_zero_one_red" />
<Test name="zero_one_red_green" />
<Test name="one_red_green_blue" />
</TestCase>
<TestCase name="filter_mode">
<Test name="min_linear_mag_linear" />
<Test name="min_nearest_mipmap_nearest_mag_linear" />
<Test name="min_nearest_mipmap_linear_mag_linear" />
<Test name="min_linear_mipmap_nearest_mag_linear" />
<Test name="min_linear_mipmap_linear_mag_linear" />
</TestCase>
<TestCase name="base_level">
<Test name="level_1" />
<Test name="level_2" />
</TestCase>
<TestCase name="incomplete">
<Test name="mipmap_incomplete" />
</TestCase>
</TestSuite>
<TestSuite name="rgba8ui">
<TestCase name="size_pot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="size_npot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="texture_swizzle">
<Test name="green_blue_alpha_zero" />
<Test name="blue_alpha_zero_one" />
<Test name="alpha_zero_one_red" />
<Test name="zero_one_red_green" />
<Test name="one_red_green_blue" />
</TestCase>
<TestCase name="filter_mode">
<Test name="min_nearest_mipmap_nearest_mag_nearest" />
</TestCase>
<TestCase name="base_level">
<Test name="level_1" />
<Test name="level_2" />
</TestCase>
</TestSuite>
<TestSuite name="rgba8i">
<TestCase name="size_pot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="size_npot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="texture_swizzle">
<Test name="green_blue_alpha_zero" />
<Test name="blue_alpha_zero_one" />
<Test name="alpha_zero_one_red" />
<Test name="zero_one_red_green" />
<Test name="one_red_green_blue" />
</TestCase>
<TestCase name="filter_mode">
<Test name="min_nearest_mipmap_nearest_mag_nearest" />
</TestCase>
<TestCase name="base_level">
<Test name="level_1" />
<Test name="level_2" />
</TestCase>
</TestSuite>
<TestSuite name="depth32f">
<TestSuite name="size_pot">
<TestCase name="compare_less">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="compare_greater">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
</TestSuite>
<TestSuite name="size_npot">
<TestCase name="compare_less">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="compare_greater">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
</TestSuite>
<TestCase name="filter_mode">
<Test name="min_linear_mag_linear" />
<Test name="min_nearest_mipmap_nearest_mag_linear" />
<Test name="min_nearest_mipmap_linear_mag_linear" />
<Test name="min_linear_mipmap_nearest_mag_linear" />
<Test name="min_linear_mipmap_linear_mag_linear" />
</TestCase>
<TestCase name="base_level">
<Test name="level_1" />
<Test name="level_2" />
</TestCase>
</TestSuite>
</TestSuite>
<TestSuite name="2d_array">
<TestSuite name="rgba8">
<TestCase name="size_pot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="size_npot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="texture_swizzle">
<Test name="green_blue_alpha_zero" />
<Test name="blue_alpha_zero_one" />
<Test name="alpha_zero_one_red" />
<Test name="zero_one_red_green" />
<Test name="one_red_green_blue" />
</TestCase>
<TestCase name="filter_mode">
<Test name="min_linear_mag_linear" />
<Test name="min_nearest_mipmap_nearest_mag_linear" />
<Test name="min_nearest_mipmap_linear_mag_linear" />
<Test name="min_linear_mipmap_nearest_mag_linear" />
<Test name="min_linear_mipmap_linear_mag_linear" />
</TestCase>
<TestCase name="base_level">
<Test name="level_1" />
<Test name="level_2" />
</TestCase>
<TestCase name="incomplete">
<Test name="mipmap_incomplete" />
</TestCase>
</TestSuite>
<TestSuite name="rgba8ui">
<TestCase name="size_pot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="size_npot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="texture_swizzle">
<Test name="green_blue_alpha_zero" />
<Test name="blue_alpha_zero_one" />
<Test name="alpha_zero_one_red" />
<Test name="zero_one_red_green" />
<Test name="one_red_green_blue" />
</TestCase>
<TestCase name="filter_mode">
<Test name="min_nearest_mipmap_nearest_mag_nearest" />
</TestCase>
<TestCase name="base_level">
<Test name="level_1" />
<Test name="level_2" />
</TestCase>
</TestSuite>
<TestSuite name="rgba8i">
<TestCase name="size_pot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="size_npot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="texture_swizzle">
<Test name="green_blue_alpha_zero" />
<Test name="blue_alpha_zero_one" />
<Test name="alpha_zero_one_red" />
<Test name="zero_one_red_green" />
<Test name="one_red_green_blue" />
</TestCase>
<TestCase name="filter_mode">
<Test name="min_nearest_mipmap_nearest_mag_nearest" />
</TestCase>
<TestCase name="base_level">
<Test name="level_1" />
<Test name="level_2" />
</TestCase>
</TestSuite>
<TestSuite name="depth32f">
<TestSuite name="size_pot">
<TestCase name="compare_less">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="compare_greater">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
</TestSuite>
<TestSuite name="size_npot">
<TestCase name="compare_less">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="compare_greater">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
</TestSuite>
<TestCase name="filter_mode">
<Test name="min_linear_mag_linear" />
<Test name="min_nearest_mipmap_nearest_mag_linear" />
<Test name="min_nearest_mipmap_linear_mag_linear" />
<Test name="min_linear_mipmap_nearest_mag_linear" />
<Test name="min_linear_mipmap_linear_mag_linear" />
</TestCase>
<TestCase name="base_level">
<Test name="level_1" />
<Test name="level_2" />
</TestCase>
</TestSuite>
</TestSuite>
</TestSuite>
</TestSuite>
<TestSuite name="offset_dynamic">
<TestSuite name="min_required_offset">
<TestSuite name="2d">
<TestSuite name="rgba8">
<TestCase name="size_pot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="size_npot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
</TestSuite>
<TestSuite name="rgba8ui">
<TestCase name="size_pot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="size_npot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
</TestSuite>
<TestSuite name="rgba8i">
<TestCase name="size_pot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="size_npot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
</TestSuite>
<TestSuite name="depth32f">
<TestSuite name="size_pot">
<TestCase name="compare_less">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="compare_greater">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
</TestSuite>
<TestSuite name="size_npot">
<TestCase name="compare_less">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="compare_greater">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
</TestSuite>
</TestSuite>
</TestSuite>
<TestSuite name="2d_array">
<TestSuite name="rgba8">
<TestCase name="size_pot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="size_npot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
</TestSuite>
<TestSuite name="rgba8ui">
<TestCase name="size_pot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="size_npot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
</TestSuite>
<TestSuite name="rgba8i">
<TestCase name="size_pot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="size_npot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
</TestSuite>
<TestSuite name="depth32f">
<TestSuite name="size_pot">
<TestCase name="compare_less">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="compare_greater">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
</TestSuite>
<TestSuite name="size_npot">
<TestCase name="compare_less">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="compare_greater">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
</TestSuite>
</TestSuite>
</TestSuite>
</TestSuite>
<TestSuite name="implementation_offset">
<TestSuite name="2d">
<TestSuite name="rgba8">
<TestCase name="size_pot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="size_npot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="texture_swizzle">
<Test name="green_blue_alpha_zero" />
<Test name="blue_alpha_zero_one" />
<Test name="alpha_zero_one_red" />
<Test name="zero_one_red_green" />
<Test name="one_red_green_blue" />
</TestCase>
<TestCase name="filter_mode">
<Test name="min_linear_mag_linear" />
<Test name="min_nearest_mipmap_nearest_mag_linear" />
<Test name="min_nearest_mipmap_linear_mag_linear" />
<Test name="min_linear_mipmap_nearest_mag_linear" />
<Test name="min_linear_mipmap_linear_mag_linear" />
</TestCase>
<TestCase name="base_level">
<Test name="level_1" />
<Test name="level_2" />
</TestCase>
<TestCase name="incomplete">
<Test name="mipmap_incomplete" />
</TestCase>
</TestSuite>
<TestSuite name="rgba8ui">
<TestCase name="size_pot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="size_npot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="texture_swizzle">
<Test name="green_blue_alpha_zero" />
<Test name="blue_alpha_zero_one" />
<Test name="alpha_zero_one_red" />
<Test name="zero_one_red_green" />
<Test name="one_red_green_blue" />
</TestCase>
<TestCase name="filter_mode">
<Test name="min_nearest_mipmap_nearest_mag_nearest" />
</TestCase>
<TestCase name="base_level">
<Test name="level_1" />
<Test name="level_2" />
</TestCase>
</TestSuite>
<TestSuite name="rgba8i">
<TestCase name="size_pot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="size_npot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="texture_swizzle">
<Test name="green_blue_alpha_zero" />
<Test name="blue_alpha_zero_one" />
<Test name="alpha_zero_one_red" />
<Test name="zero_one_red_green" />
<Test name="one_red_green_blue" />
</TestCase>
<TestCase name="filter_mode">
<Test name="min_nearest_mipmap_nearest_mag_nearest" />
</TestCase>
<TestCase name="base_level">
<Test name="level_1" />
<Test name="level_2" />
</TestCase>
</TestSuite>
<TestSuite name="depth32f">
<TestSuite name="size_pot">
<TestCase name="compare_less">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="compare_greater">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
</TestSuite>
<TestSuite name="size_npot">
<TestCase name="compare_less">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="compare_greater">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
</TestSuite>
<TestCase name="filter_mode">
<Test name="min_linear_mag_linear" />
<Test name="min_nearest_mipmap_nearest_mag_linear" />
<Test name="min_nearest_mipmap_linear_mag_linear" />
<Test name="min_linear_mipmap_nearest_mag_linear" />
<Test name="min_linear_mipmap_linear_mag_linear" />
</TestCase>
<TestCase name="base_level">
<Test name="level_1" />
<Test name="level_2" />
</TestCase>
</TestSuite>
</TestSuite>
<TestSuite name="2d_array">
<TestSuite name="rgba8">
<TestCase name="size_pot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="size_npot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="texture_swizzle">
<Test name="green_blue_alpha_zero" />
<Test name="blue_alpha_zero_one" />
<Test name="alpha_zero_one_red" />
<Test name="zero_one_red_green" />
<Test name="one_red_green_blue" />
</TestCase>
<TestCase name="filter_mode">
<Test name="min_linear_mag_linear" />
<Test name="min_nearest_mipmap_nearest_mag_linear" />
<Test name="min_nearest_mipmap_linear_mag_linear" />
<Test name="min_linear_mipmap_nearest_mag_linear" />
<Test name="min_linear_mipmap_linear_mag_linear" />
</TestCase>
<TestCase name="base_level">
<Test name="level_1" />
<Test name="level_2" />
</TestCase>
<TestCase name="incomplete">
<Test name="mipmap_incomplete" />
</TestCase>
</TestSuite>
<TestSuite name="rgba8ui">
<TestCase name="size_pot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="size_npot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="texture_swizzle">
<Test name="green_blue_alpha_zero" />
<Test name="blue_alpha_zero_one" />
<Test name="alpha_zero_one_red" />
<Test name="zero_one_red_green" />
<Test name="one_red_green_blue" />
</TestCase>
<TestCase name="filter_mode">
<Test name="min_nearest_mipmap_nearest_mag_nearest" />
</TestCase>
<TestCase name="base_level">
<Test name="level_1" />
<Test name="level_2" />
</TestCase>
</TestSuite>
<TestSuite name="rgba8i">
<TestCase name="size_pot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="size_npot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="texture_swizzle">
<Test name="green_blue_alpha_zero" />
<Test name="blue_alpha_zero_one" />
<Test name="alpha_zero_one_red" />
<Test name="zero_one_red_green" />
<Test name="one_red_green_blue" />
</TestCase>
<TestCase name="filter_mode">
<Test name="min_nearest_mipmap_nearest_mag_nearest" />
</TestCase>
<TestCase name="base_level">
<Test name="level_1" />
<Test name="level_2" />
</TestCase>
</TestSuite>
<TestSuite name="depth32f">
<TestSuite name="size_pot">
<TestCase name="compare_less">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="compare_greater">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
</TestSuite>
<TestSuite name="size_npot">
<TestCase name="compare_less">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="compare_greater">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
</TestSuite>
<TestCase name="filter_mode">
<Test name="min_linear_mag_linear" />
<Test name="min_nearest_mipmap_nearest_mag_linear" />
<Test name="min_nearest_mipmap_linear_mag_linear" />
<Test name="min_linear_mipmap_nearest_mag_linear" />
<Test name="min_linear_mipmap_linear_mag_linear" />
</TestCase>
<TestCase name="base_level">
<Test name="level_1" />
<Test name="level_2" />
</TestCase>
</TestSuite>
</TestSuite>
</TestSuite>
</TestSuite>
<TestSuite name="offsets">
<TestSuite name="min_required_offset">
<TestSuite name="2d">
<TestSuite name="rgba8">
<TestCase name="size_pot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="size_npot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
</TestSuite>
<TestSuite name="rgba8ui">
<TestCase name="size_pot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="size_npot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
</TestSuite>
<TestSuite name="rgba8i">
<TestCase name="size_pot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="size_npot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
</TestSuite>
<TestSuite name="depth32f">
<TestSuite name="size_pot">
<TestCase name="compare_less">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="compare_greater">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
</TestSuite>
<TestSuite name="size_npot">
<TestCase name="compare_less">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="compare_greater">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
</TestSuite>
</TestSuite>
</TestSuite>
<TestSuite name="2d_array">
<TestSuite name="rgba8">
<TestCase name="size_pot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="size_npot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
</TestSuite>
<TestSuite name="rgba8ui">
<TestCase name="size_pot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="size_npot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
</TestSuite>
<TestSuite name="rgba8i">
<TestCase name="size_pot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="size_npot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
</TestSuite>
<TestSuite name="depth32f">
<TestSuite name="size_pot">
<TestCase name="compare_less">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="compare_greater">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
</TestSuite>
<TestSuite name="size_npot">
<TestCase name="compare_less">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="compare_greater">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
</TestSuite>
</TestSuite>
</TestSuite>
</TestSuite>
<TestSuite name="implementation_offset">
<TestSuite name="2d">
<TestSuite name="rgba8">
<TestCase name="size_pot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="size_npot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="texture_swizzle">
<Test name="green_blue_alpha_zero" />
<Test name="blue_alpha_zero_one" />
<Test name="alpha_zero_one_red" />
<Test name="zero_one_red_green" />
<Test name="one_red_green_blue" />
</TestCase>
<TestCase name="filter_mode">
<Test name="min_linear_mag_linear" />
<Test name="min_nearest_mipmap_nearest_mag_linear" />
<Test name="min_nearest_mipmap_linear_mag_linear" />
<Test name="min_linear_mipmap_nearest_mag_linear" />
<Test name="min_linear_mipmap_linear_mag_linear" />
</TestCase>
<TestCase name="base_level">
<Test name="level_1" />
<Test name="level_2" />
</TestCase>
<TestCase name="incomplete">
<Test name="mipmap_incomplete" />
</TestCase>
</TestSuite>
<TestSuite name="rgba8ui">
<TestCase name="size_pot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="size_npot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="texture_swizzle">
<Test name="green_blue_alpha_zero" />
<Test name="blue_alpha_zero_one" />
<Test name="alpha_zero_one_red" />
<Test name="zero_one_red_green" />
<Test name="one_red_green_blue" />
</TestCase>
<TestCase name="filter_mode">
<Test name="min_nearest_mipmap_nearest_mag_nearest" />
</TestCase>
<TestCase name="base_level">
<Test name="level_1" />
<Test name="level_2" />
</TestCase>
</TestSuite>
<TestSuite name="rgba8i">
<TestCase name="size_pot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="size_npot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="texture_swizzle">
<Test name="green_blue_alpha_zero" />
<Test name="blue_alpha_zero_one" />
<Test name="alpha_zero_one_red" />
<Test name="zero_one_red_green" />
<Test name="one_red_green_blue" />
</TestCase>
<TestCase name="filter_mode">
<Test name="min_nearest_mipmap_nearest_mag_nearest" />
</TestCase>
<TestCase name="base_level">
<Test name="level_1" />
<Test name="level_2" />
</TestCase>
</TestSuite>
<TestSuite name="depth32f">
<TestSuite name="size_pot">
<TestCase name="compare_less">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="compare_greater">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
</TestSuite>
<TestSuite name="size_npot">
<TestCase name="compare_less">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="compare_greater">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
</TestSuite>
<TestCase name="filter_mode">
<Test name="min_linear_mag_linear" />
<Test name="min_nearest_mipmap_nearest_mag_linear" />
<Test name="min_nearest_mipmap_linear_mag_linear" />
<Test name="min_linear_mipmap_nearest_mag_linear" />
<Test name="min_linear_mipmap_linear_mag_linear" />
</TestCase>
<TestCase name="base_level">
<Test name="level_1" />
<Test name="level_2" />
</TestCase>
</TestSuite>
</TestSuite>
<TestSuite name="2d_array">
<TestSuite name="rgba8">
<TestCase name="size_pot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="size_npot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="texture_swizzle">
<Test name="green_blue_alpha_zero" />
<Test name="blue_alpha_zero_one" />
<Test name="alpha_zero_one_red" />
<Test name="zero_one_red_green" />
<Test name="one_red_green_blue" />
</TestCase>
<TestCase name="filter_mode">
<Test name="min_linear_mag_linear" />
<Test name="min_nearest_mipmap_nearest_mag_linear" />
<Test name="min_nearest_mipmap_linear_mag_linear" />
<Test name="min_linear_mipmap_nearest_mag_linear" />
<Test name="min_linear_mipmap_linear_mag_linear" />
</TestCase>
<TestCase name="base_level">
<Test name="level_1" />
<Test name="level_2" />
</TestCase>
<TestCase name="incomplete">
<Test name="mipmap_incomplete" />
</TestCase>
</TestSuite>
<TestSuite name="rgba8ui">
<TestCase name="size_pot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="size_npot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="texture_swizzle">
<Test name="green_blue_alpha_zero" />
<Test name="blue_alpha_zero_one" />
<Test name="alpha_zero_one_red" />
<Test name="zero_one_red_green" />
<Test name="one_red_green_blue" />
</TestCase>
<TestCase name="filter_mode">
<Test name="min_nearest_mipmap_nearest_mag_nearest" />
</TestCase>
<TestCase name="base_level">
<Test name="level_1" />
<Test name="level_2" />
</TestCase>
</TestSuite>
<TestSuite name="rgba8i">
<TestCase name="size_pot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="size_npot">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="texture_swizzle">
<Test name="green_blue_alpha_zero" />
<Test name="blue_alpha_zero_one" />
<Test name="alpha_zero_one_red" />
<Test name="zero_one_red_green" />
<Test name="one_red_green_blue" />
</TestCase>
<TestCase name="filter_mode">
<Test name="min_nearest_mipmap_nearest_mag_nearest" />
</TestCase>
<TestCase name="base_level">
<Test name="level_1" />
<Test name="level_2" />
</TestCase>
</TestSuite>
<TestSuite name="depth32f">
<TestSuite name="size_pot">
<TestCase name="compare_less">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="compare_greater">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
</TestSuite>
<TestSuite name="size_npot">
<TestCase name="compare_less">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
<TestCase name="compare_greater">
<Test name="clamp_to_edge_repeat" />
<Test name="repeat_mirrored_repeat" />
<Test name="mirrored_repeat_clamp_to_edge" />
</TestCase>
</TestSuite>
<TestCase name="filter_mode">
<Test name="min_linear_mag_linear" />
<Test name="min_nearest_mipmap_nearest_mag_linear" />
<Test name="min_nearest_mipmap_linear_mag_linear" />
<Test name="min_linear_mipmap_nearest_mag_linear" />
<Test name="min_linear_mipmap_linear_mag_linear" />
</TestCase>
<TestCase name="base_level">
<Test name="level_1" />
<Test name="level_2" />
</TestCase>
</TestSuite>
</TestSuite>
</TestSuite>
</TestSuite>
</TestSuite>
<TestSuite name="texture_buffer">
<TestSuite name="render">
<TestCase name="as_vertex_array">
<Test name="buffer_size_512" />
<Test name="buffer_size_513" />
<Test name="buffer_size_65536" />
<Test name="buffer_size_65537" />
<Test name="buffer_size_131071" />
<Test name="range_size_512" />
<Test name="range_size_513" />
<Test name="range_size_65537" />
<Test name="range_size_98304" />
<Test name="offset_1_alignments" />
<Test name="offset_7_alignments" />
</TestCase>
<TestCase name="as_index_array">
<Test name="buffer_size_512" />
<Test name="buffer_size_513" />
<Test name="buffer_size_65536" />
<Test name="buffer_size_65537" />
<Test name="buffer_size_131071" />
<Test name="range_size_512" />
<Test name="range_size_513" />
<Test name="range_size_65537" />
<Test name="range_size_98304" />
<Test name="offset_1_alignments" />
<Test name="offset_7_alignments" />
</TestCase>
<TestCase name="as_vertex_array_as_index_array">
<Test name="buffer_size_512" />
<Test name="buffer_size_513" />
<Test name="buffer_size_65536" />
<Test name="buffer_size_65537" />
<Test name="buffer_size_131071" />
<Test name="range_size_512" />
<Test name="range_size_513" />
<Test name="range_size_65537" />
<Test name="range_size_98304" />
<Test name="offset_1_alignments" />
<Test name="offset_7_alignments" />
</TestCase>
<TestCase name="as_vertex_texture">
<Test name="buffer_size_512" />
<Test name="buffer_size_513" />
<Test name="buffer_size_65536" />
<Test name="buffer_size_65537" />
<Test name="buffer_size_131071" />
<Test name="range_size_512" />
<Test name="range_size_513" />
<Test name="range_size_65537" />
<Test name="range_size_98304" />
<Test name="offset_1_alignments" />
<Test name="offset_7_alignments" />
</TestCase>
<TestCase name="as_vertex_array_as_vertex_texture">
<Test name="buffer_size_512" />
<Test name="buffer_size_513" />
<Test name="buffer_size_65536" />
<Test name="buffer_size_65537" />
<Test name="buffer_size_131071" />
<Test name="range_size_512" />
<Test name="range_size_513" />
<Test name="range_size_65537" />
<Test name="range_size_98304" />
<Test name="offset_1_alignments" />
<Test name="offset_7_alignments" />
</TestCase>
<TestCase name="as_index_array_as_vertex_texture">
<Test name="buffer_size_512" />
<Test name="buffer_size_513" />
<Test name="buffer_size_65536" />
<Test name="buffer_size_65537" />
<Test name="buffer_size_131071" />
<Test name="range_size_512" />
<Test name="range_size_513" />
<Test name="range_size_65537" />
<Test name="range_size_98304" />
<Test name="offset_1_alignments" />
<Test name="offset_7_alignments" />
</TestCase>
<TestCase name="as_vertex_array_as_index_array_as_vertex_texture">
<Test name="buffer_size_512" />
<Test name="buffer_size_513" />
<Test name="buffer_size_65536" />
<Test name="buffer_size_65537" />
<Test name="buffer_size_131071" />
<Test name="range_size_512" />
<Test name="range_size_513" />
<Test name="range_size_65537" />
<Test name="range_size_98304" />
<Test name="offset_1_alignments" />
<Test name="offset_7_alignments" />
</TestCase>
<TestCase name="as_fragment_texture">
<Test name="buffer_size_512" />
<Test name="buffer_size_513" />
<Test name="buffer_size_65536" />
<Test name="buffer_size_65537" />
<Test name="buffer_size_131071" />
<Test name="range_size_512" />
<Test name="range_size_513" />
<Test name="range_size_65537" />
<Test name="range_size_98304" />
<Test name="offset_1_alignments" />
<Test name="offset_7_alignments" />
</TestCase>
<TestCase name="as_vertex_array_as_fragment_texture">
<Test name="buffer_size_512" />
<Test name="buffer_size_513" />
<Test name="buffer_size_65536" />
<Test name="buffer_size_65537" />
<Test name="buffer_size_131071" />
<Test name="range_size_512" />
<Test name="range_size_513" />
<Test name="range_size_65537" />
<Test name="range_size_98304" />
<Test name="offset_1_alignments" />
<Test name="offset_7_alignments" />
</TestCase>
<TestCase name="as_index_array_as_fragment_texture">
<Test name="buffer_size_512" />
<Test name="buffer_size_513" />
<Test name="buffer_size_65536" />
<Test name="buffer_size_65537" />
<Test name="buffer_size_131071" />
<Test name="range_size_512" />
<Test name="range_size_513" />
<Test name="range_size_65537" />
<Test name="range_size_98304" />
<Test name="offset_1_alignments" />
<Test name="offset_7_alignments" />
</TestCase>
<TestCase name="as_vertex_array_as_index_array_as_fragment_texture">
<Test name="buffer_size_512" />
<Test name="buffer_size_513" />
<Test name="buffer_size_65536" />
<Test name="buffer_size_65537" />
<Test name="buffer_size_131071" />
<Test name="range_size_512" />
<Test name="range_size_513" />
<Test name="range_size_65537" />
<Test name="range_size_98304" />
<Test name="offset_1_alignments" />
<Test name="offset_7_alignments" />
</TestCase>
<TestCase name="as_vertex_texture_as_fragment_texture">
<Test name="buffer_size_512" />
<Test name="buffer_size_513" />
<Test name="buffer_size_65536" />
<Test name="buffer_size_65537" />
<Test name="buffer_size_131071" />
<Test name="range_size_512" />
<Test name="range_size_513" />
<Test name="range_size_65537" />
<Test name="range_size_98304" />
<Test name="offset_1_alignments" />
<Test name="offset_7_alignments" />
</TestCase>
<TestCase name="as_vertex_array_as_vertex_texture_as_fragment_texture">
<Test name="buffer_size_512" />
<Test name="buffer_size_513" />
<Test name="buffer_size_65536" />
<Test name="buffer_size_65537" />
<Test name="buffer_size_131071" />
<Test name="range_size_512" />
<Test name="range_size_513" />
<Test name="range_size_65537" />
<Test name="range_size_98304" />
<Test name="offset_1_alignments" />
<Test name="offset_7_alignments" />
</TestCase>
<TestCase name="as_index_array_as_vertex_texture_as_fragment_texture">
<Test name="buffer_size_512" />
<Test name="buffer_size_513" />
<Test name="buffer_size_65536" />
<Test name="buffer_size_65537" />
<Test name="buffer_size_131071" />
<Test name="range_size_512" />
<Test name="range_size_513" />
<Test name="range_size_65537" />
<Test name="range_size_98304" />
<Test name="offset_1_alignments" />
<Test name="offset_7_alignments" />
</TestCase>
<TestCase name="as_vertex_array_as_index_array_as_vertex_texture_as_fragment_texture">
<Test name="buffer_size_512" />
<Test name="buffer_size_513" />
<Test name="buffer_size_65536" />
<Test name="buffer_size_65537" />
<Test name="buffer_size_131071" />
<Test name="range_size_512" />
<Test name="range_size_513" />
<Test name="range_size_65537" />
<Test name="range_size_98304" />
<Test name="offset_1_alignments" />
<Test name="offset_7_alignments" />
</TestCase>
</TestSuite>
<TestSuite name="modify">
<TestCase name="bufferdata">
<Test name="buffer_size_512" />
<Test name="buffer_size_513" />
<Test name="buffer_size_65536" />
<Test name="buffer_size_65537" />
<Test name="buffer_size_131071" />
<Test name="range_size_512" />
<Test name="range_size_513" />
<Test name="range_size_65537" />
<Test name="range_size_98304" />
<Test name="offset_1_alignments" />
<Test name="offset_7_alignments" />
</TestCase>
<TestCase name="buffersubdata">
<Test name="buffer_size_512" />
<Test name="buffer_size_513" />
<Test name="buffer_size_65536" />
<Test name="buffer_size_65537" />
<Test name="buffer_size_131071" />
<Test name="range_size_512" />
<Test name="range_size_513" />
<Test name="range_size_65537" />
<Test name="range_size_98304" />
<Test name="offset_1_alignments" />
<Test name="offset_7_alignments" />
</TestCase>
<TestCase name="mapbuffer_write">
<Test name="buffer_size_512" />
<Test name="buffer_size_513" />
<Test name="buffer_size_65536" />
<Test name="buffer_size_65537" />
<Test name="buffer_size_131071" />
<Test name="range_size_512" />
<Test name="range_size_513" />
<Test name="range_size_65537" />
<Test name="range_size_98304" />
<Test name="offset_1_alignments" />
<Test name="offset_7_alignments" />
</TestCase>
<TestCase name="mapbuffer_readwrite">
<Test name="buffer_size_512" />
<Test name="buffer_size_513" />
<Test name="buffer_size_65536" />
<Test name="buffer_size_65537" />
<Test name="buffer_size_131071" />
<Test name="range_size_512" />
<Test name="range_size_513" />
<Test name="range_size_65537" />
<Test name="range_size_98304" />
<Test name="offset_1_alignments" />
<Test name="offset_7_alignments" />
</TestCase>
</TestSuite>
<TestSuite name="modify_render">
<TestCase name="bufferdata">
<Test name="as_vertex_array" />
<Test name="as_index_array" />
<Test name="as_vertex_array_as_index_array" />
<Test name="as_vertex_texture" />
<Test name="as_vertex_array_as_vertex_texture" />
<Test name="as_index_array_as_vertex_texture" />
<Test name="as_vertex_array_as_index_array_as_vertex_texture" />
<Test name="as_fragment_texture" />
<Test name="as_vertex_array_as_fragment_texture" />
<Test name="as_index_array_as_fragment_texture" />
<Test name="as_vertex_array_as_index_array_as_fragment_texture" />
<Test name="as_vertex_texture_as_fragment_texture" />
<Test name="as_vertex_array_as_vertex_texture_as_fragment_texture" />
<Test name="as_index_array_as_vertex_texture_as_fragment_texture" />
<Test name="as_vertex_array_as_index_array_as_vertex_texture_as_fragment_texture" />
</TestCase>
<TestCase name="buffersubdata">
<Test name="as_vertex_array" />
<Test name="as_index_array" />
<Test name="as_vertex_array_as_index_array" />
<Test name="as_vertex_texture" />
<Test name="as_vertex_array_as_vertex_texture" />
<Test name="as_index_array_as_vertex_texture" />
<Test name="as_vertex_array_as_index_array_as_vertex_texture" />
<Test name="as_fragment_texture" />
<Test name="as_vertex_array_as_fragment_texture" />
<Test name="as_index_array_as_fragment_texture" />
<Test name="as_vertex_array_as_index_array_as_fragment_texture" />
<Test name="as_vertex_texture_as_fragment_texture" />
<Test name="as_vertex_array_as_vertex_texture_as_fragment_texture" />
<Test name="as_index_array_as_vertex_texture_as_fragment_texture" />
<Test name="as_vertex_array_as_index_array_as_vertex_texture_as_fragment_texture" />
</TestCase>
<TestCase name="mapbuffer_write">
<Test name="as_vertex_array" />
<Test name="as_index_array" />
<Test name="as_vertex_array_as_index_array" />
<Test name="as_vertex_texture" />
<Test name="as_vertex_array_as_vertex_texture" />
<Test name="as_index_array_as_vertex_texture" />
<Test name="as_vertex_array_as_index_array_as_vertex_texture" />
<Test name="as_fragment_texture" />
<Test name="as_vertex_array_as_fragment_texture" />
<Test name="as_index_array_as_fragment_texture" />
<Test name="as_vertex_array_as_index_array_as_fragment_texture" />
<Test name="as_vertex_texture_as_fragment_texture" />
<Test name="as_vertex_array_as_vertex_texture_as_fragment_texture" />
<Test name="as_index_array_as_vertex_texture_as_fragment_texture" />
<Test name="as_vertex_array_as_index_array_as_vertex_texture_as_fragment_texture" />
</TestCase>
<TestCase name="mapbuffer_readwrite">
<Test name="as_vertex_array" />
<Test name="as_index_array" />
<Test name="as_vertex_array_as_index_array" />
<Test name="as_vertex_texture" />
<Test name="as_vertex_array_as_vertex_texture" />
<Test name="as_index_array_as_vertex_texture" />
<Test name="as_vertex_array_as_index_array_as_vertex_texture" />
<Test name="as_fragment_texture" />
<Test name="as_vertex_array_as_fragment_texture" />
<Test name="as_index_array_as_fragment_texture" />
<Test name="as_vertex_array_as_index_array_as_fragment_texture" />
<Test name="as_vertex_texture_as_fragment_texture" />
<Test name="as_vertex_array_as_vertex_texture_as_fragment_texture" />
<Test name="as_index_array_as_vertex_texture_as_fragment_texture" />
<Test name="as_vertex_array_as_index_array_as_vertex_texture_as_fragment_texture" />
</TestCase>
</TestSuite>
<TestSuite name="render_modify">
<TestCase name="as_vertex_array">
<Test name="bufferdata" />
<Test name="buffersubdata" />
<Test name="mapbuffer_write" />
<Test name="mapbuffer_readwrite" />
</TestCase>
<TestCase name="as_index_array">
<Test name="bufferdata" />
<Test name="buffersubdata" />
<Test name="mapbuffer_write" />
<Test name="mapbuffer_readwrite" />
</TestCase>
<TestCase name="as_vertex_array_as_index_array">
<Test name="bufferdata" />
<Test name="buffersubdata" />
<Test name="mapbuffer_write" />
<Test name="mapbuffer_readwrite" />
</TestCase>
<TestCase name="as_vertex_texture">
<Test name="bufferdata" />
<Test name="buffersubdata" />
<Test name="mapbuffer_write" />
<Test name="mapbuffer_readwrite" />
</TestCase>
<TestCase name="as_vertex_array_as_vertex_texture">
<Test name="bufferdata" />
<Test name="buffersubdata" />
<Test name="mapbuffer_write" />
<Test name="mapbuffer_readwrite" />
</TestCase>
<TestCase name="as_index_array_as_vertex_texture">
<Test name="bufferdata" />
<Test name="buffersubdata" />
<Test name="mapbuffer_write" />
<Test name="mapbuffer_readwrite" />
</TestCase>
<TestCase name="as_vertex_array_as_index_array_as_vertex_texture">
<Test name="bufferdata" />
<Test name="buffersubdata" />
<Test name="mapbuffer_write" />
<Test name="mapbuffer_readwrite" />
</TestCase>
<TestCase name="as_fragment_texture">
<Test name="bufferdata" />
<Test name="buffersubdata" />
<Test name="mapbuffer_write" />
<Test name="mapbuffer_readwrite" />
</TestCase>
<TestCase name="as_vertex_array_as_fragment_texture">
<Test name="bufferdata" />
<Test name="buffersubdata" />
<Test name="mapbuffer_write" />
<Test name="mapbuffer_readwrite" />
</TestCase>
<TestCase name="as_index_array_as_fragment_texture">
<Test name="bufferdata" />
<Test name="buffersubdata" />
<Test name="mapbuffer_write" />
<Test name="mapbuffer_readwrite" />
</TestCase>
<TestCase name="as_vertex_array_as_index_array_as_fragment_texture">
<Test name="bufferdata" />
<Test name="buffersubdata" />
<Test name="mapbuffer_write" />
<Test name="mapbuffer_readwrite" />
</TestCase>
<TestCase name="as_vertex_texture_as_fragment_texture">
<Test name="bufferdata" />
<Test name="buffersubdata" />
<Test name="mapbuffer_write" />
<Test name="mapbuffer_readwrite" />
</TestCase>
<TestCase name="as_vertex_array_as_vertex_texture_as_fragment_texture">
<Test name="bufferdata" />
<Test name="buffersubdata" />
<Test name="mapbuffer_write" />
<Test name="mapbuffer_readwrite" />
</TestCase>
<TestCase name="as_index_array_as_vertex_texture_as_fragment_texture">
<Test name="bufferdata" />
<Test name="buffersubdata" />
<Test name="mapbuffer_write" />
<Test name="mapbuffer_readwrite" />
</TestCase>
<TestCase name="as_vertex_array_as_index_array_as_vertex_texture_as_fragment_texture">
<Test name="bufferdata" />
<Test name="buffersubdata" />
<Test name="mapbuffer_write" />
<Test name="mapbuffer_readwrite" />
</TestCase>
</TestSuite>
</TestSuite>
</TestSuite>
<TestSuite name="state_query">
<TestCase name="integer">
<Test name="sample_mask_value" />
<Test name="max_color_texture_samples_getboolean" />
<Test name="max_color_texture_samples_getinteger" />
<Test name="max_color_texture_samples_getinteger64" />
<Test name="max_color_texture_samples_getfloat" />
<Test name="max_depth_texture_samples_getboolean" />
<Test name="max_depth_texture_samples_getinteger" />
<Test name="max_depth_texture_samples_getinteger64" />
<Test name="max_depth_texture_samples_getfloat" />
<Test name="max_integer_samples_getboolean" />
<Test name="max_integer_samples_getinteger" />
<Test name="max_integer_samples_getinteger64" />
<Test name="max_integer_samples_getfloat" />
<Test name="texture_binding_2d_multisample_getboolean" />
<Test name="texture_binding_2d_multisample_getinteger" />
<Test name="texture_binding_2d_multisample_getinteger64" />
<Test name="texture_binding_2d_multisample_getfloat" />
<Test name="texture_binding_2d_multisample_array_getboolean" />
<Test name="texture_binding_2d_multisample_array_getinteger" />
<Test name="texture_binding_2d_multisample_array_getinteger64" />
<Test name="texture_binding_2d_multisample_array_getfloat" />
<Test name="max_vertex_attrib_relative_offset_getboolean" />
<Test name="max_vertex_attrib_relative_offset_getinteger" />
<Test name="max_vertex_attrib_relative_offset_getinteger64" />
<Test name="max_vertex_attrib_relative_offset_getfloat" />
<Test name="max_vertex_attrib_bindings_getboolean" />
<Test name="max_vertex_attrib_bindings_getinteger" />
<Test name="max_vertex_attrib_bindings_getinteger64" />
<Test name="max_vertex_attrib_bindings_getfloat" />
<Test name="max_vertex_attrib_stride_getboolean" />
<Test name="max_vertex_attrib_stride_getinteger" />
<Test name="max_vertex_attrib_stride_getinteger64" />
<Test name="max_vertex_attrib_stride_getfloat" />
<Test name="shader_storage_buffer_offset_alignment_getboolean" />
<Test name="shader_storage_buffer_offset_alignment_getinteger" />
<Test name="shader_storage_buffer_offset_alignment_getinteger64" />
<Test name="shader_storage_buffer_offset_alignment_getfloat" />
</TestCase>
<TestSuite name="texture_level">
<TestCase name="integer">
<Test name="texture_samples" />
<Test name="texture_fixed_sample_locations" />
<Test name="texture_width" />
<Test name="texture_height" />
<Test name="texture_depth" />
<Test name="texture_red_size" />
<Test name="texture_green_size" />
<Test name="texture_blue_size" />
<Test name="texture_alpha_size" />
<Test name="texture_depth_size" />
<Test name="texture_stencil_size" />
<Test name="texture_shared_size" />
<Test name="texture_red_type" />
<Test name="texture_green_type" />
<Test name="texture_blue_type" />
<Test name="texture_alpha_type" />
<Test name="texture_depth_type" />
<Test name="texture_compressed" />
</TestCase>
<TestCase name="float">
<Test name="texture_samples" />
<Test name="texture_fixed_sample_locations" />
<Test name="texture_width" />
<Test name="texture_height" />
<Test name="texture_depth" />
<Test name="texture_red_size" />
<Test name="texture_green_size" />
<Test name="texture_blue_size" />
<Test name="texture_alpha_size" />
<Test name="texture_depth_size" />
<Test name="texture_stencil_size" />
<Test name="texture_shared_size" />
<Test name="texture_red_type" />
<Test name="texture_green_type" />
<Test name="texture_blue_type" />
<Test name="texture_alpha_type" />
<Test name="texture_depth_type" />
<Test name="texture_compressed" />
</TestCase>
</TestSuite>
<TestCase name="shader">
<Test name="sampler_type" />
</TestCase>
<TestSuite name="internal_format">
<TestCase name="texture_2d_multisample">
<Test name="r8_samples" />
<Test name="rg8_samples" />
<Test name="rgb8_samples" />
<Test name="rgb565_samples" />
<Test name="rgba4_samples" />
<Test name="rgb5_a1_samples" />
<Test name="rgba8_samples" />
<Test name="rgb10_a2_samples" />
<Test name="rgb10_a2ui_samples" />
<Test name="srgb8_alpha8_samples" />
<Test name="r8i_samples" />
<Test name="r8ui_samples" />
<Test name="r16i_samples" />
<Test name="r16ui_samples" />
<Test name="r32i_samples" />
<Test name="r32ui_samples" />
<Test name="rg8i_samples" />
<Test name="rg8ui_samples" />
<Test name="rg16i_samples" />
<Test name="rg16ui_samples" />
<Test name="rg32i_samples" />
<Test name="rg32ui_samples" />
<Test name="rgba8i_samples" />
<Test name="rgba8ui_samples" />
<Test name="rgba16i_samples" />
<Test name="rgba16ui_samples" />
<Test name="rgba32i_samples" />
<Test name="rgba32ui_samples" />
<Test name="depth_component16_samples" />
<Test name="depth_component24_samples" />
<Test name="depth_component32f_samples" />
<Test name="depth24_stencil8_samples" />
<Test name="depth32f_stencil8_samples" />
<Test name="stencil_index8_samples" />
</TestCase>
<TestCase name="texture_2d_multisample_array">
<Test name="r8_samples" />
<Test name="rg8_samples" />
<Test name="rgb8_samples" />
<Test name="rgb565_samples" />
<Test name="rgba4_samples" />
<Test name="rgb5_a1_samples" />
<Test name="rgba8_samples" />
<Test name="rgb10_a2_samples" />
<Test name="rgb10_a2ui_samples" />
<Test name="srgb8_alpha8_samples" />
<Test name="r8i_samples" />
<Test name="r8ui_samples" />
<Test name="r16i_samples" />
<Test name="r16ui_samples" />
<Test name="r32i_samples" />
<Test name="r32ui_samples" />
<Test name="rg8i_samples" />
<Test name="rg8ui_samples" />
<Test name="rg16i_samples" />
<Test name="rg16ui_samples" />
<Test name="rg32i_samples" />
<Test name="rg32ui_samples" />
<Test name="rgba8i_samples" />
<Test name="rgba8ui_samples" />
<Test name="rgba16i_samples" />
<Test name="rgba16ui_samples" />
<Test name="rgba32i_samples" />
<Test name="rgba32ui_samples" />
<Test name="depth_component16_samples" />
<Test name="depth_component24_samples" />
<Test name="depth_component32f_samples" />
<Test name="depth24_stencil8_samples" />
<Test name="depth32f_stencil8_samples" />
<Test name="stencil_index8_samples" />
</TestCase>
</TestSuite>
<TestSuite name="vertex_attribute_binding">
<TestCase name="vertex_attrib">
<Test name="vertex_attrib_binding" />
<Test name="vertex_attrib_relative_offset" />
</TestCase>
<TestCase name="indexed">
<Test name="vertex_binding_divisor_getintegeri" />
<Test name="vertex_binding_divisor_getintegeri64" />
<Test name="vertex_binding_divisor_mixed" />
<Test name="vertex_binding_stride_mixed" />
<Test name="vertex_binding_buffer_mixed" />
</TestCase>
</TestSuite>
<TestSuite name="multisample_interpolation">
<TestCase name="min_fragment_interpolation_offset">
<Test name="get_boolean" />
<Test name="get_integer" />
<Test name="get_float" />
<Test name="get_integer64" />
</TestCase>
<TestCase name="max_fragment_interpolation_offset">
<Test name="get_boolean" />
<Test name="get_integer" />
<Test name="get_float" />
<Test name="get_integer64" />
</TestCase>
<TestCase name="fragment_interpolation_offset_bits">
<Test name="get_boolean" />
<Test name="get_integer" />
<Test name="get_float" />
<Test name="get_integer64" />
</TestCase>
</TestSuite>
</TestSuite>
<TestSuite name="multisample">
<TestCase name="default_framebuffer">
<Test name="sample_position" />
<Test name="sample_mask_sum_of_inverses" />
<Test name="proportionality_sample_mask" />
<Test name="constancy_sample_mask" />
<Test name="constancy_alpha_to_coverage_sample_mask" />
<Test name="constancy_sample_coverage_sample_mask" />
<Test name="constancy_alpha_to_coverage_sample_coverage_sample_mask" />
<Test name="sample_mask_non_effective_bits" />
</TestCase>
</TestSuite>
<TestSuite name="synchronization">
<TestCase name="in_invocation">
<Test name="image_write_read" />
<Test name="image_read_write" />
<Test name="image_overwrite" />
<Test name="image_alias_write" />
<Test name="image_alias_overwrite" />
<Test name="image_atomic_write_read" />
<Test name="image_atomic_read_write" />
<Test name="image_atomic_overwrite" />
<Test name="image_atomic_alias_write" />
<Test name="image_atomic_alias_overwrite" />
<Test name="ssbo_write_read" />
<Test name="ssbo_read_write" />
<Test name="ssbo_overwrite" />
<Test name="ssbo_alias_write" />
<Test name="ssbo_atomic_write_read" />
<Test name="ssbo_atomic_read_write" />
<Test name="ssbo_atomic_overwrite" />
<Test name="ssbo_atomic_alias_write" />
<Test name="ssbo_atomic_alias_overwrite" />
</TestCase>
<TestCase name="inter_invocation">
<Test name="image_write_read" />
<Test name="image_read_write" />
<Test name="image_overwrite" />
<Test name="image_alias_write" />
<Test name="image_alias_overwrite" />
<Test name="image_atomic_write_read" />
<Test name="image_atomic_read_write" />
<Test name="image_atomic_overwrite" />
<Test name="image_atomic_alias_write" />
<Test name="image_atomic_alias_overwrite" />
<Test name="ssbo_write_read" />
<Test name="ssbo_read_write" />
<Test name="ssbo_overwrite" />
<Test name="ssbo_alias_write" />
<Test name="ssbo_alias_overwrite" />
<Test name="ssbo_atomic_write_read" />
<Test name="ssbo_atomic_read_write" />
<Test name="ssbo_atomic_overwrite" />
<Test name="ssbo_atomic_alias_write" />
<Test name="ssbo_atomic_alias_overwrite" />
</TestCase>
<TestSuite name="inter_call">
<TestCase name="with_memory_barrier">
<Test name="image_write_read" />
<Test name="image_read_write" />
<Test name="image_overwrite" />
<Test name="image_multiple_write_read" />
<Test name="image_multiple_interleaved_write_read" />
<Test name="image_multiple_unrelated_write_read_ordered" />
<Test name="image_multiple_unrelated_write_read_non_ordered" />
<Test name="image_atomic_write_read" />
<Test name="image_atomic_read_write" />
<Test name="image_atomic_overwrite" />
<Test name="image_atomic_multiple_write_read" />
<Test name="image_atomic_multiple_interleaved_write_read" />
<Test name="image_atomic_multiple_unrelated_write_read_ordered" />
<Test name="image_atomic_multiple_unrelated_write_read_non_ordered" />
<Test name="ssbo_write_read" />
<Test name="ssbo_read_write" />
<Test name="ssbo_overwrite" />
<Test name="ssbo_multiple_write_read" />
<Test name="ssbo_multiple_interleaved_write_read" />
<Test name="ssbo_multiple_unrelated_write_read_ordered" />
<Test name="ssbo_multiple_unrelated_write_read_non_ordered" />
<Test name="ssbo_atomic_write_read" />
<Test name="ssbo_atomic_read_write" />
<Test name="ssbo_atomic_overwrite" />
<Test name="ssbo_atomic_multiple_write_read" />
<Test name="ssbo_atomic_multiple_interleaved_write_read" />
<Test name="ssbo_atomic_multiple_unrelated_write_read_ordered" />
<Test name="ssbo_atomic_multiple_unrelated_write_read_non_ordered" />
</TestCase>
<TestCase name="without_memory_barrier">
<Test name="ssbo_atomic_dispatch_2_calls_1k_invocations" />
<Test name="ssbo_atomic_dispatch_5_calls_1k_invocations" />
<Test name="ssbo_atomic_dispatch_100_calls_1k_invocations" />
<Test name="ssbo_atomic_dispatch_2_calls_4k_invocations" />
<Test name="ssbo_atomic_dispatch_5_calls_4k_invocations" />
<Test name="ssbo_atomic_dispatch_100_calls_4k_invocations" />
<Test name="ssbo_atomic_dispatch_2_calls_32k_invocations" />
<Test name="ssbo_atomic_dispatch_5_calls_32k_invocations" />
<Test name="ssbo_atomic_dispatch_100_calls_32k_invocations" />
<Test name="image_atomic_dispatch_2_calls_8x8_invocations" />
<Test name="image_atomic_dispatch_5_calls_8x8_invocations" />
<Test name="image_atomic_dispatch_100_calls_8x8_invocations" />
<Test name="image_atomic_dispatch_2_calls_32x32_invocations" />
<Test name="image_atomic_dispatch_5_calls_32x32_invocations" />
<Test name="image_atomic_dispatch_100_calls_32x32_invocations" />
<Test name="image_atomic_dispatch_2_calls_128x128_invocations" />
<Test name="image_atomic_dispatch_5_calls_128x128_invocations" />
<Test name="image_atomic_dispatch_100_calls_128x128_invocations" />
<Test name="atomic_counter_dispatch_2_calls_32_invocations" />
<Test name="atomic_counter_dispatch_5_calls_32_invocations" />
<Test name="atomic_counter_dispatch_100_calls_32_invocations" />
<Test name="atomic_counter_dispatch_2_calls_128_invocations" />
<Test name="atomic_counter_dispatch_5_calls_128_invocations" />
<Test name="atomic_counter_dispatch_100_calls_128_invocations" />
<Test name="atomic_counter_dispatch_2_calls_1k_invocations" />
<Test name="atomic_counter_dispatch_5_calls_1k_invocations" />
<Test name="atomic_counter_dispatch_100_calls_1k_invocations" />
<Test name="ssbo_atomic_counter_mixed_dispatch_2_calls_32_invocations" />
<Test name="ssbo_atomic_counter_mixed_dispatch_5_calls_32_invocations" />
<Test name="ssbo_atomic_counter_mixed_dispatch_100_calls_32_invocations" />
<Test name="ssbo_atomic_counter_mixed_dispatch_2_calls_128_invocations" />
<Test name="ssbo_atomic_counter_mixed_dispatch_5_calls_128_invocations" />
<Test name="ssbo_atomic_counter_mixed_dispatch_100_calls_128_invocations" />
<Test name="ssbo_atomic_counter_mixed_dispatch_2_calls_1k_invocations" />
<Test name="ssbo_atomic_counter_mixed_dispatch_5_calls_1k_invocations" />
<Test name="ssbo_atomic_counter_mixed_dispatch_100_calls_1k_invocations" />
</TestCase>
</TestSuite>
</TestSuite>
<TestSuite name="geometry_shading">
<TestCase name="query">
<Test name="max_geometry_input_components" />
<Test name="max_geometry_output_components" />
<Test name="max_geometry_image_uniforms" />
<Test name="max_geometry_texture_image_units" />
<Test name="max_geometry_output_vertices" />
<Test name="max_geometry_total_output_components" />
<Test name="max_geometry_uniform_components" />
<Test name="geometry_linked_vertices_out" />
<Test name="geometry_linked_input_type" />
<Test name="geometry_linked_output_type" />
<Test name="geometry_shader_invocations" />
<Test name="max_geometry_shader_invocations" />
<Test name="max_geometry_uniform_blocks" />
<Test name="max_geometry_shader_storage_blocks" />
<Test name="layer_provoking_vertex" />
<Test name="primitives_generated_no_geometry" />
<Test name="primitives_generated_no_amplification" />
<Test name="primitives_generated_amplification" />
<Test name="primitives_generated_partial_primitives" />
<Test name="primitives_generated_instanced" />
<Test name="max_framebuffer_layers" />
<Test name="framebuffer_default_layers" />
<Test name="framebuffer_attachment_layered" />
<Test name="framebuffer_incomplete_layer_targets" />
<Test name="referenced_by_geometry_shader" />
</TestCase>
<TestCase name="basic">
<Test name="output_10" />
<Test name="output_128" />
<Test name="output_256" />
<Test name="output_max" />
<Test name="output_10_and_100" />
<Test name="output_100_and_10" />
<Test name="output_0_and_128" />
<Test name="output_128_and_0" />
<Test name="output_vary_by_attribute" />
<Test name="output_vary_by_uniform" />
<Test name="output_vary_by_texture" />
<Test name="point_size" />
<Test name="primitive_id_in" />
<Test name="primitive_id_in_restarted" />
<Test name="primitive_id" />
</TestCase>
<TestSuite name="input">
<TestCase name="basic_primitive">
<Test name="points" />
<Test name="lines" />
<Test name="line_loop" />
<Test name="line_strip" />
<Test name="triangles" />
<Test name="triangle_strip" />
<Test name="triangle_fan" />
<Test name="lines_adjacency" />
<Test name="line_strip_adjacency" />
<Test name="triangles_adjacency" />
</TestCase>
<TestCase name="triangle_strip_adjacency">
<Test name="vertex_count_0" />
<Test name="vertex_count_1" />
<Test name="vertex_count_2" />
<Test name="vertex_count_3" />
<Test name="vertex_count_4" />
<Test name="vertex_count_5" />
<Test name="vertex_count_6" />
<Test name="vertex_count_7" />
<Test name="vertex_count_8" />
<Test name="vertex_count_9" />
<Test name="vertex_count_10" />
<Test name="vertex_count_11" />
<Test name="vertex_count_12" />
</TestCase>
</TestSuite>
<TestCase name="conversion">
<Test name="triangles_to_points" />
<Test name="lines_to_points" />
<Test name="points_to_lines" />
<Test name="triangles_to_lines" />
<Test name="points_to_triangles" />
<Test name="lines_to_triangles" />
</TestCase>
<TestCase name="emit">
<Test name="points_emit_1_end_1" />
<Test name="points_emit_1_end_2" />
<Test name="line_strip_emit_1_end_1" />
<Test name="line_strip_emit_2_end_1" />
<Test name="line_strip_emit_1_end_2" />
<Test name="line_strip_emit_2_end_2" />
<Test name="line_strip_emit_2_end_2_emit_2_end_0" />
<Test name="triangle_strip_emit_1_end_1" />
<Test name="triangle_strip_emit_2_end_1" />
<Test name="triangle_strip_emit_3_end_1" />
<Test name="triangle_strip_emit_1_end_2" />
<Test name="triangle_strip_emit_2_end_2" />
<Test name="triangle_strip_emit_3_end_2" />
<Test name="triangle_strip_emit_3_end_2_emit_3_end_0" />
</TestCase>
<TestCase name="varying">
<Test name="vertex_no_op_geometry_out_1" />
<Test name="vertex_out_0_geometry_out_1" />
<Test name="vertex_out_0_geometry_out_2" />
<Test name="vertex_out_1_geometry_out_0" />
<Test name="vertex_out_1_geometry_out_2" />
</TestCase>
<TestCase name="layered">
<Test name="render_with_default_layer_cubemap" />
<Test name="render_with_default_layer_3d" />
<Test name="render_with_default_layer_2d_array" />
<Test name="render_with_default_layer_2d_multisample_array" />
<Test name="render_to_one_cubemap" />
<Test name="render_to_one_3d" />
<Test name="render_to_one_2d_array" />
<Test name="render_to_one_2d_multisample_array" />
<Test name="render_to_all_cubemap" />
<Test name="render_to_all_3d" />
<Test name="render_to_all_2d_array" />
<Test name="render_to_all_2d_multisample_array" />
<Test name="render_different_to_cubemap" />
<Test name="render_different_to_3d" />
<Test name="render_different_to_2d_array" />
<Test name="render_different_to_2d_multisample_array" />
<Test name="fragment_layer_cubemap" />
<Test name="fragment_layer_3d" />
<Test name="fragment_layer_2d_array" />
<Test name="fragment_layer_2d_multisample_array" />
<Test name="layer_provoking_vertex_cubemap" />
<Test name="layer_provoking_vertex_3d" />
<Test name="layer_provoking_vertex_2d_array" />
<Test name="layer_provoking_vertex_2d_multisample_array" />
</TestCase>
<TestCase name="instanced">
<Test name="geometry_1_invocations" />
<Test name="geometry_2_invocations" />
<Test name="geometry_8_invocations" />
<Test name="geometry_32_invocations" />
<Test name="geometry_max_invocations" />
<Test name="geometry_output_different_2_invocations" />
<Test name="geometry_output_different_8_invocations" />
<Test name="geometry_output_different_32_invocations" />
<Test name="geometry_output_different_max_invocations" />
<Test name="invocation_per_layer_cubemap" />
<Test name="invocation_per_layer_3d" />
<Test name="invocation_per_layer_2d_array" />
<Test name="invocation_per_layer_2d_multisample_array" />
<Test name="multiple_layers_per_invocation_cubemap" />
<Test name="multiple_layers_per_invocation_3d" />
<Test name="multiple_layers_per_invocation_2d_array" />
<Test name="multiple_layers_per_invocation_2d_multisample_array" />
<Test name="invocation_output_vary_by_attribute" />
<Test name="invocation_output_vary_by_uniform" />
<Test name="invocation_output_vary_by_texture" />
<Test name="draw_2_instances_geometry_2_invocations" />
<Test name="draw_2_instances_geometry_8_invocations" />
<Test name="draw_4_instances_geometry_2_invocations" />
<Test name="draw_4_instances_geometry_8_invocations" />
<Test name="draw_8_instances_geometry_2_invocations" />
<Test name="draw_8_instances_geometry_8_invocations" />
</TestCase>
<TestCase name="negative">
<Test name="type_points_primitive_lines" />
<Test name="type_points_primitive_line_loop" />
<Test name="type_points_primitive_line_strip" />
<Test name="type_points_primitive_lines_adjacency" />
<Test name="type_points_primitive_line_strip_adjacency" />
<Test name="type_points_primitive_triangles" />
<Test name="type_points_primitive_triangle_strip" />
<Test name="type_points_primitive_triangle_fan" />
<Test name="type_points_primitive_triangles_adjacency" />
<Test name="type_points_primitive_triangle_strip_adjacency" />
<Test name="type_lines_primitive_points" />
<Test name="type_lines_primitive_lines_adjacency" />
<Test name="type_lines_primitive_line_strip_adjacency" />
<Test name="type_lines_primitive_triangles" />
<Test name="type_lines_primitive_triangle_strip" />
<Test name="type_lines_primitive_triangle_fan" />
<Test name="type_lines_primitive_triangles_adjacency" />
<Test name="type_lines_primitive_triangle_strip_adjacency" />
<Test name="type_lines_adjacency_primitive_points" />
<Test name="type_lines_adjacency_primitive_lines" />
<Test name="type_lines_adjacency_primitive_line_loop" />
<Test name="type_lines_adjacency_primitive_line_strip" />
<Test name="type_lines_adjacency_primitive_triangles" />
<Test name="type_lines_adjacency_primitive_triangle_strip" />
<Test name="type_lines_adjacency_primitive_triangle_fan" />
<Test name="type_lines_adjacency_primitive_triangles_adjacency" />
<Test name="type_lines_adjacency_primitive_triangle_strip_adjacency" />
<Test name="type_triangles_primitive_points" />
<Test name="type_triangles_primitive_lines" />
<Test name="type_triangles_primitive_line_loop" />
<Test name="type_triangles_primitive_line_strip" />
<Test name="type_triangles_primitive_lines_adjacency" />
<Test name="type_triangles_primitive_line_strip_adjacency" />
<Test name="type_triangles_primitive_triangles_adjacency" />
<Test name="type_triangles_primitive_triangle_strip_adjacency" />
<Test name="type_triangles_adjacency_primitive_points" />
<Test name="type_triangles_adjacency_primitive_lines" />
<Test name="type_triangles_adjacency_primitive_line_loop" />
<Test name="type_triangles_adjacency_primitive_line_strip" />
<Test name="type_triangles_adjacency_primitive_lines_adjacency" />
<Test name="type_triangles_adjacency_primitive_line_strip_adjacency" />
<Test name="type_triangles_adjacency_primitive_triangles" />
<Test name="type_triangles_adjacency_primitive_triangle_strip" />
<Test name="type_triangles_adjacency_primitive_triangle_fan" />
</TestCase>
<TestCase name="vertex_transform_feedback">
<Test name="capture_vertex_line_loop" />
<Test name="capture_vertex_line_strip" />
<Test name="capture_vertex_triangle_strip" />
<Test name="capture_vertex_triangle_fan" />
<Test name="capture_vertex_draw_arrays" />
<Test name="capture_vertex_draw_arrays_instanced" />
<Test name="capture_vertex_draw_arrays_indirect" />
<Test name="capture_vertex_draw_elements" />
<Test name="capture_vertex_draw_elements_instanced" />
<Test name="capture_vertex_draw_elements_indirect" />
<Test name="capture_vertex_draw_arrays_overflow_single_buffer" />
<Test name="capture_vertex_draw_elements_overflow_single_buffer" />
</TestCase>
</TestSuite>
<TestSuite name="sample_shading">
<TestCase name="state_query">
<Test name="sample_shading_is_enabled" />
<Test name="sample_shading_get_boolean" />
<Test name="sample_shading_get_integer" />
<Test name="sample_shading_get_float" />
<Test name="sample_shading_get_integer64" />
<Test name="min_sample_shading_value_get_boolean" />
<Test name="min_sample_shading_value_get_integer" />
<Test name="min_sample_shading_value_get_float" />
<Test name="min_sample_shading_value_get_integer64" />
<Test name="min_sample_shading_value_clamping" />
</TestCase>
<TestCase name="min_sample_shading">
<Test name="default_framebuffer_color" />
<Test name="default_framebuffer_discard" />
<Test name="multisample_texture_samples_2_color" />
<Test name="multisample_texture_samples_2_discard" />
<Test name="multisample_texture_samples_4_color" />
<Test name="multisample_texture_samples_4_discard" />
<Test name="multisample_texture_samples_8_color" />
<Test name="multisample_texture_samples_8_discard" />
<Test name="multisample_renderbuffer_samples_2_color" />
<Test name="multisample_renderbuffer_samples_2_discard" />
<Test name="multisample_renderbuffer_samples_4_color" />
<Test name="multisample_renderbuffer_samples_4_discard" />
<Test name="multisample_renderbuffer_samples_8_color" />
<Test name="multisample_renderbuffer_samples_8_discard" />
</TestCase>
</TestSuite>
<TestSuite name="vertex_attribute_binding">
<TestSuite name="usage">
<TestCase name="single_binding">
<Test name="elements_1" />
<Test name="elements_2" />
<Test name="elements_2_share_elements" />
<Test name="offset_elements_1" />
<Test name="offset_elements_2" />
<Test name="offset_elements_2_share_elements" />
<Test name="unaligned_offset_elements_1_aligned_elements" />
</TestCase>
<TestCase name="multiple_bindings">
<Test name="basic" />
<Test name="zero_stride" />
<Test name="instanced" />
<Test name="aliasing_buffer_zero_stride" />
<Test name="aliasing_buffer_instanced" />
</TestCase>
<TestCase name="mixed_usage">
<Test name="mixed_attribs_basic" />
<Test name="mixed_attribs_instanced_binding" />
<Test name="mixed_attribs_instanced_attrib" />
<Test name="mixed_api_change_buffer" />
<Test name="mixed_api_change_buffer_offset" />
<Test name="mixed_api_change_buffer_stride" />
<Test name="mixed_api_change_binding_point" />
</TestCase>
</TestSuite>
<TestCase name="negative">
<Test name="default_vao_bind_vertex_buffer" />
<Test name="default_vao_vertex_attrib_format" />
<Test name="default_vao_vertex_attrib_i_format" />
<Test name="default_vao_vertex_attrib_binding" />
<Test name="default_vao_vertex_binding_divisor" />
<Test name="bind_create_new_buffer" />
<Test name="vertex_attrib_format_large_offset" />
<Test name="vertex_attrib_binding_invalid_attr" />
<Test name="vertex_attrib_binding_invalid_binding" />
</TestCase>
</TestSuite>
<TestSuite name="program_uniform">
<TestSuite name="by_pointer">
<TestSuite name="get_uniform">
<TestCase name="basic">
<Test name="float_vertex" />
<Test name="float_fragment" />
<Test name="float_both" />
<Test name="vec2_vertex" />
<Test name="vec2_fragment" />
<Test name="vec2_both" />
<Test name="vec3_vertex" />
<Test name="vec3_fragment" />
<Test name="vec3_both" />
<Test name="vec4_vertex" />
<Test name="vec4_fragment" />
<Test name="vec4_both" />
<Test name="mat2_vertex" />
<Test name="mat2_fragment" />
<Test name="mat2_both" />
<Test name="mat2_row_major_vertex" />
<Test name="mat2_row_major_fragment" />
<Test name="mat2_row_major_both" />
<Test name="mat2x3_vertex" />
<Test name="mat2x3_fragment" />
<Test name="mat2x3_both" />
<Test name="mat2x3_row_major_vertex" />
<Test name="mat2x3_row_major_fragment" />
<Test name="mat2x3_row_major_both" />
<Test name="mat2x4_vertex" />
<Test name="mat2x4_fragment" />
<Test name="mat2x4_both" />
<Test name="mat2x4_row_major_vertex" />
<Test name="mat2x4_row_major_fragment" />
<Test name="mat2x4_row_major_both" />
<Test name="mat3x2_vertex" />
<Test name="mat3x2_fragment" />
<Test name="mat3x2_both" />
<Test name="mat3x2_row_major_vertex" />
<Test name="mat3x2_row_major_fragment" />
<Test name="mat3x2_row_major_both" />
<Test name="mat3_vertex" />
<Test name="mat3_fragment" />
<Test name="mat3_both" />
<Test name="mat3_row_major_vertex" />
<Test name="mat3_row_major_fragment" />
<Test name="mat3_row_major_both" />
<Test name="mat3x4_vertex" />
<Test name="mat3x4_fragment" />
<Test name="mat3x4_both" />
<Test name="mat3x4_row_major_vertex" />
<Test name="mat3x4_row_major_fragment" />
<Test name="mat3x4_row_major_both" />
<Test name="mat4x2_vertex" />
<Test name="mat4x2_fragment" />
<Test name="mat4x2_both" />
<Test name="mat4x2_row_major_vertex" />
<Test name="mat4x2_row_major_fragment" />
<Test name="mat4x2_row_major_both" />
<Test name="mat4x3_vertex" />
<Test name="mat4x3_fragment" />
<Test name="mat4x3_both" />
<Test name="mat4x3_row_major_vertex" />
<Test name="mat4x3_row_major_fragment" />
<Test name="mat4x3_row_major_both" />
<Test name="mat4_vertex" />
<Test name="mat4_fragment" />
<Test name="mat4_both" />
<Test name="mat4_row_major_vertex" />
<Test name="mat4_row_major_fragment" />
<Test name="mat4_row_major_both" />
<Test name="int_vertex" />
<Test name="int_fragment" />
<Test name="int_both" />
<Test name="ivec2_vertex" />
<Test name="ivec2_fragment" />
<Test name="ivec2_both" />
<Test name="ivec3_vertex" />
<Test name="ivec3_fragment" />
<Test name="ivec3_both" />
<Test name="ivec4_vertex" />
<Test name="ivec4_fragment" />
<Test name="ivec4_both" />
<Test name="uint_vertex" />
<Test name="uint_fragment" />
<Test name="uint_both" />
<Test name="uvec2_vertex" />
<Test name="uvec2_fragment" />
<Test name="uvec2_both" />
<Test name="uvec3_vertex" />
<Test name="uvec3_fragment" />
<Test name="uvec3_both" />
<Test name="uvec4_vertex" />
<Test name="uvec4_fragment" />
<Test name="uvec4_both" />
<Test name="bool_api_float_vertex" />
<Test name="bool_api_float_fragment" />
<Test name="bool_api_float_both" />
<Test name="bool_api_int_vertex" />
<Test name="bool_api_int_fragment" />
<Test name="bool_api_int_both" />
<Test name="bool_api_uint_vertex" />
<Test name="bool_api_uint_fragment" />
<Test name="bool_api_uint_both" />
<Test name="bvec2_api_float_vertex" />
<Test name="bvec2_api_float_fragment" />
<Test name="bvec2_api_float_both" />
<Test name="bvec2_api_int_vertex" />
<Test name="bvec2_api_int_fragment" />
<Test name="bvec2_api_int_both" />
<Test name="bvec2_api_uint_vertex" />
<Test name="bvec2_api_uint_fragment" />
<Test name="bvec2_api_uint_both" />
<Test name="bvec3_api_float_vertex" />
<Test name="bvec3_api_float_fragment" />
<Test name="bvec3_api_float_both" />
<Test name="bvec3_api_int_vertex" />
<Test name="bvec3_api_int_fragment" />
<Test name="bvec3_api_int_both" />
<Test name="bvec3_api_uint_vertex" />
<Test name="bvec3_api_uint_fragment" />
<Test name="bvec3_api_uint_both" />
<Test name="bvec4_api_float_vertex" />
<Test name="bvec4_api_float_fragment" />
<Test name="bvec4_api_float_both" />
<Test name="bvec4_api_int_vertex" />
<Test name="bvec4_api_int_fragment" />
<Test name="bvec4_api_int_both" />
<Test name="bvec4_api_uint_vertex" />
<Test name="bvec4_api_uint_fragment" />
<Test name="bvec4_api_uint_both" />
<Test name="sampler2D_vertex" />
<Test name="sampler2D_fragment" />
<Test name="sampler2D_both" />
<Test name="samplerCube_vertex" />
<Test name="samplerCube_fragment" />
<Test name="samplerCube_both" />
</TestCase>
<TestCase name="basic_array">
<Test name="float_vertex" />
<Test name="float_fragment" />
<Test name="float_both" />
<Test name="vec4_vertex" />
<Test name="vec4_fragment" />
<Test name="vec4_both" />
<Test name="mat4_vertex" />
<Test name="mat4_fragment" />
<Test name="mat4_both" />
<Test name="mat4_row_major_vertex" />
<Test name="mat4_row_major_fragment" />
<Test name="mat4_row_major_both" />
<Test name="int_vertex" />
<Test name="int_fragment" />
<Test name="int_both" />
<Test name="ivec4_vertex" />
<Test name="ivec4_fragment" />
<Test name="ivec4_both" />
<Test name="uint_vertex" />
<Test name="uint_fragment" />
<Test name="uint_both" />
<Test name="uvec4_vertex" />
<Test name="uvec4_fragment" />
<Test name="uvec4_both" />
<Test name="bool_api_float_vertex" />
<Test name="bool_api_float_fragment" />
<Test name="bool_api_float_both" />
<Test name="bool_api_int_vertex" />
<Test name="bool_api_int_fragment" />
<Test name="bool_api_int_both" />
<Test name="bool_api_uint_vertex" />
<Test name="bool_api_uint_fragment" />
<Test name="bool_api_uint_both" />
<Test name="bvec4_api_float_vertex" />
<Test name="bvec4_api_float_fragment" />
<Test name="bvec4_api_float_both" />
<Test name="bvec4_api_int_vertex" />
<Test name="bvec4_api_int_fragment" />
<Test name="bvec4_api_int_both" />
<Test name="bvec4_api_uint_vertex" />
<Test name="bvec4_api_uint_fragment" />
<Test name="bvec4_api_uint_both" />
<Test name="sampler2D_vertex" />
<Test name="sampler2D_fragment" />
<Test name="sampler2D_both" />
</TestCase>
<TestCase name="basic_array_first_elem_without_brackets">
<Test name="float_vertex" />
<Test name="float_fragment" />
<Test name="float_both" />
<Test name="vec4_vertex" />
<Test name="vec4_fragment" />
<Test name="vec4_both" />
<Test name="mat4_vertex" />
<Test name="mat4_fragment" />
<Test name="mat4_both" />
<Test name="mat4_row_major_vertex" />
<Test name="mat4_row_major_fragment" />
<Test name="mat4_row_major_both" />
<Test name="int_vertex" />
<Test name="int_fragment" />
<Test name="int_both" />
<Test name="ivec4_vertex" />
<Test name="ivec4_fragment" />
<Test name="ivec4_both" />
<Test name="uint_vertex" />
<Test name="uint_fragment" />
<Test name="uint_both" />
<Test name="uvec4_vertex" />
<Test name="uvec4_fragment" />
<Test name="uvec4_both" />
<Test name="bool_api_float_vertex" />
<Test name="bool_api_float_fragment" />
<Test name="bool_api_float_both" />
<Test name="bool_api_int_vertex" />
<Test name="bool_api_int_fragment" />
<Test name="bool_api_int_both" />
<Test name="bool_api_uint_vertex" />
<Test name="bool_api_uint_fragment" />
<Test name="bool_api_uint_both" />
<Test name="bvec4_api_float_vertex" />
<Test name="bvec4_api_float_fragment" />
<Test name="bvec4_api_float_both" />
<Test name="bvec4_api_int_vertex" />
<Test name="bvec4_api_int_fragment" />
<Test name="bvec4_api_int_both" />
<Test name="bvec4_api_uint_vertex" />
<Test name="bvec4_api_uint_fragment" />
<Test name="bvec4_api_uint_both" />
<Test name="sampler2D_vertex" />
<Test name="sampler2D_fragment" />
<Test name="sampler2D_both" />
</TestCase>
<TestCase name="basic_struct">
<Test name="float_vec4_vertex" />
<Test name="float_vec4_fragment" />
<Test name="float_vec4_both" />
<Test name="mat4_mat2_vertex" />
<Test name="mat4_mat2_fragment" />
<Test name="mat4_mat2_both" />
<Test name="int_ivec4_vertex" />
<Test name="int_ivec4_fragment" />
<Test name="int_ivec4_both" />
<Test name="uint_uvec4_vertex" />
<Test name="uint_uvec4_fragment" />
<Test name="uint_uvec4_both" />
<Test name="bool_bvec4_vertex" />
<Test name="bool_bvec4_fragment" />
<Test name="bool_bvec4_both" />
<Test name="sampler2D_samplerCube_vertex" />
<Test name="sampler2D_samplerCube_fragment" />
<Test name="sampler2D_samplerCube_both" />
</TestCase>
<TestCase name="struct_in_array">
<Test name="float_vec4_vertex" />
<Test name="float_vec4_fragment" />
<Test name="float_vec4_both" />
<Test name="mat4_mat2_vertex" />
<Test name="mat4_mat2_fragment" />
<Test name="mat4_mat2_both" />
<Test name="int_ivec4_vertex" />
<Test name="int_ivec4_fragment" />
<Test name="int_ivec4_both" />
<Test name="uint_uvec4_vertex" />
<Test name="uint_uvec4_fragment" />
<Test name="uint_uvec4_both" />
<Test name="bool_bvec4_vertex" />
<Test name="bool_bvec4_fragment" />
<Test name="bool_bvec4_both" />
<Test name="sampler2D_samplerCube_vertex" />
<Test name="sampler2D_samplerCube_fragment" />
<Test name="sampler2D_samplerCube_both" />
</TestCase>
<TestCase name="array_in_struct">
<Test name="float_vec4_vertex" />
<Test name="float_vec4_fragment" />
<Test name="float_vec4_both" />
<Test name="mat4_mat2_vertex" />
<Test name="mat4_mat2_fragment" />
<Test name="mat4_mat2_both" />
<Test name="int_ivec4_vertex" />
<Test name="int_ivec4_fragment" />
<Test name="int_ivec4_both" />
<Test name="uint_uvec4_vertex" />
<Test name="uint_uvec4_fragment" />
<Test name="uint_uvec4_both" />
<Test name="bool_bvec4_vertex" />
<Test name="bool_bvec4_fragment" />
<Test name="bool_bvec4_both" />
<Test name="sampler2D_samplerCube_vertex" />
<Test name="sampler2D_samplerCube_fragment" />
<Test name="sampler2D_samplerCube_both" />
</TestCase>
<TestCase name="nested_structs_arrays">
<Test name="float_vec4_vertex" />
<Test name="float_vec4_fragment" />
<Test name="float_vec4_both" />
<Test name="mat4_mat2_vertex" />
<Test name="mat4_mat2_fragment" />
<Test name="mat4_mat2_both" />
<Test name="int_ivec4_vertex" />
<Test name="int_ivec4_fragment" />
<Test name="int_ivec4_both" />
<Test name="uint_uvec4_vertex" />
<Test name="uint_uvec4_fragment" />
<Test name="uint_uvec4_both" />
<Test name="bool_bvec4_vertex" />
<Test name="bool_bvec4_fragment" />
<Test name="bool_bvec4_both" />
<Test name="sampler2D_samplerCube_vertex" />
<Test name="sampler2D_samplerCube_fragment" />
<Test name="sampler2D_samplerCube_both" />
</TestCase>
<TestCase name="multiple_basic">
<Test name="vertex" />
<Test name="fragment" />
<Test name="both" />
</TestCase>
<TestCase name="multiple_basic_array">
<Test name="vertex" />
<Test name="fragment" />
<Test name="both" />
</TestCase>
<TestCase name="multiple_nested_structs_arrays">
<Test name="vertex" />
<Test name="fragment" />
<Test name="both" />
</TestCase>
</TestSuite>
<TestSuite name="render">
<TestCase name="basic">
<Test name="float_vertex" />
<Test name="float_fragment" />
<Test name="float_both" />
<Test name="vec2_vertex" />
<Test name="vec2_fragment" />
<Test name="vec2_both" />
<Test name="vec3_vertex" />
<Test name="vec3_fragment" />
<Test name="vec3_both" />
<Test name="vec4_vertex" />
<Test name="vec4_fragment" />
<Test name="vec4_both" />
<Test name="mat2_vertex" />
<Test name="mat2_fragment" />
<Test name="mat2_both" />
<Test name="mat2_row_major_vertex" />
<Test name="mat2_row_major_fragment" />
<Test name="mat2_row_major_both" />
<Test name="mat2x3_vertex" />
<Test name="mat2x3_fragment" />
<Test name="mat2x3_both" />
<Test name="mat2x3_row_major_vertex" />
<Test name="mat2x3_row_major_fragment" />
<Test name="mat2x3_row_major_both" />
<Test name="mat2x4_vertex" />
<Test name="mat2x4_fragment" />
<Test name="mat2x4_both" />
<Test name="mat2x4_row_major_vertex" />
<Test name="mat2x4_row_major_fragment" />
<Test name="mat2x4_row_major_both" />
<Test name="mat3x2_vertex" />
<Test name="mat3x2_fragment" />
<Test name="mat3x2_both" />
<Test name="mat3x2_row_major_vertex" />
<Test name="mat3x2_row_major_fragment" />
<Test name="mat3x2_row_major_both" />
<Test name="mat3_vertex" />
<Test name="mat3_fragment" />
<Test name="mat3_both" />
<Test name="mat3_row_major_vertex" />
<Test name="mat3_row_major_fragment" />
<Test name="mat3_row_major_both" />
<Test name="mat3x4_vertex" />
<Test name="mat3x4_fragment" />
<Test name="mat3x4_both" />
<Test name="mat3x4_row_major_vertex" />
<Test name="mat3x4_row_major_fragment" />
<Test name="mat3x4_row_major_both" />
<Test name="mat4x2_vertex" />
<Test name="mat4x2_fragment" />
<Test name="mat4x2_both" />
<Test name="mat4x2_row_major_vertex" />
<Test name="mat4x2_row_major_fragment" />
<Test name="mat4x2_row_major_both" />
<Test name="mat4x3_vertex" />
<Test name="mat4x3_fragment" />
<Test name="mat4x3_both" />
<Test name="mat4x3_row_major_vertex" />
<Test name="mat4x3_row_major_fragment" />
<Test name="mat4x3_row_major_both" />
<Test name="mat4_vertex" />
<Test name="mat4_fragment" />
<Test name="mat4_both" />
<Test name="mat4_row_major_vertex" />
<Test name="mat4_row_major_fragment" />
<Test name="mat4_row_major_both" />
<Test name="int_vertex" />
<Test name="int_fragment" />
<Test name="int_both" />
<Test name="ivec2_vertex" />
<Test name="ivec2_fragment" />
<Test name="ivec2_both" />
<Test name="ivec3_vertex" />
<Test name="ivec3_fragment" />
<Test name="ivec3_both" />
<Test name="ivec4_vertex" />
<Test name="ivec4_fragment" />
<Test name="ivec4_both" />
<Test name="uint_vertex" />
<Test name="uint_fragment" />
<Test name="uint_both" />
<Test name="uvec2_vertex" />
<Test name="uvec2_fragment" />
<Test name="uvec2_both" />
<Test name="uvec3_vertex" />
<Test name="uvec3_fragment" />
<Test name="uvec3_both" />
<Test name="uvec4_vertex" />
<Test name="uvec4_fragment" />
<Test name="uvec4_both" />
<Test name="bool_vertex" />
<Test name="bool_fragment" />
<Test name="bool_both" />
<Test name="bvec2_vertex" />
<Test name="bvec2_fragment" />
<Test name="bvec2_both" />
<Test name="bvec3_vertex" />
<Test name="bvec3_fragment" />
<Test name="bvec3_both" />
<Test name="bvec4_vertex" />
<Test name="bvec4_fragment" />
<Test name="bvec4_both" />
<Test name="sampler2D_vertex" />
<Test name="sampler2D_fragment" />
<Test name="sampler2D_both" />
<Test name="samplerCube_vertex" />
<Test name="samplerCube_fragment" />
<Test name="samplerCube_both" />
</TestCase>
<TestCase name="basic_array">
<Test name="float_vertex" />
<Test name="float_fragment" />
<Test name="float_both" />
<Test name="vec4_vertex" />
<Test name="vec4_fragment" />
<Test name="vec4_both" />
<Test name="mat4_vertex" />
<Test name="mat4_fragment" />
<Test name="mat4_both" />
<Test name="mat4_row_major_vertex" />
<Test name="mat4_row_major_fragment" />
<Test name="mat4_row_major_both" />
<Test name="int_vertex" />
<Test name="int_fragment" />
<Test name="int_both" />
<Test name="ivec4_vertex" />
<Test name="ivec4_fragment" />
<Test name="ivec4_both" />
<Test name="uint_vertex" />
<Test name="uint_fragment" />
<Test name="uint_both" />
<Test name="uvec4_vertex" />
<Test name="uvec4_fragment" />
<Test name="uvec4_both" />
<Test name="bool_vertex" />
<Test name="bool_fragment" />
<Test name="bool_both" />
<Test name="bvec4_vertex" />
<Test name="bvec4_fragment" />
<Test name="bvec4_both" />
<Test name="sampler2D_vertex" />
<Test name="sampler2D_fragment" />
<Test name="sampler2D_both" />
</TestCase>
<TestCase name="basic_struct">
<Test name="float_vec4_vertex" />
<Test name="float_vec4_fragment" />
<Test name="float_vec4_both" />
<Test name="mat4_mat2_vertex" />
<Test name="mat4_mat2_fragment" />
<Test name="mat4_mat2_both" />
<Test name="int_ivec4_vertex" />
<Test name="int_ivec4_fragment" />
<Test name="int_ivec4_both" />
<Test name="uint_uvec4_vertex" />
<Test name="uint_uvec4_fragment" />
<Test name="uint_uvec4_both" />
<Test name="bool_bvec4_vertex" />
<Test name="bool_bvec4_fragment" />
<Test name="bool_bvec4_both" />
<Test name="sampler2D_samplerCube_vertex" />
<Test name="sampler2D_samplerCube_fragment" />
<Test name="sampler2D_samplerCube_both" />
</TestCase>
<TestCase name="struct_in_array">
<Test name="float_vec4_vertex" />
<Test name="float_vec4_fragment" />
<Test name="float_vec4_both" />
<Test name="mat4_mat2_vertex" />
<Test name="mat4_mat2_fragment" />
<Test name="mat4_mat2_both" />
<Test name="int_ivec4_vertex" />
<Test name="int_ivec4_fragment" />
<Test name="int_ivec4_both" />
<Test name="uint_uvec4_vertex" />
<Test name="uint_uvec4_fragment" />
<Test name="uint_uvec4_both" />
<Test name="bool_bvec4_vertex" />
<Test name="bool_bvec4_fragment" />
<Test name="bool_bvec4_both" />
<Test name="sampler2D_samplerCube_vertex" />
<Test name="sampler2D_samplerCube_fragment" />
<Test name="sampler2D_samplerCube_both" />
</TestCase>
<TestCase name="array_in_struct">
<Test name="float_vec4_vertex" />
<Test name="float_vec4_fragment" />
<Test name="float_vec4_both" />
<Test name="mat4_mat2_vertex" />
<Test name="mat4_mat2_fragment" />
<Test name="mat4_mat2_both" />
<Test name="int_ivec4_vertex" />
<Test name="int_ivec4_fragment" />
<Test name="int_ivec4_both" />
<Test name="uint_uvec4_vertex" />
<Test name="uint_uvec4_fragment" />
<Test name="uint_uvec4_both" />
<Test name="bool_bvec4_vertex" />
<Test name="bool_bvec4_fragment" />
<Test name="bool_bvec4_both" />
<Test name="sampler2D_samplerCube_vertex" />
<Test name="sampler2D_samplerCube_fragment" />
<Test name="sampler2D_samplerCube_both" />
</TestCase>
<TestCase name="nested_structs_arrays">
<Test name="float_vec4_vertex" />
<Test name="float_vec4_fragment" />
<Test name="float_vec4_both" />
<Test name="mat4_mat2_vertex" />
<Test name="mat4_mat2_fragment" />
<Test name="mat4_mat2_both" />
<Test name="int_ivec4_vertex" />
<Test name="int_ivec4_fragment" />
<Test name="int_ivec4_both" />
<Test name="uint_uvec4_vertex" />
<Test name="uint_uvec4_fragment" />
<Test name="uint_uvec4_both" />
<Test name="bool_bvec4_vertex" />
<Test name="bool_bvec4_fragment" />
<Test name="bool_bvec4_both" />
<Test name="sampler2D_samplerCube_vertex" />
<Test name="sampler2D_samplerCube_fragment" />
<Test name="sampler2D_samplerCube_both" />
</TestCase>
<TestCase name="multiple_basic">
<Test name="vertex" />
<Test name="fragment" />
<Test name="both" />
</TestCase>
<TestCase name="multiple_basic_array">
<Test name="vertex" />
<Test name="fragment" />
<Test name="both" />
</TestCase>
<TestCase name="multiple_nested_structs_arrays">
<Test name="vertex" />
<Test name="fragment" />
<Test name="both" />
</TestCase>
</TestSuite>
</TestSuite>
<TestSuite name="by_value">
<TestSuite name="get_uniform">
<TestCase name="basic">
<Test name="float_vertex" />
<Test name="float_fragment" />
<Test name="float_both" />
<Test name="vec2_vertex" />
<Test name="vec2_fragment" />
<Test name="vec2_both" />
<Test name="vec3_vertex" />
<Test name="vec3_fragment" />
<Test name="vec3_both" />
<Test name="vec4_vertex" />
<Test name="vec4_fragment" />
<Test name="vec4_both" />
<Test name="int_vertex" />
<Test name="int_fragment" />
<Test name="int_both" />
<Test name="ivec2_vertex" />
<Test name="ivec2_fragment" />
<Test name="ivec2_both" />
<Test name="ivec3_vertex" />
<Test name="ivec3_fragment" />
<Test name="ivec3_both" />
<Test name="ivec4_vertex" />
<Test name="ivec4_fragment" />
<Test name="ivec4_both" />
<Test name="uint_vertex" />
<Test name="uint_fragment" />
<Test name="uint_both" />
<Test name="uvec2_vertex" />
<Test name="uvec2_fragment" />
<Test name="uvec2_both" />
<Test name="uvec3_vertex" />
<Test name="uvec3_fragment" />
<Test name="uvec3_both" />
<Test name="uvec4_vertex" />
<Test name="uvec4_fragment" />
<Test name="uvec4_both" />
<Test name="bool_api_float_vertex" />
<Test name="bool_api_float_fragment" />
<Test name="bool_api_float_both" />
<Test name="bool_api_int_vertex" />
<Test name="bool_api_int_fragment" />
<Test name="bool_api_int_both" />
<Test name="bool_api_uint_vertex" />
<Test name="bool_api_uint_fragment" />
<Test name="bool_api_uint_both" />
<Test name="bvec2_api_float_vertex" />
<Test name="bvec2_api_float_fragment" />
<Test name="bvec2_api_float_both" />
<Test name="bvec2_api_int_vertex" />
<Test name="bvec2_api_int_fragment" />
<Test name="bvec2_api_int_both" />
<Test name="bvec2_api_uint_vertex" />
<Test name="bvec2_api_uint_fragment" />
<Test name="bvec2_api_uint_both" />
<Test name="bvec3_api_float_vertex" />
<Test name="bvec3_api_float_fragment" />
<Test name="bvec3_api_float_both" />
<Test name="bvec3_api_int_vertex" />
<Test name="bvec3_api_int_fragment" />
<Test name="bvec3_api_int_both" />
<Test name="bvec3_api_uint_vertex" />
<Test name="bvec3_api_uint_fragment" />
<Test name="bvec3_api_uint_both" />
<Test name="bvec4_api_float_vertex" />
<Test name="bvec4_api_float_fragment" />
<Test name="bvec4_api_float_both" />
<Test name="bvec4_api_int_vertex" />
<Test name="bvec4_api_int_fragment" />
<Test name="bvec4_api_int_both" />
<Test name="bvec4_api_uint_vertex" />
<Test name="bvec4_api_uint_fragment" />
<Test name="bvec4_api_uint_both" />
<Test name="sampler2D_vertex" />
<Test name="sampler2D_fragment" />
<Test name="sampler2D_both" />
<Test name="samplerCube_vertex" />
<Test name="samplerCube_fragment" />
<Test name="samplerCube_both" />
</TestCase>
<TestCase name="basic_array">
<Test name="float_vertex" />
<Test name="float_fragment" />
<Test name="float_both" />
<Test name="vec4_vertex" />
<Test name="vec4_fragment" />
<Test name="vec4_both" />
<Test name="int_vertex" />
<Test name="int_fragment" />
<Test name="int_both" />
<Test name="ivec4_vertex" />
<Test name="ivec4_fragment" />
<Test name="ivec4_both" />
<Test name="uint_vertex" />
<Test name="uint_fragment" />
<Test name="uint_both" />
<Test name="uvec4_vertex" />
<Test name="uvec4_fragment" />
<Test name="uvec4_both" />
<Test name="bool_api_float_vertex" />
<Test name="bool_api_float_fragment" />
<Test name="bool_api_float_both" />
<Test name="bool_api_int_vertex" />
<Test name="bool_api_int_fragment" />
<Test name="bool_api_int_both" />
<Test name="bool_api_uint_vertex" />
<Test name="bool_api_uint_fragment" />
<Test name="bool_api_uint_both" />
<Test name="bvec4_api_float_vertex" />
<Test name="bvec4_api_float_fragment" />
<Test name="bvec4_api_float_both" />
<Test name="bvec4_api_int_vertex" />
<Test name="bvec4_api_int_fragment" />
<Test name="bvec4_api_int_both" />
<Test name="bvec4_api_uint_vertex" />
<Test name="bvec4_api_uint_fragment" />
<Test name="bvec4_api_uint_both" />
<Test name="sampler2D_vertex" />
<Test name="sampler2D_fragment" />
<Test name="sampler2D_both" />
</TestCase>
<TestCase name="basic_array_first_elem_without_brackets">
<Test name="float_vertex" />
<Test name="float_fragment" />
<Test name="float_both" />
<Test name="vec4_vertex" />
<Test name="vec4_fragment" />
<Test name="vec4_both" />
<Test name="int_vertex" />
<Test name="int_fragment" />
<Test name="int_both" />
<Test name="ivec4_vertex" />
<Test name="ivec4_fragment" />
<Test name="ivec4_both" />
<Test name="uint_vertex" />
<Test name="uint_fragment" />
<Test name="uint_both" />
<Test name="uvec4_vertex" />
<Test name="uvec4_fragment" />
<Test name="uvec4_both" />
<Test name="bool_api_float_vertex" />
<Test name="bool_api_float_fragment" />
<Test name="bool_api_float_both" />
<Test name="bool_api_int_vertex" />
<Test name="bool_api_int_fragment" />
<Test name="bool_api_int_both" />
<Test name="bool_api_uint_vertex" />
<Test name="bool_api_uint_fragment" />
<Test name="bool_api_uint_both" />
<Test name="bvec4_api_float_vertex" />
<Test name="bvec4_api_float_fragment" />
<Test name="bvec4_api_float_both" />
<Test name="bvec4_api_int_vertex" />
<Test name="bvec4_api_int_fragment" />
<Test name="bvec4_api_int_both" />
<Test name="bvec4_api_uint_vertex" />
<Test name="bvec4_api_uint_fragment" />
<Test name="bvec4_api_uint_both" />
<Test name="sampler2D_vertex" />
<Test name="sampler2D_fragment" />
<Test name="sampler2D_both" />
</TestCase>
<TestCase name="basic_struct">
<Test name="float_vec4_vertex" />
<Test name="float_vec4_fragment" />
<Test name="float_vec4_both" />
<Test name="int_ivec4_vertex" />
<Test name="int_ivec4_fragment" />
<Test name="int_ivec4_both" />
<Test name="uint_uvec4_vertex" />
<Test name="uint_uvec4_fragment" />
<Test name="uint_uvec4_both" />
<Test name="bool_bvec4_vertex" />
<Test name="bool_bvec4_fragment" />
<Test name="bool_bvec4_both" />
<Test name="sampler2D_samplerCube_vertex" />
<Test name="sampler2D_samplerCube_fragment" />
<Test name="sampler2D_samplerCube_both" />
</TestCase>
<TestCase name="struct_in_array">
<Test name="float_vec4_vertex" />
<Test name="float_vec4_fragment" />
<Test name="float_vec4_both" />
<Test name="int_ivec4_vertex" />
<Test name="int_ivec4_fragment" />
<Test name="int_ivec4_both" />
<Test name="uint_uvec4_vertex" />
<Test name="uint_uvec4_fragment" />
<Test name="uint_uvec4_both" />
<Test name="bool_bvec4_vertex" />
<Test name="bool_bvec4_fragment" />
<Test name="bool_bvec4_both" />
<Test name="sampler2D_samplerCube_vertex" />
<Test name="sampler2D_samplerCube_fragment" />
<Test name="sampler2D_samplerCube_both" />
</TestCase>
<TestCase name="array_in_struct">
<Test name="float_vec4_vertex" />
<Test name="float_vec4_fragment" />
<Test name="float_vec4_both" />
<Test name="int_ivec4_vertex" />
<Test name="int_ivec4_fragment" />
<Test name="int_ivec4_both" />
<Test name="uint_uvec4_vertex" />
<Test name="uint_uvec4_fragment" />
<Test name="uint_uvec4_both" />
<Test name="bool_bvec4_vertex" />
<Test name="bool_bvec4_fragment" />
<Test name="bool_bvec4_both" />
<Test name="sampler2D_samplerCube_vertex" />
<Test name="sampler2D_samplerCube_fragment" />
<Test name="sampler2D_samplerCube_both" />
</TestCase>
<TestCase name="nested_structs_arrays">
<Test name="float_vec4_vertex" />
<Test name="float_vec4_fragment" />
<Test name="float_vec4_both" />
<Test name="int_ivec4_vertex" />
<Test name="int_ivec4_fragment" />
<Test name="int_ivec4_both" />
<Test name="uint_uvec4_vertex" />
<Test name="uint_uvec4_fragment" />
<Test name="uint_uvec4_both" />
<Test name="bool_bvec4_vertex" />
<Test name="bool_bvec4_fragment" />
<Test name="bool_bvec4_both" />
<Test name="sampler2D_samplerCube_vertex" />
<Test name="sampler2D_samplerCube_fragment" />
<Test name="sampler2D_samplerCube_both" />
</TestCase>
<TestCase name="multiple_basic_array">
<Test name="vertex" />
<Test name="fragment" />
<Test name="both" />
</TestCase>
<TestCase name="multiple_nested_structs_arrays">
<Test name="vertex" />
<Test name="fragment" />
<Test name="both" />
</TestCase>
</TestSuite>
<TestSuite name="render">
<TestCase name="basic">
<Test name="float_vertex" />
<Test name="float_fragment" />
<Test name="float_both" />
<Test name="vec2_vertex" />
<Test name="vec2_fragment" />
<Test name="vec2_both" />
<Test name="vec3_vertex" />
<Test name="vec3_fragment" />
<Test name="vec3_both" />
<Test name="vec4_vertex" />
<Test name="vec4_fragment" />
<Test name="vec4_both" />
<Test name="int_vertex" />
<Test name="int_fragment" />
<Test name="int_both" />
<Test name="ivec2_vertex" />
<Test name="ivec2_fragment" />
<Test name="ivec2_both" />
<Test name="ivec3_vertex" />
<Test name="ivec3_fragment" />
<Test name="ivec3_both" />
<Test name="ivec4_vertex" />
<Test name="ivec4_fragment" />
<Test name="ivec4_both" />
<Test name="uint_vertex" />
<Test name="uint_fragment" />
<Test name="uint_both" />
<Test name="uvec2_vertex" />
<Test name="uvec2_fragment" />
<Test name="uvec2_both" />
<Test name="uvec3_vertex" />
<Test name="uvec3_fragment" />
<Test name="uvec3_both" />
<Test name="uvec4_vertex" />
<Test name="uvec4_fragment" />
<Test name="uvec4_both" />
<Test name="bool_vertex" />
<Test name="bool_fragment" />
<Test name="bool_both" />
<Test name="bvec2_vertex" />
<Test name="bvec2_fragment" />
<Test name="bvec2_both" />
<Test name="bvec3_vertex" />
<Test name="bvec3_fragment" />
<Test name="bvec3_both" />
<Test name="bvec4_vertex" />
<Test name="bvec4_fragment" />
<Test name="bvec4_both" />
<Test name="sampler2D_vertex" />
<Test name="sampler2D_fragment" />
<Test name="sampler2D_both" />
<Test name="samplerCube_vertex" />
<Test name="samplerCube_fragment" />
<Test name="samplerCube_both" />
</TestCase>
<TestCase name="basic_array">
<Test name="float_vertex" />
<Test name="float_fragment" />
<Test name="float_both" />
<Test name="vec4_vertex" />
<Test name="vec4_fragment" />
<Test name="vec4_both" />
<Test name="int_vertex" />
<Test name="int_fragment" />
<Test name="int_both" />
<Test name="ivec4_vertex" />
<Test name="ivec4_fragment" />
<Test name="ivec4_both" />
<Test name="uint_vertex" />
<Test name="uint_fragment" />
<Test name="uint_both" />
<Test name="uvec4_vertex" />
<Test name="uvec4_fragment" />
<Test name="uvec4_both" />
<Test name="bool_vertex" />
<Test name="bool_fragment" />
<Test name="bool_both" />
<Test name="bvec4_vertex" />
<Test name="bvec4_fragment" />
<Test name="bvec4_both" />
<Test name="sampler2D_vertex" />
<Test name="sampler2D_fragment" />
<Test name="sampler2D_both" />
</TestCase>
<TestCase name="basic_struct">
<Test name="float_vec4_vertex" />
<Test name="float_vec4_fragment" />
<Test name="float_vec4_both" />
<Test name="int_ivec4_vertex" />
<Test name="int_ivec4_fragment" />
<Test name="int_ivec4_both" />
<Test name="uint_uvec4_vertex" />
<Test name="uint_uvec4_fragment" />
<Test name="uint_uvec4_both" />
<Test name="bool_bvec4_vertex" />
<Test name="bool_bvec4_fragment" />
<Test name="bool_bvec4_both" />
<Test name="sampler2D_samplerCube_vertex" />
<Test name="sampler2D_samplerCube_fragment" />
<Test name="sampler2D_samplerCube_both" />
</TestCase>
<TestCase name="struct_in_array">
<Test name="float_vec4_vertex" />
<Test name="float_vec4_fragment" />
<Test name="float_vec4_both" />
<Test name="int_ivec4_vertex" />
<Test name="int_ivec4_fragment" />
<Test name="int_ivec4_both" />
<Test name="uint_uvec4_vertex" />
<Test name="uint_uvec4_fragment" />
<Test name="uint_uvec4_both" />
<Test name="bool_bvec4_vertex" />
<Test name="bool_bvec4_fragment" />
<Test name="bool_bvec4_both" />
<Test name="sampler2D_samplerCube_vertex" />
<Test name="sampler2D_samplerCube_fragment" />
<Test name="sampler2D_samplerCube_both" />
</TestCase>
<TestCase name="array_in_struct">
<Test name="float_vec4_vertex" />
<Test name="float_vec4_fragment" />
<Test name="float_vec4_both" />
<Test name="int_ivec4_vertex" />
<Test name="int_ivec4_fragment" />
<Test name="int_ivec4_both" />
<Test name="uint_uvec4_vertex" />
<Test name="uint_uvec4_fragment" />
<Test name="uint_uvec4_both" />
<Test name="bool_bvec4_vertex" />
<Test name="bool_bvec4_fragment" />
<Test name="bool_bvec4_both" />
<Test name="sampler2D_samplerCube_vertex" />
<Test name="sampler2D_samplerCube_fragment" />
<Test name="sampler2D_samplerCube_both" />
</TestCase>
<TestCase name="nested_structs_arrays">
<Test name="float_vec4_vertex" />
<Test name="float_vec4_fragment" />
<Test name="float_vec4_both" />
<Test name="int_ivec4_vertex" />
<Test name="int_ivec4_fragment" />
<Test name="int_ivec4_both" />
<Test name="uint_uvec4_vertex" />
<Test name="uint_uvec4_fragment" />
<Test name="uint_uvec4_both" />
<Test name="bool_bvec4_vertex" />
<Test name="bool_bvec4_fragment" />
<Test name="bool_bvec4_both" />
<Test name="sampler2D_samplerCube_vertex" />
<Test name="sampler2D_samplerCube_fragment" />
<Test name="sampler2D_samplerCube_both" />
</TestCase>
<TestCase name="multiple_basic_array">
<Test name="vertex" />
<Test name="fragment" />
<Test name="both" />
</TestCase>
<TestCase name="multiple_nested_structs_arrays">
<Test name="vertex" />
<Test name="fragment" />
<Test name="both" />
</TestCase>
</TestSuite>
</TestSuite>
<TestSuite name="basic_array_assign_full">
<TestCase name="basic_array">
<Test name="float_vertex" />
<Test name="float_fragment" />
<Test name="float_both" />
<Test name="vec4_vertex" />
<Test name="vec4_fragment" />
<Test name="vec4_both" />
<Test name="mat4_vertex" />
<Test name="mat4_fragment" />
<Test name="mat4_both" />
<Test name="int_vertex" />
<Test name="int_fragment" />
<Test name="int_both" />
<Test name="ivec4_vertex" />
<Test name="ivec4_fragment" />
<Test name="ivec4_both" />
<Test name="uint_vertex" />
<Test name="uint_fragment" />
<Test name="uint_both" />
<Test name="uvec4_vertex" />
<Test name="uvec4_fragment" />
<Test name="uvec4_both" />
<Test name="bool_vertex" />
<Test name="bool_fragment" />
<Test name="bool_both" />
<Test name="bvec4_vertex" />
<Test name="bvec4_fragment" />
<Test name="bvec4_both" />
<Test name="sampler2D_vertex" />
<Test name="sampler2D_fragment" />
<Test name="sampler2D_both" />
</TestCase>
<TestCase name="array_in_struct">
<Test name="float_vec4_vertex" />
<Test name="float_vec4_fragment" />
<Test name="float_vec4_both" />
<Test name="mat4_mat2_vertex" />
<Test name="mat4_mat2_fragment" />
<Test name="mat4_mat2_both" />
<Test name="int_ivec4_vertex" />
<Test name="int_ivec4_fragment" />
<Test name="int_ivec4_both" />
<Test name="uint_uvec4_vertex" />
<Test name="uint_uvec4_fragment" />
<Test name="uint_uvec4_both" />
<Test name="bool_bvec4_vertex" />
<Test name="bool_bvec4_fragment" />
<Test name="bool_bvec4_both" />
<Test name="sampler2D_samplerCube_vertex" />
<Test name="sampler2D_samplerCube_fragment" />
<Test name="sampler2D_samplerCube_both" />
</TestCase>
<TestCase name="multiple_basic_array">
<Test name="vertex" />
<Test name="fragment" />
<Test name="both" />
</TestCase>
</TestSuite>
<TestSuite name="basic_array_assign_partial">
<TestCase name="basic_array">
<Test name="float_vertex" />
<Test name="float_fragment" />
<Test name="float_both" />
<Test name="vec4_vertex" />
<Test name="vec4_fragment" />
<Test name="vec4_both" />
<Test name="mat4_vertex" />
<Test name="mat4_fragment" />
<Test name="mat4_both" />
<Test name="int_vertex" />
<Test name="int_fragment" />
<Test name="int_both" />
<Test name="ivec4_vertex" />
<Test name="ivec4_fragment" />
<Test name="ivec4_both" />
<Test name="uint_vertex" />
<Test name="uint_fragment" />
<Test name="uint_both" />
<Test name="uvec4_vertex" />
<Test name="uvec4_fragment" />
<Test name="uvec4_both" />
<Test name="bool_vertex" />
<Test name="bool_fragment" />
<Test name="bool_both" />
<Test name="bvec4_vertex" />
<Test name="bvec4_fragment" />
<Test name="bvec4_both" />
<Test name="sampler2D_vertex" />
<Test name="sampler2D_fragment" />
<Test name="sampler2D_both" />
</TestCase>
<TestCase name="array_in_struct">
<Test name="float_vec4_vertex" />
<Test name="float_vec4_fragment" />
<Test name="float_vec4_both" />
<Test name="mat4_mat2_vertex" />
<Test name="mat4_mat2_fragment" />
<Test name="mat4_mat2_both" />
<Test name="int_ivec4_vertex" />
<Test name="int_ivec4_fragment" />
<Test name="int_ivec4_both" />
<Test name="uint_uvec4_vertex" />
<Test name="uint_uvec4_fragment" />
<Test name="uint_uvec4_both" />
<Test name="bool_bvec4_vertex" />
<Test name="bool_bvec4_fragment" />
<Test name="bool_bvec4_both" />
<Test name="sampler2D_samplerCube_vertex" />
<Test name="sampler2D_samplerCube_fragment" />
<Test name="sampler2D_samplerCube_both" />
</TestCase>
<TestCase name="multiple_basic_array">
<Test name="vertex" />
<Test name="fragment" />
<Test name="both" />
</TestCase>
</TestSuite>
<TestCase name="unused_uniforms">
<Test name="float_vec4_vertex" />
<Test name="float_vec4_fragment" />
<Test name="float_vec4_both" />
<Test name="mat4_mat2_vertex" />
<Test name="mat4_mat2_fragment" />
<Test name="mat4_mat2_both" />
<Test name="int_ivec4_vertex" />
<Test name="int_ivec4_fragment" />
<Test name="int_ivec4_both" />
<Test name="uint_uvec4_vertex" />
<Test name="uint_uvec4_fragment" />
<Test name="uint_uvec4_both" />
<Test name="bool_bvec4_vertex" />
<Test name="bool_bvec4_fragment" />
<Test name="bool_bvec4_both" />
<Test name="sampler2D_samplerCube_vertex" />
<Test name="sampler2D_samplerCube_fragment" />
<Test name="sampler2D_samplerCube_both" />
</TestCase>
</TestSuite>
<TestSuite name="blend_equation_advanced">
<TestCase name="basic">
<Test name="multiply" />
<Test name="screen" />
<Test name="overlay" />
<Test name="darken" />
<Test name="lighten" />
<Test name="colordodge" />
<Test name="colorburn" />
<Test name="hardlight" />
<Test name="difference" />
<Test name="exclusion" />
<Test name="hsl_hue" />
<Test name="hsl_saturation" />
<Test name="hsl_color" />
<Test name="hsl_luminosity" />
</TestCase>
<TestCase name="srgb">
<Test name="multiply" />
<Test name="screen" />
<Test name="overlay" />
<Test name="darken" />
<Test name="lighten" />
<Test name="colordodge" />
<Test name="colorburn" />
<Test name="hardlight" />
<Test name="difference" />
<Test name="exclusion" />
<Test name="hsl_hue" />
<Test name="hsl_saturation" />
<Test name="hsl_color" />
<Test name="hsl_luminosity" />
</TestCase>
<TestCase name="msaa">
<Test name="multiply" />
<Test name="screen" />
<Test name="overlay" />
<Test name="darken" />
<Test name="lighten" />
<Test name="colordodge" />
<Test name="colorburn" />
<Test name="hardlight" />
<Test name="difference" />
<Test name="exclusion" />
<Test name="hsl_hue" />
<Test name="hsl_saturation" />
<Test name="hsl_color" />
<Test name="hsl_luminosity" />
</TestCase>
<TestCase name="barrier">
<Test name="multiply" />
<Test name="screen" />
<Test name="overlay" />
<Test name="darken" />
<Test name="lighten" />
<Test name="colordodge" />
<Test name="colorburn" />
<Test name="hardlight" />
<Test name="difference" />
<Test name="exclusion" />
<Test name="hsl_hue" />
<Test name="hsl_saturation" />
<Test name="hsl_color" />
<Test name="hsl_luminosity" />
</TestCase>
<TestCase name="coherent">
<Test name="multiply" />
<Test name="screen" />
<Test name="overlay" />
<Test name="darken" />
<Test name="lighten" />
<Test name="colordodge" />
<Test name="colorburn" />
<Test name="hardlight" />
<Test name="difference" />
<Test name="exclusion" />
<Test name="hsl_hue" />
<Test name="hsl_saturation" />
<Test name="hsl_color" />
<Test name="hsl_luminosity" />
</TestCase>
<TestCase name="coherent_msaa">
<Test name="multiply" />
<Test name="screen" />
<Test name="overlay" />
<Test name="darken" />
<Test name="lighten" />
<Test name="colordodge" />
<Test name="colorburn" />
<Test name="hardlight" />
<Test name="difference" />
<Test name="exclusion" />
<Test name="hsl_hue" />
<Test name="hsl_saturation" />
<Test name="hsl_color" />
<Test name="hsl_luminosity" />
</TestCase>
</TestSuite>
<TestSuite name="separate_shader">
<TestCase name="pipeline">
<Test name="different_constant_separate_programs" />
<Test name="different_constant_separate_programs_add_fragment" />
<Test name="different_constant_separate_programs_add_vertex" />
<Test name="different_constant_separate_programs_add_both" />
<Test name="different_constant_single_program" />
<Test name="different_constant_single_program_add_both" />
<Test name="different_uniform_separate_programs" />
<Test name="different_uniform_separate_programs_add_fragment" />
<Test name="different_uniform_separate_programs_add_vertex" />
<Test name="different_uniform_separate_programs_add_both" />
<Test name="different_uniform_single_program" />
<Test name="different_uniform_single_program_add_both" />
<Test name="same_constant_separate_programs" />
<Test name="same_constant_separate_programs_add_fragment" />
<Test name="same_constant_separate_programs_add_vertex" />
<Test name="same_constant_separate_programs_add_both" />
<Test name="same_uniform_separate_programs" />
<Test name="same_uniform_separate_programs_add_fragment" />
<Test name="same_uniform_separate_programs_add_vertex" />
<Test name="same_uniform_separate_programs_add_both" />
</TestCase>
<TestCase name="program_uniform">
<Test name="separate_programs" />
<Test name="separate_programs_add_fragment" />
<Test name="separate_programs_add_vertex" />
<Test name="separate_programs_add_both" />
<Test name="single_program" />
<Test name="single_program_add_both" />
</TestCase>
<TestCase name="create_shader_program">
<Test name="separate_programs" />
<Test name="separate_programs_add_fragment" />
<Test name="separate_programs_add_vertex" />
<Test name="separate_programs_add_both" />
<Test name="single_program_add_both" />
</TestCase>
<TestCase name="interface">
<Test name="same_name_vertex_smooth_fragment_smooth" />
<Test name="same_name_vertex_smooth_fragment_centroid" />
<Test name="same_name_vertex_smooth" />
<Test name="same_name_vertex_flat_fragment_flat" />
<Test name="same_name_vertex_centroid_fragment_smooth" />
<Test name="same_name_vertex_centroid_fragment_centroid" />
<Test name="same_name_vertex_centroid" />
<Test name="same_name_fragment_smooth" />
<Test name="same_name_fragment_centroid" />
<Test name="same_name" />
<Test name="same_location_vertex_smooth_fragment_smooth" />
<Test name="same_location_vertex_smooth_fragment_centroid" />
<Test name="same_location_vertex_smooth" />
<Test name="same_location_vertex_flat_fragment_flat" />
<Test name="same_location_vertex_centroid_fragment_smooth" />
<Test name="same_location_vertex_centroid_fragment_centroid" />
<Test name="same_location_vertex_centroid" />
<Test name="same_location_fragment_smooth" />
<Test name="same_location_fragment_centroid" />
<Test name="same_location" />
</TestCase>
<TestCase name="random">
<Test name="0" />
<Test name="1" />
<Test name="2" />
<Test name="3" />
<Test name="4" />
<Test name="5" />
<Test name="6" />
<Test name="7" />
<Test name="8" />
<Test name="9" />
<Test name="10" />
<Test name="11" />
<Test name="12" />
<Test name="13" />
<Test name="14" />
<Test name="15" />
<Test name="16" />
<Test name="17" />
<Test name="18" />
<Test name="19" />
<Test name="20" />
<Test name="21" />
<Test name="22" />
<Test name="23" />
<Test name="24" />
<Test name="25" />
<Test name="26" />
<Test name="27" />
<Test name="28" />
<Test name="29" />
<Test name="30" />
<Test name="31" />
<Test name="32" />
<Test name="33" />
<Test name="34" />
<Test name="35" />
<Test name="36" />
<Test name="37" />
<Test name="38" />
<Test name="39" />
<Test name="40" />
<Test name="41" />
<Test name="42" />
<Test name="43" />
<Test name="44" />
<Test name="45" />
<Test name="46" />
<Test name="47" />
<Test name="48" />
<Test name="49" />
<Test name="50" />
<Test name="51" />
<Test name="52" />
<Test name="53" />
<Test name="54" />
<Test name="55" />
<Test name="56" />
<Test name="57" />
<Test name="58" />
<Test name="59" />
<Test name="60" />
<Test name="61" />
<Test name="62" />
<Test name="63" />
<Test name="64" />
<Test name="65" />
<Test name="66" />
<Test name="67" />
<Test name="68" />
<Test name="69" />
<Test name="70" />
<Test name="71" />
<Test name="72" />
<Test name="73" />
<Test name="74" />
<Test name="75" />
<Test name="76" />
<Test name="77" />
<Test name="78" />
<Test name="79" />
<Test name="80" />
<Test name="81" />
<Test name="82" />
<Test name="83" />
<Test name="84" />
<Test name="85" />
<Test name="86" />
<Test name="87" />
<Test name="88" />
<Test name="89" />
<Test name="90" />
<Test name="91" />
<Test name="92" />
<Test name="93" />
<Test name="94" />
<Test name="95" />
<Test name="96" />
<Test name="97" />
<Test name="98" />
<Test name="99" />
<Test name="100" />
<Test name="101" />
<Test name="102" />
<Test name="103" />
<Test name="104" />
<Test name="105" />
<Test name="106" />
<Test name="107" />
<Test name="108" />
<Test name="109" />
<Test name="110" />
<Test name="111" />
<Test name="112" />
<Test name="113" />
<Test name="114" />
<Test name="115" />
<Test name="116" />
<Test name="117" />
<Test name="118" />
<Test name="119" />
<Test name="120" />
<Test name="121" />
<Test name="122" />
<Test name="123" />
<Test name="124" />
<Test name="125" />
<Test name="126" />
<Test name="127" />
</TestCase>
<TestCase name="api">
<Test name="current_program_priority" />
<Test name="active_program_uniform" />
<Test name="pipeline_programs" />
<Test name="pipeline_active" />
</TestCase>
<TestSuite name="validation">
<TestCase name="varying">
<Test name="missing_input" />
<Test name="missing_output" />
<Test name="mismatch_type" />
<Test name="mismatch_precision" />
<Test name="mismatch_explicit_location_type" />
<Test name="mismatch_explicit_location_precision" />
<Test name="mismatch_explicit_location" />
<Test name="mismatch_implicit_explicit_location_1" />
<Test name="mismatch_implicit_explicit_location_2" />
<Test name="mismatch_implicit_explicit_location_3" />
<Test name="match_different_struct_names" />
<Test name="mismatch_struct_member_name" />
<Test name="mismatch_struct_member_type" />
<Test name="mismatch_struct_member_precision" />
<Test name="mismatch_struct_member_order" />
<Test name="mismatch_array_element_type" />
<Test name="mismatch_array_length" />
<Test name="mismatch_array_precision" />
</TestCase>
<TestCase name="io_blocks">
<Test name="missing_input" />
<Test name="missing_output" />
<Test name="mismatch_number_of_declarations" />
<Test name="mismatch_member_order" />
<Test name="mismatch_member_type" />
<Test name="mismatch_member_name" />
<Test name="mismatch_member_precision" />
<Test name="match_different_member_interpolation" />
<Test name="mismatch_member_array_size" />
<Test name="match_different_member_struct_names" />
<Test name="mismatch_member_struct_member_name" />
<Test name="mismatch_member_struct_member_type" />
<Test name="mismatch_member_struct_member_precision" />
<Test name="mismatch_member_struct_member_order" />
<Test name="mismatch_array_size" />
<Test name="mismatch_variable_and_block_member_1" />
<Test name="mismatch_variable_and_block_member_2" />
</TestCase>
</TestSuite>
</TestSuite>
<TestSuite name="uniform_location">
<TestCase name="basic">
<Test name="float_vertex" />
<Test name="float_fragment" />
<Test name="vec2_vertex" />
<Test name="vec2_fragment" />
<Test name="vec3_vertex" />
<Test name="vec3_fragment" />
<Test name="vec4_vertex" />
<Test name="vec4_fragment" />
<Test name="int_vertex" />
<Test name="int_fragment" />
<Test name="ivec2_vertex" />
<Test name="ivec2_fragment" />
<Test name="ivec3_vertex" />
<Test name="ivec3_fragment" />
<Test name="ivec4_vertex" />
<Test name="ivec4_fragment" />
<Test name="uint_vertex" />
<Test name="uint_fragment" />
<Test name="uvec2_vertex" />
<Test name="uvec2_fragment" />
<Test name="uvec3_vertex" />
<Test name="uvec3_fragment" />
<Test name="uvec4_vertex" />
<Test name="uvec4_fragment" />
<Test name="bool_vertex" />
<Test name="bool_fragment" />
<Test name="bvec2_vertex" />
<Test name="bvec2_fragment" />
<Test name="bvec3_vertex" />
<Test name="bvec3_fragment" />
<Test name="bvec4_vertex" />
<Test name="bvec4_fragment" />
<Test name="mat2_vertex" />
<Test name="mat2_fragment" />
<Test name="mat2x3_vertex" />
<Test name="mat2x3_fragment" />
<Test name="mat2x4_vertex" />
<Test name="mat2x4_fragment" />
<Test name="mat3x2_vertex" />
<Test name="mat3x2_fragment" />
<Test name="mat3_vertex" />
<Test name="mat3_fragment" />
<Test name="mat3x4_vertex" />
<Test name="mat3x4_fragment" />
<Test name="mat4x2_vertex" />
<Test name="mat4x2_fragment" />
<Test name="mat4x3_vertex" />
<Test name="mat4x3_fragment" />
<Test name="mat4_vertex" />
<Test name="mat4_fragment" />
<Test name="sampler2D_vertex" />
<Test name="sampler2D_fragment" />
<Test name="isampler2D_vertex" />
<Test name="isampler2D_fragment" />
<Test name="usampler2D_vertex" />
<Test name="usampler2D_fragment" />
</TestCase>
<TestCase name="array">
<Test name="float_vertex" />
<Test name="float_fragment" />
<Test name="vec2_vertex" />
<Test name="vec2_fragment" />
<Test name="vec3_vertex" />
<Test name="vec3_fragment" />
<Test name="vec4_vertex" />
<Test name="vec4_fragment" />
<Test name="int_vertex" />
<Test name="int_fragment" />
<Test name="ivec2_vertex" />
<Test name="ivec2_fragment" />
<Test name="ivec3_vertex" />
<Test name="ivec3_fragment" />
<Test name="ivec4_vertex" />
<Test name="ivec4_fragment" />
<Test name="uint_vertex" />
<Test name="uint_fragment" />
<Test name="uvec2_vertex" />
<Test name="uvec2_fragment" />
<Test name="uvec3_vertex" />
<Test name="uvec3_fragment" />
<Test name="uvec4_vertex" />
<Test name="uvec4_fragment" />
<Test name="bool_vertex" />
<Test name="bool_fragment" />
<Test name="bvec2_vertex" />
<Test name="bvec2_fragment" />
<Test name="bvec3_vertex" />
<Test name="bvec3_fragment" />
<Test name="bvec4_vertex" />
<Test name="bvec4_fragment" />
<Test name="mat2_vertex" />
<Test name="mat2_fragment" />
<Test name="mat2x3_vertex" />
<Test name="mat2x3_fragment" />
<Test name="mat2x4_vertex" />
<Test name="mat2x4_fragment" />
<Test name="mat3x2_vertex" />
<Test name="mat3x2_fragment" />
<Test name="mat3_vertex" />
<Test name="mat3_fragment" />
<Test name="mat3x4_vertex" />
<Test name="mat3x4_fragment" />
<Test name="mat4x2_vertex" />
<Test name="mat4x2_fragment" />
<Test name="mat4x3_vertex" />
<Test name="mat4x3_fragment" />
<Test name="mat4_vertex" />
<Test name="mat4_fragment" />
<Test name="sampler2D_vertex" />
<Test name="sampler2D_fragment" />
<Test name="isampler2D_vertex" />
<Test name="isampler2D_fragment" />
<Test name="usampler2D_vertex" />
<Test name="usampler2D_fragment" />
</TestCase>
<TestCase name="nested_array">
<Test name="float_vertex" />
<Test name="float_fragment" />
<Test name="vec2_vertex" />
<Test name="vec2_fragment" />
<Test name="vec3_vertex" />
<Test name="vec3_fragment" />
<Test name="vec4_vertex" />
<Test name="vec4_fragment" />
<Test name="int_vertex" />
<Test name="int_fragment" />
<Test name="ivec2_vertex" />
<Test name="ivec2_fragment" />
<Test name="ivec3_vertex" />
<Test name="ivec3_fragment" />
<Test name="ivec4_vertex" />
<Test name="ivec4_fragment" />
<Test name="uint_vertex" />
<Test name="uint_fragment" />
<Test name="uvec2_vertex" />
<Test name="uvec2_fragment" />
<Test name="uvec3_vertex" />
<Test name="uvec3_fragment" />
<Test name="uvec4_vertex" />
<Test name="uvec4_fragment" />
<Test name="bool_vertex" />
<Test name="bool_fragment" />
<Test name="bvec2_vertex" />
<Test name="bvec2_fragment" />
<Test name="bvec3_vertex" />
<Test name="bvec3_fragment" />
<Test name="bvec4_vertex" />
<Test name="bvec4_fragment" />
<Test name="mat2_vertex" />
<Test name="mat2_fragment" />
<Test name="mat2x3_vertex" />
<Test name="mat2x3_fragment" />
<Test name="mat2x4_vertex" />
<Test name="mat2x4_fragment" />
<Test name="mat3x2_vertex" />
<Test name="mat3x2_fragment" />
<Test name="mat3_vertex" />
<Test name="mat3_fragment" />
<Test name="mat3x4_vertex" />
<Test name="mat3x4_fragment" />
<Test name="mat4x2_vertex" />
<Test name="mat4x2_fragment" />
<Test name="mat4x3_vertex" />
<Test name="mat4x3_fragment" />
<Test name="mat4_vertex" />
<Test name="mat4_fragment" />
<Test name="sampler2D_vertex" />
<Test name="sampler2D_fragment" />
<Test name="isampler2D_vertex" />
<Test name="isampler2D_fragment" />
<Test name="usampler2D_vertex" />
<Test name="usampler2D_fragment" />
</TestCase>
<TestCase name="struct">
<Test name="case_0" />
<Test name="case_1" />
<Test name="case_2" />
<Test name="case_3" />
<Test name="case_4" />
<Test name="case_5" />
<Test name="case_6" />
<Test name="case_7" />
<Test name="case_8" />
<Test name="case_9" />
<Test name="case_10" />
<Test name="case_11" />
<Test name="case_12" />
<Test name="case_13" />
<Test name="case_14" />
<Test name="case_15" />
</TestCase>
<TestCase name="nested_struct">
<Test name="case_0" />
<Test name="case_1" />
<Test name="case_2" />
<Test name="case_3" />
<Test name="case_4" />
<Test name="case_5" />
<Test name="case_6" />
<Test name="case_7" />
<Test name="case_8" />
<Test name="case_9" />
<Test name="case_10" />
<Test name="case_11" />
<Test name="case_12" />
<Test name="case_13" />
<Test name="case_14" />
<Test name="case_15" />
</TestCase>
<TestCase name="min_max">
<Test name="float_vertex_min" />
<Test name="float_vertex_max" />
<Test name="float_fragment_min" />
<Test name="float_fragment_max" />
<Test name="vec2_vertex_min" />
<Test name="vec2_vertex_max" />
<Test name="vec2_fragment_min" />
<Test name="vec2_fragment_max" />
<Test name="vec3_vertex_min" />
<Test name="vec3_vertex_max" />
<Test name="vec3_fragment_min" />
<Test name="vec3_fragment_max" />
<Test name="vec4_vertex_min" />
<Test name="vec4_vertex_max" />
<Test name="vec4_fragment_min" />
<Test name="vec4_fragment_max" />
<Test name="int_vertex_min" />
<Test name="int_vertex_max" />
<Test name="int_fragment_min" />
<Test name="int_fragment_max" />
<Test name="ivec2_vertex_min" />
<Test name="ivec2_vertex_max" />
<Test name="ivec2_fragment_min" />
<Test name="ivec2_fragment_max" />
<Test name="ivec3_vertex_min" />
<Test name="ivec3_vertex_max" />
<Test name="ivec3_fragment_min" />
<Test name="ivec3_fragment_max" />
<Test name="ivec4_vertex_min" />
<Test name="ivec4_vertex_max" />
<Test name="ivec4_fragment_min" />
<Test name="ivec4_fragment_max" />
<Test name="uint_vertex_min" />
<Test name="uint_vertex_max" />
<Test name="uint_fragment_min" />
<Test name="uint_fragment_max" />
<Test name="uvec2_vertex_min" />
<Test name="uvec2_vertex_max" />
<Test name="uvec2_fragment_min" />
<Test name="uvec2_fragment_max" />
<Test name="uvec3_vertex_min" />
<Test name="uvec3_vertex_max" />
<Test name="uvec3_fragment_min" />
<Test name="uvec3_fragment_max" />
<Test name="uvec4_vertex_min" />
<Test name="uvec4_vertex_max" />
<Test name="uvec4_fragment_min" />
<Test name="uvec4_fragment_max" />
<Test name="bool_vertex_min" />
<Test name="bool_vertex_max" />
<Test name="bool_fragment_min" />
<Test name="bool_fragment_max" />
<Test name="bvec2_vertex_min" />
<Test name="bvec2_vertex_max" />
<Test name="bvec2_fragment_min" />
<Test name="bvec2_fragment_max" />
<Test name="bvec3_vertex_min" />
<Test name="bvec3_vertex_max" />
<Test name="bvec3_fragment_min" />
<Test name="bvec3_fragment_max" />
<Test name="bvec4_vertex_min" />
<Test name="bvec4_vertex_max" />
<Test name="bvec4_fragment_min" />
<Test name="bvec4_fragment_max" />
<Test name="mat2_vertex_min" />
<Test name="mat2_vertex_max" />
<Test name="mat2_fragment_min" />
<Test name="mat2_fragment_max" />
<Test name="mat2x3_vertex_min" />
<Test name="mat2x3_vertex_max" />
<Test name="mat2x3_fragment_min" />
<Test name="mat2x3_fragment_max" />
<Test name="mat2x4_vertex_min" />
<Test name="mat2x4_vertex_max" />
<Test name="mat2x4_fragment_min" />
<Test name="mat2x4_fragment_max" />
<Test name="mat3x2_vertex_min" />
<Test name="mat3x2_vertex_max" />
<Test name="mat3x2_fragment_min" />
<Test name="mat3x2_fragment_max" />
<Test name="mat3_vertex_min" />
<Test name="mat3_vertex_max" />
<Test name="mat3_fragment_min" />
<Test name="mat3_fragment_max" />
<Test name="mat3x4_vertex_min" />
<Test name="mat3x4_vertex_max" />
<Test name="mat3x4_fragment_min" />
<Test name="mat3x4_fragment_max" />
<Test name="mat4x2_vertex_min" />
<Test name="mat4x2_vertex_max" />
<Test name="mat4x2_fragment_min" />
<Test name="mat4x2_fragment_max" />
<Test name="mat4x3_vertex_min" />
<Test name="mat4x3_vertex_max" />
<Test name="mat4x3_fragment_min" />
<Test name="mat4x3_fragment_max" />
<Test name="mat4_vertex_min" />
<Test name="mat4_vertex_max" />
<Test name="mat4_fragment_min" />
<Test name="mat4_fragment_max" />
<Test name="sampler2D_vertex_min" />
<Test name="sampler2D_vertex_max" />
<Test name="sampler2D_fragment_min" />
<Test name="sampler2D_fragment_max" />
<Test name="isampler2D_vertex_min" />
<Test name="isampler2D_vertex_max" />
<Test name="isampler2D_fragment_min" />
<Test name="isampler2D_fragment_max" />
<Test name="usampler2D_vertex_min" />
<Test name="usampler2D_vertex_max" />
<Test name="usampler2D_fragment_min" />
<Test name="usampler2D_fragment_max" />
</TestCase>
<TestCase name="link">
<Test name="case_0" />
<Test name="case_1" />
<Test name="case_2" />
<Test name="case_3" />
<Test name="case_4" />
<Test name="case_5" />
<Test name="case_6" />
<Test name="case_7" />
<Test name="case_8" />
<Test name="case_9" />
</TestCase>
<TestCase name="negative">
<Test name="duplicate_location_vertex" />
<Test name="duplicate_location_fragment" />
<Test name="duplicate_location_unused_vertex" />
<Test name="duplicate_location_unused_fragment" />
<Test name="duplicate_location_split" />
<Test name="array_overlap_vertex" />
<Test name="array_overlap_fragment" />
<Test name="array_overlap_unused_vertex" />
<Test name="array_overlap_unused_fragment" />
<Test name="array_overlap_split" />
<Test name="struct_overlap_vertex" />
<Test name="struct_overlap_fragment" />
<Test name="struct_overlap_unused_vertex" />
<Test name="struct_overlap_unused_fragment" />
<Test name="struct_overlap_split" />
<Test name="complex_overlap_vertex" />
<Test name="complex_overlap_fragment" />
</TestCase>
</TestSuite>
<TestSuite name="tessellation_geometry_interaction">
<TestSuite name="render">
<TestCase name="passthrough">
<Test name="tessellate_tris_passthrough_geometry_no_change" />
<Test name="tessellate_quads_passthrough_geometry_no_change" />
<Test name="tessellate_isolines_passthrough_geometry_no_change" />
<Test name="passthrough_tessellation_geometry_shade_triangles_no_change" />
<Test name="passthrough_tessellation_geometry_shade_lines_no_change" />
</TestCase>
<TestCase name="limits">
<Test name="output_required_max_tessellation" />
<Test name="output_implementation_max_tessellation" />
<Test name="output_required_max_geometry" />
<Test name="output_implementation_max_geometry" />
<Test name="output_required_max_invocations" />
<Test name="output_implementation_max_invocations" />
</TestCase>
<TestCase name="scatter">
<Test name="geometry_scatter_instances" />
<Test name="geometry_scatter_primitives" />
<Test name="geometry_scatter_layers" />
</TestCase>
</TestSuite>
<TestCase name="feedback">
<Test name="tessellation_output_triangles_geometry_output_points" />
<Test name="tessellation_output_quads_geometry_output_points" />
<Test name="tessellation_output_isolines_geometry_output_points" />
<Test name="tessellation_output_triangles_point_mode_geometry_output_lines" />
<Test name="tessellation_output_quads_point_mode_geometry_output_lines" />
<Test name="tessellation_output_isolines_point_mode_geometry_output_triangles" />
</TestCase>
<TestCase name="point_size">
<Test name="vertex_set" />
<Test name="evaluation_set" />
<Test name="geometry_set" />
<Test name="vertex_set_control_set" />
<Test name="vertex_set_evaluation_set" />
<Test name="vertex_set_eval_default" />
<Test name="vertex_set_geometry_set" />
<Test name="vertex_set_evaluation_set_geometry_set" />
<Test name="vertex_set_control_pass_eval_add_geometry_add" />
<Test name="vertex_set_evaluation_set_geometry_default" />
</TestCase>
</TestSuite>
<TestSuite name="debug">
<TestSuite name="negative_coverage">
<TestSuite name="callbacks">
<TestCase name="buffer">
<Test name="bind_buffer" />
<Test name="delete_buffers" />
<Test name="gen_buffers" />
<Test name="buffer_data" />
<Test name="buffer_sub_data" />
<Test name="buffer_sub_data_size_offset" />
<Test name="clear" />
<Test name="read_pixels" />
<Test name="read_pixels_format_mismatch" />
<Test name="read_pixels_fbo_format_mismatch" />
<Test name="bind_buffer_range" />
<Test name="bind_buffer_base" />
<Test name="clear_bufferiv" />
<Test name="clear_bufferuiv" />
<Test name="clear_bufferfv" />
<Test name="clear_bufferfi" />
<Test name="copy_buffer_sub_data" />
<Test name="draw_buffers" />
<Test name="flush_mapped_buffer_range" />
<Test name="map_buffer_range" />
<Test name="read_buffer" />
<Test name="unmap_buffer" />
<Test name="bind_framebuffer" />
<Test name="bind_renderbuffer" />
<Test name="check_framebuffer_status" />
<Test name="gen_framebuffers" />
<Test name="gen_renderbuffers" />
<Test name="delete_framebuffers" />
<Test name="delete_renderbuffers" />
<Test name="framebuffer_renderbuffer" />
<Test name="framebuffer_texture2d" />
<Test name="renderbuffer_storage" />
<Test name="blit_framebuffer" />
<Test name="blit_framebuffer_multisample" />
<Test name="framebuffer_texture_layer" />
<Test name="renderbuffer_storage_multisample" />
</TestCase>
<TestCase name="texture">
<Test name="activetexture" />
<Test name="bindtexture" />
<Test name="compressedteximage2d_invalid_target" />
<Test name="compressedteximage2d_invalid_format" />
<Test name="compressedteximage2d_neg_level" />
<Test name="compressedteximage2d_max_level" />
<Test name="compressedteximage2d_neg_width_height" />
<Test name="compressedteximage2d_max_width_height" />
<Test name="compressedteximage2d_invalid_border" />
<Test name="compressedteximage2d_invalid_size" />
<Test name="compressedteximage2d_invalid_buffer_target" />
<Test name="copyteximage2d_invalid_target" />
<Test name="copyteximage2d_invalid_format" />
<Test name="copyteximage2d_inequal_width_height_cube" />
<Test name="copyteximage2d_neg_level" />
<Test name="copyteximage2d_max_level" />
<Test name="copyteximage2d_neg_width_height" />
<Test name="copyteximage2d_max_width_height" />
<Test name="copyteximage2d_invalid_border" />
<Test name="copyteximage2d_incomplete_framebuffer" />
<Test name="copytexsubimage2d_invalid_target" />
<Test name="copytexsubimage2d_neg_level" />
<Test name="copytexsubimage2d_max_level" />
<Test name="copytexsubimage2d_neg_offset" />
<Test name="copytexsubimage2d_invalid_offset" />
<Test name="copytexsubimage2d_neg_width_height" />
<Test name="copytexsubimage2d_incomplete_framebuffer" />
<Test name="deletetextures" />
<Test name="generatemipmap" />
<Test name="gentextures" />
<Test name="pixelstorei" />
<Test name="teximage2d" />
<Test name="teximage2d_inequal_width_height_cube" />
<Test name="teximage2d_neg_level" />
<Test name="teximage2d_max_level" />
<Test name="teximage2d_neg_width_height" />
<Test name="teximage2d_max_width_height" />
<Test name="teximage2d_invalid_border" />
<Test name="teximage2d_invalid_buffer_target" />
<Test name="texsubimage2d" />
<Test name="texsubimage2d_neg_level" />
<Test name="texsubimage2d_max_level" />
<Test name="texsubimage2d_neg_offset" />
<Test name="texsubimage2d_invalid_offset" />
<Test name="texsubimage2d_neg_width_height" />
<Test name="texsubimage2d_invalid_buffer_target" />
<Test name="texparameteri" />
<Test name="texparameterf" />
<Test name="texparameteriv" />
<Test name="texparameterfv" />
<Test name="compressedtexsubimage2d" />
<Test name="compressedtexsubimage2d_neg_level" />
<Test name="compressedtexsubimage2d_max_level" />
<Test name="compressedtexsubimage2d_neg_offset" />
<Test name="compressedtexsubimage2d_invalid_offset" />
<Test name="compressedtexsubimage2d_neg_width_height" />
<Test name="compressedtexsubimage2d_invalid_size" />
<Test name="compressedtexsubimage2d_invalid_buffer_target" />
<Test name="teximage3d" />
<Test name="teximage3d_neg_level" />
<Test name="teximage3d_max_level" />
<Test name="teximage3d_neg_width_height_depth" />
<Test name="teximage3d_max_width_height_depth" />
<Test name="teximage3d_invalid_border" />
<Test name="teximage3d_invalid_buffer_target" />
<Test name="texsubimage3d" />
<Test name="texsubimage3d_neg_level" />
<Test name="texsubimage3d_max_level" />
<Test name="texsubimage3d_neg_offset" />
<Test name="texsubimage3d_invalid_offset" />
<Test name="texsubimage3d_neg_width_height" />
<Test name="texsubimage3d_invalid_buffer_target" />
<Test name="copytexsubimage3d" />
<Test name="copytexsubimage3d_neg_level" />
<Test name="copytexsubimage3d_max_level" />
<Test name="copytexsubimage3d_neg_offset" />
<Test name="copytexsubimage3d_invalid_offset" />
<Test name="copytexsubimage3d_neg_width_height" />
<Test name="copytexsubimage3d_incomplete_framebuffer" />
<Test name="compressedteximage3d" />
<Test name="compressedteximage3d_neg_level" />
<Test name="compressedteximage3d_max_level" />
<Test name="compressedteximage3d_neg_width_height_depth" />
<Test name="compressedteximage3d_max_width_height_depth" />
<Test name="compressedteximage3d_invalid_border" />
<Test name="compressedteximage3d_invalid_size" />
<Test name="compressedteximage3d_invalid_buffer_target" />
<Test name="compressedtexsubimage3d" />
<Test name="compressedtexsubimage3d_neg_level" />
<Test name="compressedtexsubimage3d_max_level" />
<Test name="compressedtexsubimage3d_neg_offset" />
<Test name="compressedtexsubimage3d_invalid_offset" />
<Test name="compressedtexsubimage3d_neg_width_height_depth" />
<Test name="compressedtexsubimage3d_invalid_size" />
<Test name="compressedtexsubimage3d_invalid_buffer_target" />
<Test name="texstorage2d" />
<Test name="texstorage2d_invalid_binding" />
<Test name="texstorage2d_invalid_levels" />
<Test name="texstorage3d" />
<Test name="texstorage3d_invalid_binding" />
<Test name="texstorage3d_invalid_levels" />
</TestCase>
<TestCase name="shader">
<Test name="create_shader" />
<Test name="shader_source" />
<Test name="compile_shader" />
<Test name="delete_shader" />
<Test name="shader_binary" />
<Test name="attach_shader" />
<Test name="detach_shader" />
<Test name="delete_program" />
<Test name="validate_program" />
<Test name="get_program_binary" />
<Test name="program_binary" />
<Test name="program_parameteri" />
<Test name="gen_samplers" />
<Test name="bind_sampler" />
<Test name="delete_samplers" />
<Test name="get_sampler_parameteriv" />
<Test name="get_sampler_parameterfv" />
<Test name="sampler_parameteri" />
<Test name="sampler_parameteriv" />
<Test name="sampler_parameterf" />
<Test name="sampler_parameterfv" />
<Test name="get_attrib_location" />
<Test name="get_uniform_location" />
<Test name="bind_attrib_location" />
<Test name="uniform_block_binding" />
<Test name="uniformf_invalid_program" />
<Test name="uniformf_incompatible_type" />
<Test name="uniformf_invalid_location" />
<Test name="uniformfv_invalid_program" />
<Test name="uniformfv_incompatible_type" />
<Test name="uniformfv_invalid_location" />
<Test name="uniformfv_invalid_count" />
<Test name="uniformi_invalid_program" />
<Test name="uniformi_incompatible_type" />
<Test name="uniformi_invalid_location" />
<Test name="uniformiv_invalid_program" />
<Test name="uniformiv_incompatible_type" />
<Test name="uniformiv_invalid_location" />
<Test name="uniformiv_invalid_count" />
<Test name="uniformui_invalid_program" />
<Test name="uniformui_incompatible_type" />
<Test name="uniformui_invalid_location" />
<Test name="uniformuiv_invalid_program" />
<Test name="uniformuiv_incompatible_type" />
<Test name="uniformuiv_invalid_location" />
<Test name="uniformuiv_invalid_count" />
<Test name="uniform_matrixfv_invalid_program" />
<Test name="uniform_matrixfv_incompatible_type" />
<Test name="uniform_matrixfv_invalid_location" />
<Test name="uniform_matrixfv_invalid_count" />
<Test name="gen_transform_feedbacks" />
<Test name="bind_transform_feedback" />
<Test name="delete_transform_feedbacks" />
<Test name="begin_transform_feedback" />
<Test name="pause_transform_feedback" />
<Test name="resume_transform_feedback" />
<Test name="end_transform_feedback" />
<Test name="get_transform_feedback_varying" />
<Test name="transform_feedback_varyings" />
</TestCase>
<TestCase name="fragment">
<Test name="scissor" />
<Test name="depth_func" />
<Test name="viewport" />
<Test name="stencil_func" />
<Test name="stencil_func_separate" />
<Test name="stencil_op" />
<Test name="stencil_op_separate" />
<Test name="stencil_mask_separate" />
<Test name="blend_equation" />
<Test name="blend_equation_separate" />
<Test name="blend_func" />
<Test name="blend_func_separate" />
<Test name="cull_face" />
<Test name="front_face" />
<Test name="line_width" />
<Test name="gen_queries" />
<Test name="begin_query" />
<Test name="end_query" />
<Test name="delete_queries" />
<Test name="fence_sync" />
<Test name="wait_sync" />
<Test name="client_wait_sync" />
<Test name="delete_sync" />
</TestCase>
<TestCase name="vertex_array">
<Test name="vertex_attribf" />
<Test name="vertex_attribfv" />
<Test name="vertex_attribi4" />
<Test name="vertex_attribi4v" />
<Test name="vertex_attrib_pointer" />
<Test name="vertex_attrib_i_pointer" />
<Test name="enable_vertex_attrib_array" />
<Test name="disable_vertex_attrib_array" />
<Test name="gen_vertex_arrays" />
<Test name="bind_vertex_array" />
<Test name="delete_vertex_arrays" />
<Test name="vertex_attrib_divisor" />
<Test name="draw_arrays" />
<Test name="draw_arrays_invalid_program" />
<Test name="draw_arrays_incomplete_primitive" />
<Test name="draw_elements" />
<Test name="draw_elements_invalid_program" />
<Test name="draw_elements_incomplete_primitive" />
<Test name="draw_arrays_instanced" />
<Test name="draw_arrays_instanced_invalid_program" />
<Test name="draw_arrays_instanced_incomplete_primitive" />
<Test name="draw_elements_instanced" />
<Test name="draw_elements_instanced_invalid_program" />
<Test name="draw_elements_instanced_incomplete_primitive" />
<Test name="draw_range_elements" />
<Test name="draw_range_elements_invalid_program" />
<Test name="draw_range_elements_incomplete_primitive" />
</TestCase>
<TestCase name="state">
<Test name="enable" />
<Test name="disable" />
<Test name="get_booleanv" />
<Test name="get_floatv" />
<Test name="get_integerv" />
<Test name="get_integer64v" />
<Test name="get_integeri_v" />
<Test name="get_integer64i_v" />
<Test name="get_string" />
<Test name="get_stringi" />
<Test name="get_attached_shaders" />
<Test name="get_shaderiv" />
<Test name="get_shader_info_log" />
<Test name="get_shader_precision_format" />
<Test name="get_shader_source" />
<Test name="get_programiv" />
<Test name="get_program_info_log" />
<Test name="get_tex_parameterfv" />
<Test name="get_tex_parameteriv" />
<Test name="get_uniformfv" />
<Test name="get_uniformiv" />
<Test name="get_uniformuiv" />
<Test name="get_active_uniform" />
<Test name="get_active_uniformsiv" />
<Test name="get_active_uniform_blockiv" />
<Test name="get_active_uniform_block_name" />
<Test name="get_active_attrib" />
<Test name="get_uniform_indices" />
<Test name="get_vertex_attribfv" />
<Test name="get_vertex_attribiv" />
<Test name="get_vertex_attribi_iv" />
<Test name="get_vertex_attribi_uiv" />
<Test name="get_vertex_attrib_pointerv" />
<Test name="get_frag_data_location" />
<Test name="get_buffer_parameteriv" />
<Test name="get_buffer_parameteri64v" />
<Test name="get_buffer_pointerv" />
<Test name="get_framebuffer_attachment_parameteriv" />
<Test name="get_renderbuffer_parameteriv" />
<Test name="get_internalformativ" />
<Test name="get_queryiv" />
<Test name="get_query_objectuiv" />
<Test name="get_synciv" />
<Test name="is_enabled" />
<Test name="hint" />
</TestCase>
</TestSuite>
<TestSuite name="log">
<TestCase name="buffer">
<Test name="bind_buffer" />
<Test name="delete_buffers" />
<Test name="gen_buffers" />
<Test name="buffer_data" />
<Test name="buffer_sub_data" />
<Test name="buffer_sub_data_size_offset" />
<Test name="clear" />
<Test name="read_pixels" />
<Test name="read_pixels_format_mismatch" />
<Test name="read_pixels_fbo_format_mismatch" />
<Test name="bind_buffer_range" />
<Test name="bind_buffer_base" />
<Test name="clear_bufferiv" />
<Test name="clear_bufferuiv" />
<Test name="clear_bufferfv" />
<Test name="clear_bufferfi" />
<Test name="copy_buffer_sub_data" />
<Test name="draw_buffers" />
<Test name="flush_mapped_buffer_range" />
<Test name="map_buffer_range" />
<Test name="read_buffer" />
<Test name="unmap_buffer" />
<Test name="bind_framebuffer" />
<Test name="bind_renderbuffer" />
<Test name="check_framebuffer_status" />
<Test name="gen_framebuffers" />
<Test name="gen_renderbuffers" />
<Test name="delete_framebuffers" />
<Test name="delete_renderbuffers" />
<Test name="framebuffer_renderbuffer" />
<Test name="framebuffer_texture2d" />
<Test name="renderbuffer_storage" />
<Test name="blit_framebuffer" />
<Test name="blit_framebuffer_multisample" />
<Test name="framebuffer_texture_layer" />
<Test name="renderbuffer_storage_multisample" />
</TestCase>
<TestCase name="texture">
<Test name="activetexture" />
<Test name="bindtexture" />
<Test name="compressedteximage2d_invalid_target" />
<Test name="compressedteximage2d_invalid_format" />
<Test name="compressedteximage2d_neg_level" />
<Test name="compressedteximage2d_max_level" />
<Test name="compressedteximage2d_neg_width_height" />
<Test name="compressedteximage2d_max_width_height" />
<Test name="compressedteximage2d_invalid_border" />
<Test name="compressedteximage2d_invalid_size" />
<Test name="compressedteximage2d_invalid_buffer_target" />
<Test name="copyteximage2d_invalid_target" />
<Test name="copyteximage2d_invalid_format" />
<Test name="copyteximage2d_inequal_width_height_cube" />
<Test name="copyteximage2d_neg_level" />
<Test name="copyteximage2d_max_level" />
<Test name="copyteximage2d_neg_width_height" />
<Test name="copyteximage2d_max_width_height" />
<Test name="copyteximage2d_invalid_border" />
<Test name="copyteximage2d_incomplete_framebuffer" />
<Test name="copytexsubimage2d_invalid_target" />
<Test name="copytexsubimage2d_neg_level" />
<Test name="copytexsubimage2d_max_level" />
<Test name="copytexsubimage2d_neg_offset" />
<Test name="copytexsubimage2d_invalid_offset" />
<Test name="copytexsubimage2d_neg_width_height" />
<Test name="copytexsubimage2d_incomplete_framebuffer" />
<Test name="deletetextures" />
<Test name="generatemipmap" />
<Test name="gentextures" />
<Test name="pixelstorei" />
<Test name="teximage2d" />
<Test name="teximage2d_inequal_width_height_cube" />
<Test name="teximage2d_neg_level" />
<Test name="teximage2d_max_level" />
<Test name="teximage2d_neg_width_height" />
<Test name="teximage2d_max_width_height" />
<Test name="teximage2d_invalid_border" />
<Test name="teximage2d_invalid_buffer_target" />
<Test name="texsubimage2d" />
<Test name="texsubimage2d_neg_level" />
<Test name="texsubimage2d_max_level" />
<Test name="texsubimage2d_neg_offset" />
<Test name="texsubimage2d_invalid_offset" />
<Test name="texsubimage2d_neg_width_height" />
<Test name="texsubimage2d_invalid_buffer_target" />
<Test name="texparameteri" />
<Test name="texparameterf" />
<Test name="texparameteriv" />
<Test name="texparameterfv" />
<Test name="compressedtexsubimage2d" />
<Test name="compressedtexsubimage2d_neg_level" />
<Test name="compressedtexsubimage2d_max_level" />
<Test name="compressedtexsubimage2d_neg_offset" />
<Test name="compressedtexsubimage2d_invalid_offset" />
<Test name="compressedtexsubimage2d_neg_width_height" />
<Test name="compressedtexsubimage2d_invalid_size" />
<Test name="compressedtexsubimage2d_invalid_buffer_target" />
<Test name="teximage3d" />
<Test name="teximage3d_neg_level" />
<Test name="teximage3d_max_level" />
<Test name="teximage3d_neg_width_height_depth" />
<Test name="teximage3d_max_width_height_depth" />
<Test name="teximage3d_invalid_border" />
<Test name="teximage3d_invalid_buffer_target" />
<Test name="texsubimage3d" />
<Test name="texsubimage3d_neg_level" />
<Test name="texsubimage3d_max_level" />
<Test name="texsubimage3d_neg_offset" />
<Test name="texsubimage3d_invalid_offset" />
<Test name="texsubimage3d_neg_width_height" />
<Test name="texsubimage3d_invalid_buffer_target" />
<Test name="copytexsubimage3d" />
<Test name="copytexsubimage3d_neg_level" />
<Test name="copytexsubimage3d_max_level" />
<Test name="copytexsubimage3d_neg_offset" />
<Test name="copytexsubimage3d_invalid_offset" />
<Test name="copytexsubimage3d_neg_width_height" />
<Test name="copytexsubimage3d_incomplete_framebuffer" />
<Test name="compressedteximage3d" />
<Test name="compressedteximage3d_neg_level" />
<Test name="compressedteximage3d_max_level" />
<Test name="compressedteximage3d_neg_width_height_depth" />
<Test name="compressedteximage3d_max_width_height_depth" />
<Test name="compressedteximage3d_invalid_border" />
<Test name="compressedteximage3d_invalid_size" />
<Test name="compressedteximage3d_invalid_buffer_target" />
<Test name="compressedtexsubimage3d" />
<Test name="compressedtexsubimage3d_neg_level" />
<Test name="compressedtexsubimage3d_max_level" />
<Test name="compressedtexsubimage3d_neg_offset" />
<Test name="compressedtexsubimage3d_invalid_offset" />
<Test name="compressedtexsubimage3d_neg_width_height_depth" />
<Test name="compressedtexsubimage3d_invalid_size" />
<Test name="compressedtexsubimage3d_invalid_buffer_target" />
<Test name="texstorage2d" />
<Test name="texstorage2d_invalid_binding" />
<Test name="texstorage2d_invalid_levels" />
<Test name="texstorage3d" />
<Test name="texstorage3d_invalid_binding" />
<Test name="texstorage3d_invalid_levels" />
</TestCase>
<TestCase name="shader">
<Test name="create_shader" />
<Test name="shader_source" />
<Test name="compile_shader" />
<Test name="delete_shader" />
<Test name="shader_binary" />
<Test name="attach_shader" />
<Test name="detach_shader" />
<Test name="delete_program" />
<Test name="validate_program" />
<Test name="get_program_binary" />
<Test name="program_binary" />
<Test name="program_parameteri" />
<Test name="gen_samplers" />
<Test name="bind_sampler" />
<Test name="delete_samplers" />
<Test name="get_sampler_parameteriv" />
<Test name="get_sampler_parameterfv" />
<Test name="sampler_parameteri" />
<Test name="sampler_parameteriv" />
<Test name="sampler_parameterf" />
<Test name="sampler_parameterfv" />
<Test name="get_attrib_location" />
<Test name="get_uniform_location" />
<Test name="bind_attrib_location" />
<Test name="uniform_block_binding" />
<Test name="uniformf_invalid_program" />
<Test name="uniformf_incompatible_type" />
<Test name="uniformf_invalid_location" />
<Test name="uniformfv_invalid_program" />
<Test name="uniformfv_incompatible_type" />
<Test name="uniformfv_invalid_location" />
<Test name="uniformfv_invalid_count" />
<Test name="uniformi_invalid_program" />
<Test name="uniformi_incompatible_type" />
<Test name="uniformi_invalid_location" />
<Test name="uniformiv_invalid_program" />
<Test name="uniformiv_incompatible_type" />
<Test name="uniformiv_invalid_location" />
<Test name="uniformiv_invalid_count" />
<Test name="uniformui_invalid_program" />
<Test name="uniformui_incompatible_type" />
<Test name="uniformui_invalid_location" />
<Test name="uniformuiv_invalid_program" />
<Test name="uniformuiv_incompatible_type" />
<Test name="uniformuiv_invalid_location" />
<Test name="uniformuiv_invalid_count" />
<Test name="uniform_matrixfv_invalid_program" />
<Test name="uniform_matrixfv_incompatible_type" />
<Test name="uniform_matrixfv_invalid_location" />
<Test name="uniform_matrixfv_invalid_count" />
<Test name="gen_transform_feedbacks" />
<Test name="bind_transform_feedback" />
<Test name="delete_transform_feedbacks" />
<Test name="begin_transform_feedback" />
<Test name="pause_transform_feedback" />
<Test name="resume_transform_feedback" />
<Test name="end_transform_feedback" />
<Test name="get_transform_feedback_varying" />
<Test name="transform_feedback_varyings" />
</TestCase>
<TestCase name="fragment">
<Test name="scissor" />
<Test name="depth_func" />
<Test name="viewport" />
<Test name="stencil_func" />
<Test name="stencil_func_separate" />
<Test name="stencil_op" />
<Test name="stencil_op_separate" />
<Test name="stencil_mask_separate" />
<Test name="blend_equation" />
<Test name="blend_equation_separate" />
<Test name="blend_func" />
<Test name="blend_func_separate" />
<Test name="cull_face" />
<Test name="front_face" />
<Test name="line_width" />
<Test name="gen_queries" />
<Test name="begin_query" />
<Test name="end_query" />
<Test name="delete_queries" />
<Test name="fence_sync" />
<Test name="wait_sync" />
<Test name="client_wait_sync" />
<Test name="delete_sync" />
</TestCase>
<TestCase name="vertex_array">
<Test name="vertex_attribf" />
<Test name="vertex_attribfv" />
<Test name="vertex_attribi4" />
<Test name="vertex_attribi4v" />
<Test name="vertex_attrib_pointer" />
<Test name="vertex_attrib_i_pointer" />
<Test name="enable_vertex_attrib_array" />
<Test name="disable_vertex_attrib_array" />
<Test name="gen_vertex_arrays" />
<Test name="bind_vertex_array" />
<Test name="delete_vertex_arrays" />
<Test name="vertex_attrib_divisor" />
<Test name="draw_arrays" />
<Test name="draw_arrays_invalid_program" />
<Test name="draw_arrays_incomplete_primitive" />
<Test name="draw_elements" />
<Test name="draw_elements_invalid_program" />
<Test name="draw_elements_incomplete_primitive" />
<Test name="draw_arrays_instanced" />
<Test name="draw_arrays_instanced_invalid_program" />
<Test name="draw_arrays_instanced_incomplete_primitive" />
<Test name="draw_elements_instanced" />
<Test name="draw_elements_instanced_invalid_program" />
<Test name="draw_elements_instanced_incomplete_primitive" />
<Test name="draw_range_elements" />
<Test name="draw_range_elements_invalid_program" />
<Test name="draw_range_elements_incomplete_primitive" />
</TestCase>
<TestCase name="state">
<Test name="enable" />
<Test name="disable" />
<Test name="get_booleanv" />
<Test name="get_floatv" />
<Test name="get_integerv" />
<Test name="get_integer64v" />
<Test name="get_integeri_v" />
<Test name="get_integer64i_v" />
<Test name="get_string" />
<Test name="get_stringi" />
<Test name="get_attached_shaders" />
<Test name="get_shaderiv" />
<Test name="get_shader_info_log" />
<Test name="get_shader_precision_format" />
<Test name="get_shader_source" />
<Test name="get_programiv" />
<Test name="get_program_info_log" />
<Test name="get_tex_parameterfv" />
<Test name="get_tex_parameteriv" />
<Test name="get_uniformfv" />
<Test name="get_uniformiv" />
<Test name="get_uniformuiv" />
<Test name="get_active_uniform" />
<Test name="get_active_uniformsiv" />
<Test name="get_active_uniform_blockiv" />
<Test name="get_active_uniform_block_name" />
<Test name="get_active_attrib" />
<Test name="get_uniform_indices" />
<Test name="get_vertex_attribfv" />
<Test name="get_vertex_attribiv" />
<Test name="get_vertex_attribi_iv" />
<Test name="get_vertex_attribi_uiv" />
<Test name="get_vertex_attrib_pointerv" />
<Test name="get_frag_data_location" />
<Test name="get_buffer_parameteriv" />
<Test name="get_buffer_parameteri64v" />
<Test name="get_buffer_pointerv" />
<Test name="get_framebuffer_attachment_parameteriv" />
<Test name="get_renderbuffer_parameteriv" />
<Test name="get_internalformativ" />
<Test name="get_queryiv" />
<Test name="get_query_objectuiv" />
<Test name="get_synciv" />
<Test name="is_enabled" />
<Test name="hint" />
</TestCase>
</TestSuite>
<TestSuite name="get_error">
<TestCase name="buffer">
<Test name="bind_buffer" />
<Test name="delete_buffers" />
<Test name="gen_buffers" />
<Test name="buffer_data" />
<Test name="buffer_sub_data" />
<Test name="buffer_sub_data_size_offset" />
<Test name="read_pixels" />
<Test name="read_pixels_format_mismatch" />
<Test name="read_pixels_fbo_format_mismatch" />
<Test name="bind_buffer_range" />
<Test name="bind_buffer_base" />
<Test name="clear_bufferiv" />
<Test name="clear_bufferuiv" />
<Test name="clear_bufferfv" />
<Test name="clear_bufferfi" />
<Test name="copy_buffer_sub_data" />
<Test name="flush_mapped_buffer_range" />
<Test name="map_buffer_range" />
<Test name="unmap_buffer" />
<Test name="bind_framebuffer" />
<Test name="bind_renderbuffer" />
<Test name="check_framebuffer_status" />
<Test name="gen_framebuffers" />
<Test name="gen_renderbuffers" />
<Test name="delete_framebuffers" />
<Test name="delete_renderbuffers" />
<Test name="framebuffer_renderbuffer" />
<Test name="blit_framebuffer" />
</TestCase>
<TestCase name="texture">
<Test name="activetexture" />
<Test name="bindtexture" />
<Test name="compressedteximage2d_invalid_target" />
<Test name="compressedteximage2d_invalid_format" />
<Test name="compressedteximage2d_neg_level" />
<Test name="compressedteximage2d_max_level" />
<Test name="compressedteximage2d_neg_width_height" />
<Test name="compressedteximage2d_max_width_height" />
<Test name="compressedteximage2d_invalid_border" />
<Test name="compressedteximage2d_invalid_size" />
<Test name="compressedteximage2d_invalid_buffer_target" />
<Test name="copyteximage2d_invalid_target" />
<Test name="copyteximage2d_invalid_format" />
<Test name="copyteximage2d_inequal_width_height_cube" />
<Test name="copyteximage2d_neg_level" />
<Test name="copyteximage2d_max_level" />
<Test name="copyteximage2d_neg_width_height" />
<Test name="copyteximage2d_max_width_height" />
<Test name="copyteximage2d_invalid_border" />
<Test name="copyteximage2d_incomplete_framebuffer" />
<Test name="copytexsubimage2d_invalid_target" />
<Test name="copytexsubimage2d_neg_level" />
<Test name="copytexsubimage2d_max_level" />
<Test name="copytexsubimage2d_neg_offset" />
<Test name="copytexsubimage2d_invalid_offset" />
<Test name="copytexsubimage2d_neg_width_height" />
<Test name="copytexsubimage2d_incomplete_framebuffer" />
<Test name="deletetextures" />
<Test name="gentextures" />
<Test name="pixelstorei" />
<Test name="teximage2d" />
<Test name="teximage2d_inequal_width_height_cube" />
<Test name="teximage2d_neg_level" />
<Test name="teximage2d_max_level" />
<Test name="teximage2d_neg_width_height" />
<Test name="teximage2d_max_width_height" />
<Test name="teximage2d_invalid_border" />
<Test name="teximage2d_invalid_buffer_target" />
<Test name="texsubimage2d" />
<Test name="texsubimage2d_neg_level" />
<Test name="texsubimage2d_max_level" />
<Test name="texsubimage2d_neg_offset" />
<Test name="texsubimage2d_invalid_offset" />
<Test name="texsubimage2d_neg_width_height" />
<Test name="texsubimage2d_invalid_buffer_target" />
<Test name="texparameteri" />
<Test name="texparameterf" />
<Test name="texparameteriv" />
<Test name="texparameterfv" />
<Test name="compressedtexsubimage2d" />
<Test name="compressedtexsubimage2d_neg_level" />
<Test name="compressedtexsubimage2d_neg_offset" />
<Test name="compressedtexsubimage2d_invalid_offset" />
<Test name="compressedtexsubimage2d_neg_width_height" />
<Test name="compressedtexsubimage2d_invalid_size" />
<Test name="compressedtexsubimage2d_invalid_buffer_target" />
<Test name="teximage3d_neg_level" />
<Test name="teximage3d_max_level" />
<Test name="teximage3d_neg_width_height_depth" />
<Test name="teximage3d_max_width_height_depth" />
<Test name="teximage3d_invalid_border" />
<Test name="teximage3d_invalid_buffer_target" />
<Test name="texsubimage3d" />
<Test name="texsubimage3d_neg_level" />
<Test name="texsubimage3d_max_level" />
<Test name="texsubimage3d_neg_offset" />
<Test name="texsubimage3d_invalid_offset" />
<Test name="texsubimage3d_neg_width_height" />
<Test name="texsubimage3d_invalid_buffer_target" />
<Test name="copytexsubimage3d" />
<Test name="copytexsubimage3d_neg_level" />
<Test name="copytexsubimage3d_max_level" />
<Test name="copytexsubimage3d_neg_offset" />
<Test name="copytexsubimage3d_invalid_offset" />
<Test name="copytexsubimage3d_neg_width_height" />
<Test name="copytexsubimage3d_incomplete_framebuffer" />
<Test name="compressedteximage3d" />
<Test name="compressedteximage3d_neg_level" />
<Test name="compressedteximage3d_neg_width_height_depth" />
<Test name="compressedteximage3d_max_width_height_depth" />
<Test name="compressedteximage3d_invalid_border" />
<Test name="compressedteximage3d_invalid_size" />
<Test name="compressedteximage3d_invalid_buffer_target" />
<Test name="compressedtexsubimage3d" />
<Test name="compressedtexsubimage3d_neg_level" />
<Test name="compressedtexsubimage3d_neg_offset" />
<Test name="compressedtexsubimage3d_invalid_offset" />
<Test name="compressedtexsubimage3d_neg_width_height_depth" />
<Test name="compressedtexsubimage3d_invalid_size" />
<Test name="texstorage2d" />
<Test name="texstorage2d_invalid_binding" />
<Test name="texstorage2d_invalid_levels" />
<Test name="texstorage3d" />
<Test name="texstorage3d_invalid_binding" />
<Test name="texstorage3d_invalid_levels" />
</TestCase>
<TestCase name="shader">
<Test name="create_shader" />
<Test name="shader_source" />
<Test name="compile_shader" />
<Test name="delete_shader" />
<Test name="shader_binary" />
<Test name="attach_shader" />
<Test name="detach_shader" />
<Test name="link_program" />
<Test name="use_program" />
<Test name="delete_program" />
<Test name="validate_program" />
<Test name="get_program_binary" />
<Test name="gen_samplers" />
<Test name="bind_sampler" />
<Test name="delete_samplers" />
<Test name="get_sampler_parameteriv" />
<Test name="get_sampler_parameterfv" />
<Test name="sampler_parameteri" />
<Test name="sampler_parameteriv" />
<Test name="sampler_parameterf" />
<Test name="sampler_parameterfv" />
<Test name="get_attrib_location" />
<Test name="get_uniform_location" />
<Test name="bind_attrib_location" />
<Test name="uniform_block_binding" />
<Test name="uniformf_invalid_program" />
<Test name="uniformf_incompatible_type" />
<Test name="uniformf_invalid_location" />
<Test name="uniformfv_invalid_program" />
<Test name="uniformfv_incompatible_type" />
<Test name="uniformfv_invalid_location" />
<Test name="uniformfv_invalid_count" />
<Test name="uniformi_invalid_program" />
<Test name="uniformi_incompatible_type" />
<Test name="uniformi_invalid_location" />
<Test name="uniformiv_invalid_program" />
<Test name="uniformiv_incompatible_type" />
<Test name="uniformiv_invalid_location" />
<Test name="uniformiv_invalid_count" />
<Test name="uniformui_invalid_program" />
<Test name="uniformui_incompatible_type" />
<Test name="uniformui_invalid_location" />
<Test name="uniformuiv_invalid_program" />
<Test name="uniformuiv_incompatible_type" />
<Test name="uniformuiv_invalid_location" />
<Test name="uniformuiv_invalid_count" />
<Test name="uniform_matrixfv_invalid_program" />
<Test name="uniform_matrixfv_incompatible_type" />
<Test name="uniform_matrixfv_invalid_location" />
<Test name="uniform_matrixfv_invalid_count" />
<Test name="gen_transform_feedbacks" />
<Test name="bind_transform_feedback" />
<Test name="delete_transform_feedbacks" />
<Test name="begin_transform_feedback" />
<Test name="pause_transform_feedback" />
<Test name="resume_transform_feedback" />
<Test name="end_transform_feedback" />
<Test name="get_transform_feedback_varying" />
<Test name="transform_feedback_varyings" />
</TestCase>
<TestCase name="fragment">
<Test name="scissor" />
<Test name="depth_func" />
<Test name="viewport" />
<Test name="stencil_func" />
<Test name="stencil_func_separate" />
<Test name="stencil_op" />
<Test name="stencil_op_separate" />
<Test name="stencil_mask_separate" />
<Test name="blend_equation" />
<Test name="blend_equation_separate" />
<Test name="blend_func" />
<Test name="blend_func_separate" />
<Test name="cull_face" />
<Test name="front_face" />
<Test name="line_width" />
<Test name="gen_queries" />
<Test name="begin_query" />
<Test name="end_query" />
<Test name="delete_queries" />
<Test name="fence_sync" />
<Test name="wait_sync" />
<Test name="client_wait_sync" />
<Test name="delete_sync" />
</TestCase>
<TestCase name="vertex_array">
<Test name="vertex_attribf" />
<Test name="vertex_attribfv" />
<Test name="vertex_attribi4" />
<Test name="vertex_attribi4v" />
<Test name="vertex_attrib_pointer" />
<Test name="vertex_attrib_i_pointer" />
<Test name="enable_vertex_attrib_array" />
<Test name="disable_vertex_attrib_array" />
<Test name="gen_vertex_arrays" />
<Test name="bind_vertex_array" />
<Test name="delete_vertex_arrays" />
<Test name="vertex_attrib_divisor" />
<Test name="draw_arrays" />
<Test name="draw_arrays_invalid_program" />
<Test name="draw_arrays_incomplete_primitive" />
<Test name="draw_elements_invalid_program" />
<Test name="draw_arrays_instanced" />
<Test name="draw_arrays_instanced_invalid_program" />
<Test name="draw_arrays_instanced_incomplete_primitive" />
<Test name="draw_elements_instanced_invalid_program" />
<Test name="draw_range_elements_invalid_program" />
</TestCase>
<TestCase name="state">
<Test name="enable" />
<Test name="disable" />
<Test name="get_booleanv" />
<Test name="get_floatv" />
<Test name="get_integerv" />
<Test name="get_integer64v" />
<Test name="get_integeri_v" />
<Test name="get_integer64i_v" />
<Test name="get_string" />
<Test name="get_stringi" />
<Test name="get_attached_shaders" />
<Test name="get_shaderiv" />
<Test name="get_shader_info_log" />
<Test name="get_shader_precision_format" />
<Test name="get_shader_source" />
<Test name="get_programiv" />
<Test name="get_program_info_log" />
<Test name="get_tex_parameterfv" />
<Test name="get_tex_parameteriv" />
<Test name="get_uniformfv" />
<Test name="get_uniformiv" />
<Test name="get_uniformuiv" />
<Test name="get_active_uniform" />
<Test name="get_active_uniformsiv" />
<Test name="get_active_uniform_blockiv" />
<Test name="get_active_uniform_block_name" />
<Test name="get_active_attrib" />
<Test name="get_uniform_indices" />
<Test name="get_vertex_attribfv" />
<Test name="get_vertex_attribiv" />
<Test name="get_vertex_attribi_iv" />
<Test name="get_vertex_attribi_uiv" />
<Test name="get_vertex_attrib_pointerv" />
<Test name="get_frag_data_location" />
<Test name="get_buffer_parameteriv" />
<Test name="get_buffer_parameteri64v" />
<Test name="get_buffer_pointerv" />
<Test name="get_renderbuffer_parameteriv" />
<Test name="get_queryiv" />
<Test name="get_query_objectuiv" />
<Test name="get_synciv" />
<Test name="is_enabled" />
<Test name="hint" />
</TestCase>
</TestSuite>
</TestSuite>
<TestCase name="externally_generated">
<Test name="application_messages" />
<Test name="third_party_messages" />
<Test name="push_pop_stack" />
<Test name="push_pop_consistency" />
</TestCase>
<TestCase name="error_filters">
<Test name="case_4" />
<Test name="case_5" />
<Test name="case_6" />
<Test name="case_7" />
<Test name="case_10" />
<Test name="case_12" />
<Test name="case_13" />
<Test name="case_14" />
<Test name="case_15" />
<Test name="case_21" />
<Test name="case_22" />
<Test name="case_23" />
<Test name="case_25" />
<Test name="case_28" />
<Test name="case_29" />
<Test name="case_30" />
</TestCase>
<TestCase name="async">
<Test name="case_0_log" />
<Test name="case_1_callback" />
<Test name="case_2_log" />
<Test name="case_3_callback" />
<Test name="case_4_log" />
<Test name="case_5_callback" />
<Test name="case_6_log" />
<Test name="case_7_callback" />
<Test name="case_8_log" />
<Test name="case_9_callback" />
<Test name="case_10_log" />
<Test name="case_11_callback" />
<Test name="case_12_log" />
<Test name="case_13_callback" />
<Test name="case_14_log" />
<Test name="case_15_callback" />
</TestCase>
<TestCase name="object_labels">
<Test name="buffer" />
<Test name="shader" />
<Test name="program" />
<Test name="query" />
<Test name="transform_feedback" />
<Test name="sampler" />
<Test name="texture" />
<Test name="renderbuffer" />
<Test name="framebuffer" />
</TestCase>
</TestSuite>
<TestSuite name="fbo">
<TestSuite name="color">
<TestCase name="texcubearray">
<Test name="rgba32i" />
<Test name="rgba32ui" />
<Test name="rgba16i" />
<Test name="rgba16ui" />
<Test name="rgba8" />
<Test name="rgba8i" />
<Test name="rgba8ui" />
<Test name="srgb8_alpha8" />
<Test name="rgb10_a2" />
<Test name="rgb10_a2ui" />
<Test name="rgba4" />
<Test name="rgb5_a1" />
<Test name="rgb8" />
<Test name="rgb565" />
<Test name="rg32i" />
<Test name="rg32ui" />
<Test name="rg16i" />
<Test name="rg16ui" />
<Test name="rg8" />
<Test name="rg8i" />
<Test name="rg8ui" />
<Test name="r32i" />
<Test name="r32ui" />
<Test name="r16i" />
<Test name="r16ui" />
<Test name="r8" />
<Test name="r8i" />
<Test name="r8ui" />
<Test name="rgba32f" />
<Test name="rgba16f" />
<Test name="r11f_g11f_b10f" />
<Test name="rg32f" />
<Test name="rg16f" />
<Test name="r32f" />
<Test name="r16f" />
<Test name="rgb16f" />
</TestCase>
</TestSuite>
<TestSuite name="no_attachments">
<TestCase name="size">
<Test name="16x16" />
<Test name="16x64" />
<Test name="16x256" />
<Test name="16x1024" />
<Test name="64x16" />
<Test name="64x64" />
<Test name="64x256" />
<Test name="64x1024" />
<Test name="256x16" />
<Test name="256x64" />
<Test name="256x256" />
<Test name="256x1024" />
<Test name="1024x16" />
<Test name="1024x64" />
<Test name="1024x256" />
<Test name="1024x1024" />
</TestCase>
<TestCase name="npot_size">
<Test name="1x1" />
<Test name="3x3" />
<Test name="15x15" />
<Test name="17x17" />
<Test name="31x31" />
<Test name="33x33" />
<Test name="63x63" />
<Test name="65x65" />
<Test name="127x127" />
<Test name="129x129" />
<Test name="255x255" />
<Test name="257x257" />
<Test name="511x511" />
<Test name="513x513" />
<Test name="1023x1023" />
<Test name="1025x1025" />
<Test name="2047x2047" />
<Test name="15x511" />
<Test name="127x15" />
<Test name="129x127" />
<Test name="511x127" />
<Test name="2047x1025" />
</TestCase>
<TestCase name="multisample">
<Test name="samples0" />
<Test name="samples1" />
<Test name="samples2" />
<Test name="samples3" />
<Test name="samples4" />
</TestCase>
<TestCase name="random">
<Test name="0" />
<Test name="1" />
<Test name="2" />
<Test name="3" />
<Test name="4" />
<Test name="5" />
<Test name="6" />
<Test name="7" />
<Test name="8" />
<Test name="9" />
<Test name="10" />
<Test name="11" />
<Test name="12" />
<Test name="13" />
<Test name="14" />
<Test name="15" />
</TestCase>
<TestCase name="interaction">
<Test name="256x256ms0_default_128x128ms1" />
<Test name="256x256ms1_default_128x128ms0" />
<Test name="256x256ms0_default_512x512ms2" />
<Test name="256x256ms2_default_128x512ms0" />
<Test name="127x127ms0_default_129x129ms0" />
<Test name="17x512ms4_default_16x16ms2" />
<Test name="2048x2048ms4_default_1x1ms0" />
<Test name="1x1ms0_default_2048x2048ms4" />
</TestCase>
<TestCase name="maximums">
<Test name="width" />
<Test name="height" />
<Test name="size" />
<Test name="samples" />
</TestCase>
</TestSuite>
<TestCase name="completeness">
<Test name="no_attachments" />
</TestCase>
</TestSuite>
<TestSuite name="program_interface_query">
<TestCase name="buffer_limited_query">
<Test name="resource_name_query" />
<Test name="resource_query" />
</TestCase>
<TestSuite name="uniform">
<TestSuite name="resource_list">
<TestCase name="default_block">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_struct_struct_struct" />
<Test name="var_struct_struct_struct_struct" />
<Test name="var_array_struct_struct_struct" />
<Test name="var_array_struct_struct" />
<Test name="var_struct_array_struct_struct" />
<Test name="var_array_array_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_struct_array_struct" />
<Test name="var_struct_struct_array_struct" />
<Test name="var_array_struct_array_struct" />
<Test name="var_array_array_struct" />
<Test name="var_struct_array_array_struct" />
<Test name="var_array_array_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_struct_struct_array" />
<Test name="var_struct_struct_struct_array" />
<Test name="var_array_struct_struct_array" />
<Test name="var_array_struct_array" />
<Test name="var_struct_array_struct_array" />
<Test name="var_array_array_struct_array" />
<Test name="var_array_array" />
<Test name="var_struct_array_array" />
<Test name="var_struct_struct_array_array" />
<Test name="var_array_struct_array_array" />
<Test name="var_array_array_array" />
<Test name="var_struct_array_array_array" />
<Test name="var_array_array_array_array" />
</TestCase>
<TestCase name="named_block">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_struct_struct_struct" />
<Test name="var_struct_struct_struct_struct" />
<Test name="var_array_struct_struct_struct" />
<Test name="var_array_struct_struct" />
<Test name="var_struct_array_struct_struct" />
<Test name="var_array_array_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_struct_array_struct" />
<Test name="var_struct_struct_array_struct" />
<Test name="var_array_struct_array_struct" />
<Test name="var_array_array_struct" />
<Test name="var_struct_array_array_struct" />
<Test name="var_array_array_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_struct_struct_array" />
<Test name="var_struct_struct_struct_array" />
<Test name="var_array_struct_struct_array" />
<Test name="var_array_struct_array" />
<Test name="var_struct_array_struct_array" />
<Test name="var_array_array_struct_array" />
<Test name="var_array_array" />
<Test name="var_struct_array_array" />
<Test name="var_struct_struct_array_array" />
<Test name="var_array_struct_array_array" />
<Test name="var_array_array_array" />
<Test name="var_struct_array_array_array" />
<Test name="var_array_array_array_array" />
</TestCase>
<TestCase name="unnamed_block">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_struct_struct_struct" />
<Test name="var_struct_struct_struct_struct" />
<Test name="var_array_struct_struct_struct" />
<Test name="var_array_struct_struct" />
<Test name="var_struct_array_struct_struct" />
<Test name="var_array_array_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_struct_array_struct" />
<Test name="var_struct_struct_array_struct" />
<Test name="var_array_struct_array_struct" />
<Test name="var_array_array_struct" />
<Test name="var_struct_array_array_struct" />
<Test name="var_array_array_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_struct_struct_array" />
<Test name="var_struct_struct_struct_array" />
<Test name="var_array_struct_struct_array" />
<Test name="var_array_struct_array" />
<Test name="var_struct_array_struct_array" />
<Test name="var_array_array_struct_array" />
<Test name="var_array_array" />
<Test name="var_struct_array_array" />
<Test name="var_struct_struct_array_array" />
<Test name="var_array_struct_array_array" />
<Test name="var_array_array_array" />
<Test name="var_struct_array_array_array" />
<Test name="var_array_array_array_array" />
</TestCase>
<TestCase name="block_array">
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_struct_struct_array" />
<Test name="var_struct_struct_struct_array" />
<Test name="var_struct_struct_struct_struct_array" />
<Test name="var_array_struct_struct_struct_array" />
<Test name="var_array_struct_struct_array" />
<Test name="var_struct_array_struct_struct_array" />
<Test name="var_array_array_struct_struct_array" />
<Test name="var_array_struct_array" />
<Test name="var_struct_array_struct_array" />
<Test name="var_struct_struct_array_struct_array" />
<Test name="var_array_struct_array_struct_array" />
<Test name="var_array_array_struct_array" />
<Test name="var_struct_array_array_struct_array" />
<Test name="var_array_array_array_struct_array" />
<Test name="var_array_array" />
<Test name="var_struct_array_array" />
<Test name="var_struct_struct_array_array" />
<Test name="var_struct_struct_struct_array_array" />
<Test name="var_array_struct_struct_array_array" />
<Test name="var_array_struct_array_array" />
<Test name="var_struct_array_struct_array_array" />
<Test name="var_array_array_struct_array_array" />
<Test name="var_array_array_array" />
<Test name="var_struct_array_array_array" />
<Test name="var_struct_struct_array_array_array" />
<Test name="var_array_struct_array_array_array" />
<Test name="var_array_array_array_array" />
<Test name="var_struct_array_array_array_array" />
<Test name="var_array_array_array_array_array" />
</TestCase>
</TestSuite>
<TestSuite name="array_size">
<TestSuite name="default_block">
<TestCase name="types">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="ivec3" />
<Test name="uvec3" />
<Test name="bvec3" />
<Test name="mat2" />
<Test name="mat3x2" />
<Test name="mat3" />
<Test name="mat4x2" />
<Test name="mat4" />
<Test name="sampler_2d" />
<Test name="sampler_cube" />
<Test name="sampler_2d_array" />
<Test name="sampler_3d" />
<Test name="sampler_2d_shadow" />
<Test name="isampler_2d" />
<Test name="usampler_2d" />
<Test name="sampler_2d_ms" />
<Test name="isampler_2d_ms" />
<Test name="image_2d" />
<Test name="iimage_2d_array" />
<Test name="uimage_2d" />
<Test name="atomic_uint" />
</TestCase>
<TestCase name="aggregates">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_struct_struct_struct" />
<Test name="var_array_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_struct_array_struct" />
<Test name="var_array_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_struct_struct_array" />
<Test name="var_array_struct_array" />
<Test name="var_array_array" />
<Test name="var_struct_array_array" />
<Test name="var_array_array_array" />
</TestCase>
</TestSuite>
<TestSuite name="named_block">
<TestCase name="types">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="ivec3" />
<Test name="uvec3" />
<Test name="bvec3" />
<Test name="mat2" />
<Test name="mat3x2" />
<Test name="mat3" />
<Test name="mat4x2" />
<Test name="mat4" />
</TestCase>
<TestCase name="aggregates">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_struct_struct_struct" />
<Test name="var_array_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_struct_array_struct" />
<Test name="var_array_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_struct_struct_array" />
<Test name="var_array_struct_array" />
<Test name="var_array_array" />
<Test name="var_struct_array_array" />
<Test name="var_array_array_array" />
</TestCase>
</TestSuite>
<TestCase name="unnamed_block">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_array_array" />
</TestCase>
<TestCase name="block_array">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_array_array" />
</TestCase>
</TestSuite>
<TestSuite name="array_stride">
<TestSuite name="default_block">
<TestCase name="types">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="ivec3" />
<Test name="uvec3" />
<Test name="bvec3" />
<Test name="mat2" />
<Test name="mat3x2" />
<Test name="mat3" />
<Test name="mat4x2" />
<Test name="mat4" />
<Test name="sampler_2d" />
<Test name="sampler_cube" />
<Test name="sampler_2d_array" />
<Test name="sampler_3d" />
<Test name="sampler_2d_shadow" />
<Test name="isampler_2d" />
<Test name="usampler_2d" />
<Test name="sampler_2d_ms" />
<Test name="isampler_2d_ms" />
<Test name="image_2d" />
<Test name="iimage_2d_array" />
<Test name="uimage_2d" />
<Test name="atomic_uint" />
</TestCase>
<TestCase name="aggregates">
<Test name="sampler2D_struct" />
<Test name="sampler2D_array" />
<Test name="atomic_uint_array" />
<Test name="float_struct" />
<Test name="float_struct_struct" />
<Test name="float_struct_array" />
<Test name="float_array" />
<Test name="float_array_struct" />
<Test name="float_array_array" />
<Test name="bool_struct" />
<Test name="bool_array" />
<Test name="bvec3_struct" />
<Test name="bvec3_struct_struct" />
<Test name="bvec3_struct_array" />
<Test name="bvec3_array" />
<Test name="bvec3_array_struct" />
<Test name="bvec3_array_array" />
<Test name="vec3_struct" />
<Test name="vec3_struct_struct" />
<Test name="vec3_struct_array" />
<Test name="vec3_array" />
<Test name="vec3_array_struct" />
<Test name="vec3_array_array" />
<Test name="ivec3_struct" />
<Test name="ivec3_struct_struct" />
<Test name="ivec3_struct_array" />
<Test name="ivec3_array" />
<Test name="ivec3_array_struct" />
<Test name="ivec3_array_array" />
</TestCase>
</TestSuite>
<TestSuite name="named_block">
<TestCase name="types">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="ivec3" />
<Test name="uvec3" />
<Test name="bvec3" />
<Test name="mat2" />
<Test name="mat3x2" />
<Test name="mat3" />
<Test name="mat4x2" />
<Test name="mat4" />
</TestCase>
<TestCase name="aggregates">
<Test name="float_struct" />
<Test name="float_struct_struct" />
<Test name="float_struct_array" />
<Test name="float_array" />
<Test name="float_array_struct" />
<Test name="float_array_array" />
<Test name="bool_struct" />
<Test name="bool_array" />
<Test name="bvec3_struct" />
<Test name="bvec3_struct_struct" />
<Test name="bvec3_struct_array" />
<Test name="bvec3_array" />
<Test name="bvec3_array_struct" />
<Test name="bvec3_array_array" />
<Test name="vec3_struct" />
<Test name="vec3_struct_struct" />
<Test name="vec3_struct_array" />
<Test name="vec3_array" />
<Test name="vec3_array_struct" />
<Test name="vec3_array_array" />
<Test name="ivec3_struct" />
<Test name="ivec3_struct_struct" />
<Test name="ivec3_struct_array" />
<Test name="ivec3_array" />
<Test name="ivec3_array_struct" />
<Test name="ivec3_array_array" />
</TestCase>
</TestSuite>
<TestSuite name="unnamed_block">
<TestCase name="basic_type">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="array">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="struct">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="block_array">
<TestCase name="basic_type">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="array">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="struct">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
</TestSuite>
<TestSuite name="atomic_counter_buffer_index">
<TestSuite name="default_block">
<TestCase name="basic_type">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
<Test name="bvec2" />
<Test name="bvec3" />
<Test name="bvec4" />
<Test name="mat2" />
<Test name="mat2x3" />
<Test name="mat2x4" />
<Test name="mat3x2" />
<Test name="mat3" />
<Test name="mat3x4" />
<Test name="mat4x2" />
<Test name="mat4x3" />
<Test name="mat4" />
</TestCase>
<TestCase name="opaque_type">
<Test name="sampler_2d" />
<Test name="sampler_cube" />
<Test name="sampler_2d_array" />
<Test name="sampler_3d" />
<Test name="sampler_2d_shadow" />
<Test name="sampler_cube_shadow" />
<Test name="sampler_2d_array_shadow" />
<Test name="isampler_2d" />
<Test name="isampler_cube" />
<Test name="isampler_2d_array" />
<Test name="isampler_3d" />
<Test name="usampler_2d" />
<Test name="usampler_cube" />
<Test name="usampler_2d_array" />
<Test name="usampler_3d" />
<Test name="sampler_2d_ms" />
<Test name="isampler_2d_ms" />
<Test name="usampler_2d_ms" />
<Test name="image_2d" />
<Test name="image_cube" />
<Test name="image_2d_array" />
<Test name="image_3d" />
<Test name="iimage_2d" />
<Test name="iimage_cube" />
<Test name="iimage_2d_array" />
<Test name="iimage_3d" />
<Test name="uimage_2d" />
<Test name="uimage_cube" />
<Test name="uimage_2d_array" />
<Test name="uimage_3d" />
<Test name="atomic_uint" />
</TestCase>
<TestCase name="array">
<Test name="var_array" />
<Test name="var_array_array" />
</TestCase>
</TestSuite>
<TestCase name="named_block">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestCase name="block_index">
<Test name="default_block" />
<Test name="named_block" />
<Test name="unnamed_block" />
<Test name="block_array" />
</TestCase>
<TestSuite name="location">
<TestSuite name="default_block">
<TestCase name="basic_type">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
<Test name="bvec2" />
<Test name="bvec3" />
<Test name="bvec4" />
<Test name="mat2" />
<Test name="mat2x3" />
<Test name="mat2x4" />
<Test name="mat3x2" />
<Test name="mat3" />
<Test name="mat3x4" />
<Test name="mat4x2" />
<Test name="mat4x3" />
<Test name="mat4" />
</TestCase>
<TestCase name="opaque_type">
<Test name="sampler_2d" />
<Test name="sampler_cube" />
<Test name="sampler_2d_array" />
<Test name="sampler_3d" />
<Test name="sampler_2d_shadow" />
<Test name="sampler_cube_shadow" />
<Test name="sampler_2d_array_shadow" />
<Test name="isampler_2d" />
<Test name="isampler_cube" />
<Test name="isampler_2d_array" />
<Test name="isampler_3d" />
<Test name="usampler_2d" />
<Test name="usampler_cube" />
<Test name="usampler_2d_array" />
<Test name="usampler_3d" />
<Test name="sampler_2d_ms" />
<Test name="isampler_2d_ms" />
<Test name="usampler_2d_ms" />
<Test name="image_2d" />
<Test name="image_cube" />
<Test name="image_2d_array" />
<Test name="image_3d" />
<Test name="iimage_2d" />
<Test name="iimage_cube" />
<Test name="iimage_2d_array" />
<Test name="iimage_3d" />
<Test name="uimage_2d" />
<Test name="uimage_cube" />
<Test name="uimage_2d_array" />
<Test name="uimage_3d" />
<Test name="atomic_uint" />
</TestCase>
<TestSuite name="array">
<TestCase name="basic_type">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="ivec3" />
<Test name="uvec3" />
<Test name="bvec3" />
<Test name="mat2" />
<Test name="mat3x2" />
<Test name="mat3" />
<Test name="mat4x2" />
<Test name="mat4" />
</TestCase>
<TestCase name="opaque_type">
<Test name="sampler_2d" />
<Test name="sampler_cube" />
<Test name="sampler_2d_array" />
<Test name="sampler_3d" />
<Test name="sampler_2d_shadow" />
<Test name="isampler_2d" />
<Test name="usampler_2d" />
<Test name="sampler_2d_ms" />
<Test name="isampler_2d_ms" />
<Test name="image_2d" />
<Test name="iimage_2d_array" />
<Test name="uimage_2d" />
<Test name="atomic_uint" />
</TestCase>
<TestCase name="array">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="sampler_2d" />
<Test name="sampler_2d_array" />
<Test name="sampler_3d" />
<Test name="isampler_2d" />
<Test name="image_2d" />
<Test name="iimage_2d_array" />
<Test name="atomic_uint" />
</TestCase>
<TestCase name="struct">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="sampler_2d" />
<Test name="sampler_2d_array" />
<Test name="sampler_3d" />
<Test name="isampler_2d" />
</TestCase>
</TestSuite>
<TestSuite name="struct">
<TestCase name="basic_type">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="ivec3" />
<Test name="uvec3" />
<Test name="bvec3" />
<Test name="mat2" />
<Test name="mat3x2" />
<Test name="mat3" />
<Test name="mat4x2" />
<Test name="mat4" />
</TestCase>
<TestCase name="opaque_type">
<Test name="sampler_2d" />
<Test name="sampler_cube" />
<Test name="sampler_2d_array" />
<Test name="sampler_3d" />
<Test name="sampler_2d_shadow" />
<Test name="isampler_2d" />
<Test name="usampler_2d" />
<Test name="sampler_2d_ms" />
<Test name="isampler_2d_ms" />
</TestCase>
<TestCase name="array">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="sampler_2d" />
<Test name="sampler_2d_array" />
<Test name="sampler_3d" />
<Test name="isampler_2d" />
</TestCase>
<TestCase name="struct">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="sampler_2d" />
<Test name="sampler_2d_array" />
<Test name="sampler_3d" />
<Test name="isampler_2d" />
</TestCase>
</TestSuite>
</TestSuite>
<TestCase name="named_block">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="unnamed_block">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="matrix_row_major">
<TestSuite name="default_block">
<TestSuite name="no_qualifier">
<TestCase name="types">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="mat2" />
<Test name="mat2x3" />
<Test name="mat3" />
<Test name="mat3x4" />
<Test name="mat4x3" />
<Test name="mat4" />
<Test name="sampler_2d" />
<Test name="sampler_cube" />
<Test name="sampler_2d_array" />
<Test name="sampler_3d" />
<Test name="sampler_2d_shadow" />
<Test name="isampler_2d" />
<Test name="usampler_2d" />
<Test name="sampler_2d_ms" />
<Test name="isampler_2d_ms" />
<Test name="image_2d" />
<Test name="iimage_2d_array" />
<Test name="uimage_2d" />
<Test name="atomic_uint" />
</TestCase>
<TestCase name="aggregates">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_array" />
</TestCase>
</TestSuite>
</TestSuite>
<TestSuite name="named_block">
<TestSuite name="no_qualifier">
<TestCase name="types">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="mat2" />
<Test name="mat2x3" />
<Test name="mat3" />
<Test name="mat3x4" />
<Test name="mat4x3" />
<Test name="mat4" />
</TestCase>
<TestCase name="aggregates">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_array" />
</TestCase>
</TestSuite>
<TestCase name="row_major">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_array" />
</TestCase>
<TestCase name="column_major">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_array" />
</TestCase>
</TestSuite>
<TestSuite name="named_block_row_major">
<TestCase name="no_qualifier">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_array" />
</TestCase>
<TestCase name="row_major">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_array" />
</TestCase>
<TestCase name="column_major">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_array" />
</TestCase>
</TestSuite>
<TestSuite name="named_block_col_major">
<TestCase name="no_qualifier">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_array" />
</TestCase>
<TestCase name="row_major">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_array" />
</TestCase>
<TestCase name="column_major">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_array" />
</TestCase>
</TestSuite>
<TestSuite name="unnamed_block">
<TestCase name="no_qualifier">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_array" />
</TestCase>
<TestCase name="row_major">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_array" />
</TestCase>
<TestCase name="column_major">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_array" />
</TestCase>
</TestSuite>
<TestSuite name="unnamed_block_row_major">
<TestCase name="no_qualifier">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_array" />
</TestCase>
<TestCase name="row_major">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_array" />
</TestCase>
<TestCase name="column_major">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_array" />
</TestCase>
</TestSuite>
<TestSuite name="unnamed_block_col_major">
<TestCase name="no_qualifier">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_array" />
</TestCase>
<TestCase name="row_major">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_array" />
</TestCase>
<TestCase name="column_major">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_array" />
</TestCase>
</TestSuite>
</TestSuite>
<TestSuite name="matrix_stride">
<TestSuite name="default_block">
<TestSuite name="no_qualifier">
<TestCase name="types">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="mat2" />
<Test name="mat2x3" />
<Test name="mat3" />
<Test name="mat3x4" />
<Test name="mat4x3" />
<Test name="mat4" />
<Test name="sampler_2d" />
<Test name="sampler_cube" />
<Test name="sampler_2d_array" />
<Test name="sampler_3d" />
<Test name="sampler_2d_shadow" />
<Test name="isampler_2d" />
<Test name="usampler_2d" />
<Test name="sampler_2d_ms" />
<Test name="isampler_2d_ms" />
<Test name="image_2d" />
<Test name="iimage_2d_array" />
<Test name="uimage_2d" />
<Test name="atomic_uint" />
</TestCase>
<TestCase name="aggregates">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_array" />
</TestCase>
</TestSuite>
</TestSuite>
<TestSuite name="named_block">
<TestSuite name="no_qualifier">
<TestCase name="types">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="mat2" />
<Test name="mat2x3" />
<Test name="mat3" />
<Test name="mat3x4" />
<Test name="mat4x3" />
<Test name="mat4" />
</TestCase>
<TestCase name="aggregates">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_array" />
</TestCase>
</TestSuite>
<TestSuite name="row_major">
<TestCase name="matrix">
<Test name="mat2" />
<Test name="mat2x3" />
<Test name="mat3" />
<Test name="mat3x4" />
<Test name="mat4x3" />
<Test name="mat4" />
</TestCase>
<TestCase name="aggregates">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_array" />
</TestCase>
</TestSuite>
<TestSuite name="column_major">
<TestCase name="matrix">
<Test name="mat2" />
<Test name="mat2x3" />
<Test name="mat3" />
<Test name="mat3x4" />
<Test name="mat4x3" />
<Test name="mat4" />
</TestCase>
<TestCase name="aggregates">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_array" />
</TestCase>
</TestSuite>
</TestSuite>
<TestSuite name="named_block_row_major">
<TestCase name="no_qualifier">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_array" />
</TestCase>
<TestCase name="row_major">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_array" />
</TestCase>
<TestCase name="column_major">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_array" />
</TestCase>
</TestSuite>
<TestSuite name="named_block_col_major">
<TestCase name="no_qualifier">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_array" />
</TestCase>
<TestCase name="row_major">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_array" />
</TestCase>
<TestCase name="column_major">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_array" />
</TestCase>
</TestSuite>
<TestSuite name="unnamed_block">
<TestCase name="no_qualifier">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_array" />
</TestCase>
<TestCase name="row_major">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_array" />
</TestCase>
<TestCase name="column_major">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_array" />
</TestCase>
</TestSuite>
<TestSuite name="unnamed_block_row_major">
<TestCase name="no_qualifier">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_array" />
</TestCase>
<TestCase name="row_major">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_array" />
</TestCase>
<TestCase name="column_major">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_array" />
</TestCase>
</TestSuite>
<TestSuite name="unnamed_block_col_major">
<TestCase name="no_qualifier">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_array" />
</TestCase>
<TestCase name="row_major">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_array" />
</TestCase>
<TestCase name="column_major">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_array" />
</TestCase>
</TestSuite>
</TestSuite>
<TestSuite name="name_length">
<TestCase name="default_block">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_array_array" />
</TestCase>
<TestCase name="named_block">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_array_array" />
</TestCase>
<TestCase name="unnamed_block">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_array" />
</TestCase>
<TestCase name="block_array">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_array" />
</TestCase>
</TestSuite>
<TestSuite name="offset">
<TestSuite name="default_block">
<TestCase name="types">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
<Test name="bvec2" />
<Test name="bvec3" />
<Test name="bvec4" />
<Test name="mat2" />
<Test name="mat2x3" />
<Test name="mat2x4" />
<Test name="mat3x2" />
<Test name="mat3" />
<Test name="mat3x4" />
<Test name="mat4x2" />
<Test name="mat4x3" />
<Test name="mat4" />
<Test name="sampler_2d" />
<Test name="sampler_cube" />
<Test name="sampler_2d_array" />
<Test name="sampler_3d" />
<Test name="sampler_2d_shadow" />
<Test name="sampler_cube_shadow" />
<Test name="sampler_2d_array_shadow" />
<Test name="isampler_2d" />
<Test name="isampler_cube" />
<Test name="isampler_2d_array" />
<Test name="isampler_3d" />
<Test name="usampler_2d" />
<Test name="usampler_cube" />
<Test name="usampler_2d_array" />
<Test name="usampler_3d" />
<Test name="sampler_2d_ms" />
<Test name="isampler_2d_ms" />
<Test name="usampler_2d_ms" />
<Test name="image_2d" />
<Test name="image_cube" />
<Test name="image_2d_array" />
<Test name="image_3d" />
<Test name="iimage_2d" />
<Test name="iimage_cube" />
<Test name="iimage_2d_array" />
<Test name="iimage_3d" />
<Test name="uimage_2d" />
<Test name="uimage_cube" />
<Test name="uimage_2d_array" />
<Test name="uimage_3d" />
<Test name="atomic_uint" />
</TestCase>
<TestCase name="aggregates">
<Test name="atomic_uint_array" />
<Test name="float_struct" />
<Test name="float_array" />
</TestCase>
</TestSuite>
<TestSuite name="named_block">
<TestCase name="types">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
<Test name="bvec2" />
<Test name="bvec3" />
<Test name="bvec4" />
<Test name="mat2" />
<Test name="mat2x3" />
<Test name="mat2x4" />
<Test name="mat3x2" />
<Test name="mat3" />
<Test name="mat3x4" />
<Test name="mat4x2" />
<Test name="mat4x3" />
<Test name="mat4" />
</TestCase>
<TestCase name="aggregates">
<Test name="float_struct" />
<Test name="float_array" />
</TestCase>
</TestSuite>
<TestSuite name="unnamed_block">
<TestCase name="basic_type">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="array">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="struct">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="block_array">
<TestCase name="basic_type">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="array">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="struct">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
</TestSuite>
<TestSuite name="referenced_by_shader">
<TestSuite name="compute">
<TestCase name="default_block">
<Test name="float" />
<Test name="float_array" />
<Test name="float_struct" />
<Test name="sampler" />
<Test name="sampler_array" />
<Test name="sampler_struct" />
<Test name="atomic_uint" />
<Test name="atomic_uint_array" />
<Test name="float_array_struct" />
<Test name="float_struct_array" />
<Test name="float_array_array" />
<Test name="float_struct_struct" />
</TestCase>
<TestCase name="uniform_block">
<Test name="float" />
<Test name="float_array" />
<Test name="float_struct" />
<Test name="float_array_struct" />
<Test name="float_struct_array" />
<Test name="float_array_array" />
<Test name="float_struct_struct" />
</TestCase>
<TestCase name="unnamed_block">
<Test name="float" />
<Test name="float_array" />
<Test name="float_struct" />
</TestCase>
<TestCase name="block_array">
<Test name="float" />
<Test name="float_array" />
<Test name="float_struct" />
</TestCase>
</TestSuite>
<TestSuite name="separable_vertex">
<TestCase name="default_block">
<Test name="float" />
<Test name="float_array" />
<Test name="float_struct" />
<Test name="sampler" />
<Test name="sampler_array" />
<Test name="sampler_struct" />
<Test name="atomic_uint" />
<Test name="atomic_uint_array" />
<Test name="float_array_struct" />
<Test name="float_struct_array" />
<Test name="float_array_array" />
<Test name="float_struct_struct" />
</TestCase>
<TestCase name="uniform_block">
<Test name="float" />
<Test name="float_array" />
<Test name="float_struct" />
<Test name="float_array_struct" />
<Test name="float_struct_array" />
<Test name="float_array_array" />
<Test name="float_struct_struct" />
</TestCase>
<TestCase name="unnamed_block">
<Test name="float" />
<Test name="float_array" />
<Test name="float_struct" />
</TestCase>
<TestCase name="block_array">
<Test name="float" />
<Test name="float_array" />
<Test name="float_struct" />
</TestCase>
</TestSuite>
<TestSuite name="separable_fragment">
<TestCase name="default_block">
<Test name="float" />
<Test name="float_array" />
<Test name="float_struct" />
<Test name="sampler" />
<Test name="sampler_array" />
<Test name="sampler_struct" />
<Test name="atomic_uint" />
<Test name="atomic_uint_array" />
<Test name="float_array_struct" />
<Test name="float_struct_array" />
<Test name="float_array_array" />
<Test name="float_struct_struct" />
</TestCase>
<TestCase name="uniform_block">
<Test name="float" />
<Test name="float_array" />
<Test name="float_struct" />
<Test name="float_array_struct" />
<Test name="float_struct_array" />
<Test name="float_array_array" />
<Test name="float_struct_struct" />
</TestCase>
<TestCase name="unnamed_block">
<Test name="float" />
<Test name="float_array" />
<Test name="float_struct" />
</TestCase>
<TestCase name="block_array">
<Test name="float" />
<Test name="float_array" />
<Test name="float_struct" />
</TestCase>
</TestSuite>
<TestSuite name="vertex_fragment">
<TestCase name="default_block">
<Test name="float" />
<Test name="float_array" />
<Test name="float_struct" />
<Test name="sampler" />
<Test name="sampler_array" />
<Test name="sampler_struct" />
<Test name="atomic_uint" />
<Test name="atomic_uint_array" />
</TestCase>
<TestCase name="uniform_block">
<Test name="float" />
<Test name="float_array" />
<Test name="float_struct" />
</TestCase>
<TestCase name="unnamed_block">
<Test name="float" />
<Test name="float_array" />
<Test name="float_struct" />
</TestCase>
<TestCase name="block_array">
<Test name="float" />
<Test name="float_array" />
<Test name="float_struct" />
</TestCase>
</TestSuite>
<TestSuite name="vertex_fragment_only_fragment">
<TestCase name="default_block">
<Test name="float" />
<Test name="float_array" />
<Test name="float_struct" />
<Test name="sampler" />
<Test name="sampler_array" />
<Test name="sampler_struct" />
<Test name="atomic_uint" />
<Test name="atomic_uint_array" />
</TestCase>
<TestCase name="uniform_block">
<Test name="float" />
<Test name="float_array" />
<Test name="float_struct" />
</TestCase>
<TestCase name="unnamed_block">
<Test name="float" />
<Test name="float_array" />
<Test name="float_struct" />
</TestCase>
<TestCase name="block_array">
<Test name="float" />
<Test name="float_array" />
<Test name="float_struct" />
</TestCase>
</TestSuite>
<TestSuite name="vertex_fragment_only_vertex">
<TestCase name="default_block">
<Test name="float" />
<Test name="float_array" />
<Test name="float_struct" />
<Test name="sampler" />
<Test name="sampler_array" />
<Test name="sampler_struct" />
<Test name="atomic_uint" />
<Test name="atomic_uint_array" />
</TestCase>
<TestCase name="uniform_block">
<Test name="float" />
<Test name="float_array" />
<Test name="float_struct" />
</TestCase>
<TestCase name="unnamed_block">
<Test name="float" />
<Test name="float_array" />
<Test name="float_struct" />
</TestCase>
<TestCase name="block_array">
<Test name="float" />
<Test name="float_array" />
<Test name="float_struct" />
</TestCase>
</TestSuite>
</TestSuite>
<TestSuite name="type">
<TestSuite name="default_block">
<TestCase name="types">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
<Test name="bvec2" />
<Test name="bvec3" />
<Test name="bvec4" />
<Test name="mat2" />
<Test name="mat2x3" />
<Test name="mat2x4" />
<Test name="mat3x2" />
<Test name="mat3" />
<Test name="mat3x4" />
<Test name="mat4x2" />
<Test name="mat4x3" />
<Test name="mat4" />
<Test name="sampler_2d" />
<Test name="sampler_cube" />
<Test name="sampler_2d_array" />
<Test name="sampler_3d" />
<Test name="sampler_2d_shadow" />
<Test name="sampler_cube_shadow" />
<Test name="sampler_2d_array_shadow" />
<Test name="isampler_2d" />
<Test name="isampler_cube" />
<Test name="isampler_2d_array" />
<Test name="isampler_3d" />
<Test name="usampler_2d" />
<Test name="usampler_cube" />
<Test name="usampler_2d_array" />
<Test name="usampler_3d" />
<Test name="sampler_2d_ms" />
<Test name="isampler_2d_ms" />
<Test name="usampler_2d_ms" />
<Test name="image_2d" />
<Test name="image_cube" />
<Test name="image_2d_array" />
<Test name="image_3d" />
<Test name="iimage_2d" />
<Test name="iimage_cube" />
<Test name="iimage_2d_array" />
<Test name="iimage_3d" />
<Test name="uimage_2d" />
<Test name="uimage_cube" />
<Test name="uimage_2d_array" />
<Test name="uimage_3d" />
<Test name="atomic_uint" />
</TestCase>
<TestCase name="array">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="sampler_2d" />
<Test name="sampler_2d_array" />
<Test name="sampler_3d" />
<Test name="isampler_2d" />
<Test name="image_2d" />
<Test name="iimage_2d_array" />
<Test name="atomic_uint" />
</TestCase>
<TestCase name="struct">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="sampler_2d" />
<Test name="sampler_2d_array" />
<Test name="sampler_3d" />
<Test name="isampler_2d" />
</TestCase>
</TestSuite>
<TestSuite name="named_block">
<TestCase name="types">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
<Test name="bvec2" />
<Test name="bvec3" />
<Test name="bvec4" />
<Test name="mat2" />
<Test name="mat2x3" />
<Test name="mat2x4" />
<Test name="mat3x2" />
<Test name="mat3" />
<Test name="mat3x4" />
<Test name="mat4x2" />
<Test name="mat4x3" />
<Test name="mat4" />
</TestCase>
<TestCase name="array">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="struct">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="unnamed_block">
<TestCase name="basic_type">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="array">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="struct">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="block_array">
<TestCase name="basic_type">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="array">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="struct">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
</TestSuite>
<TestCase name="random">
<Test name="0" />
<Test name="1" />
<Test name="2" />
<Test name="3" />
<Test name="4" />
<Test name="5" />
<Test name="6" />
<Test name="7" />
<Test name="8" />
<Test name="9" />
<Test name="10" />
<Test name="11" />
<Test name="12" />
<Test name="13" />
<Test name="14" />
<Test name="15" />
<Test name="16" />
<Test name="17" />
<Test name="18" />
<Test name="19" />
<Test name="20" />
<Test name="21" />
<Test name="22" />
<Test name="23" />
<Test name="24" />
<Test name="25" />
<Test name="26" />
<Test name="27" />
<Test name="28" />
<Test name="29" />
<Test name="30" />
<Test name="31" />
<Test name="32" />
<Test name="33" />
<Test name="34" />
<Test name="35" />
<Test name="36" />
<Test name="37" />
<Test name="38" />
<Test name="39" />
</TestCase>
</TestSuite>
<TestSuite name="uniform_block">
<TestCase name="resource_list">
<Test name="named_block" />
<Test name="unnamed_block" />
<Test name="block_array" />
<Test name="block_array_single_element" />
</TestCase>
<TestCase name="active_variables">
<Test name="named_block" />
<Test name="unnamed_block" />
<Test name="block_array" />
</TestCase>
<TestCase name="buffer_binding">
<Test name="named_block" />
<Test name="unnamed_block" />
<Test name="block_array" />
<Test name="named_block_explicit_binding" />
<Test name="unnamed_block_explicit_binding" />
<Test name="block_array_explicit_binding" />
</TestCase>
<TestCase name="buffer_data_size">
<Test name="named_block" />
<Test name="unnamed_block" />
<Test name="block_array" />
</TestCase>
<TestCase name="name_length">
<Test name="named_block" />
<Test name="unnamed_block" />
<Test name="block_array" />
<Test name="block_array_single_element" />
</TestCase>
<TestSuite name="referenced_by">
<TestCase name="compute">
<Test name="named_block" />
<Test name="unnamed_block" />
<Test name="block_array" />
</TestCase>
<TestCase name="separable_vertex">
<Test name="named_block" />
<Test name="unnamed_block" />
<Test name="block_array" />
</TestCase>
<TestCase name="separable_fragment">
<Test name="named_block" />
<Test name="unnamed_block" />
<Test name="block_array" />
</TestCase>
<TestCase name="vertex_fragment">
<Test name="named_block" />
<Test name="unnamed_block" />
<Test name="block_array" />
</TestCase>
<TestCase name="vertex_fragment_only_fragment">
<Test name="named_block" />
<Test name="unnamed_block" />
<Test name="block_array" />
</TestCase>
<TestCase name="vertex_fragment_only_vertex">
<Test name="named_block" />
<Test name="unnamed_block" />
<Test name="block_array" />
</TestCase>
</TestSuite>
</TestSuite>
<TestCase name="atomic_counter_buffer">
<Test name="resource_list" />
<Test name="active_variables" />
<Test name="buffer_binding" />
<Test name="buffer_data_size" />
<Test name="referenced_by_compute" />
<Test name="referenced_by_separable_vertex" />
<Test name="referenced_by_separable_fragment" />
<Test name="referenced_by_vertex_fragment" />
<Test name="referenced_by_vertex_fragment_only_fragment" />
<Test name="referenced_by_vertex_fragment_only_vertex" />
</TestCase>
<TestSuite name="program_input">
<TestSuite name="resource_list">
<TestCase name="vertex_fragment">
<Test name="empty" />
<Test name="var" />
</TestCase>
<TestCase name="separable_vertex">
<Test name="empty" />
<Test name="var" />
</TestCase>
<TestCase name="separable_fragment">
<Test name="empty" />
<Test name="var" />
<Test name="var_struct" />
<Test name="var_array" />
</TestCase>
</TestSuite>
<TestSuite name="array_size">
<TestCase name="vertex_fragment">
<Test name="var" />
</TestCase>
<TestCase name="separable_vertex">
<Test name="var" />
</TestCase>
<TestCase name="separable_fragment">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_array" />
</TestCase>
</TestSuite>
<TestSuite name="location">
<TestCase name="vertex_fragment">
<Test name="var" />
<Test name="var_explicit_location" />
</TestCase>
<TestCase name="separable_vertex">
<Test name="var" />
<Test name="var_explicit_location" />
</TestCase>
<TestCase name="separable_fragment">
<Test name="var_explicit_location" />
<Test name="var_struct_explicit_location" />
<Test name="var_array_explicit_location" />
</TestCase>
</TestSuite>
<TestSuite name="name_length">
<TestCase name="vertex_fragment">
<Test name="var" />
</TestCase>
<TestCase name="separable_vertex">
<Test name="var" />
</TestCase>
<TestCase name="separable_fragment">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_array" />
</TestCase>
</TestSuite>
<TestCase name="referenced_by">
<Test name="referenced_by_vertex_fragment" />
<Test name="referenced_by_separable_vertex" />
<Test name="referenced_by_separable_fragment" />
</TestCase>
<TestSuite name="type">
<TestCase name="vertex_fragment">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
<Test name="mat2" />
<Test name="mat2x3" />
<Test name="mat2x4" />
<Test name="mat3x2" />
<Test name="mat3" />
<Test name="mat3x4" />
<Test name="mat4x2" />
<Test name="mat4x3" />
<Test name="mat4" />
</TestCase>
<TestCase name="separable_vertex">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
<Test name="mat2" />
<Test name="mat2x3" />
<Test name="mat2x4" />
<Test name="mat3x2" />
<Test name="mat3" />
<Test name="mat3x4" />
<Test name="mat4x2" />
<Test name="mat4x3" />
<Test name="mat4" />
</TestCase>
<TestSuite name="separable_fragment">
<TestCase name="basic_type">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
<Test name="mat2" />
<Test name="mat2x3" />
<Test name="mat2x4" />
<Test name="mat3x2" />
<Test name="mat3" />
<Test name="mat3x4" />
<Test name="mat4x2" />
<Test name="mat4x3" />
<Test name="mat4" />
</TestCase>
<TestCase name="array">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
<Test name="mat2" />
<Test name="mat2x3" />
<Test name="mat2x4" />
<Test name="mat3x2" />
<Test name="mat3" />
<Test name="mat3x4" />
<Test name="mat4x2" />
<Test name="mat4x3" />
<Test name="mat4" />
</TestCase>
<TestCase name="struct">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
<Test name="mat2" />
<Test name="mat2x3" />
<Test name="mat2x4" />
<Test name="mat3x2" />
<Test name="mat3" />
<Test name="mat3x4" />
<Test name="mat4x2" />
<Test name="mat4x3" />
<Test name="mat4" />
</TestCase>
</TestSuite>
</TestSuite>
</TestSuite>
<TestSuite name="program_output">
<TestSuite name="resource_list">
<TestCase name="vertex_fragment">
<Test name="empty" />
<Test name="var" />
<Test name="var_array" />
</TestCase>
<TestCase name="separable_vertex">
<Test name="empty" />
<Test name="var" />
<Test name="var_struct" />
<Test name="var_array" />
</TestCase>
<TestCase name="separable_fragment">
<Test name="empty" />
<Test name="var" />
<Test name="var_array" />
</TestCase>
<TestCase name="compute">
<Test name="empty" />
</TestCase>
</TestSuite>
<TestSuite name="array_size">
<TestCase name="vertex_fragment">
<Test name="var" />
<Test name="var_array" />
</TestCase>
<TestCase name="separable_vertex">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_array" />
</TestCase>
<TestCase name="separable_fragment">
<Test name="var" />
<Test name="var_array" />
</TestCase>
</TestSuite>
<TestSuite name="location">
<TestCase name="vertex_fragment">
<Test name="var" />
<Test name="var_explicit_location" />
<Test name="var_array" />
<Test name="var_array_explicit_location" />
</TestCase>
<TestCase name="separable_vertex">
<Test name="var_explicit_location" />
<Test name="var_struct_explicit_location" />
<Test name="var_array_explicit_location" />
</TestCase>
<TestCase name="separable_fragment">
<Test name="var" />
<Test name="var_explicit_location" />
<Test name="var_array" />
<Test name="var_array_explicit_location" />
</TestCase>
</TestSuite>
<TestSuite name="name_length">
<TestCase name="vertex_fragment">
<Test name="var" />
<Test name="var_array" />
</TestCase>
<TestCase name="separable_vertex">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_array" />
</TestCase>
<TestCase name="separable_fragment">
<Test name="var" />
<Test name="var_array" />
</TestCase>
</TestSuite>
<TestCase name="referenced_by">
<Test name="referenced_by_vertex_fragment" />
<Test name="referenced_by_separable_vertex" />
<Test name="referenced_by_separable_fragment" />
</TestCase>
<TestSuite name="type">
<TestSuite name="vertex_fragment">
<TestCase name="basic_type">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
</TestCase>
<TestCase name="array">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
</TestCase>
</TestSuite>
<TestSuite name="separable_vertex">
<TestCase name="basic_type">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
<Test name="mat2" />
<Test name="mat2x3" />
<Test name="mat2x4" />
<Test name="mat3x2" />
<Test name="mat3" />
<Test name="mat3x4" />
<Test name="mat4x2" />
<Test name="mat4x3" />
<Test name="mat4" />
</TestCase>
<TestCase name="array">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
<Test name="mat2" />
<Test name="mat2x3" />
<Test name="mat2x4" />
<Test name="mat3x2" />
<Test name="mat3" />
<Test name="mat3x4" />
<Test name="mat4x2" />
<Test name="mat4x3" />
<Test name="mat4" />
</TestCase>
<TestCase name="struct">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
<Test name="mat2" />
<Test name="mat2x3" />
<Test name="mat2x4" />
<Test name="mat3x2" />
<Test name="mat3" />
<Test name="mat3x4" />
<Test name="mat4x2" />
<Test name="mat4x3" />
<Test name="mat4" />
</TestCase>
</TestSuite>
<TestSuite name="separable_fragment">
<TestCase name="basic_type">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
</TestCase>
<TestCase name="array">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
</TestCase>
</TestSuite>
</TestSuite>
</TestSuite>
<TestSuite name="transform_feedback_varying">
<TestSuite name="resource_list">
<TestCase name="vertex_fragment">
<Test name="builtin_gl_position" />
<Test name="default_block_basic_type" />
<Test name="default_block_array_element" />
</TestCase>
<TestCase name="separable_vertex">
<Test name="builtin_gl_position" />
<Test name="default_block_basic_type" />
<Test name="default_block_array_element" />
</TestCase>
</TestSuite>
<TestSuite name="array_size">
<TestCase name="vertex_fragment">
<Test name="builtin_gl_position" />
<Test name="default_block_basic_type" />
<Test name="default_block_array_element" />
</TestCase>
<TestCase name="separable_vertex">
<Test name="builtin_gl_position" />
<Test name="default_block_basic_type" />
<Test name="default_block_array_element" />
</TestCase>
</TestSuite>
<TestSuite name="name_length">
<TestCase name="vertex_fragment">
<Test name="builtin_gl_position" />
<Test name="default_block_basic_type" />
<Test name="default_block_array_element" />
</TestCase>
<TestCase name="separable_vertex">
<Test name="builtin_gl_position" />
<Test name="default_block_basic_type" />
<Test name="default_block_array_element" />
</TestCase>
</TestSuite>
<TestSuite name="type">
<TestSuite name="vertex_fragment">
<TestCase name="basic_type">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
<Test name="mat2" />
<Test name="mat2x3" />
<Test name="mat2x4" />
<Test name="mat3x2" />
<Test name="mat3" />
<Test name="mat3x4" />
<Test name="mat4x2" />
<Test name="mat4x3" />
<Test name="mat4" />
</TestCase>
<TestCase name="array">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
<Test name="mat2" />
<Test name="mat2x3" />
<Test name="mat2x4" />
<Test name="mat3x2" />
<Test name="mat3" />
<Test name="mat3x4" />
<Test name="mat4x2" />
<Test name="mat4x3" />
<Test name="mat4" />
</TestCase>
</TestSuite>
<TestSuite name="separable_vertex">
<TestCase name="basic_type">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
<Test name="mat2" />
<Test name="mat2x3" />
<Test name="mat2x4" />
<Test name="mat3x2" />
<Test name="mat3" />
<Test name="mat3x4" />
<Test name="mat4x2" />
<Test name="mat4x3" />
<Test name="mat4" />
</TestCase>
<TestCase name="array">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
<Test name="mat2" />
<Test name="mat2x3" />
<Test name="mat2x4" />
<Test name="mat3x2" />
<Test name="mat3" />
<Test name="mat3x4" />
<Test name="mat4x2" />
<Test name="mat4x3" />
<Test name="mat4" />
</TestCase>
</TestSuite>
</TestSuite>
</TestSuite>
<TestSuite name="buffer_variable">
<TestSuite name="resource_list">
<TestCase name="named_block">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_struct_struct_struct" />
<Test name="var_struct_struct_struct_struct" />
<Test name="var_array_struct_struct_struct" />
<Test name="var_array_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_struct_struct_array" />
<Test name="var_struct_struct_struct_array" />
<Test name="var_array_struct_struct_array" />
<Test name="var_array_struct_array" />
<Test name="var_struct_array_struct_array" />
<Test name="var_array_array_struct_array" />
<Test name="var_array_array" />
<Test name="var_struct_array_array" />
<Test name="var_struct_struct_array_array" />
<Test name="var_array_struct_array_array" />
<Test name="var_array_array_array" />
<Test name="var_struct_array_array_array" />
<Test name="var_array_array_array_array" />
</TestCase>
<TestCase name="unnamed_block">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_struct_struct_struct" />
<Test name="var_struct_struct_struct_struct" />
<Test name="var_array_struct_struct_struct" />
<Test name="var_array_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_struct_struct_array" />
<Test name="var_struct_struct_struct_array" />
<Test name="var_array_struct_struct_array" />
<Test name="var_array_struct_array" />
<Test name="var_struct_array_struct_array" />
<Test name="var_array_array_struct_array" />
<Test name="var_array_array" />
<Test name="var_struct_array_array" />
<Test name="var_struct_struct_array_array" />
<Test name="var_array_struct_array_array" />
<Test name="var_array_array_array" />
<Test name="var_struct_array_array_array" />
<Test name="var_array_array_array_array" />
</TestCase>
<TestCase name="block_array">
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_struct_struct_array" />
<Test name="var_struct_struct_struct_array" />
<Test name="var_struct_struct_struct_struct_array" />
<Test name="var_array_struct_struct_struct_array" />
<Test name="var_array_struct_struct_array" />
<Test name="var_array_struct_array" />
<Test name="var_array_array" />
<Test name="var_struct_array_array" />
<Test name="var_struct_struct_array_array" />
<Test name="var_struct_struct_struct_array_array" />
<Test name="var_array_struct_struct_array_array" />
<Test name="var_array_struct_array_array" />
<Test name="var_struct_array_struct_array_array" />
<Test name="var_array_array_struct_array_array" />
<Test name="var_array_array_array" />
<Test name="var_struct_array_array_array" />
<Test name="var_struct_struct_array_array_array" />
<Test name="var_array_struct_array_array_array" />
<Test name="var_array_array_array_array" />
<Test name="var_struct_array_array_array_array" />
<Test name="var_array_array_array_array_array" />
</TestCase>
</TestSuite>
<TestSuite name="array_size">
<TestSuite name="named_block">
<TestCase name="non_array">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestSuite name="sized">
<TestCase name="types">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="ivec3" />
<Test name="uvec3" />
<Test name="bvec3" />
<Test name="mat2" />
<Test name="mat3x2" />
<Test name="mat3" />
<Test name="mat4x2" />
<Test name="mat4" />
</TestCase>
<TestCase name="aggregates">
<Test name="float_struct" />
<Test name="float_struct_struct" />
<Test name="float_struct_array" />
<Test name="float_array" />
<Test name="float_array_struct" />
<Test name="float_array_array" />
<Test name="bool_struct" />
<Test name="bool_array" />
<Test name="bvec3_struct" />
<Test name="bvec3_struct_struct" />
<Test name="bvec3_struct_array" />
<Test name="bvec3_array" />
<Test name="bvec3_array_struct" />
<Test name="bvec3_array_array" />
<Test name="vec4_struct" />
<Test name="vec4_struct_struct" />
<Test name="vec4_struct_array" />
<Test name="vec4_array" />
<Test name="vec4_array_struct" />
<Test name="vec4_array_array" />
<Test name="ivec2_struct" />
<Test name="ivec2_struct_struct" />
<Test name="ivec2_struct_array" />
<Test name="ivec2_array" />
<Test name="ivec2_array_struct" />
<Test name="ivec2_array_array" />
</TestCase>
</TestSuite>
<TestSuite name="unsized">
<TestCase name="types">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="aggregates">
<Test name="float_struct" />
<Test name="float_array" />
<Test name="bool" />
<Test name="bvec3_struct" />
<Test name="bvec3_array" />
<Test name="vec4_struct" />
<Test name="vec4_array" />
<Test name="ivec2_struct" />
<Test name="ivec2_array" />
</TestCase>
</TestSuite>
</TestSuite>
<TestSuite name="unnamed_block">
<TestCase name="sized">
<Test name="float" />
<Test name="float_struct" />
<Test name="float_array" />
<Test name="bool" />
<Test name="bvec3" />
<Test name="bvec3_struct" />
<Test name="bvec3_array" />
<Test name="vec4" />
<Test name="vec4_struct" />
<Test name="vec4_array" />
<Test name="ivec2" />
<Test name="ivec2_struct" />
<Test name="ivec2_array" />
</TestCase>
<TestCase name="unsized">
<Test name="float" />
<Test name="float_struct" />
<Test name="float_array" />
<Test name="bool" />
<Test name="bvec3" />
<Test name="bvec3_struct" />
<Test name="bvec3_array" />
<Test name="vec4" />
<Test name="vec4_struct" />
<Test name="vec4_array" />
<Test name="ivec2" />
<Test name="ivec2_struct" />
<Test name="ivec2_array" />
</TestCase>
</TestSuite>
<TestSuite name="block_array">
<TestCase name="sized">
<Test name="float" />
<Test name="float_struct" />
<Test name="float_array" />
<Test name="bool" />
<Test name="bvec3" />
<Test name="bvec3_struct" />
<Test name="bvec3_array" />
<Test name="vec4" />
<Test name="vec4_struct" />
<Test name="vec4_array" />
<Test name="ivec2" />
<Test name="ivec2_struct" />
<Test name="ivec2_array" />
</TestCase>
<TestCase name="unsized">
<Test name="float" />
<Test name="float_struct" />
<Test name="float_array" />
<Test name="bool" />
<Test name="bvec3" />
<Test name="bvec3_struct" />
<Test name="bvec3_array" />
<Test name="vec4" />
<Test name="vec4_struct" />
<Test name="vec4_array" />
<Test name="ivec2" />
<Test name="ivec2_struct" />
<Test name="ivec2_array" />
</TestCase>
</TestSuite>
</TestSuite>
<TestSuite name="array_stride">
<TestSuite name="named_block">
<TestCase name="non_array">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestSuite name="sized">
<TestCase name="types">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="ivec3" />
<Test name="uvec3" />
<Test name="bvec3" />
<Test name="mat2" />
<Test name="mat3x2" />
<Test name="mat3" />
<Test name="mat4x2" />
<Test name="mat4" />
</TestCase>
<TestCase name="aggregates">
<Test name="float_struct" />
<Test name="float_struct_struct" />
<Test name="float_struct_array" />
<Test name="float_array" />
<Test name="float_array_struct" />
<Test name="float_array_array" />
<Test name="bool_struct" />
<Test name="bool_array" />
<Test name="bvec3_struct" />
<Test name="bvec3_struct_struct" />
<Test name="bvec3_struct_array" />
<Test name="bvec3_array" />
<Test name="bvec3_array_struct" />
<Test name="bvec3_array_array" />
<Test name="vec4_struct" />
<Test name="vec4_struct_struct" />
<Test name="vec4_struct_array" />
<Test name="vec4_array" />
<Test name="vec4_array_struct" />
<Test name="vec4_array_array" />
<Test name="ivec2_struct" />
<Test name="ivec2_struct_struct" />
<Test name="ivec2_struct_array" />
<Test name="ivec2_array" />
<Test name="ivec2_array_struct" />
<Test name="ivec2_array_array" />
</TestCase>
</TestSuite>
<TestSuite name="unsized">
<TestCase name="types">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="aggregates">
<Test name="float_struct" />
<Test name="float_array" />
<Test name="bool" />
<Test name="bvec3_struct" />
<Test name="bvec3_array" />
<Test name="vec4_struct" />
<Test name="vec4_array" />
<Test name="ivec2_struct" />
<Test name="ivec2_array" />
</TestCase>
</TestSuite>
</TestSuite>
<TestSuite name="unnamed_block">
<TestCase name="sized">
<Test name="float" />
<Test name="float_struct" />
<Test name="float_array" />
<Test name="bool" />
<Test name="bvec3" />
<Test name="bvec3_struct" />
<Test name="bvec3_array" />
<Test name="vec4" />
<Test name="vec4_struct" />
<Test name="vec4_array" />
<Test name="ivec2" />
<Test name="ivec2_struct" />
<Test name="ivec2_array" />
</TestCase>
<TestCase name="unsized">
<Test name="float" />
<Test name="float_struct" />
<Test name="float_array" />
<Test name="bool" />
<Test name="bvec3" />
<Test name="bvec3_struct" />
<Test name="bvec3_array" />
<Test name="vec4" />
<Test name="vec4_struct" />
<Test name="vec4_array" />
<Test name="ivec2" />
<Test name="ivec2_struct" />
<Test name="ivec2_array" />
</TestCase>
</TestSuite>
<TestSuite name="block_array">
<TestCase name="sized">
<Test name="float" />
<Test name="float_struct" />
<Test name="float_array" />
<Test name="bool" />
<Test name="bvec3" />
<Test name="bvec3_struct" />
<Test name="bvec3_array" />
<Test name="vec4" />
<Test name="vec4_struct" />
<Test name="vec4_array" />
<Test name="ivec2" />
<Test name="ivec2_struct" />
<Test name="ivec2_array" />
</TestCase>
<TestCase name="unsized">
<Test name="float" />
<Test name="float_struct" />
<Test name="float_array" />
<Test name="bool" />
<Test name="bvec3" />
<Test name="bvec3_struct" />
<Test name="bvec3_array" />
<Test name="vec4" />
<Test name="vec4_struct" />
<Test name="vec4_array" />
<Test name="ivec2" />
<Test name="ivec2_struct" />
<Test name="ivec2_array" />
</TestCase>
</TestSuite>
</TestSuite>
<TestCase name="block_index">
<Test name="named_block" />
<Test name="unnamed_block" />
<Test name="block_array" />
</TestCase>
<TestSuite name="is_row_major">
<TestSuite name="named_block">
<TestCase name="types">
<Test name="float" />
<Test name="ivec3" />
<Test name="mat2" />
<Test name="mat2x3" />
<Test name="mat2x4" />
<Test name="mat3x2" />
<Test name="mat3" />
<Test name="mat3x4" />
<Test name="mat4x2" />
<Test name="mat4x3" />
<Test name="mat4" />
</TestCase>
<TestCase name="no_qualifier">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_array_array" />
<Test name="var_unsized_array" />
</TestCase>
<TestCase name="column_major">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_array_array" />
<Test name="var_unsized_array" />
</TestCase>
<TestCase name="row_major">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_array_array" />
<Test name="var_unsized_array" />
</TestCase>
</TestSuite>
<TestSuite name="named_block_row_major">
<TestCase name="no_qualifier">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_array_array" />
<Test name="var_unsized_array" />
</TestCase>
<TestCase name="column_major">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_array_array" />
<Test name="var_unsized_array" />
</TestCase>
<TestCase name="row_major">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_array_array" />
<Test name="var_unsized_array" />
</TestCase>
</TestSuite>
<TestSuite name="named_block_col_major">
<TestCase name="no_qualifier">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_array_array" />
<Test name="var_unsized_array" />
</TestCase>
<TestCase name="column_major">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_array_array" />
<Test name="var_unsized_array" />
</TestCase>
<TestCase name="row_major">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_array_array" />
<Test name="var_unsized_array" />
</TestCase>
</TestSuite>
<TestSuite name="unnamed_block">
<TestCase name="no_qualifier">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_array_array" />
<Test name="var_unsized_array" />
</TestCase>
<TestCase name="column_major">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_array_array" />
<Test name="var_unsized_array" />
</TestCase>
<TestCase name="row_major">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_array_array" />
<Test name="var_unsized_array" />
</TestCase>
</TestSuite>
<TestSuite name="unnamed_block_row_major">
<TestCase name="no_qualifier">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_array_array" />
<Test name="var_unsized_array" />
</TestCase>
<TestCase name="column_major">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_array_array" />
<Test name="var_unsized_array" />
</TestCase>
<TestCase name="row_major">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_array_array" />
<Test name="var_unsized_array" />
</TestCase>
</TestSuite>
<TestSuite name="unnamed_block_col_major">
<TestCase name="no_qualifier">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_array_array" />
<Test name="var_unsized_array" />
</TestCase>
<TestCase name="column_major">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_array_array" />
<Test name="var_unsized_array" />
</TestCase>
<TestCase name="row_major">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_array_array" />
<Test name="var_unsized_array" />
</TestCase>
</TestSuite>
</TestSuite>
<TestSuite name="matrix_stride">
<TestSuite name="named_block">
<TestCase name="types">
<Test name="float" />
<Test name="ivec3" />
<Test name="mat2" />
<Test name="mat2x3" />
<Test name="mat2x4" />
<Test name="mat3x2" />
<Test name="mat3" />
<Test name="mat3x4" />
<Test name="mat4x2" />
<Test name="mat4x3" />
<Test name="mat4" />
</TestCase>
<TestCase name="no_qualifier">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_array_array" />
<Test name="var_unsized_array" />
</TestCase>
<TestCase name="column_major">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_array_array" />
<Test name="var_unsized_array" />
</TestCase>
<TestCase name="row_major">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_array_array" />
<Test name="var_unsized_array" />
</TestCase>
</TestSuite>
<TestSuite name="named_block_row_major">
<TestCase name="no_qualifier">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_array_array" />
<Test name="var_unsized_array" />
</TestCase>
<TestCase name="column_major">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_array_array" />
<Test name="var_unsized_array" />
</TestCase>
<TestCase name="row_major">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_array_array" />
<Test name="var_unsized_array" />
</TestCase>
</TestSuite>
<TestSuite name="named_block_col_major">
<TestCase name="no_qualifier">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_array_array" />
<Test name="var_unsized_array" />
</TestCase>
<TestCase name="column_major">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_array_array" />
<Test name="var_unsized_array" />
</TestCase>
<TestCase name="row_major">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_array_array" />
<Test name="var_unsized_array" />
</TestCase>
</TestSuite>
<TestSuite name="unnamed_block">
<TestCase name="no_qualifier">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_array_array" />
<Test name="var_unsized_array" />
</TestCase>
<TestCase name="column_major">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_array_array" />
<Test name="var_unsized_array" />
</TestCase>
<TestCase name="row_major">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_array_array" />
<Test name="var_unsized_array" />
</TestCase>
</TestSuite>
<TestSuite name="unnamed_block_row_major">
<TestCase name="no_qualifier">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_array_array" />
<Test name="var_unsized_array" />
</TestCase>
<TestCase name="column_major">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_array_array" />
<Test name="var_unsized_array" />
</TestCase>
<TestCase name="row_major">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_array_array" />
<Test name="var_unsized_array" />
</TestCase>
</TestSuite>
<TestSuite name="unnamed_block_col_major">
<TestCase name="no_qualifier">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_array_array" />
<Test name="var_unsized_array" />
</TestCase>
<TestCase name="column_major">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_array_array" />
<Test name="var_unsized_array" />
</TestCase>
<TestCase name="row_major">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_array_array" />
<Test name="var_unsized_array" />
</TestCase>
</TestSuite>
</TestSuite>
<TestSuite name="name_length">
<TestSuite name="named_block">
<TestCase name="sized">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_struct_struct_struct" />
<Test name="var_array_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_struct_struct_array" />
<Test name="var_array_struct_array" />
<Test name="var_array_array" />
<Test name="var_struct_array_array" />
<Test name="var_array_array_array" />
</TestCase>
<TestCase name="unsized">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_array_array" />
</TestCase>
</TestSuite>
<TestSuite name="unnamed_block">
<TestCase name="sized">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_struct_struct_struct" />
<Test name="var_array_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_struct_struct_array" />
<Test name="var_array_struct_array" />
<Test name="var_array_array" />
<Test name="var_struct_array_array" />
<Test name="var_array_array_array" />
</TestCase>
<TestCase name="unsized">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_array_array" />
</TestCase>
</TestSuite>
<TestSuite name="block_array">
<TestCase name="sized">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_struct_struct_struct" />
<Test name="var_array_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_struct_struct_array" />
<Test name="var_array_struct_array" />
<Test name="var_array_array" />
<Test name="var_struct_array_array" />
<Test name="var_array_array_array" />
</TestCase>
<TestCase name="unsized">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_array_array" />
</TestCase>
</TestSuite>
</TestSuite>
<TestSuite name="offset">
<TestSuite name="named_block">
<TestCase name="sized">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_struct_struct_struct" />
<Test name="var_array_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_struct_struct_array" />
<Test name="var_array_struct_array" />
<Test name="var_array_array" />
<Test name="var_struct_array_array" />
<Test name="var_array_array_array" />
</TestCase>
<TestCase name="unsized">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_array_array" />
</TestCase>
</TestSuite>
<TestSuite name="unnamed_block">
<TestCase name="sized">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_struct_struct_struct" />
<Test name="var_array_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_struct_struct_array" />
<Test name="var_array_struct_array" />
<Test name="var_array_array" />
<Test name="var_struct_array_array" />
<Test name="var_array_array_array" />
</TestCase>
<TestCase name="unsized">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_array_array" />
</TestCase>
</TestSuite>
<TestSuite name="block_array">
<TestCase name="sized">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_struct_struct_struct" />
<Test name="var_array_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_struct_struct_array" />
<Test name="var_array_struct_array" />
<Test name="var_array_array" />
<Test name="var_struct_array_array" />
<Test name="var_array_array_array" />
</TestCase>
<TestCase name="unsized">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_array_struct" />
<Test name="var_array" />
<Test name="var_struct_array" />
<Test name="var_array_array" />
</TestCase>
</TestSuite>
</TestSuite>
<TestSuite name="referenced_by">
<TestSuite name="compute">
<TestCase name="named_block">
<Test name="float" />
<Test name="float_array" />
<Test name="float_struct" />
<Test name="float_array_struct" />
<Test name="float_struct_array" />
<Test name="float_array_array" />
<Test name="float_struct_struct" />
<Test name="float_unsized_array" />
</TestCase>
<TestCase name="unnamed_block">
<Test name="float" />
<Test name="float_array" />
<Test name="float_struct" />
</TestCase>
<TestCase name="block_array">
<Test name="float" />
<Test name="float_array" />
<Test name="float_struct" />
</TestCase>
</TestSuite>
<TestSuite name="separable_vertex">
<TestCase name="named_block">
<Test name="float" />
<Test name="float_array" />
<Test name="float_struct" />
<Test name="float_array_struct" />
<Test name="float_struct_array" />
<Test name="float_array_array" />
<Test name="float_struct_struct" />
<Test name="float_unsized_array" />
</TestCase>
<TestCase name="unnamed_block">
<Test name="float" />
<Test name="float_array" />
<Test name="float_struct" />
</TestCase>
<TestCase name="block_array">
<Test name="float" />
<Test name="float_array" />
<Test name="float_struct" />
</TestCase>
</TestSuite>
<TestSuite name="separable_fragment">
<TestCase name="named_block">
<Test name="float" />
<Test name="float_array" />
<Test name="float_struct" />
<Test name="float_array_struct" />
<Test name="float_struct_array" />
<Test name="float_array_array" />
<Test name="float_struct_struct" />
<Test name="float_unsized_array" />
</TestCase>
<TestCase name="unnamed_block">
<Test name="float" />
<Test name="float_array" />
<Test name="float_struct" />
</TestCase>
<TestCase name="block_array">
<Test name="float" />
<Test name="float_array" />
<Test name="float_struct" />
</TestCase>
</TestSuite>
<TestSuite name="vertex_fragment">
<TestCase name="named_block">
<Test name="float" />
<Test name="float_array" />
<Test name="float_struct" />
</TestCase>
<TestCase name="unnamed_block">
<Test name="float" />
<Test name="float_array" />
<Test name="float_struct" />
</TestCase>
<TestCase name="block_array">
<Test name="float" />
<Test name="float_array" />
<Test name="float_struct" />
</TestCase>
</TestSuite>
<TestSuite name="vertex_fragment_only_fragment">
<TestCase name="named_block">
<Test name="float" />
<Test name="float_array" />
<Test name="float_struct" />
</TestCase>
<TestCase name="unnamed_block">
<Test name="float" />
<Test name="float_array" />
<Test name="float_struct" />
</TestCase>
<TestCase name="block_array">
<Test name="float" />
<Test name="float_array" />
<Test name="float_struct" />
</TestCase>
</TestSuite>
<TestSuite name="vertex_fragment_only_vertex">
<TestCase name="named_block">
<Test name="float" />
<Test name="float_array" />
<Test name="float_struct" />
</TestCase>
<TestCase name="unnamed_block">
<Test name="float" />
<Test name="float_array" />
<Test name="float_struct" />
</TestCase>
<TestCase name="block_array">
<Test name="float" />
<Test name="float_array" />
<Test name="float_struct" />
</TestCase>
</TestSuite>
</TestSuite>
<TestSuite name="top_level_array_size">
<TestCase name="named_block">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_struct_struct_struct" />
<Test name="var_struct_array" />
<Test name="var_struct_struct_array" />
<Test name="var_array_struct_array" />
<Test name="var_array_array" />
<Test name="var_struct_array_array" />
<Test name="var_array_array_array" />
<Test name="var_struct_unsized_array" />
<Test name="var_struct_struct_unsized_array" />
<Test name="var_array_struct_unsized_array" />
<Test name="var_array_unsized_array" />
<Test name="var_struct_array_unsized_array" />
<Test name="var_array_array_unsized_array" />
</TestCase>
<TestCase name="unnamed_block">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_struct_struct_struct" />
<Test name="var_struct_array" />
<Test name="var_struct_struct_array" />
<Test name="var_array_struct_array" />
<Test name="var_array_array" />
<Test name="var_struct_array_array" />
<Test name="var_array_array_array" />
<Test name="var_struct_unsized_array" />
<Test name="var_struct_struct_unsized_array" />
<Test name="var_array_struct_unsized_array" />
<Test name="var_array_unsized_array" />
<Test name="var_struct_array_unsized_array" />
<Test name="var_array_array_unsized_array" />
</TestCase>
<TestCase name="block_array">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_struct_struct_struct" />
<Test name="var_struct_array" />
<Test name="var_struct_struct_array" />
<Test name="var_array_struct_array" />
<Test name="var_array_array" />
<Test name="var_struct_array_array" />
<Test name="var_array_array_array" />
<Test name="var_struct_unsized_array" />
<Test name="var_struct_struct_unsized_array" />
<Test name="var_array_struct_unsized_array" />
<Test name="var_array_unsized_array" />
<Test name="var_struct_array_unsized_array" />
<Test name="var_array_array_unsized_array" />
</TestCase>
</TestSuite>
<TestSuite name="top_level_array_stride">
<TestCase name="named_block">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_struct_struct_struct" />
<Test name="var_struct_array" />
<Test name="var_struct_struct_array" />
<Test name="var_array_struct_array" />
<Test name="var_array_array" />
<Test name="var_struct_array_array" />
<Test name="var_array_array_array" />
<Test name="var_struct_unsized_array" />
<Test name="var_struct_struct_unsized_array" />
<Test name="var_array_struct_unsized_array" />
<Test name="var_array_unsized_array" />
<Test name="var_struct_array_unsized_array" />
<Test name="var_array_array_unsized_array" />
</TestCase>
<TestCase name="unnamed_block">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_struct_struct_struct" />
<Test name="var_struct_array" />
<Test name="var_struct_struct_array" />
<Test name="var_array_struct_array" />
<Test name="var_array_array" />
<Test name="var_struct_array_array" />
<Test name="var_array_array_array" />
<Test name="var_struct_unsized_array" />
<Test name="var_struct_struct_unsized_array" />
<Test name="var_array_struct_unsized_array" />
<Test name="var_array_unsized_array" />
<Test name="var_struct_array_unsized_array" />
<Test name="var_array_array_unsized_array" />
</TestCase>
<TestCase name="block_array">
<Test name="var" />
<Test name="var_struct" />
<Test name="var_struct_struct" />
<Test name="var_struct_struct_struct" />
<Test name="var_struct_array" />
<Test name="var_struct_struct_array" />
<Test name="var_array_struct_array" />
<Test name="var_array_array" />
<Test name="var_struct_array_array" />
<Test name="var_array_array_array" />
<Test name="var_struct_unsized_array" />
<Test name="var_struct_struct_unsized_array" />
<Test name="var_array_struct_unsized_array" />
<Test name="var_array_unsized_array" />
<Test name="var_struct_array_unsized_array" />
<Test name="var_array_array_unsized_array" />
</TestCase>
</TestSuite>
<TestSuite name="type">
<TestCase name="basic_type">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec2" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="ivec2" />
<Test name="ivec3" />
<Test name="ivec4" />
<Test name="uvec2" />
<Test name="uvec3" />
<Test name="uvec4" />
<Test name="bvec2" />
<Test name="bvec3" />
<Test name="bvec4" />
<Test name="mat2" />
<Test name="mat2x3" />
<Test name="mat2x4" />
<Test name="mat3x2" />
<Test name="mat3" />
<Test name="mat3x4" />
<Test name="mat4x2" />
<Test name="mat4x3" />
<Test name="mat4" />
</TestCase>
<TestSuite name="array">
<TestCase name="basic_type">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="ivec3" />
<Test name="uvec3" />
<Test name="bvec3" />
<Test name="mat2" />
<Test name="mat3x2" />
<Test name="mat3" />
<Test name="mat4x2" />
<Test name="mat4" />
</TestCase>
<TestSuite name="array">
<TestCase name="basic_type">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="array">
<Test name="float" />
</TestCase>
<TestCase name="struct">
<Test name="float" />
</TestCase>
</TestSuite>
<TestSuite name="struct">
<TestCase name="basic_type">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="array">
<Test name="float" />
</TestCase>
<TestCase name="struct">
<Test name="float" />
</TestCase>
</TestSuite>
</TestSuite>
<TestSuite name="struct">
<TestCase name="basic_type">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
<Test name="ivec3" />
<Test name="uvec3" />
<Test name="bvec3" />
<Test name="mat2" />
<Test name="mat3x2" />
<Test name="mat3" />
<Test name="mat4x2" />
<Test name="mat4" />
</TestCase>
<TestSuite name="array">
<TestCase name="basic_type">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
</TestSuite>
<TestSuite name="struct">
<TestCase name="basic_type">
<Test name="float" />
<Test name="int" />
<Test name="uint" />
<Test name="bool" />
<Test name="vec3" />
<Test name="vec4" />
</TestCase>
<TestCase name="array">
<Test name="float" />
</TestCase>
<TestCase name="struct">
<Test name="float" />
</TestCase>
</TestSuite>
</TestSuite>
</TestSuite>
<TestCase name="random">
<Test name="0" />
<Test name="3" />
<Test name="4" />
<Test name="6" />
<Test name="7" />
<Test name="8" />
<Test name="10" />
<Test name="11" />
<Test name="12" />
<Test name="14" />
<Test name="15" />
<Test name="16" />
<Test name="17" />
<Test name="18" />
<Test name="21" />
<Test name="23" />
<Test name="24" />
<Test name="26" />
<Test name="28" />
<Test name="29" />
<Test name="31" />
<Test name="32" />
<Test name="33" />
<Test name="34" />
<Test name="35" />
<Test name="37" />
<Test name="39" />
</TestCase>
</TestSuite>
<TestSuite name="shader_storage_block">
<TestCase name="resource_list">
<Test name="named_block" />
<Test name="unnamed_block" />
<Test name="block_array" />
<Test name="block_array_single_element" />
</TestCase>
<TestCase name="active_variables">
<Test name="named_block" />
<Test name="unnamed_block" />
<Test name="block_array" />
</TestCase>
<TestCase name="buffer_binding">
<Test name="named_block" />
<Test name="unnamed_block" />
<Test name="block_array" />
<Test name="named_block_explicit_binding" />
<Test name="unnamed_block_explicit_binding" />
<Test name="block_array_explicit_binding" />
</TestCase>
<TestCase name="buffer_data_size">
<Test name="named_block" />
<Test name="unnamed_block" />
<Test name="block_array" />
</TestCase>
<TestCase name="name_length">
<Test name="named_block" />
<Test name="unnamed_block" />
<Test name="block_array" />
<Test name="block_array_single_element" />
</TestCase>
<TestSuite name="referenced_by">
<TestCase name="compute">
<Test name="named_block" />
<Test name="unnamed_block" />
<Test name="block_array" />
</TestCase>
<TestCase name="separable_vertex">
<Test name="named_block" />
<Test name="unnamed_block" />
<Test name="block_array" />
</TestCase>
<TestCase name="separable_fragment">
<Test name="named_block" />
<Test name="unnamed_block" />
<Test name="block_array" />
</TestCase>
<TestCase name="vertex_fragment">
<Test name="named_block" />
<Test name="unnamed_block" />
<Test name="block_array" />
</TestCase>
<TestCase name="vertex_fragment_only_fragment">
<Test name="named_block" />
<Test name="unnamed_block" />
<Test name="block_array" />
</TestCase>
<TestCase name="vertex_fragment_only_vertex">
<Test name="named_block" />
<Test name="unnamed_block" />
<Test name="block_array" />
</TestCase>
</TestSuite>
</TestSuite>
</TestSuite>
<TestSuite name="layout_binding">
<TestSuite name="sampler">
<TestCase name="sampler2d">
<Test name="vertex_binding_single" />
<Test name="vertex_binding_max" />
<Test name="vertex_binding_multiple" />
<Test name="vertex_binding_array" />
<Test name="vertex_binding_max_array" />
<Test name="fragment_binding_single" />
<Test name="fragment_binding_max" />
<Test name="fragment_binding_multiple" />
<Test name="fragment_binding_array" />
<Test name="fragment_binding_max_array" />
</TestCase>
<TestCase name="sampler3d">
<Test name="vertex_binding_single" />
<Test name="vertex_binding_max" />
<Test name="vertex_binding_multiple" />
<Test name="vertex_binding_array" />
<Test name="vertex_binding_max_array" />
<Test name="fragment_binding_single" />
<Test name="fragment_binding_max" />
<Test name="fragment_binding_multiple" />
<Test name="fragment_binding_array" />
<Test name="fragment_binding_max_array" />
</TestCase>
</TestSuite>
<TestCase name="ubo">
<Test name="vertex_binding_single" />
<Test name="vertex_binding_max" />
<Test name="vertex_binding_multiple" />
<Test name="vertex_binding_array" />
<Test name="vertex_binding_max_array" />
<Test name="fragment_binding_single" />
<Test name="fragment_binding_max" />
<Test name="fragment_binding_multiple" />
<Test name="fragment_binding_array" />
<Test name="fragment_binding_max_array" />
</TestCase>
<TestCase name="ssbo">
<Test name="vertex_binding_single" />
<Test name="vertex_binding_max" />
<Test name="vertex_binding_multiple" />
<Test name="vertex_binding_array" />
<Test name="vertex_binding_max_array" />
<Test name="fragment_binding_single" />
<Test name="fragment_binding_max" />
<Test name="fragment_binding_multiple" />
<Test name="fragment_binding_array" />
<Test name="fragment_binding_max_array" />
</TestCase>
<TestSuite name="image">
<TestCase name="image2d">
<Test name="vertex_binding_single" />
<Test name="vertex_binding_max" />
<Test name="vertex_binding_multiple" />
<Test name="vertex_binding_array" />
<Test name="vertex_binding_max_array" />
<Test name="fragment_binding_single" />
<Test name="fragment_binding_max" />
<Test name="fragment_binding_multiple" />
<Test name="fragment_binding_array" />
<Test name="fragment_binding_max_array" />
</TestCase>
<TestCase name="image3d">
<Test name="vertex_binding_single" />
<Test name="vertex_binding_max" />
<Test name="vertex_binding_multiple" />
<Test name="vertex_binding_array" />
<Test name="vertex_binding_max_array" />
<Test name="fragment_binding_single" />
<Test name="fragment_binding_max" />
<Test name="fragment_binding_multiple" />
<Test name="fragment_binding_array" />
<Test name="fragment_binding_max_array" />
</TestCase>
</TestSuite>
<TestSuite name="negative">
<TestSuite name="sampler">
<TestCase name="sampler2d">
<Test name="vertex_binding_over_max" />
<Test name="fragment_binding_over_max" />
<Test name="vertex_binding_neg" />
<Test name="fragment_binding_neg" />
<Test name="vertex_binding_over_max_array" />
<Test name="fragment_binding_over_max_array" />
<Test name="vertex_binding_neg_array" />
<Test name="fragment_binding_neg_array" />
<Test name="binding_contradictory" />
<Test name="binding_contradictory_array" />
</TestCase>
<TestCase name="sampler3d">
<Test name="vertex_binding_over_max" />
<Test name="fragment_binding_over_max" />
<Test name="vertex_binding_neg" />
<Test name="fragment_binding_neg" />
<Test name="vertex_binding_over_max_array" />
<Test name="fragment_binding_over_max_array" />
<Test name="vertex_binding_neg_array" />
<Test name="fragment_binding_neg_array" />
<Test name="binding_contradictory" />
<Test name="binding_contradictory_array" />
</TestCase>
</TestSuite>
<TestCase name="ubo">
<Test name="vertex_binding_over_max" />
<Test name="fragment_binding_over_max" />
<Test name="vertex_binding_neg" />
<Test name="fragment_binding_neg" />
<Test name="vertex_binding_over_max_array" />
<Test name="fragment_binding_over_max_array" />
<Test name="vertex_binding_neg_array" />
<Test name="fragment_binding_neg_array" />
<Test name="binding_contradictory" />
<Test name="binding_contradictory_array" />
</TestCase>
<TestCase name="ssbo">
<Test name="vertex_binding_over_max" />
<Test name="fragment_binding_over_max" />
<Test name="vertex_binding_neg" />
<Test name="fragment_binding_neg" />
<Test name="vertex_binding_over_max_array" />
<Test name="fragment_binding_over_max_array" />
<Test name="vertex_binding_neg_array" />
<Test name="fragment_binding_neg_array" />
<Test name="binding_contradictory" />
<Test name="binding_contradictory_array" />
</TestCase>
<TestSuite name="image">
<TestCase name="image2d">
<Test name="vertex_binding_over_max" />
<Test name="fragment_binding_over_max" />
<Test name="vertex_binding_neg" />
<Test name="fragment_binding_neg" />
<Test name="vertex_binding_over_max_array" />
<Test name="fragment_binding_over_max_array" />
<Test name="vertex_binding_neg_array" />
<Test name="fragment_binding_neg_array" />
<Test name="binding_contradictory" />
<Test name="binding_contradictory_array" />
</TestCase>
<TestCase name="image3d">
<Test name="vertex_binding_over_max" />
<Test name="fragment_binding_over_max" />
<Test name="vertex_binding_neg" />
<Test name="fragment_binding_neg" />
<Test name="vertex_binding_over_max_array" />
<Test name="fragment_binding_over_max_array" />
<Test name="vertex_binding_neg_array" />
<Test name="fragment_binding_neg_array" />
<Test name="binding_contradictory" />
<Test name="binding_contradictory_array" />
</TestCase>
</TestSuite>
</TestSuite>
</TestSuite>
</TestSuite>
</TestSuite>
</TestPackage>