Update dEQP test list.
authorJarkko Pöyry <jpoyry@google.com>
Thu, 25 Sep 2014 02:00:27 +0000 (19:00 -0700)
committerJarkko Pöyry <jpoyry@google.com>
Thu, 25 Sep 2014 02:04:29 +0000 (19:04 -0700)
* Update dEQP mustpass lists.
* Update dEQP test lists to follow updated mustpass lists.
* Update test list generator script.

Bug: 17388917
Change-Id: I98e3b910056e44d498a208e8b9a7a8818ed02ef2

android/cts/com.drawelements.deqp.gles3.xml
android/cts/com.drawelements.deqp.gles31.xml
android/cts/es30-mustpass-2014.2.5-2014-09-18.txt [moved from android/cts/es30-mustpass-2014.2.1-2014-08-26.txt with 99% similarity]
android/cts/es31-mustpass-2014.2.5-2014-09-18.txt [moved from android/cts/es31-mustpass-2014.2.3-2014-09-09.txt with 99% similarity]
android/scripts/GenAndroidCTSXMLFromTestList.py [new file with mode: 0644]

index 06e9c5d..9548d30 100644 (file)
 <TestPackage name="dEQP-GLES3" targetBinaryName="com.drawelements.deqp" appPackageName="com.drawelements.deqp.gles3" testType="deqpTest">
 <TestSuite name="dEQP-GLES3">
 <TestSuite name="functional">
-<TestCase name="flush_finish">
-<Test name="wait" />
+<TestCase name="prerequisite">
+<Test name="clear_color" />
+<Test name="read_pixels" />
 </TestCase>
-<TestSuite name="clipping">
-<TestCase name="polygon_edge">
-<Test name="poly_fan" />
-<Test name="quad_at_origin_0" />
-<Test name="quad_at_origin_3" />
-<Test name="quad_at_origin_4" />
-<Test name="quad_near_edge_0" />
-<Test name="quad_at_origin_1" />
-<Test name="quad_near_edge_2" />
-<Test name="quad_near_edge_1" />
-<Test name="quad_at_origin_2" />
+<TestCase name="implementation_limits">
+<Test name="max_element_index" />
+<Test name="subpixel_bits" />
+<Test name="max_3d_texture_size" />
+<Test name="max_texture_size" />
+<Test name="max_array_texture_layers" />
+<Test name="max_texture_lod_bias" />
+<Test name="max_cube_map_texture_size" />
+<Test name="max_renderbuffer_size" />
+<Test name="max_draw_buffers" />
+<Test name="max_color_attachments" />
+<Test name="aliased_point_size_range" />
+<Test name="aliased_line_width_range" />
+<Test name="max_elements_indices" />
+<Test name="max_elements_vertices" />
+<Test name="num_compressed_texture_formats" />
+<Test name="compressed_texture_formats" />
+<Test name="num_program_binary_formats" />
+<Test name="num_shader_binary_formats" />
+<Test name="shader_compiler" />
+<Test name="max_server_wait_timeout" />
+<Test name="num_extensions" />
+<Test name="major_version" />
+<Test name="minor_version" />
+<Test name="max_vertex_attribs" />
+<Test name="max_vertex_uniform_components" />
+<Test name="max_vertex_uniform_vectors" />
+<Test name="max_vertex_uniform_blocks" />
+<Test name="max_vertex_output_components" />
+<Test name="max_vertex_texture_image_units" />
+<Test name="max_fragment_uniform_components" />
+<Test name="max_fragment_uniform_vectors" />
+<Test name="max_fragment_uniform_blocks" />
+<Test name="max_fragment_input_components" />
+<Test name="max_texture_image_units" />
+<Test name="min_program_texel_offset" />
+<Test name="max_program_texel_offset" />
+<Test name="max_uniform_buffer_bindings" />
+<Test name="max_uniform_block_size" />
+<Test name="uniform_buffer_offset_alignment" />
+<Test name="max_combined_uniform_blocks" />
+<Test name="max_combined_vertex_uniform_components" />
+<Test name="max_combined_fragment_uniform_components" />
+<Test name="max_varying_components" />
+<Test name="max_varying_vectors" />
+<Test name="max_combined_texture_image_units" />
+<Test name="max_transform_feedback_interleaved_components" />
+<Test name="max_transform_feedback_separate_attribs" />
+<Test name="max_transform_feedback_separate_components" />
 </TestCase>
-<TestCase name="line">
-<Test name="wide_line_z_clip_viewport_corner" />
-<Test name="wide_line_z_clip" />
-<Test name="wide_line_attrib_clip" />
-<Test name="long_wide_line_clip" />
-<Test name="line_z_clip_viewport_center" />
-<Test name="line_z_clip" />
-<Test name="line_z_clip_viewport_corner" />
-<Test name="wide_line_z_clip_viewport_center" />
-<Test name="long_line_clip" />
-<Test name="line_attrib_clip" />
-<Test name="wide_line_clip" />
+<TestCase name="color_clear">
+<Test name="single_rgb" />
+<Test name="single_rgba" />
+<Test name="multiple_rgb" />
+<Test name="multiple_rgba" />
+<Test name="long_rgb" />
+<Test name="long_rgba" />
+<Test name="subclears_rgb" />
+<Test name="subclears_rgba" />
+<Test name="short_scissored_rgb" />
+<Test name="scissored_rgb" />
+<Test name="scissored_rgba" />
+<Test name="masked_rgb" />
+<Test name="masked_rgba" />
+<Test name="masked_scissored_rgb" />
+<Test name="masked_scissored_rgba" />
+<Test name="complex_rgb" />
+<Test name="complex_rgba" />
+<Test name="long_masked_rgb" />
+<Test name="long_masked_rgba" />
 </TestCase>
-<TestCase name="polygon">
-<Test name="multiple_2_viewport_corner" />
-<Test name="multiple_2_viewport_center" />
-<Test name="large_poly_z_clip_viewport_corner" />
-<Test name="multiple_1_viewport_center" />
-<Test name="poly_attrib_clip_viewport_center" />
-<Test name="multiple_5_viewport_center" />
-<Test name="multiple_4_viewport_corner" />
-<Test name="multiple_4_viewport_center" />
-<Test name="poly_clip_viewport_center" />
-<Test name="multiple_3_viewport_corner" />
-<Test name="multiple_7_viewport_center" />
-<Test name="poly_attrib_clip_viewport_corner" />
-<Test name="multiple_10_viewport_center" />
-<Test name="poly_z_clip_viewport_center" />
-<Test name="multiple_8_viewport_center" />
-<Test name="multiple_9" />
-<Test name="multiple_8" />
-<Test name="multiple_3" />
-<Test name="multiple_2" />
-<Test name="multiple_1" />
-<Test name="multiple_0" />
-<Test name="multiple_0_viewport_corner" />
-<Test name="multiple_6" />
-<Test name="multiple_5" />
-<Test name="multiple_4" />
-<Test name="multiple_10_viewport_corner" />
-<Test name="multiple_6_viewport_center" />
-<Test name="poly_clip_viewport_corner" />
-<Test name="multiple_8_viewport_corner" />
-<Test name="multiple_7_viewport_corner" />
-<Test name="poly_attrib_clip" />
-<Test name="multiple_5_viewport_corner" />
-<Test name="multiple_1_viewport_corner" />
-<Test name="large_poly_clip_viewport_center" />
-<Test name="multiple_9_viewport_corner" />
-<Test name="multiple_3_viewport_center" />
-<Test name="multiple_7" />
-<Test name="multiple_11_viewport_center" />
-<Test name="multiple_6_viewport_corner" />
-<Test name="large_poly_z_clip" />
-<Test name="large_poly_z_clip_viewport_center" />
-<Test name="multiple_9_viewport_center" />
-<Test name="poly_z_clip_viewport_corner" />
-<Test name="multiple_0_viewport_center" />
-<Test name="multiple_11" />
-<Test name="multiple_10" />
-<Test name="multiple_11_viewport_corner" />
-<Test name="large_poly_clip_viewport_corner" />
+<TestCase name="depth_stencil_clear">
+<Test name="depth" />
+<Test name="depth_scissored" />
+<Test name="depth_scissored_masked" />
+<Test name="stencil" />
+<Test name="stencil_scissored" />
+<Test name="depth_stencil" />
+<Test name="depth_stencil_scissored" />
 </TestCase>
-<TestSuite name="triangle_vertex">
-<TestCase name="clip_two">
-<Test name="clip_pos_x_neg_z_and_neg_x_pos_z" />
-<Test name="clip_pos_x_neg_z_and_neg_x_neg_y_pos_z" />
-<Test name="clip_neg_x_pos_z_and_neg_x_neg_y_neg_z" />
-<Test name="clip_pos_x_neg_y_and_neg_y_pos_z" />
-<Test name="clip_pos_y_neg_z_and_neg_x_neg_y_neg_z" />
-<Test name="clip_pos_y_neg_z_and_pos_x_neg_y_pos_z" />
-<Test name="clip_neg_x_pos_y_and_neg_y_neg_z" />
-<Test name="clip_neg_x_pos_y_and_pos_x_neg_z" />
-<Test name="clip_neg_x_and_neg_x_pos_y_neg_z" />
-<Test name="clip_pos_x_pos_y_pos_z_and_neg_x_pos_y_neg_z" />
-<Test name="clip_neg_x_pos_y_and_pos_x_pos_y_pos_z" />
-<Test name="clip_neg_y_neg_z_and_pos_x_neg_y_pos_z" />
-<Test name="clip_pos_y_neg_z_and_neg_x_neg_y_pos_z" />
-<Test name="clip_pos_y_pos_z_and_pos_x_pos_y_neg_z" />
-<Test name="clip_neg_x_neg_z_and_neg_x_neg_y_neg_z" />
-<Test name="clip_neg_y_and_neg_x_pos_y_neg_z" />
-<Test name="clip_pos_x_neg_y_pos_z_and_neg_x_neg_y_neg_z" />
-<Test name="clip_pos_x_pos_z_and_pos_y_pos_z" />
-<Test name="clip_pos_x_pos_z_and_pos_x_neg_y_neg_z" />
-<Test name="clip_pos_y_and_pos_x_neg_y_neg_z" />
-<Test name="clip_pos_x_pos_z_and_neg_y_pos_z" />
-<Test name="clip_neg_y_pos_z_and_neg_x_neg_y_neg_z" />
-<Test name="clip_neg_x_and_pos_x_neg_y_neg_z" />
-<Test name="clip_pos_x_and_pos_x_pos_y_pos_z" />
-<Test name="clip_neg_x_and_pos_x_neg_y" />
-<Test name="clip_neg_x_pos_y_pos_z_and_pos_x_pos_y_neg_z" />
-<Test name="clip_neg_x_pos_z_and_neg_x_neg_y_pos_z" />
-<Test name="clip_pos_y_and_neg_x_neg_y_neg_z" />
-<Test name="clip_pos_x_pos_y_and_pos_x_pos_z" />
-<Test name="clip_pos_y_pos_z_and_pos_x_neg_y_pos_z" />
-<Test name="clip_neg_y_and_neg_x_pos_y" />
-<Test name="clip_neg_x_neg_y_and_neg_x_neg_z" />
-<Test name="clip_pos_x_neg_y_pos_z_and_pos_x_pos_y_pos_z" />
-<Test name="clip_pos_y_pos_z_and_neg_x_pos_y_pos_z" />
-<Test name="clip_neg_y_neg_z_and_pos_x_neg_y_neg_z" />
-<Test name="clip_neg_y_and_pos_x_pos_y_pos_z" />
-<Test name="clip_pos_x_and_neg_y_pos_z" />
-<Test name="clip_neg_x_neg_y_neg_z_and_pos_x_neg_y_neg_z" />
-<Test name="clip_pos_x_pos_z_and_pos_x_pos_y_pos_z" />
-<Test name="clip_pos_y_and_pos_x_neg_y_pos_z" />
-<Test name="clip_pos_x_and_pos_x_neg_y_neg_z" />
-<Test name="clip_pos_x_pos_y_pos_z_and_neg_x_pos_y_pos_z" />
-<Test name="clip_pos_x_neg_z_and_neg_y_neg_z" />
-<Test name="clip_pos_x_pos_y_and_neg_y_neg_z" />
-<Test name="clip_pos_x_and_pos_x_neg_y" />
-<Test name="clip_neg_y_and_pos_x_pos_y" />
-<Test name="clip_neg_y_and_pos_x_pos_z" />
-<Test name="clip_neg_x_and_pos_y" />
-<Test name="clip_pos_y_neg_z_and_neg_y_pos_z" />
-<Test name="clip_neg_x_pos_z_and_pos_y_pos_z" />
-<Test name="clip_pos_x_pos_y_and_neg_x_pos_y_neg_z" />
-<Test name="clip_pos_x_and_neg_y" />
-<Test name="clip_neg_x_pos_y_and_neg_x_neg_y_neg_z" />
-<Test name="clip_neg_y_pos_z_and_neg_x_pos_y_pos_z" />
-<Test name="clip_pos_x_neg_z_and_pos_y_pos_z" />
-<Test name="clip_pos_y_and_pos_x_pos_y_pos_z" />
-<Test name="clip_pos_x_pos_y_pos_z_and_pos_x_neg_y_neg_z" />
-<Test name="clip_pos_x_pos_z_and_pos_x_pos_y_neg_z" />
-<Test name="clip_neg_x_pos_y_and_neg_y_pos_z" />
-<Test name="clip_neg_x_and_neg_x_neg_y" />
-<Test name="clip_neg_x_neg_y_and_pos_x_neg_y" />
-<Test name="clip_pos_x_and_pos_y" />
-<Test name="clip_neg_x_and_pos_x_neg_y_pos_z" />
-<Test name="clip_neg_y_neg_z_and_neg_x_neg_y_pos_z" />
-<Test name="clip_pos_y_and_neg_x_neg_y_pos_z" />
-<Test name="clip_neg_x_and_neg_x_pos_y_pos_z" />
-<Test name="clip_neg_y_neg_z_and_pos_x_pos_y_neg_z" />
-<Test name="clip_pos_x_neg_y_and_neg_y_neg_z" />
-<Test name="clip_pos_x_pos_y_and_neg_x_neg_z" />
-<Test name="clip_pos_x_pos_y_and_pos_y_neg_z" />
-<Test name="clip_pos_x_pos_y_neg_z_and_neg_x_pos_y_neg_z" />
-<Test name="clip_neg_x_neg_y_and_pos_x_neg_y_neg_z" />
-<Test name="clip_neg_x_and_neg_y" />
-<Test name="clip_neg_y_neg_z_and_pos_x_pos_y_pos_z" />
-<Test name="clip_pos_x_and_pos_x_pos_y" />
-<Test name="clip_pos_x_neg_y_and_pos_y_pos_z" />
-<Test name="clip_pos_x_and_neg_x_neg_y_neg_z" />
-<Test name="clip_neg_x_neg_z_and_neg_y_neg_z" />
-<Test name="clip_neg_y_and_neg_x_pos_y_pos_z" />
-<Test name="clip_pos_x_and_neg_x_neg_y" />
-<Test name="clip_neg_x_neg_y_pos_z_and_pos_x_neg_y_neg_z" />
-<Test name="clip_pos_x_neg_z_and_pos_x_pos_y_neg_z" />
-<Test name="clip_neg_x_and_pos_x_pos_y" />
-<Test name="clip_neg_y_and_neg_x_neg_y" />
-<Test name="clip_neg_x_neg_z_and_neg_x_pos_y_neg_z" />
-<Test name="clip_pos_x_and_neg_x_pos_y_neg_z" />
-<Test name="clip_neg_x_pos_y_and_neg_x_pos_z" />
-<Test name="clip_neg_y_and_pos_x_neg_y" />
-<Test name="clip_neg_y_and_pos_x_neg_z" />
-<Test name="clip_neg_x_neg_y_and_neg_x_pos_y" />
-<Test name="clip_pos_y_pos_z_and_pos_x_neg_y_neg_z" />
-<Test name="clip_pos_y_and_neg_x_pos_y_neg_z" />
-<Test name="clip_neg_x_pos_y_and_pos_x_pos_y_neg_z" />
-<Test name="clip_pos_x_and_pos_y_neg_z" />
-<Test name="clip_neg_x_neg_y_neg_z_and_neg_x_pos_y_neg_z" />
-<Test name="clip_pos_y_neg_z_and_pos_x_neg_y_neg_z" />
-<Test name="clip_pos_x_pos_y_and_pos_x_neg_y_neg_z" />
-<Test name="clip_neg_x_neg_z_and_pos_x_neg_y_pos_z" />
-<Test name="clip_neg_x_and_neg_y_pos_z" />
-<Test name="clip_neg_x_and_pos_y_neg_z" />
-<Test name="clip_neg_y_pos_z_and_neg_x_pos_y_neg_z" />
-<Test name="clip_pos_x_neg_y_neg_z_and_pos_x_pos_y_neg_z" />
-<Test name="clip_pos_y_and_pos_x_pos_y_neg_z" />
-<Test name="clip_pos_y_pos_z_and_pos_x_pos_y_pos_z" />
-<Test name="clip_pos_x_pos_y_and_neg_y_pos_z" />
-<Test name="clip_pos_x_neg_y_and_pos_x_pos_y" />
-<Test name="clip_neg_x_neg_z_and_neg_x_neg_y_pos_z" />
-<Test name="clip_pos_x_neg_y_and_pos_x_pos_z" />
-<Test name="clip_pos_y_neg_z_and_neg_x_pos_y_neg_z" />
-<Test name="clip_neg_y_pos_z_and_pos_x_pos_y_pos_z" />
-<Test name="clip_pos_y_neg_z_and_pos_x_pos_y_pos_z" />
-<Test name="clip_pos_x_neg_z_and_neg_x_pos_y_pos_z" />
-<Test name="clip_neg_x_neg_y_and_neg_x_pos_z" />
-<Test name="clip_pos_x_neg_y_and_neg_x_neg_y_pos_z" />
-<Test name="clip_neg_x_pos_z_and_neg_x_pos_y_neg_z" />
-<Test name="clip_neg_x_pos_z_and_pos_x_pos_y_pos_z" />
-<Test name="clip_pos_x_and_neg_x_neg_y_pos_z" />
-<Test name="clip_neg_x_pos_z_and_neg_y_pos_z" />
-<Test name="clip_neg_y_and_neg_x_neg_y_neg_z" />
-<Test name="clip_neg_y_pos_z_and_pos_x_pos_y_neg_z" />
-<Test name="clip_pos_y_and_neg_x_pos_y" />
-<Test name="clip_pos_y_and_neg_x_pos_z" />
-<Test name="clip_pos_x_pos_z_and_neg_x_neg_y_neg_z" />
-<Test name="clip_neg_x_and_neg_x_neg_y_pos_z" />
-<Test name="clip_neg_y_and_neg_x_neg_y_pos_z" />
-<Test name="clip_pos_x_neg_y_pos_z_and_neg_x_pos_y_neg_z" />
-<Test name="clip_pos_y_neg_z_and_neg_x_pos_y_pos_z" />
-<Test name="clip_neg_x_neg_y_and_neg_y_neg_z" />
-<Test name="clip_pos_x_neg_z_and_pos_x_neg_y_pos_z" />
-<Test name="clip_pos_x_neg_z_and_pos_x_pos_y_pos_z" />
-<Test name="clip_neg_x_neg_y_and_pos_x_neg_z" />
-<Test name="clip_neg_y_pos_z_and_neg_x_neg_y_pos_z" />
-<Test name="clip_neg_x_pos_z_and_neg_x_pos_y_pos_z" />
-<Test name="clip_pos_x_and_pos_x_neg_y_pos_z" />
-<Test name="clip_pos_y_pos_z_and_neg_x_pos_y_neg_z" />
-<Test name="clip_pos_x_and_neg_x_pos_y" />
-<Test name="clip_neg_x_neg_y_and_neg_x_pos_y_neg_z" />
-<Test name="clip_neg_x_and_neg_x_neg_y_neg_z" />
-<Test name="clip_pos_y_pos_z_and_neg_x_neg_y_pos_z" />
-<Test name="clip_neg_x_neg_z_and_pos_y_neg_z" />
-<Test name="clip_pos_x_pos_z_and_neg_x_pos_y_pos_z" />
-<Test name="clip_pos_x_pos_y_and_neg_x_pos_z" />
-<Test name="clip_pos_x_and_pos_y_pos_z" />
-<Test name="clip_neg_x_and_neg_x_pos_y" />
-<Test name="clip_neg_x_neg_y_and_pos_x_neg_y_pos_z" />
-<Test name="clip_pos_x_neg_y_and_pos_x_neg_z" />
-<Test name="clip_neg_x_pos_y_pos_z_and_pos_x_neg_y_neg_z" />
-<Test name="clip_neg_x_pos_z_and_pos_x_pos_y_neg_z" />
-<Test name="clip_neg_x_pos_y_and_pos_y_neg_z" />
-<Test name="clip_neg_x_and_pos_y_pos_z" />
-<Test name="clip_neg_x_neg_y_and_neg_y_pos_z" />
-<Test name="clip_neg_x_neg_z_and_neg_y_pos_z" />
-<Test name="clip_neg_x_neg_z_and_pos_x_pos_y_pos_z" />
-<Test name="clip_pos_x_neg_z_and_pos_x_neg_y_neg_z" />
-<Test name="clip_pos_x_pos_z_and_neg_y_neg_z" />
-<Test name="clip_neg_x_neg_z_and_pos_x_pos_z" />
-<Test name="clip_neg_y_and_neg_x_pos_z" />
-<Test name="clip_neg_y_neg_z_and_neg_x_pos_y_neg_z" />
-<Test name="clip_pos_x_and_neg_y_neg_z" />
-<Test name="clip_pos_y_neg_z_and_pos_x_pos_y_neg_z" />
-<Test name="clip_neg_x_pos_y_and_neg_x_neg_z" />
-<Test name="clip_neg_y_pos_z_and_pos_x_neg_y_pos_z" />
-<Test name="clip_pos_x_neg_y_and_neg_x_neg_z" />
-<Test name="clip_pos_x_pos_y_and_neg_x_pos_y" />
-<Test name="clip_neg_x_neg_z_and_neg_x_pos_y_pos_z" />
-<Test name="clip_neg_y_neg_z_and_neg_x_neg_y_neg_z" />
-<Test name="clip_neg_x_neg_y_and_pos_y_pos_z" />
-<Test name="clip_neg_x_neg_y_pos_z_and_pos_x_neg_y_pos_z" />
-<Test name="clip_neg_x_and_pos_x_pos_y_pos_z" />
-<Test name="clip_neg_x_neg_y_and_pos_x_pos_y" />
-<Test name="clip_neg_x_pos_y_and_pos_y_pos_z" />
-<Test name="clip_neg_x_neg_y_and_pos_x_pos_z" />
-<Test name="clip_pos_x_neg_z_and_neg_y_pos_z" />
-<Test name="clip_pos_x_pos_z_and_neg_x_neg_y_pos_z" />
-<Test name="clip_neg_x_neg_z_and_pos_x_neg_y_neg_z" />
-<Test name="clip_pos_x_neg_z_and_pos_y_neg_z" />
-<Test name="clip_pos_x_neg_y_pos_z_and_pos_x_pos_y_neg_z" />
-<Test name="clip_neg_x_and_pos_x_pos_y_neg_z" />
-<Test name="clip_pos_y_and_pos_x_pos_y" />
-<Test name="clip_pos_x_pos_z_and_pos_y_neg_z" />
-<Test name="clip_pos_y_and_pos_x_pos_z" />
-<Test name="clip_pos_x_pos_y_and_neg_x_pos_y_pos_z" />
-<Test name="clip_pos_x_neg_y_and_pos_x_pos_y_neg_z" />
-<Test name="clip_neg_x_neg_y_and_neg_x_pos_y_pos_z" />
-<Test name="clip_pos_y_and_neg_x_neg_y" />
-<Test name="clip_neg_x_neg_z_and_pos_x_pos_y_neg_z" />
-<Test name="clip_neg_x_and_neg_y_neg_z" />
-<Test name="clip_pos_y_and_neg_x_neg_z" />
-<Test name="clip_pos_y_pos_z_and_neg_x_neg_y_neg_z" />
-<Test name="clip_pos_x_neg_z_and_neg_x_neg_y_neg_z" />
-<Test name="clip_neg_x_pos_y_pos_z_and_neg_x_neg_y_neg_z" />
-<Test name="clip_pos_x_pos_y_and_pos_y_pos_z" />
-<Test name="clip_pos_x_and_pos_x_pos_y_neg_z" />
-<Test name="clip_pos_y_and_neg_y" />
-<Test name="clip_neg_y_and_pos_x_neg_y_neg_z" />
-<Test name="clip_neg_x_pos_z_and_pos_x_neg_y_pos_z" />
-<Test name="clip_pos_x_pos_y_pos_z_and_neg_x_neg_y_neg_z" />
-<Test name="clip_neg_x_and_pos_x" />
-<Test name="clip_pos_y_and_pos_x_neg_z" />
-<Test name="clip_pos_x_neg_y_and_neg_x_pos_y" />
-<Test name="clip_pos_x_pos_y_and_pos_x_neg_z" />
-<Test name="clip_neg_y_pos_z_and_pos_x_neg_y_neg_z" />
-<Test name="clip_neg_x_pos_y_and_pos_x_pos_z" />
-<Test name="clip_pos_x_neg_z_and_neg_x_pos_y_neg_z" />
-<Test name="clip_neg_x_neg_z_and_pos_y_pos_z" />
-<Test name="clip_pos_x_neg_y_and_neg_x_neg_y_neg_z" />
-<Test name="clip_neg_x_pos_y_and_neg_x_neg_y_pos_z" />
-<Test name="clip_pos_y_and_pos_x_neg_y" />
-<Test name="clip_neg_y_neg_z_and_neg_x_pos_y_pos_z" />
-<Test name="clip_neg_x_pos_z_and_pos_x_neg_y_neg_z" />
-<Test name="clip_pos_x_neg_y_and_pos_x_pos_y_pos_z" />
-<Test name="clip_pos_x_pos_z_and_pos_x_neg_y_pos_z" />
-<Test name="clip_pos_x_neg_y_and_pos_y_neg_z" />
-<Test name="clip_pos_y_and_neg_x_pos_y_pos_z" />
-<Test name="clip_neg_x_pos_z_and_pos_y_neg_z" />
-<Test name="clip_neg_x_neg_y_pos_z_and_pos_x_pos_y_neg_z" />
-<Test name="clip_pos_x_pos_y_and_pos_x_neg_y_pos_z" />
-<Test name="clip_neg_y_and_pos_x_neg_y_pos_z" />
-<Test name="clip_neg_x_neg_y_and_pos_y_neg_z" />
-<Test name="clip_neg_x_neg_y_pos_z_and_neg_x_pos_y_neg_z" />
-<Test name="clip_pos_x_pos_z_and_neg_x_pos_y_neg_z" />
-<Test name="clip_pos_x_neg_y_and_neg_x_pos_z" />
-<Test name="clip_neg_y_neg_z_and_pos_y_pos_z" />
-<Test name="clip_neg_x_neg_y_pos_z_and_neg_x_pos_y_pos_z" />
-<Test name="clip_neg_x_pos_z_and_neg_y_neg_z" />
-<Test name="clip_neg_y_and_neg_x_neg_z" />
-<Test name="clip_neg_y_and_pos_x_pos_y_neg_z" />
-<Test name="clip_pos_x_and_neg_x_pos_y_pos_z" />
+<TestSuite name="buffer">
+<TestSuite name="write">
+<TestCase name="basic">
+<Test name="array_stream_draw" />
+<Test name="array_stream_read" />
+<Test name="array_stream_copy" />
+<Test name="array_static_draw" />
+<Test name="array_static_read" />
+<Test name="array_static_copy" />
+<Test name="array_dynamic_draw" />
+<Test name="array_dynamic_read" />
+<Test name="array_dynamic_copy" />
+<Test name="copy_read_stream_draw" />
+<Test name="copy_read_stream_read" />
+<Test name="copy_read_stream_copy" />
+<Test name="copy_read_static_draw" />
+<Test name="copy_read_static_read" />
+<Test name="copy_read_static_copy" />
+<Test name="copy_read_dynamic_draw" />
+<Test name="copy_read_dynamic_read" />
+<Test name="copy_read_dynamic_copy" />
+<Test name="copy_write_stream_draw" />
+<Test name="copy_write_stream_read" />
+<Test name="copy_write_stream_copy" />
+<Test name="copy_write_static_draw" />
+<Test name="copy_write_static_read" />
+<Test name="copy_write_static_copy" />
+<Test name="copy_write_dynamic_draw" />
+<Test name="copy_write_dynamic_read" />
+<Test name="copy_write_dynamic_copy" />
+<Test name="element_array_stream_draw" />
+<Test name="element_array_stream_read" />
+<Test name="element_array_stream_copy" />
+<Test name="element_array_static_draw" />
+<Test name="element_array_static_read" />
+<Test name="element_array_static_copy" />
+<Test name="element_array_dynamic_draw" />
+<Test name="element_array_dynamic_read" />
+<Test name="element_array_dynamic_copy" />
+<Test name="pixel_pack_stream_draw" />
+<Test name="pixel_pack_stream_read" />
+<Test name="pixel_pack_stream_copy" />
+<Test name="pixel_pack_static_draw" />
+<Test name="pixel_pack_static_read" />
+<Test name="pixel_pack_static_copy" />
+<Test name="pixel_pack_dynamic_draw" />
+<Test name="pixel_pack_dynamic_read" />
+<Test name="pixel_pack_dynamic_copy" />
+<Test name="pixel_unpack_stream_draw" />
+<Test name="pixel_unpack_stream_read" />
+<Test name="pixel_unpack_stream_copy" />
+<Test name="pixel_unpack_static_draw" />
+<Test name="pixel_unpack_static_read" />
+<Test name="pixel_unpack_static_copy" />
+<Test name="pixel_unpack_dynamic_draw" />
+<Test name="pixel_unpack_dynamic_read" />
+<Test name="pixel_unpack_dynamic_copy" />
+<Test name="transform_feedback_stream_draw" />
+<Test name="transform_feedback_stream_read" />
+<Test name="transform_feedback_stream_copy" />
+<Test name="transform_feedback_static_draw" />
+<Test name="transform_feedback_static_read" />
+<Test name="transform_feedback_static_copy" />
+<Test name="transform_feedback_dynamic_draw" />
+<Test name="transform_feedback_dynamic_read" />
+<Test name="transform_feedback_dynamic_copy" />
+<Test name="uniform_stream_draw" />
+<Test name="uniform_stream_read" />
+<Test name="uniform_stream_copy" />
+<Test name="uniform_static_draw" />
+<Test name="uniform_static_read" />
+<Test name="uniform_static_copy" />
+<Test name="uniform_dynamic_draw" />
+<Test name="uniform_dynamic_read" />
+<Test name="uniform_dynamic_copy" />
 </TestCase>
-<TestCase name="clip_one">
-<Test name="clip_neg_x_neg_y_neg_z" />
-<Test name="clip_neg_x_neg_y_pos_z" />
-<Test name="clip_pos_y_pos_z" />
-<Test name="clip_pos_x_neg_y_pos_z" />
-<Test name="clip_pos_x_pos_y_neg_z" />
-<Test name="clip_pos_x_pos_z" />
-<Test name="clip_pos_x_pos_y" />
-<Test name="clip_neg_y_neg_z" />
-<Test name="clip_pos_y" />
-<Test name="clip_neg_x_pos_z" />
-<Test name="clip_neg_x_pos_y" />
-<Test name="clip_pos_x_neg_z" />
-<Test name="clip_pos_x_neg_y" />
-<Test name="clip_neg_x_pos_y_neg_z" />
-<Test name="clip_neg_x_neg_z" />
-<Test name="clip_neg_x_pos_y_pos_z" />
-<Test name="clip_neg_x_neg_y" />
-<Test name="clip_pos_x_neg_y_neg_z" />
-<Test name="clip_pos_z" />
-<Test name="clip_pos_x" />
-<Test name="clip_neg_y_pos_z" />
-<Test name="clip_pos_x_pos_y_pos_z" />
-<Test name="clip_pos_y_neg_z" />
-<Test name="clip_neg_z" />
-<Test name="clip_neg_x" />
-<Test name="clip_neg_y" />
+<TestCase name="recreate_store">
+<Test name="identical_1" />
+<Test name="identical_2" />
+<Test name="different_target" />
+<Test name="different_usage" />
+<Test name="different_size" />
+<Test name="random_1" />
+<Test name="random_2" />
+<Test name="random_3" />
+<Test name="random_4" />
 </TestCase>
-<TestCase name="clip_three">
-<Test name="clip_neg_x_and_pos_x_and_pos_x_pos_y" />
-<Test name="clip_neg_x_neg_y_and_pos_x_pos_y_and_pos_x_neg_y_pos_z" />
-<Test name="clip_neg_x_and_neg_x_neg_y_and_pos_x_pos_y" />
-<Test name="clip_pos_y_and_pos_x_neg_y_pos_z_and_neg_x_neg_y_neg_z" />
-<Test name="clip_pos_x_and_neg_x_pos_y_pos_z_and_pos_x_neg_y_neg_z" />
-<Test name="clip_pos_y_and_pos_x_neg_y_and_neg_x_pos_y" />
-<Test name="clip_neg_x_and_neg_y_neg_z_and_pos_x_pos_y_pos_z" />
-<Test name="clip_pos_y_and_neg_y_and_pos_x_pos_y_pos_z" />
-<Test name="clip_pos_x_and_neg_y_pos_z_and_neg_x_pos_y_neg_z" />
-<Test name="clip_pos_y_and_neg_y_and_pos_x_pos_y_neg_z" />
-<Test name="clip_pos_x_and_neg_y_neg_z_and_neg_x_pos_y_pos_z" />
-<Test name="clip_neg_x_neg_y_and_pos_x_pos_y_and_neg_x_pos_y_neg_z" />
-<Test name="clip_pos_y_and_neg_y_and_pos_x_neg_y_pos_z" />
-<Test name="clip_neg_x_and_pos_x_and_pos_x_neg_y_neg_z" />
-<Test name="clip_neg_x_neg_z_and_pos_x_neg_y_pos_z_and_neg_x_pos_y_neg_z" />
-<Test name="clip_neg_x_and_pos_y_and_pos_x_neg_y" />
-<Test name="clip_pos_y_and_neg_y_and_pos_x_neg_y" />
-<Test name="clip_pos_y_and_neg_x_pos_y_pos_z_and_pos_x_neg_y_neg_z" />
-<Test name="clip_neg_x_neg_z_and_pos_x_pos_y_pos_z_and_neg_x_neg_y_neg_z" />
-<Test name="clip_neg_x_neg_y_and_pos_x_neg_y_pos_z_and_neg_x_pos_y_neg_z" />
-<Test name="clip_neg_x_neg_z_and_pos_x_pos_z_and_pos_x_pos_y_pos_z" />
-<Test name="clip_pos_x_pos_z_and_pos_y_neg_z_and_neg_y_pos_z" />
-<Test name="clip_pos_x_neg_y_and_neg_x_pos_y_and_pos_x_pos_y_pos_z" />
-<Test name="clip_pos_y_and_pos_x_pos_y_pos_z_and_neg_x_neg_y_neg_z" />
-<Test name="clip_pos_x_neg_z_and_neg_x_neg_y_pos_z_and_pos_x_pos_y_neg_z" />
-<Test name="clip_neg_x_and_pos_x_and_neg_y_neg_z" />
-<Test name="clip_neg_x_neg_z_and_pos_x_pos_z_and_neg_x_pos_y_pos_z" />
-<Test name="clip_pos_x_neg_z_and_neg_x_pos_z_and_pos_x_neg_y_neg_z" />
-<Test name="clip_pos_y_and_neg_y_and_neg_x_pos_y_neg_z" />
-<Test name="clip_pos_x_pos_y_pos_z_and_neg_x_neg_y_neg_z_and_neg_x_pos_y_neg_z" />
-<Test name="clip_pos_y_and_neg_y_and_neg_x_neg_y_pos_z" />
-<Test name="clip_neg_x_and_pos_y_and_neg_y" />
-<Test name="clip_neg_x_neg_y_and_pos_x_neg_y_and_pos_x_pos_y" />
-<Test name="clip_neg_y_neg_z_and_pos_x_pos_y_pos_z_and_neg_x_neg_y_neg_z" />
-<Test name="clip_neg_x_and_pos_x_and_pos_x_neg_y_pos_z" />
-<Test name="clip_neg_x_neg_z_and_pos_x_neg_y_pos_z_and_pos_x_pos_y_pos_z" />
-<Test name="clip_pos_x_neg_z_and_neg_x_pos_z_and_neg_y_neg_z" />
-<Test name="clip_pos_x_and_pos_y_and_neg_y" />
-<Test name="clip_neg_y_and_pos_x_pos_y_pos_z_and_neg_x_neg_y_neg_z" />
-<Test name="clip_pos_y_and_neg_y_and_pos_x_neg_y_neg_z" />
-<Test name="clip_neg_x_neg_y_pos_z_and_pos_x_neg_y_pos_z_and_pos_x_pos_y_neg_z" />
-<Test name="clip_pos_x_pos_y_and_pos_x_neg_y_pos_z_and_neg_x_pos_y_neg_z" />
-<Test name="clip_pos_x_neg_y_and_neg_x_pos_y_and_neg_x_neg_z" />
-<Test name="clip_neg_x_neg_z_and_pos_x_pos_z_and_neg_x_neg_y_pos_z" />
-<Test name="clip_pos_x_and_neg_x_neg_y_and_pos_x_pos_y" />
-<Test name="clip_neg_x_pos_z_and_pos_x_neg_y_neg_z_and_pos_x_pos_y_neg_z" />
-<Test name="clip_neg_x_pos_z_and_pos_y_neg_z_and_neg_y_pos_z" />
-<Test name="clip_pos_y_pos_z_and_neg_x_neg_y_pos_z_and_pos_x_pos_y_neg_z" />
-<Test name="clip_pos_x_pos_y_and_neg_x_pos_z_and_neg_y_neg_z" />
-<Test name="clip_pos_y_and_neg_x_neg_y_and_pos_x_neg_y" />
-<Test name="clip_pos_x_neg_z_and_neg_x_pos_z_and_pos_x_pos_y_neg_z" />
-<Test name="clip_neg_x_neg_y_and_pos_x_pos_y_and_neg_y_pos_z" />
-<Test name="clip_neg_x_and_pos_x_and_neg_x_neg_y_neg_z" />
-<Test name="clip_pos_y_and_neg_x_neg_z_and_pos_x_neg_y_pos_z" />
-<Test name="clip_neg_x_neg_y_pos_z_and_neg_x_pos_y_pos_z_and_pos_x_neg_y_neg_z" />
-<Test name="clip_neg_x_and_pos_x_and_neg_x_pos_y" />
-<Test name="clip_neg_x_neg_y_pos_z_and_pos_x_neg_y_neg_z_and_pos_x_pos_y_neg_z" />
-<Test name="clip_pos_y_and_neg_x_neg_y_and_pos_x_pos_y" />
-<Test name="clip_neg_y_neg_z_and_neg_x_pos_y_pos_z_and_pos_x_neg_y_neg_z" />
-<Test name="clip_pos_x_and_pos_x_neg_y_pos_z_and_neg_x_pos_y_neg_z" />
-<Test name="clip_pos_y_pos_z_and_neg_x_neg_y_neg_z_and_pos_x_neg_y_neg_z" />
-<Test name="clip_pos_y_and_pos_x_pos_z_and_neg_x_neg_y_neg_z" />
-<Test name="clip_pos_x_pos_z_and_neg_y_neg_z_and_pos_y_pos_z" />
-<Test name="clip_neg_x_and_pos_x_and_pos_y_neg_z" />
-<Test name="clip_pos_x_and_neg_y_neg_z_and_pos_y_pos_z" />
-<Test name="clip_neg_y_and_neg_x_neg_y_and_pos_x_pos_y" />
-<Test name="clip_neg_y_neg_z_and_pos_x_neg_y_pos_z_and_neg_x_pos_y_neg_z" />
-<Test name="clip_neg_x_and_pos_x_and_neg_x_neg_y" />
-<Test name="clip_pos_x_neg_z_and_neg_x_pos_z_and_neg_x_pos_y_pos_z" />
-<Test name="clip_pos_y_neg_z_and_neg_y_pos_z_and_pos_x_pos_y_pos_z" />
-<Test name="clip_pos_x_neg_y_and_neg_x_pos_y_and_neg_x_neg_y_neg_z" />
-<Test name="clip_neg_x_and_neg_y_neg_z_and_pos_y_pos_z" />
-<Test name="clip_pos_x_pos_y_and_neg_y_neg_z_and_pos_y_pos_z" />
-<Test name="clip_neg_x_pos_z_and_pos_x_neg_y_pos_z_and_neg_x_pos_y_neg_z" />
-<Test name="clip_pos_x_and_neg_y_and_neg_x_pos_y" />
-<Test name="clip_neg_x_neg_y_and_pos_x_neg_z_and_pos_y_pos_z" />
-<Test name="clip_neg_x_and_pos_x_neg_y_pos_z_and_pos_x_pos_y_neg_z" />
-<Test name="clip_pos_y_and_neg_y_and_pos_x_pos_z" />
-<Test name="clip_pos_y_and_neg_y_and_pos_x_pos_y" />
-<Test name="clip_neg_x_neg_y_and_neg_x_neg_z_and_pos_x_pos_z" />
-<Test name="clip_pos_y_neg_z_and_neg_y_pos_z_and_neg_x_neg_y_pos_z" />
-<Test name="clip_neg_y_and_pos_x_neg_z_and_neg_x_pos_y_pos_z" />
-<Test name="clip_pos_x_neg_z_and_pos_x_pos_y_pos_z_and_neg_x_neg_y_neg_z" />
-<Test name="clip_pos_x_and_neg_x_neg_y_and_neg_x_pos_y" />
-<Test name="clip_neg_x_and_pos_y_neg_z_and_pos_x_neg_y_pos_z" />
-<Test name="clip_neg_x_neg_y_and_pos_x_pos_y_and_pos_x_pos_z" />
-<Test name="clip_pos_x_neg_z_and_neg_x_pos_z_and_neg_x_neg_y_pos_z" />
-<Test name="clip_neg_x_neg_y_pos_z_and_pos_x_neg_y_pos_z_and_neg_x_pos_y_neg_z" />
-<Test name="clip_neg_x_pos_y_and_pos_x_pos_z_and_neg_y_neg_z" />
-<Test name="clip_pos_y_and_neg_x_neg_y_pos_z_and_pos_x_pos_y_neg_z" />
-<Test name="clip_neg_x_and_neg_y_and_pos_x_pos_y" />
-<Test name="clip_pos_x_neg_z_and_neg_x_pos_z_and_neg_x_neg_y_neg_z" />
-<Test name="clip_neg_x_pos_z_and_neg_x_pos_y_pos_z_and_pos_x_neg_y_neg_z" />
-<Test name="clip_neg_x_pos_y_and_pos_x_neg_z_and_neg_y_pos_z" />
-<Test name="clip_neg_y_and_neg_x_pos_y_pos_z_and_pos_x_neg_y_neg_z" />
-<Test name="clip_pos_x_neg_y_and_pos_x_pos_y_and_neg_x_pos_y" />
-<Test name="clip_neg_y_neg_z_and_pos_x_pos_y_pos_z_and_neg_x_pos_y_pos_z" />
-<Test name="clip_pos_y_and_neg_x_pos_z_and_pos_x_neg_y_neg_z" />
-<Test name="clip_neg_x_and_neg_y_pos_z_and_pos_x_pos_y_neg_z" />
-<Test name="clip_pos_x_neg_z_and_neg_x_pos_y_pos_z_and_pos_x_neg_y_neg_z" />
-<Test name="clip_neg_y_and_pos_x_pos_y_pos_z_and_neg_x_pos_y_neg_z" />
-<Test name="clip_pos_x_pos_y_and_neg_x_neg_z_and_neg_y_pos_z" />
-<Test name="clip_neg_x_and_pos_x_neg_y_pos_z_and_neg_x_pos_y_neg_z" />
-<Test name="clip_pos_x_neg_y_and_pos_x_pos_y_pos_z_and_neg_x_neg_y_neg_z" />
-<Test name="clip_neg_y_pos_z_and_neg_x_pos_y_pos_z_and_pos_x_neg_y_neg_z" />
-<Test name="clip_neg_x_pos_y_and_pos_x_pos_y_pos_z_and_neg_x_neg_y_neg_z" />
-<Test name="clip_pos_x_neg_z_and_neg_x_neg_y_pos_z_and_neg_x_pos_y_pos_z" />
-<Test name="clip_neg_y_pos_z_and_pos_x_pos_y_pos_z_and_neg_x_neg_y_neg_z" />
-<Test name="clip_neg_x_pos_y_and_neg_x_neg_y_pos_z_and_pos_x_pos_y_neg_z" />
-<Test name="clip_neg_x_neg_y_and_pos_x_neg_y_and_neg_x_pos_y" />
-<Test name="clip_pos_x_and_pos_y_and_neg_x_neg_y" />
-<Test name="clip_neg_y_and_neg_x_pos_y_pos_z_and_pos_x_pos_y_neg_z" />
-<Test name="clip_neg_y_and_neg_x_neg_y_pos_z_and_pos_x_pos_y_neg_z" />
-<Test name="clip_pos_x_neg_y_and_neg_x_pos_y_and_pos_x_pos_y_neg_z" />
-<Test name="clip_pos_x_neg_y_pos_z_and_pos_x_pos_y_pos_z_and_neg_x_pos_y_neg_z" />
-<Test name="clip_pos_x_and_pos_y_neg_z_and_neg_x_neg_y_pos_z" />
-<Test name="clip_pos_x_neg_y_and_neg_x_neg_y_pos_z_and_pos_x_pos_y_neg_z" />
-<Test name="clip_pos_y_neg_z_and_neg_y_pos_z_and_neg_x_neg_y_neg_z" />
-<Test name="clip_neg_x_and_pos_x_and_neg_x_neg_y_pos_z" />
-<Test name="clip_pos_x_neg_y_and_neg_x_pos_y_and_pos_x_pos_z" />
-<Test name="clip_neg_x_and_pos_y_pos_z_and_pos_x_neg_y_neg_z" />
-<Test name="clip_pos_x_and_neg_x_neg_y_pos_z_and_pos_x_pos_y_neg_z" />
-<Test name="clip_pos_x_pos_y_and_neg_x_pos_y_pos_z_and_pos_x_neg_y_neg_z" />
-<Test name="clip_pos_x_neg_y_and_neg_x_pos_y_and_pos_x_neg_z" />
-<Test name="clip_pos_x_pos_y_pos_z_and_neg_x_pos_y_pos_z_and_pos_x_neg_y_neg_z" />
-<Test name="clip_neg_x_neg_y_and_pos_x_pos_y_and_neg_x_pos_y" />
-<Test name="clip_neg_x_neg_y_and_pos_x_pos_y_and_pos_x_neg_z" />
-<Test name="clip_neg_y_neg_z_and_neg_x_neg_y_pos_z_and_pos_x_pos_y_neg_z" />
-<Test name="clip_pos_x_neg_y_and_neg_x_neg_z_and_pos_y_pos_z" />
-<Test name="clip_neg_y_and_neg_x_neg_z_and_pos_x_pos_z" />
-<Test name="clip_pos_y_and_neg_y_and_neg_x_pos_z" />
-<Test name="clip_neg_x_and_pos_x_and_pos_x_pos_y_pos_z" />
-<Test name="clip_pos_y_and_neg_y_and_neg_x_pos_y" />
-<Test name="clip_neg_x_neg_y_pos_z_and_neg_x_pos_y_pos_z_and_pos_x_pos_y_neg_z" />
-<Test name="clip_neg_x_pos_y_and_pos_x_neg_z_and_neg_x_pos_z" />
-<Test name="clip_pos_y_and_neg_y_and_pos_x_neg_z" />
-<Test name="clip_pos_x_neg_y_pos_z_and_neg_x_neg_y_neg_z_and_neg_x_pos_y_neg_z" />
-<Test name="clip_neg_y_and_pos_x_neg_y_and_neg_x_pos_y" />
-<Test name="clip_neg_x_neg_y_and_neg_x_pos_y_pos_z_and_pos_x_neg_y_neg_z" />
-<Test name="clip_neg_x_neg_z_and_pos_x_pos_z_and_neg_x_pos_y_neg_z" />
-<Test name="clip_pos_y_and_neg_y_and_neg_x_neg_z" />
-<Test name="clip_pos_y_and_neg_y_and_neg_x_neg_y" />
-<Test name="clip_neg_x_neg_z_and_pos_x_pos_z_and_neg_y_pos_z" />
-<Test name="clip_neg_x_neg_y_and_pos_x_pos_y_and_pos_y_neg_z" />
-<Test name="clip_pos_y_neg_z_and_neg_y_pos_z_and_pos_x_neg_y_pos_z" />
-<Test name="clip_pos_y_and_neg_x_neg_z_and_pos_x_pos_z" />
-<Test name="clip_neg_y_and_neg_x_pos_z_and_pos_x_pos_y_neg_z" />
-<Test name="clip_neg_y_neg_z_and_pos_y_pos_z_and_pos_x_neg_y_pos_z" />
-<Test name="clip_pos_y_and_neg_y_and_neg_x_pos_y_pos_z" />
-<Test name="clip_neg_y_and_neg_x_neg_z_and_pos_x_pos_y_pos_z" />
-<Test name="clip_neg_x_and_pos_x_and_neg_x_pos_y_neg_z" />
-<Test name="clip_neg_y_and_pos_x_pos_z_and_neg_x_pos_y_neg_z" />
-<Test name="clip_neg_y_and_pos_x_neg_z_and_neg_x_pos_z" />
-<Test name="clip_pos_x_neg_y_and_neg_x_pos_y_and_neg_y_pos_z" />
-<Test name="clip_pos_y_and_pos_x_neg_y_pos_z_and_neg_x_pos_y_neg_z" />
-<Test name="clip_neg_y_and_pos_x_pos_y_and_neg_x_pos_y" />
-<Test name="clip_neg_y_neg_z_and_pos_y_pos_z_and_pos_x_neg_y_neg_z" />
-<Test name="clip_neg_x_and_pos_x_and_neg_y_pos_z" />
-<Test name="clip_neg_x_and_pos_x_and_pos_x_neg_y" />
-<Test name="clip_neg_x_pos_z_and_neg_x_neg_y_pos_z_and_pos_x_pos_y_neg_z" />
-<Test name="clip_neg_x_neg_y_and_pos_x_pos_y_and_neg_x_pos_y_pos_z" />
-<Test name="clip_neg_x_and_pos_x_neg_y_and_neg_x_pos_y" />
-<Test name="clip_pos_x_pos_y_and_pos_y_neg_z_and_neg_y_pos_z" />
-<Test name="clip_pos_x_pos_z_and_pos_x_pos_y_pos_z_and_neg_x_neg_y_neg_z" />
-<Test name="clip_neg_x_neg_z_and_pos_x_pos_z_and_pos_x_neg_y_pos_z" />
-<Test name="clip_neg_x_neg_z_and_pos_x_pos_z_and_neg_x_neg_y_neg_z" />
-<Test name="clip_pos_x_pos_z_and_pos_x_neg_y_pos_z_and_neg_x_pos_y_neg_z" />
-<Test name="clip_neg_x_neg_z_and_pos_x_pos_z_and_pos_x_pos_y_neg_z" />
-<Test name="clip_pos_x_neg_y_pos_z_and_pos_x_pos_y_pos_z_and_neg_x_neg_y_neg_z" />
-<Test name="clip_neg_y_neg_z_and_pos_y_pos_z_and_neg_x_pos_y_pos_z" />
-<Test name="clip_neg_x_and_pos_x_pos_y_pos_z_and_neg_x_neg_y_neg_z" />
-<Test name="clip_pos_x_neg_y_and_neg_x_pos_y_and_neg_x_neg_y_pos_z" />
-<Test name="clip_neg_y_neg_z_and_pos_y_pos_z_and_pos_x_pos_y_neg_z" />
-<Test name="clip_pos_x_neg_z_and_neg_y_neg_z_and_pos_y_pos_z" />
-<Test name="clip_neg_x_pos_y_pos_z_and_pos_x_neg_y_neg_z_and_pos_x_pos_y_neg_z" />
-<Test name="clip_neg_x_neg_y_and_pos_x_pos_y_and_pos_x_neg_y_neg_z" />
-<Test name="clip_pos_x_pos_z_and_neg_x_neg_y_neg_z_and_neg_x_pos_y_neg_z" />
-<Test name="clip_pos_x_and_pos_x_pos_y_pos_z_and_neg_x_neg_y_neg_z" />
-<Test name="clip_neg_y_and_pos_x_neg_y_pos_z_and_neg_x_pos_y_neg_z" />
-<Test name="clip_neg_x_pos_y_pos_z_and_neg_x_neg_y_neg_z_and_pos_x_neg_y_neg_z" />
-<Test name="clip_pos_y_and_neg_x_neg_y_pos_z_and_pos_x_neg_y_neg_z" />
-<Test name="clip_pos_y_and_neg_y_and_neg_x_neg_y_neg_z" />
-<Test name="clip_neg_y_pos_z_and_neg_x_neg_y_pos_z_and_pos_x_pos_y_neg_z" />
-<Test name="clip_pos_x_and_pos_x_neg_y_and_neg_x_pos_y" />
-<Test name="clip_pos_x_neg_y_and_neg_x_pos_y_and_pos_y_neg_z" />
-<Test name="clip_pos_y_and_pos_x_neg_z_and_neg_x_neg_y_pos_z" />
-<Test name="clip_pos_x_pos_y_pos_z_and_neg_x_neg_y_neg_z_and_pos_x_neg_y_neg_z" />
-<Test name="clip_neg_x_neg_y_and_pos_x_neg_z_and_neg_x_pos_z" />
-<Test name="clip_neg_y_neg_z_and_pos_y_pos_z_and_pos_x_pos_y_pos_z" />
-<Test name="clip_neg_x_neg_y_and_pos_x_pos_y_and_neg_y_neg_z" />
-<Test name="clip_pos_x_neg_y_and_neg_x_pos_z_and_pos_y_neg_z" />
-<Test name="clip_neg_x_and_pos_x_and_pos_y" />
-<Test name="clip_neg_x_neg_y_and_pos_x_pos_z_and_pos_y_neg_z" />
-<Test name="clip_pos_x_neg_z_and_neg_x_pos_z_and_pos_y_neg_z" />
-<Test name="clip_neg_x_and_pos_x_and_neg_y" />
-<Test name="clip_pos_x_pos_z_and_neg_x_neg_y_pos_z_and_pos_x_pos_y_neg_z" />
-<Test name="clip_pos_x_pos_y_pos_z_and_neg_x_pos_y_pos_z_and_neg_x_neg_y_neg_z" />
-<Test name="clip_neg_x_and_pos_x_neg_y_and_pos_x_pos_y" />
-<Test name="clip_pos_y_and_pos_x_neg_z_and_neg_x_pos_z" />
-<Test name="clip_neg_y_pos_z_and_pos_x_pos_y_neg_z_and_neg_x_pos_y_neg_z" />
-<Test name="clip_neg_x_and_neg_x_pos_y_pos_z_and_pos_x_neg_y_neg_z" />
-<Test name="clip_neg_y_pos_z_and_pos_x_neg_y_pos_z_and_neg_x_pos_y_neg_z" />
-<Test name="clip_pos_x_and_pos_y_pos_z_and_neg_x_neg_y_neg_z" />
-<Test name="clip_neg_x_neg_y_and_neg_y_neg_z_and_pos_y_pos_z" />
-</TestCase>
-</TestSuite>
-<TestCase name="point">
-<Test name="point_z_clip_viewport_center" />
-<Test name="wide_point_z_clip_viewport_center" />
-<Test name="wide_point_z_clip_viewport_corner" />
-<Test name="wide_point_z_clip" />
-<Test name="point_z_clip_viewport_corner" />
-<Test name="point_z_clip" />
-</TestCase>
-</TestSuite>
-<TestSuite name="rasterization">
-<TestCase name="primitives">
-<Test name="line_strip_wide" />
-<Test name="line_strip" />
-<Test name="lines_wide" />
-<Test name="lines" />
-<Test name="line_loop" />
-<Test name="triangle_strip" />
-<Test name="points" />
-<Test name="triangle_fan" />
-<Test name="line_loop_wide" />
-<Test name="triangles" />
-</TestCase>
-<TestCase name="culling">
-<Test name="front_triangle_strip_reverse" />
-<Test name="front_triangle_strip" />
-<Test name="both_triangles_reverse" />
-<Test name="front_triangle_fan_reverse" />
-<Test name="front_triangle_fan" />
-<Test name="both_triangles" />
-<Test name="both_triangle_fan_reverse" />
-<Test name="back_triangle_fan" />
-<Test name="front_triangles_reverse" />
-<Test name="front_triangles" />
-<Test name="back_triangle_strip" />
-<Test name="both_triangle_strip_reverse" />
-<Test name="back_triangles" />
-<Test name="back_triangle_strip_reverse" />
-<Test name="back_triangles_reverse" />
-<Test name="both_triangle_strip" />
-<Test name="both_triangle_fan" />
-<Test name="back_triangle_fan_reverse" />
-</TestCase>
-<TestCase name="fill_rules">
-<Test name="clipped_partly" />
-<Test name="basic_quad_reverse" />
-<Test name="projected" />
-<Test name="basic_quad" />
-<Test name="clipped_full" />
-</TestCase>
-<TestCase name="flatshading">
-<Test name="line_strip_wide" />
-<Test name="line_strip" />
-<Test name="lines_wide" />
-<Test name="lines" />
-<Test name="line_loop" />
-<Test name="triangle_strip" />
-<Test name="triangle_fan" />
-<Test name="line_loop_wide" />
-<Test name="triangles" />
+<TestCase name="basic_subdata">
+<Test name="array_stream_draw" />
+<Test name="array_stream_read" />
+<Test name="array_stream_copy" />
+<Test name="array_static_draw" />
+<Test name="array_static_read" />
+<Test name="array_static_copy" />
+<Test name="array_dynamic_draw" />
+<Test name="array_dynamic_read" />
+<Test name="array_dynamic_copy" />
+<Test name="copy_read_stream_draw" />
+<Test name="copy_read_stream_read" />
+<Test name="copy_read_stream_copy" />
+<Test name="copy_read_static_draw" />
+<Test name="copy_read_static_read" />
+<Test name="copy_read_static_copy" />
+<Test name="copy_read_dynamic_draw" />
+<Test name="copy_read_dynamic_read" />
+<Test name="copy_read_dynamic_copy" />
+<Test name="copy_write_stream_draw" />
+<Test name="copy_write_stream_read" />
+<Test name="copy_write_stream_copy" />
+<Test name="copy_write_static_draw" />
+<Test name="copy_write_static_read" />
+<Test name="copy_write_static_copy" />
+<Test name="copy_write_dynamic_draw" />
+<Test name="copy_write_dynamic_read" />
+<Test name="copy_write_dynamic_copy" />
+<Test name="element_array_stream_draw" />
+<Test name="element_array_stream_read" />
+<Test name="element_array_stream_copy" />
+<Test name="element_array_static_draw" />
+<Test name="element_array_static_read" />
+<Test name="element_array_static_copy" />
+<Test name="element_array_dynamic_draw" />
+<Test name="element_array_dynamic_read" />
+<Test name="element_array_dynamic_copy" />
+<Test name="pixel_pack_stream_draw" />
+<Test name="pixel_pack_stream_read" />
+<Test name="pixel_pack_stream_copy" />
+<Test name="pixel_pack_static_draw" />
+<Test name="pixel_pack_static_read" />
+<Test name="pixel_pack_static_copy" />
+<Test name="pixel_pack_dynamic_draw" />
+<Test name="pixel_pack_dynamic_read" />
+<Test name="pixel_pack_dynamic_copy" />
+<Test name="pixel_unpack_stream_draw" />
+<Test name="pixel_unpack_stream_read" />
+<Test name="pixel_unpack_stream_copy" />
+<Test name="pixel_unpack_static_draw" />
+<Test name="pixel_unpack_static_read" />
+<Test name="pixel_unpack_static_copy" />
+<Test name="pixel_unpack_dynamic_draw" />
+<Test name="pixel_unpack_dynamic_read" />
+<Test name="pixel_unpack_dynamic_copy" />
+<Test name="transform_feedback_stream_draw" />
+<Test name="transform_feedback_stream_read" />
+<Test name="transform_feedback_stream_copy" />
+<Test name="transform_feedback_static_draw" />
+<Test name="transform_feedback_static_read" />
+<Test name="transform_feedback_static_copy" />
+<Test name="transform_feedback_dynamic_draw" />
+<Test name="transform_feedback_dynamic_read" />
+<Test name="transform_feedback_dynamic_copy" />
+<Test name="uniform_stream_draw" />
+<Test name="uniform_stream_read" />
+<Test name="uniform_stream_copy" />
+<Test name="uniform_static_draw" />
+<Test name="uniform_static_read" />
+<Test name="uniform_static_copy" />
+<Test name="uniform_dynamic_draw" />
+<Test name="uniform_dynamic_read" />
+<Test name="uniform_dynamic_copy" />
 </TestCase>
-<TestSuite name="interpolation">
-<TestCase name="projected">
-<Test name="line_strip_wide" />
-<Test name="line_strip" />
-<Test name="lines_wide" />
-<Test name="lines" />
-<Test name="line_loop" />
-<Test name="triangle_strip" />
-<Test name="triangle_fan" />
-<Test name="line_loop_wide" />
-<Test name="triangles" />
+<TestCase name="partial_specify">
+<Test name="whole_1" />
+<Test name="whole_2" />
+<Test name="whole_3" />
+<Test name="whole_4" />
+<Test name="low_1" />
+<Test name="low_2" />
+<Test name="low_3" />
+<Test name="high_1" />
+<Test name="high_2" />
+<Test name="high_3" />
+<Test name="middle_1" />
+<Test name="middle_2" />
+<Test name="middle_3" />
 </TestCase>
-<TestCase name="basic">
-<Test name="line_strip_wide" />
-<Test name="line_strip" />
-<Test name="lines_wide" />
-<Test name="lines" />
-<Test name="line_loop" />
-<Test name="triangle_strip" />
-<Test name="triangle_fan" />
-<Test name="line_loop_wide" />
-<Test name="triangles" />
+<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" />
 </TestCase>
 </TestSuite>
-</TestSuite>
-<TestSuite name="instanced">
-<TestSuite name="draw_arrays_instanced">
-<TestCase name="instance_id">
-<Test name="2_instances" />
-<Test name="20_instances" />
-<Test name="4_instances" />
-<Test name="1_instances" />
+<TestSuite name="map">
+<TestSuite name="read">
+<TestCase name="sub_data">
+<Test name="array_full" />
+<Test name="array_partial" />
+<Test name="copy_read_full" />
+<Test name="copy_read_partial" />
+<Test name="copy_write_full" />
+<Test name="copy_write_partial" />
+<Test name="element_array_full" />
+<Test name="element_array_partial" />
+<Test name="pixel_pack_full" />
+<Test name="pixel_pack_partial" />
+<Test name="pixel_unpack_full" />
+<Test name="pixel_unpack_partial" />
+<Test name="transform_feedback_full" />
+<Test name="transform_feedback_partial" />
+<Test name="uniform_full" />
+<Test name="uniform_partial" />
 </TestCase>
-<TestCase name="mixed">
-<Test name="2_instances" />
-<Test name="20_instances" />
-<Test name="4_instances" />
-<Test name="1_instances" />
+<TestCase name="map_write">
+<Test name="array_full" />
+<Test name="array_partial" />
+<Test name="copy_read_full" />
+<Test name="copy_read_partial" />
+<Test name="copy_write_full" />
+<Test name="copy_write_partial" />
+<Test name="element_array_full" />
+<Test name="element_array_partial" />
+<Test name="pixel_pack_full" />
+<Test name="pixel_pack_partial" />
+<Test name="pixel_unpack_full" />
+<Test name="pixel_unpack_partial" />
+<Test name="transform_feedback_full" />
+<Test name="transform_feedback_partial" />
+<Test name="uniform_full" />
+<Test name="uniform_partial" />
 </TestCase>
-<TestCase name="attribute_divisor">
-<Test name="2_instances" />
-<Test name="20_instances" />
-<Test name="4_instances" />
-<Test name="1_instances" />
+<TestCase name="usage_hints">
+<Test name="array_stream_draw" />
+<Test name="array_stream_read" />
+<Test name="array_stream_copy" />
+<Test name="array_static_draw" />
+<Test name="array_static_read" />
+<Test name="array_static_copy" />
+<Test name="array_dynamic_draw" />
+<Test name="array_dynamic_read" />
+<Test name="array_dynamic_copy" />
+<Test name="copy_read_stream_draw" />
+<Test name="copy_read_stream_read" />
+<Test name="copy_read_stream_copy" />
+<Test name="copy_read_static_draw" />
+<Test name="copy_read_static_read" />
+<Test name="copy_read_static_copy" />
+<Test name="copy_read_dynamic_draw" />
+<Test name="copy_read_dynamic_read" />
+<Test name="copy_read_dynamic_copy" />
+<Test name="copy_write_stream_draw" />
+<Test name="copy_write_stream_read" />
+<Test name="copy_write_stream_copy" />
+<Test name="copy_write_static_draw" />
+<Test name="copy_write_static_read" />
+<Test name="copy_write_static_copy" />
+<Test name="copy_write_dynamic_draw" />
+<Test name="copy_write_dynamic_read" />
+<Test name="copy_write_dynamic_copy" />
+<Test name="element_array_stream_draw" />
+<Test name="element_array_stream_read" />
+<Test name="element_array_stream_copy" />
+<Test name="element_array_static_draw" />
+<Test name="element_array_static_read" />
+<Test name="element_array_static_copy" />
+<Test name="element_array_dynamic_draw" />
+<Test name="element_array_dynamic_read" />
+<Test name="element_array_dynamic_copy" />
+<Test name="pixel_pack_stream_draw" />
+<Test name="pixel_pack_stream_read" />
+<Test name="pixel_pack_stream_copy" />
+<Test name="pixel_pack_static_draw" />
+<Test name="pixel_pack_static_read" />
+<Test name="pixel_pack_static_copy" />
+<Test name="pixel_pack_dynamic_draw" />
+<Test name="pixel_pack_dynamic_read" />
+<Test name="pixel_pack_dynamic_copy" />
+<Test name="pixel_unpack_stream_draw" />
+<Test name="pixel_unpack_stream_read" />
+<Test name="pixel_unpack_stream_copy" />
+<Test name="pixel_unpack_static_draw" />
+<Test name="pixel_unpack_static_read" />
+<Test name="pixel_unpack_static_copy" />
+<Test name="pixel_unpack_dynamic_draw" />
+<Test name="pixel_unpack_dynamic_read" />
+<Test name="pixel_unpack_dynamic_copy" />
+<Test name="transform_feedback_stream_draw" />
+<Test name="transform_feedback_stream_read" />
+<Test name="transform_feedback_stream_copy" />
+<Test name="transform_feedback_static_draw" />
+<Test name="transform_feedback_static_read" />
+<Test name="transform_feedback_static_copy" />
+<Test name="transform_feedback_dynamic_draw" />
+<Test name="transform_feedback_dynamic_read" />
+<Test name="transform_feedback_dynamic_copy" />
+<Test name="uniform_stream_draw" />
+<Test name="uniform_stream_read" />
+<Test name="uniform_stream_copy" />
+<Test name="uniform_static_draw" />
+<Test name="uniform_static_read" />
+<Test name="uniform_static_copy" />
+<Test name="uniform_dynamic_draw" />
+<Test name="uniform_dynamic_read" />
+<Test name="uniform_dynamic_copy" />
 </TestCase>
 </TestSuite>
-<TestSuite name="draw_elements_instanced">
-<TestCase name="instance_id">
-<Test name="2_instances" />
-<Test name="20_instances" />
-<Test name="4_instances" />
-<Test name="1_instances" />
-</TestCase>
-<TestCase name="mixed">
-<Test name="2_instances" />
-<Test name="20_instances" />
-<Test name="4_instances" />
-<Test name="1_instances" />
-</TestCase>
-<TestCase name="attribute_divisor">
-<Test name="2_instances" />
-<Test name="20_instances" />
-<Test name="4_instances" />
-<Test name="1_instances" />
+<TestSuite name="write">
+<TestCase name="map_read">
+<Test name="array_full" />
+<Test name="array_partial" />
+<Test name="copy_read_full" />
+<Test name="copy_read_partial" />
+<Test name="copy_write_full" />
+<Test name="copy_write_partial" />
+<Test name="element_array_full" />
+<Test name="element_array_partial" />
+<Test name="pixel_pack_full" />
+<Test name="pixel_pack_partial" />
+<Test name="pixel_unpack_full" />
+<Test name="pixel_unpack_partial" />
+<Test name="transform_feedback_full" />
+<Test name="transform_feedback_partial" />
+<Test name="uniform_full" />
+<Test name="uniform_partial" />
 </TestCase>
-</TestSuite>
-<TestCase name="types">
-<Test name="mat4" />
-<Test name="mat3x4" />
-<Test name="mat2" />
-<Test name="mat3x2" />
-<Test name="int" />
-<Test name="mat4x2" />
-<Test name="float" />
-<Test name="mat2x3" />
-<Test name="mat2x4" />
-<Test name="vec4" />
-<Test name="uint" />
-<Test name="vec3" />
-<Test name="ivec3" />
-<Test name="ivec2" />
-<Test name="vec2" />
-<Test name="uvec4" />
-<Test name="mat4x3" />
-<Test name="uvec2" />
-<Test name="uvec3" />
-<Test name="ivec4" />
-<Test name="mat3" />
+<TestCase name="render_as_vertex_array">
+<Test name="array_full" />
+<Test name="array_partial" />
+<Test name="copy_read_full" />
+<Test name="copy_read_partial" />
+<Test name="copy_write_full" />
+<Test name="copy_write_partial" />
+<Test name="element_array_full" />
+<Test name="element_array_partial" />
+<Test name="pixel_pack_full" />
+<Test name="pixel_pack_partial" />
+<Test name="pixel_unpack_full" />
+<Test name="pixel_unpack_partial" />
+<Test name="transform_feedback_full" />
+<Test name="transform_feedback_partial" />
+<Test name="uniform_full" />
+<Test name="uniform_partial" />
 </TestCase>
-</TestSuite>
-<TestSuite name="fragment_ops">
-<TestCase name="stencil">
-<Test name="cmp_mask_equal" />
-<Test name="decr_stencil_fail" />
-<Test name="incr_stencil_fail" />
-<Test name="cmp_greater_or_equal" />
-<Test name="clear" />
-<Test name="cmp_equal" />
-<Test name="cmp_less_or_equal" />
-<Test name="cmp_less_than" />
-<Test name="cmp_greater_than" />
+<TestCase name="render_as_index_array">
+<Test name="array_full" />
+<Test name="array_partial" />
+<Test name="copy_read_full" />
+<Test name="copy_read_partial" />
+<Test name="copy_write_full" />
+<Test name="copy_write_partial" />
+<Test name="element_array_full" />
+<Test name="element_array_partial" />
+<Test name="pixel_pack_full" />
+<Test name="pixel_pack_partial" />
+<Test name="pixel_unpack_full" />
+<Test name="pixel_unpack_partial" />
+<Test name="transform_feedback_full" />
+<Test name="transform_feedback_partial" />
+<Test name="uniform_full" />
+<Test name="uniform_partial" />
 </TestCase>
-<TestCase name="random">
-<Test name="24" />
-<Test name="25" />
-<Test name="26" />
-<Test name="20" />
-<Test name="21" />
-<Test name="23" />
-<Test name="28" />
-<Test name="29" />
-<Test name="0" />
-<Test name="4" />
-<Test name="8" />
-<Test name="58" />
-<Test name="55" />
-<Test name="54" />
-<Test name="57" />
-<Test name="56" />
-<Test name="51" />
-<Test name="50" />
-<Test name="53" />
-<Test name="52" />
-<Test name="88" />
-<Test name="89" />
-<Test name="82" />
-<Test name="83" />
-<Test name="80" />
-<Test name="81" />
-<Test name="86" />
-<Test name="87" />
-<Test name="84" />
-<Test name="85" />
-<Test name="3" />
-<Test name="7" />
-<Test name="39" />
-<Test name="38" />
-<Test name="33" />
-<Test name="32" />
-<Test name="31" />
-<Test name="30" />
-<Test name="37" />
-<Test name="36" />
-<Test name="35" />
-<Test name="34" />
-<Test name="60" />
-<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="2" />
-<Test name="6" />
-<Test name="99" />
-<Test name="98" />
-<Test name="91" />
-<Test name="90" />
-<Test name="93" />
-<Test name="92" />
-<Test name="95" />
-<Test name="94" />
-<Test name="97" />
-<Test name="96" />
-<Test name="11" />
-<Test name="10" />
-<Test name="13" />
-<Test name="12" />
-<Test name="15" />
-<Test name="14" />
-<Test name="17" />
-<Test name="16" />
-<Test name="18" />
-<Test name="49" />
-<Test name="46" />
-<Test name="47" />
-<Test name="44" />
-<Test name="45" />
-<Test name="42" />
-<Test name="43" />
-<Test name="40" />
-<Test name="41" />
-<Test name="1" />
-<Test name="5" />
-<Test name="9" />
-<Test name="77" />
-<Test name="76" />
-<Test name="75" />
-<Test name="73" />
-<Test name="72" />
-<Test name="71" />
-<Test name="70" />
-<Test name="79" />
-<Test name="78" />
+<TestCase name="usage_hints">
+<Test name="array_stream_draw" />
+<Test name="array_stream_read" />
+<Test name="array_stream_copy" />
+<Test name="array_static_draw" />
+<Test name="array_static_read" />
+<Test name="array_static_copy" />
+<Test name="array_dynamic_draw" />
+<Test name="array_dynamic_read" />
+<Test name="array_dynamic_copy" />
+<Test name="copy_read_stream_draw" />
+<Test name="copy_read_stream_read" />
+<Test name="copy_read_stream_copy" />
+<Test name="copy_read_static_draw" />
+<Test name="copy_read_static_read" />
+<Test name="copy_read_static_copy" />
+<Test name="copy_read_dynamic_draw" />
+<Test name="copy_read_dynamic_read" />
+<Test name="copy_read_dynamic_copy" />
+<Test name="copy_write_stream_draw" />
+<Test name="copy_write_stream_read" />
+<Test name="copy_write_stream_copy" />
+<Test name="copy_write_static_draw" />
+<Test name="copy_write_static_read" />
+<Test name="copy_write_static_copy" />
+<Test name="copy_write_dynamic_draw" />
+<Test name="copy_write_dynamic_read" />
+<Test name="copy_write_dynamic_copy" />
+<Test name="element_array_stream_draw" />
+<Test name="element_array_stream_read" />
+<Test name="element_array_stream_copy" />
+<Test name="element_array_static_draw" />
+<Test name="element_array_static_read" />
+<Test name="element_array_static_copy" />
+<Test name="element_array_dynamic_draw" />
+<Test name="element_array_dynamic_read" />
+<Test name="element_array_dynamic_copy" />
+<Test name="pixel_pack_stream_draw" />
+<Test name="pixel_pack_stream_read" />
+<Test name="pixel_pack_stream_copy" />
+<Test name="pixel_pack_static_draw" />
+<Test name="pixel_pack_static_read" />
+<Test name="pixel_pack_static_copy" />
+<Test name="pixel_pack_dynamic_draw" />
+<Test name="pixel_pack_dynamic_read" />
+<Test name="pixel_pack_dynamic_copy" />
+<Test name="pixel_unpack_stream_draw" />
+<Test name="pixel_unpack_stream_read" />
+<Test name="pixel_unpack_stream_copy" />
+<Test name="pixel_unpack_static_draw" />
+<Test name="pixel_unpack_static_read" />
+<Test name="pixel_unpack_static_copy" />
+<Test name="pixel_unpack_dynamic_draw" />
+<Test name="pixel_unpack_dynamic_read" />
+<Test name="pixel_unpack_dynamic_copy" />
+<Test name="transform_feedback_stream_draw" />
+<Test name="transform_feedback_stream_read" />
+<Test name="transform_feedback_stream_copy" />
+<Test name="transform_feedback_static_draw" />
+<Test name="transform_feedback_static_read" />
+<Test name="transform_feedback_static_copy" />
+<Test name="transform_feedback_dynamic_draw" />
+<Test name="transform_feedback_dynamic_read" />
+<Test name="transform_feedback_dynamic_copy" />
+<Test name="uniform_stream_draw" />
+<Test name="uniform_stream_read" />
+<Test name="uniform_stream_copy" />
+<Test name="uniform_static_draw" />
+<Test name="uniform_static_read" />
+<Test name="uniform_static_copy" />
+<Test name="uniform_dynamic_draw" />
+<Test name="uniform_dynamic_read" />
+<Test name="uniform_dynamic_copy" />
 </TestCase>
-<TestCase name="scissor">
-<Test name="clear_int_buffer" />
-<Test name="outside_point" />
-<Test name="partial_tri" />
-<Test name="partial_lines" />
-<Test name="contained_line" />
-<Test name="clear_depth_stencil_buffer" />
-<Test name="clear_stencil_buffer" />
-<Test name="clear_depth_buffer" />
-<Test name="clear_uint_buffer" />
-<Test name="partial_quads" />
-<Test name="partial_line" />
-<Test name="outside_render_line" />
-<Test name="clear_color" />
-<Test name="contained_point" />
-<Test name="enclosing_tri" />
-<Test name="clear_stencil" />
-<Test name="contained_quads" />
-<Test name="partial_points" />
-<Test name="outside_render_tri" />
-<Test name="clear_fixed_buffer" />
-<Test name="clear_depth" />
-<Test name="outside_render_point" />
-<Test name="contained_tri" />
+<TestCase name="invalidate">
+<Test name="array_write_all" />
+<Test name="array_write_partial" />
+<Test name="copy_read_write_all" />
+<Test name="copy_read_write_partial" />
+<Test name="copy_write_write_all" />
+<Test name="copy_write_write_partial" />
+<Test name="element_array_write_all" />
+<Test name="element_array_write_partial" />
+<Test name="pixel_pack_write_all" />
+<Test name="pixel_pack_write_partial" />
+<Test name="pixel_unpack_write_all" />
+<Test name="pixel_unpack_write_partial" />
+<Test name="transform_feedback_write_all" />
+<Test name="transform_feedback_write_partial" />
+<Test name="uniform_write_all" />
+<Test name="uniform_write_partial" />
 </TestCase>
-<TestCase name="depth">
-<Test name="cmp_never" />
-<Test name="cmp_greater_or_equal" />
-<Test name="cmp_always" />
-<Test name="cmp_equal" />
-<Test name="cmp_less_or_equal" />
-<Test name="cmp_not_equal" />
-<Test name="cmp_less_than" />
-<Test name="cmp_greater_than" />
+<TestCase name="partial_invalidate">
+<Test name="array_write_all" />
+<Test name="array_write_partial" />
+<Test name="copy_read_write_all" />
+<Test name="copy_read_write_partial" />
+<Test name="copy_write_write_all" />
+<Test name="copy_write_write_partial" />
+<Test name="element_array_write_all" />
+<Test name="element_array_write_partial" />
+<Test name="pixel_pack_write_all" />
+<Test name="pixel_pack_write_partial" />
+<Test name="pixel_unpack_write_all" />
+<Test name="pixel_unpack_write_partial" />
+<Test name="transform_feedback_write_all" />
+<Test name="transform_feedback_write_partial" />
+<Test name="uniform_write_all" />
+<Test name="uniform_write_partial" />
 </TestCase>
-<TestSuite name="interaction">
-<TestCase name="basic_shader">
-<Test name="24" />
-<Test name="26" />
-<Test name="21" />
-<Test name="22" />
-<Test name="23" />
-<Test name="28" />
-<Test name="29" />
-<Test name="0" />
-<Test name="4" />
-<Test name="8" />
-<Test name="59" />
-<Test name="58" />
-<Test name="55" />
-<Test name="57" />
-<Test name="56" />
-<Test name="51" />
-<Test name="50" />
-<Test name="53" />
-<Test name="52" />
-<Test name="88" />
-<Test name="89" />
-<Test name="83" />
-<Test name="81" />
-<Test name="86" />
-<Test name="87" />
-<Test name="85" />
-<Test name="3" />
-<Test name="39" />
-<Test name="38" />
-<Test name="33" />
-<Test name="32" />
-<Test name="31" />
-<Test name="30" />
-<Test name="37" />
-<Test name="36" />
-<Test name="35" />
-<Test name="34" />
-<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="2" />
-<Test name="6" />
-<Test name="99" />
-<Test name="98" />
-<Test name="91" />
-<Test name="90" />
-<Test name="93" />
-<Test name="92" />
-<Test name="95" />
-<Test name="94" />
-<Test name="97" />
-<Test name="96" />
-<Test name="11" />
-<Test name="10" />
-<Test name="13" />
-<Test name="12" />
-<Test name="15" />
-<Test name="14" />
-<Test name="17" />
-<Test name="16" />
-<Test name="19" />
-<Test name="18" />
-<Test name="48" />
-<Test name="49" />
-<Test name="46" />
-<Test name="47" />
-<Test name="45" />
-<Test name="42" />
-<Test name="43" />
-<Test name="41" />
-<Test name="1" />
-<Test name="5" />
-<Test name="9" />
-<Test name="77" />
-<Test name="76" />
-<Test name="75" />
-<Test name="74" />
-<Test name="72" />
-<Test name="71" />
-<Test name="70" />
-<Test name="79" />
+<TestCase name="explicit_flush">
+<Test name="array_all" />
+<Test name="array_partial" />
+<Test name="copy_read_all" />
+<Test name="copy_read_partial" />
+<Test name="copy_write_all" />
+<Test name="copy_write_partial" />
+<Test name="element_array_all" />
+<Test name="element_array_partial" />
+<Test name="pixel_pack_all" />
+<Test name="pixel_pack_partial" />
+<Test name="pixel_unpack_all" />
+<Test name="pixel_unpack_partial" />
+<Test name="transform_feedback_all" />
+<Test name="transform_feedback_partial" />
+<Test name="uniform_all" />
+<Test name="uniform_partial" />
+</TestCase>
+<TestCase name="unsynchronized">
+<Test name="array" />
+<Test name="copy_read" />
+<Test name="copy_write" />
+<Test name="element_array" />
+<Test name="pixel_pack" />
+<Test name="pixel_unpack" />
+<Test name="transform_feedback" />
+<Test name="uniform" />
 </TestCase>
 </TestSuite>
-<TestSuite name="depth_stencil">
-<TestCase name="stencil_depth_funcs">
-<Test name="stencil_never_no_depth" />
-<Test name="stencil_gequal_depth_gequal" />
-<Test name="stencil_equal_depth_greater" />
-<Test name="stencil_less_depth_notequal" />
-<Test name="stencil_never_depth_lequal" />
-<Test name="no_stencil_depth_always" />
-<Test name="stencil_notequal_depth_always" />
-<Test name="stencil_lequal_depth_equal" />
-<Test name="stencil_gequal_depth_notequal" />
-<Test name="stencil_lequal_depth_never" />
-<Test name="stencil_greater_depth_never" />
-<Test name="stencil_equal_depth_gequal" />
-<Test name="stencil_notequal_no_depth" />
-<Test name="stencil_equal_no_depth" />
-<Test name="stencil_less_depth_greater" />
-<Test name="stencil_always_depth_lequal" />
-<Test name="stencil_less_depth_equal" />
-<Test name="stencil_gequal_depth_never" />
-<Test name="no_stencil_depth_equal" />
-<Test name="stencil_always_depth_greater" />
-<Test name="stencil_always_depth_always" />
-<Test name="stencil_lequal_depth_less" />
-<Test name="no_stencil_depth_never" />
-<Test name="stencil_less_depth_never" />
-<Test name="stencil_greater_depth_always" />
-<Test name="stencil_never_depth_gequal" />
-<Test name="stencil_lequal_depth_always" />
-<Test name="stencil_greater_no_depth" />
-<Test name="stencil_lequal_depth_lequal" />
-<Test name="stencil_gequal_depth_less" />
-<Test name="stencil_never_depth_less" />
-<Test name="stencil_always_depth_less" />
-<Test name="stencil_always_depth_notequal" />
-<Test name="stencil_never_depth_equal" />
-<Test name="no_stencil_depth_less" />
-<Test name="stencil_greater_depth_gequal" />
-<Test name="stencil_less_depth_always" />
-<Test name="stencil_always_depth_gequal" />
-<Test name="stencil_never_depth_notequal" />
-<Test name="stencil_never_depth_greater" />
-<Test name="stencil_always_no_depth" />
-<Test name="stencil_greater_depth_lequal" />
-<Test name="stencil_notequal_depth_equal" />
-<Test name="stencil_lequal_depth_greater" />
-<Test name="stencil_greater_depth_equal" />
-<Test name="stencil_notequal_depth_greater" />
-<Test name="stencil_lequal_depth_gequal" />
-<Test name="stencil_greater_depth_less" />
-<Test name="stencil_gequal_no_depth" />
-<Test name="no_stencil_no_depth" />
-<Test name="stencil_lequal_no_depth" />
-<Test name="stencil_never_depth_never" />
-<Test name="stencil_equal_depth_lequal" />
-<Test name="stencil_equal_depth_equal" />
-<Test name="stencil_always_depth_never" />
-<Test name="stencil_equal_depth_always" />
-<Test name="stencil_gequal_depth_greater" />
-<Test name="stencil_gequal_depth_lequal" />
-<Test name="stencil_notequal_depth_lequal" />
-<Test name="no_stencil_depth_greater" />
-<Test name="stencil_less_no_depth" />
-<Test name="stencil_notequal_depth_less" />
-<Test name="stencil_less_depth_lequal" />
-<Test name="stencil_less_depth_gequal" />
-<Test name="stencil_equal_depth_less" />
-<Test name="stencil_lequal_depth_notequal" />
-<Test name="stencil_notequal_depth_never" />
-<Test name="no_stencil_depth_notequal" />
-<Test name="stencil_never_depth_always" />
-<Test name="stencil_equal_depth_never" />
-<Test name="stencil_notequal_depth_gequal" />
-<Test name="stencil_gequal_depth_always" />
-<Test name="stencil_less_depth_less" />
-<Test name="stencil_notequal_depth_notequal" />
-<Test name="no_stencil_depth_gequal" />
-<Test name="stencil_gequal_depth_equal" />
-<Test name="no_stencil_depth_lequal" />
-<Test name="stencil_equal_depth_notequal" />
-<Test name="stencil_greater_depth_greater" />
-<Test name="stencil_always_depth_equal" />
-<Test name="stencil_greater_depth_notequal" />
+<TestSuite name="read_write">
+<TestCase name="map_read">
+<Test name="array_full" />
+<Test name="array_partial" />
+<Test name="copy_read_full" />
+<Test name="copy_read_partial" />
+<Test name="copy_write_full" />
+<Test name="copy_write_partial" />
+<Test name="element_array_full" />
+<Test name="element_array_partial" />
+<Test name="pixel_pack_full" />
+<Test name="pixel_pack_partial" />
+<Test name="pixel_unpack_full" />
+<Test name="pixel_unpack_partial" />
+<Test name="transform_feedback_full" />
+<Test name="transform_feedback_partial" />
+<Test name="uniform_full" />
+<Test name="uniform_partial" />
 </TestCase>
-<TestCase name="write_mask">
-<Test name="both" />
-<Test name="depth" />
-<Test name="stencil" />
+<TestCase name="render_as_vertex_array">
+<Test name="array_full" />
+<Test name="array_partial" />
+<Test name="copy_read_full" />
+<Test name="copy_read_partial" />
+<Test name="copy_write_full" />
+<Test name="copy_write_partial" />
+<Test name="element_array_full" />
+<Test name="element_array_partial" />
+<Test name="pixel_pack_full" />
+<Test name="pixel_pack_partial" />
+<Test name="pixel_unpack_full" />
+<Test name="pixel_unpack_partial" />
+<Test name="transform_feedback_full" />
+<Test name="transform_feedback_partial" />
+<Test name="uniform_full" />
+<Test name="uniform_partial" />
 </TestCase>
-<TestCase name="random">
-<Test name="10" />
-<Test name="13" />
-<Test name="12" />
-<Test name="15" />
-<Test name="21" />
-<Test name="22" />
-<Test name="23" />
-<Test name="19" />
-<Test name="18" />
-<Test name="16" />
-<Test name="1" />
-<Test name="0" />
-<Test name="3" />
-<Test name="2" />
-<Test name="4" />
-<Test name="7" />
-<Test name="6" />
-<Test name="9" />
-<Test name="8" />
-<Test name="17" />
-<Test name="14" />
+<TestCase name="render_as_index_array">
+<Test name="array_full" />
+<Test name="array_partial" />
+<Test name="copy_read_full" />
+<Test name="copy_read_partial" />
+<Test name="copy_write_full" />
+<Test name="copy_write_partial" />
+<Test name="element_array_full" />
+<Test name="element_array_partial" />
+<Test name="pixel_pack_full" />
+<Test name="pixel_pack_partial" />
+<Test name="pixel_unpack_full" />
+<Test name="pixel_unpack_partial" />
+<Test name="transform_feedback_full" />
+<Test name="transform_feedback_partial" />
+<Test name="uniform_full" />
+<Test name="uniform_partial" />
 </TestCase>
-<TestCase name="stencil_ops">
-<Test name="decr_incr_wrap_decr_wrap" />
-<Test name="incr_wrap_keep_incr" />
-<Test name="keep_replace_decr_wrap" />
-<Test name="decr_incr_wrap_incr" />
-<Test name="zero_replace_zero" />
-<Test name="decr_wrap_zero_decr_wrap" />
-<Test name="keep_incr_keep" />
-<Test name="invert_decr_incr_wrap" />
-<Test name="incr_keep_decr_wrap" />
-<Test name="invert_decr_decr_wrap" />
-<Test name="zero_decr_wrap_zero" />
-<Test name="invert_replace_invert" />
-<Test name="incr_wrap_replace_decr_wrap" />
-<Test name="replace_incr_replace" />
-<Test name="incr_wrap_incr_replace" />
-<Test name="keep_zero_incr" />
-<Test name="replace_replace_invert" />
-<Test name="incr_wrap_decr_wrap_replace" />
-<Test name="zero_incr_zero" />
-<Test name="zero_invert_keep" />
-<Test name="zero_incr_wrap_decr" />
-<Test name="keep_keep_keep" />
-<Test name="decr_decr_decr" />
-<Test name="decr_invert_replace" />
-<Test name="incr_keep_invert" />
-<Test name="incr_decr_wrap_decr_wrap" />
-<Test name="replace_zero_zero" />
-<Test name="incr_decr_decr" />
-<Test name="incr_incr_wrap_incr" />
-<Test name="invert_decr_wrap_decr" />
-<Test name="incr_decr_wrap_incr" />
-<Test name="decr_replace_decr_wrap" />
-<Test name="replace_replace_incr_wrap" />
-<Test name="zero_incr_keep" />
-<Test name="invert_keep_invert" />
-<Test name="incr_decr_wrap_invert" />
-<Test name="replace_incr_wrap_zero" />
-<Test name="incr_wrap_zero_decr" />
-<Test name="decr_invert_incr" />
-<Test name="invert_zero_keep" />
-<Test name="keep_incr_wrap_incr" />
-<Test name="incr_incr_wrap_decr" />
-<Test name="zero_keep_replace" />
-<Test name="replace_decr_decr" />
-<Test name="incr_decr_wrap_decr" />
-<Test name="keep_replace_invert" />
-<Test name="decr_wrap_zero_invert" />
-<Test name="zero_incr_wrap_replace" />
-<Test name="decr_wrap_invert_keep" />
-<Test name="zero_decr_wrap_decr_wrap" />
-<Test name="incr_wrap_replace_incr" />
-<Test name="decr_keep_incr" />
-<Test name="incr_wrap_replace_replace" />
-<Test name="decr_incr_wrap_decr" />
-<Test name="keep_decr_zero" />
-<Test name="incr_incr_decr" />
-<Test name="invert_keep_incr_wrap" />
-<Test name="keep_incr_decr" />
-<Test name="incr_decr_wrap_zero" />
-<Test name="decr_zero_zero" />
-<Test name="replace_decr_wrap_invert" />
-<Test name="replace_decr_wrap_zero" />
-<Test name="replace_replace_replace" />
-<Test name="decr_zero_incr_wrap" />
-<Test name="invert_invert_keep" />
-<Test name="keep_decr_wrap_decr_wrap" />
-<Test name="incr_replace_keep" />
-<Test name="keep_incr_wrap_decr_wrap" />
-<Test name="zero_zero_zero" />
-<Test name="decr_invert_decr_wrap" />
-<Test name="replace_incr_incr_wrap" />
-<Test name="incr_wrap_replace_incr_wrap" />
-<Test name="decr_wrap_replace_invert" />
-<Test name="keep_invert_incr_wrap" />
-<Test name="keep_decr_wrap_decr" />
-<Test name="decr_invert_invert" />
-<Test name="decr_wrap_zero_keep" />
-<Test name="keep_replace_keep" />
-<Test name="zero_zero_incr_wrap" />
-<Test name="decr_wrap_replace_decr_wrap" />
-<Test name="incr_wrap_decr_wrap_incr" />
-<Test name="zero_zero_invert" />
-<Test name="zero_incr_wrap_decr_wrap" />
-<Test name="decr_wrap_invert_replace" />
-<Test name="incr_wrap_keep_incr_wrap" />
-<Test name="decr_replace_incr_wrap" />
-<Test name="zero_invert_invert" />
-<Test name="zero_decr_incr" />
-<Test name="invert_invert_incr_wrap" />
-<Test name="replace_invert_keep" />
-<Test name="zero_replace_decr" />
-<Test name="replace_keep_zero" />
-<Test name="incr_incr_incr" />
-<Test name="invert_decr_zero" />
-<Test name="decr_decr_wrap_replace" />
-<Test name="replace_keep_decr" />
-<Test name="replace_incr_wrap_decr" />
-<Test name="invert_zero_decr_wrap" />
-<Test name="zero_decr_wrap_replace" />
-<Test name="replace_incr_wrap_decr_wrap" />
-<Test name="decr_wrap_incr_wrap_zero" />
-<Test name="replace_invert_replace" />
-<Test name="incr_wrap_keep_keep" />
-<Test name="replace_incr_zero" />
-<Test name="zero_replace_incr_wrap" />
-<Test name="decr_wrap_incr_decr_wrap" />
-<Test name="zero_replace_invert" />
-<Test name="incr_wrap_incr_wrap_incr_wrap" />
-<Test name="keep_incr_decr_wrap" />
-<Test name="incr_wrap_incr_wrap_decr_wrap" />
-<Test name="decr_decr_incr" />
-<Test name="incr_incr_wrap_zero" />
-<Test name="incr_invert_decr" />
-<Test name="decr_replace_invert" />
-<Test name="replace_incr_wrap_incr_wrap" />
-<Test name="decr_wrap_decr_wrap_incr" />
-<Test name="zero_replace_decr_wrap" />
-<Test name="decr_wrap_keep_zero" />
-<Test name="invert_decr_wrap_keep" />
-<Test name="incr_zero_zero" />
-<Test name="decr_wrap_incr_wrap_keep" />
-<Test name="zero_keep_zero" />
-<Test name="incr_zero_incr_wrap" />
-<Test name="incr_wrap_decr_wrap_decr_wrap" />
-<Test name="keep_incr_wrap_incr_wrap" />
-<Test name="zero_incr_wrap_invert" />
-<Test name="decr_incr_wrap_invert" />
-<Test name="decr_keep_decr" />
-<Test name="incr_wrap_zero_invert" />
-<Test name="keep_decr_invert" />
-<Test name="replace_zero_decr_wrap" />
-<Test name="zero_zero_incr" />
-<Test name="invert_decr_decr" />
-<Test name="incr_wrap_incr_wrap_zero" />
-<Test name="zero_decr_keep" />
-<Test name="invert_incr_replace" />
-<Test name="incr_decr_keep" />
-<Test name="decr_wrap_zero_incr" />
-<Test name="keep_replace_incr" />
-<Test name="invert_decr_wrap_incr_wrap" />
-<Test name="replace_decr_incr" />
-<Test name="decr_wrap_incr_keep" />
-<Test name="incr_wrap_replace_zero" />
-<Test name="decr_zero_decr_wrap" />
-<Test name="invert_incr_zero" />
-<Test name="incr_zero_keep" />
-<Test name="replace_invert_incr_wrap" />
-<Test name="zero_invert_decr_wrap" />
-<Test name="invert_incr_wrap_decr_wrap" />
-<Test name="incr_zero_decr" />
-<Test name="incr_decr_invert" />
-<Test name="decr_wrap_replace_zero" />
-<Test name="invert_incr_wrap_zero" />
-<Test name="keep_zero_incr_wrap" />
-<Test name="incr_replace_invert" />
-<Test name="incr_zero_decr_wrap" />
-<Test name="invert_decr_wrap_decr_wrap" />
-<Test name="decr_decr_decr_wrap" />
-<Test name="decr_replace_decr" />
-<Test name="incr_wrap_incr_wrap_decr" />
-<Test name="keep_incr_invert" />
-<Test name="keep_invert_replace" />
-<Test name="zero_invert_zero" />
-<Test name="zero_replace_incr" />
-<Test name="replace_incr_decr_wrap" />
-<Test name="zero_incr_invert" />
-<Test name="decr_incr_wrap_zero" />
-<Test name="replace_replace_zero" />
-<Test name="replace_zero_decr" />
-<Test name="incr_keep_decr" />
-<Test name="keep_decr_incr_wrap" />
-<Test name="keep_incr_wrap_replace" />
-<Test name="invert_replace_incr" />
-<Test name="replace_keep_decr_wrap" />
-<Test name="replace_keep_keep" />
-<Test name="keep_decr_wrap_keep" />
-<Test name="decr_incr_wrap_replace" />
-<Test name="incr_wrap_decr_wrap_decr" />
-<Test name="keep_decr_incr" />
-<Test name="replace_incr_invert" />
-<Test name="invert_incr_incr_wrap" />
-<Test name="keep_decr_wrap_incr" />
-<Test name="decr_zero_decr" />
-<Test name="replace_zero_incr_wrap" />
-<Test name="zero_incr_incr" />
-<Test name="incr_wrap_incr_decr_wrap" />
-<Test name="invert_replace_keep" />
-<Test name="incr_wrap_decr_replace" />
-<Test name="invert_invert_invert" />
-<Test name="keep_incr_wrap_keep" />
-<Test name="incr_wrap_zero_replace" />
-<Test name="replace_decr_wrap_decr" />
-<Test name="replace_invert_invert" />
-<Test name="invert_invert_decr_wrap" />
-<Test name="incr_invert_invert" />
-<Test name="incr_wrap_invert_keep" />
-<Test name="decr_replace_incr" />
-<Test name="invert_keep_incr" />
-<Test name="invert_zero_decr" />
-<Test name="incr_incr_wrap_decr_wrap" />
-<Test name="replace_incr_wrap_keep" />
-<Test name="decr_decr_keep" />
-<Test name="incr_wrap_incr_incr" />
-<Test name="decr_keep_zero" />
-<Test name="incr_zero_replace" />
-<Test name="decr_wrap_incr_wrap_incr" />
-<Test name="invert_incr_keep" />
-<Test name="keep_incr_wrap_invert" />
-<Test name="incr_keep_zero" />
-<Test name="zero_zero_keep" />
-<Test name="decr_keep_decr_wrap" />
-<Test name="zero_decr_invert" />
-<Test name="decr_decr_wrap_zero" />
-<Test name="incr_wrap_zero_decr_wrap" />
-<Test name="incr_wrap_invert_incr_wrap" />
-<Test name="keep_zero_zero" />
-<Test name="incr_wrap_invert_decr" />
-<Test name="zero_decr_wrap_decr" />
-<Test name="incr_wrap_incr_incr_wrap" />
-<Test name="decr_wrap_decr_wrap_keep" />
-<Test name="replace_decr_wrap_keep" />
-<Test name="incr_wrap_keep_invert" />
-<Test name="decr_wrap_keep_replace" />
-<Test name="replace_keep_incr_wrap" />
-<Test name="zero_keep_decr" />
-<Test name="zero_zero_decr" />
-<Test name="incr_wrap_incr_keep" />
-<Test name="zero_decr_decr" />
-<Test name="decr_wrap_invert_zero" />
-<Test name="invert_decr_wrap_incr" />
-<Test name="replace_decr_invert" />
-<Test name="keep_decr_decr_wrap" />
-<Test name="decr_incr_decr_wrap" />
-<Test name="decr_decr_wrap_keep" />
-<Test name="invert_decr_wrap_invert" />
-<Test name="incr_wrap_decr_wrap_invert" />
-<Test name="decr_wrap_keep_decr_wrap" />
-<Test name="incr_decr_wrap_incr_wrap" />
-<Test name="replace_invert_decr" />
-<Test name="replace_decr_wrap_decr_wrap" />
-<Test name="decr_wrap_incr_invert" />
-<Test name="zero_keep_keep" />
-<Test name="keep_invert_keep" />
-<Test name="invert_keep_zero" />
-<Test name="zero_zero_decr_wrap" />
-<Test name="incr_incr_decr_wrap" />
-<Test name="replace_decr_decr_wrap" />
-<Test name="decr_incr_invert" />
-<Test name="incr_wrap_keep_decr_wrap" />
-<Test name="incr_invert_replace" />
-<Test name="incr_wrap_keep_replace" />
-<Test name="incr_incr_keep" />
-<Test name="zero_invert_incr_wrap" />
-<Test name="keep_decr_decr" />
-<Test name="invert_invert_replace" />
-<Test name="keep_keep_zero" />
-<Test name="replace_zero_incr" />
-<Test name="decr_wrap_keep_keep" />
-<Test name="keep_invert_zero" />
-<Test name="incr_wrap_decr_keep" />
-<Test name="incr_wrap_incr_wrap_invert" />
-<Test name="decr_wrap_zero_zero" />
-<Test name="keep_replace_zero" />
-<Test name="zero_incr_replace" />
-<Test name="incr_incr_invert" />
-<Test name="keep_zero_invert" />
-<Test name="decr_zero_keep" />
-<Test name="zero_incr_incr_wrap" />
-<Test name="incr_keep_incr_wrap" />
-<Test name="decr_keep_incr_wrap" />
-<Test name="invert_zero_incr" />
-<Test name="decr_wrap_incr_incr" />
-<Test name="keep_incr_wrap_zero" />
-<Test name="keep_zero_keep" />
-<Test name="incr_incr_wrap_invert" />
-<Test name="zero_incr_decr_wrap" />
-<Test name="decr_wrap_incr_zero" />
-<Test name="incr_zero_incr" />
-<Test name="incr_replace_zero" />
-<Test name="decr_incr_keep" />
-<Test name="decr_wrap_incr_wrap_incr_wrap" />
-<Test name="keep_invert_invert" />
-<Test name="replace_invert_zero" />
-<Test name="decr_wrap_decr_keep" />
-<Test name="decr_decr_replace" />
-<Test name="decr_wrap_keep_incr" />
-<Test name="keep_keep_incr" />
-<Test name="replace_zero_replace" />
-<Test name="decr_wrap_replace_keep" />
-<Test name="invert_invert_zero" />
-<Test name="decr_wrap_invert_decr_wrap" />
-<Test name="decr_wrap_zero_decr" />
-<Test name="keep_replace_decr" />
-<Test name="keep_decr_wrap_incr_wrap" />
-<Test name="decr_incr_zero" />
-<Test name="replace_incr_wrap_incr" />
-<Test name="incr_wrap_zero_incr" />
-<Test name="decr_wrap_incr_wrap_decr" />
-<Test name="replace_keep_incr" />
-<Test name="incr_incr_incr_wrap" />
-<Test name="decr_wrap_replace_incr_wrap" />
-<Test name="keep_incr_zero" />
-<Test name="zero_decr_replace" />
-<Test name="zero_decr_wrap_incr" />
-<Test name="incr_replace_replace" />
-<Test name="decr_wrap_incr_replace" />
-<Test name="replace_incr_keep" />
-<Test name="replace_invert_decr_wrap" />
-<Test name="replace_replace_keep" />
-<Test name="incr_decr_incr_wrap" />
-<Test name="decr_wrap_decr_incr_wrap" />
-<Test name="invert_incr_decr" />
-<Test name="keep_decr_wrap_invert" />
-<Test name="decr_wrap_incr_decr" />
-<Test name="decr_incr_incr_wrap" />
-<Test name="decr_decr_wrap_incr_wrap" />
-<Test name="keep_incr_incr" />
-<Test name="incr_replace_decr" />
-<Test name="zero_decr_decr_wrap" />
-<Test name="invert_keep_decr_wrap" />
-<Test name="incr_decr_incr" />
-<Test name="invert_decr_wrap_replace" />
-<Test name="incr_incr_zero" />
-<Test name="decr_wrap_decr_wrap_invert" />
-<Test name="incr_decr_decr_wrap" />
-<Test name="invert_incr_incr" />
-<Test name="decr_zero_incr" />
-<Test name="incr_invert_zero" />
-<Test name="incr_decr_replace" />
-<Test name="incr_decr_wrap_replace" />
-<Test name="incr_wrap_zero_keep" />
-<Test name="replace_replace_decr" />
-<Test name="keep_zero_decr_wrap" />
-<Test name="incr_wrap_invert_replace" />
-<Test name="incr_wrap_incr_zero" />
-<Test name="decr_invert_zero" />
-<Test name="incr_invert_keep" />
-<Test name="decr_wrap_keep_invert" />
-<Test name="decr_replace_keep" />
-<Test name="decr_keep_keep" />
-<Test name="decr_wrap_invert_invert" />
-<Test name="decr_wrap_invert_incr" />
-<Test name="zero_incr_wrap_keep" />
-<Test name="zero_invert_decr" />
-<Test name="decr_wrap_invert_incr_wrap" />
-<Test name="incr_decr_zero" />
-<Test name="replace_zero_keep" />
-<Test name="decr_decr_wrap_decr" />
-<Test name="decr_wrap_decr_replace" />
-<Test name="incr_wrap_zero_incr_wrap" />
-<Test name="incr_wrap_zero_zero" />
-<Test name="incr_invert_incr" />
-<Test name="replace_decr_keep" />
-<Test name="incr_incr_replace" />
-<Test name="zero_decr_incr_wrap" />
-<Test name="invert_replace_decr_wrap" />
-<Test name="replace_zero_invert" />
-<Test name="invert_replace_incr_wrap" />
-<Test name="replace_replace_incr" />
-<Test name="incr_keep_keep" />
-<Test name="keep_incr_replace" />
-<Test name="zero_decr_wrap_keep" />
-<Test name="replace_decr_wrap_incr" />
-<Test name="invert_incr_decr_wrap" />
-<Test name="decr_wrap_incr_wrap_invert" />
-<Test name="incr_incr_wrap_incr_wrap" />
-<Test name="decr_wrap_keep_decr" />
-<Test name="decr_decr_incr_wrap" />
-<Test name="incr_incr_wrap_keep" />
-<Test name="incr_wrap_decr_invert" />
-<Test name="decr_decr_wrap_incr" />
-<Test name="keep_keep_replace" />
-<Test name="invert_incr_invert" />
-<Test name="incr_wrap_decr_incr_wrap" />
-<Test name="keep_keep_decr" />
-<Test name="invert_replace_zero" />
-<Test name="decr_wrap_replace_incr" />
-<Test name="decr_wrap_decr_wrap_decr" />
-<Test name="keep_keep_decr_wrap" />
-<Test name="incr_wrap_replace_decr" />
-<Test name="decr_wrap_decr_invert" />
-<Test name="incr_wrap_keep_zero" />
-<Test name="replace_incr_wrap_replace" />
-<Test name="decr_invert_incr_wrap" />
-<Test name="zero_decr_wrap_incr_wrap" />
-<Test name="incr_wrap_incr_invert" />
-<Test name="replace_incr_decr" />
-<Test name="decr_zero_replace" />
-<Test name="invert_decr_wrap_zero" />
-<Test name="decr_replace_replace" />
-<Test name="decr_wrap_decr_wrap_replace" />
-<Test name="invert_decr_incr" />
-<Test name="invert_decr_keep" />
-<Test name="keep_replace_incr_wrap" />
-<Test name="decr_wrap_decr_decr_wrap" />
-<Test name="decr_wrap_zero_incr_wrap" />
-<Test name="invert_invert_incr" />
-<Test name="decr_wrap_incr_wrap_replace" />
-<Test name="incr_wrap_decr_incr" />
-<Test name="incr_decr_wrap_keep" />
-<Test name="invert_incr_wrap_decr" />
-<Test name="zero_keep_decr_wrap" />
-<Test name="decr_incr_wrap_incr_wrap" />
-<Test name="zero_keep_invert" />
-<Test name="keep_decr_replace" />
-<Test name="replace_decr_zero" />
-<Test name="incr_wrap_decr_zero" />
-<Test name="decr_wrap_replace_decr" />
-<Test name="incr_wrap_decr_wrap_incr_wrap" />
-<Test name="decr_decr_invert" />
-<Test name="invert_replace_decr" />
-<Test name="incr_invert_decr_wrap" />
-<Test name="invert_incr_wrap_keep" />
-<Test name="decr_incr_decr" />
-<Test name="replace_decr_incr_wrap" />
-<Test name="invert_incr_wrap_incr" />
-<Test name="invert_decr_replace" />
-<Test name="replace_decr_replace" />
-<Test name="incr_replace_decr_wrap" />
-<Test name="decr_zero_invert" />
-<Test name="incr_wrap_invert_incr" />
-<Test name="invert_zero_zero" />
-<Test name="zero_decr_zero" />
-<Test name="decr_wrap_decr_wrap_decr_wrap" />
-<Test name="invert_invert_decr" />
-<Test name="zero_invert_replace" />
-<Test name="decr_decr_wrap_invert" />
-<Test name="keep_invert_decr" />
-<Test name="incr_wrap_incr_wrap_incr" />
-<Test name="zero_replace_replace" />
-<Test name="incr_wrap_keep_decr" />
-<Test name="decr_keep_invert" />
-<Test name="decr_wrap_decr_zero" />
-<Test name="decr_incr_replace" />
-<Test name="decr_replace_zero" />
-<Test name="zero_invert_incr" />
-<Test name="decr_wrap_zero_replace" />
-<Test name="decr_decr_wrap_decr_wrap" />
-<Test name="keep_replace_replace" />
-<Test name="decr_invert_keep" />
-<Test name="decr_wrap_decr_wrap_incr_wrap" />
-<Test name="keep_invert_decr_wrap" />
-<Test name="decr_wrap_decr_incr" />
-<Test name="incr_wrap_incr_wrap_keep" />
-<Test name="invert_keep_replace" />
-<Test name="keep_zero_replace" />
-<Test name="keep_keep_invert" />
-<Test name="zero_replace_keep" />
-<Test name="incr_wrap_decr_decr" />
-<Test name="replace_incr_wrap_invert" />
-<Test name="keep_decr_keep" />
-<Test name="invert_zero_replace" />
-<Test name="incr_wrap_replace_keep" />
-<Test name="replace_keep_replace" />
-<Test name="keep_decr_wrap_zero" />
-<Test name="keep_zero_decr" />
-<Test name="replace_decr_wrap_replace" />
-<Test name="zero_incr_decr" />
-<Test name="decr_wrap_decr_decr" />
-<Test name="decr_invert_decr" />
-<Test name="replace_incr_incr" />
-<Test name="decr_keep_replace" />
-<Test name="incr_wrap_incr_decr" />
-<Test name="zero_zero_replace" />
-<Test name="incr_wrap_invert_zero" />
-<Test name="replace_replace_decr_wrap" />
-<Test name="incr_incr_wrap_replace" />
-<Test name="decr_wrap_decr_wrap_zero" />
-<Test name="decr_incr_wrap_keep" />
-<Test name="incr_replace_incr" />
-<Test name="decr_decr_zero" />
-<Test name="replace_keep_invert" />
-<Test name="decr_wrap_keep_incr_wrap" />
-<Test name="decr_wrap_invert_decr" />
-<Test name="decr_wrap_replace_replace" />
-<Test name="incr_wrap_decr_wrap_zero" />
-<Test name="invert_keep_keep" />
-<Test name="invert_incr_wrap_replace" />
-<Test name="keep_keep_incr_wrap" />
-<Test name="incr_invert_incr_wrap" />
-<Test name="invert_incr_wrap_incr_wrap" />
-<Test name="incr_wrap_decr_decr_wrap" />
-<Test name="incr_zero_invert" />
-<Test name="incr_wrap_invert_decr_wrap" />
-<Test name="invert_decr_invert" />
-<Test name="replace_decr_wrap_incr_wrap" />
-<Test name="keep_invert_incr" />
-<Test name="zero_incr_wrap_zero" />
-<Test name="incr_wrap_incr_wrap_replace" />
-<Test name="incr_keep_replace" />
-<Test name="invert_zero_invert" />
-<Test name="incr_wrap_decr_wrap_keep" />
-<Test name="decr_wrap_incr_wrap_decr_wrap" />
-<Test name="zero_incr_wrap_incr" />
-<Test name="keep_decr_wrap_replace" />
-<Test name="decr_wrap_incr_incr_wrap" />
-<Test name="replace_invert_incr" />
-<Test name="invert_keep_decr" />
-<Test name="incr_replace_incr_wrap" />
-<Test name="zero_keep_incr" />
-<Test name="decr_incr_incr" />
-<Test name="keep_incr_wrap_decr" />
-<Test name="zero_decr_wrap_invert" />
-<Test name="zero_keep_incr_wrap" />
-<Test name="incr_wrap_replace_invert" />
-<Test name="keep_incr_incr_wrap" />
-<Test name="incr_wrap_invert_invert" />
-<Test name="incr_keep_incr" />
-<Test name="zero_incr_wrap_incr_wrap" />
-<Test name="invert_zero_incr_wrap" />
-<Test name="invert_incr_wrap_invert" />
-<Test name="invert_replace_replace" />
+<TestCase name="usage_hints">
+<Test name="array_stream_draw" />
+<Test name="array_stream_read" />
+<Test name="array_stream_copy" />
+<Test name="array_static_draw" />
+<Test name="array_static_read" />
+<Test name="array_static_copy" />
+<Test name="array_dynamic_draw" />
+<Test name="array_dynamic_read" />
+<Test name="array_dynamic_copy" />
+<Test name="copy_read_stream_draw" />
+<Test name="copy_read_stream_read" />
+<Test name="copy_read_stream_copy" />
+<Test name="copy_read_static_draw" />
+<Test name="copy_read_static_read" />
+<Test name="copy_read_static_copy" />
+<Test name="copy_read_dynamic_draw" />
+<Test name="copy_read_dynamic_read" />
+<Test name="copy_read_dynamic_copy" />
+<Test name="copy_write_stream_draw" />
+<Test name="copy_write_stream_read" />
+<Test name="copy_write_stream_copy" />
+<Test name="copy_write_static_draw" />
+<Test name="copy_write_static_read" />
+<Test name="copy_write_static_copy" />
+<Test name="copy_write_dynamic_draw" />
+<Test name="copy_write_dynamic_read" />
+<Test name="copy_write_dynamic_copy" />
+<Test name="element_array_stream_draw" />
+<Test name="element_array_stream_read" />
+<Test name="element_array_stream_copy" />
+<Test name="element_array_static_draw" />
+<Test name="element_array_static_read" />
+<Test name="element_array_static_copy" />
+<Test name="element_array_dynamic_draw" />
+<Test name="element_array_dynamic_read" />
+<Test name="element_array_dynamic_copy" />
+<Test name="pixel_pack_stream_draw" />
+<Test name="pixel_pack_stream_read" />
+<Test name="pixel_pack_stream_copy" />
+<Test name="pixel_pack_static_draw" />
+<Test name="pixel_pack_static_read" />
+<Test name="pixel_pack_static_copy" />
+<Test name="pixel_pack_dynamic_draw" />
+<Test name="pixel_pack_dynamic_read" />
+<Test name="pixel_pack_dynamic_copy" />
+<Test name="pixel_unpack_stream_draw" />
+<Test name="pixel_unpack_stream_read" />
+<Test name="pixel_unpack_stream_copy" />
+<Test name="pixel_unpack_static_draw" />
+<Test name="pixel_unpack_static_read" />
+<Test name="pixel_unpack_static_copy" />
+<Test name="pixel_unpack_dynamic_draw" />
+<Test name="pixel_unpack_dynamic_read" />
+<Test name="pixel_unpack_dynamic_copy" />
+<Test name="transform_feedback_stream_draw" />
+<Test name="transform_feedback_stream_read" />
+<Test name="transform_feedback_stream_copy" />
+<Test name="transform_feedback_static_draw" />
+<Test name="transform_feedback_static_read" />
+<Test name="transform_feedback_static_copy" />
+<Test name="transform_feedback_dynamic_draw" />
+<Test name="transform_feedback_dynamic_read" />
+<Test name="transform_feedback_dynamic_copy" />
+<Test name="uniform_stream_draw" />
+<Test name="uniform_stream_read" />
+<Test name="uniform_stream_copy" />
+<Test name="uniform_static_draw" />
+<Test name="uniform_static_read" />
+<Test name="uniform_static_copy" />
+<Test name="uniform_dynamic_draw" />
+<Test name="uniform_dynamic_read" />
+<Test name="uniform_dynamic_copy" />
 </TestCase>
 </TestSuite>
-<TestSuite name="blend">
-<TestSuite name="fbo_srgb">
-<TestCase name="rgb_equation_alpha_equation">
-<Test name="max_min" />
-<Test name="min_subtract" />
-<Test name="min_add" />
-<Test name="reverse_subtract_subtract" />
-<Test name="max_subtract" />
-<Test name="subtract_reverse_subtract" />
-<Test name="reverse_subtract_reverse_subtract" />
-<Test name="reverse_subtract_max" />
-<Test name="add_reverse_subtract" />
-<Test name="subtract_max" />
-<Test name="max_reverse_subtract" />
-<Test name="add_min" />
-<Test name="min_max" />
-<Test name="subtract_min" />
-<Test name="subtract_subtract" />
-<Test name="min_reverse_subtract" />
-<Test name="subtract_add" />
-<Test name="max_add" />
-<Test name="add_add" />
-<Test name="add_subtract" />
-<Test name="reverse_subtract_add" />
-<Test name="add_max" />
-<Test name="reverse_subtract_min" />
-<Test name="min_min" />
-<Test name="max_max" />
+</TestSuite>
+<TestSuite name="copy">
+<TestCase name="basic">
+<Test name="array_copy_read" />
+<Test name="array_copy_write" />
+<Test name="array_element_array" />
+<Test name="array_pixel_pack" />
+<Test name="array_pixel_unpack" />
+<Test name="array_transform_feedback" />
+<Test name="array_uniform" />
+<Test name="copy_read_array" />
+<Test name="copy_read_copy_write" />
+<Test name="copy_read_element_array" />
+<Test name="copy_read_pixel_pack" />
+<Test name="copy_read_pixel_unpack" />
+<Test name="copy_read_transform_feedback" />
+<Test name="copy_read_uniform" />
+<Test name="copy_write_array" />
+<Test name="copy_write_copy_read" />
+<Test name="copy_write_element_array" />
+<Test name="copy_write_pixel_pack" />
+<Test name="copy_write_pixel_unpack" />
+<Test name="copy_write_transform_feedback" />
+<Test name="copy_write_uniform" />
+<Test name="element_array_array" />
+<Test name="element_array_copy_read" />
+<Test name="element_array_copy_write" />
+<Test name="element_array_pixel_pack" />
+<Test name="element_array_pixel_unpack" />
+<Test name="element_array_transform_feedback" />
+<Test name="element_array_uniform" />
+<Test name="pixel_pack_array" />
+<Test name="pixel_pack_copy_read" />
+<Test name="pixel_pack_copy_write" />
+<Test name="pixel_pack_element_array" />
+<Test name="pixel_pack_pixel_unpack" />
+<Test name="pixel_pack_transform_feedback" />
+<Test name="pixel_pack_uniform" />
+<Test name="pixel_unpack_array" />
+<Test name="pixel_unpack_copy_read" />
+<Test name="pixel_unpack_copy_write" />
+<Test name="pixel_unpack_element_array" />
+<Test name="pixel_unpack_pixel_pack" />
+<Test name="pixel_unpack_transform_feedback" />
+<Test name="pixel_unpack_uniform" />
+<Test name="transform_feedback_array" />
+<Test name="transform_feedback_copy_read" />
+<Test name="transform_feedback_copy_write" />
+<Test name="transform_feedback_element_array" />
+<Test name="transform_feedback_pixel_pack" />
+<Test name="transform_feedback_pixel_unpack" />
+<Test name="transform_feedback_uniform" />
+<Test name="uniform_array" />
+<Test name="uniform_copy_read" />
+<Test name="uniform_copy_write" />
+<Test name="uniform_element_array" />
+<Test name="uniform_pixel_pack" />
+<Test name="uniform_pixel_unpack" />
+<Test name="uniform_transform_feedback" />
 </TestCase>
-<TestCase name="equation_src_func_dst_func">
-<Test name="subtract_zero_one_minus_src_color" />
-<Test name="reverse_subtract_one_minus_constant_alpha_one_minus_dst_alpha" />
-<Test name="subtract_one_minus_dst_alpha_one" />
-<Test name="add_one_minus_constant_alpha_one_minus_src_alpha" />
-<Test name="subtract_src_color_src_alpha" />
-<Test name="reverse_subtract_constant_alpha_one_minus_dst_color" />
-<Test name="reverse_subtract_dst_color_src_alpha" />
-<Test name="reverse_subtract_one_minus_src_color_src_alpha_saturate" />
-<Test name="subtract_constant_alpha_constant_alpha" />
-<Test name="subtract_one_minus_src_alpha_src_color" />
-<Test name="reverse_subtract_one_minus_constant_color_dst_alpha" />
-<Test name="subtract_one_constant_color" />
-<Test name="subtract_src_color_one_minus_constant_color" />
-<Test name="add_one_one" />
-<Test name="add_zero_one" />
-<Test name="add_one_minus_constant_alpha_src_alpha" />
-<Test name="subtract_one_minus_src_alpha_one_minus_dst_alpha" />
-<Test name="add_one_minus_constant_alpha_one_minus_constant_color" />
-<Test name="add_one_minus_src_color_src_alpha_saturate" />
-<Test name="add_zero_dst_alpha" />
-<Test name="subtract_dst_alpha_one_minus_dst_color" />
-<Test name="add_one_minus_dst_alpha_dst_alpha" />
-<Test name="subtract_zero_one_minus_dst_alpha" />
-<Test name="subtract_dst_color_one_minus_src_color" />
-<Test name="subtract_one_minus_constant_alpha_one_minus_constant_color" />
-<Test name="add_constant_color_one_minus_src_alpha" />
-<Test name="subtract_one_dst_color" />
-<Test name="add_one_minus_src_alpha_dst_alpha" />
-<Test name="subtract_one_minus_src_color_src_alpha" />
-<Test name="subtract_one_src_color" />
-<Test name="subtract_dst_color_dst_color" />
-<Test name="reverse_subtract_constant_alpha_constant_color" />
-<Test name="subtract_constant_alpha_one_minus_src_color" />
-<Test name="reverse_subtract_dst_alpha_one_minus_dst_alpha" />
-<Test name="subtract_one_minus_src_color_dst_color" />
-<Test name="subtract_src_alpha_saturate_one_minus_dst_alpha" />
-<Test name="add_src_alpha_saturate_one_minus_constant_color" />
-<Test name="subtract_one_minus_src_alpha_dst_color" />
-<Test name="subtract_one_minus_dst_alpha_src_alpha" />
-<Test name="add_one_minus_constant_alpha_dst_alpha" />
-<Test name="subtract_one_minus_src_alpha_one_minus_constant_color" />
-<Test name="add_src_alpha_zero" />
-<Test name="add_src_color_one_minus_dst_color" />
-<Test name="subtract_one_minus_constant_color_dst_color" />
-<Test name="subtract_one_minus_dst_alpha_one_minus_src_alpha" />
-<Test name="add_one_minus_dst_alpha_dst_color" />
-<Test name="reverse_subtract_constant_alpha_src_alpha" />
-<Test name="reverse_subtract_one_minus_constant_alpha_one_minus_constant_color" />
-<Test name="reverse_subtract_src_alpha_saturate_one_minus_src_alpha" />
-<Test name="subtract_dst_alpha_one_minus_dst_alpha" />
-<Test name="add_one_minus_dst_color_src_color" />
-<Test name="subtract_one_minus_dst_color_dst_alpha" />
-<Test name="reverse_subtract_one_constant_color" />
-<Test name="add_one_minus_constant_alpha_one_minus_dst_color" />
-<Test name="subtract_one_minus_dst_color_src_color" />
-<Test name="reverse_subtract_one_minus_constant_color_one_minus_dst_alpha" />
-<Test name="subtract_src_color_constant_alpha" />
-<Test name="subtract_one_minus_constant_color_dst_alpha" />
-<Test name="add_zero_one_minus_dst_color" />
-<Test name="subtract_dst_color_src_alpha" />
-<Test name="subtract_constant_alpha_one_minus_src_alpha" />
-<Test name="subtract_one_constant_alpha" />
-<Test name="subtract_src_color_one_minus_constant_alpha" />
-<Test name="add_src_color_zero" />
-<Test name="add_one_minus_constant_alpha_constant_alpha" />
-<Test name="add_one_minus_dst_alpha_zero" />
-<Test name="reverse_subtract_one_minus_src_alpha_one_minus_constant_color" />
-<Test name="add_one_minus_constant_alpha_one_minus_constant_alpha" />
-<Test name="subtract_constant_color_src_alpha_saturate" />
-<Test name="subtract_constant_color_dst_alpha" />
-<Test name="reverse_subtract_src_alpha_saturate_constant_alpha" />
-<Test name="reverse_subtract_src_color_one_minus_dst_color" />
-<Test name="subtract_constant_alpha_one_minus_dst_color" />
-<Test name="reverse_subtract_zero_dst_alpha" />
-<Test name="add_one_minus_dst_color_one_minus_dst_color" />
-<Test name="add_one_minus_dst_alpha_src_color" />
-<Test name="add_one_one_minus_dst_color" />
-<Test name="add_one_src_alpha_saturate" />
-<Test name="add_one_src_alpha" />
-<Test name="subtract_constant_alpha_one_minus_constant_color" />
-<Test name="reverse_subtract_src_alpha_one_minus_dst_color" />
-<Test name="add_one_minus_dst_color_zero" />
-<Test name="add_dst_color_one_minus_src_color" />
-<Test name="reverse_subtract_dst_alpha_zero" />
-<Test name="reverse_subtract_one_minus_dst_color_dst_color" />
-<Test name="add_one_minus_constant_color_one_minus_dst_color" />
-<Test name="subtract_one_minus_constant_color_one_minus_dst_color" />
-<Test name="reverse_subtract_one_minus_src_alpha_src_alpha" />
-<Test name="add_constant_color_one_minus_constant_color" />
-<Test name="subtract_constant_alpha_zero" />
-<Test name="reverse_subtract_src_color_src_alpha" />
-<Test name="subtract_one_minus_dst_alpha_src_alpha_saturate" />
-<Test name="add_one_minus_constant_color_one_minus_dst_alpha" />
-<Test name="add_one_minus_dst_color_dst_color" />
-<Test name="add_one_one_minus_src_alpha" />
-<Test name="reverse_subtract_constant_alpha_one_minus_constant_color" />
-<Test name="add_dst_color_one_minus_dst_color" />
-<Test name="add_one_minus_src_alpha_one_minus_src_alpha" />
-<Test name="add_one_one_minus_constant_alpha" />
-<Test name="subtract_dst_color_one_minus_dst_alpha" />
-<Test name="reverse_subtract_one_minus_dst_alpha_src_alpha" />
-<Test name="add_dst_alpha_src_alpha" />
-<Test name="add_zero_one_minus_dst_alpha" />
-<Test name="reverse_subtract_one_minus_constant_color_src_alpha_saturate" />
-<Test name="add_constant_alpha_dst_color" />
-<Test name="subtract_src_alpha_saturate_src_color" />
-<Test name="reverse_subtract_one_src_color" />
-<Test name="subtract_one_minus_dst_alpha_one_minus_constant_alpha" />
-<Test name="reverse_subtract_one_minus_src_color_one_minus_dst_alpha" />
-<Test name="add_src_alpha_saturate_one_minus_constant_alpha" />
-<Test name="subtract_constant_color_one_minus_src_color" />
-<Test name="reverse_subtract_src_alpha_src_alpha_saturate" />
-<Test name="add_dst_alpha_zero" />
-<Test name="reverse_subtract_constant_alpha_one_minus_src_color" />
-<Test name="subtract_src_alpha_saturate_zero" />
-<Test name="reverse_subtract_src_alpha_src_alpha" />
-<Test name="add_zero_dst_color" />
-<Test name="subtract_one_minus_dst_color_dst_color" />
-<Test name="reverse_subtract_dst_color_one_minus_dst_color" />
-<Test name="add_one_minus_constant_alpha_one_minus_src_color" />
-<Test name="add_one_minus_dst_color_one_minus_src_color" />
-<Test name="add_src_alpha_one_minus_constant_color" />
-<Test name="subtract_one_minus_constant_alpha_one_minus_src_color" />
-<Test name="add_src_color_dst_color" />
-<Test name="reverse_subtract_one_minus_dst_alpha_dst_color" />
-<Test name="reverse_subtract_dst_color_one_minus_src_color" />
-<Test name="reverse_subtract_dst_color_one_minus_src_alpha" />
-<Test name="add_dst_color_dst_color" />
-<Test name="reverse_subtract_one_minus_dst_color_zero" />
-<Test name="subtract_src_color_one_minus_dst_alpha" />
-<Test name="add_one_minus_constant_color_one_minus_constant_color" />
-<Test name="add_one_dst_color" />
-<Test name="reverse_subtract_constant_alpha_one" />
-<Test name="subtract_one_minus_constant_color_zero" />
-<Test name="reverse_subtract_one_minus_constant_alpha_src_alpha_saturate" />
-<Test name="subtract_constant_alpha_src_alpha_saturate" />
-<Test name="add_src_alpha_dst_alpha" />
-<Test name="subtract_one_minus_constant_color_constant_color" />
-<Test name="subtract_src_alpha_one_minus_src_color" />
-<Test name="subtract_one_minus_src_color_one_minus_constant_alpha" />
-<Test name="subtract_src_alpha_one_minus_constant_color" />
-<Test name="subtract_zero_dst_alpha" />
-<Test name="reverse_subtract_one_minus_src_alpha_one_minus_dst_color" />
-<Test name="subtract_one_one" />
-<Test name="reverse_subtract_one_minus_constant_color_constant_alpha" />
-<Test name="subtract_one_minus_src_color_one_minus_src_alpha" />
-<Test name="subtract_src_color_dst_color" />
-<Test name="add_src_color_one" />
-<Test name="reverse_subtract_src_alpha_saturate_one_minus_dst_color" />
-<Test name="reverse_subtract_src_alpha_constant_alpha" />
-<Test name="reverse_subtract_one_minus_constant_alpha_constant_color" />
-<Test name="subtract_one_minus_constant_color_one_minus_dst_alpha" />
-<Test name="subtract_dst_color_constant_color" />
-<Test name="reverse_subtract_src_color_src_color" />
-<Test name="subtract_src_alpha_saturate_dst_alpha" />
-<Test name="reverse_subtract_one_minus_dst_alpha_dst_alpha" />
-<Test name="reverse_subtract_constant_alpha_one_minus_src_alpha" />
-<Test name="reverse_subtract_one_minus_constant_alpha_constant_alpha" />
-<Test name="reverse_subtract_src_alpha_saturate_src_color" />
-<Test name="add_zero_one_minus_constant_color" />
-<Test name="subtract_one_minus_dst_color_one_minus_dst_alpha" />
-<Test name="reverse_subtract_dst_alpha_one_minus_src_alpha" />
-<Test name="reverse_subtract_src_alpha_one" />
-<Test name="subtract_one_minus_dst_color_constant_color" />
-<Test name="add_one_minus_constant_alpha_one_minus_dst_alpha" />
-<Test name="subtract_dst_color_zero" />
-<Test name="subtract_src_color_dst_alpha" />
-<Test name="subtract_src_color_src_alpha_saturate" />
-<Test name="add_constant_alpha_src_alpha_saturate" />
-<Test name="subtract_src_alpha_dst_alpha" />
-<Test name="subtract_constant_alpha_one" />
-<Test name="reverse_subtract_one_one_minus_constant_alpha" />
-<Test name="subtract_one_minus_dst_color_one_minus_dst_color" />
-<Test name="reverse_subtract_dst_alpha_one_minus_constant_color" />
-<Test name="add_constant_color_constant_color" />
-<Test name="add_one_one_minus_src_color" />
-<Test name="add_src_alpha_constant_color" />
-<Test name="subtract_src_alpha_saturate_constant_color" />
-<Test name="reverse_subtract_one_minus_src_alpha_dst_color" />
-<Test name="add_constant_alpha_one_minus_src_color" />
-<Test name="reverse_subtract_one_one_minus_constant_color" />
-<Test name="subtract_dst_alpha_src_alpha" />
-<Test name="subtract_zero_zero" />
-<Test name="subtract_src_alpha_saturate_src_alpha" />
-<Test name="reverse_subtract_dst_color_zero" />
-<Test name="subtract_one_minus_src_color_constant_color" />
-<Test name="reverse_subtract_src_alpha_saturate_src_alpha" />
-<Test name="reverse_subtract_one_minus_constant_color_one_minus_constant_color" />
-<Test name="subtract_one_minus_constant_color_one_minus_constant_color" />
-<Test name="subtract_one_minus_constant_alpha_constant_color" />
-<Test name="add_one_minus_constant_color_one_minus_constant_alpha" />
-<Test name="reverse_subtract_one_minus_src_color_dst_alpha" />
-<Test name="subtract_one_minus_src_alpha_one_minus_constant_alpha" />
-<Test name="subtract_one_minus_src_alpha_one" />
-<Test name="subtract_one_minus_src_color_one" />
-<Test name="reverse_subtract_dst_alpha_one_minus_src_color" />
-<Test name="subtract_one_minus_constant_color_one_minus_constant_alpha" />
-<Test name="subtract_zero_dst_color" />
-<Test name="add_one_minus_src_color_dst_color" />
-<Test name="subtract_zero_one_minus_constant_alpha" />
-<Test name="add_one_minus_dst_color_one" />
-<Test name="reverse_subtract_one_minus_constant_color_one" />
-<Test name="add_one_zero" />
-<Test name="subtract_dst_alpha_one_minus_constant_color" />
-<Test name="reverse_subtract_one_minus_src_color_constant_color" />
-<Test name="add_src_color_one_minus_src_color" />
-<Test name="add_src_alpha_saturate_one_minus_dst_alpha" />
-<Test name="subtract_one_minus_src_color_one_minus_dst_alpha" />
-<Test name="add_one_minus_constant_color_one" />
-<Test name="add_dst_alpha_dst_alpha" />
-<Test name="subtract_one_minus_constant_alpha_one" />
-<Test name="reverse_subtract_constant_color_dst_alpha" />
-<Test name="reverse_subtract_one_minus_dst_color_one_minus_src_color" />
-<Test name="add_one_minus_constant_color_src_alpha" />
-<Test name="subtract_one_minus_constant_alpha_src_alpha_saturate" />
-<Test name="subtract_src_color_one_minus_src_alpha" />
-<Test name="add_src_alpha_one_minus_src_alpha" />
-<Test name="reverse_subtract_one_minus_src_color_zero" />
-<Test name="add_src_alpha_constant_alpha" />
-<Test name="subtract_constant_alpha_src_alpha" />
-<Test name="subtract_dst_color_one" />
-<Test name="add_one_constant_alpha" />
-<Test name="reverse_subtract_constant_color_zero" />
-<Test name="reverse_subtract_constant_alpha_constant_alpha" />
-<Test name="reverse_subtract_zero_one_minus_src_alpha" />
-<Test name="subtract_constant_alpha_one_minus_dst_alpha" />
-<Test name="subtract_dst_alpha_dst_color" />
-<Test name="add_constant_alpha_dst_alpha" />
-<Test name="reverse_subtract_one_minus_constant_color_zero" />
-<Test name="reverse_subtract_dst_alpha_constant_alpha" />
-<Test name="reverse_subtract_one_minus_src_alpha_src_color" />
-<Test name="reverse_subtract_src_alpha_saturate_one_minus_dst_alpha" />
-<Test name="subtract_one_minus_src_color_one_minus_dst_color" />
-<Test name="subtract_one_one_minus_dst_alpha" />
-<Test name="reverse_subtract_one_minus_src_alpha_constant_color" />
-<Test name="reverse_subtract_one_minus_dst_color_src_alpha_saturate" />
-<Test name="add_src_alpha_one_minus_src_color" />
-<Test name="add_src_alpha_saturate_zero" />
-<Test name="subtract_dst_alpha_zero" />
-<Test name="add_one_minus_src_alpha_src_color" />
-<Test name="add_constant_alpha_one_minus_dst_alpha" />
-<Test name="add_one_minus_constant_color_dst_alpha" />
-<Test name="subtract_constant_color_one_minus_dst_alpha" />
-<Test name="add_constant_alpha_src_color" />
-<Test name="reverse_subtract_src_alpha_one_minus_constant_alpha" />
-<Test name="add_constant_alpha_one_minus_dst_color" />
-<Test name="subtract_src_alpha_constant_color" />
-<Test name="reverse_subtract_one_minus_dst_alpha_constant_alpha" />
-<Test name="reverse_subtract_zero_one" />
-<Test name="reverse_subtract_one_src_alpha_saturate" />
-<Test name="add_one_dst_alpha" />
-<Test name="subtract_constant_color_src_color" />
-<Test name="subtract_src_alpha_src_color" />
-<Test name="subtract_src_color_one_minus_dst_color" />
-<Test name="add_src_color_one_minus_src_alpha" />
-<Test name="reverse_subtract_one_minus_constant_color_one_minus_constant_alpha" />
-<Test name="reverse_subtract_dst_alpha_constant_color" />
-<Test name="add_dst_color_one_minus_constant_color" />
-<Test name="reverse_subtract_one_minus_dst_alpha_src_color" />
-<Test name="add_src_alpha_saturate_one_minus_dst_color" />
-<Test name="reverse_subtract_src_alpha_one_minus_src_color" />
-<Test name="subtract_one_minus_constant_alpha_constant_alpha" />
-<Test name="reverse_subtract_one_minus_dst_alpha_one_minus_dst_alpha" />
-<Test name="add_constant_color_constant_alpha" />
-<Test name="subtract_dst_alpha_one_minus_constant_alpha" />
-<Test name="add_one_minus_src_alpha_one" />
-<Test name="reverse_subtract_constant_color_one" />
-<Test name="reverse_subtract_one_minus_dst_color_one_minus_constant_color" />
-<Test name="add_dst_color_one_minus_constant_alpha" />
-<Test name="add_one_minus_dst_color_one_minus_src_alpha" />
-<Test name="add_src_alpha_one_minus_constant_alpha" />
-<Test name="subtract_src_alpha_one_minus_src_alpha" />
-<Test name="subtract_one_minus_dst_alpha_zero" />
-<Test name="reverse_subtract_one_minus_dst_color_one_minus_dst_alpha" />
-<Test name="add_one_one_minus_dst_alpha" />
-<Test name="reverse_subtract_one_minus_dst_alpha_one_minus_constant_alpha" />
-<Test name="add_src_alpha_one_minus_dst_color" />
-<Test name="add_src_alpha_saturate_src_alpha" />
-<Test name="subtract_constant_color_constant_alpha" />
-<Test name="add_zero_src_alpha" />
-<Test name="add_constant_alpha_one_minus_constant_color" />
-<Test name="reverse_subtract_dst_alpha_dst_color" />
-<Test name="add_one_minus_src_color_one_minus_constant_color" />
-<Test name="subtract_one_minus_dst_alpha_dst_alpha" />
-<Test name="subtract_one_minus_dst_alpha_src_color" />
-<Test name="reverse_subtract_one_minus_src_alpha_zero" />
-<Test name="reverse_subtract_one_minus_constant_alpha_zero" />
-<Test name="subtract_one_minus_dst_color_one_minus_src_alpha" />
-<Test name="add_dst_color_src_alpha_saturate" />
-<Test name="add_one_minus_dst_alpha_src_alpha" />
-<Test name="subtract_one_one_minus_constant_alpha" />
-<Test name="add_one_minus_src_color_one_minus_src_alpha" />
-<Test name="reverse_subtract_constant_color_src_color" />
-<Test name="subtract_dst_alpha_one_minus_src_color" />
-<Test name="reverse_subtract_dst_alpha_one" />
-<Test name="reverse_subtract_src_alpha_saturate_one_minus_src_color" />
-<Test name="reverse_subtract_one_minus_constant_color_dst_color" />
-<Test name="reverse_subtract_src_color_one_minus_dst_alpha" />
-<Test name="reverse_subtract_one_minus_constant_alpha_one_minus_src_alpha" />
-<Test name="reverse_subtract_dst_color_one_minus_constant_color" />
-<Test name="subtract_dst_alpha_dst_alpha" />
-<Test name="reverse_subtract_src_alpha_zero" />
-<Test name="reverse_subtract_one_one_minus_dst_alpha" />
-<Test name="add_src_color_src_alpha_saturate" />
-<Test name="add_dst_alpha_constant_alpha" />
-<Test name="subtract_one_minus_src_alpha_dst_alpha" />
-<Test name="subtract_one_minus_src_alpha_zero" />
-<Test name="reverse_subtract_one_one" />
-<Test name="add_one_minus_src_alpha_one_minus_constant_color" />
-<Test name="subtract_one_minus_dst_color_one" />
-<Test name="subtract_constant_color_one_minus_dst_color" />
-<Test name="add_one_minus_dst_alpha_constant_alpha" />
-<Test name="reverse_subtract_one_minus_constant_alpha_one" />
-<Test name="add_constant_alpha_one" />
-<Test name="subtract_one_src_alpha" />
-<Test name="subtract_dst_color_src_color" />
-<Test name="reverse_subtract_one_minus_dst_color_one_minus_constant_alpha" />
-<Test name="add_zero_one_minus_constant_alpha" />
-<Test name="subtract_constant_color_one" />
-<Test name="add_src_color_one_minus_constant_alpha" />
-<Test name="subtract_one_minus_src_color_one_minus_constant_color" />
-<Test name="subtract_src_alpha_one" />
-<Test name="add_one_minus_dst_color_one_minus_constant_alpha" />
-<Test name="subtract_one_one_minus_constant_color" />
-<Test name="subtract_one_minus_constant_alpha_src_color" />
-<Test name="reverse_subtract_src_color_one_minus_constant_alpha" />
-<Test name="add_dst_color_one" />
-<Test name="add_one_minus_dst_alpha_one_minus_src_alpha" />
-<Test name="add_one_minus_src_alpha_zero" />
-<Test name="subtract_one_minus_src_color_one_minus_src_color" />
-<Test name="reverse_subtract_src_alpha_saturate_zero" />
-<Test name="subtract_dst_alpha_src_color" />
-<Test name="subtract_one_minus_constant_color_constant_alpha" />
-<Test name="reverse_subtract_one_minus_constant_color_src_alpha" />
-<Test name="reverse_subtract_one_dst_color" />
-<Test name="reverse_subtract_src_color_one" />
-<Test name="reverse_subtract_one_minus_constant_alpha_one_minus_src_color" />
-<Test name="reverse_subtract_one_minus_dst_alpha_constant_color" />
-<Test name="reverse_subtract_one_minus_dst_color_dst_alpha" />
-<Test name="reverse_subtract_dst_color_one" />
-<Test name="reverse_subtract_dst_color_constant_color" />
-<Test name="subtract_one_minus_constant_alpha_dst_color" />
-<Test name="subtract_zero_one_minus_src_alpha" />
-<Test name="add_zero_src_alpha_saturate" />
-<Test name="reverse_subtract_constant_color_src_alpha_saturate" />
-<Test name="reverse_subtract_constant_alpha_one_minus_dst_alpha" />
-<Test name="subtract_src_alpha_saturate_one_minus_src_alpha" />
-<Test name="add_src_color_src_color" />
-<Test name="reverse_subtract_one_minus_constant_color_constant_color" />
-<Test name="reverse_subtract_constant_color_one_minus_constant_alpha" />
-<Test name="subtract_one_minus_dst_color_one_minus_constant_alpha" />
-<Test name="reverse_subtract_one_minus_constant_color_one_minus_dst_color" />
-<Test name="add_one_minus_src_color_constant_color" />
-<Test name="subtract_dst_alpha_one_minus_src_alpha" />
-<Test name="add_dst_alpha_one_minus_src_alpha" />
-<Test name="reverse_subtract_src_alpha_saturate_one_minus_constant_color" />
-<Test name="subtract_dst_alpha_one" />
-<Test name="reverse_subtract_one_minus_src_alpha_one_minus_dst_alpha" />
-<Test name="add_one_minus_constant_alpha_constant_color" />
-<Test name="reverse_subtract_dst_color_dst_alpha" />
-<Test name="reverse_subtract_src_alpha_dst_alpha" />
-<Test name="add_one_minus_constant_color_dst_color" />
-<Test name="add_constant_color_dst_alpha" />
-<Test name="reverse_subtract_zero_constant_alpha" />
-<Test name="subtract_one_minus_src_color_dst_alpha" />
-<Test name="reverse_subtract_one_minus_src_alpha_one_minus_src_alpha" />
-<Test name="add_dst_alpha_one_minus_constant_alpha" />
-<Test name="add_dst_color_src_alpha" />
-<Test name="add_one_minus_src_alpha_one_minus_constant_alpha" />
-<Test name="add_one_minus_src_alpha_src_alpha" />
-<Test name="reverse_subtract_src_alpha_saturate_one_minus_constant_alpha" />
-<Test name="reverse_subtract_one_minus_dst_color_src_color" />
-<Test name="add_one_minus_constant_color_src_alpha_saturate" />
-<Test name="subtract_one_minus_constant_alpha_src_alpha" />
-<Test name="reverse_subtract_zero_constant_color" />
-<Test name="add_zero_one_minus_src_color" />
-<Test name="subtract_one_minus_constant_color_src_alpha_saturate" />
-<Test name="subtract_dst_color_dst_alpha" />
-<Test name="reverse_subtract_one_minus_dst_alpha_one_minus_constant_color" />
-<Test name="reverse_subtract_dst_alpha_src_alpha_saturate" />
-<Test name="add_constant_alpha_constant_alpha" />
-<Test name="reverse_subtract_one_minus_constant_color_one_minus_src_alpha" />
-<Test name="add_dst_color_dst_alpha" />
-<Test name="add_one_minus_src_color_one_minus_constant_alpha" />
-<Test name="reverse_subtract_one_minus_constant_alpha_one_minus_dst_color" />
-<Test name="subtract_one_minus_src_alpha_one_minus_dst_color" />
-<Test name="reverse_subtract_src_alpha_saturate_src_alpha_saturate" />
-<Test name="subtract_one_minus_dst_color_one_minus_src_color" />
-<Test name="subtract_dst_color_one_minus_constant_alpha" />
-<Test name="reverse_subtract_one_minus_src_color_dst_color" />
-<Test name="subtract_one_minus_constant_color_one" />
-<Test name="subtract_one_minus_dst_color_zero" />
-<Test name="reverse_subtract_dst_color_dst_color" />
-<Test name="add_src_color_one_minus_dst_alpha" />
-<Test name="subtract_one_minus_dst_color_src_alpha_saturate" />
-<Test name="reverse_subtract_one_minus_dst_color_constant_color" />
-<Test name="reverse_subtract_src_color_dst_color" />
-<Test name="add_one_minus_src_alpha_one_minus_src_color" />
-<Test name="reverse_subtract_src_alpha_saturate_dst_color" />
-<Test name="subtract_one_one_minus_src_color" />
-<Test name="subtract_constant_alpha_one_minus_constant_alpha" />
-<Test name="reverse_subtract_one_minus_src_color_one_minus_constant_alpha" />
-<Test name="subtract_one_minus_src_alpha_src_alpha" />
-<Test name="add_constant_alpha_one_minus_constant_alpha" />
-<Test name="add_one_minus_src_color_src_color" />
-<Test name="reverse_subtract_dst_alpha_dst_alpha" />
-<Test name="reverse_subtract_src_color_one_minus_constant_color" />
-<Test name="subtract_one_minus_dst_alpha_dst_color" />
-<Test name="add_dst_alpha_src_alpha_saturate" />
-<Test name="subtract_constant_alpha_src_color" />
-<Test name="subtract_dst_color_one_minus_dst_color" />
-<Test name="subtract_zero_one" />
-<Test name="reverse_subtract_dst_color_constant_alpha" />
-<Test name="reverse_subtract_one_minus_dst_color_one" />
-<Test name="add_src_alpha_saturate_dst_color" />
-<Test name="add_one_minus_src_alpha_constant_color" />
-<Test name="add_one_minus_src_alpha_src_alpha_saturate" />
-<Test name="subtract_src_color_constant_color" />
-<Test name="add_one_minus_constant_color_constant_color" />
-<Test name="reverse_subtract_one_dst_alpha" />
-<Test name="subtract_zero_src_color" />
-<Test name="add_one_minus_dst_color_src_alpha_saturate" />
-<Test name="add_one_minus_constant_color_zero" />
-<Test name="add_one_minus_src_alpha_one_minus_dst_alpha" />
-<Test name="reverse_subtract_src_alpha_constant_color" />
-<Test name="subtract_src_alpha_constant_alpha" />
-<Test name="add_one_minus_src_alpha_dst_color" />
-<Test name="add_constant_color_one_minus_constant_alpha" />
-<Test name="reverse_subtract_one_one_minus_src_alpha" />
-<Test name="subtract_one_src_alpha_saturate" />
-<Test name="add_src_alpha_saturate_src_alpha_saturate" />
-<Test name="add_dst_alpha_src_color" />
-<Test name="reverse_subtract_one_minus_src_color_one_minus_src_color" />
-<Test name="reverse_subtract_one_minus_src_color_one_minus_constant_color" />
-<Test name="subtract_constant_color_src_alpha" />
-<Test name="reverse_subtract_one_minus_src_alpha_one" />
-<Test name="reverse_subtract_one_minus_constant_alpha_src_alpha" />
-<Test name="subtract_src_alpha_saturate_one_minus_constant_color" />
-<Test name="reverse_subtract_dst_color_one_minus_constant_alpha" />
-<Test name="add_dst_alpha_one" />
-<Test name="subtract_constant_alpha_dst_color" />
-<Test name="subtract_src_alpha_saturate_constant_alpha" />
-<Test name="add_one_one_minus_constant_color" />
-<Test name="subtract_one_minus_constant_color_src_color" />
-<Test name="subtract_one_minus_src_color_constant_alpha" />
-<Test name="subtract_one_dst_alpha" />
-<Test name="add_one_minus_dst_alpha_one_minus_constant_color" />
-<Test name="subtract_src_color_src_color" />
-<Test name="add_dst_alpha_one_minus_dst_alpha" />
-<Test name="reverse_subtract_src_color_one_minus_src_color" />
-<Test name="subtract_one_minus_src_color_src_color" />
-<Test name="add_one_minus_constant_alpha_dst_color" />
-<Test name="add_one_minus_dst_color_constant_alpha" />
-<Test name="subtract_zero_constant_color" />
-<Test name="add_src_alpha_saturate_constant_color" />
-<Test name="reverse_subtract_one_src_alpha" />
-<Test name="reverse_subtract_dst_alpha_one_minus_constant_alpha" />
-<Test name="subtract_one_minus_dst_alpha_one_minus_dst_color" />
-<Test name="reverse_subtract_dst_color_one_minus_dst_alpha" />
-<Test name="reverse_subtract_zero_src_alpha" />
-<Test name="subtract_zero_src_alpha" />
-<Test name="reverse_subtract_dst_color_src_color" />
-<Test name="subtract_one_minus_src_alpha_src_alpha_saturate" />
-<Test name="add_dst_color_src_color" />
-<Test name="add_src_alpha_saturate_constant_alpha" />
-<Test name="add_one_minus_src_color_dst_alpha" />
-<Test name="reverse_subtract_one_minus_dst_alpha_src_alpha_saturate" />
-<Test name="add_src_alpha_src_alpha" />
-<Test name="reverse_subtract_zero_one_minus_dst_color" />
-<Test name="subtract_one_minus_dst_color_src_alpha" />
-<Test name="reverse_subtract_constant_alpha_zero" />
-<Test name="reverse_subtract_zero_src_alpha_saturate" />
-<Test name="reverse_subtract_one_minus_src_color_one" />
-<Test name="add_dst_color_one_minus_src_alpha" />
-<Test name="add_dst_alpha_one_minus_dst_color" />
-<Test name="add_constant_alpha_src_alpha" />
-<Test name="reverse_subtract_one_minus_dst_alpha_one" />
-<Test name="add_one_minus_constant_color_constant_alpha" />
-<Test name="subtract_one_minus_dst_alpha_one_minus_src_color" />
-<Test name="add_one_minus_src_color_one_minus_src_color" />
-<Test name="subtract_dst_color_src_alpha_saturate" />
-<Test name="reverse_subtract_src_color_constant_color" />
-<Test name="subtract_src_alpha_saturate_src_alpha_saturate" />
-<Test name="subtract_src_alpha_dst_color" />
-<Test name="add_constant_alpha_one_minus_src_alpha" />
-<Test name="reverse_subtract_constant_alpha_one_minus_constant_alpha" />
-<Test name="reverse_subtract_one_minus_src_alpha_one_minus_constant_alpha" />
-<Test name="reverse_subtract_src_color_dst_alpha" />
-<Test name="add_src_alpha_dst_color" />
-<Test name="subtract_one_one_minus_src_alpha" />
-<Test name="reverse_subtract_constant_alpha_dst_color" />
-<Test name="add_one_minus_dst_alpha_one_minus_src_color" />
-<Test name="subtract_src_alpha_one_minus_dst_color" />
-<Test name="add_one_minus_dst_color_dst_alpha" />
-<Test name="reverse_subtract_one_minus_dst_alpha_one_minus_dst_color" />
-<Test name="add_one_minus_src_color_src_alpha" />
-<Test name="add_src_alpha_saturate_one_minus_src_color" />
-<Test name="subtract_one_minus_src_alpha_one_minus_src_color" />
-<Test name="add_src_alpha_src_alpha_saturate" />
-<Test name="subtract_zero_one_minus_dst_color" />
-<Test name="add_constant_color_one_minus_src_color" />
-<Test name="reverse_subtract_constant_color_one_minus_constant_color" />
-<Test name="add_one_constant_color" />
-<Test name="reverse_subtract_src_alpha_src_color" />
-<Test name="add_constant_alpha_constant_color" />
-<Test name="add_src_color_src_alpha" />
-<Test name="subtract_one_minus_constant_color_one_minus_src_alpha" />
-<Test name="subtract_one_minus_src_color_zero" />
-<Test name="add_src_alpha_saturate_dst_alpha" />
-<Test name="add_zero_zero" />
-<Test name="add_dst_alpha_constant_color" />
-<Test name="add_one_minus_src_color_one" />
-<Test name="subtract_src_alpha_one_minus_dst_alpha" />
-<Test name="add_one_minus_dst_alpha_one_minus_dst_color" />
-<Test name="reverse_subtract_dst_alpha_src_color" />
-<Test name="add_zero_constant_color" />
-<Test name="reverse_subtract_one_minus_src_alpha_src_alpha_saturate" />
-<Test name="subtract_one_one_minus_dst_color" />
-<Test name="reverse_subtract_one_minus_dst_color_constant_alpha" />
-<Test name="subtract_one_minus_constant_alpha_one_minus_dst_alpha" />
-<Test name="subtract_one_minus_constant_alpha_one_minus_dst_color" />
-<Test name="subtract_src_alpha_saturate_one_minus_constant_alpha" />
-<Test name="add_src_alpha_saturate_one" />
-<Test name="reverse_subtract_one_minus_src_alpha_dst_alpha" />
-<Test name="subtract_src_alpha_src_alpha" />
-<Test name="reverse_subtract_zero_dst_color" />
-<Test name="add_src_alpha_saturate_src_color" />
-<Test name="subtract_src_color_zero" />
-<Test name="subtract_constant_color_zero" />
-<Test name="subtract_dst_color_one_minus_src_alpha" />
-<Test name="reverse_subtract_constant_color_dst_color" />
-<Test name="reverse_subtract_one_minus_dst_color_one_minus_src_alpha" />
-<Test name="reverse_subtract_constant_alpha_src_color" />
-<Test name="subtract_src_color_one" />
-<Test name="add_one_minus_constant_color_one_minus_src_color" />
-<Test name="subtract_zero_one_minus_constant_color" />
-<Test name="subtract_one_minus_src_color_src_alpha_saturate" />
-<Test name="reverse_subtract_constant_color_one_minus_src_alpha" />
-<Test name="add_one_minus_dst_alpha_one_minus_constant_alpha" />
-<Test name="reverse_subtract_src_alpha_dst_color" />
-<Test name="subtract_zero_src_alpha_saturate" />
-<Test name="reverse_subtract_one_minus_constant_alpha_dst_color" />
-<Test name="subtract_src_alpha_one_minus_constant_alpha" />
-<Test name="subtract_src_color_one_minus_src_color" />
-<Test name="subtract_one_minus_dst_alpha_one_minus_dst_alpha" />
-<Test name="subtract_one_minus_constant_alpha_one_minus_constant_alpha" />
-<Test name="add_src_alpha_saturate_one_minus_src_alpha" />
-<Test name="reverse_subtract_one_minus_dst_color_one_minus_dst_color" />
-<Test name="subtract_zero_constant_alpha" />
-<Test name="add_one_minus_src_color_one_minus_dst_color" />
-<Test name="add_zero_one_minus_src_alpha" />
-<Test name="add_one_minus_src_alpha_constant_alpha" />
-<Test name="subtract_one_minus_constant_alpha_dst_alpha" />
-<Test name="reverse_subtract_src_alpha_saturate_constant_color" />
-<Test name="add_src_color_constant_alpha" />
-<Test name="subtract_constant_color_one_minus_constant_color" />
-<Test name="reverse_subtract_constant_color_one_minus_dst_color" />
-<Test name="add_one_minus_constant_alpha_one" />
-<Test name="subtract_one_minus_dst_alpha_constant_color" />
-<Test name="add_one_minus_src_color_zero" />
-<Test name="reverse_subtract_one_zero" />
-<Test name="reverse_subtract_dst_alpha_one_minus_dst_color" />
-<Test name="subtract_one_minus_constant_color_src_alpha" />
-<Test name="reverse_subtract_one_constant_alpha" />
-<Test name="add_dst_color_constant_color" />
-<Test name="add_one_minus_constant_alpha_zero" />
-<Test name="reverse_subtract_src_alpha_one_minus_src_alpha" />
-<Test name="reverse_subtract_zero_zero" />
-<Test name="subtract_constant_color_dst_color" />
-<Test name="add_constant_alpha_zero" />
-<Test name="subtract_src_alpha_saturate_one" />
-<Test name="reverse_subtract_one_one_minus_src_color" />
-<Test name="add_constant_color_src_alpha_saturate" />
-<Test name="add_constant_color_one_minus_dst_color" />
-<Test name="subtract_src_alpha_src_alpha_saturate" />
-<Test name="add_one_minus_constant_color_src_color" />
-<Test name="reverse_subtract_src_color_constant_alpha" />
-<Test name="reverse_subtract_constant_alpha_dst_alpha" />
-<Test name="reverse_subtract_src_color_src_alpha_saturate" />
-<Test name="reverse_subtract_one_one_minus_dst_color" />
-<Test name="reverse_subtract_one_minus_dst_color_src_alpha" />
-<Test name="subtract_constant_color_one_minus_src_alpha" />
-<Test name="add_one_minus_dst_color_one_minus_dst_alpha" />
-<Test name="reverse_subtract_src_alpha_one_minus_dst_alpha" />
-<Test name="reverse_subtract_src_color_one_minus_src_alpha" />
-<Test name="reverse_subtract_constant_alpha_src_alpha_saturate" />
-<Test name="reverse_subtract_one_minus_src_color_src_alpha" />
-<Test name="subtract_one_minus_constant_color_one_minus_src_color" />
-<Test name="subtract_one_minus_src_alpha_constant_color" />
-<Test name="add_one_minus_dst_color_one_minus_constant_color" />
-<Test name="subtract_one_minus_constant_alpha_zero" />
-<Test name="add_one_src_color" />
-<Test name="subtract_src_alpha_saturate_one_minus_dst_color" />
-<Test name="subtract_src_alpha_saturate_dst_color" />
-<Test name="reverse_subtract_one_minus_src_color_one_minus_src_alpha" />
-<Test name="subtract_one_minus_constant_alpha_one_minus_src_alpha" />
-<Test name="reverse_subtract_constant_color_constant_alpha" />
-<Test name="subtract_one_minus_dst_alpha_one_minus_constant_color" />
-<Test name="reverse_subtract_one_minus_src_color_one_minus_dst_color" />
-<Test name="reverse_subtract_constant_color_src_alpha" />
-<Test name="subtract_src_alpha_zero" />
-<Test name="reverse_subtract_constant_color_constant_color" />
-<Test name="subtract_one_minus_src_alpha_one_minus_src_alpha" />
-<Test name="subtract_constant_color_constant_color" />
-<Test name="reverse_subtract_one_minus_src_color_src_color" />
-<Test name="subtract_dst_alpha_src_alpha_saturate" />
-<Test name="reverse_subtract_one_minus_dst_alpha_one_minus_src_alpha" />
-<Test name="reverse_subtract_zero_one_minus_constant_color" />
-<Test name="reverse_subtract_src_alpha_one_minus_constant_color" />
-<Test name="reverse_subtract_constant_color_one_minus_dst_alpha" />
-<Test name="subtract_constant_color_one_minus_constant_alpha" />
-<Test name="reverse_subtract_src_color_zero" />
-<Test name="add_one_minus_dst_alpha_one" />
-<Test name="add_one_minus_dst_alpha_src_alpha_saturate" />
-<Test name="subtract_one_minus_dst_color_constant_alpha" />
-<Test name="add_src_color_dst_alpha" />
-<Test name="reverse_subtract_constant_color_one_minus_src_color" />
-<Test name="subtract_dst_color_constant_alpha" />
-<Test name="add_one_minus_dst_alpha_one_minus_dst_alpha" />
-<Test name="add_constant_color_one" />
-<Test name="subtract_one_zero" />
-<Test name="reverse_subtract_one_minus_src_color_constant_alpha" />
-<Test name="reverse_subtract_src_alpha_saturate_one" />
-<Test name="add_src_alpha_one" />
-<Test name="add_one_minus_src_alpha_one_minus_dst_color" />
-<Test name="subtract_dst_alpha_constant_color" />
-<Test name="add_dst_alpha_one_minus_src_color" />
-<Test name="reverse_subtract_zero_src_color" />
-<Test name="subtract_dst_color_one_minus_constant_color" />
-<Test name="reverse_subtract_one_minus_constant_color_src_color" />
-<Test name="add_one_minus_constant_color_one_minus_src_alpha" />
-<Test name="subtract_one_minus_dst_color_one_minus_constant_color" />
-<Test name="reverse_subtract_zero_one_minus_src_color" />
-<Test name="add_one_minus_constant_alpha_src_alpha_saturate" />
-<Test name="add_src_color_one_minus_constant_color" />
-<Test name="subtract_dst_alpha_constant_alpha" />
-<Test name="add_src_alpha_src_color" />
-<Test name="reverse_subtract_one_minus_dst_alpha_zero" />
-<Test name="subtract_one_minus_dst_alpha_constant_alpha" />
-<Test name="reverse_subtract_zero_one_minus_dst_alpha" />
-<Test name="reverse_subtract_one_minus_dst_alpha_one_minus_src_color" />
-<Test name="reverse_subtract_zero_one_minus_constant_alpha" />
-<Test name="reverse_subtract_one_minus_constant_alpha_dst_alpha" />
-<Test name="add_one_minus_dst_color_src_alpha" />
-<Test name="reverse_subtract_one_minus_constant_alpha_one_minus_constant_alpha" />
-<Test name="add_dst_color_zero" />
-<Test name="add_constant_color_zero" />
-<Test name="add_constant_color_src_alpha" />
-<Test name="add_src_alpha_one_minus_dst_alpha" />
-<Test name="add_one_minus_constant_alpha_src_color" />
-<Test name="add_one_minus_src_color_constant_alpha" />
-<Test name="reverse_subtract_src_alpha_saturate_dst_alpha" />
-<Test name="add_constant_color_src_color" />
-<Test name="add_zero_src_color" />
-<Test name="reverse_subtract_one_minus_constant_alpha_src_color" />
-<Test name="add_constant_color_dst_color" />
-<Test name="add_dst_alpha_dst_color" />
-<Test name="reverse_subtract_dst_alpha_src_alpha" />
-<Test name="subtract_constant_alpha_dst_alpha" />
-<Test name="subtract_src_alpha_saturate_one_minus_src_color" />
-<Test name="add_src_color_constant_color" />
-<Test name="add_one_minus_dst_color_constant_color" />
-<Test name="reverse_subtract_one_minus_constant_color_one_minus_src_color" />
-<Test name="add_constant_color_one_minus_dst_alpha" />
-<Test name="reverse_subtract_one_minus_src_alpha_one_minus_src_color" />
-<Test name="add_dst_alpha_one_minus_constant_color" />
-<Test name="add_dst_color_constant_alpha" />
-<Test name="reverse_subtract_dst_color_src_alpha_saturate" />
-<Test name="subtract_one_minus_src_alpha_constant_alpha" />
-<Test name="reverse_subtract_one_minus_src_alpha_constant_alpha" />
-<Test name="add_dst_color_one_minus_dst_alpha" />
-<Test name="subtract_constant_alpha_constant_color" />
-<Test name="add_one_minus_dst_alpha_constant_color" />
-<Test name="add_zero_constant_alpha" />
-<Test name="add_one_minus_src_color_one_minus_dst_alpha" />
+<TestCase name="subrange">
+<Test name="middle" />
+<Test name="small_to_large" />
+<Test name="large_to_small" />
+<Test name="low_to_high_1" />
+<Test name="low_to_high_2" />
+<Test name="high_to_low_1" />
+<Test name="high_to_low_2" />
 </TestCase>
-<TestSuite name="rgb_func_alpha_func">
-<TestCase name="src">
-<Test name="one_minus_src_alpha_one_minus_dst_alpha" />
-<Test name="src_alpha_saturate_one_minus_constant_color" />
-<Test name="one_minus_constant_color_src_color" />
-<Test name="dst_alpha_one_minus_src_alpha" />
-<Test name="one_minus_src_color_one_minus_dst_alpha" />
-<Test name="one_minus_dst_alpha_dst_color" />
-<Test name="one_minus_dst_color_one_minus_constant_alpha" />
-<Test name="one_minus_constant_color_one_minus_dst_color" />
-<Test name="constant_color_one_minus_constant_alpha" />
-<Test name="zero_zero" />
-<Test name="one_minus_constant_color_constant_color" />
-<Test name="constant_alpha_one" />
-<Test name="one_minus_constant_alpha_dst_color" />
-<Test name="zero_one_minus_src_alpha" />
-<Test name="src_alpha_saturate_src_alpha" />
-<Test name="dst_color_src_alpha_saturate" />
-<Test name="dst_color_constant_alpha" />
-<Test name="one_src_alpha" />
-<Test name="one_minus_src_color_dst_alpha" />
-<Test name="one_zero" />
-<Test name="constant_alpha_one_minus_src_color" />
-<Test name="dst_alpha_src_alpha" />
-<Test name="zero_dst_alpha" />
-<Test name="constant_color_src_color" />
-<Test name="one_minus_dst_color_one_minus_constant_color" />
-<Test name="constant_alpha_zero" />
-<Test name="one_minus_constant_color_one_minus_src_alpha" />
-<Test name="src_color_one_minus_dst_color" />
-<Test name="src_alpha_one_minus_src_alpha" />
-<Test name="src_alpha_saturate_one_minus_src_alpha" />
-<Test name="dst_color_one_minus_constant_alpha" />
-<Test name="one_minus_src_alpha_zero" />
-<Test name="src_alpha_saturate_zero" />
-<Test name="one_minus_dst_alpha_one_minus_constant_alpha" />
-<Test name="one_constant_color" />
-<Test name="one_minus_src_alpha_constant_alpha" />
-<Test name="one_minus_dst_alpha_one_minus_constant_color" />
-<Test name="dst_alpha_src_color" />
-<Test name="one_minus_dst_alpha_one_minus_src_alpha" />
-<Test name="dst_alpha_one" />
-<Test name="one_minus_constant_color_constant_alpha" />
-<Test name="one_minus_src_color_src_alpha_saturate" />
-<Test name="one_minus_src_alpha_one_minus_dst_color" />
-<Test name="one_minus_dst_color_one_minus_dst_color" />
-<Test name="one_minus_constant_alpha_src_color" />
-<Test name="src_alpha_zero" />
-<Test name="one_minus_dst_color_one_minus_src_color" />
-<Test name="one_minus_dst_color_zero" />
-<Test name="one_minus_constant_color_dst_alpha" />
-<Test name="zero_dst_color" />
-<Test name="constant_alpha_src_alpha" />
-<Test name="dst_alpha_one_minus_dst_alpha" />
-<Test name="one_src_alpha_saturate" />
-<Test name="constant_color_src_alpha" />
-<Test name="one_minus_src_alpha_src_color" />
-<Test name="src_alpha_one_minus_dst_color" />
-<Test name="zero_one_minus_dst_alpha" />
-<Test name="one_minus_constant_color_one_minus_constant_color" />
-<Test name="zero_src_alpha" />
-<Test name="constant_color_one_minus_src_alpha" />
-<Test name="one_minus_constant_alpha_one_minus_dst_color" />
-<Test name="one_minus_constant_color_dst_color" />
-<Test name="one_minus_dst_alpha_one_minus_dst_color" />
-<Test name="one_minus_src_alpha_one_minus_constant_color" />
-<Test name="one_minus_dst_alpha_dst_alpha" />
-<Test name="one_minus_src_color_src_alpha" />
-<Test name="one_minus_dst_color_one" />
-<Test name="constant_color_constant_color" />
-<Test name="one_minus_constant_alpha_one_minus_src_alpha" />
-<Test name="src_color_src_color" />
-<Test name="one_minus_src_color_constant_color" />
-<Test name="src_color_one_minus_src_color" />
-<Test name="one_minus_src_color_one_minus_dst_color" />
-<Test name="one_minus_constant_alpha_constant_alpha" />
-<Test name="constant_alpha_dst_color" />
-<Test name="one_minus_src_color_one_minus_src_alpha" />
-<Test name="one_src_color" />
-<Test name="constant_alpha_constant_alpha" />
-<Test name="dst_alpha_constant_color" />
-<Test name="src_alpha_one_minus_dst_alpha" />
-<Test name="src_alpha_saturate_dst_alpha" />
-<Test name="one_minus_dst_alpha_src_alpha_saturate" />
-<Test name="constant_color_one_minus_dst_alpha" />
-<Test name="one_one_minus_src_color" />
-<Test name="one_minus_dst_alpha_src_alpha" />
-<Test name="constant_color_dst_color" />
-<Test name="one_minus_constant_alpha_src_alpha" />
-<Test name="one_minus_constant_color_src_alpha" />
-<Test name="one_dst_color" />
-<Test name="dst_color_one" />
-<Test name="src_color_src_alpha_saturate" />
-<Test name="one_minus_constant_alpha_one_minus_dst_alpha" />
-<Test name="one_minus_src_alpha_dst_color" />
-<Test name="one_minus_src_alpha_constant_color" />
-<Test name="one_minus_constant_color_src_alpha_saturate" />
-<Test name="one_minus_dst_color_one_minus_src_alpha" />
-<Test name="constant_alpha_one_minus_dst_alpha" />
-<Test name="one_minus_src_color_one" />
-<Test name="src_color_src_alpha" />
-<Test name="src_color_one" />
-<Test name="dst_color_one_minus_src_color" />
-<Test name="one_minus_dst_color_dst_color" />
-<Test name="one_minus_dst_alpha_constant_color" />
-<Test name="one_minus_constant_alpha_dst_alpha" />
-<Test name="one_minus_dst_alpha_constant_alpha" />
-<Test name="dst_alpha_src_alpha_saturate" />
-<Test name="dst_alpha_constant_alpha" />
-<Test name="one_minus_dst_alpha_one_minus_dst_alpha" />
-<Test name="src_alpha_one" />
-<Test name="one_minus_constant_color_one" />
-<Test name="one_minus_constant_alpha_one_minus_src_color" />
-<Test name="one_minus_dst_color_src_color" />
-<Test name="src_alpha_constant_color" />
-<Test name="constant_color_one_minus_constant_color" />
-<Test name="one_minus_src_alpha_one_minus_src_color" />
-<Test name="src_alpha_dst_alpha" />
-<Test name="constant_alpha_constant_color" />
-<Test name="constant_color_one" />
-<Test name="one_constant_alpha" />
-<Test name="one_minus_dst_alpha_zero" />
-<Test name="dst_color_one_minus_constant_color" />
-<Test name="one_minus_src_color_one_minus_constant_color" />
-<Test name="one_minus_dst_color_one_minus_dst_alpha" />
-<Test name="one_minus_dst_alpha_one_minus_src_color" />
-<Test name="zero_one_minus_dst_color" />
-<Test name="one_minus_dst_color_constant_alpha" />
-<Test name="dst_alpha_one_minus_dst_color" />
-<Test name="src_alpha_src_alpha" />
-<Test name="src_color_constant_color" />
-<Test name="src_alpha_saturate_src_color" />
-<Test name="src_alpha_dst_color" />
-<Test name="zero_constant_color" />
-<Test name="dst_alpha_dst_alpha" />
-<Test name="dst_alpha_zero" />
-<Test name="zero_one_minus_src_color" />
-<Test name="src_color_constant_alpha" />
-<Test name="one_minus_constant_alpha_src_alpha_saturate" />
-<Test name="src_color_dst_alpha" />
-<Test name="src_color_dst_color" />
-<Test name="constant_color_one_minus_dst_color" />
-<Test name="one_minus_constant_alpha_one" />
-<Test name="one_minus_constant_alpha_zero" />
-<Test name="dst_color_constant_color" />
-<Test name="constant_color_dst_alpha" />
-<Test name="constant_color_one_minus_src_color" />
-<Test name="dst_color_zero" />
-<Test name="one_minus_dst_alpha_one" />
-<Test name="one_minus_src_color_dst_color" />
-<Test name="dst_color_src_alpha" />
-<Test name="dst_alpha_one_minus_src_color" />
-<Test name="one_one_minus_constant_color" />
-<Test name="one_minus_dst_color_constant_color" />
-<Test name="dst_color_dst_alpha" />
-<Test name="dst_alpha_one_minus_constant_alpha" />
-<Test name="one_minus_constant_color_zero" />
-<Test name="one_minus_src_alpha_one_minus_constant_alpha" />
-<Test name="src_alpha_saturate_constant_color" />
-<Test name="src_alpha_saturate_src_alpha_saturate" />
-<Test name="dst_alpha_one_minus_constant_color" />
-<Test name="one_minus_constant_color_one_minus_dst_alpha" />
-<Test name="one_minus_src_color_zero" />
-<Test name="src_alpha_saturate_one_minus_constant_alpha" />
-<Test name="zero_one_minus_constant_color" />
-<Test name="src_alpha_one_minus_src_color" />
-<Test name="one_minus_dst_alpha_src_color" />
-<Test name="zero_one" />
-<Test name="constant_color_constant_alpha" />
-<Test name="one_minus_constant_alpha_one_minus_constant_alpha" />
-<Test name="one_one_minus_dst_alpha" />
-<Test name="one_minus_constant_color_one_minus_src_color" />
-<Test name="zero_one_minus_constant_alpha" />
-<Test name="one_minus_constant_alpha_constant_color" />
-<Test name="one_minus_src_color_one_minus_constant_alpha" />
-<Test name="dst_color_src_color" />
-<Test name="src_alpha_src_color" />
-<Test name="dst_color_one_minus_dst_alpha" />
-<Test name="one_minus_src_alpha_src_alpha_saturate" />
-<Test name="src_alpha_saturate_one_minus_dst_color" />
-<Test name="src_alpha_saturate_constant_alpha" />
-<Test name="zero_src_color" />
-<Test name="constant_alpha_one_minus_src_alpha" />
-<Test name="src_color_one_minus_constant_color" />
-<Test name="one_minus_constant_alpha_one_minus_constant_color" />
-<Test name="src_alpha_one_minus_constant_alpha" />
-<Test name="constant_alpha_src_alpha_saturate" />
-<Test name="src_alpha_saturate_one_minus_dst_alpha" />
-<Test name="constant_alpha_one_minus_constant_alpha" />
-<Test name="dst_color_one_minus_src_alpha" />
-<Test name="constant_alpha_dst_alpha" />
-<Test name="one_minus_constant_color_one_minus_constant_alpha" />
-<Test name="one_one_minus_dst_color" />
-<Test name="src_alpha_src_alpha_saturate" />
-<Test name="src_color_one_minus_dst_alpha" />
-<Test name="one_dst_alpha" />
-<Test name="src_color_one_minus_src_alpha" />
-<Test name="one_one" />
-<Test name="src_alpha_constant_alpha" />
-<Test name="src_alpha_one_minus_constant_color" />
-<Test name="src_color_zero" />
-<Test name="dst_color_dst_color" />
-<Test name="constant_alpha_one_minus_dst_color" />
-<Test name="src_alpha_saturate_one" />
-<Test name="zero_constant_alpha" />
-<Test name="zero_src_alpha_saturate" />
-<Test name="constant_alpha_src_color" />
-<Test name="src_alpha_saturate_dst_color" />
-<Test name="one_minus_src_alpha_one" />
-<Test name="one_minus_src_color_one_minus_src_color" />
-<Test name="constant_color_zero" />
-<Test name="one_minus_src_alpha_dst_alpha" />
-<Test name="src_color_one_minus_constant_alpha" />
-<Test name="one_minus_dst_color_src_alpha_saturate" />
-<Test name="one_minus_src_alpha_src_alpha" />
-<Test name="one_minus_src_color_constant_alpha" />
-<Test name="constant_color_src_alpha_saturate" />
-<Test name="src_alpha_saturate_one_minus_src_color" />
-<Test name="one_minus_src_alpha_one_minus_src_alpha" />
-<Test name="dst_alpha_dst_color" />
-<Test name="one_minus_src_color_src_color" />
-<Test name="dst_color_one_minus_dst_color" />
-<Test name="one_one_minus_constant_alpha" />
-<Test name="one_minus_dst_color_dst_alpha" />
-<Test name="constant_alpha_one_minus_constant_color" />
-<Test name="one_one_minus_src_alpha" />
-<Test name="one_minus_dst_color_src_alpha" />
-</TestCase>
-<TestCase name="dst">
-<Test name="one_minus_src_alpha_one_minus_dst_alpha" />
-<Test name="src_alpha_saturate_one_minus_constant_color" />
-<Test name="one_minus_constant_color_src_color" />
-<Test name="dst_alpha_one_minus_src_alpha" />
-<Test name="one_minus_src_color_one_minus_dst_alpha" />
-<Test name="one_minus_dst_alpha_dst_color" />
-<Test name="one_minus_dst_color_one_minus_constant_alpha" />
-<Test name="one_minus_constant_color_one_minus_dst_color" />
-<Test name="constant_color_one_minus_constant_alpha" />
-<Test name="zero_zero" />
-<Test name="one_minus_constant_color_constant_color" />
-<Test name="constant_alpha_one" />
-<Test name="one_minus_constant_alpha_dst_color" />
-<Test name="zero_one_minus_src_alpha" />
-<Test name="src_alpha_saturate_src_alpha" />
-<Test name="dst_color_src_alpha_saturate" />
-<Test name="dst_color_constant_alpha" />
-<Test name="one_src_alpha" />
-<Test name="one_minus_src_color_dst_alpha" />
-<Test name="one_zero" />
-<Test name="constant_alpha_one_minus_src_color" />
-<Test name="dst_alpha_src_alpha" />
-<Test name="zero_dst_alpha" />
-<Test name="constant_color_src_color" />
-<Test name="one_minus_dst_color_one_minus_constant_color" />
-<Test name="constant_alpha_zero" />
-<Test name="one_minus_constant_color_one_minus_src_alpha" />
-<Test name="src_color_one_minus_dst_color" />
-<Test name="src_alpha_one_minus_src_alpha" />
-<Test name="src_alpha_saturate_one_minus_src_alpha" />
-<Test name="dst_color_one_minus_constant_alpha" />
-<Test name="one_minus_src_alpha_zero" />
-<Test name="src_alpha_saturate_zero" />
-<Test name="one_minus_dst_alpha_one_minus_constant_alpha" />
-<Test name="one_constant_color" />
-<Test name="one_minus_src_alpha_constant_alpha" />
-<Test name="one_minus_dst_alpha_one_minus_constant_color" />
-<Test name="dst_alpha_src_color" />
-<Test name="one_minus_dst_alpha_one_minus_src_alpha" />
-<Test name="dst_alpha_one" />
-<Test name="one_minus_constant_color_constant_alpha" />
-<Test name="one_minus_src_color_src_alpha_saturate" />
-<Test name="one_minus_src_alpha_one_minus_dst_color" />
-<Test name="one_minus_dst_color_one_minus_dst_color" />
-<Test name="one_minus_constant_alpha_src_color" />
-<Test name="src_alpha_zero" />
-<Test name="one_minus_dst_color_one_minus_src_color" />
-<Test name="one_minus_dst_color_zero" />
-<Test name="one_minus_constant_color_dst_alpha" />
-<Test name="zero_dst_color" />
-<Test name="constant_alpha_src_alpha" />
-<Test name="dst_alpha_one_minus_dst_alpha" />
-<Test name="one_src_alpha_saturate" />
-<Test name="constant_color_src_alpha" />
-<Test name="one_minus_src_alpha_src_color" />
-<Test name="src_alpha_one_minus_dst_color" />
-<Test name="zero_one_minus_dst_alpha" />
-<Test name="one_minus_constant_color_one_minus_constant_color" />
-<Test name="zero_src_alpha" />
-<Test name="constant_color_one_minus_src_alpha" />
-<Test name="one_minus_constant_alpha_one_minus_dst_color" />
-<Test name="one_minus_constant_color_dst_color" />
-<Test name="one_minus_dst_alpha_one_minus_dst_color" />
-<Test name="one_minus_src_alpha_one_minus_constant_color" />
-<Test name="one_minus_dst_alpha_dst_alpha" />
-<Test name="one_minus_src_color_src_alpha" />
-<Test name="one_minus_dst_color_one" />
-<Test name="constant_color_constant_color" />
-<Test name="one_minus_constant_alpha_one_minus_src_alpha" />
-<Test name="src_color_src_color" />
-<Test name="one_minus_src_color_constant_color" />
-<Test name="src_color_one_minus_src_color" />
-<Test name="one_minus_src_color_one_minus_dst_color" />
-<Test name="one_minus_constant_alpha_constant_alpha" />
-<Test name="constant_alpha_dst_color" />
-<Test name="one_minus_src_color_one_minus_src_alpha" />
-<Test name="one_src_color" />
-<Test name="constant_alpha_constant_alpha" />
-<Test name="dst_alpha_constant_color" />
-<Test name="src_alpha_one_minus_dst_alpha" />
-<Test name="src_alpha_saturate_dst_alpha" />
-<Test name="one_minus_dst_alpha_src_alpha_saturate" />
-<Test name="constant_color_one_minus_dst_alpha" />
-<Test name="one_one_minus_src_color" />
-<Test name="one_minus_dst_alpha_src_alpha" />
-<Test name="constant_color_dst_color" />
-<Test name="one_minus_constant_alpha_src_alpha" />
-<Test name="one_minus_constant_color_src_alpha" />
-<Test name="one_dst_color" />
-<Test name="dst_color_one" />
-<Test name="src_color_src_alpha_saturate" />
-<Test name="one_minus_constant_alpha_one_minus_dst_alpha" />
-<Test name="one_minus_src_alpha_dst_color" />
-<Test name="one_minus_src_alpha_constant_color" />
-<Test name="one_minus_constant_color_src_alpha_saturate" />
-<Test name="one_minus_dst_color_one_minus_src_alpha" />
-<Test name="constant_alpha_one_minus_dst_alpha" />
-<Test name="one_minus_src_color_one" />
-<Test name="src_color_src_alpha" />
-<Test name="src_color_one" />
-<Test name="dst_color_one_minus_src_color" />
-<Test name="one_minus_dst_color_dst_color" />
-<Test name="one_minus_dst_alpha_constant_color" />
-<Test name="one_minus_constant_alpha_dst_alpha" />
-<Test name="one_minus_dst_alpha_constant_alpha" />
-<Test name="dst_alpha_src_alpha_saturate" />
-<Test name="dst_alpha_constant_alpha" />
-<Test name="one_minus_dst_alpha_one_minus_dst_alpha" />
-<Test name="src_alpha_one" />
-<Test name="one_minus_constant_color_one" />
-<Test name="one_minus_constant_alpha_one_minus_src_color" />
-<Test name="one_minus_dst_color_src_color" />
-<Test name="src_alpha_constant_color" />
-<Test name="constant_color_one_minus_constant_color" />
-<Test name="one_minus_src_alpha_one_minus_src_color" />
-<Test name="src_alpha_dst_alpha" />
-<Test name="constant_alpha_constant_color" />
-<Test name="constant_color_one" />
-<Test name="one_constant_alpha" />
-<Test name="one_minus_dst_alpha_zero" />
-<Test name="dst_color_one_minus_constant_color" />
-<Test name="one_minus_src_color_one_minus_constant_color" />
-<Test name="one_minus_dst_color_one_minus_dst_alpha" />
-<Test name="one_minus_dst_alpha_one_minus_src_color" />
-<Test name="zero_one_minus_dst_color" />
-<Test name="one_minus_dst_color_constant_alpha" />
-<Test name="dst_alpha_one_minus_dst_color" />
-<Test name="src_alpha_src_alpha" />
-<Test name="src_color_constant_color" />
-<Test name="src_alpha_saturate_src_color" />
-<Test name="src_alpha_dst_color" />
-<Test name="zero_constant_color" />
-<Test name="dst_alpha_dst_alpha" />
-<Test name="dst_alpha_zero" />
-<Test name="zero_one_minus_src_color" />
-<Test name="src_color_constant_alpha" />
-<Test name="one_minus_constant_alpha_src_alpha_saturate" />
-<Test name="src_color_dst_alpha" />
-<Test name="src_color_dst_color" />
-<Test name="constant_color_one_minus_dst_color" />
-<Test name="one_minus_constant_alpha_one" />
-<Test name="one_minus_constant_alpha_zero" />
-<Test name="dst_color_constant_color" />
-<Test name="constant_color_dst_alpha" />
-<Test name="constant_color_one_minus_src_color" />
-<Test name="dst_color_zero" />
-<Test name="one_minus_dst_alpha_one" />
-<Test name="one_minus_src_color_dst_color" />
-<Test name="dst_color_src_alpha" />
-<Test name="dst_alpha_one_minus_src_color" />
-<Test name="one_one_minus_constant_color" />
-<Test name="one_minus_dst_color_constant_color" />
-<Test name="dst_color_dst_alpha" />
-<Test name="dst_alpha_one_minus_constant_alpha" />
-<Test name="one_minus_constant_color_zero" />
-<Test name="one_minus_src_alpha_one_minus_constant_alpha" />
-<Test name="src_alpha_saturate_constant_color" />
-<Test name="src_alpha_saturate_src_alpha_saturate" />
-<Test name="dst_alpha_one_minus_constant_color" />
-<Test name="one_minus_constant_color_one_minus_dst_alpha" />
-<Test name="one_minus_src_color_zero" />
-<Test name="src_alpha_saturate_one_minus_constant_alpha" />
-<Test name="zero_one_minus_constant_color" />
-<Test name="src_alpha_one_minus_src_color" />
-<Test name="one_minus_dst_alpha_src_color" />
-<Test name="zero_one" />
-<Test name="constant_color_constant_alpha" />
-<Test name="one_minus_constant_alpha_one_minus_constant_alpha" />
-<Test name="one_one_minus_dst_alpha" />
-<Test name="one_minus_constant_color_one_minus_src_color" />
-<Test name="zero_one_minus_constant_alpha" />
-<Test name="one_minus_constant_alpha_constant_color" />
-<Test name="one_minus_src_color_one_minus_constant_alpha" />
-<Test name="dst_color_src_color" />
-<Test name="src_alpha_src_color" />
-<Test name="dst_color_one_minus_dst_alpha" />
-<Test name="one_minus_src_alpha_src_alpha_saturate" />
-<Test name="src_alpha_saturate_one_minus_dst_color" />
-<Test name="src_alpha_saturate_constant_alpha" />
-<Test name="zero_src_color" />
-<Test name="constant_alpha_one_minus_src_alpha" />
-<Test name="src_color_one_minus_constant_color" />
-<Test name="one_minus_constant_alpha_one_minus_constant_color" />
-<Test name="src_alpha_one_minus_constant_alpha" />
-<Test name="constant_alpha_src_alpha_saturate" />
-<Test name="src_alpha_saturate_one_minus_dst_alpha" />
-<Test name="constant_alpha_one_minus_constant_alpha" />
-<Test name="dst_color_one_minus_src_alpha" />
-<Test name="constant_alpha_dst_alpha" />
-<Test name="one_minus_constant_color_one_minus_constant_alpha" />
-<Test name="one_one_minus_dst_color" />
-<Test name="src_alpha_src_alpha_saturate" />
-<Test name="src_color_one_minus_dst_alpha" />
-<Test name="one_dst_alpha" />
-<Test name="src_color_one_minus_src_alpha" />
-<Test name="one_one" />
-<Test name="src_alpha_constant_alpha" />
-<Test name="src_alpha_one_minus_constant_color" />
-<Test name="src_color_zero" />
-<Test name="dst_color_dst_color" />
-<Test name="constant_alpha_one_minus_dst_color" />
-<Test name="src_alpha_saturate_one" />
-<Test name="zero_constant_alpha" />
-<Test name="zero_src_alpha_saturate" />
-<Test name="constant_alpha_src_color" />
-<Test name="src_alpha_saturate_dst_color" />
-<Test name="one_minus_src_alpha_one" />
-<Test name="one_minus_src_color_one_minus_src_color" />
-<Test name="constant_color_zero" />
-<Test name="one_minus_src_alpha_dst_alpha" />
-<Test name="src_color_one_minus_constant_alpha" />
-<Test name="one_minus_dst_color_src_alpha_saturate" />
-<Test name="one_minus_src_alpha_src_alpha" />
-<Test name="one_minus_src_color_constant_alpha" />
-<Test name="constant_color_src_alpha_saturate" />
-<Test name="src_alpha_saturate_one_minus_src_color" />
-<Test name="one_minus_src_alpha_one_minus_src_alpha" />
-<Test name="dst_alpha_dst_color" />
-<Test name="one_minus_src_color_src_color" />
-<Test name="dst_color_one_minus_dst_color" />
-<Test name="one_one_minus_constant_alpha" />
-<Test name="one_minus_dst_color_dst_alpha" />
-<Test name="constant_alpha_one_minus_constant_color" />
-<Test name="one_one_minus_src_alpha" />
-<Test name="one_minus_dst_color_src_alpha" />
+<TestCase name="single_buffer">
+<Test name="array_copy_read" />
+<Test name="array_copy_write" />
+<Test name="array_element_array" />
+<Test name="array_pixel_pack" />
+<Test name="array_pixel_unpack" />
+<Test name="array_transform_feedback" />
+<Test name="array_uniform" />
+<Test name="copy_read_array" />
+<Test name="copy_read_copy_write" />
+<Test name="copy_read_element_array" />
+<Test name="copy_read_pixel_pack" />
+<Test name="copy_read_pixel_unpack" />
+<Test name="copy_read_transform_feedback" />
+<Test name="copy_read_uniform" />
+<Test name="copy_write_array" />
+<Test name="copy_write_copy_read" />
+<Test name="copy_write_element_array" />
+<Test name="copy_write_pixel_pack" />
+<Test name="copy_write_pixel_unpack" />
+<Test name="copy_write_transform_feedback" />
+<Test name="copy_write_uniform" />
+<Test name="element_array_array" />
+<Test name="element_array_copy_read" />
+<Test name="element_array_copy_write" />
+<Test name="element_array_pixel_pack" />
+<Test name="element_array_pixel_unpack" />
+<Test name="element_array_transform_feedback" />
+<Test name="element_array_uniform" />
+<Test name="pixel_pack_array" />
+<Test name="pixel_pack_copy_read" />
+<Test name="pixel_pack_copy_write" />
+<Test name="pixel_pack_element_array" />
+<Test name="pixel_pack_pixel_unpack" />
+<Test name="pixel_pack_transform_feedback" />
+<Test name="pixel_pack_uniform" />
+<Test name="pixel_unpack_array" />
+<Test name="pixel_unpack_copy_read" />
+<Test name="pixel_unpack_copy_write" />
+<Test name="pixel_unpack_element_array" />
+<Test name="pixel_unpack_pixel_pack" />
+<Test name="pixel_unpack_transform_feedback" />
+<Test name="pixel_unpack_uniform" />
+<Test name="transform_feedback_array" />
+<Test name="transform_feedback_copy_read" />
+<Test name="transform_feedback_copy_write" />
+<Test name="transform_feedback_element_array" />
+<Test name="transform_feedback_pixel_pack" />
+<Test name="transform_feedback_pixel_unpack" />
+<Test name="transform_feedback_uniform" />
+<Test name="uniform_array" />
+<Test name="uniform_copy_read" />
+<Test name="uniform_copy_write" />
+<Test name="uniform_element_array" />
+<Test name="uniform_pixel_pack" />
+<Test name="uniform_pixel_unpack" />
+<Test name="uniform_transform_feedback" />
 </TestCase>
 </TestSuite>
 </TestSuite>
-<TestSuite name="default_framebuffer">
-<TestCase name="rgb_equation_alpha_equation">
-<Test name="max_min" />
-<Test name="min_subtract" />
-<Test name="min_add" />
-<Test name="reverse_subtract_subtract" />
-<Test name="max_subtract" />
-<Test name="subtract_reverse_subtract" />
-<Test name="reverse_subtract_reverse_subtract" />
-<Test name="reverse_subtract_max" />
-<Test name="add_reverse_subtract" />
-<Test name="subtract_max" />
-<Test name="max_reverse_subtract" />
-<Test name="add_min" />
-<Test name="min_max" />
-<Test name="subtract_min" />
-<Test name="subtract_subtract" />
-<Test name="min_reverse_subtract" />
-<Test name="subtract_add" />
-<Test name="max_add" />
-<Test name="add_add" />
-<Test name="add_subtract" />
-<Test name="reverse_subtract_add" />
-<Test name="add_max" />
-<Test name="reverse_subtract_min" />
-<Test name="min_min" />
-<Test name="max_max" />
+<TestSuite name="shaders">
+<TestSuite name="preprocessor">
+<TestCase name="basic">
+<Test name="correct_phases_vertex" />
+<Test name="correct_phases_fragment" />
+<Test name="invalid_identifier_vertex" />
+<Test name="invalid_identifier_fragment" />
+<Test name="null_directive_vertex" />
+<Test name="null_directive_fragment" />
+<Test name="invalid_directive_vertex" />
+<Test name="invalid_directive_fragment" />
+<Test name="missing_identifier_vertex" />
+<Test name="missing_identifier_fragment" />
+<Test name="empty_object_vertex" />
+<Test name="empty_object_fragment" />
+<Test name="empty_function_vertex" />
+<Test name="empty_function_fragment" />
+<Test name="empty_directive_vertex" />
+<Test name="empty_directive_fragment" />
 </TestCase>
-<TestCase name="equation_src_func_dst_func">
-<Test name="subtract_zero_one_minus_src_color" />
-<Test name="reverse_subtract_one_minus_constant_alpha_one_minus_dst_alpha" />
-<Test name="subtract_one_minus_dst_alpha_one" />
-<Test name="add_one_minus_constant_alpha_one_minus_src_alpha" />
-<Test name="subtract_src_color_src_alpha" />
-<Test name="reverse_subtract_constant_alpha_one_minus_dst_color" />
-<Test name="reverse_subtract_dst_color_src_alpha" />
-<Test name="reverse_subtract_one_minus_src_color_src_alpha_saturate" />
-<Test name="subtract_constant_alpha_constant_alpha" />
-<Test name="subtract_one_minus_src_alpha_src_color" />
-<Test name="reverse_subtract_one_minus_constant_color_dst_alpha" />
-<Test name="subtract_one_constant_color" />
-<Test name="subtract_src_color_one_minus_constant_color" />
-<Test name="add_one_one" />
-<Test name="add_zero_one" />
-<Test name="add_one_minus_constant_alpha_src_alpha" />
-<Test name="subtract_one_minus_src_alpha_one_minus_dst_alpha" />
-<Test name="add_one_minus_constant_alpha_one_minus_constant_color" />
-<Test name="add_one_minus_src_color_src_alpha_saturate" />
-<Test name="add_zero_dst_alpha" />
-<Test name="subtract_dst_alpha_one_minus_dst_color" />
-<Test name="add_one_minus_dst_alpha_dst_alpha" />
-<Test name="subtract_zero_one_minus_dst_alpha" />
-<Test name="subtract_dst_color_one_minus_src_color" />
-<Test name="subtract_one_minus_constant_alpha_one_minus_constant_color" />
-<Test name="add_constant_color_one_minus_src_alpha" />
-<Test name="subtract_one_dst_color" />
-<Test name="add_one_minus_src_alpha_dst_alpha" />
-<Test name="subtract_one_minus_src_color_src_alpha" />
-<Test name="subtract_one_src_color" />
-<Test name="subtract_dst_color_dst_color" />
-<Test name="reverse_subtract_constant_alpha_constant_color" />
-<Test name="subtract_constant_alpha_one_minus_src_color" />
-<Test name="reverse_subtract_dst_alpha_one_minus_dst_alpha" />
-<Test name="subtract_one_minus_src_color_dst_color" />
-<Test name="subtract_src_alpha_saturate_one_minus_dst_alpha" />
-<Test name="add_src_alpha_saturate_one_minus_constant_color" />
-<Test name="subtract_one_minus_src_alpha_dst_color" />
-<Test name="subtract_one_minus_dst_alpha_src_alpha" />
-<Test name="add_one_minus_constant_alpha_dst_alpha" />
-<Test name="subtract_one_minus_src_alpha_one_minus_constant_color" />
-<Test name="add_src_alpha_zero" />
-<Test name="add_src_color_one_minus_dst_color" />
-<Test name="subtract_one_minus_constant_color_dst_color" />
-<Test name="subtract_one_minus_dst_alpha_one_minus_src_alpha" />
-<Test name="add_one_minus_dst_alpha_dst_color" />
-<Test name="reverse_subtract_constant_alpha_src_alpha" />
-<Test name="reverse_subtract_one_minus_constant_alpha_one_minus_constant_color" />
-<Test name="reverse_subtract_src_alpha_saturate_one_minus_src_alpha" />
-<Test name="subtract_dst_alpha_one_minus_dst_alpha" />
-<Test name="add_one_minus_dst_color_src_color" />
-<Test name="subtract_one_minus_dst_color_dst_alpha" />
-<Test name="reverse_subtract_one_constant_color" />
-<Test name="add_one_minus_constant_alpha_one_minus_dst_color" />
-<Test name="subtract_one_minus_dst_color_src_color" />
-<Test name="reverse_subtract_one_minus_constant_color_one_minus_dst_alpha" />
-<Test name="subtract_src_color_constant_alpha" />
-<Test name="subtract_one_minus_constant_color_dst_alpha" />
-<Test name="add_zero_one_minus_dst_color" />
-<Test name="subtract_dst_color_src_alpha" />
-<Test name="subtract_constant_alpha_one_minus_src_alpha" />
-<Test name="subtract_one_constant_alpha" />
-<Test name="subtract_src_color_one_minus_constant_alpha" />
-<Test name="add_src_color_zero" />
-<Test name="add_one_minus_constant_alpha_constant_alpha" />
-<Test name="add_one_minus_dst_alpha_zero" />
-<Test name="reverse_subtract_one_minus_src_alpha_one_minus_constant_color" />
-<Test name="add_one_minus_constant_alpha_one_minus_constant_alpha" />
-<Test name="subtract_constant_color_src_alpha_saturate" />
-<Test name="subtract_constant_color_dst_alpha" />
-<Test name="reverse_subtract_src_alpha_saturate_constant_alpha" />
-<Test name="reverse_subtract_src_color_one_minus_dst_color" />
-<Test name="subtract_constant_alpha_one_minus_dst_color" />
-<Test name="reverse_subtract_zero_dst_alpha" />
-<Test name="add_one_minus_dst_color_one_minus_dst_color" />
-<Test name="add_one_minus_dst_alpha_src_color" />
-<Test name="add_one_one_minus_dst_color" />
-<Test name="add_one_src_alpha_saturate" />
-<Test name="add_one_src_alpha" />
-<Test name="subtract_constant_alpha_one_minus_constant_color" />
-<Test name="reverse_subtract_src_alpha_one_minus_dst_color" />
-<Test name="add_one_minus_dst_color_zero" />
-<Test name="add_dst_color_one_minus_src_color" />
-<Test name="reverse_subtract_dst_alpha_zero" />
-<Test name="reverse_subtract_one_minus_dst_color_dst_color" />
-<Test name="add_one_minus_constant_color_one_minus_dst_color" />
-<Test name="subtract_one_minus_constant_color_one_minus_dst_color" />
-<Test name="reverse_subtract_one_minus_src_alpha_src_alpha" />
-<Test name="add_constant_color_one_minus_constant_color" />
-<Test name="subtract_constant_alpha_zero" />
-<Test name="reverse_subtract_src_color_src_alpha" />
-<Test name="subtract_one_minus_dst_alpha_src_alpha_saturate" />
-<Test name="add_one_minus_constant_color_one_minus_dst_alpha" />
-<Test name="add_one_minus_dst_color_dst_color" />
-<Test name="add_one_one_minus_src_alpha" />
-<Test name="reverse_subtract_constant_alpha_one_minus_constant_color" />
-<Test name="add_dst_color_one_minus_dst_color" />
-<Test name="add_one_minus_src_alpha_one_minus_src_alpha" />
-<Test name="add_one_one_minus_constant_alpha" />
-<Test name="subtract_dst_color_one_minus_dst_alpha" />
-<Test name="reverse_subtract_one_minus_dst_alpha_src_alpha" />
-<Test name="add_dst_alpha_src_alpha" />
-<Test name="add_zero_one_minus_dst_alpha" />
-<Test name="reverse_subtract_one_minus_constant_color_src_alpha_saturate" />
-<Test name="add_constant_alpha_dst_color" />
-<Test name="subtract_src_alpha_saturate_src_color" />
-<Test name="reverse_subtract_one_src_color" />
-<Test name="subtract_one_minus_dst_alpha_one_minus_constant_alpha" />
-<Test name="reverse_subtract_one_minus_src_color_one_minus_dst_alpha" />
-<Test name="add_src_alpha_saturate_one_minus_constant_alpha" />
-<Test name="subtract_constant_color_one_minus_src_color" />
-<Test name="reverse_subtract_src_alpha_src_alpha_saturate" />
-<Test name="add_dst_alpha_zero" />
-<Test name="reverse_subtract_constant_alpha_one_minus_src_color" />
-<Test name="subtract_src_alpha_saturate_zero" />
-<Test name="reverse_subtract_src_alpha_src_alpha" />
-<Test name="add_zero_dst_color" />
-<Test name="subtract_one_minus_dst_color_dst_color" />
-<Test name="reverse_subtract_dst_color_one_minus_dst_color" />
-<Test name="add_one_minus_constant_alpha_one_minus_src_color" />
-<Test name="add_one_minus_dst_color_one_minus_src_color" />
-<Test name="add_src_alpha_one_minus_constant_color" />
-<Test name="subtract_one_minus_constant_alpha_one_minus_src_color" />
-<Test name="add_src_color_dst_color" />
-<Test name="reverse_subtract_one_minus_dst_alpha_dst_color" />
-<Test name="reverse_subtract_dst_color_one_minus_src_color" />
-<Test name="reverse_subtract_dst_color_one_minus_src_alpha" />
-<Test name="add_dst_color_dst_color" />
-<Test name="reverse_subtract_one_minus_dst_color_zero" />
-<Test name="subtract_src_color_one_minus_dst_alpha" />
-<Test name="add_one_minus_constant_color_one_minus_constant_color" />
-<Test name="add_one_dst_color" />
-<Test name="reverse_subtract_constant_alpha_one" />
-<Test name="subtract_one_minus_constant_color_zero" />
-<Test name="reverse_subtract_one_minus_constant_alpha_src_alpha_saturate" />
-<Test name="subtract_constant_alpha_src_alpha_saturate" />
-<Test name="add_src_alpha_dst_alpha" />
-<Test name="subtract_one_minus_constant_color_constant_color" />
-<Test name="subtract_src_alpha_one_minus_src_color" />
-<Test name="subtract_one_minus_src_color_one_minus_constant_alpha" />
-<Test name="subtract_src_alpha_one_minus_constant_color" />
-<Test name="subtract_zero_dst_alpha" />
-<Test name="reverse_subtract_one_minus_src_alpha_one_minus_dst_color" />
-<Test name="subtract_one_one" />
-<Test name="reverse_subtract_one_minus_constant_color_constant_alpha" />
-<Test name="subtract_one_minus_src_color_one_minus_src_alpha" />
-<Test name="subtract_src_color_dst_color" />
-<Test name="add_src_color_one" />
-<Test name="reverse_subtract_src_alpha_saturate_one_minus_dst_color" />
-<Test name="reverse_subtract_src_alpha_constant_alpha" />
-<Test name="reverse_subtract_one_minus_constant_alpha_constant_color" />
-<Test name="subtract_one_minus_constant_color_one_minus_dst_alpha" />
-<Test name="subtract_dst_color_constant_color" />
-<Test name="reverse_subtract_src_color_src_color" />
-<Test name="subtract_src_alpha_saturate_dst_alpha" />
-<Test name="reverse_subtract_one_minus_dst_alpha_dst_alpha" />
-<Test name="reverse_subtract_constant_alpha_one_minus_src_alpha" />
-<Test name="reverse_subtract_one_minus_constant_alpha_constant_alpha" />
-<Test name="reverse_subtract_src_alpha_saturate_src_color" />
-<Test name="add_zero_one_minus_constant_color" />
-<Test name="subtract_one_minus_dst_color_one_minus_dst_alpha" />
-<Test name="reverse_subtract_dst_alpha_one_minus_src_alpha" />
-<Test name="reverse_subtract_src_alpha_one" />
-<Test name="subtract_one_minus_dst_color_constant_color" />
-<Test name="add_one_minus_constant_alpha_one_minus_dst_alpha" />
-<Test name="subtract_dst_color_zero" />
-<Test name="subtract_src_color_dst_alpha" />
-<Test name="subtract_src_color_src_alpha_saturate" />
-<Test name="add_constant_alpha_src_alpha_saturate" />
-<Test name="subtract_src_alpha_dst_alpha" />
-<Test name="subtract_constant_alpha_one" />
-<Test name="reverse_subtract_one_one_minus_constant_alpha" />
-<Test name="subtract_one_minus_dst_color_one_minus_dst_color" />
-<Test name="reverse_subtract_dst_alpha_one_minus_constant_color" />
-<Test name="add_constant_color_constant_color" />
-<Test name="add_one_one_minus_src_color" />
-<Test name="add_src_alpha_constant_color" />
-<Test name="subtract_src_alpha_saturate_constant_color" />
-<Test name="reverse_subtract_one_minus_src_alpha_dst_color" />
-<Test name="add_constant_alpha_one_minus_src_color" />
-<Test name="reverse_subtract_one_one_minus_constant_color" />
-<Test name="subtract_dst_alpha_src_alpha" />
-<Test name="subtract_zero_zero" />
-<Test name="subtract_src_alpha_saturate_src_alpha" />
-<Test name="reverse_subtract_dst_color_zero" />
-<Test name="subtract_one_minus_src_color_constant_color" />
-<Test name="reverse_subtract_src_alpha_saturate_src_alpha" />
-<Test name="reverse_subtract_one_minus_constant_color_one_minus_constant_color" />
-<Test name="subtract_one_minus_constant_color_one_minus_constant_color" />
-<Test name="subtract_one_minus_constant_alpha_constant_color" />
-<Test name="add_one_minus_constant_color_one_minus_constant_alpha" />
-<Test name="reverse_subtract_one_minus_src_color_dst_alpha" />
-<Test name="subtract_one_minus_src_alpha_one_minus_constant_alpha" />
-<Test name="subtract_one_minus_src_alpha_one" />
-<Test name="subtract_one_minus_src_color_one" />
-<Test name="reverse_subtract_dst_alpha_one_minus_src_color" />
-<Test name="subtract_one_minus_constant_color_one_minus_constant_alpha" />
-<Test name="subtract_zero_dst_color" />
-<Test name="add_one_minus_src_color_dst_color" />
-<Test name="subtract_zero_one_minus_constant_alpha" />
-<Test name="add_one_minus_dst_color_one" />
-<Test name="reverse_subtract_one_minus_constant_color_one" />
-<Test name="add_one_zero" />
-<Test name="subtract_dst_alpha_one_minus_constant_color" />
-<Test name="reverse_subtract_one_minus_src_color_constant_color" />
-<Test name="add_src_color_one_minus_src_color" />
-<Test name="add_src_alpha_saturate_one_minus_dst_alpha" />
-<Test name="subtract_one_minus_src_color_one_minus_dst_alpha" />
-<Test name="add_one_minus_constant_color_one" />
-<Test name="add_dst_alpha_dst_alpha" />
-<Test name="subtract_one_minus_constant_alpha_one" />
-<Test name="reverse_subtract_constant_color_dst_alpha" />
-<Test name="reverse_subtract_one_minus_dst_color_one_minus_src_color" />
-<Test name="add_one_minus_constant_color_src_alpha" />
-<Test name="subtract_one_minus_constant_alpha_src_alpha_saturate" />
-<Test name="subtract_src_color_one_minus_src_alpha" />
-<Test name="add_src_alpha_one_minus_src_alpha" />
-<Test name="reverse_subtract_one_minus_src_color_zero" />
-<Test name="add_src_alpha_constant_alpha" />
-<Test name="subtract_constant_alpha_src_alpha" />
-<Test name="subtract_dst_color_one" />
-<Test name="add_one_constant_alpha" />
-<Test name="reverse_subtract_constant_color_zero" />
-<Test name="reverse_subtract_constant_alpha_constant_alpha" />
-<Test name="reverse_subtract_zero_one_minus_src_alpha" />
-<Test name="subtract_constant_alpha_one_minus_dst_alpha" />
-<Test name="subtract_dst_alpha_dst_color" />
-<Test name="add_constant_alpha_dst_alpha" />
-<Test name="reverse_subtract_one_minus_constant_color_zero" />
-<Test name="reverse_subtract_dst_alpha_constant_alpha" />
-<Test name="reverse_subtract_one_minus_src_alpha_src_color" />
-<Test name="reverse_subtract_src_alpha_saturate_one_minus_dst_alpha" />
-<Test name="subtract_one_minus_src_color_one_minus_dst_color" />
-<Test name="subtract_one_one_minus_dst_alpha" />
-<Test name="reverse_subtract_one_minus_src_alpha_constant_color" />
-<Test name="reverse_subtract_one_minus_dst_color_src_alpha_saturate" />
-<Test name="add_src_alpha_one_minus_src_color" />
-<Test name="add_src_alpha_saturate_zero" />
-<Test name="subtract_dst_alpha_zero" />
-<Test name="add_one_minus_src_alpha_src_color" />
-<Test name="add_constant_alpha_one_minus_dst_alpha" />
-<Test name="add_one_minus_constant_color_dst_alpha" />
-<Test name="subtract_constant_color_one_minus_dst_alpha" />
-<Test name="add_constant_alpha_src_color" />
-<Test name="reverse_subtract_src_alpha_one_minus_constant_alpha" />
-<Test name="add_constant_alpha_one_minus_dst_color" />
-<Test name="subtract_src_alpha_constant_color" />
-<Test name="reverse_subtract_one_minus_dst_alpha_constant_alpha" />
-<Test name="reverse_subtract_zero_one" />
-<Test name="reverse_subtract_one_src_alpha_saturate" />
-<Test name="add_one_dst_alpha" />
-<Test name="subtract_constant_color_src_color" />
-<Test name="subtract_src_alpha_src_color" />
-<Test name="subtract_src_color_one_minus_dst_color" />
-<Test name="add_src_color_one_minus_src_alpha" />
-<Test name="reverse_subtract_one_minus_constant_color_one_minus_constant_alpha" />
-<Test name="reverse_subtract_dst_alpha_constant_color" />
-<Test name="add_dst_color_one_minus_constant_color" />
-<Test name="reverse_subtract_one_minus_dst_alpha_src_color" />
-<Test name="add_src_alpha_saturate_one_minus_dst_color" />
-<Test name="reverse_subtract_src_alpha_one_minus_src_color" />
-<Test name="subtract_one_minus_constant_alpha_constant_alpha" />
-<Test name="reverse_subtract_one_minus_dst_alpha_one_minus_dst_alpha" />
-<Test name="add_constant_color_constant_alpha" />
-<Test name="subtract_dst_alpha_one_minus_constant_alpha" />
-<Test name="add_one_minus_src_alpha_one" />
-<Test name="reverse_subtract_constant_color_one" />
-<Test name="reverse_subtract_one_minus_dst_color_one_minus_constant_color" />
-<Test name="add_dst_color_one_minus_constant_alpha" />
-<Test name="add_one_minus_dst_color_one_minus_src_alpha" />
-<Test name="add_src_alpha_one_minus_constant_alpha" />
-<Test name="subtract_src_alpha_one_minus_src_alpha" />
-<Test name="subtract_one_minus_dst_alpha_zero" />
-<Test name="reverse_subtract_one_minus_dst_color_one_minus_dst_alpha" />
-<Test name="add_one_one_minus_dst_alpha" />
-<Test name="reverse_subtract_one_minus_dst_alpha_one_minus_constant_alpha" />
-<Test name="add_src_alpha_one_minus_dst_color" />
-<Test name="add_src_alpha_saturate_src_alpha" />
-<Test name="subtract_constant_color_constant_alpha" />
-<Test name="add_zero_src_alpha" />
-<Test name="add_constant_alpha_one_minus_constant_color" />
-<Test name="reverse_subtract_dst_alpha_dst_color" />
-<Test name="add_one_minus_src_color_one_minus_constant_color" />
-<Test name="subtract_one_minus_dst_alpha_dst_alpha" />
-<Test name="subtract_one_minus_dst_alpha_src_color" />
-<Test name="reverse_subtract_one_minus_src_alpha_zero" />
-<Test name="reverse_subtract_one_minus_constant_alpha_zero" />
-<Test name="subtract_one_minus_dst_color_one_minus_src_alpha" />
-<Test name="add_dst_color_src_alpha_saturate" />
-<Test name="add_one_minus_dst_alpha_src_alpha" />
-<Test name="subtract_one_one_minus_constant_alpha" />
-<Test name="add_one_minus_src_color_one_minus_src_alpha" />
-<Test name="reverse_subtract_constant_color_src_color" />
-<Test name="subtract_dst_alpha_one_minus_src_color" />
-<Test name="reverse_subtract_dst_alpha_one" />
-<Test name="reverse_subtract_src_alpha_saturate_one_minus_src_color" />
-<Test name="reverse_subtract_one_minus_constant_color_dst_color" />
-<Test name="reverse_subtract_src_color_one_minus_dst_alpha" />
-<Test name="reverse_subtract_one_minus_constant_alpha_one_minus_src_alpha" />
-<Test name="reverse_subtract_dst_color_one_minus_constant_color" />
-<Test name="subtract_dst_alpha_dst_alpha" />
-<Test name="reverse_subtract_src_alpha_zero" />
-<Test name="reverse_subtract_one_one_minus_dst_alpha" />
-<Test name="add_src_color_src_alpha_saturate" />
-<Test name="add_dst_alpha_constant_alpha" />
-<Test name="subtract_one_minus_src_alpha_dst_alpha" />
-<Test name="subtract_one_minus_src_alpha_zero" />
-<Test name="reverse_subtract_one_one" />
-<Test name="add_one_minus_src_alpha_one_minus_constant_color" />
-<Test name="subtract_one_minus_dst_color_one" />
-<Test name="subtract_constant_color_one_minus_dst_color" />
-<Test name="add_one_minus_dst_alpha_constant_alpha" />
-<Test name="reverse_subtract_one_minus_constant_alpha_one" />
-<Test name="add_constant_alpha_one" />
-<Test name="subtract_one_src_alpha" />
-<Test name="subtract_dst_color_src_color" />
-<Test name="reverse_subtract_one_minus_dst_color_one_minus_constant_alpha" />
-<Test name="add_zero_one_minus_constant_alpha" />
-<Test name="subtract_constant_color_one" />
-<Test name="add_src_color_one_minus_constant_alpha" />
-<Test name="subtract_one_minus_src_color_one_minus_constant_color" />
-<Test name="subtract_src_alpha_one" />
-<Test name="add_one_minus_dst_color_one_minus_constant_alpha" />
-<Test name="subtract_one_one_minus_constant_color" />
-<Test name="subtract_one_minus_constant_alpha_src_color" />
-<Test name="reverse_subtract_src_color_one_minus_constant_alpha" />
-<Test name="add_dst_color_one" />
-<Test name="add_one_minus_dst_alpha_one_minus_src_alpha" />
-<Test name="add_one_minus_src_alpha_zero" />
-<Test name="subtract_one_minus_src_color_one_minus_src_color" />
-<Test name="reverse_subtract_src_alpha_saturate_zero" />
-<Test name="subtract_dst_alpha_src_color" />
-<Test name="subtract_one_minus_constant_color_constant_alpha" />
-<Test name="reverse_subtract_one_minus_constant_color_src_alpha" />
-<Test name="reverse_subtract_one_dst_color" />
-<Test name="reverse_subtract_src_color_one" />
-<Test name="reverse_subtract_one_minus_constant_alpha_one_minus_src_color" />
-<Test name="reverse_subtract_one_minus_dst_alpha_constant_color" />
-<Test name="reverse_subtract_one_minus_dst_color_dst_alpha" />
-<Test name="reverse_subtract_dst_color_one" />
-<Test name="reverse_subtract_dst_color_constant_color" />
-<Test name="subtract_one_minus_constant_alpha_dst_color" />
-<Test name="subtract_zero_one_minus_src_alpha" />
-<Test name="add_zero_src_alpha_saturate" />
-<Test name="reverse_subtract_constant_color_src_alpha_saturate" />
-<Test name="reverse_subtract_constant_alpha_one_minus_dst_alpha" />
-<Test name="subtract_src_alpha_saturate_one_minus_src_alpha" />
-<Test name="add_src_color_src_color" />
-<Test name="reverse_subtract_one_minus_constant_color_constant_color" />
-<Test name="reverse_subtract_constant_color_one_minus_constant_alpha" />
-<Test name="subtract_one_minus_dst_color_one_minus_constant_alpha" />
-<Test name="reverse_subtract_one_minus_constant_color_one_minus_dst_color" />
-<Test name="add_one_minus_src_color_constant_color" />
-<Test name="subtract_dst_alpha_one_minus_src_alpha" />
-<Test name="add_dst_alpha_one_minus_src_alpha" />
-<Test name="reverse_subtract_src_alpha_saturate_one_minus_constant_color" />
-<Test name="subtract_dst_alpha_one" />
-<Test name="reverse_subtract_one_minus_src_alpha_one_minus_dst_alpha" />
-<Test name="add_one_minus_constant_alpha_constant_color" />
-<Test name="reverse_subtract_dst_color_dst_alpha" />
-<Test name="reverse_subtract_src_alpha_dst_alpha" />
-<Test name="add_one_minus_constant_color_dst_color" />
-<Test name="add_constant_color_dst_alpha" />
-<Test name="reverse_subtract_zero_constant_alpha" />
-<Test name="subtract_one_minus_src_color_dst_alpha" />
-<Test name="reverse_subtract_one_minus_src_alpha_one_minus_src_alpha" />
-<Test name="add_dst_alpha_one_minus_constant_alpha" />
-<Test name="add_dst_color_src_alpha" />
-<Test name="add_one_minus_src_alpha_one_minus_constant_alpha" />
-<Test name="add_one_minus_src_alpha_src_alpha" />
-<Test name="reverse_subtract_src_alpha_saturate_one_minus_constant_alpha" />
-<Test name="reverse_subtract_one_minus_dst_color_src_color" />
-<Test name="add_one_minus_constant_color_src_alpha_saturate" />
-<Test name="subtract_one_minus_constant_alpha_src_alpha" />
-<Test name="reverse_subtract_zero_constant_color" />
-<Test name="add_zero_one_minus_src_color" />
-<Test name="subtract_one_minus_constant_color_src_alpha_saturate" />
-<Test name="subtract_dst_color_dst_alpha" />
-<Test name="reverse_subtract_one_minus_dst_alpha_one_minus_constant_color" />
-<Test name="reverse_subtract_dst_alpha_src_alpha_saturate" />
-<Test name="add_constant_alpha_constant_alpha" />
-<Test name="reverse_subtract_one_minus_constant_color_one_minus_src_alpha" />
-<Test name="add_dst_color_dst_alpha" />
-<Test name="add_one_minus_src_color_one_minus_constant_alpha" />
-<Test name="reverse_subtract_one_minus_constant_alpha_one_minus_dst_color" />
-<Test name="subtract_one_minus_src_alpha_one_minus_dst_color" />
-<Test name="reverse_subtract_src_alpha_saturate_src_alpha_saturate" />
-<Test name="subtract_one_minus_dst_color_one_minus_src_color" />
-<Test name="subtract_dst_color_one_minus_constant_alpha" />
-<Test name="reverse_subtract_one_minus_src_color_dst_color" />
-<Test name="subtract_one_minus_constant_color_one" />
-<Test name="subtract_one_minus_dst_color_zero" />
-<Test name="reverse_subtract_dst_color_dst_color" />
-<Test name="add_src_color_one_minus_dst_alpha" />
-<Test name="subtract_one_minus_dst_color_src_alpha_saturate" />
-<Test name="reverse_subtract_one_minus_dst_color_constant_color" />
-<Test name="reverse_subtract_src_color_dst_color" />
-<Test name="add_one_minus_src_alpha_one_minus_src_color" />
-<Test name="reverse_subtract_src_alpha_saturate_dst_color" />
-<Test name="subtract_one_one_minus_src_color" />
-<Test name="subtract_constant_alpha_one_minus_constant_alpha" />
-<Test name="reverse_subtract_one_minus_src_color_one_minus_constant_alpha" />
-<Test name="subtract_one_minus_src_alpha_src_alpha" />
-<Test name="add_constant_alpha_one_minus_constant_alpha" />
-<Test name="add_one_minus_src_color_src_color" />
-<Test name="reverse_subtract_dst_alpha_dst_alpha" />
-<Test name="reverse_subtract_src_color_one_minus_constant_color" />
-<Test name="subtract_one_minus_dst_alpha_dst_color" />
-<Test name="add_dst_alpha_src_alpha_saturate" />
-<Test name="subtract_constant_alpha_src_color" />
-<Test name="subtract_dst_color_one_minus_dst_color" />
-<Test name="subtract_zero_one" />
-<Test name="reverse_subtract_dst_color_constant_alpha" />
-<Test name="reverse_subtract_one_minus_dst_color_one" />
-<Test name="add_src_alpha_saturate_dst_color" />
-<Test name="add_one_minus_src_alpha_constant_color" />
-<Test name="add_one_minus_src_alpha_src_alpha_saturate" />
-<Test name="subtract_src_color_constant_color" />
-<Test name="add_one_minus_constant_color_constant_color" />
-<Test name="reverse_subtract_one_dst_alpha" />
-<Test name="subtract_zero_src_color" />
-<Test name="add_one_minus_dst_color_src_alpha_saturate" />
-<Test name="add_one_minus_constant_color_zero" />
-<Test name="add_one_minus_src_alpha_one_minus_dst_alpha" />
-<Test name="reverse_subtract_src_alpha_constant_color" />
-<Test name="subtract_src_alpha_constant_alpha" />
-<Test name="add_one_minus_src_alpha_dst_color" />
-<Test name="add_constant_color_one_minus_constant_alpha" />
-<Test name="reverse_subtract_one_one_minus_src_alpha" />
-<Test name="subtract_one_src_alpha_saturate" />
-<Test name="add_src_alpha_saturate_src_alpha_saturate" />
-<Test name="add_dst_alpha_src_color" />
-<Test name="reverse_subtract_one_minus_src_color_one_minus_src_color" />
-<Test name="reverse_subtract_one_minus_src_color_one_minus_constant_color" />
-<Test name="subtract_constant_color_src_alpha" />
-<Test name="reverse_subtract_one_minus_src_alpha_one" />
-<Test name="reverse_subtract_one_minus_constant_alpha_src_alpha" />
-<Test name="subtract_src_alpha_saturate_one_minus_constant_color" />
-<Test name="reverse_subtract_dst_color_one_minus_constant_alpha" />
-<Test name="add_dst_alpha_one" />
-<Test name="subtract_constant_alpha_dst_color" />
-<Test name="subtract_src_alpha_saturate_constant_alpha" />
-<Test name="add_one_one_minus_constant_color" />
-<Test name="subtract_one_minus_constant_color_src_color" />
-<Test name="subtract_one_minus_src_color_constant_alpha" />
-<Test name="subtract_one_dst_alpha" />
-<Test name="add_one_minus_dst_alpha_one_minus_constant_color" />
-<Test name="subtract_src_color_src_color" />
-<Test name="add_dst_alpha_one_minus_dst_alpha" />
-<Test name="reverse_subtract_src_color_one_minus_src_color" />
-<Test name="subtract_one_minus_src_color_src_color" />
-<Test name="add_one_minus_constant_alpha_dst_color" />
-<Test name="add_one_minus_dst_color_constant_alpha" />
-<Test name="subtract_zero_constant_color" />
-<Test name="add_src_alpha_saturate_constant_color" />
-<Test name="reverse_subtract_one_src_alpha" />
-<Test name="reverse_subtract_dst_alpha_one_minus_constant_alpha" />
-<Test name="subtract_one_minus_dst_alpha_one_minus_dst_color" />
-<Test name="reverse_subtract_dst_color_one_minus_dst_alpha" />
-<Test name="reverse_subtract_zero_src_alpha" />
-<Test name="subtract_zero_src_alpha" />
-<Test name="reverse_subtract_dst_color_src_color" />
-<Test name="subtract_one_minus_src_alpha_src_alpha_saturate" />
-<Test name="add_dst_color_src_color" />
-<Test name="add_src_alpha_saturate_constant_alpha" />
-<Test name="add_one_minus_src_color_dst_alpha" />
-<Test name="reverse_subtract_one_minus_dst_alpha_src_alpha_saturate" />
-<Test name="add_src_alpha_src_alpha" />
-<Test name="reverse_subtract_zero_one_minus_dst_color" />
-<Test name="subtract_one_minus_dst_color_src_alpha" />
-<Test name="reverse_subtract_constant_alpha_zero" />
-<Test name="reverse_subtract_zero_src_alpha_saturate" />
-<Test name="reverse_subtract_one_minus_src_color_one" />
-<Test name="add_dst_color_one_minus_src_alpha" />
-<Test name="add_dst_alpha_one_minus_dst_color" />
-<Test name="add_constant_alpha_src_alpha" />
-<Test name="reverse_subtract_one_minus_dst_alpha_one" />
-<Test name="add_one_minus_constant_color_constant_alpha" />
-<Test name="subtract_one_minus_dst_alpha_one_minus_src_color" />
-<Test name="add_one_minus_src_color_one_minus_src_color" />
-<Test name="subtract_dst_color_src_alpha_saturate" />
-<Test name="reverse_subtract_src_color_constant_color" />
-<Test name="subtract_src_alpha_saturate_src_alpha_saturate" />
-<Test name="subtract_src_alpha_dst_color" />
-<Test name="add_constant_alpha_one_minus_src_alpha" />
-<Test name="reverse_subtract_constant_alpha_one_minus_constant_alpha" />
-<Test name="reverse_subtract_one_minus_src_alpha_one_minus_constant_alpha" />
-<Test name="reverse_subtract_src_color_dst_alpha" />
-<Test name="add_src_alpha_dst_color" />
-<Test name="subtract_one_one_minus_src_alpha" />
-<Test name="reverse_subtract_constant_alpha_dst_color" />
-<Test name="add_one_minus_dst_alpha_one_minus_src_color" />
-<Test name="subtract_src_alpha_one_minus_dst_color" />
-<Test name="add_one_minus_dst_color_dst_alpha" />
-<Test name="reverse_subtract_one_minus_dst_alpha_one_minus_dst_color" />
-<Test name="add_one_minus_src_color_src_alpha" />
-<Test name="add_src_alpha_saturate_one_minus_src_color" />
-<Test name="subtract_one_minus_src_alpha_one_minus_src_color" />
-<Test name="add_src_alpha_src_alpha_saturate" />
-<Test name="subtract_zero_one_minus_dst_color" />
-<Test name="add_constant_color_one_minus_src_color" />
-<Test name="reverse_subtract_constant_color_one_minus_constant_color" />
-<Test name="add_one_constant_color" />
-<Test name="reverse_subtract_src_alpha_src_color" />
-<Test name="add_constant_alpha_constant_color" />
-<Test name="add_src_color_src_alpha" />
-<Test name="subtract_one_minus_constant_color_one_minus_src_alpha" />
-<Test name="subtract_one_minus_src_color_zero" />
-<Test name="add_src_alpha_saturate_dst_alpha" />
-<Test name="add_zero_zero" />
-<Test name="add_dst_alpha_constant_color" />
-<Test name="add_one_minus_src_color_one" />
-<Test name="subtract_src_alpha_one_minus_dst_alpha" />
-<Test name="add_one_minus_dst_alpha_one_minus_dst_color" />
-<Test name="reverse_subtract_dst_alpha_src_color" />
-<Test name="add_zero_constant_color" />
-<Test name="reverse_subtract_one_minus_src_alpha_src_alpha_saturate" />
-<Test name="subtract_one_one_minus_dst_color" />
-<Test name="reverse_subtract_one_minus_dst_color_constant_alpha" />
-<Test name="subtract_one_minus_constant_alpha_one_minus_dst_alpha" />
-<Test name="subtract_one_minus_constant_alpha_one_minus_dst_color" />
-<Test name="subtract_src_alpha_saturate_one_minus_constant_alpha" />
-<Test name="add_src_alpha_saturate_one" />
-<Test name="reverse_subtract_one_minus_src_alpha_dst_alpha" />
-<Test name="subtract_src_alpha_src_alpha" />
-<Test name="reverse_subtract_zero_dst_color" />
-<Test name="add_src_alpha_saturate_src_color" />
-<Test name="subtract_src_color_zero" />
-<Test name="subtract_constant_color_zero" />
-<Test name="subtract_dst_color_one_minus_src_alpha" />
-<Test name="reverse_subtract_constant_color_dst_color" />
-<Test name="reverse_subtract_one_minus_dst_color_one_minus_src_alpha" />
-<Test name="reverse_subtract_constant_alpha_src_color" />
-<Test name="subtract_src_color_one" />
-<Test name="add_one_minus_constant_color_one_minus_src_color" />
-<Test name="subtract_zero_one_minus_constant_color" />
-<Test name="subtract_one_minus_src_color_src_alpha_saturate" />
-<Test name="reverse_subtract_constant_color_one_minus_src_alpha" />
-<Test name="add_one_minus_dst_alpha_one_minus_constant_alpha" />
-<Test name="reverse_subtract_src_alpha_dst_color" />
-<Test name="subtract_zero_src_alpha_saturate" />
-<Test name="reverse_subtract_one_minus_constant_alpha_dst_color" />
-<Test name="subtract_src_alpha_one_minus_constant_alpha" />
-<Test name="subtract_src_color_one_minus_src_color" />
-<Test name="subtract_one_minus_dst_alpha_one_minus_dst_alpha" />
-<Test name="subtract_one_minus_constant_alpha_one_minus_constant_alpha" />
-<Test name="add_src_alpha_saturate_one_minus_src_alpha" />
-<Test name="reverse_subtract_one_minus_dst_color_one_minus_dst_color" />
-<Test name="subtract_zero_constant_alpha" />
-<Test name="add_one_minus_src_color_one_minus_dst_color" />
-<Test name="add_zero_one_minus_src_alpha" />
-<Test name="add_one_minus_src_alpha_constant_alpha" />
-<Test name="subtract_one_minus_constant_alpha_dst_alpha" />
-<Test name="reverse_subtract_src_alpha_saturate_constant_color" />
-<Test name="add_src_color_constant_alpha" />
-<Test name="subtract_constant_color_one_minus_constant_color" />
-<Test name="reverse_subtract_constant_color_one_minus_dst_color" />
-<Test name="add_one_minus_constant_alpha_one" />
-<Test name="subtract_one_minus_dst_alpha_constant_color" />
-<Test name="add_one_minus_src_color_zero" />
-<Test name="reverse_subtract_one_zero" />
-<Test name="reverse_subtract_dst_alpha_one_minus_dst_color" />
-<Test name="subtract_one_minus_constant_color_src_alpha" />
-<Test name="reverse_subtract_one_constant_alpha" />
-<Test name="add_dst_color_constant_color" />
-<Test name="add_one_minus_constant_alpha_zero" />
-<Test name="reverse_subtract_src_alpha_one_minus_src_alpha" />
-<Test name="reverse_subtract_zero_zero" />
-<Test name="subtract_constant_color_dst_color" />
-<Test name="add_constant_alpha_zero" />
-<Test name="subtract_src_alpha_saturate_one" />
-<Test name="reverse_subtract_one_one_minus_src_color" />
-<Test name="add_constant_color_src_alpha_saturate" />
-<Test name="add_constant_color_one_minus_dst_color" />
-<Test name="subtract_src_alpha_src_alpha_saturate" />
-<Test name="add_one_minus_constant_color_src_color" />
-<Test name="reverse_subtract_src_color_constant_alpha" />
-<Test name="reverse_subtract_constant_alpha_dst_alpha" />
-<Test name="reverse_subtract_src_color_src_alpha_saturate" />
-<Test name="reverse_subtract_one_one_minus_dst_color" />
-<Test name="reverse_subtract_one_minus_dst_color_src_alpha" />
-<Test name="subtract_constant_color_one_minus_src_alpha" />
-<Test name="add_one_minus_dst_color_one_minus_dst_alpha" />
-<Test name="reverse_subtract_src_alpha_one_minus_dst_alpha" />
-<Test name="reverse_subtract_src_color_one_minus_src_alpha" />
-<Test name="reverse_subtract_constant_alpha_src_alpha_saturate" />
-<Test name="reverse_subtract_one_minus_src_color_src_alpha" />
-<Test name="subtract_one_minus_constant_color_one_minus_src_color" />
-<Test name="subtract_one_minus_src_alpha_constant_color" />
-<Test name="add_one_minus_dst_color_one_minus_constant_color" />
-<Test name="subtract_one_minus_constant_alpha_zero" />
-<Test name="add_one_src_color" />
-<Test name="subtract_src_alpha_saturate_one_minus_dst_color" />
-<Test name="subtract_src_alpha_saturate_dst_color" />
-<Test name="reverse_subtract_one_minus_src_color_one_minus_src_alpha" />
-<Test name="subtract_one_minus_constant_alpha_one_minus_src_alpha" />
-<Test name="reverse_subtract_constant_color_constant_alpha" />
-<Test name="subtract_one_minus_dst_alpha_one_minus_constant_color" />
-<Test name="reverse_subtract_one_minus_src_color_one_minus_dst_color" />
-<Test name="reverse_subtract_constant_color_src_alpha" />
-<Test name="subtract_src_alpha_zero" />
-<Test name="reverse_subtract_constant_color_constant_color" />
-<Test name="subtract_one_minus_src_alpha_one_minus_src_alpha" />
-<Test name="subtract_constant_color_constant_color" />
-<Test name="reverse_subtract_one_minus_src_color_src_color" />
-<Test name="subtract_dst_alpha_src_alpha_saturate" />
-<Test name="reverse_subtract_one_minus_dst_alpha_one_minus_src_alpha" />
-<Test name="reverse_subtract_zero_one_minus_constant_color" />
-<Test name="reverse_subtract_src_alpha_one_minus_constant_color" />
-<Test name="reverse_subtract_constant_color_one_minus_dst_alpha" />
-<Test name="subtract_constant_color_one_minus_constant_alpha" />
-<Test name="reverse_subtract_src_color_zero" />
-<Test name="add_one_minus_dst_alpha_one" />
-<Test name="add_one_minus_dst_alpha_src_alpha_saturate" />
-<Test name="subtract_one_minus_dst_color_constant_alpha" />
-<Test name="add_src_color_dst_alpha" />
-<Test name="reverse_subtract_constant_color_one_minus_src_color" />
-<Test name="subtract_dst_color_constant_alpha" />
-<Test name="add_one_minus_dst_alpha_one_minus_dst_alpha" />
-<Test name="add_constant_color_one" />
-<Test name="subtract_one_zero" />
-<Test name="reverse_subtract_one_minus_src_color_constant_alpha" />
-<Test name="reverse_subtract_src_alpha_saturate_one" />
-<Test name="add_src_alpha_one" />
-<Test name="add_one_minus_src_alpha_one_minus_dst_color" />
-<Test name="subtract_dst_alpha_constant_color" />
-<Test name="add_dst_alpha_one_minus_src_color" />
-<Test name="reverse_subtract_zero_src_color" />
-<Test name="subtract_dst_color_one_minus_constant_color" />
-<Test name="reverse_subtract_one_minus_constant_color_src_color" />
-<Test name="add_one_minus_constant_color_one_minus_src_alpha" />
-<Test name="subtract_one_minus_dst_color_one_minus_constant_color" />
-<Test name="reverse_subtract_zero_one_minus_src_color" />
-<Test name="add_one_minus_constant_alpha_src_alpha_saturate" />
-<Test name="add_src_color_one_minus_constant_color" />
-<Test name="subtract_dst_alpha_constant_alpha" />
-<Test name="add_src_alpha_src_color" />
-<Test name="reverse_subtract_one_minus_dst_alpha_zero" />
-<Test name="subtract_one_minus_dst_alpha_constant_alpha" />
-<Test name="reverse_subtract_zero_one_minus_dst_alpha" />
-<Test name="reverse_subtract_one_minus_dst_alpha_one_minus_src_color" />
-<Test name="reverse_subtract_zero_one_minus_constant_alpha" />
-<Test name="reverse_subtract_one_minus_constant_alpha_dst_alpha" />
-<Test name="add_one_minus_dst_color_src_alpha" />
-<Test name="reverse_subtract_one_minus_constant_alpha_one_minus_constant_alpha" />
-<Test name="add_dst_color_zero" />
-<Test name="add_constant_color_zero" />
-<Test name="add_constant_color_src_alpha" />
-<Test name="add_src_alpha_one_minus_dst_alpha" />
-<Test name="add_one_minus_constant_alpha_src_color" />
-<Test name="add_one_minus_src_color_constant_alpha" />
-<Test name="reverse_subtract_src_alpha_saturate_dst_alpha" />
-<Test name="add_constant_color_src_color" />
-<Test name="add_zero_src_color" />
-<Test name="reverse_subtract_one_minus_constant_alpha_src_color" />
-<Test name="add_constant_color_dst_color" />
-<Test name="add_dst_alpha_dst_color" />
-<Test name="reverse_subtract_dst_alpha_src_alpha" />
-<Test name="subtract_constant_alpha_dst_alpha" />
-<Test name="subtract_src_alpha_saturate_one_minus_src_color" />
-<Test name="add_src_color_constant_color" />
-<Test name="add_one_minus_dst_color_constant_color" />
-<Test name="reverse_subtract_one_minus_constant_color_one_minus_src_color" />
-<Test name="add_constant_color_one_minus_dst_alpha" />
-<Test name="reverse_subtract_one_minus_src_alpha_one_minus_src_color" />
-<Test name="add_dst_alpha_one_minus_constant_color" />
-<Test name="add_dst_color_constant_alpha" />
-<Test name="reverse_subtract_dst_color_src_alpha_saturate" />
-<Test name="subtract_one_minus_src_alpha_constant_alpha" />
-<Test name="reverse_subtract_one_minus_src_alpha_constant_alpha" />
-<Test name="add_dst_color_one_minus_dst_alpha" />
-<Test name="subtract_constant_alpha_constant_color" />
-<Test name="add_one_minus_dst_alpha_constant_color" />
-<Test name="add_zero_constant_alpha" />
-<Test name="add_one_minus_src_color_one_minus_dst_alpha" />
-</TestCase>
-<TestSuite name="rgb_func_alpha_func">
-<TestCase name="src">
-<Test name="one_minus_src_alpha_one_minus_dst_alpha" />
-<Test name="src_alpha_saturate_one_minus_constant_color" />
-<Test name="one_minus_constant_color_src_color" />
-<Test name="dst_alpha_one_minus_src_alpha" />
-<Test name="one_minus_src_color_one_minus_dst_alpha" />
-<Test name="one_minus_dst_alpha_dst_color" />
-<Test name="one_minus_dst_color_one_minus_constant_alpha" />
-<Test name="one_minus_constant_color_one_minus_dst_color" />
-<Test name="constant_color_one_minus_constant_alpha" />
-<Test name="zero_zero" />
-<Test name="one_minus_constant_color_constant_color" />
-<Test name="constant_alpha_one" />
-<Test name="one_minus_constant_alpha_dst_color" />
-<Test name="zero_one_minus_src_alpha" />
-<Test name="src_alpha_saturate_src_alpha" />
-<Test name="dst_color_src_alpha_saturate" />
-<Test name="dst_color_constant_alpha" />
-<Test name="one_src_alpha" />
-<Test name="one_minus_src_color_dst_alpha" />
-<Test name="one_zero" />
-<Test name="constant_alpha_one_minus_src_color" />
-<Test name="dst_alpha_src_alpha" />
-<Test name="zero_dst_alpha" />
-<Test name="constant_color_src_color" />
-<Test name="one_minus_dst_color_one_minus_constant_color" />
-<Test name="constant_alpha_zero" />
-<Test name="one_minus_constant_color_one_minus_src_alpha" />
-<Test name="src_color_one_minus_dst_color" />
-<Test name="src_alpha_one_minus_src_alpha" />
-<Test name="src_alpha_saturate_one_minus_src_alpha" />
-<Test name="dst_color_one_minus_constant_alpha" />
-<Test name="one_minus_src_alpha_zero" />
-<Test name="src_alpha_saturate_zero" />
-<Test name="one_minus_dst_alpha_one_minus_constant_alpha" />
-<Test name="one_constant_color" />
-<Test name="one_minus_src_alpha_constant_alpha" />
-<Test name="one_minus_dst_alpha_one_minus_constant_color" />
-<Test name="dst_alpha_src_color" />
-<Test name="one_minus_dst_alpha_one_minus_src_alpha" />
-<Test name="dst_alpha_one" />
-<Test name="one_minus_constant_color_constant_alpha" />
-<Test name="one_minus_src_color_src_alpha_saturate" />
-<Test name="one_minus_src_alpha_one_minus_dst_color" />
-<Test name="one_minus_dst_color_one_minus_dst_color" />
-<Test name="one_minus_constant_alpha_src_color" />
-<Test name="src_alpha_zero" />
-<Test name="one_minus_dst_color_one_minus_src_color" />
-<Test name="one_minus_dst_color_zero" />
-<Test name="one_minus_constant_color_dst_alpha" />
-<Test name="zero_dst_color" />
-<Test name="constant_alpha_src_alpha" />
-<Test name="dst_alpha_one_minus_dst_alpha" />
-<Test name="one_src_alpha_saturate" />
-<Test name="constant_color_src_alpha" />
-<Test name="one_minus_src_alpha_src_color" />
-<Test name="src_alpha_one_minus_dst_color" />
-<Test name="zero_one_minus_dst_alpha" />
-<Test name="one_minus_constant_color_one_minus_constant_color" />
-<Test name="zero_src_alpha" />
-<Test name="constant_color_one_minus_src_alpha" />
-<Test name="one_minus_constant_alpha_one_minus_dst_color" />
-<Test name="one_minus_constant_color_dst_color" />
-<Test name="one_minus_dst_alpha_one_minus_dst_color" />
-<Test name="one_minus_src_alpha_one_minus_constant_color" />
-<Test name="one_minus_dst_alpha_dst_alpha" />
-<Test name="one_minus_src_color_src_alpha" />
-<Test name="one_minus_dst_color_one" />
-<Test name="constant_color_constant_color" />
-<Test name="one_minus_constant_alpha_one_minus_src_alpha" />
-<Test name="src_color_src_color" />
-<Test name="one_minus_src_color_constant_color" />
-<Test name="src_color_one_minus_src_color" />
-<Test name="one_minus_src_color_one_minus_dst_color" />
-<Test name="one_minus_constant_alpha_constant_alpha" />
-<Test name="constant_alpha_dst_color" />
-<Test name="one_minus_src_color_one_minus_src_alpha" />
-<Test name="one_src_color" />
-<Test name="constant_alpha_constant_alpha" />
-<Test name="dst_alpha_constant_color" />
-<Test name="src_alpha_one_minus_dst_alpha" />
-<Test name="src_alpha_saturate_dst_alpha" />
-<Test name="one_minus_dst_alpha_src_alpha_saturate" />
-<Test name="constant_color_one_minus_dst_alpha" />
-<Test name="one_one_minus_src_color" />
-<Test name="one_minus_dst_alpha_src_alpha" />
-<Test name="constant_color_dst_color" />
-<Test name="one_minus_constant_alpha_src_alpha" />
-<Test name="one_minus_constant_color_src_alpha" />
-<Test name="one_dst_color" />
-<Test name="dst_color_one" />
-<Test name="src_color_src_alpha_saturate" />
-<Test name="one_minus_constant_alpha_one_minus_dst_alpha" />
-<Test name="one_minus_src_alpha_dst_color" />
-<Test name="one_minus_src_alpha_constant_color" />
-<Test name="one_minus_constant_color_src_alpha_saturate" />
-<Test name="one_minus_dst_color_one_minus_src_alpha" />
-<Test name="constant_alpha_one_minus_dst_alpha" />
-<Test name="one_minus_src_color_one" />
-<Test name="src_color_src_alpha" />
-<Test name="src_color_one" />
-<Test name="dst_color_one_minus_src_color" />
-<Test name="one_minus_dst_color_dst_color" />
-<Test name="one_minus_dst_alpha_constant_color" />
-<Test name="one_minus_constant_alpha_dst_alpha" />
-<Test name="one_minus_dst_alpha_constant_alpha" />
-<Test name="dst_alpha_src_alpha_saturate" />
-<Test name="dst_alpha_constant_alpha" />
-<Test name="one_minus_dst_alpha_one_minus_dst_alpha" />
-<Test name="src_alpha_one" />
-<Test name="one_minus_constant_color_one" />
-<Test name="one_minus_constant_alpha_one_minus_src_color" />
-<Test name="one_minus_dst_color_src_color" />
-<Test name="src_alpha_constant_color" />
-<Test name="constant_color_one_minus_constant_color" />
-<Test name="one_minus_src_alpha_one_minus_src_color" />
-<Test name="src_alpha_dst_alpha" />
-<Test name="constant_alpha_constant_color" />
-<Test name="constant_color_one" />
-<Test name="one_constant_alpha" />
-<Test name="one_minus_dst_alpha_zero" />
-<Test name="dst_color_one_minus_constant_color" />
-<Test name="one_minus_src_color_one_minus_constant_color" />
-<Test name="one_minus_dst_color_one_minus_dst_alpha" />
-<Test name="one_minus_dst_alpha_one_minus_src_color" />
-<Test name="zero_one_minus_dst_color" />
-<Test name="one_minus_dst_color_constant_alpha" />
-<Test name="dst_alpha_one_minus_dst_color" />
-<Test name="src_alpha_src_alpha" />
-<Test name="src_color_constant_color" />
-<Test name="src_alpha_saturate_src_color" />
-<Test name="src_alpha_dst_color" />
-<Test name="zero_constant_color" />
-<Test name="dst_alpha_dst_alpha" />
-<Test name="dst_alpha_zero" />
-<Test name="zero_one_minus_src_color" />
-<Test name="src_color_constant_alpha" />
-<Test name="one_minus_constant_alpha_src_alpha_saturate" />
-<Test name="src_color_dst_alpha" />
-<Test name="src_color_dst_color" />
-<Test name="constant_color_one_minus_dst_color" />
-<Test name="one_minus_constant_alpha_one" />
-<Test name="one_minus_constant_alpha_zero" />
-<Test name="dst_color_constant_color" />
-<Test name="constant_color_dst_alpha" />
-<Test name="constant_color_one_minus_src_color" />
-<Test name="dst_color_zero" />
-<Test name="one_minus_dst_alpha_one" />
-<Test name="one_minus_src_color_dst_color" />
-<Test name="dst_color_src_alpha" />
-<Test name="dst_alpha_one_minus_src_color" />
-<Test name="one_one_minus_constant_color" />
-<Test name="one_minus_dst_color_constant_color" />
-<Test name="dst_color_dst_alpha" />
-<Test name="dst_alpha_one_minus_constant_alpha" />
-<Test name="one_minus_constant_color_zero" />
-<Test name="one_minus_src_alpha_one_minus_constant_alpha" />
-<Test name="src_alpha_saturate_constant_color" />
-<Test name="src_alpha_saturate_src_alpha_saturate" />
-<Test name="dst_alpha_one_minus_constant_color" />
-<Test name="one_minus_constant_color_one_minus_dst_alpha" />
-<Test name="one_minus_src_color_zero" />
-<Test name="src_alpha_saturate_one_minus_constant_alpha" />
-<Test name="zero_one_minus_constant_color" />
-<Test name="src_alpha_one_minus_src_color" />
-<Test name="one_minus_dst_alpha_src_color" />
-<Test name="zero_one" />
-<Test name="constant_color_constant_alpha" />
-<Test name="one_minus_constant_alpha_one_minus_constant_alpha" />
-<Test name="one_one_minus_dst_alpha" />
-<Test name="one_minus_constant_color_one_minus_src_color" />
-<Test name="zero_one_minus_constant_alpha" />
-<Test name="one_minus_constant_alpha_constant_color" />
-<Test name="one_minus_src_color_one_minus_constant_alpha" />
-<Test name="dst_color_src_color" />
-<Test name="src_alpha_src_color" />
-<Test name="dst_color_one_minus_dst_alpha" />
-<Test name="one_minus_src_alpha_src_alpha_saturate" />
-<Test name="src_alpha_saturate_one_minus_dst_color" />
-<Test name="src_alpha_saturate_constant_alpha" />
-<Test name="zero_src_color" />
-<Test name="constant_alpha_one_minus_src_alpha" />
-<Test name="src_color_one_minus_constant_color" />
-<Test name="one_minus_constant_alpha_one_minus_constant_color" />
-<Test name="src_alpha_one_minus_constant_alpha" />
-<Test name="constant_alpha_src_alpha_saturate" />
-<Test name="src_alpha_saturate_one_minus_dst_alpha" />
-<Test name="constant_alpha_one_minus_constant_alpha" />
-<Test name="dst_color_one_minus_src_alpha" />
-<Test name="constant_alpha_dst_alpha" />
-<Test name="one_minus_constant_color_one_minus_constant_alpha" />
-<Test name="one_one_minus_dst_color" />
-<Test name="src_alpha_src_alpha_saturate" />
-<Test name="src_color_one_minus_dst_alpha" />
-<Test name="one_dst_alpha" />
-<Test name="src_color_one_minus_src_alpha" />
-<Test name="one_one" />
-<Test name="src_alpha_constant_alpha" />
-<Test name="src_alpha_one_minus_constant_color" />
-<Test name="src_color_zero" />
-<Test name="dst_color_dst_color" />
-<Test name="constant_alpha_one_minus_dst_color" />
-<Test name="src_alpha_saturate_one" />
-<Test name="zero_constant_alpha" />
-<Test name="zero_src_alpha_saturate" />
-<Test name="constant_alpha_src_color" />
-<Test name="src_alpha_saturate_dst_color" />
-<Test name="one_minus_src_alpha_one" />
-<Test name="one_minus_src_color_one_minus_src_color" />
-<Test name="constant_color_zero" />
-<Test name="one_minus_src_alpha_dst_alpha" />
-<Test name="src_color_one_minus_constant_alpha" />
-<Test name="one_minus_dst_color_src_alpha_saturate" />
-<Test name="one_minus_src_alpha_src_alpha" />
-<Test name="one_minus_src_color_constant_alpha" />
-<Test name="constant_color_src_alpha_saturate" />
-<Test name="src_alpha_saturate_one_minus_src_color" />
-<Test name="one_minus_src_alpha_one_minus_src_alpha" />
-<Test name="dst_alpha_dst_color" />
-<Test name="one_minus_src_color_src_color" />
-<Test name="dst_color_one_minus_dst_color" />
-<Test name="one_one_minus_constant_alpha" />
-<Test name="one_minus_dst_color_dst_alpha" />
-<Test name="constant_alpha_one_minus_constant_color" />
-<Test name="one_one_minus_src_alpha" />
-<Test name="one_minus_dst_color_src_alpha" />
-</TestCase>
-<TestCase name="dst">
-<Test name="one_minus_src_alpha_one_minus_dst_alpha" />
-<Test name="src_alpha_saturate_one_minus_constant_color" />
-<Test name="one_minus_constant_color_src_color" />
-<Test name="dst_alpha_one_minus_src_alpha" />
-<Test name="one_minus_src_color_one_minus_dst_alpha" />
-<Test name="one_minus_dst_alpha_dst_color" />
-<Test name="one_minus_dst_color_one_minus_constant_alpha" />
-<Test name="one_minus_constant_color_one_minus_dst_color" />
-<Test name="constant_color_one_minus_constant_alpha" />
-<Test name="zero_zero" />
-<Test name="one_minus_constant_color_constant_color" />
-<Test name="constant_alpha_one" />
-<Test name="one_minus_constant_alpha_dst_color" />
-<Test name="zero_one_minus_src_alpha" />
-<Test name="src_alpha_saturate_src_alpha" />
-<Test name="dst_color_src_alpha_saturate" />
-<Test name="dst_color_constant_alpha" />
-<Test name="one_src_alpha" />
-<Test name="one_minus_src_color_dst_alpha" />
-<Test name="one_zero" />
-<Test name="constant_alpha_one_minus_src_color" />
-<Test name="dst_alpha_src_alpha" />
-<Test name="zero_dst_alpha" />
-<Test name="constant_color_src_color" />
-<Test name="one_minus_dst_color_one_minus_constant_color" />
-<Test name="constant_alpha_zero" />
-<Test name="one_minus_constant_color_one_minus_src_alpha" />
-<Test name="src_color_one_minus_dst_color" />
-<Test name="src_alpha_one_minus_src_alpha" />
-<Test name="src_alpha_saturate_one_minus_src_alpha" />
-<Test name="dst_color_one_minus_constant_alpha" />
-<Test name="one_minus_src_alpha_zero" />
-<Test name="src_alpha_saturate_zero" />
-<Test name="one_minus_dst_alpha_one_minus_constant_alpha" />
-<Test name="one_constant_color" />
-<Test name="one_minus_src_alpha_constant_alpha" />
-<Test name="one_minus_dst_alpha_one_minus_constant_color" />
-<Test name="dst_alpha_src_color" />
-<Test name="one_minus_dst_alpha_one_minus_src_alpha" />
-<Test name="dst_alpha_one" />
-<Test name="one_minus_constant_color_constant_alpha" />
-<Test name="one_minus_src_color_src_alpha_saturate" />
-<Test name="one_minus_src_alpha_one_minus_dst_color" />
-<Test name="one_minus_dst_color_one_minus_dst_color" />
-<Test name="one_minus_constant_alpha_src_color" />
-<Test name="src_alpha_zero" />
-<Test name="one_minus_dst_color_one_minus_src_color" />
-<Test name="one_minus_dst_color_zero" />
-<Test name="one_minus_constant_color_dst_alpha" />
-<Test name="zero_dst_color" />
-<Test name="constant_alpha_src_alpha" />
-<Test name="dst_alpha_one_minus_dst_alpha" />
-<Test name="one_src_alpha_saturate" />
-<Test name="constant_color_src_alpha" />
-<Test name="one_minus_src_alpha_src_color" />
-<Test name="src_alpha_one_minus_dst_color" />
-<Test name="zero_one_minus_dst_alpha" />
-<Test name="one_minus_constant_color_one_minus_constant_color" />
-<Test name="zero_src_alpha" />
-<Test name="constant_color_one_minus_src_alpha" />
-<Test name="one_minus_constant_alpha_one_minus_dst_color" />
-<Test name="one_minus_constant_color_dst_color" />
-<Test name="one_minus_dst_alpha_one_minus_dst_color" />
-<Test name="one_minus_src_alpha_one_minus_constant_color" />
-<Test name="one_minus_dst_alpha_dst_alpha" />
-<Test name="one_minus_src_color_src_alpha" />
-<Test name="one_minus_dst_color_one" />
-<Test name="constant_color_constant_color" />
-<Test name="one_minus_constant_alpha_one_minus_src_alpha" />
-<Test name="src_color_src_color" />
-<Test name="one_minus_src_color_constant_color" />
-<Test name="src_color_one_minus_src_color" />
-<Test name="one_minus_src_color_one_minus_dst_color" />
-<Test name="one_minus_constant_alpha_constant_alpha" />
-<Test name="constant_alpha_dst_color" />
-<Test name="one_minus_src_color_one_minus_src_alpha" />
-<Test name="one_src_color" />
-<Test name="constant_alpha_constant_alpha" />
-<Test name="dst_alpha_constant_color" />
-<Test name="src_alpha_one_minus_dst_alpha" />
-<Test name="src_alpha_saturate_dst_alpha" />
-<Test name="one_minus_dst_alpha_src_alpha_saturate" />
-<Test name="constant_color_one_minus_dst_alpha" />
-<Test name="one_one_minus_src_color" />
-<Test name="one_minus_dst_alpha_src_alpha" />
-<Test name="constant_color_dst_color" />
-<Test name="one_minus_constant_alpha_src_alpha" />
-<Test name="one_minus_constant_color_src_alpha" />
-<Test name="one_dst_color" />
-<Test name="dst_color_one" />
-<Test name="src_color_src_alpha_saturate" />
-<Test name="one_minus_constant_alpha_one_minus_dst_alpha" />
-<Test name="one_minus_src_alpha_dst_color" />
-<Test name="one_minus_src_alpha_constant_color" />
-<Test name="one_minus_constant_color_src_alpha_saturate" />
-<Test name="one_minus_dst_color_one_minus_src_alpha" />
-<Test name="constant_alpha_one_minus_dst_alpha" />
-<Test name="one_minus_src_color_one" />
-<Test name="src_color_src_alpha" />
-<Test name="src_color_one" />
-<Test name="dst_color_one_minus_src_color" />
-<Test name="one_minus_dst_color_dst_color" />
-<Test name="one_minus_dst_alpha_constant_color" />
-<Test name="one_minus_constant_alpha_dst_alpha" />
-<Test name="one_minus_dst_alpha_constant_alpha" />
-<Test name="dst_alpha_src_alpha_saturate" />
-<Test name="dst_alpha_constant_alpha" />
-<Test name="one_minus_dst_alpha_one_minus_dst_alpha" />
-<Test name="src_alpha_one" />
-<Test name="one_minus_constant_color_one" />
-<Test name="one_minus_constant_alpha_one_minus_src_color" />
-<Test name="one_minus_dst_color_src_color" />
-<Test name="src_alpha_constant_color" />
-<Test name="constant_color_one_minus_constant_color" />
-<Test name="one_minus_src_alpha_one_minus_src_color" />
-<Test name="src_alpha_dst_alpha" />
-<Test name="constant_alpha_constant_color" />
-<Test name="constant_color_one" />
-<Test name="one_constant_alpha" />
-<Test name="one_minus_dst_alpha_zero" />
-<Test name="dst_color_one_minus_constant_color" />
-<Test name="one_minus_src_color_one_minus_constant_color" />
-<Test name="one_minus_dst_color_one_minus_dst_alpha" />
-<Test name="one_minus_dst_alpha_one_minus_src_color" />
-<Test name="zero_one_minus_dst_color" />
-<Test name="one_minus_dst_color_constant_alpha" />
-<Test name="dst_alpha_one_minus_dst_color" />
-<Test name="src_alpha_src_alpha" />
-<Test name="src_color_constant_color" />
-<Test name="src_alpha_saturate_src_color" />
-<Test name="src_alpha_dst_color" />
-<Test name="zero_constant_color" />
-<Test name="dst_alpha_dst_alpha" />
-<Test name="dst_alpha_zero" />
-<Test name="zero_one_minus_src_color" />
-<Test name="src_color_constant_alpha" />
-<Test name="one_minus_constant_alpha_src_alpha_saturate" />
-<Test name="src_color_dst_alpha" />
-<Test name="src_color_dst_color" />
-<Test name="constant_color_one_minus_dst_color" />
-<Test name="one_minus_constant_alpha_one" />
-<Test name="one_minus_constant_alpha_zero" />
-<Test name="dst_color_constant_color" />
-<Test name="constant_color_dst_alpha" />
-<Test name="constant_color_one_minus_src_color" />
-<Test name="dst_color_zero" />
-<Test name="one_minus_dst_alpha_one" />
-<Test name="one_minus_src_color_dst_color" />
-<Test name="dst_color_src_alpha" />
-<Test name="dst_alpha_one_minus_src_color" />
-<Test name="one_one_minus_constant_color" />
-<Test name="one_minus_dst_color_constant_color" />
-<Test name="dst_color_dst_alpha" />
-<Test name="dst_alpha_one_minus_constant_alpha" />
-<Test name="one_minus_constant_color_zero" />
-<Test name="one_minus_src_alpha_one_minus_constant_alpha" />
-<Test name="src_alpha_saturate_constant_color" />
-<Test name="src_alpha_saturate_src_alpha_saturate" />
-<Test name="dst_alpha_one_minus_constant_color" />
-<Test name="one_minus_constant_color_one_minus_dst_alpha" />
-<Test name="one_minus_src_color_zero" />
-<Test name="src_alpha_saturate_one_minus_constant_alpha" />
-<Test name="zero_one_minus_constant_color" />
-<Test name="src_alpha_one_minus_src_color" />
-<Test name="one_minus_dst_alpha_src_color" />
-<Test name="zero_one" />
-<Test name="constant_color_constant_alpha" />
-<Test name="one_minus_constant_alpha_one_minus_constant_alpha" />
-<Test name="one_one_minus_dst_alpha" />
-<Test name="one_minus_constant_color_one_minus_src_color" />
-<Test name="zero_one_minus_constant_alpha" />
-<Test name="one_minus_constant_alpha_constant_color" />
-<Test name="one_minus_src_color_one_minus_constant_alpha" />
-<Test name="dst_color_src_color" />
-<Test name="src_alpha_src_color" />
-<Test name="dst_color_one_minus_dst_alpha" />
-<Test name="one_minus_src_alpha_src_alpha_saturate" />
-<Test name="src_alpha_saturate_one_minus_dst_color" />
-<Test name="src_alpha_saturate_constant_alpha" />
-<Test name="zero_src_color" />
-<Test name="constant_alpha_one_minus_src_alpha" />
-<Test name="src_color_one_minus_constant_color" />
-<Test name="one_minus_constant_alpha_one_minus_constant_color" />
-<Test name="src_alpha_one_minus_constant_alpha" />
-<Test name="constant_alpha_src_alpha_saturate" />
-<Test name="src_alpha_saturate_one_minus_dst_alpha" />
-<Test name="constant_alpha_one_minus_constant_alpha" />
-<Test name="dst_color_one_minus_src_alpha" />
-<Test name="constant_alpha_dst_alpha" />
-<Test name="one_minus_constant_color_one_minus_constant_alpha" />
-<Test name="one_one_minus_dst_color" />
-<Test name="src_alpha_src_alpha_saturate" />
-<Test name="src_color_one_minus_dst_alpha" />
-<Test name="one_dst_alpha" />
-<Test name="src_color_one_minus_src_alpha" />
-<Test name="one_one" />
-<Test name="src_alpha_constant_alpha" />
-<Test name="src_alpha_one_minus_constant_color" />
-<Test name="src_color_zero" />
-<Test name="dst_color_dst_color" />
-<Test name="constant_alpha_one_minus_dst_color" />
-<Test name="src_alpha_saturate_one" />
-<Test name="zero_constant_alpha" />
-<Test name="zero_src_alpha_saturate" />
-<Test name="constant_alpha_src_color" />
-<Test name="src_alpha_saturate_dst_color" />
-<Test name="one_minus_src_alpha_one" />
-<Test name="one_minus_src_color_one_minus_src_color" />
-<Test name="constant_color_zero" />
-<Test name="one_minus_src_alpha_dst_alpha" />
-<Test name="src_color_one_minus_constant_alpha" />
-<Test name="one_minus_dst_color_src_alpha_saturate" />
-<Test name="one_minus_src_alpha_src_alpha" />
-<Test name="one_minus_src_color_constant_alpha" />
-<Test name="constant_color_src_alpha_saturate" />
-<Test name="src_alpha_saturate_one_minus_src_color" />
-<Test name="one_minus_src_alpha_one_minus_src_alpha" />
-<Test name="dst_alpha_dst_color" />
-<Test name="one_minus_src_color_src_color" />
-<Test name="dst_color_one_minus_dst_color" />
-<Test name="one_one_minus_constant_alpha" />
-<Test name="one_minus_dst_color_dst_alpha" />
-<Test name="constant_alpha_one_minus_constant_color" />
-<Test name="one_one_minus_src_alpha" />
-<Test name="one_minus_dst_color_src_alpha" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-</TestSuite>
-</TestSuite>
-<TestSuite name="default_vertex_attrib">
-<TestCase name="mat4">
-<Test name="vertex_attrib_4fv" />
-<Test name="vertex_attrib_2f" />
-<Test name="vertex_attrib_1f" />
-<Test name="vertex_attrib_2fv" />
-<Test name="vertex_attrib_1fv" />
-<Test name="vertex_attrib_4f" />
-<Test name="vertex_attrib_3f" />
-<Test name="vertex_attrib_3fv" />
-</TestCase>
-<TestCase name="mat3x4">
-<Test name="vertex_attrib_1fv" />
-<Test name="vertex_attrib_4fv" />
-<Test name="vertex_attrib_4f" />
-<Test name="vertex_attrib_1f" />
-</TestCase>
-<TestCase name="mat2">
-<Test name="vertex_attrib_1fv" />
-<Test name="vertex_attrib_4fv" />
-<Test name="vertex_attrib_4f" />
-<Test name="vertex_attrib_1f" />
-</TestCase>
-<TestCase name="mat3">
-<Test name="vertex_attrib_1fv" />
-<Test name="vertex_attrib_4fv" />
-<Test name="vertex_attrib_4f" />
-<Test name="vertex_attrib_1f" />
-</TestCase>
-<TestCase name="int">
-<Test name="vertex_attribi_4i" />
-<Test name="vertex_attribi_4iv" />
-</TestCase>
-<TestCase name="mat4x2">
-<Test name="vertex_attrib_1fv" />
-<Test name="vertex_attrib_4fv" />
-<Test name="vertex_attrib_4f" />
-<Test name="vertex_attrib_1f" />
-</TestCase>
-<TestCase name="float">
-<Test name="vertex_attrib_4fv" />
-<Test name="vertex_attrib_2f" />
-<Test name="vertex_attrib_1f" />
-<Test name="vertex_attrib_2fv" />
-<Test name="vertex_attrib_1fv" />
-<Test name="vertex_attrib_4f" />
-<Test name="vertex_attrib_3f" />
-<Test name="vertex_attrib_3fv" />
-</TestCase>
-<TestCase name="mat2x3">
-<Test name="vertex_attrib_1fv" />
-<Test name="vertex_attrib_4fv" />
-<Test name="vertex_attrib_4f" />
-<Test name="vertex_attrib_1f" />
-</TestCase>
-<TestCase name="mat2x4">
-<Test name="vertex_attrib_1fv" />
-<Test name="vertex_attrib_4fv" />
-<Test name="vertex_attrib_4f" />
-<Test name="vertex_attrib_1f" />
-</TestCase>
-<TestCase name="vec4">
-<Test name="vertex_attrib_4fv" />
-<Test name="vertex_attrib_2f" />
-<Test name="vertex_attrib_1f" />
-<Test name="vertex_attrib_2fv" />
-<Test name="vertex_attrib_1fv" />
-<Test name="vertex_attrib_4f" />
-<Test name="vertex_attrib_3f" />
-<Test name="vertex_attrib_3fv" />
-</TestCase>
-<TestCase name="uint">
-<Test name="vertex_attribi_4uiv" />
-<Test name="vertex_attribi_4ui" />
-</TestCase>
-<TestCase name="vec3">
-<Test name="vertex_attrib_1fv" />
-<Test name="vertex_attrib_4fv" />
-<Test name="vertex_attrib_4f" />
-<Test name="vertex_attrib_1f" />
-</TestCase>
-<TestCase name="ivec3">
-<Test name="vertex_attribi_4i" />
-<Test name="vertex_attribi_4iv" />
-</TestCase>
-<TestCase name="ivec2">
-<Test name="vertex_attribi_4i" />
-<Test name="vertex_attribi_4iv" />
-</TestCase>
-<TestCase name="vec2">
-<Test name="vertex_attrib_1fv" />
-<Test name="vertex_attrib_4fv" />
-<Test name="vertex_attrib_4f" />
-<Test name="vertex_attrib_1f" />
-</TestCase>
-<TestCase name="uvec4">
-<Test name="vertex_attribi_4uiv" />
-<Test name="vertex_attribi_4ui" />
-</TestCase>
-<TestCase name="mat4x3">
-<Test name="vertex_attrib_1fv" />
-<Test name="vertex_attrib_4fv" />
-<Test name="vertex_attrib_4f" />
-<Test name="vertex_attrib_1f" />
-</TestCase>
-<TestCase name="uvec2">
-<Test name="vertex_attribi_4uiv" />
-<Test name="vertex_attribi_4ui" />
-</TestCase>
-<TestCase name="uvec3">
-<Test name="vertex_attribi_4uiv" />
-<Test name="vertex_attribi_4ui" />
-</TestCase>
-<TestCase name="ivec4">
-<Test name="vertex_attribi_4i" />
-<Test name="vertex_attribi_4iv" />
-</TestCase>
-<TestCase name="mat3x2">
-<Test name="vertex_attrib_1fv" />
-<Test name="vertex_attrib_4fv" />
-<Test name="vertex_attrib_4f" />
-<Test name="vertex_attrib_1f" />
-</TestCase>
-</TestSuite>
-<TestSuite name="attribute_location">
-<TestCase name="bind_aliasing">
-<Test name="max_inactive_vec2" />
-<Test name="max_inactive_vec3" />
-<Test name="max_inactive_float" />
-<Test name="max_inactive_vec4" />
-<Test name="max_inactive_mat2" />
-<Test name="max_inactive_mat3" />
-<Test name="max_inactive_mat4" />
-</TestCase>
-<TestCase name="bind_time">
-<Test name="post_link" />
-<Test name="relink" />
-<Test name="pre_attach" />
-<Test name="reattach" />
-<Test name="pre_link" />
-</TestCase>
-<TestCase name="layout">
-<Test name="int" />
-<Test name="float" />
-<Test name="vec4" />
-<Test name="uint" />
-<Test name="vec3" />
-<Test name="ivec3" />
-<Test name="ivec2" />
-<Test name="vec2" />
-<Test name="uvec4" />
-<Test name="uvec2" />
-<Test name="uvec3" />
-<Test name="ivec4" />
-</TestCase>
-<TestCase name="mixed_max_attributes">
-<Test name="int" />
-<Test name="float" />
-<Test name="vec4" />
-<Test name="uint" />
-<Test name="vec3" />
-<Test name="ivec3" />
-<Test name="ivec2" />
-<Test name="vec2" />
-<Test name="uvec4" />
-<Test name="uvec2" />
-<Test name="uvec3" />
-<Test name="ivec4" />
-</TestCase>
-<TestCase name="bind_max_attributes">
-<Test name="int" />
-<Test name="float" />
-<Test name="vec4" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="mat3x4" />
-<Test name="mat3x3" />
-<Test name="mat3x2" />
-<Test name="mat2x4" />
-<Test name="mat2x2" />
-<Test name="mat2x3" />
-<Test name="uint" />
-<Test name="ivec2" />
-<Test name="ivec3" />
-<Test name="uvec4" />
-<Test name="uvec2" />
-<Test name="uvec3" />
-<Test name="ivec4" />
-<Test name="mat4" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x2" />
-<Test name="mat4x3" />
-<Test name="mat4x4" />
-</TestCase>
-<TestCase name="bind">
-<Test name="int" />
-<Test name="float" />
-<Test name="vec4" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="mat3x4" />
-<Test name="mat3x3" />
-<Test name="mat3x2" />
-<Test name="mat2x4" />
-<Test name="mat2x2" />
-<Test name="mat2x3" />
-<Test name="uint" />
-<Test name="ivec2" />
-<Test name="ivec3" />
-<Test name="uvec4" />
-<Test name="uvec2" />
-<Test name="uvec3" />
-<Test name="ivec4" />
-<Test name="mat4" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x2" />
-<Test name="mat4x3" />
-<Test name="mat4x4" />
-</TestCase>
-<TestCase name="bind_hole">
-<Test name="int" />
-<Test name="float" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="mat3x4" />
-<Test name="mat3x3" />
-<Test name="mat3x2" />
-<Test name="mat2x4" />
-<Test name="mat2x2" />
-<Test name="mat2x3" />
-<Test name="uint" />
-<Test name="ivec2" />
-<Test name="ivec3" />
-<Test name="uvec4" />
-<Test name="uvec2" />
-<Test name="uvec3" />
-<Test name="ivec4" />
-<Test name="mat4" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x2" />
-<Test name="mat4x3" />
-<Test name="mat4x4" />
-</TestCase>
-<TestCase name="mixed_time">
-<Test name="post_link" />
-<Test name="relink" />
-<Test name="pre_attach" />
-<Test name="reattach" />
-<Test name="pre_link" />
-</TestCase>
-<TestCase name="layout_max_attributes">
-<Test name="int" />
-<Test name="float" />
-<Test name="vec4" />
-<Test name="uint" />
-<Test name="vec3" />
-<Test name="ivec3" />
-<Test name="ivec2" />
-<Test name="vec2" />
-<Test name="uvec4" />
-<Test name="uvec2" />
-<Test name="uvec3" />
-<Test name="ivec4" />
-</TestCase>
-<TestCase name="layout_hole">
-<Test name="int" />
-<Test name="float" />
-<Test name="vec4" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="mat3x4" />
-<Test name="mat3x3" />
-<Test name="mat3x2" />
-<Test name="mat2x4" />
-<Test name="mat2x2" />
-<Test name="mat2x3" />
-<Test name="uint" />
-<Test name="ivec2" />
-<Test name="ivec3" />
-<Test name="uvec4" />
-<Test name="uvec2" />
-<Test name="uvec3" />
-<Test name="ivec4" />
-<Test name="mat4" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x2" />
-<Test name="mat4x3" />
-<Test name="mat4x4" />
-</TestCase>
-<TestCase name="mixed">
-<Test name="int" />
-<Test name="float" />
-<Test name="vec4" />
-<Test name="uint" />
-<Test name="vec3" />
-<Test name="ivec3" />
-<Test name="ivec2" />
-<Test name="vec2" />
-<Test name="uvec4" />
-<Test name="uvec2" />
-<Test name="uvec3" />
-<Test name="ivec4" />
-</TestCase>
-<TestCase name="mixed_hole">
-<Test name="int" />
-<Test name="float" />
-<Test name="vec4" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="mat3x4" />
-<Test name="mat3x3" />
-<Test name="mat3x2" />
-<Test name="mat2x4" />
-<Test name="mat2x2" />
-<Test name="mat2x3" />
-<Test name="uint" />
-<Test name="ivec2" />
-<Test name="ivec3" />
-<Test name="uvec4" />
-<Test name="uvec2" />
-<Test name="uvec3" />
-<Test name="ivec4" />
-<Test name="mat4" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x2" />
-<Test name="mat4x3" />
-<Test name="mat4x4" />
-</TestCase>
-</TestSuite>
-<TestSuite name="lifetime">
-<TestCase name="delete_bound">
-<Test name="renderbuffer" />
-<Test name="buffer" />
-<Test name="texture" />
-<Test name="transform_feedback" />
-<Test name="vertex_array" />
-<Test name="sampler" />
-<Test name="query" />
-<Test name="framebuffer" />
-</TestCase>
-<TestCase name="delete_active">
-<Test name="transform_feedback" />
-</TestCase>
-<TestCase name="bind">
-<Test name="renderbuffer" />
-<Test name="buffer" />
-<Test name="texture" />
-<Test name="transform_feedback" />
-<Test name="vertex_array" />
-<Test name="sampler" />
-<Test name="query" />
-<Test name="framebuffer" />
-</TestCase>
-<TestCase name="bind_no_gen">
-<Test name="renderbuffer" />
-<Test name="buffer" />
-<Test name="texture" />
-<Test name="transform_feedback" />
-<Test name="vertex_array" />
-<Test name="sampler" />
-<Test name="query" />
-<Test name="framebuffer" />
-</TestCase>
-<TestSuite name="attach">
-<TestCase name="deleted_output">
-<Test name="renderbuffer_framebuffer" />
-<Test name="texture_framebuffer" />
-</TestCase>
-<TestCase name="deleted_input">
-<Test name="shader_program" />
-<Test name="renderbuffer_framebuffer" />
-<Test name="texture_framebuffer" />
-</TestCase>
-<TestCase name="deleted_name">
-<Test name="shader_program" />
-</TestCase>
-</TestSuite>
-<TestCase name="delete_used">
-<Test name="program" />
-</TestCase>
-<TestCase name="gen">
-<Test name="renderbuffer" />
-<Test name="buffer" />
-<Test name="shader" />
-<Test name="texture" />
-<Test name="transform_feedback" />
-<Test name="program" />
-<Test name="vertex_array" />
-<Test name="sampler" />
-<Test name="query" />
-<Test name="framebuffer" />
-</TestCase>
-<TestCase name="delete">
-<Test name="renderbuffer" />
-<Test name="buffer" />
-<Test name="shader" />
-<Test name="texture" />
-<Test name="transform_feedback" />
-<Test name="program" />
-<Test name="vertex_array" />
-<Test name="sampler" />
-<Test name="query" />
-<Test name="framebuffer" />
-</TestCase>
-</TestSuite>
-<TestSuite name="fbo">
-<TestSuite name="invalidate">
-<TestCase name="default">
-<Test name="render_none" />
-<Test name="render_depth_stencil" />
-<Test name="sub_bind_color" />
-<Test name="sub_render_color" />
-<Test name="read_framebuffer_all" />
-<Test name="draw_framebuffer_color" />
-<Test name="read_framebuffer_color" />
-<Test name="sub_render_depth_stencil" />
-<Test name="render_stencil" />
-<Test name="sub_bind_depth" />
-<Test name="sub_bind_depth_stencil" />
-<Test name="render_depth" />
-<Test name="sub_render_stencil" />
-<Test name="sub_render_all" />
-<Test name="bind_depth" />
-<Test name="draw_framebuffer_all" />
-<Test name="bind_stencil" />
-<Test name="sub_bind_all" />
-<Test name="sub_render_depth" />
-<Test name="bind_depth_stencil" />
-<Test name="bind_all" />
-<Test name="render_all" />
-<Test name="bind_color" />
-<Test name="sub_bind_stencil" />
-<Test name="render_color" />
-</TestCase>
-<TestCase name="format">
-<Test name="depth_component16" />
-<Test name="rgb5_a1" />
-<Test name="rg8i" />
-<Test name="r32ui" />
-<Test name="r8ui" />
-<Test name="r16ui" />
-<Test name="srgb8_alpha8" />
-<Test name="r8i" />
-<Test name="rgba16i" />
-<Test name="rgba16f" />
-<Test name="rgba8" />
-<Test name="rgb10_a2ui" />
-<Test name="rgba4" />
-<Test name="rg8ui" />
-<Test name="r11f_g11f_b10f" />
-<Test name="r32f" />
-<Test name="r32i" />
-<Test name="depth_component32f" />
-<Test name="rgb565" />
-<Test name="depth24_stencil8" />
-<Test name="rgba32ui" />
-<Test name="depth_component24" />
-<Test name="rgba8ui" />
-<Test name="rgba16ui" />
-<Test name="rgba32i" />
-<Test name="rgb10_a2" />
-<Test name="r16i" />
-<Test name="rg32i" />
-<Test name="rg16i" />
-<Test name="rg16ui" />
-<Test name="depth32f_stencil8" />
-<Test name="rgba8i" />
-<Test name="rg32ui" />
-<Test name="rg8" />
-<Test name="r16f" />
-<Test name="r8" />
-<Test name="rgb8" />
-<Test name="rg16f" />
-<Test name="rgba32f" />
-<Test name="stencil_index8" />
-<Test name="rg32f" />
-</TestCase>
-<TestCase name="whole">
-<Test name="render_depth_stencil" />
-<Test name="render_stencil" />
-<Test name="unbind_blit_msaa_depth_stencil" />
-<Test name="unbind_read_color" />
-<Test name="unbind_blit_depth_stencil" />
-<Test name="unbind_blit_msaa_color" />
-<Test name="render_none" />
-<Test name="unbind_blit_color" />
-<Test name="render_all" />
-<Test name="unbind_read_color_stencil" />
-<Test name="unbind_read_depth_stencil" />
-<Test name="unbind_read_depth" />
-<Test name="unbind_read_stencil" />
-<Test name="render_color" />
-<Test name="render_depth" />
-</TestCase>
-<TestCase name="target">
-<Test name="draw_framebuffer_draw_framebuffer_color" />
-<Test name="read_framebuffer_framebuffer_all" />
-<Test name="framebuffer_draw_framebuffer_depth_stencil" />
-<Test name="read_framebuffer_read_framebuffer_depth_stencil" />
-<Test name="read_framebuffer_framebuffer_color" />
-<Test name="draw_framebuffer_framebuffer_depth_stencil" />
-<Test name="draw_framebuffer_read_framebuffer_color" />
-<Test name="draw_framebuffer_read_framebuffer_depth_stencil" />
-<Test name="framebuffer_draw_framebuffer_color" />
-<Test name="framebuffer_read_framebuffer_all" />
-<Test name="read_framebuffer_read_framebuffer_all" />
-<Test name="draw_framebuffer_framebuffer_color" />
-<Test name="framebuffer_draw_framebuffer_all" />
-<Test name="read_framebuffer_read_framebuffer_color" />
-<Test name="framebuffer_read_framebuffer_depth_stencil" />
-<Test name="read_framebuffer_framebuffer_depth_stencil" />
-<Test name="framebuffer_framebuffer_depth_stencil" />
-<Test name="read_framebuffer_draw_framebuffer_depth_stencil" />
-<Test name="draw_framebuffer_draw_framebuffer_depth_stencil" />
-<Test name="framebuffer_framebuffer_all" />
-<Test name="read_framebuffer_draw_framebuffer_color" />
-<Test name="framebuffer_framebuffer_color" />
-<Test name="framebuffer_read_framebuffer_color" />
-<Test name="draw_framebuffer_framebuffer_all" />
-<Test name="draw_framebuffer_read_framebuffer_all" />
-<Test name="draw_framebuffer_draw_framebuffer_all" />
-<Test name="read_framebuffer_draw_framebuffer_all" />
-</TestCase>
-<TestCase name="sub">
-<Test name="render_depth_stencil" />
-<Test name="render_stencil" />
-<Test name="unbind_blit_msaa_depth_stencil" />
-<Test name="unbind_read_color" />
-<Test name="unbind_blit_msaa_depth" />
-<Test name="unbind_blit_depth_stencil" />
-<Test name="unbind_blit_msaa_color" />
-<Test name="render_none" />
-<Test name="unbind_blit_color" />
-<Test name="render_all" />
-<Test name="unbind_read_color_stencil" />
-<Test name="unbind_blit_depth" />
-<Test name="unbind_read_depth_stencil" />
-<Test name="unbind_read_depth" />
-<Test name="unbind_read_stencil" />
-<Test name="render_color" />
-<Test name="render_depth" />
-<Test name="unbind_blit_msaa_stencil" />
-</TestCase>
-</TestSuite>
-<TestSuite name="stencil">
-<TestCase name="attach">
-<Test name="depth_stencil_separate" />
-<Test name="depth_only" />
-<Test name="stencil_only" />
-<Test name="depth_stencil_attachment" />
-</TestCase>
-<TestCase name="basic">
-<Test name="depth32f_stencil8_depth" />
-<Test name="depth24_stencil8" />
-<Test name="depth24_stencil8_depth" />
-<Test name="depth32f_stencil8" />
-<Test name="stencil_index8" />
-</TestCase>
-</TestSuite>
-<TestSuite name="completeness">
-<TestSuite name="renderable">
-<TestSuite name="renderbuffer">
-<TestCase name="color0">
-<Test name="depth_component16" />
-<Test name="rgb5_a1" />
-<Test name="depth_component_unsigned_short" />
-<Test name="depth_component32" />
-<Test name="r32ui" />
-<Test name="rgb_unsigned_byte" />
-<Test name="r8ui" />
-<Test name="rgb10" />
-<Test name="rgba_unsigned_byte" />
-<Test name="rgb_unsigned_int_10f_11f_11f_rev" />
-<Test name="r16ui" />
-<Test name="srgb8_alpha8" />
-<Test name="r8i" />
-<Test name="rgba16i" />
-<Test name="rgba16f" />
-<Test name="rgba8" />
-<Test name="rgb10_a2ui" />
-<Test name="rg8ui" />
-<Test name="depth_component24" />
-<Test name="r32f" />
-<Test name="rgb_unsigned_short_5_6_5" />
-<Test name="r32i" />
-<Test name="depth_component32f" />
-<Test name="rgb565" />
-<Test name="depth24_stencil8" />
-<Test name="srgb_alpha_unsigned_byte" />
-<Test name="r8" />
-<Test name="rgba32ui" />
-<Test name="r11f_g11f_b10f" />
-<Test name="srgb_unsigned_byte" />
-<Test name="rg32f" />
-<Test name="rgba_unsigned_short_5_5_5_1" />
-<Test name="r16f" />
-<Test name="rgb_unsigned_int_2_10_10_10_rev" />
-<Test name="rg16f" />
-<Test name="rgba16ui" />
-<Test name="depth_component_unsigned_int" />
-<Test name="rgb10_a2" />
-<Test name="r16i" />
-<Test name="rg32i" />
-<Test name="rg16i" />
-<Test name="rg16ui" />
-<Test name="stencil_index8" />
-<Test name="depth32f_stencil8" />
-<Test name="rgba8i" />
-<Test name="rg32ui" />
-<Test name="depth_stencil_unsigned_int_24_8" />
-<Test name="rg8" />
-<Test name="rgba4" />
-<Test name="rg8i" />
-<Test name="rgb8" />
-<Test name="rgba8ui" />
-<Test name="rgba32f" />
-<Test name="rgba_unsigned_short_4_4_4_4" />
-<Test name="rgba32i" />
-<Test name="rgba_unsigned_int_2_10_10_10_rev" />
-</TestCase>
-<TestCase name="depth">
-<Test name="depth_component16" />
-<Test name="depth_component32" />
-<Test name="rg_unsigned_byte" />
-<Test name="rgb_unsigned_byte" />
-<Test name="rgb10" />
-<Test name="rgb_unsigned_int_10f_11f_11f_rev" />
-<Test name="depth24_stencil8" />
-<Test name="red_unsigned_byte" />
-<Test name="red_float" />
-<Test name="rgb_unsigned_short_5_6_5" />
-<Test name="depth_component32f" />
-<Test name="srgb_alpha_unsigned_byte" />
-<Test name="depth_component24" />
-<Test name="srgb_unsigned_byte" />
-<Test name="rg_float" />
-<Test name="rgba_unsigned_short_5_5_5_1" />
-<Test name="rgb_unsigned_int_2_10_10_10_rev" />
-<Test name="rgba_unsigned_int_2_10_10_10_rev" />
-<Test name="depth32f_stencil8" />
-<Test name="rgba_unsigned_byte" />
-<Test name="red_half_float_oes" />
-<Test name="rg_half_float_oes" />
-<Test name="rgba_unsigned_short_4_4_4_4" />
-</TestCase>
-<TestCase name="stencil">
-<Test name="depth_component_unsigned_short" />
-<Test name="depth_component32" />
-<Test name="rg_unsigned_byte" />
-<Test name="rgb_unsigned_byte" />
-<Test name="rgb10" />
-<Test name="rgb_unsigned_int_10f_11f_11f_rev" />
-<Test name="depth24_stencil8" />
-<Test name="red_unsigned_byte" />
-<Test name="red_float" />
-<Test name="rgb_unsigned_short_5_6_5" />
-<Test name="srgb_alpha_unsigned_byte" />
-<Test name="srgb_unsigned_byte" />
-<Test name="rg_float" />
-<Test name="rgba_unsigned_short_5_5_5_1" />
-<Test name="rgb_unsigned_int_2_10_10_10_rev" />
-<Test name="rgba_unsigned_int_2_10_10_10_rev" />
-<Test name="depth_component_unsigned_int" />
-<Test name="depth32f_stencil8" />
-<Test name="rgba_unsigned_byte" />
-<Test name="red_half_float_oes" />
-<Test name="rg_half_float_oes" />
-<Test name="rgba_unsigned_short_4_4_4_4" />
-<Test name="stencil_index8" />
-</TestCase>
-</TestSuite>
-<TestSuite name="texture">
-<TestCase name="color0">
-<Test name="depth_component16" />
-<Test name="rgb5_a1" />
-<Test name="depth_component_unsigned_short" />
-<Test name="depth_component32" />
-<Test name="r32ui" />
-<Test name="rgb_unsigned_byte" />
-<Test name="r8ui" />
-<Test name="rgba_unsigned_byte" />
-<Test name="rgb_unsigned_int_10f_11f_11f_rev" />
-<Test name="r16ui" />
-<Test name="srgb8_alpha8" />
-<Test name="r8i" />
-<Test name="rgba16i" />
-<Test name="rgba16f" />
-<Test name="rgba8" />
-<Test name="rgb10_a2ui" />
-<Test name="rg8ui" />
-<Test name="depth_component24" />
-<Test name="r32f" />
-<Test name="rgb_unsigned_short_5_6_5" />
-<Test name="r32i" />
-<Test name="depth_component32f" />
-<Test name="rgb565" />
-<Test name="depth24_stencil8" />
-<Test name="srgb_alpha_unsigned_byte" />
-<Test name="r8" />
-<Test name="rgba32ui" />
-<Test name="r11f_g11f_b10f" />
-<Test name="srgb_unsigned_byte" />
-<Test name="rgba_unsigned_short_5_5_5_1" />
-<Test name="r16f" />
-<Test name="depth_stencil_unsigned_int_24_8" />
-<Test name="rg16f" />
-<Test name="rgba16ui" />
-<Test name="depth_component_unsigned_int" />
-<Test name="rgb10_a2" />
-<Test name="r16i" />
-<Test name="rg32i" />
-<Test name="rg16i" />
-<Test name="rg16ui" />
-<Test name="stencil_index8" />
-<Test name="depth32f_stencil8" />
-<Test name="rgba8i" />
-<Test name="rg32ui" />
-<Test name="rg8" />
-<Test name="rgba4" />
-<Test name="rg8i" />
-<Test name="rgb8" />
-<Test name="red_half_float_oes" />
-<Test name="rgba8ui" />
-<Test name="rgba32f" />
-<Test name="rg_half_float_oes" />
-<Test name="rgba_unsigned_short_4_4_4_4" />
-<Test name="rgba32i" />
-<Test name="rg32f" />
-</TestCase>
-<TestCase name="depth">
-<Test name="depth_component16" />
-<Test name="rgb5_a1" />
-<Test name="depth_component_unsigned_short" />
-<Test name="depth_component32" />
-<Test name="rg_unsigned_byte" />
-<Test name="rgb_unsigned_byte" />
-<Test name="r8ui" />
-<Test name="rgb10" />
-<Test name="rgba_unsigned_byte" />
-<Test name="rgb_unsigned_int_10f_11f_11f_rev" />
-<Test name="r16ui" />
-<Test name="srgb8_alpha8" />
-<Test name="r8i" />
-<Test name="rgba16i" />
-<Test name="rgba16f" />
-<Test name="rgba8" />
-<Test name="rgb10_a2ui" />
-<Test name="red_float" />
-<Test name="rg8ui" />
-<Test name="depth_component24" />
-<Test name="r32f" />
-<Test name="red_unsigned_byte" />
-<Test name="rgb_unsigned_short_5_6_5" />
-<Test name="r32i" />
-<Test name="depth_component32f" />
-<Test name="r32ui" />
-<Test name="rgb565" />
-<Test name="depth24_stencil8" />
-<Test name="srgb_alpha_unsigned_byte" />
-<Test name="r8" />
-<Test name="rgba32ui" />
-<Test name="r11f_g11f_b10f" />
-<Test name="srgb_unsigned_byte" />
-<Test name="rg_float" />
-<Test name="rgba_unsigned_short_5_5_5_1" />
-<Test name="r16f" />
-<Test name="rgb16f" />
-<Test name="rgb_unsigned_int_2_10_10_10_rev" />
-<Test name="rg16f" />
-<Test name="rgba16ui" />
-<Test name="depth_component_unsigned_int" />
-<Test name="rgb10_a2" />
-<Test name="r16i" />
-<Test name="rg32i" />
-<Test name="rg16i" />
-<Test name="rg16ui" />
-<Test name="depth32f_stencil8" />
-<Test name="rgba8i" />
-<Test name="rg32ui" />
-<Test name="depth_stencil_unsigned_int_24_8" />
-<Test name="rg8" />
-<Test name="rgba4" />
-<Test name="rg8i" />
-<Test name="rgb8" />
-<Test name="red_half_float_oes" />
-<Test name="rgba8ui" />
-<Test name="rg32f" />
-<Test name="rgba32f" />
-<Test name="rg_half_float_oes" />
-<Test name="rgba_unsigned_short_4_4_4_4" />
-<Test name="rgba32i" />
-<Test name="rgba_unsigned_int_2_10_10_10_rev" />
-</TestCase>
-<TestCase name="stencil">
-<Test name="depth_component16" />
-<Test name="rgb5_a1" />
-<Test name="depth_component_unsigned_short" />
-<Test name="depth_component32" />
-<Test name="rg_unsigned_byte" />
-<Test name="rgb_unsigned_byte" />
-<Test name="r8ui" />
-<Test name="rgb10" />
-<Test name="rgba_unsigned_byte" />
-<Test name="rgb_unsigned_int_10f_11f_11f_rev" />
-<Test name="r16ui" />
-<Test name="srgb8_alpha8" />
-<Test name="r8i" />
-<Test name="rgba16i" />
-<Test name="rgba16f" />
-<Test name="rgba8" />
-<Test name="rgb10_a2ui" />
-<Test name="red_float" />
-<Test name="rg8ui" />
-<Test name="depth_component24" />
-<Test name="r32f" />
-<Test name="red_unsigned_byte" />
-<Test name="rgb_unsigned_short_5_6_5" />
-<Test name="r32i" />
-<Test name="depth_component32f" />
-<Test name="r32ui" />
-<Test name="rgb565" />
-<Test name="depth24_stencil8" />
-<Test name="srgb_alpha_unsigned_byte" />
-<Test name="r8" />
-<Test name="rgba32ui" />
-<Test name="r11f_g11f_b10f" />
-<Test name="srgb_unsigned_byte" />
-<Test name="rg_float" />
-<Test name="rgba_unsigned_short_5_5_5_1" />
-<Test name="r16f" />
-<Test name="rgb16f" />
-<Test name="rgb_unsigned_int_2_10_10_10_rev" />
-<Test name="rg16f" />
-<Test name="rgba16ui" />
-<Test name="depth_component_unsigned_int" />
-<Test name="rgb10_a2" />
-<Test name="r16i" />
-<Test name="rg32i" />
-<Test name="rg16i" />
-<Test name="rg16ui" />
-<Test name="depth32f_stencil8" />
-<Test name="rgba8i" />
-<Test name="rg32ui" />
-<Test name="depth_stencil_unsigned_int_24_8" />
-<Test name="rg8" />
-<Test name="rgba4" />
-<Test name="rg8i" />
-<Test name="rgb8" />
-<Test name="red_half_float_oes" />
-<Test name="rgba8ui" />
-<Test name="rg32f" />
-<Test name="rgba32f" />
-<Test name="rg_half_float_oes" />
-<Test name="rgba_unsigned_short_4_4_4_4" />
-<Test name="rgba32i" />
-<Test name="rgba_unsigned_int_2_10_10_10_rev" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-<TestCase name="layer">
-<Test name="3d_1_15" />
-<Test name="3d_64_15" />
-<Test name="2darr_4_3" />
-<Test name="3d_4_15" />
-<Test name="2darr_4_15" />
-<Test name="3d_1_0" />
-<Test name="2darr_1_3" />
-<Test name="2darr_1_0" />
-</TestCase>
-<TestCase name="attachment_combinations">
-<Test name="rbo_tex_none_rbo" />
-<Test name="rbo_tex_tex_none" />
-<Test name="none_none_none_tex" />
-<Test name="rbo_none_rbo_none" />
-<Test name="none_none_none_rbo" />
-<Test name="none_none_tex_none" />
-<Test name="rbo_tex_none_none" />
-<Test name="rbo_none_none_tex" />
-<Test name="tex_none_tex_tex" />
-<Test name="none_none_tex_tex" />
-<Test name="tex_none_none_rbo" />
-<Test name="rbo_none_rbo_tex" />
-<Test name="rbo_tex_rbo_none" />
-<Test name="none_rbo_tex_rbo" />
-<Test name="none_tex_rbo_none" />
-<Test name="rbo_none_tex_rbo" />
-<Test name="none_rbo_none_tex" />
-<Test name="none_tex_none_tex" />
-<Test name="none_tex_tex_none" />
-<Test name="tex_rbo_rbo_tex" />
-<Test name="none_rbo_tex_none" />
-<Test name="none_none_rbo_none" />
-<Test name="tex_none_rbo_rbo" />
-<Test name="tex_tex_rbo_tex" />
-<Test name="tex_rbo_rbo_none" />
-<Test name="tex_rbo_tex_tex" />
-<Test name="none_tex_rbo_rbo" />
-<Test name="rbo_none_tex_none" />
-<Test name="tex_rbo_rbo_rbo" />
-<Test name="tex_tex_none_tex" />
-<Test name="rbo_tex_rbo_rbo" />
-<Test name="rbo_none_none_rbo" />
-<Test name="none_rbo_tex_tex" />
-<Test name="tex_rbo_tex_none" />
-<Test name="none_tex_none_rbo" />
-<Test name="none_rbo_rbo_rbo" />
-<Test name="rbo_tex_rbo_tex" />
-<Test name="tex_tex_rbo_rbo" />
-<Test name="tex_tex_rbo_none" />
-<Test name="tex_tex_none_rbo" />
-<Test name="tex_rbo_none_none" />
-<Test name="none_rbo_none_rbo" />
-<Test name="tex_none_tex_none" />
-<Test name="none_tex_tex_tex" />
-<Test name="tex_none_none_none" />
-<Test name="tex_tex_tex_tex" />
-<Test name="rbo_rbo_rbo_none" />
-<Test name="rbo_rbo_tex_tex" />
-<Test name="tex_tex_none_none" />
-<Test name="tex_none_rbo_tex" />
-<Test name="rbo_rbo_rbo_rbo" />
-<Test name="rbo_rbo_tex_none" />
-<Test name="none_none_rbo_tex" />
-<Test name="none_tex_tex_rbo" />
-<Test name="tex_rbo_none_tex" />
-<Test name="tex_rbo_tex_rbo" />
-<Test name="rbo_rbo_none_rbo" />
-<Test name="none_none_none_none" />
-<Test name="tex_tex_tex_rbo" />
-<Test name="tex_rbo_none_rbo" />
-<Test name="tex_tex_tex_none" />
-<Test name="none_rbo_rbo_none" />
-<Test name="none_tex_rbo_tex" />
-<Test name="rbo_rbo_rbo_tex" />
-<Test name="tex_none_rbo_none" />
-<Test name="rbo_none_none_none" />
-<Test name="tex_none_tex_rbo" />
-<Test name="rbo_tex_tex_tex" />
-<Test name="rbo_none_tex_tex" />
-<Test name="tex_none_none_tex" />
-<Test name="none_rbo_rbo_tex" />
-<Test name="none_rbo_none_none" />
-<Test name="rbo_tex_tex_rbo" />
-<Test name="none_none_rbo_rbo" />
-<Test name="rbo_rbo_none_tex" />
-<Test name="rbo_tex_none_tex" />
-<Test name="rbo_rbo_tex_rbo" />
-<Test name="rbo_none_rbo_rbo" />
-<Test name="none_none_tex_rbo" />
-<Test name="none_tex_none_none" />
-<Test name="rbo_rbo_none_none" />
-</TestCase>
-<TestCase name="samples">
-<Test name="rbo1_rbo1_rbo1" />
-<Test name="rbo1_none_none" />
-<Test name="rbo0_tex_none" />
-<Test name="rbo0_rbo0_tex" />
-<Test name="rbo2_none_none" />
-<Test name="rbo1_rbo2_rbo4" />
-<Test name="rbo2_rbo1_none" />
-<Test name="rbo2_rbo2_rbo0" />
-<Test name="rbo1_rbo2_rbo0" />
-<Test name="rbo0_none_none" />
-<Test name="rbo2_rbo2_none" />
-</TestCase>
-</TestSuite>
-<TestSuite name="render">
-<TestCase name="recreate_color">
-<Test name="tex2d_rg16ui_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_rg32f_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_rgb5_a1_depth_stencil_rbo_depth24_stencil8" />
-<Test name="rbo_rgba16f_depth_stencil_rbo_depth24_stencil8" />
-<Test name="rbo_srgb8_alpha8_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_rg32i_depth_stencil_rbo_depth24_stencil8" />
-<Test name="rbo_rgb5_a1_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_rgba4_depth_stencil_rbo_depth24_stencil8" />
-<Test name="rbo_rg16i_depth_stencil_rbo_depth24_stencil8" />
-<Test name="rbo_r8_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_r11f_g11f_b10f_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_rgba8_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_rgba8i_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_rgb565_depth_stencil_rbo_depth24_stencil8" />
-<Test name="rbo_rg8ui_depth_stencil_rbo_depth24_stencil8" />
-<Test name="rbo_rg16ui_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_rgba32ui_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_rgb10_a2_depth_stencil_rbo_depth24_stencil8" />
-<Test name="rbo_rgba32f_depth_stencil_rbo_depth24_stencil8" />
-<Test name="rbo_rgba4_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_rg8i_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_r8ui_depth_stencil_rbo_depth24_stencil8" />
-<Test name="rbo_rgba32i_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_r32i_depth_stencil_rbo_depth24_stencil8" />
-<Test name="rbo_rgb8_depth_stencil_rbo_depth24_stencil8" />
-<Test name="rbo_rg8i_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_rg32ui_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_rg16f_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_rg8_depth_stencil_rbo_depth24_stencil8" />
-<Test name="rbo_r32ui_depth_stencil_rbo_depth24_stencil8" />
-<Test name="rbo_r16i_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_r32ui_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_r16f_depth_stencil_rbo_depth24_stencil8" />
-<Test name="rbo_rg8_depth_stencil_rbo_depth24_stencil8" />
-<Test name="rbo_r16ui_depth_stencil_rbo_depth24_stencil8" />
-<Test name="rbo_r8i_depth_stencil_rbo_depth24_stencil8" />
-<Test name="rbo_rg32ui_depth_stencil_rbo_depth24_stencil8" />
-<Test name="rbo_rgba32ui_depth_stencil_rbo_depth24_stencil8" />
-<Test name="rbo_rgb10_a2_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_r32f_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_rgb8_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_r16i_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_srgb8_alpha8_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_rgb16f_depth_stencil_rbo_depth24_stencil8" />
-<Test name="rbo_rgba8i_depth_stencil_rbo_depth24_stencil8" />
-<Test name="rbo_rg16f_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_rgba32i_depth_stencil_rbo_depth24_stencil8" />
-<Test name="rbo_r11f_g11f_b10f_depth_stencil_rbo_depth24_stencil8" />
-<Test name="rbo_rgba8_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_r16ui_depth_stencil_rbo_depth24_stencil8" />
-<Test name="rbo_r8ui_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_rgb10_a2ui_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_rgba16f_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_rg8ui_depth_stencil_rbo_depth24_stencil8" />
-<Test name="rbo_rgba16ui_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_rgba32f_depth_stencil_rbo_depth24_stencil8" />
-<Test name="rbo_rgb565_depth_stencil_rbo_depth24_stencil8" />
-<Test name="rbo_rg32f_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_rgba16ui_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_rgba8ui_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_r8i_depth_stencil_rbo_depth24_stencil8" />
-<Test name="rbo_rgba8ui_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_rg16i_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_rgba16i_depth_stencil_rbo_depth24_stencil8" />
-<Test name="rbo_rgb10_a2ui_depth_stencil_rbo_depth24_stencil8" />
-<Test name="rbo_r32f_depth_stencil_rbo_depth24_stencil8" />
-<Test name="rbo_r16f_depth_stencil_rbo_depth24_stencil8" />
-<Test name="rbo_r32i_depth_stencil_rbo_depth24_stencil8" />
-<Test name="rbo_rg32i_depth_stencil_rbo_depth24_stencil8" />
-<Test name="rbo_rgba16i_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_r8_depth_stencil_rbo_depth24_stencil8" />
-</TestCase>
-<TestCase name="stencil_clear">
-<Test name="tex2d_rgba8_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_rgba8_stencil_rbo_stencil_index8" />
-<Test name="tex2d_rgba8_stencil_rbo_depth32f_stencil8" />
-</TestCase>
-<TestCase name="resize">
-<Test name="rbo_r32i" />
-<Test name="tex2d_rgba32i" />
-<Test name="tex2d_rgba32f" />
-<Test name="tex2d_rg8ui" />
-<Test name="rbo_r32f" />
-<Test name="rbo_rg16ui" />
-<Test name="tex2d_rgba8_depth_rbo_depth_component16" />
-<Test name="tex2d_rg16i" />
-<Test name="tex2d_rgba16f_depth_tex2d_depth_component16" />
-<Test name="tex2d_rg16f" />
-<Test name="tex2d_srgb8_alpha8" />
-<Test name="tex2d_r32ui" />
-<Test name="tex2d_rgba8_depth_tex2d_depth_component16" />
-<Test name="tex2d_rg32ui" />
-<Test name="rbo_rgba32f" />
-<Test name="tex2d_rgba8_depth_rbo_depth_component24" />
-<Test name="rbo_rgba16i" />
-<Test name="rbo_r16ui" />
-<Test name="rbo_rgba32i" />
-<Test name="tex2d_r16f" />
-<Test name="tex2d_r16i" />
-<Test name="rbo_rgb10_a2" />
-<Test name="rbo_rg32i" />
-<Test name="rbo_r8i" />
-<Test name="rbo_rg8i" />
-<Test name="rbo_rg32f" />
-<Test name="tex2d_rgba8_depth_stencil_tex2d_depth24_stencil8" />
-<Test name="rbo_rgb10_a2ui" />
-<Test name="rbo_rgba8i" />
-<Test name="tex2d_rgb10_a2" />
-<Test name="rbo_rgb565" />
-<Test name="tex2d_rgba16f_depth_rbo_depth_component32f" />
-<Test name="tex2d_rgba16f_depth_stencil_tex2d_depth24_stencil8" />
-<Test name="tex2d_rgba8_depth_stencil_tex2d_depth32f_stencil8" />
-<Test name="rbo_srgb8_alpha8" />
-<Test name="tex2d_rgba8_depth_stencil_rbo_depth32f_stencil8" />
-<Test name="tex2d_r8" />
-<Test name="rbo_rgb5_a1" />
-<Test name="tex2d_rgba8_depth_tex2d_depth_component32f" />
-<Test name="tex2d_rgb565" />
-<Test name="rbo_rg16f" />
-<Test name="tex2d_rgba32ui" />
-<Test name="tex2d_rg8" />
-<Test name="rbo_r8ui" />
-<Test name="tex2d_rgba16f_depth_tex2d_depth_component24" />
-<Test name="rbo_rg8" />
-<Test name="tex2d_rgba16f" />
-<Test name="tex2d_rgb5_a1" />
-<Test name="rbo_rg32ui" />
-<Test name="tex2d_rgba16i" />
-<Test name="tex2d_rg32f" />
-<Test name="rbo_rg16i" />
-<Test name="rbo_rgba8ui" />
-<Test name="rbo_r16f" />
-<Test name="tex2d_rg32i" />
-<Test name="tex2d_rgba16f_depth_rbo_depth_component24" />
-<Test name="tex2d_rgba16f_depth_stencil_rbo_depth32f_stencil8" />
-<Test name="rbo_r16i" />
-<Test name="tex2d_rg8i" />
-<Test name="tex2d_rgba16f_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_rgb16f" />
-<Test name="tex2d_r8ui" />
-<Test name="tex2d_rgba8" />
-<Test name="tex2d_rgba4" />
-<Test name="rbo_r32ui" />
-<Test name="rbo_r8" />
-<Test name="tex2d_rgba16f_depth_rbo_depth_component16" />
-<Test name="tex2d_rgb10_a2ui" />
-<Test name="rbo_rgba32ui" />
-<Test name="rbo_rgba16f" />
-<Test name="tex2d_rgba8_stencil_rbo_stencil_index8" />
-<Test name="tex2d_rgba8_depth_tex2d_depth_component24" />
-<Test name="rbo_r11f_g11f_b10f" />
-<Test name="tex2d_r16ui" />
-<Test name="rbo_rgba16ui" />
-<Test name="tex2d_rgba8_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_rgba16ui" />
-<Test name="tex2d_rgb8" />
-<Test name="rbo_rgba4" />
-<Test name="rbo_rg8ui" />
-<Test name="tex2d_rg16ui" />
-<Test name="rbo_rgba8" />
-<Test name="tex2d_rgba16f_depth_tex2d_depth_component32f" />
-<Test name="rbo_rgb8" />
-<Test name="tex2d_r8i" />
-<Test name="tex2d_r11f_g11f_b10f" />
-<Test name="tex2d_rgba16f_depth_stencil_tex2d_depth32f_stencil8" />
-<Test name="tex2d_r32i" />
-<Test name="tex2d_rgba8ui" />
-<Test name="tex2d_r32f" />
-<Test name="tex2d_rgba16f_stencil_rbo_stencil_index8" />
-<Test name="tex2d_rgba8_depth_rbo_depth_component32f" />
-<Test name="tex2d_rgba8i" />
-</TestCase>
-<TestCase name="recreate_depth_stencil">
-<Test name="tex2d_rgba8_depth_stencil_tex2d_depth32f_stencil8" />
-<Test name="tex2d_rgba8_depth_rbo_depth_component24" />
-<Test name="tex2d_rgba8_depth_stencil_rbo_depth32f_stencil8" />
-<Test name="tex2d_rgba8_stencil_rbo_stencil_index8" />
-<Test name="tex2d_rgba8_depth_stencil_tex2d_depth24_stencil8" />
-<Test name="tex2d_rgba8_depth_tex2d_depth_component16" />
-<Test name="tex2d_rgba8_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_rgba8_depth_rbo_depth_component32f" />
-<Test name="tex2d_rgba8_depth_tex2d_depth_component24" />
-<Test name="tex2d_rgba8_depth_rbo_depth_component16" />
-<Test name="tex2d_rgba8_depth_tex2d_depth_component32f" />
-</TestCase>
-<TestCase name="shared_colorbuffer">
-<Test name="rbo_srgb8_alpha8_depth_rbo_depth24_stencil8" />
-<Test name="tex2d_rgb5_a1_depth_stencil_rbo_depth24_stencil8" />
-<Test name="rbo_r8_depth_rbo_depth24_stencil8" />
-<Test name="rbo_r8_depth_stencil_rbo_depth24_stencil8" />
-<Test name="rbo_srgb8_alpha8_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_rgb10_a2" />
-<Test name="rbo_rgb5_a1_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_rgba4_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_rgba16f_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_rgba4" />
-<Test name="tex2d_rgba8_depth_stencil_rbo_depth24_stencil8" />
-<Test name="rbo_rgb5_a1_depth_rbo_depth24_stencil8" />
-<Test name="tex2d_rgb565_depth_stencil_rbo_depth24_stencil8" />
-<Test name="rbo_rgb10_a2_depth_rbo_depth24_stencil8" />
-<Test name="rbo_rgb10_a2_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_rgb10_a2_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_rgb16f_depth_rbo_depth24_stencil8" />
-<Test name="rbo_rgba4_depth_rbo_depth24_stencil8" />
-<Test name="rbo_rgba4_depth_stencil_rbo_depth24_stencil8" />
-<Test name="rbo_srgb8_alpha8" />
-<Test name="tex2d_rgb5_a1_depth_rbo_depth24_stencil8" />
-<Test name="rbo_rgba4" />
-<Test name="rbo_rgb8_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_rgba16f" />
-<Test name="rbo_r11f_g11f_b10f_depth_rbo_depth24_stencil8" />
-<Test name="rbo_rgb565_depth_rbo_depth24_stencil8" />
-<Test name="tex2d_rg8_depth_stencil_rbo_depth24_stencil8" />
-<Test name="rbo_rgb8_depth_rbo_depth24_stencil8" />
-<Test name="tex2d_r8_depth_rbo_depth24_stencil8" />
-<Test name="tex2d_r8" />
-<Test name="tex2d_r11f_g11f_b10f_depth_rbo_depth24_stencil8" />
-<Test name="rbo_rgba8" />
-<Test name="rbo_rgb5_a1" />
-<Test name="rbo_rgba16f_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_rgb565_depth_rbo_depth24_stencil8" />
-<Test name="rbo_rgb8" />
-<Test name="tex2d_rgb565" />
-<Test name="rbo_rgba16f_depth_rbo_depth24_stencil8" />
-<Test name="tex2d_rgb16f" />
-<Test name="tex2d_r11f_g11f_b10f" />
-<Test name="rbo_rgba8_depth_rbo_depth24_stencil8" />
-<Test name="tex2d_srgb8_alpha8_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_rgb16f_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_rg8" />
-<Test name="tex2d_rgb8_depth_rbo_depth24_stencil8" />
-<Test name="rbo_rgb565_depth_stencil_rbo_depth24_stencil8" />
-<Test name="rbo_rgb10_a2" />
-<Test name="rbo_rgba8_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_r11f_g11f_b10f_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_rgba4_depth_rbo_depth24_stencil8" />
-<Test name="rbo_r8" />
-<Test name="tex2d_rgb8_depth_stencil_rbo_depth24_stencil8" />
-<Test name="rbo_rg8_depth_rbo_depth24_stencil8" />
-<Test name="tex2d_srgb8_alpha8" />
-<Test name="tex2d_rgb10_a2_depth_rbo_depth24_stencil8" />
-<Test name="rbo_rg8" />
-<Test name="tex2d_rgba16f_depth_rbo_depth24_stencil8" />
-<Test name="rbo_rgb565" />
-<Test name="rbo_rgba16f" />
-<Test name="rbo_rg8_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_rgb8" />
-<Test name="tex2d_rg8_depth_rbo_depth24_stencil8" />
-<Test name="tex2d_srgb8_alpha8_depth_rbo_depth24_stencil8" />
-<Test name="tex2d_rgb5_a1" />
-<Test name="rbo_r11f_g11f_b10f_depth_stencil_rbo_depth24_stencil8" />
-<Test name="tex2d_rgba8_depth_rbo_depth24_stencil8" />
-<Test name="tex2d_r8_depth_stencil_rbo_depth24_stencil8" />
-<Test name="rbo_r11f_g11f_b10f" />
-<Test name="tex2d_rgba8" />
-</TestCase>
-</TestSuite>
-<TestSuite name="color">
-<TestCase name="tex2d">
-<Test name="rgb5_a1" />
-<Test name="rg8i" />
-<Test name="r32ui" />
-<Test name="r8ui" />
-<Test name="r16ui" />
-<Test name="srgb8_alpha8" />
-<Test name="r8i" />
-<Test name="rgba16i" />
-<Test name="rgba16f" />
-<Test name="rgba8" />
-<Test name="rgb10_a2ui" />
-<Test name="rgba4" />
-<Test name="rg8ui" />
-<Test name="r32f" />
-<Test name="r32i" />
-<Test name="rgb565" />
-<Test name="rgba32ui" />
-<Test name="r11f_g11f_b10f" />
-<Test name="rgb16f" />
-<Test name="rgba8ui" />
-<Test name="rgba16ui" />
-<Test name="rgb10_a2" />
-<Test name="rg32i" />
-<Test name="rg16i" />
-<Test name="rg16ui" />
-<Test name="r16i" />
-<Test name="rgba8i" />
-<Test name="rg32ui" />
-<Test name="rg8" />
-<Test name="r16f" />
-<Test name="r8" />
-<Test name="rgb8" />
-<Test name="rg16f" />
-<Test name="rgba32f" />
-<Test name="rgba32i" />
-<Test name="rg32f" />
-</TestCase>
-<TestCase name="clear">
-<Test name="rgb5_a1" />
-<Test name="rg8i" />
-<Test name="r32ui" />
-<Test name="r8ui" />
-<Test name="r16ui" />
-<Test name="srgb8_alpha8" />
-<Test name="r8i" />
-<Test name="rgba16i" />
-<Test name="rgba16f" />
-<Test name="rgba8" />
-<Test name="rgb10_a2ui" />
-<Test name="rgba4" />
-<Test name="rg8ui" />
-<Test name="r32f" />
-<Test name="r32i" />
-<Test name="rgb565" />
-<Test name="rgba32ui" />
-<Test name="r11f_g11f_b10f" />
-<Test name="rgba8ui" />
-<Test name="rgba16ui" />
-<Test name="rgb10_a2" />
-<Test name="rg32i" />
-<Test name="rg16i" />
-<Test name="rg16ui" />
-<Test name="r16i" />
-<Test name="rgba8i" />
-<Test name="rg32ui" />
-<Test name="rg8" />
-<Test name="r16f" />
-<Test name="r8" />
-<Test name="rgb8" />
-<Test name="rg16f" />
-<Test name="rgba32f" />
-<Test name="rgba32i" />
-<Test name="rg32f" />
-</TestCase>
-<TestCase name="texcube">
-<Test name="rgb5_a1" />
-<Test name="rg8i" />
-<Test name="r32ui" />
-<Test name="r8ui" />
-<Test name="r16ui" />
-<Test name="srgb8_alpha8" />
-<Test name="r8i" />
-<Test name="rgba16i" />
-<Test name="rgba16f" />
-<Test name="rgba8" />
-<Test name="rgb10_a2ui" />
-<Test name="rgba4" />
-<Test name="rg8ui" />
-<Test name="r32f" />
-<Test name="r32i" />
-<Test name="rgb565" />
-<Test name="rgba32ui" />
-<Test name="r11f_g11f_b10f" />
-<Test name="rgb16f" />
-<Test name="rgba8ui" />
-<Test name="rgba16ui" />
-<Test name="rgb10_a2" />
-<Test name="rg32i" />
-<Test name="rg16i" />
-<Test name="rg16ui" />
-<Test name="r16i" />
-<Test name="rgba8i" />
-<Test name="rg32ui" />
-<Test name="rg8" />
-<Test name="r16f" />
-<Test name="r8" />
-<Test name="rgb8" />
-<Test name="rg16f" />
-<Test name="rgba32f" />
-<Test name="rgba32i" />
-<Test name="rg32f" />
-</TestCase>
-<TestCase name="blend">
-<Test name="r8_src_over" />
-<Test name="srgb8_alpha8_src_over" />
-<Test name="rgb565_src_over" />
-<Test name="rgb10_a2_src_over" />
-<Test name="rgba8_src_over" />
-<Test name="rgb5_a1_src_over" />
-<Test name="r11f_g11f_b10f_src_over" />
-<Test name="rgb8_src_over" />
-<Test name="rg8_src_over" />
-<Test name="rgba4_src_over" />
-<Test name="rgba16f_src_over" />
-</TestCase>
-<TestCase name="tex2darray">
-<Test name="rgb5_a1" />
-<Test name="rg8i" />
-<Test name="r32ui" />
-<Test name="r8ui" />
-<Test name="r16ui" />
-<Test name="srgb8_alpha8" />
-<Test name="r8i" />
-<Test name="rgba16i" />
-<Test name="rgba16f" />
-<Test name="rgba8" />
-<Test name="rgb10_a2ui" />
-<Test name="rgba4" />
-<Test name="rg8ui" />
-<Test name="r32f" />
-<Test name="r32i" />
-<Test name="rgb565" />
-<Test name="rgba32ui" />
-<Test name="r11f_g11f_b10f" />
-<Test name="rgb16f" />
-<Test name="rgba8ui" />
-<Test name="rgba16ui" />
-<Test name="rgb10_a2" />
-<Test name="rg32i" />
-<Test name="rg16i" />
-<Test name="rg16ui" />
-<Test name="r16i" />
-<Test name="rgba8i" />
-<Test name="rg32ui" />
-<Test name="rg8" />
-<Test name="r16f" />
-<Test name="r8" />
-<Test name="rgb8" />
-<Test name="rg16f" />
-<Test name="rgba32f" />
-<Test name="rgba32i" />
-<Test name="rg32f" />
-</TestCase>
-<TestCase name="tex3d">
-<Test name="rgb5_a1" />
-<Test name="rg8i" />
-<Test name="r32ui" />
-<Test name="r8ui" />
-<Test name="r16ui" />
-<Test name="srgb8_alpha8" />
-<Test name="r8i" />
-<Test name="rgba16i" />
-<Test name="rgba16f" />
-<Test name="rgba8" />
-<Test name="rgb10_a2ui" />
-<Test name="rgba4" />
-<Test name="rg8ui" />
-<Test name="r32f" />
-<Test name="r32i" />
-<Test name="rgb565" />
-<Test name="rgba32ui" />
-<Test name="r11f_g11f_b10f" />
-<Test name="rgb16f" />
-<Test name="rgba8ui" />
-<Test name="rgba16ui" />
-<Test name="rgb10_a2" />
-<Test name="rg32i" />
-<Test name="rg16i" />
-<Test name="rg16ui" />
-<Test name="r16i" />
-<Test name="rgba8i" />
-<Test name="rg32ui" />
-<Test name="rg8" />
-<Test name="r16f" />
-<Test name="r8" />
-<Test name="rgb8" />
-<Test name="rg16f" />
-<Test name="rgba32f" />
-<Test name="rgba32i" />
-<Test name="rg32f" />
-</TestCase>
-</TestSuite>
-<TestSuite name="depth">
-<TestCase name="depth_write_clamp">
-<Test name="depth_component24" />
-<Test name="depth_component32f" />
-<Test name="depth_component16" />
-<Test name="depth32f_stencil8" />
-<Test name="depth24_stencil8" />
-</TestCase>
-<TestCase name="depth_test_clamp">
-<Test name="depth_component24" />
-<Test name="depth_component32f" />
-<Test name="depth_component16" />
-<Test name="depth32f_stencil8" />
-<Test name="depth24_stencil8" />
-</TestCase>
-<TestCase name="basic">
-<Test name="depth_component24" />
-<Test name="depth_component32f" />
-<Test name="depth_component16" />
-<Test name="depth32f_stencil8" />
-<Test name="depth24_stencil8" />
-</TestCase>
-</TestSuite>
-<TestSuite name="msaa">
-<TestCase name="4_samples">
-<Test name="depth_component16" />
-<Test name="rgb5_a1" />
-<Test name="srgb8_alpha8" />
-<Test name="depth24_stencil8" />
-<Test name="rgba4" />
-<Test name="rgba16f" />
-<Test name="rgba8" />
-<Test name="r11f_g11f_b10f" />
-<Test name="r32f" />
-<Test name="depth_component32f" />
-<Test name="rgb565" />
-<Test name="depth_component24" />
-<Test name="rg16f" />
-<Test name="rg32f" />
-<Test name="rgb10_a2" />
-<Test name="depth32f_stencil8" />
-<Test name="rg8" />
-<Test name="r16f" />
-<Test name="r8" />
-<Test name="rgb8" />
-<Test name="rgba32f" />
-<Test name="stencil_index8" />
-</TestCase>
-<TestCase name="2_samples">
-<Test name="depth_component16" />
-<Test name="rgb5_a1" />
-<Test name="srgb8_alpha8" />
-<Test name="depth24_stencil8" />
-<Test name="rgba4" />
-<Test name="rgba16f" />
-<Test name="rgba8" />
-<Test name="r11f_g11f_b10f" />
-<Test name="r32f" />
-<Test name="depth_component32f" />
-<Test name="rgb565" />
-<Test name="depth_component24" />
-<Test name="rg16f" />
-<Test name="rg32f" />
-<Test name="rgb10_a2" />
-<Test name="depth32f_stencil8" />
-<Test name="rg8" />
-<Test name="r16f" />
-<Test name="r8" />
-<Test name="rgb8" />
-<Test name="rgba32f" />
-<Test name="stencil_index8" />
-</TestCase>
-<TestCase name="8_samples">
-<Test name="depth_component16" />
-<Test name="rgb5_a1" />
-<Test name="srgb8_alpha8" />
-<Test name="depth24_stencil8" />
-<Test name="rgba4" />
-<Test name="rgba16f" />
-<Test name="rgba8" />
-<Test name="r11f_g11f_b10f" />
-<Test name="r32f" />
-<Test name="depth_component32f" />
-<Test name="rgb565" />
-<Test name="depth_component24" />
-<Test name="rg16f" />
-<Test name="rg32f" />
-<Test name="rgb10_a2" />
-<Test name="depth32f_stencil8" />
-<Test name="rg8" />
-<Test name="r16f" />
-<Test name="r8" />
-<Test name="rgb8" />
-<Test name="rgba32f" />
-<Test name="stencil_index8" />
-</TestCase>
-</TestSuite>
-<TestCase name="api">
-<Test name="attach_to_default_fbo" />
-<Test name="invalid_tex2d_attachments" />
-<Test name="valid_texcube_attachments" />
-<Test name="valid_tex2d_attachments" />
-<Test name="delete_tex_2d_attached_to_not_bound_fbo" />
-<Test name="attachment_query_tex2d" />
-<Test name="delete_tex_2d_attached_to_bound_fbo" />
-<Test name="delete_rbo_attached_to_bound_fbo" />
-<Test name="invalid_rbo_attachments" />
-<Test name="invalid_texcube_attachments" />
-<Test name="delete_tex_cube_attached_to_bound_fbo" />
-<Test name="delete_rbo_attached_to_not_bound_fbo" />
-<Test name="valid_rbo_attachments" />
-<Test name="delete_tex_cube_attached_to_not_bound_fbo" />
-<Test name="attach_names" />
-</TestCase>
-<TestSuite name="blit">
-<TestCase name="conversion">
-<Test name="rg16i_to_rg32i" />
-<Test name="r8ui_to_rgba32ui" />
-<Test name="r8_to_rgba8" />
-<Test name="rgb565_to_r32f" />
-<Test name="r8_to_rgba4" />
-<Test name="rgb10_a2ui_to_r32ui" />
-<Test name="rgba16ui_to_rg16ui" />
-<Test name="rgba8_to_r16f" />
-<Test name="r32i_to_rg8i" />
-<Test name="r11f_g11f_b10f_to_srgb8_alpha8" />
-<Test name="rg16ui_to_rgba16ui" />
-<Test name="rg8ui_to_rgb10_a2ui" />
-<Test name="rgba32ui_to_rgba16ui" />
-<Test name="rgb8_to_rgba32f" />
-<Test name="r8_to_r8" />
-<Test name="r16i_to_r32i" />
-<Test name="r32f_to_rgba16f" />
-<Test name="r16ui_to_rgba16ui" />
-<Test name="rgba32f_to_rgb8" />
-<Test name="rg8i_to_rg32i" />
-<Test name="rg32ui_to_rgb10_a2ui" />
-<Test name="rgba8ui_to_rgba8ui" />
-<Test name="r32f_to_r32f" />
-<Test name="rg8_to_rgb565" />
-<Test name="rg16ui_to_rg16ui" />
-<Test name="rgba8ui_to_rg8ui" />
-<Test name="rgba16ui_to_rg8ui" />
-<Test name="rgba16i_to_r32i" />
-<Test name="rgba8i_to_rg16i" />
-<Test name="r8_to_rgb10_a2" />
-<Test name="rgb565_to_r8" />
-<Test name="rgba8i_to_r32i" />
-<Test name="r8_to_rgba32f" />
-<Test name="rgb8_to_r32f" />
-<Test name="r16f_to_r16f" />
-<Test name="rg32i_to_rgba8i" />
-<Test name="rg16ui_to_rgb10_a2ui" />
-<Test name="r32i_to_rg16i" />
-<Test name="rg8_to_rg8" />
-<Test name="rg16f_to_rgb5_a1" />
-<Test name="r32f_to_rgba4" />
-<Test name="rgba32f_to_r16f" />
-<Test name="r32f_to_rgba8" />
-<Test name="rg8ui_to_rgba8ui" />
-<Test name="rgb10_a2ui_to_r8ui" />
-<Test name="rgb10_a2_to_rg32f" />
-<Test name="r8i_to_rg8i" />
-<Test name="r8i_to_r32i" />
-<Test name="rg16ui_to_r32ui" />
-<Test name="rg32f_to_rg32f" />
-<Test name="rgb8_to_rgb5_a1" />
-<Test name="rg16i_to_r8i" />
-<Test name="rgb565_to_rgb10_a2" />
-<Test name="r8_to_r32f" />
-<Test name="rgba32i_to_r32i" />
-<Test name="rgb5_a1_to_rgb10_a2" />
-<Test name="rg8_to_rgb10_a2" />
-<Test name="rgb8_to_rg8" />
-<Test name="srgb8_alpha8_to_r8" />
-<Test name="rg16f_to_r16f" />
-<Test name="rgb10_a2ui_to_rgba8ui" />
-<Test name="srgb8_alpha8_to_rgba8" />
-<Test name="rgba16f_to_rgb8" />
-<Test name="r32f_to_srgb8_alpha8" />
-<Test name="srgb8_alpha8_to_rgba4" />
-<Test name="r8_to_rg8" />
-<Test name="rgb5_a1_to_r32f" />
-<Test name="rgba8_to_rg16f" />
-<Test name="rg32i_to_r16i" />
-<Test name="rgb8_to_srgb8_alpha8" />
-<Test name="rgba4_to_rg32f" />
-<Test name="rg16i_to_rgba8i" />
-<Test name="r16i_to_rgba32i" />
-<Test name="r16f_to_rg8" />
-<Test name="r32f_to_rg16f" />
-<Test name="rg16f_to_r8" />
-<Test name="rgb8_to_rg32f" />
-<Test name="rgba8_to_rg8" />
-<Test name="rgb5_a1_to_rg16f" />
-<Test name="rg8_to_r8" />
-<Test name="srgb8_alpha8_to_rgba32f" />
-<Test name="rgba8ui_to_rgba16ui" />
-<Test name="r8ui_to_rg16ui" />
-<Test name="r8_to_rgb5_a1" />
-<Test name="rgb10_a2ui_to_rgba16ui" />
-<Test name="rgba16ui_to_rgba8ui" />
-<Test name="rgb565_to_rgb565" />
-<Test name="rgb8_to_rgba8" />
-<Test name="rg16f_to_rg8" />
-<Test name="rgb8_to_rgba4" />
-<Test name="r8ui_to_r16ui" />
-<Test name="rg8i_to_rgba16i" />
-<Test name="rg8_to_rgb8" />
-<Test name="rgba16i_to_rgba32i" />
-<Test name="rgba8_to_rgb10_a2" />
-<Test name="rg16f_to_rg32f" />
-<Test name="r16ui_to_rgba8ui" />
-<Test name="r32i_to_rgba8i" />
-<Test name="rg32ui_to_rgba8ui" />
-<Test name="rg16ui_to_rg8ui" />
-<Test name="r8i_to_rg32i" />
-<Test name="rgba8ui_to_r8ui" />
-<Test name="rg32f_to_rg16f" />
-<Test name="rg16f_to_rgb8" />
-<Test name="rgba16f_to_r16f" />
-<Test name="r16ui_to_rg16ui" />
-<Test name="r32ui_to_rgba32ui" />
-<Test name="r11f_g11f_b10f_to_rgba4" />
-<Test name="rg16ui_to_rg32ui" />
-<Test name="r16f_to_rgba4" />
-<Test name="rgb5_a1_to_srgb8_alpha8" />
-<Test name="r16f_to_rgba8" />
-<Test name="r16f_to_rgba32f" />
-<Test name="rgba16i_to_rg16i" />
-<Test name="rg32ui_to_rg32ui" />
-<Test name="rgb10_a2_to_rg16f" />
-<Test name="rg8_to_rgba4" />
-<Test name="rg8_to_r11f_g11f_b10f" />
-<Test name="rgba8i_to_rg8i" />
-<Test name="rgba32ui_to_rg16ui" />
-<Test name="r16f_to_rg32f" />
-<Test name="rg32f_to_rgb8" />
-<Test name="rgb5_a1_to_r11f_g11f_b10f" />
-<Test name="r8ui_to_rg8ui" />
-<Test name="rgb565_to_rgba4" />
-<Test name="rgba8_to_srgb8_alpha8" />
-<Test name="rgba32ui_to_rgb10_a2ui" />
-<Test name="rgba8_to_rgb5_a1" />
-<Test name="r32i_to_r32i" />
-<Test name="srgb8_alpha8_to_rg8" />
-<Test name="r16i_to_rgba16i" />
-<Test name="rgb5_a1_to_rgb5_a1" />
-<Test name="srgb8_alpha8_to_srgb8_alpha8" />
-<Test name="r8_to_rg32f" />
-<Test name="rgba32f_to_srgb8_alpha8" />
-<Test name="rgba8_to_rgba32f" />
-<Test name="r16f_to_r11f_g11f_b10f" />
-<Test name="srgb8_alpha8_to_rg32f" />
-<Test name="rg16f_to_rgba16f" />
-<Test name="rgba8i_to_r16i" />
-<Test name="rgba8i_to_r8i" />
-<Test name="rg16i_to_r16i" />
-<Test name="srgb8_alpha8_to_rgb8" />
-<Test name="rg32f_to_rgba32f" />
-<Test name="srgb8_alpha8_to_r16f" />
-<Test name="rgba16ui_to_rgba16ui" />
-<Test name="rg8ui_to_r16ui" />
-<Test name="rgb5_a1_to_rgba32f" />
-<Test name="rgb565_to_r11f_g11f_b10f" />
-<Test name="r32ui_to_rg8ui" />
-<Test name="rgb8_to_rgba16f" />
-<Test name="r8ui_to_rg32ui" />
-<Test name="rg8ui_to_r8ui" />
-<Test name="rgba16i_to_rgba16i" />
-<Test name="rgba32ui_to_rgba8ui" />
-<Test name="rg16f_to_rgba4" />
-<Test name="rgba32i_to_r8i" />
-<Test name="rg16f_to_rgba8" />
-<Test name="rg32i_to_rg32i" />
-<Test name="rgba8_to_rg32f" />
-<Test name="r8_to_rgb8" />
-<Test name="r8i_to_rg16i" />
-<Test name="rgb10_a2_to_srgb8_alpha8" />
-<Test name="rg32ui_to_rgba16ui" />
-<Test name="rgba32i_to_rg16i" />
-<Test name="rg16f_to_rgb10_a2" />
-<Test name="rg8_to_rg32f" />
-<Test name="rg8_to_rg16f" />
-<Test name="rg32f_to_srgb8_alpha8" />
-<Test name="rgb10_a2ui_to_rgb10_a2ui" />
-<Test name="r16f_to_r8" />
-<Test name="rgba32f_to_r8" />
-<Test name="rgba16ui_to_r16ui" />
-<Test name="r16f_to_r32f" />
-<Test name="rg8_to_r16f" />
-<Test name="r32i_to_rgba32i" />
-<Test name="rgb5_a1_to_r8" />
-<Test name="rgba16f_to_rg8" />
-<Test name="r16i_to_rg8i" />
-<Test name="rg16ui_to_r8ui" />
-<Test name="r32f_to_r8" />
-<Test name="rgb565_to_rgba16f" />
-<Test name="rgba16f_to_r32f" />
-<Test name="r8i_to_rgba32i" />
-<Test name="rgba16i_to_r8i" />
-<Test name="r8ui_to_rgba8ui" />
-<Test name="rg32ui_to_rgba32ui" />
-<Test name="rg16ui_to_rgba8ui" />
-<Test name="r8_to_r11f_g11f_b10f" />
-<Test name="r32ui_to_r32ui" />
-<Test name="r32i_to_r8i" />
-<Test name="r8_to_r16f" />
-<Test name="rg32i_to_rgba32i" />
-<Test name="rgba4_to_rgb8" />
-<Test name="srgb8_alpha8_to_rg16f" />
-<Test name="r32f_to_rgba32f" />
-<Test name="rgb565_to_rg16f" />
-<Test name="rgba32i_to_rgba16i" />
-<Test name="rgba4_to_rgb5_a1" />
-<Test name="rgb8_to_rgb10_a2" />
-<Test name="rg8ui_to_rg8ui" />
-<Test name="rg32f_to_rgb5_a1" />
-<Test name="rgba8_to_r8" />
-<Test name="r32f_to_r16f" />
-<Test name="srgb8_alpha8_to_rgb5_a1" />
-<Test name="rgb10_a2_to_rgba16f" />
-<Test name="rg32f_to_rgba16f" />
-<Test name="rgba32ui_to_r32ui" />
-<Test name="rgba8_to_rgba8" />
-<Test name="rgba4_to_r11f_g11f_b10f" />
-<Test name="rgba16ui_to_rgba32ui" />
-<Test name="rg8i_to_rgba8i" />
-<Test name="rgba32i_to_r16i" />
-<Test name="rgba16ui_to_rg32ui" />
-<Test name="rg8_to_rgba8" />
-<Test name="rg16f_to_srgb8_alpha8" />
-<Test name="rg16ui_to_rgba32ui" />
-<Test name="rgba8ui_to_rgba32ui" />
-<Test name="rgba16f_to_rgba16f" />
-<Test name="rgba32f_to_rgb565" />
-<Test name="srgb8_alpha8_to_rgb565" />
-<Test name="r16ui_to_rgb10_a2ui" />
-<Test name="rgba32i_to_rg8i" />
-<Test name="rgba32ui_to_rg8ui" />
-<Test name="r16i_to_rg16i" />
-<Test name="rgba16f_to_rgb5_a1" />
-<Test name="rgb5_a1_to_r16f" />
-<Test name="r11f_g11f_b10f_to_rgb5_a1" />
-<Test name="rgba8i_to_rgba8i" />
-<Test name="rgb5_a1_to_rg8" />
-<Test name="r16f_to_rgb565" />
-<Test name="rgba32ui_to_rgba32ui" />
-<Test name="rgba16i_to_rg32i" />
-<Test name="rg16i_to_rgba16i" />
-<Test name="srgb8_alpha8_to_rgba16f" />
-<Test name="rg32i_to_r8i" />
-<Test name="r11f_g11f_b10f_to_rg8" />
-<Test name="r16ui_to_rgba32ui" />
-<Test name="rgba16ui_to_r32ui" />
-<Test name="rgba32f_to_rgba16f" />
-<Test name="rgb565_to_rgba32f" />
-<Test name="rgb565_to_rg32f" />
-<Test name="r32ui_to_rgb10_a2ui" />
-<Test name="r8_to_srgb8_alpha8" />
-<Test name="r32i_to_rg32i" />
-<Test name="rgb5_a1_to_rg32f" />
-<Test name="rgba4_to_r8" />
-<Test name="rg8i_to_rg16i" />
-<Test name="rgba32f_to_rg16f" />
-<Test name="rgba16f_to_rgb10_a2" />
-<Test name="rgba16f_to_rg16f" />
-<Test name="rgba4_to_rgb565" />
-<Test name="rgb10_a2_to_rgb5_a1" />
-<Test name="r16ui_to_rg8ui" />
-<Test name="rgb10_a2ui_to_rg16ui" />
-<Test name="rg8_to_rgba32f" />
-<Test name="r16ui_to_r16ui" />
-<Test name="rgba32f_to_rg8" />
-<Test name="rg32ui_to_rg16ui" />
-<Test name="r11f_g11f_b10f_to_rgb565" />
-<Test name="rg8ui_to_rgba16ui" />
-<Test name="rgba4_to_rg16f" />
-<Test name="rgb10_a2_to_rg8" />
-<Test name="rg32f_to_rg8" />
-<Test name="rgba8i_to_rgba32i" />
-<Test name="rgb565_to_rgba8" />
-<Test name="rg32i_to_r32i" />
-<Test name="rgb10_a2ui_to_rgba32ui" />
-<Test name="rgb565_to_rg8" />
-<Test name="rgba4_to_r32f" />
-<Test name="rg32i_to_rg16i" />
-<Test name="rgba32f_to_rgb10_a2" />
-<Test name="rg8i_to_r16i" />
-<Test name="rgba32ui_to_r8ui" />
-<Test name="r8i_to_r8i" />
-<Test name="rgba16ui_to_r8ui" />
-<Test name="rgb10_a2_to_rgb565" />
-<Test name="rgba16f_to_rgba32f" />
-<Test name="rg32f_to_rgb565" />
-<Test name="r16f_to_rg16f" />
-<Test name="rgba16f_to_srgb8_alpha8" />
-<Test name="rg32i_to_rgba16i" />
-<Test name="rgb10_a2_to_rgb8" />
-<Test name="rgba8ui_to_r16ui" />
-<Test name="rg8_to_rgb5_a1" />
-<Test name="rg16f_to_rgba32f" />
-<Test name="rg16f_to_r11f_g11f_b10f" />
-<Test name="r8ui_to_r8ui" />
-<Test name="rgb10_a2_to_r16f" />
-<Test name="r32i_to_r16i" />
-<Test name="rgb565_to_rgb8" />
-<Test name="rgba4_to_rgba16f" />
-<Test name="r16ui_to_rg32ui" />
-<Test name="rgb8_to_r16f" />
-<Test name="rgba32ui_to_rg32ui" />
-<Test name="rg32f_to_r16f" />
-<Test name="rgb5_a1_to_rgb8" />
-<Test name="rg8_to_srgb8_alpha8" />
-<Test name="rg8i_to_r8i" />
-<Test name="rgba32f_to_r32f" />
-<Test name="rg8ui_to_r32ui" />
-<Test name="rgba4_to_rg8" />
-<Test name="rgba8_to_r32f" />
-<Test name="r8ui_to_rgba16ui" />
-<Test name="r8i_to_r16i" />
-<Test name="rg32f_to_rgba8" />
-<Test name="rgba32i_to_rg32i" />
-<Test name="rg32f_to_rgba4" />
-<Test name="rgba32f_to_rg32f" />
-<Test name="rgba16f_to_r8" />
-<Test name="rgba16ui_to_rgb10_a2ui" />
-<Test name="rgb10_a2_to_rgba4" />
-<Test name="rgb565_to_srgb8_alpha8" />
-<Test name="rgb10_a2_to_rgba8" />
-<Test name="rgb8_to_rg16f" />
-<Test name="rg16i_to_rg8i" />
-<Test name="rgba16f_to_rg32f" />
-<Test name="rgb5_a1_to_rgba8" />
-<Test name="rgb8_to_rgb8" />
-<Test name="rgb5_a1_to_rgba4" />
-<Test name="r32ui_to_rgba16ui" />
-<Test name="r16ui_to_r32ui" />
-<Test name="rg8_to_r32f" />
-<Test name="r32f_to_rgb565" />
-<Test name="rg8i_to_r32i" />
-<Test name="rgba4_to_r16f" />
-<Test name="r8i_to_rgba16i" />
-<Test name="rgb10_a2ui_to_rg32ui" />
-<Test name="r32ui_to_rg32ui" />
-<Test name="rg32ui_to_r32ui" />
-<Test name="r8ui_to_rgb10_a2ui" />
-<Test name="rgba8ui_to_r32ui" />
-<Test name="r32i_to_rgba16i" />
-<Test name="rg16f_to_rgb565" />
-<Test name="rgb5_a1_to_rgb565" />
-<Test name="r11f_g11f_b10f_to_r8" />
-<Test name="r8_to_rgba16f" />
-<Test name="rgba8ui_to_rg32ui" />
-<Test name="srgb8_alpha8_to_rgb10_a2" />
-<Test name="rg8ui_to_rg16ui" />
-<Test name="r32f_to_rgb10_a2" />
-<Test name="rgba32f_to_rgba8" />
-<Test name="rgba4_to_rgba32f" />
-<Test name="rgb5_a1_to_rgba16f" />
-<Test name="rg32f_to_r32f" />
-<Test name="rg16f_to_r32f" />
-<Test name="r8ui_to_r32ui" />
-<Test name="rgba32f_to_rgba4" />
-<Test name="rgba32i_to_rgba8i" />
-<Test name="r8_to_rgb565" />
-<Test name="r16i_to_r8i" />
-<Test name="rgb10_a2_to_r32f" />
-<Test name="srgb8_alpha8_to_r11f_g11f_b10f" />
-<Test name="r11f_g11f_b10f_to_rg16f" />
-<Test name="rgba4_to_srgb8_alpha8" />
-<Test name="rg16i_to_r32i" />
-<Test name="rgb10_a2ui_to_r16ui" />
-<Test name="rgba8ui_to_rgb10_a2ui" />
-<Test name="rgba32f_to_rgba32f" />
-<Test name="rgb565_to_rgb5_a1" />
-<Test name="r32f_to_rg32f" />
-<Test name="r32ui_to_rg16ui" />
-<Test name="r8i_to_rgba8i" />
-<Test name="rgba16f_to_rgb565" />
-<Test name="r32ui_to_rgba8ui" />
-<Test name="rg32ui_to_r16ui" />
-<Test name="rgb8_to_rgb565" />
-<Test name="rgb8_to_r8" />
-<Test name="r32f_to_rg8" />
-<Test name="r16i_to_r16i" />
-<Test name="rg16i_to_rgba32i" />
-<Test name="r16f_to_srgb8_alpha8" />
-<Test name="rg16i_to_rg16i" />
-<Test name="rg8_to_rgba16f" />
-<Test name="rgb10_a2_to_rgba32f" />
-<Test name="rgba8_to_rgba16f" />
-<Test name="r16f_to_rgb8" />
-<Test name="rgba4_to_rgb10_a2" />
-<Test name="rgba32i_to_rgba32i" />
-<Test name="rg32ui_to_r8ui" />
-<Test name="rg8ui_to_rg32ui" />
-<Test name="rg8i_to_rgba32i" />
-<Test name="rgba8ui_to_rg16ui" />
-<Test name="rgb565_to_r16f" />
-<Test name="rgba16i_to_r16i" />
-<Test name="r32f_to_rgb5_a1" />
-<Test name="rgba8_to_rgba4" />
-<Test name="r32f_to_rgb8" />
-<Test name="rg32i_to_rg8i" />
-<Test name="rg32f_to_rgb10_a2" />
-<Test name="rgb10_a2_to_rgb10_a2" />
-<Test name="r8_to_rg16f" />
-<Test name="rgb10_a2ui_to_rg8ui" />
-<Test name="rgba32f_to_rgb5_a1" />
-<Test name="r11f_g11f_b10f_to_r16f" />
-<Test name="r32ui_to_r16ui" />
-<Test name="rgba8i_to_rg32i" />
-<Test name="r16ui_to_r8ui" />
-<Test name="r32ui_to_r8ui" />
-<Test name="rg16f_to_rg16f" />
-<Test name="rgba16i_to_rgba8i" />
-<Test name="r16f_to_rgba16f" />
-<Test name="rg32f_to_r8" />
-<Test name="rg8i_to_rg8i" />
-<Test name="rg16ui_to_r16ui" />
-<Test name="rgb10_a2_to_r8" />
-<Test name="rgba32ui_to_r16ui" />
-<Test name="srgb8_alpha8_to_r32f" />
-<Test name="rg8ui_to_rgba32ui" />
-<Test name="rgba16f_to_rgba8" />
-<Test name="rgba8_to_rgb8" />
-<Test name="rgba8_to_rgb565" />
-<Test name="rgba16f_to_rgba4" />
-<Test name="r16i_to_rg32i" />
-<Test name="rgba16i_to_rg8i" />
-<Test name="rgba8i_to_rgba16i" />
-<Test name="rg32ui_to_rg8ui" />
-<Test name="r16f_to_rgb10_a2" />
-<Test name="r16i_to_rgba8i" />
-<Test name="r16f_to_rgb5_a1" />
-<Test name="rgba4_to_rgba4" />
-<Test name="rgba4_to_rgba8" />
-</TestCase>
-<TestCase name="depth_stencil">
-<Test name="stencil_index8_basic" />
-<Test name="stencil_index8_scale" />
-<Test name="depth32f_stencil8_depth_only" />
-<Test name="depth32f_stencil8_basic" />
-<Test name="depth_component16_scale" />
-<Test name="depth32f_stencil8_scale" />
-<Test name="depth_component32f_scale" />
-<Test name="depth24_stencil8_stencil_only" />
-<Test name="depth24_stencil8_basic" />
-<Test name="depth_component32f_basic" />
-<Test name="depth_component24_scale" />
-<Test name="depth24_stencil8_depth_only" />
-<Test name="depth_component24_basic" />
-<Test name="depth32f_stencil8_stencil_only" />
-<Test name="depth_component16_basic" />
-<Test name="depth24_stencil8_scale" />
-</TestCase>
-<TestCase name="default_framebuffer">
-<Test name="rgb5_a1" />
-<Test name="rg8" />
-<Test name="r16f" />
-<Test name="rgba16f" />
-<Test name="rg16f" />
-<Test name="r32f" />
-<Test name="rgba32f" />
-<Test name="rgb10_a2" />
-<Test name="r11f_g11f_b10f" />
-<Test name="rg32f" />
-</TestCase>
-<TestCase name="rect">
-<Test name="scale_linear" />
-<Test name="basic_reverse_src_x_nearest" />
-<Test name="basic_reverse_dst_y_linear" />
-<Test name="nearest_consistency_mag_reverse_src_y" />
-<Test name="nearest_consistency_mag_reverse_src_x" />
-<Test name="basic_linear" />
-<Test name="scale_reverse_dst_y_nearest" />
-<Test name="scale_reverse_src_dst_x_linear" />
-<Test name="nearest_consistency_mag" />
-<Test name="scale_reverse_src_x_linear" />
-<Test name="basic_reverse_src_dst_y_linear" />
-<Test name="scale_reverse_src_y_nearest" />
-<Test name="scale_reverse_src_dst_y_linear" />
-<Test name="scale_nearest" />
-<Test name="basic_reverse_src_dst_x_nearest" />
-<Test name="nearest_consistency_mag_reverse_src_dst_y" />
-<Test name="nearest_consistency_mag_reverse_src_dst_x" />
-<Test name="scale_reverse_src_y_linear" />
-<Test name="scale_reverse_dst_y_linear" />
-<Test name="scale_reverse_dst_x_linear" />
-<Test name="basic_reverse_src_y_linear" />
-<Test name="scale_reverse_src_dst_x_nearest" />
-<Test name="basic_reverse_dst_x_linear" />
-<Test name="basic_reverse_src_y_nearest" />
-<Test name="nearest_consistency_min_reverse_src_dst_x" />
-<Test name="nearest_consistency_min_reverse_src_dst_y" />
-<Test name="basic_reverse_src_x_linear" />
-<Test name="nearest_consistency_min_reverse_src_x" />
-<Test name="nearest_consistency_min_reverse_src_y" />
-<Test name="nearest_consistency_mag_reverse_dst_x" />
-<Test name="nearest_consistency_mag_reverse_dst_y" />
-<Test name="basic_reverse_src_dst_x_linear" />
-<Test name="basic_nearest" />
-<Test name="basic_reverse_dst_y_nearest" />
-<Test name="scale_reverse_dst_x_nearest" />
-<Test name="scale_reverse_src_dst_y_nearest" />
-<Test name="nearest_consistency_min_reverse_dst_y" />
-<Test name="nearest_consistency_min_reverse_dst_x" />
-<Test name="scale_reverse_src_x_nearest" />
-<Test name="basic_reverse_dst_x_nearest" />
-<Test name="nearest_consistency_min" />
-<Test name="basic_reverse_src_dst_y_nearest" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-<TestSuite name="state_query">
-<TestCase name="integers">
-<Test name="blend_dst_alpha_getboolean" />
-<Test name="draw_buffer_getinteger" />
-<Test name="shader_binary_formats_getfloat" />
-<Test name="current_program_binding_getfloat" />
-<Test name="stencil_back_func_separate_both_getinteger" />
-<Test name="stencil_ref_separate_both_getboolean" />
-<Test name="max_draw_buffers_getboolean" />
-<Test name="max_fragment_uniform_components_getinteger64" />
-<Test name="copy_read_buffer_binding_getinteger64" />
-<Test name="blend_dst_rgb_separate_getboolean" />
-<Test name="max_vertex_uniform_components_getboolean" />
-<Test name="pack_row_length_getfloat" />
-<Test name="stencil_value_mask_getinteger" />
-<Test name="max_uniform_buffer_bindings_getfloat" />
-<Test name="stencil_ref_getboolean" />
-<Test name="unpack_image_height_getinteger64" />
-<Test name="stencil_fail_separate_both_getfloat" />
-<Test name="scissor_box_getinteger" />
-<Test name="transform_feedback_binding_getboolean" />
-<Test name="stencil_back_depth_pass_separate_both_getinteger64" />
-<Test name="max_elements_indices_getfloat" />
-<Test name="cull_face_mode_getinteger64" />
-<Test name="blend_equation_alpha_getboolean" />
-<Test name="pixel_unpack_buffer_binding_getfloat" />
-<Test name="stencil_depth_fail_separate_getfloat" />
-<Test name="pack_row_length_getboolean" />
-<Test name="stencil_back_writemask_separate_both_getinteger" />
-<Test name="max_vertex_attribs_getfloat" />
-<Test name="stencil_back_fail_getinteger64" />
-<Test name="stencil_fail_separate_getfloat" />
-<Test name="max_renderbuffer_size_getfloat" />
-<Test name="stencil_back_ref_separate_both_getfloat" />
-<Test name="pixel_pack_buffer_binding_getfloat" />
-<Test name="blend_src_alpha_getinteger64" />
-<Test name="texture_binding_2d_array_getinteger" />
-<Test name="program_binary_formats_getinteger64" />
-<Test name="unpack_skip_pixels_getinteger" />
-<Test name="max_program_texel_offset_getinteger64" />
-<Test name="stencil_writemask_separate_getinteger" />
-<Test name="stencil_back_value_mask_separate_both_getinteger" />
-<Test name="stencil_func_separate_getinteger64" />
-<Test name="max_array_texture_layers_getinteger64" />
-<Test name="stencil_back_ref_separate_both_getinteger" />
-<Test name="blend_src_rgb_getboolean" />
-<Test name="max_vertex_attribs_getboolean" />
-<Test name="max_3d_texture_size_getboolean" />
-<Test name="stencil_clear_value_getboolean" />
-<Test name="fragment_shader_derivative_hint_getinteger64" />
-<Test name="major_version_getfloat" />
-<Test name="max_transform_feedback_interleaved_components_getboolean" />
-<Test name="texture_binding_2d_getfloat" />
-<Test name="pixel_pack_buffer_binding_getinteger" />
-<Test name="stencil_value_mask_separate_both_getinteger64" />
-<Test name="blend_src_alpha_getinteger" />
-<Test name="max_texture_image_units_getinteger64" />
-<Test name="unpack_alignment_getinteger" />
-<Test name="texture_binding_3d_getboolean" />
-<Test name="generate_mipmap_hint_getinteger64" />
-<Test name="unpack_row_length_getboolean" />
-<Test name="max_draw_buffers_getinteger64" />
-<Test name="stencil_back_writemask_getfloat" />
-<Test name="stencil_ref_separate_getinteger" />
-<Test name="stencil_depth_pass_getinteger" />
-<Test name="renderbuffer_binding_getboolean" />
-<Test name="shader_binary_formats_getinteger" />
-<Test name="max_vertex_uniform_components_getinteger64" />
-<Test name="blend_equation_alpha_separate_getinteger64" />
-<Test name="blend_equation_rgb_getboolean" />
-<Test name="stencil_depth_pass_separate_both_getinteger64" />
-<Test name="stencil_back_depth_fail_separate_both_getinteger" />
-<Test name="stencil_depth_fail_separate_both_getinteger" />
-<Test name="stencil_clear_value_getinteger" />
-<Test name="max_vertex_output_components_getboolean" />
-<Test name="unpack_image_height_getboolean" />
-<Test name="stencil_func_getinteger" />
-<Test name="max_varying_components_getinteger64" />
-<Test name="stencil_depth_pass_separate_getfloat" />
-<Test name="depth_bits_getinteger64" />
-<Test name="stencil_back_depth_fail_getboolean" />
-<Test name="max_viewport_dims_getboolean" />
-<Test name="stencil_back_fail_getinteger" />
-<Test name="stencil_depth_pass_getboolean" />
-<Test name="max_transform_feedback_separate_attribs_getfloat" />
-<Test name="stencil_ref_separate_getboolean" />
-<Test name="samples_getfloat" />
-<Test name="max_program_texel_offset_getboolean" />
-<Test name="stencil_back_depth_pass_getinteger64" />
-<Test name="viewport_getinteger64" />
-<Test name="max_combined_uniform_blocks_getfloat" />
-<Test name="unpack_skip_images_getinteger64" />
-<Test name="stencil_back_depth_pass_separate_getfloat" />
-<Test name="max_fragment_uniform_vectors_getboolean" />
-<Test name="stencil_depth_fail_separate_getinteger" />
-<Test name="blend_dst_rgb_separate_getinteger64" />
-<Test name="blend_dst_rgb_separate_getinteger" />
-<Test name="max_uniform_buffer_bindings_getboolean" />
-<Test name="pack_alignment_getfloat" />
-<Test name="blend_src_rgb_separate_getfloat" />
-<Test name="sample_buffers_getinteger64" />
-<Test name="max_3d_texture_size_getinteger64" />
-<Test name="fragment_shader_derivative_hint_getboolean" />
-<Test name="green_bits_getboolean" />
-<Test name="stencil_value_mask_separate_both_getinteger" />
-<Test name="stencil_writemask_getinteger" />
-<Test name="num_extensions_getinteger64" />
-<Test name="current_program_binding_getboolean" />
-<Test name="max_vertex_uniform_blocks_getboolean" />
-<Test name="blend_dst_alpha_getinteger64" />
-<Test name="stencil_back_writemask_separate_getfloat" />
-<Test name="stencil_back_writemask_separate_getinteger" />
-<Test name="max_transform_feedback_separate_attribs_getboolean" />
-<Test name="texture_binding_2d_array_getfloat" />
-<Test name="stencil_back_depth_pass_getfloat" />
-<Test name="stencil_depth_fail_getinteger64" />
-<Test name="unpack_skip_rows_getboolean" />
-<Test name="texture_binding_2d_getinteger64" />
-<Test name="max_elements_vertices_getboolean" />
-<Test name="max_color_attachments_getfloat" />
-<Test name="depth_func_getfloat" />
-<Test name="front_face_mode_getfloat" />
-<Test name="viewport_getboolean" />
-<Test name="max_vertex_output_components_getfloat" />
-<Test name="pixel_unpack_buffer_binding_getboolean" />
-<Test name="stencil_func_separate_both_getboolean" />
-<Test name="uniform_buffer_offset_alignment_getfloat" />
-<Test name="framebuffer_binding_getinteger" />
-<Test name="copy_write_buffer_binding_getinteger64" />
-<Test name="max_elements_vertices_getinteger64" />
-<Test name="cull_face_mode_getboolean" />
-<Test name="alpha_bits_getboolean" />
-<Test name="num_extensions_getboolean" />
-<Test name="max_vertex_uniform_components_getfloat" />
-<Test name="pack_skip_pixels_getinteger64" />
-<Test name="texture_binding_2d_getboolean" />
-<Test name="stencil_depth_fail_separate_both_getfloat" />
-<Test name="texture_binding_3d_getinteger64" />
-<Test name="stencil_back_func_separate_both_getfloat" />
-<Test name="framebuffer_binding_getboolean" />
-<Test name="stencil_fail_getboolean" />
-<Test name="blend_dst_alpha_separate_getinteger" />
-<Test name="renderbuffer_binding_getinteger64" />
-<Test name="depth_func_getboolean" />
-<Test name="vertex_array_binding_getboolean" />
-<Test name="max_vertex_attribs_getinteger64" />
-<Test name="min_program_texel_offset_getfloat" />
-<Test name="stencil_value_mask_getinteger64" />
-<Test name="array_buffer_binding_getboolean" />
-<Test name="stencil_back_fail_separate_both_getfloat" />
-<Test name="program_binary_formats_getfloat" />
-<Test name="max_3d_texture_size_getfloat" />
-<Test name="blend_src_alpha_separate_getboolean" />
-<Test name="stencil_fail_separate_getboolean" />
-<Test name="stencil_back_depth_pass_separate_both_getfloat" />
-<Test name="alpha_bits_getinteger64" />
-<Test name="blend_src_alpha_separate_getinteger" />
-<Test name="stencil_back_func_separate_both_getboolean" />
-<Test name="blend_dst_rgb_getinteger" />
-<Test name="stencil_back_func_separate_both_getinteger64" />
-<Test name="max_viewport_dims_getfloat" />
-<Test name="blend_equation_rgb_separate_getinteger64" />
-<Test name="max_fragment_uniform_vectors_getfloat" />
-<Test name="stencil_depth_pass_separate_getinteger64" />
-<Test name="max_uniform_buffer_bindings_getinteger64" />
-<Test name="stencil_clear_value_getfloat" />
-<Test name="read_buffer_getfloat" />
-<Test name="stencil_back_value_mask_separate_getinteger" />
-<Test name="unpack_skip_images_getboolean" />
-<Test name="read_buffer_getinteger64" />
-<Test name="major_version_getinteger64" />
-<Test name="stencil_depth_fail_separate_getinteger64" />
-<Test name="blend_dst_rgb_getboolean" />
-<Test name="copy_read_buffer_binding_getinteger" />
-<Test name="compressed_texture_formats_getinteger" />
-<Test name="stencil_depth_fail_getboolean" />
-<Test name="blend_src_rgb_separate_getinteger64" />
-<Test name="front_face_mode_getboolean" />
-<Test name="samples_getinteger" />
-<Test name="pixel_pack_buffer_binding_getinteger64" />
-<Test name="max_varying_components_getboolean" />
-<Test name="max_vertex_uniform_vectors_getfloat" />
-<Test name="stencil_back_depth_pass_separate_getboolean" />
-<Test name="stencil_back_depth_fail_separate_getinteger64" />
-<Test name="stencil_back_ref_getinteger64" />
-<Test name="implementation_color_read_getboolean" />
-<Test name="stencil_back_depth_fail_separate_both_getinteger64" />
-<Test name="stencil_fail_getinteger64" />
-<Test name="stencil_writemask_separate_getfloat" />
-<Test name="sampler_binding_getinteger" />
-<Test name="max_fragment_input_components_getboolean" />
-<Test name="stencil_back_depth_fail_separate_getfloat" />
-<Test name="min_program_texel_offset_getinteger64" />
-<Test name="blend_dst_alpha_getfloat" />
-<Test name="stencil_writemask_separate_getboolean" />
-<Test name="copy_write_buffer_binding_getinteger" />
-<Test name="stencil_fail_separate_both_getboolean" />
-<Test name="stencil_back_value_mask_separate_both_getboolean" />
-<Test name="max_fragment_uniform_blocks_getboolean" />
-<Test name="stencil_back_func_separate_getinteger" />
-<Test name="copy_read_buffer_binding_getboolean" />
-<Test name="stencil_back_depth_fail_getfloat" />
-<Test name="max_vertex_output_components_getinteger64" />
-<Test name="implementation_color_read_getinteger" />
-<Test name="stencil_back_writemask_getinteger64" />
-<Test name="minor_version_getinteger64" />
-<Test name="generate_mipmap_hint_getboolean" />
-<Test name="stencil_back_depth_fail_separate_both_getfloat" />
-<Test name="max_array_texture_layers_getboolean" />
-<Test name="samples_getboolean" />
-<Test name="max_texture_size_getboolean" />
-<Test name="stencil_back_value_mask_getinteger64" />
-<Test name="texture_binding_cube_map_getfloat" />
-<Test name="texture_binding_cube_map_getinteger64" />
-<Test name="stencil_back_ref_separate_both_getinteger64" />
-<Test name="active_texture_getinteger64" />
-<Test name="pack_alignment_getboolean" />
-<Test name="stencil_back_fail_separate_both_getinteger" />
-<Test name="max_viewport_dims_getinteger" />
-<Test name="blend_src_alpha_separate_getfloat" />
-<Test name="subpixel_bits_getboolean" />
-<Test name="max_combined_texture_image_units_getboolean" />
-<Test name="max_cube_map_texture_size_getinteger64" />
-<Test name="max_viewport_dims_getinteger64" />
-<Test name="unpack_skip_images_getfloat" />
-<Test name="max_color_attachments_getboolean" />
-<Test name="stencil_depth_fail_getfloat" />
-<Test name="scissor_box_getfloat" />
-<Test name="element_array_buffer_binding_getboolean" />
-<Test name="stencil_depth_fail_getinteger" />
-<Test name="stencil_back_ref_separate_getfloat" />
-<Test name="pack_row_length_getinteger64" />
-<Test name="stencil_func_separate_getfloat" />
-<Test name="unpack_skip_pixels_getboolean" />
-<Test name="depth_func_getinteger64" />
-<Test name="stencil_depth_fail_separate_both_getboolean" />
-<Test name="stencil_back_fail_getboolean" />
-<Test name="blend_dst_rgb_getinteger64" />
-<Test name="max_combined_texture_image_units_getinteger64" />
-<Test name="stencil_back_value_mask_separate_both_getinteger64" />
-<Test name="major_version_getboolean" />
-<Test name="generate_mipmap_hint_getfloat" />
-<Test name="texture_binding_2d_array_getboolean" />
-<Test name="max_transform_feedback_separate_components_getinteger64" />
-<Test name="scissor_box_getboolean" />
-<Test name="stencil_clear_value_getinteger64" />
-<Test name="stencil_fail_separate_getinteger" />
-<Test name="stencil_back_writemask_separate_both_getfloat" />
-<Test name="sampler_binding_getinteger64" />
-<Test name="stencil_depth_pass_separate_both_getinteger" />
-<Test name="stencil_back_depth_pass_separate_both_getinteger" />
-<Test name="num_extensions_getfloat" />
-<Test name="stencil_writemask_getfloat" />
-<Test name="blend_src_rgb_separate_getboolean" />
-<Test name="stencil_back_func_separate_getboolean" />
-<Test name="unpack_alignment_getinteger64" />
-<Test name="pixel_unpack_buffer_binding_getinteger" />
-<Test name="max_renderbuffer_size_getboolean" />
-<Test name="minor_version_getfloat" />
-<Test name="unpack_row_length_getinteger64" />
-<Test name="stencil_fail_separate_getinteger64" />
-<Test name="pack_skip_pixels_getboolean" />
-<Test name="array_buffer_binding_getinteger" />
-<Test name="max_texture_image_units_getfloat" />
-<Test name="stencil_back_value_mask_getinteger" />
-<Test name="sample_buffers_getfloat" />
-<Test name="stencil_value_mask_separate_getinteger64" />
-<Test name="stencil_back_fail_separate_getinteger64" />
-<Test name="uniform_buffer_offset_alignment_getinteger64" />
-<Test name="stencil_fail_separate_both_getinteger" />
-<Test name="red_bits_getinteger64" />
-<Test name="stencil_writemask_separate_both_getfloat" />
-<Test name="max_vertex_uniform_blocks_getfloat" />
-<Test name="max_texture_size_getinteger64" />
-<Test name="max_fragment_input_components_getinteger64" />
-<Test name="stencil_value_mask_separate_both_getboolean" />
-<Test name="max_cube_map_texture_size_getboolean" />
-<Test name="element_array_buffer_binding_getfloat" />
-<Test name="stencil_writemask_separate_both_getboolean" />
-<Test name="max_vertex_texture_image_units_getfloat" />
-<Test name="stencil_depth_fail_separate_both_getinteger64" />
-<Test name="blend_equation_rgb_separate_getinteger" />
-<Test name="max_transform_feedback_separate_components_getboolean" />
-<Test name="stencil_func_getfloat" />
-<Test name="subpixel_bits_getfloat" />
-<Test name="stencil_depth_pass_separate_getboolean" />
-<Test name="renderbuffer_binding_getinteger" />
-<Test name="pack_skip_pixels_getfloat" />
-<Test name="element_array_buffer_binding_getinteger" />
-<Test name="stencil_func_separate_both_getfloat" />
-<Test name="max_draw_buffers_getfloat" />
-<Test name="stencil_ref_getinteger" />
-<Test name="stencil_writemask_separate_getinteger64" />
-<Test name="stencil_writemask_getinteger64" />
-<Test name="stencil_back_ref_separate_both_getboolean" />
-<Test name="uniform_buffer_offset_alignment_getboolean" />
-<Test name="blend_dst_alpha_separate_getinteger64" />
-<Test name="max_vertex_texture_image_units_getinteger64" />
-<Test name="stencil_value_mask_separate_getboolean" />
-<Test name="stencil_ref_separate_getfloat" />
-<Test name="max_varying_vectors_getinteger64" />
-<Test name="stencil_back_depth_fail_separate_both_getboolean" />
-<Test name="stencil_func_separate_getboolean" />
-<Test name="blend_equation_alpha_getinteger64" />
-<Test name="stencil_back_depth_fail_getinteger" />
-<Test name="max_elements_indices_getinteger64" />
-<Test name="stencil_back_writemask_separate_both_getboolean" />
-<Test name="max_combined_texture_image_units_getfloat" />
-<Test name="pack_alignment_getinteger" />
-<Test name="stencil_back_ref_getboolean" />
-<Test name="shader_binary_formats_getinteger64" />
-<Test name="stencil_back_ref_separate_getinteger" />
-<Test name="max_renderbuffer_size_getinteger64" />
-<Test name="stencil_back_writemask_separate_getboolean" />
-<Test name="max_transform_feedback_separate_attribs_getinteger64" />
-<Test name="blend_src_alpha_getfloat" />
-<Test name="program_binary_formats_getinteger" />
-<Test name="stencil_back_depth_pass_separate_getinteger" />
-<Test name="stencil_back_depth_pass_separate_both_getboolean" />
-<Test name="max_texture_size_getfloat" />
-<Test name="stencil_back_func_separate_getfloat" />
-<Test name="blend_dst_alpha_getinteger" />
-<Test name="draw_buffer_getfloat" />
-<Test name="green_bits_getinteger64" />
-<Test name="stencil_depth_pass_separate_getinteger" />
-<Test name="depth_bits_getboolean" />
-<Test name="stencil_func_separate_both_getinteger64" />
-<Test name="pack_alignment_getinteger64" />
-<Test name="transform_feedback_binding_getinteger64" />
-<Test name="stencil_bits_getfloat" />
-<Test name="stencil_back_writemask_separate_getinteger64" />
-<Test name="blue_bits_getboolean" />
-<Test name="texture_binding_cube_map_getinteger" />
-<Test name="stencil_ref_getfloat" />
-<Test name="max_vertex_uniform_vectors_getinteger64" />
-<Test name="stencil_fail_getfloat" />
-<Test name="vertex_array_binding_getfloat" />
-<Test name="cull_face_mode_getinteger" />
-<Test name="element_array_buffer_binding_getinteger64" />
-<Test name="vertex_array_binding_getinteger64" />
-<Test name="unpack_skip_rows_getfloat" />
-<Test name="stencil_back_depth_pass_getboolean" />
-<Test name="stencil_writemask_getboolean" />
-<Test name="max_fragment_uniform_vectors_getinteger64" />
-<Test name="max_cube_map_texture_size_getfloat" />
-<Test name="stencil_back_fail_getfloat" />
-<Test name="stencil_back_depth_fail_separate_getboolean" />
-<Test name="texture_binding_2d_getinteger" />
-<Test name="blend_equation_rgb_separate_getboolean" />
-<Test name="unpack_skip_pixels_getfloat" />
-<Test name="active_texture_getinteger" />
-<Test name="stencil_back_value_mask_separate_getboolean" />
-<Test name="compressed_texture_formats_getfloat" />
-<Test name="stencil_func_separate_getinteger" />
-<Test name="stencil_back_fail_separate_getfloat" />
-<Test name="texture_binding_2d_array_getinteger64" />
-<Test name="blend_dst_alpha_separate_getfloat" />
-<Test name="blend_src_rgb_getinteger64" />
-<Test name="max_vertex_uniform_vectors_getboolean" />
-<Test name="blend_equation_rgb_getinteger64" />
-<Test name="max_program_texel_offset_getfloat" />
-<Test name="sampler_binding_getboolean" />
-<Test name="green_bits_getfloat" />
-<Test name="draw_buffer_getinteger64" />
-<Test name="fragment_shader_derivative_hint_getinteger" />
-<Test name="blend_dst_rgb_getfloat" />
-<Test name="max_samples_getinteger64" />
-<Test name="blend_dst_alpha_separate_getboolean" />
-<Test name="compressed_texture_formats_getinteger64" />
-<Test name="max_varying_vectors_getboolean" />
-<Test name="cull_face_mode_getfloat" />
-<Test name="blend_equation_rgb_getinteger" />
-<Test name="current_program_binding_getinteger64" />
-<Test name="compressed_texture_formats_getboolean" />
-<Test name="texture_binding_3d_getinteger" />
-<Test name="framebuffer_binding_getinteger64" />
-<Test name="stencil_back_value_mask_separate_getinteger64" />
-<Test name="stencil_fail_separate_both_getinteger64" />
-<Test name="stencil_back_ref_getfloat" />
-<Test name="stencil_depth_pass_separate_both_getfloat" />
-<Test name="max_fragment_input_components_getfloat" />
-<Test name="unpack_image_height_getfloat" />
-<Test name="samples_getinteger64" />
-<Test name="texture_binding_3d_getfloat" />
-<Test name="blend_equation_alpha_separate_getinteger" />
-<Test name="stencil_depth_pass_getfloat" />
-<Test name="alpha_bits_getfloat" />
-<Test name="read_buffer_getboolean" />
-<Test name="active_texture_getfloat" />
-<Test name="pack_skip_rows_getinteger" />
-<Test name="stencil_back_depth_pass_separate_getinteger64" />
-<Test name="blend_src_rgb_getinteger" />
-<Test name="array_buffer_binding_getinteger64" />
-<Test name="pixel_pack_buffer_binding_getboolean" />
-<Test name="stencil_ref_separate_both_getfloat" />
-<Test name="stencil_back_fail_separate_both_getboolean" />
-<Test name="stencil_back_writemask_separate_both_getinteger64" />
-<Test name="blend_src_alpha_separate_getinteger64" />
-<Test name="max_samples_getfloat" />
-<Test name="array_buffer_binding_getfloat" />
-<Test name="unpack_alignment_getboolean" />
-<Test name="depth_func_getinteger" />
-<Test name="stencil_depth_pass_getinteger64" />
-<Test name="active_texture_getboolean" />
-<Test name="max_fragment_uniform_components_getboolean" />
-<Test name="max_elements_indices_getboolean" />
-<Test name="framebuffer_binding_getfloat" />
-<Test name="stencil_ref_separate_getinteger64" />
-<Test name="max_transform_feedback_separate_components_getfloat" />
-<Test name="front_face_mode_getinteger64" />
-<Test name="stencil_back_fail_separate_getboolean" />
-<Test name="max_elements_vertices_getfloat" />
-<Test name="stencil_bits_getinteger64" />
-<Test name="stencil_back_ref_separate_getinteger64" />
-<Test name="blend_equation_rgb_getfloat" />
-<Test name="stencil_writemask_separate_both_getinteger64" />
-<Test name="unpack_row_length_getfloat" />
-<Test name="blend_dst_rgb_separate_getfloat" />
-<Test name="blue_bits_getfloat" />
-<Test name="blend_equation_alpha_getinteger" />
-<Test name="max_color_attachments_getinteger64" />
-<Test name="blend_equation_rgb_separate_getfloat" />
-<Test name="max_combined_uniform_blocks_getinteger64" />
-<Test name="stencil_back_func_separate_getinteger64" />
-<Test name="unpack_image_height_getinteger" />
-<Test name="fragment_shader_derivative_hint_getfloat" />
-<Test name="current_program_binding_getinteger" />
-<Test name="pack_skip_rows_getboolean" />
-<Test name="min_program_texel_offset_getboolean" />
-<Test name="pack_row_length_getinteger" />
-<Test name="stencil_back_depth_fail_separate_getinteger" />
-<Test name="stencil_back_ref_getinteger" />
-<Test name="stencil_fail_getinteger" />
-<Test name="stencil_value_mask_separate_getinteger" />
-<Test name="max_varying_components_getfloat" />
-<Test name="max_vertex_uniform_blocks_getinteger64" />
-<Test name="read_buffer_getinteger" />
-<Test name="max_fragment_uniform_components_getfloat" />
-<Test name="implementation_color_read_getinteger64" />
-<Test name="max_array_texture_layers_getfloat" />
-<Test name="shader_binary_formats_getboolean" />
-<Test name="depth_bits_getfloat" />
-<Test name="stencil_back_fail_separate_both_getinteger64" />
-<Test name="minor_version_getboolean" />
-<Test name="blend_equation_alpha_separate_getboolean" />
-<Test name="copy_write_buffer_binding_getfloat" />
-<Test name="copy_write_buffer_binding_getboolean" />
-<Test name="pixel_unpack_buffer_binding_getinteger64" />
-<Test name="stencil_back_writemask_getinteger" />
-<Test name="stencil_writemask_separate_both_getinteger" />
-<Test name="transform_feedback_binding_getfloat" />
-<Test name="stencil_depth_fail_separate_getboolean" />
-<Test name="copy_read_buffer_binding_getfloat" />
-<Test name="blend_src_rgb_separate_getinteger" />
-<Test name="front_face_mode_getinteger" />
-<Test name="unpack_row_length_getinteger" />
-<Test name="sample_buffers_getboolean" />
-<Test name="unpack_skip_pixels_getinteger64" />
-<Test name="stencil_back_writemask_getboolean" />
-<Test name="stencil_func_separate_both_getinteger" />
-<Test name="transform_feedback_binding_getinteger" />
-<Test name="stencil_value_mask_getboolean" />
-<Test name="unpack_skip_rows_getinteger" />
-<Test name="stencil_back_ref_separate_getboolean" />
-<Test name="unpack_skip_rows_getinteger64" />
-<Test name="max_samples_getboolean" />
-<Test name="stencil_func_getboolean" />
-<Test name="unpack_skip_images_getinteger" />
-<Test name="blend_src_rgb_getfloat" />
-<Test name="stencil_back_depth_pass_getinteger" />
-<Test name="blend_equation_alpha_getfloat" />
-<Test name="blend_src_alpha_getboolean" />
-<Test name="generate_mipmap_hint_getinteger" />
-<Test name="program_binary_formats_getboolean" />
-<Test name="stencil_ref_separate_both_getinteger64" />
-<Test name="stencil_back_depth_fail_getinteger64" />
-<Test name="max_texture_image_units_getboolean" />
-<Test name="sampler_binding_getfloat" />
-<Test name="viewport_getinteger" />
-<Test name="subpixel_bits_getinteger64" />
-<Test name="max_varying_vectors_getfloat" />
-<Test name="stencil_back_value_mask_getboolean" />
-<Test name="implementation_color_read_getfloat" />
-<Test name="stencil_ref_separate_both_getinteger" />
-<Test name="stencil_bits_getboolean" />
-<Test name="max_fragment_uniform_blocks_getinteger64" />
-<Test name="scissor_box_getinteger64" />
-<Test name="pack_skip_pixels_getinteger" />
-<Test name="max_fragment_uniform_blocks_getfloat" />
-<Test name="red_bits_getfloat" />
-<Test name="stencil_depth_pass_separate_both_getboolean" />
-<Test name="viewport_getfloat" />
-<Test name="renderbuffer_binding_getfloat" />
-<Test name="max_transform_feedback_interleaved_components_getfloat" />
-<Test name="draw_buffer_getboolean" />
-<Test name="max_vertex_texture_image_units_getboolean" />
-<Test name="max_transform_feedback_interleaved_components_getinteger64" />
-<Test name="red_bits_getboolean" />
-<Test name="pack_skip_rows_getfloat" />
-<Test name="texture_binding_cube_map_getboolean" />
-<Test name="pack_skip_rows_getinteger64" />
-<Test name="unpack_alignment_getfloat" />
-<Test name="vertex_array_binding_getinteger" />
-<Test name="stencil_func_getinteger64" />
-<Test name="max_combined_uniform_blocks_getboolean" />
-<Test name="blue_bits_getinteger64" />
-<Test name="stencil_back_fail_separate_getinteger" />
-<Test name="stencil_ref_getinteger64" />
-<Test name="blend_equation_alpha_separate_getfloat" />
-</TestCase>
-<TestCase name="string">
-<Test name="shading_language_version" />
-<Test name="version" />
-<Test name="vendor" />
-<Test name="renderer" />
-</TestCase>
-<TestCase name="buffer_object">
-<Test name="buffer_access_flags_getbufferparameteri64" />
-<Test name="buffer_usage_getbufferparameteri" />
-<Test name="buffer_map_offset_length_getbufferparameteri64" />
-<Test name="buffer_pointer" />
-<Test name="buffer_usage_getbufferparameteri64" />
-<Test name="buffer_mapped_getbufferparameteri64" />
-<Test name="buffer_map_offset_length_getbufferparameteri" />
-<Test name="buffer_size_getbufferparameteri64" />
-<Test name="buffer_access_flags_getbufferparameteri" />
-<Test name="buffer_size_getbufferparameteri" />
-<Test name="buffer_mapped_getbufferparameteri" />
-</TestCase>
-<TestCase name="internal_format">
-<Test name="rgb8_samples" />
-<Test name="rgb565_samples" />
-<Test name="depth24_stencil8_samples" />
-<Test name="rg8_samples" />
-<Test name="rgb10_a2_samples" />
-<Test name="depth_component24_samples" />
-<Test name="depth_component32f_samples" />
-<Test name="srgb8_alpha8_samples" />
-<Test name="depth32f_stencil8_samples" />
-<Test name="rgba8_samples_buffer" />
-<Test name="r8_samples" />
-<Test name="rgb5_a1_samples" />
-<Test name="stencil_index8_samples" />
-<Test name="depth_component16_samples" />
-<Test name="rgba8_samples" />
-<Test name="rgba4_samples" />
-</TestCase>
-<TestCase name="shader">
-<Test name="uniform_value_array" />
-<Test name="vertex_attrib_pointerv" />
-<Test name="vertex_attrib_array_divisor" />
-<Test name="vertex_attrib_size" />
-<Test name="precision_vertex_lowp_float" />
-<Test name="precision_vertex_lowp_int" />
-<Test name="program_validate_status" />
-<Test name="program_attached_shaders" />
-<Test name="current_vertex_attrib_uint" />
-<Test name="precision_vertex_highp_float" />
-<Test name="program_active_uniform_name" />
-<Test name="uniform_value_uint" />
-<Test name="precision_vertex_highp_int" />
-<Test name="delete_status" />
-<Test name="shader_compile_status" />
-<Test name="uniform_value_matrix" />
-<Test name="precision_fragment_highp_float" />
-<Test name="transform_feedback" />
-<Test name="precision_fragment_lowp_float" />
-<Test name="current_vertex_attrib_int" />
-<Test name="shader_type" />
-<Test name="active_attributes" />
-<Test name="program_active_uniform_blocks" />
-<Test name="precision_fragment_lowp_int" />
-<Test name="uniform_value_float" />
-<Test name="current_vertex_attrib_initial" />
-<Test name="vertex_attrib_normalized" />
-<Test name="precision_fragment_highp_int" />
-<Test name="precision_vertex_mediump_int" />
-<Test name="program_binary" />
-<Test name="uniform_value_int" />
-<Test name="program_info_log_length" />
-<Test name="precision_vertex_mediump_float" />
-<Test name="vertex_attrib_array_enabled" />
-<Test name="vertex_attrib_array_buffer_binding" />
-<Test name="current_vertex_attrib_float_to_int" />
-<Test name="precision_fragment_mediump_float" />
-<Test name="precision_fragment_mediump_int" />
-<Test name="current_vertex_attrib_float" />
-</TestCase>
-<TestCase name="texture">
-<Test name="texture_2d_texture_min_lod_gettexparameteri" />
-<Test name="texture_2d_texture_base_level_gettexparameterf" />
-<Test name="texture_3d_texture_mag_filter_gettexparameterf" />
-<Test name="texture_cube_map_texture_compare_mode_gettexparameteri" />
-<Test name="texture_cube_map_texture_compare_mode_gettexparameterf" />
-<Test name="texture_3d_texture_mag_filter_gettexparameteri" />
-<Test name="texture_2d_texture_base_level_gettexparameteri" />
-<Test name="texture_3d_texture_swizzle_r_gettexparameteri" />
-<Test name="texture_3d_texture_swizzle_r_gettexparameterf" />
-<Test name="texture_3d_texture_max_level_gettexparameteri" />
-<Test name="texture_3d_texture_compare_mode_gettexparameterf" />
-<Test name="texture_3d_texture_swizzle_g_gettexparameteri" />
-<Test name="texture_3d_texture_min_lod_gettexparameteri" />
-<Test name="texture_2d_array_texture_wrap_s_gettexparameterf" />
-<Test name="texture_2d_array_texture_wrap_s_gettexparameteri" />
-<Test name="texture_2d_texture_compare_mode_gettexparameteri" />
-<Test name="texture_3d_texture_swizzle_g_gettexparameterf" />
-<Test name="texture_3d_texture_compare_mode_gettexparameteri" />
-<Test name="texture_3d_texture_max_level_gettexparameterf" />
-<Test name="texture_2d_array_texture_min_filter_gettexparameteri" />
-<Test name="texture_2d_texture_swizzle_b_gettexparameteri" />
-<Test name="texture_2d_texture_swizzle_b_gettexparameterf" />
-<Test name="texture_2d_array_texture_min_filter_gettexparameterf" />
-<Test name="texture_3d_texture_wrap_s_gettexparameteri" />
-<Test name="texture_3d_texture_wrap_s_gettexparameterf" />
-<Test name="texture_cube_map_texture_base_level_gettexparameteri" />
-<Test name="texture_3d_texture_max_lod_gettexparameterf" />
-<Test name="texture_cube_map_texture_base_level_gettexparameterf" />
-<Test name="texture_2d_texture_immutable_format_gettexparameterf" />
-<Test name="texture_cube_map_texture_wrap_t_gettexparameteri" />
-<Test name="texture_2d_array_texture_swizzle_r_gettexparameteri" />
-<Test name="texture_cube_map_texture_swizzle_r_gettexparameterf" />
-<Test name="texture_cube_map_texture_swizzle_a_gettexparameterf" />
-<Test name="texture_cube_map_texture_swizzle_a_gettexparameteri" />
-<Test name="texture_cube_map_texture_swizzle_r_gettexparameteri" />
-<Test name="texture_2d_array_texture_swizzle_r_gettexparameterf" />
-<Test name="texture_cube_map_texture_wrap_t_gettexparameterf" />
-<Test name="texture_2d_array_texture_swizzle_b_gettexparameteri" />
-<Test name="texture_3d_texture_compare_func_gettexparameterf" />
-<Test name="texture_3d_texture_compare_func_gettexparameteri" />
-<Test name="texture_2d_array_texture_swizzle_b_gettexparameterf" />
-<Test name="texture_cube_map_texture_min_lod_gettexparameteri" />
-<Test name="texture_2d_texture_swizzle_r_gettexparameteri" />
-<Test name="texture_2d_texture_min_filter_gettexparameterf" />
-<Test name="texture_cube_map_is_texture" />
-<Test name="texture_2d_texture_min_filter_gettexparameteri" />
-<Test name="texture_2d_texture_swizzle_r_gettexparameterf" />
-<Test name="texture_cube_map_texture_min_lod_gettexparameterf" />
-<Test name="texture_cube_map_texture_max_level_gettexparameteri" />
-<Test name="texture_cube_map_texture_compare_func_gettexparameteri" />
-<Test name="texture_cube_map_texture_immutable_format_gettexparameteri" />
-<Test name="texture_cube_map_texture_immutable_format_gettexparameterf" />
-<Test name="texture_cube_map_texture_compare_func_gettexparameterf" />
-<Test name="texture_cube_map_texture_max_level_gettexparameterf" />
-<Test name="texture_2d_array_texture_immutable_format_gettexparameterf" />
-<Test name="texture_2d_array_texture_immutable_format_gettexparameteri" />
-<Test name="texture_2d_array_texture_swizzle_a_gettexparameteri" />
-<Test name="texture_3d_texture_wrap_t_gettexparameteri" />
-<Test name="texture_3d_texture_min_filter_gettexparameterf" />
-<Test name="texture_2d_array_texture_swizzle_g_gettexparameterf" />
-<Test name="texture_2d_array_texture_swizzle_g_gettexparameteri" />
-<Test name="texture_3d_texture_min_filter_gettexparameteri" />
-<Test name="texture_3d_texture_wrap_t_gettexparameterf" />
-<Test name="texture_2d_array_texture_swizzle_a_gettexparameterf" />
-<Test name="texture_cube_map_texture_swizzle_g_gettexparameteri" />
-<Test name="texture_2d_texture_max_lod_gettexparameteri" />
-<Test name="texture_2d_texture_max_lod_gettexparameterf" />
-<Test name="texture_cube_map_texture_swizzle_g_gettexparameterf" />
-<Test name="texture_cube_map_texture_wrap_s_gettexparameteri" />
-<Test name="texture_2d_texture_wrap_s_gettexparameterf" />
-<Test name="texture_3d_is_texture" />
-<Test name="texture_2d_texture_wrap_s_gettexparameteri" />
-<Test name="texture_cube_map_texture_wrap_s_gettexparameterf" />
-<Test name="texture_3d_texture_swizzle_b_gettexparameteri" />
-<Test name="texture_2d_texture_max_level_gettexparameteri" />
-<Test name="texture_2d_array_texture_base_level_gettexparameterf" />
-<Test name="texture_2d_array_texture_max_level_gettexparameterf" />
-<Test name="texture_2d_array_texture_max_level_gettexparameteri" />
-<Test name="texture_2d_array_texture_base_level_gettexparameteri" />
-<Test name="texture_2d_texture_max_level_gettexparameterf" />
-<Test name="texture_3d_texture_swizzle_b_gettexparameterf" />
-<Test name="texture_2d_array_texture_mag_filter_gettexparameteri" />
-<Test name="texture_2d_texture_swizzle_a_gettexparameterf" />
-<Test name="texture_2d_texture_swizzle_a_gettexparameteri" />
-<Test name="texture_2d_array_texture_mag_filter_gettexparameterf" />
-<Test name="texture_2d_array_texture_compare_mode_gettexparameterf" />
-<Test name="texture_2d_array_texture_max_lod_gettexparameteri" />
-<Test name="texture_3d_texture_max_lod_gettexparameteri" />
-<Test name="texture_2d_texture_compare_func_gettexparameteri" />
-<Test name="texture_2d_texture_compare_func_gettexparameterf" />
-<Test name="texture_2d_array_is_texture" />
-<Test name="texture_2d_array_texture_max_lod_gettexparameterf" />
-<Test name="texture_2d_array_texture_compare_mode_gettexparameteri" />
-<Test name="texture_3d_texture_immutable_format_gettexparameterf" />
-<Test name="texture_cube_map_texture_mag_filter_gettexparameterf" />
-<Test name="texture_cube_map_texture_mag_filter_gettexparameteri" />
-<Test name="texture_2d_texture_swizzle_g_gettexparameteri" />
-<Test name="texture_2d_array_texture_min_lod_gettexparameterf" />
-<Test name="texture_2d_array_texture_min_lod_gettexparameteri" />
-<Test name="texture_2d_texture_swizzle_g_gettexparameterf" />
-<Test name="texture_2d_texture_mag_filter_gettexparameterf" />
-<Test name="texture_cube_map_texture_min_filter_gettexparameterf" />
-<Test name="texture_cube_map_texture_min_filter_gettexparameteri" />
-<Test name="texture_2d_texture_mag_filter_gettexparameteri" />
-<Test name="texture_2d_texture_compare_mode_gettexparameterf" />
-<Test name="texture_cube_map_texture_max_lod_gettexparameterf" />
-<Test name="texture_cube_map_texture_max_lod_gettexparameteri" />
-<Test name="texture_cube_map_texture_swizzle_b_gettexparameterf" />
-<Test name="texture_cube_map_texture_swizzle_b_gettexparameteri" />
-<Test name="texture_3d_texture_min_lod_gettexparameterf" />
-<Test name="texture_2d_texture_wrap_t_gettexparameteri" />
-<Test name="texture_3d_texture_swizzle_a_gettexparameteri" />
-<Test name="texture_3d_texture_wrap_r_gettexparameterf" />
-<Test name="texture_3d_texture_wrap_r_gettexparameteri" />
-<Test name="texture_3d_texture_swizzle_a_gettexparameterf" />
-<Test name="texture_2d_texture_wrap_t_gettexparameterf" />
-<Test name="texture_3d_texture_base_level_gettexparameteri" />
-<Test name="texture_3d_texture_base_level_gettexparameterf" />
-<Test name="texture_2d_texture_immutable_format_gettexparameteri" />
-<Test name="texture_2d_array_texture_compare_func_gettexparameterf" />
-<Test name="texture_2d_texture_min_lod_gettexparameterf" />
-<Test name="texture_2d_array_texture_compare_func_gettexparameteri" />
-<Test name="texture_3d_texture_immutable_format_gettexparameteri" />
-<Test name="texture_2d_is_texture" />
-</TestCase>
-<TestCase name="rbo">
-<Test name="renderbuffer_component_size_depth" />
-<Test name="renderbuffer_component_size_color" />
-</TestCase>
-<TestCase name="boolean">
-<Test name="transform_feedback_implicit_resume_getfloat" />
-<Test name="transform_feedback_paused_initial_getfloat" />
-<Test name="sample_coverage_invert_getinteger64" />
-<Test name="depth_writemask_getinteger" />
-<Test name="polygon_offset_fill_isenabled" />
-<Test name="primitive_restart_fixed_index_isenabled" />
-<Test name="sample_coverage_getfloat" />
-<Test name="cull_face_getfloat" />
-<Test name="depth_writemask_getboolean" />
-<Test name="transform_feedback_getinteger64" />
-<Test name="sample_coverage_isenabled" />
-<Test name="cull_face_isenabled" />
-<Test name="dither_isenabled" />
-<Test name="scissor_test_getboolean" />
-<Test name="sample_coverage_invert_getboolean" />
-<Test name="shader_compiler_getboolean" />
-<Test name="transform_feedback_implicit_resume_getinteger" />
-<Test name="scissor_test_getinteger" />
-<Test name="sample_coverage_invert_getinteger" />
-<Test name="blend_getboolean" />
-<Test name="transform_feedback_getinteger" />
-<Test name="cull_face_getinteger" />
-<Test name="transform_feedback_implicit_resume_getinteger64" />
-<Test name="transform_feedback_paused_initial_getinteger64" />
-<Test name="sample_alpha_to_coverage_getinteger" />
-<Test name="sample_coverage_invert_getfloat" />
-<Test name="primitive_restart_fixed_index_getboolean" />
-<Test name="color_writemask_getboolean" />
-<Test name="transform_feedback_paused_initial_getinteger" />
-<Test name="depth_test_getboolean" />
-<Test name="transform_feedback_active_initial_getfloat" />
-<Test name="depth_test_getinteger" />
-<Test name="sample_alpha_to_coverage_getinteger64" />
-<Test name="color_writemask_getfloat" />
-<Test name="primitive_restart_fixed_index_getfloat" />
-<Test name="scissor_test_isenabled" />
-<Test name="polygon_offset_fill_getfloat" />
-<Test name="cull_face_getboolean" />
-<Test name="sample_coverage_getinteger" />
-<Test name="stencil_test_getfloat" />
-<Test name="scissor_test_getfloat" />
-<Test name="depth_test_getfloat" />
-<Test name="shader_compiler_getfloat" />
-<Test name="blend_getinteger" />
-<Test name="polygon_offset_fill_getinteger64" />
-<Test name="blend_getfloat" />
-<Test name="shader_compiler_getinteger64" />
-<Test name="primitive_restart_fixed_index_getinteger64" />
-<Test name="color_writemask_getinteger64" />
-<Test name="transform_feedback_active_initial_getboolean" />
-<Test name="stencil_test_getboolean" />
-<Test name="sample_alpha_to_coverage_isenabled" />
-<Test name="dither_getinteger64" />
-<Test name="sample_coverage_getboolean" />
-<Test name="dither_getboolean" />
-<Test name="polygon_offset_fill_getboolean" />
-<Test name="transform_feedback_getboolean" />
-<Test name="cull_face_getinteger64" />
-<Test name="sample_alpha_to_coverage_getboolean" />
-<Test name="dither_getinteger" />
-<Test name="blend_getinteger64" />
-<Test name="depth_writemask_getinteger64" />
-<Test name="stencil_test_getinteger64" />
-<Test name="blend_isenabled" />
-<Test name="depth_test_isenabled" />
-<Test name="shader_compiler_getinteger" />
-<Test name="primitive_restart_fixed_index_getinteger" />
-<Test name="depth_test_getinteger64" />
-<Test name="stencil_test_getinteger" />
-<Test name="transform_feedback_getfloat" />
-<Test name="sample_alpha_to_coverage_getfloat" />
-<Test name="transform_feedback_paused_initial_getboolean" />
-<Test name="depth_writemask_getfloat" />
-<Test name="polygon_offset_fill_getinteger" />
-<Test name="transform_feedback_active_initial_getinteger64" />
-<Test name="scissor_test_getinteger64" />
-<Test name="sample_coverage_getinteger64" />
-<Test name="stencil_test_isenabled" />
-<Test name="transform_feedback_implicit_resume_getboolean" />
-<Test name="color_writemask_getinteger" />
-<Test name="dither_getfloat" />
-<Test name="transform_feedback_active_initial_getinteger" />
-</TestCase>
-<TestCase name="sampler">
-<Test name="sampler_texture_wrap_r_getsamplerparameteri" />
-<Test name="sampler_texture_wrap_s_getsamplerparameteri" />
-<Test name="sampler_texture_min_filter_getsamplerparameterf" />
-<Test name="sampler_texture_min_filter_getsamplerparameteri" />
-<Test name="sampler_texture_wrap_s_getsamplerparameterf" />
-<Test name="sampler_texture_wrap_r_getsamplerparameterf" />
-<Test name="sampler_texture_compare_func_getsamplerparameteri" />
-<Test name="sampler_texture_compare_mode_getsamplerparameterf" />
-<Test name="sampler_texture_wrap_t_getsamplerparameterf" />
-<Test name="sampler_texture_wrap_t_getsamplerparameteri" />
-<Test name="sampler_texture_compare_mode_getsamplerparameteri" />
-<Test name="sampler_texture_compare_func_getsamplerparameterf" />
-<Test name="sampler_texture_mag_filter_getsamplerparameterf" />
-<Test name="sampler_texture_mag_filter_getsamplerparameteri" />
-</TestCase>
-<TestCase name="indexed">
-<Test name="uniform_buffer_binding" />
-<Test name="transform_feedback_buffer_binding" />
-<Test name="uniform_buffer_start_size" />
-<Test name="transform_feedback_buffer_start_size" />
-</TestCase>
-<TestCase name="integers64">
-<Test name="max_combined_fragment_uniform_components_getinteger" />
-<Test name="max_element_index_getinteger" />
-<Test name="max_combined_vertex_uniform_components_getboolean" />
-<Test name="max_combined_vertex_uniform_components_getinteger" />
-<Test name="max_uniform_block_size_getboolean" />
-<Test name="max_server_wait_timeout_getinteger" />
-<Test name="max_uniform_block_size_getfloat" />
-<Test name="max_combined_vertex_uniform_components_getfloat" />
-<Test name="max_element_index_getboolean" />
-<Test name="max_combined_fragment_uniform_components_getfloat" />
-<Test name="max_element_index_getfloat" />
-<Test name="max_server_wait_timeout_getboolean" />
-<Test name="max_combined_fragment_uniform_components_getboolean" />
-<Test name="max_uniform_block_size_getinteger" />
-</TestCase>
-<TestCase name="fbo">
-<Test name="framebuffer_attachment_component_type" />
-<Test name="framebuffer_attachment_object" />
-<Test name="framebuffer_attachment_texture_layer" />
-<Test name="framebuffer_attachment_x_size_texture" />
-<Test name="framebuffer_attachment_x_size_rbo" />
-<Test name="framebuffer_unspecified_attachment_x_size_texture" />
-<Test name="framebuffer_attachment_color_encoding" />
-<Test name="framebuffer_attachment_texture_level" />
-</TestCase>
-<TestCase name="floats">
-<Test name="aliased_line_width_range_getinteger" />
-<Test name="depth_range_getboolean" />
-<Test name="color_clear_value_getfloat" />
-<Test name="color_clear_value_getboolean" />
-<Test name="depth_clear_value_getboolean" />
-<Test name="max_texture_lod_bias_getinteger" />
-<Test name="max_texture_lod_bias_getinteger64" />
-<Test name="depth_clear_value_getfloat" />
-<Test name="aliased_line_width_range_getboolean" />
-<Test name="polygon_offset_units_getfloat" />
-<Test name="blend_color_getfloat" />
-<Test name="aliased_line_width_range_getfloat" />
-<Test name="aliased_point_size_range_getinteger64" />
-<Test name="blend_color_getboolean" />
-<Test name="aliased_point_size_range_getfloat" />
-<Test name="aliased_point_size_range_getinteger" />
-<Test name="max_texture_lod_bias_getfloat" />
-<Test name="sample_coverage_value_getboolean" />
-<Test name="aliased_point_size_range_getboolean" />
-<Test name="line_width_getfloat" />
-<Test name="polygon_offset_factor_getfloat" />
-<Test name="max_texture_lod_bias_getboolean" />
-<Test name="depth_range_getfloat" />
-<Test name="line_width_getboolean" />
-<Test name="aliased_line_width_range_getinteger64" />
-</TestCase>
-</TestSuite>
-<TestCase name="occlusion_query">
-<Test name="stencil_write_stencil_clear" />
-<Test name="scissor_depth_write_depth_clear_stencil_write" />
-<Test name="scissor_depth_write_depth_clear" />
-<Test name="conservative_scissor_depth_write_stencil_write" />
-<Test name="conservative_scissor_depth_clear_stencil_write" />
-<Test name="conservative_depth_write_stencil_clear" />
-<Test name="stencil_write" />
-<Test name="depth_write_depth_clear_stencil_write_stencil_clear" />
-<Test name="conservative_scissor_depth_clear_stencil_clear" />
-<Test name="conservative_scissor_depth_clear" />
-<Test name="conservative_scissor_depth_write_depth_clear_stencil_write" />
-<Test name="conservative_scissor_depth_write" />
-<Test name="depth_write_depth_clear_stencil_write" />
-<Test name="conservative_depth_clear_stencil_write" />
-<Test name="conservative_depth_write_stencil_write" />
-<Test name="conservative_scissor_depth_write_depth_clear_stencil_clear" />
-<Test name="conservative_scissor_depth_write_stencil_write_stencil_clear" />
-<Test name="conservative_scissor_stencil_clear" />
-<Test name="conservative_scissor_depth_clear_stencil_write_stencil_clear" />
-<Test name="scissor_depth_write_stencil_clear" />
-<Test name="stencil_clear" />
-<Test name="conservative_stencil_write" />
-<Test name="conservative_all_occluders" />
-<Test name="scissor_depth_write_stencil_write_stencil_clear" />
-<Test name="depth_write_stencil_write_stencil_clear" />
-<Test name="scissor_depth_write" />
-<Test name="conservative_depth_clear" />
-<Test name="scissor_stencil_clear" />
-<Test name="conservative_depth_write_depth_clear_stencil_clear" />
-<Test name="conservative_depth_clear_stencil_clear" />
-<Test name="scissor_depth_clear_stencil_write_stencil_clear" />
-<Test name="scissor_depth_clear" />
-<Test name="conservative_depth_write_depth_clear" />
-<Test name="scissor_depth_clear_stencil_write" />
-<Test name="conservative_depth_write" />
-<Test name="conservative_scissor_depth_write_depth_clear" />
-<Test name="conservative_scissor_depth_write_stencil_clear" />
-<Test name="scissor_depth_clear_stencil_clear" />
-<Test name="conservative_depth_write_depth_clear_stencil_write" />
-<Test name="depth_write_depth_clear_stencil_clear" />
-<Test name="depth_write_stencil_clear" />
-<Test name="conservative_stencil_clear" />
-<Test name="depth_clear_stencil_clear" />
-<Test name="conservative_stencil_write_stencil_clear" />
-<Test name="conservative_depth_write_stencil_write_stencil_clear" />
-<Test name="scissor_stencil_write" />
-<Test name="depth_clear_stencil_write" />
-<Test name="conservative_scissor" />
-<Test name="all_occluders" />
-<Test name="scissor_depth_write_depth_clear_stencil_clear" />
-<Test name="scissor_depth_write_stencil_write" />
-<Test name="scissor" />
-<Test name="conservative_scissor_stencil_write" />
-<Test name="depth_write_depth_clear" />
-<Test name="conservative_depth_clear_stencil_write_stencil_clear" />
-<Test name="conservative_scissor_stencil_write_stencil_clear" />
-<Test name="scissor_stencil_write_stencil_clear" />
-<Test name="depth_write" />
-<Test name="depth_write_stencil_write" />
-<Test name="depth_clear_stencil_write_stencil_clear" />
-<Test name="depth_clear" />
-<Test name="conservative_depth_write_depth_clear_stencil_write_stencil_clear" />
-</TestCase>
-<TestSuite name="texture">
-<TestSuite name="filtering">
-<TestSuite name="2d">
-<TestCase name="combinations">
-<Test name="nearest_nearest_mirror_repeat" />
-<Test name="linear_linear_repeat_repeat" />
-<Test name="nearest_nearest_mirror_mirror" />
-<Test name="linear_linear_mirror_clamp" />
-<Test name="nearest_nearest_repeat_mirror" />
-<Test name="nearest_nearest_clamp_mirror" />
-<Test name="nearest_nearest_clamp_clamp" />
-<Test name="linear_linear_clamp_repeat" />
-<Test name="nearest_nearest_repeat_clamp" />
-<Test name="nearest_nearest_mirror_clamp" />
-<Test name="linear_linear_mirror_mirror" />
-<Test name="linear_linear_mirror_repeat" />
-<Test name="linear_linear_clamp_clamp" />
-<Test name="linear_linear_repeat_clamp" />
-<Test name="nearest_nearest_repeat_repeat" />
-<Test name="nearest_nearest_clamp_repeat" />
-<Test name="linear_linear_repeat_mirror" />
-<Test name="linear_linear_clamp_mirror" />
-</TestCase>
-<TestCase name="formats">
-<Test name="rgb565_linear_mipmap_linear" />
-<Test name="srgb8_alpha8_linear" />
-<Test name="rgb9_e5_linear" />
-<Test name="etc1_rgb8_linear_mipmap_linear" />
-<Test name="srgb8_alpha8_linear_mipmap_nearest" />
-<Test name="rgb10_a2_linear" />
-<Test name="rgba16f_linear" />
-<Test name="srgb8_alpha8_nearest" />
-<Test name="rgb9_e5_nearest_mipmap_nearest" />
-<Test name="rgba4_linear_mipmap_nearest" />
-<Test name="rgb5_a1_linear_mipmap_linear" />
-<Test name="rgba16f_nearest" />
-<Test name="rgba16f_linear_mipmap_linear" />
-<Test name="rgba8_snorm_nearest_mipmap_linear" />
-<Test name="rgba16f_linear_mipmap_nearest" />
-<Test name="rgb10_a2_nearest" />
-<Test name="r11f_g11f_b10f_nearest_mipmap_nearest" />
-<Test name="rgba8_snorm_linear_mipmap_linear" />
-<Test name="rgb9_e5_linear_mipmap_nearest" />
-<Test name="srgb8_alpha8_nearest_mipmap_nearest" />
-<Test name="etc1_rgb8_nearest_mipmap_linear" />
-<Test name="rgba8_linear" />
-<Test name="rgba8_nearest_mipmap_linear" />
-<Test name="rgb565_nearest" />
-<Test name="rgba4_linear_mipmap_linear" />
-<Test name="r11f_g11f_b10f_nearest" />
-<Test name="rgb5_a1_nearest" />
-<Test name="rgba8_nearest" />
-<Test name="srgb8_alpha8_linear_mipmap_linear" />
-<Test name="rgba8_snorm_nearest_mipmap_nearest" />
-<Test name="rgb5_a1_nearest_mipmap_linear" />
-<Test name="rgba16f_nearest_mipmap_linear" />
-<Test name="rgba8_linear_mipmap_nearest" />
-<Test name="rgba16f_nearest_mipmap_nearest" />
-<Test name="rgb9_e5_nearest_mipmap_linear" />
-<Test name="rgb10_a2_nearest_mipmap_nearest" />
-<Test name="r11f_g11f_b10f_linear_mipmap_linear" />
-<Test name="rgba8_snorm_nearest" />
-<Test name="rgb10_a2_nearest_mipmap_linear" />
-<Test name="r11f_g11f_b10f_linear" />
-<Test name="rgba4_nearest_mipmap_nearest" />
-<Test name="r11f_g11f_b10f_nearest_mipmap_linear" />
-<Test name="rgb565_linear_mipmap_nearest" />
-<Test name="etc1_rgb8_linear_mipmap_nearest" />
-<Test name="rgba8_snorm_linear" />
-<Test name="rgb9_e5_nearest" />
-<Test name="rgba4_nearest" />
-<Test name="etc1_rgb8_nearest_mipmap_nearest" />
-<Test name="rgba4_linear" />
-<Test name="rgba8_linear_mipmap_linear" />
-<Test name="rgb565_linear" />
-<Test name="rgba8_nearest_mipmap_nearest" />
-<Test name="rgb10_a2_linear_mipmap_nearest" />
-<Test name="rgb565_nearest_mipmap_nearest" />
-<Test name="rgba8_snorm_linear_mipmap_nearest" />
-<Test name="rgb5_a1_nearest_mipmap_nearest" />
-<Test name="rgba4_nearest_mipmap_linear" />
-<Test name="etc1_rgb8_nearest" />
-<Test name="rgb5_a1_linear" />
-<Test name="rgb10_a2_linear_mipmap_linear" />
-<Test name="rgb565_nearest_mipmap_linear" />
-<Test name="rgb9_e5_linear_mipmap_linear" />
-<Test name="r11f_g11f_b10f_linear_mipmap_nearest" />
-<Test name="srgb8_alpha8_nearest_mipmap_linear" />
-<Test name="rgb5_a1_linear_mipmap_nearest" />
-<Test name="etc1_rgb8_linear" />
-</TestCase>
-<TestCase name="sizes">
-<Test name="128x128_nearest_mipmap_nearest" />
-<Test name="31x55_linear" />
-<Test name="128x128_linear_mipmap_nearest" />
-<Test name="32x64_linear_mipmap_nearest" />
-<Test name="32x64_nearest" />
-<Test name="32x64_nearest_mipmap_linear" />
-<Test name="3x7_linear" />
-<Test name="3x7_nearest_mipmap_linear" />
-<Test name="4x8_nearest" />
-<Test name="4x8_nearest_mipmap_linear" />
-<Test name="3x7_nearest" />
-<Test name="128x128_nearest" />
-<Test name="4x8_linear_mipmap_nearest" />
-<Test name="3x7_linear_mipmap_nearest" />
-<Test name="127x99_linear" />
-<Test name="32x64_nearest_mipmap_nearest" />
-<Test name="32x64_linear" />
-<Test name="31x55_nearest" />
-<Test name="128x128_linear" />
-<Test name="128x128_linear_mipmap_linear" />
-<Test name="128x128_nearest_mipmap_linear" />
-<Test name="127x99_nearest" />
-<Test name="4x8_linear_mipmap_linear" />
-<Test name="4x8_linear" />
-<Test name="3x7_linear_mipmap_linear" />
-<Test name="3x7_nearest_mipmap_nearest" />
-<Test name="32x64_linear_mipmap_linear" />
-<Test name="4x8_nearest_mipmap_nearest" />
-</TestCase>
-</TestSuite>
-<TestSuite name="2d_array">
-<TestCase name="combinations">
-<Test name="nearest_nearest_mirror_repeat" />
-<Test name="linear_linear_clamp_repeat" />
-<Test name="nearest_nearest_repeat_clamp" />
-<Test name="linear_linear_mirror_repeat" />
-<Test name="linear_mipmap_linear_nearest_clamp_clamp" />
-<Test name="nearest_nearest_repeat_repeat" />
-<Test name="nearest_nearest_mirror_mirror" />
-<Test name="linear_linear_mirror_clamp" />
-<Test name="nearest_nearest_clamp_mirror" />
-<Test name="linear_linear_mirror_mirror" />
-<Test name="nearest_linear_clamp_clamp" />
-<Test name="linear_linear_repeat_clamp" />
-<Test name="linear_linear_repeat_mirror" />
-<Test name="nearest_nearest_clamp_clamp" />
-<Test name="linear_mipmap_nearest_nearest_clamp_clamp" />
-<Test name="linear_linear_clamp_clamp" />
-<Test name="nearest_nearest_clamp_repeat" />
-<Test name="linear_linear_clamp_mirror" />
-<Test name="linear_nearest_clamp_clamp" />
-<Test name="nearest_nearest_repeat_mirror" />
-<Test name="linear_linear_repeat_repeat" />
-<Test name="linear_mipmap_nearest_linear_clamp_clamp" />
-<Test name="nearest_nearest_mirror_clamp" />
-<Test name="linear_mipmap_linear_linear_clamp_clamp" />
-</TestCase>
-<TestCase name="formats">
-<Test name="rgb565_linear_mipmap_linear" />
-<Test name="srgb8_alpha8_linear" />
-<Test name="rgb9_e5_linear" />
-<Test name="srgb8_alpha8_linear_mipmap_nearest" />
-<Test name="rgb10_a2_linear" />
-<Test name="rgba16f_linear" />
-<Test name="srgb8_alpha8_nearest" />
-<Test name="rgb9_e5_nearest_mipmap_nearest" />
-<Test name="rgba4_linear_mipmap_nearest" />
-<Test name="rgb5_a1_linear_mipmap_linear" />
-<Test name="rgba16f_nearest" />
-<Test name="rgba16f_linear_mipmap_linear" />
-<Test name="rgba8_snorm_nearest_mipmap_linear" />
-<Test name="rgba16f_linear_mipmap_nearest" />
-<Test name="rgb10_a2_nearest" />
-<Test name="r11f_g11f_b10f_nearest_mipmap_nearest" />
-<Test name="rgba8_snorm_linear_mipmap_linear" />
-<Test name="rgb9_e5_linear_mipmap_nearest" />
-<Test name="srgb8_alpha8_nearest_mipmap_nearest" />
-<Test name="rgba16f_nearest_mipmap_linear" />
-<Test name="rgba8_linear" />
-<Test name="rgba8_nearest_mipmap_linear" />
-<Test name="rgb565_nearest" />
-<Test name="rgba4_linear_mipmap_linear" />
-<Test name="r11f_g11f_b10f_nearest" />
-<Test name="rgb5_a1_nearest" />
-<Test name="rgba8_nearest" />
-<Test name="srgb8_alpha8_linear_mipmap_linear" />
-<Test name="rgba8_snorm_nearest_mipmap_nearest" />
-<Test name="rgb5_a1_nearest_mipmap_linear" />
-<Test name="rgba8_linear_mipmap_nearest" />
-<Test name="rgba16f_nearest_mipmap_nearest" />
-<Test name="rgb9_e5_nearest_mipmap_linear" />
-<Test name="rgb10_a2_nearest_mipmap_nearest" />
-<Test name="r11f_g11f_b10f_linear_mipmap_linear" />
-<Test name="rgba8_snorm_nearest" />
-<Test name="rgb10_a2_nearest_mipmap_linear" />
-<Test name="r11f_g11f_b10f_linear" />
-<Test name="rgba4_nearest_mipmap_nearest" />
-<Test name="r11f_g11f_b10f_nearest_mipmap_linear" />
-<Test name="rgb565_linear_mipmap_nearest" />
-<Test name="rgba8_snorm_linear" />
-<Test name="rgb9_e5_nearest" />
-<Test name="rgba4_nearest" />
-<Test name="rgba4_linear" />
-<Test name="rgba8_linear_mipmap_linear" />
-<Test name="rgb565_linear" />
-<Test name="rgba8_nearest_mipmap_nearest" />
-<Test name="rgb10_a2_linear_mipmap_nearest" />
-<Test name="rgb565_nearest_mipmap_nearest" />
-<Test name="rgba8_snorm_linear_mipmap_nearest" />
-<Test name="rgb5_a1_nearest_mipmap_nearest" />
-<Test name="rgba4_nearest_mipmap_linear" />
-<Test name="rgb5_a1_linear" />
-<Test name="rgb10_a2_linear_mipmap_linear" />
-<Test name="rgb565_nearest_mipmap_linear" />
-<Test name="rgb9_e5_linear_mipmap_linear" />
-<Test name="r11f_g11f_b10f_linear_mipmap_nearest" />
-<Test name="srgb8_alpha8_nearest_mipmap_linear" />
-<Test name="rgb5_a1_linear_mipmap_nearest" />
-</TestCase>
-<TestCase name="sizes">
-<Test name="4x8x8_linear" />
-<Test name="32x64x16_nearest" />
-<Test name="128x32x64_linear" />
-<Test name="128x32x64_nearest" />
-<Test name="3x7x5_linear_mipmap_nearest" />
-<Test name="4x8x8_nearest_mipmap_nearest" />
-<Test name="3x7x5_linear" />
-<Test name="3x7x5_nearest_mipmap_nearest" />
-<Test name="32x64x16_linear" />
-<Test name="4x8x8_nearest_mipmap_linear" />
-<Test name="4x8x8_nearest" />
-<Test name="32x64x16_nearest_mipmap_nearest" />
-<Test name="3x7x5_linear_mipmap_linear" />
-<Test name="4x8x8_linear_mipmap_linear" />
-<Test name="32x64x16_linear_mipmap_nearest" />
-<Test name="4x8x8_linear_mipmap_nearest" />
-<Test name="128x32x64_nearest_mipmap_nearest" />
-<Test name="128x32x64_linear_mipmap_nearest" />
-<Test name="32x64x16_nearest_mipmap_linear" />
-<Test name="32x64x16_linear_mipmap_linear" />
-<Test name="63x63x63_nearest" />
-<Test name="63x63x63_linear" />
-<Test name="3x7x5_nearest_mipmap_linear" />
-<Test name="3x7x5_nearest" />
-<Test name="128x32x64_nearest_mipmap_linear" />
-<Test name="128x32x64_linear_mipmap_linear" />
-</TestCase>
-</TestSuite>
-<TestSuite name="cube">
-<TestCase name="combinations">
-<Test name="nearest_nearest_mirror_repeat" />
-<Test name="linear_linear_repeat_repeat" />
-<Test name="nearest_nearest_mirror_mirror" />
-<Test name="linear_linear_mirror_clamp" />
-<Test name="nearest_nearest_repeat_mirror" />
-<Test name="nearest_nearest_clamp_mirror" />
-<Test name="nearest_nearest_clamp_clamp" />
-<Test name="linear_linear_clamp_repeat" />
-<Test name="nearest_nearest_repeat_clamp" />
-<Test name="nearest_nearest_mirror_clamp" />
-<Test name="linear_linear_mirror_mirror" />
-<Test name="linear_linear_mirror_repeat" />
-<Test name="linear_linear_clamp_clamp" />
-<Test name="linear_linear_repeat_clamp" />
-<Test name="nearest_nearest_repeat_repeat" />
-<Test name="nearest_nearest_clamp_repeat" />
-<Test name="linear_linear_repeat_mirror" />
-<Test name="linear_linear_clamp_mirror" />
-</TestCase>
-<TestCase name="no_edges_visible">
-<Test name="nearest" />
-<Test name="linear" />
-</TestCase>
-<TestCase name="formats">
-<Test name="rgb565_linear_mipmap_linear" />
-<Test name="srgb8_alpha8_linear" />
-<Test name="rgb9_e5_linear" />
-<Test name="etc1_rgb8_linear_mipmap_linear" />
-<Test name="srgb8_alpha8_linear_mipmap_nearest" />
-<Test name="rgb10_a2_linear" />
-<Test name="rgba16f_linear" />
-<Test name="srgb8_alpha8_nearest" />
-<Test name="rgb9_e5_nearest_mipmap_nearest" />
-<Test name="rgba4_linear_mipmap_nearest" />
-<Test name="rgb5_a1_linear_mipmap_linear" />
-<Test name="rgba16f_nearest" />
-<Test name="rgba16f_linear_mipmap_linear" />
-<Test name="rgba8_snorm_nearest_mipmap_linear" />
-<Test name="rgba16f_linear_mipmap_nearest" />
-<Test name="rgb10_a2_nearest" />
-<Test name="r11f_g11f_b10f_nearest_mipmap_nearest" />
-<Test name="rgba8_snorm_linear_mipmap_linear" />
-<Test name="rgb9_e5_linear_mipmap_nearest" />
-<Test name="srgb8_alpha8_nearest_mipmap_nearest" />
-<Test name="etc1_rgb8_nearest_mipmap_linear" />
-<Test name="rgba8_linear" />
-<Test name="rgba8_nearest_mipmap_linear" />
-<Test name="rgb565_nearest" />
-<Test name="rgba4_linear_mipmap_linear" />
-<Test name="r11f_g11f_b10f_nearest" />
-<Test name="rgb5_a1_nearest" />
-<Test name="rgba8_nearest" />
-<Test name="srgb8_alpha8_linear_mipmap_linear" />
-<Test name="rgba8_snorm_nearest_mipmap_nearest" />
-<Test name="rgb5_a1_nearest_mipmap_linear" />
-<Test name="rgba16f_nearest_mipmap_linear" />
-<Test name="rgba8_linear_mipmap_nearest" />
-<Test name="rgba16f_nearest_mipmap_nearest" />
-<Test name="rgb9_e5_nearest_mipmap_linear" />
-<Test name="rgb10_a2_nearest_mipmap_nearest" />
-<Test name="r11f_g11f_b10f_linear_mipmap_linear" />
-<Test name="rgba8_snorm_nearest" />
-<Test name="rgb10_a2_nearest_mipmap_linear" />
-<Test name="r11f_g11f_b10f_linear" />
-<Test name="rgba4_nearest_mipmap_nearest" />
-<Test name="r11f_g11f_b10f_nearest_mipmap_linear" />
-<Test name="rgb565_linear_mipmap_nearest" />
-<Test name="etc1_rgb8_linear_mipmap_nearest" />
-<Test name="rgba8_snorm_linear" />
-<Test name="rgb9_e5_nearest" />
-<Test name="rgba4_nearest" />
-<Test name="etc1_rgb8_nearest_mipmap_nearest" />
-<Test name="rgba4_linear" />
-<Test name="rgba8_linear_mipmap_linear" />
-<Test name="rgb565_linear" />
-<Test name="rgba8_nearest_mipmap_nearest" />
-<Test name="rgb10_a2_linear_mipmap_nearest" />
-<Test name="rgb565_nearest_mipmap_nearest" />
-<Test name="rgba8_snorm_linear_mipmap_nearest" />
-<Test name="rgb5_a1_nearest_mipmap_nearest" />
-<Test name="rgba4_nearest_mipmap_linear" />
-<Test name="etc1_rgb8_nearest" />
-<Test name="rgb5_a1_linear" />
-<Test name="rgb10_a2_linear_mipmap_linear" />
-<Test name="rgb565_nearest_mipmap_linear" />
-<Test name="rgb9_e5_linear_mipmap_linear" />
-<Test name="r11f_g11f_b10f_linear_mipmap_nearest" />
-<Test name="srgb8_alpha8_nearest_mipmap_linear" />
-<Test name="rgb5_a1_linear_mipmap_nearest" />
-<Test name="etc1_rgb8_linear" />
-</TestCase>
-<TestCase name="sizes">
-<Test name="7x7_nearest" />
-<Test name="128x128_nearest_mipmap_nearest" />
-<Test name="8x8_linear_mipmap_nearest" />
-<Test name="7x7_nearest_mipmap_linear" />
-<Test name="64x64_linear" />
-<Test name="64x64_nearest_mipmap_linear" />
-<Test name="64x64_linear_mipmap_linear" />
-<Test name="7x7_linear" />
-<Test name="8x8_nearest_mipmap_linear" />
-<Test name="128x128_nearest" />
-<Test name="7x7_linear_mipmap_nearest" />
-<Test name="63x63_linear" />
-<Test name="128x128_linear_mipmap_nearest" />
-<Test name="8x8_nearest" />
-<Test name="64x64_nearest_mipmap_nearest" />
-<Test name="7x7_nearest_mipmap_nearest" />
-<Test name="8x8_linear_mipmap_linear" />
-<Test name="64x64_linear_mipmap_nearest" />
-<Test name="128x128_linear" />
-<Test name="128x128_linear_mipmap_linear" />
-<Test name="128x128_nearest_mipmap_linear" />
-<Test name="8x8_linear" />
-<Test name="7x7_linear_mipmap_linear" />
-<Test name="63x63_nearest" />
-<Test name="64x64_nearest" />
-<Test name="8x8_nearest_mipmap_nearest" />
-</TestCase>
-</TestSuite>
-<TestSuite name="3d">
-<TestCase name="combinations">
-<Test name="nearest_nearest_clamp_clamp_repeat" />
-<Test name="linear_linear_mirror_clamp_repeat" />
-<Test name="linear_linear_repeat_repeat_repeat" />
-<Test name="nearest_nearest_mirror_clamp_clamp" />
-<Test name="linear_linear_repeat_mirror_clamp" />
-<Test name="nearest_nearest_mirror_mirror_repeat" />
-<Test name="linear_linear_mirror_mirror_mirror" />
-<Test name="nearest_nearest_clamp_repeat_clamp" />
-<Test name="nearest_nearest_repeat_repeat_clamp" />
-<Test name="linear_linear_mirror_repeat_repeat" />
-<Test name="linear_nearest_clamp_clamp_clamp" />
-<Test name="nearest_nearest_repeat_mirror_repeat" />
-<Test name="linear_linear_clamp_clamp_clamp" />
-<Test name="nearest_nearest_clamp_mirror_clamp" />
-<Test name="linear_linear_clamp_repeat_repeat" />
-<Test name="nearest_nearest_repeat_clamp_repeat" />
-<Test name="linear_linear_mirror_repeat_clamp" />
-<Test name="nearest_nearest_mirror_repeat_mirror" />
-<Test name="nearest_nearest_clamp_clamp_mirror" />
-<Test name="linear_linear_mirror_clamp_mirror" />
-<Test name="nearest_nearest_clamp_mirror_mirror" />
-<Test name="linear_linear_clamp_mirror_clamp" />
-<Test name="nearest_nearest_repeat_repeat_mirror" />
-<Test name="nearest_nearest_repeat_repeat_repeat" />
-<Test name="nearest_nearest_mirror_repeat_clamp" />
-<Test name="nearest_nearest_repeat_mirror_mirror" />
-<Test name="nearest_nearest_mirror_mirror_mirror" />
-<Test name="nearest_nearest_mirror_mirror_clamp" />
-<Test name="linear_linear_repeat_mirror_mirror" />
-<Test name="linear_linear_repeat_repeat_clamp" />
-<Test name="nearest_nearest_mirror_repeat_repeat" />
-<Test name="linear_linear_repeat_repeat_mirror" />
-<Test name="linear_linear_clamp_clamp_repeat" />
-<Test name="linear_linear_repeat_clamp_repeat" />
-<Test name="nearest_nearest_mirror_clamp_mirror" />
-<Test name="linear_linear_repeat_clamp_mirror" />
-<Test name="linear_linear_mirror_clamp_clamp" />
-<Test name="linear_linear_clamp_mirror_mirror" />
-<Test name="linear_linear_mirror_mirror_repeat" />
-<Test name="nearest_nearest_clamp_mirror_repeat" />
-<Test name="nearest_nearest_repeat_mirror_clamp" />
-<Test name="linear_linear_clamp_repeat_clamp" />
-<Test name="nearest_nearest_repeat_clamp_clamp" />
-<Test name="linear_linear_clamp_repeat_mirror" />
-<Test name="nearest_nearest_repeat_clamp_mirror" />
-<Test name="linear_linear_repeat_clamp_clamp" />
-<Test name="linear_linear_mirror_mirror_clamp" />
-<Test name="nearest_nearest_clamp_clamp_clamp" />
-<Test name="nearest_linear_clamp_clamp_clamp" />
-<Test name="nearest_nearest_mirror_clamp_repeat" />
-<Test name="linear_linear_repeat_mirror_repeat" />
-<Test name="linear_linear_clamp_mirror_repeat" />
-<Test name="nearest_nearest_clamp_repeat_repeat" />
-<Test name="linear_linear_mirror_repeat_mirror" />
-<Test name="linear_linear_clamp_clamp_mirror" />
-<Test name="nearest_nearest_clamp_repeat_mirror" />
-</TestCase>
-<TestCase name="formats">
-<Test name="rgb565_linear_mipmap_linear" />
-<Test name="srgb8_alpha8_linear" />
-<Test name="rgb9_e5_linear" />
-<Test name="srgb8_alpha8_linear_mipmap_nearest" />
-<Test name="rgb10_a2_linear" />
-<Test name="rgba16f_linear" />
-<Test name="srgb8_alpha8_nearest" />
-<Test name="rgb9_e5_nearest_mipmap_nearest" />
-<Test name="rgba4_linear_mipmap_nearest" />
-<Test name="rgb5_a1_linear_mipmap_linear" />
-<Test name="rgba16f_nearest" />
-<Test name="rgba8_snorm_nearest_mipmap_linear" />
-<Test name="rgba16f_linear_mipmap_nearest" />
-<Test name="rgb10_a2_nearest" />
-<Test name="r11f_g11f_b10f_nearest_mipmap_nearest" />
-<Test name="rgba8_snorm_linear_mipmap_linear" />
-<Test name="rgb9_e5_linear_mipmap_nearest" />
-<Test name="srgb8_alpha8_nearest_mipmap_nearest" />
-<Test name="rgba16f_nearest_mipmap_linear" />
-<Test name="rgba8_linear" />
-<Test name="rgba8_nearest_mipmap_linear" />
-<Test name="rgb565_nearest" />
-<Test name="rgba4_linear_mipmap_linear" />
-<Test name="r11f_g11f_b10f_nearest" />
-<Test name="rgb5_a1_nearest" />
-<Test name="rgba8_nearest" />
-<Test name="srgb8_alpha8_linear_mipmap_linear" />
-<Test name="rgba8_snorm_nearest_mipmap_nearest" />
-<Test name="rgb5_a1_nearest_mipmap_linear" />
-<Test name="rgba8_linear_mipmap_nearest" />
-<Test name="rgba16f_nearest_mipmap_nearest" />
-<Test name="rgb9_e5_nearest_mipmap_linear" />
-<Test name="rgb10_a2_nearest_mipmap_nearest" />
-<Test name="r11f_g11f_b10f_linear_mipmap_linear" />
-<Test name="rgba8_snorm_nearest" />
-<Test name="rgb10_a2_nearest_mipmap_linear" />
-<Test name="r11f_g11f_b10f_linear" />
-<Test name="rgba4_nearest_mipmap_nearest" />
-<Test name="r11f_g11f_b10f_nearest_mipmap_linear" />
-<Test name="rgb565_linear_mipmap_nearest" />
-<Test name="rgba8_snorm_linear" />
-<Test name="rgb9_e5_nearest" />
-<Test name="rgba4_nearest" />
-<Test name="rgba4_linear" />
-<Test name="rgba8_linear_mipmap_linear" />
-<Test name="rgb565_linear" />
-<Test name="rgba8_nearest_mipmap_nearest" />
-<Test name="rgb10_a2_linear_mipmap_nearest" />
-<Test name="rgb565_nearest_mipmap_nearest" />
-<Test name="rgba8_snorm_linear_mipmap_nearest" />
-<Test name="rgb5_a1_nearest_mipmap_nearest" />
-<Test name="rgba4_nearest_mipmap_linear" />
-<Test name="rgb5_a1_linear" />
-<Test name="rgb10_a2_linear_mipmap_linear" />
-<Test name="rgb565_nearest_mipmap_linear" />
-<Test name="rgb9_e5_linear_mipmap_linear" />
-<Test name="r11f_g11f_b10f_linear_mipmap_nearest" />
-<Test name="srgb8_alpha8_nearest_mipmap_linear" />
-<Test name="rgb5_a1_linear_mipmap_nearest" />
-</TestCase>
-<TestCase name="sizes">
-<Test name="4x8x8_linear" />
-<Test name="32x64x16_nearest" />
-<Test name="128x32x64_linear" />
-<Test name="128x32x64_nearest" />
-<Test name="3x7x5_linear_mipmap_nearest" />
-<Test name="4x8x8_nearest_mipmap_nearest" />
-<Test name="3x7x5_linear" />
-<Test name="3x7x5_nearest_mipmap_nearest" />
-<Test name="32x64x16_linear" />
-<Test name="4x8x8_nearest_mipmap_linear" />
-<Test name="4x8x8_nearest" />
-<Test name="32x64x16_nearest_mipmap_nearest" />
-<Test name="3x7x5_linear_mipmap_linear" />
-<Test name="4x8x8_linear_mipmap_linear" />
-<Test name="32x64x16_linear_mipmap_nearest" />
-<Test name="4x8x8_linear_mipmap_nearest" />
-<Test name="128x32x64_nearest_mipmap_nearest" />
-<Test name="128x32x64_linear_mipmap_nearest" />
-<Test name="32x64x16_nearest_mipmap_linear" />
-<Test name="32x64x16_linear_mipmap_linear" />
-<Test name="63x63x63_nearest" />
-<Test name="63x63x63_linear" />
-<Test name="3x7x5_nearest_mipmap_linear" />
-<Test name="3x7x5_nearest" />
-<Test name="128x32x64_nearest_mipmap_linear" />
-<Test name="128x32x64_linear_mipmap_linear" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-<TestSuite name="format">
-<TestSuite name="sized">
-<TestCase name="2d">
-<Test name="r8_npot" />
-<Test name="rgb8ui_pot" />
-<Test name="rg16f_npot" />
-<Test name="r32f_pot" />
-<Test name="rgba4_pot" />
-<Test name="rgb8_snorm_pot" />
-<Test name="rgba32ui_npot" />
-<Test name="rg32f_npot" />
-<Test name="rgb10_a2_npot" />
-<Test name="rgba32i_npot" />
-<Test name="rgb8i_pot" />
-<Test name="srgb8_alpha8_pot" />
-<Test name="r16i_pot" />
-<Test name="rgb32ui_pot" />
-<Test name="r32i_pot" />
-<Test name="rgba16f_npot" />
-<Test name="rgb9_e5_pot" />
-<Test name="rgb32f_pot" />
-<Test name="r8i_pot" />
-<Test name="rgb8_snorm_npot" />
-<Test name="rgba16ui_pot" />
-<Test name="rg8_pot" />
-<Test name="rgba8i_npot" />
-<Test name="r8ui_pot" />
-<Test name="depth_component32f_npot" />
-<Test name="depth_component24_npot" />
-<Test name="r11f_g11f_b10f_pot" />
-<Test name="rgb8i_npot" />
-<Test name="depth32f_stencil8_pot" />
-<Test name="depth_component16_npot" />
-<Test name="rgba16i_pot" />
-<Test name="rgba32i_pot" />
-<Test name="r32f_npot" />
-<Test name="rgba32ui_pot" />
-<Test name="rgb16f_pot" />
-<Test name="r8_pot" />
-<Test name="r16ui_npot" />
-<Test name="rg8_npot" />
-<Test name="r8i_npot" />
-<Test name="rgb32i_pot" />
-<Test name="rgb32i_npot" />
-<Test name="rg8i_pot" />
-<Test name="rg32i_pot" />
-<Test name="rg32ui_npot" />
-<Test name="depth_component32f_pot" />
-<Test name="rg32ui_pot" />
-<Test name="rgba16ui_npot" />
-<Test name="rg8_snorm_npot" />
-<Test name="srgb8_pot" />
-<Test name="rgb16ui_pot" />
-<Test name="rgb16i_pot" />
-<Test name="r16f_pot" />
-<Test name="rgba4_npot" />
-<Test name="rgb8_pot" />
-<Test name="rg16ui_npot" />
-<Test name="rgba8_snorm_pot" />
-<Test name="r32i_npot" />
-<Test name="rgb10_a2ui_pot" />
-<Test name="r16f_npot" />
-<Test name="r11f_g11f_b10f_npot" />
-<Test name="rg8ui_npot" />
-<Test name="rgb9_e5_npot" />
-<Test name="depth_component24_pot" />
-<Test name="rgba16f_pot" />
-<Test name="rgb10_a2ui_npot" />
-<Test name="rgba8ui_pot" />
-<Test name="rg32i_npot" />
-<Test name="r8_snorm_pot" />
-<Test name="r16i_npot" />
-<Test name="rgb32ui_npot" />
-<Test name="r32ui_pot" />
-<Test name="r8_snorm_npot" />
-<Test name="srgb8_alpha8_npot" />
-<Test name="depth24_stencil8_npot" />
-<Test name="rgba8_pot" />
-<Test name="rgb565_pot" />
-<Test name="rgba32f_pot" />
-<Test name="rgb16i_npot" />
-<Test name="depth_component16_pot" />
-<Test name="rgb16ui_npot" />
-<Test name="depth32f_stencil8_npot" />
-<Test name="rgba32f_npot" />
-<Test name="rgba16i_npot" />
-<Test name="r8ui_npot" />
-<Test name="srgb8_npot" />
-<Test name="rg8ui_pot" />
-<Test name="rgb16f_npot" />
-<Test name="rg8_snorm_pot" />
-<Test name="rgb32f_npot" />
-<Test name="rg16i_pot" />
-<Test name="rg16ui_pot" />
-<Test name="rgb5_a1_npot" />
-<Test name="rgb10_a2_pot" />
-<Test name="depth24_stencil8_pot" />
-<Test name="rg32f_pot" />
-<Test name="rg16i_npot" />
-<Test name="r32ui_npot" />
-<Test name="rgba8_npot" />
-<Test name="rgba8ui_npot" />
-<Test name="rgb5_a1_pot" />
-<Test name="rg8i_npot" />
-<Test name="rgb565_npot" />
-<Test name="rgb8ui_npot" />
-<Test name="rg16f_pot" />
-<Test name="rgba8i_pot" />
-<Test name="rgba8_snorm_npot" />
-<Test name="r16ui_pot" />
-<Test name="rgb8_npot" />
-</TestCase>
-<TestCase name="2d_array">
-<Test name="r8_npot" />
-<Test name="rgb8ui_pot" />
-<Test name="rg16f_npot" />
-<Test name="r32f_pot" />
-<Test name="rgba4_pot" />
-<Test name="rgb8_snorm_pot" />
-<Test name="rgba32ui_npot" />
-<Test name="rg32f_npot" />
-<Test name="rgb10_a2_npot" />
-<Test name="rgba32i_npot" />
-<Test name="rgb8i_pot" />
-<Test name="srgb8_alpha8_pot" />
-<Test name="r16i_pot" />
-<Test name="rgb32ui_pot" />
-<Test name="r32i_pot" />
-<Test name="rgba16f_npot" />
-<Test name="rgb9_e5_pot" />
-<Test name="rgb32f_pot" />
-<Test name="r8i_pot" />
-<Test name="rgb8_snorm_npot" />
-<Test name="rgba16ui_pot" />
-<Test name="rg8_pot" />
-<Test name="rgba8i_npot" />
-<Test name="r8ui_pot" />
-<Test name="depth_component32f_npot" />
-<Test name="depth_component24_npot" />
-<Test name="r11f_g11f_b10f_pot" />
-<Test name="rgb8i_npot" />
-<Test name="depth32f_stencil8_pot" />
-<Test name="depth_component16_npot" />
-<Test name="rgba16i_pot" />
-<Test name="rgba32i_pot" />
-<Test name="r32f_npot" />
-<Test name="rgba32ui_pot" />
-<Test name="rgb16f_pot" />
-<Test name="r8_pot" />
-<Test name="r16ui_npot" />
-<Test name="rg8_npot" />
-<Test name="r8i_npot" />
-<Test name="rgb32i_pot" />
-<Test name="rgb32i_npot" />
-<Test name="rg8i_pot" />
-<Test name="rg32i_pot" />
-<Test name="rg32ui_npot" />
-<Test name="depth_component32f_pot" />
-<Test name="rg32ui_pot" />
-<Test name="rgba16ui_npot" />
-<Test name="rg8_snorm_npot" />
-<Test name="srgb8_pot" />
-<Test name="rgb16ui_pot" />
-<Test name="rgb16i_pot" />
-<Test name="r16f_pot" />
-<Test name="rgba4_npot" />
-<Test name="rgb8_pot" />
-<Test name="rg16ui_npot" />
-<Test name="rgba8_snorm_pot" />
-<Test name="r32i_npot" />
-<Test name="rgb10_a2ui_pot" />
-<Test name="r16f_npot" />
-<Test name="r11f_g11f_b10f_npot" />
-<Test name="rg8ui_npot" />
-<Test name="rgb9_e5_npot" />
-<Test name="depth_component24_pot" />
-<Test name="rgba16f_pot" />
-<Test name="rgb10_a2ui_npot" />
-<Test name="rgba8ui_pot" />
-<Test name="rg32i_npot" />
-<Test name="r8_snorm_pot" />
-<Test name="r16i_npot" />
-<Test name="rgb32ui_npot" />
-<Test name="r32ui_pot" />
-<Test name="r8_snorm_npot" />
-<Test name="srgb8_alpha8_npot" />
-<Test name="depth24_stencil8_npot" />
-<Test name="rgba8_pot" />
-<Test name="rgb565_pot" />
-<Test name="rgba32f_pot" />
-<Test name="rgb16i_npot" />
-<Test name="depth_component16_pot" />
-<Test name="rgb16ui_npot" />
-<Test name="depth32f_stencil8_npot" />
-<Test name="rgba32f_npot" />
-<Test name="rgba16i_npot" />
-<Test name="r8ui_npot" />
-<Test name="srgb8_npot" />
-<Test name="rg8ui_pot" />
-<Test name="rgb16f_npot" />
-<Test name="rg8_snorm_pot" />
-<Test name="rgb32f_npot" />
-<Test name="rg16i_pot" />
-<Test name="rg16ui_pot" />
-<Test name="rgb5_a1_npot" />
-<Test name="rgb10_a2_pot" />
-<Test name="depth24_stencil8_pot" />
-<Test name="rg32f_pot" />
-<Test name="rg16i_npot" />
-<Test name="r32ui_npot" />
-<Test name="rgba8_npot" />
-<Test name="rgba8ui_npot" />
-<Test name="rgb5_a1_pot" />
-<Test name="rg8i_npot" />
-<Test name="rgb565_npot" />
-<Test name="rgb8ui_npot" />
-<Test name="rg16f_pot" />
-<Test name="rgba8i_pot" />
-<Test name="rgba8_snorm_npot" />
-<Test name="r16ui_pot" />
-<Test name="rgb8_npot" />
-</TestCase>
-<TestCase name="cube">
-<Test name="r8_npot" />
-<Test name="rgb8ui_pot" />
-<Test name="rg16f_npot" />
-<Test name="r32f_pot" />
-<Test name="rgba4_pot" />
-<Test name="rgb8_snorm_pot" />
-<Test name="rgba32ui_npot" />
-<Test name="rg32f_npot" />
-<Test name="rgb10_a2_npot" />
-<Test name="rgba32i_npot" />
-<Test name="rgb8i_pot" />
-<Test name="srgb8_alpha8_pot" />
-<Test name="r16i_pot" />
-<Test name="rgb32ui_pot" />
-<Test name="r32i_pot" />
-<Test name="rgba16f_npot" />
-<Test name="rgb9_e5_pot" />
-<Test name="rgb32f_pot" />
-<Test name="r8i_pot" />
-<Test name="rgb8_snorm_npot" />
-<Test name="rgba16ui_pot" />
-<Test name="rg8_pot" />
-<Test name="rgba8i_npot" />
-<Test name="r8ui_pot" />
-<Test name="depth_component32f_npot" />
-<Test name="depth_component24_npot" />
-<Test name="r11f_g11f_b10f_pot" />
-<Test name="rgb8i_npot" />
-<Test name="depth32f_stencil8_pot" />
-<Test name="depth_component16_npot" />
-<Test name="rgba16i_pot" />
-<Test name="rgba32i_pot" />
-<Test name="r32f_npot" />
-<Test name="rgba32ui_pot" />
-<Test name="rgb16f_pot" />
-<Test name="r8_pot" />
-<Test name="r16ui_npot" />
-<Test name="rg8_npot" />
-<Test name="r8i_npot" />
-<Test name="rgb32i_pot" />
-<Test name="rgb32i_npot" />
-<Test name="rg8i_pot" />
-<Test name="rg32i_pot" />
-<Test name="rg32ui_npot" />
-<Test name="depth_component32f_pot" />
-<Test name="rg32ui_pot" />
-<Test name="rgba16ui_npot" />
-<Test name="rg8_snorm_npot" />
-<Test name="srgb8_pot" />
-<Test name="rgb16ui_pot" />
-<Test name="rgb16i_pot" />
-<Test name="r16f_pot" />
-<Test name="rgba4_npot" />
-<Test name="rgb8_pot" />
-<Test name="rg16ui_npot" />
-<Test name="rgba8_snorm_pot" />
-<Test name="r32i_npot" />
-<Test name="rgb10_a2ui_pot" />
-<Test name="r16f_npot" />
-<Test name="r11f_g11f_b10f_npot" />
-<Test name="rg8ui_npot" />
-<Test name="rgb9_e5_npot" />
-<Test name="depth_component24_pot" />
-<Test name="rgba16f_pot" />
-<Test name="rgb10_a2ui_npot" />
-<Test name="rgba8ui_pot" />
-<Test name="rg32i_npot" />
-<Test name="r8_snorm_pot" />
-<Test name="r16i_npot" />
-<Test name="rgb32ui_npot" />
-<Test name="r32ui_pot" />
-<Test name="r8_snorm_npot" />
-<Test name="srgb8_alpha8_npot" />
-<Test name="depth24_stencil8_npot" />
-<Test name="rgba8_pot" />
-<Test name="rgb565_pot" />
-<Test name="rgba32f_pot" />
-<Test name="rgb16i_npot" />
-<Test name="depth_component16_pot" />
-<Test name="rgb16ui_npot" />
-<Test name="depth32f_stencil8_npot" />
-<Test name="rgba32f_npot" />
-<Test name="rgba16i_npot" />
-<Test name="r8ui_npot" />
-<Test name="srgb8_npot" />
-<Test name="rg8ui_pot" />
-<Test name="rgb16f_npot" />
-<Test name="rg8_snorm_pot" />
-<Test name="rgb32f_npot" />
-<Test name="rg16i_pot" />
-<Test name="rg16ui_pot" />
-<Test name="rgb5_a1_npot" />
-<Test name="rgb10_a2_pot" />
-<Test name="depth24_stencil8_pot" />
-<Test name="rg32f_pot" />
-<Test name="rg16i_npot" />
-<Test name="r32ui_npot" />
-<Test name="rgba8_npot" />
-<Test name="rgba8ui_npot" />
-<Test name="rgb5_a1_pot" />
-<Test name="rg8i_npot" />
-<Test name="rgb565_npot" />
-<Test name="rgb8ui_npot" />
-<Test name="rg16f_pot" />
-<Test name="rgba8i_pot" />
-<Test name="rgba8_snorm_npot" />
-<Test name="r16ui_pot" />
-<Test name="rgb8_npot" />
-</TestCase>
-<TestCase name="3d">
-<Test name="r8_npot" />
-<Test name="rgb8ui_pot" />
-<Test name="rg16f_npot" />
-<Test name="r32f_pot" />
-<Test name="rgba4_pot" />
-<Test name="rgb8_snorm_pot" />
-<Test name="rgba32ui_npot" />
-<Test name="rg32f_npot" />
-<Test name="rgb10_a2_npot" />
-<Test name="rgba32i_npot" />
-<Test name="rgb8i_pot" />
-<Test name="srgb8_alpha8_pot" />
-<Test name="r16i_pot" />
-<Test name="rgb32ui_pot" />
-<Test name="r32i_pot" />
-<Test name="rgba16f_npot" />
-<Test name="rgb9_e5_pot" />
-<Test name="rgb32f_pot" />
-<Test name="r8i_pot" />
-<Test name="rgb8_snorm_npot" />
-<Test name="rgba16ui_pot" />
-<Test name="rg8_pot" />
-<Test name="rgba8i_npot" />
-<Test name="r8ui_pot" />
-<Test name="r11f_g11f_b10f_pot" />
-<Test name="rgb8i_npot" />
-<Test name="rgba16i_pot" />
-<Test name="rgba32i_pot" />
-<Test name="r32f_npot" />
-<Test name="rgba32ui_pot" />
-<Test name="rgb16f_pot" />
-<Test name="r8_pot" />
-<Test name="r16ui_npot" />
-<Test name="rg8_npot" />
-<Test name="r8i_npot" />
-<Test name="rgb32i_pot" />
-<Test name="rgb32i_npot" />
-<Test name="rg8i_pot" />
-<Test name="rg32i_pot" />
-<Test name="rg32ui_npot" />
-<Test name="rg32ui_pot" />
-<Test name="rgba16ui_npot" />
-<Test name="rg8_snorm_npot" />
-<Test name="srgb8_pot" />
-<Test name="rgb16ui_pot" />
-<Test name="rgb16i_pot" />
-<Test name="r16f_pot" />
-<Test name="rgb8_pot" />
-<Test name="rg16ui_npot" />
-<Test name="rgba8_snorm_pot" />
-<Test name="r32i_npot" />
-<Test name="rgb10_a2ui_pot" />
-<Test name="r16f_npot" />
-<Test name="r11f_g11f_b10f_npot" />
-<Test name="rg8ui_npot" />
-<Test name="rgb9_e5_npot" />
-<Test name="rgba16f_pot" />
-<Test name="rgb10_a2ui_npot" />
-<Test name="rgba8ui_pot" />
-<Test name="rg32i_npot" />
-<Test name="r8_snorm_pot" />
-<Test name="r16i_npot" />
-<Test name="rgb32ui_npot" />
-<Test name="r32ui_pot" />
-<Test name="r8_snorm_npot" />
-<Test name="srgb8_alpha8_npot" />
-<Test name="rgba8_pot" />
-<Test name="rgb565_pot" />
-<Test name="rgba32f_pot" />
-<Test name="rgb16i_npot" />
-<Test name="rgb16ui_npot" />
-<Test name="rgba32f_npot" />
-<Test name="rgba16i_npot" />
-<Test name="r8ui_npot" />
-<Test name="srgb8_npot" />
-<Test name="rg8ui_pot" />
-<Test name="rgb16f_npot" />
-<Test name="rg8_snorm_pot" />
-<Test name="rgb32f_npot" />
-<Test name="rg16i_pot" />
-<Test name="rg16ui_pot" />
-<Test name="rgb5_a1_npot" />
-<Test name="rgb10_a2_pot" />
-<Test name="rgba4_npot" />
-<Test name="rg32f_pot" />
-<Test name="rg16i_npot" />
-<Test name="r32ui_npot" />
-<Test name="rgba8_npot" />
-<Test name="rgba8ui_npot" />
-<Test name="rgb5_a1_pot" />
-<Test name="rg8i_npot" />
-<Test name="rgb565_npot" />
-<Test name="rgb8ui_npot" />
-<Test name="rg16f_pot" />
-<Test name="rgba8i_pot" />
-<Test name="rgba8_snorm_npot" />
-<Test name="r16ui_pot" />
-<Test name="rgb8_npot" />
-</TestCase>
-</TestSuite>
-<TestCase name="unsized">
-<Test name="rgba_unsigned_short_5_5_5_1_2d_array_npot" />
-<Test name="rgb_unsigned_short_5_6_5_2d_pot" />
-<Test name="luminance_2d_array_pot" />
-<Test name="luminance_2d_array_npot" />
-<Test name="rgba_unsigned_byte_3d_npot" />
-<Test name="luminance_2d_pot" />
-<Test name="rgb_unsigned_short_5_6_5_2d_npot" />
-<Test name="rgb_unsigned_byte_3d_pot" />
-<Test name="rgba_unsigned_short_5_5_5_1_cube_pot" />
-<Test name="alpha_3d_pot" />
-<Test name="rgb_unsigned_byte_cube_npot" />
-<Test name="luminance_alpha_2d_array_pot" />
-<Test name="luminance_alpha_2d_npot" />
-<Test name="rgba_unsigned_byte_3d_pot" />
-<Test name="rgb_unsigned_byte_2d_npot" />
-<Test name="alpha_2d_pot" />
-<Test name="luminance_alpha_2d_array_npot" />
-<Test name="alpha_2d_array_pot" />
-<Test name="luminance_alpha_cube_npot" />
-<Test name="rgba_unsigned_byte_2d_pot" />
-<Test name="luminance_cube_pot" />
-<Test name="alpha_2d_npot" />
-<Test name="rgb_unsigned_short_5_6_5_2d_array_pot" />
-<Test name="rgba_unsigned_byte_2d_array_pot" />
-<Test name="rgb_unsigned_short_5_6_5_2d_array_npot" />
-<Test name="rgba_unsigned_short_4_4_4_4_2d_pot" />
-<Test name="alpha_cube_npot" />
-<Test name="rgba_unsigned_byte_cube_pot" />
-<Test name="luminance_alpha_cube_pot" />
-<Test name="rgba_unsigned_short_5_5_5_1_2d_array_pot" />
-<Test name="alpha_3d_npot" />
-<Test name="luminance_cube_npot" />
-<Test name="rgba_unsigned_short_4_4_4_4_cube_npot" />
-<Test name="rgba_unsigned_byte_2d_array_npot" />
-<Test name="luminance_3d_npot" />
-<Test name="rgba_unsigned_short_5_5_5_1_cube_npot" />
-<Test name="rgba_unsigned_short_4_4_4_4_2d_array_npot" />
-<Test name="rgba_unsigned_byte_cube_npot" />
-<Test name="rgba_unsigned_short_4_4_4_4_3d_npot" />
-<Test name="rgb_unsigned_byte_2d_array_npot" />
-<Test name="rgb_unsigned_short_5_6_5_3d_pot" />
-<Test name="rgb_unsigned_byte_cube_pot" />
-<Test name="rgb_unsigned_short_5_6_5_cube_pot" />
-<Test name="alpha_cube_pot" />
-<Test name="rgba_unsigned_short_4_4_4_4_2d_npot" />
-<Test name="luminance_2d_npot" />
-<Test name="luminance_alpha_3d_npot" />
-<Test name="rgba_unsigned_byte_2d_npot" />
-<Test name="rgb_unsigned_byte_3d_npot" />
-<Test name="rgba_unsigned_short_5_5_5_1_2d_pot" />
-<Test name="rgb_unsigned_byte_2d_pot" />
-<Test name="luminance_3d_pot" />
-<Test name="luminance_alpha_3d_pot" />
-<Test name="alpha_2d_array_npot" />
-<Test name="rgba_unsigned_short_5_5_5_1_3d_npot" />
-<Test name="rgba_unsigned_short_5_5_5_1_3d_pot" />
-<Test name="rgba_unsigned_short_4_4_4_4_cube_pot" />
-<Test name="rgba_unsigned_short_4_4_4_4_2d_array_pot" />
-<Test name="rgba_unsigned_short_5_5_5_1_2d_npot" />
-<Test name="rgba_unsigned_short_4_4_4_4_3d_pot" />
-<Test name="luminance_alpha_2d_pot" />
-<Test name="rgb_unsigned_short_5_6_5_3d_npot" />
-<Test name="rgb_unsigned_byte_2d_array_pot" />
-<Test name="rgb_unsigned_short_5_6_5_cube_npot" />
-</TestCase>
-<TestCase name="compressed">
-<Test name="eac_rg11_2d_npot" />
-<Test name="eac_signed_rg11_2d_npot" />
-<Test name="etc2_srgb8_punchthrough_alpha1_2d_npot" />
-<Test name="etc1_2d_pot" />
-<Test name="etc2_rgb8_cube_npot" />
-<Test name="eac_signed_rg11_cube_pot" />
-<Test name="etc2_eac_rgba8_cube_pot" />
-<Test name="etc2_rgb8_punchthrough_alpha1_cube_pot" />
-<Test name="eac_r11_cube_pot" />
-<Test name="eac_rg11_cube_npot" />
-<Test name="etc1_2d_npot" />
-<Test name="eac_r11_2d_pot" />
-<Test name="etc2_eac_rgba8_2d_npot" />
-<Test name="etc2_srgb8_2d_pot" />
-<Test name="eac_signed_r11_2d_pot" />
-<Test name="etc2_rgb8_2d_npot" />
-<Test name="etc2_rgb8_punchthrough_alpha1_2d_pot" />
-<Test name="etc2_rgb8_cube_pot" />
-<Test name="etc2_eac_srgb8_alpha8_cube_npot" />
-<Test name="eac_signed_r11_cube_pot" />
-<Test name="etc2_srgb8_cube_pot" />
-<Test name="eac_rg11_2d_pot" />
-<Test name="etc2_rgb8_2d_pot" />
-<Test name="etc2_eac_rgba8_cube_npot" />
-<Test name="etc2_srgb8_cube_npot" />
-<Test name="etc1_cube_pot" />
-<Test name="eac_signed_rg11_cube_npot" />
-<Test name="eac_r11_2d_npot" />
-<Test name="eac_signed_r11_cube_npot" />
-<Test name="etc2_eac_srgb8_alpha8_2d_npot" />
-<Test name="etc2_eac_rgba8_2d_pot" />
-<Test name="eac_signed_r11_2d_npot" />
-<Test name="etc2_srgb8_punchthrough_alpha1_cube_npot" />
-<Test name="etc2_srgb8_2d_npot" />
-<Test name="etc2_eac_srgb8_alpha8_2d_pot" />
-<Test name="etc1_cube_npot" />
-<Test name="etc2_srgb8_punchthrough_alpha1_2d_pot" />
-<Test name="etc2_rgb8_punchthrough_alpha1_2d_npot" />
-<Test name="eac_rg11_cube_pot" />
-<Test name="etc2_eac_srgb8_alpha8_cube_pot" />
-<Test name="etc2_rgb8_punchthrough_alpha1_cube_npot" />
-<Test name="eac_r11_cube_npot" />
-<Test name="eac_signed_rg11_2d_pot" />
-<Test name="etc2_srgb8_punchthrough_alpha1_cube_pot" />
-</TestCase>
-</TestSuite>
-<TestSuite name="specification">
-<TestCase name="texsubimage2d_align">
-<Test name="2d_rgba8_47_8" />
-<Test name="cube_rgba4_51_8" />
-<Test name="cube_rgba4_51_4" />
-<Test name="cube_rgba4_51_2" />
-<Test name="cube_rgba4_51_1" />
-<Test name="cube_r8_1_4" />
-<Test name="cube_rgb8_39_4" />
-<Test name="cube_r8_1_2" />
-<Test name="cube_rgb8_39_2" />
-<Test name="cube_rgb8_39_1" />
-<Test name="cube_r8_1_1" />
-<Test name="2d_r8_63_8" />
-<Test name="2d_r8_1_4" />
-<Test name="cube_r8_1_8" />
-<Test name="cube_rgb8_39_8" />
-<Test name="2d_rgb8_39_1" />
-<Test name="2d_rgb8_39_2" />
-<Test name="2d_rgb8_39_4" />
-<Test name="2d_rgb8_39_8" />
-<Test name="cube_rgba8_47_4" />
-<Test name="cube_rgba8_47_2" />
-<Test name="cube_rgba8_47_1" />
-<Test name="2d_r8_63_4" />
-<Test name="2d_r8_63_1" />
-<Test name="2d_r8_63_2" />
-<Test name="2d_r8_1_8" />
-<Test name="cube_rgba8_47_8" />
-<Test name="2d_rgba8_47_2" />
-<Test name="2d_rgba4_51_8" />
-<Test name="cube_r8_63_8" />
-<Test name="2d_rgba8_47_4" />
-<Test name="2d_rgba4_51_2" />
-<Test name="2d_r8_1_2" />
-<Test name="2d_r8_1_1" />
-<Test name="2d_rgba4_51_1" />
-<Test name="2d_rgba8_47_1" />
-<Test name="2d_rgba4_51_4" />
-<Test name="cube_r8_63_4" />
-<Test name="cube_r8_63_2" />
-<Test name="cube_r8_63_1" />
-</TestCase>
-<TestCase name="teximage2d_unpack_params">
-<Test name="r8_complex4" />
-<Test name="rgb8_skip_rows" />
-<Test name="rgba32f_complex" />
-<Test name="rgb8_skip_pixels" />
-<Test name="r8_complex1" />
-<Test name="rgba8_complex3" />
-<Test name="rgba8_complex2" />
-<Test name="rgba8_complex1" />
-<Test name="rgb8_alignment" />
-<Test name="r8_complex2" />
-<Test name="r8_complex3" />
-<Test name="rgb8_row_length" />
-<Test name="rgba8_complex4" />
-</TestCase>
-<TestCase name="texsubimage2d_pbo">
-<Test name="rg16f_2d" />
-<Test name="r16i_2d" />
-<Test name="rgba16ui_2d" />
-<Test name="rgb32ui_2d" />
-<Test name="rgba32i_cube" />
-<Test name="rgb16i_cube" />
-<Test name="srgb8_alpha8_cube" />
-<Test name="r16f_2d" />
-<Test name="rg16ui_2d" />
-<Test name="rgb32f_cube" />
-<Test name="r32i_2d" />
-<Test name="rgb8i_cube" />
-<Test name="rgba32ui_cube" />
-<Test name="rgb5_a1_2d" />
-<Test name="rgba8ui_cube" />
-<Test name="rgba32ui_2d" />
-<Test name="rgb5_a1_cube" />
-<Test name="rgb9_e5_2d" />
-<Test name="rg8ui_cube" />
-<Test name="rg32f_2d" />
-<Test name="rgb10_a2_2d" />
-<Test name="rg16ui_cube" />
-<Test name="rgb32ui_cube" />
-<Test name="srgb8_cube" />
-<Test name="rgba8i_2d" />
-<Test name="rgba16ui_cube" />
-<Test name="rgb565_2d" />
-<Test name="r8_snorm_2d" />
-<Test name="rgba32f_2d" />
-<Test name="r11f_g11f_b10f_cube" />
-<Test name="rg32i_2d" />
-<Test name="rgba32i_2d" />
-<Test name="rgb8ui_2d" />
-<Test name="rgba8ui_2d" />
-<Test name="rgba8_2d" />
-<Test name="rgba16i_2d" />
-<Test name="r32f_2d" />
-<Test name="rgba16i_cube" />
-<Test name="rgba4_2d" />
-<Test name="rgba8_cube" />
-<Test name="rgb16ui_2d" />
-<Test name="rg32f_cube" />
-<Test name="rgb10_a2_cube" />
-<Test name="rgb16i_2d" />
-<Test name="rgb8_snorm_2d" />
-<Test name="rgb16ui_cube" />
-<Test name="rgba8_snorm_cube" />
-<Test name="r32i_cube" />
-<Test name="r8_cube" />
-<Test name="rg32ui_cube" />
-<Test name="rgb16f_cube" />
-<Test name="rgba8i_cube" />
-<Test name="rgb8_skip_rows_cube" />
-<Test name="rgb10_a2ui_2d" />
-<Test name="rgb8_row_length_cube" />
-<Test name="rg8ui_2d" />
-<Test name="rgba4_cube" />
-<Test name="r32ui_2d" />
-<Test name="rgb8_cube" />
-<Test name="r8_snorm_cube" />
-<Test name="r8i_2d" />
-<Test name="r16f_cube" />
-<Test name="srgb8_2d" />
-<Test name="rgb8_2d" />
-<Test name="rg8_cube" />
-<Test name="r16ui_cube" />
-<Test name="srgb8_alpha8_2d" />
-<Test name="r8i_cube" />
-<Test name="r8ui_2d" />
-<Test name="rgb8_skip_rows_2d" />
-<Test name="rgb8_snorm_cube" />
-<Test name="rgb8_alignment_2d" />
-<Test name="rg16i_2d" />
-<Test name="rg8_snorm_2d" />
-<Test name="rgb8_skip_pixels_2d" />
-<Test name="rgba16f_cube" />
-<Test name="r16i_cube" />
-<Test name="rg16f_cube" />
-<Test name="rgb32i_cube" />
-<Test name="rgb8_row_length_2d" />
-<Test name="rg8i_2d" />
-<Test name="rg32ui_2d" />
-<Test name="rgb16f_2d" />
-<Test name="r8ui_cube" />
-<Test name="rgb10_a2ui_cube" />
-<Test name="rg8_2d" />
-<Test name="r8_2d" />
-<Test name="r32f_cube" />
-<Test name="rgba8_snorm_2d" />
-<Test name="rgb8_alignment_cube" />
-<Test name="rg8i_cube" />
-<Test name="rgb8_skip_pixels_cube" />
-<Test name="rgb565_cube" />
-<Test name="rg8_snorm_cube" />
-<Test name="rg16i_cube" />
-<Test name="r11f_g11f_b10f_2d" />
-<Test name="rgb8ui_cube" />
-<Test name="rgb32f_2d" />
-<Test name="rgb8_offset_2d" />
-<Test name="rgba16f_2d" />
-<Test name="rgb9_e5_cube" />
-<Test name="rgb8_offset_cube" />
-<Test name="rg32i_cube" />
-<Test name="r16ui_2d" />
-<Test name="rgba32f_cube" />
-<Test name="rgb32i_2d" />
-<Test name="rgb8i_2d" />
-<Test name="r32ui_cube" />
-</TestCase>
-<TestCase name="teximage2d_pbo">
-<Test name="rg16f_2d" />
-<Test name="r16i_2d" />
-<Test name="rgba16ui_2d" />
-<Test name="rgb32ui_2d" />
-<Test name="rgba32i_cube" />
-<Test name="rgb16i_cube" />
-<Test name="srgb8_alpha8_cube" />
-<Test name="r16f_2d" />
-<Test name="rg16ui_2d" />
-<Test name="rgb32f_cube" />
-<Test name="r32i_2d" />
-<Test name="rgb8i_cube" />
-<Test name="rgba32ui_cube" />
-<Test name="rgb5_a1_2d" />
-<Test name="rgba8ui_cube" />
-<Test name="rgba32ui_2d" />
-<Test name="rgb5_a1_cube" />
-<Test name="rgb9_e5_2d" />
-<Test name="rg8ui_cube" />
-<Test name="rg32f_2d" />
-<Test name="rgb10_a2_2d" />
-<Test name="rg16ui_cube" />
-<Test name="rgb32ui_cube" />
-<Test name="srgb8_cube" />
-<Test name="rgba8i_2d" />
-<Test name="rgba16ui_cube" />
-<Test name="rgb565_2d" />
-<Test name="r8_snorm_2d" />
-<Test name="rgba32f_2d" />
-<Test name="r11f_g11f_b10f_cube" />
-<Test name="rg32i_2d" />
-<Test name="rgba32i_2d" />
-<Test name="rgb8ui_2d" />
-<Test name="rgba8ui_2d" />
-<Test name="rgba8_2d" />
-<Test name="rgba16i_2d" />
-<Test name="r32f_2d" />
-<Test name="rgba16i_cube" />
-<Test name="rgba4_2d" />
-<Test name="rgba8_cube" />
-<Test name="rgb16ui_2d" />
-<Test name="rg32f_cube" />
-<Test name="rgb10_a2_cube" />
-<Test name="rgb16i_2d" />
-<Test name="rgb8_snorm_2d" />
-<Test name="rgb16ui_cube" />
-<Test name="rgba8_snorm_cube" />
-<Test name="r32i_cube" />
-<Test name="r8_cube" />
-<Test name="rg32ui_cube" />
-<Test name="rgb16f_cube" />
-<Test name="rgba8i_cube" />
-<Test name="rgb8_skip_rows_cube" />
-<Test name="rgb10_a2ui_2d" />
-<Test name="rgb8_row_length_cube" />
-<Test name="rg8ui_2d" />
-<Test name="rgba4_cube" />
-<Test name="r32ui_2d" />
-<Test name="rgb8_cube" />
-<Test name="r8_snorm_cube" />
-<Test name="r8i_2d" />
-<Test name="r16f_cube" />
-<Test name="srgb8_2d" />
-<Test name="rgb8_2d" />
-<Test name="rg8_cube" />
-<Test name="r16ui_cube" />
-<Test name="srgb8_alpha8_2d" />
-<Test name="r8i_cube" />
-<Test name="r8ui_2d" />
-<Test name="rgb8_skip_rows_2d" />
-<Test name="rgb8_snorm_cube" />
-<Test name="rgb8_alignment_2d" />
-<Test name="rg16i_2d" />
-<Test name="rg8_snorm_2d" />
-<Test name="rgb8_skip_pixels_2d" />
-<Test name="rgba16f_cube" />
-<Test name="r16i_cube" />
-<Test name="rg16f_cube" />
-<Test name="rgb32i_cube" />
-<Test name="rgb8_row_length_2d" />
-<Test name="rg8i_2d" />
-<Test name="rg32ui_2d" />
-<Test name="rgb16f_2d" />
-<Test name="r8ui_cube" />
-<Test name="rgb10_a2ui_cube" />
-<Test name="rg8_2d" />
-<Test name="r8_2d" />
-<Test name="r32f_cube" />
-<Test name="rgba8_snorm_2d" />
-<Test name="rgb8_alignment_cube" />
-<Test name="rg8i_cube" />
-<Test name="rgb8_skip_pixels_cube" />
-<Test name="rgb565_cube" />
-<Test name="rg8_snorm_cube" />
-<Test name="rg16i_cube" />
-<Test name="r11f_g11f_b10f_2d" />
-<Test name="rgb8ui_cube" />
-<Test name="rgb32f_2d" />
-<Test name="rgb8_offset_2d" />
-<Test name="rgba16f_2d" />
-<Test name="rgb9_e5_cube" />
-<Test name="rgb8_offset_cube" />
-<Test name="rg32i_cube" />
-<Test name="r16ui_2d" />
-<Test name="rgba32f_cube" />
-<Test name="rgb32i_2d" />
-<Test name="rgb8i_2d" />
-<Test name="r32ui_cube" />
-</TestCase>
-<TestCase name="texsubimage2d_unpack_params">
-<Test name="r8_complex4" />
-<Test name="rgb8_skip_rows" />
-<Test name="rgba32f_complex" />
-<Test name="rgb8_skip_pixels" />
-<Test name="r8_complex1" />
-<Test name="rgba8_complex3" />
-<Test name="rgba8_complex2" />
-<Test name="rgba8_complex1" />
-<Test name="rgb8_alignment" />
-<Test name="r8_complex2" />
-<Test name="r8_complex3" />
-<Test name="rgb8_row_length" />
-<Test name="rgba8_complex4" />
-</TestCase>
-<TestCase name="texsubimage2d_empty_tex">
-<Test name="rgba_unsigned_short_4_4_4_4_cube" />
-<Test name="luminance_unsigned_byte_2d" />
-<Test name="rgba_unsigned_short_4_4_4_4_2d" />
-<Test name="rgb_unsigned_short_5_6_5_2d" />
-<Test name="luminance_alpha_unsigned_byte_cube" />
-<Test name="alpha_unsigned_byte_cube" />
-<Test name="rgb_unsigned_byte_2d" />
-<Test name="rgb_unsigned_byte_cube" />
-<Test name="luminance_alpha_unsigned_byte_2d" />
-<Test name="alpha_unsigned_byte_2d" />
-<Test name="rgba_unsigned_short_5_5_5_1_2d" />
-<Test name="rgba_unsigned_short_5_5_5_1_cube" />
-<Test name="rgb_unsigned_short_5_6_5_cube" />
-<Test name="rgba_unsigned_byte_2d" />
-<Test name="rgba_unsigned_byte_cube" />
-<Test name="luminance_unsigned_byte_cube" />
-</TestCase>
-<TestCase name="texsubimage2d_depth">
-<Test name="depth_component24" />
-<Test name="depth_component32f" />
-<Test name="depth_component16" />
-<Test name="depth32f_stencil8" />
-<Test name="depth24_stencil8" />
-</TestCase>
-<TestCase name="basic_texsubimage2d">
-<Test name="rg16f_2d" />
-<Test name="r16i_2d" />
-<Test name="rgba16ui_2d" />
-<Test name="rgb32ui_2d" />
-<Test name="rgba32i_cube" />
-<Test name="rgb16i_cube" />
-<Test name="srgb8_alpha8_cube" />
-<Test name="r16f_2d" />
-<Test name="rg16ui_2d" />
-<Test name="rgb32f_cube" />
-<Test name="rgb8i_cube" />
-<Test name="rgba32ui_cube" />
-<Test name="rgb5_a1_2d" />
-<Test name="rgba8ui_cube" />
-<Test name="rgba32ui_2d" />
-<Test name="rgb5_a1_cube" />
-<Test name="rgb9_e5_2d" />
-<Test name="rg8ui_cube" />
-<Test name="rg32f_2d" />
-<Test name="rgb10_a2_2d" />
-<Test name="rg16ui_cube" />
-<Test name="rg16f_cube" />
-<Test name="srgb8_cube" />
-<Test name="rgba8i_2d" />
-<Test name="rgba16ui_cube" />
-<Test name="rgb565_2d" />
-<Test name="r8_snorm_2d" />
-<Test name="rgba32f_2d" />
-<Test name="r11f_g11f_b10f_cube" />
-<Test name="rg32i_2d" />
-<Test name="rgba32i_2d" />
-<Test name="rgb8ui_2d" />
-<Test name="rgba8ui_2d" />
-<Test name="rgba8_2d" />
-<Test name="rg8_snorm_cube" />
-<Test name="r32f_2d" />
-<Test name="rgba16i_cube" />
-<Test name="rgba4_2d" />
-<Test name="rgba8_cube" />
-<Test name="rgb16ui_2d" />
-<Test name="rg32f_cube" />
-<Test name="rgb10_a2_cube" />
-<Test name="rgb16i_2d" />
-<Test name="rgb8_snorm_2d" />
-<Test name="rgb16ui_cube" />
-<Test name="rgba8_snorm_cube" />
-<Test name="r32i_cube" />
-<Test name="r8_cube" />
-<Test name="rg32ui_cube" />
-<Test name="rgb16f_cube" />
-<Test name="rgba8i_cube" />
-<Test name="rgb10_a2ui_2d" />
-<Test name="rg8ui_2d" />
-<Test name="rgba4_cube" />
-<Test name="r32ui_2d" />
-<Test name="rgb8_cube" />
-<Test name="r8_snorm_cube" />
-<Test name="r8i_2d" />
-<Test name="r16f_cube" />
-<Test name="srgb8_2d" />
-<Test name="rgb8_2d" />
-<Test name="rg8_cube" />
-<Test name="r16ui_cube" />
-<Test name="srgb8_alpha8_2d" />
-<Test name="r8i_cube" />
-<Test name="r8ui_2d" />
-<Test name="rgb8_snorm_cube" />
-<Test name="r8_2d" />
-<Test name="rg8_snorm_2d" />
-<Test name="rgba16f_cube" />
-<Test name="r16i_cube" />
-<Test name="rgb32ui_cube" />
-<Test name="rgb32i_cube" />
-<Test name="rg8i_2d" />
-<Test name="rg32ui_2d" />
-<Test name="rgb16f_2d" />
-<Test name="r8ui_cube" />
-<Test name="rgb10_a2ui_cube" />
-<Test name="rg8_2d" />
-<Test name="rg16i_2d" />
-<Test name="r32f_cube" />
-<Test name="rgba8_snorm_2d" />
-<Test name="r32i_2d" />
-<Test name="rg8i_cube" />
-<Test name="rgb565_cube" />
-<Test name="rgba16i_2d" />
-<Test name="rg16i_cube" />
-<Test name="r11f_g11f_b10f_2d" />
-<Test name="rgb8ui_cube" />
-<Test name="rgb32f_2d" />
-<Test name="rgba16f_2d" />
-<Test name="rgb9_e5_cube" />
-<Test name="rg32i_cube" />
-<Test name="r16ui_2d" />
-<Test name="rgba32f_cube" />
-<Test name="rgb32i_2d" />
-<Test name="rgb8i_2d" />
-<Test name="r32ui_cube" />
-</TestCase>
-<TestSuite name="texstorage3d">
-<TestCase name="format">
-<Test name="rgb565_3d" />
-<Test name="rg16f_3d" />
-<Test name="rgb32ui_3d" />
-<Test name="rgb9_e5_3d" />
-<Test name="r16f_3d" />
-<Test name="rgba16ui_3d" />
-<Test name="rg16ui_3d" />
-<Test name="rgb10_a2ui_3d" />
-<Test name="r32ui_2d_array" />
-<Test name="rgba4_3d" />
-<Test name="rgba32i_3d" />
-<Test name="rgba4_2d_array" />
-<Test name="rgb5_a1_3d" />
-<Test name="r11f_g11f_b10f_2d_array" />
-</TestCase>
-<TestCase name="size">
-<Test name="2d_array_57x63x5_2_levels" />
-<Test name="2d_array_64x32x3_7_levels" />
-<Test name="2d_array_2x2x2_2_levels" />
-<Test name="3d_2x2x2_2_levels" />
-<Test name="2d_array_1x1x1_1_levels" />
-<Test name="3d_64x32x16_7_levels" />
-<Test name="2d_array_57x63x5_1_levels" />
-<Test name="2d_array_32x64x3_4_levels" />
-<Test name="3d_1x1x1_1_levels" />
-<Test name="3d_57x63x11_1_levels" />
-<Test name="3d_57x63x11_2_levels" />
-<Test name="3d_32x64x16_4_levels" />
-<Test name="3d_32x16x64_4_levels" />
-</TestCase>
-</TestSuite>
-<TestCase name="basic_teximage3d">
-<Test name="rgb5_a1_2d_array" />
-<Test name="rgb10_a2ui_2d_array" />
-<Test name="r16f_2d_array" />
-<Test name="rgb9_e5_2d_array" />
-<Test name="r8ui_2d_array" />
-<Test name="rgb8_2d_array" />
-<Test name="rgba8_snorm_2d_array" />
-<Test name="rg8_snorm_2d_array" />
-<Test name="rgba16i_2d_array" />
-<Test name="r32i_2d_array" />
-<Test name="rgb565_3d" />
-<Test name="rgba8ui_2d_array" />
-<Test name="rgb32ui_2d_array" />
-<Test name="srgb8_alpha8_2d_array" />
-<Test name="r32ui_2d_array" />
-<Test name="r11f_g11f_b10f_2d_array" />
-<Test name="rgba8_2d_array" />
-<Test name="r32f_2d_array" />
-<Test name="srgb8_2d_array" />
-<Test name="rgba16ui_2d_array" />
-<Test name="r8i_2d_array" />
-<Test name="rgba32i_2d_array" />
-<Test name="rg32ui_2d_array" />
-<Test name="r16i_2d_array" />
-<Test name="rgb16ui_2d_array" />
-<Test name="rgb10_a2_2d_array" />
-<Test name="rgb565_2d_array" />
-<Test name="rgba32f_2d_array" />
-<Test name="rgb8_snorm_2d_array" />
-<Test name="rg8ui_2d_array" />
-<Test name="rgb8ui_2d_array" />
-<Test name="r8_snorm_2d_array" />
-<Test name="rgba16f_2d_array" />
-<Test name="rgb32f_2d_array" />
-<Test name="rg32f_2d_array" />
-<Test name="rg16ui_2d_array" />
-<Test name="rgba4_2d_array" />
-<Test name="rg32i_2d_array" />
-<Test name="rgb32i_2d_array" />
-<Test name="rgba4_3d" />
-<Test name="rgb16f_2d_array" />
-<Test name="r16ui_2d_array" />
-<Test name="rg16f_2d_array" />
-<Test name="r8_2d_array" />
-<Test name="rgb16i_2d_array" />
-<Test name="rg8_2d_array" />
-<Test name="rgb8i_2d_array" />
-<Test name="rgba32ui_2d_array" />
-<Test name="rgba8i_2d_array" />
-<Test name="rg16i_2d_array" />
-<Test name="rg8i_2d_array" />
-</TestCase>
-<TestCase name="teximage2d_align">
-<Test name="2d_rgba4_51_1" />
-<Test name="cube_rgba4_51_8" />
-<Test name="cube_rgba4_51_4" />
-<Test name="cube_rgba4_51_2" />
-<Test name="cube_rgba4_51_1" />
-<Test name="cube_rgb8_39_4" />
-<Test name="cube_rgb8_39_2" />
-<Test name="cube_rgb8_39_1" />
-<Test name="2d_r8_63_8" />
-<Test name="cube_rgb8_39_8" />
-<Test name="2d_rgb8_39_1" />
-<Test name="2d_rgb8_39_2" />
-<Test name="2d_rgb8_39_4" />
-<Test name="2d_rgb8_39_8" />
-<Test name="cube_r8_4_8" />
-<Test name="cube_rgba8_47_4" />
-<Test name="cube_rgba8_47_2" />
-<Test name="2d_r8_4_8" />
-<Test name="cube_rgba8_47_1" />
-<Test name="2d_r8_63_4" />
-<Test name="2d_r8_63_1" />
-<Test name="2d_r8_63_2" />
-<Test name="cube_rgba8_47_8" />
-<Test name="2d_rgba8_47_2" />
-<Test name="2d_rgba4_51_8" />
-<Test name="cube_r8_63_8" />
-<Test name="2d_rgba8_47_4" />
-<Test name="2d_rgba4_51_2" />
-<Test name="cube_r8_63_2" />
-<Test name="cube_r8_63_1" />
-<Test name="2d_rgba8_47_8" />
-<Test name="2d_rgba8_47_1" />
-<Test name="2d_rgba4_51_4" />
-<Test name="cube_r8_63_4" />
-</TestCase>
-<TestCase name="basic_copytexsubimage2d">
-<Test name="cube_rgb" />
-<Test name="2d_rgba" />
-<Test name="2d_luminance_alpha" />
-<Test name="2d_luminance" />
-<Test name="cube_alpha" />
-<Test name="cube_rgba" />
-<Test name="2d_rgb" />
-<Test name="cube_luminance_alpha" />
-<Test name="2d_alpha" />
-<Test name="cube_luminance" />
-</TestCase>
-<TestCase name="random_teximage2d">
-<Test name="cube_8" />
-<Test name="cube_9" />
-<Test name="2d_4" />
-<Test name="2d_9" />
-<Test name="2d_8" />
-<Test name="2d_7" />
-<Test name="2d_6" />
-<Test name="2d_5" />
-<Test name="cube_3" />
-<Test name="2d_3" />
-<Test name="2d_2" />
-<Test name="2d_1" />
-<Test name="2d_0" />
-<Test name="cube_0" />
-<Test name="cube_5" />
-<Test name="cube_6" />
-<Test name="cube_1" />
-<Test name="cube_2" />
-<Test name="cube_4" />
-<Test name="cube_7" />
-</TestCase>
-<TestCase name="teximage3d_pbo">
-<Test name="rgba32ui_3d" />
-<Test name="rg16i_3d" />
-<Test name="rgb9_e5_3d" />
-<Test name="rgb10_a2ui_2d_array" />
-<Test name="r16f_2d_array" />
-<Test name="rgb8_2d_array" />
-<Test name="rgba16ui_3d" />
-<Test name="rgba16i_2d_array" />
-<Test name="rgba8i_3d" />
-<Test name="rgb565_3d" />
-<Test name="rgba32f_3d" />
-<Test name="rgb8_image_height_3d" />
-<Test name="rg32i_3d" />
-<Test name="rgb8ui_3d" />
-<Test name="rgb10_a2ui_3d" />
-<Test name="rgba16ui_2d_array" />
-<Test name="rg16f_3d" />
-<Test name="r32ui_3d" />
-<Test name="rgb32ui_3d" />
-<Test name="r16i_3d" />
-<Test name="rgba32f_2d_array" />
-<Test name="rg16ui_2d_array" />
-<Test name="rg8_3d" />
-<Test name="rg32i_2d_array" />
-<Test name="rgb8_skip_images_2d_array" />
-<Test name="rgb8_offset_2d_array" />
-<Test name="r16ui_2d_array" />
-<Test name="rg16f_2d_array" />
-<Test name="r8_2d_array" />
-<Test name="rgb16i_2d_array" />
-<Test name="rg16ui_3d" />
-<Test name="rg8_snorm_3d" />
-<Test name="rg8_2d_array" />
-<Test name="rgb16i_3d" />
-<Test name="r8_3d" />
-<Test name="rgb5_a1_2d_array" />
-<Test name="rgb16f_3d" />
-<Test name="rgb8_snorm_3d" />
-<Test name="rgb8_skip_images_3d" />
-<Test name="r11f_g11f_b10f_2d_array" />
-<Test name="rg8i_3d" />
-<Test name="rg8ui_3d" />
-<Test name="rgb8_skip_rows_2d_array" />
-<Test name="r8i_2d_array" />
-<Test name="rg32ui_2d_array" />
-<Test name="rgba8_3d" />
-<Test name="rgb16ui_2d_array" />
-<Test name="rgb8_skip_rows_3d" />
-<Test name="rgb8_snorm_2d_array" />
-<Test name="rgb8_image_height_2d_array" />
-<Test name="rgb8ui_2d_array" />
-<Test name="r8_snorm_2d_array" />
-<Test name="rgba16f_2d_array" />
-<Test name="rgba4_2d_array" />
-<Test name="rgba4_3d" />
-<Test name="rg16i_2d_array" />
-<Test name="r16f_3d" />
-<Test name="r16ui_3d" />
-<Test name="rgb16ui_3d" />
-<Test name="rgba32ui_2d_array" />
-<Test name="rgba8i_2d_array" />
-<Test name="rgb5_a1_3d" />
-<Test name="rg8i_2d_array" />
-<Test name="rgb8_skip_pixels_2d_array" />
-<Test name="rgba16i_3d" />
-<Test name="rgb8_skip_pixels_3d" />
-<Test name="r11f_g11f_b10f_3d" />
-<Test name="rgb8_alignment_3d" />
-<Test name="r8ui_2d_array" />
-<Test name="srgb8_alpha8_2d_array" />
-<Test name="rgba8_snorm_2d_array" />
-<Test name="rgb32f_3d" />
-<Test name="r32i_2d_array" />
-<Test name="r32ui_2d_array" />
-<Test name="srgb8_2d_array" />
-<Test name="rgb8_row_length_3d" />
-<Test name="rgb8i_3d" />
-<Test name="rgb8_row_length_2d_array" />
-<Test name="r16i_2d_array" />
-<Test name="rg8_snorm_2d_array" />
-<Test name="rg8ui_2d_array" />
-<Test name="rgba8ui_2d_array" />
-<Test name="rgb32f_2d_array" />
-<Test name="rgb32ui_2d_array" />
-<Test name="srgb8_3d" />
-<Test name="r32i_3d" />
-<Test name="r32f_3d" />
-<Test name="rgb9_e5_2d_array" />
-<Test name="r8ui_3d" />
-<Test name="rgb8i_2d_array" />
-<Test name="rgb10_a2_3d" />
-<Test name="r32f_2d_array" />
-<Test name="rgb8_offset_3d" />
-<Test name="rg32f_3d" />
-<Test name="rgba8ui_3d" />
-<Test name="rgba16f_3d" />
-<Test name="r8_snorm_3d" />
-<Test name="rgba8_2d_array" />
-<Test name="rgb32i_3d" />
-<Test name="rgba32i_3d" />
-<Test name="rgba32i_2d_array" />
-<Test name="rg32ui_3d" />
-<Test name="rgb10_a2_2d_array" />
-<Test name="rgb565_2d_array" />
-<Test name="r8i_3d" />
-<Test name="rg32f_2d_array" />
-<Test name="rgb8_3d" />
-<Test name="rgb32i_2d_array" />
-<Test name="rgb16f_2d_array" />
-<Test name="srgb8_alpha8_3d" />
-<Test name="rgba8_snorm_3d" />
-<Test name="rgb8_alignment_2d_array" />
-</TestCase>
-<TestCase name="texsubimage3d_depth">
-<Test name="depth24_stencil8_2d_array" />
-<Test name="depth_component24_2d_array" />
-<Test name="depth_component32f_2d_array" />
-<Test name="depth32f_stencil8_2d_array" />
-<Test name="depth_component16_2d_array" />
-</TestCase>
-<TestCase name="teximage3d_unpack_params">
-<Test name="rgb8_skip_rows" />
-<Test name="rgba32f_complex" />
-<Test name="rgb8_skip_images" />
-<Test name="rgb8_skip_pixels" />
-<Test name="rgb8_image_height" />
-<Test name="r8_complex1" />
-<Test name="rgba8_complex3" />
-<Test name="rgba8_complex2" />
-<Test name="rgba8_complex1" />
-<Test name="r8_complex4" />
-<Test name="r8_complex2" />
-<Test name="r8_complex3" />
-<Test name="rgb8_row_length" />
-<Test name="rgba8_complex4" />
-</TestCase>
-<TestCase name="texsubimage3d_pbo">
-<Test name="rgba32ui_3d" />
-<Test name="rg16i_3d" />
-<Test name="rgb9_e5_3d" />
-<Test name="rgb10_a2ui_2d_array" />
-<Test name="r16f_2d_array" />
-<Test name="rgb8_2d_array" />
-<Test name="rgba16ui_3d" />
-<Test name="rgba16i_2d_array" />
-<Test name="rgba8i_3d" />
-<Test name="rgb565_3d" />
-<Test name="rgba32f_3d" />
-<Test name="rgb8_image_height_3d" />
-<Test name="rg32i_3d" />
-<Test name="rgb8ui_3d" />
-<Test name="rgb10_a2ui_3d" />
-<Test name="rgba16ui_2d_array" />
-<Test name="rg16f_3d" />
-<Test name="r32ui_3d" />
-<Test name="rgb32ui_3d" />
-<Test name="r16i_3d" />
-<Test name="rgba32f_2d_array" />
-<Test name="rg16ui_2d_array" />
-<Test name="rg8_3d" />
-<Test name="rg32i_2d_array" />
-<Test name="rgb8_skip_images_2d_array" />
-<Test name="rgb8_offset_2d_array" />
-<Test name="r16ui_2d_array" />
-<Test name="rg16f_2d_array" />
-<Test name="r8_2d_array" />
-<Test name="rgb16i_2d_array" />
-<Test name="rg16ui_3d" />
-<Test name="rg8_snorm_3d" />
-<Test name="rg8_2d_array" />
-<Test name="rgb16i_3d" />
-<Test name="r8_3d" />
-<Test name="rgb5_a1_2d_array" />
-<Test name="rgb16f_3d" />
-<Test name="rgb8_snorm_3d" />
-<Test name="rgb8_skip_images_3d" />
-<Test name="r11f_g11f_b10f_2d_array" />
-<Test name="rg8i_3d" />
-<Test name="rg8ui_3d" />
-<Test name="rgb8_skip_rows_2d_array" />
-<Test name="r8i_2d_array" />
-<Test name="rg32ui_2d_array" />
-<Test name="rgba8_3d" />
-<Test name="rgb16ui_2d_array" />
-<Test name="rgb8_skip_rows_3d" />
-<Test name="rgb8_snorm_2d_array" />
-<Test name="rgb8_image_height_2d_array" />
-<Test name="rgb8ui_2d_array" />
-<Test name="r8_snorm_2d_array" />
-<Test name="rgba16f_2d_array" />
-<Test name="rgba4_2d_array" />
-<Test name="rgba4_3d" />
-<Test name="rg16i_2d_array" />
-<Test name="r16f_3d" />
-<Test name="r16ui_3d" />
-<Test name="rgb16ui_3d" />
-<Test name="rgba32ui_2d_array" />
-<Test name="rgba8i_2d_array" />
-<Test name="rgb5_a1_3d" />
-<Test name="rg8i_2d_array" />
-<Test name="rgb8_skip_pixels_2d_array" />
-<Test name="rgba16i_3d" />
-<Test name="rgb8_skip_pixels_3d" />
-<Test name="r11f_g11f_b10f_3d" />
-<Test name="r8ui_2d_array" />
-<Test name="srgb8_alpha8_2d_array" />
-<Test name="rgba8_snorm_2d_array" />
-<Test name="rgb32f_3d" />
-<Test name="r32i_2d_array" />
-<Test name="r32ui_2d_array" />
-<Test name="srgb8_2d_array" />
-<Test name="rgb8_row_length_3d" />
-<Test name="rgb8i_3d" />
-<Test name="rgb8_row_length_2d_array" />
-<Test name="r16i_2d_array" />
-<Test name="rg8_snorm_2d_array" />
-<Test name="rg8ui_2d_array" />
-<Test name="rgba8ui_2d_array" />
-<Test name="rgb32f_2d_array" />
-<Test name="rgb32ui_2d_array" />
-<Test name="srgb8_3d" />
-<Test name="r32f_3d" />
-<Test name="rgb9_e5_2d_array" />
-<Test name="r8ui_3d" />
-<Test name="rgb8i_2d_array" />
-<Test name="rgb10_a2_3d" />
-<Test name="r32f_2d_array" />
-<Test name="rgb8_offset_3d" />
-<Test name="rg32f_3d" />
-<Test name="rgba8ui_3d" />
-<Test name="rgba16f_3d" />
-<Test name="r8_snorm_3d" />
-<Test name="rgba8_2d_array" />
-<Test name="rgb32i_3d" />
-<Test name="rgba32i_3d" />
-<Test name="rgba32i_2d_array" />
-<Test name="rg32ui_3d" />
-<Test name="rgb10_a2_2d_array" />
-<Test name="rgb565_2d_array" />
-<Test name="r8i_3d" />
-<Test name="rg32f_2d_array" />
-<Test name="rgb8_3d" />
-<Test name="rgb32i_2d_array" />
-<Test name="rgb16f_2d_array" />
-<Test name="srgb8_alpha8_3d" />
-<Test name="rgba8_snorm_3d" />
-<Test name="r32i_3d" />
-</TestCase>
-<TestCase name="teximage2d_depth_pbo">
-<Test name="depth_component24" />
-<Test name="depth_component32f" />
-<Test name="depth_component16" />
-<Test name="depth32f_stencil8" />
-<Test name="depth24_stencil8" />
-</TestCase>
-<TestCase name="teximage2d_depth">
-<Test name="depth_component24" />
-<Test name="depth_component32f" />
-<Test name="depth_component16" />
-<Test name="depth32f_stencil8" />
-<Test name="depth24_stencil8" />
-</TestCase>
-<TestCase name="teximage3d_depth_pbo">
-<Test name="depth24_stencil8_2d_array" />
-<Test name="depth_component24_2d_array" />
-<Test name="depth_component32f_2d_array" />
-<Test name="depth32f_stencil8_2d_array" />
-</TestCase>
-<TestCase name="texsubimage3d_unpack_params">
-<Test name="rgb8_skip_rows" />
-<Test name="rgba32f_complex" />
-<Test name="rgb8_skip_images" />
-<Test name="rgb8_skip_pixels" />
-<Test name="rgb8_image_height" />
-<Test name="r8_complex1" />
-<Test name="rgba8_complex3" />
-<Test name="rgba8_complex2" />
-<Test name="rgba8_complex1" />
-<Test name="r8_complex4" />
-<Test name="r8_complex2" />
-<Test name="r8_complex3" />
-<Test name="rgb8_row_length" />
-<Test name="rgba8_complex4" />
-</TestCase>
-<TestSuite name="texstorage2d">
-<TestCase name="format">
-<Test name="rgba4_cube" />
-<Test name="r32ui_2d" />
-<Test name="rgb8_cube" />
-<Test name="r8ui_cube" />
-<Test name="r8_snorm_cube" />
-<Test name="depth_component16_cube" />
-<Test name="depth32f_stencil8_cube" />
-<Test name="rgb565_cube" />
-<Test name="rg16i_cube" />
-<Test name="r16f_cube" />
-<Test name="rgba32i_cube" />
-<Test name="rg8_cube" />
-<Test name="rgb16i_cube" />
-<Test name="r32f_2d" />
-<Test name="srgb8_alpha8_cube" />
-<Test name="r16ui_cube" />
-<Test name="rgba4_2d" />
-<Test name="r32f_cube" />
-<Test name="rgb9_e5_cube" />
-<Test name="rgba8_cube" />
-<Test name="r8i_cube" />
-<Test name="r16ui_2d" />
-<Test name="depth_component32f_cube" />
-<Test name="rg32f_cube" />
-<Test name="rgb32f_cube" />
-<Test name="rgb10_a2_cube" />
-<Test name="rg8i_cube" />
-<Test name="rgb8i_cube" />
-<Test name="rgba32ui_cube" />
-<Test name="depth_component24_cube" />
-<Test name="rgb5_a1_2d" />
-<Test name="rgba8ui_cube" />
-<Test name="rgb8_snorm_cube" />
-<Test name="rg8_snorm_cube" />
-<Test name="rgb10_a2ui_cube" />
-<Test name="r8_2d" />
-<Test name="r16i_cube" />
-<Test name="rgb5_a1_cube" />
-<Test name="rgb8ui_cube" />
-<Test name="rg8ui_cube" />
-<Test name="depth24_stencil8_cube" />
-<Test name="rg32f_2d" />
-<Test name="rgb16ui_cube" />
-<Test name="rg16ui_cube" />
-<Test name="rgba8_snorm_cube" />
-<Test name="rgba16i_cube" />
-<Test name="srgb8_cube" />
-<Test name="rgba16f_cube" />
-<Test name="r32i_cube" />
-<Test name="r8_cube" />
-<Test name="rgba16ui_cube" />
-<Test name="rg32ui_cube" />
-<Test name="rgb32ui_cube" />
-<Test name="rgb16f_cube" />
-<Test name="rgb565_2d" />
-<Test name="rg16f_cube" />
-<Test name="rg32i_cube" />
-<Test name="r11f_g11f_b10f_cube" />
-<Test name="rgba8i_cube" />
-<Test name="rgba32f_cube" />
-<Test name="rg32i_2d" />
-<Test name="r32ui_cube" />
-<Test name="rgb32i_cube" />
-</TestCase>
-<TestCase name="size">
-<Test name="2d_57x63_2_levels" />
-<Test name="cube_2x2_2_levels" />
-<Test name="cube_57x57_2_levels" />
-<Test name="2d_2x2_2_levels" />
-<Test name="cube_64x64_7_levels" />
-<Test name="cube_1x1_1_levels" />
-<Test name="2d_57x63_1_levels" />
-<Test name="cube_57x57_1_levels" />
-<Test name="2d_32x64_4_levels" />
-<Test name="cube_64x64_4_levels" />
-<Test name="cube_57x57_6_levels" />
-<Test name="2d_64x32_7_levels" />
-<Test name="2d_1x1_1_levels" />
-</TestCase>
-</TestSuite>
-<TestCase name="basic_teximage2d">
-<Test name="rg16f_2d" />
-<Test name="r16i_2d" />
-<Test name="rgba16ui_2d" />
-<Test name="rgb32ui_2d" />
-<Test name="rgba32i_cube" />
-<Test name="rgb16i_cube" />
-<Test name="srgb8_alpha8_cube" />
-<Test name="r16f_2d" />
-<Test name="rg16ui_2d" />
-<Test name="rgb32f_cube" />
-<Test name="rgb8i_cube" />
-<Test name="rgba32ui_cube" />
-<Test name="rgb5_a1_2d" />
-<Test name="rgba8ui_cube" />
-<Test name="rgba32ui_2d" />
-<Test name="rgb5_a1_cube" />
-<Test name="rgb9_e5_2d" />
-<Test name="rg8ui_cube" />
-<Test name="rg32f_2d" />
-<Test name="rgb10_a2_2d" />
-<Test name="rg16ui_cube" />
-<Test name="rg16f_cube" />
-<Test name="srgb8_cube" />
-<Test name="rgba8i_2d" />
-<Test name="rgba16ui_cube" />
-<Test name="rgb565_2d" />
-<Test name="r8_snorm_2d" />
-<Test name="rgba32f_2d" />
-<Test name="r11f_g11f_b10f_cube" />
-<Test name="rg32i_2d" />
-<Test name="rgba32i_2d" />
-<Test name="rgb8ui_2d" />
-<Test name="rgba8ui_2d" />
-<Test name="rgba8_2d" />
-<Test name="rg8_snorm_cube" />
-<Test name="r32f_2d" />
-<Test name="rgba16i_cube" />
-<Test name="rgba4_2d" />
-<Test name="rgba8_cube" />
-<Test name="rgb16ui_2d" />
-<Test name="rg32f_cube" />
-<Test name="rgb10_a2_cube" />
-<Test name="rgb16i_2d" />
-<Test name="rgb8_snorm_2d" />
-<Test name="rgb16ui_cube" />
-<Test name="rgba8_snorm_cube" />
-<Test name="r32i_cube" />
-<Test name="r8_cube" />
-<Test name="rg32ui_cube" />
-<Test name="rgb16f_cube" />
-<Test name="rgba8i_cube" />
-<Test name="rgb10_a2ui_2d" />
-<Test name="rg8ui_2d" />
-<Test name="rgba4_cube" />
-<Test name="r32ui_2d" />
-<Test name="rgb8_cube" />
-<Test name="r8_snorm_cube" />
-<Test name="r8i_2d" />
-<Test name="r16f_cube" />
-<Test name="srgb8_2d" />
-<Test name="rgb8_2d" />
-<Test name="rg8_cube" />
-<Test name="r16ui_cube" />
-<Test name="srgb8_alpha8_2d" />
-<Test name="r8i_cube" />
-<Test name="r8ui_2d" />
-<Test name="rgb8_snorm_cube" />
-<Test name="r8_2d" />
-<Test name="rg8_snorm_2d" />
-<Test name="rgba16f_cube" />
-<Test name="r16i_cube" />
-<Test name="rgb32ui_cube" />
-<Test name="rgb32i_cube" />
-<Test name="rg8i_2d" />
-<Test name="rg32ui_2d" />
-<Test name="rgb16f_2d" />
-<Test name="r8ui_cube" />
-<Test name="rgb10_a2ui_cube" />
-<Test name="rg8_2d" />
-<Test name="rg16i_2d" />
-<Test name="r32f_cube" />
-<Test name="rgba8_snorm_2d" />
-<Test name="r32i_2d" />
-<Test name="rg8i_cube" />
-<Test name="rgb565_cube" />
-<Test name="rgba16i_2d" />
-<Test name="rg16i_cube" />
-<Test name="r11f_g11f_b10f_2d" />
-<Test name="rgb8ui_cube" />
-<Test name="rgb32f_2d" />
-<Test name="rgba16f_2d" />
-<Test name="rgb9_e5_cube" />
-<Test name="rg32i_cube" />
-<Test name="r16ui_2d" />
-<Test name="rgba32f_cube" />
-<Test name="rgb32i_2d" />
-<Test name="rgb8i_2d" />
-<Test name="r32ui_cube" />
-</TestCase>
-<TestCase name="basic_texsubimage3d">
-<Test name="rgba32ui_3d" />
-<Test name="rgb16i_3d" />
-<Test name="r8_snorm_3d" />
-<Test name="rgba16i_3d" />
-<Test name="r8_3d" />
-<Test name="rg16i_3d" />
-<Test name="r11f_g11f_b10f_3d" />
-<Test name="r16ui_3d" />
-<Test name="rgb8_snorm_3d" />
-<Test name="rg8_snorm_3d" />
-<Test name="rgb10_a2_3d" />
-<Test name="rg32f_3d" />
-<Test name="rgb32f_3d" />
-<Test name="rgba8i_3d" />
-<Test name="rgb565_3d" />
-<Test name="rgba16f_3d" />
-<Test name="rgba32f_3d" />
-<Test name="rgb16ui_3d" />
-<Test name="rgba16ui_3d" />
-<Test name="rg8i_3d" />
-<Test name="rgb32i_3d" />
-<Test name="rg32i_3d" />
-<Test name="rgb8ui_3d" />
-<Test name="rgb10_a2ui_3d" />
-<Test name="rgb9_e5_3d" />
-<Test name="rgba32i_3d" />
-<Test name="rgb8i_3d" />
-<Test name="rg8ui_3d" />
-<Test name="rg16f_3d" />
-<Test name="rgba8ui_3d" />
-<Test name="r32ui_3d" />
-<Test name="rgb32ui_3d" />
-<Test name="rg32ui_3d" />
-<Test name="rgba8_3d" />
-<Test name="r16i_3d" />
-<Test name="r8i_3d" />
-<Test name="rgb8_3d" />
-<Test name="rg8_3d" />
-<Test name="srgb8_3d" />
-<Test name="rgba4_3d" />
-<Test name="r32f_3d" />
-<Test name="srgb8_alpha8_3d" />
-<Test name="r16f_3d" />
-<Test name="r8ui_3d" />
-<Test name="rgba8_snorm_3d" />
-<Test name="rg16ui_3d" />
-<Test name="rgb16f_3d" />
-<Test name="r32i_3d" />
-<Test name="rgb5_a1_3d" />
-</TestCase>
-<TestCase name="teximage3d_depth">
-<Test name="depth24_stencil8_2d_array" />
-<Test name="depth_component24_2d_array" />
-<Test name="depth_component32f_2d_array" />
-<Test name="depth32f_stencil8_2d_array" />
-<Test name="depth_component16_2d_array" />
-</TestCase>
-<TestCase name="basic_copyteximage2d">
-<Test name="cube_rgb" />
-<Test name="2d_rgba" />
-<Test name="2d_luminance_alpha" />
-<Test name="2d_luminance" />
-<Test name="cube_alpha" />
-<Test name="cube_rgba" />
-<Test name="2d_rgb" />
-<Test name="cube_luminance_alpha" />
-<Test name="2d_alpha" />
-<Test name="cube_luminance" />
-</TestCase>
-</TestSuite>
-<TestSuite name="vertex">
-<TestSuite name="2d">
-<TestCase name="wrap">
-<Test name="mirror_mirror" />
-<Test name="mirror_repeat" />
-<Test name="mirror_clamp" />
-<Test name="repeat_mirror" />
-<Test name="clamp_mirror" />
-<Test name="clamp_repeat" />
-<Test name="repeat_repeat" />
-<Test name="repeat_clamp" />
-<Test name="clamp_clamp" />
-</TestCase>
-<TestCase name="filtering">
-<Test name="linear_mipmap_nearest_linear_mirror" />
-<Test name="linear_mipmap_linear_linear_mirror" />
-<Test name="nearest_mipmap_nearest_nearest_mirror" />
-<Test name="nearest_mipmap_nearest_linear_repeat" />
-<Test name="nearest_mipmap_nearest_nearest_clamp" />
-<Test name="linear_mipmap_nearest_nearest_repeat" />
-<Test name="linear_mipmap_linear_nearest_mirror" />
-<Test name="linear_mipmap_nearest_nearest_clamp" />
-<Test name="nearest_mipmap_nearest_linear_mirror" />
-<Test name="nearest_mipmap_linear_nearest_clamp" />
-<Test name="linear_mipmap_linear_nearest_repeat" />
-<Test name="nearest_mipmap_linear_linear_mirror" />
-<Test name="nearest_mipmap_nearest_nearest_repeat" />
-<Test name="linear_mipmap_nearest_nearest_mirror" />
-<Test name="linear_mipmap_nearest_linear_repeat" />
-<Test name="linear_mipmap_linear_linear_clamp" />
-<Test name="nearest_mipmap_linear_linear_repeat" />
-<Test name="nearest_mipmap_linear_nearest_repeat" />
-<Test name="linear_mipmap_linear_linear_repeat" />
-<Test name="linear_mipmap_linear_nearest_clamp" />
-<Test name="nearest_mipmap_linear_nearest_mirror" />
-<Test name="nearest_mipmap_nearest_linear_clamp" />
-<Test name="nearest_mipmap_linear_linear_clamp" />
-<Test name="linear_mipmap_nearest_linear_clamp" />
-</TestCase>
-</TestSuite>
-<TestSuite name="2d_array">
-<TestCase name="wrap">
-<Test name="mirror_mirror" />
-<Test name="mirror_repeat" />
-<Test name="mirror_clamp" />
-<Test name="repeat_mirror" />
-<Test name="clamp_mirror" />
-<Test name="clamp_repeat" />
-<Test name="repeat_repeat" />
-<Test name="repeat_clamp" />
-<Test name="clamp_clamp" />
-</TestCase>
-<TestCase name="filtering">
-<Test name="linear_mipmap_nearest_linear_mirror" />
-<Test name="linear_mipmap_linear_linear_mirror" />
-<Test name="nearest_mipmap_nearest_nearest_mirror" />
-<Test name="nearest_mipmap_nearest_linear_repeat" />
-<Test name="nearest_mipmap_nearest_nearest_clamp" />
-<Test name="linear_mipmap_nearest_nearest_repeat" />
-<Test name="linear_mipmap_linear_nearest_mirror" />
-<Test name="linear_mipmap_nearest_nearest_clamp" />
-<Test name="nearest_mipmap_nearest_linear_mirror" />
-<Test name="nearest_mipmap_linear_nearest_clamp" />
-<Test name="linear_mipmap_linear_nearest_repeat" />
-<Test name="nearest_mipmap_linear_linear_mirror" />
-<Test name="nearest_mipmap_nearest_nearest_repeat" />
-<Test name="linear_mipmap_nearest_nearest_mirror" />
-<Test name="linear_mipmap_nearest_linear_repeat" />
-<Test name="linear_mipmap_linear_linear_clamp" />
-<Test name="nearest_mipmap_linear_linear_repeat" />
-<Test name="nearest_mipmap_linear_nearest_repeat" />
-<Test name="linear_mipmap_linear_linear_repeat" />
-<Test name="linear_mipmap_linear_nearest_clamp" />
-<Test name="nearest_mipmap_linear_nearest_mirror" />
-<Test name="nearest_mipmap_nearest_linear_clamp" />
-<Test name="nearest_mipmap_linear_linear_clamp" />
-<Test name="linear_mipmap_nearest_linear_clamp" />
-</TestCase>
-</TestSuite>
-<TestSuite name="cube">
-<TestCase name="wrap">
-<Test name="mirror_mirror" />
-<Test name="mirror_repeat" />
-<Test name="mirror_clamp" />
-<Test name="repeat_mirror" />
-<Test name="clamp_mirror" />
-<Test name="clamp_repeat" />
-<Test name="repeat_repeat" />
-<Test name="repeat_clamp" />
-<Test name="clamp_clamp" />
-</TestCase>
-<TestCase name="filtering">
-<Test name="linear_mipmap_nearest_linear_mirror" />
-<Test name="linear_mipmap_linear_linear_mirror" />
-<Test name="nearest_mipmap_nearest_nearest_mirror" />
-<Test name="nearest_mipmap_nearest_linear_repeat" />
-<Test name="nearest_mipmap_nearest_nearest_clamp" />
-<Test name="linear_mipmap_nearest_nearest_repeat" />
-<Test name="nearest_mipmap_linear_nearest_mirror" />
-<Test name="linear_mipmap_nearest_nearest_clamp" />
-<Test name="nearest_mipmap_nearest_linear_mirror" />
-<Test name="nearest_mipmap_linear_nearest_clamp" />
-<Test name="linear_mipmap_linear_nearest_repeat" />
-<Test name="nearest_mipmap_linear_linear_mirror" />
-<Test name="nearest_nearest_mirror" />
-<Test name="nearest_nearest_clamp" />
-<Test name="nearest_mipmap_nearest_nearest_repeat" />
-<Test name="linear_linear_clamp" />
-<Test name="linear_mipmap_nearest_nearest_mirror" />
-<Test name="linear_mipmap_nearest_linear_repeat" />
-<Test name="linear_mipmap_linear_linear_clamp" />
-<Test name="nearest_mipmap_linear_linear_repeat" />
-<Test name="nearest_mipmap_linear_nearest_repeat" />
-<Test name="linear_linear_mirror" />
-<Test name="linear_mipmap_linear_linear_repeat" />
-<Test name="linear_mipmap_linear_nearest_clamp" />
-<Test name="linear_linear_repeat" />
-<Test name="linear_mipmap_linear_nearest_mirror" />
-<Test name="nearest_mipmap_nearest_linear_clamp" />
-<Test name="nearest_mipmap_linear_linear_clamp" />
-<Test name="linear_mipmap_nearest_linear_clamp" />
-<Test name="nearest_nearest_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="3d">
-<TestCase name="wrap">
-<Test name="repeat_repeat_clamp" />
-<Test name="mirror_clamp_mirror" />
-<Test name="clamp_mirror_repeat" />
-<Test name="mirror_mirror_mirror" />
-<Test name="clamp_mirror_mirror" />
-<Test name="clamp_repeat_repeat" />
-<Test name="repeat_repeat_mirror" />
-<Test name="repeat_clamp_mirror" />
-<Test name="mirror_clamp_clamp" />
-<Test name="repeat_mirror_clamp" />
-<Test name="mirror_clamp_repeat" />
-<Test name="repeat_clamp_clamp" />
-<Test name="mirror_repeat_mirror" />
-<Test name="clamp_repeat_mirror" />
-<Test name="repeat_mirror_mirror" />
-<Test name="clamp_clamp_repeat" />
-<Test name="repeat_mirror_repeat" />
-<Test name="repeat_repeat_repeat" />
-<Test name="clamp_repeat_clamp" />
-<Test name="mirror_mirror_clamp" />
-<Test name="mirror_repeat_clamp" />
-<Test name="clamp_clamp_mirror" />
-<Test name="mirror_mirror_repeat" />
-<Test name="clamp_mirror_clamp" />
-<Test name="clamp_clamp_clamp" />
-<Test name="mirror_repeat_repeat" />
-<Test name="repeat_clamp_repeat" />
-</TestCase>
-<TestCase name="filtering">
-<Test name="linear_mipmap_nearest_linear_mirror" />
-<Test name="linear_mipmap_linear_linear_mirror" />
-<Test name="nearest_mipmap_nearest_nearest_mirror" />
-<Test name="nearest_mipmap_nearest_linear_repeat" />
-<Test name="nearest_mipmap_nearest_nearest_clamp" />
-<Test name="linear_mipmap_nearest_nearest_repeat" />
-<Test name="linear_mipmap_linear_nearest_mirror" />
-<Test name="linear_mipmap_nearest_nearest_clamp" />
-<Test name="nearest_mipmap_nearest_linear_mirror" />
-<Test name="nearest_mipmap_linear_nearest_clamp" />
-<Test name="linear_mipmap_linear_nearest_repeat" />
-<Test name="nearest_mipmap_linear_linear_mirror" />
-<Test name="nearest_mipmap_nearest_nearest_repeat" />
-<Test name="linear_mipmap_nearest_nearest_mirror" />
-<Test name="linear_mipmap_nearest_linear_repeat" />
-<Test name="linear_mipmap_linear_linear_clamp" />
-<Test name="nearest_mipmap_linear_linear_repeat" />
-<Test name="nearest_mipmap_linear_nearest_repeat" />
-<Test name="linear_mipmap_linear_linear_repeat" />
-<Test name="linear_mipmap_linear_nearest_clamp" />
-<Test name="nearest_mipmap_linear_nearest_mirror" />
-<Test name="nearest_mipmap_nearest_linear_clamp" />
-<Test name="nearest_mipmap_linear_linear_clamp" />
-<Test name="linear_mipmap_nearest_linear_clamp" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-<TestSuite name="swizzle">
-<TestCase name="single_channel">
-<Test name="g_red" />
-<Test name="r_blue" />
-<Test name="a_red" />
-<Test name="g_alpha" />
-<Test name="b_one" />
-<Test name="b_alpha" />
-<Test name="r_green" />
-<Test name="b_red" />
-<Test name="r_zero" />
-<Test name="g_zero" />
-<Test name="a_zero" />
-<Test name="a_green" />
-<Test name="g_blue" />
-<Test name="r_one" />
-<Test name="g_one" />
-<Test name="r_alpha" />
-<Test name="b_green" />
-<Test name="a_one" />
-<Test name="a_blue" />
-<Test name="b_zero" />
-</TestCase>
-<TestCase name="multi_channel">
-<Test name="red_one_one_red_green" />
-<Test name="luminance_alpha_all_green" />
-<Test name="rgba_all_green" />
-<Test name="luminance_all_alpha" />
-<Test name="rgb_all_green" />
-<Test name="rg_all_green" />
-<Test name="luminance_bgra" />
-<Test name="rgb_all_blue" />
-<Test name="rg_all_blue" />
-<Test name="rg_all_alpha" />
-<Test name="rg_bgra" />
-<Test name="luminance_all_zero" />
-<Test name="luminance_all_green" />
-<Test name="red_all_zero" />
-<Test name="rgba_bgra" />
-<Test name="red_all_blue" />
-<Test name="rg_all_zero" />
-<Test name="rgb_bgra" />
-<Test name="luminance_all_red" />
-<Test name="alpha_all_one" />
-<Test name="alpha_one_one_red_green" />
-<Test name="rgb_all_one" />
-<Test name="rg_all_one" />
-<Test name="red_abgr" />
-<Test name="alpha_abgr" />
-<Test name="rgb_one_one_red_green" />
-<Test name="rg_one_one_red_green" />
-<Test name="luminance_alpha_one_one_red_green" />
-<Test name="rgba_all_blue" />
-<Test name="alpha_all_blue" />
-<Test name="red_all_red" />
-<Test name="alpha_bgra" />
-<Test name="rgb_all_red" />
-<Test name="rg_all_red" />
-<Test name="rgba_all_zero" />
-<Test name="rgba_all_one" />
-<Test name="luminance_alpha_all_one" />
-<Test name="luminance_alpha_abgr" />
-<Test name="luminance_alpha_bgra" />
-<Test name="rg_abgr" />
-<Test name="alpha_all_alpha" />
-<Test name="luminance_all_blue" />
-<Test name="luminance_alpha_all_red" />
-<Test name="rgb_abgr" />
-<Test name="rgb_all_alpha" />
-<Test name="luminance_one_one_red_green" />
-<Test name="alpha_all_zero" />
-<Test name="red_all_green" />
-<Test name="luminance_alpha_all_blue" />
-<Test name="red_bgra" />
-<Test name="rgba_all_alpha" />
-<Test name="red_all_one" />
-<Test name="luminance_all_one" />
-<Test name="red_all_alpha" />
-<Test name="luminance_abgr" />
-<Test name="rgba_abgr" />
-<Test name="luminance_alpha_all_alpha" />
-<Test name="luminance_alpha_all_zero" />
-<Test name="rgba_all_red" />
-<Test name="alpha_all_red" />
-<Test name="alpha_all_green" />
-<Test name="rgb_all_zero" />
-<Test name="rgba_one_one_red_green" />
-</TestCase>
-</TestSuite>
-<TestSuite name="mipmap">
-<TestSuite name="2d">
-<TestCase name="max_lod">
-<Test name="nearest_linear" />
-<Test name="linear_nearest" />
-<Test name="linear_linear" />
-<Test name="nearest_nearest" />
-</TestCase>
-<TestCase name="affine">
-<Test name="linear_nearest_mirror" />
-<Test name="nearest_linear_clamp" />
-<Test name="linear_linear_mirror" />
-<Test name="linear_linear_clamp" />
-<Test name="linear_linear_repeat" />
-<Test name="linear_nearest_repeat" />
-<Test name="nearest_linear_mirror" />
-<Test name="linear_nearest_clamp" />
-<Test name="nearest_nearest_mirror" />
-<Test name="nearest_nearest_clamp" />
-<Test name="nearest_linear_repeat" />
-<Test name="nearest_nearest_repeat" />
-</TestCase>
-<TestCase name="bias">
-<Test name="nearest_linear" />
-<Test name="linear_nearest" />
-<Test name="linear_linear" />
-<Test name="nearest_nearest" />
-</TestCase>
-<TestCase name="min_lod">
-<Test name="nearest_linear" />
-<Test name="linear_nearest" />
-<Test name="linear_linear" />
-<Test name="nearest_nearest" />
-</TestCase>
-<TestCase name="basic">
-<Test name="linear_nearest_repeat_npot" />
-<Test name="linear_linear_clamp_non_square" />
-<Test name="nearest_nearest_repeat_non_square" />
-<Test name="linear_linear_mirror_npot" />
-<Test name="nearest_nearest_repeat_npot" />
-<Test name="nearest_linear_repeat_npot" />
-<Test name="linear_nearest_clamp_npot" />
-<Test name="nearest_nearest_mirror_npot" />
-<Test name="linear_nearest_mirror_npot" />
-<Test name="nearest_linear_clamp_npot" />
-<Test name="linear_linear_repeat_non_square" />
-<Test name="nearest_nearest_mirror_non_square" />
-<Test name="linear_nearest_clamp_non_square" />
-<Test name="linear_linear_repeat_npot" />
-<Test name="nearest_nearest_mirror" />
-<Test name="nearest_nearest_clamp" />
-<Test name="nearest_linear_repeat" />
-<Test name="linear_nearest_repeat_non_square" />
-<Test name="nearest_nearest_clamp_non_square" />
-<Test name="nearest_linear_clamp" />
-<Test name="nearest_nearest_clamp_npot" />
-<Test name="linear_linear_clamp" />
-<Test name="nearest_linear_repeat_non_square" />
-<Test name="linear_linear_mirror_non_square" />
-<Test name="linear_linear_clamp_npot" />
-<Test name="linear_nearest_mirror" />
-<Test name="nearest_linear_mirror" />
-<Test name="linear_linear_mirror" />
-<Test name="nearest_linear_mirror_non_square" />
-<Test name="nearest_linear_clamp_non_square" />
-<Test name="linear_linear_repeat" />
-<Test name="linear_nearest_repeat" />
-<Test name="linear_nearest_mirror_non_square" />
-<Test name="linear_nearest_clamp" />
-<Test name="nearest_linear_mirror_npot" />
-<Test name="nearest_nearest_repeat" />
-</TestCase>
-<TestCase name="generate">
-<Test name="rgb565_fastest" />
-<Test name="rgba5551_non_square_nicest" />
-<Test name="rgb888_npot_nicest" />
-<Test name="rgb565_npot_fastest" />
-<Test name="rgba8888_fastest" />
-<Test name="rgb888_nicest" />
-<Test name="rgba8888_npot_nicest" />
-<Test name="l8_fastest" />
-<Test name="rgba5551_non_square_fastest" />
-<Test name="rgba5551_npot_nicest" />
-<Test name="l8_non_square_fastest" />
-<Test name="rgb888_fastest" />
-<Test name="rgb565_non_square_fastest" />
-<Test name="a8_npot_nicest" />
-<Test name="rgba4444_fastest" />
-<Test name="rgba4444_npot_fastest" />
-<Test name="a8_nicest" />
-<Test name="rgba8888_nicest" />
-<Test name="a8_non_square_fastest" />
-<Test name="l8_npot_nicest" />
-<Test name="rgba4444_npot_nicest" />
-<Test name="rgba8888_npot_fastest" />
-<Test name="rgb565_non_square_nicest" />
-<Test name="rgb888_non_square_fastest" />
-<Test name="rgba5551_fastest" />
-<Test name="l8_npot_fastest" />
-<Test name="rgba8888_non_square_fastest" />
-<Test name="l8_non_square_nicest" />
-<Test name="rgb888_npot_fastest" />
-<Test name="rgb888_non_square_nicest" />
-<Test name="rgba4444_non_square_nicest" />
-<Test name="a8_non_square_nicest" />
-<Test name="rgba8888_non_square_nicest" />
-<Test name="rgba5551_npot_fastest" />
-<Test name="a8_fastest" />
-<Test name="a8_npot_fastest" />
-<Test name="rgb565_nicest" />
-<Test name="rgba5551_nicest" />
-<Test name="rgba4444_non_square_fastest" />
-<Test name="l8_nicest" />
-<Test name="rgba4444_nicest" />
-<Test name="rgb565_npot_nicest" />
-</TestCase>
-</TestSuite>
-<TestSuite name="cube">
-<TestCase name="max_lod">
-<Test name="nearest_linear" />
-<Test name="linear_nearest" />
-<Test name="linear_linear" />
-<Test name="nearest_nearest" />
-</TestCase>
-<TestCase name="bias">
-<Test name="nearest_linear" />
-<Test name="nearest_nearest" />
-</TestCase>
-<TestCase name="projected">
-<Test name="linear_nearest" />
-<Test name="nearest_nearest" />
-</TestCase>
-<TestCase name="min_lod">
-<Test name="nearest_linear" />
-<Test name="linear_nearest" />
-<Test name="linear_linear" />
-<Test name="nearest_nearest" />
-</TestCase>
-<TestCase name="basic">
-<Test name="nearest_linear" />
-<Test name="linear_nearest" />
-<Test name="linear_linear" />
-<Test name="nearest_nearest" />
-</TestCase>
-<TestCase name="generate">
-<Test name="rgb565_fastest" />
-<Test name="rgb888_fastest" />
-<Test name="rgba8888_fastest" />
-<Test name="a8_fastest" />
-<Test name="a8_nicest" />
-<Test name="rgba4444_fastest" />
-<Test name="rgb888_nicest" />
-<Test name="rgb565_nicest" />
-<Test name="l8_fastest" />
-<Test name="rgba8888_nicest" />
-<Test name="rgba5551_nicest" />
-<Test name="rgba5551_fastest" />
-<Test name="l8_nicest" />
-<Test name="rgba4444_nicest" />
-</TestCase>
-</TestSuite>
-<TestSuite name="3d">
-<TestCase name="max_lod">
-<Test name="nearest_linear" />
-<Test name="linear_nearest" />
-<Test name="linear_linear" />
-<Test name="nearest_nearest" />
-</TestCase>
-<TestCase name="affine">
-<Test name="linear_nearest_mirror" />
-<Test name="nearest_linear_clamp" />
-<Test name="linear_linear_mirror" />
-<Test name="linear_linear_clamp" />
-<Test name="linear_linear_repeat" />
-<Test name="linear_nearest_repeat" />
-<Test name="nearest_linear_mirror" />
-<Test name="linear_nearest_clamp" />
-<Test name="nearest_nearest_mirror" />
-<Test name="nearest_nearest_clamp" />
-<Test name="nearest_linear_repeat" />
-<Test name="nearest_nearest_repeat" />
-</TestCase>
-<TestCase name="bias">
-<Test name="nearest_linear" />
-<Test name="linear_nearest" />
-<Test name="linear_linear" />
-<Test name="nearest_nearest" />
-</TestCase>
-<TestCase name="projected">
-<Test name="linear_nearest_mirror" />
-<Test name="nearest_linear_clamp" />
-<Test name="linear_linear_mirror" />
-<Test name="linear_linear_clamp" />
-<Test name="linear_linear_repeat" />
-<Test name="linear_nearest_repeat" />
-<Test name="nearest_linear_mirror" />
-<Test name="linear_nearest_clamp" />
-<Test name="nearest_nearest_mirror" />
-<Test name="nearest_nearest_clamp" />
-<Test name="nearest_linear_repeat" />
-<Test name="nearest_nearest_repeat" />
-</TestCase>
-<TestCase name="min_lod">
-<Test name="nearest_linear" />
-<Test name="linear_nearest" />
-<Test name="linear_linear" />
-<Test name="nearest_nearest" />
-</TestCase>
-<TestCase name="basic">
-<Test name="linear_linear_mirror_npot" />
-<Test name="nearest_nearest_repeat_npot" />
-<Test name="nearest_linear_repeat_npot" />
-<Test name="linear_nearest_clamp_npot" />
-<Test name="nearest_nearest_mirror_npot" />
-<Test name="nearest_linear_clamp_npot" />
-<Test name="linear_linear_repeat_npot" />
-<Test name="nearest_nearest_mirror" />
-<Test name="nearest_nearest_clamp" />
-<Test name="nearest_linear_repeat" />
-<Test name="linear_nearest_repeat_npot" />
-<Test name="nearest_linear_clamp" />
-<Test name="nearest_nearest_clamp_npot" />
-<Test name="linear_linear_clamp" />
-<Test name="linear_linear_clamp_npot" />
-<Test name="linear_nearest_mirror" />
-<Test name="nearest_linear_mirror" />
-<Test name="linear_linear_mirror" />
-<Test name="linear_linear_repeat" />
-<Test name="linear_nearest_repeat" />
-<Test name="linear_nearest_mirror_npot" />
-<Test name="linear_nearest_clamp" />
-<Test name="nearest_linear_mirror_npot" />
-<Test name="nearest_nearest_repeat" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-<TestSuite name="wrap">
-<TestCase name="astc_12x10_srgb">
-<Test name="clamp_repeat_linear_not_divisible" />
-<Test name="clamp_clamp_nearest_not_divisible" />
-<Test name="clamp_clamp_nearest_divisible" />
-<Test name="clamp_mirror_nearest_not_divisible" />
-<Test name="repeat_mirror_linear_not_divisible" />
-<Test name="repeat_repeat_linear_divisible" />
-<Test name="mirror_repeat_nearest_not_divisible" />
-<Test name="repeat_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_not_divisible" />
-<Test name="mirror_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_divisible" />
-<Test name="clamp_mirror_nearest_divisible" />
-<Test name="mirror_repeat_linear_divisible" />
-<Test name="clamp_clamp_linear_divisible" />
-<Test name="mirror_clamp_nearest_divisible" />
-<Test name="repeat_mirror_linear_divisible" />
-<Test name="mirror_mirror_linear_divisible" />
-<Test name="mirror_mirror_nearest_divisible" />
-<Test name="repeat_clamp_nearest_not_divisible" />
-<Test name="repeat_repeat_linear_not_divisible" />
-<Test name="repeat_clamp_nearest_divisible" />
-<Test name="clamp_mirror_linear_not_divisible" />
-<Test name="repeat_mirror_nearest_not_divisible" />
-<Test name="clamp_repeat_linear_divisible" />
-<Test name="mirror_clamp_nearest_not_divisible" />
-<Test name="mirror_mirror_nearest_not_divisible" />
-<Test name="clamp_clamp_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_not_divisible" />
-<Test name="mirror_repeat_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_divisible" />
-<Test name="repeat_mirror_nearest_divisible" />
-<Test name="mirror_clamp_linear_divisible" />
-<Test name="mirror_mirror_linear_not_divisible" />
-<Test name="repeat_clamp_linear_divisible" />
-<Test name="mirror_repeat_nearest_divisible" />
-<Test name="clamp_mirror_linear_divisible" />
-</TestCase>
-<TestCase name="etc2_rgb8">
-<Test name="mirror_clamp_linear_pot" />
-<Test name="repeat_repeat_linear_pot" />
-<Test name="mirror_repeat_nearest_npot" />
-<Test name="mirror_clamp_linear_npot" />
-<Test name="mirror_mirror_nearest_npot" />
-<Test name="repeat_mirror_nearest_pot" />
-<Test name="repeat_repeat_nearest_pot" />
-<Test name="clamp_clamp_linear_npot" />
-<Test name="clamp_mirror_linear_npot" />
-<Test name="repeat_mirror_linear_pot" />
-<Test name="repeat_repeat_nearest_npot" />
-<Test name="mirror_clamp_nearest_pot" />
-<Test name="clamp_clamp_linear_pot" />
-<Test name="repeat_clamp_nearest_npot" />
-<Test name="repeat_mirror_nearest_npot" />
-<Test name="mirror_repeat_linear_npot" />
-<Test name="clamp_repeat_linear_npot" />
-<Test name="clamp_clamp_nearest_pot" />
-<Test name="mirror_mirror_linear_pot" />
-<Test name="mirror_repeat_linear_pot" />
-<Test name="clamp_clamp_nearest_npot" />
-<Test name="clamp_repeat_linear_pot" />
-<Test name="mirror_clamp_nearest_npot" />
-<Test name="mirror_mirror_linear_npot" />
-<Test name="clamp_mirror_nearest_pot" />
-<Test name="clamp_repeat_nearest_pot" />
-<Test name="repeat_clamp_linear_npot" />
-<Test name="repeat_mirror_linear_npot" />
-<Test name="mirror_repeat_nearest_pot" />
-<Test name="repeat_clamp_linear_pot" />
-<Test name="clamp_repeat_nearest_npot" />
-<Test name="clamp_mirror_linear_pot" />
-<Test name="repeat_clamp_nearest_pot" />
-<Test name="clamp_mirror_nearest_npot" />
-<Test name="repeat_repeat_linear_npot" />
-<Test name="mirror_mirror_nearest_pot" />
-</TestCase>
-<TestCase name="eac_rg11">
-<Test name="mirror_clamp_linear_pot" />
-<Test name="repeat_repeat_linear_pot" />
-<Test name="mirror_repeat_nearest_npot" />
-<Test name="mirror_clamp_linear_npot" />
-<Test name="mirror_mirror_nearest_npot" />
-<Test name="repeat_mirror_nearest_pot" />
-<Test name="repeat_repeat_nearest_pot" />
-<Test name="clamp_clamp_linear_npot" />
-<Test name="clamp_mirror_linear_npot" />
-<Test name="repeat_mirror_linear_pot" />
-<Test name="repeat_repeat_nearest_npot" />
-<Test name="mirror_clamp_nearest_pot" />
-<Test name="clamp_clamp_linear_pot" />
-<Test name="repeat_clamp_nearest_npot" />
-<Test name="repeat_mirror_nearest_npot" />
-<Test name="mirror_repeat_linear_npot" />
-<Test name="clamp_repeat_linear_npot" />
-<Test name="clamp_clamp_nearest_pot" />
-<Test name="mirror_mirror_linear_pot" />
-<Test name="mirror_repeat_linear_pot" />
-<Test name="clamp_clamp_nearest_npot" />
-<Test name="clamp_repeat_linear_pot" />
-<Test name="mirror_clamp_nearest_npot" />
-<Test name="mirror_mirror_linear_npot" />
-<Test name="clamp_mirror_nearest_pot" />
-<Test name="clamp_repeat_nearest_pot" />
-<Test name="repeat_clamp_linear_npot" />
-<Test name="repeat_mirror_linear_npot" />
-<Test name="mirror_repeat_nearest_pot" />
-<Test name="repeat_clamp_linear_pot" />
-<Test name="clamp_repeat_nearest_npot" />
-<Test name="clamp_mirror_linear_pot" />
-<Test name="repeat_clamp_nearest_pot" />
-<Test name="clamp_mirror_nearest_npot" />
-<Test name="repeat_repeat_linear_npot" />
-<Test name="mirror_mirror_nearest_pot" />
-</TestCase>
-<TestCase name="astc_6x5_srgb">
-<Test name="clamp_repeat_linear_not_divisible" />
-<Test name="clamp_clamp_nearest_not_divisible" />
-<Test name="clamp_clamp_nearest_divisible" />
-<Test name="clamp_mirror_nearest_not_divisible" />
-<Test name="repeat_mirror_linear_not_divisible" />
-<Test name="repeat_repeat_linear_divisible" />
-<Test name="mirror_repeat_nearest_not_divisible" />
-<Test name="repeat_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_not_divisible" />
-<Test name="mirror_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_divisible" />
-<Test name="clamp_mirror_nearest_divisible" />
-<Test name="mirror_repeat_linear_divisible" />
-<Test name="clamp_clamp_linear_divisible" />
-<Test name="mirror_clamp_nearest_divisible" />
-<Test name="repeat_mirror_linear_divisible" />
-<Test name="mirror_mirror_linear_divisible" />
-<Test name="mirror_mirror_nearest_divisible" />
-<Test name="repeat_clamp_nearest_not_divisible" />
-<Test name="repeat_repeat_linear_not_divisible" />
-<Test name="repeat_clamp_nearest_divisible" />
-<Test name="clamp_mirror_linear_not_divisible" />
-<Test name="repeat_mirror_nearest_not_divisible" />
-<Test name="clamp_repeat_linear_divisible" />
-<Test name="mirror_clamp_nearest_not_divisible" />
-<Test name="mirror_mirror_nearest_not_divisible" />
-<Test name="clamp_clamp_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_not_divisible" />
-<Test name="mirror_repeat_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_divisible" />
-<Test name="repeat_mirror_nearest_divisible" />
-<Test name="mirror_clamp_linear_divisible" />
-<Test name="mirror_mirror_linear_not_divisible" />
-<Test name="repeat_clamp_linear_divisible" />
-<Test name="mirror_repeat_nearest_divisible" />
-<Test name="clamp_mirror_linear_divisible" />
-</TestCase>
-<TestCase name="astc_5x4">
-<Test name="clamp_repeat_linear_not_divisible" />
-<Test name="clamp_clamp_nearest_not_divisible" />
-<Test name="clamp_clamp_nearest_divisible" />
-<Test name="clamp_mirror_nearest_not_divisible" />
-<Test name="repeat_mirror_linear_not_divisible" />
-<Test name="repeat_repeat_linear_divisible" />
-<Test name="mirror_repeat_nearest_not_divisible" />
-<Test name="repeat_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_not_divisible" />
-<Test name="mirror_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_divisible" />
-<Test name="clamp_mirror_nearest_divisible" />
-<Test name="mirror_repeat_linear_divisible" />
-<Test name="clamp_clamp_linear_divisible" />
-<Test name="mirror_clamp_nearest_divisible" />
-<Test name="repeat_mirror_linear_divisible" />
-<Test name="mirror_mirror_linear_divisible" />
-<Test name="mirror_mirror_nearest_divisible" />
-<Test name="repeat_clamp_nearest_not_divisible" />
-<Test name="repeat_repeat_linear_not_divisible" />
-<Test name="repeat_clamp_nearest_divisible" />
-<Test name="clamp_mirror_linear_not_divisible" />
-<Test name="repeat_mirror_nearest_not_divisible" />
-<Test name="clamp_repeat_linear_divisible" />
-<Test name="mirror_clamp_nearest_not_divisible" />
-<Test name="mirror_mirror_nearest_not_divisible" />
-<Test name="clamp_clamp_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_not_divisible" />
-<Test name="mirror_repeat_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_divisible" />
-<Test name="repeat_mirror_nearest_divisible" />
-<Test name="mirror_clamp_linear_divisible" />
-<Test name="mirror_mirror_linear_not_divisible" />
-<Test name="repeat_clamp_linear_divisible" />
-<Test name="mirror_repeat_nearest_divisible" />
-<Test name="clamp_mirror_linear_divisible" />
-</TestCase>
-<TestCase name="astc_4x4_srgb">
-<Test name="clamp_repeat_linear_not_divisible" />
-<Test name="clamp_clamp_nearest_not_divisible" />
-<Test name="clamp_clamp_nearest_divisible" />
-<Test name="clamp_mirror_nearest_not_divisible" />
-<Test name="repeat_mirror_linear_not_divisible" />
-<Test name="repeat_repeat_linear_divisible" />
-<Test name="mirror_repeat_nearest_not_divisible" />
-<Test name="repeat_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_not_divisible" />
-<Test name="mirror_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_divisible" />
-<Test name="clamp_mirror_nearest_divisible" />
-<Test name="mirror_repeat_linear_divisible" />
-<Test name="clamp_clamp_linear_divisible" />
-<Test name="mirror_clamp_nearest_divisible" />
-<Test name="repeat_mirror_linear_divisible" />
-<Test name="mirror_mirror_linear_divisible" />
-<Test name="mirror_mirror_nearest_divisible" />
-<Test name="repeat_clamp_nearest_not_divisible" />
-<Test name="repeat_repeat_linear_not_divisible" />
-<Test name="repeat_clamp_nearest_divisible" />
-<Test name="clamp_mirror_linear_not_divisible" />
-<Test name="repeat_mirror_nearest_not_divisible" />
-<Test name="clamp_repeat_linear_divisible" />
-<Test name="mirror_clamp_nearest_not_divisible" />
-<Test name="mirror_mirror_nearest_not_divisible" />
-<Test name="clamp_clamp_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_not_divisible" />
-<Test name="mirror_repeat_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_divisible" />
-<Test name="repeat_mirror_nearest_divisible" />
-<Test name="mirror_clamp_linear_divisible" />
-<Test name="mirror_mirror_linear_not_divisible" />
-<Test name="repeat_clamp_linear_divisible" />
-<Test name="mirror_repeat_nearest_divisible" />
-<Test name="clamp_mirror_linear_divisible" />
-</TestCase>
-<TestCase name="astc_4x4">
-<Test name="clamp_repeat_linear_not_divisible" />
-<Test name="clamp_clamp_nearest_not_divisible" />
-<Test name="clamp_clamp_nearest_divisible" />
-<Test name="clamp_mirror_nearest_not_divisible" />
-<Test name="repeat_mirror_linear_not_divisible" />
-<Test name="repeat_repeat_linear_divisible" />
-<Test name="mirror_repeat_nearest_not_divisible" />
-<Test name="repeat_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_not_divisible" />
-<Test name="mirror_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_divisible" />
-<Test name="clamp_mirror_nearest_divisible" />
-<Test name="mirror_repeat_linear_divisible" />
-<Test name="clamp_clamp_linear_divisible" />
-<Test name="mirror_clamp_nearest_divisible" />
-<Test name="repeat_mirror_linear_divisible" />
-<Test name="mirror_mirror_linear_divisible" />
-<Test name="mirror_mirror_nearest_divisible" />
-<Test name="repeat_clamp_nearest_not_divisible" />
-<Test name="repeat_repeat_linear_not_divisible" />
-<Test name="repeat_clamp_nearest_divisible" />
-<Test name="clamp_mirror_linear_not_divisible" />
-<Test name="repeat_mirror_nearest_not_divisible" />
-<Test name="clamp_repeat_linear_divisible" />
-<Test name="mirror_clamp_nearest_not_divisible" />
-<Test name="mirror_mirror_nearest_not_divisible" />
-<Test name="clamp_clamp_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_not_divisible" />
-<Test name="mirror_repeat_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_divisible" />
-<Test name="repeat_mirror_nearest_divisible" />
-<Test name="mirror_clamp_linear_divisible" />
-<Test name="mirror_mirror_linear_not_divisible" />
-<Test name="repeat_clamp_linear_divisible" />
-<Test name="mirror_repeat_nearest_divisible" />
-<Test name="clamp_mirror_linear_divisible" />
-</TestCase>
-<TestCase name="astc_10x10">
-<Test name="clamp_repeat_linear_not_divisible" />
-<Test name="clamp_clamp_nearest_not_divisible" />
-<Test name="clamp_clamp_nearest_divisible" />
-<Test name="clamp_mirror_nearest_not_divisible" />
-<Test name="repeat_mirror_linear_not_divisible" />
-<Test name="repeat_repeat_linear_divisible" />
-<Test name="mirror_repeat_nearest_not_divisible" />
-<Test name="repeat_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_not_divisible" />
-<Test name="mirror_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_divisible" />
-<Test name="clamp_mirror_nearest_divisible" />
-<Test name="mirror_repeat_linear_divisible" />
-<Test name="clamp_clamp_linear_divisible" />
-<Test name="mirror_clamp_nearest_divisible" />
-<Test name="repeat_mirror_linear_divisible" />
-<Test name="mirror_mirror_linear_divisible" />
-<Test name="mirror_mirror_nearest_divisible" />
-<Test name="repeat_clamp_nearest_not_divisible" />
-<Test name="repeat_repeat_linear_not_divisible" />
-<Test name="repeat_clamp_nearest_divisible" />
-<Test name="clamp_mirror_linear_not_divisible" />
-<Test name="repeat_mirror_nearest_not_divisible" />
-<Test name="clamp_repeat_linear_divisible" />
-<Test name="mirror_clamp_nearest_not_divisible" />
-<Test name="mirror_mirror_nearest_not_divisible" />
-<Test name="clamp_clamp_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_not_divisible" />
-<Test name="mirror_repeat_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_divisible" />
-<Test name="repeat_mirror_nearest_divisible" />
-<Test name="mirror_clamp_linear_divisible" />
-<Test name="mirror_mirror_linear_not_divisible" />
-<Test name="repeat_clamp_linear_divisible" />
-<Test name="mirror_repeat_nearest_divisible" />
-<Test name="clamp_mirror_linear_divisible" />
-</TestCase>
-<TestCase name="astc_5x4_srgb">
-<Test name="clamp_repeat_linear_not_divisible" />
-<Test name="clamp_clamp_nearest_not_divisible" />
-<Test name="clamp_clamp_nearest_divisible" />
-<Test name="clamp_mirror_nearest_not_divisible" />
-<Test name="repeat_mirror_linear_not_divisible" />
-<Test name="repeat_repeat_linear_divisible" />
-<Test name="mirror_repeat_nearest_not_divisible" />
-<Test name="repeat_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_not_divisible" />
-<Test name="mirror_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_divisible" />
-<Test name="clamp_mirror_nearest_divisible" />
-<Test name="mirror_repeat_linear_divisible" />
-<Test name="clamp_clamp_linear_divisible" />
-<Test name="mirror_clamp_nearest_divisible" />
-<Test name="repeat_mirror_linear_divisible" />
-<Test name="mirror_mirror_linear_divisible" />
-<Test name="mirror_mirror_nearest_divisible" />
-<Test name="repeat_clamp_nearest_not_divisible" />
-<Test name="repeat_repeat_linear_not_divisible" />
-<Test name="repeat_clamp_nearest_divisible" />
-<Test name="clamp_mirror_linear_not_divisible" />
-<Test name="repeat_mirror_nearest_not_divisible" />
-<Test name="clamp_repeat_linear_divisible" />
-<Test name="mirror_clamp_nearest_not_divisible" />
-<Test name="mirror_mirror_nearest_not_divisible" />
-<Test name="clamp_clamp_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_not_divisible" />
-<Test name="mirror_repeat_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_divisible" />
-<Test name="repeat_mirror_nearest_divisible" />
-<Test name="mirror_clamp_linear_divisible" />
-<Test name="mirror_mirror_linear_not_divisible" />
-<Test name="repeat_clamp_linear_divisible" />
-<Test name="mirror_repeat_nearest_divisible" />
-<Test name="clamp_mirror_linear_divisible" />
-</TestCase>
-<TestCase name="rgba8">
-<Test name="mirror_clamp_linear_pot" />
-<Test name="repeat_repeat_linear_pot" />
-<Test name="mirror_repeat_nearest_npot" />
-<Test name="mirror_clamp_linear_npot" />
-<Test name="mirror_mirror_nearest_npot" />
-<Test name="repeat_mirror_nearest_pot" />
-<Test name="repeat_repeat_nearest_pot" />
-<Test name="clamp_clamp_linear_npot" />
-<Test name="clamp_mirror_linear_npot" />
-<Test name="repeat_mirror_linear_pot" />
-<Test name="repeat_repeat_nearest_npot" />
-<Test name="mirror_clamp_nearest_pot" />
-<Test name="clamp_clamp_linear_pot" />
-<Test name="repeat_clamp_nearest_npot" />
-<Test name="repeat_mirror_nearest_npot" />
-<Test name="mirror_repeat_linear_npot" />
-<Test name="clamp_repeat_linear_npot" />
-<Test name="clamp_clamp_nearest_pot" />
-<Test name="mirror_mirror_linear_pot" />
-<Test name="mirror_repeat_linear_pot" />
-<Test name="clamp_clamp_nearest_npot" />
-<Test name="clamp_repeat_linear_pot" />
-<Test name="mirror_clamp_nearest_npot" />
-<Test name="mirror_mirror_linear_npot" />
-<Test name="clamp_mirror_nearest_pot" />
-<Test name="clamp_repeat_nearest_pot" />
-<Test name="repeat_clamp_linear_npot" />
-<Test name="repeat_mirror_linear_npot" />
-<Test name="mirror_repeat_nearest_pot" />
-<Test name="repeat_clamp_linear_pot" />
-<Test name="clamp_repeat_nearest_npot" />
-<Test name="clamp_mirror_linear_pot" />
-<Test name="repeat_clamp_nearest_pot" />
-<Test name="clamp_mirror_nearest_npot" />
-<Test name="repeat_repeat_linear_npot" />
-<Test name="mirror_mirror_nearest_pot" />
-</TestCase>
-<TestCase name="etc2_eac_rgba8">
-<Test name="mirror_clamp_linear_pot" />
-<Test name="repeat_repeat_linear_pot" />
-<Test name="mirror_repeat_nearest_npot" />
-<Test name="mirror_clamp_linear_npot" />
-<Test name="mirror_mirror_nearest_npot" />
-<Test name="repeat_mirror_nearest_pot" />
-<Test name="repeat_repeat_nearest_pot" />
-<Test name="clamp_clamp_linear_npot" />
-<Test name="clamp_mirror_linear_npot" />
-<Test name="repeat_mirror_linear_pot" />
-<Test name="repeat_repeat_nearest_npot" />
-<Test name="mirror_clamp_nearest_pot" />
-<Test name="clamp_clamp_linear_pot" />
-<Test name="repeat_clamp_nearest_npot" />
-<Test name="repeat_mirror_nearest_npot" />
-<Test name="mirror_repeat_linear_npot" />
-<Test name="clamp_repeat_linear_npot" />
-<Test name="clamp_clamp_nearest_pot" />
-<Test name="mirror_mirror_linear_pot" />
-<Test name="mirror_repeat_linear_pot" />
-<Test name="clamp_clamp_nearest_npot" />
-<Test name="clamp_repeat_linear_pot" />
-<Test name="mirror_clamp_nearest_npot" />
-<Test name="mirror_mirror_linear_npot" />
-<Test name="clamp_mirror_nearest_pot" />
-<Test name="clamp_repeat_nearest_pot" />
-<Test name="repeat_clamp_linear_npot" />
-<Test name="repeat_mirror_linear_npot" />
-<Test name="mirror_repeat_nearest_pot" />
-<Test name="repeat_clamp_linear_pot" />
-<Test name="clamp_repeat_nearest_npot" />
-<Test name="clamp_mirror_linear_pot" />
-<Test name="repeat_clamp_nearest_pot" />
-<Test name="clamp_mirror_nearest_npot" />
-<Test name="repeat_repeat_linear_npot" />
-<Test name="mirror_mirror_nearest_pot" />
-</TestCase>
-<TestCase name="astc_12x12_srgb">
-<Test name="clamp_repeat_linear_not_divisible" />
-<Test name="clamp_clamp_nearest_not_divisible" />
-<Test name="clamp_clamp_nearest_divisible" />
-<Test name="clamp_mirror_nearest_not_divisible" />
-<Test name="repeat_mirror_linear_not_divisible" />
-<Test name="repeat_repeat_linear_divisible" />
-<Test name="mirror_repeat_nearest_not_divisible" />
-<Test name="repeat_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_not_divisible" />
-<Test name="mirror_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_divisible" />
-<Test name="clamp_mirror_nearest_divisible" />
-<Test name="mirror_repeat_linear_divisible" />
-<Test name="clamp_clamp_linear_divisible" />
-<Test name="mirror_clamp_nearest_divisible" />
-<Test name="repeat_mirror_linear_divisible" />
-<Test name="mirror_mirror_linear_divisible" />
-<Test name="mirror_mirror_nearest_divisible" />
-<Test name="repeat_clamp_nearest_not_divisible" />
-<Test name="repeat_repeat_linear_not_divisible" />
-<Test name="repeat_clamp_nearest_divisible" />
-<Test name="clamp_mirror_linear_not_divisible" />
-<Test name="repeat_mirror_nearest_not_divisible" />
-<Test name="clamp_repeat_linear_divisible" />
-<Test name="mirror_clamp_nearest_not_divisible" />
-<Test name="mirror_mirror_nearest_not_divisible" />
-<Test name="clamp_clamp_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_not_divisible" />
-<Test name="mirror_repeat_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_divisible" />
-<Test name="repeat_mirror_nearest_divisible" />
-<Test name="mirror_clamp_linear_divisible" />
-<Test name="mirror_mirror_linear_not_divisible" />
-<Test name="repeat_clamp_linear_divisible" />
-<Test name="mirror_repeat_nearest_divisible" />
-<Test name="clamp_mirror_linear_divisible" />
-</TestCase>
-<TestCase name="astc_10x5_srgb">
-<Test name="clamp_repeat_linear_not_divisible" />
-<Test name="clamp_clamp_nearest_not_divisible" />
-<Test name="clamp_clamp_nearest_divisible" />
-<Test name="clamp_mirror_nearest_not_divisible" />
-<Test name="repeat_mirror_linear_not_divisible" />
-<Test name="repeat_repeat_linear_divisible" />
-<Test name="mirror_repeat_nearest_not_divisible" />
-<Test name="repeat_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_not_divisible" />
-<Test name="mirror_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_divisible" />
-<Test name="clamp_mirror_nearest_divisible" />
-<Test name="mirror_repeat_linear_divisible" />
-<Test name="clamp_clamp_linear_divisible" />
-<Test name="mirror_clamp_nearest_divisible" />
-<Test name="repeat_mirror_linear_divisible" />
-<Test name="mirror_mirror_linear_divisible" />
-<Test name="mirror_mirror_nearest_divisible" />
-<Test name="repeat_clamp_nearest_not_divisible" />
-<Test name="repeat_repeat_linear_not_divisible" />
-<Test name="repeat_clamp_nearest_divisible" />
-<Test name="clamp_mirror_linear_not_divisible" />
-<Test name="repeat_mirror_nearest_not_divisible" />
-<Test name="clamp_repeat_linear_divisible" />
-<Test name="mirror_clamp_nearest_not_divisible" />
-<Test name="mirror_mirror_nearest_not_divisible" />
-<Test name="clamp_clamp_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_not_divisible" />
-<Test name="mirror_repeat_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_divisible" />
-<Test name="repeat_mirror_nearest_divisible" />
-<Test name="mirror_clamp_linear_divisible" />
-<Test name="mirror_mirror_linear_not_divisible" />
-<Test name="repeat_clamp_linear_divisible" />
-<Test name="mirror_repeat_nearest_divisible" />
-<Test name="clamp_mirror_linear_divisible" />
-</TestCase>
-<TestCase name="astc_8x8_srgb">
-<Test name="clamp_repeat_linear_not_divisible" />
-<Test name="clamp_clamp_nearest_not_divisible" />
-<Test name="clamp_clamp_nearest_divisible" />
-<Test name="clamp_mirror_nearest_not_divisible" />
-<Test name="repeat_mirror_linear_not_divisible" />
-<Test name="repeat_repeat_linear_divisible" />
-<Test name="mirror_repeat_nearest_not_divisible" />
-<Test name="repeat_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_not_divisible" />
-<Test name="mirror_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_divisible" />
-<Test name="clamp_mirror_nearest_divisible" />
-<Test name="mirror_repeat_linear_divisible" />
-<Test name="clamp_clamp_linear_divisible" />
-<Test name="mirror_clamp_nearest_divisible" />
-<Test name="repeat_mirror_linear_divisible" />
-<Test name="mirror_mirror_linear_divisible" />
-<Test name="mirror_mirror_nearest_divisible" />
-<Test name="repeat_clamp_nearest_not_divisible" />
-<Test name="repeat_repeat_linear_not_divisible" />
-<Test name="repeat_clamp_nearest_divisible" />
-<Test name="clamp_mirror_linear_not_divisible" />
-<Test name="repeat_mirror_nearest_not_divisible" />
-<Test name="clamp_repeat_linear_divisible" />
-<Test name="mirror_clamp_nearest_not_divisible" />
-<Test name="mirror_mirror_nearest_not_divisible" />
-<Test name="clamp_clamp_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_not_divisible" />
-<Test name="mirror_repeat_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_divisible" />
-<Test name="repeat_mirror_nearest_divisible" />
-<Test name="mirror_clamp_linear_divisible" />
-<Test name="mirror_mirror_linear_not_divisible" />
-<Test name="repeat_clamp_linear_divisible" />
-<Test name="mirror_repeat_nearest_divisible" />
-<Test name="clamp_mirror_linear_divisible" />
-</TestCase>
-<TestCase name="astc_10x8">
-<Test name="clamp_repeat_linear_not_divisible" />
-<Test name="clamp_clamp_nearest_not_divisible" />
-<Test name="clamp_clamp_nearest_divisible" />
-<Test name="clamp_mirror_nearest_not_divisible" />
-<Test name="repeat_mirror_linear_not_divisible" />
-<Test name="repeat_repeat_linear_divisible" />
-<Test name="mirror_repeat_nearest_not_divisible" />
-<Test name="repeat_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_not_divisible" />
-<Test name="mirror_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_divisible" />
-<Test name="clamp_mirror_nearest_divisible" />
-<Test name="mirror_repeat_linear_divisible" />
-<Test name="clamp_clamp_linear_divisible" />
-<Test name="mirror_clamp_nearest_divisible" />
-<Test name="repeat_mirror_linear_divisible" />
-<Test name="mirror_mirror_linear_divisible" />
-<Test name="mirror_mirror_nearest_divisible" />
-<Test name="repeat_clamp_nearest_not_divisible" />
-<Test name="repeat_repeat_linear_not_divisible" />
-<Test name="repeat_clamp_nearest_divisible" />
-<Test name="clamp_mirror_linear_not_divisible" />
-<Test name="repeat_mirror_nearest_not_divisible" />
-<Test name="clamp_repeat_linear_divisible" />
-<Test name="mirror_clamp_nearest_not_divisible" />
-<Test name="mirror_mirror_nearest_not_divisible" />
-<Test name="clamp_clamp_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_not_divisible" />
-<Test name="mirror_repeat_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_divisible" />
-<Test name="repeat_mirror_nearest_divisible" />
-<Test name="mirror_clamp_linear_divisible" />
-<Test name="mirror_mirror_linear_not_divisible" />
-<Test name="repeat_clamp_linear_divisible" />
-<Test name="mirror_repeat_nearest_divisible" />
-<Test name="clamp_mirror_linear_divisible" />
-</TestCase>
-<TestCase name="astc_10x8_srgb">
-<Test name="clamp_repeat_linear_not_divisible" />
-<Test name="clamp_clamp_nearest_not_divisible" />
-<Test name="clamp_clamp_nearest_divisible" />
-<Test name="clamp_mirror_nearest_not_divisible" />
-<Test name="repeat_mirror_linear_not_divisible" />
-<Test name="repeat_repeat_linear_divisible" />
-<Test name="mirror_repeat_nearest_not_divisible" />
-<Test name="repeat_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_not_divisible" />
-<Test name="mirror_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_divisible" />
-<Test name="clamp_mirror_nearest_divisible" />
-<Test name="mirror_repeat_linear_divisible" />
-<Test name="clamp_clamp_linear_divisible" />
-<Test name="mirror_clamp_nearest_divisible" />
-<Test name="repeat_mirror_linear_divisible" />
-<Test name="mirror_mirror_linear_divisible" />
-<Test name="mirror_mirror_nearest_divisible" />
-<Test name="repeat_clamp_nearest_not_divisible" />
-<Test name="repeat_repeat_linear_not_divisible" />
-<Test name="repeat_clamp_nearest_divisible" />
-<Test name="clamp_mirror_linear_not_divisible" />
-<Test name="repeat_mirror_nearest_not_divisible" />
-<Test name="clamp_repeat_linear_divisible" />
-<Test name="mirror_clamp_nearest_not_divisible" />
-<Test name="mirror_mirror_nearest_not_divisible" />
-<Test name="clamp_clamp_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_not_divisible" />
-<Test name="mirror_repeat_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_divisible" />
-<Test name="repeat_mirror_nearest_divisible" />
-<Test name="mirror_clamp_linear_divisible" />
-<Test name="mirror_mirror_linear_not_divisible" />
-<Test name="repeat_clamp_linear_divisible" />
-<Test name="mirror_repeat_nearest_divisible" />
-<Test name="clamp_mirror_linear_divisible" />
-</TestCase>
-<TestCase name="astc_12x10">
-<Test name="clamp_repeat_linear_not_divisible" />
-<Test name="clamp_clamp_nearest_not_divisible" />
-<Test name="clamp_clamp_nearest_divisible" />
-<Test name="clamp_mirror_nearest_not_divisible" />
-<Test name="repeat_mirror_linear_not_divisible" />
-<Test name="repeat_repeat_linear_divisible" />
-<Test name="mirror_repeat_nearest_not_divisible" />
-<Test name="repeat_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_not_divisible" />
-<Test name="mirror_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_divisible" />
-<Test name="clamp_mirror_nearest_divisible" />
-<Test name="mirror_repeat_linear_divisible" />
-<Test name="clamp_clamp_linear_divisible" />
-<Test name="mirror_clamp_nearest_divisible" />
-<Test name="repeat_mirror_linear_divisible" />
-<Test name="mirror_mirror_linear_divisible" />
-<Test name="mirror_mirror_nearest_divisible" />
-<Test name="repeat_clamp_nearest_not_divisible" />
-<Test name="repeat_repeat_linear_not_divisible" />
-<Test name="repeat_clamp_nearest_divisible" />
-<Test name="clamp_mirror_linear_not_divisible" />
-<Test name="repeat_mirror_nearest_not_divisible" />
-<Test name="clamp_repeat_linear_divisible" />
-<Test name="mirror_clamp_nearest_not_divisible" />
-<Test name="mirror_mirror_nearest_not_divisible" />
-<Test name="clamp_clamp_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_not_divisible" />
-<Test name="mirror_repeat_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_divisible" />
-<Test name="repeat_mirror_nearest_divisible" />
-<Test name="mirror_clamp_linear_divisible" />
-<Test name="mirror_mirror_linear_not_divisible" />
-<Test name="repeat_clamp_linear_divisible" />
-<Test name="mirror_repeat_nearest_divisible" />
-<Test name="clamp_mirror_linear_divisible" />
-</TestCase>
-<TestCase name="astc_10x5">
-<Test name="clamp_repeat_linear_not_divisible" />
-<Test name="clamp_clamp_nearest_not_divisible" />
-<Test name="clamp_clamp_nearest_divisible" />
-<Test name="clamp_mirror_nearest_not_divisible" />
-<Test name="repeat_mirror_linear_not_divisible" />
-<Test name="repeat_repeat_linear_divisible" />
-<Test name="mirror_repeat_nearest_not_divisible" />
-<Test name="repeat_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_not_divisible" />
-<Test name="mirror_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_divisible" />
-<Test name="clamp_mirror_nearest_divisible" />
-<Test name="mirror_repeat_linear_divisible" />
-<Test name="clamp_clamp_linear_divisible" />
-<Test name="mirror_clamp_nearest_divisible" />
-<Test name="repeat_mirror_linear_divisible" />
-<Test name="mirror_mirror_linear_divisible" />
-<Test name="mirror_mirror_nearest_divisible" />
-<Test name="repeat_clamp_nearest_not_divisible" />
-<Test name="repeat_repeat_linear_not_divisible" />
-<Test name="repeat_clamp_nearest_divisible" />
-<Test name="clamp_mirror_linear_not_divisible" />
-<Test name="repeat_mirror_nearest_not_divisible" />
-<Test name="clamp_repeat_linear_divisible" />
-<Test name="mirror_clamp_nearest_not_divisible" />
-<Test name="mirror_mirror_nearest_not_divisible" />
-<Test name="clamp_clamp_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_not_divisible" />
-<Test name="mirror_repeat_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_divisible" />
-<Test name="repeat_mirror_nearest_divisible" />
-<Test name="mirror_clamp_linear_divisible" />
-<Test name="mirror_mirror_linear_not_divisible" />
-<Test name="repeat_clamp_linear_divisible" />
-<Test name="mirror_repeat_nearest_divisible" />
-<Test name="clamp_mirror_linear_divisible" />
-</TestCase>
-<TestCase name="astc_10x6">
-<Test name="clamp_repeat_linear_not_divisible" />
-<Test name="clamp_clamp_nearest_not_divisible" />
-<Test name="clamp_clamp_nearest_divisible" />
-<Test name="clamp_mirror_nearest_not_divisible" />
-<Test name="repeat_mirror_linear_not_divisible" />
-<Test name="repeat_repeat_linear_divisible" />
-<Test name="mirror_repeat_nearest_not_divisible" />
-<Test name="repeat_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_not_divisible" />
-<Test name="mirror_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_divisible" />
-<Test name="clamp_mirror_nearest_divisible" />
-<Test name="mirror_repeat_linear_divisible" />
-<Test name="clamp_clamp_linear_divisible" />
-<Test name="mirror_clamp_nearest_divisible" />
-<Test name="repeat_mirror_linear_divisible" />
-<Test name="mirror_mirror_linear_divisible" />
-<Test name="mirror_mirror_nearest_divisible" />
-<Test name="repeat_clamp_nearest_not_divisible" />
-<Test name="repeat_repeat_linear_not_divisible" />
-<Test name="repeat_clamp_nearest_divisible" />
-<Test name="clamp_mirror_linear_not_divisible" />
-<Test name="repeat_mirror_nearest_not_divisible" />
-<Test name="clamp_repeat_linear_divisible" />
-<Test name="mirror_clamp_nearest_not_divisible" />
-<Test name="mirror_mirror_nearest_not_divisible" />
-<Test name="clamp_clamp_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_not_divisible" />
-<Test name="mirror_repeat_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_divisible" />
-<Test name="repeat_mirror_nearest_divisible" />
-<Test name="mirror_clamp_linear_divisible" />
-<Test name="mirror_mirror_linear_not_divisible" />
-<Test name="repeat_clamp_linear_divisible" />
-<Test name="mirror_repeat_nearest_divisible" />
-<Test name="clamp_mirror_linear_divisible" />
-</TestCase>
-<TestCase name="astc_10x10_srgb">
-<Test name="clamp_repeat_linear_not_divisible" />
-<Test name="clamp_clamp_nearest_not_divisible" />
-<Test name="clamp_clamp_nearest_divisible" />
-<Test name="clamp_mirror_nearest_not_divisible" />
-<Test name="repeat_mirror_linear_not_divisible" />
-<Test name="repeat_repeat_linear_divisible" />
-<Test name="mirror_repeat_nearest_not_divisible" />
-<Test name="repeat_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_not_divisible" />
-<Test name="mirror_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_divisible" />
-<Test name="clamp_mirror_nearest_divisible" />
-<Test name="mirror_repeat_linear_divisible" />
-<Test name="clamp_clamp_linear_divisible" />
-<Test name="mirror_clamp_nearest_divisible" />
-<Test name="repeat_mirror_linear_divisible" />
-<Test name="mirror_mirror_linear_divisible" />
-<Test name="mirror_mirror_nearest_divisible" />
-<Test name="repeat_clamp_nearest_not_divisible" />
-<Test name="repeat_repeat_linear_not_divisible" />
-<Test name="repeat_clamp_nearest_divisible" />
-<Test name="clamp_mirror_linear_not_divisible" />
-<Test name="repeat_mirror_nearest_not_divisible" />
-<Test name="clamp_repeat_linear_divisible" />
-<Test name="mirror_clamp_nearest_not_divisible" />
-<Test name="mirror_mirror_nearest_not_divisible" />
-<Test name="clamp_clamp_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_not_divisible" />
-<Test name="mirror_repeat_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_divisible" />
-<Test name="repeat_mirror_nearest_divisible" />
-<Test name="mirror_clamp_linear_divisible" />
-<Test name="mirror_mirror_linear_not_divisible" />
-<Test name="repeat_clamp_linear_divisible" />
-<Test name="mirror_repeat_nearest_divisible" />
-<Test name="clamp_mirror_linear_divisible" />
-</TestCase>
-<TestCase name="etc2_srgb8_punchthrough_alpha1">
-<Test name="mirror_clamp_linear_pot" />
-<Test name="repeat_repeat_linear_pot" />
-<Test name="mirror_repeat_nearest_npot" />
-<Test name="mirror_clamp_linear_npot" />
-<Test name="mirror_mirror_nearest_npot" />
-<Test name="repeat_mirror_nearest_pot" />
-<Test name="repeat_repeat_nearest_pot" />
-<Test name="clamp_clamp_linear_npot" />
-<Test name="clamp_mirror_linear_npot" />
-<Test name="repeat_mirror_linear_pot" />
-<Test name="repeat_repeat_nearest_npot" />
-<Test name="mirror_clamp_nearest_pot" />
-<Test name="clamp_clamp_linear_pot" />
-<Test name="repeat_clamp_nearest_npot" />
-<Test name="repeat_mirror_nearest_npot" />
-<Test name="mirror_repeat_linear_npot" />
-<Test name="clamp_repeat_linear_npot" />
-<Test name="clamp_clamp_nearest_pot" />
-<Test name="mirror_mirror_linear_pot" />
-<Test name="mirror_repeat_linear_pot" />
-<Test name="clamp_clamp_nearest_npot" />
-<Test name="clamp_repeat_linear_pot" />
-<Test name="mirror_clamp_nearest_npot" />
-<Test name="mirror_mirror_linear_npot" />
-<Test name="clamp_mirror_nearest_pot" />
-<Test name="clamp_repeat_nearest_pot" />
-<Test name="repeat_clamp_linear_npot" />
-<Test name="repeat_mirror_linear_npot" />
-<Test name="mirror_repeat_nearest_pot" />
-<Test name="repeat_clamp_linear_pot" />
-<Test name="clamp_repeat_nearest_npot" />
-<Test name="clamp_mirror_linear_pot" />
-<Test name="repeat_clamp_nearest_pot" />
-<Test name="clamp_mirror_nearest_npot" />
-<Test name="repeat_repeat_linear_npot" />
-<Test name="mirror_mirror_nearest_pot" />
-</TestCase>
-<TestCase name="astc_8x6_srgb">
-<Test name="clamp_repeat_linear_not_divisible" />
-<Test name="clamp_clamp_nearest_not_divisible" />
-<Test name="clamp_clamp_nearest_divisible" />
-<Test name="clamp_mirror_nearest_not_divisible" />
-<Test name="repeat_mirror_linear_not_divisible" />
-<Test name="repeat_repeat_linear_divisible" />
-<Test name="mirror_repeat_nearest_not_divisible" />
-<Test name="repeat_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_not_divisible" />
-<Test name="mirror_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_divisible" />
-<Test name="clamp_mirror_nearest_divisible" />
-<Test name="mirror_repeat_linear_divisible" />
-<Test name="clamp_clamp_linear_divisible" />
-<Test name="mirror_clamp_nearest_divisible" />
-<Test name="repeat_mirror_linear_divisible" />
-<Test name="mirror_mirror_linear_divisible" />
-<Test name="mirror_mirror_nearest_divisible" />
-<Test name="repeat_clamp_nearest_not_divisible" />
-<Test name="repeat_repeat_linear_not_divisible" />
-<Test name="repeat_clamp_nearest_divisible" />
-<Test name="clamp_mirror_linear_not_divisible" />
-<Test name="repeat_mirror_nearest_not_divisible" />
-<Test name="clamp_repeat_linear_divisible" />
-<Test name="mirror_clamp_nearest_not_divisible" />
-<Test name="mirror_mirror_nearest_not_divisible" />
-<Test name="clamp_clamp_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_not_divisible" />
-<Test name="mirror_repeat_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_divisible" />
-<Test name="repeat_mirror_nearest_divisible" />
-<Test name="mirror_clamp_linear_divisible" />
-<Test name="mirror_mirror_linear_not_divisible" />
-<Test name="repeat_clamp_linear_divisible" />
-<Test name="mirror_repeat_nearest_divisible" />
-<Test name="clamp_mirror_linear_divisible" />
-</TestCase>
-<TestCase name="astc_8x8">
-<Test name="clamp_repeat_linear_not_divisible" />
-<Test name="clamp_clamp_nearest_not_divisible" />
-<Test name="clamp_clamp_nearest_divisible" />
-<Test name="clamp_mirror_nearest_not_divisible" />
-<Test name="repeat_mirror_linear_not_divisible" />
-<Test name="repeat_repeat_linear_divisible" />
-<Test name="mirror_repeat_nearest_not_divisible" />
-<Test name="repeat_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_not_divisible" />
-<Test name="mirror_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_divisible" />
-<Test name="clamp_mirror_nearest_divisible" />
-<Test name="mirror_repeat_linear_divisible" />
-<Test name="clamp_clamp_linear_divisible" />
-<Test name="mirror_clamp_nearest_divisible" />
-<Test name="repeat_mirror_linear_divisible" />
-<Test name="mirror_mirror_linear_divisible" />
-<Test name="mirror_mirror_nearest_divisible" />
-<Test name="repeat_clamp_nearest_not_divisible" />
-<Test name="repeat_repeat_linear_not_divisible" />
-<Test name="repeat_clamp_nearest_divisible" />
-<Test name="clamp_mirror_linear_not_divisible" />
-<Test name="repeat_mirror_nearest_not_divisible" />
-<Test name="clamp_repeat_linear_divisible" />
-<Test name="mirror_clamp_nearest_not_divisible" />
-<Test name="mirror_mirror_nearest_not_divisible" />
-<Test name="clamp_clamp_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_not_divisible" />
-<Test name="mirror_repeat_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_divisible" />
-<Test name="repeat_mirror_nearest_divisible" />
-<Test name="mirror_clamp_linear_divisible" />
-<Test name="mirror_mirror_linear_not_divisible" />
-<Test name="repeat_clamp_linear_divisible" />
-<Test name="mirror_repeat_nearest_divisible" />
-<Test name="clamp_mirror_linear_divisible" />
-</TestCase>
-<TestCase name="astc_8x6">
-<Test name="clamp_repeat_linear_not_divisible" />
-<Test name="clamp_clamp_nearest_not_divisible" />
-<Test name="clamp_clamp_nearest_divisible" />
-<Test name="clamp_mirror_nearest_not_divisible" />
-<Test name="repeat_mirror_linear_not_divisible" />
-<Test name="repeat_repeat_linear_divisible" />
-<Test name="mirror_repeat_nearest_not_divisible" />
-<Test name="repeat_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_not_divisible" />
-<Test name="mirror_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_divisible" />
-<Test name="clamp_mirror_nearest_divisible" />
-<Test name="mirror_repeat_linear_divisible" />
-<Test name="clamp_clamp_linear_divisible" />
-<Test name="mirror_clamp_nearest_divisible" />
-<Test name="repeat_mirror_linear_divisible" />
-<Test name="mirror_mirror_linear_divisible" />
-<Test name="mirror_mirror_nearest_divisible" />
-<Test name="repeat_clamp_nearest_not_divisible" />
-<Test name="repeat_repeat_linear_not_divisible" />
-<Test name="repeat_clamp_nearest_divisible" />
-<Test name="clamp_mirror_linear_not_divisible" />
-<Test name="repeat_mirror_nearest_not_divisible" />
-<Test name="clamp_repeat_linear_divisible" />
-<Test name="mirror_clamp_nearest_not_divisible" />
-<Test name="mirror_mirror_nearest_not_divisible" />
-<Test name="clamp_clamp_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_not_divisible" />
-<Test name="mirror_repeat_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_divisible" />
-<Test name="repeat_mirror_nearest_divisible" />
-<Test name="mirror_clamp_linear_divisible" />
-<Test name="mirror_mirror_linear_not_divisible" />
-<Test name="repeat_clamp_linear_divisible" />
-<Test name="mirror_repeat_nearest_divisible" />
-<Test name="clamp_mirror_linear_divisible" />
-</TestCase>
-<TestCase name="astc_8x5">
-<Test name="clamp_repeat_linear_not_divisible" />
-<Test name="clamp_clamp_nearest_not_divisible" />
-<Test name="clamp_clamp_nearest_divisible" />
-<Test name="clamp_mirror_nearest_not_divisible" />
-<Test name="repeat_mirror_linear_not_divisible" />
-<Test name="repeat_repeat_linear_divisible" />
-<Test name="mirror_repeat_nearest_not_divisible" />
-<Test name="repeat_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_not_divisible" />
-<Test name="mirror_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_divisible" />
-<Test name="clamp_mirror_nearest_divisible" />
-<Test name="mirror_repeat_linear_divisible" />
-<Test name="clamp_clamp_linear_divisible" />
-<Test name="mirror_clamp_nearest_divisible" />
-<Test name="repeat_mirror_linear_divisible" />
-<Test name="mirror_mirror_linear_divisible" />
-<Test name="mirror_mirror_nearest_divisible" />
-<Test name="repeat_clamp_nearest_not_divisible" />
-<Test name="repeat_repeat_linear_not_divisible" />
-<Test name="repeat_clamp_nearest_divisible" />
-<Test name="clamp_mirror_linear_not_divisible" />
-<Test name="repeat_mirror_nearest_not_divisible" />
-<Test name="clamp_repeat_linear_divisible" />
-<Test name="mirror_clamp_nearest_not_divisible" />
-<Test name="mirror_mirror_nearest_not_divisible" />
-<Test name="clamp_clamp_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_not_divisible" />
-<Test name="mirror_repeat_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_divisible" />
-<Test name="repeat_mirror_nearest_divisible" />
-<Test name="mirror_clamp_linear_divisible" />
-<Test name="mirror_mirror_linear_not_divisible" />
-<Test name="repeat_clamp_linear_divisible" />
-<Test name="mirror_repeat_nearest_divisible" />
-<Test name="clamp_mirror_linear_divisible" />
-</TestCase>
-<TestCase name="astc_10x6_srgb">
-<Test name="clamp_repeat_linear_not_divisible" />
-<Test name="clamp_clamp_nearest_not_divisible" />
-<Test name="clamp_clamp_nearest_divisible" />
-<Test name="clamp_mirror_nearest_not_divisible" />
-<Test name="repeat_mirror_linear_not_divisible" />
-<Test name="repeat_repeat_linear_divisible" />
-<Test name="mirror_repeat_nearest_not_divisible" />
-<Test name="repeat_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_not_divisible" />
-<Test name="mirror_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_divisible" />
-<Test name="clamp_mirror_nearest_divisible" />
-<Test name="mirror_repeat_linear_divisible" />
-<Test name="clamp_clamp_linear_divisible" />
-<Test name="mirror_clamp_nearest_divisible" />
-<Test name="repeat_mirror_linear_divisible" />
-<Test name="mirror_mirror_linear_divisible" />
-<Test name="mirror_mirror_nearest_divisible" />
-<Test name="repeat_clamp_nearest_not_divisible" />
-<Test name="repeat_repeat_linear_not_divisible" />
-<Test name="repeat_clamp_nearest_divisible" />
-<Test name="clamp_mirror_linear_not_divisible" />
-<Test name="repeat_mirror_nearest_not_divisible" />
-<Test name="clamp_repeat_linear_divisible" />
-<Test name="mirror_clamp_nearest_not_divisible" />
-<Test name="mirror_mirror_nearest_not_divisible" />
-<Test name="clamp_clamp_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_not_divisible" />
-<Test name="mirror_repeat_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_divisible" />
-<Test name="repeat_mirror_nearest_divisible" />
-<Test name="mirror_clamp_linear_divisible" />
-<Test name="mirror_mirror_linear_not_divisible" />
-<Test name="repeat_clamp_linear_divisible" />
-<Test name="mirror_repeat_nearest_divisible" />
-<Test name="clamp_mirror_linear_divisible" />
-</TestCase>
-<TestCase name="etc1">
-<Test name="mirror_clamp_linear_pot" />
-<Test name="repeat_repeat_linear_pot" />
-<Test name="mirror_repeat_nearest_npot" />
-<Test name="mirror_clamp_linear_npot" />
-<Test name="mirror_mirror_nearest_npot" />
-<Test name="repeat_mirror_nearest_pot" />
-<Test name="repeat_repeat_nearest_pot" />
-<Test name="clamp_clamp_linear_npot" />
-<Test name="clamp_mirror_linear_npot" />
-<Test name="repeat_mirror_linear_pot" />
-<Test name="repeat_repeat_nearest_npot" />
-<Test name="mirror_clamp_nearest_pot" />
-<Test name="clamp_clamp_linear_pot" />
-<Test name="repeat_clamp_nearest_npot" />
-<Test name="repeat_mirror_nearest_npot" />
-<Test name="mirror_repeat_linear_npot" />
-<Test name="clamp_repeat_linear_npot" />
-<Test name="clamp_clamp_nearest_pot" />
-<Test name="mirror_mirror_linear_pot" />
-<Test name="mirror_repeat_linear_pot" />
-<Test name="clamp_clamp_nearest_npot" />
-<Test name="clamp_repeat_linear_pot" />
-<Test name="mirror_clamp_nearest_npot" />
-<Test name="mirror_mirror_linear_npot" />
-<Test name="clamp_mirror_nearest_pot" />
-<Test name="clamp_repeat_nearest_pot" />
-<Test name="repeat_clamp_linear_npot" />
-<Test name="repeat_mirror_linear_npot" />
-<Test name="mirror_repeat_nearest_pot" />
-<Test name="repeat_clamp_linear_pot" />
-<Test name="clamp_repeat_nearest_npot" />
-<Test name="clamp_mirror_linear_pot" />
-<Test name="repeat_clamp_nearest_pot" />
-<Test name="clamp_mirror_nearest_npot" />
-<Test name="repeat_repeat_linear_npot" />
-<Test name="mirror_mirror_nearest_pot" />
-</TestCase>
-<TestCase name="astc_6x5">
-<Test name="clamp_repeat_linear_not_divisible" />
-<Test name="clamp_clamp_nearest_not_divisible" />
-<Test name="clamp_clamp_nearest_divisible" />
-<Test name="clamp_mirror_nearest_not_divisible" />
-<Test name="repeat_mirror_linear_not_divisible" />
-<Test name="repeat_repeat_linear_divisible" />
-<Test name="mirror_repeat_nearest_not_divisible" />
-<Test name="repeat_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_not_divisible" />
-<Test name="mirror_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_divisible" />
-<Test name="clamp_mirror_nearest_divisible" />
-<Test name="mirror_repeat_linear_divisible" />
-<Test name="clamp_clamp_linear_divisible" />
-<Test name="mirror_clamp_nearest_divisible" />
-<Test name="repeat_mirror_linear_divisible" />
-<Test name="mirror_mirror_linear_divisible" />
-<Test name="mirror_mirror_nearest_divisible" />
-<Test name="repeat_clamp_nearest_not_divisible" />
-<Test name="repeat_repeat_linear_not_divisible" />
-<Test name="repeat_clamp_nearest_divisible" />
-<Test name="clamp_mirror_linear_not_divisible" />
-<Test name="repeat_mirror_nearest_not_divisible" />
-<Test name="clamp_repeat_linear_divisible" />
-<Test name="mirror_clamp_nearest_not_divisible" />
-<Test name="mirror_mirror_nearest_not_divisible" />
-<Test name="clamp_clamp_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_not_divisible" />
-<Test name="mirror_repeat_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_divisible" />
-<Test name="repeat_mirror_nearest_divisible" />
-<Test name="mirror_clamp_linear_divisible" />
-<Test name="mirror_mirror_linear_not_divisible" />
-<Test name="repeat_clamp_linear_divisible" />
-<Test name="mirror_repeat_nearest_divisible" />
-<Test name="clamp_mirror_linear_divisible" />
-</TestCase>
-<TestCase name="astc_6x6">
-<Test name="clamp_repeat_linear_not_divisible" />
-<Test name="clamp_clamp_nearest_not_divisible" />
-<Test name="clamp_clamp_nearest_divisible" />
-<Test name="clamp_mirror_nearest_not_divisible" />
-<Test name="repeat_mirror_linear_not_divisible" />
-<Test name="repeat_repeat_linear_divisible" />
-<Test name="mirror_repeat_nearest_not_divisible" />
-<Test name="repeat_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_not_divisible" />
-<Test name="mirror_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_divisible" />
-<Test name="clamp_mirror_nearest_divisible" />
-<Test name="mirror_repeat_linear_divisible" />
-<Test name="clamp_clamp_linear_divisible" />
-<Test name="mirror_clamp_nearest_divisible" />
-<Test name="repeat_mirror_linear_divisible" />
-<Test name="mirror_mirror_linear_divisible" />
-<Test name="mirror_mirror_nearest_divisible" />
-<Test name="repeat_clamp_nearest_not_divisible" />
-<Test name="repeat_repeat_linear_not_divisible" />
-<Test name="repeat_clamp_nearest_divisible" />
-<Test name="clamp_mirror_linear_not_divisible" />
-<Test name="repeat_mirror_nearest_not_divisible" />
-<Test name="clamp_repeat_linear_divisible" />
-<Test name="mirror_clamp_nearest_not_divisible" />
-<Test name="mirror_mirror_nearest_not_divisible" />
-<Test name="clamp_clamp_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_not_divisible" />
-<Test name="mirror_repeat_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_divisible" />
-<Test name="repeat_mirror_nearest_divisible" />
-<Test name="mirror_clamp_linear_divisible" />
-<Test name="mirror_mirror_linear_not_divisible" />
-<Test name="repeat_clamp_linear_divisible" />
-<Test name="mirror_repeat_nearest_divisible" />
-<Test name="clamp_mirror_linear_divisible" />
-</TestCase>
-<TestCase name="eac_r11">
-<Test name="mirror_clamp_linear_pot" />
-<Test name="repeat_repeat_linear_pot" />
-<Test name="mirror_repeat_nearest_npot" />
-<Test name="mirror_clamp_linear_npot" />
-<Test name="mirror_mirror_nearest_npot" />
-<Test name="repeat_mirror_nearest_pot" />
-<Test name="repeat_repeat_nearest_pot" />
-<Test name="clamp_clamp_linear_npot" />
-<Test name="clamp_mirror_linear_npot" />
-<Test name="repeat_mirror_linear_pot" />
-<Test name="repeat_repeat_nearest_npot" />
-<Test name="mirror_clamp_nearest_pot" />
-<Test name="clamp_clamp_linear_pot" />
-<Test name="repeat_clamp_nearest_npot" />
-<Test name="repeat_mirror_nearest_npot" />
-<Test name="mirror_repeat_linear_npot" />
-<Test name="clamp_repeat_linear_npot" />
-<Test name="clamp_clamp_nearest_pot" />
-<Test name="mirror_mirror_linear_pot" />
-<Test name="mirror_repeat_linear_pot" />
-<Test name="clamp_clamp_nearest_npot" />
-<Test name="clamp_repeat_linear_pot" />
-<Test name="mirror_clamp_nearest_npot" />
-<Test name="mirror_mirror_linear_npot" />
-<Test name="clamp_mirror_nearest_pot" />
-<Test name="clamp_repeat_nearest_pot" />
-<Test name="repeat_clamp_linear_npot" />
-<Test name="repeat_mirror_linear_npot" />
-<Test name="mirror_repeat_nearest_pot" />
-<Test name="repeat_clamp_linear_pot" />
-<Test name="clamp_repeat_nearest_npot" />
-<Test name="clamp_mirror_linear_pot" />
-<Test name="repeat_clamp_nearest_pot" />
-<Test name="clamp_mirror_nearest_npot" />
-<Test name="repeat_repeat_linear_npot" />
-<Test name="mirror_mirror_nearest_pot" />
-</TestCase>
-<TestCase name="astc_12x12">
-<Test name="clamp_repeat_linear_not_divisible" />
-<Test name="clamp_clamp_nearest_not_divisible" />
-<Test name="clamp_clamp_nearest_divisible" />
-<Test name="clamp_mirror_nearest_not_divisible" />
-<Test name="repeat_mirror_linear_not_divisible" />
-<Test name="repeat_repeat_linear_divisible" />
-<Test name="mirror_repeat_nearest_not_divisible" />
-<Test name="repeat_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_not_divisible" />
-<Test name="mirror_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_divisible" />
-<Test name="clamp_mirror_nearest_divisible" />
-<Test name="mirror_repeat_linear_divisible" />
-<Test name="clamp_clamp_linear_divisible" />
-<Test name="mirror_clamp_nearest_divisible" />
-<Test name="repeat_mirror_linear_divisible" />
-<Test name="mirror_mirror_linear_divisible" />
-<Test name="mirror_mirror_nearest_divisible" />
-<Test name="repeat_clamp_nearest_not_divisible" />
-<Test name="repeat_repeat_linear_not_divisible" />
-<Test name="repeat_clamp_nearest_divisible" />
-<Test name="clamp_mirror_linear_not_divisible" />
-<Test name="repeat_mirror_nearest_not_divisible" />
-<Test name="clamp_repeat_linear_divisible" />
-<Test name="mirror_clamp_nearest_not_divisible" />
-<Test name="mirror_mirror_nearest_not_divisible" />
-<Test name="clamp_clamp_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_not_divisible" />
-<Test name="mirror_repeat_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_divisible" />
-<Test name="repeat_mirror_nearest_divisible" />
-<Test name="mirror_clamp_linear_divisible" />
-<Test name="mirror_mirror_linear_not_divisible" />
-<Test name="repeat_clamp_linear_divisible" />
-<Test name="mirror_repeat_nearest_divisible" />
-<Test name="clamp_mirror_linear_divisible" />
-</TestCase>
-<TestCase name="etc2_rgb8_punchthrough_alpha1">
-<Test name="mirror_clamp_linear_pot" />
-<Test name="repeat_repeat_linear_pot" />
-<Test name="mirror_repeat_nearest_npot" />
-<Test name="mirror_clamp_linear_npot" />
-<Test name="mirror_mirror_nearest_npot" />
-<Test name="repeat_mirror_nearest_pot" />
-<Test name="repeat_repeat_nearest_pot" />
-<Test name="clamp_clamp_linear_npot" />
-<Test name="clamp_mirror_linear_npot" />
-<Test name="repeat_mirror_linear_pot" />
-<Test name="repeat_repeat_nearest_npot" />
-<Test name="mirror_clamp_nearest_pot" />
-<Test name="clamp_clamp_linear_pot" />
-<Test name="repeat_clamp_nearest_npot" />
-<Test name="repeat_mirror_nearest_npot" />
-<Test name="mirror_repeat_linear_npot" />
-<Test name="clamp_repeat_linear_npot" />
-<Test name="clamp_clamp_nearest_pot" />
-<Test name="mirror_mirror_linear_pot" />
-<Test name="mirror_repeat_linear_pot" />
-<Test name="clamp_clamp_nearest_npot" />
-<Test name="clamp_repeat_linear_pot" />
-<Test name="mirror_clamp_nearest_npot" />
-<Test name="mirror_mirror_linear_npot" />
-<Test name="clamp_mirror_nearest_pot" />
-<Test name="clamp_repeat_nearest_pot" />
-<Test name="repeat_clamp_linear_npot" />
-<Test name="repeat_mirror_linear_npot" />
-<Test name="mirror_repeat_nearest_pot" />
-<Test name="repeat_clamp_linear_pot" />
-<Test name="clamp_repeat_nearest_npot" />
-<Test name="clamp_mirror_linear_pot" />
-<Test name="repeat_clamp_nearest_pot" />
-<Test name="clamp_mirror_nearest_npot" />
-<Test name="repeat_repeat_linear_npot" />
-<Test name="mirror_mirror_nearest_pot" />
-</TestCase>
-<TestCase name="astc_8x5_srgb">
-<Test name="clamp_repeat_linear_not_divisible" />
-<Test name="clamp_clamp_nearest_not_divisible" />
-<Test name="clamp_clamp_nearest_divisible" />
-<Test name="clamp_mirror_nearest_not_divisible" />
-<Test name="repeat_mirror_linear_not_divisible" />
-<Test name="repeat_repeat_linear_divisible" />
-<Test name="mirror_repeat_nearest_not_divisible" />
-<Test name="repeat_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_not_divisible" />
-<Test name="mirror_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_divisible" />
-<Test name="clamp_mirror_nearest_divisible" />
-<Test name="mirror_repeat_linear_divisible" />
-<Test name="clamp_clamp_linear_divisible" />
-<Test name="mirror_clamp_nearest_divisible" />
-<Test name="repeat_mirror_linear_divisible" />
-<Test name="mirror_mirror_linear_divisible" />
-<Test name="mirror_mirror_nearest_divisible" />
-<Test name="repeat_clamp_nearest_not_divisible" />
-<Test name="repeat_repeat_linear_not_divisible" />
-<Test name="repeat_clamp_nearest_divisible" />
-<Test name="clamp_mirror_linear_not_divisible" />
-<Test name="repeat_mirror_nearest_not_divisible" />
-<Test name="clamp_repeat_linear_divisible" />
-<Test name="mirror_clamp_nearest_not_divisible" />
-<Test name="mirror_mirror_nearest_not_divisible" />
-<Test name="clamp_clamp_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_not_divisible" />
-<Test name="mirror_repeat_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_divisible" />
-<Test name="repeat_mirror_nearest_divisible" />
-<Test name="mirror_clamp_linear_divisible" />
-<Test name="mirror_mirror_linear_not_divisible" />
-<Test name="repeat_clamp_linear_divisible" />
-<Test name="mirror_repeat_nearest_divisible" />
-<Test name="clamp_mirror_linear_divisible" />
-</TestCase>
-<TestCase name="astc_5x5_srgb">
-<Test name="clamp_repeat_linear_not_divisible" />
-<Test name="clamp_clamp_nearest_not_divisible" />
-<Test name="clamp_clamp_nearest_divisible" />
-<Test name="clamp_mirror_nearest_not_divisible" />
-<Test name="repeat_mirror_linear_not_divisible" />
-<Test name="repeat_repeat_linear_divisible" />
-<Test name="mirror_repeat_nearest_not_divisible" />
-<Test name="repeat_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_not_divisible" />
-<Test name="mirror_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_divisible" />
-<Test name="clamp_mirror_nearest_divisible" />
-<Test name="mirror_repeat_linear_divisible" />
-<Test name="clamp_clamp_linear_divisible" />
-<Test name="mirror_clamp_nearest_divisible" />
-<Test name="repeat_mirror_linear_divisible" />
-<Test name="mirror_mirror_linear_divisible" />
-<Test name="mirror_mirror_nearest_divisible" />
-<Test name="repeat_clamp_nearest_not_divisible" />
-<Test name="repeat_repeat_linear_not_divisible" />
-<Test name="repeat_clamp_nearest_divisible" />
-<Test name="clamp_mirror_linear_not_divisible" />
-<Test name="repeat_mirror_nearest_not_divisible" />
-<Test name="clamp_repeat_linear_divisible" />
-<Test name="mirror_clamp_nearest_not_divisible" />
-<Test name="mirror_mirror_nearest_not_divisible" />
-<Test name="clamp_clamp_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_not_divisible" />
-<Test name="mirror_repeat_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_divisible" />
-<Test name="repeat_mirror_nearest_divisible" />
-<Test name="mirror_clamp_linear_divisible" />
-<Test name="mirror_mirror_linear_not_divisible" />
-<Test name="repeat_clamp_linear_divisible" />
-<Test name="mirror_repeat_nearest_divisible" />
-<Test name="clamp_mirror_linear_divisible" />
-</TestCase>
-<TestCase name="astc_5x5">
-<Test name="clamp_repeat_linear_not_divisible" />
-<Test name="clamp_clamp_nearest_not_divisible" />
-<Test name="clamp_clamp_nearest_divisible" />
-<Test name="clamp_mirror_nearest_not_divisible" />
-<Test name="repeat_mirror_linear_not_divisible" />
-<Test name="repeat_repeat_linear_divisible" />
-<Test name="mirror_repeat_nearest_not_divisible" />
-<Test name="repeat_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_not_divisible" />
-<Test name="mirror_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_divisible" />
-<Test name="clamp_mirror_nearest_divisible" />
-<Test name="mirror_repeat_linear_divisible" />
-<Test name="clamp_clamp_linear_divisible" />
-<Test name="mirror_clamp_nearest_divisible" />
-<Test name="repeat_mirror_linear_divisible" />
-<Test name="mirror_mirror_linear_divisible" />
-<Test name="mirror_mirror_nearest_divisible" />
-<Test name="repeat_clamp_nearest_not_divisible" />
-<Test name="repeat_repeat_linear_not_divisible" />
-<Test name="repeat_clamp_nearest_divisible" />
-<Test name="clamp_mirror_linear_not_divisible" />
-<Test name="repeat_mirror_nearest_not_divisible" />
-<Test name="clamp_repeat_linear_divisible" />
-<Test name="mirror_clamp_nearest_not_divisible" />
-<Test name="mirror_mirror_nearest_not_divisible" />
-<Test name="clamp_clamp_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_not_divisible" />
-<Test name="mirror_repeat_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_divisible" />
-<Test name="repeat_mirror_nearest_divisible" />
-<Test name="mirror_clamp_linear_divisible" />
-<Test name="mirror_mirror_linear_not_divisible" />
-<Test name="repeat_clamp_linear_divisible" />
-<Test name="mirror_repeat_nearest_divisible" />
-<Test name="clamp_mirror_linear_divisible" />
-</TestCase>
-<TestCase name="eac_signed_rg11">
-<Test name="mirror_clamp_linear_pot" />
-<Test name="repeat_repeat_linear_pot" />
-<Test name="mirror_repeat_nearest_npot" />
-<Test name="mirror_clamp_linear_npot" />
-<Test name="mirror_mirror_nearest_npot" />
-<Test name="repeat_mirror_nearest_pot" />
-<Test name="repeat_repeat_nearest_pot" />
-<Test name="clamp_clamp_linear_npot" />
-<Test name="clamp_mirror_linear_npot" />
-<Test name="repeat_mirror_linear_pot" />
-<Test name="repeat_repeat_nearest_npot" />
-<Test name="mirror_clamp_nearest_pot" />
-<Test name="clamp_clamp_linear_pot" />
-<Test name="repeat_clamp_nearest_npot" />
-<Test name="repeat_mirror_nearest_npot" />
-<Test name="mirror_repeat_linear_npot" />
-<Test name="clamp_repeat_linear_npot" />
-<Test name="clamp_clamp_nearest_pot" />
-<Test name="mirror_mirror_linear_pot" />
-<Test name="mirror_repeat_linear_pot" />
-<Test name="clamp_clamp_nearest_npot" />
-<Test name="clamp_repeat_linear_pot" />
-<Test name="mirror_clamp_nearest_npot" />
-<Test name="mirror_mirror_linear_npot" />
-<Test name="clamp_mirror_nearest_pot" />
-<Test name="clamp_repeat_nearest_pot" />
-<Test name="repeat_clamp_linear_npot" />
-<Test name="repeat_mirror_linear_npot" />
-<Test name="mirror_repeat_nearest_pot" />
-<Test name="repeat_clamp_linear_pot" />
-<Test name="clamp_repeat_nearest_npot" />
-<Test name="clamp_mirror_linear_pot" />
-<Test name="repeat_clamp_nearest_pot" />
-<Test name="clamp_mirror_nearest_npot" />
-<Test name="repeat_repeat_linear_npot" />
-<Test name="mirror_mirror_nearest_pot" />
-</TestCase>
-<TestCase name="astc_6x6_srgb">
-<Test name="clamp_repeat_linear_not_divisible" />
-<Test name="clamp_clamp_nearest_not_divisible" />
-<Test name="clamp_clamp_nearest_divisible" />
-<Test name="clamp_mirror_nearest_not_divisible" />
-<Test name="repeat_mirror_linear_not_divisible" />
-<Test name="repeat_repeat_linear_divisible" />
-<Test name="mirror_repeat_nearest_not_divisible" />
-<Test name="repeat_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_not_divisible" />
-<Test name="mirror_clamp_linear_not_divisible" />
-<Test name="clamp_repeat_nearest_divisible" />
-<Test name="clamp_mirror_nearest_divisible" />
-<Test name="mirror_repeat_linear_divisible" />
-<Test name="clamp_clamp_linear_divisible" />
-<Test name="mirror_clamp_nearest_divisible" />
-<Test name="repeat_mirror_linear_divisible" />
-<Test name="mirror_mirror_linear_divisible" />
-<Test name="mirror_mirror_nearest_divisible" />
-<Test name="repeat_clamp_nearest_not_divisible" />
-<Test name="repeat_repeat_linear_not_divisible" />
-<Test name="repeat_clamp_nearest_divisible" />
-<Test name="clamp_mirror_linear_not_divisible" />
-<Test name="repeat_mirror_nearest_not_divisible" />
-<Test name="clamp_repeat_linear_divisible" />
-<Test name="mirror_clamp_nearest_not_divisible" />
-<Test name="mirror_mirror_nearest_not_divisible" />
-<Test name="clamp_clamp_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_not_divisible" />
-<Test name="mirror_repeat_linear_not_divisible" />
-<Test name="repeat_repeat_nearest_divisible" />
-<Test name="repeat_mirror_nearest_divisible" />
-<Test name="mirror_clamp_linear_divisible" />
-<Test name="mirror_mirror_linear_not_divisible" />
-<Test name="repeat_clamp_linear_divisible" />
-<Test name="mirror_repeat_nearest_divisible" />
-<Test name="clamp_mirror_linear_divisible" />
-</TestCase>
-<TestCase name="etc2_srgb8">
-<Test name="mirror_clamp_linear_pot" />
-<Test name="repeat_repeat_linear_pot" />
-<Test name="mirror_repeat_nearest_npot" />
-<Test name="mirror_clamp_linear_npot" />
-<Test name="mirror_mirror_nearest_npot" />
-<Test name="repeat_mirror_nearest_pot" />
-<Test name="repeat_repeat_nearest_pot" />
-<Test name="clamp_clamp_linear_npot" />
-<Test name="clamp_mirror_linear_npot" />
-<Test name="repeat_mirror_linear_pot" />
-<Test name="repeat_repeat_nearest_npot" />
-<Test name="mirror_clamp_nearest_pot" />
-<Test name="clamp_clamp_linear_pot" />
-<Test name="repeat_clamp_nearest_npot" />
-<Test name="repeat_mirror_nearest_npot" />
-<Test name="mirror_repeat_linear_npot" />
-<Test name="clamp_repeat_linear_npot" />
-<Test name="clamp_clamp_nearest_pot" />
-<Test name="mirror_mirror_linear_pot" />
-<Test name="mirror_repeat_linear_pot" />
-<Test name="clamp_clamp_nearest_npot" />
-<Test name="clamp_repeat_linear_pot" />
-<Test name="mirror_clamp_nearest_npot" />
-<Test name="mirror_mirror_linear_npot" />
-<Test name="clamp_mirror_nearest_pot" />
-<Test name="clamp_repeat_nearest_pot" />
-<Test name="repeat_clamp_linear_npot" />
-<Test name="repeat_mirror_linear_npot" />
-<Test name="mirror_repeat_nearest_pot" />
-<Test name="repeat_clamp_linear_pot" />
-<Test name="clamp_repeat_nearest_npot" />
-<Test name="clamp_mirror_linear_pot" />
-<Test name="repeat_clamp_nearest_pot" />
-<Test name="clamp_mirror_nearest_npot" />
-<Test name="repeat_repeat_linear_npot" />
-<Test name="mirror_mirror_nearest_pot" />
-</TestCase>
-<TestCase name="eac_signed_r11">
-<Test name="mirror_clamp_linear_pot" />
-<Test name="repeat_repeat_linear_pot" />
-<Test name="mirror_repeat_nearest_npot" />
-<Test name="mirror_clamp_linear_npot" />
-<Test name="mirror_mirror_nearest_npot" />
-<Test name="repeat_mirror_nearest_pot" />
-<Test name="repeat_repeat_nearest_pot" />
-<Test name="clamp_clamp_linear_npot" />
-<Test name="clamp_mirror_linear_npot" />
-<Test name="repeat_mirror_linear_pot" />
-<Test name="repeat_repeat_nearest_npot" />
-<Test name="mirror_clamp_nearest_pot" />
-<Test name="clamp_clamp_linear_pot" />
-<Test name="repeat_clamp_nearest_npot" />
-<Test name="repeat_mirror_nearest_npot" />
-<Test name="mirror_repeat_linear_npot" />
-<Test name="clamp_repeat_linear_npot" />
-<Test name="clamp_clamp_nearest_pot" />
-<Test name="mirror_mirror_linear_pot" />
-<Test name="mirror_repeat_linear_pot" />
-<Test name="clamp_clamp_nearest_npot" />
-<Test name="clamp_repeat_linear_pot" />
-<Test name="mirror_clamp_nearest_npot" />
-<Test name="mirror_mirror_linear_npot" />
-<Test name="clamp_mirror_nearest_pot" />
-<Test name="clamp_repeat_nearest_pot" />
-<Test name="repeat_clamp_linear_npot" />
-<Test name="repeat_mirror_linear_npot" />
-<Test name="mirror_repeat_nearest_pot" />
-<Test name="repeat_clamp_linear_pot" />
-<Test name="clamp_repeat_nearest_npot" />
-<Test name="clamp_mirror_linear_pot" />
-<Test name="repeat_clamp_nearest_pot" />
-<Test name="clamp_mirror_nearest_npot" />
-<Test name="repeat_repeat_linear_npot" />
-<Test name="mirror_mirror_nearest_pot" />
-</TestCase>
-<TestCase name="etc2_eac_srgb8_alpha8">
-<Test name="mirror_clamp_linear_pot" />
-<Test name="repeat_repeat_linear_pot" />
-<Test name="mirror_repeat_nearest_npot" />
-<Test name="mirror_clamp_linear_npot" />
-<Test name="mirror_mirror_nearest_npot" />
-<Test name="repeat_mirror_nearest_pot" />
-<Test name="repeat_repeat_nearest_pot" />
-<Test name="clamp_clamp_linear_npot" />
-<Test name="clamp_mirror_linear_npot" />
-<Test name="repeat_mirror_linear_pot" />
-<Test name="repeat_repeat_nearest_npot" />
-<Test name="mirror_clamp_nearest_pot" />
-<Test name="clamp_clamp_linear_pot" />
-<Test name="repeat_clamp_nearest_npot" />
-<Test name="repeat_mirror_nearest_npot" />
-<Test name="mirror_repeat_linear_npot" />
-<Test name="clamp_repeat_linear_npot" />
-<Test name="clamp_clamp_nearest_pot" />
-<Test name="mirror_mirror_linear_pot" />
-<Test name="mirror_repeat_linear_pot" />
-<Test name="clamp_clamp_nearest_npot" />
-<Test name="clamp_repeat_linear_pot" />
-<Test name="mirror_clamp_nearest_npot" />
-<Test name="mirror_mirror_linear_npot" />
-<Test name="clamp_mirror_nearest_pot" />
-<Test name="clamp_repeat_nearest_pot" />
-<Test name="repeat_clamp_linear_npot" />
-<Test name="repeat_mirror_linear_npot" />
-<Test name="mirror_repeat_nearest_pot" />
-<Test name="repeat_clamp_linear_pot" />
-<Test name="clamp_repeat_nearest_npot" />
-<Test name="clamp_mirror_linear_pot" />
-<Test name="repeat_clamp_nearest_pot" />
-<Test name="clamp_mirror_nearest_npot" />
-<Test name="repeat_repeat_linear_npot" />
-<Test name="mirror_mirror_nearest_pot" />
-</TestCase>
-</TestSuite>
-<TestSuite name="compressed">
-<TestSuite name="astc">
-<TestCase name="weight_ise">
-<Test name="5x4" />
-<Test name="5x5" />
-<Test name="5x5_srgb" />
-<Test name="10x5_srgb" />
-<Test name="8x6_srgb" />
-<Test name="6x6_srgb" />
-<Test name="12x10_srgb" />
-<Test name="4x4" />
-<Test name="8x8_srgb" />
-<Test name="8x5_srgb" />
-<Test name="10x6_srgb" />
-<Test name="4x4_srgb" />
-<Test name="6x5" />
-<Test name="6x6" />
-<Test name="5x4_srgb" />
-<Test name="10x6" />
-<Test name="10x5" />
-<Test name="8x6" />
-<Test name="8x5" />
-<Test name="8x8" />
-<Test name="10x8" />
-<Test name="12x10" />
-<Test name="12x12" />
-<Test name="12x12_srgb" />
-<Test name="6x5_srgb" />
-<Test name="10x10" />
-<Test name="10x8_srgb" />
-<Test name="10x10_srgb" />
-</TestCase>
-<TestCase name="block_size_remainder">
-<Test name="5x4" />
-<Test name="5x5" />
-<Test name="5x5_srgb" />
-<Test name="10x5_srgb" />
-<Test name="8x6_srgb" />
-<Test name="6x6_srgb" />
-<Test name="12x10_srgb" />
-<Test name="4x4" />
-<Test name="8x8_srgb" />
-<Test name="8x5_srgb" />
-<Test name="10x6_srgb" />
-<Test name="4x4_srgb" />
-<Test name="6x5" />
-<Test name="6x6" />
-<Test name="5x4_srgb" />
-<Test name="10x6" />
-<Test name="10x5" />
-<Test name="8x6" />
-<Test name="8x5" />
-<Test name="8x8" />
-<Test name="10x8" />
-<Test name="12x10" />
-<Test name="12x12" />
-<Test name="12x12_srgb" />
-<Test name="6x5_srgb" />
-<Test name="10x10" />
-<Test name="10x8_srgb" />
-<Test name="10x10_srgb" />
-</TestCase>
-<TestCase name="partition_pattern_index">
-<Test name="5x4" />
-<Test name="5x5" />
-<Test name="5x5_srgb" />
-<Test name="10x5_srgb" />
-<Test name="8x6_srgb" />
-<Test name="6x6_srgb" />
-<Test name="12x10_srgb" />
-<Test name="4x4" />
-<Test name="8x8_srgb" />
-<Test name="8x5_srgb" />
-<Test name="10x6_srgb" />
-<Test name="4x4_srgb" />
-<Test name="6x5" />
-<Test name="6x6" />
-<Test name="5x4_srgb" />
-<Test name="10x6" />
-<Test name="10x5" />
-<Test name="8x6" />
-<Test name="8x5" />
-<Test name="8x8" />
-<Test name="10x8" />
-<Test name="12x10" />
-<Test name="12x12" />
-<Test name="12x12_srgb" />
-<Test name="6x5_srgb" />
-<Test name="10x10" />
-<Test name="10x8_srgb" />
-<Test name="10x10_srgb" />
-</TestCase>
-<TestCase name="endpoint_value_hdr_cem_not_15">
-<Test name="10x6" />
-<Test name="5x4" />
-<Test name="5x5" />
-<Test name="8x6" />
-<Test name="8x5" />
-<Test name="8x8" />
-<Test name="10x5" />
-<Test name="10x8" />
-<Test name="10x10" />
-<Test name="4x4" />
-<Test name="12x10" />
-<Test name="12x12" />
-<Test name="6x5" />
-<Test name="6x6" />
-</TestCase>
-<TestCase name="endpoint_ise">
-<Test name="5x4" />
-<Test name="5x5" />
-<Test name="5x5_srgb" />
-<Test name="10x5_srgb" />
-<Test name="8x6_srgb" />
-<Test name="6x6_srgb" />
-<Test name="12x10_srgb" />
-<Test name="4x4" />
-<Test name="8x8_srgb" />
-<Test name="8x5_srgb" />
-<Test name="10x6_srgb" />
-<Test name="4x4_srgb" />
-<Test name="6x5" />
-<Test name="6x6" />
-<Test name="5x4_srgb" />
-<Test name="10x6" />
-<Test name="10x5" />
-<Test name="8x6" />
-<Test name="8x5" />
-<Test name="8x8" />
-<Test name="10x8" />
-<Test name="12x10" />
-<Test name="12x12" />
-<Test name="12x12_srgb" />
-<Test name="6x5_srgb" />
-<Test name="10x10" />
-<Test name="10x8_srgb" />
-<Test name="10x10_srgb" />
-</TestCase>
-<TestCase name="void_extent_ldr">
-<Test name="5x4" />
-<Test name="5x5" />
-<Test name="5x5_srgb" />
-<Test name="10x5_srgb" />
-<Test name="8x6_srgb" />
-<Test name="6x6_srgb" />
-<Test name="12x10_srgb" />
-<Test name="4x4" />
-<Test name="8x8_srgb" />
-<Test name="8x5_srgb" />
-<Test name="10x6_srgb" />
-<Test name="4x4_srgb" />
-<Test name="6x5" />
-<Test name="6x6" />
-<Test name="5x4_srgb" />
-<Test name="10x6" />
-<Test name="10x5" />
-<Test name="8x6" />
-<Test name="8x5" />
-<Test name="8x8" />
-<Test name="10x8" />
-<Test name="12x10" />
-<Test name="12x12" />
-<Test name="12x12_srgb" />
-<Test name="6x5_srgb" />
-<Test name="10x10" />
-<Test name="10x8_srgb" />
-<Test name="10x10_srgb" />
-</TestCase>
-<TestCase name="endpoint_value_ldr">
-<Test name="5x4" />
-<Test name="5x5" />
-<Test name="5x5_srgb" />
-<Test name="10x5_srgb" />
-<Test name="8x6_srgb" />
-<Test name="6x6_srgb" />
-<Test name="12x10_srgb" />
-<Test name="4x4" />
-<Test name="8x8_srgb" />
-<Test name="8x5_srgb" />
-<Test name="10x6_srgb" />
-<Test name="4x4_srgb" />
-<Test name="6x5" />
-<Test name="6x6" />
-<Test name="5x4_srgb" />
-<Test name="10x6" />
-<Test name="10x5" />
-<Test name="8x6" />
-<Test name="8x5" />
-<Test name="8x8" />
-<Test name="10x8" />
-<Test name="12x10" />
-<Test name="12x12" />
-<Test name="12x12_srgb" />
-<Test name="6x5_srgb" />
-<Test name="10x10" />
-<Test name="10x8_srgb" />
-<Test name="10x10_srgb" />
-</TestCase>
-<TestCase name="color_component_selector">
-<Test name="5x4" />
-<Test name="5x5" />
-<Test name="5x5_srgb" />
-<Test name="10x5_srgb" />
-<Test name="8x6_srgb" />
-<Test name="6x6_srgb" />
-<Test name="12x10_srgb" />
-<Test name="4x4" />
-<Test name="8x8_srgb" />
-<Test name="8x5_srgb" />
-<Test name="10x6_srgb" />
-<Test name="4x4_srgb" />
-<Test name="6x5" />
-<Test name="6x6" />
-<Test name="5x4_srgb" />
-<Test name="10x6" />
-<Test name="10x5" />
-<Test name="8x6" />
-<Test name="8x5" />
-<Test name="8x8" />
-<Test name="10x8" />
-<Test name="12x10" />
-<Test name="12x12" />
-<Test name="12x12_srgb" />
-<Test name="6x5_srgb" />
-<Test name="10x10" />
-<Test name="10x8_srgb" />
-<Test name="10x10_srgb" />
-</TestCase>
-<TestCase name="weight_grid">
-<Test name="5x4" />
-<Test name="5x5" />
-<Test name="5x5_srgb" />
-<Test name="10x5_srgb" />
-<Test name="8x6_srgb" />
-<Test name="6x6_srgb" />
-<Test name="12x10_srgb" />
-<Test name="4x4" />
-<Test name="8x8_srgb" />
-<Test name="8x5_srgb" />
-<Test name="10x6_srgb" />
-<Test name="4x4_srgb" />
-<Test name="6x5" />
-<Test name="6x6" />
-<Test name="5x4_srgb" />
-<Test name="10x6" />
-<Test name="10x5" />
-<Test name="8x6" />
-<Test name="8x5" />
-<Test name="8x8" />
-<Test name="10x8" />
-<Test name="12x10" />
-<Test name="12x12" />
-<Test name="12x12_srgb" />
-<Test name="6x5_srgb" />
-<Test name="10x10" />
-<Test name="10x8_srgb" />
-<Test name="10x10_srgb" />
-</TestCase>
-<TestCase name="void_extent_hdr">
-<Test name="10x6" />
-<Test name="5x4" />
-<Test name="5x5" />
-<Test name="8x6" />
-<Test name="8x5" />
-<Test name="8x8" />
-<Test name="10x5" />
-<Test name="10x8" />
-<Test name="10x10" />
-<Test name="4x4" />
-<Test name="12x10" />
-<Test name="12x12" />
-<Test name="6x5" />
-<Test name="6x6" />
-</TestCase>
-<TestCase name="endpoint_value_hdr_cem_15">
-<Test name="10x6" />
-<Test name="5x4" />
-<Test name="5x5" />
-<Test name="8x6" />
-<Test name="8x5" />
-<Test name="8x8" />
-<Test name="10x5" />
-<Test name="10x8" />
-<Test name="10x10" />
-<Test name="4x4" />
-<Test name="12x10" />
-<Test name="12x12" />
-<Test name="6x5" />
-<Test name="6x6" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-<TestSuite name="units">
-<TestSuite name="all_units">
-<TestCase name="mixed">
-<Test name="0" />
-<Test name="8" />
-</TestCase>
-<TestCase name="only_2d">
-<Test name="1" />
-<Test name="0" />
-</TestCase>
-<TestCase name="only_cube">
-<Test name="0" />
-</TestCase>
-<TestCase name="only_2d_array">
-<Test name="1" />
-<Test name="0" />
-</TestCase>
-<TestCase name="only_3d">
-<Test name="1" />
-<Test name="0" />
-</TestCase>
-</TestSuite>
-<TestSuite name="8_units">
-<TestCase name="mixed">
-<Test name="1" />
-<Test name="0" />
-<Test name="3" />
-<Test name="2" />
-<Test name="5" />
-<Test name="4" />
-<Test name="7" />
-<Test name="6" />
-<Test name="9" />
-<Test name="8" />
-</TestCase>
-<TestCase name="only_2d">
-<Test name="1" />
-<Test name="0" />
-<Test name="3" />
-<Test name="2" />
-<Test name="5" />
-<Test name="4" />
-<Test name="7" />
-<Test name="6" />
-<Test name="9" />
-<Test name="8" />
-</TestCase>
-<TestCase name="only_cube">
-<Test name="1" />
-<Test name="0" />
-<Test name="3" />
-<Test name="2" />
-<Test name="5" />
-<Test name="4" />
-<Test name="7" />
-<Test name="6" />
-<Test name="9" />
-<Test name="8" />
-</TestCase>
-<TestCase name="only_2d_array">
-<Test name="1" />
-<Test name="0" />
-<Test name="3" />
-<Test name="2" />
-<Test name="5" />
-<Test name="4" />
-<Test name="7" />
-<Test name="6" />
-<Test name="9" />
-<Test name="8" />
-</TestCase>
-<TestCase name="only_3d">
-<Test name="1" />
-<Test name="0" />
-<Test name="3" />
-<Test name="2" />
-<Test name="5" />
-<Test name="4" />
-<Test name="7" />
-<Test name="6" />
-<Test name="9" />
-<Test name="8" />
-</TestCase>
-</TestSuite>
-<TestSuite name="2_units">
-<TestCase name="mixed">
-<Test name="1" />
-<Test name="0" />
-<Test name="3" />
-<Test name="2" />
-<Test name="5" />
-<Test name="4" />
-<Test name="7" />
-<Test name="6" />
-<Test name="9" />
-<Test name="8" />
-</TestCase>
-<TestCase name="only_2d">
-<Test name="1" />
-<Test name="0" />
-<Test name="3" />
-<Test name="2" />
-<Test name="5" />
-<Test name="4" />
-<Test name="7" />
-<Test name="6" />
-<Test name="9" />
-<Test name="8" />
-</TestCase>
-<TestCase name="only_cube">
-<Test name="1" />
-<Test name="0" />
-<Test name="3" />
-<Test name="2" />
-<Test name="5" />
-<Test name="4" />
-<Test name="7" />
-<Test name="6" />
-<Test name="9" />
-<Test name="8" />
-</TestCase>
-<TestCase name="only_2d_array">
-<Test name="1" />
-<Test name="0" />
-<Test name="3" />
-<Test name="2" />
-<Test name="5" />
-<Test name="4" />
-<Test name="7" />
-<Test name="6" />
-<Test name="9" />
-<Test name="8" />
-</TestCase>
-<TestCase name="only_3d">
-<Test name="1" />
-<Test name="0" />
-<Test name="3" />
-<Test name="2" />
-<Test name="5" />
-<Test name="4" />
-<Test name="7" />
-<Test name="6" />
-<Test name="9" />
-<Test name="8" />
-</TestCase>
-</TestSuite>
-<TestSuite name="4_units">
-<TestCase name="mixed">
-<Test name="1" />
-<Test name="0" />
-<Test name="3" />
-<Test name="2" />
-<Test name="5" />
-<Test name="4" />
-<Test name="7" />
-<Test name="6" />
-<Test name="9" />
-<Test name="8" />
-</TestCase>
-<TestCase name="only_2d">
-<Test name="1" />
-<Test name="0" />
-<Test name="3" />
-<Test name="2" />
-<Test name="5" />
-<Test name="4" />
-<Test name="7" />
-<Test name="6" />
-<Test name="9" />
-<Test name="8" />
-</TestCase>
-<TestCase name="only_cube">
-<Test name="1" />
-<Test name="0" />
-<Test name="3" />
-<Test name="2" />
-<Test name="5" />
-<Test name="4" />
-<Test name="7" />
-<Test name="6" />
-<Test name="9" />
-<Test name="8" />
-</TestCase>
-<TestCase name="only_2d_array">
-<Test name="1" />
-<Test name="0" />
-<Test name="3" />
-<Test name="2" />
-<Test name="5" />
-<Test name="4" />
-<Test name="7" />
-<Test name="6" />
-<Test name="9" />
-<Test name="8" />
-</TestCase>
-<TestCase name="only_3d">
-<Test name="1" />
-<Test name="0" />
-<Test name="3" />
-<Test name="2" />
-<Test name="5" />
-<Test name="4" />
-<Test name="7" />
-<Test name="6" />
-<Test name="9" />
-<Test name="8" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-<TestSuite name="shadow">
-<TestSuite name="2d">
-<TestCase name="nearest">
-<Test name="greater_depth_component32f" />
-<Test name="always_depth_component16" />
-<Test name="greater_or_equal_depth_component16" />
-<Test name="not_equal_depth24_stencil8" />
-<Test name="not_equal_depth_component32f" />
-<Test name="less_or_equal_depth24_stencil8" />
-<Test name="greater_depth_component16" />
-<Test name="equal_depth24_stencil8" />
-<Test name="less_depth_component16" />
-<Test name="never_depth24_stencil8" />
-<Test name="always_depth24_stencil8" />
-<Test name="always_depth_component32f" />
-<Test name="not_equal_depth_component16" />
-<Test name="greater_depth24_stencil8" />
-<Test name="equal_depth_component32f" />
-<Test name="never_depth_component32f" />
-<Test name="less_depth_component32f" />
-<Test name="never_depth_component16" />
-<Test name="less_depth24_stencil8" />
-<Test name="less_or_equal_depth_component32f" />
-<Test name="greater_or_equal_depth24_stencil8" />
-<Test name="equal_depth_component16" />
-<Test name="less_or_equal_depth_component16" />
-<Test name="greater_or_equal_depth_component32f" />
-</TestCase>
-<TestCase name="linear">
-<Test name="greater_depth_component32f" />
-<Test name="always_depth_component16" />
-<Test name="greater_or_equal_depth_component16" />
-<Test name="not_equal_depth24_stencil8" />
-<Test name="not_equal_depth_component32f" />
-<Test name="less_or_equal_depth24_stencil8" />
-<Test name="greater_depth_component16" />
-<Test name="equal_depth24_stencil8" />
-<Test name="less_depth_component16" />
-<Test name="never_depth24_stencil8" />
-<Test name="always_depth24_stencil8" />
-<Test name="always_depth_component32f" />
-<Test name="not_equal_depth_component16" />
-<Test name="greater_depth24_stencil8" />
-<Test name="equal_depth_component32f" />
-<Test name="never_depth_component32f" />
-<Test name="less_depth_component32f" />
-<Test name="never_depth_component16" />
-<Test name="less_depth24_stencil8" />
-<Test name="less_or_equal_depth_component32f" />
-<Test name="greater_or_equal_depth24_stencil8" />
-<Test name="equal_depth_component16" />
-<Test name="less_or_equal_depth_component16" />
-<Test name="greater_or_equal_depth_component32f" />
-</TestCase>
-<TestCase name="linear_mipmap_nearest">
-<Test name="greater_depth_component32f" />
-<Test name="always_depth_component16" />
-<Test name="greater_or_equal_depth_component16" />
-<Test name="not_equal_depth24_stencil8" />
-<Test name="not_equal_depth_component32f" />
-<Test name="less_or_equal_depth24_stencil8" />
-<Test name="greater_depth_component16" />
-<Test name="equal_depth24_stencil8" />
-<Test name="less_depth_component16" />
-<Test name="never_depth24_stencil8" />
-<Test name="always_depth24_stencil8" />
-<Test name="always_depth_component32f" />
-<Test name="not_equal_depth_component16" />
-<Test name="greater_depth24_stencil8" />
-<Test name="equal_depth_component32f" />
-<Test name="never_depth_component32f" />
-<Test name="less_depth_component32f" />
-<Test name="never_depth_component16" />
-<Test name="less_depth24_stencil8" />
-<Test name="less_or_equal_depth_component32f" />
-<Test name="greater_or_equal_depth24_stencil8" />
-<Test name="equal_depth_component16" />
-<Test name="less_or_equal_depth_component16" />
-<Test name="greater_or_equal_depth_component32f" />
-</TestCase>
-<TestCase name="nearest_mipmap_nearest">
-<Test name="greater_depth_component32f" />
-<Test name="always_depth_component16" />
-<Test name="greater_or_equal_depth_component16" />
-<Test name="not_equal_depth24_stencil8" />
-<Test name="not_equal_depth_component32f" />
-<Test name="less_or_equal_depth24_stencil8" />
-<Test name="greater_depth_component16" />
-<Test name="equal_depth24_stencil8" />
-<Test name="less_depth_component16" />
-<Test name="never_depth24_stencil8" />
-<Test name="always_depth24_stencil8" />
-<Test name="always_depth_component32f" />
-<Test name="not_equal_depth_component16" />
-<Test name="greater_depth24_stencil8" />
-<Test name="equal_depth_component32f" />
-<Test name="never_depth_component32f" />
-<Test name="less_depth_component32f" />
-<Test name="never_depth_component16" />
-<Test name="less_depth24_stencil8" />
-<Test name="less_or_equal_depth_component32f" />
-<Test name="greater_or_equal_depth24_stencil8" />
-<Test name="equal_depth_component16" />
-<Test name="less_or_equal_depth_component16" />
-<Test name="greater_or_equal_depth_component32f" />
-</TestCase>
-<TestCase name="linear_mipmap_linear">
-<Test name="greater_depth_component32f" />
-<Test name="always_depth_component16" />
-<Test name="greater_or_equal_depth_component16" />
-<Test name="not_equal_depth24_stencil8" />
-<Test name="not_equal_depth_component32f" />
-<Test name="less_or_equal_depth24_stencil8" />
-<Test name="greater_depth_component16" />
-<Test name="equal_depth24_stencil8" />
-<Test name="less_depth_component16" />
-<Test name="never_depth24_stencil8" />
-<Test name="always_depth24_stencil8" />
-<Test name="always_depth_component32f" />
-<Test name="not_equal_depth_component16" />
-<Test name="greater_depth24_stencil8" />
-<Test name="equal_depth_component32f" />
-<Test name="never_depth_component32f" />
-<Test name="less_depth_component32f" />
-<Test name="never_depth_component16" />
-<Test name="less_depth24_stencil8" />
-<Test name="less_or_equal_depth_component32f" />
-<Test name="greater_or_equal_depth24_stencil8" />
-<Test name="equal_depth_component16" />
-<Test name="less_or_equal_depth_component16" />
-<Test name="greater_or_equal_depth_component32f" />
-</TestCase>
-<TestCase name="nearest_mipmap_linear">
-<Test name="greater_depth_component32f" />
-<Test name="always_depth_component16" />
-<Test name="greater_or_equal_depth_component16" />
-<Test name="not_equal_depth24_stencil8" />
-<Test name="not_equal_depth_component32f" />
-<Test name="less_or_equal_depth24_stencil8" />
-<Test name="greater_depth_component16" />
-<Test name="equal_depth24_stencil8" />
-<Test name="less_depth_component16" />
-<Test name="never_depth24_stencil8" />
-<Test name="always_depth24_stencil8" />
-<Test name="always_depth_component32f" />
-<Test name="not_equal_depth_component16" />
-<Test name="greater_depth24_stencil8" />
-<Test name="equal_depth_component32f" />
-<Test name="never_depth_component32f" />
-<Test name="less_depth_component32f" />
-<Test name="never_depth_component16" />
-<Test name="less_depth24_stencil8" />
-<Test name="less_or_equal_depth_component32f" />
-<Test name="greater_or_equal_depth24_stencil8" />
-<Test name="equal_depth_component16" />
-<Test name="less_or_equal_depth_component16" />
-<Test name="greater_or_equal_depth_component32f" />
-</TestCase>
-</TestSuite>
-<TestSuite name="2d_array">
-<TestCase name="nearest">
-<Test name="greater_depth_component32f" />
-<Test name="always_depth_component16" />
-<Test name="greater_or_equal_depth_component16" />
-<Test name="not_equal_depth24_stencil8" />
-<Test name="not_equal_depth_component32f" />
-<Test name="less_or_equal_depth24_stencil8" />
-<Test name="greater_depth_component16" />
-<Test name="equal_depth24_stencil8" />
-<Test name="less_depth_component16" />
-<Test name="never_depth24_stencil8" />
-<Test name="always_depth24_stencil8" />
-<Test name="always_depth_component32f" />
-<Test name="not_equal_depth_component16" />
-<Test name="greater_depth24_stencil8" />
-<Test name="equal_depth_component32f" />
-<Test name="never_depth_component32f" />
-<Test name="less_depth_component32f" />
-<Test name="never_depth_component16" />
-<Test name="less_depth24_stencil8" />
-<Test name="less_or_equal_depth_component32f" />
-<Test name="greater_or_equal_depth24_stencil8" />
-<Test name="equal_depth_component16" />
-<Test name="less_or_equal_depth_component16" />
-<Test name="greater_or_equal_depth_component32f" />
-</TestCase>
-<TestCase name="linear">
-<Test name="greater_depth_component32f" />
-<Test name="always_depth_component16" />
-<Test name="greater_or_equal_depth_component16" />
-<Test name="not_equal_depth24_stencil8" />
-<Test name="not_equal_depth_component32f" />
-<Test name="less_or_equal_depth24_stencil8" />
-<Test name="greater_depth_component16" />
-<Test name="equal_depth24_stencil8" />
-<Test name="less_depth_component16" />
-<Test name="never_depth24_stencil8" />
-<Test name="always_depth24_stencil8" />
-<Test name="always_depth_component32f" />
-<Test name="not_equal_depth_component16" />
-<Test name="greater_depth24_stencil8" />
-<Test name="equal_depth_component32f" />
-<Test name="never_depth_component32f" />
-<Test name="less_depth_component32f" />
-<Test name="never_depth_component16" />
-<Test name="less_depth24_stencil8" />
-<Test name="less_or_equal_depth_component32f" />
-<Test name="greater_or_equal_depth24_stencil8" />
-<Test name="equal_depth_component16" />
-<Test name="less_or_equal_depth_component16" />
-<Test name="greater_or_equal_depth_component32f" />
-</TestCase>
-<TestCase name="linear_mipmap_nearest">
-<Test name="greater_depth_component32f" />
-<Test name="always_depth_component16" />
-<Test name="greater_or_equal_depth_component16" />
-<Test name="not_equal_depth24_stencil8" />
-<Test name="not_equal_depth_component32f" />
-<Test name="less_or_equal_depth24_stencil8" />
-<Test name="greater_depth_component16" />
-<Test name="equal_depth24_stencil8" />
-<Test name="less_depth_component16" />
-<Test name="never_depth24_stencil8" />
-<Test name="always_depth24_stencil8" />
-<Test name="always_depth_component32f" />
-<Test name="not_equal_depth_component16" />
-<Test name="greater_depth24_stencil8" />
-<Test name="equal_depth_component32f" />
-<Test name="never_depth_component32f" />
-<Test name="less_depth_component32f" />
-<Test name="never_depth_component16" />
-<Test name="less_depth24_stencil8" />
-<Test name="less_or_equal_depth_component32f" />
-<Test name="greater_or_equal_depth24_stencil8" />
-<Test name="equal_depth_component16" />
-<Test name="less_or_equal_depth_component16" />
-<Test name="greater_or_equal_depth_component32f" />
-</TestCase>
-<TestCase name="nearest_mipmap_nearest">
-<Test name="greater_depth_component32f" />
-<Test name="always_depth_component16" />
-<Test name="greater_or_equal_depth_component16" />
-<Test name="not_equal_depth24_stencil8" />
-<Test name="not_equal_depth_component32f" />
-<Test name="less_or_equal_depth24_stencil8" />
-<Test name="greater_depth_component16" />
-<Test name="equal_depth24_stencil8" />
-<Test name="less_depth_component16" />
-<Test name="never_depth24_stencil8" />
-<Test name="always_depth24_stencil8" />
-<Test name="always_depth_component32f" />
-<Test name="not_equal_depth_component16" />
-<Test name="greater_depth24_stencil8" />
-<Test name="equal_depth_component32f" />
-<Test name="never_depth_component32f" />
-<Test name="less_depth_component32f" />
-<Test name="never_depth_component16" />
-<Test name="less_depth24_stencil8" />
-<Test name="less_or_equal_depth_component32f" />
-<Test name="greater_or_equal_depth24_stencil8" />
-<Test name="equal_depth_component16" />
-<Test name="less_or_equal_depth_component16" />
-<Test name="greater_or_equal_depth_component32f" />
-</TestCase>
-<TestCase name="linear_mipmap_linear">
-<Test name="greater_depth_component32f" />
-<Test name="always_depth_component16" />
-<Test name="greater_or_equal_depth_component16" />
-<Test name="not_equal_depth24_stencil8" />
-<Test name="not_equal_depth_component32f" />
-<Test name="less_or_equal_depth24_stencil8" />
-<Test name="greater_depth_component16" />
-<Test name="equal_depth24_stencil8" />
-<Test name="less_depth_component16" />
-<Test name="never_depth24_stencil8" />
-<Test name="always_depth24_stencil8" />
-<Test name="always_depth_component32f" />
-<Test name="not_equal_depth_component16" />
-<Test name="greater_depth24_stencil8" />
-<Test name="equal_depth_component32f" />
-<Test name="never_depth_component32f" />
-<Test name="less_depth_component32f" />
-<Test name="never_depth_component16" />
-<Test name="less_depth24_stencil8" />
-<Test name="less_or_equal_depth_component32f" />
-<Test name="greater_or_equal_depth24_stencil8" />
-<Test name="equal_depth_component16" />
-<Test name="less_or_equal_depth_component16" />
-<Test name="greater_or_equal_depth_component32f" />
-</TestCase>
-<TestCase name="nearest_mipmap_linear">
-<Test name="greater_depth_component32f" />
-<Test name="always_depth_component16" />
-<Test name="greater_or_equal_depth_component16" />
-<Test name="not_equal_depth24_stencil8" />
-<Test name="not_equal_depth_component32f" />
-<Test name="less_or_equal_depth24_stencil8" />
-<Test name="greater_depth_component16" />
-<Test name="equal_depth24_stencil8" />
-<Test name="less_depth_component16" />
-<Test name="never_depth24_stencil8" />
-<Test name="always_depth24_stencil8" />
-<Test name="always_depth_component32f" />
-<Test name="not_equal_depth_component16" />
-<Test name="greater_depth24_stencil8" />
-<Test name="equal_depth_component32f" />
-<Test name="never_depth_component32f" />
-<Test name="less_depth_component32f" />
-<Test name="never_depth_component16" />
-<Test name="less_depth24_stencil8" />
-<Test name="less_or_equal_depth_component32f" />
-<Test name="greater_or_equal_depth24_stencil8" />
-<Test name="equal_depth_component16" />
-<Test name="less_or_equal_depth_component16" />
-<Test name="greater_or_equal_depth_component32f" />
-</TestCase>
-</TestSuite>
-<TestSuite name="cube">
-<TestCase name="nearest">
-<Test name="greater_depth_component32f" />
-<Test name="always_depth_component16" />
-<Test name="greater_or_equal_depth_component16" />
-<Test name="not_equal_depth24_stencil8" />
-<Test name="not_equal_depth_component32f" />
-<Test name="less_or_equal_depth24_stencil8" />
-<Test name="greater_depth_component16" />
-<Test name="equal_depth24_stencil8" />
-<Test name="less_depth_component16" />
-<Test name="never_depth24_stencil8" />
-<Test name="always_depth24_stencil8" />
-<Test name="always_depth_component32f" />
-<Test name="not_equal_depth_component16" />
-<Test name="greater_depth24_stencil8" />
-<Test name="equal_depth_component32f" />
-<Test name="never_depth_component32f" />
-<Test name="less_depth_component32f" />
-<Test name="never_depth_component16" />
-<Test name="less_depth24_stencil8" />
-<Test name="less_or_equal_depth_component32f" />
-<Test name="greater_or_equal_depth24_stencil8" />
-<Test name="equal_depth_component16" />
-<Test name="less_or_equal_depth_component16" />
-<Test name="greater_or_equal_depth_component32f" />
-</TestCase>
-<TestCase name="linear">
-<Test name="greater_depth_component32f" />
-<Test name="always_depth_component16" />
-<Test name="greater_or_equal_depth_component16" />
-<Test name="not_equal_depth24_stencil8" />
-<Test name="not_equal_depth_component32f" />
-<Test name="less_or_equal_depth24_stencil8" />
-<Test name="greater_depth_component16" />
-<Test name="equal_depth24_stencil8" />
-<Test name="less_depth_component16" />
-<Test name="never_depth24_stencil8" />
-<Test name="always_depth24_stencil8" />
-<Test name="always_depth_component32f" />
-<Test name="not_equal_depth_component16" />
-<Test name="greater_depth24_stencil8" />
-<Test name="equal_depth_component32f" />
-<Test name="never_depth_component32f" />
-<Test name="less_depth_component32f" />
-<Test name="never_depth_component16" />
-<Test name="less_depth24_stencil8" />
-<Test name="less_or_equal_depth_component32f" />
-<Test name="greater_or_equal_depth24_stencil8" />
-<Test name="equal_depth_component16" />
-<Test name="less_or_equal_depth_component16" />
-<Test name="greater_or_equal_depth_component32f" />
-</TestCase>
-<TestCase name="linear_mipmap_nearest">
-<Test name="greater_depth_component32f" />
-<Test name="always_depth_component16" />
-<Test name="greater_or_equal_depth_component16" />
-<Test name="not_equal_depth24_stencil8" />
-<Test name="not_equal_depth_component32f" />
-<Test name="less_or_equal_depth24_stencil8" />
-<Test name="greater_depth_component16" />
-<Test name="equal_depth24_stencil8" />
-<Test name="less_depth_component16" />
-<Test name="never_depth24_stencil8" />
-<Test name="always_depth24_stencil8" />
-<Test name="always_depth_component32f" />
-<Test name="not_equal_depth_component16" />
-<Test name="greater_depth24_stencil8" />
-<Test name="equal_depth_component32f" />
-<Test name="never_depth_component32f" />
-<Test name="less_depth_component32f" />
-<Test name="never_depth_component16" />
-<Test name="less_depth24_stencil8" />
-<Test name="less_or_equal_depth_component32f" />
-<Test name="greater_or_equal_depth24_stencil8" />
-<Test name="equal_depth_component16" />
-<Test name="less_or_equal_depth_component16" />
-<Test name="greater_or_equal_depth_component32f" />
-</TestCase>
-<TestCase name="nearest_mipmap_nearest">
-<Test name="greater_depth_component32f" />
-<Test name="always_depth_component16" />
-<Test name="greater_or_equal_depth_component16" />
-<Test name="not_equal_depth24_stencil8" />
-<Test name="not_equal_depth_component32f" />
-<Test name="less_or_equal_depth24_stencil8" />
-<Test name="greater_depth_component16" />
-<Test name="equal_depth24_stencil8" />
-<Test name="less_depth_component16" />
-<Test name="never_depth24_stencil8" />
-<Test name="always_depth24_stencil8" />
-<Test name="always_depth_component32f" />
-<Test name="not_equal_depth_component16" />
-<Test name="greater_depth24_stencil8" />
-<Test name="equal_depth_component32f" />
-<Test name="never_depth_component32f" />
-<Test name="less_depth_component32f" />
-<Test name="never_depth_component16" />
-<Test name="less_depth24_stencil8" />
-<Test name="less_or_equal_depth_component32f" />
-<Test name="greater_or_equal_depth24_stencil8" />
-<Test name="equal_depth_component16" />
-<Test name="less_or_equal_depth_component16" />
-<Test name="greater_or_equal_depth_component32f" />
-</TestCase>
-<TestCase name="linear_mipmap_linear">
-<Test name="greater_depth_component32f" />
-<Test name="always_depth_component16" />
-<Test name="greater_or_equal_depth_component16" />
-<Test name="not_equal_depth24_stencil8" />
-<Test name="not_equal_depth_component32f" />
-<Test name="less_or_equal_depth24_stencil8" />
-<Test name="greater_depth_component16" />
-<Test name="equal_depth24_stencil8" />
-<Test name="less_depth_component16" />
-<Test name="never_depth24_stencil8" />
-<Test name="always_depth24_stencil8" />
-<Test name="always_depth_component32f" />
-<Test name="not_equal_depth_component16" />
-<Test name="greater_depth24_stencil8" />
-<Test name="equal_depth_component32f" />
-<Test name="never_depth_component32f" />
-<Test name="less_depth_component32f" />
-<Test name="never_depth_component16" />
-<Test name="less_depth24_stencil8" />
-<Test name="less_or_equal_depth_component32f" />
-<Test name="greater_or_equal_depth24_stencil8" />
-<Test name="equal_depth_component16" />
-<Test name="less_or_equal_depth_component16" />
-<Test name="greater_or_equal_depth_component32f" />
-</TestCase>
-<TestCase name="nearest_mipmap_linear">
-<Test name="greater_depth_component32f" />
-<Test name="always_depth_component16" />
-<Test name="greater_or_equal_depth_component16" />
-<Test name="not_equal_depth24_stencil8" />
-<Test name="not_equal_depth_component32f" />
-<Test name="less_or_equal_depth24_stencil8" />
-<Test name="greater_depth_component16" />
-<Test name="equal_depth24_stencil8" />
-<Test name="less_depth_component16" />
-<Test name="never_depth24_stencil8" />
-<Test name="always_depth24_stencil8" />
-<Test name="always_depth_component32f" />
-<Test name="not_equal_depth_component16" />
-<Test name="greater_depth24_stencil8" />
-<Test name="equal_depth_component32f" />
-<Test name="never_depth_component32f" />
-<Test name="less_depth_component32f" />
-<Test name="never_depth_component16" />
-<Test name="less_depth24_stencil8" />
-<Test name="less_or_equal_depth_component32f" />
-<Test name="greater_or_equal_depth24_stencil8" />
-<Test name="equal_depth_component16" />
-<Test name="less_or_equal_depth_component16" />
-<Test name="greater_or_equal_depth_component32f" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-<TestSuite name="size">
-<TestCase name="2d">
-<Test name="1024x1024_rgba4444_mipmap" />
-<Test name="1024x1024_l8" />
-<Test name="1024x1024_rgb888" />
-<Test name="1024x1024_rgba8888_mipmap" />
-<Test name="2048x2048_rgba8888" />
-<Test name="64x64_rgba4444_mipmap" />
-<Test name="64x64_rgb888_mipmap" />
-<Test name="1024x1024_l8_mipmap" />
-<Test name="65x63_rgb888" />
-<Test name="64x64_l8_mipmap" />
-<Test name="512x512_rgb888" />
-<Test name="64x64_rgba4444" />
-<Test name="1024x1024_rgba8888" />
-<Test name="65x63_l8" />
-<Test name="64x64_rgba8888" />
-<Test name="65x63_rgba8888" />
-<Test name="2048x2048_rgba8888_mipmap" />
-<Test name="512x512_rgba8888_mipmap" />
-<Test name="65x63_rgba4444" />
-<Test name="64x64_rgb888" />
-<Test name="512x512_rgba4444" />
-<Test name="512x512_rgba4444_mipmap" />
-<Test name="1024x1024_rgb888_mipmap" />
-<Test name="512x512_l8" />
-<Test name="2048x2048_l8" />
-<Test name="512x512_rgba8888" />
-<Test name="2048x2048_l8_mipmap" />
-<Test name="512x512_rgb888_mipmap" />
-<Test name="64x64_rgba8888_mipmap" />
-<Test name="2048x2048_rgba4444_mipmap" />
-<Test name="512x512_l8_mipmap" />
-<Test name="2048x2048_rgb888_mipmap" />
-<Test name="2048x2048_rgba4444" />
-<Test name="64x64_l8" />
-<Test name="2048x2048_rgb888" />
-<Test name="1024x1024_rgba4444" />
-</TestCase>
-<TestCase name="cube">
-<Test name="16x16_rgba4444_mipmap" />
-<Test name="256x256_rgba8888" />
-<Test name="64x64_rgba8888_mipmap" />
-<Test name="128x128_rgb888" />
-<Test name="64x64_rgba4444_mipmap" />
-<Test name="128x128_rgba4444" />
-<Test name="128x128_rgba4444_mipmap" />
-<Test name="64x64_rgb888_mipmap" />
-<Test name="16x16_l8" />
-<Test name="64x64_l8_mipmap" />
-<Test name="512x512_rgb888" />
-<Test name="15x15_l8" />
-<Test name="256x256_rgb888_mipmap" />
-<Test name="256x256_rgba4444_mipmap" />
-<Test name="16x16_rgba8888_mipmap" />
-<Test name="16x16_rgba4444" />
-<Test name="64x64_rgba8888" />
-<Test name="128x128_l8" />
-<Test name="16x16_rgba8888" />
-<Test name="64x64_rgba4444" />
-<Test name="64x64_l8" />
-<Test name="64x64_rgb888" />
-<Test name="256x256_l8" />
-<Test name="256x256_rgb888" />
-<Test name="15x15_rgba8888" />
-<Test name="15x15_rgb888" />
-<Test name="512x512_l8" />
-<Test name="128x128_rgb888_mipmap" />
-<Test name="512x512_rgba8888" />
-<Test name="16x16_rgb888_mipmap" />
-<Test name="15x15_rgba4444" />
-<Test name="512x512_rgb888_mipmap" />
-<Test name="16x16_l8_mipmap" />
-<Test name="128x128_rgba8888" />
-<Test name="512x512_rgba8888_mipmap" />
-<Test name="256x256_l8_mipmap" />
-<Test name="16x16_rgb888" />
-<Test name="512x512_l8_mipmap" />
-<Test name="512x512_rgba4444_mipmap" />
-<Test name="128x128_l8_mipmap" />
-<Test name="128x128_rgba8888_mipmap" />
-<Test name="256x256_rgba8888_mipmap" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-<TestSuite name="vertex_arrays">
-<TestSuite name="single_attribute">
-<TestSuite name="normalize">
-<TestCase name="int2_10_10_10">
-<Test name="components4_quads1" />
-<Test name="components4_quads256" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="components2_quads1" />
-<Test name="components4_quads256" />
-<Test name="components2_quads256" />
-<Test name="components3_quads1" />
-<Test name="components4_quads1" />
-<Test name="components3_quads256" />
-</TestCase>
-<TestCase name="int">
-<Test name="components2_quads1" />
-<Test name="components4_quads256" />
-<Test name="components2_quads256" />
-<Test name="components3_quads1" />
-<Test name="components4_quads1" />
-<Test name="components3_quads256" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="components2_quads1" />
-<Test name="components4_quads256" />
-<Test name="components2_quads256" />
-<Test name="components3_quads1" />
-<Test name="components4_quads1" />
-<Test name="components3_quads256" />
-</TestCase>
-<TestCase name="float">
-<Test name="components2_quads1" />
-<Test name="components4_quads256" />
-<Test name="components2_quads256" />
-<Test name="components3_quads1" />
-<Test name="components4_quads1" />
-<Test name="components3_quads256" />
-</TestCase>
-<TestCase name="short">
-<Test name="components2_quads1" />
-<Test name="components4_quads256" />
-<Test name="components2_quads256" />
-<Test name="components3_quads1" />
-<Test name="components4_quads1" />
-<Test name="components3_quads256" />
-</TestCase>
-<TestCase name="usigned_int2_10_10_10">
-<Test name="components4_quads1" />
-<Test name="components4_quads256" />
-</TestCase>
-<TestCase name="half">
-<Test name="components2_quads1" />
-<Test name="components4_quads256" />
-<Test name="components2_quads256" />
-<Test name="components3_quads1" />
-<Test name="components4_quads1" />
-<Test name="components3_quads256" />
-</TestCase>
-<TestCase name="unsigned_short">
-<Test name="components2_quads1" />
-<Test name="components4_quads256" />
-<Test name="components2_quads256" />
-<Test name="components3_quads1" />
-<Test name="components4_quads1" />
-<Test name="components3_quads256" />
-</TestCase>
-<TestCase name="byte">
-<Test name="components2_quads1" />
-<Test name="components4_quads256" />
-<Test name="components2_quads256" />
-<Test name="components3_quads1" />
-<Test name="components4_quads1" />
-<Test name="components3_quads256" />
-</TestCase>
-<TestCase name="fixed">
-<Test name="components2_quads1" />
-<Test name="components4_quads256" />
-<Test name="components2_quads256" />
-<Test name="components3_quads1" />
-<Test name="components4_quads1" />
-<Test name="components3_quads256" />
-</TestCase>
-</TestSuite>
-<TestSuite name="usages">
-<TestCase name="dynamic_copy">
-<Test name="stride8_float_quads1" />
-<Test name="stride2_byte_quads256" />
-<Test name="stride0_short_quads1" />
-<Test name="stride0_short_quads256" />
-<Test name="stride0_byte_quads256" />
-<Test name="stride4_short_quads256" />
-<Test name="stride0_float_quads1" />
-<Test name="stride32_float_quads256" />
-<Test name="stride4_short_quads1" />
-<Test name="stride8_fixed_quads1" />
-<Test name="stride2_byte_quads1" />
-<Test name="stride17_byte_quads1" />
-<Test name="stride0_fixed_quads1" />
-<Test name="stride8_float_quads256" />
-<Test name="stride32_float_quads1" />
-<Test name="stride32_short_quads256" />
-<Test name="stride0_byte_quads1" />
-<Test name="stride32_fixed_quads1" />
-<Test name="stride32_short_quads1" />
-<Test name="stride0_float_quads256" />
-<Test name="stride32_byte_quads1" />
-<Test name="stride32_fixed_quads256" />
-<Test name="stride8_fixed_quads256" />
-<Test name="stride32_byte_quads256" />
-<Test name="stride17_byte_quads256" />
-<Test name="stride0_fixed_quads256" />
-</TestCase>
-<TestCase name="stream_draw">
-<Test name="stride8_float_quads1" />
-<Test name="stride2_byte_quads256" />
-<Test name="stride0_short_quads1" />
-<Test name="stride0_short_quads256" />
-<Test name="stride0_byte_quads256" />
-<Test name="stride4_short_quads256" />
-<Test name="stride0_float_quads1" />
-<Test name="stride32_float_quads256" />
-<Test name="stride4_short_quads1" />
-<Test name="stride8_fixed_quads1" />
-<Test name="stride2_byte_quads1" />
-<Test name="stride17_byte_quads1" />
-<Test name="stride0_fixed_quads1" />
-<Test name="stride8_float_quads256" />
-<Test name="stride32_float_quads1" />
-<Test name="stride32_short_quads256" />
-<Test name="stride0_byte_quads1" />
-<Test name="stride32_fixed_quads1" />
-<Test name="stride32_short_quads1" />
-<Test name="stride0_float_quads256" />
-<Test name="stride32_byte_quads1" />
-<Test name="stride32_fixed_quads256" />
-<Test name="stride8_fixed_quads256" />
-<Test name="stride32_byte_quads256" />
-<Test name="stride17_byte_quads256" />
-<Test name="stride0_fixed_quads256" />
-</TestCase>
-<TestCase name="stream_read">
-<Test name="stride8_float_quads1" />
-<Test name="stride2_byte_quads256" />
-<Test name="stride0_short_quads1" />
-<Test name="stride0_short_quads256" />
-<Test name="stride0_byte_quads256" />
-<Test name="stride4_short_quads256" />
-<Test name="stride0_float_quads1" />
-<Test name="stride32_float_quads256" />
-<Test name="stride4_short_quads1" />
-<Test name="stride8_fixed_quads1" />
-<Test name="stride2_byte_quads1" />
-<Test name="stride17_byte_quads1" />
-<Test name="stride0_fixed_quads1" />
-<Test name="stride8_float_quads256" />
-<Test name="stride32_float_quads1" />
-<Test name="stride32_short_quads256" />
-<Test name="stride0_byte_quads1" />
-<Test name="stride32_fixed_quads1" />
-<Test name="stride32_short_quads1" />
-<Test name="stride0_float_quads256" />
-<Test name="stride32_byte_quads1" />
-<Test name="stride32_fixed_quads256" />
-<Test name="stride8_fixed_quads256" />
-<Test name="stride32_byte_quads256" />
-<Test name="stride17_byte_quads256" />
-<Test name="stride0_fixed_quads256" />
-</TestCase>
-<TestCase name="dynamic_read">
-<Test name="stride8_float_quads1" />
-<Test name="stride2_byte_quads256" />
-<Test name="stride0_short_quads1" />
-<Test name="stride0_short_quads256" />
-<Test name="stride0_byte_quads256" />
-<Test name="stride4_short_quads256" />
-<Test name="stride0_float_quads1" />
-<Test name="stride32_float_quads256" />
-<Test name="stride4_short_quads1" />
-<Test name="stride8_fixed_quads1" />
-<Test name="stride2_byte_quads1" />
-<Test name="stride17_byte_quads1" />
-<Test name="stride0_fixed_quads1" />
-<Test name="stride8_float_quads256" />
-<Test name="stride32_float_quads1" />
-<Test name="stride32_short_quads256" />
-<Test name="stride0_byte_quads1" />
-<Test name="stride32_fixed_quads1" />
-<Test name="stride32_short_quads1" />
-<Test name="stride0_float_quads256" />
-<Test name="stride32_byte_quads1" />
-<Test name="stride32_fixed_quads256" />
-<Test name="stride8_fixed_quads256" />
-<Test name="stride32_byte_quads256" />
-<Test name="stride17_byte_quads256" />
-<Test name="stride0_fixed_quads256" />
-</TestCase>
-<TestCase name="dynamic_draw">
-<Test name="stride8_float_quads1" />
-<Test name="stride2_byte_quads256" />
-<Test name="stride0_short_quads1" />
-<Test name="stride0_short_quads256" />
-<Test name="stride0_byte_quads256" />
-<Test name="stride4_short_quads256" />
-<Test name="stride0_float_quads1" />
-<Test name="stride32_float_quads256" />
-<Test name="stride4_short_quads1" />
-<Test name="stride8_fixed_quads1" />
-<Test name="stride2_byte_quads1" />
-<Test name="stride17_byte_quads1" />
-<Test name="stride0_fixed_quads1" />
-<Test name="stride8_float_quads256" />
-<Test name="stride32_float_quads1" />
-<Test name="stride32_short_quads256" />
-<Test name="stride0_byte_quads1" />
-<Test name="stride32_fixed_quads1" />
-<Test name="stride32_short_quads1" />
-<Test name="stride0_float_quads256" />
-<Test name="stride32_byte_quads1" />
-<Test name="stride32_fixed_quads256" />
-<Test name="stride8_fixed_quads256" />
-<Test name="stride32_byte_quads256" />
-<Test name="stride17_byte_quads256" />
-<Test name="stride0_fixed_quads256" />
-</TestCase>
-<TestCase name="static_draw">
-<Test name="stride8_float_quads1" />
-<Test name="stride2_byte_quads256" />
-<Test name="stride0_short_quads1" />
-<Test name="stride0_short_quads256" />
-<Test name="stride0_byte_quads256" />
-<Test name="stride4_short_quads256" />
-<Test name="stride0_float_quads1" />
-<Test name="stride32_float_quads256" />
-<Test name="stride4_short_quads1" />
-<Test name="stride8_fixed_quads1" />
-<Test name="stride2_byte_quads1" />
-<Test name="stride17_byte_quads1" />
-<Test name="stride0_fixed_quads1" />
-<Test name="stride8_float_quads256" />
-<Test name="stride32_float_quads1" />
-<Test name="stride32_short_quads256" />
-<Test name="stride0_byte_quads1" />
-<Test name="stride32_fixed_quads1" />
-<Test name="stride32_short_quads1" />
-<Test name="stride0_float_quads256" />
-<Test name="stride32_byte_quads1" />
-<Test name="stride32_fixed_quads256" />
-<Test name="stride8_fixed_quads256" />
-<Test name="stride32_byte_quads256" />
-<Test name="stride17_byte_quads256" />
-<Test name="stride0_fixed_quads256" />
-</TestCase>
-<TestCase name="static_copy">
-<Test name="stride8_float_quads1" />
-<Test name="stride2_byte_quads256" />
-<Test name="stride0_short_quads1" />
-<Test name="stride0_short_quads256" />
-<Test name="stride0_byte_quads256" />
-<Test name="stride4_short_quads256" />
-<Test name="stride0_float_quads1" />
-<Test name="stride32_float_quads256" />
-<Test name="stride4_short_quads1" />
-<Test name="stride8_fixed_quads1" />
-<Test name="stride2_byte_quads1" />
-<Test name="stride17_byte_quads1" />
-<Test name="stride0_fixed_quads1" />
-<Test name="stride8_float_quads256" />
-<Test name="stride32_float_quads1" />
-<Test name="stride32_short_quads256" />
-<Test name="stride0_byte_quads1" />
-<Test name="stride32_fixed_quads1" />
-<Test name="stride32_short_quads1" />
-<Test name="stride0_float_quads256" />
-<Test name="stride32_byte_quads1" />
-<Test name="stride32_fixed_quads256" />
-<Test name="stride8_fixed_quads256" />
-<Test name="stride32_byte_quads256" />
-<Test name="stride17_byte_quads256" />
-<Test name="stride0_fixed_quads256" />
-</TestCase>
-<TestCase name="static_read">
-<Test name="stride8_float_quads1" />
-<Test name="stride2_byte_quads256" />
-<Test name="stride0_short_quads1" />
-<Test name="stride0_short_quads256" />
-<Test name="stride0_byte_quads256" />
-<Test name="stride4_short_quads256" />
-<Test name="stride0_float_quads1" />
-<Test name="stride32_float_quads256" />
-<Test name="stride4_short_quads1" />
-<Test name="stride8_fixed_quads1" />
-<Test name="stride2_byte_quads1" />
-<Test name="stride17_byte_quads1" />
-<Test name="stride0_fixed_quads1" />
-<Test name="stride8_float_quads256" />
-<Test name="stride32_float_quads1" />
-<Test name="stride32_short_quads256" />
-<Test name="stride0_byte_quads1" />
-<Test name="stride32_fixed_quads1" />
-<Test name="stride32_short_quads1" />
-<Test name="stride0_float_quads256" />
-<Test name="stride32_byte_quads1" />
-<Test name="stride32_fixed_quads256" />
-<Test name="stride8_fixed_quads256" />
-<Test name="stride32_byte_quads256" />
-<Test name="stride17_byte_quads256" />
-<Test name="stride0_fixed_quads256" />
-</TestCase>
-<TestCase name="stream_copy">
-<Test name="stride8_float_quads1" />
-<Test name="stride2_byte_quads256" />
-<Test name="stride0_short_quads1" />
-<Test name="stride0_short_quads256" />
-<Test name="stride0_byte_quads256" />
-<Test name="stride4_short_quads256" />
-<Test name="stride0_float_quads1" />
-<Test name="stride32_float_quads256" />
-<Test name="stride4_short_quads1" />
-<Test name="stride8_fixed_quads1" />
-<Test name="stride2_byte_quads1" />
-<Test name="stride17_byte_quads1" />
-<Test name="stride0_fixed_quads1" />
-<Test name="stride8_float_quads256" />
-<Test name="stride32_float_quads1" />
-<Test name="stride32_short_quads256" />
-<Test name="stride0_byte_quads1" />
-<Test name="stride32_fixed_quads1" />
-<Test name="stride32_short_quads1" />
-<Test name="stride0_float_quads256" />
-<Test name="stride32_byte_quads1" />
-<Test name="stride32_fixed_quads256" />
-<Test name="stride8_fixed_quads256" />
-<Test name="stride32_byte_quads256" />
-<Test name="stride17_byte_quads256" />
-<Test name="stride0_fixed_quads256" />
-</TestCase>
-</TestSuite>
-<TestSuite name="output_types">
-<TestCase name="int2_10_10_10">
-<Test name="components4_vec2_quads256" />
-<Test name="components4_vec2_quads1" />
-<Test name="components4_vec4_quads1" />
-<Test name="components4_vec3_quads256" />
-<Test name="components4_vec4_quads256" />
-<Test name="components4_vec3_quads1" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="components4_vec2_quads1" />
-<Test name="components3_uvec2_quads1" />
-<Test name="components2_uvec3_quads256" />
-<Test name="components4_uvec2_quads1" />
-<Test name="components4_uvec3_quads1" />
-<Test name="components3_vec4_quads256" />
-<Test name="components3_vec2_quads256" />
-<Test name="components3_uvec3_quads1" />
-<Test name="components4_uvec4_quads1" />
-<Test name="components2_uvec3_quads1" />
-<Test name="components4_uvec3_quads256" />
-<Test name="components4_vec4_quads256" />
-<Test name="components2_uvec2_quads1" />
-<Test name="components2_vec3_quads1" />
-<Test name="components2_uvec4_quads256" />
-<Test name="components4_vec3_quads1" />
-<Test name="components2_vec4_quads256" />
-<Test name="components3_uvec2_quads256" />
-<Test name="components3_vec3_quads256" />
-<Test name="components4_vec4_quads1" />
-<Test name="components3_uvec4_quads256" />
-<Test name="components3_uvec3_quads256" />
-<Test name="components3_uvec4_quads1" />
-<Test name="components4_vec2_quads256" />
-<Test name="components2_vec2_quads1" />
-<Test name="components3_vec2_quads1" />
-<Test name="components4_uvec4_quads256" />
-<Test name="components3_vec4_quads1" />
-<Test name="components4_uvec2_quads256" />
-<Test name="components4_vec3_quads256" />
-<Test name="components3_vec3_quads1" />
-<Test name="components2_uvec4_quads1" />
-<Test name="components2_uvec2_quads256" />
-<Test name="components2_vec3_quads256" />
-<Test name="components2_vec4_quads1" />
-<Test name="components2_vec2_quads256" />
-</TestCase>
-<TestCase name="int">
-<Test name="components4_ivec4_quads1" />
-<Test name="components3_ivec2_quads256" />
-<Test name="components4_vec2_quads1" />
-<Test name="components2_ivec2_quads1" />
-<Test name="components4_ivec2_quads1" />
-<Test name="components2_ivec4_quads1" />
-<Test name="components3_vec4_quads256" />
-<Test name="components3_vec2_quads256" />
-<Test name="components3_vec4_quads1" />
-<Test name="components3_ivec2_quads1" />
-<Test name="components4_vec4_quads256" />
-<Test name="components3_ivec3_quads1" />
-<Test name="components2_vec3_quads1" />
-<Test name="components3_ivec4_quads256" />
-<Test name="components4_vec3_quads1" />
-<Test name="components3_ivec4_quads1" />
-<Test name="components2_vec4_quads256" />
-<Test name="components2_ivec4_quads256" />
-<Test name="components3_vec3_quads256" />
-<Test name="components2_ivec2_quads256" />
-<Test name="components4_ivec2_quads256" />
-<Test name="components4_vec4_quads1" />
-<Test name="components2_vec3_quads256" />
-<Test name="components4_vec2_quads256" />
-<Test name="components2_ivec3_quads256" />
-<Test name="components2_vec2_quads1" />
-<Test name="components3_vec2_quads1" />
-<Test name="components4_ivec3_quads256" />
-<Test name="components4_vec3_quads256" />
-<Test name="components3_vec3_quads1" />
-<Test name="components3_ivec3_quads256" />
-<Test name="components4_ivec4_quads256" />
-<Test name="components2_ivec3_quads1" />
-<Test name="components2_vec4_quads1" />
-<Test name="components2_vec2_quads256" />
-<Test name="components4_ivec3_quads1" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="components4_vec2_quads1" />
-<Test name="components3_uvec2_quads1" />
-<Test name="components2_uvec3_quads256" />
-<Test name="components4_uvec2_quads1" />
-<Test name="components4_uvec3_quads1" />
-<Test name="components3_vec4_quads256" />
-<Test name="components3_vec2_quads256" />
-<Test name="components3_uvec3_quads1" />
-<Test name="components4_uvec4_quads1" />
-<Test name="components2_uvec3_quads1" />
-<Test name="components4_uvec3_quads256" />
-<Test name="components4_vec4_quads256" />
-<Test name="components2_uvec2_quads1" />
-<Test name="components2_vec3_quads1" />
-<Test name="components2_uvec4_quads256" />
-<Test name="components4_vec3_quads1" />
-<Test name="components2_vec4_quads256" />
-<Test name="components3_uvec2_quads256" />
-<Test name="components3_vec3_quads256" />
-<Test name="components4_vec4_quads1" />
-<Test name="components3_uvec4_quads256" />
-<Test name="components3_uvec3_quads256" />
-<Test name="components3_uvec4_quads1" />
-<Test name="components4_vec2_quads256" />
-<Test name="components2_vec2_quads1" />
-<Test name="components3_vec2_quads1" />
-<Test name="components4_uvec4_quads256" />
-<Test name="components3_vec4_quads1" />
-<Test name="components4_uvec2_quads256" />
-<Test name="components4_vec3_quads256" />
-<Test name="components3_vec3_quads1" />
-<Test name="components2_uvec4_quads1" />
-<Test name="components2_uvec2_quads256" />
-<Test name="components2_vec3_quads256" />
-<Test name="components2_vec4_quads1" />
-<Test name="components2_vec2_quads256" />
-</TestCase>
-<TestCase name="float">
-<Test name="components4_vec2_quads256" />
-<Test name="components3_vec4_quads256" />
-<Test name="components3_vec2_quads256" />
-<Test name="components4_vec2_quads1" />
-<Test name="components4_vec4_quads1" />
-<Test name="components2_vec4_quads256" />
-<Test name="components2_vec2_quads1" />
-<Test name="components3_vec2_quads1" />
-<Test name="components3_vec3_quads256" />
-<Test name="components3_vec4_quads1" />
-<Test name="components4_vec3_quads256" />
-<Test name="components3_vec3_quads1" />
-<Test name="components4_vec4_quads256" />
-<Test name="components2_vec3_quads1" />
-<Test name="components2_vec3_quads256" />
-<Test name="components2_vec4_quads1" />
-<Test name="components2_vec2_quads256" />
-<Test name="components4_vec3_quads1" />
-</TestCase>
-<TestCase name="short">
-<Test name="components4_ivec4_quads1" />
-<Test name="components3_ivec2_quads256" />
-<Test name="components4_vec2_quads1" />
-<Test name="components2_ivec2_quads1" />
-<Test name="components4_ivec2_quads1" />
-<Test name="components2_ivec4_quads1" />
-<Test name="components3_vec4_quads256" />
-<Test name="components3_vec2_quads256" />
-<Test name="components3_vec4_quads1" />
-<Test name="components3_ivec2_quads1" />
-<Test name="components4_vec4_quads256" />
-<Test name="components3_ivec3_quads1" />
-<Test name="components2_vec3_quads1" />
-<Test name="components3_ivec4_quads256" />
-<Test name="components4_vec3_quads1" />
-<Test name="components3_ivec4_quads1" />
-<Test name="components2_vec4_quads256" />
-<Test name="components2_ivec4_quads256" />
-<Test name="components3_vec3_quads256" />
-<Test name="components2_ivec2_quads256" />
-<Test name="components4_ivec2_quads256" />
-<Test name="components4_vec4_quads1" />
-<Test name="components2_vec3_quads256" />
-<Test name="components4_vec2_quads256" />
-<Test name="components2_ivec3_quads256" />
-<Test name="components2_vec2_quads1" />
-<Test name="components3_vec2_quads1" />
-<Test name="components4_ivec3_quads256" />
-<Test name="components4_vec3_quads256" />
-<Test name="components3_vec3_quads1" />
-<Test name="components3_ivec3_quads256" />
-<Test name="components4_ivec4_quads256" />
-<Test name="components2_ivec3_quads1" />
-<Test name="components2_vec4_quads1" />
-<Test name="components2_vec2_quads256" />
-<Test name="components4_ivec3_quads1" />
-</TestCase>
-<TestCase name="usigned_int2_10_10_10">
-<Test name="components4_vec2_quads256" />
-<Test name="components4_vec2_quads1" />
-<Test name="components4_vec4_quads1" />
-<Test name="components4_vec3_quads256" />
-<Test name="components4_vec4_quads256" />
-<Test name="components4_vec3_quads1" />
-</TestCase>
-<TestCase name="half">
-<Test name="components4_vec2_quads256" />
-<Test name="components3_vec4_quads256" />
-<Test name="components3_vec2_quads256" />
-<Test name="components4_vec2_quads1" />
-<Test name="components4_vec4_quads1" />
-<Test name="components2_vec4_quads256" />
-<Test name="components2_vec2_quads1" />
-<Test name="components3_vec2_quads1" />
-<Test name="components3_vec3_quads256" />
-<Test name="components3_vec4_quads1" />
-<Test name="components4_vec3_quads256" />
-<Test name="components3_vec3_quads1" />
-<Test name="components4_vec4_quads256" />
-<Test name="components2_vec3_quads1" />
-<Test name="components2_vec3_quads256" />
-<Test name="components2_vec4_quads1" />
-<Test name="components2_vec2_quads256" />
-<Test name="components4_vec3_quads1" />
-</TestCase>
-<TestCase name="unsigned_short">
-<Test name="components4_vec2_quads1" />
-<Test name="components3_uvec2_quads1" />
-<Test name="components2_uvec3_quads256" />
-<Test name="components4_uvec2_quads1" />
-<Test name="components4_uvec3_quads1" />
-<Test name="components3_vec4_quads256" />
-<Test name="components3_vec2_quads256" />
-<Test name="components3_uvec3_quads1" />
-<Test name="components4_uvec4_quads1" />
-<Test name="components2_uvec3_quads1" />
-<Test name="components4_uvec3_quads256" />
-<Test name="components4_vec4_quads256" />
-<Test name="components2_uvec2_quads1" />
-<Test name="components2_vec3_quads1" />
-<Test name="components2_uvec4_quads256" />
-<Test name="components4_vec3_quads1" />
-<Test name="components2_vec4_quads256" />
-<Test name="components3_uvec2_quads256" />
-<Test name="components3_vec3_quads256" />
-<Test name="components4_vec4_quads1" />
-<Test name="components3_uvec4_quads256" />
-<Test name="components3_uvec3_quads256" />
-<Test name="components3_uvec4_quads1" />
-<Test name="components4_vec2_quads256" />
-<Test name="components2_vec2_quads1" />
-<Test name="components3_vec2_quads1" />
-<Test name="components4_uvec4_quads256" />
-<Test name="components3_vec4_quads1" />
-<Test name="components4_uvec2_quads256" />
-<Test name="components4_vec3_quads256" />
-<Test name="components3_vec3_quads1" />
-<Test name="components2_uvec4_quads1" />
-<Test name="components2_uvec2_quads256" />
-<Test name="components2_vec3_quads256" />
-<Test name="components2_vec4_quads1" />
-<Test name="components2_vec2_quads256" />
-</TestCase>
-<TestCase name="byte">
-<Test name="components4_ivec4_quads1" />
-<Test name="components3_ivec2_quads256" />
-<Test name="components4_vec2_quads1" />
-<Test name="components2_ivec2_quads1" />
-<Test name="components4_ivec2_quads1" />
-<Test name="components2_ivec4_quads1" />
-<Test name="components3_vec4_quads256" />
-<Test name="components3_vec2_quads256" />
-<Test name="components3_vec4_quads1" />
-<Test name="components3_ivec2_quads1" />
-<Test name="components4_vec4_quads256" />
-<Test name="components3_ivec3_quads1" />
-<Test name="components2_vec3_quads1" />
-<Test name="components3_ivec4_quads256" />
-<Test name="components4_vec3_quads1" />
-<Test name="components3_ivec4_quads1" />
-<Test name="components2_vec4_quads256" />
-<Test name="components2_ivec4_quads256" />
-<Test name="components3_vec3_quads256" />
-<Test name="components2_ivec2_quads256" />
-<Test name="components4_ivec2_quads256" />
-<Test name="components4_vec4_quads1" />
-<Test name="components2_vec3_quads256" />
-<Test name="components4_vec2_quads256" />
-<Test name="components2_ivec3_quads256" />
-<Test name="components2_vec2_quads1" />
-<Test name="components3_vec2_quads1" />
-<Test name="components4_ivec3_quads256" />
-<Test name="components4_vec3_quads256" />
-<Test name="components3_vec3_quads1" />
-<Test name="components3_ivec3_quads256" />
-<Test name="components4_ivec4_quads256" />
-<Test name="components2_ivec3_quads1" />
-<Test name="components2_vec4_quads1" />
-<Test name="components2_vec2_quads256" />
-<Test name="components4_ivec3_quads1" />
-</TestCase>
-<TestCase name="fixed">
-<Test name="components4_vec2_quads256" />
-<Test name="components3_vec4_quads256" />
-<Test name="components3_vec2_quads256" />
-<Test name="components4_vec2_quads1" />
-<Test name="components4_vec4_quads1" />
-<Test name="components2_vec4_quads256" />
-<Test name="components2_vec2_quads1" />
-<Test name="components3_vec2_quads1" />
-<Test name="components3_vec3_quads256" />
-<Test name="components3_vec4_quads1" />
-<Test name="components4_vec3_quads256" />
-<Test name="components3_vec3_quads1" />
-<Test name="components4_vec4_quads256" />
-<Test name="components2_vec3_quads1" />
-<Test name="components2_vec3_quads256" />
-<Test name="components2_vec4_quads1" />
-<Test name="components2_vec2_quads256" />
-<Test name="components4_vec3_quads1" />
-</TestCase>
-</TestSuite>
-<TestSuite name="strides">
-<TestCase name="int2_10_10_10">
-<Test name="user_ptr_stride32_components4_quads1" />
-<Test name="user_ptr_stride16_components4_quads256" />
-<Test name="buffer_stride16_components4_quads1" />
-<Test name="buffer_stride16_components4_quads256" />
-<Test name="buffer_stride32_components4_quads256" />
-<Test name="user_ptr_stride17_components4_quads256" />
-<Test name="user_ptr_stride16_components4_quads1" />
-<Test name="buffer_stride32_components4_quads1" />
-<Test name="user_ptr_stride17_components4_quads1" />
-<Test name="user_ptr_stride32_components4_quads256" />
-</TestCase>
-<TestCase name="float">
-<Test name="buffer_stride8_components2_quads256" />
-<Test name="user_ptr_stride8_components2_quads1" />
-<Test name="buffer_stride8_components2_quads1" />
-<Test name="user_ptr_stride32_components3_quads1" />
-<Test name="buffer_stride32_components4_quads256" />
-<Test name="user_ptr_stride32_components4_quads1" />
-<Test name="buffer_stride32_components3_quads256" />
-<Test name="user_ptr_stride16_components4_quads1" />
-<Test name="user_ptr_stride12_components3_quads256" />
-<Test name="user_ptr_stride32_components2_quads1" />
-<Test name="user_ptr_stride8_components2_quads256" />
-<Test name="buffer_stride16_components4_quads256" />
-<Test name="user_ptr_stride32_components3_quads256" />
-<Test name="buffer_stride32_components2_quads1" />
-<Test name="user_ptr_stride17_components4_quads1" />
-<Test name="buffer_stride12_components3_quads256" />
-<Test name="user_ptr_stride16_components4_quads256" />
-<Test name="user_ptr_stride32_components2_quads256" />
-<Test name="buffer_stride32_components3_quads1" />
-<Test name="user_ptr_stride32_components4_quads256" />
-<Test name="buffer_stride12_components3_quads1" />
-<Test name="user_ptr_stride17_components2_quads1" />
-<Test name="buffer_stride32_components4_quads1" />
-<Test name="user_ptr_stride17_components2_quads256" />
-<Test name="user_ptr_stride17_components3_quads256" />
-<Test name="user_ptr_stride17_components4_quads256" />
-<Test name="user_ptr_stride12_components3_quads1" />
-<Test name="buffer_stride32_components2_quads256" />
-<Test name="buffer_stride16_components4_quads1" />
-<Test name="user_ptr_stride17_components3_quads1" />
-</TestCase>
-<TestCase name="byte">
-<Test name="user_ptr_stride32_components4_quads1" />
-<Test name="user_ptr_stride32_components3_quads1" />
-<Test name="buffer_stride32_components4_quads256" />
-<Test name="buffer_stride32_components2_quads256" />
-<Test name="buffer_stride32_components3_quads256" />
-<Test name="buffer_stride4_components4_quads1" />
-<Test name="buffer_stride32_components4_quads1" />
-<Test name="user_ptr_stride32_components2_quads1" />
-<Test name="user_ptr_stride3_components3_quads256" />
-<Test name="user_ptr_stride2_components2_quads1" />
-<Test name="user_ptr_stride4_components4_quads1" />
-<Test name="buffer_stride2_components2_quads1" />
-<Test name="user_ptr_stride32_components3_quads256" />
-<Test name="user_ptr_stride17_components4_quads256" />
-<Test name="buffer_stride32_components2_quads1" />
-<Test name="buffer_stride4_components4_quads256" />
-<Test name="user_ptr_stride17_components4_quads1" />
-<Test name="buffer_stride17_components3_quads1" />
-<Test name="buffer_stride3_components3_quads1" />
-<Test name="buffer_stride17_components2_quads1" />
-<Test name="user_ptr_stride4_components4_quads256" />
-<Test name="user_ptr_stride2_components2_quads256" />
-<Test name="user_ptr_stride32_components2_quads256" />
-<Test name="buffer_stride32_components3_quads1" />
-<Test name="user_ptr_stride32_components4_quads256" />
-<Test name="user_ptr_stride17_components2_quads256" />
-<Test name="user_ptr_stride17_components2_quads1" />
-<Test name="buffer_stride17_components4_quads256" />
-<Test name="buffer_stride2_components2_quads256" />
-<Test name="user_ptr_stride17_components3_quads256" />
-<Test name="user_ptr_stride3_components3_quads1" />
-<Test name="buffer_stride17_components2_quads256" />
-<Test name="buffer_stride17_components3_quads256" />
-<Test name="buffer_stride3_components3_quads256" />
-<Test name="buffer_stride17_components4_quads1" />
-<Test name="user_ptr_stride17_components3_quads1" />
-</TestCase>
-<TestCase name="fixed">
-<Test name="buffer_stride8_components2_quads256" />
-<Test name="user_ptr_stride8_components2_quads1" />
-<Test name="buffer_stride8_components2_quads1" />
-<Test name="user_ptr_stride32_components3_quads1" />
-<Test name="buffer_stride32_components4_quads256" />
-<Test name="user_ptr_stride32_components4_quads1" />
-<Test name="buffer_stride32_components3_quads256" />
-<Test name="user_ptr_stride16_components4_quads1" />
-<Test name="user_ptr_stride12_components3_quads256" />
-<Test name="user_ptr_stride32_components2_quads1" />
-<Test name="user_ptr_stride8_components2_quads256" />
-<Test name="buffer_stride16_components4_quads256" />
-<Test name="user_ptr_stride32_components3_quads256" />
-<Test name="buffer_stride32_components2_quads1" />
-<Test name="user_ptr_stride17_components4_quads1" />
-<Test name="buffer_stride12_components3_quads256" />
-<Test name="user_ptr_stride16_components4_quads256" />
-<Test name="user_ptr_stride32_components2_quads256" />
-<Test name="buffer_stride32_components3_quads1" />
-<Test name="user_ptr_stride32_components4_quads256" />
-<Test name="buffer_stride12_components3_quads1" />
-<Test name="user_ptr_stride17_components2_quads1" />
-<Test name="buffer_stride32_components4_quads1" />
-<Test name="user_ptr_stride17_components2_quads256" />
-<Test name="user_ptr_stride17_components3_quads256" />
-<Test name="user_ptr_stride17_components4_quads256" />
-<Test name="user_ptr_stride12_components3_quads1" />
-<Test name="buffer_stride32_components2_quads256" />
-<Test name="buffer_stride16_components4_quads1" />
-<Test name="user_ptr_stride17_components3_quads1" />
-</TestCase>
-<TestCase name="short">
-<Test name="user_ptr_stride32_components4_quads1" />
-<Test name="user_ptr_stride32_components3_quads1" />
-<Test name="buffer_stride32_components4_quads256" />
-<Test name="buffer_stride6_components3_quads256" />
-<Test name="buffer_stride32_components2_quads256" />
-<Test name="buffer_stride32_components3_quads256" />
-<Test name="buffer_stride8_components4_quads256" />
-<Test name="buffer_stride32_components4_quads1" />
-<Test name="user_ptr_stride32_components2_quads1" />
-<Test name="user_ptr_stride6_components3_quads1" />
-<Test name="user_ptr_stride4_components2_quads1" />
-<Test name="user_ptr_stride32_components3_quads256" />
-<Test name="user_ptr_stride32_components4_quads256" />
-<Test name="buffer_stride32_components2_quads1" />
-<Test name="user_ptr_stride17_components4_quads1" />
-<Test name="buffer_stride4_components2_quads1" />
-<Test name="user_ptr_stride4_components2_quads256" />
-<Test name="buffer_stride6_components3_quads1" />
-<Test name="user_ptr_stride6_components3_quads256" />
-<Test name="user_ptr_stride8_components4_quads1" />
-<Test name="user_ptr_stride32_components2_quads256" />
-<Test name="buffer_stride32_components3_quads1" />
-<Test name="buffer_stride8_components4_quads1" />
-<Test name="user_ptr_stride17_components2_quads1" />
-<Test name="user_ptr_stride17_components2_quads256" />
-<Test name="user_ptr_stride17_components3_quads256" />
-<Test name="buffer_stride4_components2_quads256" />
-<Test name="user_ptr_stride17_components4_quads256" />
-<Test name="user_ptr_stride8_components4_quads256" />
-<Test name="user_ptr_stride17_components3_quads1" />
-</TestCase>
-</TestSuite>
-<TestSuite name="offset">
-<TestCase name="int2_10_10_10">
-<Test name="offset32_stride32_quads256" />
-<Test name="offset32_stride32_quads1" />
-<Test name="offset4_stride32_quads256" />
-<Test name="offset4_stride4_quads1" />
-<Test name="offset32_stride4_quads256" />
-<Test name="offset32_stride4_quads1" />
-<Test name="offset4_stride4_quads256" />
-<Test name="offset4_stride32_quads1" />
-</TestCase>
-<TestCase name="byte">
-<Test name="offset17_stride17_quads1" />
-<Test name="offset1_stride2_quads1" />
-<Test name="offset1_stride17_quads256" />
-<Test name="offset1_stride17_quads1" />
-<Test name="offset1_stride2_quads256" />
-<Test name="offset4_stride17_quads1" />
-<Test name="offset1_stride32_quads1" />
-<Test name="offset4_stride32_quads1" />
-<Test name="offset32_stride2_quads256" />
-<Test name="offset17_stride17_quads256" />
-<Test name="offset4_stride32_quads256" />
-<Test name="offset17_stride32_quads256" />
-<Test name="offset1_stride32_quads256" />
-<Test name="offset17_stride2_quads256" />
-<Test name="offset4_stride2_quads1" />
-<Test name="offset4_stride17_quads256" />
-<Test name="offset17_stride2_quads1" />
-<Test name="offset32_stride32_quads1" />
-<Test name="offset32_stride17_quads1" />
-<Test name="offset32_stride32_quads256" />
-<Test name="offset4_stride2_quads256" />
-<Test name="offset17_stride32_quads1" />
-<Test name="offset32_stride17_quads256" />
-<Test name="offset32_stride2_quads1" />
-</TestCase>
-<TestCase name="float">
-<Test name="offset32_stride32_quads256" />
-<Test name="offset4_stride32_quads1" />
-<Test name="offset32_stride32_quads1" />
-<Test name="offset4_stride32_quads256" />
-<Test name="offset32_stride8_quads256" />
-<Test name="offset4_stride8_quads1" />
-<Test name="offset32_stride8_quads1" />
-<Test name="offset4_stride8_quads256" />
-</TestCase>
-</TestSuite>
-<TestSuite name="first">
-<TestCase name="int2_10_10_10">
-<Test name="first24_offset16_stride32_quads5" />
-<Test name="first6_offset16_stride8_quads5" />
-<Test name="first6_offset16_stride32_quads5" />
-<Test name="first24_offset16_stride8_quads256" />
-<Test name="first6_offset16_stride32_quads256" />
-<Test name="first24_offset16_stride32_quads256" />
-<Test name="first6_offset16_stride8_quads256" />
-<Test name="first24_offset16_stride8_quads5" />
-</TestCase>
-<TestCase name="byte">
-<Test name="first6_offset16_stride2_quads5" />
-<Test name="first6_offset1_stride2_quads256" />
-<Test name="first6_offset1_stride17_quads5" />
-<Test name="first24_offset1_stride17_quads5" />
-<Test name="first6_offset16_stride32_quads5" />
-<Test name="first6_offset17_stride32_quads5" />
-<Test name="first24_offset17_stride32_quads5" />
-<Test name="first6_offset16_stride17_quads256" />
-<Test name="first24_offset17_stride2_quads256" />
-<Test name="first6_offset1_stride17_quads256" />
-<Test name="first6_offset17_stride2_quads256" />
-<Test name="first6_offset17_stride17_quads5" />
-<Test name="first6_offset16_stride2_quads256" />
-<Test name="first24_offset16_stride2_quads5" />
-<Test name="first24_offset1_stride32_quads5" />
-<Test name="first24_offset1_stride17_quads256" />
-<Test name="first24_offset16_stride17_quads5" />
-<Test name="first6_offset1_stride32_quads256" />
-<Test name="first24_offset17_stride32_quads256" />
-<Test name="first24_offset16_stride2_quads256" />
-<Test name="first24_offset17_stride17_quads256" />
-<Test name="first6_offset1_stride32_quads5" />
-<Test name="first6_offset16_stride17_quads5" />
-<Test name="first24_offset1_stride32_quads256" />
-<Test name="first6_offset17_stride2_quads5" />
-<Test name="first6_offset17_stride32_quads256" />
-<Test name="first6_offset1_stride2_quads5" />
-<Test name="first6_offset17_stride17_quads256" />
-<Test name="first24_offset16_stride17_quads256" />
-<Test name="first24_offset1_stride2_quads5" />
-<Test name="first24_offset16_stride32_quads5" />
-<Test name="first24_offset1_stride2_quads256" />
-<Test name="first24_offset17_stride17_quads5" />
-<Test name="first6_offset16_stride32_quads256" />
-<Test name="first24_offset16_stride32_quads256" />
-<Test name="first24_offset17_stride2_quads5" />
-</TestCase>
-<TestCase name="float">
-<Test name="first24_offset16_stride32_quads5" />
-<Test name="first6_offset16_stride8_quads5" />
-<Test name="first6_offset16_stride32_quads5" />
-<Test name="first24_offset16_stride8_quads256" />
-<Test name="first6_offset16_stride32_quads256" />
-<Test name="first24_offset16_stride32_quads256" />
-<Test name="first6_offset16_stride8_quads256" />
-<Test name="first24_offset16_stride8_quads5" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-<TestSuite name="multiple_attributes">
-<TestCase name="stride">
-<Test name="3_float2_8_float2_17_float2_8" />
-<Test name="3_float2_17_float2_17_float2_17" />
-<Test name="3_float2_8_float2_0_float2_8" />
-<Test name="3_float2_0_float2_8_float2_17" />
-<Test name="3_float2_0_float2_8_float2_32" />
-<Test name="3_float2_0_float2_17_float2_17" />
-<Test name="3_float2_0_float2_17_float2_32" />
-<Test name="3_float2_17_float2_0_float2_0" />
-<Test name="3_float2_8_float2_32_float2_8" />
-<Test name="3_float2_0_float2_0_float2_0" />
-<Test name="3_float2_8_float2_17_float2_17" />
-<Test name="3_float2_8_float2_17_float2_32" />
-<Test name="3_float2_0_float2_17_float2_8" />
-<Test name="3_float2_17_float2_0_float2_8" />
-<Test name="3_float2_8_float2_32_float2_0" />
-<Test name="3_float2_8_float2_0_float2_0" />
-<Test name="3_float2_17_float2_17_float2_8" />
-<Test name="3_float2_32_float2_0_float2_32" />
-<Test name="3_float2_17_float2_0_float2_17" />
-<Test name="3_float2_17_float2_17_float2_0" />
-<Test name="3_float2_0_float2_17_float2_0" />
-<Test name="3_float2_8_float2_0_float2_17" />
-<Test name="3_float2_8_float2_0_float2_32" />
-<Test name="3_float2_17_float2_17_float2_32" />
-<Test name="3_float2_17_float2_0_float2_32" />
-<Test name="3_float2_0_float2_0_float2_17" />
-<Test name="3_float2_8_float2_8_float2_0" />
-<Test name="3_float2_32_float2_17_float2_8" />
-<Test name="3_float2_0_float2_0_float2_8" />
-<Test name="3_float2_17_float2_8_float2_0" />
-<Test name="3_float2_17_float2_32_float2_32" />
-<Test name="3_float2_8_float2_8_float2_8" />
-<Test name="3_float2_32_float2_17_float2_17" />
-<Test name="3_float2_32_float2_8_float2_0" />
-<Test name="3_float2_0_float2_32_float2_0" />
-<Test name="3_float2_17_float2_8_float2_8" />
-<Test name="3_float2_8_float2_17_float2_0" />
-<Test name="3_float2_17_float2_8_float2_32" />
-<Test name="3_float2_32_float2_8_float2_8" />
-<Test name="3_float2_0_float2_32_float2_8" />
-<Test name="3_float2_32_float2_17_float2_32" />
-<Test name="3_float2_32_float2_32_float2_0" />
-<Test name="3_float2_32_float2_0_float2_8" />
-<Test name="3_float2_8_float2_8_float2_17" />
-<Test name="3_float2_8_float2_8_float2_32" />
-<Test name="3_float2_17_float2_32_float2_17" />
-<Test name="3_float2_32_float2_0_float2_0" />
-<Test name="3_float2_32_float2_32_float2_32" />
-<Test name="3_float2_32_float2_32_float2_17" />
-<Test name="3_float2_0_float2_32_float2_17" />
-<Test name="3_float2_17_float2_32_float2_8" />
-<Test name="3_float2_8_float2_32_float2_32" />
-<Test name="3_float2_32_float2_32_float2_8" />
-<Test name="3_float2_32_float2_0_float2_17" />
-<Test name="3_float2_8_float2_32_float2_17" />
-<Test name="3_float2_17_float2_32_float2_0" />
-<Test name="3_float2_17_float2_8_float2_17" />
-<Test name="3_float2_0_float2_0_float2_32" />
-<Test name="3_float2_32_float2_8_float2_17" />
-<Test name="3_float2_0_float2_8_float2_8" />
-<Test name="3_float2_32_float2_8_float2_32" />
-<Test name="3_float2_32_float2_17_float2_0" />
-<Test name="3_float2_0_float2_32_float2_32" />
-<Test name="3_float2_0_float2_8_float2_0" />
-</TestCase>
-<TestCase name="attribute_count">
-<Test name="3" />
-<Test name="2" />
-<Test name="5" />
-<Test name="4" />
-<Test name="7" />
-<Test name="6" />
-<Test name="8" />
-</TestCase>
-<TestCase name="storage">
-<Test name="3_user_ptr_user_ptr_buffer" />
-<Test name="3_buffer_user_ptr_user_ptr" />
-<Test name="3_buffer_buffer_user_ptr" />
-<Test name="3_user_ptr_buffer_user_ptr" />
-<Test name="3_buffer_buffer_buffer" />
-<Test name="3_user_ptr_buffer_buffer" />
-<Test name="3_buffer_user_ptr_buffer" />
-</TestCase>
-<TestCase name="input_types">
-<Test name="3_short2_vec2_unsigned_short2_vec2_byte2_vec2" />
-<Test name="3_unsigned_byte2_vec2_byte2_vec2_fixed2_vec2" />
-<Test name="3_unsigned_short2_vec2_unsigned_byte2_vec2_unsigned_byte2_vec2" />
-<Test name="3_unsigned_byte2_vec2_fixed2_vec2_unsigned_byte2_vec2" />
-<Test name="3_fixed2_vec2_unsigned_short2_vec2_byte2_vec2" />
-<Test name="3_unsigned_short2_vec2_byte2_vec2_short2_vec2" />
-<Test name="3_byte2_vec2_byte2_vec2_unsigned_byte2_vec2" />
-<Test name="3_byte2_vec2_byte2_vec2_byte2_vec2" />
-<Test name="3_byte2_vec2_short2_vec2_fixed2_vec2" />
-<Test name="3_fixed2_vec2_unsigned_short2_vec2_unsigned_byte2_vec2" />
-<Test name="3_fixed2_vec2_unsigned_byte2_vec2_short2_vec2" />
-<Test name="3_unsigned_byte2_vec2_fixed2_vec2_fixed2_vec2" />
-<Test name="3_unsigned_byte2_vec2_byte2_vec2_unsigned_byte2_vec2" />
-<Test name="3_unsigned_short2_vec2_unsigned_byte2_vec2_short2_vec2" />
-<Test name="3_unsigned_short2_vec2_byte2_vec2_byte2_vec2" />
-<Test name="3_short2_vec2_short2_vec2_short2_vec2" />
-<Test name="3_byte2_vec2_short2_vec2_unsigned_short2_vec2" />
-<Test name="3_short2_vec2_short2_vec2_fixed2_vec2" />
-<Test name="3_unsigned_short2_vec2_unsigned_byte2_vec2_byte2_vec2" />
-<Test name="3_unsigned_byte2_vec2_unsigned_short2_vec2_byte2_vec2" />
-<Test name="3_fixed2_vec2_byte2_vec2_byte2_vec2" />
-<Test name="3_unsigned_byte2_vec2_unsigned_byte2_vec2_unsigned_short2_vec2" />
-<Test name="3_unsigned_byte2_vec2_fixed2_vec2_short2_vec2" />
-<Test name="3_short2_vec2_unsigned_short2_vec2_unsigned_byte2_vec2" />
-<Test name="3_byte2_vec2_unsigned_short2_vec2_byte2_vec2" />
-<Test name="3_unsigned_short2_vec2_short2_vec2_fixed2_vec2" />
-<Test name="3_byte2_vec2_unsigned_short2_vec2_unsigned_short2_vec2" />
-<Test name="3_short2_vec2_unsigned_byte2_vec2_unsigned_short2_vec2" />
-<Test name="3_unsigned_byte2_vec2_short2_vec2_unsigned_byte2_vec2" />
-<Test name="3_unsigned_byte2_vec2_fixed2_vec2_byte2_vec2" />
-<Test name="3_fixed2_vec2_fixed2_vec2_unsigned_short2_vec2" />
-<Test name="3_short2_vec2_byte2_vec2_byte2_vec2" />
-<Test name="3_short2_vec2_unsigned_byte2_vec2_unsigned_byte2_vec2" />
-<Test name="3_byte2_vec2_short2_vec2_unsigned_byte2_vec2" />
-<Test name="3_unsigned_short2_vec2_fixed2_vec2_unsigned_short2_vec2" />
-<Test name="3_unsigned_byte2_vec2_fixed2_vec2_unsigned_short2_vec2" />
-<Test name="3_fixed2_vec2_fixed2_vec2_short2_vec2" />
-<Test name="3_fixed2_vec2_unsigned_short2_vec2_short2_vec2" />
-<Test name="3_unsigned_short2_vec2_unsigned_short2_vec2_fixed2_vec2" />
-<Test name="3_fixed2_vec2_byte2_vec2_short2_vec2" />
-<Test name="3_unsigned_short2_vec2_short2_vec2_unsigned_byte2_vec2" />
-<Test name="3_byte2_vec2_unsigned_short2_vec2_short2_vec2" />
-<Test name="3_short2_vec2_unsigned_short2_vec2_unsigned_short2_vec2" />
-<Test name="3_byte2_vec2_short2_vec2_short2_vec2" />
-<Test name="3_fixed2_vec2_unsigned_byte2_vec2_byte2_vec2" />
-<Test name="3_unsigned_byte2_vec2_short2_vec2_byte2_vec2" />
-<Test name="3_unsigned_short2_vec2_byte2_vec2_unsigned_short2_vec2" />
-<Test name="3_fixed2_vec2_short2_vec2_byte2_vec2" />
-<Test name="3_fixed2_vec2_unsigned_byte2_vec2_fixed2_vec2" />
-<Test name="3_unsigned_byte2_vec2_short2_vec2_fixed2_vec2" />
-<Test name="3_fixed2_vec2_short2_vec2_unsigned_short2_vec2" />
-<Test name="3_fixed2_vec2_unsigned_short2_vec2_fixed2_vec2" />
-<Test name="3_short2_vec2_short2_vec2_unsigned_byte2_vec2" />
-<Test name="3_short2_vec2_unsigned_byte2_vec2_fixed2_vec2" />
-<Test name="3_unsigned_byte2_vec2_unsigned_byte2_vec2_byte2_vec2" />
-<Test name="3_fixed2_vec2_unsigned_byte2_vec2_unsigned_short2_vec2" />
-<Test name="3_unsigned_byte2_vec2_short2_vec2_short2_vec2" />
-<Test name="3_fixed2_vec2_short2_vec2_fixed2_vec2" />
-<Test name="3_byte2_vec2_unsigned_short2_vec2_fixed2_vec2" />
-<Test name="3_byte2_vec2_fixed2_vec2_fixed2_vec2" />
-<Test name="3_unsigned_byte2_vec2_unsigned_short2_vec2_short2_vec2" />
-<Test name="3_byte2_vec2_unsigned_byte2_vec2_short2_vec2" />
-<Test name="3_short2_vec2_unsigned_byte2_vec2_byte2_vec2" />
-<Test name="3_unsigned_short2_vec2_unsigned_short2_vec2_short2_vec2" />
-<Test name="3_byte2_vec2_unsigned_byte2_vec2_fixed2_vec2" />
-<Test name="3_byte2_vec2_unsigned_short2_vec2_unsigned_byte2_vec2" />
-<Test name="3_fixed2_vec2_fixed2_vec2_byte2_vec2" />
-<Test name="3_fixed2_vec2_unsigned_byte2_vec2_unsigned_byte2_vec2" />
-<Test name="3_fixed2_vec2_byte2_vec2_fixed2_vec2" />
-<Test name="3_unsigned_short2_vec2_unsigned_short2_vec2_byte2_vec2" />
-<Test name="3_unsigned_short2_vec2_short2_vec2_byte2_vec2" />
-<Test name="3_short2_vec2_byte2_vec2_unsigned_byte2_vec2" />
-<Test name="3_short2_vec2_byte2_vec2_short2_vec2" />
-<Test name="3_fixed2_vec2_byte2_vec2_unsigned_byte2_vec2" />
-<Test name="3_short2_vec2_byte2_vec2_fixed2_vec2" />
-<Test name="3_short2_vec2_unsigned_short2_vec2_short2_vec2" />
-<Test name="3_short2_vec2_fixed2_vec2_byte2_vec2" />
-<Test name="3_unsigned_short2_vec2_fixed2_vec2_unsigned_byte2_vec2" />
-<Test name="3_byte2_vec2_fixed2_vec2_unsigned_short2_vec2" />
-<Test name="3_byte2_vec2_unsigned_byte2_vec2_unsigned_short2_vec2" />
-<Test name="3_unsigned_byte2_vec2_byte2_vec2_byte2_vec2" />
-<Test name="3_short2_vec2_unsigned_byte2_vec2_short2_vec2" />
-<Test name="3_fixed2_vec2_fixed2_vec2_fixed2_vec2" />
-<Test name="3_fixed2_vec2_unsigned_short2_vec2_unsigned_short2_vec2" />
-<Test name="3_short2_vec2_unsigned_short2_vec2_fixed2_vec2" />
-<Test name="3_unsigned_byte2_vec2_byte2_vec2_unsigned_short2_vec2" />
-<Test name="3_short2_vec2_short2_vec2_byte2_vec2" />
-<Test name="3_unsigned_short2_vec2_short2_vec2_unsigned_short2_vec2" />
-<Test name="3_unsigned_short2_vec2_unsigned_byte2_vec2_fixed2_vec2" />
-<Test name="3_byte2_vec2_byte2_vec2_unsigned_short2_vec2" />
-<Test name="3_byte2_vec2_fixed2_vec2_unsigned_byte2_vec2" />
-<Test name="3_unsigned_short2_vec2_fixed2_vec2_short2_vec2" />
-<Test name="3_unsigned_short2_vec2_byte2_vec2_fixed2_vec2" />
-<Test name="3_short2_vec2_fixed2_vec2_unsigned_byte2_vec2" />
-<Test name="3_byte2_vec2_unsigned_byte2_vec2_byte2_vec2" />
-<Test name="3_short2_vec2_fixed2_vec2_short2_vec2" />
-<Test name="3_fixed2_vec2_short2_vec2_unsigned_byte2_vec2" />
-<Test name="3_short2_vec2_fixed2_vec2_fixed2_vec2" />
-<Test name="3_unsigned_short2_vec2_fixed2_vec2_byte2_vec2" />
-<Test name="3_short2_vec2_byte2_vec2_unsigned_short2_vec2" />
-<Test name="3_byte2_vec2_unsigned_byte2_vec2_unsigned_byte2_vec2" />
-<Test name="3_unsigned_short2_vec2_short2_vec2_short2_vec2" />
-<Test name="3_unsigned_byte2_vec2_unsigned_short2_vec2_unsigned_short2_vec2" />
-<Test name="3_unsigned_short2_vec2_unsigned_byte2_vec2_unsigned_short2_vec2" />
-<Test name="3_byte2_vec2_short2_vec2_byte2_vec2" />
-<Test name="3_unsigned_byte2_vec2_unsigned_short2_vec2_unsigned_byte2_vec2" />
-<Test name="3_fixed2_vec2_fixed2_vec2_unsigned_byte2_vec2" />
-<Test name="3_unsigned_byte2_vec2_byte2_vec2_short2_vec2" />
-<Test name="3_byte2_vec2_fixed2_vec2_byte2_vec2" />
-<Test name="3_fixed2_vec2_short2_vec2_short2_vec2" />
-<Test name="3_unsigned_short2_vec2_fixed2_vec2_fixed2_vec2" />
-<Test name="3_unsigned_byte2_vec2_unsigned_byte2_vec2_fixed2_vec2" />
-<Test name="3_unsigned_byte2_vec2_short2_vec2_unsigned_short2_vec2" />
-<Test name="3_unsigned_byte2_vec2_unsigned_byte2_vec2_short2_vec2" />
-<Test name="3_unsigned_short2_vec2_unsigned_short2_vec2_unsigned_short2_vec2" />
-<Test name="3_short2_vec2_short2_vec2_unsigned_short2_vec2" />
-<Test name="3_unsigned_short2_vec2_byte2_vec2_unsigned_byte2_vec2" />
-<Test name="3_byte2_vec2_byte2_vec2_short2_vec2" />
-<Test name="3_unsigned_byte2_vec2_unsigned_byte2_vec2_unsigned_byte2_vec2" />
-<Test name="3_byte2_vec2_byte2_vec2_fixed2_vec2" />
-<Test name="3_short2_vec2_fixed2_vec2_unsigned_short2_vec2" />
-<Test name="3_byte2_vec2_fixed2_vec2_short2_vec2" />
-<Test name="3_unsigned_short2_vec2_unsigned_short2_vec2_unsigned_byte2_vec2" />
-<Test name="3_unsigned_byte2_vec2_unsigned_short2_vec2_fixed2_vec2" />
-<Test name="3_fixed2_vec2_byte2_vec2_unsigned_short2_vec2" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-<TestCase name="prerequisite">
-<Test name="state_reset" />
-<Test name="clear_color" />
-<Test name="read_pixels" />
-</TestCase>
-<TestSuite name="draw">
-<TestCase name="random">
-<Test name="210" />
-<Test name="132" />
-<Test name="131" />
-<Test name="136" />
-<Test name="135" />
-<Test name="90" />
-<Test name="138" />
-<Test name="93" />
-<Test name="25" />
-<Test name="27" />
-<Test name="20" />
-<Test name="21" />
-<Test name="23" />
-<Test name="29" />
-<Test name="94" />
-<Test name="0" />
-<Test name="97" />
-<Test name="120" />
-<Test name="124" />
-<Test name="125" />
-<Test name="126" />
-<Test name="127" />
-<Test name="129" />
-<Test name="91" />
-<Test name="58" />
-<Test name="55" />
-<Test name="57" />
-<Test name="56" />
-<Test name="51" />
-<Test name="52" />
-<Test name="198" />
-<Test name="197" />
-<Test name="196" />
-<Test name="191" />
-<Test name="192" />
-<Test name="115" />
-<Test name="114" />
-<Test name="88" />
-<Test name="116" />
-<Test name="113" />
-<Test name="112" />
-<Test name="82" />
-<Test name="83" />
-<Test name="80" />
-<Test name="81" />
-<Test name="86" />
-<Test name="118" />
-<Test name="84" />
-<Test name="85" />
-<Test name="140" />
-<Test name="141" />
-<Test name="7" />
-<Test name="92" />
-<Test name="108" />
-<Test name="109" />
-<Test name="103" />
-<Test name="101" />
-<Test name="106" />
-<Test name="107" />
-<Test name="104" />
-<Test name="105" />
-<Test name="39" />
-<Test name="38" />
-<Test name="33" />
-<Test name="32" />
-<Test name="31" />
-<Test name="30" />
-<Test name="37" />
-<Test name="36" />
-<Test name="177" />
-<Test name="60" />
-<Test name="61" />
-<Test name="63" />
-<Test name="179" />
-<Test name="178" />
-<Test name="68" />
-<Test name="69" />
-<Test name="175" />
-<Test name="174" />
-<Test name="173" />
-<Test name="171" />
-<Test name="170" />
-<Test name="145" />
-<Test name="183" />
-<Test name="180" />
-<Test name="181" />
-<Test name="186" />
-<Test name="187" />
-<Test name="184" />
-<Test name="185" />
-<Test name="188" />
-<Test name="142" />
-<Test name="169" />
-<Test name="164" />
-<Test name="165" />
-<Test name="166" />
-<Test name="167" />
-<Test name="95" />
-<Test name="161" />
-<Test name="162" />
-<Test name="96" />
-<Test name="11" />
-<Test name="12" />
-<Test name="15" />
-<Test name="14" />
-<Test name="17" />
-<Test name="16" />
-<Test name="19" />
-<Test name="18" />
-<Test name="143" />
-<Test name="117" />
-<Test name="89" />
-<Test name="151" />
-<Test name="150" />
-<Test name="155" />
-<Test name="154" />
-<Test name="156" />
-<Test name="159" />
-<Test name="158" />
-<Test name="48" />
-<Test name="49" />
-<Test name="119" />
-<Test name="44" />
-<Test name="42" />
-<Test name="43" />
-<Test name="40" />
-<Test name="87" />
-<Test name="5" />
-<Test name="9" />
-<Test name="146" />
-<Test name="200" />
-<Test name="144" />
-<Test name="202" />
-<Test name="205" />
-<Test name="204" />
-<Test name="207" />
-<Test name="206" />
-<Test name="209" />
-<Test name="208" />
-<Test name="148" />
-<Test name="149" />
-<Test name="74" />
-<Test name="72" />
-<Test name="71" />
-<Test name="70" />
-<Test name="78" />
-<Test name="2" />
-<Test name="41" />
-</TestCase>
-<TestSuite name="draw_arrays_instanced">
-<TestCase name="line_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_loop">
-<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="points">
-<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="triangles">
-<Test name="single_attribute" />
-<Test name="multiple_attributes" />
-<Test name="instanced_attributes" />
-<Test name="default_attribute" />
-</TestCase>
-<TestCase name="first">
-<Test name="first_17" />
-<Test name="first_1" />
-<Test name="first_3" />
-</TestCase>
-</TestSuite>
-<TestSuite name="draw_range_elements">
-<TestCase name="line_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_loop">
-<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="points">
-<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="triangles">
-<Test name="single_attribute" />
-<Test name="multiple_attributes" />
-<Test name="instanced_attributes" />
-<Test name="default_attribute" />
-</TestCase>
-</TestSuite>
-<TestSuite name="draw_arrays">
-<TestCase name="line_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_loop">
-<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="points">
-<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="triangles">
-<Test name="single_attribute" />
-<Test name="multiple_attributes" />
-<Test name="instanced_attributes" />
-<Test name="default_attribute" />
-</TestCase>
-<TestCase name="first">
-<Test name="first_17" />
-<Test name="first_1" />
-<Test name="first_3" />
-</TestCase>
-</TestSuite>
-<TestSuite name="draw_elements_instanced">
-<TestCase name="line_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_loop">
-<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="points">
-<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>
-<TestSuite name="indices">
-<TestCase name="buffer">
-<Test name="index_short" />
-<Test name="index_byte" />
-<Test name="index_int" />
-</TestCase>
-<TestCase name="user_ptr">
-<Test name="index_short" />
-<Test name="index_byte" />
-<Test name="index_int" />
-</TestCase>
-<TestCase name="unaligned_user_ptr">
-<Test name="index_short" />
-</TestCase>
-</TestSuite>
-<TestCase name="triangles">
-<Test name="single_attribute" />
-<Test name="multiple_attributes" />
-<Test name="instanced_attributes" />
-<Test name="default_attribute" />
-</TestCase>
-</TestSuite>
-<TestSuite name="draw_elements">
-<TestCase name="line_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_loop">
-<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="points">
-<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>
-<TestSuite name="indices">
-<TestCase name="buffer">
-<Test name="index_short" />
-<Test name="index_byte" />
-<Test name="index_int" />
-</TestCase>
-<TestCase name="user_ptr">
-<Test name="index_short" />
-<Test name="index_byte" />
-<Test name="index_int" />
-</TestCase>
-<TestCase name="unaligned_user_ptr">
-<Test name="index_short" />
-</TestCase>
-</TestSuite>
-<TestCase name="triangles">
-<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_instanced_grid_5x5" />
-<Test name="draw_elements_instanced_grid_2x2" />
-<Test name="draw_arrays_instanced_grid_2x2" />
-<Test name="draw_elements_instanced_grid_32x32" />
-<Test name="draw_elements_instanced_grid_5x5" />
-<Test name="draw_arrays_instanced_grid_10x10" />
-<Test name="draw_elements_instanced_grid_100x100" />
-<Test name="draw_arrays_instanced_grid_32x32" />
-<Test name="draw_elements_instanced_grid_10x10" />
-<Test name="draw_arrays_instanced_grid_100x100" />
-</TestCase>
-</TestSuite>
-<TestCase name="implementation_limits">
-<Test name="max_transform_feedback_separate_components" />
-<Test name="major_version" />
-<Test name="max_transform_feedback_separate_attribs" />
-<Test name="min_program_texel_offset" />
-<Test name="max_vertex_output_components" />
-<Test name="num_compressed_texture_formats" />
-<Test name="num_program_binary_formats" />
-<Test name="max_renderbuffer_size" />
-<Test name="max_vertex_texture_image_units" />
-<Test name="max_element_index" />
-<Test name="max_fragment_uniform_components" />
-<Test name="max_vertex_uniform_blocks" />
-<Test name="max_transform_feedback_interleaved_components" />
-<Test name="max_combined_texture_image_units" />
-<Test name="max_uniform_buffer_bindings" />
-<Test name="max_color_attachments" />
-<Test name="max_elements_vertices" />
-<Test name="max_fragment_uniform_blocks" />
-<Test name="max_3d_texture_size" />
-<Test name="max_texture_size" />
-<Test name="shader_compiler" />
-<Test name="minor_version" />
-<Test name="max_combined_fragment_uniform_components" />
-<Test name="max_elements_indices" />
-<Test name="max_cube_map_texture_size" />
-<Test name="aliased_line_width_range" />
-<Test name="max_program_texel_offset" />
-<Test name="max_combined_vertex_uniform_components" />
-<Test name="max_texture_lod_bias" />
-<Test name="max_uniform_block_size" />
-<Test name="uniform_buffer_offset_alignment" />
-<Test name="max_vertex_uniform_components" />
-<Test name="max_vertex_uniform_vectors" />
-<Test name="max_texture_image_units" />
-<Test name="max_varying_components" />
-<Test name="aliased_point_size_range" />
-<Test name="max_server_wait_timeout" />
-<Test name="max_array_texture_layers" />
-<Test name="compressed_texture_formats" />
-<Test name="max_fragment_uniform_vectors" />
-<Test name="max_vertex_attribs" />
-<Test name="num_extensions" />
-<Test name="num_shader_binary_formats" />
-<Test name="max_varying_vectors" />
-<Test name="max_draw_buffers" />
-<Test name="subpixel_bits" />
-<Test name="max_combined_uniform_blocks" />
-<Test name="max_fragment_input_components" />
-</TestCase>
-<TestSuite name="uniform_api">
-<TestCase name="random">
-<Test name="30" />
-<Test name="77" />
-<Test name="42" />
-<Test name="62" />
-<Test name="60" />
-<Test name="61" />
-<Test name="88" />
-<Test name="89" />
-<Test name="64" />
-<Test name="35" />
-<Test name="66" />
-<Test name="67" />
-<Test name="82" />
-<Test name="69" />
-<Test name="80" />
-<Test name="34" />
-<Test name="84" />
-<Test name="85" />
-<Test name="24" />
-<Test name="25" />
-<Test name="26" />
-<Test name="27" />
-<Test name="48" />
-<Test name="49" />
-<Test name="46" />
-<Test name="47" />
-<Test name="44" />
-<Test name="45" />
-<Test name="28" />
-<Test name="43" />
-<Test name="40" />
-<Test name="41" />
-<Test name="1" />
-<Test name="2" />
-<Test name="5" />
-<Test name="79" />
-<Test name="7" />
-<Test name="9" />
-<Test name="68" />
-<Test name="13" />
-<Test name="99" />
-<Test name="76" />
-<Test name="12" />
-<Test name="73" />
-<Test name="71" />
-<Test name="70" />
-<Test name="91" />
-<Test name="92" />
-<Test name="94" />
-<Test name="97" />
-<Test name="78" />
-<Test name="11" />
-<Test name="10" />
-<Test name="39" />
-<Test name="38" />
-<Test name="15" />
-<Test name="58" />
-<Test name="74" />
-<Test name="16" />
-<Test name="55" />
-<Test name="32" />
-<Test name="57" />
-<Test name="56" />
-<Test name="51" />
-<Test name="36" />
-<Test name="53" />
-<Test name="52" />
-<Test name="19" />
-<Test name="63" />
-<Test name="18" />
-<Test name="31" />
-<Test name="65" />
-</TestCase>
-<TestSuite name="value">
-<TestSuite name="assigned">
-<TestSuite name="basic_array_assign_partial">
-<TestCase name="array_in_struct">
-<Test name="sampler2D_samplerCube_both" />
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="mat4_mat2_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="uint_uvec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="mat4_mat2_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bvec4_both" />
-<Test name="mat4_mat2_both" />
-<Test name="int_ivec4_both" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
-</TestCase>
-<TestCase name="basic_array">
-<Test name="ivec4_fragment" />
-<Test name="mat4_fragment" />
-<Test name="int_vertex" />
-<Test name="vec4_both" />
-<Test name="uint_vertex" />
-<Test name="ivec4_both" />
-<Test name="float_both" />
-<Test name="bvec4_vertex" />
-<Test name="bool_fragment" />
-<Test name="uvec4_fragment" />
-<Test name="int_both" />
-<Test name="sampler2D_fragment" />
-<Test name="bool_vertex" />
-<Test name="sampler2D_vertex" />
-<Test name="float_fragment" />
-<Test name="mat4_both" />
-<Test name="uvec4_vertex" />
-<Test name="bvec4_both" />
-<Test name="mat4_vertex" />
-<Test name="bvec4_fragment" />
-<Test name="float_vertex" />
-<Test name="ivec4_vertex" />
-<Test name="uvec4_both" />
-<Test name="uint_both" />
-<Test name="sampler2D_both" />
-<Test name="vec4_fragment" />
-<Test name="int_fragment" />
-<Test name="bool_both" />
-<Test name="vec4_vertex" />
-</TestCase>
-<TestCase name="multiple_basic_array">
-<Test name="fragment" />
-<Test name="both" />
-<Test name="vertex" />
-</TestCase>
-</TestSuite>
-<TestSuite name="by_pointer">
-<TestSuite name="get_uniform">
-<TestCase name="multiple_basic">
-<Test name="fragment" />
-<Test name="both" />
-<Test name="vertex" />
-</TestCase>
-<TestCase name="basic_struct">
-<Test name="sampler2D_samplerCube_both" />
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="mat4_mat2_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="uint_uvec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="mat4_mat2_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="uint_uvec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bvec4_both" />
-<Test name="mat4_mat2_both" />
-<Test name="int_ivec4_both" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
-</TestCase>
-<TestCase name="basic_array">
-<Test name="ivec4_fragment" />
-<Test name="bvec4_api_uint_vertex" />
-<Test name="int_vertex" />
-<Test name="bool_api_uint_fragment" />
-<Test name="mat4_row_major_vertex" />
-<Test name="bvec4_api_int_vertex" />
-<Test name="vec4_both" />
-<Test name="uint_vertex" />
-<Test name="bvec4_api_uint_fragment" />
-<Test name="ivec4_both" />
-<Test name="float_both" />
-<Test name="bvec4_api_float_both" />
-<Test name="bool_api_float_both" />
-<Test name="uvec4_fragment" />
-<Test name="bvec4_api_float_fragment" />
-<Test name="mat4_row_major_fragment" />
-<Test name="sampler2D_fragment" />
-<Test name="int_fragment" />
-<Test name="sampler2D_vertex" />
-<Test name="bool_api_uint_vertex" />
-<Test name="float_fragment" />
-<Test name="mat4_both" />
-<Test name="uvec4_vertex" />
-<Test name="bool_api_float_fragment" />
-<Test name="bool_api_int_fragment" />
-<Test name="bvec4_api_float_vertex" />
-<Test name="mat4_vertex" />
-<Test name="bvec4_api_int_both" />
-<Test name="mat4_row_major_both" />
-<Test name="int_both" />
-<Test name="ivec4_vertex" />
-<Test name="uvec4_both" />
-<Test name="uint_both" />
-<Test name="bvec4_api_int_fragment" />
-<Test name="bool_api_int_both" />
-<Test name="mat4_fragment" />
-<Test name="sampler2D_both" />
-<Test name="bool_api_int_vertex" />
-<Test name="bool_api_uint_both" />
-<Test name="vec4_fragment" />
-<Test name="bool_api_float_vertex" />
-<Test name="bvec4_api_uint_both" />
-<Test name="float_vertex" />
-<Test name="vec4_vertex" />
-</TestCase>
-<TestCase name="array_in_struct">
-<Test name="sampler2D_samplerCube_both" />
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="mat4_mat2_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="uint_uvec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="mat4_mat2_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bvec4_both" />
-<Test name="mat4_mat2_both" />
-<Test name="int_ivec4_both" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
-</TestCase>
-<TestCase name="nested_structs_arrays">
-<Test name="sampler2D_samplerCube_both" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
-</TestCase>
-<TestCase name="basic">
-<Test name="mat4x3_row_major_vertex" />
-<Test name="mat4_row_major_vertex" />
-<Test name="bvec4_api_uint_fragment" />
-<Test name="uvec3_both" />
-<Test name="bool_api_float_both" />
-<Test name="uvec4_fragment" />
-<Test name="mat2x4_row_major_fragment" />
-<Test name="mat3_vertex" />
-<Test name="bvec2_api_int_both" />
-<Test name="mat4x3_row_major_fragment" />
-<Test name="mat3x4_both" />
-<Test name="bvec3_api_uint_vertex" />
-<Test name="bvec3_api_int_fragment" />
-<Test name="mat4x2_row_major_vertex" />
-<Test name="samplerCube_both" />
-<Test name="vec3_both" />
-<Test name="mat4_row_major_both" />
-<Test name="mat4x2_row_major_fragment" />
-<Test name="uvec4_both" />
-<Test name="bvec3_api_uint_both" />
-<Test name="bool_api_int_both" />
-<Test name="mat3x4_row_major_both" />
-<Test name="uvec3_fragment" />
-<Test name="int_fragment" />
-<Test name="mat3x4_vertex" />
-<Test name="mat3_row_major_vertex" />
-<Test name="bool_api_uint_fragment" />
-<Test name="samplerCube_vertex" />
-<Test name="ivec2_both" />
-<Test name="mat2x3_row_major_both" />
-<Test name="vec4_both" />
-<Test name="mat3x2_row_major_both" />
-<Test name="mat4x3_fragment" />
-<Test name="bvec3_api_float_both" />
-<Test name="samplerCube_fragment" />
-<Test name="mat4x3_vertex" />
-<Test name="mat2x3_fragment" />
-<Test name="vec3_fragment" />
-<Test name="sampler2D_vertex" />
-<Test name="ivec3_both" />
-<Test name="mat3x2_both" />
-<Test name="bvec2_api_uint_vertex" />
-<Test name="vec2_fragment" />
-<Test name="uvec4_vertex" />
-<Test name="bool_api_float_fragment" />
-<Test name="bvec2_api_int_vertex" />
-<Test name="mat2_both" />
-<Test name="mat2_row_major_both" />
-<Test name="mat2x4_fragment" />
-<Test name="bvec2_api_int_fragment" />
-<Test name="mat2x3_row_major_vertex" />
-<Test name="vec2_vertex" />
-<Test name="bvec2_api_float_both" />
-<Test name="mat2_row_major_fragment" />
-<Test name="ivec3_vertex" />
-<Test name="uvec2_vertex" />
-<Test name="uvec2_fragment" />
-<Test name="mat4x2_vertex" />
-<Test name="vec4_fragment" />
-<Test name="bvec4_api_uint_both" />
-<Test name="mat2x3_vertex" />
-<Test name="bvec3_api_float_vertex" />
-<Test name="mat2x4_vertex" />
-<Test name="mat4x2_row_major_both" />
-<Test name="ivec2_fragment" />
-<Test name="mat3_fragment" />
-<Test name="bool_api_int_fragment" />
-<Test name="mat2_row_major_vertex" />
-<Test name="bool_api_float_vertex" />
-<Test name="mat4_fragment" />
-<Test name="bvec4_api_float_both" />
-<Test name="mat3x2_fragment" />
-<Test name="bvec3_api_float_fragment" />
-<Test name="bvec4_api_float_fragment" />
-<Test name="mat2_vertex" />
-<Test name="mat4x2_both" />
-<Test name="mat4_row_major_fragment" />
-<Test name="bvec3_api_int_both" />
-<Test name="mat3_row_major_fragment" />
-<Test name="bool_api_int_vertex" />
-<Test name="mat3_row_major_both" />
-<Test name="bvec4_api_uint_vertex" />
-<Test name="mat3x4_row_major_vertex" />
-<Test name="bvec4_api_int_both" />
-<Test name="mat2x4_row_major_vertex" />
-<Test name="uint_both" />
-<Test name="bvec4_api_int_fragment" />
-<Test name="bvec4_api_float_vertex" />
-<Test name="uvec2_both" />
-<Test name="mat3x2_row_major_fragment" />
-<Test name="bool_api_uint_both" />
-<Test name="mat4x3_row_major_both" />
-<Test name="bvec3_api_int_vertex" />
-<Test name="mat2x4_row_major_both" />
-<Test name="mat3_both" />
-<Test name="mat3x4_fragment" />
-<Test name="mat3x2_row_major_vertex" />
-<Test name="ivec4_fragment" />
-<Test name="mat3x4_row_major_fragment" />
-<Test name="int_vertex" />
-<Test name="bvec4_api_int_vertex" />
-<Test name="uint_vertex" />
-<Test name="ivec4_both" />
-<Test name="float_both" />
-<Test name="vec2_both" />
-<Test name="mat3x2_vertex" />
-<Test name="bvec2_api_float_vertex" />
-<Test name="int_both" />
-<Test name="sampler2D_fragment" />
-<Test name="ivec3_fragment" />
-<Test name="mat2x3_row_major_fragment" />
-<Test name="mat2x3_both" />
-<Test name="bool_api_uint_vertex" />
-<Test name="bvec3_api_uint_fragment" />
-<Test name="float_fragment" />
-<Test name="mat4_both" />
-<Test name="mat4_vertex" />
-<Test name="mat2_fragment" />
-<Test name="ivec2_vertex" />
-<Test name="mat2x4_both" />
-<Test name="bvec2_api_uint_fragment" />
-<Test name="bvec2_api_float_fragment" />
-<Test name="ivec4_vertex" />
-<Test name="vec3_vertex" />
-<Test name="sampler2D_both" />
-<Test name="bvec2_api_uint_both" />
-<Test name="uvec3_vertex" />
-<Test name="mat4x3_both" />
-<Test name="float_vertex" />
-<Test name="vec4_vertex" />
-<Test name="mat4x2_fragment" />
-</TestCase>
-<TestCase name="basic_array_first_elem_without_brackets">
-<Test name="ivec4_fragment" />
-<Test name="bvec4_api_uint_vertex" />
-<Test name="int_vertex" />
-<Test name="bool_api_uint_fragment" />
-<Test name="mat4_row_major_vertex" />
-<Test name="bvec4_api_int_vertex" />
-<Test name="vec4_both" />
-<Test name="uint_vertex" />
-<Test name="bvec4_api_uint_fragment" />
-<Test name="ivec4_both" />
-<Test name="float_both" />
-<Test name="bvec4_api_float_both" />
-<Test name="bool_api_float_both" />
-<Test name="uvec4_fragment" />
-<Test name="bvec4_api_float_fragment" />
-<Test name="mat4_row_major_fragment" />
-<Test name="sampler2D_fragment" />
-<Test name="int_fragment" />
-<Test name="sampler2D_vertex" />
-<Test name="bool_api_uint_vertex" />
-<Test name="float_fragment" />
-<Test name="mat4_both" />
-<Test name="uvec4_vertex" />
-<Test name="bool_api_float_fragment" />
-<Test name="bool_api_int_fragment" />
-<Test name="bvec4_api_float_vertex" />
-<Test name="mat4_vertex" />
-<Test name="bvec4_api_int_both" />
-<Test name="mat4_row_major_both" />
-<Test name="int_both" />
-<Test name="ivec4_vertex" />
-<Test name="uvec4_both" />
-<Test name="uint_both" />
-<Test name="bvec4_api_int_fragment" />
-<Test name="bool_api_int_both" />
-<Test name="mat4_fragment" />
-<Test name="sampler2D_both" />
-<Test name="bool_api_int_vertex" />
-<Test name="bool_api_uint_both" />
-<Test name="vec4_fragment" />
-<Test name="bool_api_float_vertex" />
-<Test name="bvec4_api_uint_both" />
-<Test name="float_vertex" />
-<Test name="vec4_vertex" />
-</TestCase>
-<TestCase name="struct_in_array">
-<Test name="sampler2D_samplerCube_both" />
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="mat4_mat2_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="uint_uvec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="mat4_mat2_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bvec4_both" />
-<Test name="mat4_mat2_both" />
-<Test name="int_ivec4_both" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
-</TestCase>
-<TestCase name="multiple_basic_array">
-<Test name="fragment" />
-<Test name="both" />
-<Test name="vertex" />
-</TestCase>
-</TestSuite>
-<TestSuite name="render">
-<TestCase name="multiple_basic">
-<Test name="fragment" />
-<Test name="both" />
-<Test name="vertex" />
-</TestCase>
-<TestCase name="basic_struct">
-<Test name="sampler2D_samplerCube_both" />
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="uint_uvec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="uint_uvec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bvec4_both" />
-<Test name="int_ivec4_both" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
-</TestCase>
-<TestCase name="basic_array">
-<Test name="ivec4_fragment" />
-<Test name="mat4_fragment" />
-<Test name="int_vertex" />
-<Test name="mat4_row_major_vertex" />
-<Test name="vec4_both" />
-<Test name="uint_vertex" />
-<Test name="ivec4_both" />
-<Test name="float_both" />
-<Test name="bvec4_vertex" />
-<Test name="bool_fragment" />
-<Test name="uvec4_fragment" />
-<Test name="mat4_row_major_fragment" />
-<Test name="sampler2D_fragment" />
-<Test name="bool_vertex" />
-<Test name="sampler2D_vertex" />
-<Test name="float_fragment" />
-<Test name="mat4_both" />
-<Test name="uvec4_vertex" />
-<Test name="bvec4_both" />
-<Test name="mat4_vertex" />
-<Test name="bvec4_fragment" />
-<Test name="mat4_row_major_both" />
-<Test name="float_vertex" />
-<Test name="int_both" />
-<Test name="ivec4_vertex" />
-<Test name="uvec4_both" />
-<Test name="uint_both" />
-<Test name="sampler2D_both" />
-<Test name="vec4_fragment" />
-<Test name="int_fragment" />
-<Test name="bool_both" />
-<Test name="vec4_vertex" />
-</TestCase>
-<TestCase name="array_in_struct">
-<Test name="sampler2D_samplerCube_both" />
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="uint_uvec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bvec4_both" />
-<Test name="int_ivec4_both" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
-</TestCase>
-<TestCase name="nested_structs_arrays">
-<Test name="sampler2D_samplerCube_both" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
-</TestCase>
-<TestCase name="basic">
-<Test name="mat4x3_row_major_vertex" />
-<Test name="mat4_row_major_vertex" />
-<Test name="mat2x3_row_major_fragment" />
-<Test name="uvec4_fragment" />
-<Test name="mat2x4_row_major_fragment" />
-<Test name="mat3_vertex" />
-<Test name="mat4x3_row_major_fragment" />
-<Test name="mat3x4_both" />
-<Test name="mat4x2_row_major_vertex" />
-<Test name="samplerCube_both" />
-<Test name="vec3_both" />
-<Test name="bvec4_fragment" />
-<Test name="mat4_row_major_both" />
-<Test name="bvec2_vertex" />
-<Test name="mat4x2_row_major_fragment" />
-<Test name="uvec4_both" />
-<Test name="mat3x4_row_major_both" />
-<Test name="uvec3_fragment" />
-<Test name="int_fragment" />
-<Test name="mat3x4_vertex" />
-<Test name="mat3_row_major_vertex" />
-<Test name="samplerCube_vertex" />
-<Test name="ivec2_both" />
-<Test name="mat2x3_row_major_both" />
-<Test name="vec4_both" />
-<Test name="mat3x2_row_major_both" />
-<Test name="mat4x3_fragment" />
-<Test name="bool_fragment" />
-<Test name="samplerCube_fragment" />
-<Test name="mat4x3_vertex" />
-<Test name="mat2x3_fragment" />
-<Test name="sampler2D_vertex" />
-<Test name="ivec3_both" />
-<Test name="mat3x2_both" />
-<Test name="vec2_fragment" />
-<Test name="uvec4_vertex" />
-<Test name="uvec2_vertex" />
-<Test name="mat2_both" />
-<Test name="mat2_row_major_both" />
-<Test name="mat2x4_fragment" />
-<Test name="mat2x3_row_major_vertex" />
-<Test name="vec2_vertex" />
-<Test name="mat2_row_major_fragment" />
-<Test name="ivec3_vertex" />
-<Test name="mat3x2_row_major_vertex" />
-<Test name="mat4x2_vertex" />
-<Test name="vec4_fragment" />
-<Test name="mat2x3_vertex" />
-<Test name="mat2x4_vertex" />
-<Test name="mat4x2_row_major_both" />
-<Test name="ivec2_fragment" />
-<Test name="mat3_fragment" />
-<Test name="bvec3_vertex" />
-<Test name="mat2_row_major_vertex" />
-<Test name="mat3x2_fragment" />
-<Test name="mat2_vertex" />
-<Test name="mat4x2_both" />
-<Test name="mat4_row_major_fragment" />
-<Test name="bvec3_both" />
-<Test name="mat3_row_major_fragment" />
-<Test name="mat3_row_major_both" />
-<Test name="mat4_fragment" />
-<Test name="bvec4_both" />
-<Test name="mat3x4_row_major_vertex" />
-<Test name="mat2x4_row_major_vertex" />
-<Test name="uint_both" />
-<Test name="uvec2_both" />
-<Test name="mat3x2_row_major_fragment" />
-<Test name="mat4x3_row_major_both" />
-<Test name="vec3_fragment" />
-<Test name="mat2x4_row_major_both" />
-<Test name="bvec2_both" />
-<Test name="bool_both" />
-<Test name="mat3_both" />
-<Test name="mat3x4_fragment" />
-<Test name="uvec2_fragment" />
-<Test name="ivec4_fragment" />
-<Test name="mat3x4_row_major_fragment" />
-<Test name="int_vertex" />
-<Test name="uvec3_both" />
-<Test name="uint_vertex" />
-<Test name="ivec4_both" />
-<Test name="float_both" />
-<Test name="vec2_both" />
-<Test name="bvec4_vertex" />
-<Test name="mat3x2_vertex" />
-<Test name="int_both" />
-<Test name="sampler2D_fragment" />
-<Test name="ivec3_fragment" />
-<Test name="bool_vertex" />
-<Test name="mat2x3_both" />
-<Test name="float_fragment" />
-<Test name="mat4_both" />
-<Test name="bvec2_fragment" />
-<Test name="mat4_vertex" />
-<Test name="mat2_fragment" />
-<Test name="ivec2_vertex" />
-<Test name="mat2x4_both" />
-<Test name="ivec4_vertex" />
-<Test name="vec3_vertex" />
-<Test name="sampler2D_both" />
-<Test name="uvec3_vertex" />
-<Test name="bvec3_fragment" />
-<Test name="mat4x3_both" />
-<Test name="float_vertex" />
-<Test name="vec4_vertex" />
-<Test name="mat4x2_fragment" />
-</TestCase>
-<TestCase name="struct_in_array">
-<Test name="sampler2D_samplerCube_both" />
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="uint_uvec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bvec4_both" />
-<Test name="int_ivec4_both" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
-</TestCase>
-<TestCase name="multiple_basic_array">
-<Test name="fragment" />
-<Test name="both" />
-<Test name="vertex" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-<TestCase name="unused_uniforms">
-<Test name="sampler2D_samplerCube_both" />
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="mat4_mat2_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="uint_uvec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="mat4_mat2_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="uint_uvec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bvec4_both" />
-<Test name="mat4_mat2_both" />
-<Test name="int_ivec4_both" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
-</TestCase>
-<TestSuite name="by_value">
-<TestSuite name="get_uniform">
-<TestCase name="basic_struct">
-<Test name="sampler2D_samplerCube_both" />
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="uint_uvec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="uint_uvec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bvec4_both" />
-<Test name="int_ivec4_both" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
-</TestCase>
-<TestCase name="basic_array">
-<Test name="ivec4_fragment" />
-<Test name="bool_api_uint_fragment" />
-<Test name="int_vertex" />
-<Test name="bool_api_int_fragment" />
-<Test name="bvec4_api_int_vertex" />
-<Test name="vec4_both" />
-<Test name="uint_vertex" />
-<Test name="bvec4_api_uint_fragment" />
-<Test name="ivec4_both" />
-<Test name="float_both" />
-<Test name="bvec4_api_float_both" />
-<Test name="bool_api_float_both" />
-<Test name="uvec4_fragment" />
-<Test name="bvec4_api_float_fragment" />
-<Test name="int_both" />
-<Test name="sampler2D_fragment" />
-<Test name="sampler2D_vertex" />
-<Test name="bool_api_uint_vertex" />
-<Test name="bool_api_int_vertex" />
-<Test name="bvec4_api_uint_vertex" />
-<Test name="bool_api_float_fragment" />
-<Test name="bvec4_api_int_both" />
-<Test name="ivec4_vertex" />
-<Test name="bool_api_float_vertex" />
-<Test name="uint_both" />
-<Test name="bvec4_api_int_fragment" />
-<Test name="bool_api_int_both" />
-<Test name="bvec4_api_float_vertex" />
-<Test name="sampler2D_both" />
-<Test name="float_fragment" />
-<Test name="bool_api_uint_both" />
-<Test name="vec4_fragment" />
-<Test name="int_fragment" />
-<Test name="bvec4_api_uint_both" />
-<Test name="uvec4_vertex" />
-<Test name="float_vertex" />
-<Test name="vec4_vertex" />
-<Test name="uvec4_both" />
-</TestCase>
-<TestCase name="array_in_struct">
-<Test name="sampler2D_samplerCube_both" />
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="uint_uvec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bvec4_both" />
-<Test name="int_ivec4_both" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
-</TestCase>
-<TestCase name="nested_structs_arrays">
-<Test name="sampler2D_samplerCube_both" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
-</TestCase>
-<TestCase name="basic">
-<Test name="ivec4_fragment" />
-<Test name="bool_api_uint_fragment" />
-<Test name="int_vertex" />
-<Test name="bvec2_api_float_both" />
-<Test name="ivec2_fragment" />
-<Test name="ivec2_both" />
-<Test name="int_fragment" />
-<Test name="bool_api_int_fragment" />
-<Test name="uvec3_both" />
-<Test name="vec4_both" />
-<Test name="uint_vertex" />
-<Test name="bvec4_api_uint_fragment" />
-<Test name="ivec4_both" />
-<Test name="float_both" />
-<Test name="vec2_both" />
-<Test name="bvec4_api_float_both" />
-<Test name="sampler2D_vertex" />
-<Test name="uvec4_fragment" />
-<Test name="bvec3_api_float_both" />
-<Test name="bvec2_api_uint_vertex" />
-<Test name="bvec2_api_float_vertex" />
-<Test name="int_both" />
-<Test name="vec3_fragment" />
-<Test name="samplerCube_vertex" />
-<Test name="bvec4_api_int_fragment" />
-<Test name="bvec3_api_int_vertex" />
-<Test name="bvec3_api_float_fragment" />
-<Test name="sampler2D_fragment" />
-<Test name="bvec3_api_int_both" />
-<Test name="ivec3_fragment" />
-<Test name="ivec3_vertex" />
-<Test name="bool_api_float_both" />
-<Test name="ivec3_both" />
-<Test name="bool_api_uint_vertex" />
-<Test name="samplerCube_fragment" />
-<Test name="bvec3_api_uint_fragment" />
-<Test name="vec2_fragment" />
-<Test name="bool_api_int_vertex" />
-<Test name="bvec3_api_uint_vertex" />
-<Test name="bvec4_api_uint_vertex" />
-<Test name="bvec3_api_int_fragment" />
-<Test name="bool_api_float_fragment" />
-<Test name="bvec4_api_float_fragment" />
-<Test name="bvec2_api_int_vertex" />
-<Test name="samplerCube_both" />
-<Test name="vec3_both" />
-<Test name="bvec4_api_int_vertex" />
-<Test name="uvec3_fragment" />
-<Test name="vec2_vertex" />
-<Test name="bvec2_api_int_fragment" />
-<Test name="vec4_vertex" />
-<Test name="bvec2_api_uint_fragment" />
-<Test name="bvec2_api_float_fragment" />
-<Test name="ivec4_vertex" />
-<Test name="uvec4_both" />
-<Test name="bvec3_api_uint_both" />
-<Test name="uint_both" />
-<Test name="ivec2_vertex" />
-<Test name="bvec2_api_int_both" />
-<Test name="bool_api_int_both" />
-<Test name="vec3_vertex" />
-<Test name="sampler2D_both" />
-<Test name="bvec2_api_uint_both" />
-<Test name="float_fragment" />
-<Test name="uvec2_vertex" />
-<Test name="bvec4_api_float_vertex" />
-<Test name="uvec2_fragment" />
-<Test name="bool_api_uint_both" />
-<Test name="bvec4_api_int_both" />
-<Test name="vec4_fragment" />
-<Test name="uvec3_vertex" />
-<Test name="bool_api_float_vertex" />
-<Test name="uvec2_both" />
-<Test name="uvec4_vertex" />
-<Test name="float_vertex" />
-<Test name="bvec3_api_float_vertex" />
-<Test name="bvec4_api_uint_both" />
-</TestCase>
-<TestCase name="basic_array_first_elem_without_brackets">
-<Test name="ivec4_fragment" />
-<Test name="bool_api_uint_fragment" />
-<Test name="int_vertex" />
-<Test name="bool_api_int_fragment" />
-<Test name="bvec4_api_int_vertex" />
-<Test name="vec4_both" />
-<Test name="uint_vertex" />
-<Test name="bvec4_api_uint_fragment" />
-<Test name="ivec4_both" />
-<Test name="float_both" />
-<Test name="bvec4_api_float_both" />
-<Test name="bool_api_float_both" />
-<Test name="uvec4_fragment" />
-<Test name="bvec4_api_float_fragment" />
-<Test name="int_both" />
-<Test name="sampler2D_fragment" />
-<Test name="sampler2D_vertex" />
-<Test name="bool_api_uint_vertex" />
-<Test name="bool_api_int_vertex" />
-<Test name="bvec4_api_uint_vertex" />
-<Test name="bool_api_float_fragment" />
-<Test name="bvec4_api_int_both" />
-<Test name="ivec4_vertex" />
-<Test name="bool_api_float_vertex" />
-<Test name="uint_both" />
-<Test name="bvec4_api_int_fragment" />
-<Test name="bool_api_int_both" />
-<Test name="bvec4_api_float_vertex" />
-<Test name="sampler2D_both" />
-<Test name="float_fragment" />
-<Test name="bool_api_uint_both" />
-<Test name="vec4_fragment" />
-<Test name="int_fragment" />
-<Test name="bvec4_api_uint_both" />
-<Test name="uvec4_vertex" />
-<Test name="float_vertex" />
-<Test name="vec4_vertex" />
-<Test name="uvec4_both" />
-</TestCase>
-<TestCase name="struct_in_array">
-<Test name="sampler2D_samplerCube_both" />
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="uint_uvec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bvec4_both" />
-<Test name="int_ivec4_both" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
-</TestCase>
-<TestCase name="multiple_basic_array">
-<Test name="fragment" />
-<Test name="both" />
-<Test name="vertex" />
-</TestCase>
-</TestSuite>
-<TestSuite name="render">
-<TestCase name="basic_struct">
-<Test name="sampler2D_samplerCube_both" />
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="uint_uvec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="uint_uvec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bvec4_both" />
-<Test name="int_ivec4_both" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
-</TestCase>
-<TestCase name="basic_array">
-<Test name="ivec4_fragment" />
-<Test name="int_vertex" />
-<Test name="vec4_both" />
-<Test name="uint_vertex" />
-<Test name="ivec4_both" />
-<Test name="float_both" />
-<Test name="bvec4_vertex" />
-<Test name="bool_fragment" />
-<Test name="uvec4_fragment" />
-<Test name="int_both" />
-<Test name="sampler2D_fragment" />
-<Test name="bool_vertex" />
-<Test name="sampler2D_vertex" />
-<Test name="float_fragment" />
-<Test name="uvec4_vertex" />
-<Test name="bvec4_both" />
-<Test name="bvec4_fragment" />
-<Test name="bool_both" />
-<Test name="ivec4_vertex" />
-<Test name="uvec4_both" />
-<Test name="uint_both" />
-<Test name="sampler2D_both" />
-<Test name="vec4_fragment" />
-<Test name="int_fragment" />
-<Test name="float_vertex" />
-<Test name="vec4_vertex" />
-</TestCase>
-<TestCase name="array_in_struct">
-<Test name="sampler2D_samplerCube_both" />
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="uint_uvec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bvec4_both" />
-<Test name="int_ivec4_both" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
-</TestCase>
-<TestCase name="nested_structs_arrays">
-<Test name="sampler2D_samplerCube_both" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
-</TestCase>
-<TestCase name="basic">
-<Test name="ivec4_fragment" />
-<Test name="int_vertex" />
-<Test name="samplerCube_vertex" />
-<Test name="ivec2_both" />
-<Test name="bvec3_vertex" />
-<Test name="uvec3_both" />
-<Test name="vec4_both" />
-<Test name="uint_vertex" />
-<Test name="bvec3_both" />
-<Test name="ivec4_both" />
-<Test name="float_both" />
-<Test name="vec2_both" />
-<Test name="bvec4_vertex" />
-<Test name="bool_fragment" />
-<Test name="uvec4_fragment" />
-<Test name="samplerCube_fragment" />
-<Test name="int_both" />
-<Test name="ivec2_fragment" />
-<Test name="vec3_fragment" />
-<Test name="sampler2D_fragment" />
-<Test name="ivec3_fragment" />
-<Test name="bool_vertex" />
-<Test name="sampler2D_vertex" />
-<Test name="ivec3_both" />
-<Test name="vec2_fragment" />
-<Test name="float_fragment" />
-<Test name="bvec2_both" />
-<Test name="uvec4_vertex" />
-<Test name="uvec2_vertex" />
-<Test name="bvec2_fragment" />
-<Test name="bvec4_both" />
-<Test name="samplerCube_both" />
-<Test name="vec3_both" />
-<Test name="bvec4_fragment" />
-<Test name="float_vertex" />
-<Test name="vec2_vertex" />
-<Test name="bvec2_vertex" />
-<Test name="ivec3_vertex" />
-<Test name="ivec4_vertex" />
-<Test name="uvec4_both" />
-<Test name="uint_both" />
-<Test name="ivec2_vertex" />
-<Test name="vec3_vertex" />
-<Test name="sampler2D_both" />
-<Test name="uvec2_both" />
-<Test name="uvec2_fragment" />
-<Test name="vec4_fragment" />
-<Test name="uvec3_vertex" />
-<Test name="int_fragment" />
-<Test name="bvec3_fragment" />
-<Test name="bool_both" />
-<Test name="vec4_vertex" />
-<Test name="uvec3_fragment" />
-</TestCase>
-<TestCase name="struct_in_array">
-<Test name="sampler2D_samplerCube_both" />
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="uint_uvec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bvec4_both" />
-<Test name="int_ivec4_both" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
-</TestCase>
-<TestCase name="multiple_basic_array">
-<Test name="fragment" />
-<Test name="both" />
-<Test name="vertex" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-<TestSuite name="basic_array_assign_full">
-<TestCase name="array_in_struct">
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="mat4_mat2_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="uint_uvec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="mat4_mat2_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bvec4_both" />
-<Test name="mat4_mat2_both" />
-<Test name="int_ivec4_both" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
-</TestCase>
-<TestCase name="basic_array">
-<Test name="ivec4_fragment" />
-<Test name="mat4_fragment" />
-<Test name="int_vertex" />
-<Test name="vec4_both" />
-<Test name="uint_vertex" />
-<Test name="ivec4_both" />
-<Test name="float_both" />
-<Test name="bvec4_vertex" />
-<Test name="bool_fragment" />
-<Test name="uvec4_fragment" />
-<Test name="int_both" />
-<Test name="sampler2D_fragment" />
-<Test name="bool_vertex" />
-<Test name="sampler2D_vertex" />
-<Test name="float_fragment" />
-<Test name="mat4_both" />
-<Test name="uvec4_vertex" />
-<Test name="bvec4_both" />
-<Test name="mat4_vertex" />
-<Test name="bvec4_fragment" />
-<Test name="float_vertex" />
-<Test name="ivec4_vertex" />
-<Test name="uvec4_both" />
-<Test name="uint_both" />
-<Test name="vec4_fragment" />
-<Test name="int_fragment" />
-<Test name="bool_both" />
-<Test name="vec4_vertex" />
-</TestCase>
-<TestCase name="multiple_basic_array">
-<Test name="fragment" />
-<Test name="both" />
-<Test name="vertex" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-<TestSuite name="initial">
-<TestSuite name="get_uniform">
-<TestCase name="multiple_basic">
-<Test name="fragment" />
-<Test name="both" />
-<Test name="vertex" />
-</TestCase>
-<TestCase name="basic_struct">
-<Test name="sampler2D_samplerCube_both" />
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="mat4_mat2_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="mat4_mat2_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="bool_bvec4_both" />
-<Test name="mat4_mat2_both" />
-<Test name="int_ivec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
-</TestCase>
-<TestCase name="basic_array">
-<Test name="ivec4_fragment" />
-<Test name="bvec4_api_uint_vertex" />
-<Test name="int_vertex" />
-<Test name="bool_api_uint_fragment" />
-<Test name="bool_api_int_fragment" />
-<Test name="bvec4_api_int_vertex" />
-<Test name="vec4_both" />
-<Test name="bool_api_float_vertex" />
-<Test name="bvec4_api_uint_fragment" />
-<Test name="ivec4_both" />
-<Test name="float_both" />
-<Test name="bvec4_api_float_both" />
-<Test name="bool_api_float_both" />
-<Test name="uvec4_fragment" />
-<Test name="bvec4_api_float_fragment" />
-<Test name="int_both" />
-<Test name="sampler2D_fragment" />
-<Test name="sampler2D_vertex" />
-<Test name="bool_api_uint_vertex" />
-<Test name="float_fragment" />
-<Test name="mat4_both" />
-<Test name="uvec4_vertex" />
-<Test name="bool_api_float_fragment" />
-<Test name="bvec4_api_float_vertex" />
-<Test name="mat4_vertex" />
-<Test name="bvec4_api_int_both" />
-<Test name="ivec4_vertex" />
-<Test name="uvec4_both" />
-<Test name="bvec4_api_int_fragment" />
-<Test name="bool_api_int_both" />
-<Test name="mat4_fragment" />
-<Test name="sampler2D_both" />
-<Test name="bool_api_int_vertex" />
-<Test name="bool_api_uint_both" />
-<Test name="vec4_fragment" />
-<Test name="int_fragment" />
-<Test name="bvec4_api_uint_both" />
-<Test name="float_vertex" />
-<Test name="vec4_vertex" />
-</TestCase>
-<TestCase name="array_in_struct">
-<Test name="sampler2D_samplerCube_both" />
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="mat4_mat2_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="mat4_mat2_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="bool_bvec4_both" />
-<Test name="mat4_mat2_both" />
-<Test name="int_ivec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
-</TestCase>
-<TestCase name="nested_structs_arrays">
-<Test name="sampler2D_samplerCube_both" />
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="mat4_mat2_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="mat4_mat2_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="bool_bvec4_both" />
-<Test name="mat4_mat2_both" />
-<Test name="int_ivec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
-</TestCase>
-<TestCase name="basic">
-<Test name="bvec4_api_uint_fragment" />
-<Test name="bool_api_float_both" />
-<Test name="uvec4_fragment" />
-<Test name="mat3_vertex" />
-<Test name="bvec2_api_int_both" />
-<Test name="mat3x4_both" />
-<Test name="bvec3_api_uint_vertex" />
-<Test name="bvec3_api_int_fragment" />
-<Test name="samplerCube_both" />
-<Test name="vec3_both" />
-<Test name="uvec4_both" />
-<Test name="bvec3_api_uint_both" />
-<Test name="bool_api_int_both" />
-<Test name="uvec3_fragment" />
-<Test name="int_fragment" />
-<Test name="mat3x4_vertex" />
-<Test name="bool_api_uint_fragment" />
-<Test name="samplerCube_vertex" />
-<Test name="ivec2_both" />
-<Test name="vec4_both" />
-<Test name="mat4x3_fragment" />
-<Test name="bvec3_api_float_both" />
-<Test name="samplerCube_fragment" />
-<Test name="mat4x3_vertex" />
-<Test name="mat2x3_fragment" />
-<Test name="vec3_fragment" />
-<Test name="sampler2D_vertex" />
-<Test name="ivec3_both" />
-<Test name="bvec2_api_uint_vertex" />
-<Test name="vec2_fragment" />
-<Test name="uvec4_vertex" />
-<Test name="bool_api_float_fragment" />
-<Test name="bvec2_api_int_vertex" />
-<Test name="mat2_both" />
-<Test name="mat3x2_both" />
-<Test name="mat2x4_fragment" />
-<Test name="bvec2_api_int_fragment" />
-<Test name="vec2_vertex" />
-<Test name="bvec2_api_float_both" />
-<Test name="ivec3_vertex" />
-<Test name="uvec2_vertex" />
-<Test name="uvec2_fragment" />
-<Test name="mat4x2_vertex" />
-<Test name="vec4_fragment" />
-<Test name="bvec4_api_uint_both" />
-<Test name="mat2x3_vertex" />
-<Test name="bvec3_api_float_vertex" />
-<Test name="mat2x4_vertex" />
-<Test name="ivec2_fragment" />
-<Test name="bool_api_int_fragment" />
-<Test name="bool_api_float_vertex" />
-<Test name="mat4_fragment" />
-<Test name="bvec4_api_float_both" />
-<Test name="mat3x2_fragment" />
-<Test name="bvec3_api_float_fragment" />
-<Test name="bvec4_api_float_fragment" />
-<Test name="mat2_vertex" />
-<Test name="mat4x2_both" />
-<Test name="bvec3_api_int_both" />
-<Test name="bool_api_int_vertex" />
-<Test name="mat3x4_fragment" />
-<Test name="bvec4_api_uint_vertex" />
-<Test name="bvec4_api_int_both" />
-<Test name="bvec4_api_int_fragment" />
-<Test name="bvec4_api_int_vertex" />
-<Test name="bvec4_api_float_vertex" />
-<Test name="uvec2_both" />
-<Test name="bool_api_uint_both" />
-<Test name="bvec3_api_int_vertex" />
-<Test name="mat3_both" />
-<Test name="ivec4_fragment" />
-<Test name="mat3_fragment" />
-<Test name="int_vertex" />
-<Test name="uvec3_both" />
-<Test name="ivec4_both" />
-<Test name="float_both" />
-<Test name="vec2_both" />
-<Test name="mat3x2_vertex" />
-<Test name="bvec2_api_float_vertex" />
-<Test name="int_both" />
-<Test name="sampler2D_fragment" />
-<Test name="ivec3_fragment" />
-<Test name="mat2x3_both" />
-<Test name="bool_api_uint_vertex" />
-<Test name="bvec3_api_uint_fragment" />
-<Test name="float_fragment" />
-<Test name="mat4_both" />
-<Test name="mat4_vertex" />
-<Test name="mat2_fragment" />
-<Test name="ivec2_vertex" />
-<Test name="mat2x4_both" />
-<Test name="bvec2_api_uint_fragment" />
-<Test name="bvec2_api_float_fragment" />
-<Test name="ivec4_vertex" />
-<Test name="vec3_vertex" />
-<Test name="sampler2D_both" />
-<Test name="bvec2_api_uint_both" />
-<Test name="uvec3_vertex" />
-<Test name="mat4x3_both" />
-<Test name="float_vertex" />
-<Test name="vec4_vertex" />
-<Test name="mat4x2_fragment" />
-</TestCase>
-<TestCase name="struct_in_array">
-<Test name="sampler2D_samplerCube_both" />
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="mat4_mat2_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="mat4_mat2_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="bool_bvec4_both" />
-<Test name="mat4_mat2_both" />
-<Test name="int_ivec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
-</TestCase>
-<TestCase name="multiple_nested_structs_arrays">
-<Test name="fragment" />
-<Test name="both" />
-<Test name="vertex" />
-</TestCase>
-<TestCase name="multiple_basic_array">
-<Test name="fragment" />
-<Test name="both" />
-<Test name="vertex" />
-</TestCase>
-</TestSuite>
-<TestSuite name="render">
-<TestCase name="multiple_basic">
-<Test name="fragment" />
-<Test name="both" />
-<Test name="vertex" />
-</TestCase>
-<TestCase name="basic_struct">
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="mat4_mat2_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="int_ivec4_vertex" />
-<Test name="mat4_mat2_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="bool_bvec4_both" />
-<Test name="mat4_mat2_both" />
-<Test name="int_ivec4_both" />
-<Test name="float_vec4_vertex" />
-</TestCase>
-<TestCase name="basic_array">
-<Test name="ivec4_fragment" />
-<Test name="mat4_fragment" />
-<Test name="int_vertex" />
-<Test name="vec4_both" />
-<Test name="ivec4_both" />
-<Test name="float_both" />
-<Test name="bvec4_vertex" />
-<Test name="bool_fragment" />
-<Test name="uvec4_fragment" />
-<Test name="int_both" />
-<Test name="sampler2D_fragment" />
-<Test name="bool_vertex" />
-<Test name="sampler2D_vertex" />
-<Test name="float_fragment" />
-<Test name="mat4_both" />
-<Test name="uvec4_vertex" />
-<Test name="bvec4_both" />
-<Test name="mat4_vertex" />
-<Test name="bvec4_fragment" />
-<Test name="float_vertex" />
-<Test name="ivec4_vertex" />
-<Test name="uvec4_both" />
-<Test name="sampler2D_both" />
-<Test name="vec4_fragment" />
-<Test name="int_fragment" />
-<Test name="bool_both" />
-<Test name="vec4_vertex" />
-</TestCase>
-<TestCase name="array_in_struct">
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="mat4_mat2_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="int_ivec4_vertex" />
-<Test name="mat4_mat2_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="bool_bvec4_both" />
-<Test name="mat4_mat2_both" />
-<Test name="int_ivec4_both" />
-<Test name="float_vec4_vertex" />
-</TestCase>
-<TestCase name="nested_structs_arrays">
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="mat4_mat2_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="int_ivec4_vertex" />
-<Test name="mat4_mat2_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="bool_bvec4_both" />
-<Test name="mat4_mat2_both" />
-<Test name="int_ivec4_both" />
-<Test name="float_vec4_vertex" />
-</TestCase>
-<TestCase name="basic">
-<Test name="ivec4_fragment" />
-<Test name="mat3_fragment" />
-<Test name="int_vertex" />
-<Test name="ivec2_fragment" />
-<Test name="ivec2_both" />
-<Test name="bvec3_vertex" />
-<Test name="mat4x3_fragment" />
-<Test name="uvec3_both" />
-<Test name="vec4_both" />
-<Test name="mat3_vertex" />
-<Test name="ivec4_both" />
-<Test name="mat2x3_vertex" />
-<Test name="float_both" />
-<Test name="vec2_both" />
-<Test name="mat3x2_fragment" />
-<Test name="bool_fragment" />
-<Test name="uvec4_fragment" />
-<Test name="mat3x2_vertex" />
-<Test name="mat2_vertex" />
-<Test name="mat4x3_vertex" />
-<Test name="mat2x3_fragment" />
-<Test name="int_both" />
-<Test name="samplerCube_vertex" />
-<Test name="vec3_fragment" />
-<Test name="sampler2D_fragment" />
-<Test name="ivec3_fragment" />
-<Test name="bool_vertex" />
-<Test name="sampler2D_vertex" />
-<Test name="mat2x3_both" />
-<Test name="mat3x2_both" />
-<Test name="vec3_both" />
-<Test name="samplerCube_fragment" />
-<Test name="vec2_fragment" />
-<Test name="float_fragment" />
-<Test name="mat4_both" />
-<Test name="mat3x4_both" />
-<Test name="mat3x4_fragment" />
-<Test name="mat4_fragment" />
-<Test name="uvec2_vertex" />
-<Test name="bvec2_fragment" />
-<Test name="bvec4_both" />
-<Test name="mat2_both" />
-<Test name="mat4_vertex" />
-<Test name="bvec4_fragment" />
-<Test name="mat2_fragment" />
-<Test name="bool_both" />
-<Test name="mat2x4_fragment" />
-<Test name="vec2_vertex" />
-<Test name="bvec2_vertex" />
-<Test name="mat2x4_both" />
-<Test name="ivec4_vertex" />
-<Test name="uvec4_both" />
-<Test name="float_vertex" />
-<Test name="ivec2_vertex" />
-<Test name="samplerCube_both" />
-<Test name="ivec3_both" />
-<Test name="ivec3_vertex" />
-<Test name="sampler2D_both" />
-<Test name="bvec4_vertex" />
-<Test name="uvec2_both" />
-<Test name="vec4_vertex" />
-<Test name="mat2x4_vertex" />
-<Test name="bvec3_both" />
-<Test name="vec3_vertex" />
-<Test name="uvec2_fragment" />
-<Test name="bvec2_both" />
-<Test name="mat4x2_vertex" />
-<Test name="vec4_fragment" />
-<Test name="uvec3_vertex" />
-<Test name="int_fragment" />
-<Test name="bvec3_fragment" />
-<Test name="uvec4_vertex" />
-<Test name="mat4x3_both" />
-<Test name="mat3x4_vertex" />
-<Test name="mat3_both" />
-<Test name="mat4x2_fragment" />
-<Test name="mat4x2_both" />
-<Test name="uvec3_fragment" />
-</TestCase>
-<TestCase name="struct_in_array">
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="mat4_mat2_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="int_ivec4_vertex" />
-<Test name="mat4_mat2_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="bool_bvec4_both" />
-<Test name="mat4_mat2_both" />
-<Test name="int_ivec4_both" />
-<Test name="float_vec4_vertex" />
-</TestCase>
-<TestCase name="multiple_nested_structs_arrays">
-<Test name="fragment" />
-<Test name="both" />
-<Test name="vertex" />
-</TestCase>
-<TestCase name="multiple_basic_array">
-<Test name="fragment" />
-<Test name="both" />
-<Test name="vertex" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-</TestSuite>
-<TestSuite name="info_query">
-<TestSuite name="indices_active_uniformsiv">
-<TestCase name="multiple_basic">
-<Test name="fragment" />
-<Test name="both" />
-<Test name="vertex" />
-</TestCase>
-<TestCase name="basic_struct">
-<Test name="sampler2D_samplerCube_both" />
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="mat4_mat2_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="uint_uvec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="mat4_mat2_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="uint_uvec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bvec4_both" />
-<Test name="mat4_mat2_both" />
-<Test name="int_ivec4_both" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
-</TestCase>
-<TestCase name="basic_array">
-<Test name="ivec4_fragment" />
-<Test name="mat4_fragment" />
-<Test name="int_vertex" />
-<Test name="vec4_both" />
-<Test name="uint_vertex" />
-<Test name="ivec4_both" />
-<Test name="float_both" />
-<Test name="bvec4_vertex" />
-<Test name="bool_fragment" />
-<Test name="uvec4_fragment" />
-<Test name="int_both" />
-<Test name="sampler2D_fragment" />
-<Test name="bool_vertex" />
-<Test name="sampler2D_vertex" />
-<Test name="float_fragment" />
-<Test name="mat4_both" />
-<Test name="uvec4_vertex" />
-<Test name="bvec4_both" />
-<Test name="mat4_vertex" />
-<Test name="bvec4_fragment" />
-<Test name="float_vertex" />
-<Test name="ivec4_vertex" />
-<Test name="uvec4_both" />
-<Test name="uint_both" />
-<Test name="sampler2D_both" />
-<Test name="vec4_fragment" />
-<Test name="int_fragment" />
-<Test name="bool_both" />
-<Test name="vec4_vertex" />
-</TestCase>
-<TestCase name="unused_uniforms">
-<Test name="sampler2D_samplerCube_both" />
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="mat4_mat2_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="uint_uvec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="mat4_mat2_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="uint_uvec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bvec4_both" />
-<Test name="mat4_mat2_both" />
-<Test name="int_ivec4_both" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
-</TestCase>
-<TestCase name="array_in_struct">
-<Test name="sampler2D_samplerCube_both" />
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="mat4_mat2_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="uint_uvec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="mat4_mat2_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bvec4_both" />
-<Test name="mat4_mat2_both" />
-<Test name="int_ivec4_both" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
-</TestCase>
-<TestCase name="nested_structs_arrays">
-<Test name="sampler2D_samplerCube_both" />
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="mat4_mat2_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="uint_uvec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="mat4_mat2_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bvec4_both" />
-<Test name="mat4_mat2_both" />
-<Test name="int_ivec4_both" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
-</TestCase>
-<TestCase name="basic">
-<Test name="ivec4_fragment" />
-<Test name="mat3_fragment" />
-<Test name="int_vertex" />
-<Test name="ivec2_fragment" />
-<Test name="ivec2_both" />
-<Test name="bvec3_vertex" />
-<Test name="mat4x3_fragment" />
-<Test name="uvec3_both" />
-<Test name="vec4_both" />
-<Test name="uint_vertex" />
-<Test name="mat3_vertex" />
-<Test name="ivec4_both" />
-<Test name="mat2x3_vertex" />
-<Test name="float_both" />
-<Test name="vec2_both" />
-<Test name="mat3x2_fragment" />
-<Test name="bool_fragment" />
-<Test name="uvec4_fragment" />
-<Test name="mat3x2_vertex" />
-<Test name="mat2_vertex" />
-<Test name="mat4x3_vertex" />
-<Test name="mat2x3_fragment" />
-<Test name="int_both" />
-<Test name="samplerCube_vertex" />
-<Test name="vec3_fragment" />
-<Test name="sampler2D_fragment" />
-<Test name="ivec3_fragment" />
-<Test name="bool_vertex" />
-<Test name="sampler2D_vertex" />
-<Test name="mat2x3_both" />
-<Test name="mat3x2_both" />
-<Test name="vec3_both" />
-<Test name="float_vertex" />
-<Test name="samplerCube_fragment" />
-<Test name="vec2_fragment" />
-<Test name="float_fragment" />
-<Test name="mat4_both" />
-<Test name="mat3x4_both" />
-<Test name="mat3x4_fragment" />
-<Test name="mat4_fragment" />
-<Test name="uvec2_vertex" />
-<Test name="bvec2_fragment" />
-<Test name="bvec4_both" />
-<Test name="mat2_both" />
-<Test name="mat4_vertex" />
-<Test name="bvec4_fragment" />
-<Test name="mat2_fragment" />
-<Test name="bool_both" />
-<Test name="mat2x4_fragment" />
-<Test name="vec2_vertex" />
-<Test name="bvec2_vertex" />
-<Test name="mat2x4_both" />
-<Test name="ivec4_vertex" />
-<Test name="uvec4_both" />
-<Test name="uint_both" />
-<Test name="ivec2_vertex" />
-<Test name="samplerCube_both" />
-<Test name="ivec3_both" />
-<Test name="ivec3_vertex" />
-<Test name="sampler2D_both" />
-<Test name="bvec4_vertex" />
-<Test name="uvec2_both" />
-<Test name="vec4_vertex" />
-<Test name="mat2x4_vertex" />
-<Test name="bvec3_both" />
-<Test name="vec3_vertex" />
-<Test name="uvec2_fragment" />
-<Test name="bvec2_both" />
-<Test name="mat4x2_vertex" />
-<Test name="vec4_fragment" />
-<Test name="uvec3_vertex" />
-<Test name="int_fragment" />
-<Test name="bvec3_fragment" />
-<Test name="uvec4_vertex" />
-<Test name="mat4x3_both" />
-<Test name="mat3x4_vertex" />
-<Test name="mat3_both" />
-<Test name="mat4x2_fragment" />
-<Test name="mat4x2_both" />
-<Test name="uvec3_fragment" />
-</TestCase>
-<TestCase name="basic_array_first_elem_without_brackets">
-<Test name="ivec4_fragment" />
-<Test name="mat4_fragment" />
-<Test name="int_vertex" />
-<Test name="vec4_both" />
-<Test name="uint_vertex" />
-<Test name="ivec4_both" />
-<Test name="float_both" />
-<Test name="bvec4_vertex" />
-<Test name="bool_fragment" />
-<Test name="uvec4_fragment" />
-<Test name="int_both" />
-<Test name="sampler2D_fragment" />
-<Test name="bool_vertex" />
-<Test name="sampler2D_vertex" />
-<Test name="float_fragment" />
-<Test name="mat4_both" />
-<Test name="uvec4_vertex" />
-<Test name="bvec4_both" />
-<Test name="mat4_vertex" />
-<Test name="bvec4_fragment" />
-<Test name="float_vertex" />
-<Test name="ivec4_vertex" />
-<Test name="uvec4_both" />
-<Test name="uint_both" />
-<Test name="sampler2D_both" />
-<Test name="vec4_fragment" />
-<Test name="int_fragment" />
-<Test name="bool_both" />
-<Test name="vec4_vertex" />
-</TestCase>
-<TestCase name="struct_in_array">
-<Test name="sampler2D_samplerCube_both" />
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="mat4_mat2_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="uint_uvec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="mat4_mat2_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bvec4_both" />
-<Test name="mat4_mat2_both" />
-<Test name="int_ivec4_both" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
-</TestCase>
-<TestCase name="multiple_nested_structs_arrays">
-<Test name="fragment" />
-<Test name="both" />
-<Test name="vertex" />
-</TestCase>
-<TestCase name="multiple_basic_array">
-<Test name="fragment" />
-<Test name="both" />
-<Test name="vertex" />
-</TestCase>
-</TestSuite>
-<TestSuite name="active_uniform">
-<TestCase name="multiple_basic">
-<Test name="fragment" />
-<Test name="both" />
-<Test name="vertex" />
-</TestCase>
-<TestCase name="basic_struct">
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="mat4_mat2_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="uint_uvec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="mat4_mat2_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="uint_uvec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bvec4_both" />
-<Test name="mat4_mat2_both" />
-<Test name="int_ivec4_both" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
-</TestCase>
-<TestCase name="basic_array">
-<Test name="ivec4_fragment" />
-<Test name="mat4_fragment" />
-<Test name="int_vertex" />
-<Test name="vec4_both" />
-<Test name="uint_vertex" />
-<Test name="ivec4_both" />
-<Test name="float_both" />
-<Test name="bvec4_vertex" />
-<Test name="bool_fragment" />
-<Test name="uvec4_fragment" />
-<Test name="int_both" />
-<Test name="bool_vertex" />
-<Test name="float_fragment" />
-<Test name="mat4_both" />
-<Test name="uvec4_vertex" />
-<Test name="bvec4_both" />
-<Test name="mat4_vertex" />
-<Test name="bvec4_fragment" />
-<Test name="float_vertex" />
-<Test name="ivec4_vertex" />
-<Test name="uvec4_both" />
-<Test name="uint_both" />
-<Test name="vec4_fragment" />
-<Test name="int_fragment" />
-<Test name="bool_both" />
-<Test name="vec4_vertex" />
-</TestCase>
-<TestCase name="unused_uniforms">
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="mat4_mat2_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="uint_uvec4_vertex" />
-<Test name="mat4_mat2_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="uint_uvec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bvec4_both" />
-<Test name="mat4_mat2_both" />
-<Test name="int_ivec4_both" />
-<Test name="int_ivec4_vertex" />
-</TestCase>
-<TestCase name="array_in_struct">
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="mat4_mat2_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="uint_uvec4_vertex" />
-<Test name="mat4_mat2_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bvec4_both" />
-<Test name="mat4_mat2_both" />
-<Test name="int_ivec4_both" />
-<Test name="int_ivec4_vertex" />
-</TestCase>
-<TestCase name="nested_structs_arrays">
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="mat4_mat2_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="uint_uvec4_vertex" />
-<Test name="mat4_mat2_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bvec4_both" />
-<Test name="mat4_mat2_both" />
-<Test name="int_ivec4_both" />
-<Test name="int_ivec4_vertex" />
-</TestCase>
-<TestCase name="basic">
-<Test name="ivec4_fragment" />
-<Test name="mat3_fragment" />
-<Test name="int_vertex" />
-<Test name="ivec2_fragment" />
-<Test name="ivec2_both" />
-<Test name="bvec3_vertex" />
-<Test name="mat4x3_fragment" />
-<Test name="uvec3_both" />
-<Test name="vec4_both" />
-<Test name="uint_vertex" />
-<Test name="mat3_vertex" />
-<Test name="ivec4_both" />
-<Test name="mat2x3_vertex" />
-<Test name="float_both" />
-<Test name="vec2_both" />
-<Test name="mat3x2_fragment" />
-<Test name="bool_fragment" />
-<Test name="uvec4_fragment" />
-<Test name="mat3x2_vertex" />
-<Test name="mat2_vertex" />
-<Test name="mat4x3_vertex" />
-<Test name="mat2x3_fragment" />
-<Test name="int_both" />
-<Test name="samplerCube_vertex" />
-<Test name="vec3_fragment" />
-<Test name="sampler2D_fragment" />
-<Test name="ivec3_fragment" />
-<Test name="bool_vertex" />
-<Test name="sampler2D_vertex" />
-<Test name="mat2x3_both" />
-<Test name="mat3x2_both" />
-<Test name="vec3_both" />
-<Test name="float_vertex" />
-<Test name="samplerCube_fragment" />
-<Test name="vec2_fragment" />
-<Test name="float_fragment" />
-<Test name="mat4_both" />
-<Test name="mat3x4_both" />
-<Test name="mat3x4_fragment" />
-<Test name="mat4_fragment" />
-<Test name="uvec2_vertex" />
-<Test name="bvec2_fragment" />
-<Test name="bvec4_both" />
-<Test name="mat2_both" />
-<Test name="mat4_vertex" />
-<Test name="bvec4_fragment" />
-<Test name="mat2_fragment" />
-<Test name="bool_both" />
-<Test name="mat2x4_fragment" />
-<Test name="vec2_vertex" />
-<Test name="bvec2_vertex" />
-<Test name="mat2x4_both" />
-<Test name="ivec4_vertex" />
-<Test name="uvec4_both" />
-<Test name="uint_both" />
-<Test name="ivec2_vertex" />
-<Test name="ivec3_both" />
-<Test name="ivec3_vertex" />
-<Test name="vec4_vertex" />
-<Test name="bvec4_vertex" />
-<Test name="uvec2_both" />
-<Test name="mat2x4_vertex" />
-<Test name="bvec3_both" />
-<Test name="vec3_vertex" />
-<Test name="uvec2_fragment" />
-<Test name="bvec2_both" />
-<Test name="mat4x2_vertex" />
-<Test name="vec4_fragment" />
-<Test name="uvec3_vertex" />
-<Test name="int_fragment" />
-<Test name="bvec3_fragment" />
-<Test name="uvec4_vertex" />
-<Test name="mat4x3_both" />
-<Test name="mat3x4_vertex" />
-<Test name="mat3_both" />
-<Test name="mat4x2_fragment" />
-<Test name="mat4x2_both" />
-<Test name="uvec3_fragment" />
-</TestCase>
-<TestCase name="struct_in_array">
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="mat4_mat2_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="uint_uvec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="mat4_mat2_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bvec4_both" />
-<Test name="mat4_mat2_both" />
-<Test name="int_ivec4_both" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
-</TestCase>
-<TestCase name="multiple_nested_structs_arrays">
-<Test name="fragment" />
-<Test name="both" />
-<Test name="vertex" />
-</TestCase>
-<TestCase name="multiple_basic_array">
-<Test name="fragment" />
-<Test name="both" />
-<Test name="vertex" />
-</TestCase>
-</TestSuite>
-<TestSuite name="consistency">
-<TestCase name="multiple_basic">
-<Test name="fragment" />
-<Test name="both" />
-<Test name="vertex" />
-</TestCase>
-<TestCase name="basic_struct">
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="mat4_mat2_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="uint_uvec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="mat4_mat2_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="uint_uvec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bvec4_both" />
-<Test name="mat4_mat2_both" />
-<Test name="int_ivec4_both" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
-</TestCase>
-<TestCase name="basic_array">
-<Test name="ivec4_fragment" />
-<Test name="mat4_fragment" />
-<Test name="int_vertex" />
-<Test name="vec4_both" />
-<Test name="uint_vertex" />
-<Test name="ivec4_both" />
-<Test name="float_both" />
-<Test name="bvec4_vertex" />
-<Test name="bool_fragment" />
-<Test name="uvec4_fragment" />
-<Test name="int_both" />
-<Test name="sampler2D_fragment" />
-<Test name="bool_vertex" />
-<Test name="sampler2D_vertex" />
-<Test name="float_fragment" />
-<Test name="mat4_both" />
-<Test name="uvec4_vertex" />
-<Test name="bvec4_both" />
-<Test name="mat4_vertex" />
-<Test name="bvec4_fragment" />
-<Test name="float_vertex" />
-<Test name="ivec4_vertex" />
-<Test name="uvec4_both" />
-<Test name="uint_both" />
-<Test name="vec4_fragment" />
-<Test name="int_fragment" />
-<Test name="bool_both" />
-<Test name="vec4_vertex" />
-</TestCase>
-<TestCase name="unused_uniforms">
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="mat4_mat2_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="uint_uvec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="mat4_mat2_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="uint_uvec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bvec4_both" />
-<Test name="mat4_mat2_both" />
-<Test name="int_ivec4_both" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
-</TestCase>
-<TestCase name="array_in_struct">
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="mat4_mat2_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="uint_uvec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="mat4_mat2_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bvec4_both" />
-<Test name="mat4_mat2_both" />
-<Test name="int_ivec4_both" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
-</TestCase>
-<TestCase name="nested_structs_arrays">
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="mat4_mat2_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="uint_uvec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="mat4_mat2_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bvec4_both" />
-<Test name="mat4_mat2_both" />
-<Test name="int_ivec4_both" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
-</TestCase>
-<TestCase name="basic">
-<Test name="ivec4_fragment" />
-<Test name="mat3_fragment" />
-<Test name="int_vertex" />
-<Test name="ivec2_fragment" />
-<Test name="ivec2_both" />
-<Test name="bvec3_vertex" />
-<Test name="mat4x3_fragment" />
-<Test name="uvec3_both" />
-<Test name="vec4_both" />
-<Test name="uint_vertex" />
-<Test name="mat3_vertex" />
-<Test name="ivec4_both" />
-<Test name="mat2x3_vertex" />
-<Test name="float_both" />
-<Test name="vec2_both" />
-<Test name="mat3x2_fragment" />
-<Test name="bool_fragment" />
-<Test name="uvec4_fragment" />
-<Test name="mat3x2_vertex" />
-<Test name="mat2_vertex" />
-<Test name="mat4x3_vertex" />
-<Test name="mat2x3_fragment" />
-<Test name="int_both" />
-<Test name="samplerCube_vertex" />
-<Test name="vec3_fragment" />
-<Test name="sampler2D_fragment" />
-<Test name="ivec3_fragment" />
-<Test name="bool_vertex" />
-<Test name="sampler2D_vertex" />
-<Test name="mat2x3_both" />
-<Test name="mat3x2_both" />
-<Test name="vec3_both" />
-<Test name="float_vertex" />
-<Test name="samplerCube_fragment" />
-<Test name="vec2_fragment" />
-<Test name="float_fragment" />
-<Test name="mat4_both" />
-<Test name="mat3x4_both" />
-<Test name="mat3x4_fragment" />
-<Test name="mat4_fragment" />
-<Test name="uvec2_vertex" />
-<Test name="bvec2_fragment" />
-<Test name="bvec4_both" />
-<Test name="mat2_both" />
-<Test name="mat4_vertex" />
-<Test name="bvec4_fragment" />
-<Test name="mat2_fragment" />
-<Test name="bool_both" />
-<Test name="mat2x4_fragment" />
-<Test name="vec2_vertex" />
-<Test name="bvec2_vertex" />
-<Test name="mat2x4_both" />
-<Test name="ivec4_vertex" />
-<Test name="uvec4_both" />
-<Test name="uint_both" />
-<Test name="ivec2_vertex" />
-<Test name="ivec3_both" />
-<Test name="ivec3_vertex" />
-<Test name="vec4_vertex" />
-<Test name="bvec4_vertex" />
-<Test name="uvec2_both" />
-<Test name="mat2x4_vertex" />
-<Test name="bvec3_both" />
-<Test name="vec3_vertex" />
-<Test name="uvec2_fragment" />
-<Test name="bvec2_both" />
-<Test name="mat4x2_vertex" />
-<Test name="vec4_fragment" />
-<Test name="uvec3_vertex" />
-<Test name="int_fragment" />
-<Test name="bvec3_fragment" />
-<Test name="uvec4_vertex" />
-<Test name="mat4x3_both" />
-<Test name="mat3x4_vertex" />
-<Test name="mat3_both" />
-<Test name="mat4x2_fragment" />
-<Test name="mat4x2_both" />
-<Test name="uvec3_fragment" />
-</TestCase>
-<TestCase name="struct_in_array">
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="mat4_mat2_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="uint_uvec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="mat4_mat2_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bvec4_both" />
-<Test name="mat4_mat2_both" />
-<Test name="int_ivec4_both" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
-</TestCase>
-<TestCase name="multiple_nested_structs_arrays">
-<Test name="fragment" />
-<Test name="both" />
-<Test name="vertex" />
-</TestCase>
-<TestCase name="multiple_basic_array">
-<Test name="fragment" />
-<Test name="both" />
-<Test name="vertex" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-</TestSuite>
-<TestSuite name="buffer">
-<TestSuite name="write">
-<TestCase name="basic_subdata">
-<Test name="array_stream_read" />
-<Test name="transform_feedback_static_read" />
-<Test name="uniform_dynamic_read" />
-<Test name="pixel_unpack_dynamic_read" />
-<Test name="element_array_static_read" />
-<Test name="copy_read_dynamic_read" />
-<Test name="transform_feedback_static_draw" />
-<Test name="element_array_static_draw" />
-<Test name="transform_feedback_stream_read" />
-<Test name="copy_read_dynamic_draw" />
-<Test name="copy_read_dynamic_copy" />
-<Test name="transform_feedback_dynamic_copy" />
-<Test name="element_array_dynamic_copy" />
-<Test name="pixel_unpack_static_copy" />
-<Test name="element_array_dynamic_draw" />
-<Test name="element_array_static_copy" />
-<Test name="transform_feedback_dynamic_draw" />
-<Test name="array_stream_copy" />
-<Test name="uniform_static_copy" />
-<Test name="array_static_draw" />
-<Test name="uniform_dynamic_copy" />
-<Test name="copy_read_stream_copy" />
-<Test name="uniform_dynamic_draw" />
-<Test name="copy_read_static_copy" />
-<Test name="copy_write_static_read" />
-<Test name="pixel_pack_static_copy" />
-<Test name="copy_write_stream_draw" />
-<Test name="copy_write_static_draw" />
-<Test name="copy_write_static_copy" />
-<Test name="element_array_stream_draw" />
-<Test name="transform_feedback_stream_draw" />
-<Test name="copy_write_stream_read" />
-<Test name="array_dynamic_draw" />
-<Test name="uniform_stream_copy" />
-<Test name="uniform_static_read" />
-<Test name="pixel_pack_static_draw" />
-<Test name="copy_read_stream_read" />
-<Test name="copy_read_static_draw" />
-<Test name="pixel_unpack_stream_copy" />
-<Test name="array_static_copy" />
-<Test name="pixel_unpack_stream_read" />
-<Test name="pixel_pack_static_read" />
-<Test name="copy_write_dynamic_copy" />
-<Test name="array_dynamic_copy" />
-<Test name="transform_feedback_static_copy" />
-<Test name="pixel_pack_dynamic_draw" />
-<Test name="array_dynamic_read" />
-<Test name="uniform_static_draw" />
-<Test name="copy_read_stream_draw" />
-<Test name="transform_feedback_dynamic_read" />
-<Test name="pixel_unpack_dynamic_draw" />
-<Test name="array_stream_draw" />
-<Test name="copy_write_dynamic_read" />
-<Test name="copy_write_stream_copy" />
-<Test name="element_array_dynamic_read" />
-<Test name="pixel_pack_stream_draw" />
-<Test name="element_array_stream_read" />
-<Test name="array_static_read" />
-<Test name="copy_read_static_read" />
-<Test name="transform_feedback_stream_copy" />
-<Test name="pixel_pack_stream_copy" />
-<Test name="uniform_stream_read" />
-<Test name="pixel_pack_dynamic_read" />
-<Test name="pixel_unpack_static_read" />
-<Test name="pixel_pack_dynamic_copy" />
-<Test name="pixel_unpack_stream_draw" />
-<Test name="pixel_unpack_static_draw" />
-<Test name="pixel_unpack_dynamic_copy" />
-<Test name="copy_write_dynamic_draw" />
-<Test name="uniform_stream_draw" />
-<Test name="pixel_pack_stream_read" />
-<Test name="element_array_stream_copy" />
-</TestCase>
-<TestCase name="partial_specify">
-<Test name="low_2" />
-<Test name="low_3" />
-<Test name="low_1" />
-<Test name="whole_3" />
-<Test name="whole_2" />
-<Test name="whole_1" />
-<Test name="whole_4" />
-<Test name="middle_2" />
-<Test name="middle_3" />
-<Test name="middle_1" />
-<Test name="high_3" />
-<Test name="high_2" />
-<Test name="high_1" />
-</TestCase>
-<TestCase name="random">
-<Test name="1" />
-<Test name="0" />
-<Test name="3" />
-<Test name="2" />
-<Test name="5" />
-<Test name="4" />
-<Test name="7" />
-<Test name="6" />
-<Test name="9" />
-<Test name="8" />
-</TestCase>
-<TestCase name="basic">
-<Test name="array_stream_read" />
-<Test name="transform_feedback_static_read" />
-<Test name="uniform_dynamic_read" />
-<Test name="pixel_unpack_dynamic_read" />
-<Test name="element_array_static_read" />
-<Test name="copy_read_dynamic_read" />
-<Test name="transform_feedback_static_draw" />
-<Test name="element_array_static_draw" />
-<Test name="transform_feedback_stream_read" />
-<Test name="copy_read_dynamic_draw" />
-<Test name="copy_read_dynamic_copy" />
-<Test name="transform_feedback_dynamic_copy" />
-<Test name="element_array_dynamic_copy" />
-<Test name="pixel_unpack_static_copy" />
-<Test name="element_array_dynamic_draw" />
-<Test name="element_array_static_copy" />
-<Test name="transform_feedback_dynamic_draw" />
-<Test name="array_stream_copy" />
-<Test name="uniform_static_copy" />
-<Test name="array_static_draw" />
-<Test name="uniform_dynamic_copy" />
-<Test name="copy_read_stream_copy" />
-<Test name="uniform_dynamic_draw" />
-<Test name="copy_read_static_copy" />
-<Test name="copy_write_static_read" />
-<Test name="pixel_pack_static_copy" />
-<Test name="copy_write_stream_draw" />
-<Test name="copy_write_static_draw" />
-<Test name="copy_write_static_copy" />
-<Test name="element_array_stream_draw" />
-<Test name="transform_feedback_stream_draw" />
-<Test name="copy_write_stream_read" />
-<Test name="array_dynamic_draw" />
-<Test name="uniform_stream_copy" />
-<Test name="uniform_static_read" />
-<Test name="pixel_pack_static_draw" />
-<Test name="copy_read_stream_read" />
-<Test name="copy_read_static_draw" />
-<Test name="pixel_unpack_stream_copy" />
-<Test name="array_static_copy" />
-<Test name="pixel_unpack_stream_read" />
-<Test name="pixel_pack_static_read" />
-<Test name="copy_write_dynamic_copy" />
-<Test name="array_dynamic_copy" />
-<Test name="transform_feedback_static_copy" />
-<Test name="pixel_pack_dynamic_draw" />
-<Test name="array_dynamic_read" />
-<Test name="uniform_static_draw" />
-<Test name="copy_read_stream_draw" />
-<Test name="transform_feedback_dynamic_read" />
-<Test name="pixel_unpack_dynamic_draw" />
-<Test name="array_stream_draw" />
-<Test name="copy_write_dynamic_read" />
-<Test name="copy_write_stream_copy" />
-<Test name="element_array_dynamic_read" />
-<Test name="pixel_pack_stream_draw" />
-<Test name="element_array_stream_read" />
-<Test name="array_static_read" />
-<Test name="copy_read_static_read" />
-<Test name="transform_feedback_stream_copy" />
-<Test name="pixel_pack_stream_copy" />
-<Test name="uniform_stream_read" />
-<Test name="pixel_pack_dynamic_read" />
-<Test name="pixel_unpack_static_read" />
-<Test name="pixel_pack_dynamic_copy" />
-<Test name="pixel_unpack_stream_draw" />
-<Test name="pixel_unpack_static_draw" />
-<Test name="pixel_unpack_dynamic_copy" />
-<Test name="copy_write_dynamic_draw" />
-<Test name="uniform_stream_draw" />
-<Test name="pixel_pack_stream_read" />
-<Test name="element_array_stream_copy" />
-</TestCase>
-<TestCase name="recreate_store">
-<Test name="different_usage" />
-<Test name="different_size" />
-<Test name="random_1" />
-<Test name="random_2" />
-<Test name="random_3" />
-<Test name="random_4" />
-<Test name="identical_2" />
-<Test name="identical_1" />
-<Test name="different_target" />
-</TestCase>
-</TestSuite>
-<TestSuite name="map">
-<TestSuite name="read">
-<TestCase name="usage_hints">
-<Test name="array_stream_read" />
-<Test name="transform_feedback_static_read" />
-<Test name="uniform_dynamic_read" />
-<Test name="pixel_unpack_dynamic_read" />
-<Test name="element_array_static_read" />
-<Test name="copy_read_dynamic_read" />
-<Test name="transform_feedback_static_draw" />
-<Test name="element_array_static_draw" />
-<Test name="transform_feedback_stream_read" />
-<Test name="copy_read_dynamic_draw" />
-<Test name="copy_read_dynamic_copy" />
-<Test name="transform_feedback_dynamic_copy" />
-<Test name="element_array_dynamic_copy" />
-<Test name="pixel_unpack_static_copy" />
-<Test name="element_array_dynamic_draw" />
-<Test name="element_array_static_copy" />
-<Test name="transform_feedback_dynamic_draw" />
-<Test name="array_stream_copy" />
-<Test name="uniform_static_copy" />
-<Test name="array_static_draw" />
-<Test name="uniform_dynamic_copy" />
-<Test name="copy_read_stream_copy" />
-<Test name="uniform_dynamic_draw" />
-<Test name="copy_read_static_copy" />
-<Test name="copy_write_static_read" />
-<Test name="pixel_pack_static_copy" />
-<Test name="copy_write_stream_draw" />
-<Test name="copy_write_static_draw" />
-<Test name="copy_write_static_copy" />
-<Test name="element_array_stream_draw" />
-<Test name="transform_feedback_stream_draw" />
-<Test name="copy_write_stream_read" />
-<Test name="array_dynamic_draw" />
-<Test name="uniform_stream_copy" />
-<Test name="uniform_static_read" />
-<Test name="pixel_pack_static_draw" />
-<Test name="copy_read_stream_read" />
-<Test name="copy_read_static_draw" />
-<Test name="pixel_unpack_stream_copy" />
-<Test name="array_static_copy" />
-<Test name="pixel_unpack_stream_read" />
-<Test name="pixel_pack_static_read" />
-<Test name="copy_write_dynamic_copy" />
-<Test name="array_dynamic_copy" />
-<Test name="transform_feedback_static_copy" />
-<Test name="pixel_pack_dynamic_draw" />
-<Test name="array_dynamic_read" />
-<Test name="uniform_static_draw" />
-<Test name="copy_read_stream_draw" />
-<Test name="transform_feedback_dynamic_read" />
-<Test name="pixel_unpack_dynamic_draw" />
-<Test name="array_stream_draw" />
-<Test name="copy_write_dynamic_read" />
-<Test name="copy_write_stream_copy" />
-<Test name="element_array_dynamic_read" />
-<Test name="pixel_pack_stream_draw" />
-<Test name="element_array_stream_read" />
-<Test name="array_static_read" />
-<Test name="copy_read_static_read" />
-<Test name="transform_feedback_stream_copy" />
-<Test name="pixel_pack_stream_copy" />
-<Test name="uniform_stream_read" />
-<Test name="pixel_pack_dynamic_read" />
-<Test name="pixel_unpack_static_read" />
-<Test name="pixel_pack_dynamic_copy" />
-<Test name="pixel_unpack_stream_draw" />
-<Test name="pixel_unpack_static_draw" />
-<Test name="pixel_unpack_dynamic_copy" />
-<Test name="copy_write_dynamic_draw" />
-<Test name="uniform_stream_draw" />
-<Test name="pixel_pack_stream_read" />
-<Test name="element_array_stream_copy" />
-</TestCase>
-<TestCase name="map_write">
-<Test name="uniform_partial" />
-<Test name="pixel_unpack_full" />
-<Test name="pixel_pack_full" />
-<Test name="pixel_pack_partial" />
-<Test name="element_array_partial" />
-<Test name="transform_feedback_partial" />
-<Test name="element_array_full" />
-<Test name="copy_read_partial" />
-<Test name="pixel_unpack_partial" />
-<Test name="copy_read_full" />
-<Test name="transform_feedback_full" />
-<Test name="array_partial" />
-<Test name="uniform_full" />
-<Test name="copy_write_partial" />
-<Test name="copy_write_full" />
-<Test name="array_full" />
-</TestCase>
-<TestCase name="sub_data">
-<Test name="uniform_partial" />
-<Test name="pixel_unpack_full" />
-<Test name="pixel_pack_full" />
-<Test name="pixel_pack_partial" />
-<Test name="element_array_partial" />
-<Test name="transform_feedback_partial" />
-<Test name="element_array_full" />
-<Test name="copy_read_partial" />
-<Test name="pixel_unpack_partial" />
-<Test name="copy_read_full" />
-<Test name="transform_feedback_full" />
-<Test name="array_partial" />
-<Test name="uniform_full" />
-<Test name="copy_write_partial" />
-<Test name="copy_write_full" />
-<Test name="array_full" />
-</TestCase>
-</TestSuite>
-<TestSuite name="write">
-<TestCase name="invalidate">
-<Test name="pixel_unpack_write_all" />
-<Test name="array_write_all" />
-<Test name="copy_write_write_partial" />
-<Test name="copy_read_write_all" />
-<Test name="element_array_write_partial" />
-<Test name="transform_feedback_write_all" />
-<Test name="copy_read_write_partial" />
-<Test name="transform_feedback_write_partial" />
-<Test name="uniform_write_all" />
-<Test name="pixel_pack_write_partial" />
-<Test name="uniform_write_partial" />
-<Test name="array_write_partial" />
-<Test name="copy_write_write_all" />
-<Test name="pixel_pack_write_all" />
-<Test name="pixel_unpack_write_partial" />
-<Test name="element_array_write_all" />
-</TestCase>
-<TestCase name="partial_invalidate">
-<Test name="pixel_unpack_write_all" />
-<Test name="array_write_all" />
-<Test name="copy_write_write_partial" />
-<Test name="copy_read_write_all" />
-<Test name="element_array_write_partial" />
-<Test name="transform_feedback_write_all" />
-<Test name="copy_read_write_partial" />
-<Test name="transform_feedback_write_partial" />
-<Test name="uniform_write_all" />
-<Test name="pixel_pack_write_partial" />
-<Test name="uniform_write_partial" />
-<Test name="array_write_partial" />
-<Test name="copy_write_write_all" />
-<Test name="pixel_pack_write_all" />
-<Test name="pixel_unpack_write_partial" />
-<Test name="element_array_write_all" />
-</TestCase>
-<TestCase name="explicit_flush">
-<Test name="uniform_partial" />
-<Test name="transform_feedback_partial" />
-<Test name="pixel_unpack_partial" />
-<Test name="pixel_pack_partial" />
-<Test name="copy_write_all" />
-<Test name="pixel_pack_all" />
-<Test name="element_array_all" />
-<Test name="transform_feedback_all" />
-<Test name="element_array_partial" />
-<Test name="array_all" />
-<Test name="copy_read_all" />
-<Test name="copy_read_partial" />
-<Test name="pixel_unpack_all" />
-<Test name="uniform_all" />
-<Test name="array_partial" />
-<Test name="copy_write_partial" />
-</TestCase>
-<TestCase name="render_as_index_array">
-<Test name="uniform_partial" />
-<Test name="pixel_unpack_full" />
-<Test name="pixel_pack_full" />
-<Test name="pixel_pack_partial" />
-<Test name="element_array_partial" />
-<Test name="transform_feedback_partial" />
-<Test name="element_array_full" />
-<Test name="copy_read_partial" />
-<Test name="pixel_unpack_partial" />
-<Test name="copy_read_full" />
-<Test name="transform_feedback_full" />
-<Test name="array_partial" />
-<Test name="uniform_full" />
-<Test name="copy_write_partial" />
-<Test name="copy_write_full" />
-<Test name="array_full" />
-</TestCase>
-<TestCase name="map_read">
-<Test name="uniform_partial" />
-<Test name="pixel_unpack_full" />
-<Test name="pixel_pack_full" />
-<Test name="pixel_pack_partial" />
-<Test name="element_array_partial" />
-<Test name="transform_feedback_partial" />
-<Test name="element_array_full" />
-<Test name="copy_read_partial" />
-<Test name="pixel_unpack_partial" />
-<Test name="copy_read_full" />
-<Test name="transform_feedback_full" />
-<Test name="array_partial" />
-<Test name="uniform_full" />
-<Test name="copy_write_partial" />
-<Test name="copy_write_full" />
-<Test name="array_full" />
-</TestCase>
-<TestCase name="render_as_vertex_array">
-<Test name="uniform_partial" />
-<Test name="pixel_unpack_full" />
-<Test name="pixel_pack_full" />
-<Test name="pixel_pack_partial" />
-<Test name="element_array_partial" />
-<Test name="transform_feedback_partial" />
-<Test name="element_array_full" />
-<Test name="copy_read_partial" />
-<Test name="pixel_unpack_partial" />
-<Test name="copy_read_full" />
-<Test name="transform_feedback_full" />
-<Test name="array_partial" />
-<Test name="uniform_full" />
-<Test name="copy_write_partial" />
-<Test name="copy_write_full" />
-<Test name="array_full" />
-</TestCase>
-<TestCase name="usage_hints">
-<Test name="array_stream_read" />
-<Test name="transform_feedback_static_read" />
-<Test name="uniform_dynamic_read" />
-<Test name="pixel_unpack_dynamic_read" />
-<Test name="element_array_static_read" />
-<Test name="copy_read_dynamic_read" />
-<Test name="transform_feedback_static_draw" />
-<Test name="element_array_static_draw" />
-<Test name="transform_feedback_stream_read" />
-<Test name="copy_read_dynamic_draw" />
-<Test name="copy_read_dynamic_copy" />
-<Test name="transform_feedback_dynamic_copy" />
-<Test name="element_array_dynamic_copy" />
-<Test name="pixel_unpack_static_copy" />
-<Test name="element_array_dynamic_draw" />
-<Test name="element_array_static_copy" />
-<Test name="transform_feedback_dynamic_draw" />
-<Test name="array_stream_copy" />
-<Test name="uniform_static_copy" />
-<Test name="array_static_draw" />
-<Test name="uniform_dynamic_copy" />
-<Test name="copy_read_stream_copy" />
-<Test name="uniform_dynamic_draw" />
-<Test name="copy_read_static_copy" />
-<Test name="copy_write_static_read" />
-<Test name="pixel_pack_static_copy" />
-<Test name="copy_write_stream_draw" />
-<Test name="copy_write_static_draw" />
-<Test name="copy_write_static_copy" />
-<Test name="element_array_stream_draw" />
-<Test name="transform_feedback_stream_draw" />
-<Test name="copy_write_stream_read" />
-<Test name="array_dynamic_draw" />
-<Test name="uniform_stream_copy" />
-<Test name="uniform_static_read" />
-<Test name="pixel_pack_static_draw" />
-<Test name="copy_read_stream_read" />
-<Test name="copy_read_static_draw" />
-<Test name="pixel_unpack_stream_copy" />
-<Test name="array_static_copy" />
-<Test name="pixel_unpack_stream_read" />
-<Test name="pixel_pack_static_read" />
-<Test name="copy_write_dynamic_copy" />
-<Test name="array_dynamic_copy" />
-<Test name="transform_feedback_static_copy" />
-<Test name="pixel_pack_dynamic_draw" />
-<Test name="array_dynamic_read" />
-<Test name="uniform_static_draw" />
-<Test name="copy_read_stream_draw" />
-<Test name="transform_feedback_dynamic_read" />
-<Test name="pixel_unpack_dynamic_draw" />
-<Test name="array_stream_draw" />
-<Test name="copy_write_dynamic_read" />
-<Test name="copy_write_stream_copy" />
-<Test name="element_array_dynamic_read" />
-<Test name="pixel_pack_stream_draw" />
-<Test name="element_array_stream_read" />
-<Test name="array_static_read" />
-<Test name="copy_read_static_read" />
-<Test name="transform_feedback_stream_copy" />
-<Test name="pixel_pack_stream_copy" />
-<Test name="uniform_stream_read" />
-<Test name="pixel_pack_dynamic_read" />
-<Test name="pixel_unpack_static_read" />
-<Test name="pixel_pack_dynamic_copy" />
-<Test name="pixel_unpack_stream_draw" />
-<Test name="pixel_unpack_static_draw" />
-<Test name="pixel_unpack_dynamic_copy" />
-<Test name="copy_write_dynamic_draw" />
-<Test name="uniform_stream_draw" />
-<Test name="pixel_pack_stream_read" />
-<Test name="element_array_stream_copy" />
-</TestCase>
-<TestCase name="unsynchronized">
-<Test name="pixel_pack" />
-<Test name="element_array" />
-<Test name="transform_feedback" />
-<Test name="copy_write" />
-<Test name="copy_read" />
-<Test name="array" />
-<Test name="uniform" />
-<Test name="pixel_unpack" />
-</TestCase>
-</TestSuite>
-<TestSuite name="read_write">
-<TestCase name="render_as_vertex_array">
-<Test name="uniform_partial" />
-<Test name="pixel_unpack_full" />
-<Test name="pixel_pack_full" />
-<Test name="pixel_pack_partial" />
-<Test name="element_array_partial" />
-<Test name="transform_feedback_partial" />
-<Test name="element_array_full" />
-<Test name="copy_read_partial" />
-<Test name="pixel_unpack_partial" />
-<Test name="copy_read_full" />
-<Test name="transform_feedback_full" />
-<Test name="array_partial" />
-<Test name="uniform_full" />
-<Test name="copy_write_partial" />
-<Test name="copy_write_full" />
-<Test name="array_full" />
-</TestCase>
-<TestCase name="render_as_index_array">
-<Test name="uniform_partial" />
-<Test name="pixel_unpack_full" />
-<Test name="pixel_pack_full" />
-<Test name="pixel_pack_partial" />
-<Test name="element_array_partial" />
-<Test name="transform_feedback_partial" />
-<Test name="element_array_full" />
-<Test name="copy_read_partial" />
-<Test name="pixel_unpack_partial" />
-<Test name="copy_read_full" />
-<Test name="transform_feedback_full" />
-<Test name="array_partial" />
-<Test name="uniform_full" />
-<Test name="copy_write_partial" />
-<Test name="copy_write_full" />
-<Test name="array_full" />
-</TestCase>
-<TestCase name="map_read">
-<Test name="uniform_partial" />
-<Test name="pixel_unpack_full" />
-<Test name="pixel_pack_full" />
-<Test name="pixel_pack_partial" />
-<Test name="element_array_partial" />
-<Test name="transform_feedback_partial" />
-<Test name="element_array_full" />
-<Test name="copy_read_partial" />
-<Test name="pixel_unpack_partial" />
-<Test name="copy_read_full" />
-<Test name="transform_feedback_full" />
-<Test name="array_partial" />
-<Test name="uniform_full" />
-<Test name="copy_write_partial" />
-<Test name="copy_write_full" />
-<Test name="array_full" />
-</TestCase>
-<TestCase name="usage_hints">
-<Test name="array_stream_read" />
-<Test name="transform_feedback_static_read" />
-<Test name="uniform_dynamic_read" />
-<Test name="pixel_unpack_dynamic_read" />
-<Test name="element_array_static_read" />
-<Test name="copy_read_dynamic_read" />
-<Test name="transform_feedback_static_draw" />
-<Test name="element_array_static_draw" />
-<Test name="transform_feedback_stream_read" />
-<Test name="copy_read_dynamic_draw" />
-<Test name="copy_read_dynamic_copy" />
-<Test name="transform_feedback_dynamic_copy" />
-<Test name="element_array_dynamic_copy" />
-<Test name="pixel_unpack_static_copy" />
-<Test name="element_array_dynamic_draw" />
-<Test name="element_array_static_copy" />
-<Test name="transform_feedback_dynamic_draw" />
-<Test name="array_stream_copy" />
-<Test name="uniform_static_copy" />
-<Test name="array_static_draw" />
-<Test name="uniform_dynamic_copy" />
-<Test name="copy_read_stream_copy" />
-<Test name="uniform_dynamic_draw" />
-<Test name="copy_read_static_copy" />
-<Test name="copy_write_static_read" />
-<Test name="pixel_pack_static_copy" />
-<Test name="copy_write_stream_draw" />
-<Test name="copy_write_static_draw" />
-<Test name="copy_write_static_copy" />
-<Test name="element_array_stream_draw" />
-<Test name="transform_feedback_stream_draw" />
-<Test name="copy_write_stream_read" />
-<Test name="array_dynamic_draw" />
-<Test name="uniform_stream_copy" />
-<Test name="uniform_static_read" />
-<Test name="pixel_pack_static_draw" />
-<Test name="copy_read_stream_read" />
-<Test name="copy_read_static_draw" />
-<Test name="pixel_unpack_stream_copy" />
-<Test name="array_static_copy" />
-<Test name="pixel_unpack_stream_read" />
-<Test name="pixel_pack_static_read" />
-<Test name="copy_write_dynamic_copy" />
-<Test name="array_dynamic_copy" />
-<Test name="transform_feedback_static_copy" />
-<Test name="pixel_pack_dynamic_draw" />
-<Test name="array_dynamic_read" />
-<Test name="uniform_static_draw" />
-<Test name="copy_read_stream_draw" />
-<Test name="transform_feedback_dynamic_read" />
-<Test name="pixel_unpack_dynamic_draw" />
-<Test name="array_stream_draw" />
-<Test name="copy_write_dynamic_read" />
-<Test name="copy_write_stream_copy" />
-<Test name="element_array_dynamic_read" />
-<Test name="pixel_pack_stream_draw" />
-<Test name="element_array_stream_read" />
-<Test name="array_static_read" />
-<Test name="copy_read_static_read" />
-<Test name="transform_feedback_stream_copy" />
-<Test name="pixel_pack_stream_copy" />
-<Test name="uniform_stream_read" />
-<Test name="pixel_pack_dynamic_read" />
-<Test name="pixel_unpack_static_read" />
-<Test name="pixel_pack_dynamic_copy" />
-<Test name="pixel_unpack_stream_draw" />
-<Test name="pixel_unpack_static_draw" />
-<Test name="pixel_unpack_dynamic_copy" />
-<Test name="copy_write_dynamic_draw" />
-<Test name="uniform_stream_draw" />
-<Test name="pixel_pack_stream_read" />
-<Test name="element_array_stream_copy" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-<TestSuite name="copy">
-<TestCase name="single_buffer">
-<Test name="copy_write_uniform" />
-<Test name="copy_write_copy_read" />
-<Test name="copy_write_element_array" />
-<Test name="pixel_pack_copy_read" />
-<Test name="pixel_pack_pixel_unpack" />
-<Test name="copy_read_uniform" />
-<Test name="uniform_array" />
-<Test name="array_transform_feedback" />
-<Test name="element_array_pixel_pack" />
-<Test name="element_array_array" />
-<Test name="transform_feedback_pixel_pack" />
-<Test name="pixel_pack_element_array" />
-<Test name="copy_write_transform_feedback" />
-<Test name="transform_feedback_pixel_unpack" />
-<Test name="element_array_pixel_unpack" />
-<Test name="element_array_uniform" />
-<Test name="pixel_pack_transform_feedback" />
-<Test name="pixel_pack_copy_write" />
-<Test name="array_copy_write" />
-<Test name="transform_feedback_uniform" />
-<Test name="array_pixel_unpack" />
-<Test name="transform_feedback_copy_write" />
-<Test name="array_pixel_pack" />
-<Test name="array_element_array" />
-<Test name="copy_write_pixel_pack" />
-<Test name="copy_write_pixel_unpack" />
-<Test name="pixel_unpack_array" />
-<Test name="pixel_unpack_pixel_pack" />
-<Test name="element_array_copy_write" />
-<Test name="copy_read_array" />
-<Test name="pixel_unpack_copy_read" />
-<Test name="copy_read_pixel_unpack" />
-<Test name="pixel_pack_uniform" />
-<Test name="pixel_unpack_element_array" />
-<Test name="uniform_element_array" />
-<Test name="transform_feedback_copy_read" />
-<Test name="uniform_pixel_unpack" />
-<Test name="pixel_pack_array" />
-<Test name="element_array_copy_read" />
-<Test name="copy_read_pixel_pack" />
-<Test name="pixel_unpack_uniform" />
-<Test name="copy_read_transform_feedback" />
-<Test name="pixel_unpack_copy_write" />
-<Test name="transform_feedback_element_array" />
-<Test name="pixel_unpack_transform_feedback" />
-<Test name="uniform_copy_write" />
-<Test name="element_array_transform_feedback" />
-<Test name="copy_read_element_array" />
-<Test name="uniform_transform_feedback" />
-<Test name="array_uniform" />
-<Test name="copy_read_copy_write" />
-<Test name="copy_write_array" />
-<Test name="uniform_pixel_pack" />
-<Test name="array_copy_read" />
-<Test name="transform_feedback_array" />
-<Test name="uniform_copy_read" />
-</TestCase>
-<TestCase name="subrange">
-<Test name="large_to_small" />
-<Test name="high_to_low_1" />
-<Test name="small_to_large" />
-<Test name="low_to_high_1" />
-<Test name="middle" />
-<Test name="low_to_high_2" />
-<Test name="high_to_low_2" />
-</TestCase>
-<TestCase name="basic">
-<Test name="copy_write_uniform" />
-<Test name="copy_write_copy_read" />
-<Test name="copy_write_element_array" />
-<Test name="pixel_pack_copy_read" />
-<Test name="pixel_pack_pixel_unpack" />
-<Test name="copy_read_uniform" />
-<Test name="uniform_array" />
-<Test name="array_transform_feedback" />
-<Test name="element_array_pixel_pack" />
-<Test name="element_array_array" />
-<Test name="transform_feedback_pixel_pack" />
-<Test name="pixel_pack_element_array" />
-<Test name="copy_write_transform_feedback" />
-<Test name="transform_feedback_pixel_unpack" />
-<Test name="element_array_pixel_unpack" />
-<Test name="element_array_uniform" />
-<Test name="pixel_pack_transform_feedback" />
-<Test name="pixel_pack_copy_write" />
-<Test name="array_copy_write" />
-<Test name="transform_feedback_uniform" />
-<Test name="array_pixel_unpack" />
-<Test name="transform_feedback_copy_write" />
-<Test name="array_pixel_pack" />
-<Test name="array_element_array" />
-<Test name="copy_write_pixel_pack" />
-<Test name="copy_write_pixel_unpack" />
-<Test name="pixel_unpack_array" />
-<Test name="pixel_unpack_pixel_pack" />
-<Test name="element_array_copy_write" />
-<Test name="copy_read_array" />
-<Test name="pixel_unpack_copy_read" />
-<Test name="copy_read_pixel_unpack" />
-<Test name="pixel_pack_uniform" />
-<Test name="pixel_unpack_element_array" />
-<Test name="uniform_element_array" />
-<Test name="transform_feedback_copy_read" />
-<Test name="uniform_pixel_unpack" />
-<Test name="pixel_pack_array" />
-<Test name="element_array_copy_read" />
-<Test name="copy_read_pixel_pack" />
-<Test name="pixel_unpack_uniform" />
-<Test name="copy_read_transform_feedback" />
-<Test name="pixel_unpack_copy_write" />
-<Test name="transform_feedback_element_array" />
-<Test name="pixel_unpack_transform_feedback" />
-<Test name="uniform_copy_write" />
-<Test name="element_array_transform_feedback" />
-<Test name="copy_read_element_array" />
-<Test name="uniform_transform_feedback" />
-<Test name="array_uniform" />
-<Test name="copy_read_copy_write" />
-<Test name="copy_write_array" />
-<Test name="uniform_pixel_pack" />
-<Test name="array_copy_read" />
-<Test name="transform_feedback_array" />
-<Test name="uniform_copy_read" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-<TestCase name="color_clear">
-<Test name="scissored_rgb" />
-<Test name="masked_scissored_rgba" />
-<Test name="multiple_rgb" />
-<Test name="scissored_rgba" />
-<Test name="single_rgba" />
-<Test name="single_rgb" />
-<Test name="complex_rgb" />
-<Test name="complex_rgba" />
-<Test name="masked_rgba" />
-<Test name="long_rgba" />
-<Test name="subclears_rgba" />
-<Test name="multiple_rgba" />
-<Test name="short_scissored_rgb" />
-<Test name="long_rgb" />
-<Test name="subclears_rgb" />
-<Test name="masked_scissored_rgb" />
-<Test name="long_masked_rgb" />
-<Test name="masked_rgb" />
-<Test name="long_masked_rgba" />
-</TestCase>
-<TestSuite name="negative_api">
-<TestCase name="buffer">
-<Test name="delete_renderbuffers" />
-<Test name="flush_mapped_buffer_range" />
-<Test name="bind_buffer" />
-<Test name="framebuffer_renderbuffer" />
-<Test name="clear_bufferiv" />
-<Test name="check_framebuffer_status" />
-<Test name="delete_buffers" />
-<Test name="bind_buffer_base" />
-<Test name="buffer_sub_data_size_offset" />
-<Test name="buffer_data" />
-<Test name="clear_bufferuiv" />
-<Test name="copy_buffer_sub_data" />
-<Test name="read_pixels_format_mismatch" />
-<Test name="clear_bufferfi" />
-<Test name="unmap_buffer" />
-<Test name="gen_framebuffers" />
-<Test name="gen_buffers" />
-<Test name="clear_bufferfv" />
-<Test name="gen_renderbuffers" />
-<Test name="blit_framebuffer" />
-<Test name="bind_renderbuffer" />
-<Test name="buffer_sub_data" />
-<Test name="bind_framebuffer" />
-<Test name="map_buffer_range" />
-<Test name="delete_framebuffers" />
-</TestCase>
-<TestCase name="shader">
-<Test name="uniformfv_incompatible_type" />
-<Test name="uniformui_incompatible_type" />
-<Test name="delete_program" />
-<Test name="uniformf_invalid_program" />
-<Test name="get_attrib_location" />
-<Test name="uniformfv_invalid_location" />
-<Test name="uniformiv_incompatible_type" />
-<Test name="uniformui_invalid_program" />
-<Test name="uniformuiv_invalid_program" />
-<Test name="link_program" />
-<Test name="validate_program" />
-<Test name="delete_samplers" />
-<Test name="compile_shader" />
-<Test name="transform_feedback_varyings" />
-<Test name="sampler_parameterf" />
-<Test name="bind_attrib_location" />
-<Test name="gen_samplers" />
-<Test name="bind_sampler" />
-<Test name="sampler_parameteriv" />
-<Test name="uniformuiv_incompatible_type" />
-<Test name="begin_transform_feedback" />
-<Test name="get_sampler_parameterfv" />
-<Test name="delete_transform_feedbacks" />
-<Test name="bind_transform_feedback" />
-<Test name="uniformi_incompatible_type" />
-<Test name="create_shader" />
-<Test name="use_program" />
-<Test name="uniformfv_invalid_program" />
-<Test name="uniformuiv_invalid_location" />
-<Test name="resume_transform_feedback" />
-<Test name="uniform_matrixfv_invalid_location" />
-<Test name="uniformiv_invalid_count" />
-<Test name="uniformf_invalid_location" />
-<Test name="uniformfv_invalid_count" />
-<Test name="uniformiv_invalid_program" />
-<Test name="delete_shader" />
-<Test name="sampler_parameteri" />
-<Test name="gen_transform_feedbacks" />
-<Test name="end_transform_feedback" />
-<Test name="uniform_matrixfv_invalid_count" />
-<Test name="sampler_parameterfv" />
-<Test name="attach_shader" />
-<Test name="uniformiv_invalid_location" />
-<Test name="uniform_matrixfv_incompatible_type" />
-<Test name="get_transform_feedback_varying" />
-<Test name="uniformf_incompatible_type" />
-<Test name="pause_transform_feedback" />
-<Test name="uniformi_invalid_location" />
-<Test name="uniform_block_binding" />
-<Test name="detach_shader" />
-<Test name="uniformuiv_invalid_count" />
-<Test name="get_uniform_location" />
-<Test name="uniform_matrixfv_invalid_program" />
-<Test name="uniformi_invalid_program" />
-<Test name="get_program_binary" />
-<Test name="get_sampler_parameteriv" />
-<Test name="uniformui_invalid_location" />
-</TestCase>
-<TestCase name="texture">
-<Test name="compressedteximage2d_invalid_buffer_target" />
-<Test name="copyteximage2d_invalid_border" />
-<Test name="texsubimage2d_invalid_offset" />
-<Test name="texsubimage3d_neg_width_height" />
-<Test name="texsubimage3d_invalid_buffer_target" />
-<Test name="copytexsubimage2d_incomplete_framebuffer" />
-<Test name="texsubimage3d" />
-<Test name="texsubimage2d_neg_offset" />
-<Test name="compressedteximage3d_invalid_buffer_target" />
-<Test name="activetexture" />
-<Test name="teximage3d_invalid_buffer_target" />
-<Test name="texsubimage2d_neg_width_height" />
-<Test name="texsubimage3d_neg_level" />
-<Test name="teximage3d_invalid_border" />
-<Test name="copytexsubimage2d_neg_level" />
-<Test name="copytexsubimage3d" />
-<Test name="texstorage2d_invalid_binding" />
-<Test name="copyteximage2d_max_level" />
-<Test name="compressedteximage3d_invalid_border" />
-<Test name="copytexsubimage3d_neg_offset" />
-<Test name="copytexsubimage2d_max_level" />
-<Test name="teximage3d_max_level" />
-<Test name="compressedtexsubimage3d_neg_level" />
-<Test name="copytexsubimage3d_neg_level" />
-<Test name="compressedtexsubimage2d_neg_width_height" />
-<Test name="texsubimage3d_neg_offset" />
-<Test name="copytexsubimage3d_invalid_offset" />
-<Test name="texsubimage2d" />
-<Test name="compressedteximage3d" />
-<Test name="compressedteximage2d_max_width_height" />
-<Test name="copytexsubimage2d_invalid_target" />
-<Test name="texsubimage3d_max_level" />
-<Test name="compressedtexsubimage3d_invalid_size" />
-<Test name="compressedtexsubimage2d_neg_level" />
-<Test name="compressedteximage2d_invalid_format" />
-<Test name="teximage3d_max_width_height_depth" />
-<Test name="copyteximage2d_invalid_target" />
-<Test name="compressedtexsubimage2d_invalid_size" />
-<Test name="compressedtexsubimage2d_invalid_buffer_target" />
-<Test name="teximage2d_invalid_border" />
-<Test name="compressedtexsubimage2d_neg_offset" />
-<Test name="compressedtexsubimage3d" />
-<Test name="compressedteximage2d_invalid_border" />
-<Test name="teximage3d_neg_level" />
-<Test name="copytexsubimage2d_neg_width_height" />
-<Test name="compressedteximage3d_invalid_size" />
-<Test name="teximage2d_invalid_buffer_target" />
-<Test name="texparameterfv" />
-<Test name="copytexsubimage3d_incomplete_framebuffer" />
-<Test name="compressedteximage3d_max_width_height_depth" />
-<Test name="copytexsubimage2d_neg_offset" />
-<Test name="bindtexture" />
-<Test name="compressedteximage2d_invalid_target" />
-<Test name="teximage2d_max_width_height" />
-<Test name="compressedteximage2d_neg_level" />
-<Test name="copyteximage2d_invalid_format" />
-<Test name="teximage2d_inequal_width_height_cube" />
-<Test name="compressedteximage2d_invalid_size" />
-<Test name="texsubimage3d_invalid_offset" />
-<Test name="texparameteriv" />
-<Test name="texsubimage2d_max_level" />
-<Test name="texstorage3d_invalid_binding" />
-<Test name="texparameterf" />
-<Test name="texparameteri" />
-<Test name="teximage2d_max_level" />
-<Test name="copyteximage2d_neg_width_height" />
-<Test name="teximage2d_neg_width_height" />
-<Test name="compressedtexsubimage2d_invalid_offset" />
-<Test name="teximage2d_neg_level" />
-<Test name="compressedteximage3d_neg_width_height_depth" />
-<Test name="compressedtexsubimage2d" />
-<Test name="pixelstorei" />
-<Test name="texsubimage2d_neg_level" />
-<Test name="copyteximage2d_incomplete_framebuffer" />
-<Test name="compressedteximage3d_neg_level" />
-<Test name="copytexsubimage3d_max_level" />
-<Test name="copyteximage2d_inequal_width_height_cube" />
-<Test name="copytexsubimage3d_neg_width_height" />
-<Test name="copyteximage2d_neg_level" />
-<Test name="compressedteximage2d_max_level" />
-<Test name="gentextures" />
-<Test name="teximage2d" />
-<Test name="texsubimage2d_invalid_buffer_target" />
-<Test name="copyteximage2d_max_width_height" />
-<Test name="compressedtexsubimage3d_invalid_offset" />
-<Test name="compressedteximage2d_neg_width_height" />
-<Test name="copytexsubimage2d_invalid_offset" />
-<Test name="teximage3d_neg_width_height_depth" />
-<Test name="deletetextures" />
-<Test name="compressedtexsubimage3d_neg_width_height_depth" />
-<Test name="compressedtexsubimage3d_neg_offset" />
-</TestCase>
-<TestCase name="fragment">
-<Test name="wait_sync" />
-<Test name="stencil_func" />
-<Test name="depth_func" />
-<Test name="blend_func" />
-<Test name="blend_equation_separate" />
-<Test name="gen_queries" />
-<Test name="blend_equation" />
-<Test name="stencil_op_separate" />
-<Test name="delete_queries" />
-<Test name="blend_func_separate" />
-<Test name="stencil_func_separate" />
-<Test name="front_face" />
-<Test name="delete_sync" />
-<Test name="begin_query" />
-<Test name="stencil_op" />
-<Test name="fence_sync" />
-<Test name="client_wait_sync" />
-<Test name="viewport" />
-<Test name="line_width" />
-<Test name="cull_face" />
-<Test name="end_query" />
-<Test name="scissor" />
-<Test name="stencil_mask_separate" />
-</TestCase>
-<TestCase name="state">
-<Test name="get_active_uniform_blockiv" />
-<Test name="get_integer64v" />
-<Test name="get_stringi" />
-<Test name="get_uniformuiv" />
-<Test name="get_synciv" />
-<Test name="is_texture" />
-<Test name="get_active_uniform_block_name" />
-<Test name="get_queryiv" />
-<Test name="get_tex_parameteriv" />
-<Test name="get_integerv" />
-<Test name="get_vertex_attrib_pointerv" />
-<Test name="get_active_uniformsiv" />
-<Test name="get_uniformfv" />
-<Test name="is_query" />
-<Test name="get_integer64i_v" />
-<Test name="get_shader_precision_format" />
-<Test name="is_buffer" />
-<Test name="is_shader" />
-<Test name="get_buffer_parameteriv" />
-<Test name="is_transform_feedback" />
-<Test name="get_integeri_v" />
-<Test name="hint" />
-<Test name="get_query_objectuiv" />
-<Test name="get_booleanv" />
-<Test name="get_vertex_attribi_iv" />
-<Test name="get_shader_source" />
-<Test name="get_active_uniform" />
-<Test name="get_floatv" />
-<Test name="get_uniformiv" />
-<Test name="get_vertex_attribiv" />
-<Test name="get_string" />
-<Test name="get_buffer_parameteri64v" />
-<Test name="get_shader_info_log" />
-<Test name="is_renderbuffer" />
-<Test name="is_enabled" />
-<Test name="enable" />
-<Test name="get_shaderiv" />
-<Test name="get_vertex_attribi_uiv" />
-<Test name="is_sync" />
-<Test name="is_vertex_array" />
-<Test name="disable" />
-<Test name="get_buffer_pointerv" />
-<Test name="get_frag_data_location" />
-<Test name="get_vertex_attribfv" />
-<Test name="is_sampler" />
-<Test name="get_attached_shaders" />
-<Test name="get_tex_parameterfv" />
-<Test name="get_programiv" />
-<Test name="get_active_attrib" />
-<Test name="get_renderbuffer_parameteriv" />
-<Test name="get_program_info_log" />
-<Test name="get_uniform_indices" />
-<Test name="is_framebuffer" />
-<Test name="is_program" />
-</TestCase>
-<TestCase name="vertex_array">
-<Test name="bind_vertex_array" />
-<Test name="vertex_attribi4" />
-<Test name="draw_arrays_instanced_invalid_program" />
-<Test name="disable_vertex_attrib_array" />
-<Test name="vertex_attrib_i_pointer" />
-<Test name="draw_arrays_invalid_program" />
-<Test name="vertex_attribfv" />
-<Test name="delete_vertex_arrays" />
-<Test name="draw_arrays" />
-<Test name="enable_vertex_attrib_array" />
-<Test name="draw_arrays_instanced" />
-<Test name="draw_elements_instanced_invalid_program" />
-<Test name="vertex_attribi4v" />
-<Test name="vertex_attrib_pointer" />
-<Test name="gen_vertex_arrays" />
-<Test name="vertex_attrib_divisor" />
-<Test name="vertex_attribf" />
-<Test name="draw_elements_invalid_program" />
-<Test name="draw_range_elements_invalid_program" />
-</TestCase>
-</TestSuite>
-<TestSuite name="transform_feedback">
-<TestCase name="point_size">
-<Test name="points_separate" />
-<Test name="lines_interleaved" />
-<Test name="lines_separate" />
-<Test name="points_interleaved" />
-<Test name="triangles_separate" />
-<Test name="triangles_interleaved" />
-</TestCase>
-<TestSuite name="random">
-<TestSuite name="interleaved">
-<TestCase name="points">
-<Test name="10" />
-<Test name="3" />
-<Test name="5" />
-<Test name="6" />
-<Test name="9" />
-<Test name="8" />
-</TestCase>
-<TestCase name="lines">
-<Test name="10" />
-<Test name="2" />
-<Test name="5" />
-<Test name="6" />
-<Test name="9" />
-<Test name="8" />
-</TestCase>
-<TestCase name="triangles">
-<Test name="1" />
-<Test name="9" />
-<Test name="5" />
-<Test name="4" />
-<Test name="6" />
-</TestCase>
-</TestSuite>
-<TestSuite name="separate">
-<TestCase name="points">
-<Test name="10" />
-<Test name="1" />
-<Test name="3" />
-<Test name="5" />
-<Test name="6" />
-<Test name="9" />
-<Test name="8" />
-</TestCase>
-<TestCase name="lines">
-<Test name="10" />
-<Test name="3" />
-<Test name="5" />
-<Test name="6" />
-</TestCase>
-<TestCase name="triangles">
-<Test name="3" />
-<Test name="2" />
-<Test name="5" />
-<Test name="7" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-<TestSuite name="array_element">
-<TestSuite name="interleaved">
-<TestCase name="points">
-<Test name="mediump_ivec2" />
-<Test name="lowp_mat3x4" />
-<Test name="lowp_mat3x2" />
-<Test name="mediump_mat2x4" />
-<Test name="lowp_mat4x2" />
-<Test name="lowp_mat4x3" />
-<Test name="highp_ivec3" />
-<Test name="lowp_float" />
-<Test name="lowp_vec4" />
-<Test name="lowp_vec2" />
-<Test name="lowp_vec3" />
-<Test name="lowp_ivec4" />
-<Test name="lowp_ivec2" />
-<Test name="highp_ivec4" />
-<Test name="highp_vec3" />
-<Test name="highp_int" />
-<Test name="mediump_uint" />
-<Test name="mediump_mat3" />
-<Test name="mediump_mat4" />
-<Test name="highp_vec4" />
-<Test name="highp_float" />
-<Test name="lowp_mat4" />
-<Test name="lowp_mat2" />
-<Test name="lowp_mat3" />
-<Test name="lowp_uvec4" />
-<Test name="highp_mat3x4" />
-<Test name="highp_mat3x2" />
-<Test name="lowp_int" />
-<Test name="mediump_mat4x2" />
-<Test name="highp_uint" />
-<Test name="highp_uvec3" />
-<Test name="highp_uvec2" />
-<Test name="mediump_uvec4" />
-<Test name="highp_mat4x3" />
-<Test name="highp_mat4x2" />
-<Test name="mediump_uvec2" />
-<Test name="mediump_uvec3" />
-<Test name="highp_uvec4" />
-<Test name="mediump_float" />
-<Test name="highp_mat2x4" />
-<Test name="highp_mat2x3" />
-<Test name="mediump_mat3x2" />
-<Test name="mediump_mat3x4" />
-<Test name="mediump_vec3" />
-<Test name="mediump_vec4" />
-<Test name="mediump_mat4x3" />
-<Test name="lowp_uvec2" />
-<Test name="mediump_int" />
-<Test name="mediump_mat2x3" />
-<Test name="highp_mat3" />
-<Test name="highp_mat2" />
-<Test name="lowp_mat2x4" />
-<Test name="lowp_mat2x3" />
-<Test name="highp_mat4" />
-</TestCase>
-<TestCase name="lines">
-<Test name="mediump_ivec2" />
-<Test name="lowp_mat3x4" />
-<Test name="mediump_ivec4" />
-<Test name="lowp_mat3x2" />
-<Test name="mediump_mat2x4" />
-<Test name="lowp_mat4x2" />
-<Test name="lowp_mat4x3" />
-<Test name="highp_ivec3" />
-<Test name="highp_int" />
-<Test name="lowp_vec4" />
-<Test name="mediump_ivec3" />
-<Test name="lowp_vec2" />
-<Test name="lowp_ivec4" />
-<Test name="lowp_ivec2" />
-<Test name="lowp_ivec3" />
-<Test name="highp_ivec4" />
-<Test name="highp_vec3" />
-<Test name="mediump_mat2" />
-<Test name="mediump_mat3" />
-<Test name="mediump_mat4" />
-<Test name="highp_vec4" />
-<Test name="lowp_uvec2" />
-<Test name="lowp_uvec3" />
-<Test name="lowp_mat4" />
-<Test name="lowp_mat3" />
-<Test name="lowp_uvec4" />
-<Test name="lowp_uint" />
-<Test name="highp_mat3x4" />
-<Test name="highp_mat3x2" />
-<Test name="lowp_int" />
-<Test name="mediump_mat4x2" />
-<Test name="highp_uint" />
-<Test name="highp_uvec3" />
-<Test name="highp_uvec2" />
-<Test name="mediump_uvec4" />
-<Test name="highp_mat4x3" />
-<Test name="highp_mat4x2" />
-<Test name="mediump_uint" />
-<Test name="mediump_uvec2" />
-<Test name="mediump_uvec3" />
-<Test name="highp_uvec4" />
-<Test name="mediump_float" />
-<Test name="highp_mat2x4" />
-<Test name="highp_mat2x3" />
-<Test name="mediump_mat3x2" />
-<Test name="mediump_mat3x4" />
-<Test name="mediump_vec2" />
-<Test name="mediump_vec3" />
-<Test name="mediump_vec4" />
-<Test name="highp_ivec2" />
-<Test name="mediump_mat4x3" />
-<Test name="mediump_int" />
-<Test name="highp_mat3" />
-<Test name="highp_mat2" />
-<Test name="lowp_mat2x4" />
-<Test name="lowp_mat2x3" />
-<Test name="highp_mat4" />
-</TestCase>
-<TestCase name="triangles">
-<Test name="lowp_mat3x4" />
-<Test name="mediump_ivec4" />
-<Test name="lowp_mat3x2" />
-<Test name="lowp_mat4x2" />
-<Test name="lowp_mat4x3" />
-<Test name="lowp_float" />
-<Test name="lowp_vec4" />
-<Test name="mediump_ivec3" />
-<Test name="lowp_vec2" />
-<Test name="lowp_vec3" />
-<Test name="lowp_ivec4" />
-<Test name="lowp_ivec2" />
-<Test name="lowp_ivec3" />
-<Test name="highp_vec3" />
-<Test name="highp_vec2" />
-<Test name="mediump_mat2" />
-<Test name="mediump_mat3" />
-<Test name="mediump_mat4" />
-<Test name="highp_float" />
-<Test name="lowp_mat4" />
-<Test name="lowp_mat2" />
-<Test name="lowp_mat3" />
-<Test name="lowp_uvec4" />
-<Test name="lowp_uint" />
-<Test name="highp_mat3x4" />
-<Test name="highp_mat3x2" />
-<Test name="lowp_int" />
-<Test name="mediump_mat4x2" />
-<Test name="highp_uint" />
-<Test name="highp_uvec3" />
-<Test name="highp_uvec2" />
-<Test name="mediump_uvec4" />
-<Test name="highp_mat4x3" />
-<Test name="highp_mat4x2" />
-<Test name="mediump_uint" />
-<Test name="mediump_uvec2" />
-<Test name="mediump_uvec3" />
-<Test name="highp_uvec4" />
-<Test name="mediump_float" />
-<Test name="highp_mat2x4" />
-<Test name="highp_mat2x3" />
-<Test name="mediump_mat3x2" />
-<Test name="mediump_mat3x4" />
-<Test name="mediump_vec2" />
-<Test name="mediump_vec3" />
-<Test name="mediump_mat2x4" />
-<Test name="highp_ivec2" />
-<Test name="mediump_mat4x3" />
-<Test name="lowp_uvec2" />
-<Test name="mediump_int" />
-<Test name="mediump_mat2x3" />
-<Test name="highp_mat3" />
-<Test name="lowp_mat2x4" />
-<Test name="highp_int" />
-<Test name="lowp_mat2x3" />
-<Test name="highp_mat4" />
-</TestCase>
-</TestSuite>
-<TestSuite name="separate">
-<TestCase name="points">
-<Test name="lowp_mat3x4" />
-<Test name="highp_ivec4" />
-<Test name="lowp_mat4x2" />
-<Test name="lowp_mat4x3" />
-<Test name="highp_ivec2" />
-<Test name="lowp_mat3x2" />
-<Test name="mediump_uint" />
-<Test name="mediump_mat3" />
-<Test name="mediump_mat4" />
-<Test name="lowp_uvec2" />
-<Test name="lowp_uvec3" />
-<Test name="lowp_mat4" />
-<Test name="lowp_mat3" />
-<Test name="lowp_uvec4" />
-<Test name="lowp_uint" />
-<Test name="highp_mat3x4" />
-<Test name="highp_mat3x2" />
-<Test name="lowp_int" />
-<Test name="mediump_mat4x2" />
-<Test name="mediump_mat4x3" />
-<Test name="highp_uvec3" />
-<Test name="highp_uvec2" />
-<Test name="mediump_uvec4" />
-<Test name="highp_mat4x3" />
-<Test name="highp_mat4x2" />
-<Test name="mediump_uvec2" />
-<Test name="mediump_uvec3" />
-<Test name="highp_uvec4" />
-<Test name="highp_mat2x4" />
-<Test name="highp_mat2x3" />
-<Test name="mediump_mat3x2" />
-<Test name="mediump_mat3x4" />
-<Test name="mediump_mat2x3" />
-<Test name="mediump_mat2x4" />
-<Test name="highp_uint" />
-<Test name="mediump_int" />
-<Test name="highp_mat3" />
-<Test name="lowp_mat2x4" />
-<Test name="lowp_mat2x3" />
-<Test name="highp_mat4" />
-</TestCase>
-<TestCase name="lines">
-<Test name="lowp_mat3x4" />
-<Test name="mediump_ivec4" />
-<Test name="lowp_mat3x2" />
-<Test name="mediump_mat2x4" />
-<Test name="lowp_mat4x2" />
-<Test name="lowp_mat4x3" />
-<Test name="lowp_float" />
-<Test name="lowp_vec4" />
-<Test name="lowp_vec2" />
-<Test name="lowp_ivec4" />
-<Test name="lowp_ivec2" />
-<Test name="highp_vec3" />
-<Test name="mediump_uint" />
-<Test name="mediump_mat3" />
-<Test name="mediump_mat4" />
-<Test name="highp_vec4" />
-<Test name="lowp_uvec2" />
-<Test name="lowp_mat4" />
-<Test name="lowp_mat3" />
-<Test name="lowp_uint" />
-<Test name="highp_mat3x4" />
-<Test name="highp_mat3x2" />
-<Test name="lowp_int" />
-<Test name="mediump_mat4x2" />
-<Test name="highp_uint" />
-<Test name="highp_uvec3" />
-<Test name="highp_uvec2" />
-<Test name="mediump_uvec4" />
-<Test name="highp_mat4x3" />
-<Test name="highp_mat4x2" />
-<Test name="mediump_uvec2" />
-<Test name="mediump_uvec3" />
-<Test name="highp_uvec4" />
-<Test name="mediump_float" />
-<Test name="highp_mat2x4" />
-<Test name="highp_mat2x3" />
-<Test name="mediump_mat3x2" />
-<Test name="mediump_mat3x4" />
-<Test name="mediump_vec2" />
-<Test name="mediump_vec3" />
-<Test name="mediump_vec4" />
-<Test name="mediump_mat4x3" />
-<Test name="mediump_mat2x3" />
-<Test name="highp_mat3" />
-<Test name="lowp_mat2x4" />
-<Test name="lowp_mat2x3" />
-<Test name="highp_mat4" />
-</TestCase>
-<TestCase name="triangles">
-<Test name="mediump_ivec2" />
-<Test name="lowp_mat3x4" />
-<Test name="lowp_mat3x2" />
-<Test name="mediump_mat2x4" />
-<Test name="lowp_mat4x2" />
-<Test name="lowp_mat4x3" />
-<Test name="highp_ivec3" />
-<Test name="lowp_float" />
-<Test name="lowp_vec4" />
-<Test name="mediump_ivec3" />
-<Test name="lowp_vec2" />
-<Test name="lowp_vec3" />
-<Test name="highp_ivec4" />
-<Test name="mediump_uint" />
-<Test name="mediump_mat3" />
-<Test name="mediump_mat4" />
-<Test name="highp_vec4" />
-<Test name="highp_float" />
-<Test name="lowp_mat4" />
-<Test name="highp_int" />
-<Test name="lowp_mat3" />
-<Test name="lowp_uvec4" />
-<Test name="lowp_uint" />
-<Test name="highp_mat3x4" />
-<Test name="highp_mat3x2" />
-<Test name="lowp_int" />
-<Test name="mediump_mat4x2" />
-<Test name="highp_uint" />
-<Test name="highp_uvec3" />
-<Test name="highp_uvec2" />
-<Test name="mediump_uvec4" />
-<Test name="highp_mat4x3" />
-<Test name="highp_mat4x2" />
-<Test name="mediump_uvec2" />
-<Test name="highp_uvec4" />
-<Test name="mediump_float" />
-<Test name="highp_mat2x4" />
-<Test name="highp_mat2x3" />
-<Test name="mediump_mat3x2" />
-<Test name="mediump_mat3x4" />
-<Test name="mediump_vec2" />
-<Test name="mediump_mat2x3" />
-<Test name="mediump_vec4" />
-<Test name="mediump_mat4x3" />
-<Test name="lowp_uvec2" />
-<Test name="mediump_int" />
-<Test name="highp_mat3" />
-<Test name="lowp_mat2x4" />
-<Test name="lowp_mat2x3" />
-<Test name="highp_mat4" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-<TestCase name="position">
-<Test name="lines_interleaved" />
-<Test name="triangles_interleaved" />
-<Test name="triangles_separate" />
-<Test name="lines_separate" />
-<Test name="points_interleaved" />
-</TestCase>
-<TestSuite name="array">
-<TestSuite name="interleaved">
-<TestCase name="points">
-<Test name="lowp_mat3x4" />
-<Test name="lowp_mat3x2" />
-<Test name="lowp_mat4x2" />
-<Test name="lowp_mat4x3" />
-<Test name="mediump_mat2" />
-<Test name="mediump_mat3" />
-<Test name="mediump_mat4" />
-<Test name="lowp_mat4" />
-<Test name="lowp_mat2" />
-<Test name="lowp_mat3" />
-<Test name="highp_mat3x4" />
-<Test name="highp_mat3x2" />
-<Test name="mediump_mat4x2" />
-<Test name="mediump_mat4x3" />
-<Test name="highp_mat4x3" />
-<Test name="highp_mat4x2" />
-<Test name="highp_mat2x4" />
-<Test name="highp_mat2x3" />
-<Test name="mediump_mat3x2" />
-<Test name="mediump_mat3x4" />
-<Test name="mediump_mat2x3" />
-<Test name="mediump_mat2x4" />
-<Test name="highp_mat3" />
-<Test name="highp_mat2" />
-<Test name="lowp_mat2x4" />
-<Test name="lowp_mat2x3" />
-<Test name="highp_mat4" />
-</TestCase>
-<TestCase name="lines">
-<Test name="lowp_mat3x4" />
-<Test name="lowp_mat3x2" />
-<Test name="lowp_mat4x2" />
-<Test name="lowp_mat4x3" />
-<Test name="mediump_mat2" />
-<Test name="mediump_mat3" />
-<Test name="mediump_mat4" />
-<Test name="lowp_mat4" />
-<Test name="lowp_mat2" />
-<Test name="lowp_mat3" />
-<Test name="highp_mat3x4" />
-<Test name="highp_mat3x2" />
-<Test name="mediump_mat4x2" />
-<Test name="mediump_mat4x3" />
-<Test name="highp_mat4x3" />
-<Test name="highp_mat4x2" />
-<Test name="highp_mat2x4" />
-<Test name="highp_mat2x3" />
-<Test name="mediump_mat3x2" />
-<Test name="mediump_mat3x4" />
-<Test name="mediump_mat2x3" />
-<Test name="mediump_mat2x4" />
-<Test name="highp_mat3" />
-<Test name="highp_mat2" />
-<Test name="lowp_mat2x4" />
-<Test name="lowp_mat2x3" />
-<Test name="highp_mat4" />
-</TestCase>
-<TestCase name="triangles">
-<Test name="lowp_mat3x4" />
-<Test name="lowp_mat3x2" />
-<Test name="lowp_mat4x2" />
-<Test name="lowp_mat4x3" />
-<Test name="mediump_mat2" />
-<Test name="mediump_mat3" />
-<Test name="mediump_mat4" />
-<Test name="lowp_mat4" />
-<Test name="lowp_mat2" />
-<Test name="lowp_mat3" />
-<Test name="highp_mat3x4" />
-<Test name="highp_mat3x2" />
-<Test name="mediump_mat4x2" />
-<Test name="mediump_mat4x3" />
-<Test name="highp_mat4x3" />
-<Test name="highp_mat4x2" />
-<Test name="highp_mat2x4" />
-<Test name="highp_mat2x3" />
-<Test name="mediump_mat3x2" />
-<Test name="mediump_mat3x4" />
-<Test name="mediump_mat2x3" />
-<Test name="mediump_mat2x4" />
-<Test name="highp_mat3" />
-<Test name="highp_mat2" />
-<Test name="lowp_mat2x4" />
-<Test name="lowp_mat2x3" />
-<Test name="highp_mat4" />
-</TestCase>
-</TestSuite>
-<TestSuite name="separate">
-<TestCase name="points">
-<Test name="highp_ivec3" />
-<Test name="lowp_mat3x4" />
-<Test name="mediump_ivec4" />
-<Test name="lowp_mat3x2" />
-<Test name="mediump_mat2x4" />
-<Test name="lowp_mat4x2" />
-<Test name="lowp_mat4x3" />
-<Test name="lowp_vec4" />
-<Test name="mediump_ivec3" />
-<Test name="lowp_vec3" />
-<Test name="lowp_ivec4" />
-<Test name="lowp_ivec3" />
-<Test name="highp_ivec4" />
-<Test name="highp_vec3" />
-<Test name="mediump_mat2" />
-<Test name="mediump_mat3" />
-<Test name="mediump_mat4" />
-<Test name="highp_vec4" />
-<Test name="lowp_uvec3" />
-<Test name="lowp_mat4" />
-<Test name="lowp_mat2" />
-<Test name="lowp_mat3" />
-<Test name="lowp_uvec4" />
-<Test name="highp_mat3x4" />
-<Test name="highp_mat3x2" />
-<Test name="highp_uvec4" />
-<Test name="mediump_mat4x2" />
-<Test name="mediump_mat4x3" />
-<Test name="highp_uvec3" />
-<Test name="mediump_uvec4" />
-<Test name="highp_mat4x3" />
-<Test name="highp_mat4x2" />
-<Test name="mediump_uvec3" />
-<Test name="highp_mat2x4" />
-<Test name="highp_mat2x3" />
-<Test name="mediump_mat3x2" />
-<Test name="mediump_mat3x4" />
-<Test name="mediump_vec3" />
-<Test name="mediump_vec4" />
-<Test name="mediump_mat2x3" />
-<Test name="highp_mat3" />
-<Test name="highp_mat2" />
-<Test name="lowp_mat2x4" />
-<Test name="lowp_mat2x3" />
-<Test name="highp_mat4" />
-</TestCase>
-<TestCase name="lines">
-<Test name="highp_ivec3" />
-<Test name="lowp_mat3x4" />
-<Test name="mediump_ivec4" />
-<Test name="lowp_mat3x2" />
-<Test name="mediump_mat2x4" />
-<Test name="lowp_mat4x2" />
-<Test name="lowp_mat4x3" />
-<Test name="lowp_vec4" />
-<Test name="mediump_ivec3" />
-<Test name="lowp_vec3" />
-<Test name="lowp_ivec4" />
-<Test name="lowp_ivec3" />
-<Test name="highp_ivec4" />
-<Test name="highp_vec3" />
-<Test name="mediump_mat2" />
-<Test name="mediump_mat3" />
-<Test name="mediump_mat4" />
-<Test name="highp_vec4" />
-<Test name="lowp_uvec3" />
-<Test name="lowp_mat4" />
-<Test name="lowp_mat2" />
-<Test name="lowp_mat3" />
-<Test name="lowp_uvec4" />
-<Test name="highp_mat3x4" />
-<Test name="highp_mat3x2" />
-<Test name="highp_uvec4" />
-<Test name="mediump_mat4x2" />
-<Test name="mediump_mat4x3" />
-<Test name="highp_uvec3" />
-<Test name="mediump_uvec4" />
-<Test name="highp_mat4x3" />
-<Test name="highp_mat4x2" />
-<Test name="mediump_uvec3" />
-<Test name="highp_mat2x4" />
-<Test name="highp_mat2x3" />
-<Test name="mediump_mat3x2" />
-<Test name="mediump_mat3x4" />
-<Test name="mediump_vec3" />
-<Test name="mediump_vec4" />
-<Test name="mediump_mat2x3" />
-<Test name="highp_mat3" />
-<Test name="highp_mat2" />
-<Test name="lowp_mat2x4" />
-<Test name="lowp_mat2x3" />
-<Test name="highp_mat4" />
-</TestCase>
-<TestCase name="triangles">
-<Test name="highp_ivec3" />
-<Test name="lowp_mat3x4" />
-<Test name="mediump_ivec4" />
-<Test name="lowp_mat3x2" />
-<Test name="mediump_mat2x4" />
-<Test name="lowp_mat4x2" />
-<Test name="lowp_mat4x3" />
-<Test name="lowp_vec4" />
-<Test name="mediump_ivec3" />
-<Test name="lowp_vec3" />
-<Test name="lowp_ivec4" />
-<Test name="lowp_ivec3" />
-<Test name="highp_ivec4" />
-<Test name="highp_vec3" />
-<Test name="mediump_mat2" />
-<Test name="mediump_mat3" />
-<Test name="mediump_mat4" />
-<Test name="highp_vec4" />
-<Test name="lowp_uvec3" />
-<Test name="lowp_mat4" />
-<Test name="lowp_mat2" />
-<Test name="lowp_mat3" />
-<Test name="lowp_uvec4" />
-<Test name="highp_mat3x4" />
-<Test name="highp_mat3x2" />
-<Test name="highp_uvec4" />
-<Test name="mediump_mat4x2" />
-<Test name="mediump_mat4x3" />
-<Test name="highp_uvec3" />
-<Test name="mediump_uvec4" />
-<Test name="highp_mat4x3" />
-<Test name="highp_mat4x2" />
-<Test name="mediump_uvec3" />
-<Test name="highp_mat2x4" />
-<Test name="highp_mat2x3" />
-<Test name="mediump_mat3x2" />
-<Test name="mediump_mat3x4" />
-<Test name="mediump_vec3" />
-<Test name="mediump_vec4" />
-<Test name="mediump_mat2x3" />
-<Test name="highp_mat3" />
-<Test name="highp_mat2" />
-<Test name="lowp_mat2x4" />
-<Test name="lowp_mat2x3" />
-<Test name="highp_mat4" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-<TestSuite name="basic_types">
-<TestSuite name="interleaved">
-<TestCase name="points">
-<Test name="mediump_ivec2" />
-<Test name="mediump_ivec3" />
-<Test name="mediump_ivec4" />
-<Test name="lowp_mat3x2" />
-<Test name="mediump_mat2x4" />
-<Test name="lowp_mat4x2" />
-<Test name="lowp_mat4x3" />
-<Test name="highp_ivec3" />
-<Test name="lowp_float" />
-<Test name="lowp_vec4" />
-<Test name="highp_ivec2" />
-<Test name="lowp_vec2" />
-<Test name="lowp_vec3" />
-<Test name="lowp_ivec4" />
-<Test name="lowp_ivec2" />
-<Test name="highp_ivec4" />
-<Test name="highp_vec3" />
-<Test name="highp_vec2" />
-<Test name="mediump_mat2" />
-<Test name="mediump_mat4" />
-<Test name="highp_vec4" />
-<Test name="highp_float" />
-<Test name="lowp_uvec3" />
-<Test name="lowp_mat4" />
-<Test name="lowp_mat2" />
-<Test name="lowp_uvec4" />
-<Test name="lowp_uint" />
-<Test name="highp_mat3x4" />
-<Test name="lowp_int" />
-<Test name="highp_uvec4" />
-<Test name="mediump_mat4x2" />
-<Test name="highp_uint" />
-<Test name="highp_uvec3" />
-<Test name="highp_uvec2" />
-<Test name="mediump_uvec4" />
-<Test name="highp_mat4x2" />
-<Test name="mediump_uint" />
-<Test name="mediump_uvec2" />
-<Test name="mediump_uvec3" />
-<Test name="mediump_float" />
-<Test name="highp_mat2x4" />
-<Test name="mediump_mat3x2" />
-<Test name="mediump_mat3x4" />
-<Test name="mediump_vec2" />
-<Test name="mediump_vec3" />
-<Test name="mediump_vec4" />
-<Test name="lowp_uvec2" />
-<Test name="mediump_int" />
-<Test name="highp_int" />
-<Test name="highp_mat2" />
-<Test name="lowp_mat2x4" />
-<Test name="highp_mat4" />
-</TestCase>
-<TestCase name="lines">
-<Test name="mediump_ivec2" />
-<Test name="lowp_mat3x4" />
-<Test name="mediump_ivec4" />
-<Test name="highp_ivec4" />
-<Test name="mediump_mat2x4" />
-<Test name="lowp_mat4x2" />
-<Test name="lowp_mat4x3" />
-<Test name="highp_ivec3" />
-<Test name="lowp_float" />
-<Test name="lowp_vec4" />
-<Test name="mediump_ivec3" />
-<Test name="lowp_vec2" />
-<Test name="lowp_vec3" />
-<Test name="lowp_ivec4" />
-<Test name="lowp_ivec2" />
-<Test name="lowp_ivec3" />
-<Test name="highp_vec3" />
-<Test name="highp_vec2" />
-<Test name="mediump_mat2" />
-<Test name="mediump_mat3" />
-<Test name="mediump_mat4" />
-<Test name="highp_vec4" />
-<Test name="highp_float" />
-<Test name="lowp_uvec3" />
-<Test name="lowp_mat4" />
-<Test name="lowp_mat2" />
-<Test name="lowp_uvec4" />
-<Test name="lowp_uint" />
-<Test name="highp_mat3x4" />
-<Test name="highp_mat3x2" />
-<Test name="lowp_int" />
-<Test name="mediump_mat4x2" />
-<Test name="highp_uint" />
-<Test name="highp_uvec3" />
-<Test name="highp_uvec2" />
-<Test name="mediump_uvec4" />
-<Test name="highp_mat4x3" />
-<Test name="highp_mat4x2" />
-<Test name="mediump_uint" />
-<Test name="mediump_uvec2" />
-<Test name="mediump_uvec3" />
-<Test name="highp_uvec4" />
-<Test name="mediump_float" />
-<Test name="highp_mat2x4" />
-<Test name="highp_mat2x3" />
-<Test name="mediump_mat3x2" />
-<Test name="mediump_mat3x4" />
-<Test name="mediump_vec2" />
-<Test name="mediump_vec3" />
-<Test name="mediump_vec4" />
-<Test name="highp_ivec2" />
-<Test name="mediump_mat4x3" />
-<Test name="lowp_uvec2" />
-<Test name="mediump_int" />
-<Test name="mediump_mat2x3" />
-<Test name="highp_mat3" />
-<Test name="highp_mat2" />
-<Test name="lowp_mat2x4" />
-<Test name="highp_int" />
-<Test name="lowp_mat2x3" />
-<Test name="highp_mat4" />
-</TestCase>
-<TestCase name="triangles">
-<Test name="mediump_ivec2" />
-<Test name="lowp_mat3x4" />
-<Test name="mediump_ivec4" />
-<Test name="highp_ivec4" />
-<Test name="mediump_mat2x4" />
-<Test name="lowp_mat4x2" />
-<Test name="lowp_mat4x3" />
-<Test name="highp_ivec3" />
-<Test name="lowp_float" />
-<Test name="lowp_vec4" />
-<Test name="mediump_ivec3" />
-<Test name="lowp_vec2" />
-<Test name="lowp_vec3" />
-<Test name="lowp_ivec4" />
-<Test name="lowp_ivec2" />
-<Test name="lowp_ivec3" />
-<Test name="highp_vec3" />
-<Test name="highp_vec2" />
-<Test name="mediump_mat2" />
-<Test name="mediump_mat4" />
-<Test name="highp_vec4" />
-<Test name="highp_float" />
-<Test name="lowp_uvec3" />
-<Test name="lowp_mat4" />
-<Test name="lowp_mat2" />
-<Test name="lowp_mat3" />
-<Test name="lowp_uvec4" />
-<Test name="lowp_uint" />
-<Test name="lowp_int" />
-<Test name="highp_uvec4" />
-<Test name="mediump_mat4x2" />
-<Test name="highp_uint" />
-<Test name="highp_uvec3" />
-<Test name="highp_uvec2" />
-<Test name="mediump_uvec4" />
-<Test name="highp_mat4x2" />
-<Test name="mediump_uint" />
-<Test name="mediump_uvec2" />
-<Test name="mediump_uvec3" />
-<Test name="mediump_float" />
-<Test name="highp_mat2x4" />
-<Test name="highp_mat2x3" />
-<Test name="mediump_mat3x4" />
-<Test name="mediump_vec2" />
-<Test name="mediump_vec3" />
-<Test name="mediump_vec4" />
-<Test name="highp_ivec2" />
-<Test name="lowp_uvec2" />
-<Test name="mediump_int" />
-<Test name="highp_mat3" />
-<Test name="highp_mat2" />
-<Test name="lowp_mat2x4" />
-<Test name="highp_int" />
-<Test name="highp_mat4" />
-</TestCase>
-</TestSuite>
-<TestSuite name="separate">
-<TestCase name="points">
-<Test name="mediump_ivec2" />
-<Test name="lowp_mat3x4" />
-<Test name="mediump_ivec4" />
-<Test name="lowp_mat3x2" />
-<Test name="mediump_mat2x4" />
-<Test name="lowp_mat4x2" />
-<Test name="lowp_mat4x3" />
-<Test name="highp_ivec3" />
-<Test name="lowp_float" />
-<Test name="mediump_ivec3" />
-<Test name="lowp_vec2" />
-<Test name="lowp_vec3" />
-<Test name="lowp_ivec4" />
-<Test name="lowp_ivec2" />
-<Test name="lowp_ivec3" />
-<Test name="highp_ivec4" />
-<Test name="highp_vec3" />
-<Test name="highp_vec2" />
-<Test name="mediump_uint" />
-<Test name="mediump_mat3" />
-<Test name="mediump_mat4" />
-<Test name="highp_vec4" />
-<Test name="highp_float" />
-<Test name="lowp_uvec3" />
-<Test name="lowp_mat4" />
-<Test name="highp_int" />
-<Test name="lowp_mat3" />
-<Test name="lowp_uvec4" />
-<Test name="lowp_uint" />
-<Test name="highp_mat3x4" />
-<Test name="highp_mat3x2" />
-<Test name="lowp_int" />
-<Test name="mediump_mat4x2" />
-<Test name="highp_uint" />
-<Test name="highp_uvec3" />
-<Test name="highp_uvec2" />
-<Test name="mediump_uvec4" />
-<Test name="highp_mat4x3" />
-<Test name="highp_mat4x2" />
-<Test name="mediump_uvec2" />
-<Test name="mediump_uvec3" />
-<Test name="highp_uvec4" />
-<Test name="mediump_float" />
-<Test name="highp_mat2x4" />
-<Test name="highp_mat2x3" />
-<Test name="mediump_mat3x2" />
-<Test name="mediump_mat3x4" />
-<Test name="mediump_vec2" />
-<Test name="mediump_vec3" />
-<Test name="mediump_vec4" />
-<Test name="highp_ivec2" />
-<Test name="mediump_mat4x3" />
-<Test name="lowp_uvec2" />
-<Test name="mediump_int" />
-<Test name="mediump_mat2x3" />
-<Test name="highp_mat3" />
-<Test name="lowp_mat2x4" />
-<Test name="lowp_mat2x3" />
-<Test name="highp_mat4" />
-</TestCase>
-<TestCase name="lines">
-<Test name="mediump_ivec2" />
-<Test name="lowp_mat3x4" />
-<Test name="mediump_ivec4" />
-<Test name="lowp_mat3x2" />
-<Test name="mediump_mat2x4" />
-<Test name="lowp_mat4x2" />
-<Test name="lowp_mat4x3" />
-<Test name="lowp_float" />
-<Test name="lowp_vec4" />
-<Test name="highp_ivec2" />
-<Test name="lowp_vec2" />
-<Test name="lowp_vec3" />
-<Test name="lowp_ivec4" />
-<Test name="lowp_ivec2" />
-<Test name="lowp_ivec3" />
-<Test name="highp_ivec4" />
-<Test name="highp_vec3" />
-<Test name="highp_vec2" />
-<Test name="mediump_uint" />
-<Test name="mediump_mat3" />
-<Test name="mediump_mat4" />
-<Test name="highp_vec4" />
-<Test name="highp_float" />
-<Test name="lowp_uvec3" />
-<Test name="lowp_mat4" />
-<Test name="highp_int" />
-<Test name="lowp_mat3" />
-<Test name="lowp_uvec4" />
-<Test name="lowp_uint" />
-<Test name="highp_mat3x4" />
-<Test name="highp_mat3x2" />
-<Test name="lowp_int" />
-<Test name="mediump_mat4x2" />
-<Test name="highp_uint" />
-<Test name="highp_uvec3" />
-<Test name="highp_uvec2" />
-<Test name="mediump_uvec4" />
-<Test name="highp_mat4x3" />
-<Test name="highp_mat4x2" />
-<Test name="mediump_uvec2" />
-<Test name="mediump_uvec3" />
-<Test name="highp_uvec4" />
-<Test name="mediump_float" />
-<Test name="highp_mat2x4" />
-<Test name="highp_mat2x3" />
-<Test name="mediump_mat3x2" />
-<Test name="mediump_mat3x4" />
-<Test name="mediump_vec2" />
-<Test name="mediump_vec3" />
-<Test name="mediump_vec4" />
-<Test name="mediump_mat4x3" />
-<Test name="lowp_uvec2" />
-<Test name="mediump_int" />
-<Test name="mediump_mat2x3" />
-<Test name="highp_mat3" />
-<Test name="lowp_mat2x4" />
-<Test name="lowp_mat2x3" />
-<Test name="highp_mat4" />
-</TestCase>
-<TestCase name="triangles">
-<Test name="mediump_ivec2" />
-<Test name="lowp_mat3x4" />
-<Test name="mediump_ivec4" />
-<Test name="lowp_mat3x2" />
-<Test name="mediump_mat2x4" />
-<Test name="lowp_mat4x2" />
-<Test name="lowp_mat4x3" />
-<Test name="highp_ivec3" />
-<Test name="lowp_float" />
-<Test name="lowp_vec4" />
-<Test name="mediump_ivec3" />
-<Test name="lowp_vec2" />
-<Test name="lowp_ivec4" />
-<Test name="lowp_ivec2" />
-<Test name="lowp_ivec3" />
-<Test name="highp_ivec4" />
-<Test name="highp_vec2" />
-<Test name="mediump_uint" />
-<Test name="mediump_mat3" />
-<Test name="mediump_mat4" />
-<Test name="highp_vec4" />
-<Test name="highp_float" />
-<Test name="lowp_uvec3" />
-<Test name="lowp_mat4" />
-<Test name="highp_int" />
-<Test name="lowp_mat3" />
-<Test name="lowp_uvec4" />
-<Test name="lowp_uint" />
-<Test name="highp_mat3x4" />
-<Test name="highp_mat3x2" />
-<Test name="lowp_int" />
-<Test name="mediump_mat4x2" />
-<Test name="highp_uint" />
-<Test name="highp_uvec3" />
-<Test name="highp_uvec2" />
-<Test name="mediump_uvec4" />
-<Test name="highp_mat4x3" />
-<Test name="highp_mat4x2" />
-<Test name="mediump_uvec2" />
-<Test name="mediump_uvec3" />
-<Test name="highp_uvec4" />
-<Test name="mediump_float" />
-<Test name="highp_mat2x4" />
-<Test name="highp_mat2x3" />
-<Test name="mediump_mat3x2" />
-<Test name="mediump_mat3x4" />
-<Test name="mediump_vec2" />
-<Test name="mediump_mat2x3" />
-<Test name="mediump_vec4" />
-<Test name="highp_ivec2" />
-<Test name="mediump_mat4x3" />
-<Test name="lowp_uvec2" />
-<Test name="mediump_int" />
-<Test name="highp_mat3" />
-<Test name="lowp_mat2x4" />
-<Test name="lowp_mat2x3" />
-<Test name="highp_mat4" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-<TestSuite name="interpolation">
-<TestCase name="flat">
-<Test name="lowp_vec4_lines_interleaved" />
-<Test name="highp_vec4_points_interleaved" />
-<Test name="mediump_vec4_triangles_interleaved" />
-<Test name="mediump_vec4_points_interleaved" />
-<Test name="highp_vec4_triangles_interleaved" />
-<Test name="lowp_vec4_points_interleaved" />
-<Test name="highp_vec4_triangles_separate" />
-<Test name="mediump_vec4_triangles_separate" />
-<Test name="highp_vec4_lines_interleaved" />
-<Test name="lowp_vec4_triangles_interleaved" />
-<Test name="lowp_vec4_points_separate" />
-<Test name="mediump_vec4_lines_interleaved" />
-<Test name="lowp_vec4_lines_separate" />
-<Test name="lowp_vec4_triangles_separate" />
-</TestCase>
-<TestCase name="centroid">
-<Test name="lowp_vec4_lines_interleaved" />
-<Test name="highp_vec4_points_interleaved" />
-<Test name="highp_vec4_triangles_interleaved" />
-<Test name="lowp_vec4_points_interleaved" />
-<Test name="highp_vec4_points_separate" />
-<Test name="lowp_vec4_lines_separate" />
-<Test name="highp_vec4_lines_interleaved" />
-<Test name="lowp_vec4_triangles_interleaved" />
-<Test name="lowp_vec4_points_separate" />
-<Test name="highp_vec4_lines_separate" />
-<Test name="mediump_vec4_lines_interleaved" />
-<Test name="mediump_vec4_lines_separate" />
-</TestCase>
-<TestCase name="smooth">
-<Test name="lowp_vec4_lines_interleaved" />
-<Test name="highp_vec4_points_interleaved" />
-<Test name="mediump_vec4_triangles_interleaved" />
-<Test name="mediump_vec4_points_interleaved" />
-<Test name="highp_vec4_triangles_interleaved" />
-<Test name="lowp_vec4_points_interleaved" />
-<Test name="highp_vec4_triangles_separate" />
-<Test name="lowp_vec4_lines_separate" />
-<Test name="mediump_vec4_triangles_separate" />
-<Test name="highp_vec4_lines_interleaved" />
-<Test name="lowp_vec4_triangles_interleaved" />
-<Test name="lowp_vec4_points_separate" />
-<Test name="highp_vec4_lines_separate" />
-<Test name="mediump_vec4_lines_interleaved" />
-<Test name="mediump_vec4_lines_separate" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-<TestSuite name="fragment_out">
-<TestSuite name="array">
-<TestCase name="int">
-<Test name="rg16i_highp_ivec4" />
-<Test name="rg16i_highp_ivec3" />
-<Test name="rg16i_highp_ivec2" />
-<Test name="rg32i_lowp_ivec2" />
-<Test name="rg32i_lowp_ivec3" />
-<Test name="rgba16i_lowp_int" />
-<Test name="rg32i_lowp_ivec4" />
-<Test name="rgba16i_mediump_ivec4" />
-<Test name="rgba16i_lowp_ivec3" />
-<Test name="rgba16i_lowp_ivec2" />
-<Test name="rgba16i_lowp_ivec4" />
-<Test name="rgba16i_mediump_ivec3" />
-<Test name="rgba16i_mediump_ivec2" />
-<Test name="rg16i_highp_int" />
-<Test name="r32i_mediump_ivec4" />
-<Test name="rg8i_lowp_int" />
-<Test name="r32i_mediump_ivec2" />
-<Test name="r32i_mediump_ivec3" />
-<Test name="rgba8i_highp_int" />
-<Test name="r16i_mediump_ivec2" />
-<Test name="r16i_mediump_ivec3" />
-<Test name="r16i_mediump_ivec4" />
-<Test name="r16i_lowp_ivec4" />
-<Test name="rgba16i_mediump_int" />
-<Test name="r16i_lowp_ivec2" />
-<Test name="r16i_lowp_ivec3" />
-<Test name="r16i_highp_ivec4" />
-<Test name="r16i_highp_ivec3" />
-<Test name="r16i_highp_ivec2" />
-<Test name="r8i_mediump_int" />
-<Test name="rg32i_mediump_int" />
-<Test name="rg8i_mediump_int" />
-<Test name="r32i_highp_ivec3" />
-<Test name="r32i_highp_ivec2" />
-<Test name="r32i_highp_ivec4" />
-<Test name="rgba8i_mediump_int" />
-<Test name="rg16i_lowp_int" />
-<Test name="r8i_mediump_ivec2" />
-<Test name="r8i_mediump_ivec3" />
-<Test name="rg32i_highp_ivec3" />
-<Test name="rg32i_highp_ivec2" />
-<Test name="rg32i_highp_ivec4" />
-<Test name="r8i_mediump_ivec4" />
-<Test name="rg8i_highp_int" />
-<Test name="r32i_highp_int" />
-<Test name="rg8i_mediump_ivec2" />
-<Test name="rg8i_mediump_ivec3" />
-<Test name="rg8i_mediump_ivec4" />
-<Test name="rgba8i_mediump_ivec4" />
-<Test name="rgba8i_mediump_ivec3" />
-<Test name="rgba8i_mediump_ivec2" />
-<Test name="rg32i_lowp_int" />
-<Test name="r16i_lowp_int" />
-<Test name="rgba8i_lowp_ivec4" />
-<Test name="rgba8i_lowp_ivec3" />
-<Test name="rgba8i_lowp_ivec2" />
-<Test name="rg16i_lowp_ivec2" />
-<Test name="rg16i_lowp_ivec3" />
-<Test name="rg16i_lowp_ivec4" />
-<Test name="r32i_lowp_int" />
-<Test name="r16i_mediump_int" />
-<Test name="rgba16i_highp_ivec4" />
-<Test name="rgba16i_highp_ivec2" />
-<Test name="rgba16i_highp_ivec3" />
-<Test name="rgba8i_lowp_int" />
-<Test name="rg16i_mediump_int" />
-<Test name="r32i_mediump_int" />
-<Test name="rg32i_highp_int" />
-<Test name="rg16i_mediump_ivec2" />
-<Test name="rg16i_mediump_ivec3" />
-<Test name="rg16i_mediump_ivec4" />
-<Test name="rg8i_highp_ivec4" />
-<Test name="rg8i_highp_ivec3" />
-<Test name="rg8i_highp_ivec2" />
-<Test name="r8i_lowp_int" />
-<Test name="r8i_highp_ivec3" />
-<Test name="r8i_highp_ivec2" />
-<Test name="r8i_highp_ivec4" />
-<Test name="rg8i_lowp_ivec4" />
-<Test name="rg8i_lowp_ivec2" />
-<Test name="rg8i_lowp_ivec3" />
-<Test name="r16i_highp_int" />
-<Test name="r8i_highp_int" />
-<Test name="r32i_lowp_ivec2" />
-<Test name="r32i_lowp_ivec3" />
-<Test name="r32i_lowp_ivec4" />
-<Test name="rgba8i_highp_ivec4" />
-<Test name="rgba8i_highp_ivec2" />
-<Test name="rgba8i_highp_ivec3" />
-<Test name="r8i_lowp_ivec2" />
-<Test name="r8i_lowp_ivec3" />
-<Test name="r8i_lowp_ivec4" />
-<Test name="rg32i_mediump_ivec4" />
-<Test name="rg32i_mediump_ivec2" />
-<Test name="rg32i_mediump_ivec3" />
-<Test name="rgba16i_highp_int" />
-</TestCase>
-<TestCase name="float">
-<Test name="rgba32f_mediump_vec4" />
-<Test name="rgba16f_highp_vec3" />
-<Test name="rgba16f_highp_vec2" />
-<Test name="rgba16f_highp_vec4" />
-<Test name="rgba32f_mediump_vec2" />
-<Test name="rgba32f_mediump_vec3" />
-<Test name="r16f_mediump_vec3" />
-<Test name="rg16f_lowp_vec4" />
-<Test name="rg16f_lowp_float" />
-<Test name="rg32f_lowp_vec4" />
-<Test name="r11f_g11f_b10f_lowp_vec4" />
-<Test name="rg16f_lowp_vec2" />
-<Test name="rgba16f_mediump_float" />
-<Test name="rg32f_mediump_float" />
-<Test name="r11f_g11f_b10f_lowp_vec2" />
-<Test name="r11f_g11f_b10f_lowp_vec3" />
-<Test name="r32f_lowp_vec4" />
-<Test name="r11f_g11f_b10f_mediump_vec4" />
-<Test name="r11f_g11f_b10f_mediump_float" />
-<Test name="r11f_g11f_b10f_mediump_vec2" />
-<Test name="r11f_g11f_b10f_mediump_vec3" />
-<Test name="r32f_lowp_vec3" />
-<Test name="r32f_lowp_vec2" />
-<Test name="rg32f_highp_vec2" />
-<Test name="rg32f_highp_vec3" />
-<Test name="rg16f_mediump_vec4" />
-<Test name="rg16f_mediump_float" />
-<Test name="rg16f_mediump_vec2" />
-<Test name="rg32f_highp_vec4" />
-<Test name="rgba16f_mediump_vec4" />
-<Test name="rgba16f_mediump_vec2" />
-<Test name="rgba16f_mediump_vec3" />
-<Test name="r32f_lowp_float" />
-<Test name="rgba16f_lowp_float" />
-<Test name="rgba16f_highp_float" />
-<Test name="rgba32f_highp_vec4" />
-<Test name="rgba32f_highp_float" />
-<Test name="rgba32f_highp_vec2" />
-<Test name="rgba32f_highp_vec3" />
-<Test name="rgba16f_lowp_vec2" />
-<Test name="rgba16f_lowp_vec3" />
-<Test name="rgba16f_lowp_vec4" />
-<Test name="rgba32f_mediump_float" />
-<Test name="rg32f_lowp_vec2" />
-<Test name="rg32f_highp_float" />
-<Test name="rgba32f_lowp_vec2" />
-<Test name="rgba32f_lowp_vec3" />
-<Test name="r32f_mediump_vec3" />
-<Test name="r32f_mediump_vec2" />
-<Test name="r32f_mediump_vec4" />
-<Test name="rgba32f_lowp_vec4" />
-<Test name="r11f_g11f_b10f_highp_vec3" />
-<Test name="r11f_g11f_b10f_highp_vec2" />
-<Test name="r11f_g11f_b10f_highp_vec4" />
-<Test name="rg16f_highp_vec2" />
-<Test name="r16f_mediump_float" />
-<Test name="r11f_g11f_b10f_lowp_float" />
-<Test name="r16f_highp_vec4" />
-<Test name="rg16f_mediump_vec3" />
-<Test name="rg32f_lowp_float" />
-<Test name="rg32f_lowp_vec3" />
-<Test name="r16f_highp_vec2" />
-<Test name="r16f_highp_vec3" />
-<Test name="rg16f_lowp_vec3" />
-<Test name="r16f_lowp_vec4" />
-<Test name="r16f_lowp_vec3" />
-<Test name="r16f_lowp_vec2" />
-<Test name="rg16f_highp_vec3" />
-<Test name="r32f_highp_vec2" />
-<Test name="r32f_highp_vec3" />
-<Test name="rg32f_mediump_vec3" />
-<Test name="rg32f_mediump_vec2" />
-<Test name="r16f_lowp_float" />
-<Test name="rg32f_mediump_vec4" />
-<Test name="r32f_highp_vec4" />
-<Test name="r16f_mediump_vec4" />
-<Test name="r16f_highp_float" />
-<Test name="r11f_g11f_b10f_highp_float" />
-<Test name="rgba32f_lowp_float" />
-<Test name="r32f_highp_float" />
-<Test name="rg16f_highp_float" />
-<Test name="r32f_mediump_float" />
-<Test name="r16f_mediump_vec2" />
-<Test name="rg16f_highp_vec4" />
-</TestCase>
-<TestCase name="uint">
-<Test name="rgba16ui_mediump_uint" />
-<Test name="rgba8ui_mediump_uvec3" />
-<Test name="r16ui_lowp_uint" />
-<Test name="rg16ui_lowp_uvec2" />
-<Test name="rg16ui_lowp_uvec3" />
-<Test name="rg16ui_lowp_uvec4" />
-<Test name="r32ui_highp_uvec4" />
-<Test name="rg8ui_highp_uvec4" />
-<Test name="rg8ui_highp_uvec3" />
-<Test name="rg8ui_highp_uvec2" />
-<Test name="r32ui_highp_uvec3" />
-<Test name="r32ui_highp_uvec2" />
-<Test name="rg16ui_highp_uvec4" />
-<Test name="rg16ui_highp_uvec3" />
-<Test name="rg16ui_highp_uvec2" />
-<Test name="rgba8ui_lowp_uint" />
-<Test name="r32ui_mediump_uvec2" />
-<Test name="r32ui_mediump_uvec3" />
-<Test name="r32ui_mediump_uvec4" />
-<Test name="rg8ui_mediump_uvec2" />
-<Test name="rgba8ui_mediump_uvec4" />
-<Test name="rg8ui_mediump_uvec4" />
-<Test name="rgba8ui_mediump_uvec2" />
-<Test name="rg32ui_highp_uvec3" />
-<Test name="rg32ui_highp_uvec2" />
-<Test name="rg32ui_highp_uvec4" />
-<Test name="rgba16ui_lowp_uvec3" />
-<Test name="rgba16ui_lowp_uvec2" />
-<Test name="rgba16ui_lowp_uvec4" />
-<Test name="r8ui_highp_uvec3" />
-<Test name="rg32ui_lowp_uint" />
-<Test name="r8ui_lowp_uvec4" />
-<Test name="r8ui_lowp_uvec2" />
-<Test name="r8ui_lowp_uvec3" />
-<Test name="r32ui_lowp_uint" />
-<Test name="r8ui_lowp_uint" />
-<Test name="rgb10_a2ui_lowp_uint" />
-<Test name="rgb10_a2ui_mediump_uvec2" />
-<Test name="rgb10_a2ui_mediump_uvec3" />
-<Test name="r16ui_lowp_uvec2" />
-<Test name="r16ui_lowp_uvec3" />
-<Test name="r16ui_lowp_uvec4" />
-<Test name="rgb10_a2ui_mediump_uvec4" />
-<Test name="r32ui_highp_uint" />
-<Test name="rgb10_a2ui_lowp_uvec4" />
-<Test name="rgba8ui_lowp_uvec3" />
-<Test name="rgba8ui_lowp_uvec2" />
-<Test name="rgba8ui_lowp_uvec4" />
-<Test name="rgba8ui_highp_uint" />
-<Test name="rgb10_a2ui_lowp_uvec3" />
-<Test name="rgb10_a2ui_lowp_uvec2" />
-<Test name="rg32ui_mediump_uint" />
-<Test name="rgba16ui_highp_uvec2" />
-<Test name="rgba16ui_highp_uvec3" />
-<Test name="rgba16ui_highp_uvec4" />
-<Test name="rg16ui_mediump_uvec4" />
-<Test name="rg16ui_mediump_uvec2" />
-<Test name="rg16ui_mediump_uvec3" />
-<Test name="rgb10_a2ui_highp_uint" />
-<Test name="r32ui_mediump_uint" />
-<Test name="rgba8ui_mediump_uint" />
-<Test name="rg16ui_mediump_uint" />
-<Test name="rg8ui_mediump_uint" />
-<Test name="r8ui_mediump_uvec2" />
-<Test name="r8ui_mediump_uvec3" />
-<Test name="r8ui_highp_uint" />
-<Test name="r8ui_mediump_uvec4" />
-<Test name="r16ui_highp_uvec4" />
-<Test name="r16ui_highp_uvec3" />
-<Test name="r16ui_highp_uvec2" />
-<Test name="rgba16ui_mediump_uvec4" />
-<Test name="rgba16ui_mediump_uvec3" />
-<Test name="rgba16ui_mediump_uvec2" />
-<Test name="r16ui_highp_uint" />
-<Test name="r8ui_mediump_uint" />
-<Test name="rg8ui_lowp_uvec2" />
-<Test name="rg8ui_lowp_uvec3" />
-<Test name="rg8ui_lowp_uvec4" />
-<Test name="rgb10_a2ui_mediump_uint" />
-<Test name="rg16ui_lowp_uint" />
-<Test name="r16ui_mediump_uvec2" />
-<Test name="r16ui_mediump_uvec3" />
-<Test name="r8ui_highp_uvec4" />
-<Test name="rgba16ui_highp_uint" />
-<Test name="r8ui_highp_uvec2" />
-<Test name="r16ui_mediump_uvec4" />
-<Test name="r32ui_lowp_uvec4" />
-<Test name="r32ui_lowp_uvec2" />
-<Test name="r32ui_lowp_uvec3" />
-<Test name="rg32ui_mediump_uvec2" />
-<Test name="rg32ui_mediump_uvec3" />
-<Test name="rg32ui_mediump_uvec4" />
-<Test name="rg16ui_highp_uint" />
-<Test name="rg8ui_highp_uint" />
-<Test name="rgba8ui_highp_uvec4" />
-<Test name="rgba8ui_highp_uvec2" />
-<Test name="rgba8ui_highp_uvec3" />
-<Test name="rgba16ui_lowp_uint" />
-<Test name="r16ui_mediump_uint" />
-<Test name="rg8ui_lowp_uint" />
-<Test name="rg32ui_highp_uint" />
-<Test name="rg8ui_mediump_uvec3" />
-<Test name="rg32ui_lowp_uvec4" />
-<Test name="rg32ui_lowp_uvec2" />
-<Test name="rg32ui_lowp_uvec3" />
-<Test name="rgb10_a2ui_highp_uvec3" />
-<Test name="rgb10_a2ui_highp_uvec2" />
-<Test name="rgb10_a2ui_highp_uvec4" />
-</TestCase>
-<TestCase name="fixed">
-<Test name="rgb5_a1_lowp_vec4" />
-<Test name="rgb8_highp_vec2" />
-<Test name="rgb8_highp_vec3" />
-<Test name="rgb8_highp_vec4" />
-<Test name="rgba4_mediump_float" />
-<Test name="rgba4_lowp_vec4" />
-<Test name="rgba4_lowp_vec3" />
-<Test name="rgba4_lowp_vec2" />
-<Test name="rg8_lowp_vec2" />
-<Test name="rg8_lowp_vec3" />
-<Test name="rg8_lowp_vec4" />
-<Test name="rgb5_a1_mediump_vec4" />
-<Test name="rgb5_a1_mediump_float" />
-<Test name="rgba8_lowp_vec3" />
-<Test name="rgba8_lowp_vec2" />
-<Test name="rgb10_a2_mediump_float" />
-<Test name="rgba8_lowp_vec4" />
-<Test name="rgb10_a2_lowp_vec4" />
-<Test name="rgb5_a1_lowp_vec2" />
-<Test name="rgb10_a2_lowp_vec2" />
-<Test name="rgb10_a2_lowp_vec3" />
-<Test name="srgb8_alpha8_mediump_float" />
-<Test name="srgb8_alpha8_lowp_vec3" />
-<Test name="srgb8_alpha8_lowp_vec2" />
-<Test name="srgb8_alpha8_lowp_vec4" />
-<Test name="rgba4_lowp_float" />
-<Test name="rgba8_mediump_float" />
-<Test name="rgb565_highp_float" />
-<Test name="rgb10_a2_lowp_float" />
-<Test name="rgb10_a2_mediump_vec4" />
-<Test name="rg8_mediump_float" />
-<Test name="rgb10_a2_mediump_vec2" />
-<Test name="rgb10_a2_mediump_vec3" />
-<Test name="rgba8_highp_float" />
-<Test name="rg8_mediump_vec4" />
-<Test name="rg8_mediump_vec2" />
-<Test name="rg8_mediump_vec3" />
-<Test name="rg8_highp_float" />
-<Test name="rg8_highp_vec3" />
-<Test name="rg8_highp_vec2" />
-<Test name="rg8_highp_vec4" />
-<Test name="r8_mediump_float" />
-<Test name="rgb8_lowp_vec3" />
-<Test name="rgb8_lowp_vec2" />
-<Test name="r8_highp_vec3" />
-<Test name="r8_highp_vec2" />
-<Test name="rgb565_mediump_vec3" />
-<Test name="rgb565_mediump_vec2" />
-<Test name="rgb565_mediump_vec4" />
-<Test name="rgb10_a2_highp_float" />
-<Test name="rgba4_mediump_vec3" />
-<Test name="rgba4_mediump_vec2" />
-<Test name="rgba4_mediump_vec4" />
-<Test name="r8_lowp_vec2" />
-<Test name="r8_lowp_vec3" />
-<Test name="r8_lowp_vec4" />
-<Test name="rgb8_lowp_float" />
-<Test name="rgb8_highp_float" />
-<Test name="rgb8_mediump_float" />
-<Test name="r8_mediump_vec2" />
-<Test name="r8_mediump_vec3" />
-<Test name="rgb5_a1_lowp_float" />
-<Test name="r8_mediump_vec4" />
-<Test name="rgb5_a1_lowp_vec3" />
-<Test name="rgb10_a2_highp_vec3" />
-<Test name="rgb10_a2_highp_vec2" />
-<Test name="rgb10_a2_highp_vec4" />
-<Test name="srgb8_alpha8_lowp_float" />
-<Test name="rgb565_mediump_float" />
-<Test name="rgba8_mediump_vec4" />
-<Test name="rgba8_mediump_vec3" />
-<Test name="rgba8_mediump_vec2" />
-<Test name="rg8_lowp_float" />
-<Test name="r8_highp_vec4" />
-<Test name="rgb565_lowp_vec3" />
-<Test name="rgb565_lowp_vec2" />
-<Test name="rgb8_mediump_vec2" />
-<Test name="rgb565_lowp_vec4" />
-<Test name="srgb8_alpha8_mediump_vec4" />
-<Test name="srgb8_alpha8_mediump_vec3" />
-<Test name="srgb8_alpha8_mediump_vec2" />
-<Test name="rgb8_lowp_vec4" />
-<Test name="rgba8_lowp_float" />
-<Test name="rgb565_highp_vec4" />
-<Test name="rgb565_highp_vec2" />
-<Test name="rgb565_highp_vec3" />
-<Test name="srgb8_alpha8_highp_vec2" />
-<Test name="srgb8_alpha8_highp_vec3" />
-<Test name="srgb8_alpha8_highp_vec4" />
-<Test name="rgb5_a1_mediump_vec2" />
-<Test name="rgb5_a1_mediump_vec3" />
-<Test name="r8_highp_float" />
-<Test name="rgb5_a1_highp_vec4" />
-<Test name="rgb5_a1_highp_vec3" />
-<Test name="rgb5_a1_highp_vec2" />
-<Test name="rgba4_highp_vec4" />
-<Test name="rgba4_highp_vec2" />
-<Test name="rgba4_highp_vec3" />
-<Test name="r8_lowp_float" />
-<Test name="rgba8_highp_vec2" />
-<Test name="rgba8_highp_vec3" />
-<Test name="rgba8_highp_vec4" />
-<Test name="rgb5_a1_highp_float" />
-<Test name="rgb565_lowp_float" />
-<Test name="rgb8_mediump_vec4" />
-<Test name="rgb8_mediump_vec3" />
-<Test name="srgb8_alpha8_highp_float" />
-<Test name="rgba4_highp_float" />
-</TestCase>
-</TestSuite>
-<TestCase name="random">
-<Test name="24" />
-<Test name="25" />
-<Test name="26" />
-<Test name="27" />
-<Test name="20" />
-<Test name="21" />
-<Test name="22" />
-<Test name="23" />
-<Test name="28" />
-<Test name="4" />
-<Test name="8" />
-<Test name="59" />
-<Test name="58" />
-<Test name="54" />
-<Test name="57" />
-<Test name="56" />
-<Test name="51" />
-<Test name="53" />
-<Test name="52" />
-<Test name="88" />
-<Test name="89" />
-<Test name="82" />
-<Test name="83" />
-<Test name="80" />
-<Test name="81" />
-<Test name="86" />
-<Test name="87" />
-<Test name="84" />
-<Test name="85" />
-<Test name="3" />
-<Test name="7" />
-<Test name="39" />
-<Test name="38" />
-<Test name="33" />
-<Test name="32" />
-<Test name="31" />
-<Test name="30" />
-<Test name="37" />
-<Test name="36" />
-<Test name="35" />
-<Test name="34" />
-<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="2" />
-<Test name="6" />
-<Test name="99" />
-<Test name="98" />
-<Test name="91" />
-<Test name="93" />
-<Test name="92" />
-<Test name="95" />
-<Test name="94" />
-<Test name="97" />
-<Test name="96" />
-<Test name="11" />
-<Test name="10" />
-<Test name="13" />
-<Test name="12" />
-<Test name="15" />
-<Test name="14" />
-<Test name="17" />
-<Test name="16" />
-<Test name="19" />
-<Test name="18" />
-<Test name="48" />
-<Test name="49" />
-<Test name="46" />
-<Test name="47" />
-<Test name="44" />
-<Test name="45" />
-<Test name="42" />
-<Test name="43" />
-<Test name="40" />
-<Test name="41" />
-<Test name="1" />
-<Test name="5" />
-<Test name="9" />
-<Test name="77" />
-<Test name="76" />
-<Test name="74" />
-<Test name="73" />
-<Test name="72" />
-<Test name="71" />
-<Test name="70" />
-<Test name="78" />
-</TestCase>
-<TestSuite name="basic">
-<TestCase name="int">
-<Test name="rg16i_highp_ivec4" />
-<Test name="rg16i_highp_ivec3" />
-<Test name="rg16i_highp_ivec2" />
-<Test name="rg32i_lowp_ivec2" />
-<Test name="rg32i_lowp_ivec3" />
-<Test name="rgba16i_lowp_int" />
-<Test name="rg32i_lowp_ivec4" />
-<Test name="rgba32i_mediump_ivec3" />
-<Test name="rgba32i_mediump_ivec2" />
-<Test name="rgba32i_mediump_ivec4" />
-<Test name="rgba16i_mediump_ivec4" />
-<Test name="rgba16i_lowp_ivec3" />
-<Test name="rgba16i_lowp_ivec2" />
-<Test name="rgba16i_lowp_ivec4" />
-<Test name="rgba16i_mediump_ivec3" />
-<Test name="rgba16i_mediump_ivec2" />
-<Test name="rg16i_highp_int" />
-<Test name="rgba32i_highp_ivec2" />
-<Test name="rgba32i_highp_ivec3" />
-<Test name="rgba32i_highp_ivec4" />
-<Test name="r32i_mediump_ivec4" />
-<Test name="rg8i_lowp_int" />
-<Test name="r32i_mediump_ivec2" />
-<Test name="r32i_mediump_ivec3" />
-<Test name="rgba8i_highp_int" />
-<Test name="r16i_mediump_ivec2" />
-<Test name="r16i_mediump_ivec3" />
-<Test name="r16i_mediump_ivec4" />
-<Test name="r16i_lowp_ivec4" />
-<Test name="rgba16i_mediump_int" />
-<Test name="r16i_lowp_ivec2" />
-<Test name="r16i_lowp_ivec3" />
-<Test name="r16i_highp_ivec4" />
-<Test name="r16i_highp_ivec3" />
-<Test name="r16i_highp_ivec2" />
-<Test name="r32i_lowp_ivec2" />
-<Test name="rg32i_mediump_int" />
-<Test name="rg8i_mediump_int" />
-<Test name="r32i_highp_ivec3" />
-<Test name="r32i_highp_ivec2" />
-<Test name="r32i_highp_ivec4" />
-<Test name="rgba32i_mediump_int" />
-<Test name="rgba32i_lowp_ivec4" />
-<Test name="rgba32i_lowp_ivec3" />
-<Test name="rgba8i_mediump_int" />
-<Test name="rg16i_lowp_int" />
-<Test name="r8i_mediump_ivec2" />
-<Test name="r8i_mediump_ivec3" />
-<Test name="rg32i_highp_ivec3" />
-<Test name="rg32i_highp_ivec2" />
-<Test name="rg32i_highp_ivec4" />
-<Test name="r8i_mediump_ivec4" />
-<Test name="rgba32i_highp_int" />
-<Test name="rg8i_highp_int" />
-<Test name="r32i_highp_int" />
-<Test name="rg8i_mediump_ivec2" />
-<Test name="rg8i_mediump_ivec3" />
-<Test name="rg8i_mediump_ivec4" />
-<Test name="rgba8i_mediump_ivec4" />
-<Test name="rgba8i_mediump_ivec3" />
-<Test name="rgba8i_mediump_ivec2" />
-<Test name="rg32i_lowp_int" />
-<Test name="r16i_lowp_int" />
-<Test name="rgba8i_lowp_ivec4" />
-<Test name="rgba8i_lowp_ivec3" />
-<Test name="rgba8i_lowp_ivec2" />
-<Test name="rg16i_lowp_ivec2" />
-<Test name="rg16i_lowp_ivec3" />
-<Test name="rg16i_lowp_ivec4" />
-<Test name="r32i_lowp_int" />
-<Test name="r16i_mediump_int" />
-<Test name="rgba16i_highp_ivec4" />
-<Test name="rgba16i_highp_ivec2" />
-<Test name="rgba16i_highp_ivec3" />
-<Test name="rgba8i_lowp_int" />
-<Test name="rg16i_mediump_int" />
-<Test name="r32i_mediump_int" />
-<Test name="rg32i_highp_int" />
-<Test name="rgba32i_lowp_int" />
-<Test name="rg16i_mediump_ivec2" />
-<Test name="rg16i_mediump_ivec3" />
-<Test name="rg16i_mediump_ivec4" />
-<Test name="rg8i_highp_ivec4" />
-<Test name="rg8i_highp_ivec3" />
-<Test name="rg8i_highp_ivec2" />
-<Test name="r8i_lowp_int" />
-<Test name="r8i_highp_ivec3" />
-<Test name="r8i_highp_ivec2" />
-<Test name="r8i_highp_ivec4" />
-<Test name="rg8i_lowp_ivec4" />
-<Test name="rg8i_lowp_ivec2" />
-<Test name="rg8i_lowp_ivec3" />
-<Test name="r16i_highp_int" />
-<Test name="rgba32i_lowp_ivec2" />
-<Test name="r8i_highp_int" />
-<Test name="r8i_mediump_int" />
-<Test name="r32i_lowp_ivec3" />
-<Test name="r32i_lowp_ivec4" />
-<Test name="rgba8i_highp_ivec4" />
-<Test name="rgba8i_highp_ivec2" />
-<Test name="rgba8i_highp_ivec3" />
-<Test name="r8i_lowp_ivec2" />
-<Test name="r8i_lowp_ivec3" />
-<Test name="r8i_lowp_ivec4" />
-<Test name="rg32i_mediump_ivec4" />
-<Test name="rg32i_mediump_ivec2" />
-<Test name="rg32i_mediump_ivec3" />
-<Test name="rgba16i_highp_int" />
-</TestCase>
-<TestCase name="float">
-<Test name="rgba32f_mediump_vec4" />
-<Test name="rgba16f_highp_vec3" />
-<Test name="rgba16f_highp_vec2" />
-<Test name="rgba16f_highp_vec4" />
-<Test name="rgba32f_mediump_vec2" />
-<Test name="rgba32f_mediump_vec3" />
-<Test name="r16f_mediump_vec3" />
-<Test name="rg16f_lowp_vec4" />
-<Test name="rg16f_lowp_float" />
-<Test name="rg32f_lowp_vec4" />
-<Test name="r11f_g11f_b10f_lowp_vec4" />
-<Test name="rg16f_lowp_vec2" />
-<Test name="rgba16f_mediump_float" />
-<Test name="rg32f_mediump_float" />
-<Test name="r11f_g11f_b10f_lowp_vec2" />
-<Test name="r11f_g11f_b10f_lowp_vec3" />
-<Test name="r32f_lowp_vec4" />
-<Test name="r11f_g11f_b10f_mediump_vec4" />
-<Test name="r11f_g11f_b10f_mediump_float" />
-<Test name="r11f_g11f_b10f_mediump_vec2" />
-<Test name="r11f_g11f_b10f_mediump_vec3" />
-<Test name="r32f_lowp_vec3" />
-<Test name="r32f_lowp_vec2" />
-<Test name="rg32f_highp_vec2" />
-<Test name="rg32f_highp_vec3" />
-<Test name="rg16f_mediump_vec4" />
-<Test name="rg16f_mediump_float" />
-<Test name="rg16f_mediump_vec2" />
-<Test name="rg32f_highp_vec4" />
-<Test name="rgba16f_mediump_vec4" />
-<Test name="rgba16f_mediump_vec2" />
-<Test name="rgba16f_mediump_vec3" />
-<Test name="r32f_lowp_float" />
-<Test name="rgba16f_lowp_float" />
-<Test name="rgba16f_highp_float" />
-<Test name="rgba32f_highp_vec4" />
-<Test name="rgba32f_highp_float" />
-<Test name="rgba32f_highp_vec2" />
-<Test name="rgba32f_highp_vec3" />
-<Test name="rgba16f_lowp_vec2" />
-<Test name="rgba16f_lowp_vec3" />
-<Test name="rgba16f_lowp_vec4" />
-<Test name="rgba32f_mediump_float" />
-<Test name="rg32f_lowp_vec2" />
-<Test name="rg32f_highp_float" />
-<Test name="rgba32f_lowp_vec2" />
-<Test name="rgba32f_lowp_vec3" />
-<Test name="r32f_mediump_vec3" />
-<Test name="r32f_mediump_vec2" />
-<Test name="r32f_mediump_vec4" />
-<Test name="rgba32f_lowp_vec4" />
-<Test name="r11f_g11f_b10f_highp_vec3" />
-<Test name="r11f_g11f_b10f_highp_vec2" />
-<Test name="r11f_g11f_b10f_highp_vec4" />
-<Test name="rg16f_highp_vec2" />
-<Test name="r16f_mediump_float" />
-<Test name="r11f_g11f_b10f_lowp_float" />
-<Test name="r16f_highp_vec4" />
-<Test name="rg16f_mediump_vec3" />
-<Test name="rg32f_lowp_float" />
-<Test name="rg32f_lowp_vec3" />
-<Test name="r16f_highp_vec2" />
-<Test name="r16f_highp_vec3" />
-<Test name="rg16f_lowp_vec3" />
-<Test name="r16f_lowp_vec4" />
-<Test name="r16f_lowp_vec3" />
-<Test name="r16f_lowp_vec2" />
-<Test name="rg16f_highp_vec3" />
-<Test name="r32f_highp_vec2" />
-<Test name="r32f_highp_vec3" />
-<Test name="rg32f_mediump_vec3" />
-<Test name="rg32f_mediump_vec2" />
-<Test name="r16f_lowp_float" />
-<Test name="rg32f_mediump_vec4" />
-<Test name="r32f_highp_vec4" />
-<Test name="r16f_mediump_vec4" />
-<Test name="r16f_highp_float" />
-<Test name="r11f_g11f_b10f_highp_float" />
-<Test name="rgba32f_lowp_float" />
-<Test name="r32f_highp_float" />
-<Test name="rg16f_highp_float" />
-<Test name="r32f_mediump_float" />
-<Test name="r16f_mediump_vec2" />
-<Test name="rg16f_highp_vec4" />
-</TestCase>
-<TestCase name="uint">
-<Test name="rgba16ui_mediump_uint" />
-<Test name="rg8ui_mediump_uvec4" />
-<Test name="r16ui_lowp_uint" />
-<Test name="rg16ui_lowp_uvec2" />
-<Test name="rg16ui_lowp_uvec3" />
-<Test name="rg16ui_lowp_uvec4" />
-<Test name="r32ui_highp_uvec4" />
-<Test name="rg8ui_highp_uvec4" />
-<Test name="rg8ui_highp_uvec3" />
-<Test name="rg8ui_highp_uvec2" />
-<Test name="r32ui_highp_uvec3" />
-<Test name="r32ui_highp_uvec2" />
-<Test name="rgba32ui_mediump_uint" />
-<Test name="rg16ui_highp_uvec4" />
-<Test name="rg16ui_highp_uvec3" />
-<Test name="rg16ui_highp_uvec2" />
-<Test name="rgba8ui_lowp_uint" />
-<Test name="r32ui_mediump_uvec2" />
-<Test name="r32ui_mediump_uvec3" />
-<Test name="r32ui_mediump_uvec4" />
-<Test name="rg8ui_mediump_uvec2" />
-<Test name="rgba8ui_mediump_uvec4" />
-<Test name="rgba8ui_mediump_uvec3" />
-<Test name="rgba8ui_mediump_uvec2" />
-<Test name="rg32ui_highp_uvec3" />
-<Test name="rg32ui_highp_uvec2" />
-<Test name="rg32ui_highp_uvec4" />
-<Test name="rgba16ui_lowp_uvec3" />
-<Test name="rgba16ui_lowp_uvec2" />
-<Test name="rgba16ui_lowp_uvec4" />
-<Test name="rgba16ui_highp_uint" />
-<Test name="rg32ui_lowp_uint" />
-<Test name="r8ui_lowp_uvec4" />
-<Test name="r8ui_lowp_uvec2" />
-<Test name="r8ui_lowp_uvec3" />
-<Test name="r32ui_lowp_uint" />
-<Test name="r8ui_lowp_uint" />
-<Test name="rgb10_a2ui_lowp_uint" />
-<Test name="rgb10_a2ui_mediump_uvec2" />
-<Test name="rgb10_a2ui_mediump_uvec3" />
-<Test name="r16ui_lowp_uvec2" />
-<Test name="r16ui_lowp_uvec3" />
-<Test name="r16ui_lowp_uvec4" />
-<Test name="rgb10_a2ui_mediump_uvec4" />
-<Test name="r32ui_highp_uint" />
-<Test name="rgba32ui_lowp_uint" />
-<Test name="rgb10_a2ui_lowp_uvec4" />
-<Test name="rgba8ui_lowp_uvec3" />
-<Test name="rgba8ui_lowp_uvec2" />
-<Test name="rgba8ui_lowp_uvec4" />
-<Test name="rgba8ui_highp_uint" />
-<Test name="rgb10_a2ui_lowp_uvec3" />
-<Test name="rgb10_a2ui_lowp_uvec2" />
-<Test name="rg32ui_mediump_uint" />
-<Test name="rgba16ui_highp_uvec2" />
-<Test name="rgba16ui_highp_uvec3" />
-<Test name="rgba16ui_highp_uvec4" />
-<Test name="rg16ui_mediump_uvec4" />
-<Test name="rgba32ui_highp_uvec3" />
-<Test name="rg16ui_mediump_uvec2" />
-<Test name="rg16ui_mediump_uvec3" />
-<Test name="rgb10_a2ui_highp_uint" />
-<Test name="r32ui_mediump_uint" />
-<Test name="rgba8ui_mediump_uint" />
-<Test name="rg16ui_mediump_uint" />
-<Test name="rg8ui_mediump_uint" />
-<Test name="rgba32ui_mediump_uvec4" />
-<Test name="rgba32ui_mediump_uvec3" />
-<Test name="rgba32ui_mediump_uvec2" />
-<Test name="r8ui_mediump_uvec2" />
-<Test name="r8ui_mediump_uvec3" />
-<Test name="r8ui_highp_uint" />
-<Test name="r8ui_mediump_uvec4" />
-<Test name="r16ui_highp_uvec4" />
-<Test name="r16ui_highp_uvec3" />
-<Test name="r16ui_highp_uvec2" />
-<Test name="rgba16ui_mediump_uvec4" />
-<Test name="rgba16ui_mediump_uvec3" />
-<Test name="rgba16ui_mediump_uvec2" />
-<Test name="r16ui_highp_uint" />
-<Test name="r8ui_mediump_uint" />
-<Test name="rg8ui_lowp_uvec2" />
-<Test name="rg8ui_lowp_uvec3" />
-<Test name="rg8ui_lowp_uvec4" />
-<Test name="rgb10_a2ui_mediump_uint" />
-<Test name="rgba32ui_lowp_uvec4" />
-<Test name="rgba32ui_lowp_uvec3" />
-<Test name="rgba32ui_lowp_uvec2" />
-<Test name="rgba32ui_highp_uvec2" />
-<Test name="rgba32ui_highp_uvec4" />
-<Test name="rgba32ui_highp_uint" />
-<Test name="rg16ui_lowp_uint" />
-<Test name="r16ui_mediump_uvec2" />
-<Test name="r16ui_mediump_uvec3" />
-<Test name="r8ui_highp_uvec4" />
-<Test name="r8ui_highp_uvec3" />
-<Test name="r8ui_highp_uvec2" />
-<Test name="r16ui_mediump_uvec4" />
-<Test name="r32ui_lowp_uvec4" />
-<Test name="r32ui_lowp_uvec2" />
-<Test name="r32ui_lowp_uvec3" />
-<Test name="rg32ui_mediump_uvec2" />
-<Test name="rg32ui_mediump_uvec3" />
-<Test name="rg32ui_mediump_uvec4" />
-<Test name="rg16ui_highp_uint" />
-<Test name="rg8ui_highp_uint" />
-<Test name="rgba8ui_highp_uvec4" />
-<Test name="rgba8ui_highp_uvec2" />
-<Test name="rgba8ui_highp_uvec3" />
-<Test name="rgba16ui_lowp_uint" />
-<Test name="r16ui_mediump_uint" />
-<Test name="rg8ui_lowp_uint" />
-<Test name="rg32ui_highp_uint" />
-<Test name="rg8ui_mediump_uvec3" />
-<Test name="rg32ui_lowp_uvec4" />
-<Test name="rg32ui_lowp_uvec2" />
-<Test name="rg32ui_lowp_uvec3" />
-<Test name="rgb10_a2ui_highp_uvec3" />
-<Test name="rgb10_a2ui_highp_uvec2" />
-<Test name="rgb10_a2ui_highp_uvec4" />
-</TestCase>
-<TestCase name="fixed">
-<Test name="rgb5_a1_lowp_vec4" />
-<Test name="rgb8_highp_vec2" />
-<Test name="rgb8_highp_vec3" />
-<Test name="rgb8_highp_vec4" />
-<Test name="rgba4_mediump_float" />
-<Test name="rgba4_lowp_vec4" />
-<Test name="rgba4_lowp_vec3" />
-<Test name="rgba4_lowp_vec2" />
-<Test name="rg8_lowp_vec2" />
-<Test name="rg8_lowp_vec3" />
-<Test name="rg8_lowp_vec4" />
-<Test name="rgb5_a1_mediump_vec4" />
-<Test name="rgb5_a1_mediump_float" />
-<Test name="rgba8_lowp_vec3" />
-<Test name="rgba8_lowp_vec2" />
-<Test name="rgb10_a2_mediump_float" />
-<Test name="rgba8_lowp_vec4" />
-<Test name="rgb10_a2_lowp_vec4" />
-<Test name="rgb5_a1_lowp_vec2" />
-<Test name="rgb10_a2_lowp_vec2" />
-<Test name="rgb10_a2_lowp_vec3" />
-<Test name="srgb8_alpha8_mediump_float" />
-<Test name="srgb8_alpha8_lowp_vec3" />
-<Test name="srgb8_alpha8_lowp_vec2" />
-<Test name="srgb8_alpha8_lowp_vec4" />
-<Test name="rgba4_lowp_float" />
-<Test name="rgba8_mediump_float" />
-<Test name="rgb565_highp_float" />
-<Test name="rgb10_a2_lowp_float" />
-<Test name="rgb10_a2_mediump_vec4" />
-<Test name="rg8_mediump_float" />
-<Test name="rgb10_a2_mediump_vec2" />
-<Test name="rgb10_a2_mediump_vec3" />
-<Test name="rgba8_highp_float" />
-<Test name="rg8_mediump_vec4" />
-<Test name="rg8_mediump_vec2" />
-<Test name="rg8_mediump_vec3" />
-<Test name="rg8_highp_float" />
-<Test name="rg8_highp_vec3" />
-<Test name="rg8_highp_vec2" />
-<Test name="rg8_highp_vec4" />
-<Test name="r8_mediump_float" />
-<Test name="rgb8_lowp_vec3" />
-<Test name="rgb8_lowp_vec2" />
-<Test name="r8_highp_vec3" />
-<Test name="r8_highp_vec2" />
-<Test name="rgb565_mediump_vec3" />
-<Test name="rgb565_mediump_vec2" />
-<Test name="rgb565_mediump_vec4" />
-<Test name="rgb10_a2_highp_float" />
-<Test name="rgba4_mediump_vec3" />
-<Test name="rgba4_mediump_vec2" />
-<Test name="rgba4_mediump_vec4" />
-<Test name="r8_lowp_vec2" />
-<Test name="r8_lowp_vec3" />
-<Test name="r8_lowp_vec4" />
-<Test name="rgb8_lowp_float" />
-<Test name="rgb8_highp_float" />
-<Test name="rgb8_mediump_float" />
-<Test name="r8_mediump_vec2" />
-<Test name="r8_mediump_vec3" />
-<Test name="rgb5_a1_lowp_float" />
-<Test name="r8_mediump_vec4" />
-<Test name="rgb5_a1_lowp_vec3" />
-<Test name="rgb10_a2_highp_vec3" />
-<Test name="rgb10_a2_highp_vec2" />
-<Test name="rgb10_a2_highp_vec4" />
-<Test name="srgb8_alpha8_lowp_float" />
-<Test name="rgb565_mediump_float" />
-<Test name="rgba8_mediump_vec4" />
-<Test name="rgba8_mediump_vec3" />
-<Test name="rgba8_mediump_vec2" />
-<Test name="rg8_lowp_float" />
-<Test name="r8_highp_vec4" />
-<Test name="rgb565_lowp_vec3" />
-<Test name="rgb565_lowp_vec2" />
-<Test name="rgb8_mediump_vec2" />
-<Test name="rgb565_lowp_vec4" />
-<Test name="srgb8_alpha8_mediump_vec4" />
-<Test name="srgb8_alpha8_mediump_vec3" />
-<Test name="srgb8_alpha8_mediump_vec2" />
-<Test name="rgb8_lowp_vec4" />
-<Test name="rgba8_lowp_float" />
-<Test name="rgb565_highp_vec4" />
-<Test name="rgb565_highp_vec2" />
-<Test name="rgb565_highp_vec3" />
-<Test name="srgb8_alpha8_highp_vec2" />
-<Test name="srgb8_alpha8_highp_vec3" />
-<Test name="srgb8_alpha8_highp_vec4" />
-<Test name="rgb5_a1_mediump_vec2" />
-<Test name="rgb5_a1_mediump_vec3" />
-<Test name="r8_highp_float" />
-<Test name="rgb5_a1_highp_vec4" />
-<Test name="rgb5_a1_highp_vec3" />
-<Test name="rgb5_a1_highp_vec2" />
-<Test name="rgba4_highp_vec4" />
-<Test name="rgba4_highp_vec2" />
-<Test name="rgba4_highp_vec3" />
-<Test name="r8_lowp_float" />
-<Test name="rgba8_highp_vec2" />
-<Test name="rgba8_highp_vec3" />
-<Test name="rgba8_highp_vec4" />
-<Test name="rgb5_a1_highp_float" />
-<Test name="rgb565_lowp_float" />
-<Test name="rgb8_mediump_vec4" />
-<Test name="rgb8_mediump_vec3" />
-<Test name="srgb8_alpha8_highp_float" />
-<Test name="rgba4_highp_float" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-<TestSuite name="rasterizer_discard">
-<TestCase name="scissor">
-<Test name="write_depth_line_loop" />
-<Test name="write_stencil_lines" />
-<Test name="write_stencil_line_strip" />
-<Test name="write_depth_lines" />
-<Test name="clear_color" />
-<Test name="write_depth_line_strip" />
-<Test name="write_stencil_triangle_fan" />
-<Test name="clear_depth" />
-<Test name="write_stencil_triangle_strip" />
-<Test name="write_depth_points" />
-<Test name="write_stencil_points" />
-<Test name="write_depth_triangle_strip" />
-<Test name="clear_stencil" />
-<Test name="write_stencil_line_loop" />
-<Test name="write_depth_triangles" />
-<Test name="write_depth_triangle_fan" />
-<Test name="write_stencil_triangles" />
-</TestCase>
-<TestCase name="fbo">
-<Test name="write_depth_line_loop" />
-<Test name="write_stencil_lines" />
-<Test name="write_stencil_line_strip" />
-<Test name="write_depth_lines" />
-<Test name="clear_color" />
-<Test name="write_depth_line_strip" />
-<Test name="write_stencil_triangle_fan" />
-<Test name="clear_depth" />
-<Test name="write_stencil_triangle_strip" />
-<Test name="write_depth_points" />
-<Test name="write_stencil_points" />
-<Test name="write_depth_triangle_strip" />
-<Test name="clear_stencil" />
-<Test name="write_stencil_line_loop" />
-<Test name="write_depth_triangles" />
-<Test name="write_depth_triangle_fan" />
-<Test name="write_stencil_triangles" />
-</TestCase>
-<TestCase name="basic">
-<Test name="write_depth_line_loop" />
-<Test name="write_stencil_lines" />
-<Test name="write_stencil_line_strip" />
-<Test name="write_depth_lines" />
-<Test name="clear_color" />
-<Test name="write_depth_line_strip" />
-<Test name="write_stencil_triangle_fan" />
-<Test name="clear_depth" />
-<Test name="write_stencil_triangle_strip" />
-<Test name="write_depth_points" />
-<Test name="write_stencil_points" />
-<Test name="write_depth_triangle_strip" />
-<Test name="clear_stencil" />
-<Test name="write_stencil_line_loop" />
-<Test name="write_depth_triangles" />
-<Test name="write_depth_triangle_fan" />
-<Test name="write_stencil_triangles" />
-</TestCase>
-</TestSuite>
-<TestSuite name="multisample">
-<TestCase name="fbo_8_samples">
-<Test name="sample_coverage_invert" />
-<Test name="stencil" />
-<Test name="common_edge_big_quad" />
-<Test name="constancy_both_inverted" />
-<Test name="constancy_alpha_to_coverage" />
-<Test name="proportionality_alpha_to_coverage" />
-<Test name="proportionality_sample_coverage_inverted" />
-<Test name="common_edge_viewport_quad" />
-<Test name="constancy_sample_coverage" />
-<Test name="constancy_sample_coverage_inverted" />
-<Test name="depth" />
-<Test name="constancy_both" />
-<Test name="num_samples_line" />
-<Test name="common_edge_small_quads" />
-<Test name="proportionality_sample_coverage" />
-<Test name="num_samples_polygon" />
-</TestCase>
-<TestCase name="default_framebuffer">
-<Test name="sample_coverage_invert" />
-<Test name="stencil" />
-<Test name="common_edge_big_quad" />
-<Test name="constancy_both_inverted" />
-<Test name="constancy_alpha_to_coverage" />
-<Test name="proportionality_alpha_to_coverage" />
-<Test name="proportionality_sample_coverage_inverted" />
-<Test name="common_edge_viewport_quad" />
-<Test name="constancy_sample_coverage" />
-<Test name="constancy_sample_coverage_inverted" />
-<Test name="depth" />
-<Test name="constancy_both" />
-<Test name="num_samples_line" />
-<Test name="common_edge_small_quads" />
-<Test name="proportionality_sample_coverage" />
-<Test name="num_samples_polygon" />
-</TestCase>
-<TestCase name="fbo_max_samples">
-<Test name="sample_coverage_invert" />
-<Test name="common_edge_big_quad" />
-<Test name="constancy_both_inverted" />
-<Test name="constancy_alpha_to_coverage" />
-<Test name="proportionality_alpha_to_coverage" />
-<Test name="proportionality_sample_coverage_inverted" />
-<Test name="common_edge_viewport_quad" />
-<Test name="constancy_sample_coverage" />
-<Test name="constancy_sample_coverage_inverted" />
-<Test name="depth" />
-<Test name="constancy_both" />
-<Test name="num_samples_line" />
-<Test name="common_edge_small_quads" />
-<Test name="proportionality_sample_coverage" />
-<Test name="num_samples_polygon" />
-</TestCase>
-<TestCase name="fbo_4_samples">
-<Test name="sample_coverage_invert" />
-<Test name="common_edge_big_quad" />
-<Test name="constancy_both_inverted" />
-<Test name="constancy_alpha_to_coverage" />
-<Test name="proportionality_alpha_to_coverage" />
-<Test name="proportionality_sample_coverage_inverted" />
-<Test name="common_edge_viewport_quad" />
-<Test name="constancy_sample_coverage" />
-<Test name="constancy_sample_coverage_inverted" />
-<Test name="depth" />
-<Test name="constancy_both" />
-<Test name="num_samples_line" />
-<Test name="common_edge_small_quads" />
-<Test name="proportionality_sample_coverage" />
-<Test name="num_samples_polygon" />
-</TestCase>
-</TestSuite>
-<TestCase name="fence_sync">
-<Test name="client_wait_sync_timeout_smalldraw" />
-<Test name="wait_sync_smalldraw" />
-<Test name="client_wait_sync_smalldraw" />
-</TestCase>
-<TestSuite name="ubo">
-<TestSuite name="single_basic_array">
-<TestCase name="shared">
-<Test name="row_major_mat2x4_vertex" />
-<Test name="column_major_mat3_vertex" />
-<Test name="row_major_mat4x2_fragment" />
-<Test name="uvec4_fragment" />
-<Test name="column_major_mat2_both" />
-<Test name="row_major_mat2x3_vertex" />
-<Test name="row_major_mat4_vertex" />
-<Test name="row_major_mat3x2_both" />
-<Test name="mat3_vertex" />
-<Test name="column_major_mat3_fragment" />
-<Test name="bvec2_both" />
-<Test name="vec3_both" />
-<Test name="bvec4_fragment" />
-<Test name="row_major_mat3x2_fragment" />
-<Test name="bvec2_vertex" />
-<Test name="uvec2_both" />
-<Test name="uvec4_both" />
-<Test name="row_major_mat3x4_fragment" />
-<Test name="row_major_mat2_vertex" />
-<Test name="row_major_mat4x3_fragment" />
-<Test name="column_major_mat3x4_fragment" />
-<Test name="row_major_mat4_both" />
-<Test name="uvec3_fragment" />
-<Test name="int_fragment" />
-<Test name="column_major_mat4x2_both" />
-<Test name="ivec2_both" />
-<Test name="row_major_mat3x2_vertex" />
-<Test name="vec4_both" />
-<Test name="mat4x3_fragment" />
-<Test name="bool_fragment" />
-<Test name="column_major_mat3x2_fragment" />
-<Test name="column_major_mat2x3_both" />
-<Test name="mat4x3_vertex" />
-<Test name="mat2x3_fragment" />
-<Test name="row_major_mat2x4_fragment" />
-<Test name="row_major_mat2_fragment" />
-<Test name="ivec3_both" />
-<Test name="row_major_mat4x2_vertex" />
-<Test name="column_major_mat4x2_fragment" />
-<Test name="vec2_fragment" />
-<Test name="mat2_fragment" />
-<Test name="uvec4_vertex" />
-<Test name="uvec2_vertex" />
-<Test name="column_major_mat4x3_both" />
-<Test name="row_major_mat2_both" />
-<Test name="mat2_both" />
-<Test name="mat3x2_both" />
-<Test name="mat3x4_vertex" />
-<Test name="mat2x4_fragment" />
-<Test name="row_major_mat2x3_both" />
-<Test name="vec2_vertex" />
-<Test name="ivec3_vertex" />
-<Test name="column_major_mat2x3_vertex" />
-<Test name="uvec2_fragment" />
-<Test name="mat4x2_vertex" />
-<Test name="column_major_mat2_vertex" />
-<Test name="mat2x3_vertex" />
-<Test name="mat2x4_vertex" />
-<Test name="mat4x2_both" />
-<Test name="ivec2_fragment" />
-<Test name="bvec3_vertex" />
-<Test name="int_vertex" />
-<Test name="column_major_mat2x4_fragment" />
-<Test name="row_major_mat3_both" />
-<Test name="mat3x2_fragment" />
-<Test name="row_major_mat3_fragment" />
-<Test name="mat2_vertex" />
-<Test name="column_major_mat4x3_vertex" />
-<Test name="row_major_mat3x4_both" />
-<Test name="row_major_mat2x3_fragment" />
-<Test name="column_major_mat4_both" />
-<Test name="bvec3_both" />
-<Test name="mat3x4_fragment" />
-<Test name="mat4_fragment" />
-<Test name="bvec4_both" />
-<Test name="column_major_mat2x4_both" />
-<Test name="row_major_mat4x3_both" />
-<Test name="column_major_mat2x3_fragment" />
-<Test name="column_major_mat3x4_both" />
-<Test name="column_major_mat3_both" />
-<Test name="vec3_fragment" />
-<Test name="mat3x4_both" />
-<Test name="bool_both" />
-<Test name="mat3_both" />
-<Test name="ivec4_fragment" />
-<Test name="mat3_fragment" />
-<Test name="row_major_mat4x3_vertex" />
-<Test name="float_both" />
-<Test name="uvec3_both" />
-<Test name="ivec4_both" />
-<Test name="row_major_mat2x4_both" />
-<Test name="column_major_mat3x2_both" />
-<Test name="vec2_both" />
-<Test name="bvec4_vertex" />
-<Test name="mat3x2_vertex" />
-<Test name="vec4_fragment" />
-<Test name="int_both" />
-<Test name="ivec3_fragment" />
-<Test name="bool_vertex" />
-<Test name="mat2x3_both" />
-<Test name="float_fragment" />
-<Test name="mat4_both" />
-<Test name="column_major_mat3x4_vertex" />
-<Test name="column_major_mat4_fragment" />
-<Test name="bvec2_fragment" />
-<Test name="column_major_mat2_fragment" />
-<Test name="row_major_mat4_fragment" />
-<Test name="mat4_vertex" />
-<Test name="column_major_mat4_vertex" />
-<Test name="ivec2_vertex" />
-<Test name="column_major_mat3x2_vertex" />
-<Test name="mat2x4_both" />
-<Test name="ivec4_vertex" />
-<Test name="column_major_mat2x4_vertex" />
-<Test name="row_major_mat3x4_vertex" />
-<Test name="row_major_mat3_vertex" />
-<Test name="vec3_vertex" />
-<Test name="row_major_mat4x2_both" />
-<Test name="column_major_mat4x2_vertex" />
-<Test name="column_major_mat4x3_fragment" />
-<Test name="uvec3_vertex" />
-<Test name="bvec3_fragment" />
-<Test name="mat4x3_both" />
-<Test name="float_vertex" />
-<Test name="vec4_vertex" />
-<Test name="mat4x2_fragment" />
-</TestCase>
-<TestCase name="std140">
-<Test name="row_major_mat2x4_vertex" />
-<Test name="column_major_mat3_vertex" />
-<Test name="row_major_mat4x2_fragment" />
-<Test name="uvec4_fragment" />
-<Test name="column_major_mat2_both" />
-<Test name="row_major_mat2x3_vertex" />
-<Test name="row_major_mat4_vertex" />
-<Test name="row_major_mat3x2_both" />
-<Test name="mat3_vertex" />
-<Test name="column_major_mat3_fragment" />
-<Test name="bvec2_both" />
-<Test name="vec3_both" />
-<Test name="bvec4_fragment" />
-<Test name="row_major_mat3x2_fragment" />
-<Test name="bvec2_vertex" />
-<Test name="uvec2_both" />
-<Test name="uvec4_both" />
-<Test name="row_major_mat3x4_fragment" />
-<Test name="row_major_mat2_vertex" />
-<Test name="row_major_mat4x3_fragment" />
-<Test name="column_major_mat3x4_fragment" />
-<Test name="row_major_mat4_both" />
-<Test name="uvec3_fragment" />
-<Test name="int_fragment" />
-<Test name="column_major_mat4x2_both" />
-<Test name="ivec2_both" />
-<Test name="row_major_mat3x2_vertex" />
-<Test name="vec4_both" />
-<Test name="mat4x3_fragment" />
-<Test name="bool_fragment" />
-<Test name="column_major_mat3x2_fragment" />
-<Test name="column_major_mat2x3_both" />
-<Test name="mat4x3_vertex" />
-<Test name="mat2x3_fragment" />
-<Test name="row_major_mat2x4_fragment" />
-<Test name="row_major_mat2_fragment" />
-<Test name="ivec3_both" />
-<Test name="row_major_mat4x2_vertex" />
-<Test name="column_major_mat4x2_fragment" />
-<Test name="vec2_fragment" />
-<Test name="mat2_fragment" />
-<Test name="uvec4_vertex" />
-<Test name="uvec2_vertex" />
-<Test name="column_major_mat4x3_both" />
-<Test name="row_major_mat2_both" />
-<Test name="mat2_both" />
-<Test name="mat3x2_both" />
-<Test name="mat3x4_vertex" />
-<Test name="mat2x4_fragment" />
-<Test name="row_major_mat2x3_both" />
-<Test name="vec2_vertex" />
-<Test name="ivec3_vertex" />
-<Test name="column_major_mat2x3_vertex" />
-<Test name="uvec2_fragment" />
-<Test name="mat4x2_vertex" />
-<Test name="column_major_mat2_vertex" />
-<Test name="mat2x3_vertex" />
-<Test name="mat2x4_vertex" />
-<Test name="mat4x2_both" />
-<Test name="ivec2_fragment" />
-<Test name="bvec3_vertex" />
-<Test name="int_vertex" />
-<Test name="column_major_mat2x4_fragment" />
-<Test name="row_major_mat3_both" />
-<Test name="mat3x2_fragment" />
-<Test name="row_major_mat3_fragment" />
-<Test name="mat2_vertex" />
-<Test name="column_major_mat4x3_vertex" />
-<Test name="row_major_mat3x4_both" />
-<Test name="row_major_mat2x3_fragment" />
-<Test name="column_major_mat4_both" />
-<Test name="bvec3_both" />
-<Test name="mat3x4_fragment" />
-<Test name="mat4_fragment" />
-<Test name="bvec4_both" />
-<Test name="column_major_mat2x4_both" />
-<Test name="row_major_mat4x3_both" />
-<Test name="column_major_mat2x3_fragment" />
-<Test name="column_major_mat3x4_both" />
-<Test name="column_major_mat3_both" />
-<Test name="vec3_fragment" />
-<Test name="mat3x4_both" />
-<Test name="bool_both" />
-<Test name="mat3_both" />
-<Test name="ivec4_fragment" />
-<Test name="mat3_fragment" />
-<Test name="row_major_mat4x3_vertex" />
-<Test name="float_both" />
-<Test name="uvec3_both" />
-<Test name="ivec4_both" />
-<Test name="row_major_mat2x4_both" />
-<Test name="column_major_mat3x2_both" />
-<Test name="vec2_both" />
-<Test name="bvec4_vertex" />
-<Test name="mat3x2_vertex" />
-<Test name="vec4_fragment" />
-<Test name="int_both" />
-<Test name="ivec3_fragment" />
-<Test name="bool_vertex" />
-<Test name="mat2x3_both" />
-<Test name="float_fragment" />
-<Test name="mat4_both" />
-<Test name="column_major_mat3x4_vertex" />
-<Test name="column_major_mat4_fragment" />
-<Test name="bvec2_fragment" />
-<Test name="column_major_mat2_fragment" />
-<Test name="row_major_mat4_fragment" />
-<Test name="mat4_vertex" />
-<Test name="column_major_mat4_vertex" />
-<Test name="ivec2_vertex" />
-<Test name="column_major_mat3x2_vertex" />
-<Test name="mat2x4_both" />
-<Test name="ivec4_vertex" />
-<Test name="column_major_mat2x4_vertex" />
-<Test name="row_major_mat3x4_vertex" />
-<Test name="row_major_mat3_vertex" />
-<Test name="vec3_vertex" />
-<Test name="row_major_mat4x2_both" />
-<Test name="column_major_mat4x2_vertex" />
-<Test name="column_major_mat4x3_fragment" />
-<Test name="uvec3_vertex" />
-<Test name="bvec3_fragment" />
-<Test name="mat4x3_both" />
-<Test name="float_vertex" />
-<Test name="vec4_vertex" />
-<Test name="mat4x2_fragment" />
-</TestCase>
-<TestCase name="packed">
-<Test name="ivec4_fragment" />
-<Test name="row_major_mat2x4_vertex" />
-<Test name="row_major_mat4x3_vertex" />
-<Test name="mat2x4_fragment" />
-<Test name="column_major_mat2x4_vertex" />
-<Test name="ivec2_fragment" />
-<Test name="mat3_fragment" />
-<Test name="bvec3_vertex" />
-<Test name="column_major_mat4_fragment" />
-<Test name="row_major_mat3x2_vertex" />
-<Test name="int_vertex" />
-<Test name="column_major_mat2x4_fragment" />
-<Test name="column_major_mat3_vertex" />
-<Test name="mat4_fragment" />
-<Test name="column_major_mat3x4_fragment" />
-<Test name="column_major_mat3x4_vertex" />
-<Test name="row_major_mat4x2_fragment" />
-<Test name="column_major_mat3x2_vertex" />
-<Test name="mat4x3_fragment" />
-<Test name="mat3x2_fragment" />
-<Test name="bool_fragment" />
-<Test name="column_major_mat3x2_fragment" />
-<Test name="uvec4_fragment" />
-<Test name="mat3x2_vertex" />
-<Test name="column_major_mat4x2_fragment" />
-<Test name="mat4x3_vertex" />
-<Test name="mat2x3_fragment" />
-<Test name="row_major_mat2x3_vertex" />
-<Test name="row_major_mat4_vertex" />
-<Test name="vec3_fragment" />
-<Test name="row_major_mat3_fragment" />
-<Test name="float_fragment" />
-<Test name="mat3_vertex" />
-<Test name="bool_vertex" />
-<Test name="vec3_vertex" />
-<Test name="row_major_mat4x2_vertex" />
-<Test name="mat2_vertex" />
-<Test name="column_major_mat4x2_vertex" />
-<Test name="vec2_fragment" />
-<Test name="column_major_mat3_fragment" />
-<Test name="uvec3_vertex" />
-<Test name="column_major_mat4_vertex" />
-<Test name="vec4_fragment" />
-<Test name="mat3x4_fragment" />
-<Test name="uvec4_vertex" />
-<Test name="uvec2_vertex" />
-<Test name="bvec2_fragment" />
-<Test name="column_major_mat2_fragment" />
-<Test name="mat4x2_fragment" />
-<Test name="column_major_mat4x3_vertex" />
-<Test name="mat4_vertex" />
-<Test name="bvec4_fragment" />
-<Test name="mat2_fragment" />
-<Test name="float_vertex" />
-<Test name="row_major_mat3x2_fragment" />
-<Test name="ivec2_vertex" />
-<Test name="bvec2_vertex" />
-<Test name="row_major_mat4_fragment" />
-<Test name="ivec4_vertex" />
-<Test name="vec2_vertex" />
-<Test name="row_major_mat3x4_fragment" />
-<Test name="row_major_mat2x3_fragment" />
-<Test name="row_major_mat3x4_vertex" />
-<Test name="row_major_mat2_vertex" />
-<Test name="row_major_mat3_vertex" />
-<Test name="ivec3_vertex" />
-<Test name="row_major_mat4x3_fragment" />
-<Test name="row_major_mat2x4_fragment" />
-<Test name="column_major_mat2x3_fragment" />
-<Test name="ivec3_fragment" />
-<Test name="row_major_mat2_fragment" />
-<Test name="column_major_mat2x3_vertex" />
-<Test name="column_major_mat4x3_fragment" />
-<Test name="uvec2_fragment" />
-<Test name="mat4x2_vertex" />
-<Test name="bvec4_vertex" />
-<Test name="column_major_mat2_vertex" />
-<Test name="uvec3_fragment" />
-<Test name="int_fragment" />
-<Test name="bvec3_fragment" />
-<Test name="mat2x3_vertex" />
-<Test name="mat3x4_vertex" />
-<Test name="vec4_vertex" />
-<Test name="mat2x4_vertex" />
-</TestCase>
-</TestSuite>
-<TestSuite name="multi_nested_struct">
-<TestCase name="single_buffer">
-<Test name="packed_vertex" />
-<Test name="packed_instance_array_vertex" />
-</TestCase>
-<TestCase name="per_block_buffer">
-<Test name="packed_vertex" />
-<Test name="packed_instance_array_vertex" />
-</TestCase>
-</TestSuite>
-<TestSuite name="single_basic_type">
-<TestCase name="shared">
-<Test name="lowp_uvec3_fragment" />
-<Test name="lowp_ivec2_both" />
-<Test name="highp_ivec4_both" />
-<Test name="mediump_float_fragment" />
-<Test name="row_major_highp_mat3x4_both" />
-<Test name="column_major_lowp_mat4x2_fragment" />
-<Test name="column_major_mediump_mat2x4_fragment" />
-<Test name="mediump_uvec3_both" />
-<Test name="row_major_lowp_mat4_vertex" />
-<Test name="row_major_lowp_mat2_both" />
-<Test name="mediump_mat3_fragment" />
-<Test name="column_major_mediump_mat3x2_vertex" />
-<Test name="column_major_lowp_mat4x2_vertex" />
-<Test name="highp_mat2x4_fragment" />
-<Test name="highp_uvec2_both" />
-<Test name="mediump_mat2_vertex" />
-<Test name="bvec4_fragment" />
-<Test name="column_major_mediump_mat2_both" />
-<Test name="highp_vec2_fragment" />
-<Test name="column_major_lowp_mat3_fragment" />
-<Test name="row_major_mediump_mat3_vertex" />
-<Test name="column_major_highp_mat2x4_fragment" />
-<Test name="mediump_mat2x3_both" />
-<Test name="lowp_mat4x3_vertex" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="row_major_lowp_mat4x2_vertex" />
-<Test name="lowp_vec3_fragment" />
-<Test name="lowp_uvec3_vertex" />
-<Test name="highp_vec3_vertex" />
-<Test name="row_major_mediump_mat2x3_both" />
-<Test name="mediump_ivec3_both" />
-<Test name="lowp_vec2_vertex" />
-<Test name="highp_mat2x3_vertex" />
-<Test name="column_major_highp_mat4x3_both" />
-<Test name="column_major_mediump_mat2x3_fragment" />
-<Test name="mediump_mat4_vertex" />
-<Test name="highp_uvec2_vertex" />
-<Test name="row_major_lowp_mat2_fragment" />
-<Test name="lowp_mat2_both" />
-<Test name="row_major_highp_mat4_vertex" />
-<Test name="lowp_float_fragment" />
-<Test name="column_major_lowp_mat4x3_vertex" />
-<Test name="column_major_highp_mat4x3_vertex" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="highp_uvec4_fragment" />
-<Test name="row_major_highp_mat4x2_fragment" />
-<Test name="column_major_lowp_mat2x3_both" />
-<Test name="lowp_mat3x2_vertex" />
-<Test name="lowp_mat4x2_fragment" />
-<Test name="column_major_lowp_mat4x3_fragment" />
-<Test name="highp_float_vertex" />
-<Test name="row_major_highp_mat4x2_both" />
-<Test name="column_major_lowp_mat2x4_both" />
-<Test name="lowp_mat2x4_fragment" />
-<Test name="lowp_mat2x3_fragment" />
-<Test name="lowp_float_vertex" />
-<Test name="column_major_highp_mat3x4_both" />
-<Test name="column_major_mediump_mat4_fragment" />
-<Test name="row_major_lowp_mat4_fragment" />
-<Test name="column_major_highp_mat3_fragment" />
-<Test name="row_major_highp_mat4x3_both" />
-<Test name="mediump_vec2_both" />
-<Test name="lowp_uvec2_vertex" />
-<Test name="highp_mat3x4_fragment" />
-<Test name="highp_mat3x2_both" />
-<Test name="column_major_highp_mat3x2_fragment" />
-<Test name="row_major_lowp_mat2_vertex" />
-<Test name="row_major_highp_mat2_fragment" />
-<Test name="highp_uvec4_both" />
-<Test name="row_major_mediump_mat4x2_fragment" />
-<Test name="row_major_mediump_mat3x2_fragment" />
-<Test name="lowp_vec4_fragment" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="row_major_mediump_mat2x4_fragment" />
-<Test name="column_major_highp_mat2_vertex" />
-<Test name="column_major_mediump_mat3_vertex" />
-<Test name="highp_mat3x4_both" />
-<Test name="column_major_highp_mat3_vertex" />
-<Test name="highp_mat2_both" />
-<Test name="lowp_mat4_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="column_major_mediump_mat4_vertex" />
-<Test name="highp_mat4_fragment" />
-<Test name="row_major_mediump_mat4_fragment" />
-<Test name="column_major_lowp_mat2_fragment" />
-<Test name="bvec4_vertex" />
-<Test name="highp_int_both" />
-<Test name="row_major_mediump_mat4x2_both" />
-<Test name="column_major_lowp_mat3x4_vertex" />
-<Test name="row_major_lowp_mat4x3_both" />
-<Test name="row_major_highp_mat3x2_fragment" />
-<Test name="row_major_mediump_mat2x4_both" />
-<Test name="row_major_highp_mat2x3_fragment" />
-<Test name="column_major_mediump_mat2_vertex" />
-<Test name="highp_ivec2_fragment" />
-<Test name="row_major_mediump_mat4x3_fragment" />
-<Test name="lowp_vec2_fragment" />
-<Test name="highp_uvec4_vertex" />
-<Test name="mediump_uvec2_fragment" />
-<Test name="row_major_lowp_mat3x2_fragment" />
-<Test name="row_major_lowp_mat3_fragment" />
-<Test name="highp_vec3_both" />
-<Test name="lowp_mat3x4_both" />
-<Test name="mediump_uvec4_both" />
-<Test name="mediump_mat3x4_fragment" />
-<Test name="row_major_lowp_mat3x4_both" />
-<Test name="mediump_vec3_vertex" />
-<Test name="highp_mat4_vertex" />
-<Test name="mediump_mat4x2_vertex" />
-<Test name="mediump_float_both" />
-<Test name="highp_ivec4_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="column_major_lowp_mat2x3_vertex" />
-<Test name="highp_mat2_vertex" />
-<Test name="row_major_mediump_mat4x2_vertex" />
-<Test name="mediump_vec3_both" />
-<Test name="mediump_mat3x4_vertex" />
-<Test name="lowp_mat4x3_both" />
-<Test name="highp_int_fragment" />
-<Test name="row_major_highp_mat2_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="bvec2_vertex" />
-<Test name="highp_float_both" />
-<Test name="mediump_vec4_both" />
-<Test name="highp_mat2x3_fragment" />
-<Test name="row_major_highp_mat4_both" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="lowp_uvec4_both" />
-<Test name="mediump_mat2x4_fragment" />
-<Test name="column_major_lowp_mat4_both" />
-<Test name="highp_mat3x4_vertex" />
-<Test name="row_major_lowp_mat2x3_both" />
-<Test name="highp_vec2_both" />
-<Test name="lowp_mat3x2_both" />
-<Test name="row_major_mediump_mat2x3_fragment" />
-<Test name="column_major_lowp_mat2_both" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="mediump_mat2x3_vertex" />
-<Test name="lowp_ivec3_both" />
-<Test name="lowp_mat3_vertex" />
-<Test name="column_major_highp_mat4x2_fragment" />
-<Test name="row_major_mediump_mat3_fragment" />
-<Test name="lowp_int_both" />
-<Test name="mediump_vec2_fragment" />
-<Test name="column_major_highp_mat3x4_vertex" />
-<Test name="row_major_lowp_mat4x3_vertex" />
-<Test name="column_major_highp_mat2x3_vertex" />
-<Test name="column_major_mediump_mat4x3_both" />
-<Test name="column_major_lowp_mat3_vertex" />
-<Test name="lowp_mat2x3_vertex" />
-<Test name="column_major_highp_mat3x2_vertex" />
-<Test name="mediump_mat3x2_vertex" />
-<Test name="highp_float_fragment" />
-<Test name="column_major_highp_mat2_both" />
-<Test name="lowp_ivec4_both" />
-<Test name="highp_mat3_vertex" />
-<Test name="column_major_mediump_mat2x4_both" />
-<Test name="row_major_mediump_mat2x4_vertex" />
-<Test name="highp_ivec3_both" />
-<Test name="column_major_mediump_mat4x3_vertex" />
-<Test name="row_major_lowp_mat2x4_both" />
-<Test name="row_major_mediump_mat3x2_both" />
-<Test name="mediump_uvec4_vertex" />
-<Test name="row_major_highp_mat3_both" />
-<Test name="column_major_highp_mat3x2_both" />
-<Test name="mediump_mat4x2_fragment" />
-<Test name="mediump_mat4x3_vertex" />
-<Test name="row_major_highp_mat2x4_vertex" />
-<Test name="column_major_mediump_mat3x4_both" />
-<Test name="row_major_highp_mat4_fragment" />
-<Test name="row_major_lowp_mat2x4_vertex" />
-<Test name="lowp_mat2_fragment" />
-<Test name="row_major_mediump_mat4x3_both" />
-<Test name="column_major_mediump_mat4x2_fragment" />
-<Test name="mediump_ivec4_both" />
-<Test name="bool_vertex" />
-<Test name="mediump_uvec2_both" />
-<Test name="highp_int_vertex" />
-<Test name="highp_mat4x2_vertex" />
-<Test name="row_major_lowp_mat3x4_fragment" />
-<Test name="lowp_mat3x4_vertex" />
-<Test name="lowp_int_fragment" />
-<Test name="mediump_mat4x2_both" />
-<Test name="lowp_mat3_fragment" />
-<Test name="lowp_float_both" />
-<Test name="column_major_highp_mat2_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="lowp_mat3_both" />
-<Test name="column_major_mediump_mat3x2_fragment" />
-<Test name="highp_uvec3_both" />
-<Test name="column_major_mediump_mat4_both" />
-<Test name="lowp_int_vertex" />
-<Test name="highp_ivec3_fragment" />
-<Test name="lowp_mat4_vertex" />
-<Test name="column_major_mediump_mat4x2_vertex" />
-<Test name="row_major_highp_mat3x4_vertex" />
-<Test name="column_major_highp_mat3x4_fragment" />
-<Test name="column_major_highp_mat4_both" />
-<Test name="highp_mat2x4_vertex" />
-<Test name="lowp_uvec2_fragment" />
-<Test name="column_major_lowp_mat2x4_vertex" />
-<Test name="column_major_highp_mat2x3_fragment" />
-<Test name="lowp_mat4x3_fragment" />
-<Test name="row_major_mediump_mat4x3_vertex" />
-<Test name="lowp_mat3x4_fragment" />
-<Test name="bvec2_both" />
-<Test name="column_major_highp_mat2x3_both" />
-<Test name="row_major_mediump_mat2_vertex" />
-<Test name="highp_mat2x3_both" />
-<Test name="row_major_mediump_mat3x4_both" />
-<Test name="lowp_uvec4_fragment" />
-<Test name="row_major_highp_mat4x3_vertex" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="mediump_mat2x4_both" />
-<Test name="highp_mat3_both" />
-<Test name="column_major_mediump_mat3_both" />
-<Test name="column_major_lowp_mat4_vertex" />
-<Test name="lowp_mat3x2_fragment" />
-<Test name="column_major_mediump_mat3_fragment" />
-<Test name="column_major_highp_mat4x2_both" />
-<Test name="column_major_highp_mat3_both" />
-<Test name="lowp_mat4x2_both" />
-<Test name="column_major_lowp_mat2_vertex" />
-<Test name="column_major_lowp_mat3x2_vertex" />
-<Test name="highp_uvec3_vertex" />
-<Test name="row_major_highp_mat4x3_fragment" />
-<Test name="row_major_lowp_mat3_both" />
-<Test name="row_major_highp_mat3x2_vertex" />
-<Test name="row_major_highp_mat2x4_fragment" />
-<Test name="mediump_vec3_fragment" />
-<Test name="row_major_lowp_mat4x3_fragment" />
-<Test name="mediump_mat2_fragment" />
-<Test name="row_major_lowp_mat4_both" />
-<Test name="row_major_lowp_mat3x2_both" />
-<Test name="mediump_uvec4_fragment" />
-<Test name="bvec3_vertex" />
-<Test name="mediump_uvec3_fragment" />
-<Test name="column_major_lowp_mat3x2_both" />
-<Test name="column_major_lowp_mat2x4_fragment" />
-<Test name="column_major_highp_mat4x3_fragment" />
-<Test name="mediump_int_vertex" />
-<Test name="column_major_lowp_mat3_both" />
-<Test name="bvec3_both" />
-<Test name="lowp_uvec4_vertex" />
-<Test name="highp_ivec2_vertex" />
-<Test name="bvec4_both" />
-<Test name="column_major_mediump_mat4x2_both" />
-<Test name="mediump_vec4_fragment" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="lowp_vec4_both" />
-<Test name="mediump_mat3x4_both" />
-<Test name="lowp_mat2x4_vertex" />
-<Test name="column_major_mediump_mat2_fragment" />
-<Test name="row_major_highp_mat2x4_both" />
-<Test name="lowp_vec3_both" />
-<Test name="bool_both" />
-<Test name="highp_vec2_vertex" />
-<Test name="mediump_int_fragment" />
-<Test name="row_major_lowp_mat3x4_vertex" />
-<Test name="lowp_vec3_vertex" />
-<Test name="row_major_lowp_mat2x3_fragment" />
-<Test name="row_major_lowp_mat2x4_fragment" />
-<Test name="highp_mat4x2_fragment" />
-<Test name="lowp_vec2_both" />
-<Test name="lowp_mat4x2_vertex" />
-<Test name="column_major_mediump_mat3x2_both" />
-<Test name="mediump_mat4x3_both" />
-<Test name="column_major_highp_mat4_fragment" />
-<Test name="row_major_highp_mat4x2_vertex" />
-<Test name="row_major_mediump_mat3x4_vertex" />
-<Test name="column_major_mediump_mat2x4_vertex" />
-<Test name="row_major_lowp_mat3x2_vertex" />
-<Test name="bvec2_fragment" />
-<Test name="lowp_uvec3_both" />
-<Test name="column_major_lowp_mat2x3_fragment" />
-<Test name="column_major_highp_mat2x4_vertex" />
-<Test name="column_major_mediump_mat4x3_fragment" />
-<Test name="mediump_mat4_both" />
-<Test name="row_major_lowp_mat2x3_vertex" />
-<Test name="highp_ivec3_vertex" />
-<Test name="highp_mat4x3_vertex" />
-<Test name="lowp_mat2x4_both" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="row_major_mediump_mat2_both" />
-<Test name="mediump_uvec3_vertex" />
-<Test name="mediump_mat3_vertex" />
-<Test name="row_major_mediump_mat2_fragment" />
-<Test name="column_major_lowp_mat4_fragment" />
-<Test name="highp_mat3_fragment" />
-<Test name="column_major_lowp_mat4x3_both" />
-<Test name="row_major_lowp_mat3_vertex" />
-<Test name="mediump_mat4x3_fragment" />
-<Test name="row_major_mediump_mat2x3_vertex" />
-<Test name="mediump_ivec2_both" />
-<Test name="row_major_highp_mat2x3_both" />
-<Test name="lowp_uvec2_both" />
-<Test name="highp_vec4_vertex" />
-<Test name="column_major_lowp_mat3x4_fragment" />
-<Test name="row_major_mediump_mat3_both" />
-<Test name="mediump_uvec2_vertex" />
-<Test name="mediump_mat3x2_fragment" />
-<Test name="row_major_mediump_mat4_vertex" />
-<Test name="column_major_mediump_mat2x3_both" />
-<Test name="mediump_mat3x2_both" />
-<Test name="column_major_lowp_mat4x2_both" />
-<Test name="mediump_mat2x4_vertex" />
-<Test name="mediump_vec4_vertex" />
-<Test name="column_major_highp_mat4_vertex" />
-<Test name="bool_fragment" />
-<Test name="row_major_mediump_mat3x4_fragment" />
-<Test name="mediump_mat3_both" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="row_major_highp_mat3x2_both" />
-<Test name="highp_vec3_fragment" />
-<Test name="lowp_mat2x3_both" />
-<Test name="lowp_mat2_vertex" />
-<Test name="mediump_mat2_both" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="highp_mat4_both" />
-<Test name="highp_mat3x2_fragment" />
-<Test name="row_major_highp_mat3_fragment" />
-<Test name="row_major_mediump_mat4_both" />
-<Test name="mediump_mat4_fragment" />
-<Test name="row_major_lowp_mat4x2_both" />
-<Test name="highp_uvec2_fragment" />
-<Test name="column_major_highp_mat4x2_vertex" />
-<Test name="lowp_mat4_both" />
-<Test name="mediump_vec2_vertex" />
-<Test name="highp_uvec3_fragment" />
-<Test name="row_major_lowp_mat4x2_fragment" />
-<Test name="mediump_mat2x3_fragment" />
-<Test name="column_major_lowp_mat3x4_both" />
-<Test name="column_major_mediump_mat3x4_vertex" />
-<Test name="column_major_lowp_mat3x2_fragment" />
-<Test name="highp_mat4x3_fragment" />
-<Test name="row_major_highp_mat2x3_vertex" />
-<Test name="highp_ivec2_both" />
-<Test name="lowp_vec4_vertex" />
-<Test name="row_major_highp_mat3x4_fragment" />
-<Test name="highp_mat3x2_vertex" />
-<Test name="column_major_mediump_mat2x3_vertex" />
-<Test name="column_major_highp_mat2x4_both" />
-<Test name="row_major_mediump_mat3x2_vertex" />
-<Test name="highp_vec4_both" />
-<Test name="highp_mat4x3_both" />
-<Test name="row_major_highp_mat3_vertex" />
-<Test name="highp_mat4x2_both" />
-<Test name="highp_mat2x4_both" />
-<Test name="column_major_mediump_mat3x4_fragment" />
-<Test name="mediump_int_both" />
-<Test name="bvec3_fragment" />
-<Test name="highp_mat2_fragment" />
-<Test name="row_major_highp_mat2_both" />
-</TestCase>
-<TestCase name="std140">
-<Test name="lowp_uvec3_fragment" />
-<Test name="lowp_ivec2_both" />
-<Test name="highp_ivec4_both" />
-<Test name="mediump_float_fragment" />
-<Test name="row_major_highp_mat3x4_both" />
-<Test name="column_major_lowp_mat4x2_fragment" />
-<Test name="column_major_mediump_mat2x4_fragment" />
-<Test name="mediump_uvec3_both" />
-<Test name="row_major_lowp_mat4_vertex" />
-<Test name="row_major_lowp_mat2_both" />
-<Test name="mediump_mat3_fragment" />
-<Test name="column_major_mediump_mat3x2_vertex" />
-<Test name="column_major_lowp_mat4x2_vertex" />
-<Test name="highp_mat2x4_fragment" />
-<Test name="highp_uvec2_both" />
-<Test name="mediump_mat2_vertex" />
-<Test name="bvec4_fragment" />
-<Test name="column_major_mediump_mat2_both" />
-<Test name="highp_vec2_fragment" />
-<Test name="column_major_lowp_mat3_fragment" />
-<Test name="row_major_mediump_mat3_vertex" />
-<Test name="column_major_highp_mat2x4_fragment" />
-<Test name="mediump_mat2x3_both" />
-<Test name="lowp_mat4x3_vertex" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="row_major_lowp_mat4x2_vertex" />
-<Test name="lowp_vec3_fragment" />
-<Test name="lowp_uvec3_vertex" />
-<Test name="highp_vec3_vertex" />
-<Test name="row_major_mediump_mat2x3_both" />
-<Test name="mediump_ivec3_both" />
-<Test name="lowp_vec2_vertex" />
-<Test name="highp_mat2x3_vertex" />
-<Test name="column_major_highp_mat4x3_both" />
-<Test name="column_major_mediump_mat2x3_fragment" />
-<Test name="mediump_mat4_vertex" />
-<Test name="highp_uvec2_vertex" />
-<Test name="row_major_lowp_mat2_fragment" />
-<Test name="lowp_mat2_both" />
-<Test name="row_major_highp_mat4_vertex" />
-<Test name="lowp_float_fragment" />
-<Test name="column_major_lowp_mat4x3_vertex" />
-<Test name="column_major_highp_mat4x3_vertex" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="highp_uvec4_fragment" />
-<Test name="row_major_highp_mat4x2_fragment" />
-<Test name="column_major_lowp_mat2x3_both" />
-<Test name="lowp_mat3x2_vertex" />
-<Test name="lowp_mat4x2_fragment" />
-<Test name="column_major_lowp_mat4x3_fragment" />
-<Test name="highp_float_vertex" />
-<Test name="row_major_highp_mat4x2_both" />
-<Test name="column_major_lowp_mat2x4_both" />
-<Test name="lowp_mat2x4_fragment" />
-<Test name="lowp_mat2x3_fragment" />
-<Test name="lowp_float_vertex" />
-<Test name="column_major_highp_mat3x4_both" />
-<Test name="column_major_mediump_mat4_fragment" />
-<Test name="row_major_lowp_mat4_fragment" />
-<Test name="column_major_highp_mat3_fragment" />
-<Test name="row_major_highp_mat4x3_both" />
-<Test name="mediump_vec2_both" />
-<Test name="lowp_uvec2_vertex" />
-<Test name="highp_mat3x4_fragment" />
-<Test name="highp_mat3x2_both" />
-<Test name="column_major_highp_mat3x2_fragment" />
-<Test name="row_major_lowp_mat2_vertex" />
-<Test name="row_major_highp_mat2_fragment" />
-<Test name="highp_uvec4_both" />
-<Test name="row_major_mediump_mat4x2_fragment" />
-<Test name="row_major_mediump_mat3x2_fragment" />
-<Test name="lowp_vec4_fragment" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="row_major_mediump_mat2x4_fragment" />
-<Test name="column_major_highp_mat2_vertex" />
-<Test name="column_major_mediump_mat3_vertex" />
-<Test name="highp_mat3x4_both" />
-<Test name="column_major_highp_mat3_vertex" />
-<Test name="highp_mat2_both" />
-<Test name="lowp_mat4_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="column_major_mediump_mat4_vertex" />
-<Test name="highp_mat4_fragment" />
-<Test name="row_major_mediump_mat4_fragment" />
-<Test name="column_major_lowp_mat2_fragment" />
-<Test name="bvec4_vertex" />
-<Test name="highp_int_both" />
-<Test name="row_major_mediump_mat4x2_both" />
-<Test name="column_major_lowp_mat3x4_vertex" />
-<Test name="row_major_lowp_mat4x3_both" />
-<Test name="row_major_highp_mat3x2_fragment" />
-<Test name="row_major_mediump_mat2x4_both" />
-<Test name="row_major_highp_mat2x3_fragment" />
-<Test name="column_major_mediump_mat2_vertex" />
-<Test name="highp_ivec2_fragment" />
-<Test name="row_major_mediump_mat4x3_fragment" />
-<Test name="lowp_vec2_fragment" />
-<Test name="highp_uvec4_vertex" />
-<Test name="mediump_uvec2_fragment" />
-<Test name="row_major_lowp_mat3x2_fragment" />
-<Test name="row_major_lowp_mat3_fragment" />
-<Test name="highp_vec3_both" />
-<Test name="lowp_mat3x4_both" />
-<Test name="mediump_uvec4_both" />
-<Test name="mediump_mat3x4_fragment" />
-<Test name="row_major_lowp_mat3x4_both" />
-<Test name="mediump_vec3_vertex" />
-<Test name="highp_mat4_vertex" />
-<Test name="mediump_mat4x2_vertex" />
-<Test name="mediump_float_both" />
-<Test name="highp_ivec4_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="column_major_lowp_mat2x3_vertex" />
-<Test name="highp_mat2_vertex" />
-<Test name="row_major_mediump_mat4x2_vertex" />
-<Test name="mediump_vec3_both" />
-<Test name="mediump_mat3x4_vertex" />
-<Test name="lowp_mat4x3_both" />
-<Test name="highp_int_fragment" />
-<Test name="row_major_highp_mat2_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="bvec2_vertex" />
-<Test name="highp_float_both" />
-<Test name="mediump_vec4_both" />
-<Test name="highp_mat2x3_fragment" />
-<Test name="row_major_highp_mat4_both" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="lowp_uvec4_both" />
-<Test name="mediump_mat2x4_fragment" />
-<Test name="column_major_lowp_mat4_both" />
-<Test name="highp_mat3x4_vertex" />
-<Test name="row_major_lowp_mat2x3_both" />
-<Test name="highp_vec2_both" />
-<Test name="lowp_mat3x2_both" />
-<Test name="row_major_mediump_mat2x3_fragment" />
-<Test name="column_major_lowp_mat2_both" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="mediump_mat2x3_vertex" />
-<Test name="lowp_ivec3_both" />
-<Test name="lowp_mat3_vertex" />
-<Test name="column_major_highp_mat4x2_fragment" />
-<Test name="row_major_mediump_mat3_fragment" />
-<Test name="lowp_int_both" />
-<Test name="mediump_vec2_fragment" />
-<Test name="column_major_highp_mat3x4_vertex" />
-<Test name="row_major_lowp_mat4x3_vertex" />
-<Test name="column_major_highp_mat2x3_vertex" />
-<Test name="column_major_mediump_mat4x3_both" />
-<Test name="column_major_lowp_mat3_vertex" />
-<Test name="lowp_mat2x3_vertex" />
-<Test name="column_major_highp_mat3x2_vertex" />
-<Test name="mediump_mat3x2_vertex" />
-<Test name="highp_float_fragment" />
-<Test name="column_major_highp_mat2_both" />
-<Test name="lowp_ivec4_both" />
-<Test name="highp_mat3_vertex" />
-<Test name="column_major_mediump_mat2x4_both" />
-<Test name="row_major_mediump_mat2x4_vertex" />
-<Test name="highp_ivec3_both" />
-<Test name="column_major_mediump_mat4x3_vertex" />
-<Test name="row_major_lowp_mat2x4_both" />
-<Test name="row_major_mediump_mat3x2_both" />
-<Test name="mediump_uvec4_vertex" />
-<Test name="row_major_highp_mat3_both" />
-<Test name="column_major_highp_mat3x2_both" />
-<Test name="mediump_mat4x2_fragment" />
-<Test name="mediump_mat4x3_vertex" />
-<Test name="row_major_highp_mat2x4_vertex" />
-<Test name="column_major_mediump_mat3x4_both" />
-<Test name="row_major_highp_mat4_fragment" />
-<Test name="row_major_lowp_mat2x4_vertex" />
-<Test name="lowp_mat2_fragment" />
-<Test name="row_major_mediump_mat4x3_both" />
-<Test name="column_major_mediump_mat4x2_fragment" />
-<Test name="mediump_ivec4_both" />
-<Test name="bool_vertex" />
-<Test name="mediump_uvec2_both" />
-<Test name="highp_int_vertex" />
-<Test name="highp_mat4x2_vertex" />
-<Test name="row_major_lowp_mat3x4_fragment" />
-<Test name="lowp_mat3x4_vertex" />
-<Test name="lowp_int_fragment" />
-<Test name="mediump_mat4x2_both" />
-<Test name="lowp_mat3_fragment" />
-<Test name="lowp_float_both" />
-<Test name="column_major_highp_mat2_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="lowp_mat3_both" />
-<Test name="column_major_mediump_mat3x2_fragment" />
-<Test name="highp_uvec3_both" />
-<Test name="column_major_mediump_mat4_both" />
-<Test name="lowp_int_vertex" />
-<Test name="highp_ivec3_fragment" />
-<Test name="lowp_mat4_vertex" />
-<Test name="column_major_mediump_mat4x2_vertex" />
-<Test name="row_major_highp_mat3x4_vertex" />
-<Test name="column_major_highp_mat3x4_fragment" />
-<Test name="column_major_highp_mat4_both" />
-<Test name="highp_mat2x4_vertex" />
-<Test name="lowp_uvec2_fragment" />
-<Test name="column_major_lowp_mat2x4_vertex" />
-<Test name="column_major_highp_mat2x3_fragment" />
-<Test name="lowp_mat4x3_fragment" />
-<Test name="row_major_mediump_mat4x3_vertex" />
-<Test name="lowp_mat3x4_fragment" />
-<Test name="bvec2_both" />
-<Test name="column_major_highp_mat2x3_both" />
-<Test name="row_major_mediump_mat2_vertex" />
-<Test name="highp_mat2x3_both" />
-<Test name="row_major_mediump_mat3x4_both" />
-<Test name="lowp_uvec4_fragment" />
-<Test name="row_major_highp_mat4x3_vertex" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="mediump_mat2x4_both" />
-<Test name="highp_mat3_both" />
-<Test name="column_major_mediump_mat3_both" />
-<Test name="column_major_lowp_mat4_vertex" />
-<Test name="lowp_mat3x2_fragment" />
-<Test name="column_major_mediump_mat3_fragment" />
-<Test name="column_major_highp_mat4x2_both" />
-<Test name="column_major_highp_mat3_both" />
-<Test name="lowp_mat4x2_both" />
-<Test name="column_major_lowp_mat2_vertex" />
-<Test name="column_major_lowp_mat3x2_vertex" />
-<Test name="highp_uvec3_vertex" />
-<Test name="row_major_highp_mat4x3_fragment" />
-<Test name="row_major_lowp_mat3_both" />
-<Test name="row_major_highp_mat3x2_vertex" />
-<Test name="row_major_highp_mat2x4_fragment" />
-<Test name="mediump_vec3_fragment" />
-<Test name="row_major_lowp_mat4x3_fragment" />
-<Test name="mediump_mat2_fragment" />
-<Test name="row_major_lowp_mat4_both" />
-<Test name="row_major_lowp_mat3x2_both" />
-<Test name="mediump_uvec4_fragment" />
-<Test name="bvec3_vertex" />
-<Test name="mediump_uvec3_fragment" />
-<Test name="column_major_lowp_mat3x2_both" />
-<Test name="column_major_lowp_mat2x4_fragment" />
-<Test name="column_major_highp_mat4x3_fragment" />
-<Test name="mediump_int_vertex" />
-<Test name="column_major_lowp_mat3_both" />
-<Test name="bvec3_both" />
-<Test name="lowp_uvec4_vertex" />
-<Test name="highp_ivec2_vertex" />
-<Test name="bvec4_both" />
-<Test name="column_major_mediump_mat4x2_both" />
-<Test name="mediump_vec4_fragment" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="lowp_vec4_both" />
-<Test name="mediump_mat3x4_both" />
-<Test name="lowp_mat2x4_vertex" />
-<Test name="column_major_mediump_mat2_fragment" />
-<Test name="row_major_highp_mat2x4_both" />
-<Test name="lowp_vec3_both" />
-<Test name="bool_both" />
-<Test name="highp_vec2_vertex" />
-<Test name="mediump_int_fragment" />
-<Test name="row_major_lowp_mat3x4_vertex" />
-<Test name="lowp_vec3_vertex" />
-<Test name="row_major_lowp_mat2x3_fragment" />
-<Test name="row_major_lowp_mat2x4_fragment" />
-<Test name="highp_mat4x2_fragment" />
-<Test name="lowp_vec2_both" />
-<Test name="lowp_mat4x2_vertex" />
-<Test name="column_major_mediump_mat3x2_both" />
-<Test name="mediump_mat4x3_both" />
-<Test name="column_major_highp_mat4_fragment" />
-<Test name="row_major_highp_mat4x2_vertex" />
-<Test name="row_major_mediump_mat3x4_vertex" />
-<Test name="column_major_mediump_mat2x4_vertex" />
-<Test name="row_major_lowp_mat3x2_vertex" />
-<Test name="bvec2_fragment" />
-<Test name="lowp_uvec3_both" />
-<Test name="column_major_lowp_mat2x3_fragment" />
-<Test name="column_major_highp_mat2x4_vertex" />
-<Test name="column_major_mediump_mat4x3_fragment" />
-<Test name="mediump_mat4_both" />
-<Test name="row_major_lowp_mat2x3_vertex" />
-<Test name="highp_ivec3_vertex" />
-<Test name="highp_mat4x3_vertex" />
-<Test name="lowp_mat2x4_both" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="row_major_mediump_mat2_both" />
-<Test name="mediump_uvec3_vertex" />
-<Test name="mediump_mat3_vertex" />
-<Test name="row_major_mediump_mat2_fragment" />
-<Test name="column_major_lowp_mat4_fragment" />
-<Test name="highp_mat3_fragment" />
-<Test name="column_major_lowp_mat4x3_both" />
-<Test name="row_major_lowp_mat3_vertex" />
-<Test name="mediump_mat4x3_fragment" />
-<Test name="row_major_mediump_mat2x3_vertex" />
-<Test name="mediump_ivec2_both" />
-<Test name="row_major_highp_mat2x3_both" />
-<Test name="lowp_uvec2_both" />
-<Test name="highp_vec4_vertex" />
-<Test name="column_major_lowp_mat3x4_fragment" />
-<Test name="row_major_mediump_mat3_both" />
-<Test name="mediump_uvec2_vertex" />
-<Test name="mediump_mat3x2_fragment" />
-<Test name="row_major_mediump_mat4_vertex" />
-<Test name="column_major_mediump_mat2x3_both" />
-<Test name="mediump_mat3x2_both" />
-<Test name="column_major_lowp_mat4x2_both" />
-<Test name="mediump_mat2x4_vertex" />
-<Test name="mediump_vec4_vertex" />
-<Test name="column_major_highp_mat4_vertex" />
-<Test name="bool_fragment" />
-<Test name="row_major_mediump_mat3x4_fragment" />
-<Test name="mediump_mat3_both" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="row_major_highp_mat3x2_both" />
-<Test name="highp_vec3_fragment" />
-<Test name="lowp_mat2x3_both" />
-<Test name="lowp_mat2_vertex" />
-<Test name="mediump_mat2_both" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="highp_mat4_both" />
-<Test name="highp_mat3x2_fragment" />
-<Test name="row_major_highp_mat3_fragment" />
-<Test name="row_major_mediump_mat4_both" />
-<Test name="mediump_mat4_fragment" />
-<Test name="row_major_lowp_mat4x2_both" />
-<Test name="highp_uvec2_fragment" />
-<Test name="column_major_highp_mat4x2_vertex" />
-<Test name="lowp_mat4_both" />
-<Test name="mediump_vec2_vertex" />
-<Test name="highp_uvec3_fragment" />
-<Test name="row_major_lowp_mat4x2_fragment" />
-<Test name="mediump_mat2x3_fragment" />
-<Test name="column_major_lowp_mat3x4_both" />
-<Test name="column_major_mediump_mat3x4_vertex" />
-<Test name="column_major_lowp_mat3x2_fragment" />
-<Test name="highp_mat4x3_fragment" />
-<Test name="row_major_highp_mat2x3_vertex" />
-<Test name="highp_ivec2_both" />
-<Test name="lowp_vec4_vertex" />
-<Test name="row_major_highp_mat3x4_fragment" />
-<Test name="highp_mat3x2_vertex" />
-<Test name="column_major_mediump_mat2x3_vertex" />
-<Test name="column_major_highp_mat2x4_both" />
-<Test name="row_major_mediump_mat3x2_vertex" />
-<Test name="highp_vec4_both" />
-<Test name="highp_mat4x3_both" />
-<Test name="row_major_highp_mat3_vertex" />
-<Test name="highp_mat4x2_both" />
-<Test name="highp_mat2x4_both" />
-<Test name="column_major_mediump_mat3x4_fragment" />
-<Test name="mediump_int_both" />
-<Test name="bvec3_fragment" />
-<Test name="highp_mat2_fragment" />
-<Test name="row_major_highp_mat2_both" />
-</TestCase>
-<TestCase name="packed">
-<Test name="highp_ivec3_fragment" />
-<Test name="lowp_mat4_vertex" />
-<Test name="column_major_mediump_mat4x2_vertex" />
-<Test name="lowp_uvec3_fragment" />
-<Test name="mediump_mat3x4_fragment" />
-<Test name="mediump_uvec3_vertex" />
-<Test name="mediump_float_fragment" />
-<Test name="column_major_highp_mat3x4_fragment" />
-<Test name="mediump_mat3_vertex" />
-<Test name="row_major_mediump_mat2_fragment" />
-<Test name="column_major_lowp_mat4_fragment" />
-<Test name="row_major_highp_mat4x3_vertex" />
-<Test name="mediump_vec3_vertex" />
-<Test name="column_major_mediump_mat2x4_fragment" />
-<Test name="highp_mat3_fragment" />
-<Test name="highp_mat4_vertex" />
-<Test name="mediump_mat4x2_vertex" />
-<Test name="highp_ivec4_fragment" />
-<Test name="row_major_lowp_mat3_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="column_major_lowp_mat2x3_vertex" />
-<Test name="lowp_uvec2_fragment" />
-<Test name="row_major_lowp_mat4_vertex" />
-<Test name="column_major_lowp_mat2x4_vertex" />
-<Test name="mediump_int_vertex" />
-<Test name="highp_mat2_vertex" />
-<Test name="row_major_mediump_mat2x3_vertex" />
-<Test name="row_major_mediump_mat4x2_vertex" />
-<Test name="row_major_mediump_mat4x3_vertex" />
-<Test name="mediump_mat4x2_fragment" />
-<Test name="mediump_mat3_fragment" />
-<Test name="column_major_mediump_mat3x2_vertex" />
-<Test name="lowp_mat3x4_fragment" />
-<Test name="mediump_mat3x4_vertex" />
-<Test name="column_major_lowp_mat4x2_vertex" />
-<Test name="highp_int_fragment" />
-<Test name="highp_vec4_vertex" />
-<Test name="row_major_mediump_mat2_vertex" />
-<Test name="row_major_highp_mat2_vertex" />
-<Test name="bvec4_fragment" />
-<Test name="highp_vec4_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="bvec2_vertex" />
-<Test name="column_major_lowp_mat3x4_fragment" />
-<Test name="column_major_lowp_mat3_fragment" />
-<Test name="row_major_mediump_mat3_vertex" />
-<Test name="mediump_uvec3_fragment" />
-<Test name="column_major_highp_mat2x4_fragment" />
-<Test name="row_major_mediump_mat4_vertex" />
-<Test name="highp_mat2x3_fragment" />
-<Test name="mediump_uvec2_vertex" />
-<Test name="lowp_mat4x3_vertex" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="column_major_highp_mat2_vertex" />
-<Test name="row_major_highp_mat3x4_vertex" />
-<Test name="column_major_lowp_mat4x2_fragment" />
-<Test name="mediump_mat2x4_fragment" />
-<Test name="row_major_lowp_mat4x2_vertex" />
-<Test name="lowp_vec3_fragment" />
-<Test name="lowp_uvec4_fragment" />
-<Test name="mediump_mat2x4_vertex" />
-<Test name="lowp_uvec3_vertex" />
-<Test name="highp_float_fragment" />
-<Test name="mediump_vec4_vertex" />
-<Test name="row_major_mediump_mat2x3_fragment" />
-<Test name="column_major_highp_mat4_vertex" />
-<Test name="lowp_vec2_vertex" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="highp_mat2x3_vertex" />
-<Test name="column_major_mediump_mat2x3_fragment" />
-<Test name="bool_fragment" />
-<Test name="column_major_mediump_mat3x4_vertex" />
-<Test name="row_major_mediump_mat3x4_fragment" />
-<Test name="mediump_mat4_vertex" />
-<Test name="lowp_mat3x2_fragment" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="column_major_mediump_mat3_fragment" />
-<Test name="highp_uvec2_vertex" />
-<Test name="row_major_lowp_mat2_fragment" />
-<Test name="mediump_mat2x3_vertex" />
-<Test name="highp_vec3_fragment" />
-<Test name="lowp_mat3_vertex" />
-<Test name="column_major_highp_mat4x2_fragment" />
-<Test name="row_major_highp_mat4_vertex" />
-<Test name="lowp_float_fragment" />
-<Test name="column_major_lowp_mat2_vertex" />
-<Test name="column_major_highp_mat3_vertex" />
-<Test name="column_major_lowp_mat4x3_vertex" />
-<Test name="row_major_mediump_mat3_fragment" />
-<Test name="column_major_lowp_mat3x2_vertex" />
-<Test name="highp_mat3x4_vertex" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="column_major_highp_mat4x3_vertex" />
-<Test name="highp_uvec3_vertex" />
-<Test name="row_major_highp_mat3_vertex" />
-<Test name="highp_uvec4_fragment" />
-<Test name="row_major_highp_mat4x2_fragment" />
-<Test name="row_major_highp_mat4x3_fragment" />
-<Test name="column_major_highp_mat3x4_vertex" />
-<Test name="row_major_highp_mat3x2_vertex" />
-<Test name="row_major_lowp_mat4x3_vertex" />
-<Test name="lowp_mat3x2_vertex" />
-<Test name="lowp_mat2_vertex" />
-<Test name="highp_mat2x4_vertex" />
-<Test name="column_major_highp_mat2x3_vertex" />
-<Test name="row_major_highp_mat2x4_fragment" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="row_major_lowp_mat4x3_fragment" />
-<Test name="lowp_mat4x2_fragment" />
-<Test name="column_major_lowp_mat4x3_fragment" />
-<Test name="column_major_lowp_mat3_vertex" />
-<Test name="mediump_mat2_fragment" />
-<Test name="lowp_mat2x3_vertex" />
-<Test name="highp_float_vertex" />
-<Test name="column_major_highp_mat3x2_vertex" />
-<Test name="mediump_uvec4_fragment" />
-<Test name="mediump_mat3x2_vertex" />
-<Test name="lowp_mat2x4_fragment" />
-<Test name="lowp_mat2x3_fragment" />
-<Test name="highp_mat3x2_fragment" />
-<Test name="lowp_float_vertex" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="mediump_mat3x2_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="column_major_mediump_mat4_fragment" />
-<Test name="row_major_lowp_mat4x2_fragment" />
-<Test name="mediump_mat4_fragment" />
-<Test name="highp_mat3_vertex" />
-<Test name="row_major_lowp_mat4_fragment" />
-<Test name="column_major_highp_mat3_fragment" />
-<Test name="column_major_highp_mat2x3_fragment" />
-<Test name="column_major_lowp_mat2x4_fragment" />
-<Test name="row_major_mediump_mat2x4_vertex" />
-<Test name="highp_vec3_vertex" />
-<Test name="column_major_highp_mat4x3_fragment" />
-<Test name="mediump_mat4x3_fragment" />
-<Test name="lowp_uvec2_vertex" />
-<Test name="highp_uvec2_fragment" />
-<Test name="highp_mat3x4_fragment" />
-<Test name="lowp_mat4x3_fragment" />
-<Test name="column_major_mediump_mat4x3_vertex" />
-<Test name="lowp_uvec4_vertex" />
-<Test name="column_major_highp_mat4x2_vertex" />
-<Test name="highp_ivec2_vertex" />
-<Test name="row_major_highp_mat2_fragment" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="mediump_uvec4_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="column_major_highp_mat3x2_fragment" />
-<Test name="mediump_vec4_fragment" />
-<Test name="row_major_mediump_mat4x2_fragment" />
-<Test name="highp_uvec3_fragment" />
-<Test name="row_major_mediump_mat3x2_fragment" />
-<Test name="row_major_lowp_mat2x4_vertex" />
-<Test name="lowp_vec4_fragment" />
-<Test name="bvec3_vertex" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="row_major_mediump_mat2x4_fragment" />
-<Test name="lowp_mat2x4_vertex" />
-<Test name="mediump_mat2x3_fragment" />
-<Test name="column_major_mediump_mat3_vertex" />
-<Test name="row_major_lowp_mat2_vertex" />
-<Test name="column_major_mediump_mat2_fragment" />
-<Test name="mediump_mat4x3_vertex" />
-<Test name="column_major_lowp_mat3x2_fragment" />
-<Test name="highp_mat4x3_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="row_major_highp_mat2x4_vertex" />
-<Test name="highp_mat2x4_fragment" />
-<Test name="mediump_int_fragment" />
-<Test name="row_major_lowp_mat2x3_vertex" />
-<Test name="row_major_highp_mat2x3_vertex" />
-<Test name="row_major_lowp_mat3x4_vertex" />
-<Test name="lowp_vec3_vertex" />
-<Test name="row_major_lowp_mat2x3_fragment" />
-<Test name="row_major_lowp_mat2x4_fragment" />
-<Test name="lowp_mat4_fragment" />
-<Test name="row_major_highp_mat2x3_fragment" />
-<Test name="lowp_vec4_vertex" />
-<Test name="row_major_highp_mat3x4_fragment" />
-<Test name="row_major_highp_mat4_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="highp_mat3x2_vertex" />
-<Test name="highp_mat4x2_fragment" />
-<Test name="column_major_mediump_mat4_vertex" />
-<Test name="column_major_mediump_mat2x3_vertex" />
-<Test name="highp_mat4_fragment" />
-<Test name="lowp_mat4x2_vertex" />
-<Test name="row_major_mediump_mat4_fragment" />
-<Test name="column_major_lowp_mat2_fragment" />
-<Test name="bvec4_vertex" />
-<Test name="row_major_mediump_mat3x2_vertex" />
-<Test name="mediump_vec3_fragment" />
-<Test name="lowp_mat2_fragment" />
-<Test name="column_major_lowp_mat3x4_vertex" />
-<Test name="column_major_mediump_mat4x2_fragment" />
-<Test name="column_major_highp_mat4_fragment" />
-<Test name="row_major_highp_mat4x2_vertex" />
-<Test name="row_major_mediump_mat3x4_vertex" />
-<Test name="bool_vertex" />
-<Test name="row_major_highp_mat3x2_fragment" />
-<Test name="mediump_mat2_vertex" />
-<Test name="highp_int_vertex" />
-<Test name="column_major_mediump_mat2x4_vertex" />
-<Test name="column_major_lowp_mat4_vertex" />
-<Test name="highp_mat4x2_vertex" />
-<Test name="column_major_mediump_mat2_vertex" />
-<Test name="highp_ivec2_fragment" />
-<Test name="row_major_lowp_mat3x4_fragment" />
-<Test name="lowp_mat3x4_vertex" />
-<Test name="row_major_lowp_mat3x2_vertex" />
-<Test name="bvec2_fragment" />
-<Test name="row_major_mediump_mat4x3_fragment" />
-<Test name="highp_uvec4_vertex" />
-<Test name="column_major_lowp_mat2x3_fragment" />
-<Test name="lowp_int_fragment" />
-<Test name="row_major_highp_mat3_fragment" />
-<Test name="lowp_vec2_fragment" />
-<Test name="column_major_highp_mat2_fragment" />
-<Test name="column_major_highp_mat2x4_vertex" />
-<Test name="mediump_uvec2_fragment" />
-<Test name="column_major_mediump_mat4x3_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="row_major_lowp_mat3x2_fragment" />
-<Test name="column_major_mediump_mat3x4_fragment" />
-<Test name="highp_ivec3_vertex" />
-<Test name="highp_mat4x3_vertex" />
-<Test name="column_major_mediump_mat3x2_fragment" />
-<Test name="row_major_lowp_mat3_fragment" />
-<Test name="bvec3_fragment" />
-<Test name="highp_mat2_fragment" />
-<Test name="lowp_mat3_fragment" />
-<Test name="lowp_int_vertex" />
-</TestCase>
-</TestSuite>
-<TestSuite name="random">
-<TestCase name="basic_instance_arrays">
-<Test name="10" />
-<Test name="13" />
-<Test name="12" />
-<Test name="21" />
-<Test name="23" />
-<Test name="16" />
-<Test name="3" />
-<Test name="7" />
-<Test name="9" />
-</TestCase>
-<TestCase name="nested_structs_arrays_instance_arrays">
-<Test name="24" />
-<Test name="12" />
-<Test name="15" />
-<Test name="23" />
-<Test name="18" />
-<Test name="1" />
-<Test name="0" />
-<Test name="9" />
-</TestCase>
-<TestCase name="all_per_block_buffers">
-<Test name="10" />
-<Test name="39" />
-<Test name="45" />
-<Test name="20" />
-<Test name="21" />
-<Test name="48" />
-<Test name="23" />
-<Test name="19" />
-<Test name="18" />
-<Test name="49" />
-<Test name="42" />
-<Test name="29" />
-<Test name="34" />
-<Test name="12" />
-<Test name="5" />
-<Test name="4" />
-<Test name="7" />
-<Test name="30" />
-<Test name="32" />
-</TestCase>
-<TestCase name="nested_structs_instance_arrays">
-<Test name="11" />
-<Test name="13" />
-<Test name="20" />
-<Test name="17" />
-<Test name="23" />
-<Test name="19" />
-<Test name="16" />
-<Test name="1" />
-<Test name="2" />
-<Test name="7" />
-<Test name="9" />
-</TestCase>
-<TestCase name="nested_structs">
-<Test name="24" />
-<Test name="10" />
-<Test name="13" />
-<Test name="14" />
-<Test name="17" />
-<Test name="18" />
-<Test name="1" />
-<Test name="5" />
-<Test name="6" />
-</TestCase>
-<TestCase name="vector_types">
-<Test name="24" />
-<Test name="11" />
-<Test name="13" />
-<Test name="12" />
-<Test name="20" />
-<Test name="21" />
-<Test name="22" />
-<Test name="16" />
-<Test name="19" />
-<Test name="18" />
-<Test name="1" />
-<Test name="2" />
-<Test name="5" />
-<Test name="4" />
-<Test name="6" />
-<Test name="9" />
-<Test name="15" />
-<Test name="17" />
-</TestCase>
-<TestCase name="nested_structs_arrays">
-<Test name="24" />
-<Test name="10" />
-<Test name="16" />
-<Test name="18" />
-<Test name="0" />
-<Test name="5" />
-<Test name="4" />
-</TestCase>
-<TestCase name="basic_types">
-<Test name="24" />
-<Test name="11" />
-<Test name="12" />
-<Test name="20" />
-<Test name="21" />
-<Test name="22" />
-<Test name="10" />
-<Test name="19" />
-<Test name="18" />
-<Test name="16" />
-<Test name="0" />
-<Test name="3" />
-<Test name="5" />
-<Test name="4" />
-<Test name="7" />
-<Test name="15" />
-<Test name="17" />
-<Test name="14" />
-</TestCase>
-<TestCase name="all_shared_buffer">
-<Test name="24" />
-<Test name="26" />
-<Test name="38" />
-<Test name="39" />
-<Test name="14" />
-<Test name="46" />
-<Test name="47" />
-<Test name="44" />
-<Test name="30" />
-<Test name="42" />
-<Test name="29" />
-<Test name="36" />
-<Test name="12" />
-<Test name="5" />
-<Test name="7" />
-<Test name="15" />
-<Test name="34" />
-</TestCase>
-<TestCase name="scalar_types">
-<Test name="11" />
-<Test name="10" />
-<Test name="13" />
-<Test name="12" />
-<Test name="22" />
-<Test name="16" />
-<Test name="19" />
-<Test name="18" />
-<Test name="0" />
-<Test name="3" />
-<Test name="2" />
-<Test name="5" />
-<Test name="7" />
-<Test name="6" />
-<Test name="9" />
-<Test name="8" />
-</TestCase>
-<TestCase name="basic_arrays">
-<Test name="24" />
-<Test name="10" />
-<Test name="20" />
-<Test name="17" />
-<Test name="22" />
-<Test name="23" />
-<Test name="16" />
-<Test name="0" />
-<Test name="4" />
-<Test name="7" />
-<Test name="6" />
-<Test name="8" />
-</TestCase>
-</TestSuite>
-<TestSuite name="single_nested_struct">
-<TestCase name="single_buffer">
-<Test name="std140_instance_array_vertex" />
-<Test name="packed_instance_array_vertex" />
-</TestCase>
-<TestCase name="per_block_buffer">
-<Test name="packed_fragment" />
-<Test name="std140_vertex" />
-<Test name="std140_both" />
-<Test name="packed_vertex" />
-<Test name="std140_instance_array_vertex" />
-<Test name="std140_fragment" />
-<Test name="packed_instance_array_vertex" />
-</TestCase>
-</TestSuite>
-<TestSuite name="multi_basic_types">
-<TestCase name="single_buffer">
-<Test name="packed_vertex" />
-<Test name="std140_fragment" />
-<Test name="packed_instance_array_mixed" />
-<Test name="std140_both" />
-<Test name="std140_instance_array_mixed" />
-<Test name="packed_instance_array_fragment" />
-<Test name="packed_fragment" />
-<Test name="std140_instance_array_both" />
-<Test name="std140_instance_array_vertex" />
-<Test name="std140_mixed" />
-<Test name="packed_mixed" />
-<Test name="std140_instance_array_fragment" />
-<Test name="std140_vertex" />
-<Test name="packed_instance_array_vertex" />
-</TestCase>
-<TestCase name="per_block_buffer">
-<Test name="packed_vertex" />
-<Test name="std140_fragment" />
-<Test name="packed_instance_array_mixed" />
-<Test name="std140_both" />
-<Test name="std140_instance_array_mixed" />
-<Test name="packed_instance_array_fragment" />
-<Test name="packed_fragment" />
-<Test name="std140_instance_array_both" />
-<Test name="std140_instance_array_vertex" />
-<Test name="std140_mixed" />
-<Test name="packed_mixed" />
-<Test name="std140_instance_array_fragment" />
-<Test name="std140_vertex" />
-<Test name="packed_instance_array_vertex" />
-</TestCase>
-</TestSuite>
-<TestSuite name="single_struct">
-<TestCase name="single_buffer">
-<Test name="std140_instance_array_vertex" />
-<Test name="packed_instance_array_fragment" />
-<Test name="shared_instance_array_vertex" />
-<Test name="shared_instance_array_both" />
-<Test name="std140_instance_array_both" />
-<Test name="std140_instance_array_fragment" />
-<Test name="shared_instance_array_fragment" />
-<Test name="packed_instance_array_vertex" />
-</TestCase>
-<TestCase name="per_block_buffer">
-<Test name="shared_vertex" />
-<Test name="std140_instance_array_vertex" />
-<Test name="std140_vertex" />
-<Test name="std140_both" />
-<Test name="packed_instance_array_fragment" />
-<Test name="shared_fragment" />
-<Test name="packed_vertex" />
-<Test name="shared_instance_array_vertex" />
-<Test name="shared_instance_array_both" />
-<Test name="std140_instance_array_both" />
-<Test name="std140_instance_array_fragment" />
-<Test name="shared_both" />
-<Test name="shared_instance_array_fragment" />
-<Test name="packed_fragment" />
-<Test name="packed_instance_array_vertex" />
-<Test name="std140_fragment" />
-</TestCase>
-</TestSuite>
-<TestSuite name="instance_array_basic_type">
-<TestCase name="shared">
-<Test name="row_major_mat2x4_vertex" />
-<Test name="column_major_mat3_vertex" />
-<Test name="row_major_mat4x2_fragment" />
-<Test name="uvec4_fragment" />
-<Test name="column_major_mat2_both" />
-<Test name="row_major_mat2x3_vertex" />
-<Test name="row_major_mat4_vertex" />
-<Test name="row_major_mat3x2_both" />
-<Test name="mat3_vertex" />
-<Test name="column_major_mat3_fragment" />
-<Test name="bvec2_both" />
-<Test name="vec3_both" />
-<Test name="bvec4_fragment" />
-<Test name="row_major_mat3x2_fragment" />
-<Test name="bvec2_vertex" />
-<Test name="uvec2_both" />
-<Test name="uvec4_both" />
-<Test name="row_major_mat3x4_fragment" />
-<Test name="row_major_mat2_vertex" />
-<Test name="row_major_mat4x3_fragment" />
-<Test name="column_major_mat3x4_fragment" />
-<Test name="row_major_mat4_both" />
-<Test name="uvec3_fragment" />
-<Test name="int_fragment" />
-<Test name="column_major_mat4x2_both" />
-<Test name="ivec2_both" />
-<Test name="row_major_mat3x2_vertex" />
-<Test name="vec4_both" />
-<Test name="mat4x3_fragment" />
-<Test name="bool_fragment" />
-<Test name="column_major_mat3x2_fragment" />
-<Test name="column_major_mat2x3_both" />
-<Test name="mat4x3_vertex" />
-<Test name="mat2x3_fragment" />
-<Test name="row_major_mat2x4_fragment" />
-<Test name="row_major_mat2_fragment" />
-<Test name="ivec3_both" />
-<Test name="row_major_mat4x2_vertex" />
-<Test name="column_major_mat4x2_fragment" />
-<Test name="vec2_fragment" />
-<Test name="mat2_fragment" />
-<Test name="uvec4_vertex" />
-<Test name="uvec2_vertex" />
-<Test name="column_major_mat4x3_both" />
-<Test name="row_major_mat2_both" />
-<Test name="mat2_both" />
-<Test name="mat3x2_both" />
-<Test name="mat3x4_vertex" />
-<Test name="mat2x4_fragment" />
-<Test name="row_major_mat2x3_both" />
-<Test name="vec2_vertex" />
-<Test name="ivec3_vertex" />
-<Test name="column_major_mat2x3_vertex" />
-<Test name="uvec2_fragment" />
-<Test name="mat4x2_vertex" />
-<Test name="column_major_mat2_vertex" />
-<Test name="mat2x3_vertex" />
-<Test name="mat2x4_vertex" />
-<Test name="mat4x2_both" />
-<Test name="ivec2_fragment" />
-<Test name="bvec3_vertex" />
-<Test name="int_vertex" />
-<Test name="column_major_mat2x4_fragment" />
-<Test name="row_major_mat3_both" />
-<Test name="mat3x2_fragment" />
-<Test name="row_major_mat3_fragment" />
-<Test name="mat2_vertex" />
-<Test name="column_major_mat4x3_vertex" />
-<Test name="row_major_mat3x4_both" />
-<Test name="row_major_mat2x3_fragment" />
-<Test name="column_major_mat4_both" />
-<Test name="bvec3_both" />
-<Test name="mat3x4_fragment" />
-<Test name="mat4_fragment" />
-<Test name="bvec4_both" />
-<Test name="column_major_mat2x4_both" />
-<Test name="row_major_mat4x3_both" />
-<Test name="column_major_mat2x3_fragment" />
-<Test name="column_major_mat3x4_both" />
-<Test name="column_major_mat3_both" />
-<Test name="vec3_fragment" />
-<Test name="mat3x4_both" />
-<Test name="bool_both" />
-<Test name="mat3_both" />
-<Test name="ivec4_fragment" />
-<Test name="mat3_fragment" />
-<Test name="row_major_mat4x3_vertex" />
-<Test name="float_both" />
-<Test name="uvec3_both" />
-<Test name="ivec4_both" />
-<Test name="row_major_mat2x4_both" />
-<Test name="column_major_mat3x2_both" />
-<Test name="vec2_both" />
-<Test name="bvec4_vertex" />
-<Test name="mat3x2_vertex" />
-<Test name="vec4_fragment" />
-<Test name="int_both" />
-<Test name="ivec3_fragment" />
-<Test name="bool_vertex" />
-<Test name="mat2x3_both" />
-<Test name="float_fragment" />
-<Test name="mat4_both" />
-<Test name="column_major_mat3x4_vertex" />
-<Test name="column_major_mat4_fragment" />
-<Test name="bvec2_fragment" />
-<Test name="column_major_mat2_fragment" />
-<Test name="row_major_mat4_fragment" />
-<Test name="mat4_vertex" />
-<Test name="column_major_mat4_vertex" />
-<Test name="ivec2_vertex" />
-<Test name="column_major_mat3x2_vertex" />
-<Test name="mat2x4_both" />
-<Test name="ivec4_vertex" />
-<Test name="column_major_mat2x4_vertex" />
-<Test name="row_major_mat3x4_vertex" />
-<Test name="row_major_mat3_vertex" />
-<Test name="vec3_vertex" />
-<Test name="row_major_mat4x2_both" />
-<Test name="column_major_mat4x2_vertex" />
-<Test name="column_major_mat4x3_fragment" />
-<Test name="uvec3_vertex" />
-<Test name="bvec3_fragment" />
-<Test name="mat4x3_both" />
-<Test name="float_vertex" />
-<Test name="vec4_vertex" />
-<Test name="mat4x2_fragment" />
-</TestCase>
-<TestCase name="std140">
-<Test name="row_major_mat2x4_vertex" />
-<Test name="column_major_mat3_vertex" />
-<Test name="row_major_mat4x2_fragment" />
-<Test name="uvec4_fragment" />
-<Test name="column_major_mat2_both" />
-<Test name="row_major_mat2x3_vertex" />
-<Test name="row_major_mat4_vertex" />
-<Test name="row_major_mat3x2_both" />
-<Test name="mat3_vertex" />
-<Test name="column_major_mat3_fragment" />
-<Test name="bvec2_both" />
-<Test name="vec3_both" />
-<Test name="bvec4_fragment" />
-<Test name="row_major_mat3x2_fragment" />
-<Test name="bvec2_vertex" />
-<Test name="uvec2_both" />
-<Test name="uvec4_both" />
-<Test name="row_major_mat3x4_fragment" />
-<Test name="row_major_mat2_vertex" />
-<Test name="row_major_mat4x3_fragment" />
-<Test name="column_major_mat3x4_fragment" />
-<Test name="row_major_mat4_both" />
-<Test name="uvec3_fragment" />
-<Test name="int_fragment" />
-<Test name="column_major_mat4x2_both" />
-<Test name="ivec2_both" />
-<Test name="row_major_mat3x2_vertex" />
-<Test name="vec4_both" />
-<Test name="mat4x3_fragment" />
-<Test name="bool_fragment" />
-<Test name="column_major_mat3x2_fragment" />
-<Test name="column_major_mat2x3_both" />
-<Test name="mat4x3_vertex" />
-<Test name="mat2x3_fragment" />
-<Test name="row_major_mat2x4_fragment" />
-<Test name="row_major_mat2_fragment" />
-<Test name="ivec3_both" />
-<Test name="row_major_mat4x2_vertex" />
-<Test name="column_major_mat4x2_fragment" />
-<Test name="vec2_fragment" />
-<Test name="mat2_fragment" />
-<Test name="uvec4_vertex" />
-<Test name="uvec2_vertex" />
-<Test name="column_major_mat4x3_both" />
-<Test name="row_major_mat2_both" />
-<Test name="mat2_both" />
-<Test name="mat3x2_both" />
-<Test name="mat3x4_vertex" />
-<Test name="mat2x4_fragment" />
-<Test name="row_major_mat2x3_both" />
-<Test name="vec2_vertex" />
-<Test name="ivec3_vertex" />
-<Test name="column_major_mat2x3_vertex" />
-<Test name="uvec2_fragment" />
-<Test name="mat4x2_vertex" />
-<Test name="column_major_mat2_vertex" />
-<Test name="mat2x3_vertex" />
-<Test name="mat2x4_vertex" />
-<Test name="mat4x2_both" />
-<Test name="ivec2_fragment" />
-<Test name="bvec3_vertex" />
-<Test name="int_vertex" />
-<Test name="column_major_mat2x4_fragment" />
-<Test name="row_major_mat3_both" />
-<Test name="mat3x2_fragment" />
-<Test name="row_major_mat3_fragment" />
-<Test name="mat2_vertex" />
-<Test name="column_major_mat4x3_vertex" />
-<Test name="row_major_mat3x4_both" />
-<Test name="row_major_mat2x3_fragment" />
-<Test name="column_major_mat4_both" />
-<Test name="bvec3_both" />
-<Test name="mat3x4_fragment" />
-<Test name="mat4_fragment" />
-<Test name="bvec4_both" />
-<Test name="column_major_mat2x4_both" />
-<Test name="row_major_mat4x3_both" />
-<Test name="column_major_mat2x3_fragment" />
-<Test name="column_major_mat3x4_both" />
-<Test name="column_major_mat3_both" />
-<Test name="vec3_fragment" />
-<Test name="mat3x4_both" />
-<Test name="bool_both" />
-<Test name="mat3_both" />
-<Test name="ivec4_fragment" />
-<Test name="mat3_fragment" />
-<Test name="row_major_mat4x3_vertex" />
-<Test name="float_both" />
-<Test name="uvec3_both" />
-<Test name="ivec4_both" />
-<Test name="row_major_mat2x4_both" />
-<Test name="column_major_mat3x2_both" />
-<Test name="vec2_both" />
-<Test name="bvec4_vertex" />
-<Test name="mat3x2_vertex" />
-<Test name="vec4_fragment" />
-<Test name="int_both" />
-<Test name="ivec3_fragment" />
-<Test name="bool_vertex" />
-<Test name="mat2x3_both" />
-<Test name="float_fragment" />
-<Test name="mat4_both" />
-<Test name="column_major_mat3x4_vertex" />
-<Test name="column_major_mat4_fragment" />
-<Test name="bvec2_fragment" />
-<Test name="column_major_mat2_fragment" />
-<Test name="row_major_mat4_fragment" />
-<Test name="mat4_vertex" />
-<Test name="column_major_mat4_vertex" />
-<Test name="ivec2_vertex" />
-<Test name="column_major_mat3x2_vertex" />
-<Test name="mat2x4_both" />
-<Test name="ivec4_vertex" />
-<Test name="column_major_mat2x4_vertex" />
-<Test name="row_major_mat3x4_vertex" />
-<Test name="row_major_mat3_vertex" />
-<Test name="vec3_vertex" />
-<Test name="row_major_mat4x2_both" />
-<Test name="column_major_mat4x2_vertex" />
-<Test name="column_major_mat4x3_fragment" />
-<Test name="uvec3_vertex" />
-<Test name="bvec3_fragment" />
-<Test name="mat4x3_both" />
-<Test name="float_vertex" />
-<Test name="vec4_vertex" />
-<Test name="mat4x2_fragment" />
-</TestCase>
-<TestCase name="packed">
-<Test name="ivec4_fragment" />
-<Test name="row_major_mat2x4_vertex" />
-<Test name="row_major_mat4x3_vertex" />
-<Test name="mat2x4_fragment" />
-<Test name="column_major_mat2x4_vertex" />
-<Test name="ivec2_fragment" />
-<Test name="mat3_fragment" />
-<Test name="bvec3_vertex" />
-<Test name="column_major_mat4_fragment" />
-<Test name="row_major_mat3x2_vertex" />
-<Test name="int_vertex" />
-<Test name="column_major_mat2x4_fragment" />
-<Test name="column_major_mat3_vertex" />
-<Test name="mat4_fragment" />
-<Test name="column_major_mat3x4_fragment" />
-<Test name="column_major_mat3x4_vertex" />
-<Test name="row_major_mat4x2_fragment" />
-<Test name="column_major_mat3x2_vertex" />
-<Test name="mat4x3_fragment" />
-<Test name="mat3x2_fragment" />
-<Test name="bool_fragment" />
-<Test name="column_major_mat3x2_fragment" />
-<Test name="uvec4_fragment" />
-<Test name="mat3x2_vertex" />
-<Test name="column_major_mat4x2_fragment" />
-<Test name="mat4x3_vertex" />
-<Test name="mat2x3_fragment" />
-<Test name="row_major_mat2x3_vertex" />
-<Test name="row_major_mat4_vertex" />
-<Test name="vec3_fragment" />
-<Test name="row_major_mat3_fragment" />
-<Test name="float_fragment" />
-<Test name="mat3_vertex" />
-<Test name="bool_vertex" />
-<Test name="vec3_vertex" />
-<Test name="row_major_mat4x2_vertex" />
-<Test name="mat2_vertex" />
-<Test name="column_major_mat4x2_vertex" />
-<Test name="vec2_fragment" />
-<Test name="column_major_mat3_fragment" />
-<Test name="uvec3_vertex" />
-<Test name="column_major_mat4_vertex" />
-<Test name="vec4_fragment" />
-<Test name="mat3x4_fragment" />
-<Test name="uvec4_vertex" />
-<Test name="uvec2_vertex" />
-<Test name="bvec2_fragment" />
-<Test name="column_major_mat2_fragment" />
-<Test name="mat4x2_fragment" />
-<Test name="column_major_mat4x3_vertex" />
-<Test name="mat4_vertex" />
-<Test name="bvec4_fragment" />
-<Test name="mat2_fragment" />
-<Test name="float_vertex" />
-<Test name="row_major_mat3x2_fragment" />
-<Test name="ivec2_vertex" />
-<Test name="bvec2_vertex" />
-<Test name="row_major_mat4_fragment" />
-<Test name="ivec4_vertex" />
-<Test name="vec2_vertex" />
-<Test name="row_major_mat3x4_fragment" />
-<Test name="row_major_mat2x3_fragment" />
-<Test name="row_major_mat3x4_vertex" />
-<Test name="row_major_mat2_vertex" />
-<Test name="row_major_mat3_vertex" />
-<Test name="ivec3_vertex" />
-<Test name="row_major_mat4x3_fragment" />
-<Test name="row_major_mat2x4_fragment" />
-<Test name="column_major_mat2x3_fragment" />
-<Test name="ivec3_fragment" />
-<Test name="row_major_mat2_fragment" />
-<Test name="column_major_mat2x3_vertex" />
-<Test name="column_major_mat4x3_fragment" />
-<Test name="uvec2_fragment" />
-<Test name="mat4x2_vertex" />
-<Test name="bvec4_vertex" />
-<Test name="column_major_mat2_vertex" />
-<Test name="uvec3_fragment" />
-<Test name="int_fragment" />
-<Test name="bvec3_fragment" />
-<Test name="mat2x3_vertex" />
-<Test name="mat3x4_vertex" />
-<Test name="vec4_vertex" />
-<Test name="mat2x4_vertex" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-<TestSuite name="primitive_restart">
-<TestSuite name="end_restart">
-<TestSuite name="line_strip">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-<TestSuite name="lines">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-<TestSuite name="line_loop">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-<TestSuite name="triangle_strip">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-<TestSuite name="points">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-<TestSuite name="triangle_fan">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-<TestSuite name="triangles">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-<TestSuite name="begin_restart">
-<TestSuite name="line_strip">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-<TestSuite name="lines">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-<TestSuite name="line_loop">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-<TestSuite name="triangle_strip">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-<TestSuite name="triangle_fan">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-<TestSuite name="triangles">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-<TestSuite name="begin_restart_end_restart">
-<TestSuite name="line_strip">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-<TestSuite name="lines">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-<TestSuite name="line_loop">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-<TestSuite name="triangle_strip">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-<TestSuite name="triangle_fan">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-<TestSuite name="triangles">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-<TestSuite name="end_restart_duplicate_restarts">
-<TestSuite name="line_strip">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-<TestSuite name="lines">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-<TestSuite name="line_loop">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-<TestSuite name="triangle_strip">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-<TestSuite name="triangle_fan">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-<TestSuite name="triangles">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-<TestSuite name="begin_restart_duplicate_restarts">
-<TestSuite name="line_strip">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-<TestSuite name="lines">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-<TestSuite name="line_loop">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-<TestSuite name="triangle_strip">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-<TestSuite name="triangle_fan">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-<TestSuite name="triangles">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-<TestSuite name="basic">
-<TestSuite name="line_strip">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-<TestSuite name="lines">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-<TestSuite name="line_loop">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-<TestSuite name="triangle_strip">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-<TestSuite name="points">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-<TestSuite name="triangle_fan">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-<TestSuite name="triangles">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-<TestSuite name="duplicate_restarts">
-<TestSuite name="line_strip">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-<TestSuite name="lines">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-<TestSuite name="line_loop">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-<TestSuite name="triangle_strip">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-<TestSuite name="triangle_fan">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-<TestSuite name="triangles">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-<TestSuite name="begin_restart_end_restart_duplicate_restarts">
-<TestSuite name="line_strip">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-<TestSuite name="lines">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-<TestSuite name="line_loop">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-<TestSuite name="triangle_strip">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-<TestSuite name="triangle_fan">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-<TestSuite name="triangles">
-<TestCase name="unsigned_short">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_byte">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-<TestCase name="unsigned_int">
-<Test name="draw_elements_instanced" />
-<Test name="draw_range_elements" />
-<Test name="draw_elements" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-</TestSuite>
-<TestSuite name="shader_api">
-<TestCase name="shader_source">
-<Test name="split_source_2_null_terminated_fragment" />
-<Test name="split_source_4_null_terminated_vertex" />
-<Test name="split_source_2_null_terminated_vertex" />
-<Test name="split_source_2_specify_lengths_fragment" />
-<Test name="replace_source_vertex" />
-<Test name="split_source_4_null_terminated_fragment" />
-<Test name="split_source_8_random_negative_length_vertex" />
-<Test name="split_source_2_specify_lengths_vertex" />
-<Test name="split_source_8_specify_lengths_fragment" />
-<Test name="split_source_8_null_terminated_vertex" />
-<Test name="split_source_2_random_negative_length_fragment" />
-<Test name="split_source_4_random_negative_length_vertex" />
-<Test name="split_source_8_specify_lengths_vertex" />
-<Test name="replace_source_fragment" />
-<Test name="split_source_8_null_terminated_fragment" />
-<Test name="split_source_4_specify_lengths_vertex" />
-<Test name="split_source_2_random_negative_length_vertex" />
-<Test name="split_source_4_random_negative_length_fragment" />
-<Test name="split_source_8_random_negative_length_fragment" />
-<Test name="split_source_4_specify_lengths_fragment" />
-</TestCase>
-<TestCase name="program_state">
-<Test name="detach_shader_fragment" />
-<Test name="detach_shader_vertex" />
-<Test name="replace_source_vertex" />
-<Test name="recompile_shader_vertex" />
-<Test name="replace_source_fragment" />
-<Test name="delete_shader_vertex" />
-<Test name="reattach_shader_fragment" />
-<Test name="replace_shader_vertex" />
-<Test name="delete_shader_fragment" />
-<Test name="reattach_shader_vertex" />
-<Test name="recompile_shader_fragment" />
-<Test name="replace_shader_fragment" />
-</TestCase>
-<TestCase name="compile_link">
-<Test name="compile_vertex_shader" />
-<Test name="link_vertex_fragment" />
-<Test name="compile_fragment_shader" />
-</TestCase>
-<TestSuite name="program_binary">
-<TestCase name="simple">
-<Test name="get_program_binary_vertex_fragment" />
-<Test name="uniform_reset_on_binary_load" />
-</TestCase>
-<TestCase name="binary_persistence">
-<Test name="detach_shader_fragment" />
-<Test name="detach_shader_vertex" />
-<Test name="replace_source_vertex" />
-<Test name="recompile_shader_vertex" />
-<Test name="replace_source_fragment" />
-<Test name="delete_shader_vertex" />
-<Test name="reattach_shader_fragment" />
-<Test name="replace_shader_vertex" />
-<Test name="delete_shader_fragment" />
-<Test name="reattach_shader_vertex" />
-<Test name="recompile_shader_fragment" />
-<Test name="replace_shader_fragment" />
-</TestCase>
-</TestSuite>
-<TestCase name="create_delete">
-<Test name="create_vertex_shader" />
-<Test name="delete_vertex_fragment" />
-<Test name="create_fragment_shader" />
-</TestCase>
-</TestSuite>
-<TestSuite name="read_pixels">
-<TestCase name="rowlength">
-<Test name="choose_23" />
-<Test name="rgba_int_23" />
-<Test name="rgba_int_19" />
-<Test name="rgba_uint_29" />
-<Test name="rgba_int_29" />
-<Test name="rgba_int_17" />
-<Test name="rgba_uint_23" />
-<Test name="choose_29" />
-<Test name="rgba_ubyte_23" />
-<Test name="rgba_uint_17" />
-<Test name="rgba_ubyte_19" />
-<Test name="choose_17" />
-<Test name="choose_19" />
-<Test name="rgba_ubyte_29" />
-<Test name="rgba_uint_19" />
-<Test name="rgba_ubyte_17" />
-</TestCase>
-<TestCase name="alignment">
-<Test name="rgba_ubyte_1" />
-<Test name="choose_8" />
-<Test name="rgba_ubyte_2" />
-<Test name="rgba_ubyte_4" />
-<Test name="rgba_uint_8" />
-<Test name="choose_2" />
-<Test name="rgba_ubyte_8" />
-<Test name="rgba_uint_4" />
-<Test name="rgba_uint_2" />
-<Test name="rgba_uint_1" />
-<Test name="rgba_int_8" />
-<Test name="choose_4" />
-<Test name="choose_1" />
-<Test name="rgba_int_2" />
-<Test name="rgba_int_1" />
-<Test name="rgba_int_4" />
-</TestCase>
-<TestCase name="skip">
-<Test name="rgba_uint_3_3" />
-<Test name="rgba_ubyte_3_0" />
-<Test name="rgba_ubyte_3_3" />
-<Test name="rgba_uint_3_0" />
-<Test name="rgba_ubyte_3_5" />
-<Test name="rgba_uint_3_5" />
-<Test name="rgba_int_3_0" />
-<Test name="rgba_uint_0_3" />
-<Test name="rgba_int_3_5" />
-<Test name="choose_3_0" />
-<Test name="choose_3_3" />
-<Test name="choose_0_3" />
-<Test name="rgba_ubyte_0_3" />
-<Test name="rgba_int_3_3" />
-<Test name="rgba_int_0_3" />
-<Test name="choose_3_5" />
-</TestCase>
-</TestSuite>
-<TestSuite name="samplers">
-<TestCase name="single_tex_3d">
-<Test name="diff_wrap_r" />
-<Test name="diff_wrap_s" />
-<Test name="diff_min_lod" />
-<Test name="diff_wrap_t" />
-<Test name="diff_max_lod" />
-<Test name="diff_mag_filter" />
-<Test name="diff_min_filter" />
-</TestCase>
-<TestCase name="single_tex_2d">
-<Test name="diff_wrap_r" />
-<Test name="diff_wrap_s" />
-<Test name="diff_min_lod" />
-<Test name="diff_wrap_t" />
-<Test name="diff_max_lod" />
-<Test name="diff_mag_filter" />
-<Test name="diff_min_filter" />
-</TestCase>
-<TestCase name="single_cubemap">
-<Test name="diff_wrap_r" />
-<Test name="diff_wrap_s" />
-<Test name="diff_min_lod" />
-<Test name="diff_wrap_t" />
-<Test name="diff_max_lod" />
-<Test name="diff_mag_filter" />
-<Test name="diff_min_filter" />
-</TestCase>
-<TestCase name="multi_tex_2d">
-<Test name="diff_wrap_r" />
-<Test name="diff_wrap_s" />
-<Test name="diff_min_lod" />
-<Test name="diff_wrap_t" />
-<Test name="diff_max_lod" />
-<Test name="diff_mag_filter" />
-<Test name="diff_min_filter" />
-</TestCase>
-<TestCase name="multi_cubemap">
-<Test name="diff_wrap_r" />
-<Test name="diff_wrap_s" />
-<Test name="diff_min_lod" />
-<Test name="diff_wrap_t" />
-<Test name="diff_max_lod" />
-<Test name="diff_mag_filter" />
-<Test name="diff_min_filter" />
-</TestCase>
-<TestCase name="multi_tex_3d">
-<Test name="diff_wrap_r" />
-<Test name="diff_wrap_s" />
-<Test name="diff_min_lod" />
-<Test name="diff_wrap_t" />
-<Test name="diff_max_lod" />
-<Test name="diff_mag_filter" />
-<Test name="diff_min_filter" />
-</TestCase>
-</TestSuite>
-<TestCase name="polygon_offset">
-<Test name="fixed24_enable" />
-<Test name="float32_render_with_factor" />
-<Test name="fixed24_factor_0_slope" />
-<Test name="float32_render_with_units" />
-<Test name="fixed16_render_with_factor" />
-<Test name="float32_factor_0_slope" />
-<Test name="fixed16_enable" />
-<Test name="default_render_with_factor" />
-<Test name="float32_enable" />
-<Test name="fixed16_factor_0_slope" />
-<Test name="default_factor_0_slope" />
-<Test name="fixed24_render_with_factor" />
-<Test name="default_enable" />
-</TestCase>
-<TestSuite name="shaders">
-<TestSuite name="conversions">
-<TestCase name="vector_illegal">
-<Test name="vec2_to_vec4_vertex" />
-<Test name="ivec3_to_vec4_vertex" />
-<Test name="ivec3_to_bvec4_vertex" />
-<Test name="vec3_to_vec4_fragment" />
-<Test name="uvec2_to_ivec3_vertex" />
-<Test name="vec2_to_ivec4_vertex" />
-<Test name="vec2_to_bvec3_vertex" />
-<Test name="ivec2_to_ivec4_fragment" />
-<Test name="uvec2_to_vec4_fragment" />
-<Test name="vec3_to_ivec4_vertex" />
-<Test name="bvec2_to_ivec4_vertex" />
-<Test name="ivec2_to_ivec3_fragment" />
-<Test name="ivec2_to_vec3_fragment" />
-<Test name="vec2_to_uvec4_vertex" />
-<Test name="ivec3_to_ivec4_vertex" />
-<Test name="uvec2_to_bvec3_fragment" />
-<Test name="vec3_to_ivec4_fragment" />
-<Test name="ivec2_to_bvec3_vertex" />
-<Test name="bvec2_to_uvec3_fragment" />
-<Test name="ivec2_to_bvec4_vertex" />
-<Test name="ivec2_to_bvec3_fragment" />
-<Test name="vec2_to_bvec4_vertex" />
-<Test name="bvec2_to_uvec3_vertex" />
-<Test name="vec2_to_ivec3_vertex" />
-<Test name="uvec2_to_ivec4_vertex" />
-<Test name="bvec2_to_ivec3_vertex" />
-<Test name="vec2_to_uvec3_fragment" />
-<Test name="uvec2_to_uvec3_fragment" />
-<Test name="vec2_to_bvec4_fragment" />
-<Test name="ivec2_to_uvec4_fragment" />
-<Test name="bvec2_to_ivec4_fragment" />
-<Test name="bvec2_to_uvec4_fragment" />
-<Test name="bvec3_to_bvec4_vertex" />
-<Test name="vec3_to_uvec4_fragment" />
-<Test name="bvec2_to_bvec3_vertex" />
-<Test name="vec2_to_vec3_fragment" />
-<Test name="ivec3_to_uvec4_vertex" />
-<Test name="vec3_to_bvec4_vertex" />
-<Test name="uvec3_to_vec4_fragment" />
-<Test name="bvec2_to_uvec4_vertex" />
-<Test name="bvec2_to_bvec4_fragment" />
-<Test name="bvec3_to_vec4_fragment" />
-<Test name="bvec3_to_uvec4_fragment" />
-<Test name="ivec2_to_bvec4_fragment" />
-<Test name="vec3_to_uvec4_vertex" />
-<Test name="uvec3_to_ivec4_vertex" />
-<Test name="bvec2_to_vec3_vertex" />
-<Test name="ivec3_to_vec4_fragment" />
-<Test name="ivec3_to_bvec4_fragment" />
-<Test name="uvec2_to_uvec4_vertex" />
-<Test name="ivec2_to_ivec3_vertex" />
-<Test name="ivec2_to_vec4_vertex" />
-<Test name="uvec2_to_uvec4_fragment" />
-<Test name="bvec2_to_ivec3_fragment" />
-<Test name="vec2_to_uvec3_vertex" />
-<Test name="uvec3_to_bvec4_fragment" />
-<Test name="ivec3_to_ivec4_fragment" />
-<Test name="ivec2_to_uvec3_fragment" />
-<Test name="vec3_to_vec4_vertex" />
-<Test name="bvec2_to_bvec3_fragment" />
-<Test name="vec2_to_bvec3_fragment" />
-<Test name="uvec2_to_bvec4_fragment" />
-<Test name="uvec3_to_uvec4_vertex" />
-<Test name="uvec3_to_uvec4_fragment" />
-<Test name="ivec2_to_ivec4_vertex" />
-<Test name="bvec3_to_vec4_vertex" />
-<Test name="ivec2_to_vec3_vertex" />
-<Test name="ivec3_to_uvec4_fragment" />
-<Test name="bvec3_to_uvec4_vertex" />
-<Test name="ivec2_to_uvec4_vertex" />
-<Test name="bvec2_to_vec4_fragment" />
-<Test name="ivec2_to_uvec3_vertex" />
-<Test name="uvec3_to_vec4_vertex" />
-<Test name="uvec2_to_vec3_vertex" />
-<Test name="uvec2_to_ivec3_fragment" />
-<Test name="vec2_to_ivec4_fragment" />
-<Test name="vec2_to_uvec4_fragment" />
-<Test name="uvec2_to_vec4_vertex" />
-<Test name="ivec2_to_vec4_fragment" />
-<Test name="bvec2_to_vec4_vertex" />
-<Test name="bvec3_to_bvec4_fragment" />
-<Test name="bvec2_to_bvec4_vertex" />
-<Test name="uvec3_to_bvec4_vertex" />
-<Test name="uvec2_to_vec3_fragment" />
-<Test name="vec2_to_vec4_fragment" />
-<Test name="vec2_to_vec3_vertex" />
-<Test name="uvec3_to_ivec4_fragment" />
-<Test name="vec2_to_ivec3_fragment" />
-<Test name="uvec2_to_ivec4_fragment" />
-<Test name="vec3_to_bvec4_fragment" />
-<Test name="bvec3_to_ivec4_vertex" />
-<Test name="uvec2_to_uvec3_vertex" />
-<Test name="bvec2_to_vec3_fragment" />
-<Test name="uvec2_to_bvec4_vertex" />
-<Test name="uvec2_to_bvec3_vertex" />
-<Test name="bvec3_to_ivec4_fragment" />
-</TestCase>
-<TestCase name="scalar_to_matrix">
-<Test name="bool_to_mat3x2_fragment" />
-<Test name="float_to_mat3_vertex" />
-<Test name="float_to_mat4x3_fragment" />
-<Test name="bool_to_mat4x2_fragment" />
-<Test name="float_to_mat4_fragment" />
-<Test name="float_to_mat4x3_vertex" />
-<Test name="float_to_mat4_vertex" />
-<Test name="bool_to_mat2x3_vertex" />
-<Test name="bool_to_mat4x3_fragment" />
-<Test name="int_to_mat2_fragment" />
-<Test name="int_to_mat3x4_fragment" />
-<Test name="float_to_mat2_fragment" />
-<Test name="uint_to_mat2_fragment" />
-<Test name="int_to_mat2x3_vertex" />
-<Test name="uint_to_mat4_fragment" />
-<Test name="int_to_mat3x4_vertex" />
-<Test name="float_to_mat2x3_fragment" />
-<Test name="int_to_mat3_vertex" />
-<Test name="uint_to_mat3x4_vertex" />
-<Test name="float_to_mat3x2_vertex" />
-<Test name="float_to_mat2x4_fragment" />
-<Test name="float_to_mat2x3_vertex" />
-<Test name="uint_to_mat3x4_fragment" />
-<Test name="bool_to_mat3x2_vertex" />
-<Test name="float_to_mat2_vertex" />
-<Test name="bool_to_mat2_vertex" />
-<Test name="int_to_mat3x2_vertex" />
-<Test name="uint_to_mat4_vertex" />
-<Test name="int_to_mat2_vertex" />
-<Test name="uint_to_mat2x3_fragment" />
-<Test name="uint_to_mat4x2_vertex" />
-<Test name="bool_to_mat2_fragment" />
-<Test name="float_to_mat4x2_vertex" />
-<Test name="bool_to_mat4_fragment" />
-<Test name="int_to_mat4x3_fragment" />
-<Test name="int_to_mat4_vertex" />
-<Test name="uint_to_mat3_fragment" />
-<Test name="int_to_mat2x4_fragment" />
-<Test name="bool_to_mat3x4_vertex" />
-<Test name="int_to_mat3_fragment" />
-<Test name="bool_to_mat2x4_vertex" />
-<Test name="bool_to_mat3x4_fragment" />
-<Test name="uint_to_mat2_vertex" />
-<Test name="float_to_mat4x2_fragment" />
-<Test name="uint_to_mat4x3_vertex" />
-<Test name="uint_to_mat3_vertex" />
-<Test name="int_to_mat4x2_fragment" />
-<Test name="bool_to_mat2x3_fragment" />
-<Test name="bool_to_mat4x2_vertex" />
-<Test name="float_to_mat3x4_fragment" />
-<Test name="bool_to_mat4x3_vertex" />
-<Test name="int_to_mat4x2_vertex" />
-<Test name="uint_to_mat3x2_fragment" />
-<Test name="uint_to_mat3x2_vertex" />
-<Test name="bool_to_mat3_fragment" />
-<Test name="uint_to_mat4x2_fragment" />
-<Test name="int_to_mat2x4_vertex" />
-<Test name="float_to_mat3_fragment" />
-<Test name="int_to_mat2x3_fragment" />
-<Test name="float_to_mat3x2_fragment" />
-<Test name="float_to_mat3x4_vertex" />
-<Test name="float_to_mat2x4_vertex" />
-<Test name="uint_to_mat2x3_vertex" />
-<Test name="int_to_mat3x2_fragment" />
-<Test name="bool_to_mat4_vertex" />
-<Test name="uint_to_mat4x3_fragment" />
-<Test name="bool_to_mat3_vertex" />
-<Test name="bool_to_mat2x4_fragment" />
-<Test name="int_to_mat4x3_vertex" />
-<Test name="uint_to_mat2x4_vertex" />
-<Test name="int_to_mat4_fragment" />
-<Test name="uint_to_mat2x4_fragment" />
-</TestCase>
-<TestCase name="vector_to_scalar">
-<Test name="uvec3_to_int_vertex" />
-<Test name="uvec2_to_int_fragment" />
-<Test name="uvec3_to_int_fragment" />
-<Test name="uvec2_to_uint_fragment" />
-<Test name="ivec3_to_int_vertex" />
-<Test name="bvec4_to_bool_fragment" />
-<Test name="ivec4_to_float_vertex" />
-<Test name="vec3_to_uint_fragment" />
-<Test name="bvec2_to_float_vertex" />
-<Test name="uvec2_to_int_vertex" />
-<Test name="bvec3_to_float_vertex" />
-<Test name="bvec3_to_float_fragment" />
-<Test name="uvec3_to_uint_vertex" />
-<Test name="ivec4_to_uint_vertex" />
-<Test name="vec4_to_bool_fragment" />
-<Test name="bvec2_to_int_fragment" />
-<Test name="vec3_to_int_vertex" />
-<Test name="bvec3_to_bool_vertex" />
-<Test name="vec4_to_uint_vertex" />
-<Test name="vec3_to_uint_vertex" />
-<Test name="vec4_to_uint_fragment" />
-<Test name="bvec4_to_int_fragment" />
-<Test name="bvec2_to_uint_vertex" />
-<Test name="uvec4_to_int_vertex" />
-<Test name="uvec3_to_bool_fragment" />
-<Test name="ivec2_to_uint_vertex" />
-<Test name="ivec3_to_uint_fragment" />
-<Test name="bvec4_to_bool_vertex" />
-<Test name="uvec4_to_uint_vertex" />
-<Test name="vec2_to_float_vertex" />
-<Test name="ivec3_to_uint_vertex" />
-<Test name="uvec4_to_bool_fragment" />
-<Test name="ivec3_to_float_vertex" />
-<Test name="vec3_to_int_fragment" />
-<Test name="bvec3_to_bool_fragment" />
-<Test name="ivec4_to_bool_fragment" />
-<Test name="uvec3_to_bool_vertex" />
-<Test name="vec3_to_float_vertex" />
-<Test name="vec4_to_int_vertex" />
-<Test name="uvec3_to_float_vertex" />
-<Test name="bvec4_to_int_vertex" />
-<Test name="vec2_to_uint_vertex" />
-<Test name="ivec4_to_float_fragment" />
-<Test name="uvec4_to_float_fragment" />
-<Test name="ivec2_to_int_fragment" />
-<Test name="uvec2_to_bool_fragment" />
-<Test name="uvec2_to_float_vertex" />
-<Test name="vec2_to_bool_vertex" />
-<Test name="bvec4_to_uint_vertex" />
-<Test name="vec4_to_float_fragment" />
-<Test name="ivec3_to_int_fragment" />
-<Test name="ivec4_to_uint_fragment" />
-<Test name="ivec4_to_int_fragment" />
-<Test name="uvec3_to_uint_fragment" />
-<Test name="bvec2_to_int_vertex" />
-<Test name="vec2_to_int_fragment" />
-<Test name="bvec4_to_uint_fragment" />
-<Test name="ivec2_to_int_vertex" />
-<Test name="bvec2_to_bool_fragment" />
-<Test name="vec4_to_int_fragment" />
-<Test name="bvec3_to_uint_fragment" />
-<Test name="vec4_to_bool_vertex" />
-<Test name="ivec4_to_int_vertex" />
-<Test name="uvec4_to_int_fragment" />
-<Test name="vec3_to_bool_fragment" />
-<Test name="uvec4_to_float_vertex" />
-<Test name="uvec2_to_bool_vertex" />
-<Test name="ivec2_to_float_vertex" />
-<Test name="vec2_to_int_vertex" />
-<Test name="uvec2_to_uint_vertex" />
-<Test name="bvec3_to_int_vertex" />
-<Test name="uvec3_to_float_fragment" />
-<Test name="uvec4_to_uint_fragment" />
-<Test name="ivec2_to_uint_fragment" />
-<Test name="bvec2_to_bool_vertex" />
-<Test name="vec4_to_float_vertex" />
-<Test name="vec3_to_float_fragment" />
-<Test name="bvec3_to_int_fragment" />
-<Test name="vec3_to_bool_vertex" />
-<Test name="bvec4_to_float_fragment" />
-<Test name="ivec3_to_bool_vertex" />
-<Test name="uvec4_to_bool_vertex" />
-<Test name="ivec2_to_bool_vertex" />
-<Test name="ivec2_to_bool_fragment" />
-<Test name="bvec3_to_uint_vertex" />
-<Test name="vec2_to_bool_fragment" />
-<Test name="ivec3_to_bool_fragment" />
-<Test name="bvec2_to_uint_fragment" />
-<Test name="ivec3_to_float_fragment" />
-<Test name="vec2_to_float_fragment" />
-<Test name="bvec2_to_float_fragment" />
-<Test name="bvec4_to_float_vertex" />
-<Test name="ivec4_to_bool_vertex" />
-<Test name="uvec2_to_float_fragment" />
-<Test name="vec2_to_uint_fragment" />
-<Test name="ivec2_to_float_fragment" />
-</TestCase>
-<TestCase name="matrix_combine">
-<Test name="uint_uint_uint_uint_to_mat2_fragment" />
-<Test name="vec2_vec2_to_mat2_vertex" />
-<Test name="vec3_ivec3_to_mat2x3_fragment" />
-<Test name="vec2_ivec2_float_float_float_int_int_bool_bool_bool_to_mat4x3_fragment" />
-<Test name="vec3_vec3_vec2_to_mat2x4_vertex" />
-<Test name="vec2_bvec4_to_mat3x2_fragment" />
-<Test name="bool_bool_bool_bool_bool_bool_to_mat3x2_fragment" />
-<Test name="float_bvec4_ivec2_bool_bool_to_mat3_vertex" />
-<Test name="vec2_ivec2_float_float_float_int_int_bool_bool_bool_to_mat3x4_vertex" />
-<Test name="bool_float_ivec2_to_mat2_fragment" />
-<Test name="float_uvec3_to_mat2_vertex" />
-<Test name="float_float_float_float_to_mat2_fragment" />
-<Test name="vec4_vec4_vec4_to_mat4x3_vertex" />
-<Test name="bvec3_float_ivec2_to_mat3x2_vertex" />
-<Test name="bool_bvec4_int_vec4_bool_float_to_mat3x4_vertex" />
-<Test name="vec2_ivec2_to_mat2_vertex" />
-<Test name="vec3_ivec3_to_mat3x2_fragment" />
-<Test name="bool_bool_bool_bool_bool_bool_to_mat2x3_vertex" />
-<Test name="bool_bvec4_int_vec4_bool_float_to_mat4x3_fragment" />
-<Test name="vec2_vec2_to_mat2_fragment" />
-<Test name="ivec4_ivec4_ivec4_to_mat3x4_fragment" />
-<Test name="bool_bool_bool_bool_bool_bool_to_mat3x2_vertex" />
-<Test name="bvec3_bvec3_to_mat2x3_vertex" />
-<Test name="bool_float_int_bool_to_mat2_fragment" />
-<Test name="bvec3_float_ivec2_to_mat3x2_fragment" />
-<Test name="bool_bvec2_int_vec4_to_mat4x2_fragment" />
-<Test name="bvec3_float_to_mat2_fragment" />
-<Test name="bool_float_int_vec3_bool_bvec3_float_bool_to_mat3x4_fragment" />
-<Test name="int_int_int_int_int_int_to_mat2x3_fragment" />
-<Test name="ivec4_ivec4_ivec4_ivec4_to_mat4_fragment" />
-<Test name="float_bvec4_ivec4_bool_bool_int_to_mat3x4_fragment" />
-<Test name="bool_bvec2_int_vec4_to_mat2x4_fragment" />
-<Test name="int_int_int_int_int_int_to_mat2x3_vertex" />
-<Test name="int_uvec2_bool_to_mat2_vertex" />
-<Test name="float_bvec4_ivec2_bool_bool_to_mat3_fragment" />
-<Test name="vec3_vec3_vec3_to_mat3_vertex" />
-<Test name="vec3_vec3_vec2_to_mat4x2_fragment" />
-<Test name="vec4_vec4_vec4_to_mat4x3_fragment" />
-<Test name="vec2_bvec4_to_mat3x2_vertex" />
-<Test name="vec3_vec3_vec3_to_mat3_fragment" />
-<Test name="vec3_float_bvec2_to_mat3x2_fragment" />
-<Test name="ivec3_ivec3_ivec3_to_mat3_vertex" />
-<Test name="float_float_float_float_to_mat2_vertex" />
-<Test name="vec3_vec3_to_mat3x2_vertex" />
-<Test name="int_int_int_int_to_mat2_vertex" />
-<Test name="vec3_vec3_vec2_to_mat4x2_vertex" />
-<Test name="vec2_ivec2_float_float_int_bool_bool_to_mat3_vertex" />
-<Test name="ivec3_ivec3_ivec2_to_mat2x4_fragment" />
-<Test name="float_float_float_float_float_float_to_mat3x2_vertex" />
-<Test name="bool_float_int_bool_float_int_to_mat3x2_vertex" />
-<Test name="bool_bvec2_int_vec4_to_mat2x4_vertex" />
-<Test name="int_int_int_int_int_int_to_mat3x2_vertex" />
-<Test name="vec3_vec3_to_mat3x2_fragment" />
-<Test name="float_uvec3_to_mat2_fragment" />
-<Test name="bool_float_int_vec2_bool_bvec2_to_mat4x2_fragment" />
-<Test name="bvec3_float_ivec2_to_mat2x3_fragment" />
-<Test name="bool_float_ivec2_to_mat2_vertex" />
-<Test name="bvec2_bvec2_to_mat2_vertex" />
-<Test name="vec3_vec3_vec2_to_mat2x4_fragment" />
-<Test name="float_bvec4_ivec4_bool_bool_int_to_mat4x3_fragment" />
-<Test name="vec2_ivec2_float_float_float_int_int_bool_bool_bool_to_mat4x3_vertex" />
-<Test name="vec3_vec3_to_mat2x3_fragment" />
-<Test name="float_bvec4_ivec2_bool_to_mat4x2_fragment" />
-<Test name="bool_bvec2_int_vec4_bool_to_mat3_fragment" />
-<Test name="vec2_bvec4_to_mat2x3_fragment" />
-<Test name="bool_float_int_vec2_bool_bvec2_float_to_mat3_fragment" />
-<Test name="bool_float_int_vec2_bool_bvec2_to_mat4x2_vertex" />
-<Test name="ivec4_ivec4_ivec4_to_mat4x3_vertex" />
-<Test name="bool_bvec2_int_vec4_bool_to_mat3_vertex" />
-<Test name="bvec4_bvec4_bvec4_bvec4_to_mat4_vertex" />
-<Test name="ivec4_ivec4_ivec4_to_mat4x3_fragment" />
-<Test name="vec2_ivec2_float_float_int_bool_to_mat4x2_fragment" />
-<Test name="int_ivec2_int_to_mat2_fragment" />
-<Test name="bool_float_int_vec2_bool_bvec2_float_to_mat3_vertex" />
-<Test name="float_bvec4_ivec4_bool_bool_int_to_mat4x3_vertex" />
-<Test name="bool_float_int_bool_float_int_to_mat3x2_fragment" />
-<Test name="int_ivec2_int_to_mat2_vertex" />
-<Test name="vec2_bvec2_to_mat2_vertex" />
-<Test name="bvec3_bvec3_to_mat2x3_fragment" />
-<Test name="bool_bool_bool_bool_bool_bool_to_mat2x3_fragment" />
-<Test name="bool_float_int_vec2_bool_bvec2_to_mat2x4_fragment" />
-<Test name="float_ivec3_bvec3_vec4_ivec2_float_vec2_to_mat4_vertex" />
-<Test name="ivec3_ivec3_ivec2_to_mat2x4_vertex" />
-<Test name="bvec3_float_ivec2_to_mat2x3_vertex" />
-<Test name="vec2_ivec2_float_float_int_bool_to_mat2x4_fragment" />
-<Test name="bool_float_int_bool_float_int_to_mat2x3_vertex" />
-<Test name="vec3_float_to_mat2_fragment" />
-<Test name="vec4_vec4_vec4_to_mat3x4_fragment" />
-<Test name="int_int_int_int_to_mat2_fragment" />
-<Test name="vec3_vec3_to_mat2x3_vertex" />
-<Test name="vec2_bvec2_to_mat2_fragment" />
-<Test name="vec2_ivec2_float_float_int_bool_to_mat2x4_vertex" />
-<Test name="float_float_float_float_float_float_to_mat2x3_fragment" />
-<Test name="bool_float_int_vec2_bool_bvec2_to_mat2x4_vertex" />
-<Test name="bool_bvec4_int_vec4_bool_float_to_mat3x4_fragment" />
-<Test name="vec4_vec4_vec4_vec4_to_mat4_vertex" />
-<Test name="vec2_ivec2_float_float_int_bool_to_mat4x2_vertex" />
-<Test name="ivec3_ivec3_ivec2_to_mat4x2_vertex" />
-<Test name="vec2_bvec4_to_mat2x3_vertex" />
-<Test name="bool_bvec4_int_vec4_bool_float_to_mat4x3_vertex" />
-<Test name="vec2_ivec2_to_mat2_fragment" />
-<Test name="vec3_ivec3_to_mat3x2_vertex" />
-<Test name="vec3_float_bvec2_to_mat2x3_fragment" />
-<Test name="uint_uint_uint_uint_to_mat2_vertex" />
-<Test name="float_ivec3_bvec3_vec4_ivec2_float_vec2_to_mat4_fragment" />
-<Test name="bvec4_bvec4_bvec4_bvec4_to_mat4_fragment" />
-<Test name="bvec3_bvec3_to_mat3x2_vertex" />
-<Test name="vec3_ivec3_to_mat2x3_vertex" />
-<Test name="vec3_float_bvec2_to_mat2x3_vertex" />
-<Test name="ivec4_ivec4_ivec4_to_mat3x4_vertex" />
-<Test name="bool_float_int_vec3_bool_bvec3_float_bool_to_mat3x4_vertex" />
-<Test name="ivec3_ivec3_ivec3_to_mat3_fragment" />
-<Test name="bvec3_float_to_mat2_vertex" />
-<Test name="ivec3_ivec3_ivec2_to_mat4x2_fragment" />
-<Test name="bool_bool_bool_bool_to_mat2_fragment" />
-<Test name="bool_float_int_bool_to_mat2_vertex" />
-<Test name="float_bvec4_ivec2_bool_to_mat4x2_vertex" />
-<Test name="vec2_ivec2_float_float_float_int_int_bool_bool_bool_to_mat3x4_fragment" />
-<Test name="vec2_ivec2_float_float_int_bool_bool_to_mat3_fragment" />
-<Test name="float_bvec4_ivec4_bool_bool_int_to_mat3x4_vertex" />
-<Test name="float_bvec4_ivec2_bool_to_mat2x4_fragment" />
-<Test name="vec4_vec4_vec4_to_mat3x4_vertex" />
-<Test name="float_bvec4_ivec2_bool_to_mat2x4_vertex" />
-<Test name="bvec3_bvec3_to_mat3x2_fragment" />
-<Test name="bool_float_int_bool_float_int_to_mat2x3_fragment" />
-<Test name="int_int_int_int_int_int_to_mat3x2_fragment" />
-<Test name="vec3_float_bvec2_to_mat3x2_vertex" />
-<Test name="vec3_float_to_mat2_vertex" />
-<Test name="int_uvec2_bool_to_mat2_fragment" />
-<Test name="vec4_vec4_vec4_vec4_to_mat4_fragment" />
-<Test name="float_float_float_float_float_float_to_mat2x3_vertex" />
-<Test name="bool_float_int_vec3_bool_bvec3_float_bool_to_mat4x3_vertex" />
-<Test name="bvec2_bvec2_to_mat2_fragment" />
-<Test name="bool_bool_bool_bool_to_mat2_vertex" />
-<Test name="bool_bvec2_int_vec4_to_mat4x2_vertex" />
-<Test name="bool_float_int_vec3_bool_bvec3_float_bool_to_mat4x3_fragment" />
-<Test name="float_float_float_float_float_float_to_mat3x2_fragment" />
-<Test name="ivec4_ivec4_ivec4_ivec4_to_mat4_vertex" />
-</TestCase>
-<TestCase name="vector_to_vector">
-<Test name="ivec2_to_ivec2_fragment" />
-<Test name="ivec4_to_ivec4_fragment" />
-<Test name="vec4_to_ivec2_vertex" />
-<Test name="ivec4_to_ivec3_vertex" />
-<Test name="uvec4_to_ivec4_fragment" />
-<Test name="vec4_to_bvec2_vertex" />
-<Test name="ivec4_to_ivec4_vertex" />
-<Test name="ivec3_to_bvec3_vertex" />
-<Test name="ivec3_to_vec3_vertex" />
-<Test name="vec2_to_uvec2_fragment" />
-<Test name="ivec4_to_bvec2_vertex" />
-<Test name="ivec4_to_uvec4_vertex" />
-<Test name="ivec4_to_uvec2_vertex" />
-<Test name="bvec4_to_vec4_vertex" />
-<Test name="bvec4_to_vec3_fragment" />
-<Test name="bvec3_to_ivec3_fragment" />
-<Test name="vec2_to_vec2_vertex" />
-<Test name="uvec4_to_vec3_fragment" />
-<Test name="ivec4_to_uvec3_vertex" />
-<Test name="vec4_to_vec2_fragment" />
-<Test name="vec3_to_bvec2_fragment" />
-<Test name="uvec4_to_vec4_fragment" />
-<Test name="ivec4_to_bvec3_vertex" />
-<Test name="ivec4_to_uvec2_fragment" />
-<Test name="bvec4_to_vec2_vertex" />
-<Test name="bvec3_to_uvec3_vertex" />
-<Test name="ivec3_to_ivec3_vertex" />
-<Test name="ivec4_to_bvec4_vertex" />
-<Test name="vec2_to_ivec2_vertex" />
-<Test name="ivec4_to_uvec4_fragment" />
-<Test name="bvec3_to_bvec2_fragment" />
-<Test name="bvec4_to_ivec4_fragment" />
-<Test name="bvec4_to_ivec3_fragment" />
-<Test name="uvec4_to_bvec4_fragment" />
-<Test name="ivec4_to_bvec4_fragment" />
-<Test name="vec4_to_vec4_vertex" />
-<Test name="vec3_to_bvec3_fragment" />
-<Test name="uvec3_to_vec2_fragment" />
-<Test name="ivec2_to_vec2_vertex" />
-<Test name="uvec3_to_bvec3_vertex" />
-<Test name="bvec2_to_ivec2_fragment" />
-<Test name="ivec4_to_ivec2_fragment" />
-<Test name="vec4_to_uvec3_vertex" />
-<Test name="ivec4_to_vec2_fragment" />
-<Test name="uvec3_to_uvec3_fragment" />
-<Test name="uvec4_to_ivec3_fragment" />
-<Test name="bvec3_to_uvec2_vertex" />
-<Test name="vec3_to_ivec2_vertex" />
-<Test name="ivec2_to_uvec2_fragment" />
-<Test name="uvec4_to_uvec4_vertex" />
-<Test name="vec4_to_uvec3_fragment" />
-<Test name="uvec4_to_vec2_fragment" />
-<Test name="vec4_to_ivec3_fragment" />
-<Test name="ivec4_to_vec3_vertex" />
-<Test name="ivec2_to_ivec2_vertex" />
-<Test name="bvec4_to_uvec3_vertex" />
-<Test name="uvec3_to_vec2_vertex" />
-<Test name="bvec4_to_uvec3_fragment" />
-<Test name="ivec4_to_vec2_vertex" />
-<Test name="vec3_to_ivec2_fragment" />
-<Test name="vec3_to_vec2_fragment" />
-<Test name="bvec4_to_bvec2_fragment" />
-<Test name="vec2_to_bvec2_vertex" />
-<Test name="uvec2_to_vec2_vertex" />
-<Test name="vec3_to_uvec2_fragment" />
-<Test name="vec4_to_uvec4_fragment" />
-<Test name="bvec4_to_ivec3_vertex" />
-<Test name="ivec4_to_vec4_vertex" />
-<Test name="ivec4_to_uvec3_fragment" />
-<Test name="ivec4_to_bvec3_fragment" />
-<Test name="vec4_to_ivec2_fragment" />
-<Test name="vec4_to_bvec4_vertex" />
-<Test name="vec3_to_vec3_fragment" />
-<Test name="bvec2_to_uvec2_vertex" />
-<Test name="bvec2_to_vec2_fragment" />
-<Test name="bvec4_to_bvec4_fragment" />
-<Test name="uvec3_to_uvec2_fragment" />
-<Test name="uvec3_to_bvec3_fragment" />
-<Test name="bvec4_to_uvec4_vertex" />
-<Test name="vec3_to_uvec3_vertex" />
-<Test name="uvec4_to_uvec3_vertex" />
-<Test name="vec3_to_ivec3_vertex" />
-<Test name="ivec3_to_uvec3_vertex" />
-<Test name="bvec4_to_bvec2_vertex" />
-<Test name="vec3_to_uvec3_fragment" />
-<Test name="bvec4_to_bvec3_vertex" />
-<Test name="uvec3_to_bvec2_vertex" />
-<Test name="bvec4_to_bvec4_vertex" />
-<Test name="uvec4_to_ivec4_vertex" />
-<Test name="uvec4_to_ivec2_vertex" />
-<Test name="ivec3_to_uvec3_fragment" />
-<Test name="uvec4_to_bvec3_fragment" />
-<Test name="uvec3_to_uvec2_vertex" />
-<Test name="vec4_to_uvec2_fragment" />
-<Test name="uvec3_to_ivec2_vertex" />
-<Test name="uvec4_to_ivec2_fragment" />
-<Test name="bvec4_to_uvec2_vertex" />
-<Test name="ivec3_to_bvec2_fragment" />
-<Test name="vec4_to_ivec4_fragment" />
-<Test name="uvec4_to_bvec2_fragment" />
-<Test name="bvec4_to_ivec2_fragment" />
-<Test name="vec4_to_ivec3_vertex" />
-<Test name="ivec3_to_vec2_fragment" />
-<Test name="uvec3_to_vec3_fragment" />
-<Test name="vec3_to_vec3_vertex" />
-<Test name="ivec3_to_ivec2_vertex" />
-<Test name="vec3_to_vec2_vertex" />
-<Test name="vec2_to_ivec2_fragment" />
-<Test name="uvec4_to_bvec3_vertex" />
-<Test name="ivec4_to_ivec2_vertex" />
-<Test name="ivec2_to_bvec2_fragment" />
-<Test name="bvec4_to_vec3_vertex" />
-<Test name="uvec4_to_uvec2_fragment" />
-<Test name="vec4_to_bvec2_fragment" />
-<Test name="vec3_to_uvec2_vertex" />
-<Test name="vec2_to_uvec2_vertex" />
-<Test name="bvec3_to_uvec2_fragment" />
-<Test name="uvec2_to_uvec2_fragment" />
-<Test name="ivec4_to_vec3_fragment" />
-<Test name="uvec4_to_vec4_vertex" />
-<Test name="uvec3_to_ivec3_fragment" />
-<Test name="bvec2_to_uvec2_fragment" />
-<Test name="uvec4_to_vec2_vertex" />
-<Test name="vec4_to_vec4_fragment" />
-<Test name="bvec3_to_ivec2_vertex" />
-<Test name="bvec4_to_bvec3_fragment" />
-<Test name="ivec2_to_uvec2_vertex" />
-<Test name="bvec3_to_ivec3_vertex" />
-<Test name="bvec2_to_vec2_vertex" />
-<Test name="uvec2_to_vec2_fragment" />
-<Test name="bvec3_to_vec2_fragment" />
-<Test name="vec4_to_bvec3_vertex" />
-<Test name="bvec2_to_ivec2_vertex" />
-<Test name="uvec2_to_uvec2_vertex" />
-<Test name="ivec2_to_vec2_fragment" />
-<Test name="vec4_to_vec3_fragment" />
-<Test name="vec3_to_ivec3_fragment" />
-<Test name="bvec3_to_vec2_vertex" />
-<Test name="uvec3_to_bvec2_fragment" />
-<Test name="vec2_to_bvec2_fragment" />
-<Test name="uvec4_to_vec3_vertex" />
-<Test name="bvec3_to_vec3_vertex" />
-<Test name="bvec3_to_uvec3_fragment" />
-<Test name="bvec3_to_ivec2_fragment" />
-<Test name="vec4_to_vec2_vertex" />
-<Test name="ivec3_to_ivec2_fragment" />
-<Test name="ivec2_to_bvec2_vertex" />
-<Test name="uvec3_to_vec3_vertex" />
-<Test name="bvec4_to_uvec2_fragment" />
-<Test name="bvec4_to_vec4_fragment" />
-<Test name="uvec4_to_uvec4_fragment" />
-<Test name="ivec3_to_uvec2_fragment" />
-<Test name="bvec3_to_bvec3_fragment" />
-<Test name="ivec4_to_bvec2_fragment" />
-<Test name="vec2_to_vec2_fragment" />
-<Test name="bvec4_to_ivec4_vertex" />
-<Test name="ivec4_to_vec4_fragment" />
-<Test name="vec3_to_bvec2_vertex" />
-<Test name="ivec3_to_uvec2_vertex" />
-<Test name="uvec3_to_uvec3_vertex" />
-<Test name="bvec4_to_ivec2_vertex" />
-<Test name="uvec2_to_ivec2_fragment" />
-<Test name="uvec4_to_uvec3_fragment" />
-<Test name="ivec3_to_ivec3_fragment" />
-<Test name="ivec4_to_ivec3_fragment" />
-<Test name="vec4_to_bvec4_fragment" />
-<Test name="bvec2_to_bvec2_vertex" />
-<Test name="vec4_to_ivec4_vertex" />
-<Test name="bvec3_to_vec3_fragment" />
-<Test name="ivec3_to_bvec3_fragment" />
-<Test name="ivec3_to_vec3_fragment" />
-<Test name="vec4_to_vec3_vertex" />
-<Test name="ivec3_to_vec2_vertex" />
-<Test name="ivec3_to_bvec2_vertex" />
-<Test name="uvec4_to_bvec4_vertex" />
-<Test name="bvec3_to_bvec3_vertex" />
-<Test name="uvec3_to_ivec3_vertex" />
-<Test name="vec4_to_uvec4_vertex" />
-<Test name="bvec3_to_bvec2_vertex" />
-<Test name="bvec2_to_bvec2_fragment" />
-<Test name="uvec2_to_bvec2_fragment" />
-<Test name="uvec4_to_uvec2_vertex" />
-<Test name="vec4_to_bvec3_fragment" />
-<Test name="vec3_to_bvec3_vertex" />
-<Test name="uvec2_to_bvec2_vertex" />
-<Test name="vec4_to_uvec2_vertex" />
-<Test name="uvec4_to_ivec3_vertex" />
-<Test name="bvec4_to_vec2_fragment" />
-<Test name="uvec3_to_ivec2_fragment" />
-<Test name="uvec2_to_ivec2_vertex" />
-<Test name="bvec4_to_uvec4_fragment" />
-<Test name="uvec4_to_bvec2_vertex" />
-</TestCase>
-<TestCase name="scalar_to_vector">
-<Test name="bool_to_vec2_fragment" />
-<Test name="bool_to_uvec2_vertex" />
-<Test name="uint_to_vec3_vertex" />
-<Test name="int_to_uvec2_vertex" />
-<Test name="float_to_bvec3_fragment" />
-<Test name="uint_to_ivec3_fragment" />
-<Test name="bool_to_ivec2_vertex" />
-<Test name="bool_to_vec4_fragment" />
-<Test name="bool_to_vec3_fragment" />
-<Test name="float_to_vec4_vertex" />
-<Test name="float_to_vec2_vertex" />
-<Test name="float_to_ivec2_vertex" />
-<Test name="int_to_ivec3_fragment" />
-<Test name="uint_to_ivec2_fragment" />
-<Test name="float_to_vec2_fragment" />
-<Test name="uint_to_vec2_vertex" />
-<Test name="uint_to_uvec2_fragment" />
-<Test name="uint_to_ivec4_vertex" />
-<Test name="float_to_vec4_fragment" />
-<Test name="bool_to_uvec3_fragment" />
-<Test name="uint_to_bvec3_vertex" />
-<Test name="uint_to_uvec2_vertex" />
-<Test name="int_to_bvec3_vertex" />
-<Test name="uint_to_uvec4_vertex" />
-<Test name="float_to_ivec4_vertex" />
-<Test name="uint_to_uvec3_vertex" />
-<Test name="bool_to_ivec4_fragment" />
-<Test name="int_to_bvec3_fragment" />
-<Test name="bool_to_vec2_vertex" />
-<Test name="bool_to_uvec4_fragment" />
-<Test name="float_to_uvec3_vertex" />
-<Test name="int_to_vec2_fragment" />
-<Test name="uint_to_bvec3_fragment" />
-<Test name="int_to_bvec4_fragment" />
-<Test name="uint_to_ivec3_vertex" />
-<Test name="float_to_uvec3_fragment" />
-<Test name="uint_to_uvec3_fragment" />
-<Test name="bool_to_bvec4_vertex" />
-<Test name="bool_to_bvec2_fragment" />
-<Test name="float_to_uvec2_vertex" />
-<Test name="float_to_bvec4_vertex" />
-<Test name="bool_to_bvec4_fragment" />
-<Test name="float_to_bvec2_fragment" />
-<Test name="int_to_bvec2_fragment" />
-<Test name="bool_to_ivec2_fragment" />
-<Test name="bool_to_uvec2_fragment" />
-<Test name="bool_to_ivec4_vertex" />
-<Test name="bool_to_bvec3_vertex" />
-<Test name="uint_to_vec4_fragment" />
-<Test name="float_to_ivec3_fragment" />
-<Test name="uint_to_vec3_fragment" />
-<Test name="bool_to_uvec4_vertex" />
-<Test name="bool_to_uvec3_vertex" />
-<Test name="float_to_uvec4_vertex" />
-<Test name="int_to_vec4_fragment" />
-<Test name="int_to_ivec4_vertex" />
-<Test name="int_to_uvec2_fragment" />
-<Test name="bool_to_vec3_vertex" />
-<Test name="bool_to_bvec3_fragment" />
-<Test name="float_to_ivec3_vertex" />
-<Test name="float_to_bvec3_vertex" />
-<Test name="uint_to_vec4_vertex" />
-<Test name="int_to_vec3_fragment" />
-<Test name="int_to_uvec3_vertex" />
-<Test name="float_to_ivec4_fragment" />
-<Test name="bool_to_vec4_vertex" />
-<Test name="float_to_bvec2_vertex" />
-<Test name="float_to_ivec2_fragment" />
-<Test name="uint_to_ivec2_vertex" />
-<Test name="float_to_uvec2_fragment" />
-<Test name="int_to_ivec2_fragment" />
-<Test name="int_to_vec4_vertex" />
-<Test name="float_to_uvec4_fragment" />
-<Test name="uint_to_bvec4_vertex" />
-<Test name="uint_to_bvec2_fragment" />
-<Test name="float_to_bvec4_fragment" />
-<Test name="uint_to_bvec4_fragment" />
-<Test name="float_to_vec3_vertex" />
-<Test name="bool_to_ivec3_fragment" />
-<Test name="int_to_vec2_vertex" />
-<Test name="float_to_vec3_fragment" />
-<Test name="int_to_uvec4_fragment" />
-<Test name="int_to_uvec4_vertex" />
-<Test name="int_to_bvec4_vertex" />
-<Test name="int_to_uvec3_fragment" />
-<Test name="uint_to_ivec4_fragment" />
-<Test name="uint_to_bvec2_vertex" />
-<Test name="int_to_bvec2_vertex" />
-<Test name="int_to_ivec2_vertex" />
-<Test name="uint_to_vec2_fragment" />
-<Test name="uint_to_uvec4_fragment" />
-<Test name="int_to_ivec4_fragment" />
-<Test name="bool_to_ivec3_vertex" />
-<Test name="int_to_ivec3_vertex" />
-<Test name="int_to_vec3_vertex" />
-<Test name="bool_to_bvec2_vertex" />
-</TestCase>
-<TestCase name="matrix_to_matrix">
-<Test name="mat3_to_mat4x3_fragment" />
-<Test name="mat4_to_mat4x3_vertex" />
-<Test name="mat2x3_to_mat4x2_vertex" />
-<Test name="mat4x2_to_mat3x2_fragment" />
-<Test name="mat4x2_to_mat2_fragment" />
-<Test name="mat2x4_to_mat4x3_fragment" />
-<Test name="mat4x3_to_mat2x3_vertex" />
-<Test name="mat4x3_to_mat4x2_fragment" />
-<Test name="mat4x3_to_mat3x2_fragment" />
-<Test name="mat4x2_to_mat4x2_vertex" />
-<Test name="mat3x2_to_mat4x3_fragment" />
-<Test name="mat3_to_mat4x2_fragment" />
-<Test name="mat3x2_to_mat3x2_vertex" />
-<Test name="mat2x3_to_mat2_fragment" />
-<Test name="mat4x2_to_mat2_vertex" />
-<Test name="mat3x4_to_mat3x2_fragment" />
-<Test name="mat2x3_to_mat4_vertex" />
-<Test name="mat2x4_to_mat4x2_vertex" />
-<Test name="mat3_to_mat2x4_vertex" />
-<Test name="mat2x4_to_mat2x3_vertex" />
-<Test name="mat4x2_to_mat2x4_fragment" />
-<Test name="mat3x2_to_mat4_fragment" />
-<Test name="mat2x3_to_mat4x2_fragment" />
-<Test name="mat3_to_mat2_fragment" />
-<Test name="mat4x3_to_mat4x3_vertex" />
-<Test name="mat4x3_to_mat2_fragment" />
-<Test name="mat3x2_to_mat2_fragment" />
-<Test name="mat2x4_to_mat2x4_fragment" />
-<Test name="mat4_to_mat4x2_fragment" />
-<Test name="mat2x3_to_mat2_vertex" />
-<Test name="mat2x3_to_mat3x2_vertex" />
-<Test name="mat2x4_to_mat3x4_fragment" />
-<Test name="mat4x3_to_mat3_fragment" />
-<Test name="mat4_to_mat3x2_vertex" />
-<Test name="mat4_to_mat3_vertex" />
-<Test name="mat3x2_to_mat4x2_fragment" />
-<Test name="mat2_to_mat4x2_fragment" />
-<Test name="mat4x2_to_mat3_vertex" />
-<Test name="mat3x4_to_mat4_vertex" />
-<Test name="mat3_to_mat4x3_vertex" />
-<Test name="mat4_to_mat4_fragment" />
-<Test name="mat3x2_to_mat3_vertex" />
-<Test name="mat3x2_to_mat4_vertex" />
-<Test name="mat4x3_to_mat4x2_vertex" />
-<Test name="mat4_to_mat3x2_fragment" />
-<Test name="mat3_to_mat3_vertex" />
-<Test name="mat2_to_mat3x2_vertex" />
-<Test name="mat2_to_mat4_vertex" />
-<Test name="mat4_to_mat2_fragment" />
-<Test name="mat2_to_mat2_fragment" />
-<Test name="mat2_to_mat4_fragment" />
-<Test name="mat3_to_mat4_vertex" />
-<Test name="mat4x3_to_mat2x4_vertex" />
-<Test name="mat2x3_to_mat4_fragment" />
-<Test name="mat3x4_to_mat4_fragment" />
-<Test name="mat4x3_to_mat2x3_fragment" />
-<Test name="mat4x3_to_mat4_fragment" />
-<Test name="mat3x4_to_mat3_vertex" />
-<Test name="mat2x3_to_mat2x4_vertex" />
-<Test name="mat3_to_mat3_fragment" />
-<Test name="mat2_to_mat2x3_vertex" />
-<Test name="mat3x4_to_mat2x3_vertex" />
-<Test name="mat2x4_to_mat3_fragment" />
-<Test name="mat2x4_to_mat4_fragment" />
-<Test name="mat3x4_to_mat2x4_vertex" />
-<Test name="mat3x4_to_mat3x2_vertex" />
-<Test name="mat4x3_to_mat4x3_fragment" />
-<Test name="mat4x3_to_mat4_vertex" />
-<Test name="mat2x4_to_mat3x2_fragment" />
-<Test name="mat2_to_mat2_vertex" />
-<Test name="mat2_to_mat2x4_fragment" />
-<Test name="mat2x4_to_mat3x2_vertex" />
-<Test name="mat4_to_mat3_fragment" />
-<Test name="mat3x4_to_mat2x3_fragment" />
-<Test name="mat3x2_to_mat2x4_vertex" />
-<Test name="mat2x4_to_mat3x4_vertex" />
-<Test name="mat4_to_mat4x3_fragment" />
-<Test name="mat2_to_mat3x4_fragment" />
-<Test name="mat4x3_to_mat3x4_vertex" />
-<Test name="mat3_to_mat4_fragment" />
-<Test name="mat3x2_to_mat2x3_fragment" />
-<Test name="mat3x4_to_mat3x4_fragment" />
-<Test name="mat4_to_mat2x4_vertex" />
-<Test name="mat2x3_to_mat3x4_fragment" />
-<Test name="mat4_to_mat2x4_fragment" />
-<Test name="mat4x2_to_mat3x2_vertex" />
-<Test name="mat4_to_mat4x2_vertex" />
-<Test name="mat2x4_to_mat4x3_vertex" />
-<Test name="mat3x4_to_mat4x3_fragment" />
-<Test name="mat3_to_mat3x2_fragment" />
-<Test name="mat4x3_to_mat2_vertex" />
-<Test name="mat2x4_to_mat4_vertex" />
-<Test name="mat3_to_mat4x2_vertex" />
-<Test name="mat4x3_to_mat3x4_fragment" />
-<Test name="mat3x4_to_mat4x2_vertex" />
-<Test name="mat4x2_to_mat2x3_vertex" />
-<Test name="mat3x4_to_mat3x4_vertex" />
-<Test name="mat4x3_to_mat2x4_fragment" />
-<Test name="mat3x2_to_mat2x3_vertex" />
-<Test name="mat4x2_to_mat4_fragment" />
-<Test name="mat3x2_to_mat4x2_vertex" />
-<Test name="mat3x2_to_mat3x4_vertex" />
-<Test name="mat3x4_to_mat3_fragment" />
-<Test name="mat4_to_mat2x3_vertex" />
-<Test name="mat4_to_mat2_vertex" />
-<Test name="mat2_to_mat2x3_fragment" />
-<Test name="mat2_to_mat4x2_vertex" />
-<Test name="mat2x3_to_mat3x4_vertex" />
-<Test name="mat2x4_to_mat2_fragment" />
-<Test name="mat4_to_mat4_vertex" />
-<Test name="mat4x2_to_mat3x4_vertex" />
-<Test name="mat3x2_to_mat2x4_fragment" />
-<Test name="mat2_to_mat3_vertex" />
-<Test name="mat3x4_to_mat2_vertex" />
-<Test name="mat3x2_to_mat4x3_vertex" />
-<Test name="mat3x4_to_mat2_fragment" />
-<Test name="mat2_to_mat3x2_fragment" />
-<Test name="mat3x2_to_mat3x4_fragment" />
-<Test name="mat2x4_to_mat2x3_fragment" />
-<Test name="mat3_to_mat2x4_fragment" />
-<Test name="mat2_to_mat3x4_vertex" />
-<Test name="mat4x2_to_mat2x4_vertex" />
-<Test name="mat3_to_mat2x3_vertex" />
-<Test name="mat4_to_mat3x4_vertex" />
-<Test name="mat2x4_to_mat2x4_vertex" />
-<Test name="mat3x4_to_mat2x4_fragment" />
-<Test name="mat2_to_mat4x3_fragment" />
-<Test name="mat2_to_mat4x3_vertex" />
-<Test name="mat4x2_to_mat3x4_fragment" />
-<Test name="mat2x3_to_mat3_vertex" />
-<Test name="mat2_to_mat3_fragment" />
-<Test name="mat2x3_to_mat2x3_fragment" />
-<Test name="mat3_to_mat2_vertex" />
-<Test name="mat3_to_mat3x4_fragment" />
-<Test name="mat4x3_to_mat3_vertex" />
-<Test name="mat4x2_to_mat2x3_fragment" />
-<Test name="mat3x2_to_mat3_fragment" />
-<Test name="mat4_to_mat2x3_fragment" />
-<Test name="mat4x2_to_mat4x2_fragment" />
-<Test name="mat3_to_mat2x3_fragment" />
-<Test name="mat2_to_mat2x4_vertex" />
-<Test name="mat2x3_to_mat2x4_fragment" />
-<Test name="mat4_to_mat3x4_fragment" />
-<Test name="mat4x2_to_mat4x3_fragment" />
-<Test name="mat2x4_to_mat3_vertex" />
-<Test name="mat4x2_to_mat4x3_vertex" />
-<Test name="mat3_to_mat3x4_vertex" />
-<Test name="mat2x3_to_mat2x3_vertex" />
-<Test name="mat4x2_to_mat4_vertex" />
-<Test name="mat3_to_mat3x2_vertex" />
-<Test name="mat3x2_to_mat2_vertex" />
-<Test name="mat2x3_to_mat4x3_fragment" />
-<Test name="mat2x3_to_mat3_fragment" />
-<Test name="mat2x3_to_mat4x3_vertex" />
-<Test name="mat3x4_to_mat4x3_vertex" />
-<Test name="mat3x4_to_mat4x2_fragment" />
-<Test name="mat2x3_to_mat3x2_fragment" />
-<Test name="mat3x2_to_mat3x2_fragment" />
-<Test name="mat4x3_to_mat3x2_vertex" />
-<Test name="mat4x2_to_mat3_fragment" />
-<Test name="mat2x4_to_mat2_vertex" />
-<Test name="mat2x4_to_mat4x2_fragment" />
-</TestCase>
-<TestCase name="vector_combine">
-<Test name="bool_bool_bool_bool_to_ivec4_fragment" />
-<Test name="int_bool_to_bvec2_fragment" />
-<Test name="int_int_int_int_to_uvec4_fragment" />
-<Test name="float_uvec2_to_uvec3_vertex" />
-<Test name="bool_float_ivec2_to_vec4_fragment" />
-<Test name="int_bool_to_bvec2_vertex" />
-<Test name="vec3_float_to_ivec4_fragment" />
-<Test name="uint_uint_uint_uint_to_uvec4_fragment" />
-<Test name="uint_float_to_vec2_vertex" />
-<Test name="int_int_int_int_to_uvec4_vertex" />
-<Test name="int_int_int_to_ivec3_fragment" />
-<Test name="bvec2_bvec2_to_vec4_fragment" />
-<Test name="int_int_int_int_to_ivec4_vertex" />
-<Test name="int_uint_to_ivec2_fragment" />
-<Test name="bool_bool_to_bvec2_fragment" />
-<Test name="bool_ivec2_to_uvec3_vertex" />
-<Test name="float_bool_to_ivec2_vertex" />
-<Test name="float_bool_to_bvec2_fragment" />
-<Test name="bool_float_int_to_ivec3_vertex" />
-<Test name="int_ivec2_int_to_ivec4_vertex" />
-<Test name="uint_uint_uint_uint_to_bvec4_fragment" />
-<Test name="vec2_ivec2_to_vec4_fragment" />
-<Test name="bool_bool_bool_bool_to_uvec4_vertex" />
-<Test name="float_float_to_bvec2_vertex" />
-<Test name="bvec2_int_to_uvec3_fragment" />
-<Test name="bool_float_ivec2_to_ivec4_vertex" />
-<Test name="bool_bool_bool_bool_to_ivec4_vertex" />
-<Test name="bvec3_float_to_vec4_fragment" />
-<Test name="vec2_bvec2_to_bvec4_vertex" />
-<Test name="bvec2_float_to_uvec3_vertex" />
-<Test name="bool_bool_bool_to_uvec3_vertex" />
-<Test name="float_float_float_float_to_vec4_vertex" />
-<Test name="bool_bool_bool_to_ivec3_vertex" />
-<Test name="bool_bool_bool_to_bvec3_fragment" />
-<Test name="uint_uint_uint_uint_to_vec4_fragment" />
-<Test name="float_uvec2_to_vec3_fragment" />
-<Test name="uint_uint_to_vec2_fragment" />
-<Test name="vec2_bvec2_to_ivec4_vertex" />
-<Test name="vec3_float_to_vec4_vertex" />
-<Test name="bool_bool_to_vec2_fragment" />
-<Test name="float_float_to_uvec2_vertex" />
-<Test name="float_bool_to_uvec2_fragment" />
-<Test name="int_ivec2_int_to_bvec4_fragment" />
-<Test name="uint_float_to_vec2_fragment" />
-<Test name="int_uvec2_bool_to_ivec4_vertex" />
-<Test name="int_uint_to_bvec2_vertex" />
-<Test name="bvec3_float_to_bvec4_vertex" />
-<Test name="float_float_float_float_to_ivec4_fragment" />
-<Test name="int_uvec2_bool_to_ivec4_fragment" />
-<Test name="uint_uint_to_bvec2_fragment" />
-<Test name="vec2_bvec2_to_uvec4_fragment" />
-<Test name="float_float_to_uvec2_fragment" />
-<Test name="bool_bool_to_vec2_vertex" />
-<Test name="float_uvec3_to_ivec4_vertex" />
-<Test name="bvec2_bvec2_to_bvec4_fragment" />
-<Test name="int_uvec2_bool_to_uvec4_fragment" />
-<Test name="vec2_vec2_to_bvec4_fragment" />
-<Test name="int_bool_to_vec2_fragment" />
-<Test name="vec3_float_to_bvec4_vertex" />
-<Test name="vec2_vec2_to_vec4_fragment" />
-<Test name="uint_float_to_uvec2_fragment" />
-<Test name="bool_float_int_to_uvec3_fragment" />
-<Test name="vec2_bvec2_to_vec4_vertex" />
-<Test name="bool_bool_to_ivec2_fragment" />
-<Test name="bool_float_int_bool_to_ivec4_vertex" />
-<Test name="bvec3_float_to_bvec4_fragment" />
-<Test name="int_ivec2_int_to_ivec4_fragment" />
-<Test name="bool_float_int_to_vec3_vertex" />
-<Test name="float_uvec3_to_vec4_vertex" />
-<Test name="int_ivec2_int_to_vec4_fragment" />
-<Test name="bool_bool_bool_to_bvec3_vertex" />
-<Test name="bvec3_float_to_ivec4_vertex" />
-<Test name="bool_float_int_to_uvec3_vertex" />
-<Test name="int_ivec2_int_to_uvec4_fragment" />
-<Test name="float_int_to_ivec2_vertex" />
-<Test name="bvec2_float_to_vec3_vertex" />
-<Test name="int_ivec2_int_to_uvec4_vertex" />
-<Test name="vec2_ivec2_to_bvec4_fragment" />
-<Test name="vec2_vec2_to_uvec4_vertex" />
-<Test name="float_bool_to_uvec2_vertex" />
-<Test name="bool_bool_bool_bool_to_vec4_fragment" />
-<Test name="uint_uint_uint_uint_to_ivec4_vertex" />
-<Test name="bvec2_float_to_vec3_fragment" />
-<Test name="bool_float_int_to_ivec3_fragment" />
-<Test name="bvec2_bvec2_to_uvec4_vertex" />
-<Test name="int_uvec2_bool_to_bvec4_vertex" />
-<Test name="int_uint_to_ivec2_vertex" />
-<Test name="vec2_bool_to_ivec3_fragment" />
-<Test name="uint_uint_to_vec2_vertex" />
-<Test name="float_uvec3_to_bvec4_vertex" />
-<Test name="float_int_to_bvec2_fragment" />
-<Test name="bool_float_ivec2_to_uvec4_vertex" />
-<Test name="float_float_float_to_ivec3_fragment" />
-<Test name="bvec2_bvec2_to_uvec4_fragment" />
-<Test name="uint_uint_uint_to_bvec3_fragment" />
-<Test name="bvec2_int_to_bvec3_fragment" />
-<Test name="uint_uint_to_uvec2_vertex" />
-<Test name="float_uvec2_to_ivec3_vertex" />
-<Test name="vec2_ivec2_to_vec4_vertex" />
-<Test name="float_float_to_bvec2_fragment" />
-<Test name="int_int_int_int_to_vec4_vertex" />
-<Test name="bool_bool_bool_to_vec3_fragment" />
-<Test name="float_float_to_ivec2_vertex" />
-<Test name="int_int_int_to_vec3_fragment" />
-<Test name="int_int_to_vec2_vertex" />
-<Test name="vec2_bool_to_vec3_fragment" />
-<Test name="bvec2_int_to_vec3_fragment" />
-<Test name="bvec2_float_to_bvec3_vertex" />
-<Test name="bool_float_ivec2_to_bvec4_vertex" />
-<Test name="vec2_bool_to_vec3_vertex" />
-<Test name="vec2_bvec2_to_bvec4_fragment" />
-<Test name="float_float_float_to_uvec3_fragment" />
-<Test name="float_uvec2_to_bvec3_vertex" />
-<Test name="float_int_to_bvec2_vertex" />
-<Test name="int_uint_to_bvec2_fragment" />
-<Test name="uint_float_to_bvec2_vertex" />
-<Test name="bvec2_int_to_ivec3_vertex" />
-<Test name="float_int_to_uvec2_fragment" />
-<Test name="float_int_to_uvec2_vertex" />
-<Test name="float_bool_to_ivec2_fragment" />
-<Test name="float_float_to_vec2_vertex" />
-<Test name="bool_bool_bool_to_vec3_vertex" />
-<Test name="bool_bool_bool_bool_to_bvec4_vertex" />
-<Test name="int_uint_to_uvec2_fragment" />
-<Test name="float_int_to_vec2_fragment" />
-<Test name="uint_uint_uint_to_ivec3_vertex" />
-<Test name="int_uvec2_bool_to_vec4_vertex" />
-<Test name="float_float_float_float_to_vec4_fragment" />
-<Test name="int_int_int_int_to_bvec4_vertex" />
-<Test name="bvec3_float_to_uvec4_fragment" />
-<Test name="uint_uint_uint_uint_to_bvec4_vertex" />
-<Test name="int_int_to_ivec2_fragment" />
-<Test name="bvec2_int_to_ivec3_fragment" />
-<Test name="bool_float_ivec2_to_ivec4_fragment" />
-<Test name="int_ivec2_int_to_vec4_vertex" />
-<Test name="int_int_to_uvec2_vertex" />
-<Test name="bool_bool_to_uvec2_vertex" />
-<Test name="bool_float_ivec2_to_bvec4_fragment" />
-<Test name="uint_uint_to_ivec2_fragment" />
-<Test name="int_int_to_bvec2_vertex" />
-<Test name="int_uvec2_bool_to_vec4_fragment" />
-<Test name="vec2_ivec2_to_uvec4_fragment" />
-<Test name="float_uvec2_to_ivec3_fragment" />
-<Test name="uint_uint_uint_to_vec3_fragment" />
-<Test name="float_uvec3_to_vec4_fragment" />
-<Test name="float_uvec3_to_bvec4_fragment" />
-<Test name="float_float_float_to_uvec3_vertex" />
-<Test name="uint_uint_uint_to_ivec3_fragment" />
-<Test name="bool_float_ivec2_to_uvec4_fragment" />
-<Test name="vec3_float_to_uvec4_fragment" />
-<Test name="bool_bool_to_ivec2_vertex" />
-<Test name="bool_float_int_bool_to_ivec4_fragment" />
-<Test name="bool_ivec2_to_ivec3_fragment" />
-<Test name="float_float_float_to_vec3_vertex" />
-<Test name="float_bool_to_bvec2_vertex" />
-<Test name="vec2_ivec2_to_ivec4_fragment" />
-<Test name="bvec3_float_to_uvec4_vertex" />
-<Test name="vec2_vec2_to_bvec4_vertex" />
-<Test name="bvec2_float_to_uvec3_fragment" />
-<Test name="int_bool_to_vec2_vertex" />
-<Test name="bvec3_float_to_vec4_vertex" />
-<Test name="uint_float_to_uvec2_vertex" />
-<Test name="uint_float_to_ivec2_vertex" />
-<Test name="vec2_ivec2_to_bvec4_vertex" />
-<Test name="vec3_float_to_vec4_fragment" />
-<Test name="bool_float_int_to_bvec3_vertex" />
-<Test name="vec3_float_to_bvec4_fragment" />
-<Test name="int_bool_to_uvec2_fragment" />
-<Test name="vec2_vec2_to_ivec4_vertex" />
-<Test name="int_bool_to_uvec2_vertex" />
-<Test name="bvec2_bvec2_to_bvec4_vertex" />
-<Test name="bool_ivec2_to_vec3_vertex" />
-<Test name="int_int_int_to_bvec3_vertex" />
-<Test name="uint_uint_uint_uint_to_vec4_vertex" />
-<Test name="bool_float_int_to_bvec3_fragment" />
-<Test name="int_int_int_to_uvec3_fragment" />
-<Test name="uint_uint_uint_to_bvec3_vertex" />
-<Test name="uint_float_to_ivec2_fragment" />
-<Test name="bool_float_int_bool_to_bvec4_vertex" />
-<Test name="int_uvec2_bool_to_bvec4_fragment" />
-<Test name="int_int_to_uvec2_fragment" />
-<Test name="float_int_to_ivec2_fragment" />
-<Test name="bool_bool_bool_to_uvec3_fragment" />
-<Test name="bvec2_int_to_vec3_vertex" />
-<Test name="bvec2_bvec2_to_ivec4_fragment" />
-<Test name="bool_float_int_bool_to_uvec4_fragment" />
-<Test name="bvec2_int_to_uvec3_vertex" />
-<Test name="vec2_vec2_to_uvec4_fragment" />
-<Test name="float_int_to_vec2_vertex" />
-<Test name="float_float_float_to_vec3_fragment" />
-<Test name="int_int_int_int_to_bvec4_fragment" />
-<Test name="bool_bool_bool_bool_to_vec4_vertex" />
-<Test name="vec2_bvec2_to_uvec4_vertex" />
-<Test name="int_int_int_to_vec3_vertex" />
-<Test name="bool_ivec2_to_uvec3_fragment" />
-<Test name="bool_ivec2_to_bvec3_fragment" />
-<Test name="vec2_bvec2_to_vec4_fragment" />
-<Test name="vec3_float_to_uvec4_vertex" />
-<Test name="bvec2_int_to_bvec3_vertex" />
-<Test name="vec2_vec2_to_vec4_vertex" />
-<Test name="bvec2_float_to_ivec3_fragment" />
-<Test name="float_uvec2_to_uvec3_fragment" />
-<Test name="float_float_float_float_to_bvec4_fragment" />
-<Test name="vec2_bvec2_to_ivec4_fragment" />
-<Test name="vec2_bool_to_uvec3_vertex" />
-<Test name="int_int_to_bvec2_fragment" />
-<Test name="float_uvec3_to_uvec4_fragment" />
-<Test name="bvec3_float_to_ivec4_fragment" />
-<Test name="vec2_bool_to_bvec3_fragment" />
-<Test name="int_int_to_ivec2_vertex" />
-<Test name="int_bool_to_ivec2_fragment" />
-<Test name="float_float_float_to_ivec3_vertex" />
-<Test name="bool_float_int_bool_to_uvec4_vertex" />
-<Test name="uint_uint_uint_to_uvec3_vertex" />
-<Test name="uint_uint_uint_to_uvec3_fragment" />
-<Test name="bvec2_float_to_bvec3_fragment" />
-<Test name="bool_float_int_bool_to_vec4_vertex" />
-<Test name="uint_uint_to_bvec2_vertex" />
-<Test name="uint_uint_to_ivec2_vertex" />
-<Test name="int_int_int_to_ivec3_vertex" />
-<Test name="float_float_to_vec2_fragment" />
-<Test name="vec2_ivec2_to_uvec4_vertex" />
-<Test name="float_uvec2_to_bvec3_fragment" />
-<Test name="bool_float_int_bool_to_vec4_fragment" />
-<Test name="float_float_float_float_to_ivec4_vertex" />
-<Test name="int_int_int_to_uvec3_vertex" />
-<Test name="float_uvec3_to_ivec4_fragment" />
-<Test name="int_int_int_int_to_ivec4_fragment" />
-<Test name="bool_bool_bool_bool_to_bvec4_fragment" />
-<Test name="bool_bool_to_uvec2_fragment" />
-<Test name="bool_ivec2_to_vec3_fragment" />
-<Test name="uint_uint_uint_uint_to_ivec4_fragment" />
-<Test name="float_float_float_to_bvec3_vertex" />
-<Test name="uint_uint_to_uvec2_fragment" />
-<Test name="int_bool_to_ivec2_vertex" />
-<Test name="bvec2_float_to_ivec3_vertex" />
-<Test name="vec2_bool_to_bvec3_vertex" />
-<Test name="float_uvec3_to_uvec4_vertex" />
-<Test name="float_bool_to_vec2_fragment" />
-<Test name="int_uint_to_uvec2_vertex" />
-<Test name="float_float_float_float_to_bvec4_vertex" />
-<Test name="vec2_ivec2_to_ivec4_vertex" />
-<Test name="vec2_bool_to_uvec3_fragment" />
-<Test name="uint_uint_uint_uint_to_uvec4_vertex" />
-<Test name="vec2_vec2_to_ivec4_fragment" />
-<Test name="bool_bool_bool_to_ivec3_fragment" />
-<Test name="float_uvec2_to_vec3_vertex" />
-<Test name="bool_float_int_to_vec3_fragment" />
-<Test name="int_int_int_to_bvec3_fragment" />
-<Test name="vec2_bool_to_ivec3_vertex" />
-<Test name="bvec2_bvec2_to_ivec4_vertex" />
-<Test name="int_int_int_int_to_vec4_fragment" />
-<Test name="bool_float_ivec2_to_vec4_vertex" />
-<Test name="float_bool_to_vec2_vertex" />
-<Test name="int_uvec2_bool_to_uvec4_vertex" />
-<Test name="uint_uint_uint_to_vec3_vertex" />
-<Test name="uint_float_to_bvec2_fragment" />
-<Test name="float_float_float_float_to_uvec4_vertex" />
-<Test name="bool_ivec2_to_ivec3_vertex" />
-<Test name="int_ivec2_int_to_bvec4_vertex" />
-<Test name="float_float_float_float_to_uvec4_fragment" />
-<Test name="bool_bool_bool_bool_to_uvec4_fragment" />
-<Test name="int_uint_to_vec2_fragment" />
-<Test name="int_uint_to_vec2_vertex" />
-<Test name="bvec2_bvec2_to_vec4_vertex" />
-<Test name="float_float_to_ivec2_fragment" />
-<Test name="float_float_float_to_bvec3_fragment" />
-<Test name="bool_float_int_bool_to_bvec4_fragment" />
-<Test name="bool_bool_to_bvec2_vertex" />
-<Test name="int_int_to_vec2_fragment" />
-<Test name="bool_ivec2_to_bvec3_vertex" />
-<Test name="vec3_float_to_ivec4_vertex" />
-</TestCase>
-<TestCase name="scalar_to_scalar">
-<Test name="uint_to_int_fragment" />
-<Test name="int_to_uint_vertex" />
-<Test name="uint_to_uint_vertex" />
-<Test name="float_to_bool_fragment" />
-<Test name="float_to_float_fragment" />
-<Test name="int_to_float_vertex" />
-<Test name="int_to_int_fragment" />
-<Test name="bool_to_int_fragment" />
-<Test name="int_to_bool_vertex" />
-<Test name="uint_to_float_fragment" />
-<Test name="bool_to_bool_fragment" />
-<Test name="bool_to_uint_vertex" />
-<Test name="bool_to_bool_vertex" />
-<Test name="uint_to_bool_fragment" />
-<Test name="float_to_uint_fragment" />
-<Test name="int_to_int_vertex" />
-<Test name="float_to_uint_vertex" />
-<Test name="float_to_int_fragment" />
-<Test name="bool_to_float_fragment" />
-<Test name="uint_to_int_vertex" />
-<Test name="uint_to_uint_fragment" />
-<Test name="int_to_float_fragment" />
-<Test name="int_to_uint_fragment" />
-<Test name="bool_to_uint_fragment" />
-<Test name="uint_to_float_vertex" />
-<Test name="bool_to_int_vertex" />
-<Test name="uint_to_bool_vertex" />
-<Test name="int_to_bool_fragment" />
-<Test name="float_to_int_vertex" />
-<Test name="float_to_bool_vertex" />
-<Test name="float_to_float_vertex" />
-<Test name="bool_to_float_vertex" />
-</TestCase>
-</TestSuite>
-<TestSuite name="declarations">
-<TestCase name="invalid_declarations">
-<Test name="uniform_block_duplicate_member_name_2_vertex" />
-<Test name="uniform_block_array_without_instance_name_2_fragment" />
-<Test name="uniform_block_duplicate_member_name_2_fragment" />
-<Test name="uniform_block_duplicate_instance_name_2_vertex" />
-<Test name="invariant_uniform_block_1_fragment" />
-<Test name="uniform_block_duplicate_member_name_1_fragment" />
-<Test name="uniform_block_array_without_instance_name_2_vertex" />
-<Test name="uniform_block_missing_member_semicolon_vertex" />
-<Test name="uniform_in_vertex_main" />
-<Test name="uniform_block_array_without_instance_name_1_vertex" />
-<Test name="uniform_block_duplicate_instance_name_3_vertex" />
-<Test name="uniform_block_missing_end_semicolon_fragment" />
-<Test name="uniform_in_fragment_main" />
-<Test name="nested_uniform_block_vertex" />
-<Test name="uniform_block_member_layout_qualifier_vertex" />
-<Test name="uniform_block_duplicate_member_name_3_fragment" />
-<Test name="uniform_block_layout_qualifier_vertex" />
-<Test name="uniform_block_member_layout_qualifier_fragment" />
-<Test name="uniform_block_duplicate_instance_name_3_fragment" />
-<Test name="uniform_block_duplicate_member_name_1_vertex" />
-<Test name="uniform_block_nested_struct_definition_vertex" />
-<Test name="uniform_block_layout_qualifier_fragment" />
-<Test name="out_in_fragment_main" />
-<Test name="in_in_vertex_main" />
-<Test name="uniform_block_nested_struct_definition_fragment" />
-<Test name="uniform_block_duplicate_instance_name_1_vertex" />
-<Test name="invariant_uniform_block_1_vertex" />
-<Test name="in_in_fragment_main" />
-<Test name="uniform_block_in_main_vertex" />
-<Test name="uniform_block_duplicate_instance_name_2_fragment" />
-<Test name="uniform_block_duplicate_instance_name_1_fragment" />
-<Test name="out_in_vertex_main" />
-<Test name="uniform_block_duplicate_member_name_3_vertex" />
-<Test name="uniform_block_missing_member_semicolon_fragment" />
-<Test name="uniform_block_array_without_instance_name_1_fragment" />
-<Test name="uniform_block_missing_end_semicolon_vertex" />
-<Test name="nested_uniform_block_fragment" />
-<Test name="uniform_block_in_main_fragment" />
-</TestCase>
-</TestSuite>
-<TestSuite name="random">
-<TestSuite name="scalar_conversion">
-<TestCase name="fragment">
-<Test name="24" />
-<Test name="25" />
-<Test name="26" />
-<Test name="27" />
-<Test name="20" />
-<Test name="21" />
-<Test name="22" />
-<Test name="23" />
-<Test name="28" />
-<Test name="29" />
-<Test name="0" />
-<Test name="4" />
-<Test name="8" />
-<Test name="59" />
-<Test name="58" />
-<Test name="55" />
-<Test name="54" />
-<Test name="57" />
-<Test name="56" />
-<Test name="51" />
-<Test name="50" />
-<Test name="53" />
-<Test name="52" />
-<Test name="88" />
-<Test name="89" />
-<Test name="82" />
-<Test name="83" />
-<Test name="80" />
-<Test name="81" />
-<Test name="86" />
-<Test name="87" />
-<Test name="84" />
-<Test name="85" />
-<Test name="3" />
-<Test name="7" />
-<Test name="39" />
-<Test name="38" />
-<Test name="33" />
-<Test name="32" />
-<Test name="31" />
-<Test name="30" />
-<Test name="37" />
-<Test name="36" />
-<Test name="35" />
-<Test name="34" />
-<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="2" />
-<Test name="6" />
-<Test name="99" />
-<Test name="98" />
-<Test name="91" />
-<Test name="90" />
-<Test name="93" />
-<Test name="92" />
-<Test name="95" />
-<Test name="94" />
-<Test name="97" />
-<Test name="96" />
-<Test name="11" />
-<Test name="10" />
-<Test name="13" />
-<Test name="12" />
-<Test name="15" />
-<Test name="14" />
-<Test name="17" />
-<Test name="16" />
-<Test name="19" />
-<Test name="18" />
-<Test name="48" />
-<Test name="49" />
-<Test name="46" />
-<Test name="47" />
-<Test name="44" />
-<Test name="45" />
-<Test name="42" />
-<Test name="43" />
-<Test name="40" />
-<Test name="41" />
-<Test name="1" />
-<Test name="5" />
-<Test name="9" />
-<Test name="77" />
-<Test name="76" />
-<Test name="75" />
-<Test name="74" />
-<Test name="73" />
-<Test name="71" />
-<Test name="70" />
-<Test name="79" />
-<Test name="78" />
-</TestCase>
-<TestCase name="vertex">
-<Test name="24" />
-<Test name="25" />
-<Test name="26" />
-<Test name="27" />
-<Test name="20" />
-<Test name="21" />
-<Test name="22" />
-<Test name="23" />
-<Test name="28" />
-<Test name="29" />
-<Test name="0" />
-<Test name="4" />
-<Test name="8" />
-<Test name="59" />
-<Test name="58" />
-<Test name="55" />
-<Test name="54" />
-<Test name="57" />
-<Test name="56" />
-<Test name="51" />
-<Test name="50" />
-<Test name="53" />
-<Test name="52" />
-<Test name="88" />
-<Test name="89" />
-<Test name="82" />
-<Test name="83" />
-<Test name="80" />
-<Test name="81" />
-<Test name="86" />
-<Test name="87" />
-<Test name="84" />
-<Test name="85" />
-<Test name="3" />
-<Test name="7" />
-<Test name="39" />
-<Test name="38" />
-<Test name="33" />
-<Test name="32" />
-<Test name="31" />
-<Test name="30" />
-<Test name="37" />
-<Test name="36" />
-<Test name="35" />
-<Test name="34" />
-<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="2" />
-<Test name="6" />
-<Test name="99" />
-<Test name="98" />
-<Test name="91" />
-<Test name="90" />
-<Test name="93" />
-<Test name="92" />
-<Test name="95" />
-<Test name="94" />
-<Test name="97" />
-<Test name="96" />
-<Test name="11" />
-<Test name="10" />
-<Test name="13" />
-<Test name="12" />
-<Test name="15" />
-<Test name="14" />
-<Test name="17" />
-<Test name="16" />
-<Test name="19" />
-<Test name="18" />
-<Test name="48" />
-<Test name="49" />
-<Test name="46" />
-<Test name="47" />
-<Test name="44" />
-<Test name="45" />
-<Test name="42" />
-<Test name="43" />
-<Test name="40" />
-<Test name="41" />
-<Test name="1" />
-<Test name="5" />
-<Test name="9" />
-<Test name="77" />
-<Test name="76" />
-<Test name="75" />
-<Test name="74" />
-<Test name="73" />
-<Test name="72" />
-<Test name="71" />
-<Test name="70" />
-<Test name="79" />
-<Test name="78" />
-</TestCase>
-<TestCase name="combined">
-<Test name="24" />
-<Test name="25" />
-<Test name="26" />
-<Test name="27" />
-<Test name="20" />
-<Test name="21" />
-<Test name="22" />
-<Test name="23" />
-<Test name="28" />
-<Test name="29" />
-<Test name="0" />
-<Test name="4" />
-<Test name="8" />
-<Test name="59" />
-<Test name="58" />
-<Test name="55" />
-<Test name="54" />
-<Test name="57" />
-<Test name="56" />
-<Test name="51" />
-<Test name="50" />
-<Test name="53" />
-<Test name="52" />
-<Test name="88" />
-<Test name="89" />
-<Test name="82" />
-<Test name="83" />
-<Test name="80" />
-<Test name="81" />
-<Test name="86" />
-<Test name="87" />
-<Test name="84" />
-<Test name="85" />
-<Test name="3" />
-<Test name="7" />
-<Test name="39" />
-<Test name="38" />
-<Test name="33" />
-<Test name="32" />
-<Test name="31" />
-<Test name="30" />
-<Test name="37" />
-<Test name="36" />
-<Test name="35" />
-<Test name="34" />
-<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="2" />
-<Test name="6" />
-<Test name="99" />
-<Test name="98" />
-<Test name="91" />
-<Test name="90" />
-<Test name="93" />
-<Test name="92" />
-<Test name="95" />
-<Test name="94" />
-<Test name="97" />
-<Test name="96" />
-<Test name="11" />
-<Test name="10" />
-<Test name="13" />
-<Test name="12" />
-<Test name="15" />
-<Test name="14" />
-<Test name="17" />
-<Test name="16" />
-<Test name="19" />
-<Test name="18" />
-<Test name="48" />
-<Test name="49" />
-<Test name="46" />
-<Test name="47" />
-<Test name="44" />
-<Test name="45" />
-<Test name="42" />
-<Test name="43" />
-<Test name="40" />
-<Test name="41" />
-<Test name="1" />
-<Test name="5" />
-<Test name="9" />
-<Test name="77" />
-<Test name="76" />
-<Test name="75" />
-<Test name="74" />
-<Test name="73" />
-<Test name="71" />
-<Test name="70" />
-<Test name="79" />
-<Test name="78" />
-</TestCase>
-</TestSuite>
-<TestSuite name="exponential">
-<TestCase name="fragment">
-<Test name="25" />
-<Test name="26" />
-<Test name="27" />
-<Test name="20" />
-<Test name="21" />
-<Test name="22" />
-<Test name="23" />
-<Test name="28" />
-<Test name="29" />
-<Test name="0" />
-<Test name="4" />
-<Test name="8" />
-<Test name="59" />
-<Test name="58" />
-<Test name="55" />
-<Test name="54" />
-<Test name="57" />
-<Test name="56" />
-<Test name="50" />
-<Test name="53" />
-<Test name="52" />
-<Test name="89" />
-<Test name="82" />
-<Test name="83" />
-<Test name="80" />
-<Test name="81" />
-<Test name="86" />
-<Test name="87" />
-<Test name="84" />
-<Test name="85" />
-<Test name="3" />
-<Test name="7" />
-<Test name="39" />
-<Test name="38" />
-<Test name="33" />
-<Test name="31" />
-<Test name="30" />
-<Test name="37" />
-<Test name="36" />
-<Test name="35" />
-<Test name="34" />
-<Test name="60" />
-<Test name="61" />
-<Test name="62" />
-<Test name="63" />
-<Test name="65" />
-<Test name="66" />
-<Test name="67" />
-<Test name="68" />
-<Test name="69" />
-<Test name="2" />
-<Test name="6" />
-<Test name="99" />
-<Test name="98" />
-<Test name="91" />
-<Test name="90" />
-<Test name="93" />
-<Test name="92" />
-<Test name="95" />
-<Test name="94" />
-<Test name="97" />
-<Test name="96" />
-<Test name="10" />
-<Test name="13" />
-<Test name="12" />
-<Test name="15" />
-<Test name="14" />
-<Test name="17" />
-<Test name="16" />
-<Test name="19" />
-<Test name="18" />
-<Test name="48" />
-<Test name="49" />
-<Test name="46" />
-<Test name="44" />
-<Test name="45" />
-<Test name="42" />
-<Test name="43" />
-<Test name="40" />
-<Test name="41" />
-<Test name="5" />
-<Test name="9" />
-<Test name="77" />
-<Test name="76" />
-<Test name="75" />
-<Test name="74" />
-<Test name="73" />
-<Test name="72" />
-<Test name="71" />
-<Test name="78" />
-</TestCase>
-<TestCase name="vertex">
-<Test name="25" />
-<Test name="26" />
-<Test name="27" />
-<Test name="20" />
-<Test name="21" />
-<Test name="22" />
-<Test name="23" />
-<Test name="28" />
-<Test name="29" />
-<Test name="0" />
-<Test name="4" />
-<Test name="8" />
-<Test name="59" />
-<Test name="58" />
-<Test name="55" />
-<Test name="54" />
-<Test name="57" />
-<Test name="56" />
-<Test name="50" />
-<Test name="53" />
-<Test name="52" />
-<Test name="88" />
-<Test name="89" />
-<Test name="82" />
-<Test name="83" />
-<Test name="80" />
-<Test name="81" />
-<Test name="86" />
-<Test name="87" />
-<Test name="84" />
-<Test name="85" />
-<Test name="3" />
-<Test name="7" />
-<Test name="39" />
-<Test name="33" />
-<Test name="31" />
-<Test name="30" />
-<Test name="37" />
-<Test name="36" />
-<Test name="35" />
-<Test name="34" />
-<Test name="60" />
-<Test name="61" />
-<Test name="62" />
-<Test name="63" />
-<Test name="65" />
-<Test name="66" />
-<Test name="67" />
-<Test name="68" />
-<Test name="69" />
-<Test name="2" />
-<Test name="6" />
-<Test name="99" />
-<Test name="98" />
-<Test name="91" />
-<Test name="90" />
-<Test name="93" />
-<Test name="92" />
-<Test name="95" />
-<Test name="94" />
-<Test name="97" />
-<Test name="96" />
-<Test name="11" />
-<Test name="10" />
-<Test name="13" />
-<Test name="12" />
-<Test name="15" />
-<Test name="14" />
-<Test name="17" />
-<Test name="16" />
-<Test name="19" />
-<Test name="18" />
-<Test name="48" />
-<Test name="49" />
-<Test name="47" />
-<Test name="44" />
-<Test name="45" />
-<Test name="42" />
-<Test name="43" />
-<Test name="40" />
-<Test name="41" />
-<Test name="1" />
-<Test name="5" />
-<Test name="9" />
-<Test name="77" />
-<Test name="76" />
-<Test name="75" />
-<Test name="74" />
-<Test name="73" />
-<Test name="72" />
-<Test name="71" />
-<Test name="78" />
-</TestCase>
-</TestSuite>
-<TestSuite name="trigonometric">
-<TestCase name="fragment">
-<Test name="24" />
-<Test name="25" />
-<Test name="26" />
-<Test name="27" />
-<Test name="20" />
-<Test name="21" />
-<Test name="22" />
-<Test name="23" />
-<Test name="28" />
-<Test name="29" />
-<Test name="0" />
-<Test name="4" />
-<Test name="8" />
-<Test name="59" />
-<Test name="58" />
-<Test name="55" />
-<Test name="54" />
-<Test name="57" />
-<Test name="56" />
-<Test name="51" />
-<Test name="50" />
-<Test name="53" />
-<Test name="52" />
-<Test name="88" />
-<Test name="82" />
-<Test name="80" />
-<Test name="81" />
-<Test name="86" />
-<Test name="87" />
-<Test name="84" />
-<Test name="85" />
-<Test name="7" />
-<Test name="39" />
-<Test name="38" />
-<Test name="33" />
-<Test name="32" />
-<Test name="31" />
-<Test name="30" />
-<Test name="36" />
-<Test name="35" />
-<Test name="34" />
-<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="2" />
-<Test name="6" />
-<Test name="99" />
-<Test name="98" />
-<Test name="91" />
-<Test name="90" />
-<Test name="93" />
-<Test name="92" />
-<Test name="95" />
-<Test name="97" />
-<Test name="96" />
-<Test name="11" />
-<Test name="13" />
-<Test name="12" />
-<Test name="14" />
-<Test name="17" />
-<Test name="16" />
-<Test name="19" />
-<Test name="18" />
-<Test name="48" />
-<Test name="46" />
-<Test name="47" />
-<Test name="44" />
-<Test name="45" />
-<Test name="42" />
-<Test name="43" />
-<Test name="41" />
-<Test name="1" />
-<Test name="5" />
-<Test name="9" />
-<Test name="77" />
-<Test name="76" />
-<Test name="75" />
-<Test name="74" />
-<Test name="73" />
-<Test name="72" />
-<Test name="71" />
-<Test name="70" />
-<Test name="79" />
-<Test name="78" />
-</TestCase>
-<TestCase name="vertex">
-<Test name="24" />
-<Test name="25" />
-<Test name="26" />
-<Test name="27" />
-<Test name="20" />
-<Test name="21" />
-<Test name="22" />
-<Test name="23" />
-<Test name="28" />
-<Test name="29" />
-<Test name="0" />
-<Test name="4" />
-<Test name="8" />
-<Test name="59" />
-<Test name="58" />
-<Test name="55" />
-<Test name="54" />
-<Test name="57" />
-<Test name="56" />
-<Test name="51" />
-<Test name="50" />
-<Test name="53" />
-<Test name="52" />
-<Test name="88" />
-<Test name="82" />
-<Test name="80" />
-<Test name="81" />
-<Test name="86" />
-<Test name="87" />
-<Test name="84" />
-<Test name="85" />
-<Test name="7" />
-<Test name="39" />
-<Test name="38" />
-<Test name="33" />
-<Test name="32" />
-<Test name="31" />
-<Test name="30" />
-<Test name="36" />
-<Test name="35" />
-<Test name="34" />
-<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="2" />
-<Test name="6" />
-<Test name="99" />
-<Test name="98" />
-<Test name="91" />
-<Test name="90" />
-<Test name="93" />
-<Test name="92" />
-<Test name="95" />
-<Test name="97" />
-<Test name="96" />
-<Test name="13" />
-<Test name="12" />
-<Test name="14" />
-<Test name="17" />
-<Test name="16" />
-<Test name="19" />
-<Test name="18" />
-<Test name="48" />
-<Test name="46" />
-<Test name="47" />
-<Test name="44" />
-<Test name="45" />
-<Test name="42" />
-<Test name="43" />
-<Test name="40" />
-<Test name="41" />
-<Test name="1" />
-<Test name="5" />
-<Test name="9" />
-<Test name="77" />
-<Test name="76" />
-<Test name="75" />
-<Test name="74" />
-<Test name="73" />
-<Test name="72" />
-<Test name="71" />
-<Test name="70" />
-<Test name="79" />
-<Test name="78" />
-</TestCase>
-</TestSuite>
-<TestSuite name="texture">
-<TestCase name="fragment">
-<Test name="133" />
-<Test name="132" />
-<Test name="131" />
-<Test name="130" />
-<Test name="137" />
-<Test name="136" />
-<Test name="135" />
-<Test name="134" />
-<Test name="139" />
-<Test name="138" />
-<Test name="24" />
-<Test name="25" />
-<Test name="26" />
-<Test name="27" />
-<Test name="20" />
-<Test name="21" />
-<Test name="22" />
-<Test name="23" />
-<Test name="28" />
-<Test name="29" />
-<Test name="0" />
-<Test name="4" />
-<Test name="8" />
-<Test name="120" />
-<Test name="121" />
-<Test name="122" />
-<Test name="123" />
-<Test name="124" />
-<Test name="125" />
-<Test name="126" />
-<Test name="127" />
-<Test name="128" />
-<Test name="129" />
-<Test name="59" />
-<Test name="58" />
-<Test name="55" />
-<Test name="54" />
-<Test name="57" />
-<Test name="56" />
-<Test name="51" />
-<Test name="50" />
-<Test name="53" />
-<Test name="52" />
-<Test name="115" />
-<Test name="114" />
-<Test name="88" />
-<Test name="89" />
-<Test name="111" />
-<Test name="110" />
-<Test name="113" />
-<Test name="112" />
-<Test name="82" />
-<Test name="83" />
-<Test name="80" />
-<Test name="81" />
-<Test name="119" />
-<Test name="118" />
-<Test name="84" />
-<Test name="85" />
-<Test name="3" />
-<Test name="7" />
-<Test name="108" />
-<Test name="109" />
-<Test name="102" />
-<Test name="103" />
-<Test name="100" />
-<Test name="101" />
-<Test name="106" />
-<Test name="107" />
-<Test name="104" />
-<Test name="105" />
-<Test name="39" />
-<Test name="38" />
-<Test name="33" />
-<Test name="32" />
-<Test name="31" />
-<Test name="30" />
-<Test name="37" />
-<Test name="36" />
-<Test name="35" />
-<Test name="34" />
-<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="2" />
-<Test name="6" />
-<Test name="99" />
-<Test name="98" />
-<Test name="91" />
-<Test name="90" />
-<Test name="93" />
-<Test name="92" />
-<Test name="95" />
-<Test name="94" />
-<Test name="97" />
-<Test name="96" />
-<Test name="11" />
-<Test name="10" />
-<Test name="13" />
-<Test name="12" />
-<Test name="15" />
-<Test name="14" />
-<Test name="17" />
-<Test name="16" />
-<Test name="19" />
-<Test name="18" />
-<Test name="117" />
-<Test name="116" />
-<Test name="41" />
-<Test name="48" />
-<Test name="49" />
-<Test name="46" />
-<Test name="86" />
-<Test name="44" />
-<Test name="45" />
-<Test name="42" />
-<Test name="43" />
-<Test name="40" />
-<Test name="87" />
-<Test name="1" />
-<Test name="5" />
-<Test name="9" />
-<Test name="146" />
-<Test name="147" />
-<Test name="144" />
-<Test name="145" />
-<Test name="142" />
-<Test name="143" />
-<Test name="140" />
-<Test name="141" />
-<Test name="148" />
-<Test name="149" />
-<Test name="77" />
-<Test name="76" />
-<Test name="75" />
-<Test name="74" />
-<Test name="73" />
-<Test name="71" />
-<Test name="70" />
-<Test name="79" />
-<Test name="78" />
-<Test name="47" />
-</TestCase>
-<TestCase name="vertex">
-<Test name="30" />
-<Test name="28" />
-<Test name="29" />
-<Test name="24" />
-<Test name="25" />
-<Test name="26" />
-<Test name="27" />
-<Test name="20" />
-<Test name="21" />
-<Test name="48" />
-<Test name="49" />
-<Test name="46" />
-<Test name="47" />
-<Test name="44" />
-<Test name="45" />
-<Test name="42" />
-<Test name="43" />
-<Test name="40" />
-<Test name="41" />
-<Test name="1" />
-<Test name="0" />
-<Test name="3" />
-<Test name="2" />
-<Test name="5" />
-<Test name="4" />
-<Test name="7" />
-<Test name="6" />
-<Test name="9" />
-<Test name="8" />
-<Test name="13" />
-<Test name="12" />
-<Test name="14" />
-<Test name="11" />
-<Test name="10" />
-<Test name="39" />
-<Test name="38" />
-<Test name="15" />
-<Test name="22" />
-<Test name="17" />
-<Test name="16" />
-<Test name="19" />
-<Test name="18" />
-<Test name="31" />
-<Test name="23" />
-<Test name="37" />
-<Test name="36" />
-<Test name="35" />
-<Test name="34" />
-<Test name="33" />
-<Test name="32" />
-</TestCase>
-</TestSuite>
-<TestSuite name="swizzle">
-<TestCase name="fragment">
-<Test name="30" />
-<Test name="28" />
-<Test name="29" />
-<Test name="24" />
-<Test name="25" />
-<Test name="26" />
-<Test name="27" />
-<Test name="20" />
-<Test name="21" />
-<Test name="48" />
-<Test name="49" />
-<Test name="46" />
-<Test name="47" />
-<Test name="44" />
-<Test name="45" />
-<Test name="42" />
-<Test name="43" />
-<Test name="40" />
-<Test name="41" />
-<Test name="1" />
-<Test name="0" />
-<Test name="3" />
-<Test name="2" />
-<Test name="5" />
-<Test name="4" />
-<Test name="7" />
-<Test name="6" />
-<Test name="9" />
-<Test name="8" />
-<Test name="13" />
-<Test name="12" />
-<Test name="14" />
-<Test name="11" />
-<Test name="10" />
-<Test name="39" />
-<Test name="38" />
-<Test name="15" />
-<Test name="22" />
-<Test name="17" />
-<Test name="16" />
-<Test name="19" />
-<Test name="18" />
-<Test name="31" />
-<Test name="23" />
-<Test name="37" />
-<Test name="36" />
-<Test name="35" />
-<Test name="34" />
-<Test name="33" />
-<Test name="32" />
-</TestCase>
-<TestCase name="vertex">
-<Test name="30" />
-<Test name="28" />
-<Test name="29" />
-<Test name="24" />
-<Test name="25" />
-<Test name="26" />
-<Test name="27" />
-<Test name="20" />
-<Test name="21" />
-<Test name="48" />
-<Test name="49" />
-<Test name="46" />
-<Test name="47" />
-<Test name="44" />
-<Test name="45" />
-<Test name="42" />
-<Test name="43" />
-<Test name="40" />
-<Test name="41" />
-<Test name="1" />
-<Test name="0" />
-<Test name="3" />
-<Test name="2" />
-<Test name="5" />
-<Test name="4" />
-<Test name="7" />
-<Test name="6" />
-<Test name="9" />
-<Test name="8" />
-<Test name="13" />
-<Test name="12" />
-<Test name="14" />
-<Test name="11" />
-<Test name="10" />
-<Test name="39" />
-<Test name="38" />
-<Test name="15" />
-<Test name="22" />
-<Test name="17" />
-<Test name="16" />
-<Test name="19" />
-<Test name="18" />
-<Test name="31" />
-<Test name="23" />
-<Test name="37" />
-<Test name="36" />
-<Test name="35" />
-<Test name="34" />
-<Test name="33" />
-<Test name="32" />
-</TestCase>
-</TestSuite>
-<TestSuite name="comparison_ops">
-<TestCase name="fragment">
-<Test name="30" />
-<Test name="28" />
-<Test name="29" />
-<Test name="24" />
-<Test name="25" />
-<Test name="26" />
-<Test name="27" />
-<Test name="20" />
-<Test name="21" />
-<Test name="48" />
-<Test name="49" />
-<Test name="46" />
-<Test name="47" />
-<Test name="44" />
-<Test name="45" />
-<Test name="42" />
-<Test name="43" />
-<Test name="40" />
-<Test name="1" />
-<Test name="0" />
-<Test name="3" />
-<Test name="2" />
-<Test name="5" />
-<Test name="4" />
-<Test name="7" />
-<Test name="6" />
-<Test name="9" />
-<Test name="8" />
-<Test name="13" />
-<Test name="12" />
-<Test name="14" />
-<Test name="11" />
-<Test name="10" />
-<Test name="39" />
-<Test name="38" />
-<Test name="15" />
-<Test name="22" />
-<Test name="17" />
-<Test name="16" />
-<Test name="19" />
-<Test name="18" />
-<Test name="31" />
-<Test name="23" />
-<Test name="37" />
-<Test name="36" />
-<Test name="35" />
-<Test name="34" />
-<Test name="33" />
-<Test name="32" />
-</TestCase>
-<TestCase name="vertex">
-<Test name="30" />
-<Test name="28" />
-<Test name="29" />
-<Test name="24" />
-<Test name="25" />
-<Test name="26" />
-<Test name="27" />
-<Test name="20" />
-<Test name="21" />
-<Test name="48" />
-<Test name="49" />
-<Test name="46" />
-<Test name="47" />
-<Test name="44" />
-<Test name="45" />
-<Test name="42" />
-<Test name="43" />
-<Test name="40" />
-<Test name="1" />
-<Test name="0" />
-<Test name="3" />
-<Test name="2" />
-<Test name="5" />
-<Test name="4" />
-<Test name="7" />
-<Test name="6" />
-<Test name="9" />
-<Test name="8" />
-<Test name="13" />
-<Test name="12" />
-<Test name="14" />
-<Test name="11" />
-<Test name="10" />
-<Test name="39" />
-<Test name="38" />
-<Test name="15" />
-<Test name="22" />
-<Test name="17" />
-<Test name="16" />
-<Test name="19" />
-<Test name="18" />
-<Test name="31" />
-<Test name="23" />
-<Test name="37" />
-<Test name="36" />
-<Test name="35" />
-<Test name="34" />
-<Test name="33" />
-<Test name="32" />
-</TestCase>
-</TestSuite>
-<TestSuite name="conditionals">
-<TestCase name="fragment">
-<Test name="24" />
-<Test name="25" />
-<Test name="26" />
-<Test name="27" />
-<Test name="20" />
-<Test name="21" />
-<Test name="22" />
-<Test name="23" />
-<Test name="28" />
-<Test name="29" />
-<Test name="0" />
-<Test name="4" />
-<Test name="8" />
-<Test name="59" />
-<Test name="58" />
-<Test name="55" />
-<Test name="54" />
-<Test name="57" />
-<Test name="56" />
-<Test name="51" />
-<Test name="50" />
-<Test name="53" />
-<Test name="52" />
-<Test name="88" />
-<Test name="89" />
-<Test name="82" />
-<Test name="83" />
-<Test name="80" />
-<Test name="81" />
-<Test name="86" />
-<Test name="87" />
-<Test name="84" />
-<Test name="85" />
-<Test name="3" />
-<Test name="7" />
-<Test name="39" />
-<Test name="38" />
-<Test name="33" />
-<Test name="32" />
-<Test name="31" />
-<Test name="30" />
-<Test name="37" />
-<Test name="36" />
-<Test name="35" />
-<Test name="34" />
-<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="2" />
-<Test name="6" />
-<Test name="99" />
-<Test name="98" />
-<Test name="91" />
-<Test name="90" />
-<Test name="93" />
-<Test name="92" />
-<Test name="95" />
-<Test name="94" />
-<Test name="97" />
-<Test name="96" />
-<Test name="11" />
-<Test name="10" />
-<Test name="13" />
-<Test name="12" />
-<Test name="15" />
-<Test name="14" />
-<Test name="17" />
-<Test name="16" />
-<Test name="19" />
-<Test name="18" />
-<Test name="48" />
-<Test name="49" />
-<Test name="46" />
-<Test name="47" />
-<Test name="44" />
-<Test name="45" />
-<Test name="42" />
-<Test name="43" />
-<Test name="40" />
-<Test name="41" />
-<Test name="1" />
-<Test name="5" />
-<Test name="9" />
-<Test name="77" />
-<Test name="76" />
-<Test name="75" />
-<Test name="74" />
-<Test name="73" />
-<Test name="72" />
-<Test name="71" />
-<Test name="70" />
-<Test name="79" />
-<Test name="78" />
-</TestCase>
-<TestCase name="vertex">
-<Test name="24" />
-<Test name="25" />
-<Test name="26" />
-<Test name="27" />
-<Test name="20" />
-<Test name="21" />
-<Test name="22" />
-<Test name="23" />
-<Test name="28" />
-<Test name="29" />
-<Test name="0" />
-<Test name="4" />
-<Test name="8" />
-<Test name="59" />
-<Test name="58" />
-<Test name="55" />
-<Test name="54" />
-<Test name="57" />
-<Test name="56" />
-<Test name="51" />
-<Test name="50" />
-<Test name="53" />
-<Test name="52" />
-<Test name="88" />
-<Test name="89" />
-<Test name="82" />
-<Test name="83" />
-<Test name="80" />
-<Test name="81" />
-<Test name="86" />
-<Test name="87" />
-<Test name="84" />
-<Test name="85" />
-<Test name="3" />
-<Test name="7" />
-<Test name="39" />
-<Test name="38" />
-<Test name="33" />
-<Test name="32" />
-<Test name="31" />
-<Test name="30" />
-<Test name="37" />
-<Test name="36" />
-<Test name="35" />
-<Test name="34" />
-<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="2" />
-<Test name="6" />
-<Test name="99" />
-<Test name="98" />
-<Test name="91" />
-<Test name="90" />
-<Test name="93" />
-<Test name="92" />
-<Test name="95" />
-<Test name="94" />
-<Test name="97" />
-<Test name="96" />
-<Test name="11" />
-<Test name="10" />
-<Test name="13" />
-<Test name="12" />
-<Test name="15" />
-<Test name="14" />
-<Test name="17" />
-<Test name="16" />
-<Test name="19" />
-<Test name="18" />
-<Test name="48" />
-<Test name="49" />
-<Test name="46" />
-<Test name="47" />
-<Test name="44" />
-<Test name="45" />
-<Test name="42" />
-<Test name="43" />
-<Test name="40" />
-<Test name="41" />
-<Test name="1" />
-<Test name="5" />
-<Test name="9" />
-<Test name="77" />
-<Test name="76" />
-<Test name="75" />
-<Test name="74" />
-<Test name="73" />
-<Test name="72" />
-<Test name="71" />
-<Test name="70" />
-<Test name="79" />
-<Test name="78" />
-</TestCase>
-<TestCase name="combined">
-<Test name="24" />
-<Test name="25" />
-<Test name="26" />
-<Test name="27" />
-<Test name="20" />
-<Test name="21" />
-<Test name="22" />
-<Test name="23" />
-<Test name="28" />
-<Test name="29" />
-<Test name="0" />
-<Test name="4" />
-<Test name="8" />
-<Test name="59" />
-<Test name="58" />
-<Test name="55" />
-<Test name="54" />
-<Test name="57" />
-<Test name="56" />
-<Test name="51" />
-<Test name="50" />
-<Test name="53" />
-<Test name="52" />
-<Test name="88" />
-<Test name="89" />
-<Test name="82" />
-<Test name="83" />
-<Test name="80" />
-<Test name="81" />
-<Test name="86" />
-<Test name="87" />
-<Test name="84" />
-<Test name="85" />
-<Test name="3" />
-<Test name="7" />
-<Test name="39" />
-<Test name="38" />
-<Test name="33" />
-<Test name="32" />
-<Test name="31" />
-<Test name="30" />
-<Test name="37" />
-<Test name="36" />
-<Test name="35" />
-<Test name="34" />
-<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="2" />
-<Test name="6" />
-<Test name="99" />
-<Test name="98" />
-<Test name="91" />
-<Test name="90" />
-<Test name="93" />
-<Test name="92" />
-<Test name="95" />
-<Test name="94" />
-<Test name="97" />
-<Test name="96" />
-<Test name="11" />
-<Test name="10" />
-<Test name="13" />
-<Test name="12" />
-<Test name="15" />
-<Test name="14" />
-<Test name="17" />
-<Test name="16" />
-<Test name="19" />
-<Test name="18" />
-<Test name="48" />
-<Test name="49" />
-<Test name="46" />
-<Test name="47" />
-<Test name="44" />
-<Test name="45" />
-<Test name="42" />
-<Test name="43" />
-<Test name="40" />
-<Test name="41" />
-<Test name="1" />
-<Test name="5" />
-<Test name="9" />
-<Test name="77" />
-<Test name="76" />
-<Test name="75" />
-<Test name="74" />
-<Test name="73" />
-<Test name="72" />
-<Test name="71" />
-<Test name="70" />
-<Test name="79" />
-<Test name="78" />
-</TestCase>
-</TestSuite>
-<TestSuite name="all_features">
-<TestCase name="fragment">
-<Test name="42" />
-<Test name="43" />
-<Test name="60" />
-<Test name="67" />
-<Test name="68" />
-<Test name="83" />
-<Test name="84" />
-<Test name="85" />
-<Test name="24" />
-<Test name="27" />
-<Test name="23" />
-<Test name="28" />
-<Test name="29" />
-<Test name="3" />
-<Test name="2" />
-<Test name="4" />
-<Test name="8" />
-<Test name="99" />
-<Test name="98" />
-<Test name="75" />
-<Test name="74" />
-<Test name="91" />
-<Test name="15" />
-<Test name="97" />
-<Test name="11" />
-<Test name="59" />
-<Test name="17" />
-<Test name="33" />
-<Test name="57" />
-<Test name="51" />
-<Test name="36" />
-<Test name="52" />
-<Test name="19" />
-<Test name="31" />
-</TestCase>
-<TestCase name="vertex">
-<Test name="60" />
-<Test name="68" />
-<Test name="89" />
-<Test name="64" />
-<Test name="67" />
-<Test name="82" />
-<Test name="83" />
-<Test name="86" />
-<Test name="24" />
-<Test name="25" />
-<Test name="27" />
-<Test name="20" />
-<Test name="28" />
-<Test name="43" />
-<Test name="0" />
-<Test name="3" />
-<Test name="8" />
-<Test name="99" />
-<Test name="75" />
-<Test name="91" />
-<Test name="15" />
-<Test name="95" />
-<Test name="97" />
-<Test name="11" />
-<Test name="12" />
-<Test name="59" />
-<Test name="14" />
-<Test name="33" />
-<Test name="57" />
-<Test name="51" />
-<Test name="36" />
-<Test name="52" />
-<Test name="19" />
-<Test name="63" />
-<Test name="31" />
-</TestCase>
-</TestSuite>
-<TestSuite name="basic_expression">
-<TestCase name="fragment">
-<Test name="24" />
-<Test name="25" />
-<Test name="26" />
-<Test name="27" />
-<Test name="20" />
-<Test name="21" />
-<Test name="22" />
-<Test name="23" />
-<Test name="28" />
-<Test name="29" />
-<Test name="0" />
-<Test name="4" />
-<Test name="8" />
-<Test name="59" />
-<Test name="58" />
-<Test name="55" />
-<Test name="54" />
-<Test name="57" />
-<Test name="56" />
-<Test name="51" />
-<Test name="50" />
-<Test name="53" />
-<Test name="52" />
-<Test name="88" />
-<Test name="89" />
-<Test name="82" />
-<Test name="83" />
-<Test name="80" />
-<Test name="81" />
-<Test name="86" />
-<Test name="87" />
-<Test name="84" />
-<Test name="85" />
-<Test name="3" />
-<Test name="7" />
-<Test name="39" />
-<Test name="38" />
-<Test name="33" />
-<Test name="32" />
-<Test name="31" />
-<Test name="30" />
-<Test name="37" />
-<Test name="36" />
-<Test name="35" />
-<Test name="34" />
-<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="2" />
-<Test name="6" />
-<Test name="99" />
-<Test name="98" />
-<Test name="91" />
-<Test name="90" />
-<Test name="93" />
-<Test name="92" />
-<Test name="95" />
-<Test name="94" />
-<Test name="97" />
-<Test name="96" />
-<Test name="11" />
-<Test name="10" />
-<Test name="13" />
-<Test name="12" />
-<Test name="15" />
-<Test name="14" />
-<Test name="17" />
-<Test name="16" />
-<Test name="19" />
-<Test name="18" />
-<Test name="48" />
-<Test name="49" />
-<Test name="46" />
-<Test name="47" />
-<Test name="44" />
-<Test name="45" />
-<Test name="42" />
-<Test name="43" />
-<Test name="40" />
-<Test name="41" />
-<Test name="1" />
-<Test name="5" />
-<Test name="9" />
-<Test name="77" />
-<Test name="76" />
-<Test name="75" />
-<Test name="74" />
-<Test name="73" />
-<Test name="72" />
-<Test name="71" />
-<Test name="70" />
-<Test name="79" />
-<Test name="78" />
-</TestCase>
-<TestCase name="vertex">
-<Test name="24" />
-<Test name="25" />
-<Test name="26" />
-<Test name="27" />
-<Test name="20" />
-<Test name="21" />
-<Test name="22" />
-<Test name="23" />
-<Test name="28" />
-<Test name="29" />
-<Test name="0" />
-<Test name="4" />
-<Test name="8" />
-<Test name="59" />
-<Test name="58" />
-<Test name="55" />
-<Test name="54" />
-<Test name="57" />
-<Test name="56" />
-<Test name="51" />
-<Test name="50" />
-<Test name="53" />
-<Test name="52" />
-<Test name="88" />
-<Test name="89" />
-<Test name="82" />
-<Test name="83" />
-<Test name="80" />
-<Test name="81" />
-<Test name="86" />
-<Test name="87" />
-<Test name="84" />
-<Test name="85" />
-<Test name="3" />
-<Test name="7" />
-<Test name="39" />
-<Test name="38" />
-<Test name="33" />
-<Test name="32" />
-<Test name="31" />
-<Test name="30" />
-<Test name="37" />
-<Test name="36" />
-<Test name="35" />
-<Test name="34" />
-<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="2" />
-<Test name="6" />
-<Test name="99" />
-<Test name="98" />
-<Test name="91" />
-<Test name="90" />
-<Test name="93" />
-<Test name="92" />
-<Test name="95" />
-<Test name="94" />
-<Test name="97" />
-<Test name="96" />
-<Test name="11" />
-<Test name="10" />
-<Test name="13" />
-<Test name="12" />
-<Test name="15" />
-<Test name="14" />
-<Test name="17" />
-<Test name="16" />
-<Test name="19" />
-<Test name="18" />
-<Test name="48" />
-<Test name="49" />
-<Test name="46" />
-<Test name="47" />
-<Test name="44" />
-<Test name="45" />
-<Test name="42" />
-<Test name="43" />
-<Test name="40" />
-<Test name="41" />
-<Test name="1" />
-<Test name="5" />
-<Test name="9" />
-<Test name="77" />
-<Test name="76" />
-<Test name="75" />
-<Test name="74" />
-<Test name="73" />
-<Test name="72" />
-<Test name="71" />
-<Test name="70" />
-<Test name="79" />
-<Test name="78" />
-</TestCase>
-<TestCase name="combined">
-<Test name="24" />
-<Test name="25" />
-<Test name="26" />
-<Test name="27" />
-<Test name="20" />
-<Test name="21" />
-<Test name="22" />
-<Test name="23" />
-<Test name="28" />
-<Test name="29" />
-<Test name="0" />
-<Test name="4" />
-<Test name="8" />
-<Test name="59" />
-<Test name="58" />
-<Test name="55" />
-<Test name="54" />
-<Test name="57" />
-<Test name="56" />
-<Test name="51" />
-<Test name="50" />
-<Test name="53" />
-<Test name="52" />
-<Test name="88" />
-<Test name="89" />
-<Test name="82" />
-<Test name="83" />
-<Test name="80" />
-<Test name="81" />
-<Test name="86" />
-<Test name="87" />
-<Test name="84" />
-<Test name="85" />
-<Test name="3" />
-<Test name="7" />
-<Test name="39" />
-<Test name="38" />
-<Test name="33" />
-<Test name="32" />
-<Test name="31" />
-<Test name="30" />
-<Test name="37" />
-<Test name="36" />
-<Test name="35" />
-<Test name="34" />
-<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="2" />
-<Test name="6" />
-<Test name="99" />
-<Test name="98" />
-<Test name="91" />
-<Test name="90" />
-<Test name="93" />
-<Test name="92" />
-<Test name="95" />
-<Test name="94" />
-<Test name="97" />
-<Test name="96" />
-<Test name="11" />
-<Test name="10" />
-<Test name="13" />
-<Test name="12" />
-<Test name="15" />
-<Test name="14" />
-<Test name="17" />
-<Test name="16" />
-<Test name="19" />
-<Test name="18" />
-<Test name="48" />
-<Test name="49" />
-<Test name="46" />
-<Test name="47" />
-<Test name="44" />
-<Test name="45" />
-<Test name="42" />
-<Test name="43" />
-<Test name="40" />
-<Test name="41" />
-<Test name="1" />
-<Test name="5" />
-<Test name="9" />
-<Test name="77" />
-<Test name="76" />
-<Test name="75" />
-<Test name="74" />
-<Test name="73" />
-<Test name="72" />
-<Test name="71" />
-<Test name="70" />
-<Test name="79" />
-<Test name="78" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-<TestSuite name="loops">
-<TestCase name="while_dynamic_iterations">
-<Test name="infinite_with_unconditional_break_last_vertex" />
-<Test name="infinite_with_unconditional_break_last_fragment" />
-<Test name="basic_mediump_int_vertex" />
-<Test name="post_increment_fragment" />
-<Test name="nested_sequence_fragment" />
-<Test name="double_continue_fragment" />
-<Test name="101_iterations_vertex" />
-<Test name="basic_lowp_int_fragment" />
-<Test name="single_statement_vertex" />
-<Test name="infinite_with_conditional_break_fragment" />
-<Test name="mixed_break_continue_vertex" />
-<Test name="basic_mediump_float_vertex" />
-<Test name="unconditional_continue_vertex" />
-<Test name="post_increment_vertex" />
-<Test name="basic_lowp_float_fragment" />
-<Test name="infinite_with_unconditional_break_first_fragment" />
-<Test name="basic_lowp_float_vertex" />
-<Test name="nested_fragment" />
-<Test name="unconditional_break_fragment" />
-<Test name="vector_counter_fragment" />
-<Test name="only_continue_fragment" />
-<Test name="select_iteration_count_vertex" />
-<Test name="unconditional_continue_fragment" />
-<Test name="basic_highp_int_vertex" />
-<Test name="conditional_break_vertex" />
-<Test name="basic_mediump_float_fragment" />
-<Test name="only_continue_vertex" />
-<Test name="vector_counter_vertex" />
-<Test name="101_iterations_fragment" />
-<Test name="nested_sequence_vertex" />
-<Test name="infinite_with_unconditional_break_first_vertex" />
-<Test name="conditional_continue_vertex" />
-<Test name="sequence_statement_vertex" />
-<Test name="no_iterations_fragment" />
-<Test name="conditional_continue_fragment" />
-<Test name="nested_tricky_dataflow_2_fragment" />
-<Test name="nested_tricky_dataflow_1_vertex" />
-<Test name="pre_increment_vertex" />
-<Test name="double_continue_vertex" />
-<Test name="infinite_with_conditional_break_vertex" />
-<Test name="single_iteration_fragment" />
-<Test name="basic_mediump_int_fragment" />
-<Test name="compound_statement_vertex" />
-<Test name="empty_body_fragment" />
-<Test name="no_iterations_vertex" />
-<Test name="empty_body_vertex" />
-<Test name="basic_highp_float_fragment" />
-<Test name="unconditional_break_vertex" />
-<Test name="compound_statement_fragment" />
-<Test name="sequence_statement_fragment" />
-<Test name="nested_tricky_dataflow_1_fragment" />
-<Test name="pre_increment_fragment" />
-<Test name="basic_lowp_int_vertex" />
-<Test name="single_statement_fragment" />
-<Test name="basic_highp_float_vertex" />
-<Test name="mixed_break_continue_fragment" />
-<Test name="sequence_fragment" />
-<Test name="conditional_break_fragment" />
-<Test name="nested_tricky_dataflow_2_vertex" />
-<Test name="basic_highp_int_fragment" />
-<Test name="single_iteration_vertex" />
-<Test name="nested_vertex" />
-<Test name="select_iteration_count_fragment" />
-<Test name="sequence_vertex" />
-</TestCase>
-<TestCase name="do_while_dynamic_iterations">
-<Test name="infinite_with_unconditional_break_last_vertex" />
-<Test name="infinite_with_unconditional_break_last_fragment" />
-<Test name="basic_mediump_int_vertex" />
-<Test name="post_increment_fragment" />
-<Test name="nested_sequence_fragment" />
-<Test name="double_continue_fragment" />
-<Test name="101_iterations_vertex" />
-<Test name="basic_lowp_int_fragment" />
-<Test name="single_statement_vertex" />
-<Test name="infinite_with_conditional_break_fragment" />
-<Test name="mixed_break_continue_vertex" />
-<Test name="basic_mediump_float_vertex" />
-<Test name="unconditional_continue_vertex" />
-<Test name="post_increment_vertex" />
-<Test name="basic_lowp_float_fragment" />
-<Test name="infinite_with_unconditional_break_first_fragment" />
-<Test name="basic_lowp_float_vertex" />
-<Test name="nested_fragment" />
-<Test name="unconditional_break_fragment" />
-<Test name="vector_counter_fragment" />
-<Test name="only_continue_fragment" />
-<Test name="select_iteration_count_vertex" />
-<Test name="unconditional_continue_fragment" />
-<Test name="basic_highp_int_vertex" />
-<Test name="conditional_break_vertex" />
-<Test name="basic_mediump_float_fragment" />
-<Test name="only_continue_vertex" />
-<Test name="vector_counter_vertex" />
-<Test name="101_iterations_fragment" />
-<Test name="nested_sequence_vertex" />
-<Test name="infinite_with_unconditional_break_first_vertex" />
-<Test name="conditional_continue_vertex" />
-<Test name="sequence_statement_vertex" />
-<Test name="conditional_continue_fragment" />
-<Test name="nested_tricky_dataflow_2_fragment" />
-<Test name="nested_tricky_dataflow_1_vertex" />
-<Test name="pre_increment_vertex" />
-<Test name="double_continue_vertex" />
-<Test name="infinite_with_conditional_break_vertex" />
-<Test name="single_iteration_fragment" />
-<Test name="basic_mediump_int_fragment" />
-<Test name="compound_statement_vertex" />
-<Test name="empty_body_fragment" />
-<Test name="empty_body_vertex" />
-<Test name="basic_highp_float_fragment" />
-<Test name="unconditional_break_vertex" />
-<Test name="compound_statement_fragment" />
-<Test name="sequence_statement_fragment" />
-<Test name="nested_tricky_dataflow_1_fragment" />
-<Test name="pre_increment_fragment" />
-<Test name="basic_lowp_int_vertex" />
-<Test name="single_statement_fragment" />
-<Test name="basic_highp_float_vertex" />
-<Test name="mixed_break_continue_fragment" />
-<Test name="sequence_fragment" />
-<Test name="conditional_break_fragment" />
-<Test name="nested_tricky_dataflow_2_vertex" />
-<Test name="basic_highp_int_fragment" />
-<Test name="single_iteration_vertex" />
-<Test name="nested_vertex" />
-<Test name="select_iteration_count_fragment" />
-<Test name="sequence_vertex" />
-</TestCase>
-<TestCase name="do_while_uniform_iterations">
-<Test name="infinite_with_unconditional_break_last_vertex" />
-<Test name="infinite_with_unconditional_break_last_fragment" />
-<Test name="basic_mediump_int_vertex" />
-<Test name="post_increment_fragment" />
-<Test name="nested_sequence_fragment" />
-<Test name="double_continue_fragment" />
-<Test name="101_iterations_vertex" />
-<Test name="basic_lowp_int_fragment" />
-<Test name="single_statement_vertex" />
-<Test name="infinite_with_conditional_break_fragment" />
-<Test name="mixed_break_continue_vertex" />
-<Test name="basic_mediump_float_vertex" />
-<Test name="unconditional_continue_vertex" />
-<Test name="post_increment_vertex" />
-<Test name="basic_lowp_float_fragment" />
-<Test name="infinite_with_unconditional_break_first_fragment" />
-<Test name="basic_lowp_float_vertex" />
-<Test name="nested_fragment" />
-<Test name="unconditional_break_fragment" />
-<Test name="vector_counter_fragment" />
-<Test name="only_continue_fragment" />
-<Test name="select_iteration_count_vertex" />
-<Test name="unconditional_continue_fragment" />
-<Test name="basic_highp_int_vertex" />
-<Test name="conditional_break_vertex" />
-<Test name="basic_mediump_float_fragment" />
-<Test name="only_continue_vertex" />
-<Test name="vector_counter_vertex" />
-<Test name="101_iterations_fragment" />
-<Test name="nested_sequence_vertex" />
-<Test name="infinite_with_unconditional_break_first_vertex" />
-<Test name="conditional_continue_vertex" />
-<Test name="sequence_statement_vertex" />
-<Test name="conditional_continue_fragment" />
-<Test name="nested_tricky_dataflow_2_fragment" />
-<Test name="nested_tricky_dataflow_1_vertex" />
-<Test name="pre_increment_vertex" />
-<Test name="double_continue_vertex" />
-<Test name="infinite_with_conditional_break_vertex" />
-<Test name="single_iteration_fragment" />
-<Test name="basic_mediump_int_fragment" />
-<Test name="compound_statement_vertex" />
-<Test name="empty_body_fragment" />
-<Test name="empty_body_vertex" />
-<Test name="basic_highp_float_fragment" />
-<Test name="unconditional_break_vertex" />
-<Test name="compound_statement_fragment" />
-<Test name="sequence_statement_fragment" />
-<Test name="nested_tricky_dataflow_1_fragment" />
-<Test name="pre_increment_fragment" />
-<Test name="basic_lowp_int_vertex" />
-<Test name="single_statement_fragment" />
-<Test name="basic_highp_float_vertex" />
-<Test name="mixed_break_continue_fragment" />
-<Test name="sequence_fragment" />
-<Test name="conditional_break_fragment" />
-<Test name="nested_tricky_dataflow_2_vertex" />
-<Test name="basic_highp_int_fragment" />
-<Test name="single_iteration_vertex" />
-<Test name="nested_vertex" />
-<Test name="select_iteration_count_fragment" />
-<Test name="sequence_vertex" />
-</TestCase>
-<TestCase name="do_while_constant_iterations">
-<Test name="infinite_with_unconditional_break_last_vertex" />
-<Test name="infinite_with_unconditional_break_last_fragment" />
-<Test name="basic_mediump_int_vertex" />
-<Test name="post_increment_fragment" />
-<Test name="nested_sequence_fragment" />
-<Test name="double_continue_fragment" />
-<Test name="101_iterations_vertex" />
-<Test name="basic_lowp_int_fragment" />
-<Test name="single_statement_vertex" />
-<Test name="infinite_with_conditional_break_fragment" />
-<Test name="mixed_break_continue_vertex" />
-<Test name="basic_mediump_float_vertex" />
-<Test name="unconditional_continue_vertex" />
-<Test name="post_increment_vertex" />
-<Test name="basic_lowp_float_fragment" />
-<Test name="infinite_with_unconditional_break_first_fragment" />
-<Test name="basic_lowp_float_vertex" />
-<Test name="nested_fragment" />
-<Test name="unconditional_break_fragment" />
-<Test name="vector_counter_fragment" />
-<Test name="only_continue_fragment" />
-<Test name="select_iteration_count_vertex" />
-<Test name="unconditional_continue_fragment" />
-<Test name="basic_highp_int_vertex" />
-<Test name="conditional_break_vertex" />
-<Test name="basic_mediump_float_fragment" />
-<Test name="only_continue_vertex" />
-<Test name="vector_counter_vertex" />
-<Test name="101_iterations_fragment" />
-<Test name="nested_sequence_vertex" />
-<Test name="infinite_with_unconditional_break_first_vertex" />
-<Test name="conditional_continue_vertex" />
-<Test name="sequence_statement_vertex" />
-<Test name="conditional_continue_fragment" />
-<Test name="nested_tricky_dataflow_2_fragment" />
-<Test name="nested_tricky_dataflow_1_vertex" />
-<Test name="pre_increment_vertex" />
-<Test name="double_continue_vertex" />
-<Test name="infinite_with_conditional_break_vertex" />
-<Test name="single_iteration_fragment" />
-<Test name="basic_mediump_int_fragment" />
-<Test name="compound_statement_vertex" />
-<Test name="empty_body_fragment" />
-<Test name="empty_body_vertex" />
-<Test name="basic_highp_float_fragment" />
-<Test name="unconditional_break_vertex" />
-<Test name="compound_statement_fragment" />
-<Test name="sequence_statement_fragment" />
-<Test name="nested_tricky_dataflow_1_fragment" />
-<Test name="pre_increment_fragment" />
-<Test name="basic_lowp_int_vertex" />
-<Test name="single_statement_fragment" />
-<Test name="basic_highp_float_vertex" />
-<Test name="mixed_break_continue_fragment" />
-<Test name="sequence_fragment" />
-<Test name="conditional_break_fragment" />
-<Test name="nested_tricky_dataflow_2_vertex" />
-<Test name="basic_highp_int_fragment" />
-<Test name="single_iteration_vertex" />
-<Test name="nested_vertex" />
-<Test name="select_iteration_count_fragment" />
-<Test name="sequence_vertex" />
-</TestCase>
-<TestCase name="while_constant_iterations">
-<Test name="infinite_with_unconditional_break_last_vertex" />
-<Test name="infinite_with_unconditional_break_last_fragment" />
-<Test name="basic_mediump_int_vertex" />
-<Test name="post_increment_fragment" />
-<Test name="nested_sequence_fragment" />
-<Test name="double_continue_fragment" />
-<Test name="101_iterations_vertex" />
-<Test name="basic_lowp_int_fragment" />
-<Test name="single_statement_vertex" />
-<Test name="infinite_with_conditional_break_fragment" />
-<Test name="mixed_break_continue_vertex" />
-<Test name="basic_mediump_float_vertex" />
-<Test name="unconditional_continue_vertex" />
-<Test name="post_increment_vertex" />
-<Test name="basic_lowp_float_fragment" />
-<Test name="infinite_with_unconditional_break_first_fragment" />
-<Test name="basic_lowp_float_vertex" />
-<Test name="nested_fragment" />
-<Test name="unconditional_break_fragment" />
-<Test name="vector_counter_fragment" />
-<Test name="only_continue_fragment" />
-<Test name="select_iteration_count_vertex" />
-<Test name="unconditional_continue_fragment" />
-<Test name="basic_highp_int_vertex" />
-<Test name="conditional_break_vertex" />
-<Test name="basic_mediump_float_fragment" />
-<Test name="only_continue_vertex" />
-<Test name="vector_counter_vertex" />
-<Test name="101_iterations_fragment" />
-<Test name="nested_sequence_vertex" />
-<Test name="infinite_with_unconditional_break_first_vertex" />
-<Test name="conditional_continue_vertex" />
-<Test name="sequence_statement_vertex" />
-<Test name="no_iterations_fragment" />
-<Test name="conditional_continue_fragment" />
-<Test name="nested_tricky_dataflow_2_fragment" />
-<Test name="nested_tricky_dataflow_1_vertex" />
-<Test name="pre_increment_vertex" />
-<Test name="double_continue_vertex" />
-<Test name="infinite_with_conditional_break_vertex" />
-<Test name="single_iteration_fragment" />
-<Test name="basic_mediump_int_fragment" />
-<Test name="compound_statement_vertex" />
-<Test name="empty_body_fragment" />
-<Test name="no_iterations_vertex" />
-<Test name="empty_body_vertex" />
-<Test name="basic_highp_float_fragment" />
-<Test name="unconditional_break_vertex" />
-<Test name="compound_statement_fragment" />
-<Test name="sequence_statement_fragment" />
-<Test name="nested_tricky_dataflow_1_fragment" />
-<Test name="pre_increment_fragment" />
-<Test name="basic_lowp_int_vertex" />
-<Test name="single_statement_fragment" />
-<Test name="basic_highp_float_vertex" />
-<Test name="mixed_break_continue_fragment" />
-<Test name="sequence_fragment" />
-<Test name="conditional_break_fragment" />
-<Test name="nested_tricky_dataflow_2_vertex" />
-<Test name="basic_highp_int_fragment" />
-<Test name="single_iteration_vertex" />
-<Test name="nested_vertex" />
-<Test name="select_iteration_count_fragment" />
-<Test name="sequence_vertex" />
-</TestCase>
-<TestCase name="for_dynamic_iterations">
-<Test name="infinite_with_unconditional_break_last_vertex" />
-<Test name="infinite_with_unconditional_break_last_fragment" />
-<Test name="basic_mediump_int_vertex" />
-<Test name="post_increment_fragment" />
-<Test name="nested_sequence_fragment" />
-<Test name="double_continue_fragment" />
-<Test name="101_iterations_vertex" />
-<Test name="basic_lowp_int_fragment" />
-<Test name="single_statement_vertex" />
-<Test name="infinite_with_conditional_break_fragment" />
-<Test name="mixed_break_continue_vertex" />
-<Test name="basic_mediump_float_vertex" />
-<Test name="unconditional_continue_vertex" />
-<Test name="post_increment_vertex" />
-<Test name="basic_lowp_float_fragment" />
-<Test name="infinite_with_unconditional_break_first_fragment" />
-<Test name="basic_lowp_float_vertex" />
-<Test name="nested_fragment" />
-<Test name="unconditional_break_fragment" />
-<Test name="vector_counter_fragment" />
-<Test name="only_continue_fragment" />
-<Test name="select_iteration_count_vertex" />
-<Test name="unconditional_continue_fragment" />
-<Test name="basic_highp_int_vertex" />
-<Test name="conditional_break_vertex" />
-<Test name="basic_mediump_float_fragment" />
-<Test name="only_continue_vertex" />
-<Test name="vector_counter_vertex" />
-<Test name="101_iterations_fragment" />
-<Test name="nested_sequence_vertex" />
-<Test name="infinite_with_unconditional_break_first_vertex" />
-<Test name="conditional_continue_vertex" />
-<Test name="sequence_statement_vertex" />
-<Test name="no_iterations_fragment" />
-<Test name="conditional_continue_fragment" />
-<Test name="nested_tricky_dataflow_2_fragment" />
-<Test name="nested_tricky_dataflow_1_vertex" />
-<Test name="pre_increment_vertex" />
-<Test name="double_continue_vertex" />
-<Test name="infinite_with_conditional_break_vertex" />
-<Test name="single_iteration_fragment" />
-<Test name="basic_mediump_int_fragment" />
-<Test name="compound_statement_vertex" />
-<Test name="empty_body_fragment" />
-<Test name="no_iterations_vertex" />
-<Test name="empty_body_vertex" />
-<Test name="basic_highp_float_fragment" />
-<Test name="unconditional_break_vertex" />
-<Test name="compound_statement_fragment" />
-<Test name="sequence_statement_fragment" />
-<Test name="nested_tricky_dataflow_1_fragment" />
-<Test name="pre_increment_fragment" />
-<Test name="basic_lowp_int_vertex" />
-<Test name="single_statement_fragment" />
-<Test name="basic_highp_float_vertex" />
-<Test name="mixed_break_continue_fragment" />
-<Test name="sequence_fragment" />
-<Test name="conditional_break_fragment" />
-<Test name="nested_tricky_dataflow_2_vertex" />
-<Test name="basic_highp_int_fragment" />
-<Test name="single_iteration_vertex" />
-<Test name="nested_vertex" />
-<Test name="select_iteration_count_fragment" />
-<Test name="sequence_vertex" />
-</TestCase>
-<TestCase name="while_uniform_iterations">
-<Test name="infinite_with_unconditional_break_last_vertex" />
-<Test name="infinite_with_unconditional_break_last_fragment" />
-<Test name="basic_mediump_int_vertex" />
-<Test name="post_increment_fragment" />
-<Test name="nested_sequence_fragment" />
-<Test name="double_continue_fragment" />
-<Test name="101_iterations_vertex" />
-<Test name="basic_lowp_int_fragment" />
-<Test name="single_statement_vertex" />
-<Test name="infinite_with_conditional_break_fragment" />
-<Test name="mixed_break_continue_vertex" />
-<Test name="basic_mediump_float_vertex" />
-<Test name="unconditional_continue_vertex" />
-<Test name="post_increment_vertex" />
-<Test name="basic_lowp_float_fragment" />
-<Test name="infinite_with_unconditional_break_first_fragment" />
-<Test name="basic_lowp_float_vertex" />
-<Test name="nested_fragment" />
-<Test name="unconditional_break_fragment" />
-<Test name="vector_counter_fragment" />
-<Test name="only_continue_fragment" />
-<Test name="select_iteration_count_vertex" />
-<Test name="unconditional_continue_fragment" />
-<Test name="basic_highp_int_vertex" />
-<Test name="conditional_break_vertex" />
-<Test name="basic_mediump_float_fragment" />
-<Test name="only_continue_vertex" />
-<Test name="vector_counter_vertex" />
-<Test name="101_iterations_fragment" />
-<Test name="nested_sequence_vertex" />
-<Test name="infinite_with_unconditional_break_first_vertex" />
-<Test name="conditional_continue_vertex" />
-<Test name="sequence_statement_vertex" />
-<Test name="no_iterations_fragment" />
-<Test name="conditional_continue_fragment" />
-<Test name="nested_tricky_dataflow_2_fragment" />
-<Test name="nested_tricky_dataflow_1_vertex" />
-<Test name="pre_increment_vertex" />
-<Test name="double_continue_vertex" />
-<Test name="infinite_with_conditional_break_vertex" />
-<Test name="single_iteration_fragment" />
-<Test name="basic_mediump_int_fragment" />
-<Test name="compound_statement_vertex" />
-<Test name="empty_body_fragment" />
-<Test name="no_iterations_vertex" />
-<Test name="empty_body_vertex" />
-<Test name="basic_highp_float_fragment" />
-<Test name="unconditional_break_vertex" />
-<Test name="compound_statement_fragment" />
-<Test name="sequence_statement_fragment" />
-<Test name="nested_tricky_dataflow_1_fragment" />
-<Test name="pre_increment_fragment" />
-<Test name="basic_lowp_int_vertex" />
-<Test name="single_statement_fragment" />
-<Test name="basic_highp_float_vertex" />
-<Test name="mixed_break_continue_fragment" />
-<Test name="sequence_fragment" />
-<Test name="conditional_break_fragment" />
-<Test name="nested_tricky_dataflow_2_vertex" />
-<Test name="basic_highp_int_fragment" />
-<Test name="single_iteration_vertex" />
-<Test name="nested_vertex" />
-<Test name="select_iteration_count_fragment" />
-<Test name="sequence_vertex" />
-</TestCase>
-<TestCase name="for_uniform_iterations">
-<Test name="infinite_with_unconditional_break_last_vertex" />
-<Test name="infinite_with_unconditional_break_last_fragment" />
-<Test name="basic_mediump_int_vertex" />
-<Test name="post_increment_fragment" />
-<Test name="nested_sequence_fragment" />
-<Test name="double_continue_fragment" />
-<Test name="101_iterations_vertex" />
-<Test name="basic_lowp_int_fragment" />
-<Test name="single_statement_vertex" />
-<Test name="infinite_with_conditional_break_fragment" />
-<Test name="mixed_break_continue_vertex" />
-<Test name="basic_mediump_float_vertex" />
-<Test name="unconditional_continue_vertex" />
-<Test name="post_increment_vertex" />
-<Test name="basic_lowp_float_fragment" />
-<Test name="infinite_with_unconditional_break_first_fragment" />
-<Test name="basic_lowp_float_vertex" />
-<Test name="nested_fragment" />
-<Test name="unconditional_break_fragment" />
-<Test name="vector_counter_fragment" />
-<Test name="only_continue_fragment" />
-<Test name="select_iteration_count_vertex" />
-<Test name="unconditional_continue_fragment" />
-<Test name="basic_highp_int_vertex" />
-<Test name="conditional_break_vertex" />
-<Test name="basic_mediump_float_fragment" />
-<Test name="only_continue_vertex" />
-<Test name="vector_counter_vertex" />
-<Test name="101_iterations_fragment" />
-<Test name="nested_sequence_vertex" />
-<Test name="infinite_with_unconditional_break_first_vertex" />
-<Test name="conditional_continue_vertex" />
-<Test name="sequence_statement_vertex" />
-<Test name="no_iterations_fragment" />
-<Test name="conditional_continue_fragment" />
-<Test name="nested_tricky_dataflow_2_fragment" />
-<Test name="nested_tricky_dataflow_1_vertex" />
-<Test name="pre_increment_vertex" />
-<Test name="double_continue_vertex" />
-<Test name="infinite_with_conditional_break_vertex" />
-<Test name="single_iteration_fragment" />
-<Test name="basic_mediump_int_fragment" />
-<Test name="compound_statement_vertex" />
-<Test name="empty_body_fragment" />
-<Test name="no_iterations_vertex" />
-<Test name="empty_body_vertex" />
-<Test name="basic_highp_float_fragment" />
-<Test name="unconditional_break_vertex" />
-<Test name="compound_statement_fragment" />
-<Test name="sequence_statement_fragment" />
-<Test name="nested_tricky_dataflow_1_fragment" />
-<Test name="pre_increment_fragment" />
-<Test name="basic_lowp_int_vertex" />
-<Test name="single_statement_fragment" />
-<Test name="basic_highp_float_vertex" />
-<Test name="mixed_break_continue_fragment" />
-<Test name="sequence_fragment" />
-<Test name="conditional_break_fragment" />
-<Test name="nested_tricky_dataflow_2_vertex" />
-<Test name="basic_highp_int_fragment" />
-<Test name="single_iteration_vertex" />
-<Test name="nested_vertex" />
-<Test name="select_iteration_count_fragment" />
-<Test name="sequence_vertex" />
-</TestCase>
-<TestCase name="for_constant_iterations">
-<Test name="infinite_with_unconditional_break_last_vertex" />
-<Test name="infinite_with_unconditional_break_last_fragment" />
-<Test name="basic_mediump_int_vertex" />
-<Test name="post_increment_fragment" />
-<Test name="nested_sequence_fragment" />
-<Test name="double_continue_fragment" />
-<Test name="101_iterations_vertex" />
-<Test name="basic_lowp_int_fragment" />
-<Test name="single_statement_vertex" />
-<Test name="infinite_with_conditional_break_fragment" />
-<Test name="mixed_break_continue_vertex" />
-<Test name="basic_mediump_float_vertex" />
-<Test name="unconditional_continue_vertex" />
-<Test name="post_increment_vertex" />
-<Test name="basic_lowp_float_fragment" />
-<Test name="infinite_with_unconditional_break_first_fragment" />
-<Test name="basic_lowp_float_vertex" />
-<Test name="nested_fragment" />
-<Test name="unconditional_break_fragment" />
-<Test name="vector_counter_fragment" />
-<Test name="only_continue_fragment" />
-<Test name="select_iteration_count_vertex" />
-<Test name="unconditional_continue_fragment" />
-<Test name="basic_highp_int_vertex" />
-<Test name="conditional_break_vertex" />
-<Test name="basic_mediump_float_fragment" />
-<Test name="only_continue_vertex" />
-<Test name="vector_counter_vertex" />
-<Test name="101_iterations_fragment" />
-<Test name="nested_sequence_vertex" />
-<Test name="infinite_with_unconditional_break_first_vertex" />
-<Test name="conditional_continue_vertex" />
-<Test name="sequence_statement_vertex" />
-<Test name="no_iterations_fragment" />
-<Test name="conditional_continue_fragment" />
-<Test name="nested_tricky_dataflow_2_fragment" />
-<Test name="nested_tricky_dataflow_1_vertex" />
-<Test name="pre_increment_vertex" />
-<Test name="double_continue_vertex" />
-<Test name="infinite_with_conditional_break_vertex" />
-<Test name="single_iteration_fragment" />
-<Test name="basic_mediump_int_fragment" />
-<Test name="compound_statement_vertex" />
-<Test name="empty_body_fragment" />
-<Test name="no_iterations_vertex" />
-<Test name="empty_body_vertex" />
-<Test name="basic_highp_float_fragment" />
-<Test name="unconditional_break_vertex" />
-<Test name="compound_statement_fragment" />
-<Test name="sequence_statement_fragment" />
-<Test name="nested_tricky_dataflow_1_fragment" />
-<Test name="pre_increment_fragment" />
-<Test name="basic_lowp_int_vertex" />
-<Test name="single_statement_fragment" />
-<Test name="basic_highp_float_vertex" />
-<Test name="mixed_break_continue_fragment" />
-<Test name="sequence_fragment" />
-<Test name="conditional_break_fragment" />
-<Test name="nested_tricky_dataflow_2_vertex" />
-<Test name="basic_highp_int_fragment" />
-<Test name="single_iteration_vertex" />
-<Test name="nested_vertex" />
-<Test name="select_iteration_count_fragment" />
-<Test name="sequence_vertex" />
-</TestCase>
-</TestSuite>
-<TestSuite name="preprocessor">
-<TestCase name="pragmas">
-<Test name="pragma_vertex" />
-<Test name="pragma_macro_exp_vertex" />
-<Test name="pragma_macro_exp_fragment" />
-<Test name="pragma_fragment" />
-</TestCase>
-<TestCase name="line_continuation">
-<Test name="middle_of_line_fragment" />
-<Test name="define_vertex" />
-<Test name="token_fragment" />
-<Test name="comment_vertex" />
-<Test name="define_fragment" />
-<Test name="middle_of_line_vertex" />
-<Test name="preprocessing_token_fragment" />
-<Test name="token_vertex" />
-<Test name="preprocessing_token_vertex" />
-<Test name="comment_fragment" />
-</TestCase>
-<TestCase name="semantic">
-<Test name="correct_order_vertex" />
-<Test name="ops_as_arguments_vertex" />
-<Test name="ops_as_arguments_fragment" />
-<Test name="correct_order_fragment" />
-</TestCase>
-<TestCase name="conditional_inclusion">
-<Test name="basic_3_vertex" />
-<Test name="basic_2_fragment" />
-<Test name="basic_5_fragment" />
-<Test name="unary_ops_2_fragment" />
-<Test name="basic_4_vertex" />
-<Test name="basic_2_vertex" />
-<Test name="basic_1_fragment" />
-<Test name="basic_4_fragment" />
-<Test name="basic_5_vertex" />
-<Test name="basic_3_fragment" />
-<Test name="basic_1_vertex" />
-<Test name="unary_ops_2_vertex" />
-<Test name="unary_ops_1_fragment" />
-<Test name="unary_ops_1_vertex" />
-</TestCase>
-<TestCase name="invalid_function_definitions">
-<Test name="arguments_1_fragment" />
-<Test name="arguments_3_vertex" />
-<Test name="no_closing_parenthesis_2_vertex" />
-<Test name="arguments_8_fragment" />
-<Test name="no_closing_parenthesis_3_vertex" />
-<Test name="unique_param_name_vertex" />
-<Test name="no_closing_parenthesis_4_vertex" />
-<Test name="no_closing_parenthesis_1_fragment" />
-<Test name="no_closing_parenthesis_1_vertex" />
-<Test name="arguments_5_vertex" />
-<Test name="argument_list_2_fragment" />
-<Test name="arguments_5_fragment" />
-<Test name="no_closing_parenthesis_3_fragment" />
-<Test name="arguments_2_fragment" />
-<Test name="arguments_1_vertex" />
-<Test name="arguments_7_vertex" />
-<Test name="argument_list_1_fragment" />
-<Test name="arguments_6_vertex" />
-<Test name="arguments_7_fragment" />
-<Test name="argument_list_1_vertex" />
-<Test name="arguments_4_fragment" />
-<Test name="arguments_4_vertex" />
-<Test name="unique_param_name_fragment" />
-<Test name="arguments_3_fragment" />
-<Test name="arguments_6_fragment" />
-<Test name="argument_list_3_vertex" />
-<Test name="argument_list_2_vertex" />
-<Test name="argument_list_3_fragment" />
-<Test name="no_closing_parenthesis_4_fragment" />
-<Test name="no_closing_parenthesis_2_fragment" />
-<Test name="arguments_2_vertex" />
-<Test name="arguments_8_vertex" />
-</TestCase>
-<TestCase name="expressions">
-<Test name="defined_5_vertex" />
-<Test name="defined_5_fragment" />
-<Test name="parenthesis_if_no_fragment" />
-<Test name="shift_right_vertex" />
-<Test name="shift_left_fragment" />
-<Test name="defined_6_fragment" />
-<Test name="eval_basic_0_fragment" />
-<Test name="less_or_equal_fragment" />
-<Test name="shift_left_vertex" />
-<Test name="parenthesis_if_no_vertex" />
-<Test name="mod_fragment" />
-<Test name="parenthesis_if_vertex" />
-<Test name="eval_basic_0_vertex" />
-<Test name="or_vertex" />
-<Test name="parenthesis_tricky_vertex" />
-<Test name="defined_1_fragment" />
-<Test name="defined_4_fragment" />
-<Test name="eval_simple_precedence_0_fragment" />
-<Test name="eval_basic_1_vertex" />
-<Test name="xor_fragment" />
-<Test name="defined_2_vertex" />
-<Test name="and_vertex" />
-<Test name="cmp_less_than_vertex" />
-<Test name="parenthesis_ifelse_false_fragment" />
-<Test name="cmp_less_than_fragment" />
-<Test name="shift_right_fragment" />
-<Test name="defined_6_vertex" />
-<Test name="eval_simple_precedence_0_vertex" />
-<Test name="parenthesis_multi_if_fragment" />
-<Test name="parenthesis_value_fragment" />
-<Test name="defined_3_fragment" />
-<Test name="xor_vertex" />
-<Test name="parenthesis_tricky_fragment" />
-<Test name="parenthesis_if_fragment" />
-<Test name="parenthesis_ifelse_true_vertex" />
-<Test name="defined_1_vertex" />
-<Test name="or_fragment" />
-<Test name="eval_simple_precedence_1_vertex" />
-<Test name="less_or_equal_vertex" />
-<Test name="mod_vertex" />
-<Test name="and_fragment" />
-<Test name="parenthesis_value_vertex" />
-<Test name="parenthesis_single_if_fragment" />
-<Test name="parenthesis_ifelse_false_vertex" />
-<Test name="defined_3_vertex" />
-<Test name="parenthesis_single_if_vertex" />
-<Test name="parenthesis_ifelse_true_fragment" />
-<Test name="eval_simple_precedence_1_fragment" />
-<Test name="defined_4_vertex" />
-<Test name="defined_2_fragment" />
-<Test name="eval_basic_1_fragment" />
-<Test name="parenthesis_multi_if_vertex" />
-</TestCase>
-<TestCase name="object_redefinitions">
-<Test name="invalid_object_floatval_2_fragment" />
-<Test name="redefine_object_defined_2_fragment" />
-<Test name="redefine_object_defined_2_vertex" />
-<Test name="redefine_object_defined_1_vertex" />
-<Test name="redefine_object_defined_1_fragment" />
-<Test name="invalid_object_whitespace_vertex" />
-<Test name="redefine_object_1_vertex" />
-<Test name="invalid_object_ident_fragment" />
-<Test name="invalid_object_intval_2_vertex" />
-<Test name="redefine_object_1_fragment" />
-<Test name="redefine_object_comment_vertex" />
-<Test name="invalid_object_floatval_1_fragment" />
-<Test name="redefine_object_ifdef_vertex" />
-<Test name="invalid_object_intval_1_vertex" />
-<Test name="redefine_object_multiline_comment_vertex" />
-<Test name="invalid_object_op_fragment" />
-<Test name="redefine_object_undef_ifdef_vertex" />
-<Test name="invalid_object_intval_2_fragment" />
-<Test name="invalid_object_ident_vertex" />
-<Test name="redefine_object_ifdef_fragment" />
-<Test name="redefine_object_comment_fragment" />
-<Test name="invalid_object_whitespace_fragment" />
-<Test name="invalid_object_op_vertex" />
-<Test name="redefine_object_multiline_comment_fragment" />
-<Test name="redefine_object_undef_ifdef_fragment" />
-<Test name="invalid_object_floatval_1_vertex" />
-<Test name="invalid_object_floatval_2_vertex" />
-<Test name="redefine_object_ifndef_vertex" />
-<Test name="redefine_object_ifndef_fragment" />
-<Test name="invalid_object_intval_1_fragment" />
-</TestCase>
-<TestCase name="directive">
-<Test name="error_vertex" />
-<Test name="error_with_no_tokens_fragment" />
-<Test name="error_fragment" />
-<Test name="version_missing_vertex" />
-<Test name="version_missing_es_vertex" />
-<Test name="version_not_first_statement_2_vertex" />
-<Test name="version_is_less_vertex" />
-<Test name="error_with_no_tokens_vertex" />
-<Test name="version_not_first_statement_2_fragment" />
-<Test name="version_invalid_token_2_vertex" />
-<Test name="version_missing_fragment" />
-<Test name="invalid_version_fragment" />
-<Test name="version_not_first_statement_1_vertex" />
-<Test name="version_is_less_fragment" />
-<Test name="additional_tokens_fragment" />
-<Test name="version_is_more_fragment" />
-<Test name="version_invalid_token_1_vertex" />
-<Test name="invalid_version_vertex" />
-<Test name="version_not_first_statement_1_fragment" />
-<Test name="version_invalid_token_1_fragment" />
-<Test name="additional_tokens_vertex" />
-<Test name="version_is_more_vertex" />
-<Test name="version_missing_es_fragment" />
-<Test name="version_invalid_token_2_fragment" />
-</TestCase>
-<TestCase name="recursion">
-<Test name="recursion_4_fragment" />
-<Test name="recursion_3_fragment" />
-<Test name="recursion_1_fragment" />
-<Test name="recursion_3_vertex" />
-<Test name="recursion_4_vertex" />
-<Test name="recursion_2_vertex" />
-<Test name="recursion_1_vertex" />
-<Test name="recursion_2_fragment" />
-<Test name="recursion_5_fragment" />
-<Test name="recursion_5_vertex" />
-</TestCase>
-<TestCase name="comments">
-<Test name="unterminated_comment_2_fragment" />
-<Test name="multiline_comment_define_fragment" />
-<Test name="invalid_comment_vertex" />
-<Test name="comment_trick_1_vertex" />
-<Test name="comment_trick_2_fragment" />
-<Test name="multiline_comment_define_vertex" />
-<Test name="unterminated_comment_1_fragment" />
-<Test name="nested_comment_fragment" />
-<Test name="nested_comment_vertex" />
-<Test name="unterminated_comment_1_vertex" />
-<Test name="comment_trick_2_vertex" />
-<Test name="comment_trick_1_fragment" />
-<Test name="invalid_comment_fragment" />
-<Test name="unterminated_comment_2_vertex" />
-</TestCase>
-<TestCase name="builtin">
-<Test name="line_vertex" />
-<Test name="line_and_file_vertex" />
-<Test name="invalid_line_file_4_vertex" />
-<Test name="line_fragment" />
-<Test name="empty_line_fragment" />
-<Test name="line_and_file_fragment" />
-<Test name="empty_line_vertex" />
-<Test name="line_defined_1_vertex" />
-<Test name="line_defined_1_fragment" />
-<Test name="invalid_line_file_4_fragment" />
-</TestCase>
-<TestCase name="basic">
-<Test name="null_directive_vertex" />
-<Test name="empty_function_fragment" />
-<Test name="invalid_directive_vertex" />
-<Test name="empty_directive_vertex" />
-<Test name="empty_object_vertex" />
-<Test name="invalid_directive_fragment" />
-<Test name="missing_identifier_fragment" />
-<Test name="empty_directive_fragment" />
-<Test name="empty_function_vertex" />
-<Test name="null_directive_fragment" />
-<Test name="missing_identifier_vertex" />
-<Test name="correct_phases_vertex" />
-<Test name="invalid_identifier_vertex" />
-<Test name="invalid_identifier_fragment" />
-<Test name="empty_object_fragment" />
-<Test name="correct_phases_fragment" />
-</TestCase>
-<TestCase name="extensions">
-<Test name="macro_exp_vertex" />
-<Test name="invalid_behavior_1_fragment" />
-<Test name="invalid_char_in_name_vertex" />
-<Test name="invalid_char_in_name_fragment" />
-<Test name="unterminated_comment_vertex" />
-<Test name="invalid_char_in_behavior_fragment" />
-<Test name="invalid_behavior_1_vertex" />
-<Test name="macro_exp_fragment" />
-<Test name="missing_colon_vertex" />
-<Test name="invalid_behavior_2_fragment" />
-<Test name="missing_extension_name_fragment" />
-<Test name="basic_vertex" />
-<Test name="invalid_extension_name_vertex" />
-<Test name="basic_fragment" />
-<Test name="missing_extension_name_vertex" />
-<Test name="expected_colon_fragment" />
-<Test name="unterminated_comment_fragment" />
-<Test name="invalid_char_in_behavior_vertex" />
-<Test name="invalid_behavior_2_vertex" />
-<Test name="expected_colon_vertex" />
-<Test name="missing_colon_fragment" />
-<Test name="invalid_extension_name_fragment" />
-<Test name="missing_behavior_fragment" />
-<Test name="missing_behavior_vertex" />
-</TestCase>
-<TestCase name="predefined_macros">
-<Test name="if_version_vertex" />
-<Test name="gl_es_1_fragment" />
-<Test name="file_vertex" />
-<Test name="if_gl_es_fragment" />
-<Test name="line_1_vertex" />
-<Test name="gl_es_2_fragment" />
-<Test name="if_gl_es_vertex" />
-<Test name="version_fragment" />
-<Test name="gl_es_1_vertex" />
-<Test name="if_version_fragment" />
-<Test name="version_vertex" />
-<Test name="file_fragment" />
-<Test name="gl_es_2_vertex" />
-<Test name="line_1_fragment" />
-</TestCase>
-<TestCase name="invalid_redefinitions">
-<Test name="invalid_identifier_1_fragment" />
-<Test name="invalid_identifier_2_vertex" />
-<Test name="invalid_identifier_1_vertex" />
-<Test name="invalid_identifier_2_fragment" />
-</TestCase>
-<TestCase name="function_definitions">
-<Test name="function_definition_with_comments_vertex" />
-<Test name="complex_func_vertex" />
-<Test name="function_definition_with_comments_fragment" />
-<Test name="complex_func_fragment" />
-<Test name="same_object_and_function_param_fragment" />
-<Test name="same_object_and_function_param_vertex" />
-</TestCase>
-<TestCase name="invalid_ops">
-<Test name="invalid_op_2_fragment" />
-<Test name="invalid_op_1_vertex" />
-<Test name="invalid_defined_expected_identifier_4_fragment" />
-<Test name="invalid_defined_expected_identifier_3_fragment" />
-<Test name="invalid_defined_expected_identifier_1_fragment" />
-<Test name="invalid_op_2_vertex" />
-<Test name="invalid_defined_expected_identifier_5_fragment" />
-<Test name="invalid_defined_expected_identifier_4_vertex" />
-<Test name="invalid_op_1_fragment" />
-<Test name="invalid_defined_expected_identifier_3_vertex" />
-<Test name="invalid_defined_expected_identifier_2_vertex" />
-<Test name="defined_define_fragment" />
-<Test name="invalid_defined_expected_identifier_2_fragment" />
-<Test name="defined_define_vertex" />
-<Test name="invalid_defined_expected_identifier_5_vertex" />
-<Test name="invalid_defined_expected_rparen_fragment" />
-<Test name="invalid_defined_expected_rparen_vertex" />
-<Test name="invalid_defined_expected_identifier_1_vertex" />
-</TestCase>
-<TestCase name="invalid_definitions">
-<Test name="undef_non_identifier_1_vertex" />
-<Test name="undef_non_identifier_2_fragment" />
-<Test name="undef_non_identifier_2_vertex" />
-<Test name="define_non_identifier_fragment" />
-<Test name="define_non_identifier_vertex" />
-<Test name="undef_non_identifier_1_fragment" />
-</TestCase>
-<TestCase name="invalid_conditionals">
-<Test name="unterminated_if_2_fragment" />
-<Test name="else_after_else_vertex" />
-<Test name="unterminated_else_2_fragment" />
-<Test name="elif_after_else_vertex" />
-<Test name="unterminated_elif_2_fragment" />
-<Test name="tokens_after_ifndef_vertex" />
-<Test name="unterminated_ifndef_fragment" />
-<Test name="empty_if_defined_vertex" />
-<Test name="tokens_after_ifdef_vertex" />
-<Test name="else_after_else_fragment" />
-<Test name="unterminated_elif_2_vertex" />
-<Test name="unterminated_elif_1_fragment" />
-<Test name="tokens_after_if_fragment" />
-<Test name="unterminated_ifdef_fragment" />
-<Test name="unterminated_elif_3_fragment" />
-<Test name="nested_elif_without_if_vertex" />
-<Test name="unterminated_elif_3_vertex" />
-<Test name="elif_without_if_vertex" />
-<Test name="unterminated_ifdef_vertex" />
-<Test name="tokens_after_endif_fragment" />
-<Test name="empty_ifndef_fragment" />
-<Test name="empty_if_vertex" />
-<Test name="tokens_after_if_vertex" />
-<Test name="tokens_after_endif_vertex" />
-<Test name="empty_ifdef_fragment" />
-<Test name="unterminated_if_1_fragment" />
-<Test name="invalid_ifdef_vertex" />
-<Test name="unterminated_else_2_vertex" />
-<Test name="unterminated_ifndef_vertex" />
-<Test name="empty_ifdef_vertex" />
-<Test name="tokens_after_else_fragment" />
-<Test name="unterminated_nested_blocks_fragment" />
-<Test name="unterminated_if_1_vertex" />
-<Test name="endif_without_if_vertex" />
-<Test name="empty_if_defined_fragment" />
-<Test name="invalid_ifdef_fragment" />
-<Test name="unterminated_if_2_vertex" />
-<Test name="elif_after_else_fragment" />
-<Test name="tokens_after_elif_fragment" />
-<Test name="tokens_after_ifndef_fragment" />
-<Test name="elif_without_if_fragment" />
-<Test name="tokens_after_elif_vertex" />
-<Test name="else_without_if_fragment" />
-<Test name="invalid_ifndef_fragment" />
-<Test name="empty_ifndef_vertex" />
-<Test name="nested_elif_without_if_fragment" />
-<Test name="if_float_vertex" />
-<Test name="tokens_after_ifdef_fragment" />
-<Test name="unterminated_nested_blocks_vertex" />
-<Test name="tokens_after_else_vertex" />
-<Test name="unterminated_else_1_fragment" />
-<Test name="invalid_ifndef_vertex" />
-<Test name="empty_if_fragment" />
-<Test name="unterminated_else_1_vertex" />
-<Test name="else_without_if_vertex" />
-<Test name="if_float_fragment" />
-<Test name="unterminated_elif_1_vertex" />
-<Test name="endif_without_if_fragment" />
-</TestCase>
-<TestCase name="undefined_identifiers">
-<Test name="undefined_identifier_10_fragment" />
-<Test name="undefined_identifier_10_vertex" />
-<Test name="undefined_identifier_4_fragment" />
-<Test name="undefined_identifier_12_vertex" />
-<Test name="undefined_identifier_9_vertex" />
-<Test name="undefined_identifier_2_fragment" />
-<Test name="undefined_identifier_1_fragment" />
-<Test name="undefined_identifier_9_fragment" />
-<Test name="undefined_identifier_8_vertex" />
-<Test name="valid_undefined_identifier_2_fragment" />
-<Test name="undefined_identifier_12_fragment" />
-<Test name="undefined_identifier_8_fragment" />
-<Test name="undefined_identifier_3_fragment" />
-<Test name="undefined_identifier_7_vertex" />
-<Test name="undefined_identifier_4_vertex" />
-<Test name="valid_undefined_identifier_1_vertex" />
-<Test name="undefined_identifier_3_vertex" />
-<Test name="undefined_identifier_5_fragment" />
-<Test name="undefined_identifier_6_vertex" />
-<Test name="undefined_identifier_1_vertex" />
-<Test name="undefined_identifier_5_vertex" />
-<Test name="undefined_identifier_2_vertex" />
-<Test name="undefined_identifier_7_fragment" />
-<Test name="valid_undefined_identifier_2_vertex" />
-<Test name="undefined_identifier_11_vertex" />
-<Test name="undefined_identifier_6_fragment" />
-<Test name="undefined_identifier_11_fragment" />
-<Test name="valid_undefined_identifier_1_fragment" />
-</TestCase>
-<TestCase name="invalid_expressions">
-<Test name="invalid_expr_2_fragment" />
-<Test name="missing_expr_fragment" />
-<Test name="unclosed_parenthesis_fragment" />
-<Test name="invalid_binary_expr_fragment" />
-<Test name="invalid_expr_1_vertex" />
-<Test name="invalid_expr_3_vertex" />
-<Test name="invalid_unary_expr_fragment" />
-<Test name="unclosed_parenthesis_vertex" />
-<Test name="invalid_expr_2_vertex" />
-<Test name="invalid_unary_expr_vertex" />
-<Test name="invalid_expr_3_fragment" />
-<Test name="unopened_parenthesis_fragment" />
-<Test name="invalid_expr_1_fragment" />
-<Test name="missing_expr_vertex" />
-<Test name="unopened_parenthesis_vertex" />
-<Test name="invalid_binary_expr_vertex" />
-</TestCase>
-<TestCase name="operator_precedence">
-<Test name="rshift_vs_add_vertex" />
-<Test name="bitwise_or_vs_xor_vertex" />
-<Test name="not_equal_vs_less_vertex" />
-<Test name="equal_vs_less_vertex" />
-<Test name="modulo_vs_minus_fragment" />
-<Test name="div_vs_bit_invert_fragment" />
-<Test name="logical_and_vs_bitwise_or_vertex" />
-<Test name="mul_vs_not_fragment" />
-<Test name="add_vs_modulo_fragment" />
-<Test name="less_or_equal_vs_lshift_fragment" />
-<Test name="modulo_vs_plus_fragment" />
-<Test name="greater_vs_rshift_vertex" />
-<Test name="sub_vs_mul_vertex" />
-<Test name="lshift_vs_add_vertex" />
-<Test name="greater_vs_rshift_fragment" />
-<Test name="modulo_vs_bit_invert_vertex" />
-<Test name="equal_vs_less_fragment" />
-<Test name="less_vs_rshift_fragment" />
-<Test name="equal_vs_less_or_equal_vertex" />
-<Test name="equal_vs_less_or_equal_fragment" />
-<Test name="sub_vs_div_vertex" />
-<Test name="mul_vs_minus_vertex" />
-<Test name="logical_or_vs_logical_and_fragment" />
-<Test name="div_vs_plus_fragment" />
-<Test name="less_or_equal_vs_rshift_fragment" />
-<Test name="mul_vs_minus_fragment" />
-<Test name="less_or_equal_vs_lshift_vertex" />
-<Test name="greater_or_equal_vs_lshift_fragment" />
-<Test name="not_equal_vs_less_or_equal_fragment" />
-<Test name="div_vs_not_fragment" />
-<Test name="add_vs_mul_vertex" />
-<Test name="xor_vs_bitwise_and_fragment" />
-<Test name="logical_or_vs_logical_and_vertex" />
-<Test name="modulo_vs_minus_vertex" />
-<Test name="bitwise_and_vs_not_equal_vertex" />
-<Test name="equal_vs_greater_or_equal_fragment" />
-<Test name="rshift_vs_sub_vertex" />
-<Test name="sub_vs_mul_fragment" />
-<Test name="rshift_vs_add_fragment" />
-<Test name="div_vs_minus_vertex" />
-<Test name="modulo_vs_not_fragment" />
-<Test name="greater_or_equal_vs_lshift_vertex" />
-<Test name="not_equal_vs_greater_or_equal_vertex" />
-<Test name="less_or_equal_vs_rshift_vertex" />
-<Test name="bitwise_and_vs_equal_fragment" />
-<Test name="not_equal_vs_greater_or_equal_fragment" />
-<Test name="not_equal_vs_less_fragment" />
-<Test name="mul_vs_bit_invert_vertex" />
-<Test name="bitwise_and_vs_not_equal_fragment" />
-<Test name="div_vs_plus_vertex" />
-<Test name="mul_vs_bit_invert_fragment" />
-<Test name="equal_vs_greater_or_equal_vertex" />
-<Test name="lshift_vs_sub_fragment" />
-<Test name="greater_or_equal_vs_rshift_vertex" />
-<Test name="add_vs_modulo_vertex" />
-<Test name="mul_vs_not_vertex" />
-<Test name="div_vs_not_vertex" />
-<Test name="not_equal_vs_less_or_equal_vertex" />
-<Test name="rshift_vs_sub_fragment" />
-<Test name="less_vs_lshift_vertex" />
-<Test name="add_vs_div_vertex" />
-<Test name="logical_and_vs_bitwise_and_vertex" />
-<Test name="lshift_vs_add_fragment" />
-<Test name="logical_and_vs_bitwise_and_fragment" />
-<Test name="equal_vs_greater_fragment" />
-<Test name="equal_vs_greater_vertex" />
-<Test name="add_vs_div_fragment" />
-<Test name="modulo_vs_bit_invert_fragment" />
-<Test name="div_vs_bit_invert_vertex" />
-<Test name="not_equal_vs_greater_vertex" />
-<Test name="greater_or_equal_vs_rshift_fragment" />
-<Test name="lshift_vs_sub_vertex" />
-<Test name="div_vs_minus_fragment" />
-<Test name="modulo_vs_not_vertex" />
-<Test name="sub_vs_modulo_vertex" />
-<Test name="mul_vs_plus_fragment" />
-<Test name="sub_vs_modulo_fragment" />
-<Test name="less_vs_lshift_fragment" />
-<Test name="bitwise_or_vs_xor_fragment" />
-<Test name="greater_vs_lshift_vertex" />
-<Test name="not_equal_vs_greater_fragment" />
-<Test name="greater_vs_lshift_fragment" />
-<Test name="add_vs_mul_fragment" />
-<Test name="mul_vs_plus_vertex" />
-<Test name="modulo_vs_plus_vertex" />
-<Test name="xor_vs_bitwise_and_vertex" />
-<Test name="sub_vs_div_fragment" />
-<Test name="less_vs_rshift_vertex" />
-<Test name="bitwise_and_vs_equal_vertex" />
-<Test name="logical_and_vs_bitwise_or_fragment" />
-</TestCase>
-<TestCase name="function_redefinitions">
-<Test name="invalid_function_redefinition_param_3_fragment" />
-<Test name="invalid_function_redefinition_param_1_vertex" />
-<Test name="function_redefinition_2_vertex" />
-<Test name="function_redefinition_3_fragment" />
-<Test name="function_redefinition_1_vertex" />
-<Test name="invalid_function_redefinition_param_1_fragment" />
-<Test name="invalid_function_redefinition_param_2_vertex" />
-<Test name="function_redefinition_1_fragment" />
-<Test name="function_redefinition_3_vertex" />
-<Test name="invalid_function_redefinition_param_3_vertex" />
-<Test name="function_redefinition_2_fragment" />
-<Test name="invalid_function_redefinition_param_2_fragment" />
-</TestCase>
-<TestCase name="definitions">
-<Test name="undefine_object_invalid_syntax_vertex" />
-<Test name="undefine_invalid_object_4_vertex" />
-<Test name="undefine_invalid_object_2_fragment" />
-<Test name="undefine_invalid_object_4_fragment" />
-<Test name="define_value_and_function_fragment" />
-<Test name="undefine_invalid_object_2_vertex" />
-<Test name="undefine_object_invalid_syntax_fragment" />
-<Test name="undefine_invalid_object_1_vertex" />
-<Test name="define_value_and_function_vertex" />
-<Test name="undefine_invalid_object_3_vertex" />
-<Test name="undefine_function_vertex" />
-<Test name="undefine_invalid_object_3_fragment" />
-<Test name="undefine_function_fragment" />
-<Test name="undefine_invalid_object_1_fragment" />
-</TestCase>
-<TestCase name="conditionals">
-<Test name="ifdef_2_vertex" />
-<Test name="ifdef_3_vertex" />
-<Test name="ifdef_2_fragment" />
-<Test name="nested_if_3_fragment" />
-<Test name="mixed_conditional_inclusion_vertex" />
-<Test name="ifdef_1_fragment" />
-<Test name="ifdef_1_vertex" />
-<Test name="ifndef_2_vertex" />
-<Test name="nested_if_1_vertex" />
-<Test name="nested_if_2_fragment" />
-<Test name="ifndef_1_fragment" />
-<Test name="mixed_conditional_inclusion_fragment" />
-<Test name="ifndef_1_vertex" />
-<Test name="ifndef_2_fragment" />
-<Test name="nested_if_2_vertex" />
-<Test name="nested_if_1_fragment" />
-<Test name="nested_if_3_vertex" />
-<Test name="ifdef_3_fragment" />
-</TestCase>
-</TestSuite>
-<TestSuite name="operator">
-<TestSuite name="int_compare">
-<TestCase name="notEqual">
-<Test name="highp_ivec3_fragment" />
-<Test name="highp_ivec4_fragment" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="highp_ivec3_vertex" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="highp_ivec2_fragment" />
-<Test name="highp_ivec2_vertex" />
-</TestCase>
-<TestCase name="lessThanEqual">
-<Test name="highp_ivec3_fragment" />
-<Test name="highp_ivec4_fragment" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="highp_ivec3_vertex" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="highp_ivec2_fragment" />
-<Test name="highp_ivec2_vertex" />
-</TestCase>
-<TestCase name="greaterThanEqual">
-<Test name="highp_ivec3_fragment" />
-<Test name="highp_ivec4_fragment" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="highp_ivec3_vertex" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="highp_ivec2_fragment" />
-<Test name="highp_ivec2_vertex" />
-</TestCase>
-<TestCase name="equal">
-<Test name="highp_ivec3_fragment" />
-<Test name="highp_ivec4_fragment" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="highp_ivec3_vertex" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="highp_ivec2_fragment" />
-<Test name="highp_ivec2_vertex" />
-</TestCase>
-<TestCase name="lessThan">
-<Test name="highp_ivec3_fragment" />
-<Test name="highp_ivec4_fragment" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="highp_ivec3_vertex" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="highp_ivec2_fragment" />
-<Test name="highp_ivec2_vertex" />
-</TestCase>
-<TestCase name="greaterThan">
-<Test name="highp_ivec3_fragment" />
-<Test name="highp_ivec4_fragment" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="highp_ivec3_vertex" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="highp_ivec2_fragment" />
-<Test name="highp_ivec2_vertex" />
-</TestCase>
-</TestSuite>
-<TestCase name="selection">
-<Test name="highp_ivec3_fragment" />
-<Test name="lowp_vec3_vertex" />
-<Test name="highp_float_fragment" />
-<Test name="lowp_uvec3_fragment" />
-<Test name="mediump_vec4_vertex" />
-<Test name="lowp_uvec3_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="lowp_float_vertex" />
-<Test name="mediump_float_fragment" />
-<Test name="mediump_uvec3_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="lowp_vec2_vertex" />
-<Test name="lowp_float_fragment" />
-<Test name="lowp_uvec2_vertex" />
-<Test name="mediump_vec3_vertex" />
-<Test name="bvec4_vertex" />
-<Test name="mediump_uvec3_vertex" />
-<Test name="mediump_vec3_fragment" />
-<Test name="bool_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="highp_ivec4_fragment" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="highp_vec3_vertex" />
-<Test name="lowp_vec3_fragment" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="lowp_uvec2_fragment" />
-<Test name="highp_uvec2_vertex" />
-<Test name="bool_vertex" />
-<Test name="highp_uvec2_fragment" />
-<Test name="mediump_int_vertex" />
-<Test name="bvec3_vertex" />
-<Test name="highp_vec3_fragment" />
-<Test name="highp_int_vertex" />
-<Test name="lowp_uint_vertex" />
-<Test name="lowp_uvec4_vertex" />
-<Test name="highp_ivec2_fragment" />
-<Test name="lowp_uint_fragment" />
-<Test name="highp_int_fragment" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_uint_vertex" />
-<Test name="mediump_uint_vertex" />
-<Test name="bvec4_fragment" />
-<Test name="highp_float_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_uint_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_uvec3_fragment" />
-<Test name="mediump_uvec4_vertex" />
-<Test name="bvec2_fragment" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="highp_uvec3_vertex" />
-<Test name="highp_uint_fragment" />
-<Test name="lowp_vec2_fragment" />
-<Test name="bvec2_vertex" />
-<Test name="lowp_vec4_fragment" />
-<Test name="highp_uvec4_fragment" />
-<Test name="mediump_uvec2_fragment" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="highp_ivec3_vertex" />
-<Test name="lowp_int_fragment" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="mediump_uvec4_fragment" />
-<Test name="mediump_uvec2_vertex" />
-<Test name="bvec3_fragment" />
-<Test name="lowp_uvec4_fragment" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="highp_uvec4_vertex" />
-<Test name="highp_ivec2_vertex" />
-<Test name="mediump_int_fragment" />
-<Test name="lowp_int_vertex" />
-</TestCase>
-<TestSuite name="exponential">
-<TestCase name="log2">
-<Test name="highp_float_vertex" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_vec3_vertex" />
-<Test name="mediump_vec4_vertex" />
-<Test name="mediump_vec3_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="mediump_float_fragment" />
-<Test name="highp_float_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_vec3_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="mediump_vec3_fragment" />
-</TestCase>
-<TestCase name="log">
-<Test name="highp_float_vertex" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_vec3_vertex" />
-<Test name="mediump_vec4_vertex" />
-<Test name="mediump_vec3_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="mediump_float_fragment" />
-<Test name="highp_float_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_vec3_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="mediump_vec3_fragment" />
-</TestCase>
-<TestCase name="pow">
-<Test name="highp_float_vertex" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_vec3_vertex" />
-<Test name="mediump_vec4_vertex" />
-<Test name="mediump_vec3_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="mediump_float_fragment" />
-<Test name="highp_float_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_vec3_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="mediump_vec3_fragment" />
-</TestCase>
-<TestCase name="sqrt">
-<Test name="highp_float_vertex" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_vec3_vertex" />
-<Test name="mediump_vec4_vertex" />
-<Test name="mediump_vec3_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="mediump_float_fragment" />
-<Test name="highp_float_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_vec3_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="mediump_vec3_fragment" />
-</TestCase>
-<TestCase name="exp">
-<Test name="highp_float_vertex" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_vec3_vertex" />
-<Test name="mediump_vec4_vertex" />
-<Test name="mediump_vec3_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="mediump_float_fragment" />
-<Test name="highp_float_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_vec3_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="mediump_vec3_fragment" />
-</TestCase>
-<TestCase name="exp2">
-<Test name="highp_float_vertex" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_vec3_vertex" />
-<Test name="mediump_vec4_vertex" />
-<Test name="mediump_vec3_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="mediump_float_fragment" />
-<Test name="highp_float_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_vec3_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="mediump_vec3_fragment" />
-</TestCase>
-<TestCase name="inversesqrt">
-<Test name="highp_float_vertex" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_vec3_vertex" />
-<Test name="mediump_vec4_vertex" />
-<Test name="mediump_vec3_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="mediump_float_fragment" />
-<Test name="highp_float_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_vec3_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="mediump_vec3_fragment" />
-</TestCase>
-</TestSuite>
-<TestSuite name="sequence">
-<TestCase name="no_side_effects">
-<Test name="lowp_float_uint_vertex" />
-<Test name="mediump_vec4_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="mediump_bool_vec2_fragment" />
-<Test name="lowp_vec4_ivec4_bvec4_fragment" />
-<Test name="highp_float_uint_vertex" />
-<Test name="mediump_float_uint_fragment" />
-<Test name="mediump_vec4_ivec4_bvec4_fragment" />
-<Test name="lowp_bool_vec2_fragment" />
-<Test name="highp_vec4_ivec4_bvec4_fragment" />
-<Test name="highp_vec4_ivec4_bvec4_vertex" />
-<Test name="highp_vec4_vertex" />
-<Test name="mediump_vec4_ivec4_bvec4_vertex" />
-<Test name="lowp_vec4_ivec4_bvec4_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="highp_bool_vec2_fragment" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_float_uint_fragment" />
-<Test name="highp_bool_vec2_vertex" />
-<Test name="lowp_vec4_fragment" />
-<Test name="lowp_float_uint_fragment" />
-<Test name="lowp_bool_vec2_vertex" />
-<Test name="mediump_bool_vec2_vertex" />
-<Test name="mediump_float_uint_vertex" />
-</TestCase>
-<TestCase name="side_effects">
-<Test name="lowp_float_uint_vertex" />
-<Test name="mediump_vec4_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="mediump_bool_vec2_fragment" />
-<Test name="lowp_vec4_ivec4_bvec4_fragment" />
-<Test name="highp_float_uint_vertex" />
-<Test name="mediump_float_uint_fragment" />
-<Test name="mediump_vec4_ivec4_bvec4_fragment" />
-<Test name="lowp_bool_vec2_fragment" />
-<Test name="highp_vec4_ivec4_bvec4_fragment" />
-<Test name="highp_vec4_ivec4_bvec4_vertex" />
-<Test name="highp_vec4_vertex" />
-<Test name="mediump_vec4_ivec4_bvec4_vertex" />
-<Test name="lowp_vec4_ivec4_bvec4_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="highp_bool_vec2_fragment" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_float_uint_fragment" />
-<Test name="highp_bool_vec2_vertex" />
-<Test name="lowp_vec4_fragment" />
-<Test name="lowp_float_uint_fragment" />
-<Test name="lowp_bool_vec2_vertex" />
-<Test name="mediump_bool_vec2_vertex" />
-<Test name="mediump_float_uint_vertex" />
-</TestCase>
-</TestSuite>
-<TestSuite name="angle_and_trigonometry">
-<TestCase name="asin">
-<Test name="highp_float_vertex" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_vec3_vertex" />
-<Test name="mediump_vec4_vertex" />
-<Test name="mediump_vec3_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="mediump_float_fragment" />
-<Test name="highp_float_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_vec3_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="mediump_vec3_fragment" />
-</TestCase>
-<TestCase name="cos">
-<Test name="lowp_vec3_vertex" />
-<Test name="highp_float_vertex" />
-<Test name="mediump_vec4_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="lowp_float_vertex" />
-<Test name="mediump_float_fragment" />
-<Test name="lowp_vec2_vertex" />
-<Test name="highp_vec4_vertex" />
-<Test name="mediump_vec3_vertex" />
-<Test name="highp_vec3_vertex" />
-<Test name="highp_float_fragment" />
-<Test name="highp_vec3_fragment" />
-<Test name="lowp_float_fragment" />
-<Test name="highp_vec4_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="lowp_vec2_fragment" />
-<Test name="lowp_vec4_fragment" />
-<Test name="mediump_vec3_fragment" />
-<Test name="lowp_vec3_fragment" />
-<Test name="highp_vec2_vertex" />
-</TestCase>
-<TestCase name="atan">
-<Test name="highp_float_vertex" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_vec3_vertex" />
-<Test name="mediump_vec4_vertex" />
-<Test name="mediump_vec3_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="mediump_float_fragment" />
-<Test name="highp_float_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_vec3_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="mediump_vec3_fragment" />
-</TestCase>
-<TestCase name="tanh">
-<Test name="lowp_vec3_vertex" />
-<Test name="highp_float_vertex" />
-<Test name="mediump_vec4_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="lowp_float_vertex" />
-<Test name="mediump_float_fragment" />
-<Test name="lowp_vec2_vertex" />
-<Test name="highp_vec4_vertex" />
-<Test name="mediump_vec3_vertex" />
-<Test name="highp_vec3_vertex" />
-<Test name="highp_float_fragment" />
-<Test name="highp_vec3_fragment" />
-<Test name="lowp_float_fragment" />
-<Test name="highp_vec4_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="lowp_vec2_fragment" />
-<Test name="lowp_vec4_fragment" />
-<Test name="mediump_vec3_fragment" />
-<Test name="lowp_vec3_fragment" />
-<Test name="highp_vec2_vertex" />
-</TestCase>
-<TestCase name="atanh">
-<Test name="highp_float_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="mediump_float_fragment" />
-<Test name="highp_float_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec2_fragment" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_vec3_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="highp_vec2_vertex" />
-<Test name="mediump_vec3_fragment" />
-</TestCase>
-<TestCase name="asinh">
-<Test name="highp_float_vertex" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_vec3_vertex" />
-<Test name="mediump_vec4_vertex" />
-<Test name="mediump_vec3_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="mediump_float_fragment" />
-<Test name="highp_float_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_vec3_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="mediump_vec3_fragment" />
-</TestCase>
-<TestCase name="radians">
-<Test name="highp_float_vertex" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_vec3_vertex" />
-<Test name="mediump_vec4_vertex" />
-<Test name="mediump_vec3_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="mediump_float_fragment" />
-<Test name="highp_float_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_vec3_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="mediump_vec3_fragment" />
-</TestCase>
-<TestCase name="atan2">
-<Test name="highp_float_vertex" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_vec3_vertex" />
-<Test name="mediump_vec4_vertex" />
-<Test name="mediump_vec3_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="mediump_float_fragment" />
-<Test name="highp_float_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_vec3_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="mediump_vec3_fragment" />
-</TestCase>
-<TestCase name="degrees">
-<Test name="highp_float_vertex" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_vec3_vertex" />
-<Test name="mediump_vec4_vertex" />
-<Test name="mediump_vec3_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="mediump_float_fragment" />
-<Test name="highp_float_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_vec3_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="mediump_vec3_fragment" />
-</TestCase>
-<TestCase name="sinh">
-<Test name="lowp_vec3_vertex" />
-<Test name="highp_float_vertex" />
-<Test name="mediump_vec4_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="lowp_float_vertex" />
-<Test name="mediump_float_fragment" />
-<Test name="lowp_vec2_vertex" />
-<Test name="highp_vec4_vertex" />
-<Test name="mediump_vec3_vertex" />
-<Test name="highp_vec3_vertex" />
-<Test name="highp_float_fragment" />
-<Test name="highp_vec3_fragment" />
-<Test name="lowp_float_fragment" />
-<Test name="highp_vec4_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="lowp_vec2_fragment" />
-<Test name="lowp_vec4_fragment" />
-<Test name="mediump_vec3_fragment" />
-<Test name="lowp_vec3_fragment" />
-<Test name="highp_vec2_vertex" />
-</TestCase>
-<TestCase name="acosh">
-<Test name="highp_float_vertex" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_vec3_vertex" />
-<Test name="mediump_vec4_vertex" />
-<Test name="mediump_vec3_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="mediump_float_fragment" />
-<Test name="highp_float_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_vec3_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="mediump_vec3_fragment" />
-</TestCase>
-<TestCase name="sin">
-<Test name="lowp_vec3_vertex" />
-<Test name="highp_float_vertex" />
-<Test name="mediump_vec4_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="lowp_float_vertex" />
-<Test name="mediump_float_fragment" />
-<Test name="lowp_vec2_vertex" />
-<Test name="highp_vec4_vertex" />
-<Test name="mediump_vec3_vertex" />
-<Test name="highp_vec3_vertex" />
-<Test name="highp_float_fragment" />
-<Test name="highp_vec3_fragment" />
-<Test name="lowp_float_fragment" />
-<Test name="highp_vec4_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="lowp_vec2_fragment" />
-<Test name="lowp_vec4_fragment" />
-<Test name="mediump_vec3_fragment" />
-<Test name="lowp_vec3_fragment" />
-<Test name="highp_vec2_vertex" />
-</TestCase>
-<TestCase name="acos">
-<Test name="highp_float_vertex" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_vec3_vertex" />
-<Test name="mediump_vec4_vertex" />
-<Test name="mediump_vec3_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="mediump_float_fragment" />
-<Test name="highp_float_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_vec3_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="mediump_vec3_fragment" />
-</TestCase>
-<TestCase name="cosh">
-<Test name="lowp_vec3_vertex" />
-<Test name="highp_float_vertex" />
-<Test name="mediump_vec4_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="lowp_float_vertex" />
-<Test name="mediump_float_fragment" />
-<Test name="lowp_vec2_vertex" />
-<Test name="highp_vec4_vertex" />
-<Test name="mediump_vec3_vertex" />
-<Test name="highp_vec3_vertex" />
-<Test name="highp_float_fragment" />
-<Test name="highp_vec3_fragment" />
-<Test name="lowp_float_fragment" />
-<Test name="highp_vec4_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="lowp_vec2_fragment" />
-<Test name="lowp_vec4_fragment" />
-<Test name="mediump_vec3_fragment" />
-<Test name="lowp_vec3_fragment" />
-<Test name="highp_vec2_vertex" />
-</TestCase>
-<TestCase name="tan">
-<Test name="lowp_vec3_vertex" />
-<Test name="highp_float_vertex" />
-<Test name="mediump_vec4_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="lowp_float_vertex" />
-<Test name="mediump_float_fragment" />
-<Test name="lowp_vec2_vertex" />
-<Test name="highp_vec4_vertex" />
-<Test name="mediump_vec3_vertex" />
-<Test name="highp_vec3_vertex" />
-<Test name="highp_float_fragment" />
-<Test name="highp_vec3_fragment" />
-<Test name="lowp_float_fragment" />
-<Test name="highp_vec4_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="lowp_vec2_fragment" />
-<Test name="lowp_vec4_fragment" />
-<Test name="mediump_vec3_fragment" />
-<Test name="lowp_vec3_fragment" />
-<Test name="highp_vec2_vertex" />
-</TestCase>
-</TestSuite>
-<TestSuite name="common_functions">
-<TestCase name="clamp">
-<Test name="highp_ivec3_fragment" />
-<Test name="lowp_uvec3_fragment" />
-<Test name="mediump_uvec3_vertex" />
-<Test name="mediump_float_fragment" />
-<Test name="lowp_uvec2_fragment" />
-<Test name="highp_uvec3_uint_vertex" />
-<Test name="mediump_vec3_vertex" />
-<Test name="mediump_vec2_float_vertex" />
-<Test name="highp_ivec4_fragment" />
-<Test name="mediump_ivec2_int_fragment" />
-<Test name="highp_vec4_float_vertex" />
-<Test name="mediump_ivec2_int_vertex" />
-<Test name="mediump_vec3_fragment" />
-<Test name="mediump_int_vertex" />
-<Test name="highp_uvec4_uint_vertex" />
-<Test name="highp_int_fragment" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_uint_vertex" />
-<Test name="mediump_uint_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="mediump_uvec4_uint_vertex" />
-<Test name="highp_vec2_fragment" />
-<Test name="lowp_uvec3_uint_fragment" />
-<Test name="highp_uint_fragment" />
-<Test name="lowp_uvec4_uint_fragment" />
-<Test name="mediump_uvec2_vertex" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="lowp_vec3_fragment" />
-<Test name="lowp_uvec4_fragment" />
-<Test name="highp_vec2_float_vertex" />
-<Test name="lowp_uvec3_vertex" />
-<Test name="highp_float_fragment" />
-<Test name="mediump_vec4_vertex" />
-<Test name="mediump_uvec3_uint_fragment" />
-<Test name="highp_uvec2_uint_fragment" />
-<Test name="lowp_vec2_vertex" />
-<Test name="mediump_vec4_float_fragment" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="highp_uvec2_vertex" />
-<Test name="lowp_ivec3_int_vertex" />
-<Test name="highp_vec3_fragment" />
-<Test name="highp_uvec3_vertex" />
-<Test name="lowp_uvec2_uint_vertex" />
-<Test name="highp_ivec3_int_vertex" />
-<Test name="lowp_float_fragment" />
-<Test name="lowp_vec4_float_fragment" />
-<Test name="mediump_vec3_float_fragment" />
-<Test name="lowp_ivec2_int_fragment" />
-<Test name="highp_ivec3_int_fragment" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="mediump_vec3_float_vertex" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="lowp_ivec4_int_vertex" />
-<Test name="highp_uvec4_fragment" />
-<Test name="highp_ivec4_int_fragment" />
-<Test name="mediump_uvec3_uint_vertex" />
-<Test name="highp_vec2_float_fragment" />
-<Test name="mediump_uvec2_uint_fragment" />
-<Test name="lowp_uvec4_uint_vertex" />
-<Test name="mediump_uint_fragment" />
-<Test name="highp_float_vertex" />
-<Test name="mediump_uvec4_fragment" />
-<Test name="lowp_vec3_vertex" />
-<Test name="lowp_float_vertex" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="mediump_uvec3_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="highp_ivec4_int_vertex" />
-<Test name="mediump_uvec4_uint_fragment" />
-<Test name="lowp_uvec3_uint_vertex" />
-<Test name="highp_vec4_float_fragment" />
-<Test name="highp_vec3_vertex" />
-<Test name="lowp_uvec2_vertex" />
-<Test name="highp_uvec2_fragment" />
-<Test name="lowp_uvec4_vertex" />
-<Test name="lowp_uint_fragment" />
-<Test name="highp_ivec2_vertex" />
-<Test name="mediump_ivec4_int_vertex" />
-<Test name="mediump_uvec4_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_uvec3_fragment" />
-<Test name="highp_uvec2_uint_vertex" />
-<Test name="lowp_vec4_fragment" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="mediump_vec4_float_vertex" />
-<Test name="lowp_ivec3_int_fragment" />
-<Test name="highp_ivec2_int_fragment" />
-<Test name="mediump_ivec3_int_fragment" />
-<Test name="lowp_vec2_float_fragment" />
-<Test name="mediump_vec2_float_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="mediump_int_fragment" />
-<Test name="lowp_vec3_float_fragment" />
-<Test name="highp_vec3_float_fragment" />
-<Test name="highp_vec3_float_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="mediump_float_vertex" />
-<Test name="highp_uvec4_uint_fragment" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="mediump_ivec3_int_vertex" />
-<Test name="highp_int_vertex" />
-<Test name="lowp_vec3_float_vertex" />
-<Test name="highp_ivec2_fragment" />
-<Test name="lowp_vec4_float_vertex" />
-<Test name="mediump_uvec2_uint_vertex" />
-<Test name="lowp_uvec2_uint_fragment" />
-<Test name="lowp_int_fragment" />
-<Test name="lowp_uint_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="lowp_vec2_fragment" />
-<Test name="highp_uvec4_vertex" />
-<Test name="lowp_ivec4_int_fragment" />
-<Test name="mediump_uvec2_fragment" />
-<Test name="mediump_ivec4_int_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="highp_ivec3_vertex" />
-<Test name="highp_uvec3_uint_fragment" />
-<Test name="highp_ivec2_int_vertex" />
-<Test name="lowp_vec2_float_vertex" />
-<Test name="lowp_ivec2_int_vertex" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="lowp_int_vertex" />
-</TestCase>
-<TestCase name="roundEven">
-<Test name="lowp_vec3_vertex" />
-<Test name="highp_float_fragment" />
-<Test name="highp_vec3_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="lowp_float_vertex" />
-<Test name="highp_float_vertex" />
-<Test name="lowp_vec2_vertex" />
-<Test name="lowp_float_fragment" />
-<Test name="mediump_vec3_vertex" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec4_vertex" />
-<Test name="highp_vec3_fragment" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_float_fragment" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="lowp_vec2_fragment" />
-<Test name="lowp_vec4_fragment" />
-<Test name="mediump_vec3_fragment" />
-<Test name="lowp_vec3_fragment" />
-<Test name="highp_vec2_vertex" />
-</TestCase>
-<TestCase name="min">
-<Test name="highp_ivec3_fragment" />
-<Test name="lowp_uvec3_fragment" />
-<Test name="mediump_uvec3_vertex" />
-<Test name="mediump_float_fragment" />
-<Test name="lowp_uvec2_fragment" />
-<Test name="highp_uvec3_uint_vertex" />
-<Test name="mediump_vec3_vertex" />
-<Test name="mediump_vec2_float_vertex" />
-<Test name="highp_ivec4_fragment" />
-<Test name="mediump_ivec2_int_fragment" />
-<Test name="highp_vec4_float_vertex" />
-<Test name="mediump_ivec2_int_vertex" />
-<Test name="mediump_vec3_fragment" />
-<Test name="mediump_int_vertex" />
-<Test name="highp_uvec4_uint_vertex" />
-<Test name="highp_int_fragment" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_uint_vertex" />
-<Test name="mediump_uint_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="mediump_uvec4_uint_vertex" />
-<Test name="highp_vec2_fragment" />
-<Test name="lowp_uvec3_uint_fragment" />
-<Test name="highp_uint_fragment" />
-<Test name="lowp_uvec4_uint_fragment" />
-<Test name="mediump_uvec2_vertex" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="lowp_vec3_fragment" />
-<Test name="lowp_uvec4_fragment" />
-<Test name="highp_vec2_float_vertex" />
-<Test name="lowp_uvec3_vertex" />
-<Test name="highp_float_fragment" />
-<Test name="mediump_vec4_vertex" />
-<Test name="mediump_uvec3_uint_fragment" />
-<Test name="highp_uvec2_uint_fragment" />
-<Test name="lowp_vec2_vertex" />
-<Test name="mediump_vec4_float_fragment" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="highp_uvec2_vertex" />
-<Test name="lowp_ivec3_int_vertex" />
-<Test name="highp_vec3_fragment" />
-<Test name="highp_uvec3_vertex" />
-<Test name="lowp_uvec2_uint_vertex" />
-<Test name="highp_ivec3_int_vertex" />
-<Test name="lowp_float_fragment" />
-<Test name="lowp_vec4_float_fragment" />
-<Test name="mediump_vec3_float_fragment" />
-<Test name="lowp_ivec2_int_fragment" />
-<Test name="highp_ivec3_int_fragment" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="mediump_vec3_float_vertex" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="lowp_ivec4_int_vertex" />
-<Test name="highp_uvec4_fragment" />
-<Test name="highp_ivec4_int_fragment" />
-<Test name="mediump_uvec3_uint_vertex" />
-<Test name="highp_vec2_float_fragment" />
-<Test name="mediump_uvec2_uint_fragment" />
-<Test name="lowp_uvec4_uint_vertex" />
-<Test name="mediump_uint_fragment" />
-<Test name="highp_float_vertex" />
-<Test name="mediump_uvec4_fragment" />
-<Test name="lowp_vec3_vertex" />
-<Test name="lowp_float_vertex" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="mediump_uvec3_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="highp_ivec4_int_vertex" />
-<Test name="mediump_uvec4_uint_fragment" />
-<Test name="lowp_uvec3_uint_vertex" />
-<Test name="highp_vec4_float_fragment" />
-<Test name="highp_vec3_vertex" />
-<Test name="lowp_uvec2_vertex" />
-<Test name="highp_uvec2_fragment" />
-<Test name="lowp_uvec4_vertex" />
-<Test name="lowp_uint_fragment" />
-<Test name="highp_ivec2_vertex" />
-<Test name="mediump_ivec4_int_vertex" />
-<Test name="mediump_uvec4_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_uvec3_fragment" />
-<Test name="highp_uvec2_uint_vertex" />
-<Test name="lowp_vec4_fragment" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="mediump_vec4_float_vertex" />
-<Test name="lowp_ivec3_int_fragment" />
-<Test name="highp_ivec2_int_fragment" />
-<Test name="mediump_ivec3_int_fragment" />
-<Test name="lowp_vec2_float_fragment" />
-<Test name="mediump_vec2_float_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="mediump_int_fragment" />
-<Test name="lowp_vec3_float_fragment" />
-<Test name="highp_vec3_float_fragment" />
-<Test name="highp_vec3_float_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="mediump_float_vertex" />
-<Test name="highp_uvec4_uint_fragment" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="mediump_ivec3_int_vertex" />
-<Test name="highp_int_vertex" />
-<Test name="lowp_vec3_float_vertex" />
-<Test name="highp_ivec2_fragment" />
-<Test name="lowp_vec4_float_vertex" />
-<Test name="mediump_uvec2_uint_vertex" />
-<Test name="lowp_uvec2_uint_fragment" />
-<Test name="lowp_int_fragment" />
-<Test name="lowp_uint_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="lowp_vec2_fragment" />
-<Test name="highp_uvec4_vertex" />
-<Test name="lowp_ivec4_int_fragment" />
-<Test name="mediump_uvec2_fragment" />
-<Test name="mediump_ivec4_int_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="highp_ivec3_vertex" />
-<Test name="highp_uvec3_uint_fragment" />
-<Test name="highp_ivec2_int_vertex" />
-<Test name="lowp_vec2_float_vertex" />
-<Test name="lowp_ivec2_int_vertex" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="lowp_int_vertex" />
-</TestCase>
-<TestCase name="max">
-<Test name="highp_ivec3_fragment" />
-<Test name="lowp_uvec3_fragment" />
-<Test name="mediump_uvec3_vertex" />
-<Test name="mediump_float_fragment" />
-<Test name="lowp_uvec2_fragment" />
-<Test name="highp_uvec3_uint_vertex" />
-<Test name="mediump_vec3_vertex" />
-<Test name="mediump_vec2_float_vertex" />
-<Test name="highp_ivec4_fragment" />
-<Test name="mediump_ivec2_int_fragment" />
-<Test name="highp_vec4_float_vertex" />
-<Test name="mediump_ivec2_int_vertex" />
-<Test name="mediump_vec3_fragment" />
-<Test name="mediump_int_vertex" />
-<Test name="highp_uvec4_uint_vertex" />
-<Test name="highp_int_fragment" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_uint_vertex" />
-<Test name="mediump_uint_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="mediump_uvec4_uint_vertex" />
-<Test name="highp_vec2_fragment" />
-<Test name="lowp_uvec3_uint_fragment" />
-<Test name="highp_uint_fragment" />
-<Test name="lowp_uvec4_uint_fragment" />
-<Test name="mediump_uvec2_vertex" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="lowp_vec3_fragment" />
-<Test name="lowp_uvec4_fragment" />
-<Test name="highp_vec2_float_vertex" />
-<Test name="lowp_uvec3_vertex" />
-<Test name="highp_float_fragment" />
-<Test name="mediump_vec4_vertex" />
-<Test name="mediump_uvec3_uint_fragment" />
-<Test name="highp_uvec2_uint_fragment" />
-<Test name="lowp_vec2_vertex" />
-<Test name="mediump_vec4_float_fragment" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="highp_uvec2_vertex" />
-<Test name="lowp_ivec3_int_vertex" />
-<Test name="highp_vec3_fragment" />
-<Test name="highp_uvec3_vertex" />
-<Test name="lowp_uvec2_uint_vertex" />
-<Test name="highp_ivec3_int_vertex" />
-<Test name="lowp_float_fragment" />
-<Test name="lowp_vec4_float_fragment" />
-<Test name="mediump_vec3_float_fragment" />
-<Test name="lowp_ivec2_int_fragment" />
-<Test name="highp_ivec3_int_fragment" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="mediump_vec3_float_vertex" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="lowp_ivec4_int_vertex" />
-<Test name="highp_uvec4_fragment" />
-<Test name="highp_ivec4_int_fragment" />
-<Test name="mediump_uvec3_uint_vertex" />
-<Test name="highp_vec2_float_fragment" />
-<Test name="mediump_uvec2_uint_fragment" />
-<Test name="lowp_uvec4_uint_vertex" />
-<Test name="mediump_uint_fragment" />
-<Test name="highp_float_vertex" />
-<Test name="mediump_uvec4_fragment" />
-<Test name="lowp_vec3_vertex" />
-<Test name="lowp_float_vertex" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="mediump_uvec3_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="highp_ivec4_int_vertex" />
-<Test name="mediump_uvec4_uint_fragment" />
-<Test name="lowp_uvec3_uint_vertex" />
-<Test name="highp_vec4_float_fragment" />
-<Test name="highp_vec3_vertex" />
-<Test name="lowp_uvec2_vertex" />
-<Test name="highp_uvec2_fragment" />
-<Test name="lowp_uvec4_vertex" />
-<Test name="lowp_uint_fragment" />
-<Test name="highp_ivec2_vertex" />
-<Test name="mediump_ivec4_int_vertex" />
-<Test name="mediump_uvec4_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_uvec3_fragment" />
-<Test name="highp_uvec2_uint_vertex" />
-<Test name="lowp_vec4_fragment" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="mediump_vec4_float_vertex" />
-<Test name="lowp_ivec3_int_fragment" />
-<Test name="highp_ivec2_int_fragment" />
-<Test name="mediump_ivec3_int_fragment" />
-<Test name="lowp_vec2_float_fragment" />
-<Test name="mediump_vec2_float_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="mediump_int_fragment" />
-<Test name="lowp_vec3_float_fragment" />
-<Test name="highp_vec3_float_fragment" />
-<Test name="highp_vec3_float_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="mediump_float_vertex" />
-<Test name="highp_uvec4_uint_fragment" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="mediump_ivec3_int_vertex" />
-<Test name="highp_int_vertex" />
-<Test name="lowp_vec3_float_vertex" />
-<Test name="highp_ivec2_fragment" />
-<Test name="lowp_vec4_float_vertex" />
-<Test name="mediump_uvec2_uint_vertex" />
-<Test name="lowp_uvec2_uint_fragment" />
-<Test name="lowp_int_fragment" />
-<Test name="lowp_uint_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="lowp_vec2_fragment" />
-<Test name="highp_uvec4_vertex" />
-<Test name="lowp_ivec4_int_fragment" />
-<Test name="mediump_uvec2_fragment" />
-<Test name="mediump_ivec4_int_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="highp_ivec3_vertex" />
-<Test name="highp_uvec3_uint_fragment" />
-<Test name="highp_ivec2_int_vertex" />
-<Test name="lowp_vec2_float_vertex" />
-<Test name="lowp_ivec2_int_vertex" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="lowp_int_vertex" />
-</TestCase>
-<TestCase name="floor">
-<Test name="lowp_vec3_vertex" />
-<Test name="highp_float_fragment" />
-<Test name="highp_vec3_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="lowp_float_vertex" />
-<Test name="highp_float_vertex" />
-<Test name="lowp_vec2_vertex" />
-<Test name="lowp_float_fragment" />
-<Test name="mediump_vec3_vertex" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec4_vertex" />
-<Test name="highp_vec3_fragment" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_float_fragment" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="lowp_vec2_fragment" />
-<Test name="lowp_vec4_fragment" />
-<Test name="mediump_vec3_fragment" />
-<Test name="lowp_vec3_fragment" />
-<Test name="highp_vec2_vertex" />
-</TestCase>
-<TestCase name="fract">
-<Test name="lowp_vec3_vertex" />
-<Test name="highp_float_fragment" />
-<Test name="highp_vec3_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="lowp_float_vertex" />
-<Test name="highp_float_vertex" />
-<Test name="lowp_vec2_vertex" />
-<Test name="lowp_float_fragment" />
-<Test name="mediump_vec3_vertex" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec4_vertex" />
-<Test name="highp_vec3_fragment" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_float_fragment" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="lowp_vec2_fragment" />
-<Test name="lowp_vec4_fragment" />
-<Test name="mediump_vec3_fragment" />
-<Test name="lowp_vec3_fragment" />
-<Test name="highp_vec2_vertex" />
-</TestCase>
-<TestCase name="smoothstep">
-<Test name="lowp_vec3_vertex" />
-<Test name="highp_float_fragment" />
-<Test name="highp_vec3_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="highp_float_vec4_fragment" />
-<Test name="lowp_float_vertex" />
-<Test name="highp_float_vertex" />
-<Test name="lowp_vec2_vertex" />
-<Test name="lowp_float_fragment" />
-<Test name="lowp_float_vec4_vertex" />
-<Test name="highp_float_vec4_vertex" />
-<Test name="mediump_vec3_vertex" />
-<Test name="highp_float_vec2_fragment" />
-<Test name="mediump_float_vec2_vertex" />
-<Test name="lowp_float_vec2_fragment" />
-<Test name="mediump_vec4_vertex" />
-<Test name="highp_float_vec3_fragment" />
-<Test name="highp_vec3_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_float_fragment" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="lowp_float_vec3_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="lowp_vec2_fragment" />
-<Test name="lowp_vec4_fragment" />
-<Test name="mediump_float_vec2_fragment" />
-<Test name="lowp_float_vec2_vertex" />
-<Test name="highp_float_vec3_vertex" />
-<Test name="highp_float_vec2_vertex" />
-<Test name="mediump_vec3_fragment" />
-<Test name="lowp_float_vec3_vertex" />
-<Test name="lowp_vec3_fragment" />
-<Test name="mediump_float_vec3_fragment" />
-<Test name="mediump_float_vec4_vertex" />
-<Test name="mediump_float_vec3_vertex" />
-<Test name="highp_vec2_vertex" />
-<Test name="mediump_float_vec4_fragment" />
-<Test name="lowp_float_vec4_fragment" />
-</TestCase>
-<TestCase name="sign">
-<Test name="lowp_vec3_vertex" />
-<Test name="highp_float_fragment" />
-<Test name="highp_vec3_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="lowp_float_vertex" />
-<Test name="highp_float_vertex" />
-<Test name="lowp_vec2_vertex" />
-<Test name="lowp_float_fragment" />
-<Test name="mediump_vec3_vertex" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec4_vertex" />
-<Test name="highp_vec3_fragment" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_float_fragment" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="lowp_vec2_fragment" />
-<Test name="lowp_vec4_fragment" />
-<Test name="mediump_vec3_fragment" />
-<Test name="lowp_vec3_fragment" />
-<Test name="highp_vec2_vertex" />
-</TestCase>
-<TestCase name="mix">
-<Test name="lowp_vec3_vertex" />
-<Test name="highp_float_fragment" />
-<Test name="highp_vec3_float_vertex" />
-<Test name="mediump_vec4_vertex" />
-<Test name="highp_vec3_float_fragment" />
-<Test name="lowp_vec4_vertex" />
-<Test name="lowp_float_vertex" />
-<Test name="mediump_float_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="lowp_vec2_vertex" />
-<Test name="lowp_float_fragment" />
-<Test name="mediump_vec3_vertex" />
-<Test name="mediump_vec4_float_fragment" />
-<Test name="mediump_vec2_float_vertex" />
-<Test name="highp_vec4_float_vertex" />
-<Test name="highp_vec3_vertex" />
-<Test name="highp_vec3_fragment" />
-<Test name="lowp_vec3_float_vertex" />
-<Test name="lowp_vec2_float_vertex" />
-<Test name="highp_vec4_vertex" />
-<Test name="lowp_vec4_float_fragment" />
-<Test name="mediump_vec3_float_fragment" />
-<Test name="highp_float_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="mediump_vec3_float_vertex" />
-<Test name="highp_vec4_float_fragment" />
-<Test name="lowp_vec2_fragment" />
-<Test name="lowp_vec4_fragment" />
-<Test name="mediump_vec4_float_vertex" />
-<Test name="mediump_vec3_fragment" />
-<Test name="lowp_vec3_fragment" />
-<Test name="lowp_vec2_float_fragment" />
-<Test name="highp_vec2_float_fragment" />
-<Test name="mediump_vec2_float_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="highp_vec2_float_vertex" />
-<Test name="lowp_vec4_float_vertex" />
-<Test name="lowp_vec3_float_fragment" />
-</TestCase>
-<TestCase name="step">
-<Test name="lowp_vec3_vertex" />
-<Test name="highp_float_fragment" />
-<Test name="highp_vec3_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="highp_float_vec4_fragment" />
-<Test name="lowp_float_vertex" />
-<Test name="highp_float_vertex" />
-<Test name="lowp_vec2_vertex" />
-<Test name="lowp_float_fragment" />
-<Test name="lowp_float_vec4_vertex" />
-<Test name="highp_float_vec4_vertex" />
-<Test name="mediump_vec3_vertex" />
-<Test name="highp_float_vec2_fragment" />
-<Test name="mediump_float_vec2_vertex" />
-<Test name="lowp_float_vec2_fragment" />
-<Test name="mediump_vec4_vertex" />
-<Test name="highp_float_vec3_fragment" />
-<Test name="highp_vec3_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_float_fragment" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="lowp_float_vec3_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="lowp_vec2_fragment" />
-<Test name="lowp_vec4_fragment" />
-<Test name="mediump_float_vec2_fragment" />
-<Test name="lowp_float_vec2_vertex" />
-<Test name="highp_float_vec3_vertex" />
-<Test name="highp_float_vec2_vertex" />
-<Test name="mediump_vec3_fragment" />
-<Test name="lowp_float_vec3_vertex" />
-<Test name="lowp_vec3_fragment" />
-<Test name="mediump_float_vec3_fragment" />
-<Test name="mediump_float_vec4_vertex" />
-<Test name="mediump_float_vec3_vertex" />
-<Test name="highp_vec2_vertex" />
-<Test name="mediump_float_vec4_fragment" />
-<Test name="lowp_float_vec4_fragment" />
-</TestCase>
-<TestCase name="abs">
-<Test name="lowp_vec3_vertex" />
-<Test name="highp_float_fragment" />
-<Test name="highp_vec3_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="lowp_float_vertex" />
-<Test name="highp_float_vertex" />
-<Test name="lowp_vec2_vertex" />
-<Test name="lowp_float_fragment" />
-<Test name="mediump_vec3_vertex" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec4_vertex" />
-<Test name="highp_vec3_fragment" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_float_fragment" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="lowp_vec2_fragment" />
-<Test name="lowp_vec4_fragment" />
-<Test name="mediump_vec3_fragment" />
-<Test name="lowp_vec3_fragment" />
-<Test name="highp_vec2_vertex" />
-</TestCase>
-<TestCase name="trunc">
-<Test name="lowp_vec3_vertex" />
-<Test name="highp_float_fragment" />
-<Test name="highp_vec3_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="lowp_float_vertex" />
-<Test name="highp_float_vertex" />
-<Test name="lowp_vec2_vertex" />
-<Test name="lowp_float_fragment" />
-<Test name="mediump_vec3_vertex" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec4_vertex" />
-<Test name="highp_vec3_fragment" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_float_fragment" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="lowp_vec2_fragment" />
-<Test name="lowp_vec4_fragment" />
-<Test name="mediump_vec3_fragment" />
-<Test name="lowp_vec3_fragment" />
-<Test name="highp_vec2_vertex" />
-</TestCase>
-<TestCase name="ceil">
-<Test name="lowp_vec3_vertex" />
-<Test name="highp_float_fragment" />
-<Test name="highp_vec3_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="lowp_float_vertex" />
-<Test name="highp_float_vertex" />
-<Test name="lowp_vec2_vertex" />
-<Test name="lowp_float_fragment" />
-<Test name="mediump_vec3_vertex" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec4_vertex" />
-<Test name="highp_vec3_fragment" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_float_fragment" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="lowp_vec2_fragment" />
-<Test name="lowp_vec4_fragment" />
-<Test name="mediump_vec3_fragment" />
-<Test name="lowp_vec3_fragment" />
-<Test name="highp_vec2_vertex" />
-</TestCase>
-<TestCase name="round">
-<Test name="lowp_vec3_vertex" />
-<Test name="highp_float_fragment" />
-<Test name="highp_vec3_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="lowp_float_vertex" />
-<Test name="highp_float_vertex" />
-<Test name="lowp_vec2_vertex" />
-<Test name="lowp_float_fragment" />
-<Test name="mediump_vec3_vertex" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec4_vertex" />
-<Test name="highp_vec3_fragment" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_float_fragment" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="lowp_vec2_fragment" />
-<Test name="lowp_vec4_fragment" />
-<Test name="mediump_vec3_fragment" />
-<Test name="lowp_vec3_fragment" />
-<Test name="highp_vec2_vertex" />
-</TestCase>
-<TestCase name="mod">
-<Test name="highp_vec3_float_fragment" />
-<Test name="highp_float_vertex" />
-<Test name="highp_vec3_float_vertex" />
-<Test name="highp_vec3_vertex" />
-<Test name="highp_float_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="mediump_vec3_vertex" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec4_float_fragment" />
-<Test name="mediump_vec2_float_vertex" />
-<Test name="highp_vec4_float_vertex" />
-<Test name="mediump_vec4_vertex" />
-<Test name="highp_vec3_fragment" />
-<Test name="highp_vec4_vertex" />
-<Test name="mediump_vec3_float_fragment" />
-<Test name="highp_vec4_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_float_fragment" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="mediump_vec3_float_vertex" />
-<Test name="highp_vec4_float_fragment" />
-<Test name="mediump_vec4_float_vertex" />
-<Test name="mediump_vec3_fragment" />
-<Test name="highp_vec2_float_fragment" />
-<Test name="mediump_vec2_float_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="highp_vec2_float_vertex" />
-</TestCase>
-</TestSuite>
-<TestSuite name="float_compare">
-<TestCase name="notEqual">
-<Test name="lowp_vec3_vertex" />
-<Test name="highp_vec4_vertex" />
-<Test name="mediump_vec4_vertex" />
-<Test name="highp_vec3_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="lowp_vec2_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_vec2_vertex" />
-<Test name="lowp_vec3_fragment" />
-<Test name="highp_vec3_fragment" />
-<Test name="mediump_vec3_vertex" />
-<Test name="mediump_vec2_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="lowp_vec2_fragment" />
-<Test name="mediump_vec3_fragment" />
-<Test name="lowp_vec4_fragment" />
-</TestCase>
-<TestCase name="lessThanEqual">
-<Test name="lowp_vec3_vertex" />
-<Test name="highp_vec4_vertex" />
-<Test name="mediump_vec4_vertex" />
-<Test name="highp_vec3_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="lowp_vec2_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_vec2_vertex" />
-<Test name="lowp_vec3_fragment" />
-<Test name="highp_vec3_fragment" />
-<Test name="mediump_vec3_vertex" />
-<Test name="mediump_vec2_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="lowp_vec2_fragment" />
-<Test name="mediump_vec3_fragment" />
-<Test name="lowp_vec4_fragment" />
-</TestCase>
-<TestCase name="greaterThanEqual">
-<Test name="lowp_vec3_vertex" />
-<Test name="highp_vec4_vertex" />
-<Test name="mediump_vec4_vertex" />
-<Test name="highp_vec3_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="lowp_vec2_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_vec2_vertex" />
-<Test name="lowp_vec3_fragment" />
-<Test name="highp_vec3_fragment" />
-<Test name="mediump_vec3_vertex" />
-<Test name="mediump_vec2_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="lowp_vec2_fragment" />
-<Test name="mediump_vec3_fragment" />
-<Test name="lowp_vec4_fragment" />
-</TestCase>
-<TestCase name="equal">
-<Test name="lowp_vec3_vertex" />
-<Test name="highp_vec4_vertex" />
-<Test name="mediump_vec4_vertex" />
-<Test name="highp_vec3_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="lowp_vec2_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_vec2_vertex" />
-<Test name="lowp_vec3_fragment" />
-<Test name="highp_vec3_fragment" />
-<Test name="mediump_vec3_vertex" />
-<Test name="mediump_vec2_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="lowp_vec2_fragment" />
-<Test name="mediump_vec3_fragment" />
-<Test name="lowp_vec4_fragment" />
-</TestCase>
-<TestCase name="lessThan">
-<Test name="lowp_vec3_vertex" />
-<Test name="highp_vec4_vertex" />
-<Test name="mediump_vec4_vertex" />
-<Test name="highp_vec3_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="lowp_vec2_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_vec2_vertex" />
-<Test name="lowp_vec3_fragment" />
-<Test name="highp_vec3_fragment" />
-<Test name="mediump_vec3_vertex" />
-<Test name="mediump_vec2_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="lowp_vec2_fragment" />
-<Test name="mediump_vec3_fragment" />
-<Test name="lowp_vec4_fragment" />
-</TestCase>
-<TestCase name="greaterThan">
-<Test name="lowp_vec3_vertex" />
-<Test name="highp_vec4_vertex" />
-<Test name="mediump_vec4_vertex" />
-<Test name="highp_vec3_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="lowp_vec2_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_vec2_vertex" />
-<Test name="lowp_vec3_fragment" />
-<Test name="highp_vec3_fragment" />
-<Test name="mediump_vec3_vertex" />
-<Test name="mediump_vec2_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="lowp_vec2_fragment" />
-<Test name="mediump_vec3_fragment" />
-<Test name="lowp_vec4_fragment" />
-</TestCase>
-</TestSuite>
-<TestSuite name="bool_compare">
-<TestCase name="not">
-<Test name="bvec2_fragment" />
-<Test name="bvec3_vertex" />
-<Test name="bvec4_fragment" />
-<Test name="bvec2_vertex" />
-<Test name="bvec3_fragment" />
-<Test name="bvec4_vertex" />
-</TestCase>
-<TestCase name="notEqual">
-<Test name="bvec2_fragment" />
-<Test name="bvec3_vertex" />
-<Test name="bvec4_fragment" />
-<Test name="bvec2_vertex" />
-<Test name="bvec3_fragment" />
-<Test name="bvec4_vertex" />
-</TestCase>
-<TestCase name="all">
-<Test name="bvec2_fragment" />
-<Test name="bvec3_vertex" />
-<Test name="bvec4_fragment" />
-<Test name="bvec2_vertex" />
-<Test name="bvec3_fragment" />
-<Test name="bvec4_vertex" />
-</TestCase>
-<TestCase name="equal">
-<Test name="bvec2_fragment" />
-<Test name="bvec3_vertex" />
-<Test name="bvec4_fragment" />
-<Test name="bvec2_vertex" />
-<Test name="bvec3_fragment" />
-<Test name="bvec4_vertex" />
-</TestCase>
-<TestCase name="any">
-<Test name="bvec2_fragment" />
-<Test name="bvec3_vertex" />
-<Test name="bvec4_fragment" />
-<Test name="bvec2_vertex" />
-<Test name="bvec3_fragment" />
-<Test name="bvec4_vertex" />
-</TestCase>
-</TestSuite>
-<TestSuite name="geometric">
-<TestCase name="normalize">
-<Test name="highp_float_vertex" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_vec3_vertex" />
-<Test name="mediump_vec4_vertex" />
-<Test name="mediump_vec3_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="mediump_float_fragment" />
-<Test name="highp_float_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_vec3_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="mediump_vec3_fragment" />
-</TestCase>
-<TestCase name="distance">
-<Test name="highp_float_vertex" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_vec3_vertex" />
-<Test name="mediump_vec4_vertex" />
-<Test name="mediump_vec3_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="mediump_float_fragment" />
-<Test name="highp_float_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_vec3_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="mediump_vec3_fragment" />
-</TestCase>
-<TestCase name="refract">
-<Test name="highp_vec3_float_fragment" />
-<Test name="highp_float_vertex" />
-<Test name="highp_vec4_float_vertex" />
-<Test name="highp_vec3_float_vertex" />
-<Test name="highp_vec4_float_fragment" />
-<Test name="mediump_vec3_float_fragment" />
-<Test name="mediump_float_fragment" />
-<Test name="highp_float_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="highp_vec2_float_fragment" />
-<Test name="mediump_vec2_float_fragment" />
-<Test name="mediump_vec3_float_vertex" />
-<Test name="mediump_vec4_float_fragment" />
-<Test name="highp_vec2_float_vertex" />
-<Test name="mediump_vec2_float_vertex" />
-<Test name="mediump_vec4_float_vertex" />
-</TestCase>
-<TestCase name="cross">
-<Test name="highp_vec3_fragment" />
-<Test name="mediump_vec3_vertex" />
-<Test name="highp_vec3_vertex" />
-<Test name="mediump_vec3_fragment" />
-</TestCase>
-<TestCase name="reflect">
-<Test name="highp_float_vertex" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_vec3_vertex" />
-<Test name="mediump_vec4_vertex" />
-<Test name="mediump_vec3_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="mediump_float_fragment" />
-<Test name="highp_float_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_vec3_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="mediump_vec3_fragment" />
-</TestCase>
-<TestCase name="faceforward">
-<Test name="highp_float_vertex" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_vec3_vertex" />
-<Test name="mediump_vec4_vertex" />
-<Test name="mediump_vec3_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="mediump_float_fragment" />
-<Test name="highp_float_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_vec3_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="mediump_vec3_fragment" />
-</TestCase>
-<TestCase name="length">
-<Test name="highp_float_vertex" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_vec3_vertex" />
-<Test name="mediump_vec4_vertex" />
-<Test name="mediump_vec3_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="mediump_float_fragment" />
-<Test name="highp_float_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_vec3_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="mediump_vec3_fragment" />
-</TestCase>
-<TestCase name="dot">
-<Test name="highp_float_vertex" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_vec3_vertex" />
-<Test name="mediump_vec4_vertex" />
-<Test name="mediump_vec3_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="mediump_float_fragment" />
-<Test name="highp_float_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_vec3_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="mediump_vec3_fragment" />
-</TestCase>
-</TestSuite>
-<TestSuite name="unary_operator">
-<TestCase name="pre_increment_effect">
-<Test name="highp_ivec3_fragment" />
-<Test name="lowp_vec3_vertex" />
-<Test name="highp_float_fragment" />
-<Test name="lowp_uvec3_fragment" />
-<Test name="mediump_vec4_vertex" />
-<Test name="lowp_uvec3_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="lowp_float_vertex" />
-<Test name="mediump_float_fragment" />
-<Test name="mediump_uvec3_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="lowp_vec2_vertex" />
-<Test name="lowp_float_fragment" />
-<Test name="mediump_vec3_vertex" />
-<Test name="mediump_uvec3_vertex" />
-<Test name="mediump_vec3_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="highp_ivec4_fragment" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="highp_vec3_vertex" />
-<Test name="lowp_vec3_fragment" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="lowp_uvec2_fragment" />
-<Test name="highp_uvec2_vertex" />
-<Test name="lowp_uvec2_vertex" />
-<Test name="highp_uvec2_fragment" />
-<Test name="mediump_int_vertex" />
-<Test name="highp_vec3_fragment" />
-<Test name="highp_int_vertex" />
-<Test name="lowp_uvec4_vertex" />
-<Test name="highp_ivec2_fragment" />
-<Test name="lowp_uint_fragment" />
-<Test name="highp_int_fragment" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_uint_vertex" />
-<Test name="mediump_uint_vertex" />
-<Test name="highp_float_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_uint_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_uvec3_fragment" />
-<Test name="mediump_uvec4_vertex" />
-<Test name="lowp_uint_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="highp_uvec3_vertex" />
-<Test name="highp_uint_fragment" />
-<Test name="lowp_vec2_fragment" />
-<Test name="lowp_vec4_fragment" />
-<Test name="highp_uvec4_fragment" />
-<Test name="mediump_uvec2_fragment" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="highp_ivec3_vertex" />
-<Test name="lowp_int_fragment" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="mediump_uvec4_fragment" />
-<Test name="mediump_uvec2_vertex" />
-<Test name="lowp_uvec4_fragment" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="highp_uvec4_vertex" />
-<Test name="highp_ivec2_vertex" />
-<Test name="mediump_int_fragment" />
-<Test name="lowp_int_vertex" />
-</TestCase>
-<TestCase name="bitwise_not">
-<Test name="highp_ivec3_fragment" />
-<Test name="highp_ivec4_fragment" />
-<Test name="highp_uint_vertex" />
-<Test name="highp_ivec4_vertex" />
-<Test name="highp_uvec2_vertex" />
-<Test name="highp_ivec3_vertex" />
-<Test name="highp_uvec2_fragment" />
-<Test name="highp_ivec2_vertex" />
-<Test name="highp_int_vertex" />
-<Test name="highp_uvec3_fragment" />
-<Test name="highp_uvec3_vertex" />
-<Test name="highp_uint_fragment" />
-<Test name="highp_uvec4_vertex" />
-<Test name="highp_ivec2_fragment" />
-<Test name="highp_uvec4_fragment" />
-<Test name="highp_int_fragment" />
-</TestCase>
-<TestCase name="minus">
-<Test name="highp_ivec3_fragment" />
-<Test name="lowp_vec3_vertex" />
-<Test name="highp_float_fragment" />
-<Test name="lowp_uvec3_fragment" />
-<Test name="mediump_vec4_vertex" />
-<Test name="lowp_uvec3_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="lowp_float_vertex" />
-<Test name="mediump_float_fragment" />
-<Test name="mediump_uvec3_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="lowp_vec2_vertex" />
-<Test name="lowp_float_fragment" />
-<Test name="mediump_vec3_vertex" />
-<Test name="mediump_uvec3_vertex" />
-<Test name="mediump_vec3_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="highp_ivec4_fragment" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="highp_vec3_vertex" />
-<Test name="lowp_vec3_fragment" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="lowp_uvec2_fragment" />
-<Test name="highp_uvec2_vertex" />
-<Test name="lowp_uvec2_vertex" />
-<Test name="highp_uvec2_fragment" />
-<Test name="mediump_int_vertex" />
-<Test name="highp_vec3_fragment" />
-<Test name="highp_int_vertex" />
-<Test name="lowp_uvec4_vertex" />
-<Test name="highp_ivec2_fragment" />
-<Test name="lowp_uint_fragment" />
-<Test name="highp_int_fragment" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_uint_vertex" />
-<Test name="mediump_uint_vertex" />
-<Test name="highp_float_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_uint_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_uvec3_fragment" />
-<Test name="mediump_uvec4_vertex" />
-<Test name="lowp_uint_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="highp_uvec3_vertex" />
-<Test name="highp_uint_fragment" />
-<Test name="lowp_vec2_fragment" />
-<Test name="lowp_vec4_fragment" />
-<Test name="highp_uvec4_fragment" />
-<Test name="mediump_uvec2_fragment" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="highp_ivec3_vertex" />
-<Test name="lowp_int_fragment" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="mediump_uvec4_fragment" />
-<Test name="mediump_uvec2_vertex" />
-<Test name="lowp_uvec4_fragment" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="highp_uvec4_vertex" />
-<Test name="highp_ivec2_vertex" />
-<Test name="mediump_int_fragment" />
-<Test name="lowp_int_vertex" />
-</TestCase>
-<TestCase name="pre_decrement_effect">
-<Test name="highp_ivec3_fragment" />
-<Test name="lowp_vec3_vertex" />
-<Test name="highp_float_fragment" />
-<Test name="highp_vec3_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="lowp_float_vertex" />
-<Test name="mediump_float_fragment" />
-<Test name="lowp_vec2_vertex" />
-<Test name="lowp_float_fragment" />
-<Test name="mediump_vec3_vertex" />
-<Test name="mediump_vec3_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="highp_ivec4_fragment" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="mediump_vec4_vertex" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="mediump_int_vertex" />
-<Test name="highp_vec3_fragment" />
-<Test name="highp_int_vertex" />
-<Test name="highp_ivec2_fragment" />
-<Test name="highp_int_fragment" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_float_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="lowp_vec2_fragment" />
-<Test name="lowp_vec4_fragment" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="highp_ivec3_vertex" />
-<Test name="lowp_int_fragment" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="lowp_vec3_fragment" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="highp_ivec2_vertex" />
-<Test name="mediump_int_fragment" />
-<Test name="lowp_int_vertex" />
-</TestCase>
-<TestCase name="post_decrement_result">
-<Test name="highp_ivec3_fragment" />
-<Test name="lowp_vec3_vertex" />
-<Test name="highp_float_fragment" />
-<Test name="lowp_uvec3_fragment" />
-<Test name="mediump_vec4_vertex" />
-<Test name="lowp_uvec3_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="lowp_float_vertex" />
-<Test name="mediump_float_fragment" />
-<Test name="mediump_uvec3_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="lowp_vec2_vertex" />
-<Test name="lowp_float_fragment" />
-<Test name="mediump_vec3_vertex" />
-<Test name="mediump_uvec3_vertex" />
-<Test name="mediump_vec3_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="highp_ivec4_fragment" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="highp_vec3_vertex" />
-<Test name="lowp_vec3_fragment" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="lowp_uvec2_fragment" />
-<Test name="highp_uvec2_vertex" />
-<Test name="lowp_uvec2_vertex" />
-<Test name="highp_uvec2_fragment" />
-<Test name="mediump_int_vertex" />
-<Test name="highp_vec3_fragment" />
-<Test name="highp_int_vertex" />
-<Test name="lowp_uvec4_vertex" />
-<Test name="highp_ivec2_fragment" />
-<Test name="lowp_uint_fragment" />
-<Test name="highp_int_fragment" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_uint_vertex" />
-<Test name="mediump_uint_vertex" />
-<Test name="highp_float_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_uint_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_uvec3_fragment" />
-<Test name="mediump_uvec4_vertex" />
-<Test name="lowp_uint_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="highp_uvec3_vertex" />
-<Test name="highp_uint_fragment" />
-<Test name="lowp_vec2_fragment" />
-<Test name="lowp_vec4_fragment" />
-<Test name="highp_uvec4_fragment" />
-<Test name="mediump_uvec2_fragment" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="highp_ivec3_vertex" />
-<Test name="lowp_int_fragment" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="mediump_uvec4_fragment" />
-<Test name="mediump_uvec2_vertex" />
-<Test name="lowp_uvec4_fragment" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="highp_uvec4_vertex" />
-<Test name="highp_ivec2_vertex" />
-<Test name="mediump_int_fragment" />
-<Test name="lowp_int_vertex" />
-</TestCase>
-<TestCase name="pre_increment_result">
-<Test name="highp_ivec3_fragment" />
-<Test name="lowp_vec3_vertex" />
-<Test name="highp_float_fragment" />
-<Test name="lowp_uvec3_fragment" />
-<Test name="mediump_vec4_vertex" />
-<Test name="lowp_uvec3_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="lowp_float_vertex" />
-<Test name="mediump_float_fragment" />
-<Test name="mediump_uvec3_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="lowp_vec2_vertex" />
-<Test name="lowp_float_fragment" />
-<Test name="mediump_vec3_vertex" />
-<Test name="mediump_uvec3_vertex" />
-<Test name="mediump_vec3_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="highp_ivec4_fragment" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="highp_vec3_vertex" />
-<Test name="lowp_vec3_fragment" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="lowp_uvec2_fragment" />
-<Test name="highp_uvec2_vertex" />
-<Test name="lowp_uvec2_vertex" />
-<Test name="highp_uvec2_fragment" />
-<Test name="mediump_int_vertex" />
-<Test name="highp_vec3_fragment" />
-<Test name="highp_int_vertex" />
-<Test name="lowp_uvec4_vertex" />
-<Test name="highp_ivec2_fragment" />
-<Test name="lowp_uint_fragment" />
-<Test name="highp_int_fragment" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_uint_vertex" />
-<Test name="mediump_uint_vertex" />
-<Test name="highp_float_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_uint_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_uvec3_fragment" />
-<Test name="mediump_uvec4_vertex" />
-<Test name="lowp_uint_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="highp_uvec3_vertex" />
-<Test name="highp_uint_fragment" />
-<Test name="lowp_vec2_fragment" />
-<Test name="lowp_vec4_fragment" />
-<Test name="highp_uvec4_fragment" />
-<Test name="mediump_uvec2_fragment" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="highp_ivec3_vertex" />
-<Test name="lowp_int_fragment" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="mediump_uvec4_fragment" />
-<Test name="mediump_uvec2_vertex" />
-<Test name="lowp_uvec4_fragment" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="highp_uvec4_vertex" />
-<Test name="highp_ivec2_vertex" />
-<Test name="mediump_int_fragment" />
-<Test name="lowp_int_vertex" />
-</TestCase>
-<TestCase name="plus">
-<Test name="highp_ivec3_fragment" />
-<Test name="lowp_vec3_vertex" />
-<Test name="highp_float_fragment" />
-<Test name="lowp_uvec3_fragment" />
-<Test name="mediump_vec4_vertex" />
-<Test name="lowp_uvec3_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="lowp_float_vertex" />
-<Test name="mediump_float_fragment" />
-<Test name="mediump_uvec3_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="lowp_vec2_vertex" />
-<Test name="lowp_float_fragment" />
-<Test name="mediump_vec3_vertex" />
-<Test name="mediump_uvec3_vertex" />
-<Test name="mediump_vec3_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="highp_ivec4_fragment" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="highp_vec3_vertex" />
-<Test name="lowp_vec3_fragment" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="lowp_uvec2_fragment" />
-<Test name="highp_uvec2_vertex" />
-<Test name="lowp_uvec2_vertex" />
-<Test name="highp_uvec2_fragment" />
-<Test name="mediump_int_vertex" />
-<Test name="highp_vec3_fragment" />
-<Test name="highp_int_vertex" />
-<Test name="lowp_uvec4_vertex" />
-<Test name="highp_ivec2_fragment" />
-<Test name="lowp_uint_fragment" />
-<Test name="highp_int_fragment" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_uint_vertex" />
-<Test name="mediump_uint_vertex" />
-<Test name="highp_float_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_uint_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_uvec3_fragment" />
-<Test name="mediump_uvec4_vertex" />
-<Test name="lowp_uint_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="highp_uvec3_vertex" />
-<Test name="highp_uint_fragment" />
-<Test name="lowp_vec2_fragment" />
-<Test name="lowp_vec4_fragment" />
-<Test name="highp_uvec4_fragment" />
-<Test name="mediump_uvec2_fragment" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="highp_ivec3_vertex" />
-<Test name="lowp_int_fragment" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="mediump_uvec4_fragment" />
-<Test name="mediump_uvec2_vertex" />
-<Test name="lowp_uvec4_fragment" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="highp_uvec4_vertex" />
-<Test name="highp_ivec2_vertex" />
-<Test name="mediump_int_fragment" />
-<Test name="lowp_int_vertex" />
-</TestCase>
-<TestCase name="post_decrement_effect">
-<Test name="highp_ivec3_fragment" />
-<Test name="lowp_vec3_vertex" />
-<Test name="highp_float_fragment" />
-<Test name="highp_vec3_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="lowp_float_vertex" />
-<Test name="mediump_float_fragment" />
-<Test name="lowp_vec2_vertex" />
-<Test name="lowp_float_fragment" />
-<Test name="mediump_vec3_vertex" />
-<Test name="mediump_vec3_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="highp_ivec4_fragment" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="mediump_vec4_vertex" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="mediump_int_vertex" />
-<Test name="highp_vec3_fragment" />
-<Test name="highp_int_vertex" />
-<Test name="highp_ivec2_fragment" />
-<Test name="highp_int_fragment" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_float_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="lowp_vec2_fragment" />
-<Test name="lowp_vec4_fragment" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="highp_ivec3_vertex" />
-<Test name="lowp_int_fragment" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="lowp_vec3_fragment" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="highp_ivec2_vertex" />
-<Test name="mediump_int_fragment" />
-<Test name="lowp_int_vertex" />
-</TestCase>
-<TestCase name="not">
-<Test name="bool_fragment" />
-<Test name="bool_vertex" />
-</TestCase>
-<TestCase name="pre_decrement_result">
-<Test name="highp_ivec3_fragment" />
-<Test name="lowp_vec3_vertex" />
-<Test name="highp_float_fragment" />
-<Test name="highp_vec3_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="lowp_float_vertex" />
-<Test name="mediump_float_fragment" />
-<Test name="lowp_vec2_vertex" />
-<Test name="lowp_float_fragment" />
-<Test name="mediump_vec3_vertex" />
-<Test name="mediump_vec3_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="highp_ivec4_fragment" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="mediump_vec4_vertex" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="mediump_int_vertex" />
-<Test name="highp_vec3_fragment" />
-<Test name="highp_int_vertex" />
-<Test name="highp_ivec2_fragment" />
-<Test name="highp_int_fragment" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_float_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="lowp_vec2_fragment" />
-<Test name="lowp_vec4_fragment" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="highp_ivec3_vertex" />
-<Test name="lowp_int_fragment" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="lowp_vec3_fragment" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="highp_ivec2_vertex" />
-<Test name="mediump_int_fragment" />
-<Test name="lowp_int_vertex" />
-</TestCase>
-<TestCase name="post_increment_effect">
-<Test name="highp_ivec3_fragment" />
-<Test name="lowp_vec3_vertex" />
-<Test name="highp_float_fragment" />
-<Test name="lowp_uvec3_fragment" />
-<Test name="mediump_vec4_vertex" />
-<Test name="lowp_uvec3_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="lowp_float_vertex" />
-<Test name="mediump_float_fragment" />
-<Test name="mediump_uvec3_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="lowp_vec2_vertex" />
-<Test name="lowp_float_fragment" />
-<Test name="mediump_vec3_vertex" />
-<Test name="mediump_uvec3_vertex" />
-<Test name="mediump_vec3_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="highp_ivec4_fragment" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="highp_vec3_vertex" />
-<Test name="lowp_vec3_fragment" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="lowp_uvec2_fragment" />
-<Test name="highp_uvec2_vertex" />
-<Test name="lowp_uvec2_vertex" />
-<Test name="highp_uvec2_fragment" />
-<Test name="mediump_int_vertex" />
-<Test name="highp_vec3_fragment" />
-<Test name="highp_int_vertex" />
-<Test name="lowp_uvec4_vertex" />
-<Test name="highp_ivec2_fragment" />
-<Test name="lowp_uint_fragment" />
-<Test name="highp_int_fragment" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_uint_vertex" />
-<Test name="mediump_uint_vertex" />
-<Test name="highp_float_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_uint_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_uvec3_fragment" />
-<Test name="mediump_uvec4_vertex" />
-<Test name="lowp_uint_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="highp_uvec3_vertex" />
-<Test name="highp_uint_fragment" />
-<Test name="lowp_vec2_fragment" />
-<Test name="lowp_vec4_fragment" />
-<Test name="highp_uvec4_fragment" />
-<Test name="mediump_uvec2_fragment" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="highp_ivec3_vertex" />
-<Test name="lowp_int_fragment" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="mediump_uvec4_fragment" />
-<Test name="mediump_uvec2_vertex" />
-<Test name="lowp_uvec4_fragment" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="highp_uvec4_vertex" />
-<Test name="highp_ivec2_vertex" />
-<Test name="mediump_int_fragment" />
-<Test name="lowp_int_vertex" />
-</TestCase>
-<TestCase name="post_increment_result">
-<Test name="highp_ivec3_fragment" />
-<Test name="lowp_vec3_vertex" />
-<Test name="highp_float_fragment" />
-<Test name="lowp_uvec3_fragment" />
-<Test name="mediump_vec4_vertex" />
-<Test name="lowp_uvec3_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="lowp_float_vertex" />
-<Test name="mediump_float_fragment" />
-<Test name="mediump_uvec3_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="lowp_vec2_vertex" />
-<Test name="lowp_float_fragment" />
-<Test name="mediump_vec3_vertex" />
-<Test name="mediump_uvec3_vertex" />
-<Test name="mediump_vec3_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="highp_ivec4_fragment" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="highp_vec3_vertex" />
-<Test name="lowp_vec3_fragment" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="lowp_uvec2_fragment" />
-<Test name="highp_uvec2_vertex" />
-<Test name="lowp_uvec2_vertex" />
-<Test name="highp_uvec2_fragment" />
-<Test name="mediump_int_vertex" />
-<Test name="highp_vec3_fragment" />
-<Test name="highp_int_vertex" />
-<Test name="lowp_uvec4_vertex" />
-<Test name="highp_ivec2_fragment" />
-<Test name="lowp_uint_fragment" />
-<Test name="highp_int_fragment" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_uint_vertex" />
-<Test name="mediump_uint_vertex" />
-<Test name="highp_float_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_uint_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_uvec3_fragment" />
-<Test name="mediump_uvec4_vertex" />
-<Test name="lowp_uint_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="highp_uvec3_vertex" />
-<Test name="highp_uint_fragment" />
-<Test name="lowp_vec2_fragment" />
-<Test name="lowp_vec4_fragment" />
-<Test name="highp_uvec4_fragment" />
-<Test name="mediump_uvec2_fragment" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="highp_ivec3_vertex" />
-<Test name="lowp_int_fragment" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="mediump_uvec4_fragment" />
-<Test name="mediump_uvec2_vertex" />
-<Test name="lowp_uvec4_fragment" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="highp_uvec4_vertex" />
-<Test name="highp_ivec2_vertex" />
-<Test name="mediump_int_fragment" />
-<Test name="lowp_int_vertex" />
-</TestCase>
-</TestSuite>
-<TestSuite name="binary_operator">
-<TestCase name="sub_assign_effect">
-<Test name="highp_ivec3_fragment" />
-<Test name="lowp_uvec3_fragment" />
-<Test name="mediump_uvec3_vertex" />
-<Test name="mediump_float_fragment" />
-<Test name="highp_uvec3_uint_vertex" />
-<Test name="mediump_vec3_vertex" />
-<Test name="mediump_vec2_float_vertex" />
-<Test name="highp_ivec4_fragment" />
-<Test name="mediump_ivec2_int_fragment" />
-<Test name="mediump_ivec2_int_vertex" />
-<Test name="highp_vec4_float_vertex" />
-<Test name="lowp_uvec2_fragment" />
-<Test name="mediump_vec3_fragment" />
-<Test name="mediump_int_vertex" />
-<Test name="highp_uvec4_uint_vertex" />
-<Test name="highp_int_fragment" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_uint_vertex" />
-<Test name="mediump_uint_vertex" />
-<Test name="lowp_vec4_float_vertex" />
-<Test name="mediump_uvec4_uint_vertex" />
-<Test name="highp_vec2_fragment" />
-<Test name="lowp_uvec3_uint_fragment" />
-<Test name="lowp_uvec4_uint_fragment" />
-<Test name="mediump_uvec3_uint_vertex" />
-<Test name="mediump_uvec2_vertex" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="lowp_vec3_fragment" />
-<Test name="lowp_ivec2_int_fragment" />
-<Test name="highp_vec2_float_vertex" />
-<Test name="lowp_uvec3_vertex" />
-<Test name="highp_float_fragment" />
-<Test name="mediump_vec4_vertex" />
-<Test name="mediump_uvec3_uint_fragment" />
-<Test name="highp_uvec2_uint_fragment" />
-<Test name="lowp_vec2_vertex" />
-<Test name="mediump_vec4_float_fragment" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="highp_uvec2_vertex" />
-<Test name="lowp_ivec3_int_vertex" />
-<Test name="highp_vec3_fragment" />
-<Test name="lowp_uvec2_uint_vertex" />
-<Test name="highp_ivec3_int_vertex" />
-<Test name="lowp_float_fragment" />
-<Test name="lowp_vec4_float_fragment" />
-<Test name="mediump_vec3_float_fragment" />
-<Test name="lowp_uvec4_fragment" />
-<Test name="highp_ivec3_int_fragment" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="lowp_ivec4_int_vertex" />
-<Test name="highp_uvec4_fragment" />
-<Test name="highp_ivec4_int_fragment" />
-<Test name="highp_uint_fragment" />
-<Test name="highp_vec2_float_fragment" />
-<Test name="mediump_uvec2_uint_fragment" />
-<Test name="lowp_uvec4_uint_vertex" />
-<Test name="mediump_uint_fragment" />
-<Test name="highp_float_vertex" />
-<Test name="mediump_uvec4_fragment" />
-<Test name="lowp_vec3_vertex" />
-<Test name="lowp_float_vertex" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="mediump_uvec3_fragment" />
-<Test name="highp_uvec3_vertex" />
-<Test name="highp_ivec4_int_vertex" />
-<Test name="mediump_uvec4_uint_fragment" />
-<Test name="lowp_uvec3_uint_vertex" />
-<Test name="highp_vec4_float_fragment" />
-<Test name="highp_vec3_vertex" />
-<Test name="lowp_uvec2_vertex" />
-<Test name="highp_uvec2_fragment" />
-<Test name="lowp_uvec4_vertex" />
-<Test name="lowp_uint_fragment" />
-<Test name="highp_ivec2_vertex" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="mediump_ivec4_int_vertex" />
-<Test name="mediump_uvec4_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_uvec3_fragment" />
-<Test name="highp_uvec2_uint_vertex" />
-<Test name="lowp_vec4_fragment" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="mediump_vec4_float_vertex" />
-<Test name="lowp_ivec3_int_fragment" />
-<Test name="highp_ivec2_int_fragment" />
-<Test name="mediump_ivec3_int_fragment" />
-<Test name="lowp_vec2_float_fragment" />
-<Test name="mediump_vec2_float_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="mediump_int_fragment" />
-<Test name="lowp_vec3_float_fragment" />
-<Test name="highp_vec3_float_fragment" />
-<Test name="highp_vec3_float_vertex" />
-<Test name="mediump_vec3_float_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="mediump_float_vertex" />
-<Test name="highp_uvec4_uint_fragment" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="mediump_ivec3_int_vertex" />
-<Test name="highp_int_vertex" />
-<Test name="lowp_vec3_float_vertex" />
-<Test name="highp_ivec2_fragment" />
-<Test name="highp_vec4_fragment" />
-<Test name="mediump_uvec2_uint_vertex" />
-<Test name="lowp_uvec2_uint_fragment" />
-<Test name="lowp_int_fragment" />
-<Test name="lowp_uint_vertex" />
-<Test name="lowp_vec2_fragment" />
-<Test name="highp_uvec4_vertex" />
-<Test name="lowp_ivec4_int_fragment" />
-<Test name="mediump_uvec2_fragment" />
-<Test name="mediump_ivec4_int_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="highp_ivec3_vertex" />
-<Test name="highp_uvec3_uint_fragment" />
-<Test name="highp_ivec2_int_vertex" />
-<Test name="lowp_vec2_float_vertex" />
-<Test name="lowp_ivec2_int_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="lowp_int_vertex" />
-</TestCase>
-<TestCase name="bitwise_xor_assign_effect">
-<Test name="highp_ivec3_fragment" />
-<Test name="mediump_uint_fragment" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="lowp_uvec3_fragment" />
-<Test name="mediump_uvec4_fragment" />
-<Test name="lowp_uvec3_vertex" />
-<Test name="mediump_uvec3_vertex" />
-<Test name="mediump_uvec3_fragment" />
-<Test name="highp_uvec3_uint_vertex" />
-<Test name="highp_ivec4_int_vertex" />
-<Test name="lowp_uvec4_uint_fragment" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="highp_uint_fragment" />
-<Test name="highp_uvec2_fragment" />
-<Test name="mediump_uvec4_uint_fragment" />
-<Test name="mediump_ivec3_int_vertex" />
-<Test name="highp_ivec4_fragment" />
-<Test name="mediump_ivec2_int_fragment" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="highp_ivec2_int_vertex" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="lowp_uvec2_fragment" />
-<Test name="highp_uvec2_vertex" />
-<Test name="mediump_uvec3_uint_fragment" />
-<Test name="lowp_uvec2_vertex" />
-<Test name="lowp_ivec3_int_vertex" />
-<Test name="mediump_int_vertex" />
-<Test name="highp_uvec4_uint_vertex" />
-<Test name="highp_int_vertex" />
-<Test name="mediump_ivec2_int_vertex" />
-<Test name="lowp_uvec4_vertex" />
-<Test name="lowp_uvec4_fragment" />
-<Test name="highp_ivec2_fragment" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="lowp_uint_fragment" />
-<Test name="highp_ivec2_vertex" />
-<Test name="lowp_uvec2_uint_vertex" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="highp_ivec3_int_vertex" />
-<Test name="highp_uvec2_uint_fragment" />
-<Test name="highp_uint_vertex" />
-<Test name="lowp_uvec3_uint_vertex" />
-<Test name="mediump_uint_vertex" />
-<Test name="mediump_ivec4_int_vertex" />
-<Test name="mediump_uvec4_uint_vertex" />
-<Test name="mediump_uvec4_vertex" />
-<Test name="highp_ivec2_int_fragment" />
-<Test name="mediump_ivec4_int_fragment" />
-<Test name="lowp_ivec2_int_vertex" />
-<Test name="highp_ivec3_int_fragment" />
-<Test name="highp_uvec3_fragment" />
-<Test name="mediump_uvec2_uint_vertex" />
-<Test name="lowp_uint_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="highp_uvec3_vertex" />
-<Test name="lowp_uvec3_uint_fragment" />
-<Test name="lowp_ivec4_int_vertex" />
-<Test name="highp_uvec2_uint_vertex" />
-<Test name="highp_uvec4_fragment" />
-<Test name="lowp_ivec4_int_fragment" />
-<Test name="mediump_uvec2_fragment" />
-<Test name="highp_ivec4_int_fragment" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="lowp_uvec2_uint_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="lowp_ivec3_int_fragment" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="highp_ivec3_vertex" />
-<Test name="lowp_int_fragment" />
-<Test name="highp_uvec3_uint_fragment" />
-<Test name="mediump_uvec3_uint_vertex" />
-<Test name="mediump_uvec2_vertex" />
-<Test name="mediump_uvec2_uint_fragment" />
-<Test name="mediump_ivec3_int_fragment" />
-<Test name="lowp_ivec2_int_fragment" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="highp_uvec4_vertex" />
-<Test name="highp_int_fragment" />
-<Test name="mediump_int_fragment" />
-<Test name="lowp_uvec4_uint_vertex" />
-<Test name="lowp_int_vertex" />
-<Test name="highp_uvec4_uint_fragment" />
-</TestCase>
-<TestCase name="bitwise_or_assign_effect">
-<Test name="highp_ivec3_fragment" />
-<Test name="mediump_uint_fragment" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="lowp_uvec3_fragment" />
-<Test name="mediump_uvec4_fragment" />
-<Test name="lowp_uvec3_vertex" />
-<Test name="mediump_uvec3_vertex" />
-<Test name="mediump_uvec3_fragment" />
-<Test name="highp_uvec3_uint_vertex" />
-<Test name="highp_ivec4_int_vertex" />
-<Test name="lowp_uvec4_uint_fragment" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="highp_uint_fragment" />
-<Test name="highp_uvec2_fragment" />
-<Test name="mediump_uvec4_uint_fragment" />
-<Test name="mediump_ivec3_int_vertex" />
-<Test name="highp_ivec4_fragment" />
-<Test name="mediump_ivec2_int_fragment" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="highp_ivec2_int_vertex" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="lowp_uvec2_fragment" />
-<Test name="highp_uvec2_vertex" />
-<Test name="mediump_uvec3_uint_fragment" />
-<Test name="lowp_uvec2_vertex" />
-<Test name="lowp_ivec3_int_vertex" />
-<Test name="mediump_int_vertex" />
-<Test name="highp_uvec4_uint_vertex" />
-<Test name="highp_int_vertex" />
-<Test name="mediump_ivec2_int_vertex" />
-<Test name="lowp_uvec4_vertex" />
-<Test name="lowp_uvec4_fragment" />
-<Test name="highp_ivec2_fragment" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="lowp_uint_fragment" />
-<Test name="highp_ivec2_vertex" />
-<Test name="lowp_uvec2_uint_vertex" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="highp_ivec3_int_vertex" />
-<Test name="highp_uvec2_uint_fragment" />
-<Test name="highp_uint_vertex" />
-<Test name="lowp_uvec3_uint_vertex" />
-<Test name="mediump_uint_vertex" />
-<Test name="mediump_ivec4_int_vertex" />
-<Test name="mediump_uvec4_uint_vertex" />
-<Test name="mediump_uvec4_vertex" />
-<Test name="highp_ivec2_int_fragment" />
-<Test name="mediump_ivec4_int_fragment" />
-<Test name="lowp_ivec2_int_vertex" />
-<Test name="highp_ivec3_int_fragment" />
-<Test name="highp_uvec3_fragment" />
-<Test name="mediump_uvec2_uint_vertex" />
-<Test name="lowp_uint_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="highp_uvec3_vertex" />
-<Test name="lowp_uvec3_uint_fragment" />
-<Test name="lowp_ivec4_int_vertex" />
-<Test name="highp_uvec2_uint_vertex" />
-<Test name="highp_uvec4_fragment" />
-<Test name="lowp_ivec4_int_fragment" />
-<Test name="mediump_uvec2_fragment" />
-<Test name="highp_ivec4_int_fragment" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="lowp_uvec2_uint_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="lowp_ivec3_int_fragment" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="highp_ivec3_vertex" />
-<Test name="lowp_int_fragment" />
-<Test name="highp_uvec3_uint_fragment" />
-<Test name="mediump_uvec3_uint_vertex" />
-<Test name="mediump_uvec2_vertex" />
-<Test name="mediump_uvec2_uint_fragment" />
-<Test name="mediump_ivec3_int_fragment" />
-<Test name="lowp_ivec2_int_fragment" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="highp_uvec4_vertex" />
-<Test name="highp_int_fragment" />
-<Test name="mediump_int_fragment" />
-<Test name="lowp_uvec4_uint_vertex" />
-<Test name="lowp_int_vertex" />
-<Test name="highp_uvec4_uint_fragment" />
-</TestCase>
-<TestCase name="mod_assign_result">
-<Test name="highp_ivec3_fragment" />
-<Test name="mediump_uint_fragment" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="lowp_uvec3_fragment" />
-<Test name="mediump_uvec4_fragment" />
-<Test name="lowp_uvec3_vertex" />
-<Test name="mediump_uvec3_vertex" />
-<Test name="mediump_uvec3_fragment" />
-<Test name="highp_uvec3_uint_vertex" />
-<Test name="highp_ivec4_int_vertex" />
-<Test name="lowp_uvec4_uint_fragment" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="highp_uint_fragment" />
-<Test name="highp_uvec2_fragment" />
-<Test name="mediump_uvec4_uint_fragment" />
-<Test name="mediump_ivec3_int_vertex" />
-<Test name="highp_ivec4_fragment" />
-<Test name="mediump_ivec2_int_fragment" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="highp_ivec2_int_vertex" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="lowp_uvec2_fragment" />
-<Test name="highp_uvec2_vertex" />
-<Test name="mediump_uvec3_uint_fragment" />
-<Test name="lowp_uvec2_vertex" />
-<Test name="lowp_ivec3_int_vertex" />
-<Test name="mediump_int_vertex" />
-<Test name="highp_uvec4_uint_vertex" />
-<Test name="highp_int_vertex" />
-<Test name="mediump_ivec2_int_vertex" />
-<Test name="lowp_uvec4_vertex" />
-<Test name="lowp_uvec4_fragment" />
-<Test name="highp_ivec2_fragment" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="lowp_uint_fragment" />
-<Test name="highp_ivec2_vertex" />
-<Test name="lowp_uvec2_uint_vertex" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="highp_ivec3_int_vertex" />
-<Test name="highp_uvec2_uint_fragment" />
-<Test name="highp_uint_vertex" />
-<Test name="lowp_uvec3_uint_vertex" />
-<Test name="mediump_uint_vertex" />
-<Test name="mediump_ivec4_int_vertex" />
-<Test name="mediump_uvec4_uint_vertex" />
-<Test name="mediump_uvec4_vertex" />
-<Test name="highp_ivec2_int_fragment" />
-<Test name="mediump_ivec4_int_fragment" />
-<Test name="lowp_ivec2_int_vertex" />
-<Test name="highp_ivec3_int_fragment" />
-<Test name="highp_uvec3_fragment" />
-<Test name="mediump_uvec2_uint_vertex" />
-<Test name="lowp_uint_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="highp_uvec3_vertex" />
-<Test name="lowp_uvec3_uint_fragment" />
-<Test name="lowp_ivec4_int_vertex" />
-<Test name="highp_uvec2_uint_vertex" />
-<Test name="highp_uvec4_fragment" />
-<Test name="lowp_ivec4_int_fragment" />
-<Test name="mediump_uvec2_fragment" />
-<Test name="highp_ivec4_int_fragment" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="lowp_uvec2_uint_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="lowp_ivec3_int_fragment" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="highp_ivec3_vertex" />
-<Test name="lowp_int_fragment" />
-<Test name="highp_uvec3_uint_fragment" />
-<Test name="mediump_uvec3_uint_vertex" />
-<Test name="mediump_uvec2_vertex" />
-<Test name="mediump_uvec2_uint_fragment" />
-<Test name="mediump_ivec3_int_fragment" />
-<Test name="lowp_ivec2_int_fragment" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="highp_uvec4_vertex" />
-<Test name="highp_int_fragment" />
-<Test name="mediump_int_fragment" />
-<Test name="lowp_uvec4_uint_vertex" />
-<Test name="lowp_int_vertex" />
-<Test name="highp_uvec4_uint_fragment" />
-</TestCase>
-<TestCase name="bitwise_or">
-<Test name="highp_ivec3_fragment" />
-<Test name="lowp_uvec3_vertex" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="lowp_uvec3_fragment" />
-<Test name="mediump_uvec4_fragment" />
-<Test name="mediump_uvec3_uint_fragment" />
-<Test name="mediump_uvec3_vertex" />
-<Test name="mediump_uvec3_fragment" />
-<Test name="lowp_int_fragment" />
-<Test name="highp_uvec3_uint_vertex" />
-<Test name="highp_ivec4_int_vertex" />
-<Test name="highp_uvec4_uint_fragment" />
-<Test name="highp_uint_fragment" />
-<Test name="highp_uvec3_uint_fragment" />
-<Test name="mediump_uvec3_uint_vertex" />
-<Test name="mediump_uvec4_uint_fragment" />
-<Test name="lowp_ivec4_int_vertex" />
-<Test name="highp_ivec4_fragment" />
-<Test name="mediump_ivec2_int_fragment" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="highp_ivec2_int_vertex" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="mediump_ivec2_int_vertex" />
-<Test name="highp_uvec2_vertex" />
-<Test name="lowp_uvec2_vertex" />
-<Test name="lowp_ivec3_int_vertex" />
-<Test name="mediump_int_vertex" />
-<Test name="highp_uvec4_uint_vertex" />
-<Test name="lowp_uvec4_uint_vertex" />
-<Test name="highp_int_vertex" />
-<Test name="mediump_ivec3_int_vertex" />
-<Test name="lowp_uvec4_vertex" />
-<Test name="highp_uvec2_fragment" />
-<Test name="highp_ivec2_fragment" />
-<Test name="lowp_uint_fragment" />
-<Test name="highp_int_fragment" />
-<Test name="lowp_uvec2_uint_vertex" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="highp_ivec3_int_vertex" />
-<Test name="highp_uvec2_uint_fragment" />
-<Test name="highp_uint_vertex" />
-<Test name="lowp_uvec3_uint_vertex" />
-<Test name="mediump_uint_vertex" />
-<Test name="mediump_ivec4_int_vertex" />
-<Test name="mediump_uvec4_uint_vertex" />
-<Test name="highp_uvec4_vertex" />
-<Test name="mediump_uint_fragment" />
-<Test name="mediump_ivec4_int_fragment" />
-<Test name="lowp_uvec4_fragment" />
-<Test name="highp_ivec3_int_fragment" />
-<Test name="lowp_ivec2_int_vertex" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="mediump_uvec4_vertex" />
-<Test name="lowp_uint_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="highp_uvec3_vertex" />
-<Test name="lowp_uvec3_uint_fragment" />
-<Test name="lowp_uvec4_uint_fragment" />
-<Test name="highp_uvec2_uint_vertex" />
-<Test name="highp_uvec4_fragment" />
-<Test name="lowp_ivec4_int_fragment" />
-<Test name="mediump_uvec2_fragment" />
-<Test name="highp_ivec4_int_fragment" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="lowp_uvec2_uint_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="lowp_ivec3_int_fragment" />
-<Test name="mediump_uvec2_uint_vertex" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="highp_ivec3_vertex" />
-<Test name="mediump_ivec3_int_fragment" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="mediump_uvec2_vertex" />
-<Test name="highp_ivec2_int_fragment" />
-<Test name="lowp_ivec2_int_fragment" />
-<Test name="highp_uvec3_fragment" />
-<Test name="mediump_uvec2_uint_fragment" />
-<Test name="highp_ivec2_vertex" />
-<Test name="mediump_int_fragment" />
-<Test name="lowp_uvec2_fragment" />
-<Test name="lowp_int_vertex" />
-</TestCase>
-<TestCase name="bitwise_and">
-<Test name="highp_ivec3_fragment" />
-<Test name="lowp_uvec3_vertex" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="lowp_uvec3_fragment" />
-<Test name="mediump_uvec4_fragment" />
-<Test name="mediump_uvec3_uint_fragment" />
-<Test name="mediump_uvec3_vertex" />
-<Test name="mediump_uvec3_fragment" />
-<Test name="lowp_int_fragment" />
-<Test name="highp_uvec3_uint_vertex" />
-<Test name="highp_ivec4_int_vertex" />
-<Test name="highp_uvec4_uint_fragment" />
-<Test name="highp_uint_fragment" />
-<Test name="highp_uvec3_uint_fragment" />
-<Test name="mediump_uvec3_uint_vertex" />
-<Test name="mediump_uvec4_uint_fragment" />
-<Test name="lowp_ivec4_int_vertex" />
-<Test name="highp_ivec4_fragment" />
-<Test name="mediump_ivec2_int_fragment" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="highp_ivec2_int_vertex" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="mediump_ivec2_int_vertex" />
-<Test name="highp_uvec2_vertex" />
-<Test name="lowp_uvec2_vertex" />
-<Test name="lowp_ivec3_int_vertex" />
-<Test name="mediump_int_vertex" />
-<Test name="highp_uvec4_uint_vertex" />
-<Test name="lowp_uvec4_uint_vertex" />
-<Test name="highp_int_vertex" />
-<Test name="mediump_ivec3_int_vertex" />
-<Test name="lowp_uvec4_vertex" />
-<Test name="highp_uvec2_fragment" />
-<Test name="highp_ivec2_fragment" />
-<Test name="lowp_uint_fragment" />
-<Test name="highp_int_fragment" />
-<Test name="lowp_uvec2_uint_vertex" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="highp_ivec3_int_vertex" />
-<Test name="highp_uvec2_uint_fragment" />
-<Test name="highp_uint_vertex" />
-<Test name="lowp_uvec3_uint_vertex" />
-<Test name="mediump_uint_vertex" />
-<Test name="mediump_ivec4_int_vertex" />
-<Test name="mediump_uvec4_uint_vertex" />
-<Test name="highp_uvec4_vertex" />
-<Test name="mediump_uint_fragment" />
-<Test name="mediump_ivec4_int_fragment" />
-<Test name="lowp_uvec4_fragment" />
-<Test name="highp_ivec3_int_fragment" />
-<Test name="lowp_ivec2_int_vertex" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="mediump_uvec4_vertex" />
-<Test name="lowp_uint_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="highp_uvec3_vertex" />
-<Test name="lowp_uvec3_uint_fragment" />
-<Test name="lowp_uvec4_uint_fragment" />
-<Test name="highp_uvec2_uint_vertex" />
-<Test name="highp_uvec4_fragment" />
-<Test name="lowp_ivec4_int_fragment" />
-<Test name="mediump_uvec2_fragment" />
-<Test name="highp_ivec4_int_fragment" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="lowp_uvec2_uint_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="lowp_ivec3_int_fragment" />
-<Test name="mediump_uvec2_uint_vertex" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="highp_ivec3_vertex" />
-<Test name="mediump_ivec3_int_fragment" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="mediump_uvec2_vertex" />
-<Test name="highp_ivec2_int_fragment" />
-<Test name="lowp_ivec2_int_fragment" />
-<Test name="highp_uvec3_fragment" />
-<Test name="mediump_uvec2_uint_fragment" />
-<Test name="highp_ivec2_vertex" />
-<Test name="mediump_int_fragment" />
-<Test name="lowp_uvec2_fragment" />
-<Test name="lowp_int_vertex" />
-</TestCase>
-<TestCase name="sub_assign_result">
-<Test name="highp_ivec3_fragment" />
-<Test name="lowp_uvec3_fragment" />
-<Test name="mediump_uvec3_vertex" />
-<Test name="mediump_float_fragment" />
-<Test name="highp_uvec3_uint_vertex" />
-<Test name="mediump_vec3_vertex" />
-<Test name="mediump_vec2_float_vertex" />
-<Test name="highp_ivec4_fragment" />
-<Test name="mediump_ivec2_int_fragment" />
-<Test name="mediump_ivec2_int_vertex" />
-<Test name="highp_vec4_float_vertex" />
-<Test name="lowp_uvec2_fragment" />
-<Test name="mediump_vec3_fragment" />
-<Test name="mediump_int_vertex" />
-<Test name="highp_uvec4_uint_vertex" />
-<Test name="highp_int_fragment" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_uint_vertex" />
-<Test name="mediump_uint_vertex" />
-<Test name="lowp_vec4_float_vertex" />
-<Test name="mediump_uvec4_uint_vertex" />
-<Test name="highp_vec2_fragment" />
-<Test name="lowp_uvec3_uint_fragment" />
-<Test name="lowp_uvec4_uint_fragment" />
-<Test name="mediump_uvec3_uint_vertex" />
-<Test name="mediump_uvec2_vertex" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="lowp_vec3_fragment" />
-<Test name="lowp_ivec2_int_fragment" />
-<Test name="highp_vec2_float_vertex" />
-<Test name="lowp_uvec3_vertex" />
-<Test name="highp_float_fragment" />
-<Test name="mediump_vec4_vertex" />
-<Test name="mediump_uvec3_uint_fragment" />
-<Test name="highp_uvec2_uint_fragment" />
-<Test name="lowp_vec2_vertex" />
-<Test name="mediump_vec4_float_fragment" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="highp_uvec2_vertex" />
-<Test name="lowp_ivec3_int_vertex" />
-<Test name="highp_vec3_fragment" />
-<Test name="lowp_uvec2_uint_vertex" />
-<Test name="highp_ivec3_int_vertex" />
-<Test name="lowp_float_fragment" />
-<Test name="lowp_vec4_float_fragment" />
-<Test name="mediump_vec3_float_fragment" />
-<Test name="lowp_uvec4_fragment" />
-<Test name="highp_ivec3_int_fragment" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="lowp_ivec4_int_vertex" />
-<Test name="highp_uvec4_fragment" />
-<Test name="highp_ivec4_int_fragment" />
-<Test name="highp_uint_fragment" />
-<Test name="highp_vec2_float_fragment" />
-<Test name="mediump_uvec2_uint_fragment" />
-<Test name="lowp_uvec4_uint_vertex" />
-<Test name="mediump_uint_fragment" />
-<Test name="highp_float_vertex" />
-<Test name="mediump_uvec4_fragment" />
-<Test name="lowp_vec3_vertex" />
-<Test name="lowp_float_vertex" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="mediump_uvec3_fragment" />
-<Test name="highp_uvec3_vertex" />
-<Test name="highp_ivec4_int_vertex" />
-<Test name="mediump_uvec4_uint_fragment" />
-<Test name="lowp_uvec3_uint_vertex" />
-<Test name="highp_vec4_float_fragment" />
-<Test name="highp_vec3_vertex" />
-<Test name="lowp_uvec2_vertex" />
-<Test name="highp_uvec2_fragment" />
-<Test name="lowp_uvec4_vertex" />
-<Test name="lowp_uint_fragment" />
-<Test name="highp_ivec2_vertex" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="mediump_ivec4_int_vertex" />
-<Test name="mediump_uvec4_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_uvec3_fragment" />
-<Test name="highp_uvec2_uint_vertex" />
-<Test name="lowp_vec4_fragment" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="mediump_vec4_float_vertex" />
-<Test name="lowp_ivec3_int_fragment" />
-<Test name="highp_ivec2_int_fragment" />
-<Test name="mediump_ivec3_int_fragment" />
-<Test name="lowp_vec2_float_fragment" />
-<Test name="mediump_vec2_float_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="mediump_int_fragment" />
-<Test name="lowp_vec3_float_fragment" />
-<Test name="highp_vec3_float_fragment" />
-<Test name="highp_vec3_float_vertex" />
-<Test name="mediump_vec3_float_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="mediump_float_vertex" />
-<Test name="highp_uvec4_uint_fragment" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="mediump_ivec3_int_vertex" />
-<Test name="highp_int_vertex" />
-<Test name="lowp_vec3_float_vertex" />
-<Test name="highp_ivec2_fragment" />
-<Test name="highp_vec4_fragment" />
-<Test name="mediump_uvec2_uint_vertex" />
-<Test name="lowp_uvec2_uint_fragment" />
-<Test name="lowp_int_fragment" />
-<Test name="lowp_uint_vertex" />
-<Test name="lowp_vec2_fragment" />
-<Test name="highp_uvec4_vertex" />
-<Test name="lowp_ivec4_int_fragment" />
-<Test name="mediump_uvec2_fragment" />
-<Test name="mediump_ivec4_int_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="highp_ivec3_vertex" />
-<Test name="highp_uvec3_uint_fragment" />
-<Test name="highp_ivec2_int_vertex" />
-<Test name="lowp_vec2_float_vertex" />
-<Test name="lowp_ivec2_int_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="lowp_int_vertex" />
-</TestCase>
-<TestCase name="bitwise_xor">
-<Test name="highp_ivec3_fragment" />
-<Test name="lowp_uvec3_vertex" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="lowp_uvec3_fragment" />
-<Test name="mediump_uvec4_fragment" />
-<Test name="mediump_uvec3_uint_fragment" />
-<Test name="mediump_uvec3_vertex" />
-<Test name="mediump_uvec3_fragment" />
-<Test name="lowp_int_fragment" />
-<Test name="highp_uvec3_uint_vertex" />
-<Test name="highp_ivec4_int_vertex" />
-<Test name="highp_uvec4_uint_fragment" />
-<Test name="highp_uint_fragment" />
-<Test name="highp_uvec3_uint_fragment" />
-<Test name="mediump_uvec3_uint_vertex" />
-<Test name="mediump_uvec4_uint_fragment" />
-<Test name="lowp_ivec4_int_vertex" />
-<Test name="highp_ivec4_fragment" />
-<Test name="mediump_ivec2_int_fragment" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="highp_ivec2_int_vertex" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="mediump_ivec2_int_vertex" />
-<Test name="highp_uvec2_vertex" />
-<Test name="lowp_uvec2_vertex" />
-<Test name="lowp_ivec3_int_vertex" />
-<Test name="mediump_int_vertex" />
-<Test name="highp_uvec4_uint_vertex" />
-<Test name="lowp_uvec4_uint_vertex" />
-<Test name="highp_int_vertex" />
-<Test name="mediump_ivec3_int_vertex" />
-<Test name="lowp_uvec4_vertex" />
-<Test name="highp_uvec2_fragment" />
-<Test name="highp_ivec2_fragment" />
-<Test name="lowp_uint_fragment" />
-<Test name="highp_int_fragment" />
-<Test name="lowp_uvec2_uint_vertex" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="highp_ivec3_int_vertex" />
-<Test name="highp_uvec2_uint_fragment" />
-<Test name="highp_uint_vertex" />
-<Test name="lowp_uvec3_uint_vertex" />
-<Test name="mediump_uint_vertex" />
-<Test name="mediump_ivec4_int_vertex" />
-<Test name="mediump_uvec4_uint_vertex" />
-<Test name="highp_uvec4_vertex" />
-<Test name="mediump_uint_fragment" />
-<Test name="mediump_ivec4_int_fragment" />
-<Test name="lowp_uvec4_fragment" />
-<Test name="highp_ivec3_int_fragment" />
-<Test name="lowp_ivec2_int_vertex" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="mediump_uvec4_vertex" />
-<Test name="lowp_uint_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="highp_uvec3_vertex" />
-<Test name="lowp_uvec3_uint_fragment" />
-<Test name="lowp_uvec4_uint_fragment" />
-<Test name="highp_uvec2_uint_vertex" />
-<Test name="highp_uvec4_fragment" />
-<Test name="lowp_ivec4_int_fragment" />
-<Test name="mediump_uvec2_fragment" />
-<Test name="highp_ivec4_int_fragment" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="lowp_uvec2_uint_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="lowp_ivec3_int_fragment" />
-<Test name="mediump_uvec2_uint_vertex" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="highp_ivec3_vertex" />
-<Test name="mediump_ivec3_int_fragment" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="mediump_uvec2_vertex" />
-<Test name="highp_ivec2_int_fragment" />
-<Test name="lowp_ivec2_int_fragment" />
-<Test name="highp_uvec3_fragment" />
-<Test name="mediump_uvec2_uint_fragment" />
-<Test name="highp_ivec2_vertex" />
-<Test name="mediump_int_fragment" />
-<Test name="lowp_uvec2_fragment" />
-<Test name="lowp_int_vertex" />
-</TestCase>
-<TestCase name="bitwise_and_assign_effect">
-<Test name="highp_ivec3_fragment" />
-<Test name="mediump_uint_fragment" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="lowp_uvec3_fragment" />
-<Test name="mediump_uvec4_fragment" />
-<Test name="lowp_uvec3_vertex" />
-<Test name="mediump_uvec3_vertex" />
-<Test name="mediump_uvec3_fragment" />
-<Test name="highp_uvec3_uint_vertex" />
-<Test name="highp_ivec4_int_vertex" />
-<Test name="lowp_uvec4_uint_fragment" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="highp_uint_fragment" />
-<Test name="highp_uvec2_fragment" />
-<Test name="mediump_uvec4_uint_fragment" />
-<Test name="mediump_ivec3_int_vertex" />
-<Test name="highp_ivec4_fragment" />
-<Test name="mediump_ivec2_int_fragment" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="highp_ivec2_int_vertex" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="lowp_uvec2_fragment" />
-<Test name="highp_uvec2_vertex" />
-<Test name="mediump_uvec3_uint_fragment" />
-<Test name="lowp_uvec2_vertex" />
-<Test name="lowp_ivec3_int_vertex" />
-<Test name="mediump_int_vertex" />
-<Test name="highp_uvec4_uint_vertex" />
-<Test name="highp_int_vertex" />
-<Test name="mediump_ivec2_int_vertex" />
-<Test name="lowp_uvec4_vertex" />
-<Test name="lowp_uvec4_fragment" />
-<Test name="highp_ivec2_fragment" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="lowp_uint_fragment" />
-<Test name="highp_ivec2_vertex" />
-<Test name="lowp_uvec2_uint_vertex" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="highp_ivec3_int_vertex" />
-<Test name="highp_uvec2_uint_fragment" />
-<Test name="highp_uint_vertex" />
-<Test name="lowp_uvec3_uint_vertex" />
-<Test name="mediump_uint_vertex" />
-<Test name="mediump_ivec4_int_vertex" />
-<Test name="mediump_uvec4_uint_vertex" />
-<Test name="mediump_uvec4_vertex" />
-<Test name="highp_ivec2_int_fragment" />
-<Test name="mediump_ivec4_int_fragment" />
-<Test name="lowp_ivec2_int_vertex" />
-<Test name="highp_ivec3_int_fragment" />
-<Test name="highp_uvec3_fragment" />
-<Test name="mediump_uvec2_uint_vertex" />
-<Test name="lowp_uint_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="highp_uvec3_vertex" />
-<Test name="lowp_uvec3_uint_fragment" />
-<Test name="lowp_ivec4_int_vertex" />
-<Test name="highp_uvec2_uint_vertex" />
-<Test name="highp_uvec4_fragment" />
-<Test name="lowp_ivec4_int_fragment" />
-<Test name="mediump_uvec2_fragment" />
-<Test name="highp_ivec4_int_fragment" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="lowp_uvec2_uint_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="lowp_ivec3_int_fragment" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="highp_ivec3_vertex" />
-<Test name="lowp_int_fragment" />
-<Test name="highp_uvec3_uint_fragment" />
-<Test name="mediump_uvec3_uint_vertex" />
-<Test name="mediump_uvec2_vertex" />
-<Test name="mediump_uvec2_uint_fragment" />
-<Test name="mediump_ivec3_int_fragment" />
-<Test name="lowp_ivec2_int_fragment" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="highp_uvec4_vertex" />
-<Test name="highp_int_fragment" />
-<Test name="mediump_int_fragment" />
-<Test name="lowp_uvec4_uint_vertex" />
-<Test name="lowp_int_vertex" />
-<Test name="highp_uvec4_uint_fragment" />
-</TestCase>
-<TestCase name="sub">
-<Test name="highp_ivec3_fragment" />
-<Test name="lowp_uvec3_fragment" />
-<Test name="highp_int_ivec3_vertex" />
-<Test name="highp_float_vec4_fragment" />
-<Test name="mediump_uvec3_vertex" />
-<Test name="mediump_float_fragment" />
-<Test name="highp_uvec3_uint_vertex" />
-<Test name="mediump_vec3_vertex" />
-<Test name="lowp_uint_uvec2_fragment" />
-<Test name="mediump_vec2_float_vertex" />
-<Test name="highp_ivec4_fragment" />
-<Test name="mediump_ivec2_int_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="mediump_uvec4_fragment" />
-<Test name="lowp_uvec2_fragment" />
-<Test name="mediump_vec3_fragment" />
-<Test name="mediump_int_vertex" />
-<Test name="highp_uvec4_uint_vertex" />
-<Test name="highp_int_fragment" />
-<Test name="highp_float_vec2_vertex" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_uint_vertex" />
-<Test name="mediump_uint_vertex" />
-<Test name="lowp_vec4_float_vertex" />
-<Test name="mediump_uvec4_uint_vertex" />
-<Test name="highp_vec2_fragment" />
-<Test name="lowp_int_ivec4_fragment" />
-<Test name="mediump_uint_uvec4_vertex" />
-<Test name="lowp_uvec3_uint_fragment" />
-<Test name="lowp_uvec4_uint_fragment" />
-<Test name="mediump_uvec3_uint_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="mediump_uvec2_vertex" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="lowp_uint_uvec3_vertex" />
-<Test name="lowp_vec3_fragment" />
-<Test name="mediump_float_vec3_fragment" />
-<Test name="lowp_ivec2_int_fragment" />
-<Test name="highp_vec2_float_vertex" />
-<Test name="lowp_uint_uvec4_fragment" />
-<Test name="lowp_uvec3_vertex" />
-<Test name="highp_float_fragment" />
-<Test name="mediump_vec4_vertex" />
-<Test name="mediump_uvec3_uint_fragment" />
-<Test name="highp_uvec2_uint_fragment" />
-<Test name="lowp_vec2_vertex" />
-<Test name="mediump_vec4_float_fragment" />
-<Test name="lowp_int_ivec3_vertex" />
-<Test name="lowp_uint_uvec2_vertex" />
-<Test name="lowp_float_vec2_fragment" />
-<Test name="highp_uint_uvec4_fragment" />
-<Test name="mediump_int_ivec2_vertex" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="highp_uint_uvec4_vertex" />
-<Test name="highp_float_vec3_fragment" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="highp_int_ivec2_vertex" />
-<Test name="highp_uvec2_vertex" />
-<Test name="lowp_ivec3_int_vertex" />
-<Test name="highp_vec3_fragment" />
-<Test name="lowp_int_ivec3_fragment" />
-<Test name="lowp_uint_uvec4_vertex" />
-<Test name="highp_int_ivec4_vertex" />
-<Test name="lowp_uvec2_uint_vertex" />
-<Test name="highp_ivec3_int_vertex" />
-<Test name="lowp_float_fragment" />
-<Test name="mediump_uint_uvec3_vertex" />
-<Test name="lowp_vec4_float_fragment" />
-<Test name="mediump_vec3_float_fragment" />
-<Test name="mediump_uint_uvec2_fragment" />
-<Test name="lowp_uvec4_fragment" />
-<Test name="highp_ivec3_int_fragment" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="highp_uvec3_vertex" />
-<Test name="highp_vec4_float_vertex" />
-<Test name="lowp_ivec4_int_vertex" />
-<Test name="highp_uvec4_fragment" />
-<Test name="highp_float_vec3_vertex" />
-<Test name="lowp_uint_uvec3_fragment" />
-<Test name="highp_ivec4_int_fragment" />
-<Test name="highp_vec2_float_fragment" />
-<Test name="mediump_uint_uvec4_fragment" />
-<Test name="mediump_uvec2_uint_fragment" />
-<Test name="mediump_float_vec4_fragment" />
-<Test name="mediump_ivec2_int_vertex" />
-<Test name="mediump_uint_fragment" />
-<Test name="highp_float_vertex" />
-<Test name="highp_uint_fragment" />
-<Test name="lowp_vec3_vertex" />
-<Test name="lowp_float_vertex" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="mediump_uvec3_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="highp_ivec4_int_vertex" />
-<Test name="lowp_float_vec4_fragment" />
-<Test name="highp_float_vec4_vertex" />
-<Test name="mediump_uvec4_uint_fragment" />
-<Test name="lowp_uvec3_uint_vertex" />
-<Test name="highp_vec4_float_fragment" />
-<Test name="highp_vec3_vertex" />
-<Test name="lowp_int_ivec2_fragment" />
-<Test name="lowp_uvec2_vertex" />
-<Test name="highp_uvec2_fragment" />
-<Test name="lowp_uvec4_vertex" />
-<Test name="highp_uint_uvec2_vertex" />
-<Test name="lowp_uint_fragment" />
-<Test name="highp_ivec2_vertex" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="lowp_uvec4_uint_vertex" />
-<Test name="mediump_ivec4_int_vertex" />
-<Test name="mediump_uvec4_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_uvec3_fragment" />
-<Test name="mediump_uint_uvec2_vertex" />
-<Test name="highp_uvec2_uint_vertex" />
-<Test name="lowp_vec4_fragment" />
-<Test name="mediump_float_vec2_fragment" />
-<Test name="highp_uint_uvec3_vertex" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="mediump_vec4_float_vertex" />
-<Test name="lowp_ivec3_int_fragment" />
-<Test name="highp_ivec2_int_fragment" />
-<Test name="mediump_int_ivec2_fragment" />
-<Test name="mediump_ivec3_int_fragment" />
-<Test name="mediump_int_ivec3_vertex" />
-<Test name="mediump_float_vec4_vertex" />
-<Test name="lowp_vec2_float_fragment" />
-<Test name="mediump_float_vec3_vertex" />
-<Test name="mediump_vec2_float_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="mediump_int_fragment" />
-<Test name="lowp_vec3_float_fragment" />
-<Test name="highp_uvec4_uint_fragment" />
-<Test name="highp_vec3_float_fragment" />
-<Test name="highp_vec3_float_vertex" />
-<Test name="mediump_vec3_float_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="mediump_float_vertex" />
-<Test name="highp_int_ivec3_fragment" />
-<Test name="highp_float_vec2_fragment" />
-<Test name="lowp_float_vec4_vertex" />
-<Test name="mediump_float_vec2_vertex" />
-<Test name="highp_uint_uvec3_fragment" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="mediump_ivec3_int_vertex" />
-<Test name="lowp_int_ivec4_vertex" />
-<Test name="highp_int_ivec2_fragment" />
-<Test name="highp_ivec2_int_vertex" />
-<Test name="mediump_int_ivec3_fragment" />
-<Test name="highp_int_vertex" />
-<Test name="lowp_vec3_float_vertex" />
-<Test name="lowp_float_vec3_fragment" />
-<Test name="highp_ivec2_fragment" />
-<Test name="lowp_float_vec2_vertex" />
-<Test name="mediump_int_ivec4_vertex" />
-<Test name="mediump_int_ivec4_fragment" />
-<Test name="mediump_uvec2_uint_vertex" />
-<Test name="lowp_uvec2_uint_fragment" />
-<Test name="lowp_int_fragment" />
-<Test name="lowp_uint_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="lowp_vec2_fragment" />
-<Test name="highp_uvec4_vertex" />
-<Test name="lowp_ivec4_int_fragment" />
-<Test name="mediump_uvec2_fragment" />
-<Test name="mediump_ivec4_int_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="highp_uint_uvec2_fragment" />
-<Test name="highp_ivec3_vertex" />
-<Test name="highp_uvec3_uint_fragment" />
-<Test name="lowp_float_vec3_vertex" />
-<Test name="lowp_int_ivec2_vertex" />
-<Test name="highp_int_ivec4_fragment" />
-<Test name="lowp_vec2_float_vertex" />
-<Test name="lowp_ivec2_int_vertex" />
-<Test name="mediump_uint_uvec3_fragment" />
-<Test name="lowp_int_vertex" />
-</TestCase>
-<TestCase name="less">
-<Test name="mediump_uint_fragment" />
-<Test name="highp_float_fragment" />
-<Test name="lowp_float_fragment" />
-<Test name="highp_uint_vertex" />
-<Test name="mediump_uint_vertex" />
-<Test name="highp_float_vertex" />
-<Test name="lowp_float_vertex" />
-<Test name="mediump_float_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_int_vertex" />
-<Test name="lowp_int_fragment" />
-<Test name="highp_int_vertex" />
-<Test name="lowp_int_vertex" />
-<Test name="lowp_uint_vertex" />
-<Test name="highp_uint_fragment" />
-<Test name="mediump_int_fragment" />
-<Test name="lowp_uint_fragment" />
-<Test name="highp_int_fragment" />
-</TestCase>
-<TestCase name="mod_assign_effect">
-<Test name="highp_ivec3_fragment" />
-<Test name="mediump_uint_fragment" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="lowp_uvec3_fragment" />
-<Test name="mediump_uvec4_fragment" />
-<Test name="lowp_uvec3_vertex" />
-<Test name="mediump_uvec3_vertex" />
-<Test name="mediump_uvec3_fragment" />
-<Test name="highp_uvec3_uint_vertex" />
-<Test name="highp_ivec4_int_vertex" />
-<Test name="lowp_uvec4_uint_fragment" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="highp_uint_fragment" />
-<Test name="highp_uvec2_fragment" />
-<Test name="mediump_uvec4_uint_fragment" />
-<Test name="mediump_ivec3_int_vertex" />
-<Test name="highp_ivec4_fragment" />
-<Test name="mediump_ivec2_int_fragment" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="highp_ivec2_int_vertex" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="lowp_uvec2_fragment" />
-<Test name="highp_uvec2_vertex" />
-<Test name="mediump_uvec3_uint_fragment" />
-<Test name="lowp_uvec2_vertex" />
-<Test name="lowp_ivec3_int_vertex" />
-<Test name="mediump_int_vertex" />
-<Test name="highp_uvec4_uint_vertex" />
-<Test name="highp_int_vertex" />
-<Test name="mediump_ivec2_int_vertex" />
-<Test name="lowp_uvec4_vertex" />
-<Test name="lowp_uvec4_fragment" />
-<Test name="highp_ivec2_fragment" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="lowp_uint_fragment" />
-<Test name="highp_ivec2_vertex" />
-<Test name="lowp_uvec2_uint_vertex" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="highp_ivec3_int_vertex" />
-<Test name="highp_uvec2_uint_fragment" />
-<Test name="highp_uint_vertex" />
-<Test name="lowp_uvec3_uint_vertex" />
-<Test name="mediump_uint_vertex" />
-<Test name="mediump_ivec4_int_vertex" />
-<Test name="mediump_uvec4_uint_vertex" />
-<Test name="mediump_uvec4_vertex" />
-<Test name="highp_ivec2_int_fragment" />
-<Test name="mediump_ivec4_int_fragment" />
-<Test name="lowp_ivec2_int_vertex" />
-<Test name="highp_ivec3_int_fragment" />
-<Test name="highp_uvec3_fragment" />
-<Test name="mediump_uvec2_uint_vertex" />
-<Test name="lowp_uint_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="highp_uvec3_vertex" />
-<Test name="lowp_uvec3_uint_fragment" />
-<Test name="lowp_ivec4_int_vertex" />
-<Test name="highp_uvec2_uint_vertex" />
-<Test name="highp_uvec4_fragment" />
-<Test name="lowp_ivec4_int_fragment" />
-<Test name="mediump_uvec2_fragment" />
-<Test name="highp_ivec4_int_fragment" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="lowp_uvec2_uint_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="lowp_ivec3_int_fragment" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="highp_ivec3_vertex" />
-<Test name="lowp_int_fragment" />
-<Test name="highp_uvec3_uint_fragment" />
-<Test name="mediump_uvec3_uint_vertex" />
-<Test name="mediump_uvec2_vertex" />
-<Test name="mediump_uvec2_uint_fragment" />
-<Test name="mediump_ivec3_int_fragment" />
-<Test name="lowp_ivec2_int_fragment" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="highp_uvec4_vertex" />
-<Test name="highp_int_fragment" />
-<Test name="mediump_int_fragment" />
-<Test name="lowp_uvec4_uint_vertex" />
-<Test name="lowp_int_vertex" />
-<Test name="highp_uvec4_uint_fragment" />
-</TestCase>
-<TestCase name="mul_assign_effect">
-<Test name="highp_ivec3_fragment" />
-<Test name="lowp_uvec3_fragment" />
-<Test name="mediump_uvec3_vertex" />
-<Test name="mediump_float_fragment" />
-<Test name="highp_uvec3_uint_vertex" />
-<Test name="mediump_vec3_vertex" />
-<Test name="mediump_vec2_float_vertex" />
-<Test name="highp_ivec4_fragment" />
-<Test name="mediump_ivec2_int_fragment" />
-<Test name="mediump_ivec2_int_vertex" />
-<Test name="highp_vec4_float_vertex" />
-<Test name="lowp_uvec2_fragment" />
-<Test name="mediump_vec3_fragment" />
-<Test name="mediump_int_vertex" />
-<Test name="highp_uvec4_uint_vertex" />
-<Test name="highp_int_fragment" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_uint_vertex" />
-<Test name="mediump_uint_vertex" />
-<Test name="lowp_vec4_float_vertex" />
-<Test name="mediump_uvec4_uint_vertex" />
-<Test name="highp_vec2_fragment" />
-<Test name="lowp_uvec3_uint_fragment" />
-<Test name="lowp_uvec4_uint_fragment" />
-<Test name="mediump_uvec3_uint_vertex" />
-<Test name="mediump_uvec2_vertex" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="lowp_vec3_fragment" />
-<Test name="lowp_ivec2_int_fragment" />
-<Test name="highp_vec2_float_vertex" />
-<Test name="lowp_uvec3_vertex" />
-<Test name="highp_float_fragment" />
-<Test name="mediump_vec4_vertex" />
-<Test name="mediump_uvec3_uint_fragment" />
-<Test name="highp_uvec2_uint_fragment" />
-<Test name="lowp_vec2_vertex" />
-<Test name="mediump_vec4_float_fragment" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="highp_uvec2_vertex" />
-<Test name="lowp_ivec3_int_vertex" />
-<Test name="highp_vec3_fragment" />
-<Test name="lowp_uvec2_uint_vertex" />
-<Test name="highp_ivec3_int_vertex" />
-<Test name="lowp_float_fragment" />
-<Test name="lowp_vec4_float_fragment" />
-<Test name="mediump_vec3_float_fragment" />
-<Test name="lowp_uvec4_fragment" />
-<Test name="highp_ivec3_int_fragment" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="lowp_ivec4_int_vertex" />
-<Test name="highp_uvec4_fragment" />
-<Test name="highp_ivec4_int_fragment" />
-<Test name="highp_uint_fragment" />
-<Test name="highp_vec2_float_fragment" />
-<Test name="mediump_uvec2_uint_fragment" />
-<Test name="lowp_uvec4_uint_vertex" />
-<Test name="mediump_uint_fragment" />
-<Test name="highp_float_vertex" />
-<Test name="mediump_uvec4_fragment" />
-<Test name="lowp_vec3_vertex" />
-<Test name="lowp_float_vertex" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="mediump_uvec3_fragment" />
-<Test name="highp_uvec3_vertex" />
-<Test name="highp_ivec4_int_vertex" />
-<Test name="mediump_uvec4_uint_fragment" />
-<Test name="lowp_uvec3_uint_vertex" />
-<Test name="highp_vec4_float_fragment" />
-<Test name="highp_vec3_vertex" />
-<Test name="lowp_uvec2_vertex" />
-<Test name="highp_uvec2_fragment" />
-<Test name="lowp_uvec4_vertex" />
-<Test name="lowp_uint_fragment" />
-<Test name="highp_ivec2_vertex" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="mediump_ivec4_int_vertex" />
-<Test name="mediump_uvec4_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_uvec3_fragment" />
-<Test name="highp_uvec2_uint_vertex" />
-<Test name="lowp_vec4_fragment" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="mediump_vec4_float_vertex" />
-<Test name="lowp_ivec3_int_fragment" />
-<Test name="highp_ivec2_int_fragment" />
-<Test name="mediump_ivec3_int_fragment" />
-<Test name="lowp_vec2_float_fragment" />
-<Test name="mediump_vec2_float_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="mediump_int_fragment" />
-<Test name="lowp_vec3_float_fragment" />
-<Test name="highp_vec3_float_fragment" />
-<Test name="highp_vec3_float_vertex" />
-<Test name="mediump_vec3_float_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="mediump_float_vertex" />
-<Test name="highp_uvec4_uint_fragment" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="mediump_ivec3_int_vertex" />
-<Test name="highp_int_vertex" />
-<Test name="lowp_vec3_float_vertex" />
-<Test name="highp_ivec2_fragment" />
-<Test name="highp_vec4_fragment" />
-<Test name="mediump_uvec2_uint_vertex" />
-<Test name="lowp_uvec2_uint_fragment" />
-<Test name="lowp_int_fragment" />
-<Test name="lowp_uint_vertex" />
-<Test name="lowp_vec2_fragment" />
-<Test name="highp_uvec4_vertex" />
-<Test name="lowp_ivec4_int_fragment" />
-<Test name="mediump_uvec2_fragment" />
-<Test name="mediump_ivec4_int_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="highp_ivec3_vertex" />
-<Test name="highp_uvec3_uint_fragment" />
-<Test name="highp_ivec2_int_vertex" />
-<Test name="lowp_vec2_float_vertex" />
-<Test name="lowp_ivec2_int_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="lowp_int_vertex" />
-</TestCase>
-<TestCase name="add">
-<Test name="highp_ivec3_fragment" />
-<Test name="lowp_uvec3_fragment" />
-<Test name="highp_int_ivec3_vertex" />
-<Test name="highp_float_vec4_fragment" />
-<Test name="mediump_uvec3_vertex" />
-<Test name="mediump_float_fragment" />
-<Test name="highp_uvec3_uint_vertex" />
-<Test name="mediump_vec3_vertex" />
-<Test name="lowp_uint_uvec2_fragment" />
-<Test name="mediump_vec2_float_vertex" />
-<Test name="highp_ivec4_fragment" />
-<Test name="mediump_ivec2_int_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="mediump_uvec4_fragment" />
-<Test name="lowp_uvec2_fragment" />
-<Test name="mediump_vec3_fragment" />
-<Test name="mediump_int_vertex" />
-<Test name="highp_uvec4_uint_vertex" />
-<Test name="highp_int_fragment" />
-<Test name="highp_float_vec2_vertex" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_uint_vertex" />
-<Test name="mediump_uint_vertex" />
-<Test name="lowp_vec4_float_vertex" />
-<Test name="mediump_uvec4_uint_vertex" />
-<Test name="highp_vec2_fragment" />
-<Test name="lowp_int_ivec4_fragment" />
-<Test name="mediump_uint_uvec4_vertex" />
-<Test name="lowp_uvec3_uint_fragment" />
-<Test name="lowp_uvec4_uint_fragment" />
-<Test name="mediump_uvec3_uint_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="mediump_uvec2_vertex" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="lowp_uint_uvec3_vertex" />
-<Test name="lowp_vec3_fragment" />
-<Test name="mediump_float_vec3_fragment" />
-<Test name="lowp_ivec2_int_fragment" />
-<Test name="highp_vec2_float_vertex" />
-<Test name="lowp_uint_uvec4_fragment" />
-<Test name="lowp_uvec3_vertex" />
-<Test name="highp_float_fragment" />
-<Test name="mediump_vec4_vertex" />
-<Test name="mediump_uvec3_uint_fragment" />
-<Test name="highp_uvec2_uint_fragment" />
-<Test name="lowp_vec2_vertex" />
-<Test name="mediump_vec4_float_fragment" />
-<Test name="lowp_int_ivec3_vertex" />
-<Test name="lowp_uint_uvec2_vertex" />
-<Test name="lowp_float_vec2_fragment" />
-<Test name="highp_uint_uvec4_fragment" />
-<Test name="mediump_int_ivec2_vertex" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="highp_uint_uvec4_vertex" />
-<Test name="highp_float_vec3_fragment" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="highp_int_ivec2_vertex" />
-<Test name="highp_uvec2_vertex" />
-<Test name="lowp_ivec3_int_vertex" />
-<Test name="highp_vec3_fragment" />
-<Test name="lowp_int_ivec3_fragment" />
-<Test name="lowp_uint_uvec4_vertex" />
-<Test name="highp_int_ivec4_vertex" />
-<Test name="lowp_uvec2_uint_vertex" />
-<Test name="highp_ivec3_int_vertex" />
-<Test name="lowp_float_fragment" />
-<Test name="mediump_uint_uvec3_vertex" />
-<Test name="lowp_vec4_float_fragment" />
-<Test name="mediump_vec3_float_fragment" />
-<Test name="mediump_uint_uvec2_fragment" />
-<Test name="lowp_uvec4_fragment" />
-<Test name="highp_ivec3_int_fragment" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="highp_uvec3_vertex" />
-<Test name="highp_vec4_float_vertex" />
-<Test name="lowp_ivec4_int_vertex" />
-<Test name="highp_uvec4_fragment" />
-<Test name="highp_float_vec3_vertex" />
-<Test name="lowp_uint_uvec3_fragment" />
-<Test name="highp_ivec4_int_fragment" />
-<Test name="highp_vec2_float_fragment" />
-<Test name="mediump_uint_uvec4_fragment" />
-<Test name="mediump_uvec2_uint_fragment" />
-<Test name="mediump_float_vec4_fragment" />
-<Test name="mediump_ivec2_int_vertex" />
-<Test name="mediump_uint_fragment" />
-<Test name="highp_float_vertex" />
-<Test name="highp_uint_fragment" />
-<Test name="lowp_vec3_vertex" />
-<Test name="lowp_float_vertex" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="mediump_uvec3_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="highp_ivec4_int_vertex" />
-<Test name="lowp_float_vec4_fragment" />
-<Test name="highp_float_vec4_vertex" />
-<Test name="mediump_uvec4_uint_fragment" />
-<Test name="lowp_uvec3_uint_vertex" />
-<Test name="highp_vec4_float_fragment" />
-<Test name="highp_vec3_vertex" />
-<Test name="lowp_int_ivec2_fragment" />
-<Test name="lowp_uvec2_vertex" />
-<Test name="highp_uvec2_fragment" />
-<Test name="lowp_uvec4_vertex" />
-<Test name="highp_uint_uvec2_vertex" />
-<Test name="lowp_uint_fragment" />
-<Test name="highp_ivec2_vertex" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="lowp_uvec4_uint_vertex" />
-<Test name="mediump_ivec4_int_vertex" />
-<Test name="mediump_uvec4_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_uvec3_fragment" />
-<Test name="mediump_uint_uvec2_vertex" />
-<Test name="highp_uvec2_uint_vertex" />
-<Test name="lowp_vec4_fragment" />
-<Test name="mediump_float_vec2_fragment" />
-<Test name="highp_uint_uvec3_vertex" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="mediump_vec4_float_vertex" />
-<Test name="lowp_ivec3_int_fragment" />
-<Test name="highp_ivec2_int_fragment" />
-<Test name="mediump_int_ivec2_fragment" />
-<Test name="mediump_ivec3_int_fragment" />
-<Test name="mediump_int_ivec3_vertex" />
-<Test name="mediump_float_vec4_vertex" />
-<Test name="lowp_vec2_float_fragment" />
-<Test name="mediump_float_vec3_vertex" />
-<Test name="mediump_vec2_float_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="mediump_int_fragment" />
-<Test name="lowp_vec3_float_fragment" />
-<Test name="highp_uvec4_uint_fragment" />
-<Test name="highp_vec3_float_fragment" />
-<Test name="highp_vec3_float_vertex" />
-<Test name="mediump_vec3_float_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="mediump_float_vertex" />
-<Test name="highp_int_ivec3_fragment" />
-<Test name="highp_float_vec2_fragment" />
-<Test name="lowp_float_vec4_vertex" />
-<Test name="mediump_float_vec2_vertex" />
-<Test name="highp_uint_uvec3_fragment" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="mediump_ivec3_int_vertex" />
-<Test name="lowp_int_ivec4_vertex" />
-<Test name="highp_int_ivec2_fragment" />
-<Test name="highp_ivec2_int_vertex" />
-<Test name="mediump_int_ivec3_fragment" />
-<Test name="highp_int_vertex" />
-<Test name="lowp_vec3_float_vertex" />
-<Test name="lowp_float_vec3_fragment" />
-<Test name="highp_ivec2_fragment" />
-<Test name="lowp_float_vec2_vertex" />
-<Test name="mediump_int_ivec4_vertex" />
-<Test name="mediump_int_ivec4_fragment" />
-<Test name="mediump_uvec2_uint_vertex" />
-<Test name="lowp_uvec2_uint_fragment" />
-<Test name="lowp_int_fragment" />
-<Test name="lowp_uint_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="lowp_vec2_fragment" />
-<Test name="highp_uvec4_vertex" />
-<Test name="lowp_ivec4_int_fragment" />
-<Test name="mediump_uvec2_fragment" />
-<Test name="mediump_ivec4_int_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="highp_uint_uvec2_fragment" />
-<Test name="highp_ivec3_vertex" />
-<Test name="highp_uvec3_uint_fragment" />
-<Test name="lowp_float_vec3_vertex" />
-<Test name="lowp_int_ivec2_vertex" />
-<Test name="highp_int_ivec4_fragment" />
-<Test name="lowp_vec2_float_vertex" />
-<Test name="lowp_ivec2_int_vertex" />
-<Test name="mediump_uint_uvec3_fragment" />
-<Test name="lowp_int_vertex" />
-</TestCase>
-<TestCase name="right_shift">
-<Test name="highp_ivec3_fragment" />
-<Test name="mediump_uvec2_ivec2_vertex" />
-<Test name="lowp_uvec3_fragment" />
-<Test name="mediump_uvec3_vertex" />
-<Test name="lowp_ivec4_uvec4_vertex" />
-<Test name="lowp_uvec2_fragment" />
-<Test name="highp_uvec3_uint_vertex" />
-<Test name="lowp_uvec3_uint_fragment" />
-<Test name="highp_uvec2_int_vertex" />
-<Test name="highp_ivec4_fragment" />
-<Test name="mediump_ivec2_int_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="highp_ivec3_uvec3_fragment" />
-<Test name="mediump_ivec2_int_vertex" />
-<Test name="mediump_int_vertex" />
-<Test name="highp_uvec4_uint_vertex" />
-<Test name="highp_int_vertex" />
-<Test name="lowp_uvec2_ivec2_vertex" />
-<Test name="highp_ivec4_uvec4_fragment" />
-<Test name="highp_ivec3_uvec3_vertex" />
-<Test name="highp_uvec4_int_fragment" />
-<Test name="lowp_ivec4_uint_fragment" />
-<Test name="highp_int_fragment" />
-<Test name="highp_uint_vertex" />
-<Test name="mediump_int_uint_fragment" />
-<Test name="mediump_uint_vertex" />
-<Test name="highp_uvec3_ivec3_vertex" />
-<Test name="mediump_uvec4_uint_vertex" />
-<Test name="mediump_uvec4_int_fragment" />
-<Test name="highp_ivec4_uint_fragment" />
-<Test name="lowp_uvec4_uint_fragment" />
-<Test name="lowp_uvec2_uint_fragment" />
-<Test name="mediump_uvec3_ivec3_fragment" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="lowp_uvec3_ivec3_vertex" />
-<Test name="mediump_ivec4_uvec4_vertex" />
-<Test name="lowp_uvec4_ivec4_fragment" />
-<Test name="lowp_ivec3_uvec3_fragment" />
-<Test name="highp_uvec2_ivec2_vertex" />
-<Test name="mediump_uvec4_int_vertex" />
-<Test name="lowp_uvec3_vertex" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="mediump_uvec3_uint_fragment" />
-<Test name="highp_uvec2_uint_fragment" />
-<Test name="lowp_uvec2_int_vertex" />
-<Test name="mediump_ivec2_uvec2_fragment" />
-<Test name="mediump_uvec4_ivec4_fragment" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="highp_uvec2_vertex" />
-<Test name="lowp_int_uint_fragment" />
-<Test name="lowp_ivec3_int_vertex" />
-<Test name="mediump_uint_int_vertex" />
-<Test name="lowp_ivec2_uint_vertex" />
-<Test name="highp_uvec4_ivec4_vertex" />
-<Test name="mediump_ivec2_uint_fragment" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="lowp_uvec2_uint_vertex" />
-<Test name="highp_ivec3_int_vertex" />
-<Test name="mediump_ivec4_uint_fragment" />
-<Test name="lowp_uvec4_fragment" />
-<Test name="mediump_uvec4_ivec4_vertex" />
-<Test name="lowp_ivec2_uvec2_vertex" />
-<Test name="highp_uvec3_vertex" />
-<Test name="lowp_uint_int_fragment" />
-<Test name="lowp_ivec4_int_vertex" />
-<Test name="highp_uvec4_fragment" />
-<Test name="highp_ivec3_int_fragment" />
-<Test name="highp_ivec4_int_fragment" />
-<Test name="highp_uint_fragment" />
-<Test name="lowp_uvec4_ivec4_vertex" />
-<Test name="mediump_uvec3_int_fragment" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="mediump_uvec2_uint_fragment" />
-<Test name="lowp_uvec4_uint_vertex" />
-<Test name="mediump_uint_fragment" />
-<Test name="mediump_uvec4_fragment" />
-<Test name="highp_ivec2_uint_fragment" />
-<Test name="mediump_uvec3_fragment" />
-<Test name="mediump_ivec4_uint_vertex" />
-<Test name="highp_ivec4_int_vertex" />
-<Test name="highp_uvec2_fragment" />
-<Test name="mediump_uvec4_uint_fragment" />
-<Test name="highp_uvec3_int_vertex" />
-<Test name="lowp_uvec3_uint_vertex" />
-<Test name="lowp_uvec4_int_fragment" />
-<Test name="mediump_ivec3_uvec3_vertex" />
-<Test name="highp_int_uint_vertex" />
-<Test name="lowp_uvec2_vertex" />
-<Test name="highp_uvec2_int_fragment" />
-<Test name="lowp_ivec4_int_fragment" />
-<Test name="lowp_uvec4_vertex" />
-<Test name="highp_uvec3_ivec3_fragment" />
-<Test name="lowp_uint_fragment" />
-<Test name="highp_ivec2_vertex" />
-<Test name="lowp_ivec3_uvec3_vertex" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="mediump_ivec4_uvec4_fragment" />
-<Test name="highp_uvec4_int_vertex" />
-<Test name="highp_ivec3_uint_fragment" />
-<Test name="mediump_ivec4_int_vertex" />
-<Test name="highp_uvec2_ivec2_fragment" />
-<Test name="mediump_uvec4_vertex" />
-<Test name="mediump_ivec4_int_fragment" />
-<Test name="mediump_ivec3_uint_vertex" />
-<Test name="highp_uvec3_fragment" />
-<Test name="highp_ivec3_uint_vertex" />
-<Test name="mediump_uvec3_int_vertex" />
-<Test name="highp_uvec2_uint_vertex" />
-<Test name="mediump_ivec3_uvec3_fragment" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="lowp_uvec2_ivec2_fragment" />
-<Test name="lowp_ivec3_int_fragment" />
-<Test name="highp_ivec2_int_fragment" />
-<Test name="mediump_ivec3_int_fragment" />
-<Test name="lowp_uvec4_int_vertex" />
-<Test name="mediump_uvec2_vertex" />
-<Test name="lowp_ivec3_uint_fragment" />
-<Test name="lowp_ivec4_uint_vertex" />
-<Test name="highp_uvec4_vertex" />
-<Test name="highp_ivec2_uint_vertex" />
-<Test name="mediump_int_fragment" />
-<Test name="lowp_uvec2_int_fragment" />
-<Test name="highp_uint_int_fragment" />
-<Test name="highp_uvec4_ivec4_fragment" />
-<Test name="mediump_uint_int_fragment" />
-<Test name="highp_int_uint_fragment" />
-<Test name="highp_uvec4_uint_fragment" />
-<Test name="mediump_uvec3_uint_vertex" />
-<Test name="mediump_ivec3_int_vertex" />
-<Test name="mediump_uvec3_ivec3_vertex" />
-<Test name="lowp_uvec3_int_vertex" />
-<Test name="lowp_ivec2_int_fragment" />
-<Test name="lowp_uvec3_int_fragment" />
-<Test name="highp_ivec4_uvec4_vertex" />
-<Test name="mediump_uvec2_int_vertex" />
-<Test name="highp_ivec2_fragment" />
-<Test name="mediump_int_uint_vertex" />
-<Test name="lowp_ivec4_uvec4_fragment" />
-<Test name="highp_ivec2_uvec2_fragment" />
-<Test name="mediump_uvec2_uint_vertex" />
-<Test name="highp_uint_int_vertex" />
-<Test name="lowp_int_uint_vertex" />
-<Test name="lowp_uint_int_vertex" />
-<Test name="mediump_uvec2_ivec2_fragment" />
-<Test name="lowp_uint_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="mediump_ivec2_uvec2_vertex" />
-<Test name="mediump_ivec3_uint_fragment" />
-<Test name="highp_ivec4_uint_vertex" />
-<Test name="mediump_uvec2_int_fragment" />
-<Test name="mediump_uvec2_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="highp_uvec3_int_fragment" />
-<Test name="lowp_uvec3_ivec3_fragment" />
-<Test name="highp_ivec3_vertex" />
-<Test name="highp_uvec3_uint_fragment" />
-<Test name="highp_ivec2_uvec2_vertex" />
-<Test name="lowp_ivec2_uint_fragment" />
-<Test name="highp_ivec2_int_vertex" />
-<Test name="mediump_ivec2_uint_vertex" />
-<Test name="lowp_ivec3_uint_vertex" />
-<Test name="lowp_ivec2_int_vertex" />
-<Test name="lowp_ivec2_uvec2_fragment" />
-<Test name="lowp_int_fragment" />
-<Test name="lowp_int_vertex" />
-</TestCase>
-<TestCase name="mul">
-<Test name="highp_ivec3_fragment" />
-<Test name="lowp_uvec3_fragment" />
-<Test name="highp_int_ivec3_vertex" />
-<Test name="highp_float_vec4_fragment" />
-<Test name="mediump_uvec3_vertex" />
-<Test name="mediump_float_fragment" />
-<Test name="highp_uvec3_uint_vertex" />
-<Test name="mediump_vec3_vertex" />
-<Test name="lowp_uint_uvec2_fragment" />
-<Test name="mediump_vec2_float_vertex" />
-<Test name="highp_ivec4_fragment" />
-<Test name="mediump_ivec2_int_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="mediump_uvec4_fragment" />
-<Test name="lowp_uvec2_fragment" />
-<Test name="mediump_vec3_fragment" />
-<Test name="mediump_int_vertex" />
-<Test name="highp_uvec4_uint_vertex" />
-<Test name="highp_int_fragment" />
-<Test name="highp_float_vec2_vertex" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_uint_vertex" />
-<Test name="mediump_uint_vertex" />
-<Test name="lowp_vec4_float_vertex" />
-<Test name="mediump_uvec4_uint_vertex" />
-<Test name="highp_vec2_fragment" />
-<Test name="lowp_int_ivec4_fragment" />
-<Test name="mediump_uint_uvec4_vertex" />
-<Test name="lowp_uvec3_uint_fragment" />
-<Test name="lowp_uvec4_uint_fragment" />
-<Test name="mediump_uvec3_uint_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="mediump_uvec2_vertex" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="lowp_uint_uvec3_vertex" />
-<Test name="lowp_vec3_fragment" />
-<Test name="mediump_float_vec3_fragment" />
-<Test name="lowp_ivec2_int_fragment" />
-<Test name="highp_vec2_float_vertex" />
-<Test name="lowp_uint_uvec4_fragment" />
-<Test name="lowp_uvec3_vertex" />
-<Test name="highp_float_fragment" />
-<Test name="mediump_vec4_vertex" />
-<Test name="mediump_uvec3_uint_fragment" />
-<Test name="highp_uvec2_uint_fragment" />
-<Test name="lowp_vec2_vertex" />
-<Test name="mediump_vec4_float_fragment" />
-<Test name="lowp_int_ivec3_vertex" />
-<Test name="lowp_uint_uvec2_vertex" />
-<Test name="lowp_float_vec2_fragment" />
-<Test name="highp_uint_uvec4_fragment" />
-<Test name="mediump_int_ivec2_vertex" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="highp_uint_uvec4_vertex" />
-<Test name="highp_float_vec3_fragment" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="highp_int_ivec2_vertex" />
-<Test name="highp_uvec2_vertex" />
-<Test name="lowp_ivec3_int_vertex" />
-<Test name="highp_vec3_fragment" />
-<Test name="lowp_int_ivec3_fragment" />
-<Test name="lowp_uint_uvec4_vertex" />
-<Test name="highp_int_ivec4_vertex" />
-<Test name="lowp_uvec2_uint_vertex" />
-<Test name="highp_ivec3_int_vertex" />
-<Test name="lowp_float_fragment" />
-<Test name="mediump_uint_uvec3_vertex" />
-<Test name="lowp_vec4_float_fragment" />
-<Test name="mediump_vec3_float_fragment" />
-<Test name="mediump_uint_uvec2_fragment" />
-<Test name="lowp_uvec4_fragment" />
-<Test name="highp_ivec3_int_fragment" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="highp_uvec3_vertex" />
-<Test name="highp_vec4_float_vertex" />
-<Test name="lowp_ivec4_int_vertex" />
-<Test name="highp_uvec4_fragment" />
-<Test name="highp_float_vec3_vertex" />
-<Test name="lowp_uint_uvec3_fragment" />
-<Test name="highp_ivec4_int_fragment" />
-<Test name="highp_vec2_float_fragment" />
-<Test name="mediump_uint_uvec4_fragment" />
-<Test name="mediump_uvec2_uint_fragment" />
-<Test name="mediump_float_vec4_fragment" />
-<Test name="mediump_ivec2_int_vertex" />
-<Test name="mediump_uint_fragment" />
-<Test name="highp_float_vertex" />
-<Test name="highp_uint_fragment" />
-<Test name="lowp_vec3_vertex" />
-<Test name="lowp_float_vertex" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="mediump_uvec3_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="highp_ivec4_int_vertex" />
-<Test name="lowp_float_vec4_fragment" />
-<Test name="highp_float_vec4_vertex" />
-<Test name="mediump_uvec4_uint_fragment" />
-<Test name="lowp_uvec3_uint_vertex" />
-<Test name="highp_vec4_float_fragment" />
-<Test name="highp_vec3_vertex" />
-<Test name="lowp_int_ivec2_fragment" />
-<Test name="lowp_uvec2_vertex" />
-<Test name="highp_uvec2_fragment" />
-<Test name="lowp_uvec4_vertex" />
-<Test name="highp_uint_uvec2_vertex" />
-<Test name="lowp_uint_fragment" />
-<Test name="highp_ivec2_vertex" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="lowp_uvec4_uint_vertex" />
-<Test name="mediump_ivec4_int_vertex" />
-<Test name="mediump_uvec4_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_uvec3_fragment" />
-<Test name="mediump_uint_uvec2_vertex" />
-<Test name="highp_uvec2_uint_vertex" />
-<Test name="lowp_vec4_fragment" />
-<Test name="mediump_float_vec2_fragment" />
-<Test name="highp_uint_uvec3_vertex" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="mediump_vec4_float_vertex" />
-<Test name="lowp_ivec3_int_fragment" />
-<Test name="highp_ivec2_int_fragment" />
-<Test name="mediump_int_ivec2_fragment" />
-<Test name="mediump_ivec3_int_fragment" />
-<Test name="mediump_int_ivec3_vertex" />
-<Test name="mediump_float_vec4_vertex" />
-<Test name="lowp_vec2_float_fragment" />
-<Test name="mediump_float_vec3_vertex" />
-<Test name="mediump_vec2_float_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="mediump_int_fragment" />
-<Test name="lowp_vec3_float_fragment" />
-<Test name="highp_uvec4_uint_fragment" />
-<Test name="highp_vec3_float_fragment" />
-<Test name="highp_vec3_float_vertex" />
-<Test name="mediump_vec3_float_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="mediump_float_vertex" />
-<Test name="highp_int_ivec3_fragment" />
-<Test name="highp_float_vec2_fragment" />
-<Test name="lowp_float_vec4_vertex" />
-<Test name="mediump_float_vec2_vertex" />
-<Test name="highp_uint_uvec3_fragment" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="mediump_ivec3_int_vertex" />
-<Test name="lowp_int_ivec4_vertex" />
-<Test name="highp_int_ivec2_fragment" />
-<Test name="highp_ivec2_int_vertex" />
-<Test name="mediump_int_ivec3_fragment" />
-<Test name="highp_int_vertex" />
-<Test name="lowp_vec3_float_vertex" />
-<Test name="lowp_float_vec3_fragment" />
-<Test name="highp_ivec2_fragment" />
-<Test name="lowp_float_vec2_vertex" />
-<Test name="mediump_int_ivec4_vertex" />
-<Test name="mediump_int_ivec4_fragment" />
-<Test name="mediump_uvec2_uint_vertex" />
-<Test name="lowp_uvec2_uint_fragment" />
-<Test name="lowp_int_fragment" />
-<Test name="lowp_uint_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="lowp_vec2_fragment" />
-<Test name="highp_uvec4_vertex" />
-<Test name="lowp_ivec4_int_fragment" />
-<Test name="mediump_uvec2_fragment" />
-<Test name="mediump_ivec4_int_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="highp_uint_uvec2_fragment" />
-<Test name="highp_ivec3_vertex" />
-<Test name="highp_uvec3_uint_fragment" />
-<Test name="lowp_float_vec3_vertex" />
-<Test name="lowp_int_ivec2_vertex" />
-<Test name="highp_int_ivec4_fragment" />
-<Test name="lowp_vec2_float_vertex" />
-<Test name="lowp_ivec2_int_vertex" />
-<Test name="mediump_uint_uvec3_fragment" />
-<Test name="lowp_int_vertex" />
-</TestCase>
-<TestCase name="bitwise_and_assign_result">
-<Test name="highp_ivec3_fragment" />
-<Test name="mediump_uint_fragment" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="lowp_uvec3_fragment" />
-<Test name="mediump_uvec4_fragment" />
-<Test name="lowp_uvec3_vertex" />
-<Test name="mediump_uvec3_vertex" />
-<Test name="mediump_uvec3_fragment" />
-<Test name="highp_uvec3_uint_vertex" />
-<Test name="highp_ivec4_int_vertex" />
-<Test name="lowp_uvec4_uint_fragment" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="highp_uint_fragment" />
-<Test name="highp_uvec2_fragment" />
-<Test name="mediump_uvec4_uint_fragment" />
-<Test name="mediump_ivec3_int_vertex" />
-<Test name="highp_ivec4_fragment" />
-<Test name="mediump_ivec2_int_fragment" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="highp_ivec2_int_vertex" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="lowp_uvec2_fragment" />
-<Test name="highp_uvec2_vertex" />
-<Test name="mediump_uvec3_uint_fragment" />
-<Test name="lowp_uvec2_vertex" />
-<Test name="lowp_ivec3_int_vertex" />
-<Test name="mediump_int_vertex" />
-<Test name="highp_uvec4_uint_vertex" />
-<Test name="highp_int_vertex" />
-<Test name="mediump_ivec2_int_vertex" />
-<Test name="lowp_uvec4_vertex" />
-<Test name="lowp_uvec4_fragment" />
-<Test name="highp_ivec2_fragment" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="lowp_uint_fragment" />
-<Test name="highp_ivec2_vertex" />
-<Test name="lowp_uvec2_uint_vertex" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="highp_ivec3_int_vertex" />
-<Test name="highp_uvec2_uint_fragment" />
-<Test name="highp_uint_vertex" />
-<Test name="lowp_uvec3_uint_vertex" />
-<Test name="mediump_uint_vertex" />
-<Test name="mediump_ivec4_int_vertex" />
-<Test name="mediump_uvec4_uint_vertex" />
-<Test name="mediump_uvec4_vertex" />
-<Test name="highp_ivec2_int_fragment" />
-<Test name="mediump_ivec4_int_fragment" />
-<Test name="lowp_ivec2_int_vertex" />
-<Test name="highp_ivec3_int_fragment" />
-<Test name="highp_uvec3_fragment" />
-<Test name="mediump_uvec2_uint_vertex" />
-<Test name="lowp_uint_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="highp_uvec3_vertex" />
-<Test name="lowp_uvec3_uint_fragment" />
-<Test name="lowp_ivec4_int_vertex" />
-<Test name="highp_uvec2_uint_vertex" />
-<Test name="highp_uvec4_fragment" />
-<Test name="lowp_ivec4_int_fragment" />
-<Test name="mediump_uvec2_fragment" />
-<Test name="highp_ivec4_int_fragment" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="lowp_uvec2_uint_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="lowp_ivec3_int_fragment" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="highp_ivec3_vertex" />
-<Test name="lowp_int_fragment" />
-<Test name="highp_uvec3_uint_fragment" />
-<Test name="mediump_uvec3_uint_vertex" />
-<Test name="mediump_uvec2_vertex" />
-<Test name="mediump_uvec2_uint_fragment" />
-<Test name="mediump_ivec3_int_fragment" />
-<Test name="lowp_ivec2_int_fragment" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="highp_uvec4_vertex" />
-<Test name="highp_int_fragment" />
-<Test name="mediump_int_fragment" />
-<Test name="lowp_uvec4_uint_vertex" />
-<Test name="lowp_int_vertex" />
-<Test name="highp_uvec4_uint_fragment" />
-</TestCase>
-<TestCase name="add_assign_result">
-<Test name="highp_ivec3_fragment" />
-<Test name="lowp_uvec3_fragment" />
-<Test name="mediump_uvec3_vertex" />
-<Test name="mediump_float_fragment" />
-<Test name="highp_uvec3_uint_vertex" />
-<Test name="mediump_vec3_vertex" />
-<Test name="mediump_vec2_float_vertex" />
-<Test name="highp_ivec4_fragment" />
-<Test name="mediump_ivec2_int_fragment" />
-<Test name="mediump_ivec2_int_vertex" />
-<Test name="highp_vec4_float_vertex" />
-<Test name="lowp_uvec2_fragment" />
-<Test name="mediump_vec3_fragment" />
-<Test name="mediump_int_vertex" />
-<Test name="highp_uvec4_uint_vertex" />
-<Test name="highp_int_fragment" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_uint_vertex" />
-<Test name="mediump_uint_vertex" />
-<Test name="lowp_vec4_float_vertex" />
-<Test name="mediump_uvec4_uint_vertex" />
-<Test name="highp_vec2_fragment" />
-<Test name="lowp_uvec3_uint_fragment" />
-<Test name="lowp_uvec4_uint_fragment" />
-<Test name="mediump_uvec3_uint_vertex" />
-<Test name="mediump_uvec2_vertex" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="lowp_vec3_fragment" />
-<Test name="lowp_ivec2_int_fragment" />
-<Test name="highp_vec2_float_vertex" />
-<Test name="lowp_uvec3_vertex" />
-<Test name="highp_float_fragment" />
-<Test name="mediump_vec4_vertex" />
-<Test name="mediump_uvec3_uint_fragment" />
-<Test name="highp_uvec2_uint_fragment" />
-<Test name="lowp_vec2_vertex" />
-<Test name="mediump_vec4_float_fragment" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="highp_uvec2_vertex" />
-<Test name="lowp_ivec3_int_vertex" />
-<Test name="highp_vec3_fragment" />
-<Test name="lowp_uvec2_uint_vertex" />
-<Test name="highp_ivec3_int_vertex" />
-<Test name="lowp_float_fragment" />
-<Test name="lowp_vec4_float_fragment" />
-<Test name="mediump_vec3_float_fragment" />
-<Test name="lowp_uvec4_fragment" />
-<Test name="highp_ivec3_int_fragment" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="lowp_ivec4_int_vertex" />
-<Test name="highp_uvec4_fragment" />
-<Test name="highp_ivec4_int_fragment" />
-<Test name="highp_uint_fragment" />
-<Test name="highp_vec2_float_fragment" />
-<Test name="mediump_uvec2_uint_fragment" />
-<Test name="lowp_uvec4_uint_vertex" />
-<Test name="mediump_uint_fragment" />
-<Test name="highp_float_vertex" />
-<Test name="mediump_uvec4_fragment" />
-<Test name="lowp_vec3_vertex" />
-<Test name="lowp_float_vertex" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="mediump_uvec3_fragment" />
-<Test name="highp_uvec3_vertex" />
-<Test name="highp_ivec4_int_vertex" />
-<Test name="mediump_uvec4_uint_fragment" />
-<Test name="lowp_uvec3_uint_vertex" />
-<Test name="highp_vec4_float_fragment" />
-<Test name="highp_vec3_vertex" />
-<Test name="lowp_uvec2_vertex" />
-<Test name="highp_uvec2_fragment" />
-<Test name="lowp_uvec4_vertex" />
-<Test name="lowp_uint_fragment" />
-<Test name="highp_ivec2_vertex" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="mediump_ivec4_int_vertex" />
-<Test name="mediump_uvec4_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_uvec3_fragment" />
-<Test name="highp_uvec2_uint_vertex" />
-<Test name="lowp_vec4_fragment" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="mediump_vec4_float_vertex" />
-<Test name="lowp_ivec3_int_fragment" />
-<Test name="highp_ivec2_int_fragment" />
-<Test name="mediump_ivec3_int_fragment" />
-<Test name="lowp_vec2_float_fragment" />
-<Test name="mediump_vec2_float_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="mediump_int_fragment" />
-<Test name="lowp_vec3_float_fragment" />
-<Test name="highp_vec3_float_fragment" />
-<Test name="highp_vec3_float_vertex" />
-<Test name="mediump_vec3_float_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="mediump_float_vertex" />
-<Test name="highp_uvec4_uint_fragment" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="mediump_ivec3_int_vertex" />
-<Test name="highp_int_vertex" />
-<Test name="lowp_vec3_float_vertex" />
-<Test name="highp_ivec2_fragment" />
-<Test name="highp_vec4_fragment" />
-<Test name="mediump_uvec2_uint_vertex" />
-<Test name="lowp_uvec2_uint_fragment" />
-<Test name="lowp_int_fragment" />
-<Test name="lowp_uint_vertex" />
-<Test name="lowp_vec2_fragment" />
-<Test name="highp_uvec4_vertex" />
-<Test name="lowp_ivec4_int_fragment" />
-<Test name="mediump_uvec2_fragment" />
-<Test name="mediump_ivec4_int_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="highp_ivec3_vertex" />
-<Test name="highp_uvec3_uint_fragment" />
-<Test name="highp_ivec2_int_vertex" />
-<Test name="lowp_vec2_float_vertex" />
-<Test name="lowp_ivec2_int_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="lowp_int_vertex" />
-</TestCase>
-<TestCase name="add_assign_effect">
-<Test name="highp_ivec3_fragment" />
-<Test name="lowp_uvec3_fragment" />
-<Test name="mediump_uvec3_vertex" />
-<Test name="mediump_float_fragment" />
-<Test name="highp_uvec3_uint_vertex" />
-<Test name="mediump_vec3_vertex" />
-<Test name="mediump_vec2_float_vertex" />
-<Test name="highp_ivec4_fragment" />
-<Test name="mediump_ivec2_int_fragment" />
-<Test name="mediump_ivec2_int_vertex" />
-<Test name="highp_vec4_float_vertex" />
-<Test name="lowp_uvec2_fragment" />
-<Test name="mediump_vec3_fragment" />
-<Test name="mediump_int_vertex" />
-<Test name="highp_uvec4_uint_vertex" />
-<Test name="highp_int_fragment" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_uint_vertex" />
-<Test name="mediump_uint_vertex" />
-<Test name="lowp_vec4_float_vertex" />
-<Test name="mediump_uvec4_uint_vertex" />
-<Test name="highp_vec2_fragment" />
-<Test name="lowp_uvec3_uint_fragment" />
-<Test name="lowp_uvec4_uint_fragment" />
-<Test name="mediump_uvec3_uint_vertex" />
-<Test name="mediump_uvec2_vertex" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="lowp_vec3_fragment" />
-<Test name="lowp_ivec2_int_fragment" />
-<Test name="highp_vec2_float_vertex" />
-<Test name="lowp_uvec3_vertex" />
-<Test name="highp_float_fragment" />
-<Test name="mediump_vec4_vertex" />
-<Test name="mediump_uvec3_uint_fragment" />
-<Test name="highp_uvec2_uint_fragment" />
-<Test name="lowp_vec2_vertex" />
-<Test name="mediump_vec4_float_fragment" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="highp_uvec2_vertex" />
-<Test name="lowp_ivec3_int_vertex" />
-<Test name="highp_vec3_fragment" />
-<Test name="lowp_uvec2_uint_vertex" />
-<Test name="highp_ivec3_int_vertex" />
-<Test name="lowp_float_fragment" />
-<Test name="lowp_vec4_float_fragment" />
-<Test name="mediump_vec3_float_fragment" />
-<Test name="lowp_uvec4_fragment" />
-<Test name="highp_ivec3_int_fragment" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="lowp_ivec4_int_vertex" />
-<Test name="highp_uvec4_fragment" />
-<Test name="highp_ivec4_int_fragment" />
-<Test name="highp_uint_fragment" />
-<Test name="highp_vec2_float_fragment" />
-<Test name="mediump_uvec2_uint_fragment" />
-<Test name="lowp_uvec4_uint_vertex" />
-<Test name="mediump_uint_fragment" />
-<Test name="highp_float_vertex" />
-<Test name="mediump_uvec4_fragment" />
-<Test name="lowp_vec3_vertex" />
-<Test name="lowp_float_vertex" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="mediump_uvec3_fragment" />
-<Test name="highp_uvec3_vertex" />
-<Test name="highp_ivec4_int_vertex" />
-<Test name="mediump_uvec4_uint_fragment" />
-<Test name="lowp_uvec3_uint_vertex" />
-<Test name="highp_vec4_float_fragment" />
-<Test name="highp_vec3_vertex" />
-<Test name="lowp_uvec2_vertex" />
-<Test name="highp_uvec2_fragment" />
-<Test name="lowp_uvec4_vertex" />
-<Test name="lowp_uint_fragment" />
-<Test name="highp_ivec2_vertex" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="mediump_ivec4_int_vertex" />
-<Test name="mediump_uvec4_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_uvec3_fragment" />
-<Test name="highp_uvec2_uint_vertex" />
-<Test name="lowp_vec4_fragment" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="mediump_vec4_float_vertex" />
-<Test name="lowp_ivec3_int_fragment" />
-<Test name="highp_ivec2_int_fragment" />
-<Test name="mediump_ivec3_int_fragment" />
-<Test name="lowp_vec2_float_fragment" />
-<Test name="mediump_vec2_float_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="mediump_int_fragment" />
-<Test name="lowp_vec3_float_fragment" />
-<Test name="highp_vec3_float_fragment" />
-<Test name="highp_vec3_float_vertex" />
-<Test name="mediump_vec3_float_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="mediump_float_vertex" />
-<Test name="highp_uvec4_uint_fragment" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="mediump_ivec3_int_vertex" />
-<Test name="highp_int_vertex" />
-<Test name="lowp_vec3_float_vertex" />
-<Test name="highp_ivec2_fragment" />
-<Test name="highp_vec4_fragment" />
-<Test name="mediump_uvec2_uint_vertex" />
-<Test name="lowp_uvec2_uint_fragment" />
-<Test name="lowp_int_fragment" />
-<Test name="lowp_uint_vertex" />
-<Test name="lowp_vec2_fragment" />
-<Test name="highp_uvec4_vertex" />
-<Test name="lowp_ivec4_int_fragment" />
-<Test name="mediump_uvec2_fragment" />
-<Test name="mediump_ivec4_int_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="highp_ivec3_vertex" />
-<Test name="highp_uvec3_uint_fragment" />
-<Test name="highp_ivec2_int_vertex" />
-<Test name="lowp_vec2_float_vertex" />
-<Test name="lowp_ivec2_int_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="lowp_int_vertex" />
-</TestCase>
-<TestCase name="logical_xor">
-<Test name="bool_fragment" />
-<Test name="bool_vertex" />
-</TestCase>
-<TestCase name="right_shift_assign_effect">
-<Test name="highp_ivec3_fragment" />
-<Test name="mediump_uvec2_ivec2_vertex" />
-<Test name="lowp_uvec3_fragment" />
-<Test name="mediump_uvec3_vertex" />
-<Test name="lowp_ivec4_uvec4_vertex" />
-<Test name="lowp_uvec2_fragment" />
-<Test name="highp_uvec3_uint_vertex" />
-<Test name="lowp_uvec3_uint_fragment" />
-<Test name="highp_uvec2_int_vertex" />
-<Test name="highp_ivec4_fragment" />
-<Test name="mediump_ivec2_int_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="highp_ivec3_uvec3_fragment" />
-<Test name="mediump_ivec2_int_vertex" />
-<Test name="mediump_int_vertex" />
-<Test name="highp_uvec4_uint_vertex" />
-<Test name="highp_int_vertex" />
-<Test name="lowp_uvec2_ivec2_vertex" />
-<Test name="highp_ivec4_uvec4_fragment" />
-<Test name="highp_ivec3_uvec3_vertex" />
-<Test name="highp_uvec4_int_fragment" />
-<Test name="lowp_ivec4_uint_fragment" />
-<Test name="highp_int_fragment" />
-<Test name="highp_uint_vertex" />
-<Test name="mediump_int_uint_fragment" />
-<Test name="mediump_uint_vertex" />
-<Test name="highp_uvec3_ivec3_vertex" />
-<Test name="mediump_uvec4_uint_vertex" />
-<Test name="mediump_uvec4_int_fragment" />
-<Test name="highp_ivec4_uint_fragment" />
-<Test name="lowp_uvec4_uint_fragment" />
-<Test name="lowp_uvec2_uint_fragment" />
-<Test name="mediump_uvec3_ivec3_fragment" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="lowp_uvec3_ivec3_vertex" />
-<Test name="mediump_ivec4_uvec4_vertex" />
-<Test name="lowp_uvec4_ivec4_fragment" />
-<Test name="lowp_ivec3_uvec3_fragment" />
-<Test name="highp_uvec2_ivec2_vertex" />
-<Test name="mediump_uvec4_int_vertex" />
-<Test name="lowp_uvec3_vertex" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="mediump_uvec3_uint_fragment" />
-<Test name="highp_uvec2_uint_fragment" />
-<Test name="lowp_uvec2_int_vertex" />
-<Test name="mediump_ivec2_uvec2_fragment" />
-<Test name="mediump_uvec4_ivec4_fragment" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="highp_uvec2_vertex" />
-<Test name="lowp_int_uint_fragment" />
-<Test name="lowp_ivec3_int_vertex" />
-<Test name="mediump_uint_int_vertex" />
-<Test name="lowp_ivec2_uint_vertex" />
-<Test name="highp_uvec4_ivec4_vertex" />
-<Test name="mediump_ivec2_uint_fragment" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="lowp_uvec2_uint_vertex" />
-<Test name="highp_ivec3_int_vertex" />
-<Test name="mediump_ivec4_uint_fragment" />
-<Test name="lowp_uvec4_fragment" />
-<Test name="mediump_uvec4_ivec4_vertex" />
-<Test name="lowp_ivec2_uvec2_vertex" />
-<Test name="highp_uvec3_vertex" />
-<Test name="lowp_uint_int_fragment" />
-<Test name="lowp_ivec4_int_vertex" />
-<Test name="highp_uvec4_fragment" />
-<Test name="highp_ivec3_int_fragment" />
-<Test name="highp_ivec4_int_fragment" />
-<Test name="highp_uint_fragment" />
-<Test name="lowp_uvec4_ivec4_vertex" />
-<Test name="mediump_uvec3_int_fragment" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="mediump_uvec2_uint_fragment" />
-<Test name="lowp_uvec4_uint_vertex" />
-<Test name="mediump_uint_fragment" />
-<Test name="mediump_uvec4_fragment" />
-<Test name="highp_ivec2_uint_fragment" />
-<Test name="mediump_uvec3_fragment" />
-<Test name="mediump_ivec4_uint_vertex" />
-<Test name="highp_ivec4_int_vertex" />
-<Test name="highp_uvec2_fragment" />
-<Test name="mediump_uvec4_uint_fragment" />
-<Test name="highp_uvec3_int_vertex" />
-<Test name="lowp_uvec3_uint_vertex" />
-<Test name="lowp_uvec4_int_fragment" />
-<Test name="mediump_ivec3_uvec3_vertex" />
-<Test name="highp_int_uint_vertex" />
-<Test name="lowp_uvec2_vertex" />
-<Test name="highp_uvec2_int_fragment" />
-<Test name="lowp_ivec4_int_fragment" />
-<Test name="lowp_uvec4_vertex" />
-<Test name="highp_uvec3_ivec3_fragment" />
-<Test name="lowp_uint_fragment" />
-<Test name="highp_ivec2_vertex" />
-<Test name="lowp_ivec3_uvec3_vertex" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="mediump_ivec4_uvec4_fragment" />
-<Test name="highp_uvec4_int_vertex" />
-<Test name="highp_ivec3_uint_fragment" />
-<Test name="mediump_ivec4_int_vertex" />
-<Test name="highp_uvec2_ivec2_fragment" />
-<Test name="mediump_uvec4_vertex" />
-<Test name="mediump_ivec4_int_fragment" />
-<Test name="mediump_ivec3_uint_vertex" />
-<Test name="highp_uvec3_fragment" />
-<Test name="highp_ivec3_uint_vertex" />
-<Test name="mediump_uvec3_int_vertex" />
-<Test name="highp_uvec2_uint_vertex" />
-<Test name="mediump_ivec3_uvec3_fragment" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="lowp_uvec2_ivec2_fragment" />
-<Test name="lowp_ivec3_int_fragment" />
-<Test name="highp_ivec2_int_fragment" />
-<Test name="mediump_ivec3_int_fragment" />
-<Test name="lowp_uvec4_int_vertex" />
-<Test name="mediump_uvec2_vertex" />
-<Test name="lowp_ivec3_uint_fragment" />
-<Test name="lowp_ivec4_uint_vertex" />
-<Test name="highp_uvec4_vertex" />
-<Test name="highp_ivec2_uint_vertex" />
-<Test name="mediump_int_fragment" />
-<Test name="lowp_uvec2_int_fragment" />
-<Test name="highp_uint_int_fragment" />
-<Test name="highp_uvec4_ivec4_fragment" />
-<Test name="mediump_uint_int_fragment" />
-<Test name="highp_int_uint_fragment" />
-<Test name="highp_uvec4_uint_fragment" />
-<Test name="mediump_uvec3_uint_vertex" />
-<Test name="mediump_ivec3_int_vertex" />
-<Test name="mediump_uvec3_ivec3_vertex" />
-<Test name="lowp_uvec3_int_vertex" />
-<Test name="lowp_ivec2_int_fragment" />
-<Test name="lowp_uvec3_int_fragment" />
-<Test name="highp_ivec4_uvec4_vertex" />
-<Test name="mediump_uvec2_int_vertex" />
-<Test name="highp_ivec2_fragment" />
-<Test name="mediump_int_uint_vertex" />
-<Test name="lowp_ivec4_uvec4_fragment" />
-<Test name="highp_ivec2_uvec2_fragment" />
-<Test name="mediump_uvec2_uint_vertex" />
-<Test name="highp_uint_int_vertex" />
-<Test name="lowp_int_uint_vertex" />
-<Test name="lowp_uint_int_vertex" />
-<Test name="mediump_uvec2_ivec2_fragment" />
-<Test name="lowp_uint_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="mediump_ivec2_uvec2_vertex" />
-<Test name="mediump_ivec3_uint_fragment" />
-<Test name="highp_ivec4_uint_vertex" />
-<Test name="mediump_uvec2_int_fragment" />
-<Test name="mediump_uvec2_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="highp_uvec3_int_fragment" />
-<Test name="lowp_uvec3_ivec3_fragment" />
-<Test name="highp_ivec3_vertex" />
-<Test name="highp_uvec3_uint_fragment" />
-<Test name="highp_ivec2_uvec2_vertex" />
-<Test name="lowp_ivec2_uint_fragment" />
-<Test name="highp_ivec2_int_vertex" />
-<Test name="mediump_ivec2_uint_vertex" />
-<Test name="lowp_ivec3_uint_vertex" />
-<Test name="lowp_ivec2_int_vertex" />
-<Test name="lowp_ivec2_uvec2_fragment" />
-<Test name="lowp_int_fragment" />
-<Test name="lowp_int_vertex" />
-</TestCase>
-<TestCase name="greater">
-<Test name="mediump_uint_fragment" />
-<Test name="highp_float_fragment" />
-<Test name="lowp_float_fragment" />
-<Test name="highp_uint_vertex" />
-<Test name="mediump_uint_vertex" />
-<Test name="highp_float_vertex" />
-<Test name="lowp_float_vertex" />
-<Test name="mediump_float_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_int_vertex" />
-<Test name="lowp_int_fragment" />
-<Test name="highp_int_vertex" />
-<Test name="lowp_int_vertex" />
-<Test name="lowp_uint_vertex" />
-<Test name="highp_uint_fragment" />
-<Test name="mediump_int_fragment" />
-<Test name="lowp_uint_fragment" />
-<Test name="highp_int_fragment" />
-</TestCase>
-<TestCase name="bitwise_or_assign_result">
-<Test name="highp_ivec3_fragment" />
-<Test name="mediump_uint_fragment" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="lowp_uvec3_fragment" />
-<Test name="mediump_uvec4_fragment" />
-<Test name="lowp_uvec3_vertex" />
-<Test name="mediump_uvec3_vertex" />
-<Test name="mediump_uvec3_fragment" />
-<Test name="highp_uvec3_uint_vertex" />
-<Test name="highp_ivec4_int_vertex" />
-<Test name="lowp_uvec4_uint_fragment" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="highp_uint_fragment" />
-<Test name="highp_uvec2_fragment" />
-<Test name="mediump_uvec4_uint_fragment" />
-<Test name="mediump_ivec3_int_vertex" />
-<Test name="highp_ivec4_fragment" />
-<Test name="mediump_ivec2_int_fragment" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="highp_ivec2_int_vertex" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="lowp_uvec2_fragment" />
-<Test name="highp_uvec2_vertex" />
-<Test name="mediump_uvec3_uint_fragment" />
-<Test name="lowp_uvec2_vertex" />
-<Test name="lowp_ivec3_int_vertex" />
-<Test name="mediump_int_vertex" />
-<Test name="highp_uvec4_uint_vertex" />
-<Test name="highp_int_vertex" />
-<Test name="mediump_ivec2_int_vertex" />
-<Test name="lowp_uvec4_vertex" />
-<Test name="lowp_uvec4_fragment" />
-<Test name="highp_ivec2_fragment" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="lowp_uint_fragment" />
-<Test name="highp_ivec2_vertex" />
-<Test name="lowp_uvec2_uint_vertex" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="highp_ivec3_int_vertex" />
-<Test name="highp_uvec2_uint_fragment" />
-<Test name="highp_uint_vertex" />
-<Test name="lowp_uvec3_uint_vertex" />
-<Test name="mediump_uint_vertex" />
-<Test name="mediump_ivec4_int_vertex" />
-<Test name="mediump_uvec4_uint_vertex" />
-<Test name="mediump_uvec4_vertex" />
-<Test name="highp_ivec2_int_fragment" />
-<Test name="mediump_ivec4_int_fragment" />
-<Test name="lowp_ivec2_int_vertex" />
-<Test name="highp_ivec3_int_fragment" />
-<Test name="highp_uvec3_fragment" />
-<Test name="mediump_uvec2_uint_vertex" />
-<Test name="lowp_uint_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="highp_uvec3_vertex" />
-<Test name="lowp_uvec3_uint_fragment" />
-<Test name="lowp_ivec4_int_vertex" />
-<Test name="highp_uvec2_uint_vertex" />
-<Test name="highp_uvec4_fragment" />
-<Test name="lowp_ivec4_int_fragment" />
-<Test name="mediump_uvec2_fragment" />
-<Test name="highp_ivec4_int_fragment" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="lowp_uvec2_uint_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="lowp_ivec3_int_fragment" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="highp_ivec3_vertex" />
-<Test name="lowp_int_fragment" />
-<Test name="highp_uvec3_uint_fragment" />
-<Test name="mediump_uvec3_uint_vertex" />
-<Test name="mediump_uvec2_vertex" />
-<Test name="mediump_uvec2_uint_fragment" />
-<Test name="mediump_ivec3_int_fragment" />
-<Test name="lowp_ivec2_int_fragment" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="highp_uvec4_vertex" />
-<Test name="highp_int_fragment" />
-<Test name="mediump_int_fragment" />
-<Test name="lowp_uvec4_uint_vertex" />
-<Test name="lowp_int_vertex" />
-<Test name="highp_uvec4_uint_fragment" />
-</TestCase>
-<TestCase name="div_assign_effect">
-<Test name="highp_ivec3_fragment" />
-<Test name="lowp_uvec3_fragment" />
-<Test name="mediump_uvec3_vertex" />
-<Test name="mediump_float_fragment" />
-<Test name="highp_uvec3_uint_vertex" />
-<Test name="mediump_vec3_vertex" />
-<Test name="mediump_vec2_float_vertex" />
-<Test name="highp_ivec4_fragment" />
-<Test name="mediump_ivec2_int_fragment" />
-<Test name="mediump_ivec2_int_vertex" />
-<Test name="highp_vec4_float_vertex" />
-<Test name="lowp_uvec2_fragment" />
-<Test name="mediump_vec3_fragment" />
-<Test name="mediump_int_vertex" />
-<Test name="highp_uvec4_uint_vertex" />
-<Test name="highp_int_fragment" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_uint_vertex" />
-<Test name="mediump_uint_vertex" />
-<Test name="lowp_vec4_float_vertex" />
-<Test name="mediump_uvec4_uint_vertex" />
-<Test name="highp_vec2_fragment" />
-<Test name="lowp_uvec3_uint_fragment" />
-<Test name="lowp_uvec4_uint_fragment" />
-<Test name="mediump_uvec3_uint_vertex" />
-<Test name="mediump_uvec2_vertex" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="lowp_vec3_fragment" />
-<Test name="lowp_ivec2_int_fragment" />
-<Test name="highp_vec2_float_vertex" />
-<Test name="lowp_uvec3_vertex" />
-<Test name="highp_float_fragment" />
-<Test name="mediump_vec4_vertex" />
-<Test name="mediump_uvec3_uint_fragment" />
-<Test name="highp_uvec2_uint_fragment" />
-<Test name="lowp_vec2_vertex" />
-<Test name="mediump_vec4_float_fragment" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="highp_uvec2_vertex" />
-<Test name="lowp_ivec3_int_vertex" />
-<Test name="highp_vec3_fragment" />
-<Test name="lowp_uvec2_uint_vertex" />
-<Test name="highp_ivec3_int_vertex" />
-<Test name="lowp_float_fragment" />
-<Test name="lowp_vec4_float_fragment" />
-<Test name="mediump_vec3_float_fragment" />
-<Test name="lowp_uvec4_fragment" />
-<Test name="highp_ivec3_int_fragment" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="lowp_ivec4_int_vertex" />
-<Test name="highp_uvec4_fragment" />
-<Test name="highp_ivec4_int_fragment" />
-<Test name="highp_uint_fragment" />
-<Test name="highp_vec2_float_fragment" />
-<Test name="mediump_uvec2_uint_fragment" />
-<Test name="lowp_uvec4_uint_vertex" />
-<Test name="mediump_uint_fragment" />
-<Test name="highp_float_vertex" />
-<Test name="mediump_uvec4_fragment" />
-<Test name="lowp_vec3_vertex" />
-<Test name="lowp_float_vertex" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="mediump_uvec3_fragment" />
-<Test name="highp_uvec3_vertex" />
-<Test name="highp_ivec4_int_vertex" />
-<Test name="mediump_uvec4_uint_fragment" />
-<Test name="lowp_uvec3_uint_vertex" />
-<Test name="highp_vec4_float_fragment" />
-<Test name="highp_vec3_vertex" />
-<Test name="lowp_uvec2_vertex" />
-<Test name="highp_uvec2_fragment" />
-<Test name="lowp_uvec4_vertex" />
-<Test name="lowp_uint_fragment" />
-<Test name="highp_ivec2_vertex" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="mediump_ivec4_int_vertex" />
-<Test name="mediump_uvec4_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_uvec3_fragment" />
-<Test name="highp_uvec2_uint_vertex" />
-<Test name="lowp_vec4_fragment" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="mediump_vec4_float_vertex" />
-<Test name="lowp_ivec3_int_fragment" />
-<Test name="highp_ivec2_int_fragment" />
-<Test name="mediump_ivec3_int_fragment" />
-<Test name="lowp_vec2_float_fragment" />
-<Test name="mediump_vec2_float_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="mediump_int_fragment" />
-<Test name="lowp_vec3_float_fragment" />
-<Test name="highp_vec3_float_fragment" />
-<Test name="highp_vec3_float_vertex" />
-<Test name="mediump_vec3_float_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="mediump_float_vertex" />
-<Test name="highp_uvec4_uint_fragment" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="mediump_ivec3_int_vertex" />
-<Test name="highp_int_vertex" />
-<Test name="lowp_vec3_float_vertex" />
-<Test name="highp_ivec2_fragment" />
-<Test name="highp_vec4_fragment" />
-<Test name="mediump_uvec2_uint_vertex" />
-<Test name="lowp_uvec2_uint_fragment" />
-<Test name="lowp_int_fragment" />
-<Test name="lowp_uint_vertex" />
-<Test name="lowp_vec2_fragment" />
-<Test name="highp_uvec4_vertex" />
-<Test name="lowp_ivec4_int_fragment" />
-<Test name="mediump_uvec2_fragment" />
-<Test name="mediump_ivec4_int_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="highp_ivec3_vertex" />
-<Test name="highp_uvec3_uint_fragment" />
-<Test name="highp_ivec2_int_vertex" />
-<Test name="lowp_vec2_float_vertex" />
-<Test name="lowp_ivec2_int_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="lowp_int_vertex" />
-</TestCase>
-<TestCase name="left_shift_assign_effect">
-<Test name="highp_ivec3_fragment" />
-<Test name="mediump_uvec2_ivec2_vertex" />
-<Test name="lowp_uvec3_fragment" />
-<Test name="mediump_uvec3_vertex" />
-<Test name="lowp_ivec4_uvec4_vertex" />
-<Test name="lowp_uvec2_fragment" />
-<Test name="highp_uvec3_uint_vertex" />
-<Test name="lowp_uvec3_uint_fragment" />
-<Test name="highp_uvec2_int_vertex" />
-<Test name="highp_ivec4_fragment" />
-<Test name="mediump_ivec2_int_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="highp_ivec3_uvec3_fragment" />
-<Test name="mediump_ivec2_int_vertex" />
-<Test name="mediump_int_vertex" />
-<Test name="highp_uvec4_uint_vertex" />
-<Test name="highp_int_vertex" />
-<Test name="lowp_uvec2_ivec2_vertex" />
-<Test name="highp_ivec4_uvec4_fragment" />
-<Test name="highp_ivec3_uvec3_vertex" />
-<Test name="highp_uvec4_int_fragment" />
-<Test name="lowp_ivec4_uint_fragment" />
-<Test name="highp_int_fragment" />
-<Test name="highp_uint_vertex" />
-<Test name="mediump_int_uint_fragment" />
-<Test name="mediump_uint_vertex" />
-<Test name="highp_uvec3_ivec3_vertex" />
-<Test name="mediump_uvec4_uint_vertex" />
-<Test name="mediump_uvec4_int_fragment" />
-<Test name="highp_ivec4_uint_fragment" />
-<Test name="lowp_uvec4_uint_fragment" />
-<Test name="lowp_uvec2_uint_fragment" />
-<Test name="mediump_uvec3_ivec3_fragment" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="lowp_uvec3_ivec3_vertex" />
-<Test name="mediump_ivec4_uvec4_vertex" />
-<Test name="lowp_uvec4_ivec4_fragment" />
-<Test name="lowp_ivec3_uvec3_fragment" />
-<Test name="highp_uvec2_ivec2_vertex" />
-<Test name="mediump_uvec4_int_vertex" />
-<Test name="lowp_uvec3_vertex" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="mediump_uvec3_uint_fragment" />
-<Test name="highp_uvec2_uint_fragment" />
-<Test name="lowp_uvec2_int_vertex" />
-<Test name="mediump_ivec2_uvec2_fragment" />
-<Test name="mediump_uvec4_ivec4_fragment" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="highp_uvec2_vertex" />
-<Test name="lowp_int_uint_fragment" />
-<Test name="lowp_ivec3_int_vertex" />
-<Test name="mediump_uint_int_vertex" />
-<Test name="lowp_ivec2_uint_vertex" />
-<Test name="highp_uvec4_ivec4_vertex" />
-<Test name="mediump_ivec2_uint_fragment" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="lowp_uvec2_uint_vertex" />
-<Test name="highp_ivec3_int_vertex" />
-<Test name="mediump_ivec4_uint_fragment" />
-<Test name="lowp_uvec4_fragment" />
-<Test name="mediump_uvec4_ivec4_vertex" />
-<Test name="lowp_ivec2_uvec2_vertex" />
-<Test name="highp_uvec3_vertex" />
-<Test name="lowp_uint_int_fragment" />
-<Test name="lowp_ivec4_int_vertex" />
-<Test name="highp_uvec4_fragment" />
-<Test name="highp_ivec3_int_fragment" />
-<Test name="highp_ivec4_int_fragment" />
-<Test name="highp_uint_fragment" />
-<Test name="lowp_uvec4_ivec4_vertex" />
-<Test name="mediump_uvec3_int_fragment" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="mediump_uvec2_uint_fragment" />
-<Test name="lowp_uvec4_uint_vertex" />
-<Test name="mediump_uint_fragment" />
-<Test name="mediump_uvec4_fragment" />
-<Test name="highp_ivec2_uint_fragment" />
-<Test name="mediump_uvec3_fragment" />
-<Test name="mediump_ivec4_uint_vertex" />
-<Test name="highp_ivec4_int_vertex" />
-<Test name="highp_uvec2_fragment" />
-<Test name="mediump_uvec4_uint_fragment" />
-<Test name="highp_uvec3_int_vertex" />
-<Test name="lowp_uvec3_uint_vertex" />
-<Test name="lowp_uvec4_int_fragment" />
-<Test name="mediump_ivec3_uvec3_vertex" />
-<Test name="highp_int_uint_vertex" />
-<Test name="lowp_uvec2_vertex" />
-<Test name="highp_uvec2_int_fragment" />
-<Test name="lowp_ivec4_int_fragment" />
-<Test name="lowp_uvec4_vertex" />
-<Test name="highp_uvec3_ivec3_fragment" />
-<Test name="lowp_uint_fragment" />
-<Test name="highp_ivec2_vertex" />
-<Test name="lowp_ivec3_uvec3_vertex" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="mediump_ivec4_uvec4_fragment" />
-<Test name="highp_uvec4_int_vertex" />
-<Test name="highp_ivec3_uint_fragment" />
-<Test name="mediump_ivec4_int_vertex" />
-<Test name="highp_uvec2_ivec2_fragment" />
-<Test name="mediump_uvec4_vertex" />
-<Test name="mediump_ivec4_int_fragment" />
-<Test name="mediump_ivec3_uint_vertex" />
-<Test name="highp_uvec3_fragment" />
-<Test name="highp_ivec3_uint_vertex" />
-<Test name="mediump_uvec3_int_vertex" />
-<Test name="highp_uvec2_uint_vertex" />
-<Test name="mediump_ivec3_uvec3_fragment" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="lowp_uvec2_ivec2_fragment" />
-<Test name="lowp_ivec3_int_fragment" />
-<Test name="highp_ivec2_int_fragment" />
-<Test name="mediump_ivec3_int_fragment" />
-<Test name="lowp_uvec4_int_vertex" />
-<Test name="mediump_uvec2_vertex" />
-<Test name="lowp_ivec3_uint_fragment" />
-<Test name="lowp_ivec4_uint_vertex" />
-<Test name="highp_uvec4_vertex" />
-<Test name="highp_ivec2_uint_vertex" />
-<Test name="mediump_int_fragment" />
-<Test name="lowp_uvec2_int_fragment" />
-<Test name="highp_uint_int_fragment" />
-<Test name="highp_uvec4_ivec4_fragment" />
-<Test name="mediump_uint_int_fragment" />
-<Test name="highp_int_uint_fragment" />
-<Test name="highp_uvec4_uint_fragment" />
-<Test name="mediump_uvec3_uint_vertex" />
-<Test name="mediump_ivec3_int_vertex" />
-<Test name="mediump_uvec3_ivec3_vertex" />
-<Test name="lowp_uvec3_int_vertex" />
-<Test name="lowp_ivec2_int_fragment" />
-<Test name="lowp_uvec3_int_fragment" />
-<Test name="highp_ivec4_uvec4_vertex" />
-<Test name="mediump_uvec2_int_vertex" />
-<Test name="highp_ivec2_fragment" />
-<Test name="mediump_int_uint_vertex" />
-<Test name="lowp_ivec4_uvec4_fragment" />
-<Test name="highp_ivec2_uvec2_fragment" />
-<Test name="mediump_uvec2_uint_vertex" />
-<Test name="highp_uint_int_vertex" />
-<Test name="lowp_int_uint_vertex" />
-<Test name="lowp_uint_int_vertex" />
-<Test name="mediump_uvec2_ivec2_fragment" />
-<Test name="lowp_uint_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="mediump_ivec2_uvec2_vertex" />
-<Test name="mediump_ivec3_uint_fragment" />
-<Test name="highp_ivec4_uint_vertex" />
-<Test name="mediump_uvec2_int_fragment" />
-<Test name="mediump_uvec2_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="highp_uvec3_int_fragment" />
-<Test name="lowp_uvec3_ivec3_fragment" />
-<Test name="highp_ivec3_vertex" />
-<Test name="highp_uvec3_uint_fragment" />
-<Test name="highp_ivec2_uvec2_vertex" />
-<Test name="lowp_ivec2_uint_fragment" />
-<Test name="highp_ivec2_int_vertex" />
-<Test name="mediump_ivec2_uint_vertex" />
-<Test name="lowp_ivec3_uint_vertex" />
-<Test name="lowp_ivec2_int_vertex" />
-<Test name="lowp_ivec2_uvec2_fragment" />
-<Test name="lowp_int_fragment" />
-<Test name="lowp_int_vertex" />
-</TestCase>
-<TestCase name="greater_or_equal">
-<Test name="mediump_uint_fragment" />
-<Test name="highp_float_fragment" />
-<Test name="lowp_float_fragment" />
-<Test name="highp_uint_vertex" />
-<Test name="mediump_uint_vertex" />
-<Test name="highp_float_vertex" />
-<Test name="lowp_float_vertex" />
-<Test name="mediump_float_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_int_vertex" />
-<Test name="lowp_int_fragment" />
-<Test name="highp_int_vertex" />
-<Test name="lowp_int_vertex" />
-<Test name="lowp_uint_vertex" />
-<Test name="highp_uint_fragment" />
-<Test name="mediump_int_fragment" />
-<Test name="lowp_uint_fragment" />
-<Test name="highp_int_fragment" />
-</TestCase>
-<TestCase name="mul_assign_result">
-<Test name="highp_ivec3_fragment" />
-<Test name="lowp_uvec3_fragment" />
-<Test name="mediump_uvec3_vertex" />
-<Test name="mediump_float_fragment" />
-<Test name="highp_uvec3_uint_vertex" />
-<Test name="mediump_vec3_vertex" />
-<Test name="mediump_vec2_float_vertex" />
-<Test name="highp_ivec4_fragment" />
-<Test name="mediump_ivec2_int_fragment" />
-<Test name="mediump_ivec2_int_vertex" />
-<Test name="highp_vec4_float_vertex" />
-<Test name="lowp_uvec2_fragment" />
-<Test name="mediump_vec3_fragment" />
-<Test name="mediump_int_vertex" />
-<Test name="highp_uvec4_uint_vertex" />
-<Test name="highp_int_fragment" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_uint_vertex" />
-<Test name="mediump_uint_vertex" />
-<Test name="lowp_vec4_float_vertex" />
-<Test name="mediump_uvec4_uint_vertex" />
-<Test name="highp_vec2_fragment" />
-<Test name="lowp_uvec3_uint_fragment" />
-<Test name="lowp_uvec4_uint_fragment" />
-<Test name="mediump_uvec3_uint_vertex" />
-<Test name="mediump_uvec2_vertex" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="lowp_vec3_fragment" />
-<Test name="lowp_ivec2_int_fragment" />
-<Test name="highp_vec2_float_vertex" />
-<Test name="lowp_uvec3_vertex" />
-<Test name="highp_float_fragment" />
-<Test name="mediump_vec4_vertex" />
-<Test name="mediump_uvec3_uint_fragment" />
-<Test name="highp_uvec2_uint_fragment" />
-<Test name="lowp_vec2_vertex" />
-<Test name="mediump_vec4_float_fragment" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="highp_uvec2_vertex" />
-<Test name="lowp_ivec3_int_vertex" />
-<Test name="highp_vec3_fragment" />
-<Test name="lowp_uvec2_uint_vertex" />
-<Test name="highp_ivec3_int_vertex" />
-<Test name="lowp_float_fragment" />
-<Test name="lowp_vec4_float_fragment" />
-<Test name="mediump_vec3_float_fragment" />
-<Test name="lowp_uvec4_fragment" />
-<Test name="highp_ivec3_int_fragment" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="lowp_ivec4_int_vertex" />
-<Test name="highp_uvec4_fragment" />
-<Test name="highp_ivec4_int_fragment" />
-<Test name="highp_uint_fragment" />
-<Test name="highp_vec2_float_fragment" />
-<Test name="mediump_uvec2_uint_fragment" />
-<Test name="lowp_uvec4_uint_vertex" />
-<Test name="mediump_uint_fragment" />
-<Test name="highp_float_vertex" />
-<Test name="mediump_uvec4_fragment" />
-<Test name="lowp_vec3_vertex" />
-<Test name="lowp_float_vertex" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="mediump_uvec3_fragment" />
-<Test name="highp_uvec3_vertex" />
-<Test name="highp_ivec4_int_vertex" />
-<Test name="mediump_uvec4_uint_fragment" />
-<Test name="lowp_uvec3_uint_vertex" />
-<Test name="highp_vec4_float_fragment" />
-<Test name="highp_vec3_vertex" />
-<Test name="lowp_uvec2_vertex" />
-<Test name="highp_uvec2_fragment" />
-<Test name="lowp_uvec4_vertex" />
-<Test name="lowp_uint_fragment" />
-<Test name="highp_ivec2_vertex" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="mediump_ivec4_int_vertex" />
-<Test name="mediump_uvec4_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_uvec3_fragment" />
-<Test name="highp_uvec2_uint_vertex" />
-<Test name="lowp_vec4_fragment" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="mediump_vec4_float_vertex" />
-<Test name="lowp_ivec3_int_fragment" />
-<Test name="highp_ivec2_int_fragment" />
-<Test name="mediump_ivec3_int_fragment" />
-<Test name="lowp_vec2_float_fragment" />
-<Test name="mediump_vec2_float_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="mediump_int_fragment" />
-<Test name="lowp_vec3_float_fragment" />
-<Test name="highp_vec3_float_fragment" />
-<Test name="highp_vec3_float_vertex" />
-<Test name="mediump_vec3_float_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="mediump_float_vertex" />
-<Test name="highp_uvec4_uint_fragment" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="mediump_ivec3_int_vertex" />
-<Test name="highp_int_vertex" />
-<Test name="lowp_vec3_float_vertex" />
-<Test name="highp_ivec2_fragment" />
-<Test name="highp_vec4_fragment" />
-<Test name="mediump_uvec2_uint_vertex" />
-<Test name="lowp_uvec2_uint_fragment" />
-<Test name="lowp_int_fragment" />
-<Test name="lowp_uint_vertex" />
-<Test name="lowp_vec2_fragment" />
-<Test name="highp_uvec4_vertex" />
-<Test name="lowp_ivec4_int_fragment" />
-<Test name="mediump_uvec2_fragment" />
-<Test name="mediump_ivec4_int_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="highp_ivec3_vertex" />
-<Test name="highp_uvec3_uint_fragment" />
-<Test name="highp_ivec2_int_vertex" />
-<Test name="lowp_vec2_float_vertex" />
-<Test name="lowp_ivec2_int_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="lowp_int_vertex" />
-</TestCase>
-<TestCase name="div_assign_result">
-<Test name="highp_ivec3_fragment" />
-<Test name="lowp_uvec3_fragment" />
-<Test name="mediump_uvec3_vertex" />
-<Test name="mediump_float_fragment" />
-<Test name="highp_uvec3_uint_vertex" />
-<Test name="mediump_vec3_vertex" />
-<Test name="mediump_vec2_float_vertex" />
-<Test name="highp_ivec4_fragment" />
-<Test name="mediump_ivec2_int_fragment" />
-<Test name="mediump_ivec2_int_vertex" />
-<Test name="highp_vec4_float_vertex" />
-<Test name="lowp_uvec2_fragment" />
-<Test name="mediump_vec3_fragment" />
-<Test name="mediump_int_vertex" />
-<Test name="highp_uvec4_uint_vertex" />
-<Test name="highp_int_fragment" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_uint_vertex" />
-<Test name="mediump_uint_vertex" />
-<Test name="lowp_vec4_float_vertex" />
-<Test name="mediump_uvec4_uint_vertex" />
-<Test name="highp_vec2_fragment" />
-<Test name="lowp_uvec3_uint_fragment" />
-<Test name="lowp_uvec4_uint_fragment" />
-<Test name="mediump_uvec3_uint_vertex" />
-<Test name="mediump_uvec2_vertex" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="lowp_vec3_fragment" />
-<Test name="lowp_ivec2_int_fragment" />
-<Test name="highp_vec2_float_vertex" />
-<Test name="lowp_uvec3_vertex" />
-<Test name="highp_float_fragment" />
-<Test name="mediump_vec4_vertex" />
-<Test name="mediump_uvec3_uint_fragment" />
-<Test name="highp_uvec2_uint_fragment" />
-<Test name="lowp_vec2_vertex" />
-<Test name="mediump_vec4_float_fragment" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="highp_uvec2_vertex" />
-<Test name="lowp_ivec3_int_vertex" />
-<Test name="highp_vec3_fragment" />
-<Test name="lowp_uvec2_uint_vertex" />
-<Test name="highp_ivec3_int_vertex" />
-<Test name="lowp_float_fragment" />
-<Test name="lowp_vec4_float_fragment" />
-<Test name="mediump_vec3_float_fragment" />
-<Test name="lowp_uvec4_fragment" />
-<Test name="highp_ivec3_int_fragment" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="lowp_ivec4_int_vertex" />
-<Test name="highp_uvec4_fragment" />
-<Test name="highp_ivec4_int_fragment" />
-<Test name="highp_uint_fragment" />
-<Test name="highp_vec2_float_fragment" />
-<Test name="mediump_uvec2_uint_fragment" />
-<Test name="lowp_uvec4_uint_vertex" />
-<Test name="mediump_uint_fragment" />
-<Test name="highp_float_vertex" />
-<Test name="mediump_uvec4_fragment" />
-<Test name="lowp_vec3_vertex" />
-<Test name="lowp_float_vertex" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="mediump_uvec3_fragment" />
-<Test name="highp_uvec3_vertex" />
-<Test name="highp_ivec4_int_vertex" />
-<Test name="mediump_uvec4_uint_fragment" />
-<Test name="lowp_uvec3_uint_vertex" />
-<Test name="highp_vec4_float_fragment" />
-<Test name="highp_vec3_vertex" />
-<Test name="lowp_uvec2_vertex" />
-<Test name="highp_uvec2_fragment" />
-<Test name="lowp_uvec4_vertex" />
-<Test name="lowp_uint_fragment" />
-<Test name="highp_ivec2_vertex" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="mediump_ivec4_int_vertex" />
-<Test name="mediump_uvec4_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_uvec3_fragment" />
-<Test name="highp_uvec2_uint_vertex" />
-<Test name="lowp_vec4_fragment" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="mediump_vec4_float_vertex" />
-<Test name="lowp_ivec3_int_fragment" />
-<Test name="highp_ivec2_int_fragment" />
-<Test name="mediump_ivec3_int_fragment" />
-<Test name="lowp_vec2_float_fragment" />
-<Test name="mediump_vec2_float_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="mediump_int_fragment" />
-<Test name="lowp_vec3_float_fragment" />
-<Test name="highp_vec3_float_fragment" />
-<Test name="highp_vec3_float_vertex" />
-<Test name="mediump_vec3_float_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="mediump_float_vertex" />
-<Test name="highp_uvec4_uint_fragment" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="mediump_ivec3_int_vertex" />
-<Test name="highp_int_vertex" />
-<Test name="lowp_vec3_float_vertex" />
-<Test name="highp_ivec2_fragment" />
-<Test name="highp_vec4_fragment" />
-<Test name="mediump_uvec2_uint_vertex" />
-<Test name="lowp_uvec2_uint_fragment" />
-<Test name="lowp_int_fragment" />
-<Test name="lowp_uint_vertex" />
-<Test name="lowp_vec2_fragment" />
-<Test name="highp_uvec4_vertex" />
-<Test name="lowp_ivec4_int_fragment" />
-<Test name="mediump_uvec2_fragment" />
-<Test name="mediump_ivec4_int_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="highp_ivec3_vertex" />
-<Test name="highp_uvec3_uint_fragment" />
-<Test name="highp_ivec2_int_vertex" />
-<Test name="lowp_vec2_float_vertex" />
-<Test name="lowp_ivec2_int_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="lowp_int_vertex" />
-</TestCase>
-<TestCase name="left_shift_assign_result">
-<Test name="highp_ivec3_fragment" />
-<Test name="mediump_uvec2_ivec2_vertex" />
-<Test name="lowp_uvec3_fragment" />
-<Test name="mediump_uvec3_vertex" />
-<Test name="lowp_ivec4_uvec4_vertex" />
-<Test name="lowp_uvec2_fragment" />
-<Test name="highp_uvec3_uint_vertex" />
-<Test name="lowp_uvec3_uint_fragment" />
-<Test name="highp_uvec2_int_vertex" />
-<Test name="highp_ivec4_fragment" />
-<Test name="mediump_ivec2_int_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="highp_ivec3_uvec3_fragment" />
-<Test name="mediump_ivec2_int_vertex" />
-<Test name="mediump_int_vertex" />
-<Test name="highp_uvec4_uint_vertex" />
-<Test name="highp_int_vertex" />
-<Test name="lowp_uvec2_ivec2_vertex" />
-<Test name="highp_ivec4_uvec4_fragment" />
-<Test name="highp_ivec3_uvec3_vertex" />
-<Test name="highp_uvec4_int_fragment" />
-<Test name="lowp_ivec4_uint_fragment" />
-<Test name="highp_int_fragment" />
-<Test name="highp_uint_vertex" />
-<Test name="mediump_int_uint_fragment" />
-<Test name="mediump_uint_vertex" />
-<Test name="highp_uvec3_ivec3_vertex" />
-<Test name="mediump_uvec4_uint_vertex" />
-<Test name="mediump_uvec4_int_fragment" />
-<Test name="highp_ivec4_uint_fragment" />
-<Test name="lowp_uvec4_uint_fragment" />
-<Test name="lowp_uvec2_uint_fragment" />
-<Test name="mediump_uvec3_ivec3_fragment" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="lowp_uvec3_ivec3_vertex" />
-<Test name="mediump_ivec4_uvec4_vertex" />
-<Test name="lowp_uvec4_ivec4_fragment" />
-<Test name="lowp_ivec3_uvec3_fragment" />
-<Test name="highp_uvec2_ivec2_vertex" />
-<Test name="mediump_uvec4_int_vertex" />
-<Test name="lowp_uvec3_vertex" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="mediump_uvec3_uint_fragment" />
-<Test name="highp_uvec2_uint_fragment" />
-<Test name="lowp_uvec2_int_vertex" />
-<Test name="mediump_ivec2_uvec2_fragment" />
-<Test name="mediump_uvec4_ivec4_fragment" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="highp_uvec2_vertex" />
-<Test name="lowp_int_uint_fragment" />
-<Test name="lowp_ivec3_int_vertex" />
-<Test name="mediump_uint_int_vertex" />
-<Test name="lowp_ivec2_uint_vertex" />
-<Test name="highp_uvec4_ivec4_vertex" />
-<Test name="mediump_ivec2_uint_fragment" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="lowp_uvec2_uint_vertex" />
-<Test name="highp_ivec3_int_vertex" />
-<Test name="mediump_ivec4_uint_fragment" />
-<Test name="lowp_uvec4_fragment" />
-<Test name="mediump_uvec4_ivec4_vertex" />
-<Test name="lowp_ivec2_uvec2_vertex" />
-<Test name="highp_uvec3_vertex" />
-<Test name="lowp_uint_int_fragment" />
-<Test name="lowp_ivec4_int_vertex" />
-<Test name="highp_uvec4_fragment" />
-<Test name="highp_ivec3_int_fragment" />
-<Test name="highp_ivec4_int_fragment" />
-<Test name="highp_uint_fragment" />
-<Test name="lowp_uvec4_ivec4_vertex" />
-<Test name="mediump_uvec3_int_fragment" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="mediump_uvec2_uint_fragment" />
-<Test name="lowp_uvec4_uint_vertex" />
-<Test name="mediump_uint_fragment" />
-<Test name="mediump_uvec4_fragment" />
-<Test name="highp_ivec2_uint_fragment" />
-<Test name="mediump_uvec3_fragment" />
-<Test name="mediump_ivec4_uint_vertex" />
-<Test name="highp_ivec4_int_vertex" />
-<Test name="highp_uvec2_fragment" />
-<Test name="mediump_uvec4_uint_fragment" />
-<Test name="highp_uvec3_int_vertex" />
-<Test name="lowp_uvec3_uint_vertex" />
-<Test name="lowp_uvec4_int_fragment" />
-<Test name="mediump_ivec3_uvec3_vertex" />
-<Test name="highp_int_uint_vertex" />
-<Test name="lowp_uvec2_vertex" />
-<Test name="highp_uvec2_int_fragment" />
-<Test name="lowp_ivec4_int_fragment" />
-<Test name="lowp_uvec4_vertex" />
-<Test name="highp_uvec3_ivec3_fragment" />
-<Test name="lowp_uint_fragment" />
-<Test name="highp_ivec2_vertex" />
-<Test name="lowp_ivec3_uvec3_vertex" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="mediump_ivec4_uvec4_fragment" />
-<Test name="highp_uvec4_int_vertex" />
-<Test name="highp_ivec3_uint_fragment" />
-<Test name="mediump_ivec4_int_vertex" />
-<Test name="highp_uvec2_ivec2_fragment" />
-<Test name="mediump_uvec4_vertex" />
-<Test name="mediump_ivec4_int_fragment" />
-<Test name="mediump_ivec3_uint_vertex" />
-<Test name="highp_uvec3_fragment" />
-<Test name="highp_ivec3_uint_vertex" />
-<Test name="mediump_uvec3_int_vertex" />
-<Test name="highp_uvec2_uint_vertex" />
-<Test name="mediump_ivec3_uvec3_fragment" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="lowp_uvec2_ivec2_fragment" />
-<Test name="lowp_ivec3_int_fragment" />
-<Test name="highp_ivec2_int_fragment" />
-<Test name="mediump_ivec3_int_fragment" />
-<Test name="lowp_uvec4_int_vertex" />
-<Test name="mediump_uvec2_vertex" />
-<Test name="lowp_ivec3_uint_fragment" />
-<Test name="lowp_ivec4_uint_vertex" />
-<Test name="highp_uvec4_vertex" />
-<Test name="highp_ivec2_uint_vertex" />
-<Test name="mediump_int_fragment" />
-<Test name="lowp_uvec2_int_fragment" />
-<Test name="highp_uint_int_fragment" />
-<Test name="highp_uvec4_ivec4_fragment" />
-<Test name="mediump_uint_int_fragment" />
-<Test name="highp_int_uint_fragment" />
-<Test name="highp_uvec4_uint_fragment" />
-<Test name="mediump_uvec3_uint_vertex" />
-<Test name="mediump_ivec3_int_vertex" />
-<Test name="mediump_uvec3_ivec3_vertex" />
-<Test name="lowp_uvec3_int_vertex" />
-<Test name="lowp_ivec2_int_fragment" />
-<Test name="lowp_uvec3_int_fragment" />
-<Test name="highp_ivec4_uvec4_vertex" />
-<Test name="mediump_uvec2_int_vertex" />
-<Test name="highp_ivec2_fragment" />
-<Test name="mediump_int_uint_vertex" />
-<Test name="lowp_ivec4_uvec4_fragment" />
-<Test name="highp_ivec2_uvec2_fragment" />
-<Test name="mediump_uvec2_uint_vertex" />
-<Test name="highp_uint_int_vertex" />
-<Test name="lowp_int_uint_vertex" />
-<Test name="lowp_uint_int_vertex" />
-<Test name="mediump_uvec2_ivec2_fragment" />
-<Test name="lowp_uint_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="mediump_ivec2_uvec2_vertex" />
-<Test name="mediump_ivec3_uint_fragment" />
-<Test name="highp_ivec4_uint_vertex" />
-<Test name="mediump_uvec2_int_fragment" />
-<Test name="mediump_uvec2_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="highp_uvec3_int_fragment" />
-<Test name="lowp_uvec3_ivec3_fragment" />
-<Test name="highp_ivec3_vertex" />
-<Test name="highp_uvec3_uint_fragment" />
-<Test name="highp_ivec2_uvec2_vertex" />
-<Test name="lowp_ivec2_uint_fragment" />
-<Test name="highp_ivec2_int_vertex" />
-<Test name="mediump_ivec2_uint_vertex" />
-<Test name="lowp_ivec3_uint_vertex" />
-<Test name="lowp_ivec2_int_vertex" />
-<Test name="lowp_ivec2_uvec2_fragment" />
-<Test name="lowp_int_fragment" />
-<Test name="lowp_int_vertex" />
-</TestCase>
-<TestCase name="right_shift_assign_result">
-<Test name="highp_ivec3_fragment" />
-<Test name="mediump_uvec2_ivec2_vertex" />
-<Test name="lowp_uvec3_fragment" />
-<Test name="mediump_uvec3_vertex" />
-<Test name="lowp_ivec4_uvec4_vertex" />
-<Test name="lowp_uvec2_fragment" />
-<Test name="highp_uvec3_uint_vertex" />
-<Test name="lowp_uvec3_uint_fragment" />
-<Test name="highp_uvec2_int_vertex" />
-<Test name="highp_ivec4_fragment" />
-<Test name="mediump_ivec2_int_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="highp_ivec3_uvec3_fragment" />
-<Test name="mediump_ivec2_int_vertex" />
-<Test name="mediump_int_vertex" />
-<Test name="highp_uvec4_uint_vertex" />
-<Test name="highp_int_vertex" />
-<Test name="lowp_uvec2_ivec2_vertex" />
-<Test name="highp_ivec4_uvec4_fragment" />
-<Test name="highp_ivec3_uvec3_vertex" />
-<Test name="highp_uvec4_int_fragment" />
-<Test name="lowp_ivec4_uint_fragment" />
-<Test name="highp_int_fragment" />
-<Test name="highp_uint_vertex" />
-<Test name="mediump_int_uint_fragment" />
-<Test name="mediump_uint_vertex" />
-<Test name="highp_uvec3_ivec3_vertex" />
-<Test name="mediump_uvec4_uint_vertex" />
-<Test name="mediump_uvec4_int_fragment" />
-<Test name="highp_ivec4_uint_fragment" />
-<Test name="lowp_uvec4_uint_fragment" />
-<Test name="lowp_uvec2_uint_fragment" />
-<Test name="mediump_uvec3_ivec3_fragment" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="lowp_uvec3_ivec3_vertex" />
-<Test name="mediump_ivec4_uvec4_vertex" />
-<Test name="lowp_uvec4_ivec4_fragment" />
-<Test name="lowp_ivec3_uvec3_fragment" />
-<Test name="highp_uvec2_ivec2_vertex" />
-<Test name="mediump_uvec4_int_vertex" />
-<Test name="lowp_uvec3_vertex" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="mediump_uvec3_uint_fragment" />
-<Test name="highp_uvec2_uint_fragment" />
-<Test name="lowp_uvec2_int_vertex" />
-<Test name="mediump_ivec2_uvec2_fragment" />
-<Test name="mediump_uvec4_ivec4_fragment" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="highp_uvec2_vertex" />
-<Test name="lowp_int_uint_fragment" />
-<Test name="lowp_ivec3_int_vertex" />
-<Test name="mediump_uint_int_vertex" />
-<Test name="lowp_ivec2_uint_vertex" />
-<Test name="highp_uvec4_ivec4_vertex" />
-<Test name="mediump_ivec2_uint_fragment" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="lowp_uvec2_uint_vertex" />
-<Test name="highp_ivec3_int_vertex" />
-<Test name="mediump_ivec4_uint_fragment" />
-<Test name="lowp_uvec4_fragment" />
-<Test name="mediump_uvec4_ivec4_vertex" />
-<Test name="lowp_ivec2_uvec2_vertex" />
-<Test name="highp_uvec3_vertex" />
-<Test name="lowp_uint_int_fragment" />
-<Test name="lowp_ivec4_int_vertex" />
-<Test name="highp_uvec4_fragment" />
-<Test name="highp_ivec3_int_fragment" />
-<Test name="highp_ivec4_int_fragment" />
-<Test name="highp_uint_fragment" />
-<Test name="lowp_uvec4_ivec4_vertex" />
-<Test name="mediump_uvec3_int_fragment" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="mediump_uvec2_uint_fragment" />
-<Test name="lowp_uvec4_uint_vertex" />
-<Test name="mediump_uint_fragment" />
-<Test name="mediump_uvec4_fragment" />
-<Test name="highp_ivec2_uint_fragment" />
-<Test name="mediump_uvec3_fragment" />
-<Test name="mediump_ivec4_uint_vertex" />
-<Test name="highp_ivec4_int_vertex" />
-<Test name="highp_uvec2_fragment" />
-<Test name="mediump_uvec4_uint_fragment" />
-<Test name="highp_uvec3_int_vertex" />
-<Test name="lowp_uvec3_uint_vertex" />
-<Test name="lowp_uvec4_int_fragment" />
-<Test name="mediump_ivec3_uvec3_vertex" />
-<Test name="highp_int_uint_vertex" />
-<Test name="lowp_uvec2_vertex" />
-<Test name="highp_uvec2_int_fragment" />
-<Test name="lowp_ivec4_int_fragment" />
-<Test name="lowp_uvec4_vertex" />
-<Test name="highp_uvec3_ivec3_fragment" />
-<Test name="lowp_uint_fragment" />
-<Test name="highp_ivec2_vertex" />
-<Test name="lowp_ivec3_uvec3_vertex" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="mediump_ivec4_uvec4_fragment" />
-<Test name="highp_uvec4_int_vertex" />
-<Test name="highp_ivec3_uint_fragment" />
-<Test name="mediump_ivec4_int_vertex" />
-<Test name="highp_uvec2_ivec2_fragment" />
-<Test name="mediump_uvec4_vertex" />
-<Test name="mediump_ivec4_int_fragment" />
-<Test name="mediump_ivec3_uint_vertex" />
-<Test name="highp_uvec3_fragment" />
-<Test name="highp_ivec3_uint_vertex" />
-<Test name="mediump_uvec3_int_vertex" />
-<Test name="highp_uvec2_uint_vertex" />
-<Test name="mediump_ivec3_uvec3_fragment" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="lowp_uvec2_ivec2_fragment" />
-<Test name="lowp_ivec3_int_fragment" />
-<Test name="highp_ivec2_int_fragment" />
-<Test name="mediump_ivec3_int_fragment" />
-<Test name="lowp_uvec4_int_vertex" />
-<Test name="mediump_uvec2_vertex" />
-<Test name="lowp_ivec3_uint_fragment" />
-<Test name="lowp_ivec4_uint_vertex" />
-<Test name="highp_uvec4_vertex" />
-<Test name="highp_ivec2_uint_vertex" />
-<Test name="mediump_int_fragment" />
-<Test name="lowp_uvec2_int_fragment" />
-<Test name="highp_uint_int_fragment" />
-<Test name="highp_uvec4_ivec4_fragment" />
-<Test name="mediump_uint_int_fragment" />
-<Test name="highp_int_uint_fragment" />
-<Test name="highp_uvec4_uint_fragment" />
-<Test name="mediump_uvec3_uint_vertex" />
-<Test name="mediump_ivec3_int_vertex" />
-<Test name="mediump_uvec3_ivec3_vertex" />
-<Test name="lowp_uvec3_int_vertex" />
-<Test name="lowp_ivec2_int_fragment" />
-<Test name="lowp_uvec3_int_fragment" />
-<Test name="highp_ivec4_uvec4_vertex" />
-<Test name="mediump_uvec2_int_vertex" />
-<Test name="highp_ivec2_fragment" />
-<Test name="mediump_int_uint_vertex" />
-<Test name="lowp_ivec4_uvec4_fragment" />
-<Test name="highp_ivec2_uvec2_fragment" />
-<Test name="mediump_uvec2_uint_vertex" />
-<Test name="highp_uint_int_vertex" />
-<Test name="lowp_int_uint_vertex" />
-<Test name="lowp_uint_int_vertex" />
-<Test name="mediump_uvec2_ivec2_fragment" />
-<Test name="lowp_uint_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="mediump_ivec2_uvec2_vertex" />
-<Test name="mediump_ivec3_uint_fragment" />
-<Test name="highp_ivec4_uint_vertex" />
-<Test name="mediump_uvec2_int_fragment" />
-<Test name="mediump_uvec2_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="highp_uvec3_int_fragment" />
-<Test name="lowp_uvec3_ivec3_fragment" />
-<Test name="highp_ivec3_vertex" />
-<Test name="highp_uvec3_uint_fragment" />
-<Test name="highp_ivec2_uvec2_vertex" />
-<Test name="lowp_ivec2_uint_fragment" />
-<Test name="highp_ivec2_int_vertex" />
-<Test name="mediump_ivec2_uint_vertex" />
-<Test name="lowp_ivec3_uint_vertex" />
-<Test name="lowp_ivec2_int_vertex" />
-<Test name="lowp_ivec2_uvec2_fragment" />
-<Test name="lowp_int_fragment" />
-<Test name="lowp_int_vertex" />
-</TestCase>
-<TestCase name="mod">
-<Test name="highp_ivec3_fragment" />
-<Test name="lowp_uvec3_fragment" />
-<Test name="highp_int_ivec3_vertex" />
-<Test name="mediump_uvec3_vertex" />
-<Test name="lowp_uvec2_fragment" />
-<Test name="highp_uvec3_uint_vertex" />
-<Test name="lowp_uvec3_uint_fragment" />
-<Test name="lowp_uint_uvec2_fragment" />
-<Test name="highp_ivec4_fragment" />
-<Test name="mediump_ivec2_int_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="mediump_ivec2_int_vertex" />
-<Test name="mediump_int_vertex" />
-<Test name="highp_uvec4_uint_vertex" />
-<Test name="highp_int_fragment" />
-<Test name="highp_uint_vertex" />
-<Test name="mediump_uint_vertex" />
-<Test name="mediump_uvec4_uint_vertex" />
-<Test name="lowp_int_ivec4_fragment" />
-<Test name="mediump_uint_uvec4_vertex" />
-<Test name="highp_uint_fragment" />
-<Test name="lowp_uvec4_uint_fragment" />
-<Test name="lowp_uvec2_uint_fragment" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="lowp_uint_uvec3_vertex" />
-<Test name="lowp_uvec4_fragment" />
-<Test name="lowp_uint_uvec4_fragment" />
-<Test name="lowp_uvec3_vertex" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="mediump_uvec3_uint_fragment" />
-<Test name="highp_uvec2_uint_fragment" />
-<Test name="lowp_int_ivec3_vertex" />
-<Test name="lowp_uint_uvec2_vertex" />
-<Test name="highp_uint_uvec4_fragment" />
-<Test name="mediump_int_ivec2_vertex" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="highp_uint_uvec4_vertex" />
-<Test name="highp_uint_uvec2_fragment" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="highp_int_ivec2_vertex" />
-<Test name="highp_uvec2_vertex" />
-<Test name="lowp_ivec3_int_vertex" />
-<Test name="lowp_int_ivec3_fragment" />
-<Test name="lowp_uint_uvec4_vertex" />
-<Test name="highp_int_ivec4_vertex" />
-<Test name="lowp_uvec2_uint_vertex" />
-<Test name="highp_ivec3_int_vertex" />
-<Test name="mediump_uint_uvec3_vertex" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="mediump_uint_uvec2_fragment" />
-<Test name="lowp_ivec2_int_fragment" />
-<Test name="highp_ivec3_int_fragment" />
-<Test name="mediump_uint_uvec4_fragment" />
-<Test name="highp_uvec3_vertex" />
-<Test name="lowp_ivec4_int_vertex" />
-<Test name="highp_uvec4_fragment" />
-<Test name="highp_uint_uvec2_vertex" />
-<Test name="highp_ivec4_int_fragment" />
-<Test name="lowp_uint_uvec3_fragment" />
-<Test name="highp_int_ivec4_fragment" />
-<Test name="mediump_uvec3_uint_vertex" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="mediump_uvec2_uint_fragment" />
-<Test name="lowp_uvec4_uint_vertex" />
-<Test name="mediump_uint_fragment" />
-<Test name="mediump_uint_uvec2_vertex" />
-<Test name="mediump_uvec4_fragment" />
-<Test name="mediump_uvec3_fragment" />
-<Test name="highp_ivec4_int_vertex" />
-<Test name="mediump_uvec4_uint_fragment" />
-<Test name="lowp_uvec3_uint_vertex" />
-<Test name="lowp_int_ivec2_fragment" />
-<Test name="lowp_uvec2_vertex" />
-<Test name="highp_uvec2_fragment" />
-<Test name="lowp_uvec4_vertex" />
-<Test name="lowp_uint_fragment" />
-<Test name="highp_ivec2_vertex" />
-<Test name="lowp_int_ivec2_vertex" />
-<Test name="mediump_ivec4_int_vertex" />
-<Test name="mediump_uvec4_vertex" />
-<Test name="mediump_ivec4_int_fragment" />
-<Test name="highp_uvec3_fragment" />
-<Test name="highp_uvec2_uint_vertex" />
-<Test name="highp_uint_uvec3_vertex" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="lowp_ivec3_int_fragment" />
-<Test name="highp_ivec2_int_fragment" />
-<Test name="mediump_int_ivec2_fragment" />
-<Test name="mediump_ivec3_int_fragment" />
-<Test name="mediump_int_ivec3_vertex" />
-<Test name="mediump_int_fragment" />
-<Test name="highp_int_ivec3_fragment" />
-<Test name="highp_uvec4_uint_fragment" />
-<Test name="highp_uint_uvec3_fragment" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="mediump_ivec3_int_vertex" />
-<Test name="lowp_int_ivec4_vertex" />
-<Test name="highp_int_ivec2_fragment" />
-<Test name="mediump_int_ivec3_fragment" />
-<Test name="highp_int_vertex" />
-<Test name="highp_ivec2_fragment" />
-<Test name="mediump_int_ivec4_vertex" />
-<Test name="mediump_int_ivec4_fragment" />
-<Test name="mediump_uvec2_uint_vertex" />
-<Test name="lowp_int_fragment" />
-<Test name="lowp_uint_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="highp_uvec4_vertex" />
-<Test name="lowp_ivec4_int_fragment" />
-<Test name="mediump_uvec2_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="highp_ivec3_vertex" />
-<Test name="highp_uvec3_uint_fragment" />
-<Test name="highp_ivec2_int_vertex" />
-<Test name="mediump_uvec2_vertex" />
-<Test name="lowp_ivec2_int_vertex" />
-<Test name="mediump_uint_uvec3_fragment" />
-<Test name="lowp_int_vertex" />
-</TestCase>
-<TestCase name="not_equal">
-<Test name="highp_ivec3_fragment" />
-<Test name="lowp_vec3_vertex" />
-<Test name="highp_float_fragment" />
-<Test name="lowp_uvec3_fragment" />
-<Test name="mediump_vec4_vertex" />
-<Test name="lowp_uvec3_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="lowp_float_vertex" />
-<Test name="mediump_float_fragment" />
-<Test name="mediump_uvec3_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="lowp_vec2_vertex" />
-<Test name="lowp_float_fragment" />
-<Test name="lowp_uvec2_vertex" />
-<Test name="mediump_vec3_vertex" />
-<Test name="bvec4_vertex" />
-<Test name="mediump_uvec3_vertex" />
-<Test name="mediump_vec3_fragment" />
-<Test name="bool_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="highp_ivec4_fragment" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="highp_vec3_vertex" />
-<Test name="lowp_vec3_fragment" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="lowp_uvec2_fragment" />
-<Test name="highp_uvec2_vertex" />
-<Test name="bool_vertex" />
-<Test name="highp_uvec2_fragment" />
-<Test name="mediump_int_vertex" />
-<Test name="bvec3_vertex" />
-<Test name="highp_vec3_fragment" />
-<Test name="highp_int_vertex" />
-<Test name="lowp_uint_vertex" />
-<Test name="lowp_uvec4_vertex" />
-<Test name="highp_ivec2_fragment" />
-<Test name="lowp_uint_fragment" />
-<Test name="highp_int_fragment" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_uint_vertex" />
-<Test name="mediump_uint_vertex" />
-<Test name="bvec4_fragment" />
-<Test name="highp_float_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_uint_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_uvec3_fragment" />
-<Test name="mediump_uvec4_vertex" />
-<Test name="bvec2_fragment" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="highp_uvec3_vertex" />
-<Test name="highp_uint_fragment" />
-<Test name="lowp_vec2_fragment" />
-<Test name="bvec2_vertex" />
-<Test name="lowp_vec4_fragment" />
-<Test name="highp_uvec4_fragment" />
-<Test name="mediump_uvec2_fragment" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="highp_ivec3_vertex" />
-<Test name="lowp_int_fragment" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="mediump_uvec4_fragment" />
-<Test name="mediump_uvec2_vertex" />
-<Test name="bvec3_fragment" />
-<Test name="lowp_uvec4_fragment" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="highp_uvec4_vertex" />
-<Test name="highp_ivec2_vertex" />
-<Test name="mediump_int_fragment" />
-<Test name="lowp_int_vertex" />
-</TestCase>
-<TestCase name="less_or_equal">
-<Test name="mediump_uint_fragment" />
-<Test name="highp_float_fragment" />
-<Test name="lowp_float_fragment" />
-<Test name="highp_uint_vertex" />
-<Test name="mediump_uint_vertex" />
-<Test name="highp_float_vertex" />
-<Test name="lowp_float_vertex" />
-<Test name="mediump_float_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_int_vertex" />
-<Test name="lowp_int_fragment" />
-<Test name="highp_int_vertex" />
-<Test name="lowp_int_vertex" />
-<Test name="lowp_uint_vertex" />
-<Test name="highp_uint_fragment" />
-<Test name="mediump_int_fragment" />
-<Test name="lowp_uint_fragment" />
-<Test name="highp_int_fragment" />
-</TestCase>
-<TestCase name="logical_or">
-<Test name="bool_fragment" />
-<Test name="bool_vertex" />
-</TestCase>
-<TestCase name="left_shift">
-<Test name="highp_ivec3_fragment" />
-<Test name="mediump_uvec2_ivec2_vertex" />
-<Test name="lowp_uvec3_fragment" />
-<Test name="mediump_uvec3_vertex" />
-<Test name="lowp_ivec4_uvec4_vertex" />
-<Test name="lowp_uvec2_fragment" />
-<Test name="highp_uvec3_uint_vertex" />
-<Test name="lowp_uvec3_uint_fragment" />
-<Test name="highp_uvec2_int_vertex" />
-<Test name="highp_ivec4_fragment" />
-<Test name="mediump_ivec2_int_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="highp_ivec3_uvec3_fragment" />
-<Test name="mediump_ivec2_int_vertex" />
-<Test name="mediump_int_vertex" />
-<Test name="highp_uvec4_uint_vertex" />
-<Test name="highp_int_vertex" />
-<Test name="lowp_uvec2_ivec2_vertex" />
-<Test name="highp_ivec4_uvec4_fragment" />
-<Test name="highp_ivec3_uvec3_vertex" />
-<Test name="highp_uvec4_int_fragment" />
-<Test name="lowp_ivec4_uint_fragment" />
-<Test name="highp_int_fragment" />
-<Test name="highp_uint_vertex" />
-<Test name="mediump_int_uint_fragment" />
-<Test name="mediump_uint_vertex" />
-<Test name="highp_uvec3_ivec3_vertex" />
-<Test name="mediump_uvec4_uint_vertex" />
-<Test name="mediump_uvec4_int_fragment" />
-<Test name="highp_ivec4_uint_fragment" />
-<Test name="lowp_uvec4_uint_fragment" />
-<Test name="lowp_uvec2_uint_fragment" />
-<Test name="mediump_uvec3_ivec3_fragment" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="lowp_uvec3_ivec3_vertex" />
-<Test name="mediump_ivec4_uvec4_vertex" />
-<Test name="lowp_uvec4_ivec4_fragment" />
-<Test name="lowp_ivec3_uvec3_fragment" />
-<Test name="highp_uvec2_ivec2_vertex" />
-<Test name="mediump_uvec4_int_vertex" />
-<Test name="lowp_uvec3_vertex" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="mediump_uvec3_uint_fragment" />
-<Test name="highp_uvec2_uint_fragment" />
-<Test name="lowp_uvec2_int_vertex" />
-<Test name="mediump_ivec2_uvec2_fragment" />
-<Test name="mediump_uvec4_ivec4_fragment" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="highp_uvec2_vertex" />
-<Test name="lowp_int_uint_fragment" />
-<Test name="lowp_ivec3_int_vertex" />
-<Test name="mediump_uint_int_vertex" />
-<Test name="lowp_ivec2_uint_vertex" />
-<Test name="highp_uvec4_ivec4_vertex" />
-<Test name="mediump_ivec2_uint_fragment" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="lowp_uvec2_uint_vertex" />
-<Test name="highp_ivec3_int_vertex" />
-<Test name="mediump_ivec4_uint_fragment" />
-<Test name="lowp_uvec4_fragment" />
-<Test name="mediump_uvec4_ivec4_vertex" />
-<Test name="lowp_ivec2_uvec2_vertex" />
-<Test name="highp_uvec3_vertex" />
-<Test name="lowp_uint_int_fragment" />
-<Test name="lowp_ivec4_int_vertex" />
-<Test name="highp_uvec4_fragment" />
-<Test name="highp_ivec3_int_fragment" />
-<Test name="highp_ivec4_int_fragment" />
-<Test name="highp_uint_fragment" />
-<Test name="lowp_uvec4_ivec4_vertex" />
-<Test name="mediump_uvec3_int_fragment" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="mediump_uvec2_uint_fragment" />
-<Test name="lowp_uvec4_uint_vertex" />
-<Test name="mediump_uint_fragment" />
-<Test name="mediump_uvec4_fragment" />
-<Test name="highp_ivec2_uint_fragment" />
-<Test name="mediump_uvec3_fragment" />
-<Test name="mediump_ivec4_uint_vertex" />
-<Test name="highp_ivec4_int_vertex" />
-<Test name="highp_uvec2_fragment" />
-<Test name="mediump_uvec4_uint_fragment" />
-<Test name="highp_uvec3_int_vertex" />
-<Test name="lowp_uvec3_uint_vertex" />
-<Test name="lowp_uvec4_int_fragment" />
-<Test name="mediump_ivec3_uvec3_vertex" />
-<Test name="highp_int_uint_vertex" />
-<Test name="lowp_uvec2_vertex" />
-<Test name="highp_uvec2_int_fragment" />
-<Test name="lowp_ivec4_int_fragment" />
-<Test name="lowp_uvec4_vertex" />
-<Test name="highp_uvec3_ivec3_fragment" />
-<Test name="lowp_uint_fragment" />
-<Test name="highp_ivec2_vertex" />
-<Test name="lowp_ivec3_uvec3_vertex" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="mediump_ivec4_uvec4_fragment" />
-<Test name="highp_uvec4_int_vertex" />
-<Test name="highp_ivec3_uint_fragment" />
-<Test name="mediump_ivec4_int_vertex" />
-<Test name="highp_uvec2_ivec2_fragment" />
-<Test name="mediump_uvec4_vertex" />
-<Test name="mediump_ivec4_int_fragment" />
-<Test name="mediump_ivec3_uint_vertex" />
-<Test name="highp_uvec3_fragment" />
-<Test name="highp_ivec3_uint_vertex" />
-<Test name="mediump_uvec3_int_vertex" />
-<Test name="highp_uvec2_uint_vertex" />
-<Test name="mediump_ivec3_uvec3_fragment" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="lowp_uvec2_ivec2_fragment" />
-<Test name="lowp_ivec3_int_fragment" />
-<Test name="highp_ivec2_int_fragment" />
-<Test name="mediump_ivec3_int_fragment" />
-<Test name="lowp_uvec4_int_vertex" />
-<Test name="mediump_uvec2_vertex" />
-<Test name="lowp_ivec3_uint_fragment" />
-<Test name="lowp_ivec4_uint_vertex" />
-<Test name="highp_uvec4_vertex" />
-<Test name="highp_ivec2_uint_vertex" />
-<Test name="mediump_int_fragment" />
-<Test name="lowp_uvec2_int_fragment" />
-<Test name="highp_uint_int_fragment" />
-<Test name="highp_uvec4_ivec4_fragment" />
-<Test name="mediump_uint_int_fragment" />
-<Test name="highp_int_uint_fragment" />
-<Test name="highp_uvec4_uint_fragment" />
-<Test name="mediump_uvec3_uint_vertex" />
-<Test name="mediump_ivec3_int_vertex" />
-<Test name="mediump_uvec3_ivec3_vertex" />
-<Test name="lowp_uvec3_int_vertex" />
-<Test name="lowp_ivec2_int_fragment" />
-<Test name="lowp_uvec3_int_fragment" />
-<Test name="highp_ivec4_uvec4_vertex" />
-<Test name="mediump_uvec2_int_vertex" />
-<Test name="highp_ivec2_fragment" />
-<Test name="mediump_int_uint_vertex" />
-<Test name="lowp_ivec4_uvec4_fragment" />
-<Test name="highp_ivec2_uvec2_fragment" />
-<Test name="mediump_uvec2_uint_vertex" />
-<Test name="highp_uint_int_vertex" />
-<Test name="lowp_int_uint_vertex" />
-<Test name="lowp_uint_int_vertex" />
-<Test name="mediump_uvec2_ivec2_fragment" />
-<Test name="lowp_uint_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="mediump_ivec2_uvec2_vertex" />
-<Test name="mediump_ivec3_uint_fragment" />
-<Test name="highp_ivec4_uint_vertex" />
-<Test name="mediump_uvec2_int_fragment" />
-<Test name="mediump_uvec2_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="highp_uvec3_int_fragment" />
-<Test name="lowp_uvec3_ivec3_fragment" />
-<Test name="highp_ivec3_vertex" />
-<Test name="highp_uvec3_uint_fragment" />
-<Test name="highp_ivec2_uvec2_vertex" />
-<Test name="lowp_ivec2_uint_fragment" />
-<Test name="highp_ivec2_int_vertex" />
-<Test name="mediump_ivec2_uint_vertex" />
-<Test name="lowp_ivec3_uint_vertex" />
-<Test name="lowp_ivec2_int_vertex" />
-<Test name="lowp_ivec2_uvec2_fragment" />
-<Test name="lowp_int_fragment" />
-<Test name="lowp_int_vertex" />
-</TestCase>
-<TestCase name="equal">
-<Test name="highp_ivec3_fragment" />
-<Test name="lowp_vec3_vertex" />
-<Test name="highp_float_fragment" />
-<Test name="lowp_uvec3_fragment" />
-<Test name="mediump_vec4_vertex" />
-<Test name="lowp_uvec3_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="lowp_float_vertex" />
-<Test name="mediump_float_fragment" />
-<Test name="mediump_uvec3_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="lowp_vec2_vertex" />
-<Test name="lowp_float_fragment" />
-<Test name="lowp_uvec2_vertex" />
-<Test name="mediump_vec3_vertex" />
-<Test name="bvec4_vertex" />
-<Test name="mediump_uvec3_vertex" />
-<Test name="mediump_vec3_fragment" />
-<Test name="bool_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="highp_ivec4_fragment" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="highp_vec3_vertex" />
-<Test name="lowp_vec3_fragment" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="lowp_uvec2_fragment" />
-<Test name="highp_uvec2_vertex" />
-<Test name="bool_vertex" />
-<Test name="highp_uvec2_fragment" />
-<Test name="mediump_int_vertex" />
-<Test name="bvec3_vertex" />
-<Test name="highp_vec3_fragment" />
-<Test name="highp_int_vertex" />
-<Test name="lowp_uint_vertex" />
-<Test name="lowp_uvec4_vertex" />
-<Test name="highp_ivec2_fragment" />
-<Test name="lowp_uint_fragment" />
-<Test name="highp_int_fragment" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_uint_vertex" />
-<Test name="mediump_uint_vertex" />
-<Test name="bvec4_fragment" />
-<Test name="highp_float_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="highp_vec2_fragment" />
-<Test name="mediump_uint_fragment" />
-<Test name="mediump_float_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_uvec3_fragment" />
-<Test name="mediump_uvec4_vertex" />
-<Test name="bvec2_fragment" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="highp_uvec3_vertex" />
-<Test name="highp_uint_fragment" />
-<Test name="lowp_vec2_fragment" />
-<Test name="bvec2_vertex" />
-<Test name="lowp_vec4_fragment" />
-<Test name="highp_uvec4_fragment" />
-<Test name="mediump_uvec2_fragment" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="highp_ivec3_vertex" />
-<Test name="lowp_int_fragment" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="mediump_uvec4_fragment" />
-<Test name="mediump_uvec2_vertex" />
-<Test name="bvec3_fragment" />
-<Test name="lowp_uvec4_fragment" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="highp_uvec4_vertex" />
-<Test name="highp_ivec2_vertex" />
-<Test name="mediump_int_fragment" />
-<Test name="lowp_int_vertex" />
-</TestCase>
-<TestCase name="bitwise_xor_assign_result">
-<Test name="highp_ivec3_fragment" />
-<Test name="mediump_uint_fragment" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="lowp_uvec3_fragment" />
-<Test name="mediump_uvec4_fragment" />
-<Test name="lowp_uvec3_vertex" />
-<Test name="mediump_uvec3_vertex" />
-<Test name="mediump_uvec3_fragment" />
-<Test name="highp_uvec3_uint_vertex" />
-<Test name="highp_ivec4_int_vertex" />
-<Test name="lowp_uvec4_uint_fragment" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="highp_uint_fragment" />
-<Test name="highp_uvec2_fragment" />
-<Test name="mediump_uvec4_uint_fragment" />
-<Test name="mediump_ivec3_int_vertex" />
-<Test name="highp_ivec4_fragment" />
-<Test name="mediump_ivec2_int_fragment" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="highp_ivec2_int_vertex" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="lowp_uvec2_fragment" />
-<Test name="highp_uvec2_vertex" />
-<Test name="mediump_uvec3_uint_fragment" />
-<Test name="lowp_uvec2_vertex" />
-<Test name="lowp_ivec3_int_vertex" />
-<Test name="mediump_int_vertex" />
-<Test name="highp_uvec4_uint_vertex" />
-<Test name="highp_int_vertex" />
-<Test name="mediump_ivec2_int_vertex" />
-<Test name="lowp_uvec4_vertex" />
-<Test name="lowp_uvec4_fragment" />
-<Test name="highp_ivec2_fragment" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="lowp_uint_fragment" />
-<Test name="highp_ivec2_vertex" />
-<Test name="lowp_uvec2_uint_vertex" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="highp_ivec3_int_vertex" />
-<Test name="highp_uvec2_uint_fragment" />
-<Test name="highp_uint_vertex" />
-<Test name="lowp_uvec3_uint_vertex" />
-<Test name="mediump_uint_vertex" />
-<Test name="mediump_ivec4_int_vertex" />
-<Test name="mediump_uvec4_uint_vertex" />
-<Test name="mediump_uvec4_vertex" />
-<Test name="highp_ivec2_int_fragment" />
-<Test name="mediump_ivec4_int_fragment" />
-<Test name="lowp_ivec2_int_vertex" />
-<Test name="highp_ivec3_int_fragment" />
-<Test name="highp_uvec3_fragment" />
-<Test name="mediump_uvec2_uint_vertex" />
-<Test name="lowp_uint_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="highp_uvec3_vertex" />
-<Test name="lowp_uvec3_uint_fragment" />
-<Test name="lowp_ivec4_int_vertex" />
-<Test name="highp_uvec2_uint_vertex" />
-<Test name="highp_uvec4_fragment" />
-<Test name="lowp_ivec4_int_fragment" />
-<Test name="mediump_uvec2_fragment" />
-<Test name="highp_ivec4_int_fragment" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="lowp_uvec2_uint_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="lowp_ivec3_int_fragment" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="highp_ivec3_vertex" />
-<Test name="lowp_int_fragment" />
-<Test name="highp_uvec3_uint_fragment" />
-<Test name="mediump_uvec3_uint_vertex" />
-<Test name="mediump_uvec2_vertex" />
-<Test name="mediump_uvec2_uint_fragment" />
-<Test name="mediump_ivec3_int_fragment" />
-<Test name="lowp_ivec2_int_fragment" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="highp_uvec4_vertex" />
-<Test name="highp_int_fragment" />
-<Test name="mediump_int_fragment" />
-<Test name="lowp_uvec4_uint_vertex" />
-<Test name="lowp_int_vertex" />
-<Test name="highp_uvec4_uint_fragment" />
-</TestCase>
-<TestCase name="logical_and">
-<Test name="bool_fragment" />
-<Test name="bool_vertex" />
-</TestCase>
-<TestCase name="div">
-<Test name="highp_ivec3_fragment" />
-<Test name="lowp_uvec3_fragment" />
-<Test name="highp_int_ivec3_vertex" />
-<Test name="highp_float_vec4_fragment" />
-<Test name="mediump_uvec3_vertex" />
-<Test name="mediump_float_fragment" />
-<Test name="highp_uvec3_uint_vertex" />
-<Test name="mediump_vec3_vertex" />
-<Test name="lowp_uint_uvec2_fragment" />
-<Test name="mediump_vec2_float_vertex" />
-<Test name="highp_ivec4_fragment" />
-<Test name="mediump_ivec2_int_fragment" />
-<Test name="lowp_ivec4_fragment" />
-<Test name="mediump_uvec4_fragment" />
-<Test name="lowp_uvec2_fragment" />
-<Test name="mediump_vec3_fragment" />
-<Test name="mediump_int_vertex" />
-<Test name="highp_uvec4_uint_vertex" />
-<Test name="highp_int_fragment" />
-<Test name="highp_float_vec2_vertex" />
-<Test name="highp_vec4_vertex" />
-<Test name="highp_uint_vertex" />
-<Test name="mediump_uint_vertex" />
-<Test name="lowp_vec4_float_vertex" />
-<Test name="mediump_uvec4_uint_vertex" />
-<Test name="highp_vec2_fragment" />
-<Test name="lowp_int_ivec4_fragment" />
-<Test name="mediump_uint_uvec4_vertex" />
-<Test name="lowp_uvec3_uint_fragment" />
-<Test name="lowp_uvec4_uint_fragment" />
-<Test name="mediump_uvec3_uint_vertex" />
-<Test name="highp_vec4_fragment" />
-<Test name="mediump_uvec2_vertex" />
-<Test name="highp_ivec4_vertex" />
-<Test name="mediump_ivec4_vertex" />
-<Test name="lowp_ivec2_fragment" />
-<Test name="lowp_uint_uvec3_vertex" />
-<Test name="lowp_vec3_fragment" />
-<Test name="mediump_float_vec3_fragment" />
-<Test name="lowp_ivec2_int_fragment" />
-<Test name="highp_vec2_float_vertex" />
-<Test name="lowp_uint_uvec4_fragment" />
-<Test name="lowp_uvec3_vertex" />
-<Test name="highp_float_fragment" />
-<Test name="mediump_vec4_vertex" />
-<Test name="mediump_uvec3_uint_fragment" />
-<Test name="highp_uvec2_uint_fragment" />
-<Test name="lowp_vec2_vertex" />
-<Test name="mediump_vec4_float_fragment" />
-<Test name="lowp_int_ivec3_vertex" />
-<Test name="lowp_uint_uvec2_vertex" />
-<Test name="lowp_float_vec2_fragment" />
-<Test name="highp_uint_uvec4_fragment" />
-<Test name="mediump_int_ivec2_vertex" />
-<Test name="mediump_ivec3_fragment" />
-<Test name="highp_uint_uvec4_vertex" />
-<Test name="highp_float_vec3_fragment" />
-<Test name="mediump_ivec2_vertex" />
-<Test name="highp_int_ivec2_vertex" />
-<Test name="highp_uvec2_vertex" />
-<Test name="lowp_ivec3_int_vertex" />
-<Test name="highp_vec3_fragment" />
-<Test name="lowp_int_ivec3_fragment" />
-<Test name="lowp_uint_uvec4_vertex" />
-<Test name="highp_int_ivec4_vertex" />
-<Test name="lowp_uvec2_uint_vertex" />
-<Test name="highp_ivec3_int_vertex" />
-<Test name="lowp_float_fragment" />
-<Test name="mediump_uint_uvec3_vertex" />
-<Test name="lowp_vec4_float_fragment" />
-<Test name="mediump_vec3_float_fragment" />
-<Test name="mediump_uint_uvec2_fragment" />
-<Test name="lowp_uvec4_fragment" />
-<Test name="highp_ivec3_int_fragment" />
-<Test name="mediump_ivec2_fragment" />
-<Test name="highp_uvec3_vertex" />
-<Test name="highp_vec4_float_vertex" />
-<Test name="lowp_ivec4_int_vertex" />
-<Test name="highp_uvec4_fragment" />
-<Test name="highp_float_vec3_vertex" />
-<Test name="lowp_uint_uvec3_fragment" />
-<Test name="highp_ivec4_int_fragment" />
-<Test name="highp_vec2_float_fragment" />
-<Test name="mediump_uint_uvec4_fragment" />
-<Test name="mediump_uvec2_uint_fragment" />
-<Test name="mediump_float_vec4_fragment" />
-<Test name="mediump_ivec2_int_vertex" />
-<Test name="mediump_uint_fragment" />
-<Test name="highp_float_vertex" />
-<Test name="highp_uint_fragment" />
-<Test name="lowp_vec3_vertex" />
-<Test name="lowp_float_vertex" />
-<Test name="mediump_ivec4_fragment" />
-<Test name="mediump_uvec3_fragment" />
-<Test name="mediump_vec2_fragment" />
-<Test name="highp_ivec4_int_vertex" />
-<Test name="lowp_float_vec4_fragment" />
-<Test name="highp_float_vec4_vertex" />
-<Test name="mediump_uvec4_uint_fragment" />
-<Test name="lowp_uvec3_uint_vertex" />
-<Test name="highp_vec4_float_fragment" />
-<Test name="highp_vec3_vertex" />
-<Test name="lowp_int_ivec2_fragment" />
-<Test name="lowp_uvec2_vertex" />
-<Test name="highp_uvec2_fragment" />
-<Test name="lowp_uvec4_vertex" />
-<Test name="highp_uint_uvec2_vertex" />
-<Test name="lowp_uint_fragment" />
-<Test name="highp_ivec2_vertex" />
-<Test name="lowp_ivec4_vertex" />
-<Test name="lowp_uvec4_uint_vertex" />
-<Test name="mediump_ivec4_int_vertex" />
-<Test name="mediump_uvec4_vertex" />
-<Test name="mediump_vec2_vertex" />
-<Test name="mediump_vec4_fragment" />
-<Test name="highp_uvec3_fragment" />
-<Test name="mediump_uint_uvec2_vertex" />
-<Test name="highp_uvec2_uint_vertex" />
-<Test name="lowp_vec4_fragment" />
-<Test name="mediump_float_vec2_fragment" />
-<Test name="highp_uint_uvec3_vertex" />
-<Test name="lowp_ivec2_vertex" />
-<Test name="mediump_vec4_float_vertex" />
-<Test name="lowp_ivec3_int_fragment" />
-<Test name="highp_ivec2_int_fragment" />
-<Test name="mediump_int_ivec2_fragment" />
-<Test name="mediump_ivec3_int_fragment" />
-<Test name="mediump_int_ivec3_vertex" />
-<Test name="mediump_float_vec4_vertex" />
-<Test name="lowp_vec2_float_fragment" />
-<Test name="mediump_float_vec3_vertex" />
-<Test name="mediump_vec2_float_fragment" />
-<Test name="highp_vec2_vertex" />
-<Test name="mediump_int_fragment" />
-<Test name="lowp_vec3_float_fragment" />
-<Test name="highp_uvec4_uint_fragment" />
-<Test name="highp_vec3_float_fragment" />
-<Test name="highp_vec3_float_vertex" />
-<Test name="mediump_vec3_float_vertex" />
-<Test name="lowp_vec4_vertex" />
-<Test name="mediump_float_vertex" />
-<Test name="highp_int_ivec3_fragment" />
-<Test name="highp_float_vec2_fragment" />
-<Test name="lowp_float_vec4_vertex" />
-<Test name="mediump_float_vec2_vertex" />
-<Test name="highp_uint_uvec3_fragment" />
-<Test name="mediump_ivec3_vertex" />
-<Test name="mediump_ivec3_int_vertex" />
-<Test name="lowp_int_ivec4_vertex" />
-<Test name="highp_int_ivec2_fragment" />
-<Test name="highp_ivec2_int_vertex" />
-<Test name="mediump_int_ivec3_fragment" />
-<Test name="highp_int_vertex" />
-<Test name="lowp_vec3_float_vertex" />
-<Test name="lowp_float_vec3_fragment" />
-<Test name="highp_ivec2_fragment" />
-<Test name="lowp_float_vec2_vertex" />
-<Test name="mediump_int_ivec4_vertex" />
-<Test name="mediump_int_ivec4_fragment" />
-<Test name="mediump_uvec2_uint_vertex" />
-<Test name="lowp_uvec2_uint_fragment" />
-<Test name="lowp_int_fragment" />
-<Test name="lowp_uint_vertex" />
-<Test name="lowp_ivec3_fragment" />
-<Test name="lowp_vec2_fragment" />
-<Test name="highp_uvec4_vertex" />
-<Test name="lowp_ivec4_int_fragment" />
-<Test name="mediump_uvec2_fragment" />
-<Test name="mediump_ivec4_int_fragment" />
-<Test name="lowp_ivec3_vertex" />
-<Test name="highp_uint_uvec2_fragment" />
-<Test name="highp_ivec3_vertex" />
-<Test name="highp_uvec3_uint_fragment" />
-<Test name="lowp_float_vec3_vertex" />
-<Test name="lowp_int_ivec2_vertex" />
-<Test name="highp_int_ivec4_fragment" />
-<Test name="lowp_vec2_float_vertex" />
-<Test name="lowp_ivec2_int_vertex" />
-<Test name="mediump_uint_uvec3_fragment" />
-<Test name="lowp_int_vertex" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-<TestSuite name="scoping">
-<TestCase name="valid">
-<Test name="local_variable_hides_function_fragment" />
-<Test name="local_variable_in_inner_scope_hides_function_parameter_fragment" />
-<Test name="local_variable_hides_global_variable_fragment" />
-<Test name="block_variable_hides_global_variable_fragment" />
-<Test name="local_struct_variable_hides_struct_type_vertex" />
-<Test name="local_int_variable_hides_struct_type_fragment" />
-<Test name="block_variable_hides_local_variable_fragment" />
-<Test name="function_parameter_hides_struct_type_fragment" />
-<Test name="function_parameter_hides_global_variable_vertex" />
-<Test name="redeclare_function_vertex" />
-<Test name="local_variable_in_inner_scope_hides_function_parameter_vertex" />
-<Test name="function_parameter_hides_function_fragment" />
-<Test name="local_struct_variable_hides_struct_type_fragment" />
-<Test name="block_variable_hides_local_variable_vertex" />
-<Test name="function_parameter_hides_function_vertex" />
-<Test name="function_parameter_hides_struct_type_vertex" />
-<Test name="local_variable_hides_function_vertex" />
-<Test name="variable_from_outer_scope_visible_in_initializer_fragment" />
-<Test name="block_variable_hides_global_variable_vertex" />
-<Test name="variable_from_outer_scope_visible_in_initializer_vertex" />
-<Test name="local_int_variable_hides_struct_type_vertex" />
-<Test name="local_variable_hides_global_variable_vertex" />
-<Test name="redeclare_function_fragment" />
-<Test name="function_parameter_hides_global_variable_fragment" />
-</TestCase>
-<TestCase name="invalid">
-<Test name="use_variable_from_for_init_statement_in_outer_scope_vertex" />
-<Test name="redeclare_while_condition_variable_vertex" />
-<Test name="use_struct_type_before_declaration_vertex" />
-<Test name="redeclare_builtin_vertex" />
-<Test name="conflict_function_variable_vertex" />
-<Test name="use_struct_type_before_declaration_fragment" />
-<Test name="use_function_before_declaration_vertex" />
-<Test name="use_local_variable_before_declaration_vertex" />
-<Test name="redeclare_local_variable_vertex" />
-<Test name="variable_not_visible_in_own_initializer_vertex" />
-<Test name="redeclare_global_variable_fragment" />
-<Test name="redeclare_for_init_statement_variable_in_for_condition_fragment" />
-<Test name="use_parameter_names_from_function_declaration_vertex" />
-<Test name="redeclare_for_init_statement_variable_in_for_condition_vertex" />
-<Test name="use_variable_from_block_in_outer_scope_vertex" />
-<Test name="conflict_function_variable_fragment" />
-<Test name="redefine_function_vertex" />
-<Test name="conflict_function_struct_fragment" />
-<Test name="redeclare_for_condition_variable_fragment" />
-<Test name="redeclare_builtin_fragment" />
-<Test name="redeclare_for_condition_variable_vertex" />
-<Test name="use_parameter_names_from_function_declaration_fragment" />
-<Test name="variable_not_visible_in_own_initializer_fragment" />
-<Test name="use_function_before_declaration_fragment" />
-<Test name="redefine_function_fragment" />
-<Test name="conflict_function_struct_vertex" />
-<Test name="use_variable_from_for_init_statement_in_outer_scope_fragment" />
-<Test name="redeclare_while_condition_variable_fragment" />
-<Test name="local_variable_hides_function_parameter_fragment" />
-<Test name="use_variable_from_block_in_outer_scope_fragment" />
-<Test name="use_global_variable_before_declaration_fragment" />
-<Test name="redeclare_global_variable_vertex" />
-<Test name="use_global_variable_before_declaration_vertex" />
-<Test name="local_variable_hides_function_parameter_vertex" />
-<Test name="use_local_variable_before_declaration_fragment" />
-<Test name="redeclare_local_variable_fragment" />
-</TestCase>
-</TestSuite>
-<TestSuite name="constant_expressions">
-<TestCase name="operators">
-<Test name="compare_fragment" />
-<Test name="math_mat_fragment" />
-<Test name="bitwise_fragment" />
-<Test name="selection_vertex" />
-<Test name="math_int_fragment" />
-<Test name="math_vec_vertex" />
-<Test name="bitwise_vertex" />
-<Test name="logical_vertex" />
-<Test name="math_float_vertex" />
-<Test name="compare_vertex" />
-<Test name="math_mat_vertex" />
-<Test name="math_int_vertex" />
-<Test name="math_ivec_vertex" />
-<Test name="math_ivec_fragment" />
-<Test name="logical_fragment" />
-<Test name="math_float_fragment" />
-<Test name="math_vec_fragment" />
-<Test name="selection_fragment" />
-</TestCase>
-<TestCase name="other">
-<Test name="switch_case_fragment" />
-<Test name="switch_case_vertex" />
-</TestCase>
-<TestCase name="trivial">
-<Test name="cast_vertex" />
-<Test name="int_vertex" />
-<Test name="cast_fragment" />
-<Test name="bool_vertex" />
-<Test name="int_fragment" />
-<Test name="float_vertex" />
-<Test name="bool_fragment" />
-<Test name="float_fragment" />
-</TestCase>
-<TestSuite name="builtin_functions">
-<TestCase name="geometric">
-<Test name="dot_vec3_vertex" />
-<Test name="dot_vec4_vertex" />
-<Test name="normalize_float_vertex" />
-<Test name="length_vec4_fragment" />
-<Test name="length_vec4_vertex" />
-<Test name="length_vec3_fragment" />
-<Test name="length_vec2_vertex" />
-<Test name="dot_vec2_fragment" />
-<Test name="length_vec3_vertex" />
-<Test name="dot_vec2_vertex" />
-<Test name="dot_vec3_fragment" />
-<Test name="normalize_float_fragment" />
-<Test name="length_float_fragment" />
-<Test name="normalize_vec2_fragment" />
-<Test name="normalize_vec2_vertex" />
-<Test name="dot_float_vertex" />
-<Test name="dot_vec4_fragment" />
-<Test name="dot_float_fragment" />
-<Test name="length_float_vertex" />
-<Test name="length_vec2_fragment" />
-<Test name="normalize_vec3_fragment" />
-<Test name="normalize_vec4_vertex" />
-<Test name="normalize_vec4_fragment" />
-<Test name="normalize_vec3_vertex" />
-</TestCase>
-<TestCase name="angle_and_trigonometry">
-<Test name="sin_vec4_fragment" />
-<Test name="cos_vec2_fragment" />
-<Test name="sin_vec2_fragment" />
-<Test name="sin_float_fragment" />
-<Test name="cos_vec3_fragment" />
-<Test name="sin_vec3_vertex" />
-<Test name="sin_float_vertex" />
-<Test name="cos_vec4_fragment" />
-<Test name="sin_vec2_vertex" />
-<Test name="sin_vec4_vertex" />
-<Test name="cos_vec2_vertex" />
-<Test name="cos_vec4_vertex" />
-<Test name="cos_float_fragment" />
-<Test name="cos_vec3_vertex" />
-<Test name="sin_vec3_fragment" />
-<Test name="cos_float_vertex" />
-</TestCase>
-<TestCase name="exponential">
-<Test name="sqrt_float_vertex" />
-<Test name="log_vec3_fragment" />
-<Test name="exp_vec2_vertex" />
-<Test name="sqrt_float_fragment" />
-<Test name="exp2_vec2_vertex" />
-<Test name="pow_vec3_vertex" />
-<Test name="pow_vec4_fragment" />
-<Test name="exp_vec3_vertex" />
-<Test name="log2_vec3_vertex" />
-<Test name="log2_vec2_vertex" />
-<Test name="log2_vec4_vertex" />
-<Test name="exp2_float_vertex" />
-<Test name="log_vec4_vertex" />
-<Test name="pow_vec2_vertex" />
-<Test name="exp2_vec4_fragment" />
-<Test name="sqrt_vec3_vertex" />
-<Test name="log_vec3_vertex" />
-<Test name="exp_float_vertex" />
-<Test name="exp_vec4_fragment" />
-<Test name="exp_vec3_fragment" />
-<Test name="exp2_float_fragment" />
-<Test name="pow_vec2_fragment" />
-<Test name="sqrt_vec4_fragment" />
-<Test name="log2_vec4_fragment" />
-<Test name="log_vec2_vertex" />
-<Test name="exp_vec4_vertex" />
-<Test name="pow_vec3_fragment" />
-<Test name="log_float_fragment" />
-<Test name="log2_vec2_fragment" />
-<Test name="log_vec2_fragment" />
-<Test name="pow_vec4_vertex" />
-<Test name="sqrt_vec2_fragment" />
-<Test name="log_float_vertex" />
-<Test name="log2_vec3_fragment" />
-<Test name="sqrt_vec2_vertex" />
-<Test name="log_vec4_fragment" />
-<Test name="pow_float_vertex" />
-<Test name="exp_vec2_fragment" />
-<Test name="exp_float_fragment" />
-<Test name="pow_float_fragment" />
-<Test name="exp2_vec4_vertex" />
-<Test name="exp2_vec3_vertex" />
-<Test name="exp2_vec2_fragment" />
-<Test name="sqrt_vec4_vertex" />
-<Test name="log2_float_fragment" />
-<Test name="log2_float_vertex" />
-<Test name="sqrt_vec3_fragment" />
-<Test name="exp2_vec3_fragment" />
-</TestCase>
-<TestCase name="common">
-<Test name="sign_vec4_vertex" />
-<Test name="max_vec2_float_fragment" />
-<Test name="floor_vec2_vertex" />
-<Test name="abs_vec4_fragment" />
-<Test name="min_vec2_fragment" />
-<Test name="sign_vec4_fragment" />
-<Test name="floor_vec2_fragment" />
-<Test name="max_vec3_float_vertex" />
-<Test name="max_vec4_vertex" />
-<Test name="ceil_vec3_vertex" />
-<Test name="clamp_vec4_vertex" />
-<Test name="max_vec4_float_fragment" />
-<Test name="clamp_vec2_fragment" />
-<Test name="clamp_vec3_float_vertex" />
-<Test name="clamp_float_vertex" />
-<Test name="sign_vec3_vertex" />
-<Test name="ceil_float_fragment" />
-<Test name="clamp_vec4_fragment" />
-<Test name="min_vec2_vertex" />
-<Test name="min_vec2_float_fragment" />
-<Test name="min_vec4_fragment" />
-<Test name="max_float_vertex" />
-<Test name="abs_vec3_fragment" />
-<Test name="abs_vec4_vertex" />
-<Test name="min_vec3_fragment" />
-<Test name="abs_float_vertex" />
-<Test name="max_float_fragment" />
-<Test name="clamp_vec2_float_vertex" />
-<Test name="sign_float_vertex" />
-<Test name="ceil_float_vertex" />
-<Test name="min_vec3_vertex" />
-<Test name="min_vec3_float_vertex" />
-<Test name="ceil_vec4_vertex" />
-<Test name="abs_vec2_vertex" />
-<Test name="floor_float_fragment" />
-<Test name="clamp_vec4_float_fragment" />
-<Test name="min_vec3_float_fragment" />
-<Test name="floor_float_vertex" />
-<Test name="floor_vec4_vertex" />
-<Test name="sign_vec2_fragment" />
-<Test name="min_vec4_float_vertex" />
-<Test name="sign_vec2_vertex" />
-<Test name="abs_float_fragment" />
-<Test name="max_vec4_float_vertex" />
-<Test name="clamp_vec2_vertex" />
-<Test name="ceil_vec4_fragment" />
-<Test name="max_vec3_fragment" />
-<Test name="min_float_fragment" />
-<Test name="max_vec2_float_vertex" />
-<Test name="floor_vec4_fragment" />
-<Test name="min_vec2_float_vertex" />
-<Test name="clamp_float_fragment" />
-<Test name="abs_vec2_fragment" />
-<Test name="ceil_vec3_fragment" />
-<Test name="max_vec3_vertex" />
-<Test name="max_vec4_fragment" />
-<Test name="max_vec3_float_fragment" />
-<Test name="clamp_vec2_float_fragment" />
-<Test name="sign_float_fragment" />
-<Test name="clamp_vec3_fragment" />
-<Test name="floor_vec3_fragment" />
-<Test name="clamp_vec3_float_fragment" />
-<Test name="max_vec2_vertex" />
-<Test name="clamp_vec4_float_vertex" />
-<Test name="floor_vec3_vertex" />
-<Test name="max_vec2_fragment" />
-<Test name="min_vec4_float_fragment" />
-<Test name="abs_vec3_vertex" />
-<Test name="min_vec4_vertex" />
-<Test name="clamp_vec3_vertex" />
-<Test name="min_float_vertex" />
-<Test name="sign_vec3_fragment" />
-<Test name="ceil_vec2_fragment" />
-<Test name="ceil_vec2_vertex" />
-</TestCase>
-</TestSuite>
-<TestCase name="complex_types">
-<Test name="array_size_vertex" />
-<Test name="nested_struct_vertex" />
-<Test name="array_size_fragment" />
-<Test name="nested_struct_fragment" />
-<Test name="struct_fragment" />
-<Test name="struct_vertex" />
-</TestCase>
-</TestSuite>
-<TestSuite name="functions">
-<TestCase name="declarations">
-<Test name="double_declare_fragment" />
-<Test name="in_vs_no_in_fragment" />
-<Test name="basic_vertex" />
-<Test name="default_vs_explicit_precision_vertex" />
-<Test name="basic_arg_vertex" />
-<Test name="void_vs_no_void_fragment" />
-<Test name="basic_fragment" />
-<Test name="define_after_use_vertex" />
-<Test name="in_vs_no_in_vertex" />
-<Test name="declare_after_define_fragment" />
-<Test name="default_vs_explicit_precision_fragment" />
-<Test name="double_declare_vertex" />
-<Test name="basic_arg_fragment" />
-<Test name="declare_after_define_vertex" />
-<Test name="define_after_use_fragment" />
-<Test name="void_vs_no_void_vertex" />
-</TestCase>
-<TestCase name="misc">
-<Test name="multi_arg_float_fragment" />
-<Test name="multi_arg_float_vertex" />
-<Test name="multi_arg_int_vertex" />
-<Test name="argument_eval_order_2_vertex" />
-<Test name="argument_eval_order_1_vertex" />
-<Test name="argument_eval_order_1_fragment" />
-<Test name="multi_arg_int_fragment" />
-<Test name="argument_eval_order_2_fragment" />
-</TestCase>
-<TestCase name="invalid">
-<Test name="local_function_definition_vertex" />
-<Test name="out_local_vertex" />
-<Test name="inout_local_vertex" />
-<Test name="local_function_definition_fragment" />
-<Test name="continue_in_body_fragment" />
-<Test name="missing_return_type_fragment" />
-<Test name="in_return_type_vertex" />
-<Test name="basic_recursion_fragment" />
-<Test name="argument_in_out_overload_fragment" />
-<Test name="argument_scalar_vector_mismatch_fragment" />
-<Test name="const_overload_fragment" />
-<Test name="dynamic_conditional_recursion_vertex" />
-<Test name="call_before_definition_vertex" />
-<Test name="main_has_arguments_fragment" />
-<Test name="call_before_definition_fragment" />
-<Test name="prototype_mismatch_return_type_fragment" />
-<Test name="write_const_array_arg_fragment" />
-<Test name="return_type_const_overload_fragment" />
-<Test name="basic_recursion_vertex" />
-<Test name="uniform_argument_fragment" />
-<Test name="prototype_mismatch_argument_array_const_vertex" />
-<Test name="uniform_argument_vertex" />
-<Test name="write_const_array_arg_vertex" />
-<Test name="argument_scalar_vector_mismatch_vertex" />
-<Test name="return_type_overload_vertex" />
-<Test name="argument_out_inout_overload_vertex" />
-<Test name="return_type_precision_overload_fragment" />
-<Test name="return_without_value_fragment" />
-<Test name="argument_vector_size_mismatch_fragment" />
-<Test name="continue_in_body_vertex" />
-<Test name="break_in_body_fragment" />
-<Test name="argument_in_inout_overload_vertex" />
-<Test name="out_return_type_fragment" />
-<Test name="main_invalid_return_type_vertex" />
-<Test name="out_return_type_vertex" />
-<Test name="argument_in_out_overload_vertex" />
-<Test name="prototype_mismatch_array_inout_fragment" />
-<Test name="inout_return_type_fragment" />
-<Test name="argument_out_inout_overload_fragment" />
-<Test name="main_missing_return_type_vertex" />
-<Test name="return_without_value_vertex" />
-<Test name="prototype_mismatch_array_inout_vertex" />
-<Test name="prototype_mismatch_argument_const_fragment" />
-<Test name="out_local_fragment" />
-<Test name="main_missing_return_type_fragment" />
-<Test name="uniform_local_vertex" />
-<Test name="return_value_from_void_function_vertex" />
-<Test name="return_type_precision_overload_vertex" />
-<Test name="dynamic_conditional_recursion_fragment" />
-<Test name="prototype_mismatch_return_type_vertex" />
-<Test name="simple_tail_recursion_vertex" />
-<Test name="argument_basetype_mismatch_vertex" />
-<Test name="name_type_conflict_vertex" />
-<Test name="return_value_from_void_function_fragment" />
-<Test name="const_overload_vertex" />
-<Test name="prototype_unspecified_array_size_vertex" />
-<Test name="write_const_arg_fragment" />
-<Test name="argument_vector_size_mismatch_vertex" />
-<Test name="call_mismatch_argument_array_size_fragment" />
-<Test name="dynamic_loop_recursion_fragment" />
-<Test name="argument_precision_overload_vertex" />
-<Test name="prototype_mismatch_argument_const_vertex" />
-<Test name="missing_return_type_vertex" />
-<Test name="break_in_body_vertex" />
-<Test name="duplicate_function_vertex" />
-<Test name="write_const_arg_vertex" />
-<Test name="main_has_arguments_vertex" />
-<Test name="missing_argument_type_vertex" />
-<Test name="uniform_local_fragment" />
-<Test name="missing_arguments_vertex" />
-<Test name="prototype_unspecified_array_size_fragment" />
-<Test name="return_type_overload_fragment" />
-<Test name="modify_const_arg_fragment" />
-<Test name="dynamic_switch_recursion_vertex" />
-<Test name="call_mismatch_argument_array_size_vertex" />
-<Test name="missing_argument_type_fragment" />
-<Test name="return_type_const_overload_vertex" />
-<Test name="argument_precision_overload_fragment" />
-<Test name="prototype_mismatch_argument_array_const_fragment" />
-<Test name="dynamic_switch_recursion_fragment" />
-<Test name="name_type_conflict_fragment" />
-<Test name="argument_in_inout_overload_fragment" />
-<Test name="missing_arguments_fragment" />
-<Test name="extra_arguments_fragment" />
-<Test name="modify_const_arg_vertex" />
-<Test name="in_local_vertex" />
-<Test name="duplicate_function_fragment" />
-<Test name="in_return_type_fragment" />
-<Test name="main_invalid_return_type_fragment" />
-<Test name="inout_local_fragment" />
-<Test name="dynamic_loop_recursion_vertex" />
-<Test name="argument_basetype_mismatch_fragment" />
-<Test name="simple_tail_recursion_fragment" />
-<Test name="extra_arguments_vertex" />
-<Test name="in_local_fragment" />
-<Test name="inout_return_type_vertex" />
-</TestCase>
-<TestCase name="qualifiers">
-<Test name="const_int_fragment" />
-<Test name="out_lowp_int_vertex" />
-<Test name="in_float_fragment" />
-<Test name="in_bool_vertex" />
-<Test name="in_lowp_int_vertex" />
-<Test name="inout_lowp_int_vertex" />
-<Test name="inout_float_vertex" />
-<Test name="const_float_fragment" />
-<Test name="inout_lowp_int_fragment" />
-<Test name="inout_highp_int_fragment" />
-<Test name="out_highp_int_fragment" />
-<Test name="in_highp_float_vertex" />
-<Test name="const_in_float_fragment" />
-<Test name="inout_highp_int_vertex" />
-<Test name="inout_float_fragment" />
-<Test name="in_lowp_float_vertex" />
-<Test name="const_in_int_fragment" />
-<Test name="out_float_vertex" />
-<Test name="out_highp_float_fragment" />
-<Test name="const_in_float_vertex" />
-<Test name="inout_int_fragment" />
-<Test name="inout_int_vertex" />
-<Test name="out_bool_vertex" />
-<Test name="out_highp_float_vertex" />
-<Test name="inout_bool_fragment" />
-<Test name="inout_lowp_float_vertex" />
-<Test name="inout_bool_vertex" />
-<Test name="inout_highp_float_vertex" />
-<Test name="const_bool_vertex" />
-<Test name="out_lowp_int_fragment" />
-<Test name="in_int_fragment" />
-<Test name="in_float_vertex" />
-<Test name="out_lowp_float_vertex" />
-<Test name="const_in_int_vertex" />
-<Test name="in_highp_int_fragment" />
-<Test name="out_lowp_float_fragment" />
-<Test name="const_int_vertex" />
-<Test name="in_highp_int_vertex" />
-<Test name="const_bool_fragment" />
-<Test name="in_int_vertex" />
-<Test name="in_lowp_float_fragment" />
-<Test name="in_bool_fragment" />
-<Test name="inout_lowp_float_fragment" />
-<Test name="out_int_fragment" />
-<Test name="out_float_fragment" />
-<Test name="const_float_vertex" />
-<Test name="in_lowp_int_fragment" />
-<Test name="out_highp_int_vertex" />
-<Test name="out_int_vertex" />
-<Test name="out_bool_fragment" />
-</TestCase>
-<TestCase name="overloading">
-<Test name="user_func_arg_bool_types_fragment" />
-<Test name="user_func_arg_float_types_fragment" />
-<Test name="user_func_arg_int_types_vertex" />
-<Test name="user_func_arg_basic_types_fragment" />
-<Test name="array_size_fragment" />
-<Test name="user_func_arg_type_simple_fragment" />
-<Test name="user_func_arguments_vertex" />
-<Test name="user_func_arg_basic_types_vertex" />
-<Test name="user_func_arg_bool_types_vertex" />
-<Test name="array_size_vertex" />
-<Test name="user_func_arg_int_types_fragment" />
-<Test name="user_func_arguments_fragment" />
-<Test name="user_func_arg_float_types_vertex" />
-<Test name="user_func_arg_type_simple_vertex" />
-<Test name="user_func_arg_complex_types_fragment" />
-<Test name="user_func_arg_complex_types_vertex" />
-</TestCase>
-<TestCase name="control_flow">
-<Test name="return_in_else_fragment" />
-<Test name="simple_return_vertex" />
-<Test name="return_after_loop_vertex" />
-<Test name="return_in_loop_if_vertex" />
-<Test name="return_after_continue_vertex" />
-<Test name="return_in_loop_vertex" />
-<Test name="return_after_break_vertex" />
-<Test name="return_in_else_vertex" />
-<Test name="return_in_loop_fragment" />
-<Test name="return_in_if_vertex" />
-<Test name="return_in_loop_if_fragment" />
-<Test name="mixed_return_break_continue_vertex" />
-<Test name="simple_return_fragment" />
-<Test name="return_after_break_fragment" />
-<Test name="return_in_nested_loop_vertex" />
-<Test name="mixed_return_break_continue_fragment" />
-<Test name="return_in_nested_loop_fragment" />
-<Test name="return_after_loop_sequence_fragment" />
-<Test name="return_after_loop_sequence_vertex" />
-<Test name="return_after_loop_fragment" />
-<Test name="return_after_continue_fragment" />
-<Test name="return_in_if_fragment" />
-</TestCase>
-<TestCase name="datatypes">
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="mat3_fragment" />
-<Test name="float_vec3_vertex" />
-<Test name="int_ivec3_fragment" />
-<Test name="int_ivec3_vertex" />
-<Test name="struct_nested_struct_fragment" />
-<Test name="mat4x3_fragment" />
-<Test name="mat3x2_fragment" />
-<Test name="uint_uvec2_vertex" />
-<Test name="mat3x2_vertex" />
-<Test name="mat2_vertex" />
-<Test name="mat4x3_vertex" />
-<Test name="uint_uint_vertex" />
-<Test name="float_mat3_vertex" />
-<Test name="float_float_vertex" />
-<Test name="mat3_vertex" />
-<Test name="float_vec3_fragment" />
-<Test name="float_float_fragment" />
-<Test name="float_struct_vertex" />
-<Test name="float_mat4_vertex" />
-<Test name="float_mat4_fragment" />
-<Test name="int_int_vertex" />
-<Test name="float_mat3_fragment" />
-<Test name="float_vec2_vertex" />
-<Test name="uint_uvec4_vertex" />
-<Test name="float_mat2_fragment" />
-<Test name="mat4_fragment" />
-<Test name="mat2x3_fragment" />
-<Test name="mat4_vertex" />
-<Test name="int_int_fragment" />
-<Test name="mat2_fragment" />
-<Test name="float_vec2_fragment" />
-<Test name="mat2x4_fragment" />
-<Test name="struct_struct_fragment" />
-<Test name="uint_uvec3_vertex" />
-<Test name="bool_bool_fragment" />
-<Test name="struct_struct_vertex" />
-<Test name="float_mat2_vertex" />
-<Test name="float_struct_fragment" />
-<Test name="uint_uvec2_fragment" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bool_vertex" />
-<Test name="int_ivec2_vertex" />
-<Test name="int_ivec2_fragment" />
-<Test name="uint_uvec3_fragment" />
-<Test name="mat2x4_vertex" />
-<Test name="mat4x2_vertex" />
-<Test name="struct_nested_struct_vertex" />
-<Test name="int_ivec4_vertex" />
-<Test name="uint_uint_fragment" />
-<Test name="mat2x3_vertex" />
-<Test name="mat3x4_vertex" />
-<Test name="mat3x4_fragment" />
-<Test name="mat4x2_fragment" />
-</TestCase>
-<TestCase name="array_arguments">
-<Test name="copy_global_in_on_call_vertex" />
-<Test name="copy_local_inout_on_call_fragment" />
-<Test name="copy_local_in_on_call_vertex" />
-<Test name="global_in_bool_fragment" />
-<Test name="test_helpers_fragment" />
-<Test name="local_in_float_vertex" />
-<Test name="local_in_bool_vertex" />
-<Test name="copy_global_in_on_call_fragment" />
-<Test name="local_in_float_fragment" />
-<Test name="local_in_int_vertex" />
-<Test name="global_in_int_fragment" />
-<Test name="global_in_bool_vertex" />
-<Test name="global_in_float_fragment" />
-<Test name="global_in_int_vertex" />
-<Test name="local_in_int_fragment" />
-<Test name="copy_local_inout_on_call_vertex" />
-<Test name="global_in_float_vertex" />
-<Test name="test_helpers_vertex" />
-<Test name="local_in_bool_fragment" />
-<Test name="copy_local_in_on_call_fragment" />
-</TestCase>
-</TestSuite>
-<TestSuite name="struct">
-<TestCase name="local">
-<Test name="nested_dynamic_loop_assignment_fragment" />
-<Test name="nested_conditional_assignment_vertex" />
-<Test name="parameter_nested_fragment" />
-<Test name="conditional_assignment_fragment" />
-<Test name="return_vertex" />
-<Test name="nested_conditional_assignment_fragment" />
-<Test name="return_fragment" />
-<Test name="dynamic_loop_assignment_vertex" />
-<Test name="return_nested_fragment" />
-<Test name="nested_fragment" />
-<Test name="conditional_assignment_vertex" />
-<Test name="loop_assignment_vertex" />
-<Test name="basic_vertex" />
-<Test name="array_member_vertex" />
-<Test name="basic_fragment" />
-<Test name="nested_loop_assignment_vertex" />
-<Test name="return_nested_vertex" />
-<Test name="parameter_fragment" />
-<Test name="dynamic_loop_assignment_fragment" />
-<Test name="parameter_vertex" />
-<Test name="parameter_nested_vertex" />
-<Test name="array_member_fragment" />
-<Test name="nested_vertex" />
-<Test name="nested_dynamic_loop_assignment_vertex" />
-<Test name="loop_assignment_fragment" />
-<Test name="nested_loop_assignment_fragment" />
-</TestCase>
-<TestCase name="uniform">
-<Test name="equal_fragment" />
-<Test name="basic_vertex" />
-<Test name="nested_vertex" />
-<Test name="array_member_vertex" />
-<Test name="sampler_fragment" />
-<Test name="array_member_dynamic_index_vertex" />
-<Test name="basic_fragment" />
-<Test name="sampler_vertex" />
-<Test name="array_member_fragment" />
-<Test name="not_equal_fragment" />
-<Test name="struct_array_vertex" />
-<Test name="struct_array_fragment" />
-<Test name="nested_fragment" />
-</TestCase>
-</TestSuite>
-<TestSuite name="derivate">
-<TestSuite name="dfdx">
-<TestCase name="uniform_switch">
-<Test name="float_highp" />
-<Test name="float_mediump" />
-<Test name="vec2_highp" />
-</TestCase>
-<TestCase name="in_function">
-<Test name="float_highp" />
-<Test name="float_mediump" />
-<Test name="vec2_highp" />
-</TestCase>
-<TestCase name="static_switch">
-<Test name="float_highp" />
-<Test name="float_mediump" />
-<Test name="vec2_highp" />
-</TestCase>
-<TestCase name="linear">
-<Test name="float_highp" />
-<Test name="vec2_highp" />
-<Test name="float_lowp" />
-<Test name="float_mediump" />
-</TestCase>
-<TestCase name="static_loop">
-<Test name="float_highp" />
-<Test name="float_mediump" />
-<Test name="vec2_highp" />
-</TestCase>
-<TestCase name="fbo_msaa4">
-<Test name="float_mediump" />
-</TestCase>
-<TestSuite name="nicest">
-<TestCase name="default">
-<Test name="float_highp" />
-<Test name="float_mediump" />
-<Test name="vec2_highp" />
-</TestCase>
-<TestCase name="fbo_msaa4">
-<Test name="float_mediump" />
-</TestCase>
-<TestCase name="fbo_float">
-<Test name="float_lowp" />
-<Test name="float_mediump" />
-</TestCase>
-</TestSuite>
-<TestCase name="uniform_loop">
-<Test name="float_highp" />
-<Test name="float_mediump" />
-<Test name="vec2_highp" />
-</TestCase>
-<TestCase name="fbo_msaa2">
-<Test name="float_mediump" />
-</TestCase>
-<TestCase name="uniform_if">
-<Test name="float_highp" />
-<Test name="float_mediump" />
-<Test name="vec2_highp" />
-</TestCase>
-<TestCase name="static_if">
-<Test name="float_highp" />
-<Test name="float_mediump" />
-<Test name="vec2_highp" />
-</TestCase>
-<TestCase name="constant">
-<Test name="vec4" />
-<Test name="float" />
-<Test name="vec2" />
-<Test name="vec3" />
-</TestCase>
-<TestCase name="fbo">
-<Test name="float_highp" />
-<Test name="float_mediump" />
-<Test name="vec2_highp" />
-</TestCase>
-<TestCase name="fbo_float">
-<Test name="float_lowp" />
-<Test name="float_mediump" />
-</TestCase>
-<TestSuite name="fastest">
-<TestCase name="default">
-<Test name="float_highp" />
-<Test name="float_mediump" />
-<Test name="vec2_highp" />
-</TestCase>
-<TestCase name="fbo_msaa4">
-<Test name="float_mediump" />
-</TestCase>
-<TestCase name="fbo_float">
-<Test name="float_lowp" />
-<Test name="float_mediump" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-<TestSuite name="dfdy">
-<TestCase name="uniform_switch">
-<Test name="float_highp" />
-<Test name="vec2_highp" />
-</TestCase>
-<TestCase name="in_function">
-<Test name="float_highp" />
-<Test name="vec2_highp" />
-</TestCase>
-<TestCase name="static_switch">
-<Test name="float_highp" />
-<Test name="vec2_highp" />
-</TestCase>
-<TestCase name="linear">
-<Test name="float_highp" />
-<Test name="vec2_highp" />
-</TestCase>
-<TestCase name="static_loop">
-<Test name="float_highp" />
-<Test name="vec2_highp" />
-</TestCase>
-<TestSuite name="nicest">
-<TestCase name="default">
-<Test name="float_highp" />
-<Test name="vec2_highp" />
-</TestCase>
-</TestSuite>
-<TestCase name="uniform_loop">
-<Test name="float_highp" />
-<Test name="vec2_highp" />
-</TestCase>
-<TestCase name="uniform_if">
-<Test name="float_highp" />
-<Test name="vec2_highp" />
-</TestCase>
-<TestCase name="static_if">
-<Test name="float_highp" />
-<Test name="vec2_highp" />
-</TestCase>
-<TestCase name="constant">
-<Test name="vec4" />
-<Test name="float" />
-<Test name="vec2" />
-<Test name="vec3" />
-</TestCase>
-<TestCase name="fbo">
-<Test name="float_highp" />
-<Test name="vec2_highp" />
-</TestCase>
-<TestSuite name="fastest">
-<TestCase name="default">
-<Test name="float_highp" />
-<Test name="vec2_highp" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-<TestSuite name="fwidth">
-<TestCase name="uniform_switch">
-<Test name="float_highp" />
-<Test name="vec2_mediump" />
-<Test name="vec4_mediump" />
-<Test name="float_mediump" />
-<Test name="vec2_highp" />
-</TestCase>
-<TestCase name="in_function">
-<Test name="float_highp" />
-<Test name="vec2_mediump" />
-<Test name="vec4_mediump" />
-<Test name="float_mediump" />
-<Test name="vec2_highp" />
-</TestCase>
-<TestCase name="static_switch">
-<Test name="float_highp" />
-<Test name="vec2_mediump" />
-<Test name="vec4_mediump" />
-<Test name="float_mediump" />
-<Test name="vec2_highp" />
-</TestCase>
-<TestCase name="linear">
-<Test name="vec2_lowp" />
-<Test name="vec2_mediump" />
-<Test name="float_lowp" />
-<Test name="vec4_mediump" />
-<Test name="float_highp" />
-<Test name="float_mediump" />
-<Test name="vec4_lowp" />
-<Test name="vec2_highp" />
-</TestCase>
-<TestCase name="static_loop">
-<Test name="float_highp" />
-<Test name="vec2_mediump" />
-<Test name="vec4_mediump" />
-<Test name="float_mediump" />
-<Test name="vec2_highp" />
-</TestCase>
-<TestCase name="fbo_msaa4">
-<Test name="vec2_mediump" />
-<Test name="float_mediump" />
-</TestCase>
-<TestSuite name="nicest">
-<TestCase name="default">
-<Test name="float_highp" />
-<Test name="vec2_mediump" />
-<Test name="vec4_mediump" />
-<Test name="float_mediump" />
-<Test name="vec2_highp" />
-</TestCase>
-<TestCase name="fbo_msaa4">
-<Test name="vec2_mediump" />
-<Test name="float_mediump" />
-</TestCase>
-<TestCase name="fbo_float">
-<Test name="vec2_lowp" />
-<Test name="vec2_mediump" />
-<Test name="float_lowp" />
-<Test name="vec4_mediump" />
-<Test name="float_mediump" />
-<Test name="vec4_lowp" />
-</TestCase>
-</TestSuite>
-<TestCase name="uniform_loop">
-<Test name="float_highp" />
-<Test name="vec2_mediump" />
-<Test name="vec4_mediump" />
-<Test name="float_mediump" />
-<Test name="vec2_highp" />
-</TestCase>
-<TestCase name="fbo_msaa2">
-<Test name="vec2_mediump" />
-<Test name="float_mediump" />
-</TestCase>
-<TestCase name="uniform_if">
-<Test name="float_highp" />
-<Test name="vec2_mediump" />
-<Test name="vec4_mediump" />
-<Test name="float_mediump" />
-<Test name="vec2_highp" />
-</TestCase>
-<TestCase name="static_if">
-<Test name="float_highp" />
-<Test name="vec2_mediump" />
-<Test name="vec4_mediump" />
-<Test name="float_mediump" />
-<Test name="vec2_highp" />
-</TestCase>
-<TestCase name="constant">
-<Test name="vec4" />
-<Test name="float" />
-<Test name="vec2" />
-<Test name="vec3" />
-</TestCase>
-<TestCase name="fbo">
-<Test name="float_highp" />
-<Test name="vec2_mediump" />
-<Test name="vec4_mediump" />
-<Test name="float_mediump" />
-<Test name="vec2_highp" />
-</TestCase>
-<TestCase name="fbo_float">
-<Test name="vec2_lowp" />
-<Test name="vec2_mediump" />
-<Test name="float_lowp" />
-<Test name="vec4_mediump" />
-<Test name="float_mediump" />
-<Test name="vec4_lowp" />
-</TestCase>
-<TestSuite name="fastest">
-<TestCase name="default">
-<Test name="float_highp" />
-<Test name="vec2_mediump" />
-<Test name="vec4_mediump" />
-<Test name="float_mediump" />
-<Test name="vec2_highp" />
-</TestCase>
-<TestCase name="fbo_msaa4">
-<Test name="vec2_mediump" />
-<Test name="float_mediump" />
-</TestCase>
-<TestCase name="fbo_float">
-<Test name="vec2_lowp" />
-<Test name="vec2_mediump" />
-<Test name="float_lowp" />
-<Test name="vec4_mediump" />
-<Test name="float_mediump" />
-<Test name="vec4_lowp" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-</TestSuite>
-<TestSuite name="negative">
-<TestCase name="c_cast">
-<Test name="int_vertex" />
-<Test name="float_1_fragment" />
-<Test name="bool_fragment" />
-<Test name="float_2_fragment" />
-<Test name="float_0_fragment" />
-<Test name="bool_vertex" />
-<Test name="int_fragment" />
-<Test name="uint_vertex" />
-<Test name="float_0_vertex" />
-<Test name="float_2_vertex" />
-<Test name="uint_fragment" />
-<Test name="float_1_vertex" />
-</TestCase>
-</TestSuite>
-<TestSuite name="linkage">
-<TestSuite name="varying">
-<TestCase name="rules">
-<Test name="differing_precision_2" />
-<Test name="both_declare" />
-<Test name="vertex_declare_fragment_use" />
-<Test name="differing_precision_1" />
-<Test name="differing_precision_3" />
-<Test name="vertex_use_declare_fragment" />
-<Test name="vertex_use_fragment_use" />
-<Test name="fragment_declare" />
-<Test name="vertex_declare" />
-<Test name="type_mismatch_3" />
-<Test name="type_mismatch_2" />
-<Test name="vertex_use_fragment_declare" />
-<Test name="invalid_type_bool" />
-</TestCase>
-<TestCase name="usage">
-<Test name="readback_1" />
-<Test name="writeback_1" />
-</TestCase>
-<TestCase name="basic_types">
-<Test name="mat4" />
-<Test name="mat3x4" />
-<Test name="mat2" />
-<Test name="mat3x2" />
-<Test name="int" />
-<Test name="mat4x2" />
-<Test name="float" />
-<Test name="mat2x3" />
-<Test name="mat2x4" />
-<Test name="vec4" />
-<Test name="uint" />
-<Test name="vec3" />
-<Test name="ivec3" />
-<Test name="ivec2" />
-<Test name="vec2" />
-<Test name="uvec4" />
-<Test name="mat4x3" />
-<Test name="uvec2" />
-<Test name="uvec3" />
-<Test name="ivec4" />
-<Test name="mat3" />
-</TestCase>
-<TestCase name="struct">
-<Test name="int" />
-<Test name="float" />
-<Test name="vec4" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="mat3x4" />
-<Test name="mat3x2" />
-<Test name="mat2x4" />
-<Test name="mat2x3" />
-<Test name="float_vec3" />
-<Test name="uint" />
-<Test name="ivec2" />
-<Test name="ivec3" />
-<Test name="uvec4" />
-<Test name="uvec2" />
-<Test name="uvec3" />
-<Test name="ivec4" />
-<Test name="mat4" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x2" />
-<Test name="mat4x3" />
-</TestCase>
-<TestCase name="interpolation">
-<Test name="smooth" />
-<Test name="centroid" />
-<Test name="flat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="uniform">
-<TestCase name="struct">
-<Test name="light_struct_highp" />
-<Test name="partial" />
-<Test name="partial_vec4_float" />
-<Test name="vec4" />
-<Test name="vertex_only" />
-<Test name="partial_vec4_vec3" />
-<Test name="partial_bvec2_vec2" />
-<Test name="light_struct_mediump" />
-<Test name="partial_ivec2_ivec2" />
-<Test name="vec4_vec3" />
-<Test name="partial_int_float" />
-<Test name="partial_vec2_int" />
-<Test name="basic" />
-<Test name="fragment_only" />
-<Test name="partial_vec4_struct" />
-<Test name="vertex_only_vec4" />
-<Test name="vertex_only_vec4_float" />
-<Test name="fragment_only_vec4_vec3" />
-<Test name="vertex_only_vec4_vec3" />
-<Test name="partial_vec4" />
-<Test name="partial_vec2_vec3" />
-<Test name="partial_vec4_vec3_struct" />
-<Test name="fragment_only_vec4_float" />
-<Test name="partial_ivec2_vec2" />
-<Test name="fragment_only_vec4" />
-<Test name="vec4_float" />
-</TestCase>
-<TestCase name="block">
-<Test name="members_mismatch" />
-<Test name="layout_qualifier_mismatch_4" />
-<Test name="layout_qualifier_mismatch_5" />
-<Test name="type_mismatch" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-<TestSuite name="builtin_functions">
-<TestCase name="pack_unpack">
-<Test name="packhalf2x16_vertex" />
-<Test name="packsnorm2x16_lowp_vertex" />
-<Test name="packsnorm2x16_highp_vertex" />
-<Test name="packsnorm2x16_mediump_vertex" />
-<Test name="packunorm2x16_highp_vertex" />
-<Test name="packhalf2x16_fragment" />
-</TestCase>
-<TestSuite name="common">
-<TestCase name="intbitstofloat">
-<Test name="int_highp_fragment" />
-<Test name="ivec2_highp_vertex" />
-<Test name="ivec2_highp_fragment" />
-<Test name="ivec3_highp_vertex" />
-<Test name="ivec3_highp_fragment" />
-<Test name="int_highp_vertex" />
-</TestCase>
-<TestCase name="roundeven">
-<Test name="vec2_mediump_fragment" />
-<Test name="vec4_lowp_vertex" />
-<Test name="float_highp_fragment" />
-<Test name="vec4_lowp_fragment" />
-<Test name="vec4_highp_fragment" />
-<Test name="float_mediump_fragment" />
-<Test name="vec3_highp_vertex" />
-<Test name="float_lowp_vertex" />
-<Test name="vec2_lowp_vertex" />
-<Test name="vec2_highp_fragment" />
-<Test name="vec2_highp_vertex" />
-<Test name="vec2_lowp_fragment" />
-<Test name="vec2_mediump_vertex" />
-<Test name="vec4_highp_vertex" />
-<Test name="vec3_mediump_fragment" />
-<Test name="float_lowp_fragment" />
-<Test name="float_highp_vertex" />
-<Test name="vec3_lowp_vertex" />
-<Test name="vec3_highp_fragment" />
-<Test name="vec3_lowp_fragment" />
-<Test name="float_mediump_vertex" />
-<Test name="vec4_mediump_fragment" />
-<Test name="vec4_mediump_vertex" />
-<Test name="vec3_mediump_vertex" />
-</TestCase>
-<TestCase name="floatbitstoint">
-<Test name="vec2_mediump_fragment" />
-<Test name="vec4_lowp_vertex" />
-<Test name="float_highp_fragment" />
-<Test name="vec4_lowp_fragment" />
-<Test name="vec4_highp_fragment" />
-<Test name="float_mediump_fragment" />
-<Test name="vec3_highp_vertex" />
-<Test name="float_lowp_vertex" />
-<Test name="vec2_lowp_vertex" />
-<Test name="vec2_highp_fragment" />
-<Test name="vec2_highp_vertex" />
-<Test name="vec2_lowp_fragment" />
-<Test name="vec2_mediump_vertex" />
-<Test name="vec4_highp_vertex" />
-<Test name="vec3_mediump_fragment" />
-<Test name="float_lowp_fragment" />
-<Test name="float_highp_vertex" />
-<Test name="vec3_lowp_vertex" />
-<Test name="vec3_highp_fragment" />
-<Test name="vec3_lowp_fragment" />
-<Test name="float_mediump_vertex" />
-<Test name="vec4_mediump_fragment" />
-<Test name="vec4_mediump_vertex" />
-<Test name="vec3_mediump_vertex" />
-</TestCase>
-<TestCase name="floor">
-<Test name="vec2_mediump_fragment" />
-<Test name="vec4_lowp_vertex" />
-<Test name="float_highp_fragment" />
-<Test name="vec4_lowp_fragment" />
-<Test name="vec4_highp_fragment" />
-<Test name="float_mediump_fragment" />
-<Test name="vec3_highp_vertex" />
-<Test name="float_lowp_vertex" />
-<Test name="vec2_lowp_vertex" />
-<Test name="vec2_highp_fragment" />
-<Test name="vec2_highp_vertex" />
-<Test name="vec2_lowp_fragment" />
-<Test name="vec2_mediump_vertex" />
-<Test name="vec4_highp_vertex" />
-<Test name="vec3_mediump_fragment" />
-<Test name="float_lowp_fragment" />
-<Test name="float_highp_vertex" />
-<Test name="vec3_lowp_vertex" />
-<Test name="vec3_highp_fragment" />
-<Test name="vec3_lowp_fragment" />
-<Test name="float_mediump_vertex" />
-<Test name="vec4_mediump_fragment" />
-<Test name="vec4_mediump_vertex" />
-<Test name="vec3_mediump_vertex" />
-</TestCase>
-<TestCase name="sign">
-<Test name="vec2_mediump_fragment" />
-<Test name="vec4_lowp_vertex" />
-<Test name="ivec2_mediump_vertex" />
-<Test name="float_highp_fragment" />
-<Test name="ivec3_highp_vertex" />
-<Test name="int_lowp_fragment" />
-<Test name="vec4_lowp_fragment" />
-<Test name="vec4_highp_fragment" />
-<Test name="float_mediump_fragment" />
-<Test name="ivec2_lowp_fragment" />
-<Test name="int_mediump_vertex" />
-<Test name="ivec4_mediump_vertex" />
-<Test name="float_lowp_vertex" />
-<Test name="vec2_lowp_vertex" />
-<Test name="ivec4_highp_vertex" />
-<Test name="vec2_highp_fragment" />
-<Test name="ivec2_lowp_vertex" />
-<Test name="vec2_highp_vertex" />
-<Test name="vec3_highp_fragment" />
-<Test name="ivec4_mediump_fragment" />
-<Test name="vec3_mediump_fragment" />
-<Test name="ivec4_lowp_fragment" />
-<Test name="vec2_lowp_fragment" />
-<Test name="ivec3_mediump_fragment" />
-<Test name="vec2_mediump_vertex" />
-<Test name="vec4_highp_vertex" />
-<Test name="ivec2_highp_vertex" />
-<Test name="ivec2_highp_fragment" />
-<Test name="float_mediump_vertex" />
-<Test name="float_highp_vertex" />
-<Test name="ivec3_mediump_vertex" />
-<Test name="int_lowp_vertex" />
-<Test name="vec3_highp_vertex" />
-<Test name="ivec4_highp_fragment" />
-<Test name="vec3_lowp_fragment" />
-<Test name="ivec3_lowp_fragment" />
-<Test name="float_lowp_fragment" />
-<Test name="vec4_mediump_fragment" />
-<Test name="int_highp_fragment" />
-<Test name="ivec2_mediump_fragment" />
-<Test name="vec4_mediump_vertex" />
-<Test name="int_highp_vertex" />
-<Test name="int_mediump_fragment" />
-<Test name="vec3_lowp_vertex" />
-<Test name="ivec4_lowp_vertex" />
-<Test name="ivec3_highp_fragment" />
-<Test name="vec3_mediump_vertex" />
-<Test name="ivec3_lowp_vertex" />
-</TestCase>
-<TestCase name="fract">
-<Test name="vec2_mediump_fragment" />
-<Test name="vec4_lowp_vertex" />
-<Test name="float_highp_fragment" />
-<Test name="vec4_lowp_fragment" />
-<Test name="vec4_highp_fragment" />
-<Test name="float_mediump_fragment" />
-<Test name="vec3_highp_vertex" />
-<Test name="float_lowp_vertex" />
-<Test name="vec2_lowp_vertex" />
-<Test name="vec2_highp_fragment" />
-<Test name="vec2_highp_vertex" />
-<Test name="vec2_lowp_fragment" />
-<Test name="vec2_mediump_vertex" />
-<Test name="vec4_highp_vertex" />
-<Test name="vec3_mediump_fragment" />
-<Test name="float_lowp_fragment" />
-<Test name="float_highp_vertex" />
-<Test name="vec3_lowp_vertex" />
-<Test name="vec3_highp_fragment" />
-<Test name="vec3_lowp_fragment" />
-<Test name="float_mediump_vertex" />
-<Test name="vec4_mediump_fragment" />
-<Test name="vec4_mediump_vertex" />
-<Test name="vec3_mediump_vertex" />
-</TestCase>
-<TestCase name="floatbitstouint">
-<Test name="vec2_mediump_fragment" />
-<Test name="vec4_lowp_vertex" />
-<Test name="float_highp_fragment" />
-<Test name="vec4_lowp_fragment" />
-<Test name="vec4_highp_fragment" />
-<Test name="float_mediump_fragment" />
-<Test name="vec3_highp_vertex" />
-<Test name="float_lowp_vertex" />
-<Test name="vec2_lowp_vertex" />
-<Test name="vec2_highp_fragment" />
-<Test name="vec2_highp_vertex" />
-<Test name="vec2_lowp_fragment" />
-<Test name="vec2_mediump_vertex" />
-<Test name="vec4_highp_vertex" />
-<Test name="vec3_mediump_fragment" />
-<Test name="float_lowp_fragment" />
-<Test name="float_highp_vertex" />
-<Test name="vec3_lowp_vertex" />
-<Test name="vec3_highp_fragment" />
-<Test name="vec3_lowp_fragment" />
-<Test name="float_mediump_vertex" />
-<Test name="vec4_mediump_fragment" />
-<Test name="vec4_mediump_vertex" />
-<Test name="vec3_mediump_vertex" />
-</TestCase>
-<TestCase name="abs">
-<Test name="vec2_mediump_fragment" />
-<Test name="vec4_lowp_vertex" />
-<Test name="float_highp_fragment" />
-<Test name="int_lowp_fragment" />
-<Test name="vec4_lowp_fragment" />
-<Test name="vec4_highp_fragment" />
-<Test name="float_mediump_fragment" />
-<Test name="ivec2_lowp_fragment" />
-<Test name="vec3_highp_fragment" />
-<Test name="float_lowp_vertex" />
-<Test name="vec2_lowp_vertex" />
-<Test name="vec2_highp_fragment" />
-<Test name="vec2_highp_vertex" />
-<Test name="ivec4_mediump_fragment" />
-<Test name="ivec4_lowp_fragment" />
-<Test name="vec2_lowp_fragment" />
-<Test name="ivec3_mediump_fragment" />
-<Test name="vec2_mediump_vertex" />
-<Test name="vec4_highp_vertex" />
-<Test name="vec3_mediump_fragment" />
-<Test name="float_mediump_vertex" />
-<Test name="float_highp_vertex" />
-<Test name="vec3_lowp_vertex" />
-<Test name="vec3_highp_vertex" />
-<Test name="vec3_lowp_fragment" />
-<Test name="ivec3_lowp_fragment" />
-<Test name="float_lowp_fragment" />
-<Test name="vec4_mediump_fragment" />
-<Test name="ivec2_mediump_fragment" />
-<Test name="vec4_mediump_vertex" />
-<Test name="int_mediump_fragment" />
-<Test name="vec3_mediump_vertex" />
-</TestCase>
-<TestCase name="ceil">
-<Test name="vec2_mediump_fragment" />
-<Test name="vec4_lowp_vertex" />
-<Test name="float_highp_fragment" />
-<Test name="vec4_lowp_fragment" />
-<Test name="vec4_highp_fragment" />
-<Test name="float_mediump_fragment" />
-<Test name="vec3_highp_vertex" />
-<Test name="float_lowp_vertex" />
-<Test name="vec2_lowp_vertex" />
-<Test name="vec2_highp_fragment" />
-<Test name="vec2_highp_vertex" />
-<Test name="vec2_lowp_fragment" />
-<Test name="vec2_mediump_vertex" />
-<Test name="vec4_highp_vertex" />
-<Test name="vec3_mediump_fragment" />
-<Test name="float_lowp_fragment" />
-<Test name="float_highp_vertex" />
-<Test name="vec3_lowp_vertex" />
-<Test name="vec3_highp_fragment" />
-<Test name="vec3_lowp_fragment" />
-<Test name="float_mediump_vertex" />
-<Test name="vec4_mediump_fragment" />
-<Test name="vec4_mediump_vertex" />
-<Test name="vec3_mediump_vertex" />
-</TestCase>
-<TestCase name="uintbitstofloat">
-<Test name="uvec2_highp_fragment" />
-<Test name="uvec3_highp_vertex" />
-<Test name="uint_highp_fragment" />
-<Test name="uvec2_highp_vertex" />
-<Test name="uint_highp_vertex" />
-<Test name="uvec3_highp_fragment" />
-</TestCase>
-<TestCase name="round">
-<Test name="vec2_mediump_fragment" />
-<Test name="vec4_lowp_vertex" />
-<Test name="float_highp_fragment" />
-<Test name="vec4_lowp_fragment" />
-<Test name="vec4_highp_fragment" />
-<Test name="float_mediump_fragment" />
-<Test name="vec3_highp_vertex" />
-<Test name="float_lowp_vertex" />
-<Test name="vec2_lowp_vertex" />
-<Test name="vec2_highp_fragment" />
-<Test name="vec2_highp_vertex" />
-<Test name="vec2_lowp_fragment" />
-<Test name="vec2_mediump_vertex" />
-<Test name="vec4_highp_vertex" />
-<Test name="vec3_mediump_fragment" />
-<Test name="float_lowp_fragment" />
-<Test name="float_highp_vertex" />
-<Test name="vec3_lowp_vertex" />
-<Test name="vec3_highp_fragment" />
-<Test name="vec3_lowp_fragment" />
-<Test name="float_mediump_vertex" />
-<Test name="vec4_mediump_fragment" />
-<Test name="vec4_mediump_vertex" />
-<Test name="vec3_mediump_vertex" />
-</TestCase>
-<TestCase name="trunc">
-<Test name="vec2_mediump_fragment" />
-<Test name="float_mediump_fragment" />
-<Test name="vec4_lowp_vertex" />
-<Test name="vec2_lowp_fragment" />
-<Test name="float_lowp_fragment" />
-<Test name="vec2_mediump_vertex" />
-<Test name="vec4_mediump_fragment" />
-<Test name="vec3_mediump_fragment" />
-<Test name="float_lowp_vertex" />
-<Test name="vec2_lowp_vertex" />
-<Test name="float_mediump_vertex" />
-<Test name="vec3_lowp_vertex" />
-<Test name="vec4_mediump_vertex" />
-<Test name="vec4_lowp_fragment" />
-<Test name="vec3_mediump_vertex" />
-<Test name="vec3_lowp_fragment" />
-</TestCase>
-</TestSuite>
-<TestSuite name="precision">
-<TestSuite name="clamp">
-<TestCase name="lowp_vertex">
-<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="lowp_fragment">
-<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>
-</TestSuite>
-<TestSuite name="pow">
-<TestCase name="mediump_vertex">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
-</TestCase>
-<TestCase name="lowp_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="highp_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="highp_fragment">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
-</TestCase>
-</TestSuite>
-<TestSuite name="determinant">
-<TestCase name="lowp_vertex">
-<Test name="mat2" />
-</TestCase>
-<TestCase name="mediump_vertex">
-<Test name="mat2" />
-</TestCase>
-<TestCase name="lowp_fragment">
-<Test name="mat2" />
-</TestCase>
-</TestSuite>
-<TestSuite name="cosh">
-<TestCase name="mediump_vertex">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
-</TestCase>
-<TestCase name="lowp_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="highp_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="highp_fragment">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
-</TestCase>
-</TestSuite>
-<TestSuite name="acosh">
-<TestCase name="lowp_vertex">
-<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="lowp_fragment">
-<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>
-</TestSuite>
-<TestSuite name="tan">
-<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="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>
-</TestSuite>
-<TestSuite name="normalize">
-<TestCase name="mediump_vertex">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
-</TestCase>
-<TestCase name="lowp_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="highp_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="highp_fragment">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
-</TestCase>
-</TestSuite>
-<TestSuite name="asin">
-<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>
-</TestSuite>
-<TestSuite name="inverse">
-<TestCase name="mediump_vertex">
-<Test name="mat2" />
-</TestCase>
-<TestCase name="lowp_vertex">
-<Test name="mat2" />
-</TestCase>
-</TestSuite>
-<TestSuite name="roundeven">
-<TestCase name="mediump_vertex">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
-</TestCase>
-<TestCase name="lowp_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="highp_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="highp_fragment">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
-</TestCase>
-</TestSuite>
-<TestSuite name="floor">
-<TestCase name="mediump_vertex">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
-</TestCase>
-<TestCase name="lowp_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="highp_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="highp_fragment">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
-</TestCase>
-</TestSuite>
-<TestSuite name="exp2">
-<TestCase name="mediump_vertex">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
-</TestCase>
-<TestCase name="lowp_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="highp_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="highp_fragment">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
-</TestCase>
-</TestSuite>
-<TestSuite name="atanh">
-<TestCase name="lowp_vertex">
-<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="lowp_fragment">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
-</TestCase>
-</TestSuite>
-<TestSuite name="fract">
-<TestCase name="mediump_vertex">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
-</TestCase>
-<TestCase name="lowp_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="highp_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="highp_fragment">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
-</TestCase>
-</TestSuite>
-<TestSuite name="sqrt">
-<TestCase name="mediump_vertex">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
-</TestCase>
-<TestCase name="lowp_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="highp_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="highp_fragment">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
-</TestCase>
-</TestSuite>
-<TestSuite name="acos">
-<TestCase name="lowp_vertex">
-<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="lowp_fragment">
-<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>
-</TestSuite>
-<TestSuite name="faceforward">
-<TestCase name="mediump_vertex">
-<Test name="vec4" />
-<Test name="vec3" />
-</TestCase>
-<TestCase name="lowp_vertex">
-<Test name="vec4" />
-<Test name="vec3" />
-</TestCase>
-<TestCase name="mediump_fragment">
-<Test name="vec4" />
-<Test name="vec3" />
-</TestCase>
-<TestCase name="highp_vertex">
-<Test name="vec4" />
-<Test name="vec3" />
-</TestCase>
-<TestCase name="lowp_fragment">
-<Test name="vec4" />
-<Test name="vec3" />
-</TestCase>
-<TestCase name="highp_fragment">
-<Test name="vec4" />
-<Test name="vec3" />
-</TestCase>
-</TestSuite>
-<TestSuite name="add">
-<TestCase name="lowp_vertex">
-<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="lowp_fragment">
-<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>
-</TestSuite>
-<TestSuite name="abs">
-<TestCase name="mediump_vertex">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
-</TestCase>
-<TestCase name="lowp_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="highp_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="highp_fragment">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
-</TestCase>
-</TestSuite>
-<TestSuite name="degrees">
-<TestCase name="lowp_vertex">
-<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="lowp_fragment">
-<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>
-</TestSuite>
-<TestCase name="cross">
-<Test name="lowp_vertex" />
-<Test name="mediump_vertex" />
-<Test name="lowp_fragment" />
-<Test name="mediump_fragment" />
-</TestCase>
-<TestSuite name="trunc">
-<TestCase name="mediump_vertex">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
-</TestCase>
-<TestCase name="lowp_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="highp_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="highp_fragment">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
-</TestCase>
-</TestSuite>
-<TestSuite name="sin">
-<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="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>
-</TestSuite>
-<TestSuite name="matrixcompmult">
-<TestCase name="mediump_vertex">
-<Test name="mat4" />
-<Test name="mat3x4" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x2" />
-<Test name="mat4x3" />
-<Test name="mat2x4" />
-<Test name="mat2x3" />
-<Test name="mat3x2" />
-</TestCase>
-<TestCase name="lowp_vertex">
-<Test name="mat4" />
-<Test name="mat3x4" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x2" />
-<Test name="mat4x3" />
-<Test name="mat2x4" />
-<Test name="mat2x3" />
-<Test name="mat3x2" />
-</TestCase>
-</TestSuite>
-<TestSuite name="log2">
-<TestCase name="mediump_vertex">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
-</TestCase>
-<TestCase name="lowp_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="highp_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="highp_fragment">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
-</TestCase>
-</TestSuite>
-<TestSuite name="exp">
-<TestCase name="mediump_vertex">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
-</TestCase>
-<TestCase name="lowp_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="highp_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="highp_fragment">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
-</TestCase>
-</TestSuite>
-<TestSuite name="atan">
-<TestCase name="lowp_vertex">
-<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="lowp_fragment">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
-</TestCase>
-</TestSuite>
-<TestSuite name="max">
-<TestCase name="lowp_vertex">
-<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="lowp_fragment">
-<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>
-</TestSuite>
-<TestSuite name="transpose">
-<TestCase name="mediump_vertex">
-<Test name="mat4" />
-<Test name="mat3x4" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x2" />
-<Test name="mat4x3" />
-<Test name="mat2x4" />
-<Test name="mat2x3" />
-<Test name="mat3x2" />
-</TestCase>
-<TestCase name="lowp_vertex">
-<Test name="mat4" />
-<Test name="mat3x4" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x2" />
-<Test name="mat4x3" />
-<Test name="mat2x4" />
-<Test name="mat2x3" />
-<Test name="mat3x2" />
-</TestCase>
-<TestCase name="highp_vertex">
-<Test name="mat4" />
-<Test name="mat3x4" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x2" />
-<Test name="mat4x3" />
-<Test name="mat2x4" />
-<Test name="mat2x3" />
-<Test name="mat3x2" />
-</TestCase>
-<TestCase name="highp_fragment">
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat3x2" />
-</TestCase>
-</TestSuite>
-<TestSuite name="reflect">
-<TestCase name="lowp_vertex">
-<Test name="scalar" />
-<Test name="vec3" />
-<Test name="vec4" />
-</TestCase>
-<TestCase name="mediump_vertex">
-<Test name="scalar" />
-<Test name="vec3" />
-<Test name="vec4" />
-</TestCase>
-<TestCase name="lowp_fragment">
-<Test name="scalar" />
-<Test name="vec3" />
-<Test name="vec4" />
-</TestCase>
-<TestCase name="mediump_fragment">
-<Test name="scalar" />
-<Test name="vec3" />
-<Test name="vec4" />
-</TestCase>
-</TestSuite>
-<TestSuite name="step">
-<TestCase name="mediump_vertex">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
-</TestCase>
-<TestCase name="lowp_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="highp_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="highp_fragment">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
-</TestCase>
-</TestSuite>
-<TestSuite name="log">
-<TestCase name="lowp_vertex">
-<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="lowp_fragment">
-<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>
-</TestSuite>
-<TestSuite name="sinh">
-<TestCase name="mediump_vertex">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
-</TestCase>
-<TestCase name="lowp_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="highp_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="highp_fragment">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
-</TestCase>
-</TestSuite>
-<TestSuite name="mul">
-<TestCase name="lowp_vertex">
-<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="lowp_fragment">
-<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>
-</TestSuite>
-<TestSuite name="sign">
-<TestCase name="mediump_vertex">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
-</TestCase>
-<TestCase name="lowp_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="highp_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="highp_fragment">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
-</TestCase>
-</TestSuite>
-<TestSuite name="inversesqrt">
-<TestCase name="mediump_vertex">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
-</TestCase>
-<TestCase name="lowp_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="highp_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="highp_fragment">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
-</TestCase>
-</TestSuite>
-<TestSuite name="sub">
-<TestCase name="lowp_vertex">
-<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="lowp_fragment">
-<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>
-</TestSuite>
-<TestSuite name="distance">
-<TestCase name="mediump_vertex">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
-</TestCase>
-<TestCase name="lowp_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="highp_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="highp_fragment">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
-</TestCase>
-</TestSuite>
-<TestSuite name="cos">
-<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="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>
-</TestSuite>
-<TestSuite name="tanh">
-<TestCase name="lowp_vertex">
-<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="lowp_fragment">
-<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>
-</TestSuite>
-<TestSuite name="min">
-<TestCase name="lowp_vertex">
-<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="lowp_fragment">
-<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="highp_vertex">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
-</TestCase>
-</TestSuite>
-<TestSuite name="asinh">
-<TestCase name="mediump_vertex">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
-</TestCase>
-<TestCase name="lowp_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="highp_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="highp_fragment">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
-</TestCase>
-</TestSuite>
-<TestSuite name="radians">
-<TestCase name="mediump_vertex">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
-</TestCase>
-<TestCase name="lowp_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="highp_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="highp_fragment">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
-</TestCase>
-</TestSuite>
-<TestSuite name="smoothstep">
-<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="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>
-</TestSuite>
-<TestSuite name="length">
-<TestCase name="mediump_vertex">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
-</TestCase>
-<TestCase name="lowp_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="highp_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="highp_fragment">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
-</TestCase>
-</TestSuite>
-<TestSuite name="mod">
-<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>
-</TestSuite>
-<TestSuite name="div">
-<TestCase name="lowp_vertex">
-<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="lowp_fragment">
-<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>
-</TestSuite>
-<TestSuite name="round">
-<TestCase name="mediump_vertex">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
-</TestCase>
-<TestCase name="lowp_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="highp_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="highp_fragment">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
-</TestCase>
-</TestSuite>
-<TestSuite name="dot">
-<TestCase name="lowp_vertex">
-<Test name="vec4" />
-<Test name="vec3" />
-</TestCase>
-<TestCase name="mediump_vertex">
-<Test name="vec4" />
-<Test name="vec3" />
-</TestCase>
-<TestCase name="lowp_fragment">
-<Test name="vec4" />
-<Test name="vec3" />
-</TestCase>
-<TestCase name="mediump_fragment">
-<Test name="vec4" />
-<Test name="vec3" />
-</TestCase>
-</TestSuite>
-<TestSuite name="outerproduct">
-<TestCase name="lowp_vertex">
-<Test name="mat4" />
-<Test name="mat3x4" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x2" />
-<Test name="mat4x3" />
-<Test name="mat2x4" />
-<Test name="mat2x3" />
-<Test name="mat3x2" />
-</TestCase>
-<TestCase name="mediump_vertex">
-<Test name="mat4" />
-<Test name="mat3x4" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x2" />
-<Test name="mat4x3" />
-<Test name="mat2x4" />
-<Test name="mat2x3" />
-<Test name="mat3x2" />
-</TestCase>
-<TestCase name="lowp_fragment">
-<Test name="mat4" />
-<Test name="mat3x4" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x2" />
-<Test name="mat4x3" />
-<Test name="mat2x4" />
-<Test name="mat2x3" />
-<Test name="mat3x2" />
-</TestCase>
-<TestCase name="mediump_fragment">
-<Test name="mat4" />
-<Test name="mat3x4" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x2" />
-<Test name="mat4x3" />
-<Test name="mat2x4" />
-<Test name="mat2x3" />
-<Test name="mat3x2" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-</TestSuite>
-<TestCase name="builtin_variable">
-<Test name="max_vertex_uniform_vectors_fragment" />
-<Test name="max_draw_buffers_fragment" />
-<Test name="max_fragment_uniform_vectors_fragment" />
-<Test name="max_texture_image_units_fragment" />
-<Test name="frontfacing" />
-<Test name="max_fragment_uniform_vectors_vertex" />
-<Test name="max_texture_image_units_vertex" />
-<Test name="depth_range_fragment" />
-<Test name="vertex_id" />
-<Test name="max_draw_buffers_vertex" />
-<Test name="pointcoord" />
-<Test name="max_vertex_attribs_vertex" />
-<Test name="depth_range_vertex" />
-<Test name="max_vertex_uniform_vectors_vertex" />
-<Test name="fragcoord_xyz" />
-<Test name="max_vertex_attribs_fragment" />
-</TestCase>
-<TestCase name="return">
-<Test name="output_write_never_vertex" />
-<Test name="output_write_never_fragment" />
-<Test name="output_write_in_func_dynamic_vertex" />
-<Test name="return_in_dynamic_loop_dynamic_vertex" />
-<Test name="output_write_in_func_never_vertex" />
-<Test name="output_write_in_func_dynamic_fragment" />
-<Test name="output_write_in_func_never_fragment" />
-<Test name="last_statement_in_main_fragment" />
-<Test name="return_in_static_loop_always_fragment" />
-<Test name="conditional_return_dynamic_vertex" />
-<Test name="double_return_fragment" />
-<Test name="return_in_static_loop_always_vertex" />
-<Test name="return_in_static_loop_dynamic_vertex" />
-<Test name="output_write_dynamic_vertex" />
-<Test name="return_in_dynamic_loop_never_vertex" />
-<Test name="return_in_dynamic_loop_never_fragment" />
-<Test name="single_return_vertex" />
-<Test name="return_in_static_loop_never_vertex" />
-<Test name="double_return_vertex" />
-<Test name="last_statement_in_main_vertex" />
-<Test name="conditional_return_never_fragment" />
-<Test name="return_in_dynamic_loop_dynamic_fragment" />
-<Test name="return_in_dynamic_loop_always_vertex" />
-<Test name="return_in_infinite_loop_fragment" />
-<Test name="return_in_dynamic_loop_always_fragment" />
-<Test name="output_write_always_fragment" />
-<Test name="conditional_return_dynamic_fragment" />
-<Test name="return_in_infinite_loop_vertex" />
-<Test name="return_in_static_loop_never_fragment" />
-<Test name="single_return_fragment" />
-<Test name="return_in_static_loop_dynamic_fragment" />
-<Test name="output_write_always_vertex" />
-<Test name="output_write_dynamic_fragment" />
-<Test name="conditional_return_never_vertex" />
-</TestCase>
-<TestSuite name="indexing">
-<TestCase name="tmp_array">
-<Test name="vec3_static_write_static_loop_read_vertex" />
-<Test name="vec4_static_write_dynamic_read_vertex" />
-<Test name="vec2_dynamic_loop_write_dynamic_loop_read_fragment" />
-<Test name="vec3_static_write_dynamic_read_vertex" />
-<Test name="vec3_static_loop_write_static_loop_read_vertex" />
-<Test name="vec4_static_loop_write_dynamic_loop_read_vertex" />
-<Test name="vec3_static_loop_write_dynamic_loop_read_fragment" />
-<Test name="vec3_dynamic_write_dynamic_read_fragment" />
-<Test name="vec4_static_write_static_read_fragment" />
-<Test name="vec4_static_write_static_read_vertex" />
-<Test name="vec2_dynamic_loop_write_static_read_vertex" />
-<Test name="float_dynamic_loop_write_dynamic_loop_read_vertex" />
-<Test name="vec3_static_loop_write_dynamic_read_vertex" />
-<Test name="vec4_dynamic_write_dynamic_read_vertex" />
-<Test name="vec3_static_loop_write_dynamic_loop_read_vertex" />
-<Test name="float_dynamic_write_static_read_vertex" />
-<Test name="vec2_static_write_dynamic_read_vertex" />
-<Test name="float_static_write_dynamic_read_fragment" />
-<Test name="vec2_dynamic_write_static_read_fragment" />
-<Test name="vec3_dynamic_loop_write_static_read_vertex" />
-<Test name="vec4_dynamic_loop_write_dynamic_loop_read_fragment" />
-<Test name="vec3_static_write_static_read_vertex" />
-<Test name="vec3_static_write_dynamic_loop_read_vertex" />
-<Test name="vec2_static_write_static_loop_read_vertex" />
-<Test name="vec4_static_loop_write_static_loop_read_fragment" />
-<Test name="vec2_static_loop_write_static_read_vertex" />
-<Test name="vec3_static_loop_write_static_read_vertex" />
-<Test name="float_dynamic_write_dynamic_loop_read_vertex" />
-<Test name="float_static_loop_write_static_loop_read_vertex" />
-<Test name="vec4_static_loop_write_static_read_vertex" />
-<Test name="vec2_dynamic_write_dynamic_read_fragment" />
-<Test name="vec3_dynamic_loop_write_dynamic_loop_read_vertex" />
-<Test name="vec3_dynamic_write_static_read_fragment" />
-<Test name="vec3_static_write_static_read_fragment" />
-<Test name="float_static_loop_write_dynamic_read_vertex" />
-<Test name="vec4_static_write_static_loop_read_fragment" />
-<Test name="vec2_dynamic_loop_write_static_loop_read_vertex" />
-<Test name="vec3_dynamic_loop_write_dynamic_loop_read_fragment" />
-<Test name="float_dynamic_write_dynamic_loop_read_fragment" />
-<Test name="float_static_write_dynamic_loop_read_fragment" />
-<Test name="vec2_static_loop_write_dynamic_loop_read_vertex" />
-<Test name="float_dynamic_loop_write_dynamic_loop_read_fragment" />
-<Test name="float_static_write_dynamic_loop_read_vertex" />
-<Test name="vec4_static_write_dynamic_loop_read_fragment" />
-<Test name="vec3_static_loop_write_static_loop_read_fragment" />
-<Test name="float_static_loop_write_dynamic_loop_read_vertex" />
-<Test name="vec4_dynamic_loop_write_static_read_fragment" />
-<Test name="vec3_dynamic_write_static_loop_read_vertex" />
-<Test name="float_dynamic_write_static_loop_read_fragment" />
-<Test name="vec2_dynamic_write_dynamic_loop_read_vertex" />
-<Test name="vec3_static_loop_write_dynamic_read_fragment" />
-<Test name="float_static_write_static_loop_read_fragment" />
-<Test name="vec3_dynamic_loop_write_static_loop_read_fragment" />
-<Test name="vec2_static_write_static_read_fragment" />
-<Test name="vec3_dynamic_loop_write_static_loop_read_vertex" />
-<Test name="float_dynamic_write_static_loop_read_vertex" />
-<Test name="vec4_static_write_dynamic_loop_read_vertex" />
-<Test name="float_dynamic_loop_write_dynamic_read_fragment" />
-<Test name="vec4_static_loop_write_dynamic_loop_read_fragment" />
-<Test name="float_static_loop_write_static_loop_read_fragment" />
-<Test name="vec4_dynamic_write_static_read_vertex" />
-<Test name="float_static_write_static_read_vertex" />
-<Test name="vec2_static_loop_write_static_read_fragment" />
-<Test name="vec4_dynamic_loop_write_static_loop_read_vertex" />
-<Test name="vec2_static_write_dynamic_loop_read_vertex" />
-<Test name="vec4_static_loop_write_static_read_fragment" />
-<Test name="vec4_static_loop_write_static_loop_read_vertex" />
-<Test name="float_dynamic_loop_write_static_loop_read_vertex" />
-<Test name="vec2_dynamic_loop_write_dynamic_read_vertex" />
-<Test name="vec3_dynamic_write_dynamic_read_vertex" />
-<Test name="vec4_dynamic_write_dynamic_loop_read_fragment" />
-<Test name="vec4_static_loop_write_dynamic_read_vertex" />
-<Test name="vec4_dynamic_loop_write_dynamic_read_vertex" />
-<Test name="vec2_static_loop_write_dynamic_loop_read_fragment" />
-<Test name="vec4_dynamic_write_static_loop_read_fragment" />
-<Test name="vec2_static_write_dynamic_loop_read_fragment" />
-<Test name="vec4_dynamic_write_dynamic_read_fragment" />
-<Test name="vec3_dynamic_write_static_loop_read_fragment" />
-<Test name="float_dynamic_write_dynamic_read_vertex" />
-<Test name="vec2_dynamic_write_static_loop_read_vertex" />
-<Test name="vec3_static_loop_write_static_read_fragment" />
-<Test name="vec2_static_loop_write_dynamic_read_fragment" />
-<Test name="vec4_static_write_dynamic_read_fragment" />
-<Test name="vec2_dynamic_write_dynamic_read_vertex" />
-<Test name="vec2_static_write_dynamic_read_fragment" />
-<Test name="vec4_dynamic_write_dynamic_loop_read_vertex" />
-<Test name="vec2_dynamic_write_static_read_vertex" />
-<Test name="vec3_dynamic_write_static_read_vertex" />
-<Test name="float_static_loop_write_static_read_fragment" />
-<Test name="vec4_dynamic_write_static_loop_read_vertex" />
-<Test name="vec2_static_write_static_loop_read_fragment" />
-<Test name="vec4_dynamic_loop_write_dynamic_loop_read_vertex" />
-<Test name="vec2_static_write_static_read_vertex" />
-<Test name="vec4_dynamic_write_static_read_fragment" />
-<Test name="vec3_dynamic_loop_write_static_read_fragment" />
-<Test name="vec2_static_loop_write_static_loop_read_vertex" />
-<Test name="float_dynamic_write_static_read_fragment" />
-<Test name="float_dynamic_write_dynamic_read_fragment" />
-<Test name="vec3_dynamic_loop_write_dynamic_read_fragment" />
-<Test name="vec4_dynamic_loop_write_static_read_vertex" />
-<Test name="vec2_static_loop_write_dynamic_read_vertex" />
-<Test name="vec3_static_write_dynamic_read_fragment" />
-<Test name="vec2_dynamic_loop_write_dynamic_read_fragment" />
-<Test name="vec2_dynamic_write_static_loop_read_fragment" />
-<Test name="vec2_dynamic_loop_write_static_loop_read_fragment" />
-<Test name="float_static_write_dynamic_read_vertex" />
-<Test name="vec2_dynamic_loop_write_dynamic_loop_read_vertex" />
-<Test name="vec3_static_write_dynamic_loop_read_fragment" />
-<Test name="float_static_loop_write_static_read_vertex" />
-<Test name="vec3_dynamic_loop_write_dynamic_read_vertex" />
-<Test name="float_dynamic_loop_write_static_read_fragment" />
-<Test name="float_static_write_static_read_fragment" />
-<Test name="float_dynamic_loop_write_static_loop_read_fragment" />
-<Test name="vec3_static_write_static_loop_read_fragment" />
-<Test name="float_static_loop_write_dynamic_loop_read_fragment" />
-<Test name="vec4_dynamic_loop_write_dynamic_read_fragment" />
-<Test name="vec3_dynamic_write_dynamic_loop_read_fragment" />
-<Test name="vec3_dynamic_write_dynamic_loop_read_vertex" />
-<Test name="float_dynamic_loop_write_dynamic_read_vertex" />
-<Test name="vec2_dynamic_loop_write_static_read_fragment" />
-<Test name="float_static_loop_write_dynamic_read_fragment" />
-<Test name="vec2_static_loop_write_static_loop_read_fragment" />
-<Test name="float_static_write_static_loop_read_vertex" />
-<Test name="vec4_dynamic_loop_write_static_loop_read_fragment" />
-<Test name="float_dynamic_loop_write_static_read_vertex" />
-<Test name="vec4_static_loop_write_dynamic_read_fragment" />
-<Test name="vec2_dynamic_write_dynamic_loop_read_fragment" />
-<Test name="vec4_static_write_static_loop_read_vertex" />
-</TestCase>
-<TestCase name="matrix_subscript">
-<Test name="mat4x2_dynamic_loop_write_static_read_vertex" />
-<Test name="mat2x3_dynamic_write_dynamic_loop_read_vertex" />
-<Test name="mat3x2_static_loop_write_dynamic_read_fragment" />
-<Test name="mat3x4_dynamic_loop_write_static_loop_read_vertex" />
-<Test name="mat2_static_loop_write_dynamic_loop_read_vertex" />
-<Test name="mat2_static_write_static_read_fragment" />
-<Test name="mat3x4_dynamic_loop_write_static_loop_read_fragment" />
-<Test name="mat4_static_loop_write_static_loop_read_fragment" />
-<Test name="mat3x2_dynamic_write_static_read_vertex" />
-<Test name="mat4_dynamic_loop_write_dynamic_read_vertex" />
-<Test name="mat2x4_static_loop_write_dynamic_read_fragment" />
-<Test name="mat3_dynamic_loop_write_dynamic_read_fragment" />
-<Test name="mat3_static_write_static_read_fragment" />
-<Test name="mat3_dynamic_loop_write_dynamic_read_vertex" />
-<Test name="mat2x3_static_loop_write_dynamic_read_vertex" />
-<Test name="mat4_dynamic_loop_write_static_loop_read_fragment" />
-<Test name="mat3x2_dynamic_loop_write_dynamic_read_fragment" />
-<Test name="mat2_dynamic_loop_write_dynamic_read_fragment" />
-<Test name="mat3x4_dynamic_write_dynamic_loop_read_fragment" />
-<Test name="mat2x4_dynamic_write_dynamic_loop_read_fragment" />
-<Test name="mat3x4_dynamic_write_static_loop_read_fragment" />
-<Test name="mat4_dynamic_write_dynamic_loop_read_fragment" />
-<Test name="mat2x3_dynamic_loop_write_dynamic_read_vertex" />
-<Test name="mat2_static_loop_write_static_loop_read_vertex" />
-<Test name="mat2x3_dynamic_write_dynamic_loop_read_fragment" />
-<Test name="mat4x3_dynamic_loop_write_static_read_fragment" />
-<Test name="mat2x3_static_loop_write_static_loop_read_vertex" />
-<Test name="mat4x3_dynamic_loop_write_dynamic_loop_read_vertex" />
-<Test name="mat3_dynamic_loop_write_dynamic_loop_read_fragment" />
-<Test name="mat4_dynamic_write_dynamic_loop_read_vertex" />
-<Test name="mat4x3_dynamic_write_dynamic_loop_read_fragment" />
-<Test name="mat3_dynamic_loop_write_static_loop_read_fragment" />
-<Test name="mat4x3_dynamic_loop_write_dynamic_read_vertex" />
-<Test name="mat4x2_dynamic_loop_write_static_loop_read_fragment" />
-<Test name="mat2x3_dynamic_write_dynamic_read_vertex" />
-<Test name="mat4x3_static_loop_write_static_loop_read_vertex" />
-<Test name="mat4_static_write_static_read_fragment" />
-<Test name="mat4x2_dynamic_loop_write_dynamic_loop_read_fragment" />
-<Test name="mat2x4_static_loop_write_dynamic_loop_read_fragment" />
-<Test name="mat2x4_dynamic_loop_write_dynamic_read_vertex" />
-<Test name="mat3_static_loop_write_dynamic_read_vertex" />
-<Test name="mat4x2_dynamic_write_dynamic_read_fragment" />
-<Test name="mat3x2_static_loop_write_static_read_vertex" />
-<Test name="mat3_dynamic_loop_write_static_loop_read_vertex" />
-<Test name="mat2_dynamic_write_static_read_fragment" />
-<Test name="mat2_dynamic_write_static_read_vertex" />
-<Test name="mat4x2_dynamic_write_dynamic_loop_read_vertex" />
-<Test name="mat2x4_dynamic_write_static_read_vertex" />
-<Test name="mat3x2_static_loop_write_dynamic_loop_read_fragment" />
-<Test name="mat3_static_loop_write_dynamic_read_fragment" />
-<Test name="mat4x2_dynamic_write_static_loop_read_vertex" />
-<Test name="mat3_static_write_static_read_vertex" />
-<Test name="mat3_static_loop_write_static_read_vertex" />
-<Test name="mat3_dynamic_write_dynamic_read_vertex" />
-<Test name="mat3x2_dynamic_loop_write_static_loop_read_fragment" />
-<Test name="mat2_static_loop_write_static_read_fragment" />
-<Test name="mat2x3_dynamic_loop_write_dynamic_loop_read_vertex" />
-<Test name="mat3x2_dynamic_loop_write_dynamic_loop_read_vertex" />
-<Test name="mat3x2_dynamic_loop_write_static_read_fragment" />
-<Test name="mat4x2_dynamic_write_dynamic_loop_read_fragment" />
-<Test name="mat2x3_static_loop_write_dynamic_loop_read_fragment" />
-<Test name="mat2x3_static_loop_write_static_read_fragment" />
-<Test name="mat4x2_dynamic_write_static_read_fragment" />
-<Test name="mat4x3_static_loop_write_static_loop_read_fragment" />
-<Test name="mat3_dynamic_write_dynamic_read_fragment" />
-<Test name="mat2x3_dynamic_loop_write_static_loop_read_vertex" />
-<Test name="mat2_dynamic_loop_write_dynamic_loop_read_fragment" />
-<Test name="mat2x3_dynamic_write_static_loop_read_vertex" />
-<Test name="mat2x3_dynamic_write_static_loop_read_fragment" />
-<Test name="mat3x2_dynamic_write_dynamic_loop_read_fragment" />
-<Test name="mat3x2_static_loop_write_dynamic_loop_read_vertex" />
-<Test name="mat2x3_static_write_static_read_fragment" />
-<Test name="mat4x3_dynamic_write_static_read_vertex" />
-<Test name="mat4_dynamic_loop_write_dynamic_read_fragment" />
-<Test name="mat3_dynamic_loop_write_dynamic_loop_read_vertex" />
-<Test name="mat3x2_dynamic_write_dynamic_loop_read_vertex" />
-<Test name="mat4x3_static_loop_write_static_read_fragment" />
-<Test name="mat2x4_dynamic_loop_write_static_loop_read_vertex" />
-<Test name="mat4x3_dynamic_write_static_loop_read_vertex" />
-<Test name="mat2_static_loop_write_static_read_vertex" />
-<Test name="mat3_dynamic_loop_write_static_read_vertex" />
-<Test name="mat3x4_static_loop_write_static_loop_read_vertex" />
-<Test name="mat3x2_dynamic_write_dynamic_read_vertex" />
-<Test name="mat3x2_dynamic_write_static_loop_read_vertex" />
-<Test name="mat4_dynamic_write_static_read_vertex" />
-<Test name="mat4x2_static_loop_write_static_loop_read_vertex" />
-<Test name="mat2x4_dynamic_loop_write_static_read_fragment" />
-<Test name="mat2_dynamic_write_static_loop_read_fragment" />
-<Test name="mat4_static_loop_write_dynamic_read_vertex" />
-<Test name="mat4x3_dynamic_loop_write_static_loop_read_fragment" />
-<Test name="mat2x3_dynamic_loop_write_dynamic_read_fragment" />
-<Test name="mat3x4_static_loop_write_dynamic_loop_read_vertex" />
-<Test name="mat4x2_static_write_static_read_vertex" />
-<Test name="mat2x4_static_loop_write_static_loop_read_vertex" />
-<Test name="mat4_dynamic_write_static_loop_read_fragment" />
-<Test name="mat4x2_static_loop_write_static_read_vertex" />
-<Test name="mat2_static_write_static_read_vertex" />
-<Test name="mat2x4_dynamic_write_dynamic_loop_read_vertex" />
-<Test name="mat3x4_dynamic_write_static_loop_read_vertex" />
-<Test name="mat2x3_dynamic_loop_write_static_read_vertex" />
-<Test name="mat4_dynamic_loop_write_dynamic_loop_read_vertex" />
-<Test name="mat3x2_static_loop_write_static_loop_read_fragment" />
-<Test name="mat4x2_dynamic_loop_write_dynamic_read_vertex" />
-<Test name="mat3x2_static_loop_write_static_loop_read_vertex" />
-<Test name="mat3x4_static_loop_write_static_loop_read_fragment" />
-<Test name="mat4x2_static_loop_write_dynamic_loop_read_fragment" />
-<Test name="mat2_static_loop_write_static_loop_read_fragment" />
-<Test name="mat2_static_loop_write_dynamic_read_vertex" />
-<Test name="mat3x4_static_loop_write_dynamic_loop_read_fragment" />
-<Test name="mat4x2_dynamic_loop_write_dynamic_read_fragment" />
-<Test name="mat2_dynamic_loop_write_static_loop_read_vertex" />
-<Test name="mat4x3_static_write_static_read_vertex" />
-<Test name="mat2x4_static_loop_write_static_loop_read_fragment" />
-<Test name="mat3x4_static_loop_write_static_read_vertex" />
-<Test name="mat2_dynamic_write_dynamic_loop_read_fragment" />
-<Test name="mat3x2_dynamic_loop_write_dynamic_loop_read_fragment" />
-<Test name="mat4x2_static_loop_write_dynamic_loop_read_vertex" />
-<Test name="mat4x2_dynamic_loop_write_dynamic_loop_read_vertex" />
-<Test name="mat4_static_loop_write_static_read_vertex" />
-<Test name="mat3_static_loop_write_dynamic_loop_read_fragment" />
-<Test name="mat2x3_dynamic_write_dynamic_read_fragment" />
-<Test name="mat2x4_dynamic_write_dynamic_read_fragment" />
-<Test name="mat3x4_static_write_static_read_vertex" />
-<Test name="mat3x4_dynamic_write_static_read_fragment" />
-<Test name="mat2x4_static_loop_write_static_read_vertex" />
-<Test name="mat2x3_dynamic_loop_write_dynamic_loop_read_fragment" />
-<Test name="mat2x3_dynamic_loop_write_static_read_fragment" />
-<Test name="mat2x4_dynamic_write_static_read_fragment" />
-<Test name="mat4x3_dynamic_write_dynamic_loop_read_vertex" />
-<Test name="mat3x2_static_write_static_read_vertex" />
-<Test name="mat4x2_static_loop_write_static_loop_read_fragment" />
-<Test name="mat2_dynamic_loop_write_static_read_vertex" />
-<Test name="mat3x4_static_loop_write_static_read_fragment" />
-<Test name="mat4_static_loop_write_dynamic_loop_read_vertex" />
-<Test name="mat2x3_static_loop_write_static_read_vertex" />
-<Test name="mat4x3_static_loop_write_dynamic_read_fragment" />
-<Test name="mat4_dynamic_loop_write_static_read_vertex" />
-<Test name="mat4_dynamic_loop_write_static_read_fragment" />
-<Test name="mat4x3_static_loop_write_static_read_vertex" />
-<Test name="mat2x4_dynamic_loop_write_static_loop_read_fragment" />
-<Test name="mat4x3_dynamic_loop_write_dynamic_loop_read_fragment" />
-<Test name="mat3x4_static_loop_write_dynamic_read_vertex" />
-<Test name="mat2_dynamic_write_dynamic_read_fragment" />
-<Test name="mat3x2_dynamic_write_dynamic_read_fragment" />
-<Test name="mat2x4_dynamic_write_static_loop_read_fragment" />
-<Test name="mat2x4_dynamic_write_static_loop_read_vertex" />
-<Test name="mat2x4_dynamic_loop_write_dynamic_read_fragment" />
-<Test name="mat4x3_dynamic_write_static_loop_read_fragment" />
-<Test name="mat4x3_static_loop_write_dynamic_loop_read_vertex" />
-<Test name="mat2_dynamic_write_dynamic_read_vertex" />
-<Test name="mat4x2_dynamic_write_static_read_vertex" />
-<Test name="mat2x4_static_loop_write_dynamic_loop_read_vertex" />
-<Test name="mat4x3_dynamic_write_static_read_fragment" />
-<Test name="mat4_static_loop_write_dynamic_loop_read_fragment" />
-<Test name="mat4x3_static_loop_write_dynamic_read_vertex" />
-<Test name="mat4x3_dynamic_loop_write_static_loop_read_vertex" />
-<Test name="mat4x2_dynamic_loop_write_static_read_fragment" />
-<Test name="mat3x4_dynamic_loop_write_static_read_vertex" />
-<Test name="mat2_dynamic_write_dynamic_loop_read_vertex" />
-<Test name="mat3x4_dynamic_write_dynamic_read_fragment" />
-<Test name="mat4x2_static_write_static_read_fragment" />
-<Test name="mat3x2_static_write_static_read_fragment" />
-<Test name="mat4x2_static_loop_write_dynamic_read_fragment" />
-<Test name="mat4x3_dynamic_write_dynamic_read_vertex" />
-<Test name="mat2x3_dynamic_write_static_read_fragment" />
-<Test name="mat2x4_static_loop_write_dynamic_read_vertex" />
-<Test name="mat3_dynamic_write_dynamic_loop_read_vertex" />
-<Test name="mat3_dynamic_loop_write_static_read_fragment" />
-<Test name="mat4_dynamic_write_dynamic_read_vertex" />
-<Test name="mat3x4_dynamic_loop_write_static_read_fragment" />
-<Test name="mat2_dynamic_loop_write_static_read_fragment" />
-<Test name="mat2x3_static_loop_write_dynamic_read_fragment" />
-<Test name="mat2x4_static_loop_write_static_read_fragment" />
-<Test name="mat3x4_dynamic_write_dynamic_loop_read_vertex" />
-<Test name="mat2_dynamic_loop_write_dynamic_loop_read_vertex" />
-<Test name="mat4x2_static_loop_write_dynamic_read_vertex" />
-<Test name="mat2_static_loop_write_dynamic_read_fragment" />
-<Test name="mat2x3_dynamic_write_static_read_vertex" />
-<Test name="mat3x2_static_loop_write_static_read_fragment" />
-<Test name="mat3x4_static_loop_write_dynamic_read_fragment" />
-<Test name="mat2x3_static_write_static_read_vertex" />
-<Test name="mat3x2_dynamic_write_static_read_fragment" />
-<Test name="mat3x2_dynamic_write_static_loop_read_fragment" />
-<Test name="mat4_dynamic_loop_write_static_loop_read_vertex" />
-<Test name="mat3_static_loop_write_dynamic_loop_read_vertex" />
-<Test name="mat4x2_static_loop_write_static_read_fragment" />
-<Test name="mat2_dynamic_loop_write_static_loop_read_fragment" />
-<Test name="mat4x3_dynamic_loop_write_dynamic_read_fragment" />
-<Test name="mat4_static_loop_write_static_read_fragment" />
-<Test name="mat3x4_dynamic_loop_write_dynamic_loop_read_fragment" />
-<Test name="mat3x4_dynamic_write_static_read_vertex" />
-<Test name="mat2x4_dynamic_write_dynamic_read_vertex" />
-<Test name="mat4_static_loop_write_dynamic_read_fragment" />
-<Test name="mat3x2_dynamic_loop_write_static_read_vertex" />
-<Test name="mat4_dynamic_loop_write_dynamic_loop_read_fragment" />
-<Test name="mat3_dynamic_write_static_loop_read_fragment" />
-<Test name="mat2x3_static_loop_write_static_loop_read_fragment" />
-<Test name="mat3x4_dynamic_loop_write_dynamic_loop_read_vertex" />
-<Test name="mat2_dynamic_loop_write_dynamic_read_vertex" />
-<Test name="mat4x3_static_loop_write_dynamic_loop_read_fragment" />
-<Test name="mat4x2_dynamic_write_dynamic_read_vertex" />
-<Test name="mat3_dynamic_write_static_read_vertex" />
-<Test name="mat2x4_dynamic_loop_write_dynamic_loop_read_fragment" />
-<Test name="mat4_dynamic_write_static_read_fragment" />
-<Test name="mat4_static_write_static_read_vertex" />
-<Test name="mat4x3_dynamic_loop_write_static_read_vertex" />
-<Test name="mat3_dynamic_write_static_loop_read_vertex" />
-<Test name="mat4_static_loop_write_static_loop_read_vertex" />
-<Test name="mat3_static_loop_write_static_loop_read_vertex" />
-<Test name="mat3x4_dynamic_write_dynamic_read_vertex" />
-<Test name="mat3x2_dynamic_loop_write_static_loop_read_vertex" />
-<Test name="mat3x2_dynamic_loop_write_dynamic_read_vertex" />
-<Test name="mat4_dynamic_write_static_loop_read_vertex" />
-<Test name="mat3x4_dynamic_loop_write_dynamic_read_fragment" />
-<Test name="mat4x2_dynamic_loop_write_static_loop_read_vertex" />
-<Test name="mat3_static_loop_write_static_loop_read_fragment" />
-<Test name="mat2x4_static_write_static_read_fragment" />
-<Test name="mat2x3_static_loop_write_dynamic_loop_read_vertex" />
-<Test name="mat2x4_static_write_static_read_vertex" />
-<Test name="mat4x3_static_write_static_read_fragment" />
-<Test name="mat4x2_dynamic_write_static_loop_read_fragment" />
-<Test name="mat3_static_loop_write_static_read_fragment" />
-<Test name="mat2_static_loop_write_dynamic_loop_read_fragment" />
-<Test name="mat3x4_static_write_static_read_fragment" />
-<Test name="mat3_dynamic_write_dynamic_loop_read_fragment" />
-<Test name="mat2x3_dynamic_loop_write_static_loop_read_fragment" />
-<Test name="mat3x4_dynamic_loop_write_dynamic_read_vertex" />
-<Test name="mat4x3_dynamic_write_dynamic_read_fragment" />
-<Test name="mat4_dynamic_write_dynamic_read_fragment" />
-<Test name="mat2x4_dynamic_loop_write_dynamic_loop_read_vertex" />
-<Test name="mat2x4_dynamic_loop_write_static_read_vertex" />
-<Test name="mat3x2_static_loop_write_dynamic_read_vertex" />
-<Test name="mat3_dynamic_write_static_read_fragment" />
-<Test name="mat2_dynamic_write_static_loop_read_vertex" />
-</TestCase>
-<TestCase name="vector_subscript">
-<Test name="vec3_dynamic_loop_subscript_write_dynamic_subscript_read_vertex" />
-<Test name="vec2_dynamic_subscript_write_static_subscript_read_vertex" />
-<Test name="vec2_static_loop_subscript_write_direct_read_vertex" />
-<Test name="vec3_dynamic_subscript_write_direct_read_vertex" />
-<Test name="vec2_dynamic_loop_subscript_write_component_read_fragment" />
-<Test name="vec2_static_loop_subscript_write_static_loop_subscript_read_vertex" />
-<Test name="vec3_component_write_dynamic_subscript_read_vertex" />
-<Test name="vec3_direct_write_component_read_fragment" />
-<Test name="vec4_static_subscript_write_direct_read_vertex" />
-<Test name="vec2_dynamic_subscript_write_dynamic_loop_subscript_read_vertex" />
-<Test name="vec4_direct_write_dynamic_subscript_read_vertex" />
-<Test name="vec4_component_write_static_loop_subscript_read_vertex" />
-<Test name="vec3_dynamic_loop_subscript_write_dynamic_subscript_read_fragment" />
-<Test name="vec4_direct_write_dynamic_loop_subscript_read_vertex" />
-<Test name="vec4_dynamic_loop_subscript_write_direct_read_vertex" />
-<Test name="vec3_direct_write_dynamic_loop_subscript_read_vertex" />
-<Test name="vec4_dynamic_loop_subscript_write_dynamic_subscript_read_fragment" />
-<Test name="vec3_static_subscript_write_static_subscript_read_fragment" />
-<Test name="vec3_dynamic_subscript_write_dynamic_subscript_read_vertex" />
-<Test name="vec3_component_write_static_subscript_read_vertex" />
-<Test name="vec2_dynamic_loop_subscript_write_dynamic_subscript_read_fragment" />
-<Test name="vec4_dynamic_loop_subscript_write_direct_read_fragment" />
-<Test name="vec3_direct_write_direct_read_fragment" />
-<Test name="vec2_static_loop_subscript_write_dynamic_subscript_read_fragment" />
-<Test name="vec3_dynamic_subscript_write_static_subscript_read_fragment" />
-<Test name="vec2_component_write_static_loop_subscript_read_vertex" />
-<Test name="vec3_direct_write_dynamic_loop_subscript_read_fragment" />
-<Test name="vec4_dynamic_subscript_write_dynamic_loop_subscript_read_fragment" />
-<Test name="vec2_static_subscript_write_dynamic_loop_subscript_read_vertex" />
-<Test name="vec4_dynamic_subscript_write_dynamic_subscript_read_vertex" />
-<Test name="vec2_static_loop_subscript_write_component_read_vertex" />
-<Test name="vec4_static_loop_subscript_write_dynamic_subscript_read_fragment" />
-<Test name="vec2_dynamic_loop_subscript_write_static_loop_subscript_read_fragment" />
-<Test name="vec2_direct_write_dynamic_subscript_read_vertex" />
-<Test name="vec2_dynamic_loop_subscript_write_static_subscript_read_vertex" />
-<Test name="vec4_component_write_static_subscript_read_vertex" />
-<Test name="vec2_static_loop_subscript_write_static_subscript_read_vertex" />
-<Test name="vec3_dynamic_subscript_write_component_read_vertex" />
-<Test name="vec3_static_subscript_write_static_loop_subscript_read_vertex" />
-<Test name="vec3_static_loop_subscript_write_static_subscript_read_vertex" />
-<Test name="vec4_direct_write_dynamic_subscript_read_fragment" />
-<Test name="vec2_component_write_static_loop_subscript_read_fragment" />
-<Test name="vec3_dynamic_loop_subscript_write_dynamic_loop_subscript_read_vertex" />
-<Test name="vec3_dynamic_loop_subscript_write_direct_read_vertex" />
-<Test name="vec3_static_subscript_write_static_subscript_read_vertex" />
-<Test name="vec4_dynamic_loop_subscript_write_static_loop_subscript_read_vertex" />
-<Test name="vec2_dynamic_subscript_write_static_loop_subscript_read_vertex" />
-<Test name="vec4_dynamic_loop_subscript_write_component_read_fragment" />
-<Test name="vec4_dynamic_loop_subscript_write_dynamic_loop_subscript_read_vertex" />
-<Test name="vec4_static_subscript_write_dynamic_loop_subscript_read_fragment" />
-<Test name="vec2_static_subscript_write_dynamic_subscript_read_fragment" />
-<Test name="vec2_direct_write_direct_read_fragment" />
-<Test name="vec2_dynamic_loop_subscript_write_direct_read_vertex" />
-<Test name="vec2_dynamic_loop_subscript_write_dynamic_subscript_read_vertex" />
-<Test name="vec3_direct_write_static_subscript_read_vertex" />
-<Test name="vec2_dynamic_loop_subscript_write_static_loop_subscript_read_vertex" />
-<Test name="vec3_component_write_dynamic_subscript_read_fragment" />
-<Test name="vec4_dynamic_loop_subscript_write_dynamic_loop_subscript_read_fragment" />
-<Test name="vec4_component_write_static_subscript_read_fragment" />
-<Test name="vec4_component_write_direct_read_fragment" />
-<Test name="vec4_static_subscript_write_direct_read_fragment" />
-<Test name="vec3_dynamic_subscript_write_component_read_fragment" />
-<Test name="vec4_dynamic_subscript_write_static_loop_subscript_read_vertex" />
-<Test name="vec3_component_write_dynamic_loop_subscript_read_fragment" />
-<Test name="vec2_static_subscript_write_component_read_vertex" />
-<Test name="vec3_component_write_dynamic_loop_subscript_read_vertex" />
-<Test name="vec2_dynamic_loop_subscript_write_dynamic_loop_subscript_read_vertex" />
-<Test name="vec4_direct_write_direct_read_fragment" />
-<Test name="vec2_static_subscript_write_component_read_fragment" />
-<Test name="vec4_component_write_dynamic_subscript_read_vertex" />
-<Test name="vec2_component_write_dynamic_subscript_read_vertex" />
-<Test name="vec4_static_loop_subscript_write_dynamic_loop_subscript_read_fragment" />
-<Test name="vec3_dynamic_loop_subscript_write_direct_read_fragment" />
-<Test name="vec3_component_write_component_read_fragment" />
-<Test name="vec2_static_loop_subscript_write_direct_read_fragment" />
-<Test name="vec3_static_subscript_write_component_read_vertex" />
-<Test name="vec3_static_loop_subscript_write_component_read_vertex" />
-<Test name="vec4_static_subscript_write_static_loop_subscript_read_fragment" />
-<Test name="vec3_dynamic_subscript_write_static_subscript_read_vertex" />
-<Test name="vec4_component_write_dynamic_loop_subscript_read_fragment" />
-<Test name="vec2_dynamic_subscript_write_component_read_fragment" />
-<Test name="vec3_dynamic_subscript_write_static_loop_subscript_read_vertex" />
-<Test name="vec3_dynamic_loop_subscript_write_component_read_vertex" />
-<Test name="vec2_dynamic_subscript_write_static_subscript_read_fragment" />
-<Test name="vec4_dynamic_subscript_write_component_read_vertex" />
-<Test name="vec2_direct_write_static_subscript_read_fragment" />
-<Test name="vec2_direct_write_static_loop_subscript_read_vertex" />
-<Test name="vec4_direct_write_component_read_vertex" />
-<Test name="vec4_component_write_component_read_fragment" />
-<Test name="vec3_static_subscript_write_component_read_fragment" />
-<Test name="vec3_component_write_component_read_vertex" />
-<Test name="vec3_component_write_direct_read_vertex" />
-<Test name="vec3_component_write_static_loop_subscript_read_vertex" />
-<Test name="vec2_static_loop_subscript_write_dynamic_loop_subscript_read_fragment" />
-<Test name="vec3_static_loop_subscript_write_component_read_fragment" />
-<Test name="vec2_dynamic_subscript_write_dynamic_subscript_read_vertex" />
-<Test name="vec4_dynamic_loop_subscript_write_component_read_vertex" />
-<Test name="vec3_direct_write_direct_read_vertex" />
-<Test name="vec4_direct_write_direct_read_vertex" />
-<Test name="vec2_component_write_direct_read_fragment" />
-<Test name="vec3_direct_write_static_loop_subscript_read_fragment" />
-<Test name="vec3_dynamic_loop_subscript_write_static_subscript_read_vertex" />
-<Test name="vec4_component_write_dynamic_loop_subscript_read_vertex" />
-<Test name="vec2_direct_write_dynamic_loop_subscript_read_fragment" />
-<Test name="vec2_static_loop_subscript_write_dynamic_subscript_read_vertex" />
-<Test name="vec2_component_write_direct_read_vertex" />
-<Test name="vec4_dynamic_subscript_write_static_subscript_read_vertex" />
-<Test name="vec3_static_subscript_write_direct_read_fragment" />
-<Test name="vec3_component_write_direct_read_fragment" />
-<Test name="vec3_static_subscript_write_static_loop_subscript_read_fragment" />
-<Test name="vec4_direct_write_static_subscript_read_vertex" />
-<Test name="vec4_dynamic_subscript_write_component_read_fragment" />
-<Test name="vec2_dynamic_loop_subscript_write_static_subscript_read_fragment" />
-<Test name="vec4_direct_write_dynamic_loop_subscript_read_fragment" />
-<Test name="vec4_static_loop_subscript_write_component_read_fragment" />
-<Test name="vec4_static_loop_subscript_write_component_read_vertex" />
-<Test name="vec2_component_write_static_subscript_read_fragment" />
-<Test name="vec4_dynamic_subscript_write_dynamic_loop_subscript_read_vertex" />
-<Test name="vec2_direct_write_component_read_vertex" />
-<Test name="vec3_direct_write_dynamic_subscript_read_fragment" />
-<Test name="vec2_static_subscript_write_static_loop_subscript_read_vertex" />
-<Test name="vec3_static_loop_subscript_write_direct_read_fragment" />
-<Test name="vec2_static_subscript_write_static_loop_subscript_read_fragment" />
-<Test name="vec3_static_subscript_write_dynamic_subscript_read_fragment" />
-<Test name="vec3_direct_write_dynamic_subscript_read_vertex" />
-<Test name="vec4_static_loop_subscript_write_static_subscript_read_vertex" />
-<Test name="vec2_direct_write_dynamic_loop_subscript_read_vertex" />
-<Test name="vec2_dynamic_subscript_write_dynamic_loop_subscript_read_fragment" />
-<Test name="vec3_static_loop_subscript_write_dynamic_subscript_read_vertex" />
-<Test name="vec4_direct_write_static_loop_subscript_read_fragment" />
-<Test name="vec4_static_loop_subscript_write_static_loop_subscript_read_vertex" />
-<Test name="vec3_static_loop_subscript_write_dynamic_loop_subscript_read_vertex" />
-<Test name="vec2_static_subscript_write_static_subscript_read_fragment" />
-<Test name="vec4_component_write_static_loop_subscript_read_fragment" />
-<Test name="vec3_dynamic_subscript_write_dynamic_loop_subscript_read_vertex" />
-<Test name="vec3_static_loop_subscript_write_static_loop_subscript_read_vertex" />
-<Test name="vec4_dynamic_loop_subscript_write_dynamic_subscript_read_vertex" />
-<Test name="vec2_dynamic_subscript_write_direct_read_fragment" />
-<Test name="vec2_dynamic_subscript_write_direct_read_vertex" />
-<Test name="vec2_dynamic_subscript_write_component_read_vertex" />
-<Test name="vec4_direct_write_static_loop_subscript_read_vertex" />
-<Test name="vec4_static_loop_subscript_write_static_loop_subscript_read_fragment" />
-<Test name="vec3_static_loop_subscript_write_dynamic_loop_subscript_read_fragment" />
-<Test name="vec3_component_write_static_loop_subscript_read_fragment" />
-<Test name="vec2_static_subscript_write_static_subscript_read_vertex" />
-<Test name="vec4_static_loop_subscript_write_direct_read_fragment" />
-<Test name="vec3_direct_write_static_subscript_read_fragment" />
-<Test name="vec3_dynamic_subscript_write_static_loop_subscript_read_fragment" />
-<Test name="vec2_component_write_component_read_fragment" />
-<Test name="vec2_dynamic_loop_subscript_write_dynamic_loop_subscript_read_fragment" />
-<Test name="vec3_dynamic_loop_subscript_write_dynamic_loop_subscript_read_fragment" />
-<Test name="vec2_component_write_dynamic_subscript_read_fragment" />
-<Test name="vec2_static_subscript_write_direct_read_vertex" />
-<Test name="vec4_dynamic_loop_subscript_write_static_subscript_read_vertex" />
-<Test name="vec3_static_loop_subscript_write_direct_read_vertex" />
-<Test name="vec3_direct_write_static_loop_subscript_read_vertex" />
-<Test name="vec2_direct_write_component_read_fragment" />
-<Test name="vec4_static_subscript_write_component_read_vertex" />
-<Test name="vec4_dynamic_loop_subscript_write_static_subscript_read_fragment" />
-<Test name="vec4_dynamic_loop_subscript_write_static_loop_subscript_read_fragment" />
-<Test name="vec3_static_loop_subscript_write_static_loop_subscript_read_fragment" />
-<Test name="vec3_dynamic_loop_subscript_write_static_loop_subscript_read_fragment" />
-<Test name="vec2_static_loop_subscript_write_dynamic_loop_subscript_read_vertex" />
-<Test name="vec3_dynamic_loop_subscript_write_component_read_fragment" />
-<Test name="vec2_dynamic_loop_subscript_write_component_read_vertex" />
-<Test name="vec4_static_subscript_write_component_read_fragment" />
-<Test name="vec4_static_loop_subscript_write_dynamic_subscript_read_vertex" />
-<Test name="vec2_static_loop_subscript_write_static_loop_subscript_read_fragment" />
-<Test name="vec2_direct_write_static_loop_subscript_read_fragment" />
-<Test name="vec4_dynamic_subscript_write_static_subscript_read_fragment" />
-<Test name="vec3_dynamic_loop_subscript_write_static_loop_subscript_read_vertex" />
-<Test name="vec4_direct_write_component_read_fragment" />
-<Test name="vec2_static_subscript_write_direct_read_fragment" />
-<Test name="vec4_static_subscript_write_dynamic_subscript_read_fragment" />
-<Test name="vec4_static_subscript_write_static_loop_subscript_read_vertex" />
-<Test name="vec3_dynamic_subscript_write_dynamic_subscript_read_fragment" />
-<Test name="vec3_dynamic_loop_subscript_write_static_subscript_read_fragment" />
-<Test name="vec4_static_subscript_write_dynamic_loop_subscript_read_vertex" />
-<Test name="vec2_static_subscript_write_dynamic_subscript_read_vertex" />
-<Test name="vec2_direct_write_dynamic_subscript_read_fragment" />
-<Test name="vec2_dynamic_subscript_write_dynamic_subscript_read_fragment" />
-<Test name="vec4_static_loop_subscript_write_direct_read_vertex" />
-<Test name="vec3_static_loop_subscript_write_dynamic_subscript_read_fragment" />
-<Test name="vec4_static_loop_subscript_write_static_subscript_read_fragment" />
-<Test name="vec2_static_subscript_write_dynamic_loop_subscript_read_fragment" />
-<Test name="vec2_direct_write_direct_read_vertex" />
-<Test name="vec3_dynamic_subscript_write_dynamic_loop_subscript_read_fragment" />
-<Test name="vec2_component_write_dynamic_loop_subscript_read_vertex" />
-<Test name="vec3_direct_write_component_read_vertex" />
-<Test name="vec2_component_write_static_subscript_read_vertex" />
-<Test name="vec3_static_subscript_write_dynamic_loop_subscript_read_vertex" />
-<Test name="vec4_static_subscript_write_dynamic_subscript_read_vertex" />
-<Test name="vec2_static_loop_subscript_write_static_subscript_read_fragment" />
-<Test name="vec2_dynamic_subscript_write_static_loop_subscript_read_fragment" />
-<Test name="vec3_dynamic_subscript_write_direct_read_fragment" />
-<Test name="vec3_static_subscript_write_direct_read_vertex" />
-<Test name="vec3_static_loop_subscript_write_static_subscript_read_fragment" />
-<Test name="vec4_direct_write_static_subscript_read_fragment" />
-<Test name="vec4_static_subscript_write_static_subscript_read_vertex" />
-<Test name="vec4_component_write_direct_read_vertex" />
-<Test name="vec4_dynamic_subscript_write_dynamic_subscript_read_fragment" />
-<Test name="vec4_static_subscript_write_static_subscript_read_fragment" />
-<Test name="vec2_component_write_component_read_vertex" />
-<Test name="vec4_static_loop_subscript_write_dynamic_loop_subscript_read_vertex" />
-<Test name="vec4_dynamic_subscript_write_direct_read_fragment" />
-<Test name="vec3_static_subscript_write_dynamic_loop_subscript_read_fragment" />
-<Test name="vec3_static_subscript_write_dynamic_subscript_read_vertex" />
-<Test name="vec2_static_loop_subscript_write_component_read_fragment" />
-<Test name="vec4_dynamic_subscript_write_static_loop_subscript_read_fragment" />
-<Test name="vec2_dynamic_loop_subscript_write_direct_read_fragment" />
-<Test name="vec4_component_write_component_read_vertex" />
-<Test name="vec2_direct_write_static_subscript_read_vertex" />
-<Test name="vec2_component_write_dynamic_loop_subscript_read_fragment" />
-<Test name="vec4_component_write_dynamic_subscript_read_fragment" />
-<Test name="vec3_component_write_static_subscript_read_fragment" />
-<Test name="vec4_dynamic_subscript_write_direct_read_vertex" />
-</TestCase>
-<TestCase name="varying_array">
-<Test name="vec2_dynamic_write_static_read" />
-<Test name="vec4_static_write_static_loop_read" />
-<Test name="float_static_write_dynamic_read" />
-<Test name="float_static_write_static_loop_read" />
-<Test name="vec2_static_write_dynamic_read" />
-<Test name="vec3_static_loop_write_static_loop_read" />
-<Test name="vec2_static_write_static_loop_read" />
-<Test name="vec3_dynamic_loop_write_dynamic_read" />
-<Test name="vec4_dynamic_write_dynamic_read" />
-<Test name="float_dynamic_write_static_read" />
-<Test name="vec2_dynamic_write_static_loop_read" />
-<Test name="vec3_static_write_dynamic_read" />
-<Test name="vec4_dynamic_loop_write_static_loop_read" />
-<Test name="float_static_loop_write_static_read" />
-<Test name="vec4_static_loop_write_static_loop_read" />
-<Test name="vec3_static_write_dynamic_loop_read" />
-<Test name="vec3_dynamic_write_dynamic_loop_read" />
-<Test name="vec4_dynamic_write_dynamic_loop_read" />
-<Test name="vec2_static_loop_write_static_read" />
-<Test name="float_dynamic_write_dynamic_read" />
-<Test name="float_dynamic_loop_write_dynamic_read" />
-<Test name="vec4_static_loop_write_dynamic_loop_read" />
-<Test name="vec2_dynamic_loop_write_static_read" />
-<Test name="float_static_loop_write_dynamic_read" />
-<Test name="vec4_static_write_dynamic_read" />
-<Test name="vec2_dynamic_loop_write_dynamic_read" />
-<Test name="float_static_loop_write_dynamic_loop_read" />
-<Test name="float_dynamic_write_static_loop_read" />
-<Test name="vec2_static_loop_write_static_loop_read" />
-<Test name="vec3_static_loop_write_dynamic_loop_read" />
-<Test name="vec4_dynamic_loop_write_dynamic_loop_read" />
-<Test name="vec2_static_write_dynamic_loop_read" />
-<Test name="float_static_write_dynamic_loop_read" />
-<Test name="vec4_dynamic_loop_write_dynamic_read" />
-<Test name="float_dynamic_loop_write_dynamic_loop_read" />
-<Test name="vec3_static_loop_write_static_read" />
-<Test name="vec2_static_loop_write_dynamic_read" />
-<Test name="vec3_dynamic_write_static_read" />
-<Test name="vec2_static_write_static_read" />
-<Test name="vec3_dynamic_loop_write_static_read" />
-<Test name="vec2_dynamic_write_dynamic_loop_read" />
-<Test name="vec4_static_loop_write_dynamic_read" />
-<Test name="vec3_static_write_static_read" />
-<Test name="float_static_write_static_read" />
-<Test name="float_static_loop_write_static_loop_read" />
-<Test name="vec4_dynamic_loop_write_static_read" />
-<Test name="vec3_dynamic_loop_write_dynamic_loop_read" />
-<Test name="float_dynamic_loop_write_static_read" />
-<Test name="vec3_dynamic_write_dynamic_read" />
-<Test name="vec2_dynamic_loop_write_static_loop_read" />
-<Test name="vec4_static_write_dynamic_loop_read" />
-<Test name="vec4_dynamic_write_static_read" />
-<Test name="vec3_static_write_static_loop_read" />
-<Test name="vec4_static_write_static_read" />
-<Test name="float_dynamic_loop_write_static_loop_read" />
-<Test name="vec4_dynamic_write_static_loop_read" />
-<Test name="vec2_dynamic_write_dynamic_read" />
-<Test name="vec3_dynamic_loop_write_static_loop_read" />
-<Test name="float_dynamic_write_dynamic_loop_read" />
-<Test name="vec3_dynamic_write_static_loop_read" />
-<Test name="vec2_dynamic_loop_write_dynamic_loop_read" />
-<Test name="vec3_static_loop_write_dynamic_read" />
-<Test name="vec2_static_loop_write_dynamic_loop_read" />
-<Test name="vec4_static_loop_write_static_read" />
-</TestCase>
-<TestCase name="uniform_array">
-<Test name="vec4_static_read_vertex" />
-<Test name="vec3_static_read_vertex" />
-<Test name="vec3_static_read_fragment" />
-<Test name="float_static_read_fragment" />
-<Test name="vec4_dynamic_read_vertex" />
-<Test name="vec3_dynamic_read_vertex" />
-<Test name="float_dynamic_loop_read_vertex" />
-<Test name="vec2_dynamic_loop_read_vertex" />
-<Test name="float_dynamic_read_vertex" />
-<Test name="vec2_dynamic_read_vertex" />
-<Test name="vec3_static_loop_read_vertex" />
-<Test name="vec4_dynamic_loop_read_vertex" />
-<Test name="vec3_dynamic_loop_read_vertex" />
-<Test name="vec2_static_read_fragment" />
-<Test name="float_static_read_vertex" />
-<Test name="vec4_static_read_fragment" />
-<Test name="vec2_static_loop_read_vertex" />
-<Test name="vec4_static_loop_read_vertex" />
-<Test name="vec2_static_read_vertex" />
-<Test name="float_static_loop_read_vertex" />
-</TestCase>
-</TestSuite>
-<TestSuite name="precision">
-<TestCase name="int">
-<Test name="lowp_add_fragment" />
-<Test name="lowp_sub_fragment" />
-<Test name="mediump_mul_fragment" />
-<Test name="lowp_mul_fragment" />
-<Test name="mediump_add_vertex" />
-<Test name="lowp_add_vertex" />
-<Test name="highp_div_fragment" />
-<Test name="mediump_div_vertex" />
-<Test name="mediump_sub_fragment" />
-<Test name="highp_add_fragment" />
-<Test name="highp_mul_fragment" />
-<Test name="lowp_mul_vertex" />
-<Test name="mediump_sub_vertex" />
-<Test name="lowp_sub_vertex" />
-<Test name="mediump_mul_vertex" />
-<Test name="lowp_div_vertex" />
-<Test name="lowp_div_fragment" />
-<Test name="mediump_div_fragment" />
-<Test name="highp_sub_fragment" />
-<Test name="mediump_add_fragment" />
-</TestCase>
-<TestCase name="float">
-<Test name="mediump_sub_vertex" />
-<Test name="mediump_add_vertex" />
-<Test name="highp_sub_vertex" />
-<Test name="highp_div_vertex" />
-<Test name="mediump_div_vertex" />
-<Test name="mediump_mul_vertex" />
-<Test name="highp_mul_vertex" />
-<Test name="highp_add_vertex" />
-<Test name="highp_add_fragment" />
-<Test name="highp_mul_fragment" />
-<Test name="mediump_mul_fragment" />
-<Test name="mediump_sub_fragment" />
-<Test name="mediump_div_fragment" />
-<Test name="highp_sub_fragment" />
-<Test name="highp_div_fragment" />
-<Test name="mediump_add_fragment" />
-</TestCase>
-<TestCase name="uint">
-<Test name="lowp_add_fragment" />
-<Test name="lowp_sub_fragment" />
-<Test name="mediump_mul_fragment" />
-<Test name="lowp_mul_fragment" />
-<Test name="mediump_add_vertex" />
-<Test name="lowp_add_vertex" />
-<Test name="highp_div_fragment" />
-<Test name="mediump_div_vertex" />
-<Test name="mediump_sub_fragment" />
-<Test name="highp_add_fragment" />
-<Test name="highp_mul_fragment" />
-<Test name="lowp_mul_vertex" />
-<Test name="mediump_sub_vertex" />
-<Test name="lowp_sub_vertex" />
-<Test name="mediump_mul_vertex" />
-<Test name="lowp_div_vertex" />
-<Test name="lowp_div_fragment" />
-<Test name="mediump_div_fragment" />
-<Test name="highp_sub_fragment" />
-<Test name="mediump_add_fragment" />
-</TestCase>
-</TestSuite>
-<TestCase name="fragdata">
-<Test name="valid_uniform_index" />
-<Test name="valid_static_index" />
-<Test name="valid_dynamic_index" />
-</TestCase>
-<TestSuite name="qualification_order">
-<TestSuite name="variables">
-<TestCase name="valid">
-<Test name="storage_precision" />
-<Test name="interp_storage_precision" />
-<Test name="interp_storage" />
-</TestCase>
-</TestSuite>
-<TestSuite name="parameters">
-<TestCase name="valid">
-<Test name="storage_parameter_fragment" />
-<Test name="storage_precision_fragment" />
-<Test name="storage_parameter_precision_fragment" />
-<Test name="parameter_precision_vertex" />
-<Test name="storage_parameter_vertex" />
-<Test name="parameter_precision_fragment" />
-<Test name="storage_parameter_precision_vertex" />
-<Test name="storage_precision_vertex" />
-</TestCase>
-<TestCase name="invalid">
-<Test name="parameter_precision_storage_vertex" />
-<Test name="precision_parameter_vertex" />
-<Test name="parameter_storage_fragment" />
-<Test name="parameter_storage_precision_vertex" />
-<Test name="storage_precision_parameter_fragment" />
-<Test name="storage_precision_parameter_vertex" />
-<Test name="precision_parameter_fragment" />
-<Test name="precision_storage_parameter_vertex" />
-<Test name="parameter_storage_vertex" />
-<Test name="precision_parameter_storage_vertex" />
-<Test name="parameter_storage_precision_fragment" />
-<Test name="precision_storage_fragment" />
-<Test name="precision_parameter_storage_fragment" />
-<Test name="precision_storage_vertex" />
-<Test name="precision_storage_parameter_fragment" />
-<Test name="parameter_precision_storage_fragment" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-<TestSuite name="invariance">
-<TestCase name="mediump">
-<Test name="subexpression_precision_mediump" />
-<Test name="loop_4" />
-<Test name="loop_3" />
-<Test name="loop_2" />
-<Test name="subexpression_precision_lowp" />
-<Test name="subexpression_precision_highp" />
-<Test name="common_subexpression_2" />
-<Test name="common_subexpression_0" />
-</TestCase>
-<TestCase name="highp">
-<Test name="subexpression_precision_mediump" />
-<Test name="loop_4" />
-<Test name="loop_3" />
-<Test name="loop_2" />
-<Test name="subexpression_precision_lowp" />
-<Test name="subexpression_precision_highp" />
-<Test name="common_subexpression_2" />
-<Test name="common_subexpression_0" />
-</TestCase>
-<TestCase name="lowp">
-<Test name="subexpression_precision_mediump" />
-<Test name="loop_4" />
-<Test name="loop_3" />
-<Test name="loop_2" />
-<Test name="subexpression_precision_lowp" />
-<Test name="subexpression_precision_highp" />
-<Test name="common_subexpression_2" />
-<Test name="common_subexpression_0" />
-</TestCase>
-</TestSuite>
-<TestCase name="constants">
-<Test name="int_1_vertex" />
-<Test name="float_1_fragment" />
-<Test name="float_input_vertex" />
-<Test name="bool_1_vertex" />
-<Test name="float_7_fragment" />
-<Test name="float_5_fragment" />
-<Test name="const_float_assignment_3_fragment" />
-<Test name="uint_hexadecimal_0_fragment" />
-<Test name="const_float_global_vertex" />
-<Test name="float_uniform_fragment" />
-<Test name="float_input_fragment" />
-<Test name="float_f_suffix_1_vertex" />
-<Test name="bool_0_fragment" />
-<Test name="float_2_fragment" />
-<Test name="invalid_hexadecimal_0_fragment" />
-<Test name="const_float_scope_shawdowing_4_vertex" />
-<Test name="int_octal_vertex" />
-<Test name="float_4_fragment" />
-<Test name="float_f_suffix_1_fragment" />
-<Test name="float_2_vertex" />
-<Test name="bool_from_float_vertex" />
-<Test name="int_0_vertex" />
-<Test name="float_4_vertex" />
-<Test name="int_from_uint_vertex" />
-<Test name="uint_hexadecimal_1_fragment" />
-<Test name="uint_from_float_fragment" />
-<Test name="uint_decimal_0_fragment" />
-<Test name="int_from_uint_fragment" />
-<Test name="const_float_assign_variable_1_vertex" />
-<Test name="bool_from_int_fragment" />
-<Test name="const_float_assign_variable_2_vertex" />
-<Test name="const_float_assign_user_func_fragment" />
-<Test name="bool_from_uint_fragment" />
-<Test name="const_float_function_vertex" />
-<Test name="const_float_assignment_4_fragment" />
-<Test name="float_5_vertex" />
-<Test name="const_float_assign_uniform_fragment" />
-<Test name="const_float_scope_shawdowing_2_fragment" />
-<Test name="int_2_vertex" />
-<Test name="uint_octal_1_fragment" />
-<Test name="invalid_octal_0_vertex" />
-<Test name="const_float_scope_shawdowing_3_fragment" />
-<Test name="const_float_function_fragment" />
-<Test name="const_float_from_int_vertex" />
-<Test name="const_float_from_vec3_vertex" />
-<Test name="const_float_operations_with_const_fragment" />
-<Test name="float_f_suffix_0_vertex" />
-<Test name="const_float_from_vec4_vertex" />
-<Test name="float_8_vertex" />
-<Test name="const_float_scope_shawdowing_4_fragment" />
-<Test name="int_0_fragment" />
-<Test name="const_float_assignment_3_vertex" />
-<Test name="int_decimal_fragment" />
-<Test name="bool_from_uint_vertex" />
-<Test name="const_float_from_int_fragment" />
-<Test name="const_float_assign_uniform_vertex" />
-<Test name="const_float_from_vec3_fragment" />
-<Test name="bool_1_fragment" />
-<Test name="int_1_fragment" />
-<Test name="const_float_assignment_2_fragment" />
-<Test name="const_float_scope_fragment" />
-<Test name="int_from_float_vertex" />
-<Test name="const_float_global_fragment" />
-<Test name="invalid_hexadecimal_1_fragment" />
-<Test name="const_float_assignment_2_vertex" />
-<Test name="int_decimal_vertex" />
-<Test name="bool_0_vertex" />
-<Test name="const_float_from_vec2_vertex" />
-<Test name="float_0_vertex" />
-<Test name="uint_decimal_0_vertex" />
-<Test name="const_float_scope_vertex" />
-<Test name="int_2_fragment" />
-<Test name="invalid_octal_0_fragment" />
-<Test name="bool_from_int_vertex" />
-<Test name="const_float_main_vertex" />
-<Test name="const_float_assignment_4_vertex" />
-<Test name="uint_hexadecimal_1_vertex" />
-<Test name="float_0_fragment" />
-<Test name="const_float_scope_shawdowing_3_vertex" />
-<Test name="const_float_assignment_1_vertex" />
-<Test name="int_from_float_fragment" />
-<Test name="const_float_assign_varying" />
-<Test name="float_6_vertex" />
-<Test name="float_1_vertex" />
-<Test name="int_hexadecimal_0_fragment" />
-<Test name="uint_hexadecimal_0_vertex" />
-<Test name="float_6_fragment" />
-<Test name="uint_from_int_vertex" />
-<Test name="uint_octal_0_fragment" />
-<Test name="invalid_hexadecimal_1_vertex" />
-<Test name="uint_from_int_fragment" />
-<Test name="int_octal_fragment" />
-<Test name="int_3_vertex" />
-<Test name="bool_from_float_fragment" />
-<Test name="float_uniform_vertex" />
-<Test name="invalid_hexadecimal_0_vertex" />
-<Test name="uint_from_float_vertex" />
-<Test name="float_7_vertex" />
-<Test name="int_hexadecimal_1_vertex" />
-<Test name="const_float_from_vec4_fragment" />
-<Test name="const_float_assignment_1_fragment" />
-<Test name="const_float_from_vec2_fragment" />
-<Test name="const_float_scope_shawdowing_1_vertex" />
-<Test name="int_3_fragment" />
-<Test name="const_float_scope_shawdowing_2_vertex" />
-<Test name="const_float_assign_variable_2_fragment" />
-<Test name="float_3_fragment" />
-<Test name="float_8_fragment" />
-<Test name="float_3_vertex" />
-<Test name="uint_decimal_1_fragment" />
-<Test name="int_hexadecimal_1_fragment" />
-<Test name="int_4_fragment" />
-<Test name="const_float_assign_user_func_vertex" />
-<Test name="int_hexadecimal_0_vertex" />
-<Test name="float_f_suffix_0_fragment" />
-<Test name="uint_octal_0_vertex" />
-<Test name="const_float_operations_with_const_vertex" />
-<Test name="const_float_assign_variable_1_fragment" />
-<Test name="uint_octal_1_vertex" />
-<Test name="uint_decimal_1_vertex" />
-<Test name="const_float_scope_shawdowing_1_fragment" />
-<Test name="const_float_main_fragment" />
-<Test name="int_4_vertex" />
-</TestCase>
-<TestSuite name="matrix">
-<TestCase name="sub_assign">
-<Test name="mediump_mat2x4_float_fragment" />
-<Test name="lowp_mat4x3_float_vertex" />
-<Test name="mediump_mat4x3_float_vertex" />
-<Test name="highp_mat3_float_vertex" />
-<Test name="mediump_mat3_float_vertex" />
-<Test name="highp_mat2x4_float_vertex" />
-<Test name="lowp_mat3x2_float_vertex" />
-<Test name="highp_mat2x4_float_fragment" />
-<Test name="highp_mat2_float_fragment" />
-<Test name="lowp_mat3x4_float_fragment" />
-<Test name="highp_mat3x4_float_vertex" />
-<Test name="highp_mat4x2_float_fragment" />
-<Test name="highp_mat4_float_vertex" />
-<Test name="mediump_mat4x2_float_fragment" />
-<Test name="lowp_mat4_float_fragment" />
-<Test name="mediump_mat3x4_float_fragment" />
-<Test name="highp_mat2x3_float_vertex" />
-<Test name="mediump_mat3x4_float_vertex" />
-<Test name="mediump_mat2_float_vertex" />
-<Test name="mediump_mat2x3_float_fragment" />
-<Test name="lowp_mat2_float_vertex" />
-<Test name="lowp_mat3x2_float_fragment" />
-<Test name="mediump_mat4_float_fragment" />
-<Test name="highp_mat2_float_vertex" />
-<Test name="lowp_mat2x4_float_fragment" />
-<Test name="lowp_mat3_float_fragment" />
-<Test name="lowp_mat2x4_float_vertex" />
-<Test name="lowp_mat2x3_float_vertex" />
-<Test name="highp_mat3x4_float_fragment" />
-<Test name="mediump_mat3_float_fragment" />
-<Test name="highp_mat4x2_float_vertex" />
-<Test name="lowp_mat4_float_vertex" />
-<Test name="highp_mat4x3_float_fragment" />
-<Test name="mediump_mat4x3_float_fragment" />
-<Test name="lowp_mat3x4_float_vertex" />
-<Test name="mediump_mat2_float_fragment" />
-<Test name="mediump_mat3x2_float_fragment" />
-<Test name="mediump_mat4x2_float_vertex" />
-<Test name="lowp_mat2x3_float_fragment" />
-<Test name="mediump_mat3x2_float_vertex" />
-<Test name="highp_mat2x3_float_fragment" />
-<Test name="highp_mat4_float_fragment" />
-<Test name="highp_mat3x2_float_vertex" />
-<Test name="lowp_mat4x3_float_fragment" />
-<Test name="lowp_mat2_float_fragment" />
-<Test name="mediump_mat2x3_float_vertex" />
-<Test name="highp_mat3x2_float_fragment" />
-<Test name="lowp_mat4x2_float_fragment" />
-<Test name="lowp_mat4x2_float_vertex" />
-<Test name="highp_mat3_float_fragment" />
-<Test name="highp_mat4x3_float_vertex" />
-<Test name="mediump_mat4_float_vertex" />
-<Test name="lowp_mat3_float_vertex" />
-<Test name="mediump_mat2x4_float_vertex" />
-</TestCase>
-<TestSuite name="matrixcompmult">
-<TestCase name="dynamic">
-<Test name="mediump_mat4_mat4_vertex" />
-<Test name="lowp_mat4x2_mat4x2_vertex" />
-<Test name="lowp_mat3x2_mat3x2_fragment" />
-<Test name="highp_mat3x4_mat3x4_fragment" />
-<Test name="highp_mat2x3_mat2x3_vertex" />
-<Test name="mediump_mat3_mat3_vertex" />
-<Test name="highp_mat4_mat4_fragment" />
-<Test name="mediump_mat2_mat2_fragment" />
-<Test name="highp_mat3x4_mat3x4_vertex" />
-<Test name="mediump_mat3x4_mat3x4_fragment" />
-<Test name="lowp_mat3x2_mat3x2_vertex" />
-<Test name="lowp_mat2_mat2_fragment" />
-<Test name="mediump_mat4x3_mat4x3_vertex" />
-<Test name="lowp_mat2x4_mat2x4_vertex" />
-<Test name="highp_mat2x4_mat2x4_fragment" />
-<Test name="highp_mat4x2_mat4x2_fragment" />
-<Test name="mediump_mat3x2_mat3x2_fragment" />
-<Test name="highp_mat2_mat2_fragment" />
-<Test name="mediump_mat2x4_mat2x4_fragment" />
-<Test name="highp_mat3x2_mat3x2_vertex" />
-<Test name="highp_mat3x2_mat3x2_fragment" />
-<Test name="highp_mat2_mat2_vertex" />
-<Test name="lowp_mat4x2_mat4x2_fragment" />
-<Test name="highp_mat4x2_mat4x2_vertex" />
-<Test name="mediump_mat2x3_mat2x3_fragment" />
-<Test name="lowp_mat4x3_mat4x3_fragment" />
-<Test name="lowp_mat4x3_mat4x3_vertex" />
-<Test name="mediump_mat3_mat3_fragment" />
-<Test name="lowp_mat2x4_mat2x4_fragment" />
-<Test name="lowp_mat2x3_mat2x3_vertex" />
-<Test name="lowp_mat2_mat2_vertex" />
-<Test name="mediump_mat4x2_mat4x2_fragment" />
-<Test name="lowp_mat3x4_mat3x4_vertex" />
-<Test name="highp_mat2x3_mat2x3_fragment" />
-<Test name="mediump_mat2x4_mat2x4_vertex" />
-<Test name="lowp_mat4_mat4_fragment" />
-<Test name="lowp_mat2x3_mat2x3_fragment" />
-<Test name="highp_mat3_mat3_vertex" />
-<Test name="mediump_mat3x4_mat3x4_vertex" />
-<Test name="mediump_mat3x2_mat3x2_vertex" />
-<Test name="lowp_mat3_mat3_fragment" />
-<Test name="mediump_mat4x3_mat4x3_fragment" />
-<Test name="lowp_mat3x4_mat3x4_fragment" />
-<Test name="highp_mat4x3_mat4x3_fragment" />
-<Test name="lowp_mat3_mat3_vertex" />
-<Test name="highp_mat3_mat3_fragment" />
-<Test name="mediump_mat2x3_mat2x3_vertex" />
-<Test name="mediump_mat2_mat2_vertex" />
-<Test name="lowp_mat4_mat4_vertex" />
-<Test name="mediump_mat4x2_mat4x2_vertex" />
-<Test name="highp_mat4x3_mat4x3_vertex" />
-<Test name="highp_mat2x4_mat2x4_vertex" />
-<Test name="mediump_mat4_mat4_fragment" />
-<Test name="highp_mat4_mat4_vertex" />
-</TestCase>
-</TestSuite>
-<TestSuite name="inverse">
-<TestCase name="dynamic">
-<Test name="highp_mat2_float_vertex" />
-<Test name="lowp_mat2_float_fragment" />
-<Test name="mediump_mat2_float_vertex" />
-<Test name="lowp_mat2_float_vertex" />
-<Test name="highp_mat2_float_fragment" />
-<Test name="mediump_mat2_float_fragment" />
-</TestCase>
-</TestSuite>
-<TestSuite name="sub">
-<TestCase name="const">
-<Test name="mediump_mat4_mat4_vertex" />
-<Test name="highp_mat4x3_float_fragment" />
-<Test name="highp_mat3_mat3_fragment" />
-<Test name="mediump_mat3_mat3_vertex" />
-<Test name="highp_mat2_float_fragment" />
-<Test name="lowp_mat2_mat2_fragment" />
-<Test name="highp_mat4_float_vertex" />
-<Test name="mediump_mat4x2_float_fragment" />
-<Test name="lowp_mat4_float_fragment" />
-<Test name="mediump_mat3x2_mat3x2_fragment" />
-<Test name="mediump_mat2x4_mat2x4_fragment" />
-<Test name="lowp_mat2_float_vertex" />
-<Test name="mediump_mat3_mat3_fragment" />
-<Test name="mediump_mat4x2_mat4x2_fragment" />
-<Test name="lowp_mat3x4_float_vertex" />
-<Test name="mediump_mat3x2_mat3x2_vertex" />
-<Test name="lowp_mat3_mat3_fragment" />
-<Test name="highp_mat3x2_float_vertex" />
-<Test name="highp_mat3x2_float_fragment" />
-<Test name="mediump_mat2x3_mat2x3_vertex" />
-<Test name="highp_mat4x3_mat4x3_vertex" />
-<Test name="highp_mat2x4_mat2x4_vertex" />
-<Test name="mediump_mat4x3_float_vertex" />
-<Test name="highp_mat3x4_mat3x4_fragment" />
-<Test name="highp_mat4_mat4_fragment" />
-<Test name="highp_mat2x4_float_fragment" />
-<Test name="lowp_mat4_mat4_vertex" />
-<Test name="lowp_mat3_float_fragment" />
-<Test name="highp_mat4x2_mat4x2_fragment" />
-<Test name="lowp_mat3x2_mat3x2_vertex" />
-<Test name="mediump_mat2x3_float_fragment" />
-<Test name="highp_mat2_mat2_vertex" />
-<Test name="mediump_mat4_float_fragment" />
-<Test name="lowp_mat2x3_mat2x3_vertex" />
-<Test name="lowp_mat3x4_mat3x4_vertex" />
-<Test name="mediump_mat2x4_mat2x4_vertex" />
-<Test name="lowp_mat4_mat4_fragment" />
-<Test name="highp_mat3_mat3_vertex" />
-<Test name="lowp_mat2x3_float_fragment" />
-<Test name="mediump_mat3x2_float_vertex" />
-<Test name="highp_mat2x3_float_fragment" />
-<Test name="highp_mat4_float_fragment" />
-<Test name="lowp_mat3_mat3_vertex" />
-<Test name="lowp_mat4x2_float_fragment" />
-<Test name="mediump_mat4x2_mat4x2_vertex" />
-<Test name="mediump_mat2x4_float_fragment" />
-<Test name="lowp_mat3_float_vertex" />
-<Test name="lowp_mat4x3_float_vertex" />
-<Test name="mediump_mat3_float_vertex" />
-<Test name="highp_mat2x3_mat2x3_vertex" />
-<Test name="highp_mat4_mat4_vertex" />
-<Test name="mediump_mat3x4_mat3x4_fragment" />
-<Test name="lowp_mat3x4_float_fragment" />
-<Test name="highp_mat3x4_float_vertex" />
-<Test name="highp_mat4x2_float_fragment" />
-<Test name="highp_mat3_float_vertex" />
-<Test name="mediump_mat3x4_float_vertex" />
-<Test name="mediump_mat2_float_vertex" />
-<Test name="highp_mat4x2_float_vertex" />
-<Test name="highp_mat4x2_mat4x2_vertex" />
-<Test name="mediump_mat2x3_mat2x3_fragment" />
-<Test name="mediump_mat3x4_mat3x4_vertex" />
-<Test name="highp_mat2_float_vertex" />
-<Test name="highp_mat3x2_mat3x2_fragment" />
-<Test name="lowp_mat2x3_float_vertex" />
-<Test name="highp_mat3x4_float_fragment" />
-<Test name="lowp_mat2_mat2_vertex" />
-<Test name="lowp_mat4x3_float_fragment" />
-<Test name="lowp_mat4_float_vertex" />
-<Test name="mediump_mat2_mat2_fragment" />
-<Test name="highp_mat2x3_mat2x3_fragment" />
-<Test name="mediump_mat4x3_float_fragment" />
-<Test name="mediump_mat2_float_fragment" />
-<Test name="mediump_mat4x2_float_vertex" />
-<Test name="lowp_mat2x4_mat2x4_fragment" />
-<Test name="highp_mat4x3_mat4x3_fragment" />
-<Test name="mediump_mat2x4_float_vertex" />
-<Test name="mediump_mat4_mat4_fragment" />
-<Test name="mediump_mat4x3_mat4x3_fragment" />
-<Test name="lowp_mat3x2_mat3x2_fragment" />
-<Test name="lowp_mat3x2_float_vertex" />
-<Test name="highp_mat3x4_mat3x4_vertex" />
-<Test name="lowp_mat2x4_mat2x4_vertex" />
-<Test name="highp_mat2x4_float_vertex" />
-<Test name="mediump_mat4x3_mat4x3_vertex" />
-<Test name="highp_mat2_mat2_fragment" />
-<Test name="mediump_mat3x4_float_fragment" />
-<Test name="highp_mat3x2_mat3x2_vertex" />
-<Test name="highp_mat2x3_float_vertex" />
-<Test name="lowp_mat4x2_mat4x2_fragment" />
-<Test name="lowp_mat3x2_float_fragment" />
-<Test name="lowp_mat4x3_mat4x3_fragment" />
-<Test name="lowp_mat2x4_float_fragment" />
-<Test name="lowp_mat4x3_mat4x3_vertex" />
-<Test name="lowp_mat2x4_float_vertex" />
-<Test name="lowp_mat3x4_mat3x4_fragment" />
-<Test name="mediump_mat3x2_float_fragment" />
-<Test name="mediump_mat3_float_fragment" />
-<Test name="highp_mat3_float_fragment" />
-<Test name="lowp_mat4x2_mat4x2_vertex" />
-<Test name="highp_mat2x4_mat2x4_fragment" />
-<Test name="mediump_mat4_float_vertex" />
-<Test name="mediump_mat2x3_float_vertex" />
-<Test name="lowp_mat4x2_float_vertex" />
-<Test name="lowp_mat2x3_mat2x3_fragment" />
-<Test name="lowp_mat2_float_fragment" />
-<Test name="mediump_mat2_mat2_vertex" />
-<Test name="highp_mat4x3_float_vertex" />
+<TestCase name="definitions">
+<Test name="define_value_and_function_vertex" />
+<Test name="define_value_and_function_fragment" />
+<Test name="undefine_object_invalid_syntax_vertex" />
+<Test name="undefine_object_invalid_syntax_fragment" />
+<Test name="undefine_invalid_object_1_vertex" />
+<Test name="undefine_invalid_object_1_fragment" />
+<Test name="undefine_invalid_object_2_vertex" />
+<Test name="undefine_invalid_object_2_fragment" />
+<Test name="undefine_invalid_object_3_vertex" />
+<Test name="undefine_invalid_object_3_fragment" />
+<Test name="undefine_invalid_object_4_vertex" />
+<Test name="undefine_invalid_object_4_fragment" />
+<Test name="undefine_function_vertex" />
+<Test name="undefine_function_fragment" />
 </TestCase>
-<TestCase name="dynamic">
-<Test name="mediump_mat4_mat4_vertex" />
-<Test name="highp_mat4x3_float_fragment" />
-<Test name="highp_mat3_mat3_fragment" />
-<Test name="mediump_mat3_mat3_vertex" />
-<Test name="highp_mat2_float_fragment" />
-<Test name="lowp_mat2_mat2_fragment" />
-<Test name="highp_mat4_float_vertex" />
-<Test name="mediump_mat4x2_float_fragment" />
-<Test name="lowp_mat4_float_fragment" />
-<Test name="mediump_mat3x2_mat3x2_fragment" />
-<Test name="mediump_mat2x4_mat2x4_fragment" />
-<Test name="lowp_mat2_float_vertex" />
-<Test name="mediump_mat3_mat3_fragment" />
-<Test name="mediump_mat4x2_mat4x2_fragment" />
-<Test name="lowp_mat3x4_float_vertex" />
-<Test name="mediump_mat3x2_mat3x2_vertex" />
-<Test name="lowp_mat3_mat3_fragment" />
-<Test name="highp_mat3x2_float_vertex" />
-<Test name="highp_mat3x2_float_fragment" />
-<Test name="mediump_mat2x3_mat2x3_vertex" />
-<Test name="highp_mat4x3_mat4x3_vertex" />
-<Test name="highp_mat2x4_mat2x4_vertex" />
-<Test name="mediump_mat4x3_float_vertex" />
-<Test name="highp_mat3x4_mat3x4_fragment" />
-<Test name="highp_mat4_mat4_fragment" />
-<Test name="highp_mat2x4_float_fragment" />
-<Test name="lowp_mat4_mat4_vertex" />
-<Test name="lowp_mat3_float_fragment" />
-<Test name="highp_mat4x2_mat4x2_fragment" />
-<Test name="lowp_mat3x2_mat3x2_vertex" />
-<Test name="mediump_mat2x3_float_fragment" />
-<Test name="highp_mat2_mat2_vertex" />
-<Test name="mediump_mat4_float_fragment" />
-<Test name="lowp_mat2x3_mat2x3_vertex" />
-<Test name="lowp_mat3x4_mat3x4_vertex" />
-<Test name="mediump_mat2x4_mat2x4_vertex" />
-<Test name="lowp_mat4_mat4_fragment" />
-<Test name="highp_mat3_mat3_vertex" />
-<Test name="lowp_mat2x3_float_fragment" />
-<Test name="mediump_mat3x2_float_vertex" />
-<Test name="highp_mat2x3_float_fragment" />
-<Test name="highp_mat4_float_fragment" />
-<Test name="lowp_mat3_mat3_vertex" />
-<Test name="lowp_mat4x2_float_fragment" />
-<Test name="mediump_mat4x2_mat4x2_vertex" />
-<Test name="mediump_mat2x4_float_fragment" />
-<Test name="lowp_mat3_float_vertex" />
-<Test name="lowp_mat4x3_float_vertex" />
-<Test name="mediump_mat3_float_vertex" />
-<Test name="highp_mat2x3_mat2x3_vertex" />
-<Test name="highp_mat4_mat4_vertex" />
-<Test name="mediump_mat3x4_mat3x4_fragment" />
-<Test name="lowp_mat3x4_float_fragment" />
-<Test name="highp_mat3x4_float_vertex" />
-<Test name="highp_mat4x2_float_fragment" />
-<Test name="highp_mat3_float_vertex" />
-<Test name="mediump_mat3x4_float_vertex" />
-<Test name="mediump_mat2_float_vertex" />
-<Test name="highp_mat4x2_float_vertex" />
-<Test name="highp_mat4x2_mat4x2_vertex" />
-<Test name="mediump_mat2x3_mat2x3_fragment" />
-<Test name="mediump_mat3x4_mat3x4_vertex" />
-<Test name="highp_mat2_float_vertex" />
-<Test name="highp_mat3x2_mat3x2_fragment" />
-<Test name="lowp_mat2x3_float_vertex" />
-<Test name="highp_mat3x4_float_fragment" />
-<Test name="lowp_mat2_mat2_vertex" />
-<Test name="lowp_mat4x3_float_fragment" />
-<Test name="lowp_mat4_float_vertex" />
-<Test name="mediump_mat2_mat2_fragment" />
-<Test name="highp_mat2x3_mat2x3_fragment" />
-<Test name="mediump_mat4x3_float_fragment" />
-<Test name="mediump_mat2_float_fragment" />
-<Test name="mediump_mat4x2_float_vertex" />
-<Test name="lowp_mat2x4_mat2x4_fragment" />
-<Test name="highp_mat4x3_mat4x3_fragment" />
-<Test name="mediump_mat2x4_float_vertex" />
-<Test name="mediump_mat4_mat4_fragment" />
-<Test name="mediump_mat4x3_mat4x3_fragment" />
-<Test name="lowp_mat3x2_mat3x2_fragment" />
-<Test name="lowp_mat3x2_float_vertex" />
-<Test name="highp_mat3x4_mat3x4_vertex" />
-<Test name="lowp_mat2x4_mat2x4_vertex" />
-<Test name="highp_mat2x4_float_vertex" />
-<Test name="mediump_mat4x3_mat4x3_vertex" />
-<Test name="highp_mat2_mat2_fragment" />
-<Test name="mediump_mat3x4_float_fragment" />
-<Test name="highp_mat3x2_mat3x2_vertex" />
-<Test name="highp_mat2x3_float_vertex" />
-<Test name="lowp_mat4x2_mat4x2_fragment" />
-<Test name="lowp_mat3x2_float_fragment" />
-<Test name="lowp_mat4x3_mat4x3_fragment" />
-<Test name="lowp_mat2x4_float_fragment" />
-<Test name="lowp_mat4x3_mat4x3_vertex" />
-<Test name="lowp_mat2x4_float_vertex" />
-<Test name="lowp_mat3x4_mat3x4_fragment" />
-<Test name="mediump_mat3x2_float_fragment" />
-<Test name="mediump_mat3_float_fragment" />
-<Test name="highp_mat3_float_fragment" />
-<Test name="lowp_mat4x2_mat4x2_vertex" />
-<Test name="highp_mat2x4_mat2x4_fragment" />
-<Test name="mediump_mat4_float_vertex" />
-<Test name="mediump_mat2x3_float_vertex" />
-<Test name="lowp_mat4x2_float_vertex" />
-<Test name="lowp_mat2x3_mat2x3_fragment" />
-<Test name="lowp_mat2_float_fragment" />
-<Test name="mediump_mat2_mat2_vertex" />
-<Test name="highp_mat4x3_float_vertex" />
+<TestCase name="invalid_definitions">
+<Test name="define_non_identifier_vertex" />
+<Test name="define_non_identifier_fragment" />
+<Test name="undef_non_identifier_1_vertex" />
+<Test name="undef_non_identifier_1_fragment" />
+<Test name="undef_non_identifier_2_vertex" />
+<Test name="undef_non_identifier_2_fragment" />
 </TestCase>
-<TestCase name="uniform">
-<Test name="mediump_mat4_mat4_vertex" />
-<Test name="highp_mat4x3_float_fragment" />
-<Test name="highp_mat3_mat3_fragment" />
-<Test name="mediump_mat3_mat3_vertex" />
-<Test name="highp_mat2_float_fragment" />
-<Test name="lowp_mat2_mat2_fragment" />
-<Test name="highp_mat4_float_vertex" />
-<Test name="mediump_mat4x2_float_fragment" />
-<Test name="lowp_mat4_float_fragment" />
-<Test name="mediump_mat3x2_mat3x2_fragment" />
-<Test name="mediump_mat2x4_mat2x4_fragment" />
-<Test name="lowp_mat2_float_vertex" />
-<Test name="mediump_mat3_mat3_fragment" />
-<Test name="mediump_mat4x2_mat4x2_fragment" />
-<Test name="lowp_mat3x4_float_vertex" />
-<Test name="mediump_mat3x2_mat3x2_vertex" />
-<Test name="lowp_mat3_mat3_fragment" />
-<Test name="highp_mat3x2_float_vertex" />
-<Test name="highp_mat3x2_float_fragment" />
-<Test name="mediump_mat2x3_mat2x3_vertex" />
-<Test name="highp_mat4x3_mat4x3_vertex" />
-<Test name="highp_mat2x4_mat2x4_vertex" />
-<Test name="mediump_mat4x3_float_vertex" />
-<Test name="highp_mat3x4_mat3x4_fragment" />
-<Test name="highp_mat4_mat4_fragment" />
-<Test name="highp_mat2x4_float_fragment" />
-<Test name="lowp_mat4_mat4_vertex" />
-<Test name="lowp_mat3_float_fragment" />
-<Test name="highp_mat4x2_mat4x2_fragment" />
-<Test name="lowp_mat3x2_mat3x2_vertex" />
-<Test name="mediump_mat2x3_float_fragment" />
-<Test name="highp_mat2_mat2_vertex" />
-<Test name="mediump_mat4_float_fragment" />
-<Test name="lowp_mat2x3_mat2x3_vertex" />
-<Test name="lowp_mat3x4_mat3x4_vertex" />
-<Test name="mediump_mat2x4_mat2x4_vertex" />
-<Test name="lowp_mat4_mat4_fragment" />
-<Test name="highp_mat3_mat3_vertex" />
-<Test name="lowp_mat2x3_float_fragment" />
-<Test name="mediump_mat3x2_float_vertex" />
-<Test name="highp_mat2x3_float_fragment" />
-<Test name="highp_mat4_float_fragment" />
-<Test name="lowp_mat3_mat3_vertex" />
-<Test name="lowp_mat4x2_float_fragment" />
-<Test name="mediump_mat4x2_mat4x2_vertex" />
-<Test name="mediump_mat2x4_float_fragment" />
-<Test name="lowp_mat3_float_vertex" />
-<Test name="lowp_mat4x3_float_vertex" />
-<Test name="mediump_mat3_float_vertex" />
-<Test name="highp_mat2x3_mat2x3_vertex" />
-<Test name="highp_mat4_mat4_vertex" />
-<Test name="mediump_mat3x4_mat3x4_fragment" />
-<Test name="lowp_mat3x4_float_fragment" />
-<Test name="highp_mat3x4_float_vertex" />
-<Test name="highp_mat4x2_float_fragment" />
-<Test name="highp_mat3_float_vertex" />
-<Test name="mediump_mat3x4_float_vertex" />
-<Test name="mediump_mat2_float_vertex" />
-<Test name="highp_mat4x2_float_vertex" />
-<Test name="highp_mat4x2_mat4x2_vertex" />
-<Test name="mediump_mat2x3_mat2x3_fragment" />
-<Test name="mediump_mat3x4_mat3x4_vertex" />
-<Test name="highp_mat2_float_vertex" />
-<Test name="highp_mat3x2_mat3x2_fragment" />
-<Test name="lowp_mat2x3_float_vertex" />
-<Test name="highp_mat3x4_float_fragment" />
-<Test name="lowp_mat2_mat2_vertex" />
-<Test name="lowp_mat4x3_float_fragment" />
-<Test name="lowp_mat4_float_vertex" />
-<Test name="mediump_mat2_mat2_fragment" />
-<Test name="highp_mat2x3_mat2x3_fragment" />
-<Test name="mediump_mat4x3_float_fragment" />
-<Test name="mediump_mat2_float_fragment" />
-<Test name="mediump_mat4x2_float_vertex" />
-<Test name="lowp_mat2x4_mat2x4_fragment" />
-<Test name="highp_mat4x3_mat4x3_fragment" />
-<Test name="mediump_mat2x4_float_vertex" />
-<Test name="mediump_mat4_mat4_fragment" />
-<Test name="mediump_mat4x3_mat4x3_fragment" />
-<Test name="lowp_mat3x2_mat3x2_fragment" />
-<Test name="lowp_mat3x2_float_vertex" />
-<Test name="highp_mat3x4_mat3x4_vertex" />
-<Test name="lowp_mat2x4_mat2x4_vertex" />
-<Test name="highp_mat2x4_float_vertex" />
-<Test name="mediump_mat4x3_mat4x3_vertex" />
-<Test name="highp_mat2_mat2_fragment" />
-<Test name="mediump_mat3x4_float_fragment" />
-<Test name="highp_mat3x2_mat3x2_vertex" />
-<Test name="highp_mat2x3_float_vertex" />
-<Test name="lowp_mat4x2_mat4x2_fragment" />
-<Test name="lowp_mat3x2_float_fragment" />
-<Test name="lowp_mat4x3_mat4x3_fragment" />
-<Test name="lowp_mat2x4_float_fragment" />
-<Test name="lowp_mat4x3_mat4x3_vertex" />
-<Test name="lowp_mat2x4_float_vertex" />
-<Test name="lowp_mat3x4_mat3x4_fragment" />
-<Test name="mediump_mat3x2_float_fragment" />
-<Test name="mediump_mat3_float_fragment" />
-<Test name="highp_mat3_float_fragment" />
-<Test name="lowp_mat4x2_mat4x2_vertex" />
-<Test name="highp_mat2x4_mat2x4_fragment" />
-<Test name="mediump_mat4_float_vertex" />
-<Test name="mediump_mat2x3_float_vertex" />
-<Test name="lowp_mat4x2_float_vertex" />
-<Test name="lowp_mat2x3_mat2x3_fragment" />
-<Test name="lowp_mat2_float_fragment" />
-<Test name="mediump_mat2_mat2_vertex" />
-<Test name="highp_mat4x3_float_vertex" />
+<TestCase name="object_redefinitions">
+<Test name="invalid_object_ident_vertex" />
+<Test name="invalid_object_ident_fragment" />
+<Test name="invalid_object_whitespace_vertex" />
+<Test name="invalid_object_whitespace_fragment" />
+<Test name="invalid_object_op_vertex" />
+<Test name="invalid_object_op_fragment" />
+<Test name="invalid_object_floatval_1_vertex" />
+<Test name="invalid_object_floatval_1_fragment" />
+<Test name="invalid_object_floatval_2_vertex" />
+<Test name="invalid_object_floatval_2_fragment" />
+<Test name="invalid_object_intval_1_vertex" />
+<Test name="invalid_object_intval_1_fragment" />
+<Test name="invalid_object_intval_2_vertex" />
+<Test name="invalid_object_intval_2_fragment" />
+<Test name="redefine_object_1_vertex" />
+<Test name="redefine_object_1_fragment" />
+<Test name="redefine_object_ifdef_vertex" />
+<Test name="redefine_object_ifdef_fragment" />
+<Test name="redefine_object_undef_ifdef_vertex" />
+<Test name="redefine_object_undef_ifdef_fragment" />
+<Test name="redefine_object_ifndef_vertex" />
+<Test name="redefine_object_ifndef_fragment" />
+<Test name="redefine_object_defined_1_vertex" />
+<Test name="redefine_object_defined_1_fragment" />
+<Test name="redefine_object_defined_2_vertex" />
+<Test name="redefine_object_defined_2_fragment" />
+<Test name="redefine_object_comment_vertex" />
+<Test name="redefine_object_comment_fragment" />
+<Test name="redefine_object_multiline_comment_vertex" />
+<Test name="redefine_object_multiline_comment_fragment" />
 </TestCase>
-</TestSuite>
-<TestSuite name="transpose">
-<TestCase name="dynamic">
-<Test name="highp_mat3_float_vertex" />
-<Test name="mediump_mat3_float_vertex" />
-<Test name="highp_mat2x4_float_vertex" />
-<Test name="lowp_mat3x2_float_vertex" />
-<Test name="highp_mat2x4_float_fragment" />
-<Test name="highp_mat2_float_fragment" />
-<Test name="lowp_mat3x4_float_fragment" />
-<Test name="highp_mat3x4_float_vertex" />
-<Test name="highp_mat4x2_float_fragment" />
-<Test name="mediump_mat4x2_float_fragment" />
-<Test name="lowp_mat4_float_fragment" />
-<Test name="mediump_mat3x4_float_fragment" />
-<Test name="highp_mat2x3_float_vertex" />
-<Test name="mediump_mat3x4_float_vertex" />
-<Test name="mediump_mat2_float_vertex" />
-<Test name="mediump_mat2x3_float_fragment" />
-<Test name="lowp_mat2_float_vertex" />
-<Test name="lowp_mat3x2_float_fragment" />
-<Test name="mediump_mat4_float_fragment" />
-<Test name="highp_mat2_float_vertex" />
-<Test name="lowp_mat2x4_float_fragment" />
-<Test name="lowp_mat3_float_fragment" />
-<Test name="lowp_mat2x4_float_vertex" />
-<Test name="lowp_mat2x3_float_vertex" />
-<Test name="highp_mat3x4_float_fragment" />
-<Test name="mediump_mat3_float_fragment" />
-<Test name="highp_mat4x2_float_vertex" />
-<Test name="highp_mat3_float_fragment" />
-<Test name="highp_mat4x3_float_fragment" />
-<Test name="mediump_mat4x3_float_fragment" />
-<Test name="lowp_mat3x4_float_vertex" />
-<Test name="mediump_mat2_float_fragment" />
-<Test name="mediump_mat3x2_float_fragment" />
-<Test name="mediump_mat4x2_float_vertex" />
-<Test name="lowp_mat2x3_float_fragment" />
-<Test name="mediump_mat3x2_float_vertex" />
-<Test name="highp_mat2x3_float_fragment" />
-<Test name="highp_mat4_float_fragment" />
-<Test name="highp_mat3x2_float_vertex" />
-<Test name="mediump_mat2x4_float_fragment" />
-<Test name="mediump_mat2x3_float_vertex" />
-<Test name="highp_mat3x2_float_fragment" />
-<Test name="lowp_mat4x2_float_fragment" />
-<Test name="lowp_mat4x2_float_vertex" />
-<Test name="lowp_mat4x3_float_fragment" />
-<Test name="lowp_mat2_float_fragment" />
-<Test name="lowp_mat3_float_vertex" />
-<Test name="mediump_mat2x4_float_vertex" />
+<TestCase name="invalid_redefinitions">
+<Test name="invalid_identifier_2_vertex" />
+<Test name="invalid_identifier_2_fragment" />
 </TestCase>
-</TestSuite>
-<TestCase name="post_increment">
-<Test name="mediump_mat3x2_float_fragment" />
-<Test name="mediump_mat3x2_float_vertex" />
-<Test name="highp_mat3x2_float_vertex" />
-<Test name="highp_mat3x2_float_fragment" />
-<Test name="lowp_mat3x2_float_vertex" />
-<Test name="lowp_mat3x2_float_fragment" />
+<TestCase name="comments">
+<Test name="multiline_comment_define_vertex" />
+<Test name="multiline_comment_define_fragment" />
+<Test name="nested_comment_vertex" />
+<Test name="nested_comment_fragment" />
+<Test name="comment_trick_1_vertex" />
+<Test name="comment_trick_1_fragment" />
+<Test name="comment_trick_2_vertex" />
+<Test name="comment_trick_2_fragment" />
+<Test name="invalid_comment_vertex" />
+<Test name="invalid_comment_fragment" />
+<Test name="unterminated_comment_1_vertex" />
+<Test name="unterminated_comment_1_fragment" />
+<Test name="unterminated_comment_2_vertex" />
+<Test name="unterminated_comment_2_fragment" />
 </TestCase>
-<TestCase name="unary_addition">
-<Test name="mediump_mat2x4_float_fragment" />
-<Test name="lowp_mat4x3_float_vertex" />
-<Test name="mediump_mat4x3_float_vertex" />
-<Test name="highp_mat3_float_vertex" />
-<Test name="mediump_mat3_float_vertex" />
-<Test name="highp_mat2x4_float_vertex" />
-<Test name="lowp_mat3x2_float_vertex" />
-<Test name="highp_mat2x4_float_fragment" />
-<Test name="highp_mat2_float_fragment" />
-<Test name="lowp_mat3x4_float_fragment" />
-<Test name="highp_mat3x4_float_vertex" />
-<Test name="highp_mat4x2_float_fragment" />
-<Test name="highp_mat4_float_vertex" />
-<Test name="mediump_mat4x2_float_fragment" />
-<Test name="lowp_mat4_float_fragment" />
-<Test name="mediump_mat3x4_float_fragment" />
-<Test name="highp_mat2x3_float_vertex" />
-<Test name="mediump_mat3x4_float_vertex" />
-<Test name="mediump_mat2_float_vertex" />
-<Test name="mediump_mat2x3_float_fragment" />
-<Test name="lowp_mat2_float_vertex" />
-<Test name="lowp_mat3x2_float_fragment" />
-<Test name="mediump_mat4_float_fragment" />
-<Test name="highp_mat2_float_vertex" />
-<Test name="lowp_mat2x4_float_fragment" />
-<Test name="lowp_mat3_float_fragment" />
-<Test name="lowp_mat2x4_float_vertex" />
-<Test name="lowp_mat2x3_float_vertex" />
-<Test name="highp_mat3x4_float_fragment" />
-<Test name="mediump_mat3_float_fragment" />
-<Test name="highp_mat4x2_float_vertex" />
-<Test name="lowp_mat4_float_vertex" />
-<Test name="highp_mat4x3_float_fragment" />
-<Test name="mediump_mat4x3_float_fragment" />
-<Test name="lowp_mat3x4_float_vertex" />
-<Test name="mediump_mat2_float_fragment" />
-<Test name="mediump_mat3x2_float_fragment" />
-<Test name="mediump_mat4x2_float_vertex" />
-<Test name="lowp_mat2x3_float_fragment" />
-<Test name="mediump_mat3x2_float_vertex" />
-<Test name="highp_mat2x3_float_fragment" />
-<Test name="highp_mat4_float_fragment" />
-<Test name="highp_mat3x2_float_vertex" />
-<Test name="lowp_mat4x3_float_fragment" />
-<Test name="lowp_mat2_float_fragment" />
-<Test name="mediump_mat2x3_float_vertex" />
-<Test name="highp_mat3x2_float_fragment" />
-<Test name="lowp_mat4x2_float_fragment" />
-<Test name="lowp_mat4x2_float_vertex" />
-<Test name="highp_mat3_float_fragment" />
-<Test name="highp_mat4x3_float_vertex" />
-<Test name="mediump_mat4_float_vertex" />
-<Test name="lowp_mat3_float_vertex" />
-<Test name="mediump_mat2x4_float_vertex" />
+<TestCase name="line_continuation">
+<Test name="comment_vertex" />
+<Test name="comment_fragment" />
+<Test name="define_vertex" />
+<Test name="define_fragment" />
+<Test name="preprocessing_token_vertex" />
+<Test name="preprocessing_token_fragment" />
+<Test name="token_vertex" />
+<Test name="token_fragment" />
+<Test name="middle_of_line_vertex" />
+<Test name="middle_of_line_fragment" />
+</TestCase>
+<TestCase name="function_definitions">
+<Test name="same_object_and_function_param_vertex" />
+<Test name="same_object_and_function_param_fragment" />
+<Test name="complex_func_vertex" />
+<Test name="complex_func_fragment" />
+<Test name="function_definition_with_comments_vertex" />
+<Test name="function_definition_with_comments_fragment" />
+</TestCase>
+<TestCase name="recursion">
+<Test name="recursion_1_vertex" />
+<Test name="recursion_1_fragment" />
+<Test name="recursion_2_vertex" />
+<Test name="recursion_2_fragment" />
+<Test name="recursion_3_vertex" />
+<Test name="recursion_3_fragment" />
+<Test name="recursion_4_vertex" />
+<Test name="recursion_4_fragment" />
+<Test name="recursion_5_vertex" />
+<Test name="recursion_5_fragment" />
+</TestCase>
+<TestCase name="function_redefinitions">
+<Test name="function_redefinition_1_vertex" />
+<Test name="function_redefinition_1_fragment" />
+<Test name="function_redefinition_2_vertex" />
+<Test name="function_redefinition_2_fragment" />
+<Test name="function_redefinition_3_vertex" />
+<Test name="function_redefinition_3_fragment" />
+<Test name="invalid_function_redefinition_param_1_vertex" />
+<Test name="invalid_function_redefinition_param_1_fragment" />
+<Test name="invalid_function_redefinition_param_2_vertex" />
+<Test name="invalid_function_redefinition_param_2_fragment" />
+<Test name="invalid_function_redefinition_param_3_vertex" />
+<Test name="invalid_function_redefinition_param_3_fragment" />
+</TestCase>
+<TestCase name="invalid_function_definitions">
+<Test name="arguments_1_vertex" />
+<Test name="arguments_1_fragment" />
+<Test name="arguments_2_vertex" />
+<Test name="arguments_2_fragment" />
+<Test name="arguments_3_vertex" />
+<Test name="arguments_3_fragment" />
+<Test name="arguments_4_vertex" />
+<Test name="arguments_4_fragment" />
+<Test name="arguments_5_vertex" />
+<Test name="arguments_5_fragment" />
+<Test name="arguments_6_vertex" />
+<Test name="arguments_6_fragment" />
+<Test name="arguments_7_vertex" />
+<Test name="arguments_7_fragment" />
+<Test name="arguments_8_vertex" />
+<Test name="arguments_8_fragment" />
+<Test name="unique_param_name_vertex" />
+<Test name="unique_param_name_fragment" />
+<Test name="argument_list_1_vertex" />
+<Test name="argument_list_1_fragment" />
+<Test name="argument_list_2_vertex" />
+<Test name="argument_list_2_fragment" />
+<Test name="argument_list_3_vertex" />
+<Test name="argument_list_3_fragment" />
+<Test name="no_closing_parenthesis_1_vertex" />
+<Test name="no_closing_parenthesis_1_fragment" />
+<Test name="no_closing_parenthesis_2_vertex" />
+<Test name="no_closing_parenthesis_2_fragment" />
+<Test name="no_closing_parenthesis_3_vertex" />
+<Test name="no_closing_parenthesis_3_fragment" />
+<Test name="no_closing_parenthesis_4_vertex" />
+<Test name="no_closing_parenthesis_4_fragment" />
+</TestCase>
+<TestCase name="semantic">
+<Test name="ops_as_arguments_vertex" />
+<Test name="ops_as_arguments_fragment" />
+<Test name="correct_order_vertex" />
+<Test name="correct_order_fragment" />
+</TestCase>
+<TestCase name="predefined_macros">
+<Test name="version_vertex" />
+<Test name="version_fragment" />
+<Test name="gl_es_1_vertex" />
+<Test name="gl_es_1_fragment" />
+<Test name="gl_es_2_vertex" />
+<Test name="gl_es_2_fragment" />
+<Test name="line_1_vertex" />
+<Test name="line_1_fragment" />
+<Test name="file_vertex" />
+<Test name="file_fragment" />
+<Test name="if_gl_es_vertex" />
+<Test name="if_gl_es_fragment" />
+<Test name="if_version_vertex" />
+<Test name="if_version_fragment" />
 </TestCase>
-<TestCase name="negation">
-<Test name="mediump_mat2x4_float_fragment" />
-<Test name="lowp_mat4x3_float_vertex" />
-<Test name="mediump_mat4x3_float_vertex" />
-<Test name="highp_mat3_float_vertex" />
-<Test name="mediump_mat3_float_vertex" />
-<Test name="highp_mat2x4_float_vertex" />
-<Test name="lowp_mat3x2_float_vertex" />
-<Test name="highp_mat2x4_float_fragment" />
-<Test name="highp_mat2_float_fragment" />
-<Test name="lowp_mat3x4_float_fragment" />
-<Test name="highp_mat3x4_float_vertex" />
-<Test name="highp_mat4x2_float_fragment" />
-<Test name="highp_mat4_float_vertex" />
-<Test name="mediump_mat4x2_float_fragment" />
-<Test name="lowp_mat4_float_fragment" />
-<Test name="mediump_mat3x4_float_fragment" />
-<Test name="highp_mat2x3_float_vertex" />
-<Test name="mediump_mat3x4_float_vertex" />
-<Test name="mediump_mat2_float_vertex" />
-<Test name="mediump_mat2x3_float_fragment" />
-<Test name="lowp_mat2_float_vertex" />
-<Test name="lowp_mat3x2_float_fragment" />
-<Test name="mediump_mat4_float_fragment" />
-<Test name="highp_mat2_float_vertex" />
-<Test name="lowp_mat2x4_float_fragment" />
-<Test name="lowp_mat3_float_fragment" />
-<Test name="lowp_mat2x4_float_vertex" />
-<Test name="lowp_mat2x3_float_vertex" />
-<Test name="highp_mat3x4_float_fragment" />
-<Test name="mediump_mat3_float_fragment" />
-<Test name="highp_mat4x2_float_vertex" />
-<Test name="lowp_mat4_float_vertex" />
-<Test name="highp_mat4x3_float_fragment" />
-<Test name="mediump_mat4x3_float_fragment" />
-<Test name="lowp_mat3x4_float_vertex" />
-<Test name="mediump_mat2_float_fragment" />
-<Test name="mediump_mat3x2_float_fragment" />
-<Test name="mediump_mat4x2_float_vertex" />
-<Test name="lowp_mat2x3_float_fragment" />
-<Test name="mediump_mat3x2_float_vertex" />
-<Test name="highp_mat2x3_float_fragment" />
-<Test name="highp_mat4_float_fragment" />
-<Test name="highp_mat3x2_float_vertex" />
-<Test name="lowp_mat4x3_float_fragment" />
-<Test name="lowp_mat2_float_fragment" />
-<Test name="mediump_mat2x3_float_vertex" />
-<Test name="highp_mat3x2_float_fragment" />
-<Test name="lowp_mat4x2_float_fragment" />
-<Test name="lowp_mat4x2_float_vertex" />
-<Test name="highp_mat3_float_fragment" />
-<Test name="highp_mat4x3_float_vertex" />
-<Test name="mediump_mat4_float_vertex" />
-<Test name="lowp_mat3_float_vertex" />
-<Test name="mediump_mat2x4_float_vertex" />
+<TestCase name="conditional_inclusion">
+<Test name="basic_1_vertex" />
+<Test name="basic_1_fragment" />
+<Test name="basic_2_vertex" />
+<Test name="basic_2_fragment" />
+<Test name="basic_3_vertex" />
+<Test name="basic_3_fragment" />
+<Test name="basic_4_vertex" />
+<Test name="basic_4_fragment" />
+<Test name="basic_5_vertex" />
+<Test name="basic_5_fragment" />
+<Test name="unary_ops_1_vertex" />
+<Test name="unary_ops_1_fragment" />
+<Test name="unary_ops_2_vertex" />
+<Test name="unary_ops_2_fragment" />
 </TestCase>
-<TestSuite name="add">
-<TestCase name="const">
-<Test name="mediump_mat4_mat4_vertex" />
-<Test name="highp_mat4x3_float_fragment" />
-<Test name="highp_mat3_mat3_fragment" />
-<Test name="mediump_mat3_mat3_vertex" />
-<Test name="highp_mat2_float_fragment" />
-<Test name="lowp_mat2_mat2_fragment" />
-<Test name="highp_mat4_float_vertex" />
-<Test name="mediump_mat4x2_float_fragment" />
-<Test name="lowp_mat4_float_fragment" />
-<Test name="mediump_mat3x2_mat3x2_fragment" />
-<Test name="mediump_mat2x4_mat2x4_fragment" />
-<Test name="lowp_mat2_float_vertex" />
-<Test name="mediump_mat3_mat3_fragment" />
-<Test name="mediump_mat4x2_mat4x2_fragment" />
-<Test name="lowp_mat3x4_float_vertex" />
-<Test name="mediump_mat3x2_mat3x2_vertex" />
-<Test name="lowp_mat3_mat3_fragment" />
-<Test name="highp_mat3x2_float_vertex" />
-<Test name="highp_mat3x2_float_fragment" />
-<Test name="mediump_mat2x3_mat2x3_vertex" />
-<Test name="highp_mat4x3_mat4x3_vertex" />
-<Test name="highp_mat2x4_mat2x4_vertex" />
-<Test name="mediump_mat4x3_float_vertex" />
-<Test name="highp_mat3x4_mat3x4_fragment" />
-<Test name="highp_mat4_mat4_fragment" />
-<Test name="highp_mat2x4_float_fragment" />
-<Test name="lowp_mat4_mat4_vertex" />
-<Test name="lowp_mat3_float_fragment" />
-<Test name="highp_mat4x2_mat4x2_fragment" />
-<Test name="lowp_mat3x2_mat3x2_vertex" />
-<Test name="mediump_mat2x3_float_fragment" />
-<Test name="highp_mat2_mat2_vertex" />
-<Test name="mediump_mat4_float_fragment" />
-<Test name="lowp_mat2x3_mat2x3_vertex" />
-<Test name="lowp_mat3x4_mat3x4_vertex" />
-<Test name="mediump_mat2x4_mat2x4_vertex" />
-<Test name="lowp_mat4_mat4_fragment" />
-<Test name="highp_mat3_mat3_vertex" />
-<Test name="lowp_mat2x3_float_fragment" />
-<Test name="mediump_mat3x2_float_vertex" />
-<Test name="highp_mat2x3_float_fragment" />
-<Test name="highp_mat4_float_fragment" />
-<Test name="lowp_mat3_mat3_vertex" />
-<Test name="lowp_mat4x2_float_fragment" />
-<Test name="mediump_mat4x2_mat4x2_vertex" />
-<Test name="mediump_mat2x4_float_fragment" />
-<Test name="lowp_mat3_float_vertex" />
-<Test name="lowp_mat4x3_float_vertex" />
-<Test name="mediump_mat3_float_vertex" />
-<Test name="highp_mat2x3_mat2x3_vertex" />
-<Test name="highp_mat4_mat4_vertex" />
-<Test name="mediump_mat3x4_mat3x4_fragment" />
-<Test name="lowp_mat3x4_float_fragment" />
-<Test name="highp_mat3x4_float_vertex" />
-<Test name="highp_mat4x2_float_fragment" />
-<Test name="highp_mat3_float_vertex" />
-<Test name="mediump_mat3x4_float_vertex" />
-<Test name="mediump_mat2_float_vertex" />
-<Test name="highp_mat4x2_float_vertex" />
-<Test name="highp_mat4x2_mat4x2_vertex" />
-<Test name="mediump_mat2x3_mat2x3_fragment" />
-<Test name="mediump_mat3x4_mat3x4_vertex" />
-<Test name="highp_mat2_float_vertex" />
-<Test name="highp_mat3x2_mat3x2_fragment" />
-<Test name="lowp_mat2x3_float_vertex" />
-<Test name="highp_mat3x4_float_fragment" />
-<Test name="lowp_mat2_mat2_vertex" />
-<Test name="lowp_mat4x3_float_fragment" />
-<Test name="lowp_mat4_float_vertex" />
-<Test name="mediump_mat2_mat2_fragment" />
-<Test name="highp_mat2x3_mat2x3_fragment" />
-<Test name="mediump_mat4x3_float_fragment" />
-<Test name="mediump_mat2_float_fragment" />
-<Test name="mediump_mat4x2_float_vertex" />
-<Test name="lowp_mat2x4_mat2x4_fragment" />
-<Test name="highp_mat4x3_mat4x3_fragment" />
-<Test name="mediump_mat2x4_float_vertex" />
-<Test name="mediump_mat4_mat4_fragment" />
-<Test name="mediump_mat4x3_mat4x3_fragment" />
-<Test name="lowp_mat3x2_mat3x2_fragment" />
-<Test name="lowp_mat3x2_float_vertex" />
-<Test name="highp_mat3x4_mat3x4_vertex" />
-<Test name="lowp_mat2x4_mat2x4_vertex" />
-<Test name="highp_mat2x4_float_vertex" />
-<Test name="mediump_mat4x3_mat4x3_vertex" />
-<Test name="highp_mat2_mat2_fragment" />
-<Test name="mediump_mat3x4_float_fragment" />
-<Test name="highp_mat3x2_mat3x2_vertex" />
-<Test name="highp_mat2x3_float_vertex" />
-<Test name="lowp_mat4x2_mat4x2_fragment" />
-<Test name="lowp_mat3x2_float_fragment" />
-<Test name="lowp_mat4x3_mat4x3_fragment" />
-<Test name="lowp_mat2x4_float_fragment" />
-<Test name="lowp_mat4x3_mat4x3_vertex" />
-<Test name="lowp_mat2x4_float_vertex" />
-<Test name="lowp_mat3x4_mat3x4_fragment" />
-<Test name="mediump_mat3x2_float_fragment" />
-<Test name="mediump_mat3_float_fragment" />
-<Test name="highp_mat3_float_fragment" />
-<Test name="lowp_mat4x2_mat4x2_vertex" />
-<Test name="highp_mat2x4_mat2x4_fragment" />
-<Test name="mediump_mat4_float_vertex" />
-<Test name="mediump_mat2x3_float_vertex" />
-<Test name="lowp_mat4x2_float_vertex" />
-<Test name="lowp_mat2x3_mat2x3_fragment" />
-<Test name="lowp_mat2_float_fragment" />
-<Test name="mediump_mat2_mat2_vertex" />
-<Test name="highp_mat4x3_float_vertex" />
+<TestCase name="invalid_ops">
+<Test name="invalid_op_1_vertex" />
+<Test name="invalid_op_1_fragment" />
+<Test name="invalid_op_2_vertex" />
+<Test name="invalid_op_2_fragment" />
+<Test name="invalid_defined_expected_identifier_1_vertex" />
+<Test name="invalid_defined_expected_identifier_1_fragment" />
+<Test name="invalid_defined_expected_identifier_2_vertex" />
+<Test name="invalid_defined_expected_identifier_2_fragment" />
+<Test name="invalid_defined_expected_identifier_3_vertex" />
+<Test name="invalid_defined_expected_identifier_3_fragment" />
+<Test name="invalid_defined_expected_identifier_4_vertex" />
+<Test name="invalid_defined_expected_identifier_4_fragment" />
+<Test name="invalid_defined_expected_identifier_5_vertex" />
+<Test name="invalid_defined_expected_identifier_5_fragment" />
+<Test name="invalid_defined_expected_rparen_vertex" />
+<Test name="invalid_defined_expected_rparen_fragment" />
+<Test name="defined_define_vertex" />
+<Test name="defined_define_fragment" />
 </TestCase>
-<TestCase name="dynamic">
-<Test name="mediump_mat4_mat4_vertex" />
-<Test name="highp_mat4x3_float_fragment" />
-<Test name="highp_mat3_mat3_fragment" />
-<Test name="mediump_mat3_mat3_vertex" />
-<Test name="highp_mat2_float_fragment" />
-<Test name="lowp_mat2_mat2_fragment" />
-<Test name="highp_mat4_float_vertex" />
-<Test name="mediump_mat4x2_float_fragment" />
-<Test name="lowp_mat4_float_fragment" />
-<Test name="mediump_mat3x2_mat3x2_fragment" />
-<Test name="mediump_mat2x4_mat2x4_fragment" />
-<Test name="lowp_mat2_float_vertex" />
-<Test name="mediump_mat3_mat3_fragment" />
-<Test name="mediump_mat4x2_mat4x2_fragment" />
-<Test name="lowp_mat3x4_float_vertex" />
-<Test name="mediump_mat3x2_mat3x2_vertex" />
-<Test name="lowp_mat3_mat3_fragment" />
-<Test name="highp_mat3x2_float_vertex" />
-<Test name="highp_mat3x2_float_fragment" />
-<Test name="mediump_mat2x3_mat2x3_vertex" />
-<Test name="highp_mat4x3_mat4x3_vertex" />
-<Test name="highp_mat2x4_mat2x4_vertex" />
-<Test name="mediump_mat4x3_float_vertex" />
-<Test name="highp_mat3x4_mat3x4_fragment" />
-<Test name="highp_mat4_mat4_fragment" />
-<Test name="highp_mat2x4_float_fragment" />
-<Test name="lowp_mat4_mat4_vertex" />
-<Test name="lowp_mat3_float_fragment" />
-<Test name="highp_mat4x2_mat4x2_fragment" />
-<Test name="lowp_mat3x2_mat3x2_vertex" />
-<Test name="mediump_mat2x3_float_fragment" />
-<Test name="highp_mat2_mat2_vertex" />
-<Test name="mediump_mat4_float_fragment" />
-<Test name="lowp_mat2x3_mat2x3_vertex" />
-<Test name="lowp_mat3x4_mat3x4_vertex" />
-<Test name="mediump_mat2x4_mat2x4_vertex" />
-<Test name="lowp_mat4_mat4_fragment" />
-<Test name="highp_mat3_mat3_vertex" />
-<Test name="lowp_mat2x3_float_fragment" />
-<Test name="mediump_mat3x2_float_vertex" />
-<Test name="highp_mat2x3_float_fragment" />
-<Test name="highp_mat4_float_fragment" />
-<Test name="lowp_mat3_mat3_vertex" />
-<Test name="lowp_mat4x2_float_fragment" />
-<Test name="mediump_mat4x2_mat4x2_vertex" />
-<Test name="mediump_mat2x4_float_fragment" />
-<Test name="lowp_mat3_float_vertex" />
-<Test name="lowp_mat4x3_float_vertex" />
-<Test name="mediump_mat3_float_vertex" />
-<Test name="highp_mat2x3_mat2x3_vertex" />
-<Test name="highp_mat4_mat4_vertex" />
-<Test name="mediump_mat3x4_mat3x4_fragment" />
-<Test name="lowp_mat3x4_float_fragment" />
-<Test name="highp_mat3x4_float_vertex" />
-<Test name="highp_mat4x2_float_fragment" />
-<Test name="highp_mat3_float_vertex" />
-<Test name="mediump_mat3x4_float_vertex" />
-<Test name="mediump_mat2_float_vertex" />
-<Test name="highp_mat4x2_float_vertex" />
-<Test name="highp_mat4x2_mat4x2_vertex" />
-<Test name="mediump_mat2x3_mat2x3_fragment" />
-<Test name="mediump_mat3x4_mat3x4_vertex" />
-<Test name="highp_mat2_float_vertex" />
-<Test name="highp_mat3x2_mat3x2_fragment" />
-<Test name="lowp_mat2x3_float_vertex" />
-<Test name="highp_mat3x4_float_fragment" />
-<Test name="lowp_mat2_mat2_vertex" />
-<Test name="lowp_mat4x3_float_fragment" />
-<Test name="lowp_mat4_float_vertex" />
-<Test name="mediump_mat2_mat2_fragment" />
-<Test name="highp_mat2x3_mat2x3_fragment" />
-<Test name="mediump_mat4x3_float_fragment" />
-<Test name="mediump_mat2_float_fragment" />
-<Test name="mediump_mat4x2_float_vertex" />
-<Test name="lowp_mat2x4_mat2x4_fragment" />
-<Test name="highp_mat4x3_mat4x3_fragment" />
-<Test name="mediump_mat2x4_float_vertex" />
-<Test name="mediump_mat4_mat4_fragment" />
-<Test name="mediump_mat4x3_mat4x3_fragment" />
-<Test name="lowp_mat3x2_mat3x2_fragment" />
-<Test name="lowp_mat3x2_float_vertex" />
-<Test name="highp_mat3x4_mat3x4_vertex" />
-<Test name="lowp_mat2x4_mat2x4_vertex" />
-<Test name="highp_mat2x4_float_vertex" />
-<Test name="mediump_mat4x3_mat4x3_vertex" />
-<Test name="highp_mat2_mat2_fragment" />
-<Test name="mediump_mat3x4_float_fragment" />
-<Test name="highp_mat3x2_mat3x2_vertex" />
-<Test name="highp_mat2x3_float_vertex" />
-<Test name="lowp_mat4x2_mat4x2_fragment" />
-<Test name="lowp_mat3x2_float_fragment" />
-<Test name="lowp_mat4x3_mat4x3_fragment" />
-<Test name="lowp_mat2x4_float_fragment" />
-<Test name="lowp_mat4x3_mat4x3_vertex" />
-<Test name="lowp_mat2x4_float_vertex" />
-<Test name="lowp_mat3x4_mat3x4_fragment" />
-<Test name="mediump_mat3x2_float_fragment" />
-<Test name="mediump_mat3_float_fragment" />
-<Test name="highp_mat3_float_fragment" />
-<Test name="lowp_mat4x2_mat4x2_vertex" />
-<Test name="highp_mat2x4_mat2x4_fragment" />
-<Test name="mediump_mat4_float_vertex" />
-<Test name="mediump_mat2x3_float_vertex" />
-<Test name="lowp_mat4x2_float_vertex" />
-<Test name="lowp_mat2x3_mat2x3_fragment" />
-<Test name="lowp_mat2_float_fragment" />
-<Test name="mediump_mat2_mat2_vertex" />
-<Test name="highp_mat4x3_float_vertex" />
+<TestCase name="undefined_identifiers">
+<Test name="valid_undefined_identifier_1_vertex" />
+<Test name="valid_undefined_identifier_1_fragment" />
+<Test name="valid_undefined_identifier_2_vertex" />
+<Test name="valid_undefined_identifier_2_fragment" />
+<Test name="undefined_identifier_1_vertex" />
+<Test name="undefined_identifier_1_fragment" />
+<Test name="undefined_identifier_2_vertex" />
+<Test name="undefined_identifier_2_fragment" />
+<Test name="undefined_identifier_3_vertex" />
+<Test name="undefined_identifier_3_fragment" />
+<Test name="undefined_identifier_4_vertex" />
+<Test name="undefined_identifier_4_fragment" />
+<Test name="undefined_identifier_5_vertex" />
+<Test name="undefined_identifier_5_fragment" />
+<Test name="undefined_identifier_6_vertex" />
+<Test name="undefined_identifier_6_fragment" />
+<Test name="undefined_identifier_7_vertex" />
+<Test name="undefined_identifier_7_fragment" />
+<Test name="undefined_identifier_8_vertex" />
+<Test name="undefined_identifier_8_fragment" />
+<Test name="undefined_identifier_9_vertex" />
+<Test name="undefined_identifier_9_fragment" />
+<Test name="undefined_identifier_10_vertex" />
+<Test name="undefined_identifier_10_fragment" />
+<Test name="undefined_identifier_11_vertex" />
+<Test name="undefined_identifier_11_fragment" />
+<Test name="undefined_identifier_12_vertex" />
+<Test name="undefined_identifier_12_fragment" />
 </TestCase>
-<TestCase name="uniform">
-<Test name="mediump_mat4_mat4_vertex" />
-<Test name="highp_mat4x3_float_fragment" />
-<Test name="highp_mat3_mat3_fragment" />
-<Test name="mediump_mat3_mat3_vertex" />
-<Test name="highp_mat2_float_fragment" />
-<Test name="lowp_mat2_mat2_fragment" />
-<Test name="highp_mat4_float_vertex" />
-<Test name="mediump_mat4x2_float_fragment" />
-<Test name="lowp_mat4_float_fragment" />
-<Test name="mediump_mat3x2_mat3x2_fragment" />
-<Test name="mediump_mat2x4_mat2x4_fragment" />
-<Test name="lowp_mat2_float_vertex" />
-<Test name="mediump_mat3_mat3_fragment" />
-<Test name="mediump_mat4x2_mat4x2_fragment" />
-<Test name="lowp_mat3x4_float_vertex" />
-<Test name="mediump_mat3x2_mat3x2_vertex" />
-<Test name="lowp_mat3_mat3_fragment" />
-<Test name="highp_mat3x2_float_vertex" />
-<Test name="highp_mat3x2_float_fragment" />
-<Test name="mediump_mat2x3_mat2x3_vertex" />
-<Test name="highp_mat4x3_mat4x3_vertex" />
-<Test name="highp_mat2x4_mat2x4_vertex" />
-<Test name="mediump_mat4x3_float_vertex" />
-<Test name="highp_mat3x4_mat3x4_fragment" />
-<Test name="highp_mat4_mat4_fragment" />
-<Test name="highp_mat2x4_float_fragment" />
-<Test name="lowp_mat4_mat4_vertex" />
-<Test name="lowp_mat3_float_fragment" />
-<Test name="highp_mat4x2_mat4x2_fragment" />
-<Test name="lowp_mat3x2_mat3x2_vertex" />
-<Test name="mediump_mat2x3_float_fragment" />
-<Test name="highp_mat2_mat2_vertex" />
-<Test name="mediump_mat4_float_fragment" />
-<Test name="lowp_mat2x3_mat2x3_vertex" />
-<Test name="lowp_mat3x4_mat3x4_vertex" />
-<Test name="mediump_mat2x4_mat2x4_vertex" />
-<Test name="lowp_mat4_mat4_fragment" />
-<Test name="highp_mat3_mat3_vertex" />
-<Test name="lowp_mat2x3_float_fragment" />
-<Test name="mediump_mat3x2_float_vertex" />
-<Test name="highp_mat2x3_float_fragment" />
-<Test name="highp_mat4_float_fragment" />
-<Test name="lowp_mat3_mat3_vertex" />
-<Test name="lowp_mat4x2_float_fragment" />
-<Test name="mediump_mat4x2_mat4x2_vertex" />
-<Test name="mediump_mat2x4_float_fragment" />
-<Test name="lowp_mat3_float_vertex" />
-<Test name="lowp_mat4x3_float_vertex" />
-<Test name="mediump_mat3_float_vertex" />
-<Test name="highp_mat2x3_mat2x3_vertex" />
-<Test name="highp_mat4_mat4_vertex" />
-<Test name="mediump_mat3x4_mat3x4_fragment" />
-<Test name="lowp_mat3x4_float_fragment" />
-<Test name="highp_mat3x4_float_vertex" />
-<Test name="highp_mat4x2_float_fragment" />
-<Test name="highp_mat3_float_vertex" />
-<Test name="mediump_mat3x4_float_vertex" />
-<Test name="mediump_mat2_float_vertex" />
-<Test name="highp_mat4x2_float_vertex" />
-<Test name="highp_mat4x2_mat4x2_vertex" />
-<Test name="mediump_mat2x3_mat2x3_fragment" />
-<Test name="mediump_mat3x4_mat3x4_vertex" />
-<Test name="highp_mat2_float_vertex" />
-<Test name="highp_mat3x2_mat3x2_fragment" />
-<Test name="lowp_mat2x3_float_vertex" />
-<Test name="highp_mat3x4_float_fragment" />
-<Test name="lowp_mat2_mat2_vertex" />
-<Test name="lowp_mat4x3_float_fragment" />
-<Test name="lowp_mat4_float_vertex" />
-<Test name="mediump_mat2_mat2_fragment" />
-<Test name="highp_mat2x3_mat2x3_fragment" />
-<Test name="mediump_mat4x3_float_fragment" />
-<Test name="mediump_mat2_float_fragment" />
-<Test name="mediump_mat4x2_float_vertex" />
-<Test name="lowp_mat2x4_mat2x4_fragment" />
-<Test name="highp_mat4x3_mat4x3_fragment" />
-<Test name="mediump_mat2x4_float_vertex" />
-<Test name="mediump_mat4_mat4_fragment" />
-<Test name="mediump_mat4x3_mat4x3_fragment" />
-<Test name="lowp_mat3x2_mat3x2_fragment" />
-<Test name="lowp_mat3x2_float_vertex" />
-<Test name="highp_mat3x4_mat3x4_vertex" />
-<Test name="lowp_mat2x4_mat2x4_vertex" />
-<Test name="highp_mat2x4_float_vertex" />
-<Test name="mediump_mat4x3_mat4x3_vertex" />
-<Test name="highp_mat2_mat2_fragment" />
-<Test name="mediump_mat3x4_float_fragment" />
-<Test name="highp_mat3x2_mat3x2_vertex" />
-<Test name="highp_mat2x3_float_vertex" />
-<Test name="lowp_mat4x2_mat4x2_fragment" />
-<Test name="lowp_mat3x2_float_fragment" />
-<Test name="lowp_mat4x3_mat4x3_fragment" />
-<Test name="lowp_mat2x4_float_fragment" />
-<Test name="lowp_mat4x3_mat4x3_vertex" />
-<Test name="lowp_mat2x4_float_vertex" />
-<Test name="lowp_mat3x4_mat3x4_fragment" />
-<Test name="mediump_mat3x2_float_fragment" />
-<Test name="mediump_mat3_float_fragment" />
-<Test name="highp_mat3_float_fragment" />
-<Test name="lowp_mat4x2_mat4x2_vertex" />
-<Test name="highp_mat2x4_mat2x4_fragment" />
-<Test name="mediump_mat4_float_vertex" />
-<Test name="mediump_mat2x3_float_vertex" />
-<Test name="lowp_mat4x2_float_vertex" />
-<Test name="lowp_mat2x3_mat2x3_fragment" />
-<Test name="lowp_mat2_float_fragment" />
-<Test name="mediump_mat2_mat2_vertex" />
-<Test name="highp_mat4x3_float_vertex" />
+<TestCase name="invalid_conditionals">
+<Test name="empty_if_vertex" />
+<Test name="empty_if_fragment" />
+<Test name="empty_ifdef_vertex" />
+<Test name="empty_ifdef_fragment" />
+<Test name="empty_ifndef_vertex" />
+<Test name="empty_ifndef_fragment" />
+<Test name="invalid_ifdef_vertex" />
+<Test name="invalid_ifdef_fragment" />
+<Test name="invalid_ifndef_vertex" />
+<Test name="invalid_ifndef_fragment" />
+<Test name="empty_if_defined_vertex" />
+<Test name="empty_if_defined_fragment" />
+<Test name="unterminated_if_1_vertex" />
+<Test name="unterminated_if_1_fragment" />
+<Test name="unterminated_if_2_vertex" />
+<Test name="unterminated_if_2_fragment" />
+<Test name="unterminated_ifdef_vertex" />
+<Test name="unterminated_ifdef_fragment" />
+<Test name="unterminated_ifndef_vertex" />
+<Test name="unterminated_ifndef_fragment" />
+<Test name="unterminated_else_1_vertex" />
+<Test name="unterminated_else_1_fragment" />
+<Test name="unterminated_else_2_vertex" />
+<Test name="unterminated_else_2_fragment" />
+<Test name="unterminated_elif_1_vertex" />
+<Test name="unterminated_elif_1_fragment" />
+<Test name="unterminated_elif_2_vertex" />
+<Test name="unterminated_elif_2_fragment" />
+<Test name="unterminated_elif_3_vertex" />
+<Test name="unterminated_elif_3_fragment" />
+<Test name="elif_after_else_vertex" />
+<Test name="elif_after_else_fragment" />
+<Test name="else_without_if_vertex" />
+<Test name="else_without_if_fragment" />
+<Test name="elif_without_if_vertex" />
+<Test name="elif_without_if_fragment" />
+<Test name="endif_without_if_vertex" />
+<Test name="endif_without_if_fragment" />
+<Test name="else_after_else_vertex" />
+<Test name="else_after_else_fragment" />
+<Test name="nested_elif_without_if_vertex" />
+<Test name="nested_elif_without_if_fragment" />
+<Test name="if_float_vertex" />
+<Test name="if_float_fragment" />
+<Test name="tokens_after_if_vertex" />
+<Test name="tokens_after_if_fragment" />
+<Test name="tokens_after_elif_vertex" />
+<Test name="tokens_after_elif_fragment" />
+<Test name="tokens_after_else_vertex" />
+<Test name="tokens_after_else_fragment" />
+<Test name="tokens_after_endif_vertex" />
+<Test name="tokens_after_endif_fragment" />
+<Test name="tokens_after_ifdef_vertex" />
+<Test name="tokens_after_ifdef_fragment" />
+<Test name="tokens_after_ifndef_vertex" />
+<Test name="tokens_after_ifndef_fragment" />
+<Test name="unterminated_nested_blocks_vertex" />
+<Test name="unterminated_nested_blocks_fragment" />
 </TestCase>
-</TestSuite>
-<TestCase name="mul_assign">
-<Test name="mediump_mat4_float_fragment" />
-<Test name="highp_mat2_float_vertex" />
-<Test name="lowp_mat3_float_fragment" />
-<Test name="highp_mat3_float_fragment" />
-<Test name="highp_mat4_float_vertex" />
-<Test name="highp_mat3_float_vertex" />
-<Test name="mediump_mat3_float_vertex" />
-<Test name="lowp_mat2_float_fragment" />
-<Test name="mediump_mat3_float_fragment" />
-<Test name="lowp_mat4_float_vertex" />
-<Test name="lowp_mat2_float_vertex" />
-<Test name="highp_mat4_float_fragment" />
-<Test name="mediump_mat2_float_vertex" />
-<Test name="highp_mat2_float_fragment" />
-<Test name="lowp_mat4_float_fragment" />
-<Test name="mediump_mat4_float_vertex" />
-<Test name="lowp_mat3_float_vertex" />
-<Test name="mediump_mat2_float_fragment" />
+<TestCase name="conditionals">
+<Test name="ifdef_1_vertex" />
+<Test name="ifdef_1_fragment" />
+<Test name="ifdef_2_vertex" />
+<Test name="ifdef_2_fragment" />
+<Test name="ifdef_3_vertex" />
+<Test name="ifdef_3_fragment" />
+<Test name="ifndef_1_vertex" />
+<Test name="ifndef_1_fragment" />
+<Test name="ifndef_2_vertex" />
+<Test name="ifndef_2_fragment" />
+<Test name="mixed_conditional_inclusion_vertex" />
+<Test name="mixed_conditional_inclusion_fragment" />
+<Test name="nested_if_1_vertex" />
+<Test name="nested_if_1_fragment" />
+<Test name="nested_if_2_vertex" />
+<Test name="nested_if_2_fragment" />
+<Test name="nested_if_3_vertex" />
+<Test name="nested_if_3_fragment" />
 </TestCase>
-<TestCase name="div_assign">
-<Test name="mediump_mat2x4_float_fragment" />
-<Test name="lowp_mat4x3_float_vertex" />
-<Test name="mediump_mat4x3_float_vertex" />
-<Test name="highp_mat3_float_vertex" />
-<Test name="mediump_mat3_float_vertex" />
-<Test name="highp_mat2x4_float_vertex" />
-<Test name="lowp_mat3x2_float_vertex" />
-<Test name="highp_mat2x4_float_fragment" />
-<Test name="highp_mat2_float_fragment" />
-<Test name="lowp_mat3x4_float_fragment" />
-<Test name="highp_mat3x4_float_vertex" />
-<Test name="highp_mat4x2_float_fragment" />
-<Test name="highp_mat4_float_vertex" />
-<Test name="mediump_mat4x2_float_fragment" />
-<Test name="lowp_mat4_float_fragment" />
-<Test name="mediump_mat3x4_float_fragment" />
-<Test name="highp_mat2x3_float_vertex" />
-<Test name="mediump_mat3x4_float_vertex" />
-<Test name="mediump_mat2_float_vertex" />
-<Test name="mediump_mat2x3_float_fragment" />
-<Test name="lowp_mat2_float_vertex" />
-<Test name="lowp_mat3x2_float_fragment" />
-<Test name="mediump_mat4_float_fragment" />
-<Test name="highp_mat2_float_vertex" />
-<Test name="lowp_mat2x4_float_fragment" />
-<Test name="lowp_mat3_float_fragment" />
-<Test name="lowp_mat2x4_float_vertex" />
-<Test name="lowp_mat2x3_float_vertex" />
-<Test name="highp_mat3x4_float_fragment" />
-<Test name="mediump_mat3_float_fragment" />
-<Test name="highp_mat4x2_float_vertex" />
-<Test name="lowp_mat4_float_vertex" />
-<Test name="highp_mat4x3_float_fragment" />
-<Test name="mediump_mat4x3_float_fragment" />
-<Test name="lowp_mat3x4_float_vertex" />
-<Test name="mediump_mat2_float_fragment" />
-<Test name="mediump_mat3x2_float_fragment" />
-<Test name="mediump_mat4x2_float_vertex" />
-<Test name="lowp_mat2x3_float_fragment" />
-<Test name="mediump_mat3x2_float_vertex" />
-<Test name="highp_mat2x3_float_fragment" />
-<Test name="highp_mat4_float_fragment" />
-<Test name="highp_mat3x2_float_vertex" />
-<Test name="lowp_mat4x3_float_fragment" />
-<Test name="lowp_mat2_float_fragment" />
-<Test name="mediump_mat2x3_float_vertex" />
-<Test name="highp_mat3x2_float_fragment" />
-<Test name="lowp_mat4x2_float_fragment" />
-<Test name="lowp_mat4x2_float_vertex" />
-<Test name="highp_mat3_float_fragment" />
-<Test name="highp_mat4x3_float_vertex" />
-<Test name="mediump_mat4_float_vertex" />
-<Test name="lowp_mat3_float_vertex" />
-<Test name="mediump_mat2x4_float_vertex" />
+<TestCase name="directive">
+<Test name="version_is_less_vertex" />
+<Test name="version_is_less_fragment" />
+<Test name="version_is_more_vertex" />
+<Test name="version_is_more_fragment" />
+<Test name="version_missing_es_vertex" />
+<Test name="version_missing_es_fragment" />
+<Test name="version_missing_vertex" />
+<Test name="version_missing_fragment" />
+<Test name="version_not_first_statement_1_vertex" />
+<Test name="version_not_first_statement_1_fragment" />
+<Test name="version_not_first_statement_2_vertex" />
+<Test name="version_not_first_statement_2_fragment" />
+<Test name="version_invalid_token_1_vertex" />
+<Test name="version_invalid_token_1_fragment" />
+<Test name="version_invalid_token_2_vertex" />
+<Test name="version_invalid_token_2_fragment" />
+<Test name="invalid_version_vertex" />
+<Test name="invalid_version_fragment" />
+<Test name="additional_tokens_vertex" />
+<Test name="additional_tokens_fragment" />
+<Test name="error_with_no_tokens_vertex" />
+<Test name="error_with_no_tokens_fragment" />
+<Test name="error_vertex" />
+<Test name="error_fragment" />
 </TestCase>
-<TestSuite name="mul">
-<TestCase name="const">
-<Test name="lowp_vec3_mat2x3_vertex" />
-<Test name="mediump_mat2x4_float_fragment" />
-<Test name="mediump_mat2_mat2_fragment" />
-<Test name="lowp_vec2_mat3x2_fragment" />
-<Test name="highp_mat2_vec2_fragment" />
-<Test name="mediump_mat2x4_mat4x2_vertex" />
-<Test name="mediump_mat4_mat2x4_vertex" />
-<Test name="mediump_vec2_mat2_fragment" />
-<Test name="lowp_mat4x2_mat4_fragment" />
-<Test name="highp_mat3_mat3_fragment" />
-<Test name="mediump_mat3_mat3_vertex" />
-<Test name="highp_vec3_mat3_vertex" />
-<Test name="lowp_mat4_vec4_fragment" />
-<Test name="lowp_mat3_mat2x3_vertex" />
-<Test name="highp_mat2_float_fragment" />
-<Test name="lowp_mat2_mat2_fragment" />
-<Test name="mediump_mat2_float_vertex" />
-<Test name="lowp_mat3x2_mat3_vertex" />
-<Test name="highp_mat4x3_mat3x4_vertex" />
-<Test name="mediump_vec2_mat4x2_fragment" />
-<Test name="highp_mat3_mat2x3_fragment" />
-<Test name="mediump_vec2_mat4x2_vertex" />
-<Test name="lowp_vec2_mat2_fragment" />
-<Test name="lowp_mat4_mat2x4_fragment" />
-<Test name="mediump_mat4x2_float_fragment" />
-<Test name="lowp_mat3x4_mat4x3_vertex" />
-<Test name="mediump_mat2x3_vec2_vertex" />
-<Test name="lowp_vec4_mat2x4_vertex" />
-<Test name="lowp_vec4_mat2x4_fragment" />
-<Test name="lowp_mat2x4_mat4x2_vertex" />
-<Test name="mediump_mat2x3_mat4x2_fragment" />
-<Test name="highp_mat2_mat4x2_fragment" />
-<Test name="lowp_mat2x3_mat3x2_fragment" />
-<Test name="lowp_mat3x2_mat2x3_fragment" />
-<Test name="lowp_vec4_mat4_fragment" />
-<Test name="highp_vec3_mat4x3_fragment" />
-<Test name="lowp_mat3x2_mat2x3_vertex" />
-<Test name="highp_mat2x4_mat2_fragment" />
-<Test name="mediump_mat3_mat3_fragment" />
-<Test name="mediump_mat4x2_mat2x4_vertex" />
-<Test name="mediump_vec4_mat3x4_vertex" />
-<Test name="lowp_vec3_mat3_fragment" />
-<Test name="highp_vec3_mat2x3_fragment" />
-<Test name="lowp_mat2x3_vec2_vertex" />
-<Test name="mediump_mat3x4_mat3_fragment" />
-<Test name="lowp_vec4_mat4_vertex" />
-<Test name="highp_vec2_mat3x2_fragment" />
-<Test name="lowp_mat2_mat3x2_vertex" />
-<Test name="lowp_mat3x4_float_vertex" />
-<Test name="mediump_mat3x4_vec3_vertex" />
-<Test name="lowp_mat4x3_float_fragment" />
-<Test name="lowp_mat2_vec2_fragment" />
-<Test name="lowp_mat3_mat3_fragment" />
-<Test name="lowp_mat3x2_vec3_fragment" />
-<Test name="highp_mat3x2_mat2x3_fragment" />
-<Test name="lowp_vec2_mat2_vertex" />
-<Test name="mediump_mat4x2_mat4_fragment" />
-<Test name="mediump_vec2_mat2_vertex" />
-<Test name="lowp_mat4_mat2x4_vertex" />
-<Test name="highp_mat3x2_float_vertex" />
-<Test name="mediump_mat3x2_mat4x3_fragment" />
-<Test name="mediump_mat2_mat4x2_vertex" />
-<Test name="highp_mat3x2_float_fragment" />
-<Test name="highp_mat3x2_mat4x3_fragment" />
-<Test name="mediump_vec2_mat3x2_vertex" />
-<Test name="mediump_mat4_vec4_fragment" />
-<Test name="lowp_mat3x2_float_fragment" />
-<Test name="highp_mat4x3_mat2x4_vertex" />
-<Test name="lowp_mat3x4_vec3_fragment" />
-<Test name="lowp_mat2_mat4x2_fragment" />
-<Test name="lowp_vec4_mat3x4_vertex" />
-<Test name="mediump_mat3x2_mat2x3_vertex" />
-<Test name="highp_mat3x4_mat3_vertex" />
-<Test name="mediump_mat3x4_mat3_vertex" />
-<Test name="highp_vec3_mat2x3_vertex" />
-<Test name="mediump_mat2_mat4x2_fragment" />
-<Test name="highp_vec2_mat4x2_fragment" />
-<Test name="highp_vec2_mat4x2_vertex" />
-<Test name="highp_mat3_mat4x3_vertex" />
-<Test name="mediump_mat4x3_float_vertex" />
-<Test name="highp_mat3x2_mat3_fragment" />
-<Test name="highp_mat2_vec2_vertex" />
-<Test name="mediump_vec3_mat4x3_fragment" />
-<Test name="lowp_mat2x4_float_fragment" />
-<Test name="lowp_mat3x4_vec3_vertex" />
-<Test name="highp_mat4_mat4_fragment" />
-<Test name="highp_mat2x4_float_fragment" />
-<Test name="highp_mat4x2_mat3x4_vertex" />
-<Test name="lowp_mat2x3_mat4x2_vertex" />
-<Test name="lowp_mat4x2_mat2x4_fragment" />
-<Test name="highp_mat2x3_mat4x2_fragment" />
-<Test name="mediump_mat2x4_mat4x2_fragment" />
-<Test name="lowp_vec3_mat4x3_vertex" />
-<Test name="highp_mat4_vec4_vertex" />
-<Test name="highp_mat4x3_mat3x4_fragment" />
-<Test name="lowp_mat2x4_vec2_fragment" />
-<Test name="lowp_mat3_mat4x3_fragment" />
-<Test name="mediump_mat2x4_float_vertex" />
-<Test name="lowp_vec4_mat3x4_fragment" />
-<Test name="highp_mat2x4_mat3x2_fragment" />
-<Test name="highp_mat2x4_mat4x2_vertex" />
-<Test name="lowp_mat3_vec3_fragment" />
-<Test name="highp_mat2x3_mat2_fragment" />
-<Test name="mediump_mat3x2_vec3_fragment" />
-<Test name="highp_mat4x3_mat2x4_fragment" />
-<Test name="lowp_mat3x4_mat4x3_fragment" />
-<Test name="lowp_mat4x2_mat4_vertex" />
-<Test name="mediump_mat2x3_float_fragment" />
-<Test name="highp_mat2_mat2_vertex" />
-<Test name="highp_vec4_mat3x4_vertex" />
-<Test name="mediump_mat4_mat3x4_vertex" />
-<Test name="mediump_vec3_mat3_fragment" />
-<Test name="mediump_mat4_float_fragment" />
-<Test name="lowp_vec2_mat4x2_fragment" />
-<Test name="highp_mat2x3_vec2_vertex" />
-<Test name="mediump_mat3_mat4x3_vertex" />
-<Test name="highp_mat2_mat3x2_fragment" />
-<Test name="mediump_mat3x4_mat4x3_vertex" />
-<Test name="highp_mat2x3_mat3x2_vertex" />
-<Test name="highp_mat4x2_mat4_vertex" />
-<Test name="lowp_mat4_vec4_vertex" />
-<Test name="highp_vec4_mat4_fragment" />
-<Test name="lowp_mat2_vec2_vertex" />
-<Test name="lowp_mat4_mat3x4_fragment" />
-<Test name="mediump_mat3x4_mat4x3_fragment" />
-<Test name="highp_mat4x2_vec4_fragment" />
-<Test name="lowp_mat2x4_float_vertex" />
-<Test name="mediump_mat2x4_mat3x2_vertex" />
-<Test name="lowp_mat2x3_mat2_vertex" />
-<Test name="highp_mat3x4_mat2x3_fragment" />
-<Test name="lowp_mat4_mat4_fragment" />
-<Test name="mediump_mat3x4_vec3_fragment" />
-<Test name="lowp_vec3_mat2x3_fragment" />
-<Test name="highp_mat3_mat3_vertex" />
-<Test name="mediump_mat3x4_mat2x3_fragment" />
-<Test name="mediump_vec3_mat2x3_fragment" />
-<Test name="lowp_vec3_mat4x3_fragment" />
-<Test name="lowp_mat2x3_float_fragment" />
-<Test name="highp_mat3x2_vec3_fragment" />
-<Test name="mediump_mat3x2_float_vertex" />
-<Test name="highp_mat2x3_float_fragment" />
-<Test name="highp_mat4_mat3x4_fragment" />
-<Test name="highp_mat4_float_fragment" />
-<Test name="highp_vec2_mat2_fragment" />
-<Test name="mediump_vec4_mat3x4_fragment" />
-<Test name="lowp_mat3_mat3_vertex" />
-<Test name="highp_mat2x3_mat2_vertex" />
-<Test name="highp_vec4_mat2x4_vertex" />
-<Test name="mediump_mat4x3_vec4_fragment" />
-<Test name="mediump_mat2x3_vec2_fragment" />
-<Test name="mediump_vec3_mat3_vertex" />
-<Test name="highp_mat3x2_mat4x3_vertex" />
-<Test name="lowp_mat3x2_mat3_fragment" />
-<Test name="highp_mat3x4_mat2x3_vertex" />
-<Test name="highp_mat4x3_mat4_vertex" />
-<Test name="highp_mat4_float_vertex" />
-<Test name="highp_vec3_mat3_fragment" />
-<Test name="lowp_mat2x4_mat4x2_fragment" />
-<Test name="highp_mat4x2_mat2x4_vertex" />
-<Test name="mediump_mat3_float_vertex" />
-<Test name="mediump_mat4x2_mat3x4_vertex" />
-<Test name="lowp_mat2x4_vec2_vertex" />
-<Test name="highp_mat4_mat3x4_vertex" />
-<Test name="highp_mat4_mat4_vertex" />
-<Test name="mediump_vec4_mat4_fragment" />
-<Test name="lowp_mat4x3_vec4_vertex" />
-<Test name="highp_mat4x2_vec4_vertex" />
-<Test name="lowp_mat4_float_fragment" />
-<Test name="mediump_mat2x4_mat2_fragment" />
-<Test name="mediump_vec4_mat2x4_vertex" />
-<Test name="mediump_mat4_vec4_vertex" />
-<Test name="lowp_mat2_mat3x2_fragment" />
-<Test name="lowp_mat3x4_float_fragment" />
-<Test name="mediump_mat4_float_vertex" />
-<Test name="highp_vec2_mat3x2_vertex" />
-<Test name="mediump_mat3_mat2x3_vertex" />
-<Test name="highp_mat3x4_float_vertex" />
-<Test name="highp_mat4x2_float_fragment" />
-<Test name="highp_mat3_mat2x3_vertex" />
-<Test name="highp_mat3_float_vertex" />
-<Test name="highp_mat2_mat3x2_vertex" />
-<Test name="mediump_mat4x2_vec4_fragment" />
-<Test name="highp_mat2x4_vec2_vertex" />
-<Test name="highp_vec4_mat4_vertex" />
-<Test name="highp_mat3x4_vec3_vertex" />
-<Test name="lowp_mat4x3_float_vertex" />
-<Test name="highp_mat3x4_mat4x3_fragment" />
-<Test name="highp_mat4x2_float_vertex" />
-<Test name="mediump_mat3_mat2x3_fragment" />
-<Test name="highp_mat4x2_mat2x4_fragment" />
-<Test name="lowp_mat4x3_mat4_fragment" />
-<Test name="highp_mat2x4_mat3x2_vertex" />
-<Test name="highp_mat2_float_vertex" />
-<Test name="mediump_mat4x3_mat4_vertex" />
-<Test name="mediump_mat2x4_vec2_fragment" />
-<Test name="mediump_mat3x4_float_vertex" />
-<Test name="highp_vec4_mat2x4_fragment" />
-<Test name="mediump_mat2x4_vec2_vertex" />
-<Test name="highp_mat2x3_float_vertex" />
-<Test name="mediump_mat3x4_mat2x3_vertex" />
-<Test name="mediump_mat4x3_vec4_vertex" />
-<Test name="mediump_mat2x3_mat4x2_vertex" />
-<Test name="lowp_mat2x3_float_vertex" />
-<Test name="highp_mat3x4_float_fragment" />
-<Test name="mediump_mat3_float_fragment" />
-<Test name="highp_mat4x3_mat4_fragment" />
-<Test name="lowp_mat4_mat3x4_vertex" />
-<Test name="mediump_mat4_mat4_vertex" />
-<Test name="highp_mat4x3_float_fragment" />
-<Test name="mediump_vec3_mat4x3_vertex" />
-<Test name="mediump_mat4x3_float_fragment" />
-<Test name="lowp_mat3_mat4x3_vertex" />
-<Test name="highp_mat3_mat4x3_fragment" />
-<Test name="mediump_mat2_float_fragment" />
-<Test name="lowp_mat4x2_vec4_vertex" />
-<Test name="mediump_mat4x2_float_vertex" />
-<Test name="mediump_mat4x2_vec4_vertex" />
-<Test name="lowp_mat2x4_mat2_vertex" />
-<Test name="lowp_mat2x3_mat2_fragment" />
-<Test name="lowp_mat3x4_mat3_vertex" />
-<Test name="mediump_mat2x3_mat2_fragment" />
-<Test name="lowp_mat2_float_vertex" />
-<Test name="lowp_mat4x3_mat3x4_vertex" />
-<Test name="lowp_mat4x3_mat2x4_fragment" />
-<Test name="lowp_mat4x3_vec4_fragment" />
-<Test name="mediump_vec3_mat2x3_vertex" />
-<Test name="highp_mat2_mat4x2_vertex" />
-<Test name="mediump_mat4_mat3x4_fragment" />
-<Test name="mediump_mat2_vec2_vertex" />
-<Test name="lowp_mat4x3_mat2x4_vertex" />
-<Test name="lowp_mat3x2_mat4x3_fragment" />
-<Test name="highp_mat4x2_mat3x4_fragment" />
-<Test name="mediump_mat4x2_mat4_vertex" />
-<Test name="mediump_mat4_mat4_fragment" />
-<Test name="highp_mat3x2_vec3_vertex" />
-<Test name="mediump_mat2x3_mat3x2_fragment" />
-<Test name="lowp_mat2_mat4x2_vertex" />
-<Test name="highp_mat4x3_float_vertex" />
-<Test name="mediump_mat4x3_mat3x4_vertex" />
-<Test name="lowp_mat2x4_mat3x2_fragment" />
-<Test name="mediump_mat3_mat4x3_fragment" />
-<Test name="mediump_mat2_mat3x2_vertex" />
-<Test name="mediump_mat2x4_mat2_vertex" />
-<Test name="mediump_mat4x2_mat3x4_fragment" />
-<Test name="mediump_mat4x3_mat3x4_fragment" />
-<Test name="lowp_mat3x2_float_vertex" />
-<Test name="lowp_mat4x2_float_fragment" />
-<Test name="lowp_mat4x2_vec4_fragment" />
-<Test name="highp_mat4_mat2x4_fragment" />
-<Test name="lowp_mat4x3_mat3x4_fragment" />
-<Test name="highp_mat3_vec3_fragment" />
-<Test name="highp_mat2x3_mat4x2_vertex" />
-<Test name="mediump_mat2_vec2_fragment" />
-<Test name="mediump_mat3x2_mat2x3_fragment" />
-<Test name="lowp_mat3x2_mat4x3_vertex" />
-<Test name="mediump_mat2x3_float_vertex" />
-<Test name="mediump_mat2x4_mat3x2_fragment" />
-<Test name="mediump_vec4_mat2x4_fragment" />
-<Test name="highp_mat4_vec4_fragment" />
-<Test name="mediump_mat3x2_mat4x3_vertex" />
-<Test name="highp_mat2x4_float_vertex" />
-<Test name="lowp_mat4_mat4_vertex" />
-<Test name="lowp_mat3_vec3_vertex" />
-<Test name="lowp_mat4x2_mat3x4_vertex" />
-<Test name="mediump_mat3_vec3_vertex" />
-<Test name="mediump_mat2_mat3x2_fragment" />
-<Test name="highp_mat4x2_mat4_fragment" />
-<Test name="mediump_mat3_vec3_fragment" />
-<Test name="highp_mat2_mat2_fragment" />
-<Test name="mediump_mat3x4_float_fragment" />
-<Test name="highp_mat3x4_mat4x3_vertex" />
-<Test name="highp_mat3x4_vec3_fragment" />
-<Test name="mediump_mat2x3_mat3x2_vertex" />
-<Test name="mediump_vec2_mat3x2_fragment" />
-<Test name="mediump_mat2x3_mat2_vertex" />
-<Test name="lowp_vec3_mat3_vertex" />
-<Test name="mediump_vec4_mat4_vertex" />
-<Test name="highp_mat2x3_mat3x2_fragment" />
-<Test name="mediump_mat3x2_mat3_fragment" />
-<Test name="highp_mat3x2_mat3_vertex" />
-<Test name="highp_vec3_mat4x3_vertex" />
-<Test name="lowp_mat3_float_fragment" />
-<Test name="mediump_mat4x3_mat4_fragment" />
-<Test name="mediump_mat3x2_mat3_vertex" />
-<Test name="lowp_vec2_mat3x2_vertex" />
-<Test name="lowp_mat4x2_mat2x4_vertex" />
-<Test name="highp_mat3x4_mat3_fragment" />
-<Test name="lowp_mat4x3_mat4_vertex" />
-<Test name="mediump_mat4_mat2x4_fragment" />
-<Test name="lowp_mat2x3_mat4x2_fragment" />
-<Test name="lowp_vec2_mat4x2_vertex" />
-<Test name="lowp_mat3_mat2x3_fragment" />
-<Test name="mediump_mat4x3_mat2x4_vertex" />
-<Test name="lowp_mat3x4_mat2x3_fragment" />
-<Test name="mediump_mat3x2_vec3_vertex" />
-<Test name="lowp_mat2x4_mat2_fragment" />
-<Test name="highp_mat2x4_mat2_vertex" />
-<Test name="mediump_mat4x3_mat2x4_fragment" />
-<Test name="highp_mat2x4_mat4x2_fragment" />
-<Test name="mediump_mat3x2_float_fragment" />
-<Test name="lowp_mat2_mat2_vertex" />
-<Test name="mediump_mat4x2_mat2x4_fragment" />
-<Test name="highp_mat3x2_mat2x3_vertex" />
-<Test name="lowp_mat2x3_vec2_fragment" />
-<Test name="lowp_mat2x3_mat3x2_vertex" />
-<Test name="highp_vec2_mat2_vertex" />
-<Test name="lowp_mat3x4_mat2x3_vertex" />
-<Test name="highp_mat3_float_fragment" />
-<Test name="lowp_mat3x2_vec3_vertex" />
-<Test name="highp_mat3_vec3_vertex" />
-<Test name="highp_mat4x3_vec4_vertex" />
-<Test name="lowp_mat4x2_mat3x4_fragment" />
-<Test name="highp_mat4x3_vec4_fragment" />
-<Test name="highp_vec4_mat3x4_fragment" />
-<Test name="lowp_mat4_float_vertex" />
-<Test name="lowp_mat3_float_vertex" />
-<Test name="lowp_mat4x2_float_vertex" />
-<Test name="highp_mat2x3_vec2_fragment" />
-<Test name="highp_mat4_mat2x4_vertex" />
-<Test name="highp_mat2x4_vec2_fragment" />
-<Test name="lowp_mat3x4_mat3_fragment" />
-<Test name="lowp_mat2_float_fragment" />
-<Test name="mediump_mat2_mat2_vertex" />
-<Test name="lowp_mat2x4_mat3x2_vertex" />
+<TestCase name="builtin">
+<Test name="line_vertex" />
+<Test name="line_fragment" />
+<Test name="line_and_file_vertex" />
+<Test name="line_and_file_fragment" />
+<Test name="line_defined_1_vertex" />
+<Test name="line_defined_1_fragment" />
+<Test name="empty_line_vertex" />
+<Test name="empty_line_fragment" />
+<Test name="invalid_line_file_4_vertex" />
+<Test name="invalid_line_file_4_fragment" />
+</TestCase>
+<TestCase name="pragmas">
+<Test name="pragma_vertex" />
+<Test name="pragma_fragment" />
+<Test name="pragma_macro_exp_vertex" />
+<Test name="pragma_macro_exp_fragment" />
+</TestCase>
+<TestCase name="extensions">
+<Test name="basic_vertex" />
+<Test name="basic_fragment" />
+<Test name="macro_exp_vertex" />
+<Test name="macro_exp_fragment" />
+<Test name="missing_extension_name_vertex" />
+<Test name="missing_extension_name_fragment" />
+<Test name="invalid_extension_name_vertex" />
+<Test name="invalid_extension_name_fragment" />
+<Test name="missing_colon_vertex" />
+<Test name="missing_colon_fragment" />
+<Test name="expected_colon_vertex" />
+<Test name="expected_colon_fragment" />
+<Test name="missing_behavior_vertex" />
+<Test name="missing_behavior_fragment" />
+<Test name="invalid_behavior_1_vertex" />
+<Test name="invalid_behavior_1_fragment" />
+<Test name="invalid_behavior_2_vertex" />
+<Test name="invalid_behavior_2_fragment" />
+<Test name="invalid_char_in_name_vertex" />
+<Test name="invalid_char_in_name_fragment" />
+<Test name="invalid_char_in_behavior_vertex" />
+<Test name="invalid_char_in_behavior_fragment" />
+<Test name="unterminated_comment_vertex" />
+<Test name="unterminated_comment_fragment" />
+</TestCase>
+<TestCase name="expressions">
+<Test name="shift_left_vertex" />
+<Test name="shift_left_fragment" />
+<Test name="shift_right_vertex" />
+<Test name="shift_right_fragment" />
+<Test name="cmp_less_than_vertex" />
+<Test name="cmp_less_than_fragment" />
+<Test name="less_or_equal_vertex" />
+<Test name="less_or_equal_fragment" />
+<Test name="or_vertex" />
+<Test name="or_fragment" />
+<Test name="and_vertex" />
+<Test name="and_fragment" />
+<Test name="xor_vertex" />
+<Test name="xor_fragment" />
+<Test name="mod_vertex" />
+<Test name="mod_fragment" />
+<Test name="parenthesis_value_vertex" />
+<Test name="parenthesis_value_fragment" />
+<Test name="parenthesis_tricky_vertex" />
+<Test name="parenthesis_tricky_fragment" />
+<Test name="parenthesis_if_no_vertex" />
+<Test name="parenthesis_if_no_fragment" />
+<Test name="parenthesis_if_vertex" />
+<Test name="parenthesis_if_fragment" />
+<Test name="parenthesis_multi_if_vertex" />
+<Test name="parenthesis_multi_if_fragment" />
+<Test name="parenthesis_single_if_vertex" />
+<Test name="parenthesis_single_if_fragment" />
+<Test name="parenthesis_ifelse_true_vertex" />
+<Test name="parenthesis_ifelse_true_fragment" />
+<Test name="parenthesis_ifelse_false_vertex" />
+<Test name="parenthesis_ifelse_false_fragment" />
+<Test name="eval_basic_0_vertex" />
+<Test name="eval_basic_0_fragment" />
+<Test name="eval_basic_1_vertex" />
+<Test name="eval_basic_1_fragment" />
+<Test name="eval_simple_precedence_0_vertex" />
+<Test name="eval_simple_precedence_0_fragment" />
+<Test name="eval_simple_precedence_1_vertex" />
+<Test name="eval_simple_precedence_1_fragment" />
+<Test name="defined_1_vertex" />
+<Test name="defined_1_fragment" />
+<Test name="defined_2_vertex" />
+<Test name="defined_2_fragment" />
+<Test name="defined_3_vertex" />
+<Test name="defined_3_fragment" />
+<Test name="defined_4_vertex" />
+<Test name="defined_4_fragment" />
+<Test name="defined_5_vertex" />
+<Test name="defined_5_fragment" />
+<Test name="defined_6_vertex" />
+<Test name="defined_6_fragment" />
 </TestCase>
-<TestCase name="dynamic">
-<Test name="lowp_vec3_mat2x3_vertex" />
-<Test name="mediump_mat2x4_float_fragment" />
-<Test name="mediump_mat2_mat2_fragment" />
-<Test name="lowp_vec2_mat3x2_fragment" />
-<Test name="highp_mat2_vec2_fragment" />
-<Test name="mediump_mat4_mat2x4_vertex" />
-<Test name="mediump_vec2_mat2_fragment" />
-<Test name="highp_mat3_mat3_fragment" />
-<Test name="mediump_mat3_mat3_vertex" />
-<Test name="highp_vec3_mat3_vertex" />
-<Test name="lowp_mat4_vec4_fragment" />
-<Test name="lowp_mat3_mat2x3_vertex" />
-<Test name="highp_mat2_float_fragment" />
-<Test name="lowp_mat2_mat2_fragment" />
-<Test name="lowp_mat2_vec2_fragment" />
-<Test name="lowp_mat3x2_mat3_vertex" />
-<Test name="highp_mat4x3_mat3x4_vertex" />
-<Test name="mediump_vec2_mat4x2_fragment" />
-<Test name="highp_mat3_mat2x3_fragment" />
-<Test name="mediump_vec2_mat4x2_vertex" />
-<Test name="lowp_vec2_mat2_fragment" />
-<Test name="lowp_mat4_mat2x4_fragment" />
-<Test name="mediump_mat4x2_float_fragment" />
-<Test name="mediump_mat2x3_vec2_vertex" />
-<Test name="lowp_vec4_mat2x4_vertex" />
-<Test name="lowp_vec4_mat2x4_fragment" />
-<Test name="lowp_mat3x4_mat3_vertex" />
-<Test name="lowp_mat4x3_mat2x4_fragment" />
-<Test name="highp_mat2_mat4x2_fragment" />
-<Test name="lowp_mat3x2_mat2x3_fragment" />
-<Test name="lowp_vec4_mat4_fragment" />
-<Test name="highp_vec3_mat4x3_fragment" />
-<Test name="lowp_mat3x2_mat2x3_vertex" />
-<Test name="highp_mat2x4_mat2_fragment" />
-<Test name="mediump_mat3_mat3_fragment" />
-<Test name="mediump_mat4x2_mat2x4_vertex" />
-<Test name="mediump_vec4_mat3x4_vertex" />
-<Test name="lowp_vec3_mat3_fragment" />
-<Test name="highp_vec3_mat2x3_fragment" />
-<Test name="lowp_mat2x3_vec2_vertex" />
-<Test name="mediump_mat3x4_mat3_fragment" />
-<Test name="lowp_vec4_mat4_vertex" />
-<Test name="highp_vec2_mat3x2_fragment" />
-<Test name="lowp_mat3x4_float_vertex" />
-<Test name="mediump_mat3x4_vec3_vertex" />
-<Test name="lowp_mat4x3_float_fragment" />
-<Test name="lowp_mat3_mat3_fragment" />
-<Test name="lowp_mat3x2_vec3_fragment" />
-<Test name="highp_mat3x2_mat2x3_fragment" />
-<Test name="lowp_vec2_mat2_vertex" />
-<Test name="mediump_mat4x2_mat4_fragment" />
-<Test name="lowp_mat4_mat2x4_vertex" />
-<Test name="highp_mat3x2_float_vertex" />
-<Test name="mediump_mat2_mat4x2_vertex" />
-<Test name="highp_mat3x2_float_fragment" />
-<Test name="mediump_vec2_mat3x2_vertex" />
-<Test name="mediump_mat4_vec4_fragment" />
-<Test name="lowp_mat3x2_float_fragment" />
-<Test name="highp_mat4x3_mat2x4_vertex" />
-<Test name="lowp_mat3x4_vec3_fragment" />
-<Test name="lowp_mat2_mat4x2_fragment" />
-<Test name="lowp_vec4_mat3x4_vertex" />
-<Test name="mediump_mat3x2_mat2x3_vertex" />
-<Test name="highp_mat3x4_mat3_vertex" />
-<Test name="mediump_mat3x4_mat3_vertex" />
-<Test name="highp_vec3_mat2x3_vertex" />
-<Test name="mediump_mat2_mat4x2_fragment" />
-<Test name="highp_vec2_mat4x2_fragment" />
-<Test name="highp_vec2_mat4x2_vertex" />
-<Test name="mediump_vec3_mat4x3_vertex" />
-<Test name="mediump_mat4x3_float_vertex" />
-<Test name="highp_mat3x2_mat3_fragment" />
-<Test name="highp_mat2_vec2_vertex" />
-<Test name="mediump_vec3_mat4x3_fragment" />
-<Test name="lowp_mat2x4_float_fragment" />
-<Test name="lowp_mat3x4_vec3_vertex" />
-<Test name="highp_mat4_mat4_fragment" />
-<Test name="highp_mat2x4_float_fragment" />
-<Test name="highp_mat4x2_mat3x4_vertex" />
-<Test name="lowp_mat4x2_mat2x4_fragment" />
-<Test name="lowp_vec3_mat4x3_vertex" />
-<Test name="highp_mat4_vec4_vertex" />
-<Test name="highp_mat3_vec3_vertex" />
-<Test name="highp_mat4_mat2x4_vertex" />
-<Test name="lowp_vec4_mat3x4_fragment" />
-<Test name="highp_mat2x3_mat2_vertex" />
-<Test name="lowp_mat3_vec3_fragment" />
-<Test name="highp_mat2x3_mat2_fragment" />
-<Test name="mediump_mat3x2_vec3_fragment" />
-<Test name="highp_mat4x3_mat2x4_fragment" />
-<Test name="lowp_mat4x2_mat4_vertex" />
-<Test name="mediump_mat2x3_float_fragment" />
-<Test name="highp_mat2_mat2_vertex" />
-<Test name="highp_vec4_mat3x4_vertex" />
-<Test name="mediump_mat4_mat3x4_vertex" />
-<Test name="mediump_vec3_mat3_fragment" />
-<Test name="mediump_mat4_float_fragment" />
-<Test name="lowp_vec2_mat4x2_fragment" />
-<Test name="highp_mat2x3_vec2_vertex" />
-<Test name="lowp_mat2x4_vec2_vertex" />
-<Test name="highp_mat4x2_mat4_vertex" />
-<Test name="lowp_mat4_vec4_vertex" />
-<Test name="highp_vec4_mat4_fragment" />
-<Test name="lowp_mat4_mat3x4_fragment" />
-<Test name="highp_mat4x2_vec4_fragment" />
-<Test name="lowp_mat2x4_float_vertex" />
-<Test name="lowp_mat2x3_mat2_vertex" />
-<Test name="highp_mat3x4_mat2x3_fragment" />
-<Test name="lowp_mat4_mat4_fragment" />
-<Test name="mediump_mat3x4_vec3_fragment" />
-<Test name="lowp_vec3_mat2x3_fragment" />
-<Test name="highp_mat3_mat3_vertex" />
-<Test name="mediump_mat3x4_mat2x3_fragment" />
-<Test name="mediump_vec3_mat2x3_fragment" />
-<Test name="lowp_mat2x3_float_fragment" />
-<Test name="highp_mat3x2_vec3_fragment" />
-<Test name="mediump_mat3x2_float_vertex" />
-<Test name="highp_mat2x3_float_fragment" />
-<Test name="highp_mat4_mat3x4_fragment" />
-<Test name="highp_mat4_float_fragment" />
-<Test name="highp_vec2_mat2_fragment" />
-<Test name="mediump_vec4_mat3x4_fragment" />
-<Test name="lowp_mat3_mat3_vertex" />
-<Test name="lowp_mat4x2_float_fragment" />
-<Test name="highp_vec4_mat2x4_vertex" />
-<Test name="mediump_mat2x3_vec2_fragment" />
-<Test name="mediump_vec3_mat3_vertex" />
-<Test name="lowp_mat2x3_mat2_fragment" />
-<Test name="lowp_mat3x2_mat3_fragment" />
-<Test name="highp_mat3x4_mat2x3_vertex" />
-<Test name="highp_mat4x3_mat4_vertex" />
-<Test name="highp_mat4_float_vertex" />
-<Test name="highp_vec3_mat3_fragment" />
-<Test name="highp_mat4x2_mat2x4_vertex" />
-<Test name="mediump_mat3_float_vertex" />
-<Test name="mediump_mat4x2_mat3x4_vertex" />
-<Test name="highp_mat4x2_vec4_vertex" />
-<Test name="highp_mat4_mat3x4_vertex" />
-<Test name="highp_mat4_mat4_vertex" />
-<Test name="mediump_vec4_mat4_fragment" />
-<Test name="lowp_mat4x3_vec4_vertex" />
-<Test name="lowp_mat4_float_fragment" />
-<Test name="mediump_mat2x4_mat2_fragment" />
-<Test name="mediump_vec4_mat2x4_vertex" />
-<Test name="mediump_mat4_vec4_vertex" />
-<Test name="lowp_mat3x4_float_fragment" />
-<Test name="mediump_mat4_float_vertex" />
-<Test name="highp_vec2_mat3x2_vertex" />
-<Test name="highp_mat3x4_float_vertex" />
-<Test name="highp_mat4x2_float_fragment" />
-<Test name="highp_mat3_mat2x3_vertex" />
-<Test name="highp_mat3_float_vertex" />
-<Test name="mediump_mat4x2_vec4_fragment" />
-<Test name="highp_mat2x4_vec2_vertex" />
-<Test name="highp_vec4_mat4_vertex" />
-<Test name="highp_mat3x4_vec3_vertex" />
-<Test name="lowp_mat4x3_float_vertex" />
-<Test name="mediump_mat2_float_vertex" />
-<Test name="highp_mat4x2_float_vertex" />
-<Test name="mediump_mat3_mat2x3_fragment" />
-<Test name="highp_mat4x2_mat2x4_fragment" />
-<Test name="lowp_mat4x3_mat4_fragment" />
-<Test name="lowp_mat2_vec2_vertex" />
-<Test name="highp_mat2_float_vertex" />
-<Test name="mediump_mat4x3_mat4_vertex" />
-<Test name="mediump_mat2x4_vec2_fragment" />
-<Test name="mediump_mat3x4_float_vertex" />
-<Test name="highp_vec4_mat2x4_fragment" />
-<Test name="mediump_mat2x4_vec2_vertex" />
-<Test name="highp_mat2x3_float_vertex" />
-<Test name="mediump_mat3x4_mat2x3_vertex" />
-<Test name="mediump_mat4x3_vec4_vertex" />
-<Test name="highp_mat3x4_mat3_fragment" />
-<Test name="lowp_mat2x3_float_vertex" />
-<Test name="highp_mat3x4_float_fragment" />
-<Test name="mediump_mat3_float_fragment" />
-<Test name="highp_mat4x3_mat4_fragment" />
-<Test name="lowp_mat4_mat3x4_vertex" />
-<Test name="mediump_mat4_mat4_vertex" />
-<Test name="highp_mat4x3_float_fragment" />
-<Test name="lowp_mat4x2_mat4_fragment" />
-<Test name="mediump_mat4x3_float_fragment" />
-<Test name="mediump_mat2_float_fragment" />
-<Test name="lowp_mat4x2_vec4_vertex" />
-<Test name="mediump_mat4x2_float_vertex" />
-<Test name="mediump_mat4x2_vec4_vertex" />
-<Test name="mediump_vec2_mat2_vertex" />
-<Test name="mediump_mat3x2_mat3_fragment" />
-<Test name="mediump_mat2x3_mat2_fragment" />
-<Test name="lowp_mat4x3_mat3x4_vertex" />
-<Test name="lowp_mat2_float_vertex" />
-<Test name="lowp_mat4x3_vec4_fragment" />
-<Test name="mediump_vec3_mat2x3_vertex" />
-<Test name="highp_mat2_mat4x2_vertex" />
-<Test name="mediump_mat4_mat3x4_fragment" />
-<Test name="mediump_mat2_vec2_vertex" />
-<Test name="lowp_mat4x3_mat2x4_vertex" />
-<Test name="mediump_mat4x3_vec4_fragment" />
-<Test name="highp_mat4x2_mat3x4_fragment" />
-<Test name="mediump_mat4x2_mat4_vertex" />
-<Test name="mediump_mat4_mat4_fragment" />
-<Test name="highp_mat3x2_vec3_vertex" />
-<Test name="lowp_mat2_mat4x2_vertex" />
-<Test name="highp_mat4x3_float_vertex" />
-<Test name="mediump_mat4x3_mat3x4_vertex" />
-<Test name="lowp_vec3_mat4x3_fragment" />
-<Test name="lowp_mat2x4_vec2_fragment" />
-<Test name="mediump_mat2x4_mat2_vertex" />
-<Test name="mediump_mat4x2_mat3x4_fragment" />
-<Test name="mediump_mat4x3_mat3x4_fragment" />
-<Test name="lowp_mat3x2_float_vertex" />
-<Test name="lowp_mat4x2_vec4_fragment" />
-<Test name="highp_mat4_mat2x4_fragment" />
-<Test name="lowp_mat4x3_mat3x4_fragment" />
-<Test name="highp_mat3_vec3_fragment" />
-<Test name="highp_mat4x2_mat4_fragment" />
-<Test name="mediump_mat2_vec2_fragment" />
-<Test name="mediump_mat3x2_mat2x3_fragment" />
-<Test name="mediump_mat2x3_float_vertex" />
-<Test name="mediump_mat4x3_mat2x4_fragment" />
-<Test name="mediump_vec4_mat2x4_fragment" />
-<Test name="highp_mat4_vec4_fragment" />
-<Test name="highp_mat2x4_float_vertex" />
-<Test name="lowp_mat4_mat4_vertex" />
-<Test name="lowp_mat3_vec3_vertex" />
-<Test name="lowp_mat4x2_mat3x4_vertex" />
-<Test name="mediump_mat3_vec3_vertex" />
-<Test name="mediump_mat3_vec3_fragment" />
-<Test name="highp_mat2_mat2_fragment" />
-<Test name="mediump_mat3x4_float_fragment" />
-<Test name="highp_mat3x4_vec3_fragment" />
-<Test name="mediump_vec2_mat3x2_fragment" />
-<Test name="mediump_mat2x3_mat2_vertex" />
-<Test name="lowp_vec3_mat3_vertex" />
-<Test name="mediump_vec4_mat4_vertex" />
-<Test name="highp_mat3x2_mat3_vertex" />
-<Test name="highp_vec3_mat4x3_vertex" />
-<Test name="lowp_mat3_float_fragment" />
-<Test name="mediump_mat4x3_mat4_fragment" />
-<Test name="mediump_mat3x2_mat3_vertex" />
-<Test name="lowp_vec2_mat3x2_vertex" />
-<Test name="lowp_mat4x2_mat2x4_vertex" />
-<Test name="lowp_mat4x3_mat4_vertex" />
-<Test name="mediump_mat4_mat2x4_fragment" />
-<Test name="mediump_mat3_mat2x3_vertex" />
-<Test name="lowp_vec2_mat4x2_vertex" />
-<Test name="lowp_mat3_mat2x3_fragment" />
-<Test name="mediump_mat4x3_mat2x4_vertex" />
-<Test name="lowp_mat3x4_mat2x3_fragment" />
-<Test name="mediump_mat3x2_vec3_vertex" />
-<Test name="lowp_mat2x4_mat2_fragment" />
-<Test name="highp_mat2x4_mat2_vertex" />
-<Test name="mediump_mat3x2_float_fragment" />
-<Test name="lowp_mat2_mat2_vertex" />
-<Test name="mediump_mat4x2_mat2x4_fragment" />
-<Test name="highp_mat3x2_mat2x3_vertex" />
-<Test name="lowp_mat2x3_vec2_fragment" />
-<Test name="lowp_mat2x4_mat2_vertex" />
-<Test name="highp_vec2_mat2_vertex" />
-<Test name="lowp_mat3x4_mat2x3_vertex" />
-<Test name="highp_mat3_float_fragment" />
-<Test name="lowp_mat3x2_vec3_vertex" />
-<Test name="highp_mat4x3_mat3x4_fragment" />
-<Test name="highp_mat4x3_vec4_vertex" />
-<Test name="lowp_mat4x2_mat3x4_fragment" />
-<Test name="highp_mat4x3_vec4_fragment" />
-<Test name="highp_vec4_mat3x4_fragment" />
-<Test name="lowp_mat4_float_vertex" />
-<Test name="lowp_mat3_float_vertex" />
-<Test name="lowp_mat4x2_float_vertex" />
-<Test name="highp_mat2x3_vec2_fragment" />
-<Test name="highp_mat2x4_vec2_fragment" />
-<Test name="lowp_mat3x4_mat3_fragment" />
-<Test name="lowp_mat2_float_fragment" />
-<Test name="mediump_mat2_mat2_vertex" />
-<Test name="mediump_mat2x4_float_vertex" />
+<TestCase name="invalid_expressions">
+<Test name="invalid_unary_expr_vertex" />
+<Test name="invalid_unary_expr_fragment" />
+<Test name="invalid_binary_expr_vertex" />
+<Test name="invalid_binary_expr_fragment" />
+<Test name="missing_expr_vertex" />
+<Test name="missing_expr_fragment" />
+<Test name="invalid_expr_1_vertex" />
+<Test name="invalid_expr_1_fragment" />
+<Test name="invalid_expr_2_vertex" />
+<Test name="invalid_expr_2_fragment" />
+<Test name="invalid_expr_3_vertex" />
+<Test name="invalid_expr_3_fragment" />
+<Test name="unopened_parenthesis_vertex" />
+<Test name="unopened_parenthesis_fragment" />
+<Test name="unclosed_parenthesis_vertex" />
+<Test name="unclosed_parenthesis_fragment" />
+</TestCase>
+<TestCase name="operator_precedence">
+<Test name="modulo_vs_not_vertex" />
+<Test name="modulo_vs_not_fragment" />
+<Test name="div_vs_not_vertex" />
+<Test name="div_vs_not_fragment" />
+<Test name="mul_vs_not_vertex" />
+<Test name="mul_vs_not_fragment" />
+<Test name="modulo_vs_bit_invert_vertex" />
+<Test name="modulo_vs_bit_invert_fragment" />
+<Test name="modulo_vs_minus_vertex" />
+<Test name="modulo_vs_minus_fragment" />
+<Test name="modulo_vs_plus_vertex" />
+<Test name="modulo_vs_plus_fragment" />
+<Test name="div_vs_bit_invert_vertex" />
+<Test name="div_vs_bit_invert_fragment" />
+<Test name="div_vs_minus_vertex" />
+<Test name="div_vs_minus_fragment" />
+<Test name="div_vs_plus_vertex" />
+<Test name="div_vs_plus_fragment" />
+<Test name="mul_vs_bit_invert_vertex" />
+<Test name="mul_vs_bit_invert_fragment" />
+<Test name="mul_vs_minus_vertex" />
+<Test name="mul_vs_minus_fragment" />
+<Test name="mul_vs_plus_vertex" />
+<Test name="mul_vs_plus_fragment" />
+<Test name="sub_vs_modulo_vertex" />
+<Test name="sub_vs_modulo_fragment" />
+<Test name="sub_vs_div_vertex" />
+<Test name="sub_vs_div_fragment" />
+<Test name="sub_vs_mul_vertex" />
+<Test name="sub_vs_mul_fragment" />
+<Test name="add_vs_modulo_vertex" />
+<Test name="add_vs_modulo_fragment" />
+<Test name="add_vs_div_vertex" />
+<Test name="add_vs_div_fragment" />
+<Test name="add_vs_mul_vertex" />
+<Test name="add_vs_mul_fragment" />
+<Test name="rshift_vs_sub_vertex" />
+<Test name="rshift_vs_sub_fragment" />
+<Test name="rshift_vs_add_vertex" />
+<Test name="rshift_vs_add_fragment" />
+<Test name="lshift_vs_sub_vertex" />
+<Test name="lshift_vs_sub_fragment" />
+<Test name="lshift_vs_add_vertex" />
+<Test name="lshift_vs_add_fragment" />
+<Test name="greater_or_equal_vs_rshift_vertex" />
+<Test name="greater_or_equal_vs_rshift_fragment" />
+<Test name="greater_or_equal_vs_lshift_vertex" />
+<Test name="greater_or_equal_vs_lshift_fragment" />
+<Test name="less_or_equal_vs_rshift_vertex" />
+<Test name="less_or_equal_vs_rshift_fragment" />
+<Test name="less_or_equal_vs_lshift_vertex" />
+<Test name="less_or_equal_vs_lshift_fragment" />
+<Test name="greater_vs_rshift_vertex" />
+<Test name="greater_vs_rshift_fragment" />
+<Test name="greater_vs_lshift_vertex" />
+<Test name="greater_vs_lshift_fragment" />
+<Test name="less_vs_rshift_vertex" />
+<Test name="less_vs_rshift_fragment" />
+<Test name="less_vs_lshift_vertex" />
+<Test name="less_vs_lshift_fragment" />
+<Test name="not_equal_vs_greater_or_equal_vertex" />
+<Test name="not_equal_vs_greater_or_equal_fragment" />
+<Test name="not_equal_vs_less_or_equal_vertex" />
+<Test name="not_equal_vs_less_or_equal_fragment" />
+<Test name="not_equal_vs_greater_vertex" />
+<Test name="not_equal_vs_greater_fragment" />
+<Test name="not_equal_vs_less_vertex" />
+<Test name="not_equal_vs_less_fragment" />
+<Test name="equal_vs_greater_or_equal_vertex" />
+<Test name="equal_vs_greater_or_equal_fragment" />
+<Test name="equal_vs_less_or_equal_vertex" />
+<Test name="equal_vs_less_or_equal_fragment" />
+<Test name="equal_vs_greater_vertex" />
+<Test name="equal_vs_greater_fragment" />
+<Test name="equal_vs_less_vertex" />
+<Test name="equal_vs_less_fragment" />
+<Test name="bitwise_and_vs_not_equal_vertex" />
+<Test name="bitwise_and_vs_not_equal_fragment" />
+<Test name="bitwise_and_vs_equal_vertex" />
+<Test name="bitwise_and_vs_equal_fragment" />
+<Test name="xor_vs_bitwise_and_vertex" />
+<Test name="xor_vs_bitwise_and_fragment" />
+<Test name="bitwise_or_vs_xor_vertex" />
+<Test name="bitwise_or_vs_xor_fragment" />
+<Test name="logical_and_vs_bitwise_or_vertex" />
+<Test name="logical_and_vs_bitwise_or_fragment" />
+<Test name="logical_and_vs_bitwise_and_vertex" />
+<Test name="logical_and_vs_bitwise_and_fragment" />
+<Test name="logical_or_vs_logical_and_vertex" />
+<Test name="logical_or_vs_logical_and_fragment" />
+</TestCase>
+</TestSuite>
+<TestCase name="constants">
+<Test name="float_input_vertex" />
+<Test name="float_input_fragment" />
+<Test name="float_uniform_vertex" />
+<Test name="float_uniform_fragment" />
+<Test name="float_0_vertex" />
+<Test name="float_0_fragment" />
+<Test name="float_1_vertex" />
+<Test name="float_1_fragment" />
+<Test name="float_2_vertex" />
+<Test name="float_2_fragment" />
+<Test name="float_3_vertex" />
+<Test name="float_3_fragment" />
+<Test name="float_4_vertex" />
+<Test name="float_4_fragment" />
+<Test name="float_5_vertex" />
+<Test name="float_5_fragment" />
+<Test name="float_6_vertex" />
+<Test name="float_6_fragment" />
+<Test name="float_7_vertex" />
+<Test name="float_7_fragment" />
+<Test name="float_8_vertex" />
+<Test name="float_8_fragment" />
+<Test name="float_f_suffix_0_vertex" />
+<Test name="float_f_suffix_0_fragment" />
+<Test name="float_f_suffix_1_vertex" />
+<Test name="float_f_suffix_1_fragment" />
+<Test name="int_0_vertex" />
+<Test name="int_0_fragment" />
+<Test name="int_1_vertex" />
+<Test name="int_1_fragment" />
+<Test name="int_2_vertex" />
+<Test name="int_2_fragment" />
+<Test name="int_3_vertex" />
+<Test name="int_3_fragment" />
+<Test name="int_4_vertex" />
+<Test name="int_4_fragment" />
+<Test name="bool_0_vertex" />
+<Test name="bool_0_fragment" />
+<Test name="bool_1_vertex" />
+<Test name="bool_1_fragment" />
+<Test name="const_float_global_vertex" />
+<Test name="const_float_global_fragment" />
+<Test name="const_float_main_vertex" />
+<Test name="const_float_main_fragment" />
+<Test name="const_float_function_vertex" />
+<Test name="const_float_function_fragment" />
+<Test name="const_float_scope_vertex" />
+<Test name="const_float_scope_fragment" />
+<Test name="const_float_scope_shawdowing_1_vertex" />
+<Test name="const_float_scope_shawdowing_1_fragment" />
+<Test name="const_float_scope_shawdowing_2_vertex" />
+<Test name="const_float_scope_shawdowing_2_fragment" />
+<Test name="const_float_scope_shawdowing_3_vertex" />
+<Test name="const_float_scope_shawdowing_3_fragment" />
+<Test name="const_float_scope_shawdowing_4_vertex" />
+<Test name="const_float_scope_shawdowing_4_fragment" />
+<Test name="const_float_operations_with_const_vertex" />
+<Test name="const_float_operations_with_const_fragment" />
+<Test name="const_float_assignment_1_vertex" />
+<Test name="const_float_assignment_1_fragment" />
+<Test name="const_float_assignment_2_vertex" />
+<Test name="const_float_assignment_2_fragment" />
+<Test name="const_float_assignment_3_vertex" />
+<Test name="const_float_assignment_3_fragment" />
+<Test name="const_float_assignment_4_vertex" />
+<Test name="const_float_assignment_4_fragment" />
+<Test name="const_float_assign_uniform_vertex" />
+<Test name="const_float_assign_uniform_fragment" />
+<Test name="const_float_assign_varying" />
+<Test name="const_float_from_int_vertex" />
+<Test name="const_float_from_int_fragment" />
+<Test name="const_float_from_vec2_vertex" />
+<Test name="const_float_from_vec2_fragment" />
+<Test name="const_float_from_vec3_vertex" />
+<Test name="const_float_from_vec3_fragment" />
+<Test name="const_float_from_vec4_vertex" />
+<Test name="const_float_from_vec4_fragment" />
+<Test name="const_float_assign_variable_1_vertex" />
+<Test name="const_float_assign_variable_1_fragment" />
+<Test name="const_float_assign_variable_2_vertex" />
+<Test name="const_float_assign_variable_2_fragment" />
+<Test name="const_float_assign_user_func_vertex" />
+<Test name="const_float_assign_user_func_fragment" />
+<Test name="int_decimal_vertex" />
+<Test name="int_decimal_fragment" />
+<Test name="int_octal_vertex" />
+<Test name="int_octal_fragment" />
+<Test name="int_hexadecimal_0_vertex" />
+<Test name="int_hexadecimal_0_fragment" />
+<Test name="int_hexadecimal_1_vertex" />
+<Test name="int_hexadecimal_1_fragment" />
+<Test name="uint_decimal_0_vertex" />
+<Test name="uint_decimal_0_fragment" />
+<Test name="uint_decimal_1_vertex" />
+<Test name="uint_decimal_1_fragment" />
+<Test name="uint_octal_0_vertex" />
+<Test name="uint_octal_0_fragment" />
+<Test name="uint_octal_1_vertex" />
+<Test name="uint_octal_1_fragment" />
+<Test name="uint_hexadecimal_0_vertex" />
+<Test name="uint_hexadecimal_0_fragment" />
+<Test name="uint_hexadecimal_1_vertex" />
+<Test name="uint_hexadecimal_1_fragment" />
+<Test name="int_from_uint_vertex" />
+<Test name="int_from_uint_fragment" />
+<Test name="uint_from_int_vertex" />
+<Test name="uint_from_int_fragment" />
+<Test name="int_from_float_vertex" />
+<Test name="int_from_float_fragment" />
+<Test name="uint_from_float_vertex" />
+<Test name="uint_from_float_fragment" />
+<Test name="bool_from_int_vertex" />
+<Test name="bool_from_int_fragment" />
+<Test name="bool_from_uint_vertex" />
+<Test name="bool_from_uint_fragment" />
+<Test name="bool_from_float_vertex" />
+<Test name="bool_from_float_fragment" />
+<Test name="invalid_octal_0_vertex" />
+<Test name="invalid_octal_0_fragment" />
+<Test name="invalid_hexadecimal_0_vertex" />
+<Test name="invalid_hexadecimal_0_fragment" />
+<Test name="invalid_hexadecimal_1_vertex" />
+<Test name="invalid_hexadecimal_1_fragment" />
 </TestCase>
-<TestCase name="uniform">
-<Test name="lowp_vec3_mat2x3_vertex" />
-<Test name="mediump_mat2x4_float_fragment" />
-<Test name="mediump_mat2_mat2_fragment" />
-<Test name="lowp_vec2_mat3x2_fragment" />
-<Test name="highp_mat2_vec2_fragment" />
-<Test name="mediump_mat4_mat2x4_vertex" />
-<Test name="mediump_vec2_mat2_fragment" />
-<Test name="highp_mat3_mat3_fragment" />
-<Test name="mediump_mat3_mat3_vertex" />
-<Test name="highp_vec3_mat3_vertex" />
-<Test name="lowp_mat4_vec4_fragment" />
-<Test name="lowp_mat3_mat2x3_vertex" />
-<Test name="highp_mat2_float_fragment" />
-<Test name="lowp_mat2_mat2_fragment" />
-<Test name="lowp_mat2_vec2_fragment" />
-<Test name="lowp_mat3x2_mat3_vertex" />
-<Test name="highp_mat4x3_mat3x4_vertex" />
-<Test name="mediump_vec2_mat4x2_fragment" />
-<Test name="highp_mat3_mat2x3_fragment" />
-<Test name="mediump_vec2_mat4x2_vertex" />
-<Test name="lowp_vec2_mat2_fragment" />
-<Test name="lowp_mat4_mat2x4_fragment" />
-<Test name="mediump_mat4x2_float_fragment" />
-<Test name="mediump_mat2x3_vec2_vertex" />
-<Test name="lowp_vec4_mat2x4_vertex" />
-<Test name="lowp_vec4_mat2x4_fragment" />
-<Test name="lowp_mat3x4_mat3_vertex" />
-<Test name="lowp_mat4x3_mat2x4_fragment" />
-<Test name="mediump_mat4x3_vec4_fragment" />
-<Test name="lowp_mat2x3_mat3x2_fragment" />
-<Test name="lowp_mat3x2_mat2x3_fragment" />
-<Test name="lowp_vec4_mat4_fragment" />
-<Test name="highp_vec3_mat4x3_fragment" />
-<Test name="lowp_mat3x2_mat2x3_vertex" />
-<Test name="highp_mat2x4_mat2_fragment" />
-<Test name="mediump_mat3_mat3_fragment" />
-<Test name="mediump_mat4x2_mat2x4_vertex" />
-<Test name="mediump_vec4_mat3x4_vertex" />
-<Test name="lowp_vec3_mat3_fragment" />
-<Test name="highp_vec3_mat2x3_fragment" />
-<Test name="lowp_mat2x3_vec2_vertex" />
-<Test name="mediump_mat3x4_mat3_fragment" />
-<Test name="lowp_vec4_mat4_vertex" />
-<Test name="highp_vec2_mat3x2_fragment" />
-<Test name="lowp_mat3x4_float_vertex" />
-<Test name="mediump_mat3x4_vec3_vertex" />
-<Test name="lowp_mat4x3_float_fragment" />
-<Test name="lowp_mat3_mat3_fragment" />
-<Test name="lowp_mat3x2_vec3_fragment" />
-<Test name="highp_mat3x2_mat2x3_fragment" />
-<Test name="lowp_vec2_mat2_vertex" />
-<Test name="mediump_mat4x2_mat4_fragment" />
-<Test name="mediump_vec2_mat2_vertex" />
-<Test name="lowp_mat4_mat2x4_vertex" />
-<Test name="highp_mat3x2_float_vertex" />
-<Test name="mediump_mat3x2_mat4x3_fragment" />
-<Test name="highp_mat3x2_float_fragment" />
-<Test name="mediump_vec2_mat3x2_vertex" />
-<Test name="mediump_mat4_vec4_fragment" />
-<Test name="lowp_mat3x2_float_fragment" />
-<Test name="highp_mat4x3_mat2x4_vertex" />
-<Test name="lowp_mat3x4_vec3_fragment" />
-<Test name="mediump_mat3x4_vec3_fragment" />
-<Test name="lowp_vec4_mat3x4_vertex" />
-<Test name="mediump_mat3x2_mat2x3_vertex" />
-<Test name="highp_mat3x4_mat3_vertex" />
-<Test name="mediump_mat3x4_mat3_vertex" />
-<Test name="highp_vec3_mat2x3_vertex" />
-<Test name="highp_vec2_mat4x2_fragment" />
-<Test name="highp_vec2_mat4x2_vertex" />
-<Test name="mediump_vec3_mat4x3_vertex" />
-<Test name="mediump_mat4x3_float_vertex" />
-<Test name="highp_mat3x2_mat3_fragment" />
-<Test name="highp_mat2_vec2_vertex" />
-<Test name="mediump_vec3_mat4x3_fragment" />
-<Test name="lowp_mat2x4_float_fragment" />
-<Test name="lowp_mat3x4_vec3_vertex" />
-<Test name="highp_mat4_mat4_fragment" />
-<Test name="highp_mat2x4_float_fragment" />
-<Test name="highp_mat4x2_mat3x4_vertex" />
-<Test name="lowp_mat4x2_mat2x4_fragment" />
-<Test name="lowp_vec3_mat4x3_vertex" />
-<Test name="highp_mat4_vec4_vertex" />
-<Test name="highp_mat3_vec3_vertex" />
-<Test name="mediump_mat2x3_mat3x2_vertex" />
-<Test name="lowp_vec4_mat3x4_fragment" />
-<Test name="highp_mat2x3_mat2_vertex" />
-<Test name="lowp_mat3_vec3_fragment" />
-<Test name="highp_mat2x3_mat2_fragment" />
-<Test name="mediump_mat3x2_vec3_fragment" />
-<Test name="highp_mat4x3_mat2x4_fragment" />
-<Test name="lowp_mat4x2_mat4_vertex" />
-<Test name="mediump_mat2x3_float_fragment" />
-<Test name="highp_mat2_mat2_vertex" />
-<Test name="highp_vec4_mat3x4_vertex" />
-<Test name="mediump_mat4_mat3x4_vertex" />
-<Test name="mediump_vec3_mat3_fragment" />
-<Test name="mediump_mat4_float_fragment" />
-<Test name="lowp_vec2_mat4x2_fragment" />
-<Test name="highp_mat2x3_vec2_vertex" />
-<Test name="lowp_mat2x4_vec2_vertex" />
-<Test name="highp_mat2x3_mat3x2_vertex" />
-<Test name="highp_mat4x2_mat4_vertex" />
-<Test name="lowp_mat4_vec4_vertex" />
-<Test name="highp_vec4_mat4_fragment" />
-<Test name="lowp_mat4_mat3x4_fragment" />
-<Test name="highp_mat4x2_vec4_fragment" />
-<Test name="lowp_mat2x4_float_vertex" />
-<Test name="lowp_mat2x3_mat2_vertex" />
-<Test name="highp_mat3x4_mat2x3_fragment" />
-<Test name="lowp_mat4_mat4_fragment" />
-<Test name="lowp_vec3_mat2x3_fragment" />
-<Test name="highp_mat3_mat3_vertex" />
-<Test name="mediump_mat3x4_mat2x3_fragment" />
-<Test name="mediump_vec3_mat2x3_fragment" />
-<Test name="lowp_mat2x3_float_fragment" />
-<Test name="highp_mat3x2_vec3_fragment" />
-<Test name="mediump_mat3x2_float_vertex" />
-<Test name="highp_mat2x3_float_fragment" />
-<Test name="highp_mat4_mat3x4_fragment" />
-<Test name="highp_mat4_float_fragment" />
-<Test name="highp_vec2_mat2_fragment" />
-<Test name="mediump_vec4_mat3x4_fragment" />
-<Test name="lowp_mat3_mat3_vertex" />
-<Test name="lowp_mat4x2_float_fragment" />
-<Test name="highp_vec4_mat2x4_vertex" />
-<Test name="mediump_mat2x3_vec2_fragment" />
-<Test name="mediump_vec3_mat3_vertex" />
-<Test name="highp_mat3x2_mat4x3_vertex" />
-<Test name="lowp_mat3x2_mat3_fragment" />
-<Test name="highp_mat3x4_mat2x3_vertex" />
-<Test name="highp_mat4x3_mat4_vertex" />
-<Test name="highp_mat4_float_vertex" />
-<Test name="highp_vec3_mat3_fragment" />
-<Test name="highp_mat4x2_mat2x4_vertex" />
-<Test name="mediump_mat3_float_vertex" />
-<Test name="mediump_mat4x2_mat3x4_vertex" />
-<Test name="highp_mat4x2_vec4_vertex" />
-<Test name="highp_mat4_mat3x4_vertex" />
-<Test name="highp_mat4_mat4_vertex" />
-<Test name="mediump_vec4_mat4_fragment" />
-<Test name="lowp_mat4x3_vec4_vertex" />
-<Test name="lowp_mat4_float_fragment" />
-<Test name="mediump_mat2x4_mat2_fragment" />
-<Test name="mediump_vec4_mat2x4_vertex" />
-<Test name="mediump_mat4_vec4_vertex" />
-<Test name="lowp_mat3x4_float_fragment" />
-<Test name="mediump_mat4_float_vertex" />
-<Test name="highp_vec2_mat3x2_vertex" />
-<Test name="highp_mat3x4_float_vertex" />
-<Test name="highp_mat4x2_float_fragment" />
-<Test name="highp_mat3_mat2x3_vertex" />
-<Test name="highp_mat3_float_vertex" />
-<Test name="mediump_mat4x2_vec4_fragment" />
-<Test name="highp_mat2x4_vec2_vertex" />
-<Test name="highp_vec4_mat4_vertex" />
-<Test name="highp_mat3x4_vec3_vertex" />
-<Test name="lowp_mat4x3_float_vertex" />
-<Test name="mediump_mat2_float_vertex" />
-<Test name="highp_mat4x2_float_vertex" />
-<Test name="mediump_mat3_mat2x3_fragment" />
-<Test name="highp_mat4x2_mat2x4_fragment" />
-<Test name="lowp_mat4x3_mat4_fragment" />
-<Test name="lowp_mat2_vec2_vertex" />
-<Test name="highp_mat2_float_vertex" />
-<Test name="mediump_mat4x3_mat4_vertex" />
-<Test name="mediump_mat2x4_vec2_fragment" />
-<Test name="mediump_mat3x4_float_vertex" />
-<Test name="highp_vec4_mat2x4_fragment" />
-<Test name="mediump_mat2x4_vec2_vertex" />
-<Test name="highp_mat2x3_float_vertex" />
-<Test name="mediump_mat3x4_mat2x3_vertex" />
-<Test name="mediump_mat4x3_vec4_vertex" />
-<Test name="highp_mat3x4_mat3_fragment" />
-<Test name="lowp_mat2x3_float_vertex" />
-<Test name="highp_mat3x4_float_fragment" />
-<Test name="mediump_mat3_float_fragment" />
-<Test name="highp_mat4x3_mat4_fragment" />
-<Test name="lowp_mat4_mat3x4_vertex" />
-<Test name="mediump_mat4_mat4_vertex" />
-<Test name="highp_mat4x3_float_fragment" />
-<Test name="lowp_mat4x2_mat4_fragment" />
-<Test name="mediump_mat4x3_float_fragment" />
-<Test name="mediump_mat2_float_fragment" />
-<Test name="lowp_mat4x2_vec4_vertex" />
-<Test name="mediump_mat4x2_float_vertex" />
-<Test name="mediump_mat4x2_vec4_vertex" />
-<Test name="lowp_mat2x4_mat2_vertex" />
-<Test name="mediump_mat3x2_mat3_fragment" />
-<Test name="mediump_mat2x3_mat2_fragment" />
-<Test name="lowp_mat4x3_mat3x4_vertex" />
-<Test name="lowp_mat2_float_vertex" />
-<Test name="lowp_mat4x3_vec4_fragment" />
-<Test name="mediump_vec3_mat2x3_vertex" />
-<Test name="mediump_mat4_mat3x4_fragment" />
-<Test name="mediump_mat2_vec2_vertex" />
-<Test name="lowp_mat4x3_mat2x4_vertex" />
-<Test name="lowp_mat3x2_mat4x3_fragment" />
-<Test name="highp_mat4x2_mat3x4_fragment" />
-<Test name="mediump_mat4x2_mat4_vertex" />
-<Test name="mediump_mat4_mat4_fragment" />
-<Test name="highp_mat3x2_vec3_vertex" />
-<Test name="mediump_mat2x3_mat3x2_fragment" />
-<Test name="highp_mat4x3_float_vertex" />
-<Test name="mediump_mat4x3_mat3x4_vertex" />
-<Test name="lowp_vec3_mat4x3_fragment" />
-<Test name="lowp_mat2x4_vec2_fragment" />
-<Test name="mediump_mat2x4_mat2_vertex" />
-<Test name="mediump_mat4x2_mat3x4_fragment" />
-<Test name="mediump_mat4x3_mat3x4_fragment" />
-<Test name="lowp_mat3x2_float_vertex" />
-<Test name="lowp_mat4x2_vec4_fragment" />
-<Test name="highp_mat4_mat2x4_fragment" />
-<Test name="lowp_mat4x3_mat3x4_fragment" />
-<Test name="highp_mat3_vec3_fragment" />
-<Test name="highp_mat4x2_mat4_fragment" />
-<Test name="mediump_mat2_vec2_fragment" />
-<Test name="mediump_mat3x2_mat2x3_fragment" />
-<Test name="lowp_mat3x2_mat4x3_vertex" />
-<Test name="mediump_mat2x3_float_vertex" />
-<Test name="mediump_mat4x3_mat2x4_fragment" />
-<Test name="mediump_vec4_mat2x4_fragment" />
-<Test name="highp_mat4_vec4_fragment" />
-<Test name="mediump_mat3x2_mat4x3_vertex" />
-<Test name="highp_mat2x4_float_vertex" />
-<Test name="lowp_mat4_mat4_vertex" />
-<Test name="lowp_mat3_vec3_vertex" />
-<Test name="lowp_mat4x2_mat3x4_vertex" />
-<Test name="mediump_mat3_vec3_vertex" />
-<Test name="highp_mat3x2_mat4x3_fragment" />
-<Test name="mediump_mat3_vec3_fragment" />
-<Test name="highp_mat2_mat2_fragment" />
-<Test name="mediump_mat3x4_float_fragment" />
-<Test name="lowp_mat2x3_mat2_fragment" />
-<Test name="highp_mat3x4_vec3_fragment" />
-<Test name="mediump_vec2_mat3x2_fragment" />
-<Test name="mediump_mat2x3_mat2_vertex" />
-<Test name="lowp_vec3_mat3_vertex" />
-<Test name="mediump_vec4_mat4_vertex" />
-<Test name="highp_mat2x3_mat3x2_fragment" />
-<Test name="highp_mat3x2_mat3_vertex" />
-<Test name="highp_vec3_mat4x3_vertex" />
-<Test name="lowp_mat3_float_fragment" />
-<Test name="mediump_mat4x3_mat4_fragment" />
-<Test name="mediump_mat3x2_mat3_vertex" />
-<Test name="lowp_vec2_mat3x2_vertex" />
-<Test name="lowp_mat4x2_mat2x4_vertex" />
-<Test name="lowp_mat4x3_mat4_vertex" />
-<Test name="mediump_mat4_mat2x4_fragment" />
-<Test name="mediump_mat3_mat2x3_vertex" />
-<Test name="lowp_vec2_mat4x2_vertex" />
-<Test name="lowp_mat3_mat2x3_fragment" />
-<Test name="mediump_mat4x3_mat2x4_vertex" />
-<Test name="lowp_mat3x4_mat2x3_fragment" />
-<Test name="mediump_mat3x2_vec3_vertex" />
-<Test name="lowp_mat2x4_mat2_fragment" />
-<Test name="highp_mat2x4_mat2_vertex" />
-<Test name="mediump_mat3x2_float_fragment" />
-<Test name="lowp_mat2_mat2_vertex" />
-<Test name="mediump_mat4x2_mat2x4_fragment" />
-<Test name="highp_mat3x2_mat2x3_vertex" />
-<Test name="lowp_mat2x3_vec2_fragment" />
-<Test name="lowp_mat2x3_mat3x2_vertex" />
-<Test name="highp_vec2_mat2_vertex" />
-<Test name="lowp_mat3x4_mat2x3_vertex" />
-<Test name="highp_mat3_float_fragment" />
-<Test name="lowp_mat3x2_vec3_vertex" />
-<Test name="highp_mat4x3_mat3x4_fragment" />
-<Test name="highp_mat4x3_vec4_vertex" />
-<Test name="lowp_mat4x2_mat3x4_fragment" />
-<Test name="highp_mat4x3_vec4_fragment" />
-<Test name="highp_vec4_mat3x4_fragment" />
-<Test name="lowp_mat4_float_vertex" />
-<Test name="lowp_mat3_float_vertex" />
-<Test name="lowp_mat4x2_float_vertex" />
-<Test name="highp_mat2x3_vec2_fragment" />
-<Test name="highp_mat4_mat2x4_vertex" />
-<Test name="highp_mat2x4_vec2_fragment" />
-<Test name="lowp_mat3x4_mat3_fragment" />
-<Test name="lowp_mat2_float_fragment" />
-<Test name="mediump_mat2_mat2_vertex" />
-<Test name="mediump_mat2x4_float_vertex" />
+<TestSuite name="linkage">
+<TestSuite name="varying">
+<TestCase name="rules">
+<Test name="fragment_declare" />
+<Test name="vertex_declare" />
+<Test name="both_declare" />
+<Test name="vertex_declare_fragment_use" />
+<Test name="vertex_use_fragment_declare" />
+<Test name="vertex_use_declare_fragment" />
+<Test name="vertex_use_fragment_use" />
+<Test name="differing_precision_1" />
+<Test name="differing_precision_2" />
+<Test name="differing_precision_3" />
+<Test name="type_mismatch_2" />
+<Test name="type_mismatch_3" />
+<Test name="invalid_type_bool" />
+</TestCase>
+<TestCase name="basic_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" />
+</TestCase>
+<TestCase name="struct">
+<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_vec3" />
+</TestCase>
+<TestCase name="interpolation">
+<Test name="smooth" />
+<Test name="centroid" />
+<Test name="flat" />
+</TestCase>
+<TestCase name="usage">
+<Test name="readback_1" />
+<Test name="writeback_1" />
 </TestCase>
 </TestSuite>
-<TestSuite name="div">
-<TestCase name="const">
-<Test name="mediump_mat4_mat4_vertex" />
-<Test name="highp_mat4x3_float_fragment" />
-<Test name="highp_mat3_mat3_fragment" />
-<Test name="mediump_mat3_mat3_vertex" />
-<Test name="highp_mat2_float_fragment" />
-<Test name="lowp_mat2_mat2_fragment" />
-<Test name="highp_mat4_float_vertex" />
-<Test name="mediump_mat4x2_float_fragment" />
-<Test name="lowp_mat4_float_fragment" />
-<Test name="mediump_mat3x2_mat3x2_fragment" />
-<Test name="mediump_mat2x4_mat2x4_fragment" />
-<Test name="lowp_mat2_float_vertex" />
-<Test name="mediump_mat3_mat3_fragment" />
-<Test name="mediump_mat4x2_mat4x2_fragment" />
-<Test name="lowp_mat3x4_float_vertex" />
-<Test name="mediump_mat3x2_mat3x2_vertex" />
-<Test name="lowp_mat3_mat3_fragment" />
-<Test name="highp_mat3x2_float_vertex" />
-<Test name="highp_mat3x2_float_fragment" />
-<Test name="mediump_mat2x3_mat2x3_vertex" />
-<Test name="highp_mat4x3_mat4x3_vertex" />
-<Test name="highp_mat2x4_mat2x4_vertex" />
-<Test name="mediump_mat4x3_float_vertex" />
-<Test name="highp_mat3x4_mat3x4_fragment" />
-<Test name="highp_mat4_mat4_fragment" />
-<Test name="highp_mat2x4_float_fragment" />
-<Test name="lowp_mat4_mat4_vertex" />
-<Test name="lowp_mat3_float_fragment" />
-<Test name="highp_mat4x2_mat4x2_fragment" />
-<Test name="lowp_mat3x2_mat3x2_vertex" />
-<Test name="mediump_mat2x3_float_fragment" />
-<Test name="highp_mat2_mat2_vertex" />
-<Test name="mediump_mat4_float_fragment" />
-<Test name="lowp_mat2x3_mat2x3_vertex" />
-<Test name="lowp_mat3x4_mat3x4_vertex" />
-<Test name="mediump_mat2x4_mat2x4_vertex" />
-<Test name="lowp_mat4_mat4_fragment" />
-<Test name="highp_mat3_mat3_vertex" />
-<Test name="lowp_mat2x3_float_fragment" />
-<Test name="mediump_mat3x2_float_vertex" />
-<Test name="highp_mat2x3_float_fragment" />
-<Test name="highp_mat4_float_fragment" />
-<Test name="lowp_mat3_mat3_vertex" />
-<Test name="lowp_mat4x2_float_fragment" />
-<Test name="mediump_mat4x2_mat4x2_vertex" />
-<Test name="mediump_mat2x4_float_fragment" />
-<Test name="lowp_mat3_float_vertex" />
-<Test name="lowp_mat4x3_float_vertex" />
-<Test name="mediump_mat3_float_vertex" />
-<Test name="highp_mat2x3_mat2x3_vertex" />
-<Test name="highp_mat4_mat4_vertex" />
-<Test name="mediump_mat3x4_mat3x4_fragment" />
-<Test name="lowp_mat3x4_float_fragment" />
-<Test name="highp_mat3x4_float_vertex" />
-<Test name="highp_mat4x2_float_fragment" />
-<Test name="highp_mat3_float_vertex" />
-<Test name="mediump_mat3x4_float_vertex" />
-<Test name="mediump_mat2_float_vertex" />
-<Test name="highp_mat4x2_float_vertex" />
-<Test name="highp_mat4x2_mat4x2_vertex" />
-<Test name="mediump_mat2x3_mat2x3_fragment" />
-<Test name="mediump_mat3x4_mat3x4_vertex" />
-<Test name="highp_mat2_float_vertex" />
-<Test name="highp_mat3x2_mat3x2_fragment" />
-<Test name="lowp_mat2x3_float_vertex" />
-<Test name="highp_mat3x4_float_fragment" />
-<Test name="lowp_mat2_mat2_vertex" />
-<Test name="lowp_mat4x3_float_fragment" />
-<Test name="lowp_mat4_float_vertex" />
-<Test name="mediump_mat2_mat2_fragment" />
-<Test name="highp_mat2x3_mat2x3_fragment" />
-<Test name="mediump_mat4x3_float_fragment" />
-<Test name="mediump_mat2_float_fragment" />
-<Test name="mediump_mat4x2_float_vertex" />
-<Test name="lowp_mat2x4_mat2x4_fragment" />
-<Test name="highp_mat4x3_mat4x3_fragment" />
-<Test name="mediump_mat2x4_float_vertex" />
-<Test name="mediump_mat4_mat4_fragment" />
-<Test name="mediump_mat4x3_mat4x3_fragment" />
-<Test name="lowp_mat3x2_mat3x2_fragment" />
-<Test name="lowp_mat3x2_float_vertex" />
-<Test name="highp_mat3x4_mat3x4_vertex" />
-<Test name="lowp_mat2x4_mat2x4_vertex" />
-<Test name="highp_mat2x4_float_vertex" />
-<Test name="mediump_mat4x3_mat4x3_vertex" />
-<Test name="highp_mat2_mat2_fragment" />
-<Test name="mediump_mat3x4_float_fragment" />
-<Test name="highp_mat3x2_mat3x2_vertex" />
-<Test name="highp_mat2x3_float_vertex" />
-<Test name="lowp_mat4x2_mat4x2_fragment" />
-<Test name="lowp_mat3x2_float_fragment" />
-<Test name="lowp_mat4x3_mat4x3_fragment" />
-<Test name="lowp_mat2x4_float_fragment" />
-<Test name="lowp_mat4x3_mat4x3_vertex" />
-<Test name="lowp_mat2x4_float_vertex" />
-<Test name="lowp_mat3x4_mat3x4_fragment" />
-<Test name="mediump_mat3x2_float_fragment" />
-<Test name="mediump_mat3_float_fragment" />
-<Test name="highp_mat3_float_fragment" />
-<Test name="lowp_mat4x2_mat4x2_vertex" />
-<Test name="highp_mat2x4_mat2x4_fragment" />
-<Test name="mediump_mat4_float_vertex" />
-<Test name="mediump_mat2x3_float_vertex" />
-<Test name="lowp_mat4x2_float_vertex" />
-<Test name="lowp_mat2x3_mat2x3_fragment" />
-<Test name="lowp_mat2_float_fragment" />
-<Test name="mediump_mat2_mat2_vertex" />
-<Test name="highp_mat4x3_float_vertex" />
+<TestSuite name="uniform">
+<TestCase name="struct">
+<Test name="basic" />
+<Test name="vertex_only" />
+<Test name="fragment_only" />
+<Test name="partial" />
+<Test name="vec4" />
+<Test name="vertex_only_vec4" />
+<Test name="fragment_only_vec4" />
+<Test name="partial_vec4" />
+<Test name="vec4_vec3" />
+<Test name="vertex_only_vec4_vec3" />
+<Test name="fragment_only_vec4_vec3" />
+<Test name="partial_vec4_vec3" />
+<Test name="vec4_float" />
+<Test name="vertex_only_vec4_float" />
+<Test name="fragment_only_vec4_float" />
+<Test name="partial_vec4_float" />
+<Test name="partial_vec4_struct" />
+<Test name="partial_vec4_vec3_struct" />
+<Test name="partial_vec2_vec3" />
+<Test name="partial_vec2_int" />
+<Test name="partial_int_float" />
+<Test name="partial_bvec2_vec2" />
+<Test name="partial_ivec2_vec2" />
+<Test name="partial_ivec2_ivec2" />
+<Test name="light_struct_highp" />
+<Test name="light_struct_mediump" />
 </TestCase>
-<TestCase name="dynamic">
-<Test name="mediump_mat4_mat4_vertex" />
-<Test name="highp_mat4x3_float_fragment" />
-<Test name="highp_mat3_mat3_fragment" />
-<Test name="mediump_mat3_mat3_vertex" />
-<Test name="highp_mat2_float_fragment" />
-<Test name="lowp_mat2_mat2_fragment" />
-<Test name="highp_mat4_float_vertex" />
-<Test name="mediump_mat4x2_float_fragment" />
-<Test name="lowp_mat4_float_fragment" />
-<Test name="mediump_mat3x2_mat3x2_fragment" />
-<Test name="mediump_mat2x4_mat2x4_fragment" />
-<Test name="lowp_mat2_float_vertex" />
-<Test name="mediump_mat3_mat3_fragment" />
-<Test name="mediump_mat4x2_mat4x2_fragment" />
-<Test name="lowp_mat3x4_float_vertex" />
-<Test name="mediump_mat3x2_mat3x2_vertex" />
-<Test name="lowp_mat3_mat3_fragment" />
-<Test name="highp_mat3x2_float_vertex" />
-<Test name="highp_mat3x2_float_fragment" />
-<Test name="mediump_mat2x3_mat2x3_vertex" />
-<Test name="highp_mat4x3_mat4x3_vertex" />
-<Test name="highp_mat2x4_mat2x4_vertex" />
-<Test name="mediump_mat4x3_float_vertex" />
-<Test name="highp_mat3x4_mat3x4_fragment" />
-<Test name="highp_mat4_mat4_fragment" />
-<Test name="highp_mat2x4_float_fragment" />
-<Test name="lowp_mat4_mat4_vertex" />
-<Test name="lowp_mat3_float_fragment" />
-<Test name="highp_mat4x2_mat4x2_fragment" />
-<Test name="lowp_mat3x2_mat3x2_vertex" />
-<Test name="mediump_mat2x3_float_fragment" />
-<Test name="highp_mat2_mat2_vertex" />
-<Test name="mediump_mat4_float_fragment" />
-<Test name="lowp_mat2x3_mat2x3_vertex" />
-<Test name="lowp_mat3x4_mat3x4_vertex" />
-<Test name="mediump_mat2x4_mat2x4_vertex" />
-<Test name="lowp_mat4_mat4_fragment" />
-<Test name="highp_mat3_mat3_vertex" />
-<Test name="lowp_mat2x3_float_fragment" />
-<Test name="mediump_mat3x2_float_vertex" />
-<Test name="highp_mat2x3_float_fragment" />
-<Test name="highp_mat4_float_fragment" />
-<Test name="lowp_mat3_mat3_vertex" />
-<Test name="lowp_mat4x2_float_fragment" />
-<Test name="mediump_mat4x2_mat4x2_vertex" />
-<Test name="mediump_mat2x4_float_fragment" />
-<Test name="lowp_mat3_float_vertex" />
-<Test name="lowp_mat4x3_float_vertex" />
-<Test name="mediump_mat3_float_vertex" />
-<Test name="highp_mat2x3_mat2x3_vertex" />
-<Test name="highp_mat4_mat4_vertex" />
-<Test name="mediump_mat3x4_mat3x4_fragment" />
-<Test name="lowp_mat3x4_float_fragment" />
-<Test name="highp_mat3x4_float_vertex" />
-<Test name="highp_mat4x2_float_fragment" />
-<Test name="highp_mat3_float_vertex" />
-<Test name="mediump_mat3x4_float_vertex" />
-<Test name="mediump_mat2_float_vertex" />
-<Test name="highp_mat4x2_float_vertex" />
-<Test name="highp_mat4x2_mat4x2_vertex" />
-<Test name="mediump_mat2x3_mat2x3_fragment" />
-<Test name="mediump_mat3x4_mat3x4_vertex" />
-<Test name="highp_mat2_float_vertex" />
-<Test name="highp_mat3x2_mat3x2_fragment" />
-<Test name="lowp_mat2x3_float_vertex" />
-<Test name="highp_mat3x4_float_fragment" />
-<Test name="lowp_mat2_mat2_vertex" />
-<Test name="lowp_mat4x3_float_fragment" />
-<Test name="lowp_mat4_float_vertex" />
-<Test name="mediump_mat2_mat2_fragment" />
-<Test name="highp_mat2x3_mat2x3_fragment" />
-<Test name="mediump_mat4x3_float_fragment" />
-<Test name="mediump_mat2_float_fragment" />
-<Test name="mediump_mat4x2_float_vertex" />
-<Test name="lowp_mat2x4_mat2x4_fragment" />
-<Test name="highp_mat4x3_mat4x3_fragment" />
-<Test name="mediump_mat2x4_float_vertex" />
-<Test name="mediump_mat4_mat4_fragment" />
-<Test name="mediump_mat4x3_mat4x3_fragment" />
-<Test name="lowp_mat3x2_mat3x2_fragment" />
-<Test name="lowp_mat3x2_float_vertex" />
-<Test name="highp_mat3x4_mat3x4_vertex" />
-<Test name="lowp_mat2x4_mat2x4_vertex" />
-<Test name="highp_mat2x4_float_vertex" />
-<Test name="mediump_mat4x3_mat4x3_vertex" />
-<Test name="highp_mat2_mat2_fragment" />
-<Test name="mediump_mat3x4_float_fragment" />
-<Test name="highp_mat3x2_mat3x2_vertex" />
-<Test name="highp_mat2x3_float_vertex" />
-<Test name="lowp_mat4x2_mat4x2_fragment" />
-<Test name="lowp_mat3x2_float_fragment" />
-<Test name="lowp_mat4x3_mat4x3_fragment" />
-<Test name="lowp_mat2x4_float_fragment" />
-<Test name="lowp_mat4x3_mat4x3_vertex" />
-<Test name="lowp_mat2x4_float_vertex" />
-<Test name="lowp_mat3x4_mat3x4_fragment" />
-<Test name="mediump_mat3x2_float_fragment" />
-<Test name="mediump_mat3_float_fragment" />
-<Test name="highp_mat3_float_fragment" />
-<Test name="lowp_mat4x2_mat4x2_vertex" />
-<Test name="highp_mat2x4_mat2x4_fragment" />
-<Test name="mediump_mat4_float_vertex" />
-<Test name="mediump_mat2x3_float_vertex" />
-<Test name="lowp_mat4x2_float_vertex" />
-<Test name="lowp_mat2x3_mat2x3_fragment" />
-<Test name="lowp_mat2_float_fragment" />
-<Test name="mediump_mat2_mat2_vertex" />
-<Test name="highp_mat4x3_float_vertex" />
+<TestCase name="block">
+<Test name="type_mismatch" />
+<Test name="members_mismatch" />
+<Test name="layout_qualifier_mismatch_4" />
+<Test name="layout_qualifier_mismatch_5" />
 </TestCase>
-<TestCase name="uniform">
-<Test name="mediump_mat4_mat4_vertex" />
-<Test name="highp_mat4x3_float_fragment" />
-<Test name="highp_mat3_mat3_fragment" />
-<Test name="mediump_mat3_mat3_vertex" />
-<Test name="highp_mat2_float_fragment" />
-<Test name="lowp_mat2_mat2_fragment" />
-<Test name="highp_mat4_float_vertex" />
-<Test name="mediump_mat4x2_float_fragment" />
-<Test name="lowp_mat4_float_fragment" />
-<Test name="mediump_mat3x2_mat3x2_fragment" />
-<Test name="mediump_mat2x4_mat2x4_fragment" />
-<Test name="lowp_mat2_float_vertex" />
-<Test name="mediump_mat3_mat3_fragment" />
-<Test name="mediump_mat4x2_mat4x2_fragment" />
-<Test name="lowp_mat3x4_float_vertex" />
-<Test name="mediump_mat3x2_mat3x2_vertex" />
-<Test name="lowp_mat3_mat3_fragment" />
-<Test name="highp_mat3x2_float_vertex" />
-<Test name="highp_mat3x2_float_fragment" />
-<Test name="mediump_mat2x3_mat2x3_vertex" />
-<Test name="highp_mat4x3_mat4x3_vertex" />
-<Test name="highp_mat2x4_mat2x4_vertex" />
-<Test name="mediump_mat4x3_float_vertex" />
-<Test name="highp_mat3x4_mat3x4_fragment" />
-<Test name="highp_mat4_mat4_fragment" />
-<Test name="highp_mat2x4_float_fragment" />
-<Test name="lowp_mat4_mat4_vertex" />
-<Test name="lowp_mat3_float_fragment" />
-<Test name="highp_mat4x2_mat4x2_fragment" />
-<Test name="lowp_mat3x2_mat3x2_vertex" />
-<Test name="mediump_mat2x3_float_fragment" />
-<Test name="highp_mat2_mat2_vertex" />
-<Test name="mediump_mat4_float_fragment" />
-<Test name="lowp_mat2x3_mat2x3_vertex" />
-<Test name="lowp_mat3x4_mat3x4_vertex" />
-<Test name="mediump_mat2x4_mat2x4_vertex" />
-<Test name="lowp_mat4_mat4_fragment" />
-<Test name="highp_mat3_mat3_vertex" />
-<Test name="lowp_mat2x3_float_fragment" />
-<Test name="mediump_mat3x2_float_vertex" />
-<Test name="highp_mat2x3_float_fragment" />
-<Test name="highp_mat4_float_fragment" />
-<Test name="lowp_mat3_mat3_vertex" />
-<Test name="lowp_mat4x2_float_fragment" />
-<Test name="mediump_mat4x2_mat4x2_vertex" />
-<Test name="mediump_mat2x4_float_fragment" />
-<Test name="lowp_mat3_float_vertex" />
-<Test name="lowp_mat4x3_float_vertex" />
-<Test name="mediump_mat3_float_vertex" />
-<Test name="highp_mat2x3_mat2x3_vertex" />
-<Test name="highp_mat4_mat4_vertex" />
-<Test name="mediump_mat3x4_mat3x4_fragment" />
-<Test name="lowp_mat3x4_float_fragment" />
-<Test name="highp_mat3x4_float_vertex" />
-<Test name="highp_mat4x2_float_fragment" />
-<Test name="highp_mat3_float_vertex" />
-<Test name="mediump_mat3x4_float_vertex" />
-<Test name="mediump_mat2_float_vertex" />
-<Test name="highp_mat4x2_float_vertex" />
-<Test name="highp_mat4x2_mat4x2_vertex" />
-<Test name="mediump_mat2x3_mat2x3_fragment" />
-<Test name="mediump_mat3x4_mat3x4_vertex" />
-<Test name="highp_mat2_float_vertex" />
-<Test name="highp_mat3x2_mat3x2_fragment" />
-<Test name="lowp_mat2x3_float_vertex" />
-<Test name="highp_mat3x4_float_fragment" />
-<Test name="lowp_mat2_mat2_vertex" />
-<Test name="lowp_mat4x3_float_fragment" />
-<Test name="lowp_mat4_float_vertex" />
-<Test name="mediump_mat2_mat2_fragment" />
-<Test name="highp_mat2x3_mat2x3_fragment" />
-<Test name="mediump_mat4x3_float_fragment" />
-<Test name="mediump_mat2_float_fragment" />
-<Test name="mediump_mat4x2_float_vertex" />
-<Test name="lowp_mat2x4_mat2x4_fragment" />
-<Test name="highp_mat4x3_mat4x3_fragment" />
-<Test name="mediump_mat2x4_float_vertex" />
-<Test name="mediump_mat4_mat4_fragment" />
-<Test name="mediump_mat4x3_mat4x3_fragment" />
-<Test name="lowp_mat3x2_mat3x2_fragment" />
-<Test name="lowp_mat3x2_float_vertex" />
-<Test name="highp_mat3x4_mat3x4_vertex" />
-<Test name="lowp_mat2x4_mat2x4_vertex" />
-<Test name="highp_mat2x4_float_vertex" />
-<Test name="mediump_mat4x3_mat4x3_vertex" />
-<Test name="highp_mat2_mat2_fragment" />
-<Test name="mediump_mat3x4_float_fragment" />
-<Test name="highp_mat3x2_mat3x2_vertex" />
-<Test name="highp_mat2x3_float_vertex" />
-<Test name="lowp_mat4x2_mat4x2_fragment" />
-<Test name="lowp_mat3x2_float_fragment" />
-<Test name="lowp_mat4x3_mat4x3_fragment" />
-<Test name="lowp_mat2x4_float_fragment" />
-<Test name="lowp_mat4x3_mat4x3_vertex" />
-<Test name="lowp_mat2x4_float_vertex" />
-<Test name="lowp_mat3x4_mat3x4_fragment" />
-<Test name="mediump_mat3x2_float_fragment" />
-<Test name="mediump_mat3_float_fragment" />
-<Test name="highp_mat3_float_fragment" />
-<Test name="lowp_mat4x2_mat4x2_vertex" />
-<Test name="highp_mat2x4_mat2x4_fragment" />
-<Test name="mediump_mat4_float_vertex" />
-<Test name="mediump_mat2x3_float_vertex" />
-<Test name="lowp_mat4x2_float_vertex" />
-<Test name="lowp_mat2x3_mat2x3_fragment" />
-<Test name="lowp_mat2_float_fragment" />
-<Test name="mediump_mat2_mat2_vertex" />
-<Test name="highp_mat4x3_float_vertex" />
+</TestSuite>
+</TestSuite>
+<TestSuite name="conversions">
+<TestCase name="scalar_to_scalar">
+<Test name="float_to_float_vertex" />
+<Test name="float_to_float_fragment" />
+<Test name="float_to_int_vertex" />
+<Test name="float_to_int_fragment" />
+<Test name="float_to_bool_vertex" />
+<Test name="float_to_bool_fragment" />
+<Test name="int_to_float_vertex" />
+<Test name="int_to_float_fragment" />
+<Test name="int_to_int_vertex" />
+<Test name="int_to_int_fragment" />
+<Test name="int_to_bool_vertex" />
+<Test name="int_to_bool_fragment" />
+<Test name="uint_to_float_vertex" />
+<Test name="uint_to_float_fragment" />
+<Test name="uint_to_int_vertex" />
+<Test name="uint_to_int_fragment" />
+<Test name="uint_to_bool_vertex" />
+<Test name="uint_to_bool_fragment" />
+<Test name="bool_to_float_vertex" />
+<Test name="bool_to_float_fragment" />
+<Test name="bool_to_int_vertex" />
+<Test name="bool_to_int_fragment" />
+<Test name="bool_to_bool_vertex" />
+<Test name="bool_to_bool_fragment" />
+<Test name="float_to_uint_vertex" />
+<Test name="float_to_uint_fragment" />
+<Test name="int_to_uint_vertex" />
+<Test name="int_to_uint_fragment" />
+<Test name="uint_to_uint_vertex" />
+<Test name="uint_to_uint_fragment" />
+<Test name="bool_to_uint_vertex" />
+<Test name="bool_to_uint_fragment" />
+</TestCase>
+<TestCase name="scalar_to_vector">
+<Test name="float_to_vec2_vertex" />
+<Test name="float_to_vec2_fragment" />
+<Test name="float_to_vec3_vertex" />
+<Test name="float_to_vec3_fragment" />
+<Test name="float_to_vec4_vertex" />
+<Test name="float_to_vec4_fragment" />
+<Test name="float_to_ivec2_vertex" />
+<Test name="float_to_ivec2_fragment" />
+<Test name="float_to_ivec3_vertex" />
+<Test name="float_to_ivec3_fragment" />
+<Test name="float_to_ivec4_vertex" />
+<Test name="float_to_ivec4_fragment" />
+<Test name="float_to_bvec2_vertex" />
+<Test name="float_to_bvec2_fragment" />
+<Test name="float_to_bvec3_vertex" />
+<Test name="float_to_bvec3_fragment" />
+<Test name="float_to_bvec4_vertex" />
+<Test name="float_to_bvec4_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_ivec2_vertex" />
+<Test name="int_to_ivec2_fragment" />
+<Test name="int_to_ivec3_vertex" />
+<Test name="int_to_ivec3_fragment" />
+<Test name="int_to_ivec4_vertex" />
+<Test name="int_to_ivec4_fragment" />
+<Test name="int_to_bvec2_vertex" />
+<Test name="int_to_bvec2_fragment" />
+<Test name="int_to_bvec3_vertex" />
+<Test name="int_to_bvec3_fragment" />
+<Test name="int_to_bvec4_vertex" />
+<Test name="int_to_bvec4_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="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="uint_to_bvec2_vertex" />
+<Test name="uint_to_bvec2_fragment" />
+<Test name="uint_to_bvec3_vertex" />
+<Test name="uint_to_bvec3_fragment" />
+<Test name="uint_to_bvec4_vertex" />
+<Test name="uint_to_bvec4_fragment" />
+<Test name="bool_to_vec2_vertex" />
+<Test name="bool_to_vec2_fragment" />
+<Test name="bool_to_vec3_vertex" />
+<Test name="bool_to_vec3_fragment" />
+<Test name="bool_to_vec4_vertex" />
+<Test name="bool_to_vec4_fragment" />
+<Test name="bool_to_ivec2_vertex" />
+<Test name="bool_to_ivec2_fragment" />
+<Test name="bool_to_ivec3_vertex" />
+<Test name="bool_to_ivec3_fragment" />
+<Test name="bool_to_ivec4_vertex" />
+<Test name="bool_to_ivec4_fragment" />
+<Test name="bool_to_bvec2_vertex" />
+<Test name="bool_to_bvec2_fragment" />
+<Test name="bool_to_bvec3_vertex" />
+<Test name="bool_to_bvec3_fragment" />
+<Test name="bool_to_bvec4_vertex" />
+<Test name="bool_to_bvec4_fragment" />
+<Test name="float_to_uvec2_vertex" />
+<Test name="float_to_uvec2_fragment" />
+<Test name="float_to_uvec3_vertex" />
+<Test name="float_to_uvec3_fragment" />
+<Test name="float_to_uvec4_vertex" />
+<Test name="float_to_uvec4_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_uvec2_vertex" />
+<Test name="uint_to_uvec2_fragment" />
+<Test name="uint_to_uvec3_vertex" />
+<Test name="uint_to_uvec3_fragment" />
+<Test name="uint_to_uvec4_vertex" />
+<Test name="uint_to_uvec4_fragment" />
+<Test name="bool_to_uvec2_vertex" />
+<Test name="bool_to_uvec2_fragment" />
+<Test name="bool_to_uvec3_vertex" />
+<Test name="bool_to_uvec3_fragment" />
+<Test name="bool_to_uvec4_vertex" />
+<Test name="bool_to_uvec4_fragment" />
+</TestCase>
+<TestCase name="vector_to_scalar">
+<Test name="vec2_to_float_vertex" />
+<Test name="vec2_to_float_fragment" />
+<Test name="vec2_to_int_vertex" />
+<Test name="vec2_to_int_fragment" />
+<Test name="vec2_to_bool_vertex" />
+<Test name="vec2_to_bool_fragment" />
+<Test name="vec3_to_float_vertex" />
+<Test name="vec3_to_float_fragment" />
+<Test name="vec3_to_int_vertex" />
+<Test name="vec3_to_int_fragment" />
+<Test name="vec3_to_bool_vertex" />
+<Test name="vec3_to_bool_fragment" />
+<Test name="vec4_to_float_vertex" />
+<Test name="vec4_to_float_fragment" />
+<Test name="vec4_to_int_vertex" />
+<Test name="vec4_to_int_fragment" />
+<Test name="vec4_to_bool_vertex" />
+<Test name="vec4_to_bool_fragment" />
+<Test name="ivec2_to_float_vertex" />
+<Test name="ivec2_to_float_fragment" />
+<Test name="ivec2_to_int_vertex" />
+<Test name="ivec2_to_int_fragment" />
+<Test name="ivec2_to_bool_vertex" />
+<Test name="ivec2_to_bool_fragment" />
+<Test name="ivec3_to_float_vertex" />
+<Test name="ivec3_to_float_fragment" />
+<Test name="ivec3_to_int_vertex" />
+<Test name="ivec3_to_int_fragment" />
+<Test name="ivec3_to_bool_vertex" />
+<Test name="ivec3_to_bool_fragment" />
+<Test name="ivec4_to_float_vertex" />
+<Test name="ivec4_to_float_fragment" />
+<Test name="ivec4_to_int_vertex" />
+<Test name="ivec4_to_int_fragment" />
+<Test name="ivec4_to_bool_vertex" />
+<Test name="ivec4_to_bool_fragment" />
+<Test name="uvec2_to_float_vertex" />
+<Test name="uvec2_to_float_fragment" />
+<Test name="uvec2_to_int_vertex" />
+<Test name="uvec2_to_int_fragment" />
+<Test name="uvec2_to_bool_vertex" />
+<Test name="uvec2_to_bool_fragment" />
+<Test name="uvec3_to_float_vertex" />
+<Test name="uvec3_to_float_fragment" />
+<Test name="uvec3_to_int_vertex" />
+<Test name="uvec3_to_int_fragment" />
+<Test name="uvec3_to_bool_vertex" />
+<Test name="uvec3_to_bool_fragment" />
+<Test name="uvec4_to_float_vertex" />
+<Test name="uvec4_to_float_fragment" />
+<Test name="uvec4_to_int_vertex" />
+<Test name="uvec4_to_int_fragment" />
+<Test name="uvec4_to_bool_vertex" />
+<Test name="uvec4_to_bool_fragment" />
+<Test name="bvec2_to_float_vertex" />
+<Test name="bvec2_to_float_fragment" />
+<Test name="bvec2_to_int_vertex" />
+<Test name="bvec2_to_int_fragment" />
+<Test name="bvec2_to_bool_vertex" />
+<Test name="bvec2_to_bool_fragment" />
+<Test name="bvec3_to_float_vertex" />
+<Test name="bvec3_to_float_fragment" />
+<Test name="bvec3_to_int_vertex" />
+<Test name="bvec3_to_int_fragment" />
+<Test name="bvec3_to_bool_vertex" />
+<Test name="bvec3_to_bool_fragment" />
+<Test name="bvec4_to_float_vertex" />
+<Test name="bvec4_to_float_fragment" />
+<Test name="bvec4_to_int_vertex" />
+<Test name="bvec4_to_int_fragment" />
+<Test name="bvec4_to_bool_vertex" />
+<Test name="bvec4_to_bool_fragment" />
+<Test name="vec2_to_uint_vertex" />
+<Test name="vec2_to_uint_fragment" />
+<Test name="vec3_to_uint_vertex" />
+<Test name="vec3_to_uint_fragment" />
+<Test name="vec4_to_uint_vertex" />
+<Test name="vec4_to_uint_fragment" />
+<Test name="ivec2_to_uint_vertex" />
+<Test name="ivec2_to_uint_fragment" />
+<Test name="ivec3_to_uint_vertex" />
+<Test name="ivec3_to_uint_fragment" />
+<Test name="ivec4_to_uint_vertex" />
+<Test name="ivec4_to_uint_fragment" />
+<Test name="uvec2_to_uint_vertex" />
+<Test name="uvec2_to_uint_fragment" />
+<Test name="uvec3_to_uint_vertex" />
+<Test name="uvec3_to_uint_fragment" />
+<Test name="uvec4_to_uint_vertex" />
+<Test name="uvec4_to_uint_fragment" />
+<Test name="bvec2_to_uint_vertex" />
+<Test name="bvec2_to_uint_fragment" />
+<Test name="bvec3_to_uint_vertex" />
+<Test name="bvec3_to_uint_fragment" />
+<Test name="bvec4_to_uint_vertex" />
+<Test name="bvec4_to_uint_fragment" />
+</TestCase>
+<TestCase name="vector_illegal">
+<Test name="vec2_to_vec3_vertex" />
+<Test name="vec2_to_vec3_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_bvec3_vertex" />
+<Test name="vec2_to_bvec3_fragment" />
+<Test name="vec2_to_vec4_vertex" />
+<Test name="vec2_to_vec4_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_bvec4_vertex" />
+<Test name="vec2_to_bvec4_fragment" />
+<Test name="ivec2_to_vec3_vertex" />
+<Test name="ivec2_to_vec3_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_bvec3_vertex" />
+<Test name="ivec2_to_bvec3_fragment" />
+<Test name="ivec2_to_vec4_vertex" />
+<Test name="ivec2_to_vec4_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_bvec4_vertex" />
+<Test name="ivec2_to_bvec4_fragment" />
+<Test name="uvec2_to_vec3_vertex" />
+<Test name="uvec2_to_vec3_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_bvec3_vertex" />
+<Test name="uvec2_to_bvec3_fragment" />
+<Test name="uvec2_to_vec4_vertex" />
+<Test name="uvec2_to_vec4_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_bvec4_vertex" />
+<Test name="uvec2_to_bvec4_fragment" />
+<Test name="bvec2_to_vec3_vertex" />
+<Test name="bvec2_to_vec3_fragment" />
+<Test name="bvec2_to_ivec3_vertex" />
+<Test name="bvec2_to_ivec3_fragment" />
+<Test name="bvec2_to_uvec3_vertex" />
+<Test name="bvec2_to_uvec3_fragment" />
+<Test name="bvec2_to_bvec3_vertex" />
+<Test name="bvec2_to_bvec3_fragment" />
+<Test name="bvec2_to_vec4_vertex" />
+<Test name="bvec2_to_vec4_fragment" />
+<Test name="bvec2_to_ivec4_vertex" />
+<Test name="bvec2_to_ivec4_fragment" />
+<Test name="bvec2_to_uvec4_vertex" />
+<Test name="bvec2_to_uvec4_fragment" />
+<Test name="bvec2_to_bvec4_vertex" />
+<Test name="bvec2_to_bvec4_fragment" />
+<Test name="vec3_to_vec4_vertex" />
+<Test name="vec3_to_vec4_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_bvec4_vertex" />
+<Test name="vec3_to_bvec4_fragment" />
+<Test name="ivec3_to_vec4_vertex" />
+<Test name="ivec3_to_vec4_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_bvec4_vertex" />
+<Test name="ivec3_to_bvec4_fragment" />
+<Test name="uvec3_to_vec4_vertex" />
+<Test name="uvec3_to_vec4_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_bvec4_vertex" />
+<Test name="uvec3_to_bvec4_fragment" />
+<Test name="bvec3_to_vec4_vertex" />
+<Test name="bvec3_to_vec4_fragment" />
+<Test name="bvec3_to_ivec4_vertex" />
+<Test name="bvec3_to_ivec4_fragment" />
+<Test name="bvec3_to_uvec4_vertex" />
+<Test name="bvec3_to_uvec4_fragment" />
+<Test name="bvec3_to_bvec4_vertex" />
+<Test name="bvec3_to_bvec4_fragment" />
 </TestCase>
-</TestSuite>
-<TestSuite name="determinant">
-<TestCase name="dynamic">
-<Test name="mediump_mat3_float_vertex" />
-<Test name="highp_mat2_float_vertex" />
-<Test name="lowp_mat3_float_fragment" />
-<Test name="highp_mat3_float_fragment" />
-<Test name="highp_mat3_float_vertex" />
-<Test name="lowp_mat2_float_vertex" />
-<Test name="mediump_mat3_float_fragment" />
-<Test name="highp_mat2_float_fragment" />
-<Test name="mediump_mat2_float_vertex" />
-<Test name="lowp_mat2_float_fragment" />
-<Test name="lowp_mat3_float_vertex" />
-<Test name="mediump_mat2_float_fragment" />
+<TestCase name="vector_to_vector">
+<Test name="vec4_to_vec4_vertex" />
+<Test name="vec4_to_vec4_fragment" />
+<Test name="vec4_to_vec3_vertex" />
+<Test name="vec4_to_vec3_fragment" />
+<Test name="vec4_to_vec2_vertex" />
+<Test name="vec4_to_vec2_fragment" />
+<Test name="vec4_to_ivec4_vertex" />
+<Test name="vec4_to_ivec4_fragment" />
+<Test name="vec4_to_ivec3_vertex" />
+<Test name="vec4_to_ivec3_fragment" />
+<Test name="vec4_to_ivec2_vertex" />
+<Test name="vec4_to_ivec2_fragment" />
+<Test name="vec4_to_bvec4_vertex" />
+<Test name="vec4_to_bvec4_fragment" />
+<Test name="vec4_to_bvec3_vertex" />
+<Test name="vec4_to_bvec3_fragment" />
+<Test name="vec4_to_bvec2_vertex" />
+<Test name="vec4_to_bvec2_fragment" />
+<Test name="ivec4_to_vec4_vertex" />
+<Test name="ivec4_to_vec4_fragment" />
+<Test name="ivec4_to_vec3_vertex" />
+<Test name="ivec4_to_vec3_fragment" />
+<Test name="ivec4_to_vec2_vertex" />
+<Test name="ivec4_to_vec2_fragment" />
+<Test name="ivec4_to_ivec4_vertex" />
+<Test name="ivec4_to_ivec4_fragment" />
+<Test name="ivec4_to_ivec3_vertex" />
+<Test name="ivec4_to_ivec3_fragment" />
+<Test name="ivec4_to_ivec2_vertex" />
+<Test name="ivec4_to_ivec2_fragment" />
+<Test name="ivec4_to_bvec4_vertex" />
+<Test name="ivec4_to_bvec4_fragment" />
+<Test name="ivec4_to_bvec3_vertex" />
+<Test name="ivec4_to_bvec3_fragment" />
+<Test name="ivec4_to_bvec2_vertex" />
+<Test name="ivec4_to_bvec2_fragment" />
+<Test name="uvec4_to_vec4_vertex" />
+<Test name="uvec4_to_vec4_fragment" />
+<Test name="uvec4_to_vec3_vertex" />
+<Test name="uvec4_to_vec3_fragment" />
+<Test name="uvec4_to_vec2_vertex" />
+<Test name="uvec4_to_vec2_fragment" />
+<Test name="uvec4_to_ivec4_vertex" />
+<Test name="uvec4_to_ivec4_fragment" />
+<Test name="uvec4_to_ivec3_vertex" />
+<Test name="uvec4_to_ivec3_fragment" />
+<Test name="uvec4_to_ivec2_vertex" />
+<Test name="uvec4_to_ivec2_fragment" />
+<Test name="uvec4_to_bvec4_vertex" />
+<Test name="uvec4_to_bvec4_fragment" />
+<Test name="uvec4_to_bvec3_vertex" />
+<Test name="uvec4_to_bvec3_fragment" />
+<Test name="uvec4_to_bvec2_vertex" />
+<Test name="uvec4_to_bvec2_fragment" />
+<Test name="bvec4_to_vec4_vertex" />
+<Test name="bvec4_to_vec4_fragment" />
+<Test name="bvec4_to_vec3_vertex" />
+<Test name="bvec4_to_vec3_fragment" />
+<Test name="bvec4_to_vec2_vertex" />
+<Test name="bvec4_to_vec2_fragment" />
+<Test name="bvec4_to_ivec4_vertex" />
+<Test name="bvec4_to_ivec4_fragment" />
+<Test name="bvec4_to_ivec3_vertex" />
+<Test name="bvec4_to_ivec3_fragment" />
+<Test name="bvec4_to_ivec2_vertex" />
+<Test name="bvec4_to_ivec2_fragment" />
+<Test name="bvec4_to_bvec4_vertex" />
+<Test name="bvec4_to_bvec4_fragment" />
+<Test name="bvec4_to_bvec3_vertex" />
+<Test name="bvec4_to_bvec3_fragment" />
+<Test name="bvec4_to_bvec2_vertex" />
+<Test name="bvec4_to_bvec2_fragment" />
+<Test name="vec4_to_uvec4_vertex" />
+<Test name="vec4_to_uvec4_fragment" />
+<Test name="vec4_to_uvec3_vertex" />
+<Test name="vec4_to_uvec3_fragment" />
+<Test name="vec4_to_uvec2_vertex" />
+<Test name="vec4_to_uvec2_fragment" />
+<Test name="ivec4_to_uvec4_vertex" />
+<Test name="ivec4_to_uvec4_fragment" />
+<Test name="ivec4_to_uvec3_vertex" />
+<Test name="ivec4_to_uvec3_fragment" />
+<Test name="ivec4_to_uvec2_vertex" />
+<Test name="ivec4_to_uvec2_fragment" />
+<Test name="uvec4_to_uvec4_vertex" />
+<Test name="uvec4_to_uvec4_fragment" />
+<Test name="uvec4_to_uvec3_vertex" />
+<Test name="uvec4_to_uvec3_fragment" />
+<Test name="uvec4_to_uvec2_vertex" />
+<Test name="uvec4_to_uvec2_fragment" />
+<Test name="bvec4_to_uvec4_vertex" />
+<Test name="bvec4_to_uvec4_fragment" />
+<Test name="bvec4_to_uvec3_vertex" />
+<Test name="bvec4_to_uvec3_fragment" />
+<Test name="bvec4_to_uvec2_vertex" />
+<Test name="bvec4_to_uvec2_fragment" />
+<Test name="vec3_to_vec3_vertex" />
+<Test name="vec3_to_vec3_fragment" />
+<Test name="vec3_to_vec2_vertex" />
+<Test name="vec3_to_vec2_fragment" />
+<Test name="vec3_to_ivec3_vertex" />
+<Test name="vec3_to_ivec3_fragment" />
+<Test name="vec3_to_ivec2_vertex" />
+<Test name="vec3_to_ivec2_fragment" />
+<Test name="vec3_to_bvec3_vertex" />
+<Test name="vec3_to_bvec3_fragment" />
+<Test name="vec3_to_bvec2_vertex" />
+<Test name="vec3_to_bvec2_fragment" />
+<Test name="ivec3_to_vec3_vertex" />
+<Test name="ivec3_to_vec3_fragment" />
+<Test name="ivec3_to_vec2_vertex" />
+<Test name="ivec3_to_vec2_fragment" />
+<Test name="ivec3_to_ivec3_vertex" />
+<Test name="ivec3_to_ivec3_fragment" />
+<Test name="ivec3_to_ivec2_vertex" />
+<Test name="ivec3_to_ivec2_fragment" />
+<Test name="ivec3_to_bvec3_vertex" />
+<Test name="ivec3_to_bvec3_fragment" />
+<Test name="ivec3_to_bvec2_vertex" />
+<Test name="ivec3_to_bvec2_fragment" />
+<Test name="uvec3_to_vec3_vertex" />
+<Test name="uvec3_to_vec3_fragment" />
+<Test name="uvec3_to_vec2_vertex" />
+<Test name="uvec3_to_vec2_fragment" />
+<Test name="uvec3_to_ivec3_vertex" />
+<Test name="uvec3_to_ivec3_fragment" />
+<Test name="uvec3_to_ivec2_vertex" />
+<Test name="uvec3_to_ivec2_fragment" />
+<Test name="uvec3_to_bvec3_vertex" />
+<Test name="uvec3_to_bvec3_fragment" />
+<Test name="uvec3_to_bvec2_vertex" />
+<Test name="uvec3_to_bvec2_fragment" />
+<Test name="bvec3_to_vec3_vertex" />
+<Test name="bvec3_to_vec3_fragment" />
+<Test name="bvec3_to_vec2_vertex" />
+<Test name="bvec3_to_vec2_fragment" />
+<Test name="bvec3_to_ivec3_vertex" />
+<Test name="bvec3_to_ivec3_fragment" />
+<Test name="bvec3_to_ivec2_vertex" />
+<Test name="bvec3_to_ivec2_fragment" />
+<Test name="bvec3_to_bvec3_vertex" />
+<Test name="bvec3_to_bvec3_fragment" />
+<Test name="bvec3_to_bvec2_vertex" />
+<Test name="bvec3_to_bvec2_fragment" />
+<Test name="vec3_to_uvec3_vertex" />
+<Test name="vec3_to_uvec3_fragment" />
+<Test name="vec3_to_uvec2_vertex" />
+<Test name="vec3_to_uvec2_fragment" />
+<Test name="ivec3_to_uvec3_vertex" />
+<Test name="ivec3_to_uvec3_fragment" />
+<Test name="ivec3_to_uvec2_vertex" />
+<Test name="ivec3_to_uvec2_fragment" />
+<Test name="uvec3_to_uvec3_vertex" />
+<Test name="uvec3_to_uvec3_fragment" />
+<Test name="uvec3_to_uvec2_vertex" />
+<Test name="uvec3_to_uvec2_fragment" />
+<Test name="bvec3_to_uvec3_vertex" />
+<Test name="bvec3_to_uvec3_fragment" />
+<Test name="bvec3_to_uvec2_vertex" />
+<Test name="bvec3_to_uvec2_fragment" />
+<Test name="vec2_to_vec2_vertex" />
+<Test name="vec2_to_vec2_fragment" />
+<Test name="vec2_to_ivec2_vertex" />
+<Test name="vec2_to_ivec2_fragment" />
+<Test name="vec2_to_bvec2_vertex" />
+<Test name="vec2_to_bvec2_fragment" />
+<Test name="ivec2_to_vec2_vertex" />
+<Test name="ivec2_to_vec2_fragment" />
+<Test name="ivec2_to_ivec2_vertex" />
+<Test name="ivec2_to_ivec2_fragment" />
+<Test name="ivec2_to_bvec2_vertex" />
+<Test name="ivec2_to_bvec2_fragment" />
+<Test name="uvec2_to_vec2_vertex" />
+<Test name="uvec2_to_vec2_fragment" />
+<Test name="uvec2_to_ivec2_vertex" />
+<Test name="uvec2_to_ivec2_fragment" />
+<Test name="uvec2_to_bvec2_vertex" />
+<Test name="uvec2_to_bvec2_fragment" />
+<Test name="bvec2_to_vec2_vertex" />
+<Test name="bvec2_to_vec2_fragment" />
+<Test name="bvec2_to_ivec2_vertex" />
+<Test name="bvec2_to_ivec2_fragment" />
+<Test name="bvec2_to_bvec2_vertex" />
+<Test name="bvec2_to_bvec2_fragment" />
+<Test name="vec2_to_uvec2_vertex" />
+<Test name="vec2_to_uvec2_fragment" />
+<Test name="ivec2_to_uvec2_vertex" />
+<Test name="ivec2_to_uvec2_fragment" />
+<Test name="uvec2_to_uvec2_vertex" />
+<Test name="uvec2_to_uvec2_fragment" />
+<Test name="bvec2_to_uvec2_vertex" />
+<Test name="bvec2_to_uvec2_fragment" />
 </TestCase>
-</TestSuite>
-<TestCase name="add_assign">
-<Test name="mediump_mat2x4_float_fragment" />
-<Test name="lowp_mat4x3_float_vertex" />
-<Test name="mediump_mat4x3_float_vertex" />
-<Test name="highp_mat3_float_vertex" />
-<Test name="mediump_mat3_float_vertex" />
-<Test name="highp_mat2x4_float_vertex" />
-<Test name="lowp_mat3x2_float_vertex" />
-<Test name="highp_mat2x4_float_fragment" />
-<Test name="highp_mat2_float_fragment" />
-<Test name="lowp_mat3x4_float_fragment" />
-<Test name="highp_mat3x4_float_vertex" />
-<Test name="highp_mat4x2_float_fragment" />
-<Test name="highp_mat4_float_vertex" />
-<Test name="mediump_mat4x2_float_fragment" />
-<Test name="lowp_mat4_float_fragment" />
-<Test name="mediump_mat3x4_float_fragment" />
-<Test name="highp_mat2x3_float_vertex" />
-<Test name="mediump_mat3x4_float_vertex" />
-<Test name="mediump_mat2_float_vertex" />
-<Test name="mediump_mat2x3_float_fragment" />
-<Test name="lowp_mat2_float_vertex" />
-<Test name="lowp_mat3x2_float_fragment" />
-<Test name="mediump_mat4_float_fragment" />
-<Test name="highp_mat2_float_vertex" />
-<Test name="lowp_mat2x4_float_fragment" />
-<Test name="lowp_mat3_float_fragment" />
-<Test name="lowp_mat2x4_float_vertex" />
-<Test name="lowp_mat2x3_float_vertex" />
-<Test name="highp_mat3x4_float_fragment" />
-<Test name="mediump_mat3_float_fragment" />
-<Test name="highp_mat4x2_float_vertex" />
-<Test name="lowp_mat4_float_vertex" />
-<Test name="highp_mat4x3_float_fragment" />
-<Test name="mediump_mat4x3_float_fragment" />
-<Test name="lowp_mat3x4_float_vertex" />
-<Test name="mediump_mat2_float_fragment" />
-<Test name="mediump_mat3x2_float_fragment" />
-<Test name="mediump_mat4x2_float_vertex" />
-<Test name="lowp_mat2x3_float_fragment" />
-<Test name="mediump_mat3x2_float_vertex" />
-<Test name="highp_mat2x3_float_fragment" />
-<Test name="highp_mat4_float_fragment" />
-<Test name="highp_mat3x2_float_vertex" />
-<Test name="lowp_mat4x3_float_fragment" />
-<Test name="lowp_mat2_float_fragment" />
-<Test name="mediump_mat2x3_float_vertex" />
-<Test name="highp_mat3x2_float_fragment" />
-<Test name="lowp_mat4x2_float_fragment" />
-<Test name="lowp_mat4x2_float_vertex" />
-<Test name="highp_mat3_float_fragment" />
-<Test name="highp_mat4x3_float_vertex" />
-<Test name="mediump_mat4_float_vertex" />
-<Test name="lowp_mat3_float_vertex" />
-<Test name="mediump_mat2x4_float_vertex" />
+<TestCase name="scalar_to_matrix">
+<Test name="float_to_mat4_vertex" />
+<Test name="float_to_mat4_fragment" />
+<Test name="float_to_mat4x3_vertex" />
+<Test name="float_to_mat4x3_fragment" />
+<Test name="float_to_mat4x2_vertex" />
+<Test name="float_to_mat4x2_fragment" />
+<Test name="float_to_mat3x4_vertex" />
+<Test name="float_to_mat3x4_fragment" />
+<Test name="float_to_mat3_vertex" />
+<Test name="float_to_mat3_fragment" />
+<Test name="float_to_mat3x2_vertex" />
+<Test name="float_to_mat3x2_fragment" />
+<Test name="float_to_mat2x4_vertex" />
+<Test name="float_to_mat2x4_fragment" />
+<Test name="float_to_mat2x3_vertex" />
+<Test name="float_to_mat2x3_fragment" />
+<Test name="float_to_mat2_vertex" />
+<Test name="float_to_mat2_fragment" />
+<Test name="int_to_mat4_vertex" />
+<Test name="int_to_mat4_fragment" />
+<Test name="int_to_mat4x3_vertex" />
+<Test name="int_to_mat4x3_fragment" />
+<Test name="int_to_mat4x2_vertex" />
+<Test name="int_to_mat4x2_fragment" />
+<Test name="int_to_mat3x4_vertex" />
+<Test name="int_to_mat3x4_fragment" />
+<Test name="int_to_mat3_vertex" />
+<Test name="int_to_mat3_fragment" />
+<Test name="int_to_mat3x2_vertex" />
+<Test name="int_to_mat3x2_fragment" />
+<Test name="int_to_mat2x4_vertex" />
+<Test name="int_to_mat2x4_fragment" />
+<Test name="int_to_mat2x3_vertex" />
+<Test name="int_to_mat2x3_fragment" />
+<Test name="int_to_mat2_vertex" />
+<Test name="int_to_mat2_fragment" />
+<Test name="uint_to_mat4_vertex" />
+<Test name="uint_to_mat4_fragment" />
+<Test name="uint_to_mat4x3_vertex" />
+<Test name="uint_to_mat4x3_fragment" />
+<Test name="uint_to_mat4x2_vertex" />
+<Test name="uint_to_mat4x2_fragment" />
+<Test name="uint_to_mat3x4_vertex" />
+<Test name="uint_to_mat3x4_fragment" />
+<Test name="uint_to_mat3_vertex" />
+<Test name="uint_to_mat3_fragment" />
+<Test name="uint_to_mat3x2_vertex" />
+<Test name="uint_to_mat3x2_fragment" />
+<Test name="uint_to_mat2x4_vertex" />
+<Test name="uint_to_mat2x4_fragment" />
+<Test name="uint_to_mat2x3_vertex" />
+<Test name="uint_to_mat2x3_fragment" />
+<Test name="uint_to_mat2_vertex" />
+<Test name="uint_to_mat2_fragment" />
+<Test name="bool_to_mat4_vertex" />
+<Test name="bool_to_mat4_fragment" />
+<Test name="bool_to_mat4x3_vertex" />
+<Test name="bool_to_mat4x3_fragment" />
+<Test name="bool_to_mat4x2_vertex" />
+<Test name="bool_to_mat4x2_fragment" />
+<Test name="bool_to_mat3x4_vertex" />
+<Test name="bool_to_mat3x4_fragment" />
+<Test name="bool_to_mat3_vertex" />
+<Test name="bool_to_mat3_fragment" />
+<Test name="bool_to_mat3x2_vertex" />
+<Test name="bool_to_mat3x2_fragment" />
+<Test name="bool_to_mat2x4_vertex" />
+<Test name="bool_to_mat2x4_fragment" />
+<Test name="bool_to_mat2x3_vertex" />
+<Test name="bool_to_mat2x3_fragment" />
+<Test name="bool_to_mat2_vertex" />
+<Test name="bool_to_mat2_fragment" />
+</TestCase>
+<TestCase name="matrix_to_matrix">
+<Test name="mat4_to_mat4_vertex" />
+<Test name="mat4_to_mat4_fragment" />
+<Test name="mat4_to_mat4x3_vertex" />
+<Test name="mat4_to_mat4x3_fragment" />
+<Test name="mat4_to_mat4x2_vertex" />
+<Test name="mat4_to_mat4x2_fragment" />
+<Test name="mat4_to_mat3x4_vertex" />
+<Test name="mat4_to_mat3x4_fragment" />
+<Test name="mat4_to_mat3_vertex" />
+<Test name="mat4_to_mat3_fragment" />
+<Test name="mat4_to_mat3x2_vertex" />
+<Test name="mat4_to_mat3x2_fragment" />
+<Test name="mat4_to_mat2x4_vertex" />
+<Test name="mat4_to_mat2x4_fragment" />
+<Test name="mat4_to_mat2x3_vertex" />
+<Test name="mat4_to_mat2x3_fragment" />
+<Test name="mat4_to_mat2_vertex" />
+<Test name="mat4_to_mat2_fragment" />
+<Test name="mat4x3_to_mat4_vertex" />
+<Test name="mat4x3_to_mat4_fragment" />
+<Test name="mat4x3_to_mat4x3_vertex" />
+<Test name="mat4x3_to_mat4x3_fragment" />
+<Test name="mat4x3_to_mat4x2_vertex" />
+<Test name="mat4x3_to_mat4x2_fragment" />
+<Test name="mat4x3_to_mat3x4_vertex" />
+<Test name="mat4x3_to_mat3x4_fragment" />
+<Test name="mat4x3_to_mat3_vertex" />
+<Test name="mat4x3_to_mat3_fragment" />
+<Test name="mat4x3_to_mat3x2_vertex" />
+<Test name="mat4x3_to_mat3x2_fragment" />
+<Test name="mat4x3_to_mat2x4_vertex" />
+<Test name="mat4x3_to_mat2x4_fragment" />
+<Test name="mat4x3_to_mat2x3_vertex" />
+<Test name="mat4x3_to_mat2x3_fragment" />
+<Test name="mat4x3_to_mat2_vertex" />
+<Test name="mat4x3_to_mat2_fragment" />
+<Test name="mat4x2_to_mat4_vertex" />
+<Test name="mat4x2_to_mat4_fragment" />
+<Test name="mat4x2_to_mat4x3_vertex" />
+<Test name="mat4x2_to_mat4x3_fragment" />
+<Test name="mat4x2_to_mat4x2_vertex" />
+<Test name="mat4x2_to_mat4x2_fragment" />
+<Test name="mat4x2_to_mat3x4_vertex" />
+<Test name="mat4x2_to_mat3x4_fragment" />
+<Test name="mat4x2_to_mat3_vertex" />
+<Test name="mat4x2_to_mat3_fragment" />
+<Test name="mat4x2_to_mat3x2_vertex" />
+<Test name="mat4x2_to_mat3x2_fragment" />
+<Test name="mat4x2_to_mat2x4_vertex" />
+<Test name="mat4x2_to_mat2x4_fragment" />
+<Test name="mat4x2_to_mat2x3_vertex" />
+<Test name="mat4x2_to_mat2x3_fragment" />
+<Test name="mat4x2_to_mat2_vertex" />
+<Test name="mat4x2_to_mat2_fragment" />
+<Test name="mat3x4_to_mat4_vertex" />
+<Test name="mat3x4_to_mat4_fragment" />
+<Test name="mat3x4_to_mat4x3_vertex" />
+<Test name="mat3x4_to_mat4x3_fragment" />
+<Test name="mat3x4_to_mat4x2_vertex" />
+<Test name="mat3x4_to_mat4x2_fragment" />
+<Test name="mat3x4_to_mat3x4_vertex" />
+<Test name="mat3x4_to_mat3x4_fragment" />
+<Test name="mat3x4_to_mat3_vertex" />
+<Test name="mat3x4_to_mat3_fragment" />
+<Test name="mat3x4_to_mat3x2_vertex" />
+<Test name="mat3x4_to_mat3x2_fragment" />
+<Test name="mat3x4_to_mat2x4_vertex" />
+<Test name="mat3x4_to_mat2x4_fragment" />
+<Test name="mat3x4_to_mat2x3_vertex" />
+<Test name="mat3x4_to_mat2x3_fragment" />
+<Test name="mat3x4_to_mat2_vertex" />
+<Test name="mat3x4_to_mat2_fragment" />
+<Test name="mat3_to_mat4_vertex" />
+<Test name="mat3_to_mat4_fragment" />
+<Test name="mat3_to_mat4x3_vertex" />
+<Test name="mat3_to_mat4x3_fragment" />
+<Test name="mat3_to_mat4x2_vertex" />
+<Test name="mat3_to_mat4x2_fragment" />
+<Test name="mat3_to_mat3x4_vertex" />
+<Test name="mat3_to_mat3x4_fragment" />
+<Test name="mat3_to_mat3_vertex" />
+<Test name="mat3_to_mat3_fragment" />
+<Test name="mat3_to_mat3x2_vertex" />
+<Test name="mat3_to_mat3x2_fragment" />
+<Test name="mat3_to_mat2x4_vertex" />
+<Test name="mat3_to_mat2x4_fragment" />
+<Test name="mat3_to_mat2x3_vertex" />
+<Test name="mat3_to_mat2x3_fragment" />
+<Test name="mat3_to_mat2_vertex" />
+<Test name="mat3_to_mat2_fragment" />
+<Test name="mat3x2_to_mat4_vertex" />
+<Test name="mat3x2_to_mat4_fragment" />
+<Test name="mat3x2_to_mat4x3_vertex" />
+<Test name="mat3x2_to_mat4x3_fragment" />
+<Test name="mat3x2_to_mat4x2_vertex" />
+<Test name="mat3x2_to_mat4x2_fragment" />
+<Test name="mat3x2_to_mat3x4_vertex" />
+<Test name="mat3x2_to_mat3x4_fragment" />
+<Test name="mat3x2_to_mat3_vertex" />
+<Test name="mat3x2_to_mat3_fragment" />
+<Test name="mat3x2_to_mat3x2_vertex" />
+<Test name="mat3x2_to_mat3x2_fragment" />
+<Test name="mat3x2_to_mat2x4_vertex" />
+<Test name="mat3x2_to_mat2x4_fragment" />
+<Test name="mat3x2_to_mat2x3_vertex" />
+<Test name="mat3x2_to_mat2x3_fragment" />
+<Test name="mat3x2_to_mat2_vertex" />
+<Test name="mat3x2_to_mat2_fragment" />
+<Test name="mat2x4_to_mat4_vertex" />
+<Test name="mat2x4_to_mat4_fragment" />
+<Test name="mat2x4_to_mat4x3_vertex" />
+<Test name="mat2x4_to_mat4x3_fragment" />
+<Test name="mat2x4_to_mat4x2_vertex" />
+<Test name="mat2x4_to_mat4x2_fragment" />
+<Test name="mat2x4_to_mat3x4_vertex" />
+<Test name="mat2x4_to_mat3x4_fragment" />
+<Test name="mat2x4_to_mat3_vertex" />
+<Test name="mat2x4_to_mat3_fragment" />
+<Test name="mat2x4_to_mat3x2_vertex" />
+<Test name="mat2x4_to_mat3x2_fragment" />
+<Test name="mat2x4_to_mat2x4_vertex" />
+<Test name="mat2x4_to_mat2x4_fragment" />
+<Test name="mat2x4_to_mat2x3_vertex" />
+<Test name="mat2x4_to_mat2x3_fragment" />
+<Test name="mat2x4_to_mat2_vertex" />
+<Test name="mat2x4_to_mat2_fragment" />
+<Test name="mat2x3_to_mat4_vertex" />
+<Test name="mat2x3_to_mat4_fragment" />
+<Test name="mat2x3_to_mat4x3_vertex" />
+<Test name="mat2x3_to_mat4x3_fragment" />
+<Test name="mat2x3_to_mat4x2_vertex" />
+<Test name="mat2x3_to_mat4x2_fragment" />
+<Test name="mat2x3_to_mat3x4_vertex" />
+<Test name="mat2x3_to_mat3x4_fragment" />
+<Test name="mat2x3_to_mat3_vertex" />
+<Test name="mat2x3_to_mat3_fragment" />
+<Test name="mat2x3_to_mat3x2_vertex" />
+<Test name="mat2x3_to_mat3x2_fragment" />
+<Test name="mat2x3_to_mat2x4_vertex" />
+<Test name="mat2x3_to_mat2x4_fragment" />
+<Test name="mat2x3_to_mat2x3_vertex" />
+<Test name="mat2x3_to_mat2x3_fragment" />
+<Test name="mat2x3_to_mat2_vertex" />
+<Test name="mat2x3_to_mat2_fragment" />
+<Test name="mat2_to_mat4_vertex" />
+<Test name="mat2_to_mat4_fragment" />
+<Test name="mat2_to_mat4x3_vertex" />
+<Test name="mat2_to_mat4x3_fragment" />
+<Test name="mat2_to_mat4x2_vertex" />
+<Test name="mat2_to_mat4x2_fragment" />
+<Test name="mat2_to_mat3x4_vertex" />
+<Test name="mat2_to_mat3x4_fragment" />
+<Test name="mat2_to_mat3_vertex" />
+<Test name="mat2_to_mat3_fragment" />
+<Test name="mat2_to_mat3x2_vertex" />
+<Test name="mat2_to_mat3x2_fragment" />
+<Test name="mat2_to_mat2x4_vertex" />
+<Test name="mat2_to_mat2x4_fragment" />
+<Test name="mat2_to_mat2x3_vertex" />
+<Test name="mat2_to_mat2x3_fragment" />
+<Test name="mat2_to_mat2_vertex" />
+<Test name="mat2_to_mat2_fragment" />
 </TestCase>
-<TestSuite name="outerproduct">
-<TestCase name="dynamic">
-<Test name="mediump_mat2x4_float_fragment" />
-<Test name="lowp_mat4x3_float_vertex" />
-<Test name="mediump_mat4x3_float_vertex" />
-<Test name="highp_mat3_float_vertex" />
-<Test name="mediump_mat3_float_vertex" />
-<Test name="highp_mat2x4_float_vertex" />
-<Test name="lowp_mat3x2_float_vertex" />
-<Test name="highp_mat2x4_float_fragment" />
-<Test name="highp_mat2_float_fragment" />
-<Test name="lowp_mat3x4_float_fragment" />
-<Test name="highp_mat3x4_float_vertex" />
-<Test name="highp_mat4x2_float_fragment" />
-<Test name="highp_mat4_float_vertex" />
-<Test name="mediump_mat4x2_float_fragment" />
-<Test name="lowp_mat4_float_fragment" />
-<Test name="mediump_mat3x4_float_fragment" />
-<Test name="highp_mat2x3_float_vertex" />
-<Test name="mediump_mat3x4_float_vertex" />
-<Test name="mediump_mat2_float_vertex" />
-<Test name="mediump_mat2x3_float_fragment" />
-<Test name="lowp_mat2_float_vertex" />
-<Test name="lowp_mat3x2_float_fragment" />
-<Test name="mediump_mat4_float_fragment" />
-<Test name="highp_mat2_float_vertex" />
-<Test name="lowp_mat2x4_float_fragment" />
-<Test name="lowp_mat3_float_fragment" />
-<Test name="lowp_mat2x4_float_vertex" />
-<Test name="lowp_mat2x3_float_vertex" />
-<Test name="highp_mat3x4_float_fragment" />
-<Test name="mediump_mat3_float_fragment" />
-<Test name="highp_mat4x2_float_vertex" />
-<Test name="lowp_mat4_float_vertex" />
-<Test name="highp_mat4x3_float_fragment" />
-<Test name="mediump_mat4x3_float_fragment" />
-<Test name="lowp_mat3x4_float_vertex" />
-<Test name="mediump_mat2_float_fragment" />
-<Test name="mediump_mat3x2_float_fragment" />
-<Test name="mediump_mat4x2_float_vertex" />
-<Test name="lowp_mat2x3_float_fragment" />
-<Test name="mediump_mat3x2_float_vertex" />
-<Test name="highp_mat2x3_float_fragment" />
-<Test name="highp_mat4_float_fragment" />
-<Test name="highp_mat3x2_float_vertex" />
-<Test name="lowp_mat4x3_float_fragment" />
-<Test name="lowp_mat2_float_fragment" />
-<Test name="mediump_mat2x3_float_vertex" />
-<Test name="highp_mat3x2_float_fragment" />
-<Test name="lowp_mat4x2_float_fragment" />
-<Test name="lowp_mat4x2_float_vertex" />
-<Test name="highp_mat3_float_fragment" />
-<Test name="highp_mat4x3_float_vertex" />
-<Test name="mediump_mat4_float_vertex" />
-<Test name="lowp_mat3_float_vertex" />
-<Test name="mediump_mat2x4_float_vertex" />
+<TestCase name="vector_combine">
+<Test name="vec2_vec2_to_vec4_vertex" />
+<Test name="vec2_vec2_to_vec4_fragment" />
+<Test name="vec2_vec2_to_ivec4_vertex" />
+<Test name="vec2_vec2_to_ivec4_fragment" />
+<Test name="vec2_vec2_to_bvec4_vertex" />
+<Test name="vec2_vec2_to_bvec4_fragment" />
+<Test name="bvec2_bvec2_to_vec4_vertex" />
+<Test name="bvec2_bvec2_to_vec4_fragment" />
+<Test name="bvec2_bvec2_to_ivec4_vertex" />
+<Test name="bvec2_bvec2_to_ivec4_fragment" />
+<Test name="bvec2_bvec2_to_bvec4_vertex" />
+<Test name="bvec2_bvec2_to_bvec4_fragment" />
+<Test name="float_float_float_float_to_vec4_vertex" />
+<Test name="float_float_float_float_to_vec4_fragment" />
+<Test name="float_float_float_float_to_ivec4_vertex" />
+<Test name="float_float_float_float_to_ivec4_fragment" />
+<Test name="float_float_float_float_to_bvec4_vertex" />
+<Test name="float_float_float_float_to_bvec4_fragment" />
+<Test name="int_int_int_int_to_vec4_vertex" />
+<Test name="int_int_int_int_to_vec4_fragment" />
+<Test name="int_int_int_int_to_ivec4_vertex" />
+<Test name="int_int_int_int_to_ivec4_fragment" />
+<Test name="int_int_int_int_to_bvec4_vertex" />
+<Test name="int_int_int_int_to_bvec4_fragment" />
+<Test name="uint_uint_uint_uint_to_vec4_vertex" />
+<Test name="uint_uint_uint_uint_to_vec4_fragment" />
+<Test name="uint_uint_uint_uint_to_ivec4_vertex" />
+<Test name="uint_uint_uint_uint_to_ivec4_fragment" />
+<Test name="uint_uint_uint_uint_to_bvec4_vertex" />
+<Test name="uint_uint_uint_uint_to_bvec4_fragment" />
+<Test name="bool_bool_bool_bool_to_vec4_vertex" />
+<Test name="bool_bool_bool_bool_to_vec4_fragment" />
+<Test name="bool_bool_bool_bool_to_ivec4_vertex" />
+<Test name="bool_bool_bool_bool_to_ivec4_fragment" />
+<Test name="bool_bool_bool_bool_to_bvec4_vertex" />
+<Test name="bool_bool_bool_bool_to_bvec4_fragment" />
+<Test name="bool_float_int_bool_to_vec4_vertex" />
+<Test name="bool_float_int_bool_to_vec4_fragment" />
+<Test name="bool_float_int_bool_to_ivec4_vertex" />
+<Test name="bool_float_int_bool_to_ivec4_fragment" />
+<Test name="bool_float_int_bool_to_bvec4_vertex" />
+<Test name="bool_float_int_bool_to_bvec4_fragment" />
+<Test name="vec2_ivec2_to_vec4_vertex" />
+<Test name="vec2_ivec2_to_vec4_fragment" />
+<Test name="vec2_ivec2_to_ivec4_vertex" />
+<Test name="vec2_ivec2_to_ivec4_fragment" />
+<Test name="vec2_ivec2_to_bvec4_vertex" />
+<Test name="vec2_ivec2_to_bvec4_fragment" />
+<Test name="vec2_bvec2_to_vec4_vertex" />
+<Test name="vec2_bvec2_to_vec4_fragment" />
+<Test name="vec2_bvec2_to_ivec4_vertex" />
+<Test name="vec2_bvec2_to_ivec4_fragment" />
+<Test name="vec2_bvec2_to_bvec4_vertex" />
+<Test name="vec2_bvec2_to_bvec4_fragment" />
+<Test name="bvec3_float_to_vec4_vertex" />
+<Test name="bvec3_float_to_vec4_fragment" />
+<Test name="bvec3_float_to_ivec4_vertex" />
+<Test name="bvec3_float_to_ivec4_fragment" />
+<Test name="bvec3_float_to_bvec4_vertex" />
+<Test name="bvec3_float_to_bvec4_fragment" />
+<Test name="vec3_float_to_vec4_vertex" />
+<Test name="vec3_float_to_vec4_fragment" />
+<Test name="vec3_float_to_ivec4_vertex" />
+<Test name="vec3_float_to_ivec4_fragment" />
+<Test name="vec3_float_to_bvec4_vertex" />
+<Test name="vec3_float_to_bvec4_fragment" />
+<Test name="int_ivec2_int_to_vec4_vertex" />
+<Test name="int_ivec2_int_to_vec4_fragment" />
+<Test name="int_ivec2_int_to_ivec4_vertex" />
+<Test name="int_ivec2_int_to_ivec4_fragment" />
+<Test name="int_ivec2_int_to_bvec4_vertex" />
+<Test name="int_ivec2_int_to_bvec4_fragment" />
+<Test name="bool_float_ivec2_to_vec4_vertex" />
+<Test name="bool_float_ivec2_to_vec4_fragment" />
+<Test name="bool_float_ivec2_to_ivec4_vertex" />
+<Test name="bool_float_ivec2_to_ivec4_fragment" />
+<Test name="bool_float_ivec2_to_bvec4_vertex" />
+<Test name="bool_float_ivec2_to_bvec4_fragment" />
+<Test name="float_uvec3_to_vec4_vertex" />
+<Test name="float_uvec3_to_vec4_fragment" />
+<Test name="float_uvec3_to_ivec4_vertex" />
+<Test name="float_uvec3_to_ivec4_fragment" />
+<Test name="float_uvec3_to_bvec4_vertex" />
+<Test name="float_uvec3_to_bvec4_fragment" />
+<Test name="int_uvec2_bool_to_vec4_vertex" />
+<Test name="int_uvec2_bool_to_vec4_fragment" />
+<Test name="int_uvec2_bool_to_ivec4_vertex" />
+<Test name="int_uvec2_bool_to_ivec4_fragment" />
+<Test name="int_uvec2_bool_to_bvec4_vertex" />
+<Test name="int_uvec2_bool_to_bvec4_fragment" />
+<Test name="vec2_vec2_to_uvec4_vertex" />
+<Test name="vec2_vec2_to_uvec4_fragment" />
+<Test name="bvec2_bvec2_to_uvec4_vertex" />
+<Test name="bvec2_bvec2_to_uvec4_fragment" />
+<Test name="float_float_float_float_to_uvec4_vertex" />
+<Test name="float_float_float_float_to_uvec4_fragment" />
+<Test name="int_int_int_int_to_uvec4_vertex" />
+<Test name="int_int_int_int_to_uvec4_fragment" />
+<Test name="uint_uint_uint_uint_to_uvec4_vertex" />
+<Test name="uint_uint_uint_uint_to_uvec4_fragment" />
+<Test name="bool_bool_bool_bool_to_uvec4_vertex" />
+<Test name="bool_bool_bool_bool_to_uvec4_fragment" />
+<Test name="bool_float_int_bool_to_uvec4_vertex" />
+<Test name="bool_float_int_bool_to_uvec4_fragment" />
+<Test name="vec2_ivec2_to_uvec4_vertex" />
+<Test name="vec2_ivec2_to_uvec4_fragment" />
+<Test name="vec2_bvec2_to_uvec4_vertex" />
+<Test name="vec2_bvec2_to_uvec4_fragment" />
+<Test name="bvec3_float_to_uvec4_vertex" />
+<Test name="bvec3_float_to_uvec4_fragment" />
+<Test name="vec3_float_to_uvec4_vertex" />
+<Test name="vec3_float_to_uvec4_fragment" />
+<Test name="int_ivec2_int_to_uvec4_vertex" />
+<Test name="int_ivec2_int_to_uvec4_fragment" />
+<Test name="bool_float_ivec2_to_uvec4_vertex" />
+<Test name="bool_float_ivec2_to_uvec4_fragment" />
+<Test name="float_uvec3_to_uvec4_vertex" />
+<Test name="float_uvec3_to_uvec4_fragment" />
+<Test name="int_uvec2_bool_to_uvec4_vertex" />
+<Test name="int_uvec2_bool_to_uvec4_fragment" />
+<Test name="float_float_float_to_vec3_vertex" />
+<Test name="float_float_float_to_vec3_fragment" />
+<Test name="float_float_float_to_ivec3_vertex" />
+<Test name="float_float_float_to_ivec3_fragment" />
+<Test name="float_float_float_to_bvec3_vertex" />
+<Test name="float_float_float_to_bvec3_fragment" />
+<Test name="int_int_int_to_vec3_vertex" />
+<Test name="int_int_int_to_vec3_fragment" />
+<Test name="int_int_int_to_ivec3_vertex" />
+<Test name="int_int_int_to_ivec3_fragment" />
+<Test name="int_int_int_to_bvec3_vertex" />
+<Test name="int_int_int_to_bvec3_fragment" />
+<Test name="uint_uint_uint_to_vec3_vertex" />
+<Test name="uint_uint_uint_to_vec3_fragment" />
+<Test name="uint_uint_uint_to_ivec3_vertex" />
+<Test name="uint_uint_uint_to_ivec3_fragment" />
+<Test name="uint_uint_uint_to_bvec3_vertex" />
+<Test name="uint_uint_uint_to_bvec3_fragment" />
+<Test name="bool_bool_bool_to_vec3_vertex" />
+<Test name="bool_bool_bool_to_vec3_fragment" />
+<Test name="bool_bool_bool_to_ivec3_vertex" />
+<Test name="bool_bool_bool_to_ivec3_fragment" />
+<Test name="bool_bool_bool_to_bvec3_vertex" />
+<Test name="bool_bool_bool_to_bvec3_fragment" />
+<Test name="bool_float_int_to_vec3_vertex" />
+<Test name="bool_float_int_to_vec3_fragment" />
+<Test name="bool_float_int_to_ivec3_vertex" />
+<Test name="bool_float_int_to_ivec3_fragment" />
+<Test name="bool_float_int_to_bvec3_vertex" />
+<Test name="bool_float_int_to_bvec3_fragment" />
+<Test name="vec2_bool_to_vec3_vertex" />
+<Test name="vec2_bool_to_vec3_fragment" />
+<Test name="vec2_bool_to_ivec3_vertex" />
+<Test name="vec2_bool_to_ivec3_fragment" />
+<Test name="vec2_bool_to_bvec3_vertex" />
+<Test name="vec2_bool_to_bvec3_fragment" />
+<Test name="bvec2_float_to_vec3_vertex" />
+<Test name="bvec2_float_to_vec3_fragment" />
+<Test name="bvec2_float_to_ivec3_vertex" />
+<Test name="bvec2_float_to_ivec3_fragment" />
+<Test name="bvec2_float_to_bvec3_vertex" />
+<Test name="bvec2_float_to_bvec3_fragment" />
+<Test name="bvec2_int_to_vec3_vertex" />
+<Test name="bvec2_int_to_vec3_fragment" />
+<Test name="bvec2_int_to_ivec3_vertex" />
+<Test name="bvec2_int_to_ivec3_fragment" />
+<Test name="bvec2_int_to_bvec3_vertex" />
+<Test name="bvec2_int_to_bvec3_fragment" />
+<Test name="bool_ivec2_to_vec3_vertex" />
+<Test name="bool_ivec2_to_vec3_fragment" />
+<Test name="bool_ivec2_to_ivec3_vertex" />
+<Test name="bool_ivec2_to_ivec3_fragment" />
+<Test name="bool_ivec2_to_bvec3_vertex" />
+<Test name="bool_ivec2_to_bvec3_fragment" />
+<Test name="float_uvec2_to_vec3_vertex" />
+<Test name="float_uvec2_to_vec3_fragment" />
+<Test name="float_uvec2_to_ivec3_vertex" />
+<Test name="float_uvec2_to_ivec3_fragment" />
+<Test name="float_uvec2_to_bvec3_vertex" />
+<Test name="float_uvec2_to_bvec3_fragment" />
+<Test name="float_float_float_to_uvec3_vertex" />
+<Test name="float_float_float_to_uvec3_fragment" />
+<Test name="int_int_int_to_uvec3_vertex" />
+<Test name="int_int_int_to_uvec3_fragment" />
+<Test name="uint_uint_uint_to_uvec3_vertex" />
+<Test name="uint_uint_uint_to_uvec3_fragment" />
+<Test name="bool_bool_bool_to_uvec3_vertex" />
+<Test name="bool_bool_bool_to_uvec3_fragment" />
+<Test name="bool_float_int_to_uvec3_vertex" />
+<Test name="bool_float_int_to_uvec3_fragment" />
+<Test name="vec2_bool_to_uvec3_vertex" />
+<Test name="vec2_bool_to_uvec3_fragment" />
+<Test name="bvec2_float_to_uvec3_vertex" />
+<Test name="bvec2_float_to_uvec3_fragment" />
+<Test name="bvec2_int_to_uvec3_vertex" />
+<Test name="bvec2_int_to_uvec3_fragment" />
+<Test name="bool_ivec2_to_uvec3_vertex" />
+<Test name="bool_ivec2_to_uvec3_fragment" />
+<Test name="float_uvec2_to_uvec3_vertex" />
+<Test name="float_uvec2_to_uvec3_fragment" />
+<Test name="float_float_to_vec2_vertex" />
+<Test name="float_float_to_vec2_fragment" />
+<Test name="float_float_to_ivec2_vertex" />
+<Test name="float_float_to_ivec2_fragment" />
+<Test name="float_float_to_bvec2_vertex" />
+<Test name="float_float_to_bvec2_fragment" />
+<Test name="int_int_to_vec2_vertex" />
+<Test name="int_int_to_vec2_fragment" />
+<Test name="int_int_to_ivec2_vertex" />
+<Test name="int_int_to_ivec2_fragment" />
+<Test name="int_int_to_bvec2_vertex" />
+<Test name="int_int_to_bvec2_fragment" />
+<Test name="uint_uint_to_vec2_vertex" />
+<Test name="uint_uint_to_vec2_fragment" />
+<Test name="uint_uint_to_ivec2_vertex" />
+<Test name="uint_uint_to_ivec2_fragment" />
+<Test name="uint_uint_to_bvec2_vertex" />
+<Test name="uint_uint_to_bvec2_fragment" />
+<Test name="bool_bool_to_vec2_vertex" />
+<Test name="bool_bool_to_vec2_fragment" />
+<Test name="bool_bool_to_ivec2_vertex" />
+<Test name="bool_bool_to_ivec2_fragment" />
+<Test name="bool_bool_to_bvec2_vertex" />
+<Test name="bool_bool_to_bvec2_fragment" />
+<Test name="float_int_to_vec2_vertex" />
+<Test name="float_int_to_vec2_fragment" />
+<Test name="float_int_to_ivec2_vertex" />
+<Test name="float_int_to_ivec2_fragment" />
+<Test name="float_int_to_bvec2_vertex" />
+<Test name="float_int_to_bvec2_fragment" />
+<Test name="float_bool_to_vec2_vertex" />
+<Test name="float_bool_to_vec2_fragment" />
+<Test name="float_bool_to_ivec2_vertex" />
+<Test name="float_bool_to_ivec2_fragment" />
+<Test name="float_bool_to_bvec2_vertex" />
+<Test name="float_bool_to_bvec2_fragment" />
+<Test name="int_bool_to_vec2_vertex" />
+<Test name="int_bool_to_vec2_fragment" />
+<Test name="int_bool_to_ivec2_vertex" />
+<Test name="int_bool_to_ivec2_fragment" />
+<Test name="int_bool_to_bvec2_vertex" />
+<Test name="int_bool_to_bvec2_fragment" />
+<Test name="int_uint_to_vec2_vertex" />
+<Test name="int_uint_to_vec2_fragment" />
+<Test name="int_uint_to_ivec2_vertex" />
+<Test name="int_uint_to_ivec2_fragment" />
+<Test name="int_uint_to_bvec2_vertex" />
+<Test name="int_uint_to_bvec2_fragment" />
+<Test name="uint_float_to_vec2_vertex" />
+<Test name="uint_float_to_vec2_fragment" />
+<Test name="uint_float_to_ivec2_vertex" />
+<Test name="uint_float_to_ivec2_fragment" />
+<Test name="uint_float_to_bvec2_vertex" />
+<Test name="uint_float_to_bvec2_fragment" />
+<Test name="float_float_to_uvec2_vertex" />
+<Test name="float_float_to_uvec2_fragment" />
+<Test name="int_int_to_uvec2_vertex" />
+<Test name="int_int_to_uvec2_fragment" />
+<Test name="uint_uint_to_uvec2_vertex" />
+<Test name="uint_uint_to_uvec2_fragment" />
+<Test name="bool_bool_to_uvec2_vertex" />
+<Test name="bool_bool_to_uvec2_fragment" />
+<Test name="float_int_to_uvec2_vertex" />
+<Test name="float_int_to_uvec2_fragment" />
+<Test name="float_bool_to_uvec2_vertex" />
+<Test name="float_bool_to_uvec2_fragment" />
+<Test name="int_bool_to_uvec2_vertex" />
+<Test name="int_bool_to_uvec2_fragment" />
+<Test name="int_uint_to_uvec2_vertex" />
+<Test name="int_uint_to_uvec2_fragment" />
+<Test name="uint_float_to_uvec2_vertex" />
+<Test name="uint_float_to_uvec2_fragment" />
+</TestCase>
+<TestCase name="matrix_combine">
+<Test name="vec2_vec2_to_mat2_vertex" />
+<Test name="vec2_vec2_to_mat2_fragment" />
+<Test name="bvec2_bvec2_to_mat2_vertex" />
+<Test name="bvec2_bvec2_to_mat2_fragment" />
+<Test name="float_float_float_float_to_mat2_vertex" />
+<Test name="float_float_float_float_to_mat2_fragment" />
+<Test name="int_int_int_int_to_mat2_vertex" />
+<Test name="int_int_int_int_to_mat2_fragment" />
+<Test name="uint_uint_uint_uint_to_mat2_vertex" />
+<Test name="uint_uint_uint_uint_to_mat2_fragment" />
+<Test name="bool_bool_bool_bool_to_mat2_vertex" />
+<Test name="bool_bool_bool_bool_to_mat2_fragment" />
+<Test name="bool_float_int_bool_to_mat2_vertex" />
+<Test name="bool_float_int_bool_to_mat2_fragment" />
+<Test name="vec2_ivec2_to_mat2_vertex" />
+<Test name="vec2_ivec2_to_mat2_fragment" />
+<Test name="vec2_bvec2_to_mat2_vertex" />
+<Test name="vec2_bvec2_to_mat2_fragment" />
+<Test name="bvec3_float_to_mat2_vertex" />
+<Test name="bvec3_float_to_mat2_fragment" />
+<Test name="vec3_float_to_mat2_vertex" />
+<Test name="vec3_float_to_mat2_fragment" />
+<Test name="int_ivec2_int_to_mat2_vertex" />
+<Test name="int_ivec2_int_to_mat2_fragment" />
+<Test name="bool_float_ivec2_to_mat2_vertex" />
+<Test name="bool_float_ivec2_to_mat2_fragment" />
+<Test name="float_uvec3_to_mat2_vertex" />
+<Test name="float_uvec3_to_mat2_fragment" />
+<Test name="int_uvec2_bool_to_mat2_vertex" />
+<Test name="int_uvec2_bool_to_mat2_fragment" />
+<Test name="vec3_vec3_to_mat2x3_vertex" />
+<Test name="vec3_vec3_to_mat2x3_fragment" />
+<Test name="bvec3_bvec3_to_mat2x3_vertex" />
+<Test name="bvec3_bvec3_to_mat2x3_fragment" />
+<Test name="float_float_float_float_float_float_to_mat2x3_vertex" />
+<Test name="float_float_float_float_float_float_to_mat2x3_fragment" />
+<Test name="int_int_int_int_int_int_to_mat2x3_vertex" />
+<Test name="int_int_int_int_int_int_to_mat2x3_fragment" />
+<Test name="bool_bool_bool_bool_bool_bool_to_mat2x3_vertex" />
+<Test name="bool_bool_bool_bool_bool_bool_to_mat2x3_fragment" />
+<Test name="bool_float_int_bool_float_int_to_mat2x3_vertex" />
+<Test name="bool_float_int_bool_float_int_to_mat2x3_fragment" />
+<Test name="vec3_ivec3_to_mat2x3_vertex" />
+<Test name="vec3_ivec3_to_mat2x3_fragment" />
+<Test name="vec2_bvec4_to_mat2x3_vertex" />
+<Test name="vec2_bvec4_to_mat2x3_fragment" />
+<Test name="bvec3_float_ivec2_to_mat2x3_vertex" />
+<Test name="bvec3_float_ivec2_to_mat2x3_fragment" />
+<Test name="vec3_float_bvec2_to_mat2x3_vertex" />
+<Test name="vec3_float_bvec2_to_mat2x3_fragment" />
+<Test name="vec3_vec3_vec2_to_mat2x4_vertex" />
+<Test name="vec3_vec3_vec2_to_mat2x4_fragment" />
+<Test name="ivec3_ivec3_ivec2_to_mat2x4_vertex" />
+<Test name="ivec3_ivec3_ivec2_to_mat2x4_fragment" />
+<Test name="vec2_ivec2_float_float_int_bool_to_mat2x4_vertex" />
+<Test name="vec2_ivec2_float_float_int_bool_to_mat2x4_fragment" />
+<Test name="bool_float_int_vec2_bool_bvec2_to_mat2x4_vertex" />
+<Test name="bool_float_int_vec2_bool_bvec2_to_mat2x4_fragment" />
+<Test name="bool_bvec2_int_vec4_to_mat2x4_vertex" />
+<Test name="bool_bvec2_int_vec4_to_mat2x4_fragment" />
+<Test name="float_bvec4_ivec2_bool_to_mat2x4_vertex" />
+<Test name="float_bvec4_ivec2_bool_to_mat2x4_fragment" />
+<Test name="vec3_vec3_to_mat3x2_vertex" />
+<Test name="vec3_vec3_to_mat3x2_fragment" />
+<Test name="bvec3_bvec3_to_mat3x2_vertex" />
+<Test name="bvec3_bvec3_to_mat3x2_fragment" />
+<Test name="float_float_float_float_float_float_to_mat3x2_vertex" />
+<Test name="float_float_float_float_float_float_to_mat3x2_fragment" />
+<Test name="int_int_int_int_int_int_to_mat3x2_vertex" />
+<Test name="int_int_int_int_int_int_to_mat3x2_fragment" />
+<Test name="bool_bool_bool_bool_bool_bool_to_mat3x2_vertex" />
+<Test name="bool_bool_bool_bool_bool_bool_to_mat3x2_fragment" />
+<Test name="bool_float_int_bool_float_int_to_mat3x2_vertex" />
+<Test name="bool_float_int_bool_float_int_to_mat3x2_fragment" />
+<Test name="vec3_ivec3_to_mat3x2_vertex" />
+<Test name="vec3_ivec3_to_mat3x2_fragment" />
+<Test name="vec2_bvec4_to_mat3x2_vertex" />
+<Test name="vec2_bvec4_to_mat3x2_fragment" />
+<Test name="bvec3_float_ivec2_to_mat3x2_vertex" />
+<Test name="bvec3_float_ivec2_to_mat3x2_fragment" />
+<Test name="vec3_float_bvec2_to_mat3x2_vertex" />
+<Test name="vec3_float_bvec2_to_mat3x2_fragment" />
+<Test name="vec3_vec3_vec3_to_mat3_vertex" />
+<Test name="vec3_vec3_vec3_to_mat3_fragment" />
+<Test name="ivec3_ivec3_ivec3_to_mat3_vertex" />
+<Test name="ivec3_ivec3_ivec3_to_mat3_fragment" />
+<Test name="vec2_ivec2_float_float_int_bool_bool_to_mat3_vertex" />
+<Test name="vec2_ivec2_float_float_int_bool_bool_to_mat3_fragment" />
+<Test name="bool_float_int_vec2_bool_bvec2_float_to_mat3_vertex" />
+<Test name="bool_float_int_vec2_bool_bvec2_float_to_mat3_fragment" />
+<Test name="bool_bvec2_int_vec4_bool_to_mat3_vertex" />
+<Test name="bool_bvec2_int_vec4_bool_to_mat3_fragment" />
+<Test name="float_bvec4_ivec2_bool_bool_to_mat3_vertex" />
+<Test name="float_bvec4_ivec2_bool_bool_to_mat3_fragment" />
+<Test name="vec4_vec4_vec4_to_mat3x4_vertex" />
+<Test name="vec4_vec4_vec4_to_mat3x4_fragment" />
+<Test name="ivec4_ivec4_ivec4_to_mat3x4_vertex" />
+<Test name="ivec4_ivec4_ivec4_to_mat3x4_fragment" />
+<Test name="vec2_ivec2_float_float_float_int_int_bool_bool_bool_to_mat3x4_vertex" />
+<Test name="vec2_ivec2_float_float_float_int_int_bool_bool_bool_to_mat3x4_fragment" />
+<Test name="bool_float_int_vec3_bool_bvec3_float_bool_to_mat3x4_vertex" />
+<Test name="bool_float_int_vec3_bool_bvec3_float_bool_to_mat3x4_fragment" />
+<Test name="bool_bvec4_int_vec4_bool_float_to_mat3x4_vertex" />
+<Test name="bool_bvec4_int_vec4_bool_float_to_mat3x4_fragment" />
+<Test name="float_bvec4_ivec4_bool_bool_int_to_mat3x4_vertex" />
+<Test name="float_bvec4_ivec4_bool_bool_int_to_mat3x4_fragment" />
+<Test name="vec3_vec3_vec2_to_mat4x2_vertex" />
+<Test name="vec3_vec3_vec2_to_mat4x2_fragment" />
+<Test name="ivec3_ivec3_ivec2_to_mat4x2_vertex" />
+<Test name="ivec3_ivec3_ivec2_to_mat4x2_fragment" />
+<Test name="vec2_ivec2_float_float_int_bool_to_mat4x2_vertex" />
+<Test name="vec2_ivec2_float_float_int_bool_to_mat4x2_fragment" />
+<Test name="bool_float_int_vec2_bool_bvec2_to_mat4x2_vertex" />
+<Test name="bool_float_int_vec2_bool_bvec2_to_mat4x2_fragment" />
+<Test name="bool_bvec2_int_vec4_to_mat4x2_vertex" />
+<Test name="bool_bvec2_int_vec4_to_mat4x2_fragment" />
+<Test name="float_bvec4_ivec2_bool_to_mat4x2_vertex" />
+<Test name="float_bvec4_ivec2_bool_to_mat4x2_fragment" />
+<Test name="vec4_vec4_vec4_to_mat4x3_vertex" />
+<Test name="vec4_vec4_vec4_to_mat4x3_fragment" />
+<Test name="ivec4_ivec4_ivec4_to_mat4x3_vertex" />
+<Test name="ivec4_ivec4_ivec4_to_mat4x3_fragment" />
+<Test name="vec2_ivec2_float_float_float_int_int_bool_bool_bool_to_mat4x3_vertex" />
+<Test name="vec2_ivec2_float_float_float_int_int_bool_bool_bool_to_mat4x3_fragment" />
+<Test name="bool_float_int_vec3_bool_bvec3_float_bool_to_mat4x3_vertex" />
+<Test name="bool_float_int_vec3_bool_bvec3_float_bool_to_mat4x3_fragment" />
+<Test name="bool_bvec4_int_vec4_bool_float_to_mat4x3_vertex" />
+<Test name="bool_bvec4_int_vec4_bool_float_to_mat4x3_fragment" />
+<Test name="float_bvec4_ivec4_bool_bool_int_to_mat4x3_vertex" />
+<Test name="float_bvec4_ivec4_bool_bool_int_to_mat4x3_fragment" />
+<Test name="vec4_vec4_vec4_vec4_to_mat4_vertex" />
+<Test name="vec4_vec4_vec4_vec4_to_mat4_fragment" />
+<Test name="ivec4_ivec4_ivec4_ivec4_to_mat4_vertex" />
+<Test name="ivec4_ivec4_ivec4_ivec4_to_mat4_fragment" />
+<Test name="bvec4_bvec4_bvec4_bvec4_to_mat4_vertex" />
+<Test name="bvec4_bvec4_bvec4_bvec4_to_mat4_fragment" />
+<Test name="float_ivec3_bvec3_vec4_ivec2_float_vec2_to_mat4_vertex" />
+<Test name="float_ivec3_bvec3_vec4_ivec2_float_vec2_to_mat4_fragment" />
+</TestCase>
+</TestSuite>
+<TestSuite name="conditionals">
+<TestCase name="if">
+<Test name="single_statement_vertex" />
+<Test name="single_statement_fragment" />
+<Test name="compound_statement_vertex" />
+<Test name="compound_statement_fragment" />
+<Test name="sequence_statements_vertex" />
+<Test name="sequence_statements_fragment" />
+<Test name="sequence_condition_vertex" />
+<Test name="sequence_condition_fragment" />
+<Test name="complex_condition_vertex" />
+<Test name="complex_condition_fragment" />
+<Test name="if_else_vertex" />
+<Test name="if_else_fragment" />
+<Test name="if_elseif_vertex" />
+<Test name="if_elseif_fragment" />
+<Test name="if_elseif_else_vertex" />
+<Test name="if_elseif_else_fragment" />
+<Test name="mixed_if_elseif_else_vertex" />
+<Test name="mixed_if_elseif_else_fragment" />
+</TestCase>
+<TestCase name="invalid_if">
+<Test name="missing_parenthesis_vertex" />
+<Test name="missing_parenthesis_fragment" />
+<Test name="unclosed_parenthesis_vertex" />
+<Test name="unclosed_parenthesis_fragment" />
+<Test name="int_condition_vertex" />
+<Test name="int_condition_fragment" />
+<Test name="int_zero_condition_vertex" />
+<Test name="int_zero_condition_fragment" />
+<Test name="int_one_condition_vertex" />
+<Test name="int_one_condition_fragment" />
+<Test name="int_uniform_condition_vertex" />
+<Test name="int_uniform_condition_fragment" />
+<Test name="float_condition_vertex" />
+<Test name="float_condition_fragment" />
+<Test name="float_zero_condition_vertex" />
+<Test name="float_zero_condition_fragment" />
+<Test name="float_one_condition_vertex" />
+<Test name="float_one_condition_fragment" />
+<Test name="sampler_condition_vertex" />
+<Test name="sampler_condition_fragment" />
 </TestCase>
 </TestSuite>
+<TestSuite name="declarations">
+<TestCase name="invalid_declarations">
+<Test name="in_in_vertex_main" />
+<Test name="out_in_vertex_main" />
+<Test name="in_in_fragment_main" />
+<Test name="out_in_fragment_main" />
+<Test name="uniform_in_vertex_main" />
+<Test name="uniform_in_fragment_main" />
+<Test name="uniform_block_in_main_vertex" />
+<Test name="uniform_block_in_main_fragment" />
+<Test name="invariant_uniform_block_1_vertex" />
+<Test name="invariant_uniform_block_1_fragment" />
+<Test name="uniform_block_layout_qualifier_vertex" />
+<Test name="uniform_block_layout_qualifier_fragment" />
+<Test name="uniform_block_member_layout_qualifier_vertex" />
+<Test name="uniform_block_member_layout_qualifier_fragment" />
+<Test name="uniform_block_nested_struct_definition_vertex" />
+<Test name="uniform_block_nested_struct_definition_fragment" />
+<Test name="nested_uniform_block_vertex" />
+<Test name="nested_uniform_block_fragment" />
+<Test name="uniform_block_missing_member_semicolon_vertex" />
+<Test name="uniform_block_missing_member_semicolon_fragment" />
+<Test name="uniform_block_missing_end_semicolon_vertex" />
+<Test name="uniform_block_missing_end_semicolon_fragment" />
+<Test name="uniform_block_duplicate_member_name_1_vertex" />
+<Test name="uniform_block_duplicate_member_name_1_fragment" />
+<Test name="uniform_block_duplicate_member_name_2_vertex" />
+<Test name="uniform_block_duplicate_member_name_2_fragment" />
+<Test name="uniform_block_duplicate_member_name_3_vertex" />
+<Test name="uniform_block_duplicate_member_name_3_fragment" />
+<Test name="uniform_block_duplicate_instance_name_1_vertex" />
+<Test name="uniform_block_duplicate_instance_name_1_fragment" />
+<Test name="uniform_block_duplicate_instance_name_2_vertex" />
+<Test name="uniform_block_duplicate_instance_name_2_fragment" />
+<Test name="uniform_block_duplicate_instance_name_3_vertex" />
+<Test name="uniform_block_duplicate_instance_name_3_fragment" />
+<Test name="uniform_block_array_without_instance_name_1_vertex" />
+<Test name="uniform_block_array_without_instance_name_1_fragment" />
+<Test name="uniform_block_array_without_instance_name_2_vertex" />
+<Test name="uniform_block_array_without_instance_name_2_fragment" />
+</TestCase>
 </TestSuite>
 <TestSuite name="swizzles">
 <TestCase name="vector_swizzles">
-<Test name="mediump_vec2_rr_vertex" />
-<Test name="mediump_vec3_zz_fragment" />
-<Test name="mediump_vec2_yyyy_vertex" />
+<Test name="mediump_vec2_x_vertex" />
+<Test name="mediump_vec2_x_fragment" />
+<Test name="mediump_vec2_xx_vertex" />
 <Test name="mediump_vec2_xx_fragment" />
-<Test name="mediump_ivec3_stp_vertex" />
-<Test name="mediump_vec4_w_fragment" />
-<Test name="mediump_vec2_r_fragment" />
-<Test name="mediump_vec4_wwww_vertex" />
-<Test name="mediump_ivec3_rbr_vertex" />
-<Test name="mediump_ivec3_xyz_fragment" />
-<Test name="mediump_ivec3_yxy_fragment" />
-<Test name="mediump_ivec4_stss_fragment" />
-<Test name="mediump_vec4_xyzw_fragment" />
-<Test name="mediump_ivec2_yyyy_vertex" />
-<Test name="mediump_bvec4_qpts_fragment" />
-<Test name="mediump_ivec4_rgba_vertex" />
-<Test name="mediump_vec2_gr_vertex" />
-<Test name="mediump_ivec3_zzy_vertex" />
-<Test name="mediump_vec2_yx_vertex" />
-<Test name="mediump_bvec3_bbb_fragment" />
-<Test name="mediump_ivec4_stss_vertex" />
-<Test name="mediump_ivec3_xyz_vertex" />
-<Test name="mediump_vec4_aaaa_fragment" />
-<Test name="mediump_ivec2_xx_vertex" />
-<Test name="mediump_vec3_sp_vertex" />
-<Test name="mediump_bvec4_stpq_fragment" />
-<Test name="mediump_ivec4_wwww_vertex" />
-<Test name="mediump_bvec4_qs_vertex" />
-<Test name="mediump_vec2_s_vertex" />
-<Test name="mediump_ivec4_x_vertex" />
-<Test name="mediump_vec3_xxx_vertex" />
-<Test name="mediump_vec4_qpt_vertex" />
-<Test name="mediump_ivec4_ppqp_fragment" />
-<Test name="mediump_ivec3_rrr_fragment" />
-<Test name="mediump_ivec3_rgb_fragment" />
-<Test name="mediump_bvec3_x_fragment" />
-<Test name="mediump_vec4_abg_vertex" />
-<Test name="mediump_vec3_zyx_vertex" />
-<Test name="mediump_bvec3_bbbb_fragment" />
-<Test name="mediump_vec3_grg_vertex" />
-<Test name="mediump_ivec4_rgrr_vertex" />
-<Test name="mediump_ivec4_gga_fragment" />
-<Test name="mediump_vec3_bbb_vertex" />
-<Test name="mediump_ivec4_www_fragment" />
-<Test name="mediump_bvec4_qqqq_fragment" />
-<Test name="mediump_bvec4_aaag_fragment" />
-<Test name="mediump_ivec4_bbab_fragment" />
-<Test name="mediump_vec3_ppt_vertex" />
-<Test name="mediump_bvec3_p_vertex" />
-<Test name="mediump_ivec3_pp_vertex" />
-<Test name="mediump_bvec3_tst_vertex" />
-<Test name="mediump_bvec4_w_vertex" />
-<Test name="mediump_ivec4_xyzw_vertex" />
-<Test name="mediump_bvec4_ar_fragment" />
 <Test name="mediump_vec2_xy_vertex" />
-<Test name="mediump_vec4_gggg_fragment" />
-<Test name="mediump_ivec4_tttt_vertex" />
-<Test name="mediump_vec2_grg_vertex" />
-<Test name="mediump_bvec2_x_fragment" />
-<Test name="mediump_vec2_rg_fragment" />
-<Test name="mediump_bvec3_zzy_fragment" />
-<Test name="mediump_ivec4_wx_fragment" />
-<Test name="mediump_bvec3_xyz_fragment" />
-<Test name="mediump_vec4_aaag_fragment" />
-<Test name="mediump_vec4_stpq_fragment" />
-<Test name="mediump_vec4_wwww_fragment" />
-<Test name="mediump_ivec3_p_fragment" />
-<Test name="mediump_bvec3_tst_fragment" />
-<Test name="mediump_ivec3_x_fragment" />
-<Test name="mediump_ivec4_yyyy_fragment" />
-<Test name="mediump_ivec4_wzy_fragment" />
-<Test name="mediump_bvec4_rrrr_vertex" />
-<Test name="mediump_bvec2_yyyy_fragment" />
-<Test name="mediump_ivec2_gggg_vertex" />
-<Test name="mediump_vec3_bbbb_vertex" />
-<Test name="mediump_bvec3_sp_fragment" />
-<Test name="mediump_ivec3_grg_fragment" />
-<Test name="mediump_ivec4_q_fragment" />
-<Test name="mediump_vec3_rb_fragment" />
-<Test name="mediump_ivec3_s_vertex" />
-<Test name="mediump_vec4_aaa_fragment" />
-<Test name="mediump_ivec3_zyx_vertex" />
-<Test name="mediump_bvec2_xy_vertex" />
-<Test name="mediump_bvec3_zzy_vertex" />
-<Test name="mediump_vec4_xxxx_vertex" />
-<Test name="mediump_vec4_ab_vertex" />
-<Test name="mediump_bvec3_rgb_fragment" />
-<Test name="mediump_bvec3_pts_fragment" />
-<Test name="mediump_bvec4_aaa_fragment" />
-<Test name="mediump_vec2_tttt_vertex" />
-<Test name="mediump_ivec2_yxy_fragment" />
-<Test name="mediump_ivec2_st_vertex" />
-<Test name="mediump_ivec4_xxxx_vertex" />
-<Test name="mediump_vec4_r_fragment" />
-<Test name="mediump_vec4_yyw_fragment" />
-<Test name="mediump_bvec3_xyyx_vertex" />
-<Test name="mediump_ivec4_aaa_fragment" />
-<Test name="mediump_bvec4_ttq_vertex" />
-<Test name="mediump_ivec3_pppp_vertex" />
-<Test name="mediump_vec2_yyyy_fragment" />
-<Test name="mediump_vec2_gr_fragment" />
-<Test name="mediump_bvec4_gggg_vertex" />
-<Test name="mediump_ivec4_abba_vertex" />
-<Test name="mediump_ivec4_ssss_vertex" />
-<Test name="mediump_ivec4_abba_fragment" />
-<Test name="mediump_bvec4_stss_fragment" />
-<Test name="mediump_bvec4_wzyx_fragment" />
-<Test name="mediump_vec4_tttt_vertex" />
-<Test name="mediump_ivec4_qqqq_fragment" />
-<Test name="mediump_ivec3_xz_fragment" />
-<Test name="mediump_ivec3_yxy_vertex" />
-<Test name="mediump_bvec2_yxy_vertex" />
-<Test name="mediump_bvec3_rb_fragment" />
-<Test name="mediump_vec4_qpts_vertex" />
-<Test name="mediump_vec2_stss_fragment" />
-<Test name="mediump_vec4_rrrr_vertex" />
-<Test name="mediump_vec4_stss_fragment" />
-<Test name="mediump_bvec4_wwwy_vertex" />
-<Test name="mediump_ivec4_abgr_fragment" />
-<Test name="mediump_ivec4_stpq_vertex" />
-<Test name="mediump_vec3_bbb_fragment" />
-<Test name="mediump_vec3_grg_fragment" />
-<Test name="mediump_ivec4_qppq_vertex" />
-<Test name="mediump_vec4_qqqq_fragment" />
-<Test name="mediump_bvec4_zzwz_fragment" />
-<Test name="mediump_ivec4_wzzw_fragment" />
-<Test name="mediump_ivec4_ar_fragment" />
-<Test name="mediump_ivec3_sp_fragment" />
-<Test name="mediump_vec3_zzz_fragment" />
-<Test name="mediump_ivec4_xyxx_fragment" />
-<Test name="mediump_vec4_a_fragment" />
-<Test name="mediump_bvec3_xxx_fragment" />
-<Test name="mediump_bvec4_q_fragment" />
+<Test name="mediump_vec2_xy_fragment" />
+<Test name="mediump_vec2_yx_vertex" />
+<Test name="mediump_vec2_yx_fragment" />
 <Test name="mediump_vec2_yxy_vertex" />
-<Test name="mediump_bvec3_yxy_fragment" />
-<Test name="mediump_vec3_xxx_fragment" />
-<Test name="mediump_bvec2_tst_fragment" />
-<Test name="mediump_bvec4_ar_vertex" />
-<Test name="mediump_vec4_xyxx_vertex" />
-<Test name="mediump_bvec4_qpt_vertex" />
-<Test name="mediump_ivec3_zzzz_fragment" />
-<Test name="mediump_ivec3_bb_vertex" />
-<Test name="mediump_vec4_s_fragment" />
-<Test name="mediump_bvec4_gga_vertex" />
-<Test name="mediump_bvec3_sss_vertex" />
-<Test name="mediump_ivec3_pppp_fragment" />
-<Test name="mediump_bvec3_yxy_vertex" />
+<Test name="mediump_vec2_yxy_fragment" />
 <Test name="mediump_vec2_xyxx_vertex" />
-<Test name="mediump_ivec3_xzx_vertex" />
-<Test name="mediump_vec4_gggg_vertex" />
-<Test name="mediump_ivec4_wzyx_vertex" />
-<Test name="mediump_vec4_ttq_vertex" />
-<Test name="mediump_vec4_ssss_vertex" />
-<Test name="mediump_bvec3_ppt_vertex" />
-<Test name="mediump_vec3_zz_vertex" />
-<Test name="mediump_ivec2_s_vertex" />
-<Test name="mediump_bvec4_xyxx_vertex" />
-<Test name="mediump_vec3_stp_fragment" />
-<Test name="mediump_bvec2_ss_fragment" />
-<Test name="mediump_ivec3_xxx_vertex" />
-<Test name="mediump_ivec2_gr_fragment" />
-<Test name="mediump_bvec4_bbab_vertex" />
-<Test name="mediump_ivec3_rggr_vertex" />
-<Test name="mediump_vec3_xzx_vertex" />
-<Test name="mediump_vec3_xz_vertex" />
-<Test name="mediump_bvec2_rr_vertex" />
-<Test name="mediump_bvec4_wzy_vertex" />
-<Test name="mediump_bvec4_tttt_vertex" />
-<Test name="mediump_bvec3_bgr_vertex" />
-<Test name="mediump_vec4_rgba_vertex" />
-<Test name="mediump_bvec4_yyyy_fragment" />
-<Test name="mediump_bvec4_wz_vertex" />
-<Test name="mediump_ivec3_xxx_fragment" />
-<Test name="mediump_ivec3_rb_vertex" />
-<Test name="mediump_bvec4_stss_vertex" />
-<Test name="mediump_vec3_bbg_vertex" />
-<Test name="mediump_ivec4_abgr_vertex" />
-<Test name="mediump_vec2_xy_fragment" />
-<Test name="mediump_bvec3_zzzz_vertex" />
-<Test name="mediump_ivec2_ts_fragment" />
-<Test name="mediump_vec2_rgrr_fragment" />
-<Test name="mediump_vec3_pppp_fragment" />
-<Test name="mediump_vec3_xyyx_vertex" />
-<Test name="mediump_vec2_grg_fragment" />
+<Test name="mediump_vec2_xyxx_fragment" />
+<Test name="mediump_vec2_yyyy_vertex" />
+<Test name="mediump_vec2_yyyy_fragment" />
+<Test name="mediump_vec2_s_vertex" />
+<Test name="mediump_vec2_s_fragment" />
+<Test name="mediump_vec2_ss_vertex" />
+<Test name="mediump_vec2_ss_fragment" />
+<Test name="mediump_vec2_st_vertex" />
+<Test name="mediump_vec2_st_fragment" />
+<Test name="mediump_vec2_ts_vertex" />
+<Test name="mediump_vec2_ts_fragment" />
 <Test name="mediump_vec2_tst_vertex" />
-<Test name="mediump_bvec4_qs_fragment" />
-<Test name="mediump_ivec4_yyyy_vertex" />
-<Test name="mediump_ivec4_wzy_vertex" />
-<Test name="mediump_ivec2_s_fragment" />
-<Test name="mediump_ivec4_ab_fragment" />
-<Test name="mediump_ivec3_ppt_fragment" />
-<Test name="mediump_ivec3_rb_fragment" />
-<Test name="mediump_bvec2_xyxx_fragment" />
-<Test name="mediump_ivec4_zzwz_vertex" />
-<Test name="mediump_vec3_bgr_vertex" />
-<Test name="mediump_ivec3_ppp_fragment" />
-<Test name="mediump_ivec3_r_vertex" />
-<Test name="mediump_bvec4_ttq_fragment" />
-<Test name="mediump_bvec3_rbr_vertex" />
 <Test name="mediump_vec2_tst_fragment" />
-<Test name="mediump_vec4_yyw_vertex" />
-<Test name="mediump_ivec4_qs_vertex" />
-<Test name="mediump_bvec2_grg_vertex" />
-<Test name="mediump_bvec3_xyz_vertex" />
-<Test name="mediump_ivec4_wx_vertex" />
-<Test name="mediump_bvec4_yyyy_vertex" />
-<Test name="mediump_ivec3_zzy_fragment" />
-<Test name="mediump_vec4_wz_vertex" />
-<Test name="mediump_vec4_a_vertex" />
-<Test name="mediump_vec3_bb_vertex" />
+<Test name="mediump_vec2_stss_vertex" />
+<Test name="mediump_vec2_stss_fragment" />
+<Test name="mediump_vec2_tttt_vertex" />
+<Test name="mediump_vec2_tttt_fragment" />
+<Test name="mediump_vec2_r_vertex" />
+<Test name="mediump_vec2_r_fragment" />
+<Test name="mediump_vec2_rr_vertex" />
+<Test name="mediump_vec2_rr_fragment" />
+<Test name="mediump_vec2_rg_vertex" />
+<Test name="mediump_vec2_rg_fragment" />
+<Test name="mediump_vec2_gr_vertex" />
+<Test name="mediump_vec2_gr_fragment" />
+<Test name="mediump_vec2_grg_vertex" />
+<Test name="mediump_vec2_grg_fragment" />
+<Test name="mediump_vec2_rgrr_vertex" />
+<Test name="mediump_vec2_rgrr_fragment" />
+<Test name="mediump_vec2_gggg_vertex" />
 <Test name="mediump_vec2_gggg_fragment" />
-<Test name="mediump_ivec3_bgr_vertex" />
-<Test name="mediump_ivec4_wzyx_fragment" />
-<Test name="mediump_vec4_qqqt_vertex" />
-<Test name="mediump_bvec3_zzzz_fragment" />
-<Test name="mediump_bvec2_ss_vertex" />
+<Test name="mediump_vec3_x_vertex" />
+<Test name="mediump_vec3_x_fragment" />
+<Test name="mediump_vec3_z_vertex" />
+<Test name="mediump_vec3_z_fragment" />
+<Test name="mediump_vec3_xz_vertex" />
+<Test name="mediump_vec3_xz_fragment" />
+<Test name="mediump_vec3_zz_vertex" />
+<Test name="mediump_vec3_zz_fragment" />
+<Test name="mediump_vec3_xyz_vertex" />
+<Test name="mediump_vec3_xyz_fragment" />
+<Test name="mediump_vec3_zyx_vertex" />
+<Test name="mediump_vec3_zyx_fragment" />
+<Test name="mediump_vec3_xxx_vertex" />
+<Test name="mediump_vec3_xxx_fragment" />
+<Test name="mediump_vec3_zzz_vertex" />
+<Test name="mediump_vec3_zzz_fragment" />
+<Test name="mediump_vec3_zzy_vertex" />
 <Test name="mediump_vec3_zzy_fragment" />
-<Test name="mediump_ivec3_stp_fragment" />
-<Test name="mediump_ivec4_x_fragment" />
-<Test name="mediump_bvec2_rg_fragment" />
-<Test name="mediump_ivec3_bbg_fragment" />
-<Test name="mediump_ivec3_ppt_vertex" />
-<Test name="mediump_vec2_s_fragment" />
-<Test name="mediump_bvec3_rb_vertex" />
+<Test name="mediump_vec3_yxy_vertex" />
+<Test name="mediump_vec3_yxy_fragment" />
+<Test name="mediump_vec3_xzx_vertex" />
+<Test name="mediump_vec3_xzx_fragment" />
+<Test name="mediump_vec3_xyyx_vertex" />
+<Test name="mediump_vec3_xyyx_fragment" />
+<Test name="mediump_vec3_zzzz_vertex" />
+<Test name="mediump_vec3_zzzz_fragment" />
+<Test name="mediump_vec3_s_vertex" />
 <Test name="mediump_vec3_s_fragment" />
-<Test name="mediump_ivec4_rgrr_fragment" />
-<Test name="mediump_ivec4_ttq_vertex" />
-<Test name="mediump_bvec4_x_vertex" />
-<Test name="mediump_vec3_rgb_fragment" />
-<Test name="mediump_vec4_www_fragment" />
-<Test name="mediump_bvec3_rggr_fragment" />
-<Test name="mediump_bvec3_bbb_vertex" />
-<Test name="mediump_ivec2_tttt_vertex" />
-<Test name="mediump_vec3_xyz_vertex" />
-<Test name="mediump_bvec2_x_vertex" />
-<Test name="mediump_ivec3_xz_vertex" />
-<Test name="mediump_bvec4_qp_fragment" />
-<Test name="mediump_vec4_s_vertex" />
-<Test name="mediump_vec3_pppp_vertex" />
-<Test name="mediump_ivec2_stss_vertex" />
-<Test name="mediump_bvec4_qppq_vertex" />
-<Test name="mediump_vec3_x_vertex" />
-<Test name="mediump_vec4_xxxx_fragment" />
-<Test name="mediump_vec4_aaa_vertex" />
-<Test name="mediump_ivec4_abg_vertex" />
+<Test name="mediump_vec3_p_vertex" />
+<Test name="mediump_vec3_p_fragment" />
+<Test name="mediump_vec3_sp_vertex" />
+<Test name="mediump_vec3_sp_fragment" />
+<Test name="mediump_vec3_pp_vertex" />
+<Test name="mediump_vec3_pp_fragment" />
+<Test name="mediump_vec3_stp_vertex" />
+<Test name="mediump_vec3_stp_fragment" />
+<Test name="mediump_vec3_pts_vertex" />
+<Test name="mediump_vec3_pts_fragment" />
+<Test name="mediump_vec3_sss_vertex" />
+<Test name="mediump_vec3_sss_fragment" />
+<Test name="mediump_vec3_ppp_vertex" />
+<Test name="mediump_vec3_ppp_fragment" />
+<Test name="mediump_vec3_ppt_vertex" />
+<Test name="mediump_vec3_ppt_fragment" />
+<Test name="mediump_vec3_tst_vertex" />
+<Test name="mediump_vec3_tst_fragment" />
+<Test name="mediump_vec3_sps_vertex" />
+<Test name="mediump_vec3_sps_fragment" />
 <Test name="mediump_vec3_stts_vertex" />
-<Test name="mediump_ivec4_yyw_vertex" />
-<Test name="mediump_vec3_r_fragment" />
-<Test name="mediump_bvec2_st_fragment" />
-<Test name="mediump_bvec3_stp_vertex" />
-<Test name="mediump_vec4_qs_vertex" />
-<Test name="mediump_bvec2_xyxx_vertex" />
-<Test name="mediump_vec4_x_vertex" />
-<Test name="mediump_ivec2_xx_fragment" />
-<Test name="mediump_bvec2_xy_fragment" />
-<Test name="mediump_ivec3_zzzz_vertex" />
+<Test name="mediump_vec3_stts_fragment" />
+<Test name="mediump_vec3_pppp_vertex" />
+<Test name="mediump_vec3_pppp_fragment" />
 <Test name="mediump_vec3_r_vertex" />
-<Test name="mediump_vec4_ar_vertex" />
-<Test name="mediump_bvec2_yx_vertex" />
-<Test name="mediump_bvec2_ts_vertex" />
-<Test name="mediump_vec2_xx_vertex" />
-<Test name="mediump_bvec4_qp_vertex" />
+<Test name="mediump_vec3_r_fragment" />
+<Test name="mediump_vec3_b_vertex" />
+<Test name="mediump_vec3_b_fragment" />
 <Test name="mediump_vec3_rb_vertex" />
-<Test name="mediump_ivec2_xy_vertex" />
-<Test name="mediump_bvec3_zyx_vertex" />
+<Test name="mediump_vec3_rb_fragment" />
+<Test name="mediump_vec3_bb_vertex" />
+<Test name="mediump_vec3_bb_fragment" />
 <Test name="mediump_vec3_rgb_vertex" />
-<Test name="mediump_bvec4_q_vertex" />
-<Test name="mediump_bvec3_bbg_fragment" />
-<Test name="mediump_ivec4_bbab_vertex" />
-<Test name="mediump_bvec4_qqq_vertex" />
-<Test name="mediump_bvec3_p_fragment" />
-<Test name="mediump_ivec2_yx_fragment" />
-<Test name="mediump_vec3_p_fragment" />
-<Test name="mediump_ivec2_rgrr_fragment" />
-<Test name="mediump_ivec3_pp_fragment" />
-<Test name="mediump_vec3_xyz_fragment" />
-<Test name="mediump_vec2_x_vertex" />
-<Test name="mediump_ivec4_s_vertex" />
-<Test name="mediump_bvec2_gggg_vertex" />
-<Test name="mediump_vec4_qqqq_vertex" />
-<Test name="mediump_ivec3_zzz_fragment" />
-<Test name="mediump_bvec3_r_fragment" />
-<Test name="mediump_vec4_wzzw_vertex" />
-<Test name="mediump_bvec2_yx_fragment" />
-<Test name="mediump_vec4_qp_vertex" />
-<Test name="mediump_ivec2_rg_vertex" />
-<Test name="mediump_bvec3_stp_fragment" />
+<Test name="mediump_vec3_rgb_fragment" />
+<Test name="mediump_vec3_bgr_vertex" />
+<Test name="mediump_vec3_bgr_fragment" />
+<Test name="mediump_vec3_rrr_vertex" />
+<Test name="mediump_vec3_rrr_fragment" />
+<Test name="mediump_vec3_bbb_vertex" />
+<Test name="mediump_vec3_bbb_fragment" />
+<Test name="mediump_vec3_bbg_vertex" />
+<Test name="mediump_vec3_bbg_fragment" />
+<Test name="mediump_vec3_grg_vertex" />
+<Test name="mediump_vec3_grg_fragment" />
+<Test name="mediump_vec3_rbr_vertex" />
+<Test name="mediump_vec3_rbr_fragment" />
+<Test name="mediump_vec3_rggr_vertex" />
+<Test name="mediump_vec3_rggr_fragment" />
+<Test name="mediump_vec3_bbbb_vertex" />
+<Test name="mediump_vec3_bbbb_fragment" />
+<Test name="mediump_vec4_x_vertex" />
+<Test name="mediump_vec4_x_fragment" />
 <Test name="mediump_vec4_w_vertex" />
-<Test name="mediump_bvec3_xzx_vertex" />
-<Test name="mediump_ivec3_pts_fragment" />
-<Test name="mediump_ivec2_gggg_fragment" />
-<Test name="mediump_ivec3_sss_fragment" />
-<Test name="mediump_vec3_stp_vertex" />
-<Test name="mediump_bvec4_ppqp_vertex" />
-<Test name="mediump_ivec3_s_fragment" />
-<Test name="mediump_bvec3_ppp_fragment" />
-<Test name="mediump_ivec2_st_fragment" />
+<Test name="mediump_vec4_w_fragment" />
+<Test name="mediump_vec4_wx_vertex" />
+<Test name="mediump_vec4_wx_fragment" />
+<Test name="mediump_vec4_wz_vertex" />
+<Test name="mediump_vec4_wz_fragment" />
+<Test name="mediump_vec4_www_vertex" />
+<Test name="mediump_vec4_www_fragment" />
+<Test name="mediump_vec4_yyw_vertex" />
+<Test name="mediump_vec4_yyw_fragment" />
+<Test name="mediump_vec4_wzy_vertex" />
+<Test name="mediump_vec4_wzy_fragment" />
+<Test name="mediump_vec4_xyzw_vertex" />
+<Test name="mediump_vec4_xyzw_fragment" />
+<Test name="mediump_vec4_wzyx_vertex" />
+<Test name="mediump_vec4_wzyx_fragment" />
+<Test name="mediump_vec4_xxxx_vertex" />
+<Test name="mediump_vec4_xxxx_fragment" />
+<Test name="mediump_vec4_yyyy_vertex" />
+<Test name="mediump_vec4_yyyy_fragment" />
+<Test name="mediump_vec4_wwww_vertex" />
+<Test name="mediump_vec4_wwww_fragment" />
+<Test name="mediump_vec4_wzzw_vertex" />
+<Test name="mediump_vec4_wzzw_fragment" />
+<Test name="mediump_vec4_wwwy_vertex" />
+<Test name="mediump_vec4_wwwy_fragment" />
+<Test name="mediump_vec4_xyxx_vertex" />
+<Test name="mediump_vec4_xyxx_fragment" />
+<Test name="mediump_vec4_zzwz_vertex" />
+<Test name="mediump_vec4_zzwz_fragment" />
+<Test name="mediump_vec4_s_vertex" />
+<Test name="mediump_vec4_s_fragment" />
+<Test name="mediump_vec4_q_vertex" />
+<Test name="mediump_vec4_q_fragment" />
+<Test name="mediump_vec4_qs_vertex" />
 <Test name="mediump_vec4_qs_fragment" />
+<Test name="mediump_vec4_qp_vertex" />
+<Test name="mediump_vec4_qp_fragment" />
+<Test name="mediump_vec4_qqq_vertex" />
+<Test name="mediump_vec4_qqq_fragment" />
+<Test name="mediump_vec4_ttq_vertex" />
+<Test name="mediump_vec4_ttq_fragment" />
+<Test name="mediump_vec4_qpt_vertex" />
+<Test name="mediump_vec4_qpt_fragment" />
+<Test name="mediump_vec4_stpq_vertex" />
+<Test name="mediump_vec4_stpq_fragment" />
+<Test name="mediump_vec4_qpts_vertex" />
+<Test name="mediump_vec4_qpts_fragment" />
+<Test name="mediump_vec4_ssss_vertex" />
+<Test name="mediump_vec4_ssss_fragment" />
+<Test name="mediump_vec4_tttt_vertex" />
+<Test name="mediump_vec4_tttt_fragment" />
+<Test name="mediump_vec4_qqqq_vertex" />
+<Test name="mediump_vec4_qqqq_fragment" />
+<Test name="mediump_vec4_qppq_vertex" />
+<Test name="mediump_vec4_qppq_fragment" />
+<Test name="mediump_vec4_qqqt_vertex" />
+<Test name="mediump_vec4_qqqt_fragment" />
+<Test name="mediump_vec4_stss_vertex" />
+<Test name="mediump_vec4_stss_fragment" />
 <Test name="mediump_vec4_ppqp_vertex" />
+<Test name="mediump_vec4_ppqp_fragment" />
+<Test name="mediump_vec4_r_vertex" />
+<Test name="mediump_vec4_r_fragment" />
+<Test name="mediump_vec4_a_vertex" />
+<Test name="mediump_vec4_a_fragment" />
+<Test name="mediump_vec4_ar_vertex" />
+<Test name="mediump_vec4_ar_fragment" />
+<Test name="mediump_vec4_ab_vertex" />
+<Test name="mediump_vec4_ab_fragment" />
+<Test name="mediump_vec4_aaa_vertex" />
+<Test name="mediump_vec4_aaa_fragment" />
+<Test name="mediump_vec4_gga_vertex" />
+<Test name="mediump_vec4_gga_fragment" />
+<Test name="mediump_vec4_abg_vertex" />
+<Test name="mediump_vec4_abg_fragment" />
+<Test name="mediump_vec4_rgba_vertex" />
+<Test name="mediump_vec4_rgba_fragment" />
 <Test name="mediump_vec4_abgr_vertex" />
-<Test name="mediump_ivec4_wwwy_vertex" />
-<Test name="mediump_ivec3_stts_vertex" />
-<Test name="mediump_ivec3_zzz_vertex" />
-<Test name="mediump_bvec4_www_vertex" />
-<Test name="mediump_vec3_sps_fragment" />
+<Test name="mediump_vec4_abgr_fragment" />
+<Test name="mediump_vec4_rrrr_vertex" />
+<Test name="mediump_vec4_rrrr_fragment" />
+<Test name="mediump_vec4_gggg_vertex" />
+<Test name="mediump_vec4_gggg_fragment" />
+<Test name="mediump_vec4_aaaa_vertex" />
+<Test name="mediump_vec4_aaaa_fragment" />
+<Test name="mediump_vec4_abba_vertex" />
+<Test name="mediump_vec4_abba_fragment" />
+<Test name="mediump_vec4_aaag_vertex" />
+<Test name="mediump_vec4_aaag_fragment" />
+<Test name="mediump_vec4_rgrr_vertex" />
 <Test name="mediump_vec4_rgrr_fragment" />
-<Test name="mediump_vec3_bbg_fragment" />
-<Test name="mediump_vec2_ss_vertex" />
-<Test name="mediump_vec4_gga_vertex" />
-<Test name="mediump_bvec4_aaa_vertex" />
-<Test name="mediump_ivec4_wzzw_vertex" />
-<Test name="mediump_bvec4_xyzw_fragment" />
+<Test name="mediump_vec4_bbab_vertex" />
+<Test name="mediump_vec4_bbab_fragment" />
+<Test name="mediump_ivec2_x_vertex" />
+<Test name="mediump_ivec2_x_fragment" />
+<Test name="mediump_ivec2_xx_vertex" />
+<Test name="mediump_ivec2_xx_fragment" />
+<Test name="mediump_ivec2_xy_vertex" />
+<Test name="mediump_ivec2_xy_fragment" />
 <Test name="mediump_ivec2_yx_vertex" />
-<Test name="mediump_bvec3_rrr_fragment" />
-<Test name="mediump_bvec4_zzwz_vertex" />
+<Test name="mediump_ivec2_yx_fragment" />
 <Test name="mediump_ivec2_yxy_vertex" />
-<Test name="mediump_bvec4_wx_vertex" />
-<Test name="mediump_ivec3_tst_vertex" />
-<Test name="mediump_vec3_ppt_fragment" />
-<Test name="mediump_bvec3_b_vertex" />
-<Test name="mediump_bvec4_tttt_fragment" />
-<Test name="mediump_vec2_xyxx_fragment" />
-<Test name="mediump_bvec2_r_fragment" />
-<Test name="mediump_vec3_yxy_fragment" />
-<Test name="mediump_bvec4_wwwy_fragment" />
+<Test name="mediump_ivec2_yxy_fragment" />
 <Test name="mediump_ivec2_xyxx_vertex" />
-<Test name="mediump_vec4_qpts_fragment" />
-<Test name="mediump_bvec4_r_vertex" />
-<Test name="mediump_vec4_abg_fragment" />
-<Test name="mediump_vec2_rg_vertex" />
-<Test name="mediump_ivec2_x_vertex" />
-<Test name="mediump_vec3_pp_vertex" />
-<Test name="mediump_bvec3_rrr_vertex" />
-<Test name="mediump_ivec4_aaa_vertex" />
-<Test name="mediump_ivec3_bbb_vertex" />
-<Test name="mediump_ivec4_qqqt_vertex" />
-<Test name="mediump_bvec3_pp_fragment" />
-<Test name="mediump_ivec4_qqqq_vertex" />
-<Test name="mediump_ivec3_bbg_vertex" />
-<Test name="mediump_bvec3_z_fragment" />
-<Test name="mediump_bvec4_r_fragment" />
+<Test name="mediump_ivec2_xyxx_fragment" />
+<Test name="mediump_ivec2_yyyy_vertex" />
+<Test name="mediump_ivec2_yyyy_fragment" />
+<Test name="mediump_ivec2_s_vertex" />
+<Test name="mediump_ivec2_s_fragment" />
+<Test name="mediump_ivec2_ss_vertex" />
+<Test name="mediump_ivec2_ss_fragment" />
+<Test name="mediump_ivec2_st_vertex" />
+<Test name="mediump_ivec2_st_fragment" />
+<Test name="mediump_ivec2_ts_vertex" />
+<Test name="mediump_ivec2_ts_fragment" />
+<Test name="mediump_ivec2_tst_vertex" />
+<Test name="mediump_ivec2_tst_fragment" />
+<Test name="mediump_ivec2_stss_vertex" />
+<Test name="mediump_ivec2_stss_fragment" />
+<Test name="mediump_ivec2_tttt_vertex" />
 <Test name="mediump_ivec2_tttt_fragment" />
-<Test name="mediump_bvec2_r_vertex" />
-<Test name="mediump_vec4_wzy_fragment" />
-<Test name="mediump_bvec4_wwww_vertex" />
-<Test name="mediump_ivec3_r_fragment" />
-<Test name="mediump_bvec3_ppt_fragment" />
-<Test name="mediump_ivec4_a_vertex" />
-<Test name="mediump_vec2_ts_vertex" />
-<Test name="mediump_ivec3_stts_fragment" />
-<Test name="mediump_bvec4_ab_vertex" />
-<Test name="mediump_vec2_r_vertex" />
-<Test name="mediump_ivec4_ttq_fragment" />
-<Test name="mediump_bvec4_w_fragment" />
-<Test name="mediump_bvec4_rgrr_vertex" />
-<Test name="mediump_vec3_pts_fragment" />
-<Test name="mediump_ivec4_ar_vertex" />
+<Test name="mediump_ivec2_r_vertex" />
 <Test name="mediump_ivec2_r_fragment" />
-<Test name="mediump_vec3_tst_vertex" />
+<Test name="mediump_ivec2_rr_vertex" />
+<Test name="mediump_ivec2_rr_fragment" />
+<Test name="mediump_ivec2_rg_vertex" />
+<Test name="mediump_ivec2_rg_fragment" />
+<Test name="mediump_ivec2_gr_vertex" />
+<Test name="mediump_ivec2_gr_fragment" />
+<Test name="mediump_ivec2_grg_vertex" />
+<Test name="mediump_ivec2_grg_fragment" />
+<Test name="mediump_ivec2_rgrr_vertex" />
+<Test name="mediump_ivec2_rgrr_fragment" />
+<Test name="mediump_ivec2_gggg_vertex" />
+<Test name="mediump_ivec2_gggg_fragment" />
+<Test name="mediump_ivec3_x_vertex" />
+<Test name="mediump_ivec3_x_fragment" />
+<Test name="mediump_ivec3_z_vertex" />
+<Test name="mediump_ivec3_z_fragment" />
+<Test name="mediump_ivec3_xz_vertex" />
+<Test name="mediump_ivec3_xz_fragment" />
+<Test name="mediump_ivec3_zz_vertex" />
+<Test name="mediump_ivec3_zz_fragment" />
+<Test name="mediump_ivec3_xyz_vertex" />
+<Test name="mediump_ivec3_xyz_fragment" />
+<Test name="mediump_ivec3_zyx_vertex" />
+<Test name="mediump_ivec3_zyx_fragment" />
+<Test name="mediump_ivec3_xxx_vertex" />
+<Test name="mediump_ivec3_xxx_fragment" />
+<Test name="mediump_ivec3_zzz_vertex" />
+<Test name="mediump_ivec3_zzz_fragment" />
+<Test name="mediump_ivec3_zzy_vertex" />
+<Test name="mediump_ivec3_zzy_fragment" />
+<Test name="mediump_ivec3_yxy_vertex" />
+<Test name="mediump_ivec3_yxy_fragment" />
+<Test name="mediump_ivec3_xzx_vertex" />
+<Test name="mediump_ivec3_xzx_fragment" />
+<Test name="mediump_ivec3_xyyx_vertex" />
 <Test name="mediump_ivec3_xyyx_fragment" />
-<Test name="mediump_bvec3_stts_fragment" />
-<Test name="mediump_bvec3_pppp_fragment" />
-<Test name="mediump_vec4_xyxx_fragment" />
+<Test name="mediump_ivec3_zzzz_vertex" />
+<Test name="mediump_ivec3_zzzz_fragment" />
+<Test name="mediump_ivec3_s_vertex" />
+<Test name="mediump_ivec3_s_fragment" />
+<Test name="mediump_ivec3_p_vertex" />
+<Test name="mediump_ivec3_p_fragment" />
+<Test name="mediump_ivec3_sp_vertex" />
+<Test name="mediump_ivec3_sp_fragment" />
+<Test name="mediump_ivec3_pp_vertex" />
+<Test name="mediump_ivec3_pp_fragment" />
+<Test name="mediump_ivec3_stp_vertex" />
+<Test name="mediump_ivec3_stp_fragment" />
+<Test name="mediump_ivec3_pts_vertex" />
+<Test name="mediump_ivec3_pts_fragment" />
+<Test name="mediump_ivec3_sss_vertex" />
+<Test name="mediump_ivec3_sss_fragment" />
+<Test name="mediump_ivec3_ppp_vertex" />
+<Test name="mediump_ivec3_ppp_fragment" />
+<Test name="mediump_ivec3_ppt_vertex" />
+<Test name="mediump_ivec3_ppt_fragment" />
+<Test name="mediump_ivec3_tst_vertex" />
+<Test name="mediump_ivec3_tst_fragment" />
+<Test name="mediump_ivec3_sps_vertex" />
+<Test name="mediump_ivec3_sps_fragment" />
+<Test name="mediump_ivec3_stts_vertex" />
+<Test name="mediump_ivec3_stts_fragment" />
+<Test name="mediump_ivec3_pppp_vertex" />
+<Test name="mediump_ivec3_pppp_fragment" />
+<Test name="mediump_ivec3_r_vertex" />
+<Test name="mediump_ivec3_r_fragment" />
+<Test name="mediump_ivec3_b_vertex" />
+<Test name="mediump_ivec3_b_fragment" />
+<Test name="mediump_ivec3_rb_vertex" />
+<Test name="mediump_ivec3_rb_fragment" />
+<Test name="mediump_ivec3_bb_vertex" />
+<Test name="mediump_ivec3_bb_fragment" />
+<Test name="mediump_ivec3_rgb_vertex" />
+<Test name="mediump_ivec3_rgb_fragment" />
+<Test name="mediump_ivec3_bgr_vertex" />
 <Test name="mediump_ivec3_bgr_fragment" />
+<Test name="mediump_ivec3_rrr_vertex" />
+<Test name="mediump_ivec3_rrr_fragment" />
+<Test name="mediump_ivec3_bbb_vertex" />
+<Test name="mediump_ivec3_bbb_fragment" />
+<Test name="mediump_ivec3_bbg_vertex" />
+<Test name="mediump_ivec3_bbg_fragment" />
 <Test name="mediump_ivec3_grg_vertex" />
-<Test name="mediump_bvec2_xx_fragment" />
-<Test name="mediump_bvec3_sp_vertex" />
-<Test name="mediump_bvec4_aaaa_fragment" />
-<Test name="mediump_vec3_rrr_fragment" />
-<Test name="mediump_bvec2_st_vertex" />
-<Test name="mediump_ivec4_qs_fragment" />
-<Test name="mediump_ivec3_bbbb_vertex" />
-<Test name="mediump_vec3_xz_fragment" />
-<Test name="mediump_bvec2_grg_fragment" />
-<Test name="mediump_bvec3_r_vertex" />
-<Test name="mediump_ivec2_r_vertex" />
-<Test name="mediump_bvec4_xyxx_fragment" />
-<Test name="mediump_ivec3_rggr_fragment" />
-<Test name="mediump_ivec4_gggg_fragment" />
-<Test name="mediump_vec3_s_vertex" />
-<Test name="mediump_vec2_yxy_fragment" />
-<Test name="mediump_bvec3_pppp_vertex" />
-<Test name="mediump_vec4_qpt_fragment" />
-<Test name="mediump_vec4_wzy_vertex" />
-<Test name="mediump_bvec3_zz_fragment" />
-<Test name="mediump_bvec4_aaaa_vertex" />
-<Test name="mediump_vec4_x_fragment" />
-<Test name="mediump_vec4_qqq_fragment" />
-<Test name="mediump_ivec4_yyw_fragment" />
-<Test name="mediump_bvec3_x_vertex" />
-<Test name="mediump_bvec4_wz_fragment" />
-<Test name="mediump_vec3_zzy_vertex" />
-<Test name="mediump_bvec3_bb_fragment" />
-<Test name="mediump_vec2_st_fragment" />
-<Test name="mediump_bvec4_wx_fragment" />
-<Test name="mediump_ivec2_rr_fragment" />
-<Test name="mediump_ivec2_yyyy_fragment" />
-<Test name="mediump_vec3_b_fragment" />
-<Test name="mediump_vec3_zzz_vertex" />
-<Test name="mediump_bvec4_xyzw_vertex" />
-<Test name="mediump_vec4_abgr_fragment" />
-<Test name="mediump_vec2_gggg_vertex" />
-<Test name="mediump_bvec3_xxx_vertex" />
-<Test name="mediump_bvec3_zzz_vertex" />
-<Test name="mediump_vec3_rbr_vertex" />
-<Test name="mediump_bvec4_ssss_vertex" />
-<Test name="mediump_bvec2_tst_vertex" />
-<Test name="mediump_vec3_bgr_fragment" />
-<Test name="mediump_bvec4_yyw_vertex" />
-<Test name="mediump_bvec2_stss_fragment" />
+<Test name="mediump_ivec3_grg_fragment" />
+<Test name="mediump_ivec3_rbr_vertex" />
 <Test name="mediump_ivec3_rbr_fragment" />
-<Test name="mediump_bvec4_yyw_fragment" />
-<Test name="mediump_ivec3_bb_fragment" />
-<Test name="mediump_ivec4_aaaa_fragment" />
-<Test name="mediump_ivec2_rr_vertex" />
-<Test name="mediump_vec4_yyyy_fragment" />
-<Test name="mediump_ivec3_pts_vertex" />
-<Test name="mediump_bvec3_rgb_vertex" />
+<Test name="mediump_ivec3_rggr_vertex" />
+<Test name="mediump_ivec3_rggr_fragment" />
+<Test name="mediump_ivec3_bbbb_vertex" />
+<Test name="mediump_ivec3_bbbb_fragment" />
+<Test name="mediump_ivec4_x_vertex" />
+<Test name="mediump_ivec4_x_fragment" />
+<Test name="mediump_ivec4_w_vertex" />
 <Test name="mediump_ivec4_w_fragment" />
-<Test name="mediump_bvec4_rgrr_fragment" />
-<Test name="mediump_bvec4_abba_fragment" />
-<Test name="mediump_bvec2_gggg_fragment" />
-<Test name="mediump_bvec3_pp_vertex" />
-<Test name="mediump_ivec3_sss_vertex" />
-<Test name="mediump_ivec3_rgb_vertex" />
-<Test name="mediump_vec4_gga_fragment" />
-<Test name="mediump_bvec4_ab_fragment" />
-<Test name="mediump_bvec4_wzzw_vertex" />
-<Test name="mediump_bvec4_wzzw_fragment" />
-<Test name="mediump_vec4_q_vertex" />
-<Test name="mediump_vec4_abba_fragment" />
-<Test name="mediump_ivec4_rrrr_vertex" />
-<Test name="mediump_vec4_wwwy_vertex" />
-<Test name="mediump_bvec4_qpt_fragment" />
+<Test name="mediump_ivec4_wx_vertex" />
+<Test name="mediump_ivec4_wx_fragment" />
+<Test name="mediump_ivec4_wz_vertex" />
+<Test name="mediump_ivec4_wz_fragment" />
+<Test name="mediump_ivec4_www_vertex" />
+<Test name="mediump_ivec4_www_fragment" />
+<Test name="mediump_ivec4_yyw_vertex" />
+<Test name="mediump_ivec4_yyw_fragment" />
+<Test name="mediump_ivec4_wzy_vertex" />
+<Test name="mediump_ivec4_wzy_fragment" />
+<Test name="mediump_ivec4_xyzw_vertex" />
+<Test name="mediump_ivec4_xyzw_fragment" />
+<Test name="mediump_ivec4_wzyx_vertex" />
+<Test name="mediump_ivec4_wzyx_fragment" />
+<Test name="mediump_ivec4_xxxx_vertex" />
+<Test name="mediump_ivec4_xxxx_fragment" />
+<Test name="mediump_ivec4_yyyy_vertex" />
+<Test name="mediump_ivec4_yyyy_fragment" />
+<Test name="mediump_ivec4_wwww_vertex" />
+<Test name="mediump_ivec4_wwww_fragment" />
+<Test name="mediump_ivec4_wzzw_vertex" />
+<Test name="mediump_ivec4_wzzw_fragment" />
+<Test name="mediump_ivec4_wwwy_vertex" />
 <Test name="mediump_ivec4_wwwy_fragment" />
-<Test name="mediump_bvec4_wzy_fragment" />
-<Test name="mediump_ivec4_ab_vertex" />
-<Test name="mediump_ivec4_w_vertex" />
-<Test name="mediump_bvec2_rr_fragment" />
-<Test name="mediump_bvec3_zyx_fragment" />
+<Test name="mediump_ivec4_xyxx_vertex" />
+<Test name="mediump_ivec4_xyxx_fragment" />
+<Test name="mediump_ivec4_zzwz_vertex" />
+<Test name="mediump_ivec4_zzwz_fragment" />
+<Test name="mediump_ivec4_s_vertex" />
+<Test name="mediump_ivec4_s_fragment" />
+<Test name="mediump_ivec4_q_vertex" />
+<Test name="mediump_ivec4_q_fragment" />
+<Test name="mediump_ivec4_qs_vertex" />
+<Test name="mediump_ivec4_qs_fragment" />
 <Test name="mediump_ivec4_qp_vertex" />
-<Test name="mediump_ivec3_b_vertex" />
-<Test name="mediump_bvec2_yyyy_vertex" />
-<Test name="mediump_vec3_x_fragment" />
-<Test name="mediump_vec3_ppp_vertex" />
-<Test name="mediump_ivec4_r_vertex" />
+<Test name="mediump_ivec4_qp_fragment" />
+<Test name="mediump_ivec4_qqq_vertex" />
+<Test name="mediump_ivec4_qqq_fragment" />
+<Test name="mediump_ivec4_ttq_vertex" />
+<Test name="mediump_ivec4_ttq_fragment" />
 <Test name="mediump_ivec4_qpt_vertex" />
-<Test name="mediump_vec4_stss_vertex" />
-<Test name="mediump_vec4_wzyx_fragment" />
-<Test name="mediump_vec3_stts_fragment" />
-<Test name="mediump_vec4_qp_fragment" />
-<Test name="mediump_ivec4_ssss_fragment" />
-<Test name="mediump_vec3_bb_fragment" />
+<Test name="mediump_ivec4_qpt_fragment" />
+<Test name="mediump_ivec4_stpq_vertex" />
 <Test name="mediump_ivec4_stpq_fragment" />
-<Test name="mediump_ivec2_x_fragment" />
 <Test name="mediump_ivec4_qpts_vertex" />
-<Test name="mediump_bvec3_bb_vertex" />
-<Test name="mediump_vec3_sss_vertex" />
-<Test name="mediump_vec4_wz_fragment" />
-<Test name="mediump_ivec4_xyzw_fragment" />
-<Test name="mediump_ivec3_sps_fragment" />
-<Test name="mediump_ivec2_ss_fragment" />
-<Test name="mediump_vec4_wzyx_vertex" />
-<Test name="mediump_ivec4_rgba_fragment" />
-<Test name="mediump_bvec2_xx_vertex" />
-<Test name="mediump_vec2_rr_fragment" />
-<Test name="mediump_vec3_sps_vertex" />
-<Test name="mediump_vec3_rggr_fragment" />
-<Test name="mediump_vec4_rgrr_vertex" />
-<Test name="mediump_bvec4_rgba_fragment" />
-<Test name="mediump_ivec2_grg_fragment" />
-<Test name="mediump_ivec3_x_vertex" />
-<Test name="mediump_bvec3_bbbb_vertex" />
-<Test name="mediump_ivec2_xyxx_fragment" />
-<Test name="mediump_vec4_www_vertex" />
-<Test name="mediump_bvec3_xzx_fragment" />
-<Test name="mediump_vec3_z_fragment" />
-<Test name="mediump_bvec3_ppp_vertex" />
-<Test name="mediump_vec3_rbr_fragment" />
-<Test name="mediump_ivec2_tst_fragment" />
-<Test name="mediump_ivec3_z_vertex" />
-<Test name="mediump_bvec2_tttt_fragment" />
-<Test name="mediump_bvec4_abgr_fragment" />
-<Test name="mediump_vec3_zzzz_vertex" />
-<Test name="mediump_bvec3_xz_vertex" />
-<Test name="mediump_vec3_yxy_vertex" />
-<Test name="mediump_vec2_ss_fragment" />
-<Test name="mediump_ivec2_ts_vertex" />
-<Test name="mediump_vec4_abba_vertex" />
-<Test name="mediump_ivec2_xy_fragment" />
-<Test name="mediump_vec4_zzwz_fragment" />
-<Test name="mediump_bvec3_rggr_vertex" />
-<Test name="mediump_ivec3_p_vertex" />
-<Test name="mediump_vec4_bbab_vertex" />
-<Test name="mediump_bvec4_qqqt_vertex" />
-<Test name="mediump_ivec2_tst_vertex" />
-<Test name="mediump_vec4_r_vertex" />
-<Test name="mediump_bvec4_abba_vertex" />
-<Test name="mediump_ivec4_aaaa_vertex" />
-<Test name="mediump_vec4_wzzw_fragment" />
-<Test name="mediump_ivec4_qppq_fragment" />
-<Test name="mediump_bvec4_abgr_vertex" />
-<Test name="mediump_ivec4_gggg_vertex" />
-<Test name="mediump_vec2_rgrr_vertex" />
-<Test name="mediump_ivec3_zyx_fragment" />
-<Test name="mediump_vec4_qqq_vertex" />
-<Test name="mediump_bvec2_s_vertex" />
-<Test name="mediump_vec3_sp_fragment" />
-<Test name="mediump_bvec4_gggg_fragment" />
-<Test name="mediump_bvec4_qppq_fragment" />
-<Test name="mediump_bvec4_qqq_fragment" />
-<Test name="mediump_vec4_qppq_fragment" />
-<Test name="mediump_vec4_wx_vertex" />
-<Test name="mediump_vec4_aaaa_vertex" />
-<Test name="mediump_bvec4_stpq_vertex" />
-<Test name="mediump_vec3_b_vertex" />
-<Test name="mediump_ivec4_qpt_fragment" />
-<Test name="mediump_vec4_tttt_fragment" />
-<Test name="mediump_ivec3_rrr_vertex" />
-<Test name="mediump_bvec4_s_fragment" />
-<Test name="mediump_bvec4_x_fragment" />
-<Test name="mediump_bvec3_rbr_fragment" />
-<Test name="mediump_vec4_yyyy_vertex" />
-<Test name="mediump_bvec2_ts_fragment" />
-<Test name="mediump_bvec3_grg_fragment" />
-<Test name="mediump_vec4_wx_fragment" />
-<Test name="mediump_bvec3_xyyx_fragment" />
-<Test name="mediump_vec4_xyzw_vertex" />
-<Test name="mediump_vec2_st_vertex" />
-<Test name="mediump_vec4_qqqt_fragment" />
-<Test name="mediump_vec4_stpq_vertex" />
-<Test name="mediump_bvec4_a_vertex" />
-<Test name="mediump_bvec4_abg_vertex" />
-<Test name="mediump_bvec2_tttt_vertex" />
 <Test name="mediump_ivec4_qpts_fragment" />
-<Test name="mediump_ivec2_gr_vertex" />
-<Test name="mediump_bvec4_wwww_fragment" />
-<Test name="mediump_ivec3_ppp_vertex" />
-<Test name="mediump_bvec2_yxy_fragment" />
-<Test name="mediump_ivec2_stss_fragment" />
+<Test name="mediump_ivec4_ssss_vertex" />
+<Test name="mediump_ivec4_ssss_fragment" />
+<Test name="mediump_ivec4_tttt_vertex" />
+<Test name="mediump_ivec4_tttt_fragment" />
+<Test name="mediump_ivec4_qqqq_vertex" />
+<Test name="mediump_ivec4_qqqq_fragment" />
+<Test name="mediump_ivec4_qppq_vertex" />
+<Test name="mediump_ivec4_qppq_fragment" />
+<Test name="mediump_ivec4_qqqt_vertex" />
+<Test name="mediump_ivec4_qqqt_fragment" />
+<Test name="mediump_ivec4_stss_vertex" />
+<Test name="mediump_ivec4_stss_fragment" />
 <Test name="mediump_ivec4_ppqp_vertex" />
-<Test name="mediump_bvec3_s_fragment" />
-<Test name="mediump_ivec3_sps_vertex" />
-<Test name="mediump_vec3_pp_fragment" />
-<Test name="mediump_bvec2_gr_vertex" />
-<Test name="mediump_vec2_stss_vertex" />
-<Test name="mediump_ivec2_grg_vertex" />
-<Test name="mediump_vec4_wwwy_fragment" />
-<Test name="mediump_vec3_zzzz_fragment" />
-<Test name="mediump_vec4_ar_fragment" />
-<Test name="mediump_ivec3_zz_fragment" />
-<Test name="mediump_vec3_z_vertex" />
-<Test name="mediump_ivec4_www_vertex" />
-<Test name="mediump_ivec4_wwww_fragment" />
-<Test name="mediump_vec2_x_fragment" />
-<Test name="mediump_bvec4_ppqp_fragment" />
-<Test name="mediump_ivec3_z_fragment" />
-<Test name="mediump_vec4_ppqp_fragment" />
-<Test name="mediump_ivec4_s_fragment" />
-<Test name="mediump_ivec3_b_fragment" />
-<Test name="mediump_bvec3_z_vertex" />
-<Test name="mediump_vec4_qppq_vertex" />
-<Test name="mediump_bvec3_sps_vertex" />
-<Test name="mediump_bvec4_aaag_vertex" />
-<Test name="mediump_vec4_ssss_fragment" />
-<Test name="mediump_vec3_tst_fragment" />
-<Test name="mediump_ivec3_zz_vertex" />
-<Test name="mediump_vec3_xzx_fragment" />
-<Test name="mediump_vec4_rgba_fragment" />
+<Test name="mediump_ivec4_ppqp_fragment" />
+<Test name="mediump_ivec4_r_vertex" />
+<Test name="mediump_ivec4_r_fragment" />
+<Test name="mediump_ivec4_a_vertex" />
 <Test name="mediump_ivec4_a_fragment" />
-<Test name="mediump_vec2_tttt_fragment" />
-<Test name="mediump_vec4_ab_fragment" />
-<Test name="mediump_ivec2_ss_vertex" />
-<Test name="mediump_bvec4_qpts_vertex" />
-<Test name="mediump_bvec4_bbab_fragment" />
-<Test name="mediump_bvec4_ssss_fragment" />
-<Test name="mediump_ivec4_qqq_fragment" />
-<Test name="mediump_bvec4_rrrr_fragment" />
+<Test name="mediump_ivec4_ar_vertex" />
+<Test name="mediump_ivec4_ar_fragment" />
+<Test name="mediump_ivec4_ab_vertex" />
+<Test name="mediump_ivec4_ab_fragment" />
+<Test name="mediump_ivec4_aaa_vertex" />
+<Test name="mediump_ivec4_aaa_fragment" />
+<Test name="mediump_ivec4_gga_vertex" />
+<Test name="mediump_ivec4_gga_fragment" />
+<Test name="mediump_ivec4_abg_vertex" />
+<Test name="mediump_ivec4_abg_fragment" />
+<Test name="mediump_ivec4_rgba_vertex" />
+<Test name="mediump_ivec4_rgba_fragment" />
+<Test name="mediump_ivec4_abgr_vertex" />
+<Test name="mediump_ivec4_abgr_fragment" />
+<Test name="mediump_ivec4_rrrr_vertex" />
+<Test name="mediump_ivec4_rrrr_fragment" />
+<Test name="mediump_ivec4_gggg_vertex" />
+<Test name="mediump_ivec4_gggg_fragment" />
+<Test name="mediump_ivec4_aaaa_vertex" />
+<Test name="mediump_ivec4_aaaa_fragment" />
+<Test name="mediump_ivec4_abba_vertex" />
+<Test name="mediump_ivec4_abba_fragment" />
+<Test name="mediump_ivec4_aaag_vertex" />
+<Test name="mediump_ivec4_aaag_fragment" />
+<Test name="mediump_ivec4_rgrr_vertex" />
+<Test name="mediump_ivec4_rgrr_fragment" />
+<Test name="mediump_ivec4_bbab_vertex" />
+<Test name="mediump_ivec4_bbab_fragment" />
+<Test name="mediump_bvec2_x_vertex" />
+<Test name="mediump_bvec2_x_fragment" />
+<Test name="mediump_bvec2_xx_vertex" />
+<Test name="mediump_bvec2_xx_fragment" />
+<Test name="mediump_bvec2_xy_vertex" />
+<Test name="mediump_bvec2_xy_fragment" />
+<Test name="mediump_bvec2_yx_vertex" />
+<Test name="mediump_bvec2_yx_fragment" />
+<Test name="mediump_bvec2_yxy_vertex" />
+<Test name="mediump_bvec2_yxy_fragment" />
+<Test name="mediump_bvec2_xyxx_vertex" />
+<Test name="mediump_bvec2_xyxx_fragment" />
+<Test name="mediump_bvec2_yyyy_vertex" />
+<Test name="mediump_bvec2_yyyy_fragment" />
+<Test name="mediump_bvec2_s_vertex" />
+<Test name="mediump_bvec2_s_fragment" />
+<Test name="mediump_bvec2_ss_vertex" />
+<Test name="mediump_bvec2_ss_fragment" />
+<Test name="mediump_bvec2_st_vertex" />
+<Test name="mediump_bvec2_st_fragment" />
+<Test name="mediump_bvec2_ts_vertex" />
+<Test name="mediump_bvec2_ts_fragment" />
+<Test name="mediump_bvec2_tst_vertex" />
+<Test name="mediump_bvec2_tst_fragment" />
 <Test name="mediump_bvec2_stss_vertex" />
-<Test name="mediump_vec4_q_fragment" />
-<Test name="mediump_vec3_sss_fragment" />
-<Test name="mediump_bvec4_qqqt_fragment" />
-<Test name="mediump_ivec4_aaag_fragment" />
-<Test name="mediump_vec3_rggr_vertex" />
-<Test name="mediump_bvec3_b_fragment" />
-<Test name="mediump_vec3_bbbb_fragment" />
-<Test name="mediump_ivec4_wz_fragment" />
-<Test name="mediump_vec3_xyyx_fragment" />
-<Test name="mediump_ivec3_sp_vertex" />
-<Test name="mediump_bvec3_xz_fragment" />
-<Test name="mediump_ivec4_rrrr_fragment" />
-<Test name="mediump_bvec4_rgba_vertex" />
-<Test name="mediump_bvec4_abg_fragment" />
-<Test name="mediump_ivec4_tttt_fragment" />
+<Test name="mediump_bvec2_stss_fragment" />
+<Test name="mediump_bvec2_tttt_vertex" />
+<Test name="mediump_bvec2_tttt_fragment" />
+<Test name="mediump_bvec2_r_vertex" />
+<Test name="mediump_bvec2_r_fragment" />
+<Test name="mediump_bvec2_rr_vertex" />
+<Test name="mediump_bvec2_rr_fragment" />
+<Test name="mediump_bvec2_rg_vertex" />
+<Test name="mediump_bvec2_rg_fragment" />
+<Test name="mediump_bvec2_gr_vertex" />
 <Test name="mediump_bvec2_gr_fragment" />
+<Test name="mediump_bvec2_grg_vertex" />
+<Test name="mediump_bvec2_grg_fragment" />
+<Test name="mediump_bvec2_rgrr_vertex" />
 <Test name="mediump_bvec2_rgrr_fragment" />
-<Test name="mediump_ivec4_xxxx_fragment" />
-<Test name="mediump_ivec4_aaag_vertex" />
-<Test name="mediump_bvec4_qqqq_vertex" />
-<Test name="mediump_bvec3_stts_vertex" />
-<Test name="mediump_bvec4_xxxx_vertex" />
-<Test name="mediump_ivec3_bbbb_fragment" />
+<Test name="mediump_bvec2_gggg_vertex" />
+<Test name="mediump_bvec2_gggg_fragment" />
+<Test name="mediump_bvec3_x_vertex" />
+<Test name="mediump_bvec3_x_fragment" />
+<Test name="mediump_bvec3_z_vertex" />
+<Test name="mediump_bvec3_z_fragment" />
+<Test name="mediump_bvec3_xz_vertex" />
+<Test name="mediump_bvec3_xz_fragment" />
 <Test name="mediump_bvec3_zz_vertex" />
-<Test name="mediump_ivec4_wz_vertex" />
-<Test name="mediump_vec3_zyx_fragment" />
-<Test name="mediump_bvec3_sps_fragment" />
-<Test name="mediump_bvec2_s_fragment" />
-<Test name="mediump_ivec4_xyxx_vertex" />
-<Test name="mediump_vec3_ppp_fragment" />
-<Test name="mediump_ivec4_r_fragment" />
-<Test name="mediump_bvec4_xxxx_fragment" />
-<Test name="mediump_vec2_yx_fragment" />
-<Test name="mediump_ivec4_qp_fragment" />
-<Test name="mediump_ivec3_xzx_fragment" />
-<Test name="mediump_ivec4_qqq_vertex" />
-<Test name="mediump_vec3_pts_vertex" />
-<Test name="mediump_ivec3_bbb_fragment" />
-<Test name="mediump_ivec4_qqqt_fragment" />
-<Test name="mediump_ivec4_zzwz_fragment" />
-<Test name="mediump_bvec3_grg_vertex" />
-<Test name="mediump_vec4_aaag_vertex" />
-<Test name="mediump_vec4_ttq_fragment" />
-<Test name="mediump_bvec4_s_vertex" />
-<Test name="mediump_ivec2_rg_fragment" />
-<Test name="mediump_vec4_rrrr_fragment" />
-<Test name="mediump_vec4_bbab_fragment" />
-<Test name="mediump_vec3_rrr_vertex" />
-<Test name="mediump_bvec4_wzyx_vertex" />
-<Test name="mediump_bvec3_bbg_vertex" />
-<Test name="mediump_ivec4_q_vertex" />
-<Test name="mediump_ivec4_abg_fragment" />
+<Test name="mediump_bvec3_zz_fragment" />
+<Test name="mediump_bvec3_xyz_vertex" />
+<Test name="mediump_bvec3_xyz_fragment" />
+<Test name="mediump_bvec3_zyx_vertex" />
+<Test name="mediump_bvec3_zyx_fragment" />
+<Test name="mediump_bvec3_xxx_vertex" />
+<Test name="mediump_bvec3_xxx_fragment" />
+<Test name="mediump_bvec3_zzz_vertex" />
 <Test name="mediump_bvec3_zzz_fragment" />
-<Test name="mediump_bvec4_gga_fragment" />
-<Test name="mediump_vec4_zzwz_vertex" />
-<Test name="mediump_bvec3_bgr_fragment" />
-<Test name="mediump_bvec4_www_fragment" />
-<Test name="mediump_ivec2_rgrr_vertex" />
+<Test name="mediump_bvec3_zzy_vertex" />
+<Test name="mediump_bvec3_zzy_fragment" />
+<Test name="mediump_bvec3_yxy_vertex" />
+<Test name="mediump_bvec3_yxy_fragment" />
+<Test name="mediump_bvec3_xzx_vertex" />
+<Test name="mediump_bvec3_xzx_fragment" />
+<Test name="mediump_bvec3_xyyx_vertex" />
+<Test name="mediump_bvec3_xyyx_fragment" />
+<Test name="mediump_bvec3_zzzz_vertex" />
+<Test name="mediump_bvec3_zzzz_fragment" />
+<Test name="mediump_bvec3_s_vertex" />
+<Test name="mediump_bvec3_s_fragment" />
+<Test name="mediump_bvec3_p_vertex" />
+<Test name="mediump_bvec3_p_fragment" />
+<Test name="mediump_bvec3_sp_vertex" />
+<Test name="mediump_bvec3_sp_fragment" />
+<Test name="mediump_bvec3_pp_vertex" />
+<Test name="mediump_bvec3_pp_fragment" />
+<Test name="mediump_bvec3_stp_vertex" />
+<Test name="mediump_bvec3_stp_fragment" />
 <Test name="mediump_bvec3_pts_vertex" />
-<Test name="mediump_vec2_ts_fragment" />
-<Test name="mediump_ivec4_gga_vertex" />
-<Test name="mediump_ivec3_tst_fragment" />
+<Test name="mediump_bvec3_pts_fragment" />
+<Test name="mediump_bvec3_sss_vertex" />
 <Test name="mediump_bvec3_sss_fragment" />
-<Test name="mediump_bvec2_rg_vertex" />
-<Test name="mediump_bvec2_rgrr_vertex" />
+<Test name="mediump_bvec3_ppp_vertex" />
+<Test name="mediump_bvec3_ppp_fragment" />
+<Test name="mediump_bvec3_ppt_vertex" />
+<Test name="mediump_bvec3_ppt_fragment" />
+<Test name="mediump_bvec3_tst_vertex" />
+<Test name="mediump_bvec3_tst_fragment" />
+<Test name="mediump_bvec3_sps_vertex" />
+<Test name="mediump_bvec3_sps_fragment" />
+<Test name="mediump_bvec3_stts_vertex" />
+<Test name="mediump_bvec3_stts_fragment" />
+<Test name="mediump_bvec3_pppp_vertex" />
+<Test name="mediump_bvec3_pppp_fragment" />
+<Test name="mediump_bvec3_r_vertex" />
+<Test name="mediump_bvec3_r_fragment" />
+<Test name="mediump_bvec3_b_vertex" />
+<Test name="mediump_bvec3_b_fragment" />
+<Test name="mediump_bvec3_rb_vertex" />
+<Test name="mediump_bvec3_rb_fragment" />
+<Test name="mediump_bvec3_bb_vertex" />
+<Test name="mediump_bvec3_bb_fragment" />
+<Test name="mediump_bvec3_rgb_vertex" />
+<Test name="mediump_bvec3_rgb_fragment" />
+<Test name="mediump_bvec3_bgr_vertex" />
+<Test name="mediump_bvec3_bgr_fragment" />
+<Test name="mediump_bvec3_rrr_vertex" />
+<Test name="mediump_bvec3_rrr_fragment" />
+<Test name="mediump_bvec3_bbb_vertex" />
+<Test name="mediump_bvec3_bbb_fragment" />
+<Test name="mediump_bvec3_bbg_vertex" />
+<Test name="mediump_bvec3_bbg_fragment" />
+<Test name="mediump_bvec3_grg_vertex" />
+<Test name="mediump_bvec3_grg_fragment" />
+<Test name="mediump_bvec3_rbr_vertex" />
+<Test name="mediump_bvec3_rbr_fragment" />
+<Test name="mediump_bvec3_rggr_vertex" />
+<Test name="mediump_bvec3_rggr_fragment" />
+<Test name="mediump_bvec3_bbbb_vertex" />
+<Test name="mediump_bvec3_bbbb_fragment" />
+<Test name="mediump_bvec4_x_vertex" />
+<Test name="mediump_bvec4_x_fragment" />
+<Test name="mediump_bvec4_w_vertex" />
+<Test name="mediump_bvec4_w_fragment" />
+<Test name="mediump_bvec4_wx_vertex" />
+<Test name="mediump_bvec4_wx_fragment" />
+<Test name="mediump_bvec4_wz_vertex" />
+<Test name="mediump_bvec4_wz_fragment" />
+<Test name="mediump_bvec4_www_vertex" />
+<Test name="mediump_bvec4_www_fragment" />
+<Test name="mediump_bvec4_yyw_vertex" />
+<Test name="mediump_bvec4_yyw_fragment" />
+<Test name="mediump_bvec4_wzy_vertex" />
+<Test name="mediump_bvec4_wzy_fragment" />
+<Test name="mediump_bvec4_xyzw_vertex" />
+<Test name="mediump_bvec4_xyzw_fragment" />
+<Test name="mediump_bvec4_wzyx_vertex" />
+<Test name="mediump_bvec4_wzyx_fragment" />
+<Test name="mediump_bvec4_xxxx_vertex" />
+<Test name="mediump_bvec4_xxxx_fragment" />
+<Test name="mediump_bvec4_yyyy_vertex" />
+<Test name="mediump_bvec4_yyyy_fragment" />
+<Test name="mediump_bvec4_wwww_vertex" />
+<Test name="mediump_bvec4_wwww_fragment" />
+<Test name="mediump_bvec4_wzzw_vertex" />
+<Test name="mediump_bvec4_wzzw_fragment" />
+<Test name="mediump_bvec4_wwwy_vertex" />
+<Test name="mediump_bvec4_wwwy_fragment" />
+<Test name="mediump_bvec4_xyxx_vertex" />
+<Test name="mediump_bvec4_xyxx_fragment" />
+<Test name="mediump_bvec4_zzwz_vertex" />
+<Test name="mediump_bvec4_zzwz_fragment" />
+<Test name="mediump_bvec4_s_vertex" />
+<Test name="mediump_bvec4_s_fragment" />
+<Test name="mediump_bvec4_q_vertex" />
+<Test name="mediump_bvec4_q_fragment" />
+<Test name="mediump_bvec4_qs_vertex" />
+<Test name="mediump_bvec4_qs_fragment" />
+<Test name="mediump_bvec4_qp_vertex" />
+<Test name="mediump_bvec4_qp_fragment" />
+<Test name="mediump_bvec4_qqq_vertex" />
+<Test name="mediump_bvec4_qqq_fragment" />
+<Test name="mediump_bvec4_ttq_vertex" />
+<Test name="mediump_bvec4_ttq_fragment" />
+<Test name="mediump_bvec4_qpt_vertex" />
+<Test name="mediump_bvec4_qpt_fragment" />
+<Test name="mediump_bvec4_stpq_vertex" />
+<Test name="mediump_bvec4_stpq_fragment" />
+<Test name="mediump_bvec4_qpts_vertex" />
+<Test name="mediump_bvec4_qpts_fragment" />
+<Test name="mediump_bvec4_ssss_vertex" />
+<Test name="mediump_bvec4_ssss_fragment" />
+<Test name="mediump_bvec4_tttt_vertex" />
+<Test name="mediump_bvec4_tttt_fragment" />
+<Test name="mediump_bvec4_qqqq_vertex" />
+<Test name="mediump_bvec4_qqqq_fragment" />
+<Test name="mediump_bvec4_qppq_vertex" />
+<Test name="mediump_bvec4_qppq_fragment" />
+<Test name="mediump_bvec4_qqqt_vertex" />
+<Test name="mediump_bvec4_qqqt_fragment" />
+<Test name="mediump_bvec4_stss_vertex" />
+<Test name="mediump_bvec4_stss_fragment" />
+<Test name="mediump_bvec4_ppqp_vertex" />
+<Test name="mediump_bvec4_ppqp_fragment" />
+<Test name="mediump_bvec4_r_vertex" />
+<Test name="mediump_bvec4_r_fragment" />
+<Test name="mediump_bvec4_a_vertex" />
 <Test name="mediump_bvec4_a_fragment" />
-<Test name="mediump_vec3_p_vertex" />
-<Test name="mediump_bvec3_s_vertex" />
-<Test name="mediump_ivec3_xyyx_vertex" />
+<Test name="mediump_bvec4_ar_vertex" />
+<Test name="mediump_bvec4_ar_fragment" />
+<Test name="mediump_bvec4_ab_vertex" />
+<Test name="mediump_bvec4_ab_fragment" />
+<Test name="mediump_bvec4_aaa_vertex" />
+<Test name="mediump_bvec4_aaa_fragment" />
+<Test name="mediump_bvec4_gga_vertex" />
+<Test name="mediump_bvec4_gga_fragment" />
+<Test name="mediump_bvec4_abg_vertex" />
+<Test name="mediump_bvec4_abg_fragment" />
+<Test name="mediump_bvec4_rgba_vertex" />
+<Test name="mediump_bvec4_rgba_fragment" />
+<Test name="mediump_bvec4_abgr_vertex" />
+<Test name="mediump_bvec4_abgr_fragment" />
+<Test name="mediump_bvec4_rrrr_vertex" />
+<Test name="mediump_bvec4_rrrr_fragment" />
+<Test name="mediump_bvec4_gggg_vertex" />
+<Test name="mediump_bvec4_gggg_fragment" />
+<Test name="mediump_bvec4_aaaa_vertex" />
+<Test name="mediump_bvec4_aaaa_fragment" />
+<Test name="mediump_bvec4_abba_vertex" />
+<Test name="mediump_bvec4_abba_fragment" />
+<Test name="mediump_bvec4_aaag_vertex" />
+<Test name="mediump_bvec4_aaag_fragment" />
+<Test name="mediump_bvec4_rgrr_vertex" />
+<Test name="mediump_bvec4_rgrr_fragment" />
+<Test name="mediump_bvec4_bbab_vertex" />
+<Test name="mediump_bvec4_bbab_fragment" />
+</TestCase>
+</TestSuite>
+<TestSuite name="functions">
+<TestCase name="datatypes">
+<Test name="float_float_vertex" />
+<Test name="float_float_fragment" />
+<Test name="float_vec2_vertex" />
+<Test name="float_vec2_fragment" />
+<Test name="float_vec3_vertex" />
+<Test name="float_vec3_fragment" />
+<Test name="float_vec4_vertex" />
+<Test name="float_vec4_fragment" />
+<Test name="float_mat2_vertex" />
+<Test name="float_mat2_fragment" />
+<Test name="float_mat3_vertex" />
+<Test name="float_mat3_fragment" />
+<Test name="float_mat4_vertex" />
+<Test name="float_mat4_fragment" />
+<Test name="int_int_vertex" />
+<Test name="int_int_fragment" />
+<Test name="int_ivec2_vertex" />
+<Test name="int_ivec2_fragment" />
+<Test name="int_ivec3_vertex" />
+<Test name="int_ivec3_fragment" />
+<Test name="int_ivec4_vertex" />
+<Test name="int_ivec4_fragment" />
+<Test name="uint_uint_vertex" />
+<Test name="uint_uint_fragment" />
+<Test name="uint_uvec2_vertex" />
+<Test name="uint_uvec2_fragment" />
+<Test name="uint_uvec3_vertex" />
+<Test name="uint_uvec3_fragment" />
+<Test name="uint_uvec4_vertex" />
+<Test name="uint_uvec4_fragment" />
+<Test name="bool_bool_vertex" />
+<Test name="bool_bool_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="float_struct_vertex" />
+<Test name="float_struct_fragment" />
+<Test name="struct_struct_vertex" />
+<Test name="struct_struct_fragment" />
+<Test name="struct_nested_struct_vertex" />
+<Test name="struct_nested_struct_fragment" />
+</TestCase>
+<TestCase name="qualifiers">
+<Test name="in_float_vertex" />
+<Test name="in_float_fragment" />
+<Test name="out_float_vertex" />
+<Test name="out_float_fragment" />
+<Test name="inout_float_vertex" />
+<Test name="inout_float_fragment" />
+<Test name="in_lowp_float_vertex" />
+<Test name="in_lowp_float_fragment" />
+<Test name="out_lowp_float_vertex" />
+<Test name="out_lowp_float_fragment" />
+<Test name="inout_lowp_float_vertex" />
+<Test name="inout_lowp_float_fragment" />
+<Test name="in_highp_float_vertex" />
+<Test name="out_highp_float_vertex" />
+<Test name="out_highp_float_fragment" />
+<Test name="inout_highp_float_vertex" />
+<Test name="const_float_vertex" />
+<Test name="const_float_fragment" />
+<Test name="const_in_float_vertex" />
+<Test name="const_in_float_fragment" />
+<Test name="in_int_vertex" />
+<Test name="in_int_fragment" />
+<Test name="out_int_vertex" />
+<Test name="out_int_fragment" />
+<Test name="inout_int_vertex" />
+<Test name="inout_int_fragment" />
+<Test name="in_lowp_int_vertex" />
+<Test name="in_lowp_int_fragment" />
+<Test name="out_lowp_int_vertex" />
+<Test name="out_lowp_int_fragment" />
+<Test name="inout_lowp_int_vertex" />
+<Test name="inout_lowp_int_fragment" />
+<Test name="in_highp_int_vertex" />
+<Test name="in_highp_int_fragment" />
+<Test name="out_highp_int_vertex" />
+<Test name="out_highp_int_fragment" />
+<Test name="inout_highp_int_vertex" />
+<Test name="inout_highp_int_fragment" />
+<Test name="const_int_vertex" />
+<Test name="const_int_fragment" />
+<Test name="const_in_int_vertex" />
+<Test name="const_in_int_fragment" />
+<Test name="in_bool_vertex" />
+<Test name="in_bool_fragment" />
+<Test name="out_bool_vertex" />
+<Test name="out_bool_fragment" />
+<Test name="inout_bool_vertex" />
+<Test name="inout_bool_fragment" />
+<Test name="const_bool_vertex" />
+<Test name="const_bool_fragment" />
+</TestCase>
+<TestCase name="declarations">
+<Test name="basic_vertex" />
+<Test name="basic_fragment" />
+<Test name="basic_arg_vertex" />
+<Test name="basic_arg_fragment" />
+<Test name="define_after_use_vertex" />
+<Test name="define_after_use_fragment" />
+<Test name="double_declare_vertex" />
+<Test name="double_declare_fragment" />
+<Test name="declare_after_define_vertex" />
+<Test name="declare_after_define_fragment" />
+<Test name="void_vs_no_void_vertex" />
+<Test name="void_vs_no_void_fragment" />
+<Test name="in_vs_no_in_vertex" />
+<Test name="in_vs_no_in_fragment" />
+<Test name="default_vs_explicit_precision_vertex" />
+<Test name="default_vs_explicit_precision_fragment" />
+</TestCase>
+<TestCase name="overloading">
+<Test name="user_func_arg_type_simple_vertex" />
+<Test name="user_func_arg_type_simple_fragment" />
+<Test name="user_func_arg_float_types_vertex" />
+<Test name="user_func_arg_float_types_fragment" />
+<Test name="user_func_arg_int_types_vertex" />
+<Test name="user_func_arg_int_types_fragment" />
+<Test name="user_func_arg_bool_types_vertex" />
+<Test name="user_func_arg_bool_types_fragment" />
+<Test name="user_func_arg_basic_types_vertex" />
+<Test name="user_func_arg_basic_types_fragment" />
+<Test name="user_func_arg_complex_types_vertex" />
+<Test name="user_func_arg_complex_types_fragment" />
+<Test name="user_func_arguments_vertex" />
+<Test name="user_func_arguments_fragment" />
+<Test name="array_size_vertex" />
+<Test name="array_size_fragment" />
+</TestCase>
+<TestCase name="array_arguments">
+<Test name="local_in_float_vertex" />
+<Test name="local_in_float_fragment" />
+<Test name="global_in_float_vertex" />
+<Test name="global_in_float_fragment" />
+<Test name="local_in_int_vertex" />
+<Test name="local_in_int_fragment" />
+<Test name="global_in_int_vertex" />
+<Test name="global_in_int_fragment" />
+<Test name="local_in_bool_vertex" />
+<Test name="local_in_bool_fragment" />
+<Test name="global_in_bool_vertex" />
+<Test name="global_in_bool_fragment" />
+<Test name="test_helpers_vertex" />
+<Test name="test_helpers_fragment" />
+<Test name="copy_local_in_on_call_vertex" />
+<Test name="copy_local_in_on_call_fragment" />
+<Test name="copy_global_in_on_call_vertex" />
+<Test name="copy_global_in_on_call_fragment" />
+<Test name="copy_local_inout_on_call_vertex" />
+<Test name="copy_local_inout_on_call_fragment" />
+</TestCase>
+<TestCase name="control_flow">
+<Test name="simple_return_vertex" />
+<Test name="simple_return_fragment" />
+<Test name="return_in_if_vertex" />
+<Test name="return_in_if_fragment" />
+<Test name="return_in_else_vertex" />
+<Test name="return_in_else_fragment" />
+<Test name="return_in_loop_vertex" />
+<Test name="return_in_loop_fragment" />
+<Test name="return_in_loop_if_vertex" />
+<Test name="return_in_loop_if_fragment" />
+<Test name="return_after_loop_vertex" />
+<Test name="return_after_loop_fragment" />
+<Test name="return_after_break_vertex" />
+<Test name="return_after_break_fragment" />
+<Test name="return_after_continue_vertex" />
+<Test name="return_after_continue_fragment" />
+<Test name="return_in_nested_loop_vertex" />
+<Test name="return_in_nested_loop_fragment" />
+<Test name="return_after_loop_sequence_vertex" />
+<Test name="return_after_loop_sequence_fragment" />
+<Test name="mixed_return_break_continue_vertex" />
+<Test name="mixed_return_break_continue_fragment" />
+</TestCase>
+<TestCase name="misc">
+<Test name="multi_arg_float_vertex" />
+<Test name="multi_arg_float_fragment" />
+<Test name="multi_arg_int_vertex" />
+<Test name="multi_arg_int_fragment" />
+<Test name="argument_eval_order_1_vertex" />
+<Test name="argument_eval_order_1_fragment" />
+<Test name="argument_eval_order_2_vertex" />
+<Test name="argument_eval_order_2_fragment" />
+</TestCase>
+<TestCase name="invalid">
+<Test name="break_in_body_vertex" />
+<Test name="break_in_body_fragment" />
+<Test name="continue_in_body_vertex" />
+<Test name="continue_in_body_fragment" />
+<Test name="return_value_from_void_function_vertex" />
+<Test name="return_value_from_void_function_fragment" />
+<Test name="extra_arguments_vertex" />
+<Test name="extra_arguments_fragment" />
+<Test name="missing_arguments_vertex" />
+<Test name="missing_arguments_fragment" />
+<Test name="missing_argument_type_vertex" />
+<Test name="missing_argument_type_fragment" />
+<Test name="argument_basetype_mismatch_vertex" />
+<Test name="argument_basetype_mismatch_fragment" />
+<Test name="argument_scalar_vector_mismatch_vertex" />
+<Test name="argument_scalar_vector_mismatch_fragment" />
+<Test name="argument_vector_size_mismatch_vertex" />
+<Test name="argument_vector_size_mismatch_fragment" />
+<Test name="duplicate_function_vertex" />
+<Test name="duplicate_function_fragment" />
+<Test name="prototype_mismatch_return_type_vertex" />
+<Test name="prototype_mismatch_return_type_fragment" />
+<Test name="prototype_unspecified_array_size_vertex" />
+<Test name="prototype_unspecified_array_size_fragment" />
+<Test name="call_mismatch_argument_array_size_vertex" />
+<Test name="call_mismatch_argument_array_size_fragment" />
+<Test name="prototype_mismatch_argument_const_vertex" />
+<Test name="prototype_mismatch_argument_const_fragment" />
+<Test name="prototype_mismatch_argument_array_const_vertex" />
+<Test name="prototype_mismatch_argument_array_const_fragment" />
+<Test name="prototype_mismatch_array_inout_vertex" />
+<Test name="prototype_mismatch_array_inout_fragment" />
+<Test name="missing_return_type_vertex" />
+<Test name="missing_return_type_fragment" />
+<Test name="call_before_definition_vertex" />
+<Test name="call_before_definition_fragment" />
+<Test name="argument_precision_overload_vertex" />
+<Test name="argument_precision_overload_fragment" />
+<Test name="argument_in_out_overload_vertex" />
+<Test name="argument_in_out_overload_fragment" />
+<Test name="argument_in_inout_overload_vertex" />
+<Test name="argument_in_inout_overload_fragment" />
+<Test name="argument_out_inout_overload_vertex" />
+<Test name="argument_out_inout_overload_fragment" />
+<Test name="return_type_overload_vertex" />
+<Test name="return_type_overload_fragment" />
+<Test name="return_type_precision_overload_vertex" />
+<Test name="return_type_precision_overload_fragment" />
+<Test name="return_type_const_overload_vertex" />
+<Test name="return_type_const_overload_fragment" />
+<Test name="return_without_value_vertex" />
+<Test name="return_without_value_fragment" />
+<Test name="local_function_definition_vertex" />
+<Test name="local_function_definition_fragment" />
+<Test name="name_type_conflict_vertex" />
+<Test name="name_type_conflict_fragment" />
+<Test name="const_overload_vertex" />
+<Test name="const_overload_fragment" />
+<Test name="uniform_local_vertex" />
+<Test name="uniform_local_fragment" />
+<Test name="in_local_vertex" />
+<Test name="in_local_fragment" />
+<Test name="out_local_vertex" />
+<Test name="out_local_fragment" />
+<Test name="inout_local_vertex" />
+<Test name="inout_local_fragment" />
+<Test name="uniform_argument_vertex" />
+<Test name="uniform_argument_fragment" />
+<Test name="in_return_type_vertex" />
+<Test name="in_return_type_fragment" />
+<Test name="out_return_type_vertex" />
+<Test name="out_return_type_fragment" />
+<Test name="inout_return_type_vertex" />
+<Test name="inout_return_type_fragment" />
+<Test name="main_invalid_return_type_vertex" />
+<Test name="main_invalid_return_type_fragment" />
+<Test name="main_has_arguments_vertex" />
+<Test name="main_has_arguments_fragment" />
+<Test name="main_missing_return_type_vertex" />
+<Test name="main_missing_return_type_fragment" />
+<Test name="write_const_arg_vertex" />
+<Test name="write_const_arg_fragment" />
+<Test name="write_const_array_arg_vertex" />
+<Test name="write_const_array_arg_fragment" />
+<Test name="basic_recursion_vertex" />
+<Test name="basic_recursion_fragment" />
+<Test name="simple_tail_recursion_vertex" />
+<Test name="simple_tail_recursion_fragment" />
+<Test name="dynamic_conditional_recursion_vertex" />
+<Test name="dynamic_conditional_recursion_fragment" />
+<Test name="dynamic_loop_recursion_vertex" />
+<Test name="dynamic_loop_recursion_fragment" />
+<Test name="dynamic_switch_recursion_vertex" />
+<Test name="dynamic_switch_recursion_fragment" />
+<Test name="modify_const_arg_vertex" />
+<Test name="modify_const_arg_fragment" />
+</TestCase>
+</TestSuite>
+<TestSuite name="arrays">
+<TestCase name="constructor">
+<Test name="float3_vertex" />
+<Test name="float3_fragment" />
+<Test name="float4_vertex" />
+<Test name="float4_fragment" />
+<Test name="int3_vertex" />
+<Test name="int3_fragment" />
+<Test name="int4_vertex" />
+<Test name="int4_fragment" />
+<Test name="bool3_vertex" />
+<Test name="bool3_fragment" />
+<Test name="bool4_vertex" />
+<Test name="bool4_fragment" />
+<Test name="struct3_vertex" />
+<Test name="struct3_fragment" />
+<Test name="struct4_vertex" />
+<Test name="struct4_fragment" />
+<Test name="float_vec3_vertex" />
+<Test name="float_vec3_fragment" />
+<Test name="int_vec3_vertex" />
+<Test name="int_vec3_fragment" />
+<Test name="bool_vec3_vertex" />
+<Test name="bool_vec3_fragment" />
+</TestCase>
+<TestCase name="return">
+<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="float_vec3_vertex" />
+<Test name="float_vec3_fragment" />
+<Test name="int_vec3_vertex" />
+<Test name="int_vec3_fragment" />
+<Test name="bool_vec3_vertex" />
+<Test name="bool_vec3_fragment" />
+<Test name="float_mat3_vertex" />
+<Test name="float_mat3_fragment" />
+<Test name="int_mat3_vertex" />
+<Test name="int_mat3_fragment" />
+<Test name="bool_mat3_vertex" />
+<Test name="bool_mat3_fragment" />
+</TestCase>
+<TestCase name="unnamed_parameter">
+<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="float_vec3_vertex" />
+<Test name="float_vec3_fragment" />
+<Test name="int_vec3_vertex" />
+<Test name="int_vec3_fragment" />
+<Test name="bool_vec3_vertex" />
+<Test name="bool_vec3_fragment" />
+<Test name="float_mat3_vertex" />
+<Test name="float_mat3_fragment" />
+<Test name="int_mat3_vertex" />
+<Test name="int_mat3_fragment" />
+<Test name="bool_mat3_vertex" />
+<Test name="bool_mat3_fragment" />
+</TestCase>
+<TestCase name="declaration">
+<Test name="implicit_size_float_vertex" />
+<Test name="implicit_size_float_fragment" />
+<Test name="implicit_size_int_vertex" />
+<Test name="implicit_size_int_fragment" />
+<Test name="implicit_size_bool_vertex" />
+<Test name="implicit_size_bool_fragment" />
+<Test name="implicit_size_struct_vertex" />
+<Test name="implicit_size_struct_fragment" />
+<Test name="implicit_size_float_vec3_vertex" />
+<Test name="implicit_size_float_vec3_fragment" />
+<Test name="implicit_size_int_ivec3_vertex" />
+<Test name="implicit_size_int_ivec3_fragment" />
+<Test name="implicit_size_bool_bvec3_vertex" />
+<Test name="implicit_size_bool_bvec3_fragment" />
+<Test name="constant_expression_array_size_vertex" />
+<Test name="constant_expression_array_size_fragment" />
+<Test name="constant_expression_array_access_vertex" />
+<Test name="constant_expression_array_access_fragment" />
+</TestCase>
+<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" />
+</TestCase>
+<TestCase name="invalid">
+<Test name="multidimensional_array1_vertex" />
+<Test name="multidimensional_array1_fragment" />
+<Test name="multidimensional_array2_vertex" />
+<Test name="multidimensional_array2_fragment" />
+<Test name="multidimensional_uniform_array_vertex" />
+<Test name="multidimensional_uniform_array_fragment" />
+<Test name="multidimensional_array_in_uniform_block_vertex" />
+<Test name="multidimensional_array_in_uniform_block_fragment" />
+<Test name="dynamic_expression_array_size_vertex" />
+<Test name="dynamic_expression_array_size_fragment" />
+<Test name="constructor_c-style1_vertex" />
+<Test name="constructor_c-style1_fragment" />
+<Test name="constructor_c-style2_vertex" />
+<Test name="constructor_c-style2_fragment" />
+</TestCase>
+</TestSuite>
+<TestSuite name="keywords">
+<TestCase name="keywords">
+<Test name="const_vertex" />
+<Test name="const_fragment" />
+<Test name="uniform_vertex" />
+<Test name="uniform_fragment" />
+<Test name="layout_vertex" />
+<Test name="layout_fragment" />
+<Test name="centroid_vertex" />
+<Test name="centroid_fragment" />
+<Test name="flat_vertex" />
+<Test name="flat_fragment" />
+<Test name="smooth_vertex" />
+<Test name="smooth_fragment" />
+<Test name="break_vertex" />
+<Test name="break_fragment" />
+<Test name="continue_vertex" />
+<Test name="continue_fragment" />
+<Test name="do_vertex" />
+<Test name="do_fragment" />
+<Test name="for_vertex" />
+<Test name="for_fragment" />
+<Test name="while_vertex" />
+<Test name="while_fragment" />
+<Test name="switch_vertex" />
+<Test name="switch_fragment" />
+<Test name="case_vertex" />
+<Test name="case_fragment" />
+<Test name="default_vertex" />
+<Test name="default_fragment" />
+<Test name="if_vertex" />
+<Test name="if_fragment" />
+<Test name="else_vertex" />
+<Test name="else_fragment" />
+<Test name="in_vertex" />
+<Test name="in_fragment" />
+<Test name="out_vertex" />
+<Test name="out_fragment" />
+<Test name="inout_vertex" />
+<Test name="inout_fragment" />
+<Test name="float_vertex" />
+<Test name="float_fragment" />
+<Test name="int_vertex" />
+<Test name="int_fragment" />
+<Test name="void_vertex" />
+<Test name="void_fragment" />
+<Test name="bool_vertex" />
+<Test name="bool_fragment" />
+<Test name="true_vertex" />
+<Test name="true_fragment" />
+<Test name="false_vertex" />
+<Test name="false_fragment" />
+<Test name="invariant_vertex" />
+<Test name="invariant_fragment" />
+<Test name="discard_vertex" />
+<Test name="discard_fragment" />
+<Test name="return_vertex" />
+<Test name="return_fragment" />
+<Test name="mat2_vertex" />
+<Test name="mat2_fragment" />
+<Test name="mat3_vertex" />
+<Test name="mat3_fragment" />
+<Test name="mat4_vertex" />
+<Test name="mat4_fragment" />
+<Test name="mat2x2_vertex" />
+<Test name="mat2x2_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="mat3x3_vertex" />
+<Test name="mat3x3_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="mat4x4_vertex" />
+<Test name="mat4x4_fragment" />
+<Test name="vec2_vertex" />
+<Test name="vec2_fragment" />
+<Test name="vec3_vertex" />
+<Test name="vec3_fragment" />
+<Test name="vec4_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="bvec2_vertex" />
+<Test name="bvec2_fragment" />
+<Test name="bvec3_vertex" />
+<Test name="bvec3_fragment" />
+<Test name="bvec4_vertex" />
+<Test name="bvec4_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="lowp_vertex" />
+<Test name="lowp_fragment" />
+<Test name="mediump_vertex" />
+<Test name="mediump_fragment" />
+<Test name="highp_vertex" />
+<Test name="highp_fragment" />
+<Test name="precision_vertex" />
+<Test name="precision_fragment" />
+<Test name="sampler2D_vertex" />
+<Test name="sampler2D_fragment" />
+<Test name="sampler3D_vertex" />
+<Test name="sampler3D_fragment" />
+<Test name="samplerCube_vertex" />
+<Test name="samplerCube_fragment" />
+<Test name="sampler2DShadow_vertex" />
+<Test name="sampler2DShadow_fragment" />
+<Test name="samplerCubeShadow_vertex" />
+<Test name="samplerCubeShadow_fragment" />
+<Test name="sampler2DArray_vertex" />
+<Test name="sampler2DArray_fragment" />
+<Test name="sampler2DArrayShadow_vertex" />
+<Test name="sampler2DArrayShadow_fragment" />
+<Test name="isampler2D_vertex" />
+<Test name="isampler2D_fragment" />
+<Test name="isampler3D_vertex" />
+<Test name="isampler3D_fragment" />
+<Test name="isamplerCube_vertex" />
+<Test name="isamplerCube_fragment" />
+<Test name="isampler2DArray_vertex" />
+<Test name="isampler2DArray_fragment" />
+<Test name="usampler2D_vertex" />
+<Test name="usampler2D_fragment" />
+<Test name="usampler3D_vertex" />
+<Test name="usampler3D_fragment" />
+<Test name="usamplerCube_vertex" />
+<Test name="usamplerCube_fragment" />
+<Test name="usampler2DArray_vertex" />
+<Test name="usampler2DArray_fragment" />
+<Test name="struct_vertex" />
+<Test name="struct_fragment" />
+</TestCase>
+<TestCase name="reserved_keywords">
+<Test name="attribute_vertex" />
+<Test name="attribute_fragment" />
+<Test name="varying_vertex" />
+<Test name="varying_fragment" />
+<Test name="noperspective_vertex" />
+<Test name="noperspective_fragment" />
+<Test name="asm_vertex" />
+<Test name="asm_fragment" />
+<Test name="class_vertex" />
+<Test name="class_fragment" />
+<Test name="union_vertex" />
+<Test name="union_fragment" />
+<Test name="enum_vertex" />
+<Test name="enum_fragment" />
+<Test name="typedef_vertex" />
+<Test name="typedef_fragment" />
+<Test name="template_vertex" />
+<Test name="template_fragment" />
+<Test name="this_vertex" />
+<Test name="this_fragment" />
+<Test name="goto_vertex" />
+<Test name="goto_fragment" />
+<Test name="inline_vertex" />
+<Test name="inline_fragment" />
+<Test name="noinline_vertex" />
+<Test name="noinline_fragment" />
+<Test name="volatile_vertex" />
+<Test name="volatile_fragment" />
+<Test name="public_vertex" />
+<Test name="public_fragment" />
+<Test name="static_vertex" />
+<Test name="static_fragment" />
+<Test name="extern_vertex" />
+<Test name="extern_fragment" />
+<Test name="external_vertex" />
+<Test name="external_fragment" />
+<Test name="interface_vertex" />
+<Test name="interface_fragment" />
+<Test name="long_vertex" />
+<Test name="long_fragment" />
+<Test name="short_vertex" />
+<Test name="short_fragment" />
+<Test name="half_vertex" />
+<Test name="half_fragment" />
+<Test name="fixed_vertex" />
+<Test name="fixed_fragment" />
+<Test name="unsigned_vertex" />
+<Test name="unsigned_fragment" />
+<Test name="superp_vertex" />
+<Test name="superp_fragment" />
+<Test name="input_vertex" />
+<Test name="input_fragment" />
+<Test name="output_vertex" />
+<Test name="output_fragment" />
+<Test name="hvec2_vertex" />
+<Test name="hvec2_fragment" />
+<Test name="hvec3_vertex" />
+<Test name="hvec3_fragment" />
+<Test name="hvec4_vertex" />
+<Test name="hvec4_fragment" />
+<Test name="dvec2_vertex" />
+<Test name="dvec2_fragment" />
+<Test name="dvec3_vertex" />
+<Test name="dvec3_fragment" />
+<Test name="dvec4_vertex" />
+<Test name="dvec4_fragment" />
+<Test name="fvec2_vertex" />
+<Test name="fvec2_fragment" />
+<Test name="fvec3_vertex" />
+<Test name="fvec3_fragment" />
+<Test name="fvec4_vertex" />
+<Test name="fvec4_fragment" />
+<Test name="sampler3DRect_vertex" />
+<Test name="sampler3DRect_fragment" />
+<Test name="sampler1D_vertex" />
+<Test name="sampler1D_fragment" />
+<Test name="sampler1DShadow_vertex" />
+<Test name="sampler1DShadow_fragment" />
+<Test name="sampler1DArray_vertex" />
+<Test name="sampler1DArray_fragment" />
+<Test name="sampler1DArrayShadow_vertex" />
+<Test name="sampler1DArrayShadow_fragment" />
+<Test name="isampler1D_vertex" />
+<Test name="isampler1D_fragment" />
+<Test name="isampler1DArray_vertex" />
+<Test name="isampler1DArray_fragment" />
+<Test name="usampler1D_vertex" />
+<Test name="usampler1D_fragment" />
+<Test name="usampler1DArray_vertex" />
+<Test name="usampler1DArray_fragment" />
+<Test name="sampler2DRect_vertex" />
+<Test name="sampler2DRect_fragment" />
+<Test name="sampler2DRectShadow_vertex" />
+<Test name="sampler2DRectShadow_fragment" />
+<Test name="isampler2DRect_vertex" />
+<Test name="isampler2DRect_fragment" />
+<Test name="usampler2DRect_vertex" />
+<Test name="usampler2DRect_fragment" />
+<Test name="sampler2DMS_vertex" />
+<Test name="sampler2DMS_fragment" />
+<Test name="isampler2DMS_vertex" />
+<Test name="isampler2DMS_fragment" />
+<Test name="usampler2DMS_vertex" />
+<Test name="usampler2DMS_fragment" />
+<Test name="sampler2DMSArray_vertex" />
+<Test name="sampler2DMSArray_fragment" />
+<Test name="isampler2DMSArray_vertex" />
+<Test name="isampler2DMSArray_fragment" />
+<Test name="usampler2DMSArray_vertex" />
+<Test name="usampler2DMSArray_fragment" />
+<Test name="sizeof_vertex" />
+<Test name="sizeof_fragment" />
+<Test name="cast_vertex" />
+<Test name="cast_fragment" />
+<Test name="namespace_vertex" />
+<Test name="namespace_fragment" />
+<Test name="using_vertex" />
+<Test name="using_fragment" />
+</TestCase>
+<TestCase name="invalid_identifiers">
+<Test name="gl_begin_vertex" />
+<Test name="gl_begin_fragment" />
+<Test name="digit_vertex" />
+<Test name="digit_fragment" />
+<Test name="digit_begin_vertex" />
+<Test name="digit_begin_fragment" />
+</TestCase>
+</TestSuite>
+<TestSuite name="qualification_order">
+<TestSuite name="variables">
+<TestCase name="valid">
+<Test name="interp_storage_precision" />
+<Test name="storage_precision" />
+<Test name="interp_storage" />
+</TestCase>
+</TestSuite>
+<TestSuite name="parameters">
+<TestCase name="valid">
+<Test name="storage_parameter_precision_vertex" />
+<Test name="storage_parameter_precision_fragment" />
+<Test name="storage_parameter_vertex" />
+<Test name="storage_parameter_fragment" />
+<Test name="storage_precision_vertex" />
+<Test name="storage_precision_fragment" />
+<Test name="parameter_precision_vertex" />
+<Test name="parameter_precision_fragment" />
+</TestCase>
+<TestCase name="invalid">
+<Test name="storage_precision_parameter_vertex" />
+<Test name="storage_precision_parameter_fragment" />
+<Test name="parameter_storage_precision_vertex" />
+<Test name="parameter_storage_precision_fragment" />
+<Test name="parameter_precision_storage_vertex" />
+<Test name="parameter_precision_storage_fragment" />
+<Test name="precision_storage_parameter_vertex" />
+<Test name="precision_storage_parameter_fragment" />
+<Test name="precision_parameter_storage_vertex" />
+<Test name="precision_parameter_storage_fragment" />
+<Test name="parameter_storage_vertex" />
+<Test name="parameter_storage_fragment" />
+<Test name="precision_storage_vertex" />
+<Test name="precision_storage_fragment" />
+<Test name="precision_parameter_vertex" />
+<Test name="precision_parameter_fragment" />
+</TestCase>
+</TestSuite>
+</TestSuite>
+<TestSuite name="scoping">
+<TestCase name="valid">
+<Test name="local_variable_hides_global_variable_vertex" />
+<Test name="local_variable_hides_global_variable_fragment" />
+<Test name="block_variable_hides_local_variable_vertex" />
+<Test name="block_variable_hides_local_variable_fragment" />
+<Test name="block_variable_hides_global_variable_vertex" />
+<Test name="block_variable_hides_global_variable_fragment" />
+<Test name="variable_from_outer_scope_visible_in_initializer_vertex" />
+<Test name="variable_from_outer_scope_visible_in_initializer_fragment" />
+<Test name="local_int_variable_hides_struct_type_vertex" />
+<Test name="local_int_variable_hides_struct_type_fragment" />
+<Test name="local_struct_variable_hides_struct_type_vertex" />
+<Test name="local_struct_variable_hides_struct_type_fragment" />
+<Test name="local_variable_hides_function_vertex" />
+<Test name="local_variable_hides_function_fragment" />
+<Test name="function_parameter_hides_global_variable_vertex" />
+<Test name="function_parameter_hides_global_variable_fragment" />
+<Test name="function_parameter_hides_struct_type_vertex" />
+<Test name="function_parameter_hides_struct_type_fragment" />
+<Test name="function_parameter_hides_function_vertex" />
+<Test name="function_parameter_hides_function_fragment" />
+<Test name="local_variable_in_inner_scope_hides_function_parameter_vertex" />
+<Test name="local_variable_in_inner_scope_hides_function_parameter_fragment" />
+<Test name="redeclare_function_vertex" />
+<Test name="redeclare_function_fragment" />
+</TestCase>
+<TestCase name="invalid">
+<Test name="redeclare_global_variable_vertex" />
+<Test name="redeclare_global_variable_fragment" />
+<Test name="redeclare_local_variable_vertex" />
+<Test name="redeclare_local_variable_fragment" />
+<Test name="redeclare_for_condition_variable_vertex" />
+<Test name="redeclare_for_condition_variable_fragment" />
+<Test name="redeclare_for_init_statement_variable_in_for_condition_vertex" />
+<Test name="redeclare_for_init_statement_variable_in_for_condition_fragment" />
+<Test name="redeclare_while_condition_variable_vertex" />
+<Test name="redeclare_while_condition_variable_fragment" />
+<Test name="redefine_function_vertex" />
+<Test name="redefine_function_fragment" />
+<Test name="redeclare_builtin_vertex" />
+<Test name="redeclare_builtin_fragment" />
+<Test name="conflict_function_struct_vertex" />
+<Test name="conflict_function_struct_fragment" />
+<Test name="conflict_function_variable_vertex" />
+<Test name="conflict_function_variable_fragment" />
+<Test name="use_global_variable_before_declaration_vertex" />
+<Test name="use_global_variable_before_declaration_fragment" />
+<Test name="use_local_variable_before_declaration_vertex" />
+<Test name="use_local_variable_before_declaration_fragment" />
+<Test name="use_struct_type_before_declaration_vertex" />
+<Test name="use_struct_type_before_declaration_fragment" />
+<Test name="use_function_before_declaration_vertex" />
+<Test name="use_function_before_declaration_fragment" />
+<Test name="use_variable_from_block_in_outer_scope_vertex" />
+<Test name="use_variable_from_block_in_outer_scope_fragment" />
+<Test name="use_variable_from_for_init_statement_in_outer_scope_vertex" />
+<Test name="use_variable_from_for_init_statement_in_outer_scope_fragment" />
+<Test name="use_parameter_names_from_function_declaration_vertex" />
+<Test name="use_parameter_names_from_function_declaration_fragment" />
+<Test name="variable_not_visible_in_own_initializer_vertex" />
+<Test name="variable_not_visible_in_own_initializer_fragment" />
+<Test name="local_variable_hides_function_parameter_vertex" />
+<Test name="local_variable_hides_function_parameter_fragment" />
+</TestCase>
+</TestSuite>
+<TestSuite name="negative">
+<TestCase name="c_cast">
+<Test name="float_0_vertex" />
+<Test name="float_0_fragment" />
+<Test name="float_1_vertex" />
+<Test name="float_1_fragment" />
+<Test name="float_2_vertex" />
+<Test name="float_2_fragment" />
+<Test name="int_vertex" />
+<Test name="int_fragment" />
+<Test name="uint_vertex" />
+<Test name="uint_fragment" />
+<Test name="bool_vertex" />
+<Test name="bool_fragment" />
+</TestCase>
+</TestSuite>
+<TestCase name="discard">
+<Test name="basic_always" />
+<Test name="basic_never" />
+<Test name="basic_uniform" />
+<Test name="basic_dynamic" />
+<Test name="basic_texture" />
+<Test name="function_always" />
+<Test name="function_never" />
+<Test name="function_uniform" />
+<Test name="function_dynamic" />
+<Test name="function_texture" />
+<Test name="static_loop_always" />
+<Test name="static_loop_never" />
+<Test name="static_loop_uniform" />
+<Test name="static_loop_dynamic" />
+<Test name="static_loop_texture" />
+<Test name="dynamic_loop_always" />
+<Test name="dynamic_loop_never" />
+<Test name="dynamic_loop_uniform" />
+<Test name="dynamic_loop_dynamic" />
+<Test name="dynamic_loop_texture" />
+<Test name="function_static_loop_always" />
+<Test name="function_static_loop_never" />
+<Test name="function_static_loop_uniform" />
+<Test name="function_static_loop_dynamic" />
+<Test name="function_static_loop_texture" />
+</TestCase>
+<TestSuite name="indexing">
+<TestCase name="varying_array">
+<Test name="float_static_write_static_read" />
+<Test name="float_static_write_dynamic_read" />
+<Test name="float_static_write_static_loop_read" />
+<Test name="float_static_write_dynamic_loop_read" />
+<Test name="float_dynamic_write_static_read" />
+<Test name="float_dynamic_write_dynamic_read" />
+<Test name="float_dynamic_write_static_loop_read" />
+<Test name="float_dynamic_write_dynamic_loop_read" />
+<Test name="float_static_loop_write_static_read" />
+<Test name="float_static_loop_write_dynamic_read" />
+<Test name="float_static_loop_write_static_loop_read" />
+<Test name="float_static_loop_write_dynamic_loop_read" />
+<Test name="float_dynamic_loop_write_static_read" />
+<Test name="float_dynamic_loop_write_dynamic_read" />
+<Test name="float_dynamic_loop_write_static_loop_read" />
+<Test name="float_dynamic_loop_write_dynamic_loop_read" />
+<Test name="vec2_static_write_static_read" />
+<Test name="vec2_static_write_dynamic_read" />
+<Test name="vec2_static_write_static_loop_read" />
+<Test name="vec2_static_write_dynamic_loop_read" />
+<Test name="vec2_dynamic_write_static_read" />
+<Test name="vec2_dynamic_write_dynamic_read" />
+<Test name="vec2_dynamic_write_static_loop_read" />
+<Test name="vec2_dynamic_write_dynamic_loop_read" />
+<Test name="vec2_static_loop_write_static_read" />
+<Test name="vec2_static_loop_write_dynamic_read" />
+<Test name="vec2_static_loop_write_static_loop_read" />
+<Test name="vec2_static_loop_write_dynamic_loop_read" />
+<Test name="vec2_dynamic_loop_write_static_read" />
+<Test name="vec2_dynamic_loop_write_dynamic_read" />
+<Test name="vec2_dynamic_loop_write_static_loop_read" />
+<Test name="vec2_dynamic_loop_write_dynamic_loop_read" />
+<Test name="vec3_static_write_static_read" />
+<Test name="vec3_static_write_dynamic_read" />
+<Test name="vec3_static_write_static_loop_read" />
+<Test name="vec3_static_write_dynamic_loop_read" />
+<Test name="vec3_dynamic_write_static_read" />
+<Test name="vec3_dynamic_write_dynamic_read" />
+<Test name="vec3_dynamic_write_static_loop_read" />
+<Test name="vec3_dynamic_write_dynamic_loop_read" />
+<Test name="vec3_static_loop_write_static_read" />
+<Test name="vec3_static_loop_write_dynamic_read" />
+<Test name="vec3_static_loop_write_static_loop_read" />
+<Test name="vec3_static_loop_write_dynamic_loop_read" />
+<Test name="vec3_dynamic_loop_write_static_read" />
+<Test name="vec3_dynamic_loop_write_dynamic_read" />
+<Test name="vec3_dynamic_loop_write_static_loop_read" />
+<Test name="vec3_dynamic_loop_write_dynamic_loop_read" />
+<Test name="vec4_static_write_static_read" />
+<Test name="vec4_static_write_dynamic_read" />
+<Test name="vec4_static_write_static_loop_read" />
+<Test name="vec4_static_write_dynamic_loop_read" />
+<Test name="vec4_dynamic_write_static_read" />
+<Test name="vec4_dynamic_write_dynamic_read" />
+<Test name="vec4_dynamic_write_static_loop_read" />
+<Test name="vec4_dynamic_write_dynamic_loop_read" />
+<Test name="vec4_static_loop_write_static_read" />
+<Test name="vec4_static_loop_write_dynamic_read" />
+<Test name="vec4_static_loop_write_static_loop_read" />
+<Test name="vec4_static_loop_write_dynamic_loop_read" />
+<Test name="vec4_dynamic_loop_write_static_read" />
+<Test name="vec4_dynamic_loop_write_dynamic_read" />
+<Test name="vec4_dynamic_loop_write_static_loop_read" />
+<Test name="vec4_dynamic_loop_write_dynamic_loop_read" />
+</TestCase>
+<TestCase name="uniform_array">
+<Test name="float_static_read_vertex" />
+<Test name="float_static_read_fragment" />
+<Test name="float_dynamic_read_vertex" />
+<Test name="float_static_loop_read_vertex" />
+<Test name="float_dynamic_loop_read_vertex" />
+<Test name="vec2_static_read_vertex" />
+<Test name="vec2_static_read_fragment" />
+<Test name="vec2_dynamic_read_vertex" />
+<Test name="vec2_static_loop_read_vertex" />
+<Test name="vec2_dynamic_loop_read_vertex" />
+<Test name="vec3_static_read_vertex" />
+<Test name="vec3_static_read_fragment" />
+<Test name="vec3_dynamic_read_vertex" />
+<Test name="vec3_static_loop_read_vertex" />
+<Test name="vec3_dynamic_loop_read_vertex" />
+<Test name="vec4_static_read_vertex" />
+<Test name="vec4_static_read_fragment" />
+<Test name="vec4_dynamic_read_vertex" />
+<Test name="vec4_static_loop_read_vertex" />
+<Test name="vec4_dynamic_loop_read_vertex" />
+</TestCase>
+<TestCase name="tmp_array">
+<Test name="float_static_write_static_read_vertex" />
+<Test name="float_static_write_static_read_fragment" />
+<Test name="float_static_write_dynamic_read_vertex" />
+<Test name="float_static_write_dynamic_read_fragment" />
+<Test name="float_static_write_static_loop_read_vertex" />
+<Test name="float_static_write_static_loop_read_fragment" />
+<Test name="float_static_write_dynamic_loop_read_vertex" />
+<Test name="float_static_write_dynamic_loop_read_fragment" />
+<Test name="float_dynamic_write_static_read_vertex" />
+<Test name="float_dynamic_write_static_read_fragment" />
+<Test name="float_dynamic_write_dynamic_read_vertex" />
+<Test name="float_dynamic_write_dynamic_read_fragment" />
+<Test name="float_dynamic_write_static_loop_read_vertex" />
+<Test name="float_dynamic_write_static_loop_read_fragment" />
+<Test name="float_dynamic_write_dynamic_loop_read_vertex" />
+<Test name="float_dynamic_write_dynamic_loop_read_fragment" />
+<Test name="float_static_loop_write_static_read_vertex" />
+<Test name="float_static_loop_write_static_read_fragment" />
+<Test name="float_static_loop_write_dynamic_read_vertex" />
+<Test name="float_static_loop_write_dynamic_read_fragment" />
+<Test name="float_static_loop_write_static_loop_read_vertex" />
+<Test name="float_static_loop_write_static_loop_read_fragment" />
+<Test name="float_static_loop_write_dynamic_loop_read_vertex" />
+<Test name="float_static_loop_write_dynamic_loop_read_fragment" />
+<Test name="float_dynamic_loop_write_static_read_vertex" />
+<Test name="float_dynamic_loop_write_static_read_fragment" />
+<Test name="float_dynamic_loop_write_dynamic_read_vertex" />
+<Test name="float_dynamic_loop_write_dynamic_read_fragment" />
+<Test name="float_dynamic_loop_write_static_loop_read_vertex" />
+<Test name="float_dynamic_loop_write_static_loop_read_fragment" />
+<Test name="float_dynamic_loop_write_dynamic_loop_read_vertex" />
+<Test name="float_dynamic_loop_write_dynamic_loop_read_fragment" />
+<Test name="vec2_static_write_static_read_vertex" />
+<Test name="vec2_static_write_static_read_fragment" />
+<Test name="vec2_static_write_dynamic_read_vertex" />
+<Test name="vec2_static_write_dynamic_read_fragment" />
+<Test name="vec2_static_write_static_loop_read_vertex" />
+<Test name="vec2_static_write_static_loop_read_fragment" />
+<Test name="vec2_static_write_dynamic_loop_read_vertex" />
+<Test name="vec2_static_write_dynamic_loop_read_fragment" />
+<Test name="vec2_dynamic_write_static_read_vertex" />
+<Test name="vec2_dynamic_write_static_read_fragment" />
+<Test name="vec2_dynamic_write_dynamic_read_vertex" />
+<Test name="vec2_dynamic_write_dynamic_read_fragment" />
+<Test name="vec2_dynamic_write_static_loop_read_vertex" />
+<Test name="vec2_dynamic_write_static_loop_read_fragment" />
+<Test name="vec2_dynamic_write_dynamic_loop_read_vertex" />
+<Test name="vec2_dynamic_write_dynamic_loop_read_fragment" />
+<Test name="vec2_static_loop_write_static_read_vertex" />
+<Test name="vec2_static_loop_write_static_read_fragment" />
+<Test name="vec2_static_loop_write_dynamic_read_vertex" />
+<Test name="vec2_static_loop_write_dynamic_read_fragment" />
+<Test name="vec2_static_loop_write_static_loop_read_vertex" />
+<Test name="vec2_static_loop_write_static_loop_read_fragment" />
+<Test name="vec2_static_loop_write_dynamic_loop_read_vertex" />
+<Test name="vec2_static_loop_write_dynamic_loop_read_fragment" />
+<Test name="vec2_dynamic_loop_write_static_read_vertex" />
+<Test name="vec2_dynamic_loop_write_static_read_fragment" />
+<Test name="vec2_dynamic_loop_write_dynamic_read_vertex" />
+<Test name="vec2_dynamic_loop_write_dynamic_read_fragment" />
+<Test name="vec2_dynamic_loop_write_static_loop_read_vertex" />
+<Test name="vec2_dynamic_loop_write_static_loop_read_fragment" />
+<Test name="vec2_dynamic_loop_write_dynamic_loop_read_vertex" />
+<Test name="vec2_dynamic_loop_write_dynamic_loop_read_fragment" />
+<Test name="vec3_static_write_static_read_vertex" />
+<Test name="vec3_static_write_static_read_fragment" />
+<Test name="vec3_static_write_dynamic_read_vertex" />
+<Test name="vec3_static_write_dynamic_read_fragment" />
+<Test name="vec3_static_write_static_loop_read_vertex" />
+<Test name="vec3_static_write_static_loop_read_fragment" />
+<Test name="vec3_static_write_dynamic_loop_read_vertex" />
+<Test name="vec3_static_write_dynamic_loop_read_fragment" />
+<Test name="vec3_dynamic_write_static_read_vertex" />
+<Test name="vec3_dynamic_write_static_read_fragment" />
+<Test name="vec3_dynamic_write_dynamic_read_vertex" />
+<Test name="vec3_dynamic_write_dynamic_read_fragment" />
+<Test name="vec3_dynamic_write_static_loop_read_vertex" />
+<Test name="vec3_dynamic_write_static_loop_read_fragment" />
+<Test name="vec3_dynamic_write_dynamic_loop_read_vertex" />
+<Test name="vec3_dynamic_write_dynamic_loop_read_fragment" />
+<Test name="vec3_static_loop_write_static_read_vertex" />
+<Test name="vec3_static_loop_write_static_read_fragment" />
+<Test name="vec3_static_loop_write_dynamic_read_vertex" />
+<Test name="vec3_static_loop_write_dynamic_read_fragment" />
+<Test name="vec3_static_loop_write_static_loop_read_vertex" />
+<Test name="vec3_static_loop_write_static_loop_read_fragment" />
+<Test name="vec3_static_loop_write_dynamic_loop_read_vertex" />
+<Test name="vec3_static_loop_write_dynamic_loop_read_fragment" />
+<Test name="vec3_dynamic_loop_write_static_read_vertex" />
+<Test name="vec3_dynamic_loop_write_static_read_fragment" />
+<Test name="vec3_dynamic_loop_write_dynamic_read_vertex" />
+<Test name="vec3_dynamic_loop_write_dynamic_read_fragment" />
+<Test name="vec3_dynamic_loop_write_static_loop_read_vertex" />
+<Test name="vec3_dynamic_loop_write_static_loop_read_fragment" />
+<Test name="vec3_dynamic_loop_write_dynamic_loop_read_vertex" />
+<Test name="vec3_dynamic_loop_write_dynamic_loop_read_fragment" />
+<Test name="vec4_static_write_static_read_vertex" />
+<Test name="vec4_static_write_static_read_fragment" />
+<Test name="vec4_static_write_dynamic_read_vertex" />
+<Test name="vec4_static_write_dynamic_read_fragment" />
+<Test name="vec4_static_write_static_loop_read_vertex" />
+<Test name="vec4_static_write_static_loop_read_fragment" />
+<Test name="vec4_static_write_dynamic_loop_read_vertex" />
+<Test name="vec4_static_write_dynamic_loop_read_fragment" />
+<Test name="vec4_dynamic_write_static_read_vertex" />
+<Test name="vec4_dynamic_write_static_read_fragment" />
+<Test name="vec4_dynamic_write_dynamic_read_vertex" />
+<Test name="vec4_dynamic_write_dynamic_read_fragment" />
+<Test name="vec4_dynamic_write_static_loop_read_vertex" />
+<Test name="vec4_dynamic_write_static_loop_read_fragment" />
+<Test name="vec4_dynamic_write_dynamic_loop_read_vertex" />
+<Test name="vec4_dynamic_write_dynamic_loop_read_fragment" />
+<Test name="vec4_static_loop_write_static_read_vertex" />
+<Test name="vec4_static_loop_write_static_read_fragment" />
+<Test name="vec4_static_loop_write_dynamic_read_vertex" />
+<Test name="vec4_static_loop_write_dynamic_read_fragment" />
+<Test name="vec4_static_loop_write_static_loop_read_vertex" />
+<Test name="vec4_static_loop_write_static_loop_read_fragment" />
+<Test name="vec4_static_loop_write_dynamic_loop_read_vertex" />
+<Test name="vec4_static_loop_write_dynamic_loop_read_fragment" />
+<Test name="vec4_dynamic_loop_write_static_read_vertex" />
+<Test name="vec4_dynamic_loop_write_static_read_fragment" />
+<Test name="vec4_dynamic_loop_write_dynamic_read_vertex" />
+<Test name="vec4_dynamic_loop_write_dynamic_read_fragment" />
+<Test name="vec4_dynamic_loop_write_static_loop_read_vertex" />
+<Test name="vec4_dynamic_loop_write_static_loop_read_fragment" />
+<Test name="vec4_dynamic_loop_write_dynamic_loop_read_vertex" />
+<Test name="vec4_dynamic_loop_write_dynamic_loop_read_fragment" />
+</TestCase>
+<TestCase name="vector_subscript">
+<Test name="vec2_direct_write_direct_read_vertex" />
+<Test name="vec2_direct_write_direct_read_fragment" />
+<Test name="vec2_direct_write_component_read_vertex" />
+<Test name="vec2_direct_write_component_read_fragment" />
+<Test name="vec2_direct_write_static_subscript_read_vertex" />
+<Test name="vec2_direct_write_static_subscript_read_fragment" />
+<Test name="vec2_direct_write_dynamic_subscript_read_vertex" />
+<Test name="vec2_direct_write_dynamic_subscript_read_fragment" />
+<Test name="vec2_direct_write_static_loop_subscript_read_vertex" />
+<Test name="vec2_direct_write_static_loop_subscript_read_fragment" />
+<Test name="vec2_direct_write_dynamic_loop_subscript_read_vertex" />
+<Test name="vec2_direct_write_dynamic_loop_subscript_read_fragment" />
+<Test name="vec2_component_write_direct_read_vertex" />
+<Test name="vec2_component_write_direct_read_fragment" />
+<Test name="vec2_component_write_component_read_vertex" />
+<Test name="vec2_component_write_component_read_fragment" />
+<Test name="vec2_component_write_static_subscript_read_vertex" />
+<Test name="vec2_component_write_static_subscript_read_fragment" />
+<Test name="vec2_component_write_dynamic_subscript_read_vertex" />
+<Test name="vec2_component_write_dynamic_subscript_read_fragment" />
+<Test name="vec2_component_write_static_loop_subscript_read_vertex" />
+<Test name="vec2_component_write_static_loop_subscript_read_fragment" />
+<Test name="vec2_component_write_dynamic_loop_subscript_read_vertex" />
+<Test name="vec2_component_write_dynamic_loop_subscript_read_fragment" />
+<Test name="vec2_static_subscript_write_direct_read_vertex" />
+<Test name="vec2_static_subscript_write_direct_read_fragment" />
+<Test name="vec2_static_subscript_write_component_read_vertex" />
+<Test name="vec2_static_subscript_write_component_read_fragment" />
+<Test name="vec2_static_subscript_write_static_subscript_read_vertex" />
+<Test name="vec2_static_subscript_write_static_subscript_read_fragment" />
+<Test name="vec2_static_subscript_write_dynamic_subscript_read_vertex" />
+<Test name="vec2_static_subscript_write_dynamic_subscript_read_fragment" />
+<Test name="vec2_static_subscript_write_static_loop_subscript_read_vertex" />
+<Test name="vec2_static_subscript_write_static_loop_subscript_read_fragment" />
+<Test name="vec2_static_subscript_write_dynamic_loop_subscript_read_vertex" />
+<Test name="vec2_static_subscript_write_dynamic_loop_subscript_read_fragment" />
+<Test name="vec2_dynamic_subscript_write_direct_read_vertex" />
+<Test name="vec2_dynamic_subscript_write_direct_read_fragment" />
+<Test name="vec2_dynamic_subscript_write_component_read_vertex" />
+<Test name="vec2_dynamic_subscript_write_component_read_fragment" />
+<Test name="vec2_dynamic_subscript_write_static_subscript_read_vertex" />
+<Test name="vec2_dynamic_subscript_write_static_subscript_read_fragment" />
+<Test name="vec2_dynamic_subscript_write_dynamic_subscript_read_vertex" />
+<Test name="vec2_dynamic_subscript_write_dynamic_subscript_read_fragment" />
+<Test name="vec2_dynamic_subscript_write_static_loop_subscript_read_vertex" />
+<Test name="vec2_dynamic_subscript_write_static_loop_subscript_read_fragment" />
+<Test name="vec2_dynamic_subscript_write_dynamic_loop_subscript_read_vertex" />
+<Test name="vec2_dynamic_subscript_write_dynamic_loop_subscript_read_fragment" />
+<Test name="vec2_static_loop_subscript_write_direct_read_vertex" />
+<Test name="vec2_static_loop_subscript_write_direct_read_fragment" />
+<Test name="vec2_static_loop_subscript_write_component_read_vertex" />
+<Test name="vec2_static_loop_subscript_write_component_read_fragment" />
+<Test name="vec2_static_loop_subscript_write_static_subscript_read_vertex" />
+<Test name="vec2_static_loop_subscript_write_static_subscript_read_fragment" />
+<Test name="vec2_static_loop_subscript_write_dynamic_subscript_read_vertex" />
+<Test name="vec2_static_loop_subscript_write_dynamic_subscript_read_fragment" />
+<Test name="vec2_static_loop_subscript_write_static_loop_subscript_read_vertex" />
+<Test name="vec2_static_loop_subscript_write_static_loop_subscript_read_fragment" />
+<Test name="vec2_static_loop_subscript_write_dynamic_loop_subscript_read_vertex" />
+<Test name="vec2_static_loop_subscript_write_dynamic_loop_subscript_read_fragment" />
+<Test name="vec2_dynamic_loop_subscript_write_direct_read_vertex" />
+<Test name="vec2_dynamic_loop_subscript_write_direct_read_fragment" />
+<Test name="vec2_dynamic_loop_subscript_write_component_read_vertex" />
+<Test name="vec2_dynamic_loop_subscript_write_component_read_fragment" />
+<Test name="vec2_dynamic_loop_subscript_write_static_subscript_read_vertex" />
+<Test name="vec2_dynamic_loop_subscript_write_static_subscript_read_fragment" />
+<Test name="vec2_dynamic_loop_subscript_write_dynamic_subscript_read_vertex" />
+<Test name="vec2_dynamic_loop_subscript_write_dynamic_subscript_read_fragment" />
+<Test name="vec2_dynamic_loop_subscript_write_static_loop_subscript_read_vertex" />
+<Test name="vec2_dynamic_loop_subscript_write_static_loop_subscript_read_fragment" />
+<Test name="vec2_dynamic_loop_subscript_write_dynamic_loop_subscript_read_vertex" />
+<Test name="vec2_dynamic_loop_subscript_write_dynamic_loop_subscript_read_fragment" />
+<Test name="vec3_direct_write_direct_read_vertex" />
+<Test name="vec3_direct_write_direct_read_fragment" />
+<Test name="vec3_direct_write_component_read_vertex" />
+<Test name="vec3_direct_write_component_read_fragment" />
+<Test name="vec3_direct_write_static_subscript_read_vertex" />
+<Test name="vec3_direct_write_static_subscript_read_fragment" />
+<Test name="vec3_direct_write_dynamic_subscript_read_vertex" />
+<Test name="vec3_direct_write_dynamic_subscript_read_fragment" />
+<Test name="vec3_direct_write_static_loop_subscript_read_vertex" />
+<Test name="vec3_direct_write_static_loop_subscript_read_fragment" />
+<Test name="vec3_direct_write_dynamic_loop_subscript_read_vertex" />
+<Test name="vec3_direct_write_dynamic_loop_subscript_read_fragment" />
+<Test name="vec3_component_write_direct_read_vertex" />
+<Test name="vec3_component_write_direct_read_fragment" />
+<Test name="vec3_component_write_component_read_vertex" />
+<Test name="vec3_component_write_component_read_fragment" />
+<Test name="vec3_component_write_static_subscript_read_vertex" />
+<Test name="vec3_component_write_static_subscript_read_fragment" />
+<Test name="vec3_component_write_dynamic_subscript_read_vertex" />
+<Test name="vec3_component_write_dynamic_subscript_read_fragment" />
+<Test name="vec3_component_write_static_loop_subscript_read_vertex" />
+<Test name="vec3_component_write_static_loop_subscript_read_fragment" />
+<Test name="vec3_component_write_dynamic_loop_subscript_read_vertex" />
+<Test name="vec3_component_write_dynamic_loop_subscript_read_fragment" />
+<Test name="vec3_static_subscript_write_direct_read_vertex" />
+<Test name="vec3_static_subscript_write_direct_read_fragment" />
+<Test name="vec3_static_subscript_write_component_read_vertex" />
+<Test name="vec3_static_subscript_write_component_read_fragment" />
+<Test name="vec3_static_subscript_write_static_subscript_read_vertex" />
+<Test name="vec3_static_subscript_write_static_subscript_read_fragment" />
+<Test name="vec3_static_subscript_write_dynamic_subscript_read_vertex" />
+<Test name="vec3_static_subscript_write_dynamic_subscript_read_fragment" />
+<Test name="vec3_static_subscript_write_static_loop_subscript_read_vertex" />
+<Test name="vec3_static_subscript_write_static_loop_subscript_read_fragment" />
+<Test name="vec3_static_subscript_write_dynamic_loop_subscript_read_vertex" />
+<Test name="vec3_static_subscript_write_dynamic_loop_subscript_read_fragment" />
+<Test name="vec3_dynamic_subscript_write_direct_read_vertex" />
+<Test name="vec3_dynamic_subscript_write_direct_read_fragment" />
+<Test name="vec3_dynamic_subscript_write_component_read_vertex" />
+<Test name="vec3_dynamic_subscript_write_component_read_fragment" />
+<Test name="vec3_dynamic_subscript_write_static_subscript_read_vertex" />
+<Test name="vec3_dynamic_subscript_write_static_subscript_read_fragment" />
+<Test name="vec3_dynamic_subscript_write_dynamic_subscript_read_vertex" />
+<Test name="vec3_dynamic_subscript_write_dynamic_subscript_read_fragment" />
+<Test name="vec3_dynamic_subscript_write_static_loop_subscript_read_vertex" />
+<Test name="vec3_dynamic_subscript_write_static_loop_subscript_read_fragment" />
+<Test name="vec3_dynamic_subscript_write_dynamic_loop_subscript_read_vertex" />
+<Test name="vec3_dynamic_subscript_write_dynamic_loop_subscript_read_fragment" />
+<Test name="vec3_static_loop_subscript_write_direct_read_vertex" />
+<Test name="vec3_static_loop_subscript_write_direct_read_fragment" />
+<Test name="vec3_static_loop_subscript_write_component_read_vertex" />
+<Test name="vec3_static_loop_subscript_write_component_read_fragment" />
+<Test name="vec3_static_loop_subscript_write_static_subscript_read_vertex" />
+<Test name="vec3_static_loop_subscript_write_static_subscript_read_fragment" />
+<Test name="vec3_static_loop_subscript_write_dynamic_subscript_read_vertex" />
+<Test name="vec3_static_loop_subscript_write_dynamic_subscript_read_fragment" />
+<Test name="vec3_static_loop_subscript_write_static_loop_subscript_read_vertex" />
+<Test name="vec3_static_loop_subscript_write_static_loop_subscript_read_fragment" />
+<Test name="vec3_static_loop_subscript_write_dynamic_loop_subscript_read_vertex" />
+<Test name="vec3_static_loop_subscript_write_dynamic_loop_subscript_read_fragment" />
+<Test name="vec3_dynamic_loop_subscript_write_direct_read_vertex" />
+<Test name="vec3_dynamic_loop_subscript_write_direct_read_fragment" />
+<Test name="vec3_dynamic_loop_subscript_write_component_read_vertex" />
+<Test name="vec3_dynamic_loop_subscript_write_component_read_fragment" />
+<Test name="vec3_dynamic_loop_subscript_write_static_subscript_read_vertex" />
+<Test name="vec3_dynamic_loop_subscript_write_static_subscript_read_fragment" />
+<Test name="vec3_dynamic_loop_subscript_write_dynamic_subscript_read_vertex" />
+<Test name="vec3_dynamic_loop_subscript_write_dynamic_subscript_read_fragment" />
+<Test name="vec3_dynamic_loop_subscript_write_static_loop_subscript_read_vertex" />
+<Test name="vec3_dynamic_loop_subscript_write_static_loop_subscript_read_fragment" />
+<Test name="vec3_dynamic_loop_subscript_write_dynamic_loop_subscript_read_vertex" />
+<Test name="vec3_dynamic_loop_subscript_write_dynamic_loop_subscript_read_fragment" />
+<Test name="vec4_direct_write_direct_read_vertex" />
+<Test name="vec4_direct_write_direct_read_fragment" />
+<Test name="vec4_direct_write_component_read_vertex" />
+<Test name="vec4_direct_write_component_read_fragment" />
+<Test name="vec4_direct_write_static_subscript_read_vertex" />
+<Test name="vec4_direct_write_static_subscript_read_fragment" />
+<Test name="vec4_direct_write_dynamic_subscript_read_vertex" />
+<Test name="vec4_direct_write_dynamic_subscript_read_fragment" />
+<Test name="vec4_direct_write_static_loop_subscript_read_vertex" />
+<Test name="vec4_direct_write_static_loop_subscript_read_fragment" />
+<Test name="vec4_direct_write_dynamic_loop_subscript_read_vertex" />
+<Test name="vec4_direct_write_dynamic_loop_subscript_read_fragment" />
+<Test name="vec4_component_write_direct_read_vertex" />
+<Test name="vec4_component_write_direct_read_fragment" />
+<Test name="vec4_component_write_component_read_vertex" />
+<Test name="vec4_component_write_component_read_fragment" />
+<Test name="vec4_component_write_static_subscript_read_vertex" />
+<Test name="vec4_component_write_static_subscript_read_fragment" />
+<Test name="vec4_component_write_dynamic_subscript_read_vertex" />
+<Test name="vec4_component_write_dynamic_subscript_read_fragment" />
+<Test name="vec4_component_write_static_loop_subscript_read_vertex" />
+<Test name="vec4_component_write_static_loop_subscript_read_fragment" />
+<Test name="vec4_component_write_dynamic_loop_subscript_read_vertex" />
+<Test name="vec4_component_write_dynamic_loop_subscript_read_fragment" />
+<Test name="vec4_static_subscript_write_direct_read_vertex" />
+<Test name="vec4_static_subscript_write_direct_read_fragment" />
+<Test name="vec4_static_subscript_write_component_read_vertex" />
+<Test name="vec4_static_subscript_write_component_read_fragment" />
+<Test name="vec4_static_subscript_write_static_subscript_read_vertex" />
+<Test name="vec4_static_subscript_write_static_subscript_read_fragment" />
+<Test name="vec4_static_subscript_write_dynamic_subscript_read_vertex" />
+<Test name="vec4_static_subscript_write_dynamic_subscript_read_fragment" />
+<Test name="vec4_static_subscript_write_static_loop_subscript_read_vertex" />
+<Test name="vec4_static_subscript_write_static_loop_subscript_read_fragment" />
+<Test name="vec4_static_subscript_write_dynamic_loop_subscript_read_vertex" />
+<Test name="vec4_static_subscript_write_dynamic_loop_subscript_read_fragment" />
+<Test name="vec4_dynamic_subscript_write_direct_read_vertex" />
+<Test name="vec4_dynamic_subscript_write_direct_read_fragment" />
+<Test name="vec4_dynamic_subscript_write_component_read_vertex" />
+<Test name="vec4_dynamic_subscript_write_component_read_fragment" />
+<Test name="vec4_dynamic_subscript_write_static_subscript_read_vertex" />
+<Test name="vec4_dynamic_subscript_write_static_subscript_read_fragment" />
+<Test name="vec4_dynamic_subscript_write_dynamic_subscript_read_vertex" />
+<Test name="vec4_dynamic_subscript_write_dynamic_subscript_read_fragment" />
+<Test name="vec4_dynamic_subscript_write_static_loop_subscript_read_vertex" />
+<Test name="vec4_dynamic_subscript_write_static_loop_subscript_read_fragment" />
+<Test name="vec4_dynamic_subscript_write_dynamic_loop_subscript_read_vertex" />
+<Test name="vec4_dynamic_subscript_write_dynamic_loop_subscript_read_fragment" />
+<Test name="vec4_static_loop_subscript_write_direct_read_vertex" />
+<Test name="vec4_static_loop_subscript_write_direct_read_fragment" />
+<Test name="vec4_static_loop_subscript_write_component_read_vertex" />
+<Test name="vec4_static_loop_subscript_write_component_read_fragment" />
+<Test name="vec4_static_loop_subscript_write_static_subscript_read_vertex" />
+<Test name="vec4_static_loop_subscript_write_static_subscript_read_fragment" />
+<Test name="vec4_static_loop_subscript_write_dynamic_subscript_read_vertex" />
+<Test name="vec4_static_loop_subscript_write_dynamic_subscript_read_fragment" />
+<Test name="vec4_static_loop_subscript_write_static_loop_subscript_read_vertex" />
+<Test name="vec4_static_loop_subscript_write_static_loop_subscript_read_fragment" />
+<Test name="vec4_static_loop_subscript_write_dynamic_loop_subscript_read_vertex" />
+<Test name="vec4_static_loop_subscript_write_dynamic_loop_subscript_read_fragment" />
+<Test name="vec4_dynamic_loop_subscript_write_direct_read_vertex" />
+<Test name="vec4_dynamic_loop_subscript_write_direct_read_fragment" />
+<Test name="vec4_dynamic_loop_subscript_write_component_read_vertex" />
+<Test name="vec4_dynamic_loop_subscript_write_component_read_fragment" />
+<Test name="vec4_dynamic_loop_subscript_write_static_subscript_read_vertex" />
+<Test name="vec4_dynamic_loop_subscript_write_static_subscript_read_fragment" />
+<Test name="vec4_dynamic_loop_subscript_write_dynamic_subscript_read_vertex" />
+<Test name="vec4_dynamic_loop_subscript_write_dynamic_subscript_read_fragment" />
+<Test name="vec4_dynamic_loop_subscript_write_static_loop_subscript_read_vertex" />
+<Test name="vec4_dynamic_loop_subscript_write_static_loop_subscript_read_fragment" />
+<Test name="vec4_dynamic_loop_subscript_write_dynamic_loop_subscript_read_vertex" />
+<Test name="vec4_dynamic_loop_subscript_write_dynamic_loop_subscript_read_fragment" />
+</TestCase>
+<TestCase name="matrix_subscript">
+<Test name="mat2_static_write_static_read_vertex" />
+<Test name="mat2_static_write_static_read_fragment" />
+<Test name="mat2_dynamic_write_static_read_vertex" />
+<Test name="mat2_dynamic_write_static_read_fragment" />
+<Test name="mat2_dynamic_write_dynamic_read_vertex" />
+<Test name="mat2_dynamic_write_dynamic_read_fragment" />
+<Test name="mat2_dynamic_write_static_loop_read_vertex" />
+<Test name="mat2_dynamic_write_static_loop_read_fragment" />
+<Test name="mat2_dynamic_write_dynamic_loop_read_vertex" />
+<Test name="mat2_dynamic_write_dynamic_loop_read_fragment" />
+<Test name="mat2_static_loop_write_static_read_vertex" />
+<Test name="mat2_static_loop_write_static_read_fragment" />
+<Test name="mat2_static_loop_write_dynamic_read_vertex" />
+<Test name="mat2_static_loop_write_dynamic_read_fragment" />
+<Test name="mat2_static_loop_write_static_loop_read_vertex" />
+<Test name="mat2_static_loop_write_static_loop_read_fragment" />
+<Test name="mat2_static_loop_write_dynamic_loop_read_vertex" />
+<Test name="mat2_static_loop_write_dynamic_loop_read_fragment" />
+<Test name="mat2_dynamic_loop_write_static_read_vertex" />
+<Test name="mat2_dynamic_loop_write_static_read_fragment" />
+<Test name="mat2_dynamic_loop_write_dynamic_read_vertex" />
+<Test name="mat2_dynamic_loop_write_dynamic_read_fragment" />
+<Test name="mat2_dynamic_loop_write_static_loop_read_vertex" />
+<Test name="mat2_dynamic_loop_write_static_loop_read_fragment" />
+<Test name="mat2_dynamic_loop_write_dynamic_loop_read_vertex" />
+<Test name="mat2_dynamic_loop_write_dynamic_loop_read_fragment" />
+<Test name="mat2x3_static_write_static_read_vertex" />
+<Test name="mat2x3_static_write_static_read_fragment" />
+<Test name="mat2x3_dynamic_write_static_read_vertex" />
+<Test name="mat2x3_dynamic_write_static_read_fragment" />
+<Test name="mat2x3_dynamic_write_dynamic_read_vertex" />
+<Test name="mat2x3_dynamic_write_dynamic_read_fragment" />
+<Test name="mat2x3_dynamic_write_static_loop_read_vertex" />
+<Test name="mat2x3_dynamic_write_static_loop_read_fragment" />
+<Test name="mat2x3_dynamic_write_dynamic_loop_read_vertex" />
+<Test name="mat2x3_dynamic_write_dynamic_loop_read_fragment" />
+<Test name="mat2x3_static_loop_write_static_read_vertex" />
+<Test name="mat2x3_static_loop_write_static_read_fragment" />
+<Test name="mat2x3_static_loop_write_dynamic_read_vertex" />
+<Test name="mat2x3_static_loop_write_dynamic_read_fragment" />
+<Test name="mat2x3_static_loop_write_static_loop_read_vertex" />
+<Test name="mat2x3_static_loop_write_static_loop_read_fragment" />
+<Test name="mat2x3_static_loop_write_dynamic_loop_read_vertex" />
+<Test name="mat2x3_static_loop_write_dynamic_loop_read_fragment" />
+<Test name="mat2x3_dynamic_loop_write_static_read_vertex" />
+<Test name="mat2x3_dynamic_loop_write_static_read_fragment" />
+<Test name="mat2x3_dynamic_loop_write_dynamic_read_vertex" />
+<Test name="mat2x3_dynamic_loop_write_dynamic_read_fragment" />
+<Test name="mat2x3_dynamic_loop_write_static_loop_read_vertex" />
+<Test name="mat2x3_dynamic_loop_write_static_loop_read_fragment" />
+<Test name="mat2x3_dynamic_loop_write_dynamic_loop_read_vertex" />
+<Test name="mat2x3_dynamic_loop_write_dynamic_loop_read_fragment" />
+<Test name="mat2x4_static_write_static_read_vertex" />
+<Test name="mat2x4_static_write_static_read_fragment" />
+<Test name="mat2x4_dynamic_write_static_read_vertex" />
+<Test name="mat2x4_dynamic_write_static_read_fragment" />
+<Test name="mat2x4_dynamic_write_dynamic_read_vertex" />
+<Test name="mat2x4_dynamic_write_dynamic_read_fragment" />
+<Test name="mat2x4_dynamic_write_static_loop_read_vertex" />
+<Test name="mat2x4_dynamic_write_static_loop_read_fragment" />
+<Test name="mat2x4_dynamic_write_dynamic_loop_read_vertex" />
+<Test name="mat2x4_dynamic_write_dynamic_loop_read_fragment" />
+<Test name="mat2x4_static_loop_write_static_read_vertex" />
+<Test name="mat2x4_static_loop_write_static_read_fragment" />
+<Test name="mat2x4_static_loop_write_dynamic_read_vertex" />
+<Test name="mat2x4_static_loop_write_dynamic_read_fragment" />
+<Test name="mat2x4_static_loop_write_static_loop_read_vertex" />
+<Test name="mat2x4_static_loop_write_static_loop_read_fragment" />
+<Test name="mat2x4_static_loop_write_dynamic_loop_read_vertex" />
+<Test name="mat2x4_static_loop_write_dynamic_loop_read_fragment" />
+<Test name="mat2x4_dynamic_loop_write_static_read_vertex" />
+<Test name="mat2x4_dynamic_loop_write_static_read_fragment" />
+<Test name="mat2x4_dynamic_loop_write_dynamic_read_vertex" />
+<Test name="mat2x4_dynamic_loop_write_dynamic_read_fragment" />
+<Test name="mat2x4_dynamic_loop_write_static_loop_read_vertex" />
+<Test name="mat2x4_dynamic_loop_write_static_loop_read_fragment" />
+<Test name="mat2x4_dynamic_loop_write_dynamic_loop_read_vertex" />
+<Test name="mat2x4_dynamic_loop_write_dynamic_loop_read_fragment" />
+<Test name="mat3x2_static_write_static_read_vertex" />
+<Test name="mat3x2_static_write_static_read_fragment" />
+<Test name="mat3x2_dynamic_write_static_read_vertex" />
+<Test name="mat3x2_dynamic_write_static_read_fragment" />
+<Test name="mat3x2_dynamic_write_dynamic_read_vertex" />
+<Test name="mat3x2_dynamic_write_dynamic_read_fragment" />
+<Test name="mat3x2_dynamic_write_static_loop_read_vertex" />
+<Test name="mat3x2_dynamic_write_static_loop_read_fragment" />
+<Test name="mat3x2_dynamic_write_dynamic_loop_read_vertex" />
+<Test name="mat3x2_dynamic_write_dynamic_loop_read_fragment" />
+<Test name="mat3x2_static_loop_write_static_read_vertex" />
+<Test name="mat3x2_static_loop_write_static_read_fragment" />
+<Test name="mat3x2_static_loop_write_dynamic_read_vertex" />
+<Test name="mat3x2_static_loop_write_dynamic_read_fragment" />
+<Test name="mat3x2_static_loop_write_static_loop_read_vertex" />
+<Test name="mat3x2_static_loop_write_static_loop_read_fragment" />
+<Test name="mat3x2_static_loop_write_dynamic_loop_read_vertex" />
+<Test name="mat3x2_static_loop_write_dynamic_loop_read_fragment" />
+<Test name="mat3x2_dynamic_loop_write_static_read_vertex" />
+<Test name="mat3x2_dynamic_loop_write_static_read_fragment" />
+<Test name="mat3x2_dynamic_loop_write_dynamic_read_vertex" />
+<Test name="mat3x2_dynamic_loop_write_dynamic_read_fragment" />
+<Test name="mat3x2_dynamic_loop_write_static_loop_read_vertex" />
+<Test name="mat3x2_dynamic_loop_write_static_loop_read_fragment" />
+<Test name="mat3x2_dynamic_loop_write_dynamic_loop_read_vertex" />
+<Test name="mat3x2_dynamic_loop_write_dynamic_loop_read_fragment" />
+<Test name="mat3_static_write_static_read_vertex" />
+<Test name="mat3_static_write_static_read_fragment" />
+<Test name="mat3_dynamic_write_static_read_vertex" />
+<Test name="mat3_dynamic_write_static_read_fragment" />
+<Test name="mat3_dynamic_write_dynamic_read_vertex" />
+<Test name="mat3_dynamic_write_dynamic_read_fragment" />
+<Test name="mat3_dynamic_write_static_loop_read_vertex" />
+<Test name="mat3_dynamic_write_static_loop_read_fragment" />
+<Test name="mat3_dynamic_write_dynamic_loop_read_vertex" />
+<Test name="mat3_dynamic_write_dynamic_loop_read_fragment" />
+<Test name="mat3_static_loop_write_static_read_vertex" />
+<Test name="mat3_static_loop_write_static_read_fragment" />
+<Test name="mat3_static_loop_write_dynamic_read_vertex" />
+<Test name="mat3_static_loop_write_dynamic_read_fragment" />
+<Test name="mat3_static_loop_write_static_loop_read_vertex" />
+<Test name="mat3_static_loop_write_static_loop_read_fragment" />
+<Test name="mat3_static_loop_write_dynamic_loop_read_vertex" />
+<Test name="mat3_static_loop_write_dynamic_loop_read_fragment" />
+<Test name="mat3_dynamic_loop_write_static_read_vertex" />
+<Test name="mat3_dynamic_loop_write_static_read_fragment" />
+<Test name="mat3_dynamic_loop_write_dynamic_read_vertex" />
+<Test name="mat3_dynamic_loop_write_dynamic_read_fragment" />
+<Test name="mat3_dynamic_loop_write_static_loop_read_vertex" />
+<Test name="mat3_dynamic_loop_write_static_loop_read_fragment" />
+<Test name="mat3_dynamic_loop_write_dynamic_loop_read_vertex" />
+<Test name="mat3_dynamic_loop_write_dynamic_loop_read_fragment" />
+<Test name="mat3x4_static_write_static_read_vertex" />
+<Test name="mat3x4_static_write_static_read_fragment" />
+<Test name="mat3x4_dynamic_write_static_read_vertex" />
+<Test name="mat3x4_dynamic_write_static_read_fragment" />
+<Test name="mat3x4_dynamic_write_dynamic_read_vertex" />
+<Test name="mat3x4_dynamic_write_dynamic_read_fragment" />
+<Test name="mat3x4_dynamic_write_static_loop_read_vertex" />
+<Test name="mat3x4_dynamic_write_static_loop_read_fragment" />
+<Test name="mat3x4_dynamic_write_dynamic_loop_read_vertex" />
+<Test name="mat3x4_dynamic_write_dynamic_loop_read_fragment" />
+<Test name="mat3x4_static_loop_write_static_read_vertex" />
+<Test name="mat3x4_static_loop_write_static_read_fragment" />
+<Test name="mat3x4_static_loop_write_dynamic_read_vertex" />
+<Test name="mat3x4_static_loop_write_dynamic_read_fragment" />
+<Test name="mat3x4_static_loop_write_static_loop_read_vertex" />
+<Test name="mat3x4_static_loop_write_static_loop_read_fragment" />
+<Test name="mat3x4_static_loop_write_dynamic_loop_read_vertex" />
+<Test name="mat3x4_static_loop_write_dynamic_loop_read_fragment" />
+<Test name="mat3x4_dynamic_loop_write_static_read_vertex" />
+<Test name="mat3x4_dynamic_loop_write_static_read_fragment" />
+<Test name="mat3x4_dynamic_loop_write_dynamic_read_vertex" />
+<Test name="mat3x4_dynamic_loop_write_dynamic_read_fragment" />
+<Test name="mat3x4_dynamic_loop_write_static_loop_read_vertex" />
+<Test name="mat3x4_dynamic_loop_write_static_loop_read_fragment" />
+<Test name="mat3x4_dynamic_loop_write_dynamic_loop_read_vertex" />
+<Test name="mat3x4_dynamic_loop_write_dynamic_loop_read_fragment" />
+<Test name="mat4x2_static_write_static_read_vertex" />
+<Test name="mat4x2_static_write_static_read_fragment" />
+<Test name="mat4x2_dynamic_write_static_read_vertex" />
+<Test name="mat4x2_dynamic_write_static_read_fragment" />
+<Test name="mat4x2_dynamic_write_dynamic_read_vertex" />
+<Test name="mat4x2_dynamic_write_dynamic_read_fragment" />
+<Test name="mat4x2_dynamic_write_static_loop_read_vertex" />
+<Test name="mat4x2_dynamic_write_static_loop_read_fragment" />
+<Test name="mat4x2_dynamic_write_dynamic_loop_read_vertex" />
+<Test name="mat4x2_dynamic_write_dynamic_loop_read_fragment" />
+<Test name="mat4x2_static_loop_write_static_read_vertex" />
+<Test name="mat4x2_static_loop_write_static_read_fragment" />
+<Test name="mat4x2_static_loop_write_dynamic_read_vertex" />
+<Test name="mat4x2_static_loop_write_dynamic_read_fragment" />
+<Test name="mat4x2_static_loop_write_static_loop_read_vertex" />
+<Test name="mat4x2_static_loop_write_static_loop_read_fragment" />
+<Test name="mat4x2_static_loop_write_dynamic_loop_read_vertex" />
+<Test name="mat4x2_static_loop_write_dynamic_loop_read_fragment" />
+<Test name="mat4x2_dynamic_loop_write_static_read_vertex" />
+<Test name="mat4x2_dynamic_loop_write_static_read_fragment" />
+<Test name="mat4x2_dynamic_loop_write_dynamic_read_vertex" />
+<Test name="mat4x2_dynamic_loop_write_dynamic_read_fragment" />
+<Test name="mat4x2_dynamic_loop_write_static_loop_read_vertex" />
+<Test name="mat4x2_dynamic_loop_write_static_loop_read_fragment" />
+<Test name="mat4x2_dynamic_loop_write_dynamic_loop_read_vertex" />
+<Test name="mat4x2_dynamic_loop_write_dynamic_loop_read_fragment" />
+<Test name="mat4x3_static_write_static_read_vertex" />
+<Test name="mat4x3_static_write_static_read_fragment" />
+<Test name="mat4x3_dynamic_write_static_read_vertex" />
+<Test name="mat4x3_dynamic_write_static_read_fragment" />
+<Test name="mat4x3_dynamic_write_dynamic_read_vertex" />
+<Test name="mat4x3_dynamic_write_dynamic_read_fragment" />
+<Test name="mat4x3_dynamic_write_static_loop_read_vertex" />
+<Test name="mat4x3_dynamic_write_static_loop_read_fragment" />
+<Test name="mat4x3_dynamic_write_dynamic_loop_read_vertex" />
+<Test name="mat4x3_dynamic_write_dynamic_loop_read_fragment" />
+<Test name="mat4x3_static_loop_write_static_read_vertex" />
+<Test name="mat4x3_static_loop_write_static_read_fragment" />
+<Test name="mat4x3_static_loop_write_dynamic_read_vertex" />
+<Test name="mat4x3_static_loop_write_dynamic_read_fragment" />
+<Test name="mat4x3_static_loop_write_static_loop_read_vertex" />
+<Test name="mat4x3_static_loop_write_static_loop_read_fragment" />
+<Test name="mat4x3_static_loop_write_dynamic_loop_read_vertex" />
+<Test name="mat4x3_static_loop_write_dynamic_loop_read_fragment" />
+<Test name="mat4x3_dynamic_loop_write_static_read_vertex" />
+<Test name="mat4x3_dynamic_loop_write_static_read_fragment" />
+<Test name="mat4x3_dynamic_loop_write_dynamic_read_vertex" />
+<Test name="mat4x3_dynamic_loop_write_dynamic_read_fragment" />
+<Test name="mat4x3_dynamic_loop_write_static_loop_read_vertex" />
+<Test name="mat4x3_dynamic_loop_write_static_loop_read_fragment" />
+<Test name="mat4x3_dynamic_loop_write_dynamic_loop_read_vertex" />
+<Test name="mat4x3_dynamic_loop_write_dynamic_loop_read_fragment" />
+<Test name="mat4_static_write_static_read_vertex" />
+<Test name="mat4_static_write_static_read_fragment" />
+<Test name="mat4_dynamic_write_static_read_vertex" />
+<Test name="mat4_dynamic_write_static_read_fragment" />
+<Test name="mat4_dynamic_write_dynamic_read_vertex" />
+<Test name="mat4_dynamic_write_dynamic_read_fragment" />
+<Test name="mat4_dynamic_write_static_loop_read_vertex" />
+<Test name="mat4_dynamic_write_static_loop_read_fragment" />
+<Test name="mat4_dynamic_write_dynamic_loop_read_vertex" />
+<Test name="mat4_dynamic_write_dynamic_loop_read_fragment" />
+<Test name="mat4_static_loop_write_static_read_vertex" />
+<Test name="mat4_static_loop_write_static_read_fragment" />
+<Test name="mat4_static_loop_write_dynamic_read_vertex" />
+<Test name="mat4_static_loop_write_dynamic_read_fragment" />
+<Test name="mat4_static_loop_write_static_loop_read_vertex" />
+<Test name="mat4_static_loop_write_static_loop_read_fragment" />
+<Test name="mat4_static_loop_write_dynamic_loop_read_vertex" />
+<Test name="mat4_static_loop_write_dynamic_loop_read_fragment" />
+<Test name="mat4_dynamic_loop_write_static_read_vertex" />
+<Test name="mat4_dynamic_loop_write_static_read_fragment" />
+<Test name="mat4_dynamic_loop_write_dynamic_read_vertex" />
+<Test name="mat4_dynamic_loop_write_dynamic_read_fragment" />
+<Test name="mat4_dynamic_loop_write_static_loop_read_vertex" />
+<Test name="mat4_dynamic_loop_write_static_loop_read_fragment" />
+<Test name="mat4_dynamic_loop_write_dynamic_loop_read_vertex" />
+<Test name="mat4_dynamic_loop_write_dynamic_loop_read_fragment" />
+</TestCase>
+</TestSuite>
+<TestSuite name="loops">
+<TestCase name="for_constant_iterations">
+<Test name="basic_lowp_int_vertex" />
+<Test name="basic_lowp_int_fragment" />
+<Test name="basic_lowp_float_vertex" />
+<Test name="basic_lowp_float_fragment" />
+<Test name="basic_mediump_int_vertex" />
+<Test name="basic_mediump_int_fragment" />
+<Test name="basic_mediump_float_vertex" />
+<Test name="basic_mediump_float_fragment" />
+<Test name="basic_highp_int_vertex" />
+<Test name="basic_highp_int_fragment" />
+<Test name="basic_highp_float_vertex" />
+<Test name="basic_highp_float_fragment" />
+<Test name="empty_body_vertex" />
+<Test name="empty_body_fragment" />
+<Test name="infinite_with_unconditional_break_first_vertex" />
+<Test name="infinite_with_unconditional_break_first_fragment" />
+<Test name="infinite_with_unconditional_break_last_vertex" />
+<Test name="infinite_with_unconditional_break_last_fragment" />
+<Test name="infinite_with_conditional_break_vertex" />
+<Test name="infinite_with_conditional_break_fragment" />
+<Test name="single_statement_vertex" />
+<Test name="single_statement_fragment" />
+<Test name="compound_statement_vertex" />
+<Test name="compound_statement_fragment" />
+<Test name="sequence_statement_vertex" />
+<Test name="sequence_statement_fragment" />
+<Test name="no_iterations_vertex" />
+<Test name="no_iterations_fragment" />
+<Test name="single_iteration_vertex" />
+<Test name="single_iteration_fragment" />
+<Test name="select_iteration_count_vertex" />
+<Test name="select_iteration_count_fragment" />
+<Test name="conditional_continue_vertex" />
+<Test name="conditional_continue_fragment" />
+<Test name="unconditional_continue_vertex" />
+<Test name="unconditional_continue_fragment" />
+<Test name="only_continue_vertex" />
+<Test name="only_continue_fragment" />
+<Test name="double_continue_vertex" />
+<Test name="double_continue_fragment" />
+<Test name="conditional_break_vertex" />
+<Test name="conditional_break_fragment" />
+<Test name="unconditional_break_vertex" />
+<Test name="unconditional_break_fragment" />
+<Test name="pre_increment_vertex" />
+<Test name="pre_increment_fragment" />
+<Test name="post_increment_vertex" />
+<Test name="post_increment_fragment" />
+<Test name="mixed_break_continue_vertex" />
+<Test name="mixed_break_continue_fragment" />
+<Test name="vector_counter_vertex" />
+<Test name="vector_counter_fragment" />
+<Test name="101_iterations_vertex" />
+<Test name="101_iterations_fragment" />
+<Test name="sequence_vertex" />
+<Test name="sequence_fragment" />
+<Test name="nested_vertex" />
+<Test name="nested_fragment" />
+<Test name="nested_sequence_vertex" />
+<Test name="nested_sequence_fragment" />
+<Test name="nested_tricky_dataflow_1_vertex" />
+<Test name="nested_tricky_dataflow_1_fragment" />
+<Test name="nested_tricky_dataflow_2_vertex" />
+<Test name="nested_tricky_dataflow_2_fragment" />
+</TestCase>
+<TestCase name="for_uniform_iterations">
+<Test name="basic_lowp_int_vertex" />
+<Test name="basic_lowp_int_fragment" />
+<Test name="basic_lowp_float_vertex" />
+<Test name="basic_lowp_float_fragment" />
+<Test name="basic_mediump_int_vertex" />
+<Test name="basic_mediump_int_fragment" />
+<Test name="basic_mediump_float_vertex" />
+<Test name="basic_mediump_float_fragment" />
+<Test name="basic_highp_int_vertex" />
+<Test name="basic_highp_int_fragment" />
+<Test name="basic_highp_float_vertex" />
+<Test name="basic_highp_float_fragment" />
+<Test name="empty_body_vertex" />
+<Test name="empty_body_fragment" />
+<Test name="infinite_with_unconditional_break_first_vertex" />
+<Test name="infinite_with_unconditional_break_first_fragment" />
+<Test name="infinite_with_unconditional_break_last_vertex" />
+<Test name="infinite_with_unconditional_break_last_fragment" />
+<Test name="infinite_with_conditional_break_vertex" />
+<Test name="infinite_with_conditional_break_fragment" />
+<Test name="single_statement_vertex" />
+<Test name="single_statement_fragment" />
+<Test name="compound_statement_vertex" />
+<Test name="compound_statement_fragment" />
+<Test name="sequence_statement_vertex" />
+<Test name="sequence_statement_fragment" />
+<Test name="no_iterations_vertex" />
+<Test name="no_iterations_fragment" />
+<Test name="single_iteration_vertex" />
+<Test name="single_iteration_fragment" />
+<Test name="select_iteration_count_vertex" />
+<Test name="select_iteration_count_fragment" />
+<Test name="conditional_continue_vertex" />
+<Test name="conditional_continue_fragment" />
+<Test name="unconditional_continue_vertex" />
+<Test name="unconditional_continue_fragment" />
+<Test name="only_continue_vertex" />
+<Test name="only_continue_fragment" />
+<Test name="double_continue_vertex" />
+<Test name="double_continue_fragment" />
+<Test name="conditional_break_vertex" />
+<Test name="conditional_break_fragment" />
+<Test name="unconditional_break_vertex" />
+<Test name="unconditional_break_fragment" />
+<Test name="pre_increment_vertex" />
+<Test name="pre_increment_fragment" />
+<Test name="post_increment_vertex" />
+<Test name="post_increment_fragment" />
+<Test name="mixed_break_continue_vertex" />
+<Test name="mixed_break_continue_fragment" />
+<Test name="vector_counter_vertex" />
+<Test name="vector_counter_fragment" />
+<Test name="101_iterations_vertex" />
+<Test name="101_iterations_fragment" />
+<Test name="sequence_vertex" />
+<Test name="sequence_fragment" />
+<Test name="nested_vertex" />
+<Test name="nested_fragment" />
+<Test name="nested_sequence_vertex" />
+<Test name="nested_sequence_fragment" />
+<Test name="nested_tricky_dataflow_1_vertex" />
+<Test name="nested_tricky_dataflow_1_fragment" />
+<Test name="nested_tricky_dataflow_2_vertex" />
+<Test name="nested_tricky_dataflow_2_fragment" />
+</TestCase>
+<TestCase name="for_dynamic_iterations">
+<Test name="basic_lowp_int_vertex" />
+<Test name="basic_lowp_int_fragment" />
+<Test name="basic_lowp_float_vertex" />
+<Test name="basic_lowp_float_fragment" />
+<Test name="basic_mediump_int_vertex" />
+<Test name="basic_mediump_int_fragment" />
+<Test name="basic_mediump_float_vertex" />
+<Test name="basic_mediump_float_fragment" />
+<Test name="basic_highp_int_vertex" />
+<Test name="basic_highp_int_fragment" />
+<Test name="basic_highp_float_vertex" />
+<Test name="basic_highp_float_fragment" />
+<Test name="empty_body_vertex" />
+<Test name="empty_body_fragment" />
+<Test name="infinite_with_unconditional_break_first_vertex" />
+<Test name="infinite_with_unconditional_break_first_fragment" />
+<Test name="infinite_with_unconditional_break_last_vertex" />
+<Test name="infinite_with_unconditional_break_last_fragment" />
+<Test name="infinite_with_conditional_break_vertex" />
+<Test name="infinite_with_conditional_break_fragment" />
+<Test name="single_statement_vertex" />
+<Test name="single_statement_fragment" />
+<Test name="compound_statement_vertex" />
+<Test name="compound_statement_fragment" />
+<Test name="sequence_statement_vertex" />
+<Test name="sequence_statement_fragment" />
+<Test name="no_iterations_vertex" />
+<Test name="no_iterations_fragment" />
+<Test name="single_iteration_vertex" />
+<Test name="single_iteration_fragment" />
+<Test name="select_iteration_count_vertex" />
+<Test name="select_iteration_count_fragment" />
+<Test name="conditional_continue_vertex" />
+<Test name="conditional_continue_fragment" />
+<Test name="unconditional_continue_vertex" />
+<Test name="unconditional_continue_fragment" />
+<Test name="only_continue_vertex" />
+<Test name="only_continue_fragment" />
+<Test name="double_continue_vertex" />
+<Test name="double_continue_fragment" />
+<Test name="conditional_break_vertex" />
+<Test name="conditional_break_fragment" />
+<Test name="unconditional_break_vertex" />
+<Test name="unconditional_break_fragment" />
+<Test name="pre_increment_vertex" />
+<Test name="pre_increment_fragment" />
+<Test name="post_increment_vertex" />
+<Test name="post_increment_fragment" />
+<Test name="mixed_break_continue_vertex" />
+<Test name="mixed_break_continue_fragment" />
+<Test name="vector_counter_vertex" />
+<Test name="vector_counter_fragment" />
+<Test name="101_iterations_vertex" />
+<Test name="101_iterations_fragment" />
+<Test name="sequence_vertex" />
+<Test name="sequence_fragment" />
+<Test name="nested_vertex" />
+<Test name="nested_fragment" />
+<Test name="nested_sequence_vertex" />
+<Test name="nested_sequence_fragment" />
+<Test name="nested_tricky_dataflow_1_vertex" />
+<Test name="nested_tricky_dataflow_1_fragment" />
+<Test name="nested_tricky_dataflow_2_vertex" />
+<Test name="nested_tricky_dataflow_2_fragment" />
+</TestCase>
+<TestCase name="while_constant_iterations">
+<Test name="basic_lowp_int_vertex" />
+<Test name="basic_lowp_int_fragment" />
+<Test name="basic_lowp_float_vertex" />
+<Test name="basic_lowp_float_fragment" />
+<Test name="basic_mediump_int_vertex" />
+<Test name="basic_mediump_int_fragment" />
+<Test name="basic_mediump_float_vertex" />
+<Test name="basic_mediump_float_fragment" />
+<Test name="basic_highp_int_vertex" />
+<Test name="basic_highp_int_fragment" />
+<Test name="basic_highp_float_vertex" />
+<Test name="basic_highp_float_fragment" />
+<Test name="empty_body_vertex" />
+<Test name="empty_body_fragment" />
+<Test name="infinite_with_unconditional_break_first_vertex" />
+<Test name="infinite_with_unconditional_break_first_fragment" />
+<Test name="infinite_with_unconditional_break_last_vertex" />
+<Test name="infinite_with_unconditional_break_last_fragment" />
+<Test name="infinite_with_conditional_break_vertex" />
+<Test name="infinite_with_conditional_break_fragment" />
+<Test name="single_statement_vertex" />
+<Test name="single_statement_fragment" />
+<Test name="compound_statement_vertex" />
+<Test name="compound_statement_fragment" />
+<Test name="sequence_statement_vertex" />
+<Test name="sequence_statement_fragment" />
+<Test name="no_iterations_vertex" />
+<Test name="no_iterations_fragment" />
+<Test name="single_iteration_vertex" />
+<Test name="single_iteration_fragment" />
+<Test name="select_iteration_count_vertex" />
+<Test name="select_iteration_count_fragment" />
+<Test name="conditional_continue_vertex" />
+<Test name="conditional_continue_fragment" />
+<Test name="unconditional_continue_vertex" />
+<Test name="unconditional_continue_fragment" />
+<Test name="only_continue_vertex" />
+<Test name="only_continue_fragment" />
+<Test name="double_continue_vertex" />
+<Test name="double_continue_fragment" />
+<Test name="conditional_break_vertex" />
+<Test name="conditional_break_fragment" />
+<Test name="unconditional_break_vertex" />
+<Test name="unconditional_break_fragment" />
+<Test name="pre_increment_vertex" />
+<Test name="pre_increment_fragment" />
+<Test name="post_increment_vertex" />
+<Test name="post_increment_fragment" />
+<Test name="mixed_break_continue_vertex" />
+<Test name="mixed_break_continue_fragment" />
+<Test name="vector_counter_vertex" />
+<Test name="vector_counter_fragment" />
+<Test name="101_iterations_vertex" />
+<Test name="101_iterations_fragment" />
+<Test name="sequence_vertex" />
+<Test name="sequence_fragment" />
+<Test name="nested_vertex" />
+<Test name="nested_fragment" />
+<Test name="nested_sequence_vertex" />
+<Test name="nested_sequence_fragment" />
+<Test name="nested_tricky_dataflow_1_vertex" />
+<Test name="nested_tricky_dataflow_1_fragment" />
+<Test name="nested_tricky_dataflow_2_vertex" />
+<Test name="nested_tricky_dataflow_2_fragment" />
+</TestCase>
+<TestCase name="while_uniform_iterations">
+<Test name="basic_lowp_int_vertex" />
+<Test name="basic_lowp_int_fragment" />
+<Test name="basic_lowp_float_vertex" />
+<Test name="basic_lowp_float_fragment" />
+<Test name="basic_mediump_int_vertex" />
+<Test name="basic_mediump_int_fragment" />
+<Test name="basic_mediump_float_vertex" />
+<Test name="basic_mediump_float_fragment" />
+<Test name="basic_highp_int_vertex" />
+<Test name="basic_highp_int_fragment" />
+<Test name="basic_highp_float_vertex" />
+<Test name="basic_highp_float_fragment" />
+<Test name="empty_body_vertex" />
+<Test name="empty_body_fragment" />
+<Test name="infinite_with_unconditional_break_first_vertex" />
+<Test name="infinite_with_unconditional_break_first_fragment" />
+<Test name="infinite_with_unconditional_break_last_vertex" />
+<Test name="infinite_with_unconditional_break_last_fragment" />
+<Test name="infinite_with_conditional_break_vertex" />
+<Test name="infinite_with_conditional_break_fragment" />
+<Test name="single_statement_vertex" />
+<Test name="single_statement_fragment" />
+<Test name="compound_statement_vertex" />
+<Test name="compound_statement_fragment" />
+<Test name="sequence_statement_vertex" />
+<Test name="sequence_statement_fragment" />
+<Test name="no_iterations_vertex" />
+<Test name="no_iterations_fragment" />
+<Test name="single_iteration_vertex" />
+<Test name="single_iteration_fragment" />
+<Test name="select_iteration_count_vertex" />
+<Test name="select_iteration_count_fragment" />
+<Test name="conditional_continue_vertex" />
+<Test name="conditional_continue_fragment" />
+<Test name="unconditional_continue_vertex" />
+<Test name="unconditional_continue_fragment" />
+<Test name="only_continue_vertex" />
+<Test name="only_continue_fragment" />
+<Test name="double_continue_vertex" />
+<Test name="double_continue_fragment" />
+<Test name="conditional_break_vertex" />
+<Test name="conditional_break_fragment" />
+<Test name="unconditional_break_vertex" />
+<Test name="unconditional_break_fragment" />
+<Test name="pre_increment_vertex" />
+<Test name="pre_increment_fragment" />
+<Test name="post_increment_vertex" />
+<Test name="post_increment_fragment" />
+<Test name="mixed_break_continue_vertex" />
+<Test name="mixed_break_continue_fragment" />
+<Test name="vector_counter_vertex" />
+<Test name="vector_counter_fragment" />
+<Test name="101_iterations_vertex" />
+<Test name="101_iterations_fragment" />
+<Test name="sequence_vertex" />
+<Test name="sequence_fragment" />
+<Test name="nested_vertex" />
+<Test name="nested_fragment" />
+<Test name="nested_sequence_vertex" />
+<Test name="nested_sequence_fragment" />
+<Test name="nested_tricky_dataflow_1_vertex" />
+<Test name="nested_tricky_dataflow_1_fragment" />
+<Test name="nested_tricky_dataflow_2_vertex" />
+<Test name="nested_tricky_dataflow_2_fragment" />
+</TestCase>
+<TestCase name="while_dynamic_iterations">
+<Test name="basic_lowp_int_vertex" />
+<Test name="basic_lowp_int_fragment" />
+<Test name="basic_lowp_float_vertex" />
+<Test name="basic_lowp_float_fragment" />
+<Test name="basic_mediump_int_vertex" />
+<Test name="basic_mediump_int_fragment" />
+<Test name="basic_mediump_float_vertex" />
+<Test name="basic_mediump_float_fragment" />
+<Test name="basic_highp_int_vertex" />
+<Test name="basic_highp_int_fragment" />
+<Test name="basic_highp_float_vertex" />
+<Test name="basic_highp_float_fragment" />
+<Test name="empty_body_vertex" />
+<Test name="empty_body_fragment" />
+<Test name="infinite_with_unconditional_break_first_vertex" />
+<Test name="infinite_with_unconditional_break_first_fragment" />
+<Test name="infinite_with_unconditional_break_last_vertex" />
+<Test name="infinite_with_unconditional_break_last_fragment" />
+<Test name="infinite_with_conditional_break_vertex" />
+<Test name="infinite_with_conditional_break_fragment" />
+<Test name="single_statement_vertex" />
+<Test name="single_statement_fragment" />
+<Test name="compound_statement_vertex" />
+<Test name="compound_statement_fragment" />
+<Test name="sequence_statement_vertex" />
+<Test name="sequence_statement_fragment" />
+<Test name="no_iterations_vertex" />
+<Test name="no_iterations_fragment" />
+<Test name="single_iteration_vertex" />
+<Test name="single_iteration_fragment" />
+<Test name="select_iteration_count_vertex" />
+<Test name="select_iteration_count_fragment" />
+<Test name="conditional_continue_vertex" />
+<Test name="conditional_continue_fragment" />
+<Test name="unconditional_continue_vertex" />
+<Test name="unconditional_continue_fragment" />
+<Test name="only_continue_vertex" />
+<Test name="only_continue_fragment" />
+<Test name="double_continue_vertex" />
+<Test name="double_continue_fragment" />
+<Test name="conditional_break_vertex" />
+<Test name="conditional_break_fragment" />
+<Test name="unconditional_break_vertex" />
+<Test name="unconditional_break_fragment" />
+<Test name="pre_increment_vertex" />
+<Test name="pre_increment_fragment" />
+<Test name="post_increment_vertex" />
+<Test name="post_increment_fragment" />
+<Test name="mixed_break_continue_vertex" />
+<Test name="mixed_break_continue_fragment" />
+<Test name="vector_counter_vertex" />
+<Test name="vector_counter_fragment" />
+<Test name="101_iterations_vertex" />
+<Test name="101_iterations_fragment" />
+<Test name="sequence_vertex" />
+<Test name="sequence_fragment" />
+<Test name="nested_vertex" />
+<Test name="nested_fragment" />
+<Test name="nested_sequence_vertex" />
+<Test name="nested_sequence_fragment" />
+<Test name="nested_tricky_dataflow_1_vertex" />
+<Test name="nested_tricky_dataflow_1_fragment" />
+<Test name="nested_tricky_dataflow_2_vertex" />
+<Test name="nested_tricky_dataflow_2_fragment" />
+</TestCase>
+<TestCase name="do_while_constant_iterations">
+<Test name="basic_lowp_int_vertex" />
+<Test name="basic_lowp_int_fragment" />
+<Test name="basic_lowp_float_vertex" />
+<Test name="basic_lowp_float_fragment" />
+<Test name="basic_mediump_int_vertex" />
+<Test name="basic_mediump_int_fragment" />
+<Test name="basic_mediump_float_vertex" />
+<Test name="basic_mediump_float_fragment" />
+<Test name="basic_highp_int_vertex" />
+<Test name="basic_highp_int_fragment" />
+<Test name="basic_highp_float_vertex" />
+<Test name="basic_highp_float_fragment" />
+<Test name="empty_body_vertex" />
+<Test name="empty_body_fragment" />
+<Test name="infinite_with_unconditional_break_first_vertex" />
+<Test name="infinite_with_unconditional_break_first_fragment" />
+<Test name="infinite_with_unconditional_break_last_vertex" />
+<Test name="infinite_with_unconditional_break_last_fragment" />
+<Test name="infinite_with_conditional_break_vertex" />
+<Test name="infinite_with_conditional_break_fragment" />
+<Test name="single_statement_vertex" />
+<Test name="single_statement_fragment" />
+<Test name="compound_statement_vertex" />
+<Test name="compound_statement_fragment" />
+<Test name="sequence_statement_vertex" />
+<Test name="sequence_statement_fragment" />
+<Test name="single_iteration_vertex" />
+<Test name="single_iteration_fragment" />
+<Test name="select_iteration_count_vertex" />
+<Test name="select_iteration_count_fragment" />
+<Test name="conditional_continue_vertex" />
+<Test name="conditional_continue_fragment" />
+<Test name="unconditional_continue_vertex" />
+<Test name="unconditional_continue_fragment" />
+<Test name="only_continue_vertex" />
+<Test name="only_continue_fragment" />
+<Test name="double_continue_vertex" />
+<Test name="double_continue_fragment" />
+<Test name="conditional_break_vertex" />
+<Test name="conditional_break_fragment" />
+<Test name="unconditional_break_vertex" />
+<Test name="unconditional_break_fragment" />
+<Test name="pre_increment_vertex" />
+<Test name="pre_increment_fragment" />
+<Test name="post_increment_vertex" />
+<Test name="post_increment_fragment" />
+<Test name="mixed_break_continue_vertex" />
+<Test name="mixed_break_continue_fragment" />
+<Test name="vector_counter_vertex" />
+<Test name="vector_counter_fragment" />
+<Test name="101_iterations_vertex" />
+<Test name="101_iterations_fragment" />
+<Test name="sequence_vertex" />
+<Test name="sequence_fragment" />
+<Test name="nested_vertex" />
+<Test name="nested_fragment" />
+<Test name="nested_sequence_vertex" />
+<Test name="nested_sequence_fragment" />
+<Test name="nested_tricky_dataflow_1_vertex" />
+<Test name="nested_tricky_dataflow_1_fragment" />
+<Test name="nested_tricky_dataflow_2_vertex" />
+<Test name="nested_tricky_dataflow_2_fragment" />
+</TestCase>
+<TestCase name="do_while_uniform_iterations">
+<Test name="basic_lowp_int_vertex" />
+<Test name="basic_lowp_int_fragment" />
+<Test name="basic_lowp_float_vertex" />
+<Test name="basic_lowp_float_fragment" />
+<Test name="basic_mediump_int_vertex" />
+<Test name="basic_mediump_int_fragment" />
+<Test name="basic_mediump_float_vertex" />
+<Test name="basic_mediump_float_fragment" />
+<Test name="basic_highp_int_vertex" />
+<Test name="basic_highp_int_fragment" />
+<Test name="basic_highp_float_vertex" />
+<Test name="basic_highp_float_fragment" />
+<Test name="empty_body_vertex" />
+<Test name="empty_body_fragment" />
+<Test name="infinite_with_unconditional_break_first_vertex" />
+<Test name="infinite_with_unconditional_break_first_fragment" />
+<Test name="infinite_with_unconditional_break_last_vertex" />
+<Test name="infinite_with_unconditional_break_last_fragment" />
+<Test name="infinite_with_conditional_break_vertex" />
+<Test name="infinite_with_conditional_break_fragment" />
+<Test name="single_statement_vertex" />
+<Test name="single_statement_fragment" />
+<Test name="compound_statement_vertex" />
+<Test name="compound_statement_fragment" />
+<Test name="sequence_statement_vertex" />
+<Test name="sequence_statement_fragment" />
+<Test name="single_iteration_vertex" />
+<Test name="single_iteration_fragment" />
+<Test name="select_iteration_count_vertex" />
+<Test name="select_iteration_count_fragment" />
+<Test name="conditional_continue_vertex" />
+<Test name="conditional_continue_fragment" />
+<Test name="unconditional_continue_vertex" />
+<Test name="unconditional_continue_fragment" />
+<Test name="only_continue_vertex" />
+<Test name="only_continue_fragment" />
+<Test name="double_continue_vertex" />
+<Test name="double_continue_fragment" />
+<Test name="conditional_break_vertex" />
+<Test name="conditional_break_fragment" />
+<Test name="unconditional_break_vertex" />
+<Test name="unconditional_break_fragment" />
+<Test name="pre_increment_vertex" />
+<Test name="pre_increment_fragment" />
+<Test name="post_increment_vertex" />
+<Test name="post_increment_fragment" />
+<Test name="mixed_break_continue_vertex" />
+<Test name="mixed_break_continue_fragment" />
+<Test name="vector_counter_vertex" />
+<Test name="vector_counter_fragment" />
+<Test name="101_iterations_vertex" />
+<Test name="101_iterations_fragment" />
+<Test name="sequence_vertex" />
+<Test name="sequence_fragment" />
+<Test name="nested_vertex" />
+<Test name="nested_fragment" />
+<Test name="nested_sequence_vertex" />
+<Test name="nested_sequence_fragment" />
+<Test name="nested_tricky_dataflow_1_vertex" />
+<Test name="nested_tricky_dataflow_1_fragment" />
+<Test name="nested_tricky_dataflow_2_vertex" />
+<Test name="nested_tricky_dataflow_2_fragment" />
+</TestCase>
+<TestCase name="do_while_dynamic_iterations">
+<Test name="basic_lowp_int_vertex" />
+<Test name="basic_lowp_int_fragment" />
+<Test name="basic_lowp_float_vertex" />
+<Test name="basic_lowp_float_fragment" />
+<Test name="basic_mediump_int_vertex" />
+<Test name="basic_mediump_int_fragment" />
+<Test name="basic_mediump_float_vertex" />
+<Test name="basic_mediump_float_fragment" />
+<Test name="basic_highp_int_vertex" />
+<Test name="basic_highp_int_fragment" />
+<Test name="basic_highp_float_vertex" />
+<Test name="basic_highp_float_fragment" />
+<Test name="empty_body_vertex" />
+<Test name="empty_body_fragment" />
+<Test name="infinite_with_unconditional_break_first_vertex" />
+<Test name="infinite_with_unconditional_break_first_fragment" />
+<Test name="infinite_with_unconditional_break_last_vertex" />
+<Test name="infinite_with_unconditional_break_last_fragment" />
+<Test name="infinite_with_conditional_break_vertex" />
+<Test name="infinite_with_conditional_break_fragment" />
+<Test name="single_statement_vertex" />
+<Test name="single_statement_fragment" />
+<Test name="compound_statement_vertex" />
+<Test name="compound_statement_fragment" />
+<Test name="sequence_statement_vertex" />
+<Test name="sequence_statement_fragment" />
+<Test name="single_iteration_vertex" />
+<Test name="single_iteration_fragment" />
+<Test name="select_iteration_count_vertex" />
+<Test name="select_iteration_count_fragment" />
+<Test name="conditional_continue_vertex" />
+<Test name="conditional_continue_fragment" />
+<Test name="unconditional_continue_vertex" />
+<Test name="unconditional_continue_fragment" />
+<Test name="only_continue_vertex" />
+<Test name="only_continue_fragment" />
+<Test name="double_continue_vertex" />
+<Test name="double_continue_fragment" />
+<Test name="conditional_break_vertex" />
+<Test name="conditional_break_fragment" />
+<Test name="unconditional_break_vertex" />
+<Test name="unconditional_break_fragment" />
+<Test name="pre_increment_vertex" />
+<Test name="pre_increment_fragment" />
+<Test name="post_increment_vertex" />
+<Test name="post_increment_fragment" />
+<Test name="mixed_break_continue_vertex" />
+<Test name="mixed_break_continue_fragment" />
+<Test name="vector_counter_vertex" />
+<Test name="vector_counter_fragment" />
+<Test name="101_iterations_vertex" />
+<Test name="101_iterations_fragment" />
+<Test name="sequence_vertex" />
+<Test name="sequence_fragment" />
+<Test name="nested_vertex" />
+<Test name="nested_fragment" />
+<Test name="nested_sequence_vertex" />
+<Test name="nested_sequence_fragment" />
+<Test name="nested_tricky_dataflow_1_vertex" />
+<Test name="nested_tricky_dataflow_1_fragment" />
+<Test name="nested_tricky_dataflow_2_vertex" />
+<Test name="nested_tricky_dataflow_2_fragment" />
+</TestCase>
+</TestSuite>
+<TestSuite name="operator">
+<TestSuite name="unary_operator">
+<TestCase name="plus">
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+<Test name="lowp_uint_vertex" />
+<Test name="lowp_uint_fragment" />
+<Test name="mediump_uint_vertex" />
+<Test name="mediump_uint_fragment" />
+<Test name="highp_uint_vertex" />
+<Test name="highp_uint_fragment" />
+<Test name="lowp_uvec2_vertex" />
+<Test name="lowp_uvec2_fragment" />
+<Test name="mediump_uvec2_vertex" />
+<Test name="mediump_uvec2_fragment" />
+<Test name="highp_uvec2_vertex" />
+<Test name="highp_uvec2_fragment" />
+<Test name="lowp_uvec3_vertex" />
+<Test name="lowp_uvec3_fragment" />
+<Test name="mediump_uvec3_vertex" />
+<Test name="mediump_uvec3_fragment" />
+<Test name="highp_uvec3_vertex" />
+<Test name="highp_uvec3_fragment" />
+<Test name="lowp_uvec4_vertex" />
+<Test name="lowp_uvec4_fragment" />
+<Test name="mediump_uvec4_vertex" />
+<Test name="mediump_uvec4_fragment" />
+<Test name="highp_uvec4_vertex" />
+<Test name="highp_uvec4_fragment" />
+</TestCase>
+<TestCase name="minus">
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+<Test name="lowp_uint_vertex" />
+<Test name="lowp_uint_fragment" />
+<Test name="lowp_uvec2_vertex" />
+<Test name="lowp_uvec2_fragment" />
+<Test name="lowp_uvec3_vertex" />
+<Test name="lowp_uvec3_fragment" />
+<Test name="lowp_uvec4_vertex" />
+<Test name="lowp_uvec4_fragment" />
+<Test name="mediump_uint_vertex" />
+<Test name="mediump_uint_fragment" />
+<Test name="mediump_uvec2_vertex" />
+<Test name="mediump_uvec2_fragment" />
+<Test name="mediump_uvec3_vertex" />
+<Test name="mediump_uvec3_fragment" />
+<Test name="mediump_uvec4_vertex" />
+<Test name="mediump_uvec4_fragment" />
+<Test name="highp_uint_vertex" />
+<Test name="highp_uint_fragment" />
+<Test name="highp_uvec2_vertex" />
+<Test name="highp_uvec2_fragment" />
+<Test name="highp_uvec3_vertex" />
+<Test name="highp_uvec3_fragment" />
+<Test name="highp_uvec4_vertex" />
+<Test name="highp_uvec4_fragment" />
+</TestCase>
+<TestCase name="not">
+<Test name="bool_vertex" />
+<Test name="bool_fragment" />
+</TestCase>
+<TestCase name="bitwise_not">
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+<Test name="highp_uint_vertex" />
+<Test name="highp_uint_fragment" />
+<Test name="highp_uvec2_vertex" />
+<Test name="highp_uvec2_fragment" />
+<Test name="highp_uvec3_vertex" />
+<Test name="highp_uvec3_fragment" />
+<Test name="highp_uvec4_vertex" />
+<Test name="highp_uvec4_fragment" />
+</TestCase>
+<TestCase name="pre_increment_effect">
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+<Test name="lowp_uint_vertex" />
+<Test name="lowp_uint_fragment" />
+<Test name="mediump_uint_vertex" />
+<Test name="mediump_uint_fragment" />
+<Test name="highp_uint_vertex" />
+<Test name="highp_uint_fragment" />
+<Test name="lowp_uvec2_vertex" />
+<Test name="lowp_uvec2_fragment" />
+<Test name="mediump_uvec2_vertex" />
+<Test name="mediump_uvec2_fragment" />
+<Test name="highp_uvec2_vertex" />
+<Test name="highp_uvec2_fragment" />
+<Test name="lowp_uvec3_vertex" />
+<Test name="lowp_uvec3_fragment" />
+<Test name="mediump_uvec3_vertex" />
+<Test name="mediump_uvec3_fragment" />
+<Test name="highp_uvec3_vertex" />
+<Test name="highp_uvec3_fragment" />
+<Test name="lowp_uvec4_vertex" />
+<Test name="lowp_uvec4_fragment" />
+<Test name="mediump_uvec4_vertex" />
+<Test name="mediump_uvec4_fragment" />
+<Test name="highp_uvec4_vertex" />
+<Test name="highp_uvec4_fragment" />
+</TestCase>
+<TestCase name="pre_decrement_effect">
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+</TestCase>
+<TestCase name="post_increment_effect">
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+<Test name="lowp_uint_vertex" />
+<Test name="lowp_uint_fragment" />
+<Test name="mediump_uint_vertex" />
+<Test name="mediump_uint_fragment" />
+<Test name="highp_uint_vertex" />
+<Test name="highp_uint_fragment" />
+<Test name="lowp_uvec2_vertex" />
+<Test name="lowp_uvec2_fragment" />
+<Test name="mediump_uvec2_vertex" />
+<Test name="mediump_uvec2_fragment" />
+<Test name="highp_uvec2_vertex" />
+<Test name="highp_uvec2_fragment" />
+<Test name="lowp_uvec3_vertex" />
+<Test name="lowp_uvec3_fragment" />
+<Test name="mediump_uvec3_vertex" />
+<Test name="mediump_uvec3_fragment" />
+<Test name="highp_uvec3_vertex" />
+<Test name="highp_uvec3_fragment" />
+<Test name="lowp_uvec4_vertex" />
+<Test name="lowp_uvec4_fragment" />
+<Test name="mediump_uvec4_vertex" />
+<Test name="mediump_uvec4_fragment" />
+<Test name="highp_uvec4_vertex" />
+<Test name="highp_uvec4_fragment" />
+</TestCase>
+<TestCase name="post_decrement_effect">
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+</TestCase>
+<TestCase name="pre_increment_result">
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+<Test name="lowp_uint_vertex" />
+<Test name="lowp_uint_fragment" />
+<Test name="mediump_uint_vertex" />
+<Test name="mediump_uint_fragment" />
+<Test name="highp_uint_vertex" />
+<Test name="highp_uint_fragment" />
+<Test name="lowp_uvec2_vertex" />
+<Test name="lowp_uvec2_fragment" />
+<Test name="mediump_uvec2_vertex" />
+<Test name="mediump_uvec2_fragment" />
+<Test name="highp_uvec2_vertex" />
+<Test name="highp_uvec2_fragment" />
+<Test name="lowp_uvec3_vertex" />
+<Test name="lowp_uvec3_fragment" />
+<Test name="mediump_uvec3_vertex" />
+<Test name="mediump_uvec3_fragment" />
+<Test name="highp_uvec3_vertex" />
+<Test name="highp_uvec3_fragment" />
+<Test name="lowp_uvec4_vertex" />
+<Test name="lowp_uvec4_fragment" />
+<Test name="mediump_uvec4_vertex" />
+<Test name="mediump_uvec4_fragment" />
+<Test name="highp_uvec4_vertex" />
+<Test name="highp_uvec4_fragment" />
+</TestCase>
+<TestCase name="pre_decrement_result">
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+</TestCase>
+<TestCase name="post_increment_result">
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+<Test name="lowp_uint_vertex" />
+<Test name="lowp_uint_fragment" />
+<Test name="mediump_uint_vertex" />
+<Test name="mediump_uint_fragment" />
+<Test name="highp_uint_vertex" />
+<Test name="highp_uint_fragment" />
+<Test name="lowp_uvec2_vertex" />
+<Test name="lowp_uvec2_fragment" />
+<Test name="mediump_uvec2_vertex" />
+<Test name="mediump_uvec2_fragment" />
+<Test name="highp_uvec2_vertex" />
+<Test name="highp_uvec2_fragment" />
+<Test name="lowp_uvec3_vertex" />
+<Test name="lowp_uvec3_fragment" />
+<Test name="mediump_uvec3_vertex" />
+<Test name="mediump_uvec3_fragment" />
+<Test name="highp_uvec3_vertex" />
+<Test name="highp_uvec3_fragment" />
+<Test name="lowp_uvec4_vertex" />
+<Test name="lowp_uvec4_fragment" />
+<Test name="mediump_uvec4_vertex" />
+<Test name="mediump_uvec4_fragment" />
+<Test name="highp_uvec4_vertex" />
+<Test name="highp_uvec4_fragment" />
+</TestCase>
+<TestCase name="post_decrement_result">
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+<Test name="lowp_uint_vertex" />
+<Test name="lowp_uint_fragment" />
+<Test name="mediump_uint_vertex" />
+<Test name="mediump_uint_fragment" />
+<Test name="highp_uint_vertex" />
+<Test name="highp_uint_fragment" />
+<Test name="lowp_uvec2_vertex" />
+<Test name="lowp_uvec2_fragment" />
+<Test name="mediump_uvec2_vertex" />
+<Test name="mediump_uvec2_fragment" />
+<Test name="highp_uvec2_vertex" />
+<Test name="highp_uvec2_fragment" />
+<Test name="lowp_uvec3_vertex" />
+<Test name="lowp_uvec3_fragment" />
+<Test name="mediump_uvec3_vertex" />
+<Test name="mediump_uvec3_fragment" />
+<Test name="highp_uvec3_vertex" />
+<Test name="highp_uvec3_fragment" />
+<Test name="lowp_uvec4_vertex" />
+<Test name="lowp_uvec4_fragment" />
+<Test name="mediump_uvec4_vertex" />
+<Test name="mediump_uvec4_fragment" />
+<Test name="highp_uvec4_vertex" />
+<Test name="highp_uvec4_fragment" />
+</TestCase>
+</TestSuite>
+<TestSuite name="binary_operator">
+<TestCase name="add">
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+<Test name="lowp_uint_vertex" />
+<Test name="lowp_uint_fragment" />
+<Test name="mediump_uint_vertex" />
+<Test name="mediump_uint_fragment" />
+<Test name="lowp_uvec2_vertex" />
+<Test name="lowp_uvec2_fragment" />
+<Test name="mediump_uvec2_vertex" />
+<Test name="mediump_uvec2_fragment" />
+<Test name="lowp_uvec3_vertex" />
+<Test name="lowp_uvec3_fragment" />
+<Test name="mediump_uvec3_vertex" />
+<Test name="mediump_uvec3_fragment" />
+<Test name="lowp_uvec4_vertex" />
+<Test name="lowp_uvec4_fragment" />
+<Test name="mediump_uvec4_vertex" />
+<Test name="mediump_uvec4_fragment" />
+<Test name="highp_uint_vertex" />
+<Test name="highp_uint_fragment" />
+<Test name="highp_uvec2_vertex" />
+<Test name="highp_uvec2_fragment" />
+<Test name="highp_uvec3_vertex" />
+<Test name="highp_uvec3_fragment" />
+<Test name="highp_uvec4_vertex" />
+<Test name="highp_uvec4_fragment" />
+<Test name="lowp_vec2_float_vertex" />
+<Test name="lowp_vec2_float_fragment" />
+<Test name="mediump_vec2_float_vertex" />
+<Test name="mediump_vec2_float_fragment" />
+<Test name="highp_vec2_float_vertex" />
+<Test name="highp_vec2_float_fragment" />
+<Test name="lowp_vec3_float_vertex" />
+<Test name="lowp_vec3_float_fragment" />
+<Test name="mediump_vec3_float_vertex" />
+<Test name="mediump_vec3_float_fragment" />
+<Test name="highp_vec3_float_vertex" />
+<Test name="highp_vec3_float_fragment" />
+<Test name="lowp_vec4_float_vertex" />
+<Test name="lowp_vec4_float_fragment" />
+<Test name="mediump_vec4_float_vertex" />
+<Test name="mediump_vec4_float_fragment" />
+<Test name="highp_vec4_float_vertex" />
+<Test name="highp_vec4_float_fragment" />
+<Test name="lowp_ivec2_int_vertex" />
+<Test name="lowp_ivec2_int_fragment" />
+<Test name="mediump_ivec2_int_vertex" />
+<Test name="mediump_ivec2_int_fragment" />
+<Test name="lowp_ivec3_int_vertex" />
+<Test name="lowp_ivec3_int_fragment" />
+<Test name="mediump_ivec3_int_vertex" />
+<Test name="mediump_ivec3_int_fragment" />
+<Test name="lowp_ivec4_int_vertex" />
+<Test name="lowp_ivec4_int_fragment" />
+<Test name="mediump_ivec4_int_vertex" />
+<Test name="mediump_ivec4_int_fragment" />
+<Test name="highp_ivec2_int_vertex" />
+<Test name="highp_ivec2_int_fragment" />
+<Test name="highp_ivec3_int_vertex" />
+<Test name="highp_ivec3_int_fragment" />
+<Test name="highp_ivec4_int_vertex" />
+<Test name="highp_ivec4_int_fragment" />
+<Test name="lowp_uvec2_uint_vertex" />
+<Test name="lowp_uvec2_uint_fragment" />
+<Test name="mediump_uvec2_uint_vertex" />
+<Test name="mediump_uvec2_uint_fragment" />
+<Test name="lowp_uvec3_uint_vertex" />
+<Test name="lowp_uvec3_uint_fragment" />
+<Test name="mediump_uvec3_uint_vertex" />
+<Test name="mediump_uvec3_uint_fragment" />
+<Test name="lowp_uvec4_uint_vertex" />
+<Test name="lowp_uvec4_uint_fragment" />
+<Test name="mediump_uvec4_uint_vertex" />
+<Test name="mediump_uvec4_uint_fragment" />
+<Test name="highp_uvec2_uint_vertex" />
+<Test name="highp_uvec2_uint_fragment" />
+<Test name="highp_uvec3_uint_vertex" />
+<Test name="highp_uvec3_uint_fragment" />
+<Test name="highp_uvec4_uint_vertex" />
+<Test name="highp_uvec4_uint_fragment" />
+<Test name="lowp_float_vec2_vertex" />
+<Test name="lowp_float_vec2_fragment" />
+<Test name="mediump_float_vec2_vertex" />
+<Test name="mediump_float_vec2_fragment" />
+<Test name="highp_float_vec2_vertex" />
+<Test name="highp_float_vec2_fragment" />
+<Test name="lowp_float_vec3_vertex" />
+<Test name="lowp_float_vec3_fragment" />
+<Test name="mediump_float_vec3_vertex" />
+<Test name="mediump_float_vec3_fragment" />
+<Test name="highp_float_vec3_vertex" />
+<Test name="highp_float_vec3_fragment" />
+<Test name="lowp_float_vec4_vertex" />
+<Test name="lowp_float_vec4_fragment" />
+<Test name="mediump_float_vec4_vertex" />
+<Test name="mediump_float_vec4_fragment" />
+<Test name="highp_float_vec4_vertex" />
+<Test name="highp_float_vec4_fragment" />
+<Test name="lowp_int_ivec2_vertex" />
+<Test name="lowp_int_ivec2_fragment" />
+<Test name="mediump_int_ivec2_vertex" />
+<Test name="mediump_int_ivec2_fragment" />
+<Test name="lowp_int_ivec3_vertex" />
+<Test name="lowp_int_ivec3_fragment" />
+<Test name="mediump_int_ivec3_vertex" />
+<Test name="mediump_int_ivec3_fragment" />
+<Test name="lowp_int_ivec4_vertex" />
+<Test name="lowp_int_ivec4_fragment" />
+<Test name="mediump_int_ivec4_vertex" />
+<Test name="mediump_int_ivec4_fragment" />
+<Test name="highp_int_ivec2_vertex" />
+<Test name="highp_int_ivec2_fragment" />
+<Test name="highp_int_ivec3_vertex" />
+<Test name="highp_int_ivec3_fragment" />
+<Test name="highp_int_ivec4_vertex" />
+<Test name="highp_int_ivec4_fragment" />
+<Test name="lowp_uint_uvec2_vertex" />
+<Test name="lowp_uint_uvec2_fragment" />
+<Test name="mediump_uint_uvec2_vertex" />
+<Test name="mediump_uint_uvec2_fragment" />
+<Test name="lowp_uint_uvec3_vertex" />
+<Test name="lowp_uint_uvec3_fragment" />
+<Test name="mediump_uint_uvec3_vertex" />
+<Test name="mediump_uint_uvec3_fragment" />
+<Test name="lowp_uint_uvec4_vertex" />
+<Test name="lowp_uint_uvec4_fragment" />
+<Test name="mediump_uint_uvec4_vertex" />
+<Test name="mediump_uint_uvec4_fragment" />
+<Test name="highp_uint_uvec2_vertex" />
+<Test name="highp_uint_uvec2_fragment" />
+<Test name="highp_uint_uvec3_vertex" />
+<Test name="highp_uint_uvec3_fragment" />
+<Test name="highp_uint_uvec4_vertex" />
+<Test name="highp_uint_uvec4_fragment" />
+</TestCase>
+<TestCase name="sub">
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+<Test name="lowp_uint_vertex" />
+<Test name="lowp_uint_fragment" />
+<Test name="mediump_uint_vertex" />
+<Test name="mediump_uint_fragment" />
+<Test name="lowp_uvec2_vertex" />
+<Test name="lowp_uvec2_fragment" />
+<Test name="mediump_uvec2_vertex" />
+<Test name="mediump_uvec2_fragment" />
+<Test name="lowp_uvec3_vertex" />
+<Test name="lowp_uvec3_fragment" />
+<Test name="mediump_uvec3_vertex" />
+<Test name="mediump_uvec3_fragment" />
+<Test name="lowp_uvec4_vertex" />
+<Test name="lowp_uvec4_fragment" />
+<Test name="mediump_uvec4_vertex" />
+<Test name="mediump_uvec4_fragment" />
+<Test name="highp_uint_vertex" />
+<Test name="highp_uint_fragment" />
+<Test name="highp_uvec2_vertex" />
+<Test name="highp_uvec2_fragment" />
+<Test name="highp_uvec3_vertex" />
+<Test name="highp_uvec3_fragment" />
+<Test name="highp_uvec4_vertex" />
+<Test name="highp_uvec4_fragment" />
+<Test name="lowp_vec2_float_vertex" />
+<Test name="lowp_vec2_float_fragment" />
+<Test name="mediump_vec2_float_vertex" />
+<Test name="mediump_vec2_float_fragment" />
+<Test name="highp_vec2_float_vertex" />
+<Test name="highp_vec2_float_fragment" />
+<Test name="lowp_vec3_float_vertex" />
+<Test name="lowp_vec3_float_fragment" />
+<Test name="mediump_vec3_float_vertex" />
+<Test name="mediump_vec3_float_fragment" />
+<Test name="highp_vec3_float_vertex" />
+<Test name="highp_vec3_float_fragment" />
+<Test name="lowp_vec4_float_vertex" />
+<Test name="lowp_vec4_float_fragment" />
+<Test name="mediump_vec4_float_vertex" />
+<Test name="mediump_vec4_float_fragment" />
+<Test name="highp_vec4_float_vertex" />
+<Test name="highp_vec4_float_fragment" />
+<Test name="lowp_ivec2_int_vertex" />
+<Test name="lowp_ivec2_int_fragment" />
+<Test name="mediump_ivec2_int_vertex" />
+<Test name="mediump_ivec2_int_fragment" />
+<Test name="lowp_ivec3_int_vertex" />
+<Test name="lowp_ivec3_int_fragment" />
+<Test name="mediump_ivec3_int_vertex" />
+<Test name="mediump_ivec3_int_fragment" />
+<Test name="lowp_ivec4_int_vertex" />
+<Test name="lowp_ivec4_int_fragment" />
+<Test name="mediump_ivec4_int_vertex" />
+<Test name="mediump_ivec4_int_fragment" />
+<Test name="highp_ivec2_int_vertex" />
+<Test name="highp_ivec2_int_fragment" />
+<Test name="highp_ivec3_int_vertex" />
+<Test name="highp_ivec3_int_fragment" />
+<Test name="highp_ivec4_int_vertex" />
+<Test name="highp_ivec4_int_fragment" />
+<Test name="lowp_uvec2_uint_vertex" />
+<Test name="lowp_uvec2_uint_fragment" />
+<Test name="mediump_uvec2_uint_vertex" />
+<Test name="mediump_uvec2_uint_fragment" />
+<Test name="lowp_uvec3_uint_vertex" />
+<Test name="lowp_uvec3_uint_fragment" />
+<Test name="mediump_uvec3_uint_vertex" />
+<Test name="mediump_uvec3_uint_fragment" />
+<Test name="lowp_uvec4_uint_vertex" />
+<Test name="lowp_uvec4_uint_fragment" />
+<Test name="mediump_uvec4_uint_vertex" />
+<Test name="mediump_uvec4_uint_fragment" />
+<Test name="highp_uvec2_uint_vertex" />
+<Test name="highp_uvec2_uint_fragment" />
+<Test name="highp_uvec3_uint_vertex" />
+<Test name="highp_uvec3_uint_fragment" />
+<Test name="highp_uvec4_uint_vertex" />
+<Test name="highp_uvec4_uint_fragment" />
+<Test name="lowp_float_vec2_vertex" />
+<Test name="lowp_float_vec2_fragment" />
+<Test name="mediump_float_vec2_vertex" />
+<Test name="mediump_float_vec2_fragment" />
+<Test name="highp_float_vec2_vertex" />
+<Test name="highp_float_vec2_fragment" />
+<Test name="lowp_float_vec3_vertex" />
+<Test name="lowp_float_vec3_fragment" />
+<Test name="mediump_float_vec3_vertex" />
+<Test name="mediump_float_vec3_fragment" />
+<Test name="highp_float_vec3_vertex" />
+<Test name="highp_float_vec3_fragment" />
+<Test name="lowp_float_vec4_vertex" />
+<Test name="lowp_float_vec4_fragment" />
+<Test name="mediump_float_vec4_vertex" />
+<Test name="mediump_float_vec4_fragment" />
+<Test name="highp_float_vec4_vertex" />
+<Test name="highp_float_vec4_fragment" />
+<Test name="lowp_int_ivec2_vertex" />
+<Test name="lowp_int_ivec2_fragment" />
+<Test name="mediump_int_ivec2_vertex" />
+<Test name="mediump_int_ivec2_fragment" />
+<Test name="lowp_int_ivec3_vertex" />
+<Test name="lowp_int_ivec3_fragment" />
+<Test name="mediump_int_ivec3_vertex" />
+<Test name="mediump_int_ivec3_fragment" />
+<Test name="lowp_int_ivec4_vertex" />
+<Test name="lowp_int_ivec4_fragment" />
+<Test name="mediump_int_ivec4_vertex" />
+<Test name="mediump_int_ivec4_fragment" />
+<Test name="highp_int_ivec2_vertex" />
+<Test name="highp_int_ivec2_fragment" />
+<Test name="highp_int_ivec3_vertex" />
+<Test name="highp_int_ivec3_fragment" />
+<Test name="highp_int_ivec4_vertex" />
+<Test name="highp_int_ivec4_fragment" />
+<Test name="lowp_uint_uvec2_vertex" />
+<Test name="lowp_uint_uvec2_fragment" />
+<Test name="mediump_uint_uvec2_vertex" />
+<Test name="mediump_uint_uvec2_fragment" />
+<Test name="lowp_uint_uvec3_vertex" />
+<Test name="lowp_uint_uvec3_fragment" />
+<Test name="mediump_uint_uvec3_vertex" />
+<Test name="mediump_uint_uvec3_fragment" />
+<Test name="lowp_uint_uvec4_vertex" />
+<Test name="lowp_uint_uvec4_fragment" />
+<Test name="mediump_uint_uvec4_vertex" />
+<Test name="mediump_uint_uvec4_fragment" />
+<Test name="highp_uint_uvec2_vertex" />
+<Test name="highp_uint_uvec2_fragment" />
+<Test name="highp_uint_uvec3_vertex" />
+<Test name="highp_uint_uvec3_fragment" />
+<Test name="highp_uint_uvec4_vertex" />
+<Test name="highp_uint_uvec4_fragment" />
+</TestCase>
+<TestCase name="mul">
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+<Test name="lowp_uint_vertex" />
+<Test name="lowp_uint_fragment" />
+<Test name="mediump_uint_vertex" />
+<Test name="mediump_uint_fragment" />
+<Test name="lowp_uvec2_vertex" />
+<Test name="lowp_uvec2_fragment" />
+<Test name="mediump_uvec2_vertex" />
+<Test name="mediump_uvec2_fragment" />
+<Test name="lowp_uvec3_vertex" />
+<Test name="lowp_uvec3_fragment" />
+<Test name="mediump_uvec3_vertex" />
+<Test name="mediump_uvec3_fragment" />
+<Test name="lowp_uvec4_vertex" />
+<Test name="lowp_uvec4_fragment" />
+<Test name="mediump_uvec4_vertex" />
+<Test name="mediump_uvec4_fragment" />
+<Test name="highp_uint_vertex" />
+<Test name="highp_uint_fragment" />
+<Test name="highp_uvec2_vertex" />
+<Test name="highp_uvec2_fragment" />
+<Test name="highp_uvec3_vertex" />
+<Test name="highp_uvec3_fragment" />
+<Test name="highp_uvec4_vertex" />
+<Test name="highp_uvec4_fragment" />
+<Test name="lowp_vec2_float_vertex" />
+<Test name="lowp_vec2_float_fragment" />
+<Test name="mediump_vec2_float_vertex" />
+<Test name="mediump_vec2_float_fragment" />
+<Test name="highp_vec2_float_vertex" />
+<Test name="highp_vec2_float_fragment" />
+<Test name="lowp_vec3_float_vertex" />
+<Test name="lowp_vec3_float_fragment" />
+<Test name="mediump_vec3_float_vertex" />
+<Test name="mediump_vec3_float_fragment" />
+<Test name="highp_vec3_float_vertex" />
+<Test name="highp_vec3_float_fragment" />
+<Test name="lowp_vec4_float_vertex" />
+<Test name="lowp_vec4_float_fragment" />
+<Test name="mediump_vec4_float_vertex" />
+<Test name="mediump_vec4_float_fragment" />
+<Test name="highp_vec4_float_vertex" />
+<Test name="highp_vec4_float_fragment" />
+<Test name="lowp_ivec2_int_vertex" />
+<Test name="lowp_ivec2_int_fragment" />
+<Test name="mediump_ivec2_int_vertex" />
+<Test name="mediump_ivec2_int_fragment" />
+<Test name="lowp_ivec3_int_vertex" />
+<Test name="lowp_ivec3_int_fragment" />
+<Test name="mediump_ivec3_int_vertex" />
+<Test name="mediump_ivec3_int_fragment" />
+<Test name="lowp_ivec4_int_vertex" />
+<Test name="lowp_ivec4_int_fragment" />
+<Test name="mediump_ivec4_int_vertex" />
+<Test name="mediump_ivec4_int_fragment" />
+<Test name="highp_ivec2_int_vertex" />
+<Test name="highp_ivec2_int_fragment" />
+<Test name="highp_ivec3_int_vertex" />
+<Test name="highp_ivec3_int_fragment" />
+<Test name="highp_ivec4_int_vertex" />
+<Test name="highp_ivec4_int_fragment" />
+<Test name="lowp_uvec2_uint_vertex" />
+<Test name="lowp_uvec2_uint_fragment" />
+<Test name="mediump_uvec2_uint_vertex" />
+<Test name="mediump_uvec2_uint_fragment" />
+<Test name="lowp_uvec3_uint_vertex" />
+<Test name="lowp_uvec3_uint_fragment" />
+<Test name="mediump_uvec3_uint_vertex" />
+<Test name="mediump_uvec3_uint_fragment" />
+<Test name="lowp_uvec4_uint_vertex" />
+<Test name="lowp_uvec4_uint_fragment" />
+<Test name="mediump_uvec4_uint_vertex" />
+<Test name="mediump_uvec4_uint_fragment" />
+<Test name="highp_uvec2_uint_vertex" />
+<Test name="highp_uvec2_uint_fragment" />
+<Test name="highp_uvec3_uint_vertex" />
+<Test name="highp_uvec3_uint_fragment" />
+<Test name="highp_uvec4_uint_vertex" />
+<Test name="highp_uvec4_uint_fragment" />
+<Test name="lowp_float_vec2_vertex" />
+<Test name="lowp_float_vec2_fragment" />
+<Test name="mediump_float_vec2_vertex" />
+<Test name="mediump_float_vec2_fragment" />
+<Test name="highp_float_vec2_vertex" />
+<Test name="highp_float_vec2_fragment" />
+<Test name="lowp_float_vec3_vertex" />
+<Test name="lowp_float_vec3_fragment" />
+<Test name="mediump_float_vec3_vertex" />
+<Test name="mediump_float_vec3_fragment" />
+<Test name="highp_float_vec3_vertex" />
+<Test name="highp_float_vec3_fragment" />
+<Test name="lowp_float_vec4_vertex" />
+<Test name="lowp_float_vec4_fragment" />
+<Test name="mediump_float_vec4_vertex" />
+<Test name="mediump_float_vec4_fragment" />
+<Test name="highp_float_vec4_vertex" />
+<Test name="highp_float_vec4_fragment" />
+<Test name="lowp_int_ivec2_vertex" />
+<Test name="lowp_int_ivec2_fragment" />
+<Test name="mediump_int_ivec2_vertex" />
+<Test name="mediump_int_ivec2_fragment" />
+<Test name="lowp_int_ivec3_vertex" />
+<Test name="lowp_int_ivec3_fragment" />
+<Test name="mediump_int_ivec3_vertex" />
+<Test name="mediump_int_ivec3_fragment" />
+<Test name="lowp_int_ivec4_vertex" />
+<Test name="lowp_int_ivec4_fragment" />
+<Test name="mediump_int_ivec4_vertex" />
+<Test name="mediump_int_ivec4_fragment" />
+<Test name="highp_int_ivec2_vertex" />
+<Test name="highp_int_ivec2_fragment" />
+<Test name="highp_int_ivec3_vertex" />
+<Test name="highp_int_ivec3_fragment" />
+<Test name="highp_int_ivec4_vertex" />
+<Test name="highp_int_ivec4_fragment" />
+<Test name="lowp_uint_uvec2_vertex" />
+<Test name="lowp_uint_uvec2_fragment" />
+<Test name="mediump_uint_uvec2_vertex" />
+<Test name="mediump_uint_uvec2_fragment" />
+<Test name="lowp_uint_uvec3_vertex" />
+<Test name="lowp_uint_uvec3_fragment" />
+<Test name="mediump_uint_uvec3_vertex" />
+<Test name="mediump_uint_uvec3_fragment" />
+<Test name="lowp_uint_uvec4_vertex" />
+<Test name="lowp_uint_uvec4_fragment" />
+<Test name="mediump_uint_uvec4_vertex" />
+<Test name="mediump_uint_uvec4_fragment" />
+<Test name="highp_uint_uvec2_vertex" />
+<Test name="highp_uint_uvec2_fragment" />
+<Test name="highp_uint_uvec3_vertex" />
+<Test name="highp_uint_uvec3_fragment" />
+<Test name="highp_uint_uvec4_vertex" />
+<Test name="highp_uint_uvec4_fragment" />
+</TestCase>
+<TestCase name="div">
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+<Test name="lowp_uint_vertex" />
+<Test name="lowp_uint_fragment" />
+<Test name="mediump_uint_vertex" />
+<Test name="mediump_uint_fragment" />
+<Test name="lowp_uvec2_vertex" />
+<Test name="lowp_uvec2_fragment" />
+<Test name="mediump_uvec2_vertex" />
+<Test name="mediump_uvec2_fragment" />
+<Test name="lowp_uvec3_vertex" />
+<Test name="lowp_uvec3_fragment" />
+<Test name="mediump_uvec3_vertex" />
+<Test name="mediump_uvec3_fragment" />
+<Test name="lowp_uvec4_vertex" />
+<Test name="lowp_uvec4_fragment" />
+<Test name="mediump_uvec4_vertex" />
+<Test name="mediump_uvec4_fragment" />
+<Test name="highp_uint_vertex" />
+<Test name="highp_uint_fragment" />
+<Test name="highp_uvec2_vertex" />
+<Test name="highp_uvec2_fragment" />
+<Test name="highp_uvec3_vertex" />
+<Test name="highp_uvec3_fragment" />
+<Test name="highp_uvec4_vertex" />
+<Test name="highp_uvec4_fragment" />
+<Test name="lowp_vec2_float_vertex" />
+<Test name="lowp_vec2_float_fragment" />
+<Test name="mediump_vec2_float_vertex" />
+<Test name="mediump_vec2_float_fragment" />
+<Test name="highp_vec2_float_vertex" />
+<Test name="highp_vec2_float_fragment" />
+<Test name="lowp_vec3_float_vertex" />
+<Test name="lowp_vec3_float_fragment" />
+<Test name="mediump_vec3_float_vertex" />
+<Test name="mediump_vec3_float_fragment" />
+<Test name="highp_vec3_float_vertex" />
+<Test name="highp_vec3_float_fragment" />
+<Test name="lowp_vec4_float_vertex" />
+<Test name="lowp_vec4_float_fragment" />
+<Test name="mediump_vec4_float_vertex" />
+<Test name="mediump_vec4_float_fragment" />
+<Test name="highp_vec4_float_vertex" />
+<Test name="highp_vec4_float_fragment" />
+<Test name="lowp_ivec2_int_vertex" />
+<Test name="lowp_ivec2_int_fragment" />
+<Test name="mediump_ivec2_int_vertex" />
+<Test name="mediump_ivec2_int_fragment" />
+<Test name="lowp_ivec3_int_vertex" />
+<Test name="lowp_ivec3_int_fragment" />
+<Test name="mediump_ivec3_int_vertex" />
+<Test name="mediump_ivec3_int_fragment" />
+<Test name="lowp_ivec4_int_vertex" />
+<Test name="lowp_ivec4_int_fragment" />
+<Test name="mediump_ivec4_int_vertex" />
+<Test name="mediump_ivec4_int_fragment" />
+<Test name="highp_ivec2_int_vertex" />
+<Test name="highp_ivec2_int_fragment" />
+<Test name="highp_ivec3_int_vertex" />
+<Test name="highp_ivec3_int_fragment" />
+<Test name="highp_ivec4_int_vertex" />
+<Test name="highp_ivec4_int_fragment" />
+<Test name="lowp_uvec2_uint_vertex" />
+<Test name="lowp_uvec2_uint_fragment" />
+<Test name="mediump_uvec2_uint_vertex" />
+<Test name="mediump_uvec2_uint_fragment" />
+<Test name="lowp_uvec3_uint_vertex" />
+<Test name="lowp_uvec3_uint_fragment" />
+<Test name="mediump_uvec3_uint_vertex" />
+<Test name="mediump_uvec3_uint_fragment" />
+<Test name="lowp_uvec4_uint_vertex" />
+<Test name="lowp_uvec4_uint_fragment" />
+<Test name="mediump_uvec4_uint_vertex" />
+<Test name="mediump_uvec4_uint_fragment" />
+<Test name="highp_uvec2_uint_vertex" />
+<Test name="highp_uvec2_uint_fragment" />
+<Test name="highp_uvec3_uint_vertex" />
+<Test name="highp_uvec3_uint_fragment" />
+<Test name="highp_uvec4_uint_vertex" />
+<Test name="highp_uvec4_uint_fragment" />
+<Test name="lowp_float_vec2_vertex" />
+<Test name="lowp_float_vec2_fragment" />
+<Test name="mediump_float_vec2_vertex" />
+<Test name="mediump_float_vec2_fragment" />
+<Test name="highp_float_vec2_vertex" />
+<Test name="highp_float_vec2_fragment" />
+<Test name="lowp_float_vec3_vertex" />
+<Test name="lowp_float_vec3_fragment" />
+<Test name="mediump_float_vec3_vertex" />
+<Test name="mediump_float_vec3_fragment" />
+<Test name="highp_float_vec3_vertex" />
+<Test name="highp_float_vec3_fragment" />
+<Test name="lowp_float_vec4_vertex" />
+<Test name="lowp_float_vec4_fragment" />
+<Test name="mediump_float_vec4_vertex" />
+<Test name="mediump_float_vec4_fragment" />
+<Test name="highp_float_vec4_vertex" />
+<Test name="highp_float_vec4_fragment" />
+<Test name="lowp_int_ivec2_vertex" />
+<Test name="lowp_int_ivec2_fragment" />
+<Test name="mediump_int_ivec2_vertex" />
+<Test name="mediump_int_ivec2_fragment" />
+<Test name="lowp_int_ivec3_vertex" />
+<Test name="lowp_int_ivec3_fragment" />
+<Test name="mediump_int_ivec3_vertex" />
+<Test name="mediump_int_ivec3_fragment" />
+<Test name="lowp_int_ivec4_vertex" />
+<Test name="lowp_int_ivec4_fragment" />
+<Test name="mediump_int_ivec4_vertex" />
+<Test name="mediump_int_ivec4_fragment" />
+<Test name="highp_int_ivec2_vertex" />
+<Test name="highp_int_ivec2_fragment" />
+<Test name="highp_int_ivec3_vertex" />
+<Test name="highp_int_ivec3_fragment" />
+<Test name="highp_int_ivec4_vertex" />
+<Test name="highp_int_ivec4_fragment" />
+<Test name="lowp_uint_uvec2_vertex" />
+<Test name="lowp_uint_uvec2_fragment" />
+<Test name="mediump_uint_uvec2_vertex" />
+<Test name="mediump_uint_uvec2_fragment" />
+<Test name="lowp_uint_uvec3_vertex" />
+<Test name="lowp_uint_uvec3_fragment" />
+<Test name="mediump_uint_uvec3_vertex" />
+<Test name="mediump_uint_uvec3_fragment" />
+<Test name="lowp_uint_uvec4_vertex" />
+<Test name="lowp_uint_uvec4_fragment" />
+<Test name="mediump_uint_uvec4_vertex" />
+<Test name="mediump_uint_uvec4_fragment" />
+<Test name="highp_uint_uvec2_vertex" />
+<Test name="highp_uint_uvec2_fragment" />
+<Test name="highp_uint_uvec3_vertex" />
+<Test name="highp_uint_uvec3_fragment" />
+<Test name="highp_uint_uvec4_vertex" />
+<Test name="highp_uint_uvec4_fragment" />
+</TestCase>
+<TestCase name="mod">
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+<Test name="lowp_uint_vertex" />
+<Test name="lowp_uint_fragment" />
+<Test name="mediump_uint_vertex" />
+<Test name="mediump_uint_fragment" />
+<Test name="lowp_uvec2_vertex" />
+<Test name="lowp_uvec2_fragment" />
+<Test name="mediump_uvec2_vertex" />
+<Test name="mediump_uvec2_fragment" />
+<Test name="lowp_uvec3_vertex" />
+<Test name="lowp_uvec3_fragment" />
+<Test name="mediump_uvec3_vertex" />
+<Test name="mediump_uvec3_fragment" />
+<Test name="lowp_uvec4_vertex" />
+<Test name="lowp_uvec4_fragment" />
+<Test name="mediump_uvec4_vertex" />
+<Test name="mediump_uvec4_fragment" />
+<Test name="highp_uint_vertex" />
+<Test name="highp_uint_fragment" />
+<Test name="highp_uvec2_vertex" />
+<Test name="highp_uvec2_fragment" />
+<Test name="highp_uvec3_vertex" />
+<Test name="highp_uvec3_fragment" />
+<Test name="highp_uvec4_vertex" />
+<Test name="highp_uvec4_fragment" />
+<Test name="lowp_ivec2_int_vertex" />
+<Test name="lowp_ivec2_int_fragment" />
+<Test name="mediump_ivec2_int_vertex" />
+<Test name="mediump_ivec2_int_fragment" />
+<Test name="lowp_ivec3_int_vertex" />
+<Test name="lowp_ivec3_int_fragment" />
+<Test name="mediump_ivec3_int_vertex" />
+<Test name="mediump_ivec3_int_fragment" />
+<Test name="lowp_ivec4_int_vertex" />
+<Test name="lowp_ivec4_int_fragment" />
+<Test name="mediump_ivec4_int_vertex" />
+<Test name="mediump_ivec4_int_fragment" />
+<Test name="highp_ivec2_int_vertex" />
+<Test name="highp_ivec2_int_fragment" />
+<Test name="highp_ivec3_int_vertex" />
+<Test name="highp_ivec3_int_fragment" />
+<Test name="highp_ivec4_int_vertex" />
+<Test name="highp_ivec4_int_fragment" />
+<Test name="lowp_uvec2_uint_vertex" />
+<Test name="lowp_uvec2_uint_fragment" />
+<Test name="mediump_uvec2_uint_vertex" />
+<Test name="mediump_uvec2_uint_fragment" />
+<Test name="lowp_uvec3_uint_vertex" />
+<Test name="lowp_uvec3_uint_fragment" />
+<Test name="mediump_uvec3_uint_vertex" />
+<Test name="mediump_uvec3_uint_fragment" />
+<Test name="lowp_uvec4_uint_vertex" />
+<Test name="lowp_uvec4_uint_fragment" />
+<Test name="mediump_uvec4_uint_vertex" />
+<Test name="mediump_uvec4_uint_fragment" />
+<Test name="highp_uvec2_uint_vertex" />
+<Test name="highp_uvec2_uint_fragment" />
+<Test name="highp_uvec3_uint_vertex" />
+<Test name="highp_uvec3_uint_fragment" />
+<Test name="highp_uvec4_uint_vertex" />
+<Test name="highp_uvec4_uint_fragment" />
+<Test name="lowp_int_ivec2_vertex" />
+<Test name="lowp_int_ivec2_fragment" />
+<Test name="mediump_int_ivec2_vertex" />
+<Test name="mediump_int_ivec2_fragment" />
+<Test name="lowp_int_ivec3_vertex" />
+<Test name="lowp_int_ivec3_fragment" />
+<Test name="mediump_int_ivec3_vertex" />
+<Test name="mediump_int_ivec3_fragment" />
+<Test name="lowp_int_ivec4_vertex" />
+<Test name="lowp_int_ivec4_fragment" />
+<Test name="mediump_int_ivec4_vertex" />
+<Test name="mediump_int_ivec4_fragment" />
+<Test name="highp_int_ivec2_vertex" />
+<Test name="highp_int_ivec2_fragment" />
+<Test name="highp_int_ivec3_vertex" />
+<Test name="highp_int_ivec3_fragment" />
+<Test name="highp_int_ivec4_vertex" />
+<Test name="highp_int_ivec4_fragment" />
+<Test name="lowp_uint_uvec2_vertex" />
+<Test name="lowp_uint_uvec2_fragment" />
+<Test name="mediump_uint_uvec2_vertex" />
+<Test name="mediump_uint_uvec2_fragment" />
+<Test name="lowp_uint_uvec3_vertex" />
+<Test name="lowp_uint_uvec3_fragment" />
+<Test name="mediump_uint_uvec3_vertex" />
+<Test name="mediump_uint_uvec3_fragment" />
+<Test name="lowp_uint_uvec4_vertex" />
+<Test name="lowp_uint_uvec4_fragment" />
+<Test name="mediump_uint_uvec4_vertex" />
+<Test name="mediump_uint_uvec4_fragment" />
+<Test name="highp_uint_uvec2_vertex" />
+<Test name="highp_uint_uvec2_fragment" />
+<Test name="highp_uint_uvec3_vertex" />
+<Test name="highp_uint_uvec3_fragment" />
+<Test name="highp_uint_uvec4_vertex" />
+<Test name="highp_uint_uvec4_fragment" />
+</TestCase>
+<TestCase name="bitwise_and">
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+<Test name="lowp_uint_vertex" />
+<Test name="lowp_uint_fragment" />
+<Test name="mediump_uint_vertex" />
+<Test name="mediump_uint_fragment" />
+<Test name="lowp_uvec2_vertex" />
+<Test name="lowp_uvec2_fragment" />
+<Test name="mediump_uvec2_vertex" />
+<Test name="mediump_uvec2_fragment" />
+<Test name="lowp_uvec3_vertex" />
+<Test name="lowp_uvec3_fragment" />
+<Test name="mediump_uvec3_vertex" />
+<Test name="mediump_uvec3_fragment" />
+<Test name="lowp_uvec4_vertex" />
+<Test name="lowp_uvec4_fragment" />
+<Test name="mediump_uvec4_vertex" />
+<Test name="mediump_uvec4_fragment" />
+<Test name="highp_uint_vertex" />
+<Test name="highp_uint_fragment" />
+<Test name="highp_uvec2_vertex" />
+<Test name="highp_uvec2_fragment" />
+<Test name="highp_uvec3_vertex" />
+<Test name="highp_uvec3_fragment" />
+<Test name="highp_uvec4_vertex" />
+<Test name="highp_uvec4_fragment" />
+<Test name="lowp_ivec2_int_vertex" />
+<Test name="lowp_ivec2_int_fragment" />
+<Test name="mediump_ivec2_int_vertex" />
+<Test name="mediump_ivec2_int_fragment" />
+<Test name="lowp_ivec3_int_vertex" />
+<Test name="lowp_ivec3_int_fragment" />
+<Test name="mediump_ivec3_int_vertex" />
+<Test name="mediump_ivec3_int_fragment" />
+<Test name="lowp_ivec4_int_vertex" />
+<Test name="lowp_ivec4_int_fragment" />
+<Test name="mediump_ivec4_int_vertex" />
+<Test name="mediump_ivec4_int_fragment" />
+<Test name="highp_ivec2_int_vertex" />
+<Test name="highp_ivec2_int_fragment" />
+<Test name="highp_ivec3_int_vertex" />
+<Test name="highp_ivec3_int_fragment" />
+<Test name="highp_ivec4_int_vertex" />
+<Test name="highp_ivec4_int_fragment" />
+<Test name="lowp_uvec2_uint_vertex" />
+<Test name="lowp_uvec2_uint_fragment" />
+<Test name="mediump_uvec2_uint_vertex" />
+<Test name="mediump_uvec2_uint_fragment" />
+<Test name="lowp_uvec3_uint_vertex" />
+<Test name="lowp_uvec3_uint_fragment" />
+<Test name="mediump_uvec3_uint_vertex" />
+<Test name="mediump_uvec3_uint_fragment" />
+<Test name="lowp_uvec4_uint_vertex" />
+<Test name="lowp_uvec4_uint_fragment" />
+<Test name="mediump_uvec4_uint_vertex" />
+<Test name="mediump_uvec4_uint_fragment" />
+<Test name="highp_uvec2_uint_vertex" />
+<Test name="highp_uvec2_uint_fragment" />
+<Test name="highp_uvec3_uint_vertex" />
+<Test name="highp_uvec3_uint_fragment" />
+<Test name="highp_uvec4_uint_vertex" />
+<Test name="highp_uvec4_uint_fragment" />
+</TestCase>
+<TestCase name="bitwise_or">
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+<Test name="lowp_uint_vertex" />
+<Test name="lowp_uint_fragment" />
+<Test name="mediump_uint_vertex" />
+<Test name="mediump_uint_fragment" />
+<Test name="lowp_uvec2_vertex" />
+<Test name="lowp_uvec2_fragment" />
+<Test name="mediump_uvec2_vertex" />
+<Test name="mediump_uvec2_fragment" />
+<Test name="lowp_uvec3_vertex" />
+<Test name="lowp_uvec3_fragment" />
+<Test name="mediump_uvec3_vertex" />
+<Test name="mediump_uvec3_fragment" />
+<Test name="lowp_uvec4_vertex" />
+<Test name="lowp_uvec4_fragment" />
+<Test name="mediump_uvec4_vertex" />
+<Test name="mediump_uvec4_fragment" />
+<Test name="highp_uint_vertex" />
+<Test name="highp_uint_fragment" />
+<Test name="highp_uvec2_vertex" />
+<Test name="highp_uvec2_fragment" />
+<Test name="highp_uvec3_vertex" />
+<Test name="highp_uvec3_fragment" />
+<Test name="highp_uvec4_vertex" />
+<Test name="highp_uvec4_fragment" />
+<Test name="lowp_ivec2_int_vertex" />
+<Test name="lowp_ivec2_int_fragment" />
+<Test name="mediump_ivec2_int_vertex" />
+<Test name="mediump_ivec2_int_fragment" />
+<Test name="lowp_ivec3_int_vertex" />
+<Test name="lowp_ivec3_int_fragment" />
+<Test name="mediump_ivec3_int_vertex" />
+<Test name="mediump_ivec3_int_fragment" />
+<Test name="lowp_ivec4_int_vertex" />
+<Test name="lowp_ivec4_int_fragment" />
+<Test name="mediump_ivec4_int_vertex" />
+<Test name="mediump_ivec4_int_fragment" />
+<Test name="highp_ivec2_int_vertex" />
+<Test name="highp_ivec2_int_fragment" />
+<Test name="highp_ivec3_int_vertex" />
+<Test name="highp_ivec3_int_fragment" />
+<Test name="highp_ivec4_int_vertex" />
+<Test name="highp_ivec4_int_fragment" />
+<Test name="lowp_uvec2_uint_vertex" />
+<Test name="lowp_uvec2_uint_fragment" />
+<Test name="mediump_uvec2_uint_vertex" />
+<Test name="mediump_uvec2_uint_fragment" />
+<Test name="lowp_uvec3_uint_vertex" />
+<Test name="lowp_uvec3_uint_fragment" />
+<Test name="mediump_uvec3_uint_vertex" />
+<Test name="mediump_uvec3_uint_fragment" />
+<Test name="lowp_uvec4_uint_vertex" />
+<Test name="lowp_uvec4_uint_fragment" />
+<Test name="mediump_uvec4_uint_vertex" />
+<Test name="mediump_uvec4_uint_fragment" />
+<Test name="highp_uvec2_uint_vertex" />
+<Test name="highp_uvec2_uint_fragment" />
+<Test name="highp_uvec3_uint_vertex" />
+<Test name="highp_uvec3_uint_fragment" />
+<Test name="highp_uvec4_uint_vertex" />
+<Test name="highp_uvec4_uint_fragment" />
+</TestCase>
+<TestCase name="bitwise_xor">
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+<Test name="lowp_uint_vertex" />
+<Test name="lowp_uint_fragment" />
+<Test name="mediump_uint_vertex" />
+<Test name="mediump_uint_fragment" />
+<Test name="lowp_uvec2_vertex" />
+<Test name="lowp_uvec2_fragment" />
+<Test name="mediump_uvec2_vertex" />
+<Test name="mediump_uvec2_fragment" />
+<Test name="lowp_uvec3_vertex" />
+<Test name="lowp_uvec3_fragment" />
+<Test name="mediump_uvec3_vertex" />
+<Test name="mediump_uvec3_fragment" />
+<Test name="lowp_uvec4_vertex" />
+<Test name="lowp_uvec4_fragment" />
+<Test name="mediump_uvec4_vertex" />
+<Test name="mediump_uvec4_fragment" />
+<Test name="highp_uint_vertex" />
+<Test name="highp_uint_fragment" />
+<Test name="highp_uvec2_vertex" />
+<Test name="highp_uvec2_fragment" />
+<Test name="highp_uvec3_vertex" />
+<Test name="highp_uvec3_fragment" />
+<Test name="highp_uvec4_vertex" />
+<Test name="highp_uvec4_fragment" />
+<Test name="lowp_ivec2_int_vertex" />
+<Test name="lowp_ivec2_int_fragment" />
+<Test name="mediump_ivec2_int_vertex" />
+<Test name="mediump_ivec2_int_fragment" />
+<Test name="lowp_ivec3_int_vertex" />
+<Test name="lowp_ivec3_int_fragment" />
+<Test name="mediump_ivec3_int_vertex" />
+<Test name="mediump_ivec3_int_fragment" />
+<Test name="lowp_ivec4_int_vertex" />
+<Test name="lowp_ivec4_int_fragment" />
+<Test name="mediump_ivec4_int_vertex" />
+<Test name="mediump_ivec4_int_fragment" />
+<Test name="highp_ivec2_int_vertex" />
+<Test name="highp_ivec2_int_fragment" />
+<Test name="highp_ivec3_int_vertex" />
+<Test name="highp_ivec3_int_fragment" />
+<Test name="highp_ivec4_int_vertex" />
+<Test name="highp_ivec4_int_fragment" />
+<Test name="lowp_uvec2_uint_vertex" />
+<Test name="lowp_uvec2_uint_fragment" />
+<Test name="mediump_uvec2_uint_vertex" />
+<Test name="mediump_uvec2_uint_fragment" />
+<Test name="lowp_uvec3_uint_vertex" />
+<Test name="lowp_uvec3_uint_fragment" />
+<Test name="mediump_uvec3_uint_vertex" />
+<Test name="mediump_uvec3_uint_fragment" />
+<Test name="lowp_uvec4_uint_vertex" />
+<Test name="lowp_uvec4_uint_fragment" />
+<Test name="mediump_uvec4_uint_vertex" />
+<Test name="mediump_uvec4_uint_fragment" />
+<Test name="highp_uvec2_uint_vertex" />
+<Test name="highp_uvec2_uint_fragment" />
+<Test name="highp_uvec3_uint_vertex" />
+<Test name="highp_uvec3_uint_fragment" />
+<Test name="highp_uvec4_uint_vertex" />
+<Test name="highp_uvec4_uint_fragment" />
+</TestCase>
+<TestCase name="left_shift">
+<Test name="lowp_int_uint_vertex" />
+<Test name="lowp_int_uint_fragment" />
+<Test name="mediump_int_uint_vertex" />
+<Test name="mediump_int_uint_fragment" />
+<Test name="lowp_ivec2_uvec2_vertex" />
+<Test name="lowp_ivec2_uvec2_fragment" />
+<Test name="mediump_ivec2_uvec2_vertex" />
+<Test name="mediump_ivec2_uvec2_fragment" />
+<Test name="lowp_ivec3_uvec3_vertex" />
+<Test name="lowp_ivec3_uvec3_fragment" />
+<Test name="mediump_ivec3_uvec3_vertex" />
+<Test name="mediump_ivec3_uvec3_fragment" />
+<Test name="lowp_ivec4_uvec4_vertex" />
+<Test name="lowp_ivec4_uvec4_fragment" />
+<Test name="mediump_ivec4_uvec4_vertex" />
+<Test name="mediump_ivec4_uvec4_fragment" />
+<Test name="highp_int_uint_vertex" />
+<Test name="highp_int_uint_fragment" />
+<Test name="highp_ivec2_uvec2_vertex" />
+<Test name="highp_ivec2_uvec2_fragment" />
+<Test name="highp_ivec3_uvec3_vertex" />
+<Test name="highp_ivec3_uvec3_fragment" />
+<Test name="highp_ivec4_uvec4_vertex" />
+<Test name="highp_ivec4_uvec4_fragment" />
+<Test name="lowp_uint_vertex" />
+<Test name="lowp_uint_fragment" />
+<Test name="mediump_uint_vertex" />
+<Test name="mediump_uint_fragment" />
+<Test name="lowp_uvec2_vertex" />
+<Test name="lowp_uvec2_fragment" />
+<Test name="mediump_uvec2_vertex" />
+<Test name="mediump_uvec2_fragment" />
+<Test name="lowp_uvec3_vertex" />
+<Test name="lowp_uvec3_fragment" />
+<Test name="mediump_uvec3_vertex" />
+<Test name="mediump_uvec3_fragment" />
+<Test name="lowp_uvec4_vertex" />
+<Test name="lowp_uvec4_fragment" />
+<Test name="mediump_uvec4_vertex" />
+<Test name="mediump_uvec4_fragment" />
+<Test name="highp_uint_vertex" />
+<Test name="highp_uint_fragment" />
+<Test name="highp_uvec2_vertex" />
+<Test name="highp_uvec2_fragment" />
+<Test name="highp_uvec3_vertex" />
+<Test name="highp_uvec3_fragment" />
+<Test name="highp_uvec4_vertex" />
+<Test name="highp_uvec4_fragment" />
+<Test name="lowp_ivec2_uint_vertex" />
+<Test name="lowp_ivec2_uint_fragment" />
+<Test name="mediump_ivec2_uint_vertex" />
+<Test name="mediump_ivec2_uint_fragment" />
+<Test name="lowp_ivec3_uint_vertex" />
+<Test name="lowp_ivec3_uint_fragment" />
+<Test name="mediump_ivec3_uint_vertex" />
+<Test name="mediump_ivec3_uint_fragment" />
+<Test name="lowp_ivec4_uint_vertex" />
+<Test name="lowp_ivec4_uint_fragment" />
+<Test name="mediump_ivec4_uint_vertex" />
+<Test name="mediump_ivec4_uint_fragment" />
+<Test name="highp_ivec2_uint_vertex" />
+<Test name="highp_ivec2_uint_fragment" />
+<Test name="highp_ivec3_uint_vertex" />
+<Test name="highp_ivec3_uint_fragment" />
+<Test name="highp_ivec4_uint_vertex" />
+<Test name="highp_ivec4_uint_fragment" />
+<Test name="lowp_uvec2_uint_vertex" />
+<Test name="lowp_uvec2_uint_fragment" />
+<Test name="mediump_uvec2_uint_vertex" />
+<Test name="mediump_uvec2_uint_fragment" />
+<Test name="lowp_uvec3_uint_vertex" />
+<Test name="lowp_uvec3_uint_fragment" />
+<Test name="mediump_uvec3_uint_vertex" />
+<Test name="mediump_uvec3_uint_fragment" />
+<Test name="lowp_uvec4_uint_vertex" />
+<Test name="lowp_uvec4_uint_fragment" />
+<Test name="mediump_uvec4_uint_vertex" />
+<Test name="mediump_uvec4_uint_fragment" />
+<Test name="highp_uvec2_uint_vertex" />
+<Test name="highp_uvec2_uint_fragment" />
+<Test name="highp_uvec3_uint_vertex" />
+<Test name="highp_uvec3_uint_fragment" />
+<Test name="highp_uvec4_uint_vertex" />
+<Test name="highp_uvec4_uint_fragment" />
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+<Test name="lowp_uint_int_vertex" />
+<Test name="lowp_uint_int_fragment" />
+<Test name="mediump_uint_int_vertex" />
+<Test name="mediump_uint_int_fragment" />
+<Test name="lowp_uvec2_ivec2_vertex" />
+<Test name="lowp_uvec2_ivec2_fragment" />
+<Test name="mediump_uvec2_ivec2_vertex" />
+<Test name="mediump_uvec2_ivec2_fragment" />
+<Test name="lowp_uvec3_ivec3_vertex" />
+<Test name="lowp_uvec3_ivec3_fragment" />
+<Test name="mediump_uvec3_ivec3_vertex" />
+<Test name="mediump_uvec3_ivec3_fragment" />
+<Test name="lowp_uvec4_ivec4_vertex" />
+<Test name="lowp_uvec4_ivec4_fragment" />
+<Test name="mediump_uvec4_ivec4_vertex" />
+<Test name="mediump_uvec4_ivec4_fragment" />
+<Test name="highp_uint_int_vertex" />
+<Test name="highp_uint_int_fragment" />
+<Test name="highp_uvec2_ivec2_vertex" />
+<Test name="highp_uvec2_ivec2_fragment" />
+<Test name="highp_uvec3_ivec3_vertex" />
+<Test name="highp_uvec3_ivec3_fragment" />
+<Test name="highp_uvec4_ivec4_vertex" />
+<Test name="highp_uvec4_ivec4_fragment" />
+<Test name="lowp_ivec2_int_vertex" />
+<Test name="lowp_ivec2_int_fragment" />
+<Test name="mediump_ivec2_int_vertex" />
+<Test name="mediump_ivec2_int_fragment" />
+<Test name="lowp_ivec3_int_vertex" />
+<Test name="lowp_ivec3_int_fragment" />
+<Test name="mediump_ivec3_int_vertex" />
+<Test name="mediump_ivec3_int_fragment" />
+<Test name="lowp_ivec4_int_vertex" />
+<Test name="lowp_ivec4_int_fragment" />
+<Test name="mediump_ivec4_int_vertex" />
+<Test name="mediump_ivec4_int_fragment" />
+<Test name="highp_ivec2_int_vertex" />
+<Test name="highp_ivec2_int_fragment" />
+<Test name="highp_ivec3_int_vertex" />
+<Test name="highp_ivec3_int_fragment" />
+<Test name="highp_ivec4_int_vertex" />
+<Test name="highp_ivec4_int_fragment" />
+<Test name="lowp_uvec2_int_vertex" />
+<Test name="lowp_uvec2_int_fragment" />
+<Test name="mediump_uvec2_int_vertex" />
+<Test name="mediump_uvec2_int_fragment" />
+<Test name="lowp_uvec3_int_vertex" />
+<Test name="lowp_uvec3_int_fragment" />
+<Test name="mediump_uvec3_int_vertex" />
+<Test name="mediump_uvec3_int_fragment" />
+<Test name="lowp_uvec4_int_vertex" />
+<Test name="lowp_uvec4_int_fragment" />
+<Test name="mediump_uvec4_int_vertex" />
+<Test name="mediump_uvec4_int_fragment" />
+<Test name="highp_uvec2_int_vertex" />
+<Test name="highp_uvec2_int_fragment" />
+<Test name="highp_uvec3_int_vertex" />
+<Test name="highp_uvec3_int_fragment" />
+<Test name="highp_uvec4_int_vertex" />
+<Test name="highp_uvec4_int_fragment" />
+</TestCase>
+<TestCase name="right_shift">
+<Test name="lowp_int_uint_vertex" />
+<Test name="lowp_int_uint_fragment" />
+<Test name="mediump_int_uint_vertex" />
+<Test name="mediump_int_uint_fragment" />
+<Test name="lowp_ivec2_uvec2_vertex" />
+<Test name="lowp_ivec2_uvec2_fragment" />
+<Test name="mediump_ivec2_uvec2_vertex" />
+<Test name="mediump_ivec2_uvec2_fragment" />
+<Test name="lowp_ivec3_uvec3_vertex" />
+<Test name="lowp_ivec3_uvec3_fragment" />
+<Test name="mediump_ivec3_uvec3_vertex" />
+<Test name="mediump_ivec3_uvec3_fragment" />
+<Test name="lowp_ivec4_uvec4_vertex" />
+<Test name="lowp_ivec4_uvec4_fragment" />
+<Test name="mediump_ivec4_uvec4_vertex" />
+<Test name="mediump_ivec4_uvec4_fragment" />
+<Test name="highp_int_uint_vertex" />
+<Test name="highp_int_uint_fragment" />
+<Test name="highp_ivec2_uvec2_vertex" />
+<Test name="highp_ivec2_uvec2_fragment" />
+<Test name="highp_ivec3_uvec3_vertex" />
+<Test name="highp_ivec3_uvec3_fragment" />
+<Test name="highp_ivec4_uvec4_vertex" />
+<Test name="highp_ivec4_uvec4_fragment" />
+<Test name="lowp_uint_vertex" />
+<Test name="lowp_uint_fragment" />
+<Test name="mediump_uint_vertex" />
+<Test name="mediump_uint_fragment" />
+<Test name="lowp_uvec2_vertex" />
+<Test name="lowp_uvec2_fragment" />
+<Test name="mediump_uvec2_vertex" />
+<Test name="mediump_uvec2_fragment" />
+<Test name="lowp_uvec3_vertex" />
+<Test name="lowp_uvec3_fragment" />
+<Test name="mediump_uvec3_vertex" />
+<Test name="mediump_uvec3_fragment" />
+<Test name="lowp_uvec4_vertex" />
+<Test name="lowp_uvec4_fragment" />
+<Test name="mediump_uvec4_vertex" />
+<Test name="mediump_uvec4_fragment" />
+<Test name="highp_uint_vertex" />
+<Test name="highp_uint_fragment" />
+<Test name="highp_uvec2_vertex" />
+<Test name="highp_uvec2_fragment" />
+<Test name="highp_uvec3_vertex" />
+<Test name="highp_uvec3_fragment" />
+<Test name="highp_uvec4_vertex" />
+<Test name="highp_uvec4_fragment" />
+<Test name="lowp_ivec2_uint_vertex" />
+<Test name="lowp_ivec2_uint_fragment" />
+<Test name="mediump_ivec2_uint_vertex" />
+<Test name="mediump_ivec2_uint_fragment" />
+<Test name="lowp_ivec3_uint_vertex" />
+<Test name="lowp_ivec3_uint_fragment" />
+<Test name="mediump_ivec3_uint_vertex" />
+<Test name="mediump_ivec3_uint_fragment" />
+<Test name="lowp_ivec4_uint_vertex" />
+<Test name="lowp_ivec4_uint_fragment" />
+<Test name="mediump_ivec4_uint_vertex" />
+<Test name="mediump_ivec4_uint_fragment" />
+<Test name="highp_ivec2_uint_vertex" />
+<Test name="highp_ivec2_uint_fragment" />
+<Test name="highp_ivec3_uint_vertex" />
+<Test name="highp_ivec3_uint_fragment" />
+<Test name="highp_ivec4_uint_vertex" />
+<Test name="highp_ivec4_uint_fragment" />
+<Test name="lowp_uvec2_uint_vertex" />
+<Test name="lowp_uvec2_uint_fragment" />
+<Test name="mediump_uvec2_uint_vertex" />
+<Test name="mediump_uvec2_uint_fragment" />
+<Test name="lowp_uvec3_uint_vertex" />
+<Test name="lowp_uvec3_uint_fragment" />
+<Test name="mediump_uvec3_uint_vertex" />
+<Test name="mediump_uvec3_uint_fragment" />
+<Test name="lowp_uvec4_uint_vertex" />
+<Test name="lowp_uvec4_uint_fragment" />
+<Test name="mediump_uvec4_uint_vertex" />
+<Test name="mediump_uvec4_uint_fragment" />
+<Test name="highp_uvec2_uint_vertex" />
+<Test name="highp_uvec2_uint_fragment" />
+<Test name="highp_uvec3_uint_vertex" />
+<Test name="highp_uvec3_uint_fragment" />
+<Test name="highp_uvec4_uint_vertex" />
+<Test name="highp_uvec4_uint_fragment" />
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+<Test name="lowp_uint_int_vertex" />
+<Test name="lowp_uint_int_fragment" />
+<Test name="mediump_uint_int_vertex" />
+<Test name="mediump_uint_int_fragment" />
+<Test name="lowp_uvec2_ivec2_vertex" />
+<Test name="lowp_uvec2_ivec2_fragment" />
+<Test name="mediump_uvec2_ivec2_vertex" />
+<Test name="mediump_uvec2_ivec2_fragment" />
+<Test name="lowp_uvec3_ivec3_vertex" />
+<Test name="lowp_uvec3_ivec3_fragment" />
+<Test name="mediump_uvec3_ivec3_vertex" />
+<Test name="mediump_uvec3_ivec3_fragment" />
+<Test name="lowp_uvec4_ivec4_vertex" />
+<Test name="lowp_uvec4_ivec4_fragment" />
+<Test name="mediump_uvec4_ivec4_vertex" />
+<Test name="mediump_uvec4_ivec4_fragment" />
+<Test name="highp_uint_int_vertex" />
+<Test name="highp_uint_int_fragment" />
+<Test name="highp_uvec2_ivec2_vertex" />
+<Test name="highp_uvec2_ivec2_fragment" />
+<Test name="highp_uvec3_ivec3_vertex" />
+<Test name="highp_uvec3_ivec3_fragment" />
+<Test name="highp_uvec4_ivec4_vertex" />
+<Test name="highp_uvec4_ivec4_fragment" />
+<Test name="lowp_ivec2_int_vertex" />
+<Test name="lowp_ivec2_int_fragment" />
+<Test name="mediump_ivec2_int_vertex" />
+<Test name="mediump_ivec2_int_fragment" />
+<Test name="lowp_ivec3_int_vertex" />
+<Test name="lowp_ivec3_int_fragment" />
+<Test name="mediump_ivec3_int_vertex" />
+<Test name="mediump_ivec3_int_fragment" />
+<Test name="lowp_ivec4_int_vertex" />
+<Test name="lowp_ivec4_int_fragment" />
+<Test name="mediump_ivec4_int_vertex" />
+<Test name="mediump_ivec4_int_fragment" />
+<Test name="highp_ivec2_int_vertex" />
+<Test name="highp_ivec2_int_fragment" />
+<Test name="highp_ivec3_int_vertex" />
+<Test name="highp_ivec3_int_fragment" />
+<Test name="highp_ivec4_int_vertex" />
+<Test name="highp_ivec4_int_fragment" />
+<Test name="lowp_uvec2_int_vertex" />
+<Test name="lowp_uvec2_int_fragment" />
+<Test name="mediump_uvec2_int_vertex" />
+<Test name="mediump_uvec2_int_fragment" />
+<Test name="lowp_uvec3_int_vertex" />
+<Test name="lowp_uvec3_int_fragment" />
+<Test name="mediump_uvec3_int_vertex" />
+<Test name="mediump_uvec3_int_fragment" />
+<Test name="lowp_uvec4_int_vertex" />
+<Test name="lowp_uvec4_int_fragment" />
+<Test name="mediump_uvec4_int_vertex" />
+<Test name="mediump_uvec4_int_fragment" />
+<Test name="highp_uvec2_int_vertex" />
+<Test name="highp_uvec2_int_fragment" />
+<Test name="highp_uvec3_int_vertex" />
+<Test name="highp_uvec3_int_fragment" />
+<Test name="highp_uvec4_int_vertex" />
+<Test name="highp_uvec4_int_fragment" />
+</TestCase>
+<TestCase name="add_assign_effect">
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+<Test name="lowp_uint_vertex" />
+<Test name="lowp_uint_fragment" />
+<Test name="mediump_uint_vertex" />
+<Test name="mediump_uint_fragment" />
+<Test name="lowp_uvec2_vertex" />
+<Test name="lowp_uvec2_fragment" />
+<Test name="mediump_uvec2_vertex" />
+<Test name="mediump_uvec2_fragment" />
+<Test name="lowp_uvec3_vertex" />
+<Test name="lowp_uvec3_fragment" />
+<Test name="mediump_uvec3_vertex" />
+<Test name="mediump_uvec3_fragment" />
+<Test name="lowp_uvec4_vertex" />
+<Test name="lowp_uvec4_fragment" />
+<Test name="mediump_uvec4_vertex" />
+<Test name="mediump_uvec4_fragment" />
+<Test name="highp_uint_vertex" />
+<Test name="highp_uint_fragment" />
+<Test name="highp_uvec2_vertex" />
+<Test name="highp_uvec2_fragment" />
+<Test name="highp_uvec3_vertex" />
+<Test name="highp_uvec3_fragment" />
+<Test name="highp_uvec4_vertex" />
+<Test name="highp_uvec4_fragment" />
+<Test name="lowp_vec2_float_vertex" />
+<Test name="lowp_vec2_float_fragment" />
+<Test name="mediump_vec2_float_vertex" />
+<Test name="mediump_vec2_float_fragment" />
+<Test name="highp_vec2_float_vertex" />
+<Test name="highp_vec2_float_fragment" />
+<Test name="lowp_vec3_float_vertex" />
+<Test name="lowp_vec3_float_fragment" />
+<Test name="mediump_vec3_float_vertex" />
+<Test name="mediump_vec3_float_fragment" />
+<Test name="highp_vec3_float_vertex" />
+<Test name="highp_vec3_float_fragment" />
+<Test name="lowp_vec4_float_vertex" />
+<Test name="lowp_vec4_float_fragment" />
+<Test name="mediump_vec4_float_vertex" />
+<Test name="mediump_vec4_float_fragment" />
+<Test name="highp_vec4_float_vertex" />
+<Test name="highp_vec4_float_fragment" />
+<Test name="lowp_ivec2_int_vertex" />
+<Test name="lowp_ivec2_int_fragment" />
+<Test name="mediump_ivec2_int_vertex" />
+<Test name="mediump_ivec2_int_fragment" />
+<Test name="lowp_ivec3_int_vertex" />
+<Test name="lowp_ivec3_int_fragment" />
+<Test name="mediump_ivec3_int_vertex" />
+<Test name="mediump_ivec3_int_fragment" />
+<Test name="lowp_ivec4_int_vertex" />
+<Test name="lowp_ivec4_int_fragment" />
+<Test name="mediump_ivec4_int_vertex" />
+<Test name="mediump_ivec4_int_fragment" />
+<Test name="highp_ivec2_int_vertex" />
+<Test name="highp_ivec2_int_fragment" />
+<Test name="highp_ivec3_int_vertex" />
+<Test name="highp_ivec3_int_fragment" />
+<Test name="highp_ivec4_int_vertex" />
+<Test name="highp_ivec4_int_fragment" />
+<Test name="lowp_uvec2_uint_vertex" />
+<Test name="lowp_uvec2_uint_fragment" />
+<Test name="mediump_uvec2_uint_vertex" />
+<Test name="mediump_uvec2_uint_fragment" />
+<Test name="lowp_uvec3_uint_vertex" />
+<Test name="lowp_uvec3_uint_fragment" />
+<Test name="mediump_uvec3_uint_vertex" />
+<Test name="mediump_uvec3_uint_fragment" />
+<Test name="lowp_uvec4_uint_vertex" />
+<Test name="lowp_uvec4_uint_fragment" />
+<Test name="mediump_uvec4_uint_vertex" />
+<Test name="mediump_uvec4_uint_fragment" />
+<Test name="highp_uvec2_uint_vertex" />
+<Test name="highp_uvec2_uint_fragment" />
+<Test name="highp_uvec3_uint_vertex" />
+<Test name="highp_uvec3_uint_fragment" />
+<Test name="highp_uvec4_uint_vertex" />
+<Test name="highp_uvec4_uint_fragment" />
+</TestCase>
+<TestCase name="sub_assign_effect">
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+<Test name="lowp_uint_vertex" />
+<Test name="lowp_uint_fragment" />
+<Test name="mediump_uint_vertex" />
+<Test name="mediump_uint_fragment" />
+<Test name="lowp_uvec2_vertex" />
+<Test name="lowp_uvec2_fragment" />
+<Test name="mediump_uvec2_vertex" />
+<Test name="mediump_uvec2_fragment" />
+<Test name="lowp_uvec3_vertex" />
+<Test name="lowp_uvec3_fragment" />
+<Test name="mediump_uvec3_vertex" />
+<Test name="mediump_uvec3_fragment" />
+<Test name="lowp_uvec4_vertex" />
+<Test name="lowp_uvec4_fragment" />
+<Test name="mediump_uvec4_vertex" />
+<Test name="mediump_uvec4_fragment" />
+<Test name="highp_uint_vertex" />
+<Test name="highp_uint_fragment" />
+<Test name="highp_uvec2_vertex" />
+<Test name="highp_uvec2_fragment" />
+<Test name="highp_uvec3_vertex" />
+<Test name="highp_uvec3_fragment" />
+<Test name="highp_uvec4_vertex" />
+<Test name="highp_uvec4_fragment" />
+<Test name="lowp_vec2_float_vertex" />
+<Test name="lowp_vec2_float_fragment" />
+<Test name="mediump_vec2_float_vertex" />
+<Test name="mediump_vec2_float_fragment" />
+<Test name="highp_vec2_float_vertex" />
+<Test name="highp_vec2_float_fragment" />
+<Test name="lowp_vec3_float_vertex" />
+<Test name="lowp_vec3_float_fragment" />
+<Test name="mediump_vec3_float_vertex" />
+<Test name="mediump_vec3_float_fragment" />
+<Test name="highp_vec3_float_vertex" />
+<Test name="highp_vec3_float_fragment" />
+<Test name="lowp_vec4_float_vertex" />
+<Test name="lowp_vec4_float_fragment" />
+<Test name="mediump_vec4_float_vertex" />
+<Test name="mediump_vec4_float_fragment" />
+<Test name="highp_vec4_float_vertex" />
+<Test name="highp_vec4_float_fragment" />
+<Test name="lowp_ivec2_int_vertex" />
+<Test name="lowp_ivec2_int_fragment" />
+<Test name="mediump_ivec2_int_vertex" />
+<Test name="mediump_ivec2_int_fragment" />
+<Test name="lowp_ivec3_int_vertex" />
+<Test name="lowp_ivec3_int_fragment" />
+<Test name="mediump_ivec3_int_vertex" />
+<Test name="mediump_ivec3_int_fragment" />
+<Test name="lowp_ivec4_int_vertex" />
+<Test name="lowp_ivec4_int_fragment" />
+<Test name="mediump_ivec4_int_vertex" />
+<Test name="mediump_ivec4_int_fragment" />
+<Test name="highp_ivec2_int_vertex" />
+<Test name="highp_ivec2_int_fragment" />
+<Test name="highp_ivec3_int_vertex" />
+<Test name="highp_ivec3_int_fragment" />
+<Test name="highp_ivec4_int_vertex" />
+<Test name="highp_ivec4_int_fragment" />
+<Test name="lowp_uvec2_uint_vertex" />
+<Test name="lowp_uvec2_uint_fragment" />
+<Test name="mediump_uvec2_uint_vertex" />
+<Test name="mediump_uvec2_uint_fragment" />
+<Test name="lowp_uvec3_uint_vertex" />
+<Test name="lowp_uvec3_uint_fragment" />
+<Test name="mediump_uvec3_uint_vertex" />
+<Test name="mediump_uvec3_uint_fragment" />
+<Test name="lowp_uvec4_uint_vertex" />
+<Test name="lowp_uvec4_uint_fragment" />
+<Test name="mediump_uvec4_uint_vertex" />
+<Test name="mediump_uvec4_uint_fragment" />
+<Test name="highp_uvec2_uint_vertex" />
+<Test name="highp_uvec2_uint_fragment" />
+<Test name="highp_uvec3_uint_vertex" />
+<Test name="highp_uvec3_uint_fragment" />
+<Test name="highp_uvec4_uint_vertex" />
+<Test name="highp_uvec4_uint_fragment" />
+</TestCase>
+<TestCase name="mul_assign_effect">
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+<Test name="lowp_uint_vertex" />
+<Test name="lowp_uint_fragment" />
+<Test name="mediump_uint_vertex" />
+<Test name="mediump_uint_fragment" />
+<Test name="lowp_uvec2_vertex" />
+<Test name="lowp_uvec2_fragment" />
+<Test name="mediump_uvec2_vertex" />
+<Test name="mediump_uvec2_fragment" />
+<Test name="lowp_uvec3_vertex" />
+<Test name="lowp_uvec3_fragment" />
+<Test name="mediump_uvec3_vertex" />
+<Test name="mediump_uvec3_fragment" />
+<Test name="lowp_uvec4_vertex" />
+<Test name="lowp_uvec4_fragment" />
+<Test name="mediump_uvec4_vertex" />
+<Test name="mediump_uvec4_fragment" />
+<Test name="highp_uint_vertex" />
+<Test name="highp_uint_fragment" />
+<Test name="highp_uvec2_vertex" />
+<Test name="highp_uvec2_fragment" />
+<Test name="highp_uvec3_vertex" />
+<Test name="highp_uvec3_fragment" />
+<Test name="highp_uvec4_vertex" />
+<Test name="highp_uvec4_fragment" />
+<Test name="lowp_vec2_float_vertex" />
+<Test name="lowp_vec2_float_fragment" />
+<Test name="mediump_vec2_float_vertex" />
+<Test name="mediump_vec2_float_fragment" />
+<Test name="highp_vec2_float_vertex" />
+<Test name="highp_vec2_float_fragment" />
+<Test name="lowp_vec3_float_vertex" />
+<Test name="lowp_vec3_float_fragment" />
+<Test name="mediump_vec3_float_vertex" />
+<Test name="mediump_vec3_float_fragment" />
+<Test name="highp_vec3_float_vertex" />
+<Test name="highp_vec3_float_fragment" />
+<Test name="lowp_vec4_float_vertex" />
+<Test name="lowp_vec4_float_fragment" />
+<Test name="mediump_vec4_float_vertex" />
+<Test name="mediump_vec4_float_fragment" />
+<Test name="highp_vec4_float_vertex" />
+<Test name="highp_vec4_float_fragment" />
+<Test name="lowp_ivec2_int_vertex" />
+<Test name="lowp_ivec2_int_fragment" />
+<Test name="mediump_ivec2_int_vertex" />
+<Test name="mediump_ivec2_int_fragment" />
+<Test name="lowp_ivec3_int_vertex" />
+<Test name="lowp_ivec3_int_fragment" />
+<Test name="mediump_ivec3_int_vertex" />
+<Test name="mediump_ivec3_int_fragment" />
+<Test name="lowp_ivec4_int_vertex" />
+<Test name="lowp_ivec4_int_fragment" />
+<Test name="mediump_ivec4_int_vertex" />
+<Test name="mediump_ivec4_int_fragment" />
+<Test name="highp_ivec2_int_vertex" />
+<Test name="highp_ivec2_int_fragment" />
+<Test name="highp_ivec3_int_vertex" />
+<Test name="highp_ivec3_int_fragment" />
+<Test name="highp_ivec4_int_vertex" />
+<Test name="highp_ivec4_int_fragment" />
+<Test name="lowp_uvec2_uint_vertex" />
+<Test name="lowp_uvec2_uint_fragment" />
+<Test name="mediump_uvec2_uint_vertex" />
+<Test name="mediump_uvec2_uint_fragment" />
+<Test name="lowp_uvec3_uint_vertex" />
+<Test name="lowp_uvec3_uint_fragment" />
+<Test name="mediump_uvec3_uint_vertex" />
+<Test name="mediump_uvec3_uint_fragment" />
+<Test name="lowp_uvec4_uint_vertex" />
+<Test name="lowp_uvec4_uint_fragment" />
+<Test name="mediump_uvec4_uint_vertex" />
+<Test name="mediump_uvec4_uint_fragment" />
+<Test name="highp_uvec2_uint_vertex" />
+<Test name="highp_uvec2_uint_fragment" />
+<Test name="highp_uvec3_uint_vertex" />
+<Test name="highp_uvec3_uint_fragment" />
+<Test name="highp_uvec4_uint_vertex" />
+<Test name="highp_uvec4_uint_fragment" />
+</TestCase>
+<TestCase name="div_assign_effect">
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+<Test name="lowp_uint_vertex" />
+<Test name="lowp_uint_fragment" />
+<Test name="mediump_uint_vertex" />
+<Test name="mediump_uint_fragment" />
+<Test name="lowp_uvec2_vertex" />
+<Test name="lowp_uvec2_fragment" />
+<Test name="mediump_uvec2_vertex" />
+<Test name="mediump_uvec2_fragment" />
+<Test name="lowp_uvec3_vertex" />
+<Test name="lowp_uvec3_fragment" />
+<Test name="mediump_uvec3_vertex" />
+<Test name="mediump_uvec3_fragment" />
+<Test name="lowp_uvec4_vertex" />
+<Test name="lowp_uvec4_fragment" />
+<Test name="mediump_uvec4_vertex" />
+<Test name="mediump_uvec4_fragment" />
+<Test name="highp_uint_vertex" />
+<Test name="highp_uint_fragment" />
+<Test name="highp_uvec2_vertex" />
+<Test name="highp_uvec2_fragment" />
+<Test name="highp_uvec3_vertex" />
+<Test name="highp_uvec3_fragment" />
+<Test name="highp_uvec4_vertex" />
+<Test name="highp_uvec4_fragment" />
+<Test name="lowp_vec2_float_vertex" />
+<Test name="lowp_vec2_float_fragment" />
+<Test name="mediump_vec2_float_vertex" />
+<Test name="mediump_vec2_float_fragment" />
+<Test name="highp_vec2_float_vertex" />
+<Test name="highp_vec2_float_fragment" />
+<Test name="lowp_vec3_float_vertex" />
+<Test name="lowp_vec3_float_fragment" />
+<Test name="mediump_vec3_float_vertex" />
+<Test name="mediump_vec3_float_fragment" />
+<Test name="highp_vec3_float_vertex" />
+<Test name="highp_vec3_float_fragment" />
+<Test name="lowp_vec4_float_vertex" />
+<Test name="lowp_vec4_float_fragment" />
+<Test name="mediump_vec4_float_vertex" />
+<Test name="mediump_vec4_float_fragment" />
+<Test name="highp_vec4_float_vertex" />
+<Test name="highp_vec4_float_fragment" />
+<Test name="lowp_ivec2_int_vertex" />
+<Test name="lowp_ivec2_int_fragment" />
+<Test name="mediump_ivec2_int_vertex" />
+<Test name="mediump_ivec2_int_fragment" />
+<Test name="lowp_ivec3_int_vertex" />
+<Test name="lowp_ivec3_int_fragment" />
+<Test name="mediump_ivec3_int_vertex" />
+<Test name="mediump_ivec3_int_fragment" />
+<Test name="lowp_ivec4_int_vertex" />
+<Test name="lowp_ivec4_int_fragment" />
+<Test name="mediump_ivec4_int_vertex" />
+<Test name="mediump_ivec4_int_fragment" />
+<Test name="highp_ivec2_int_vertex" />
+<Test name="highp_ivec2_int_fragment" />
+<Test name="highp_ivec3_int_vertex" />
+<Test name="highp_ivec3_int_fragment" />
+<Test name="highp_ivec4_int_vertex" />
+<Test name="highp_ivec4_int_fragment" />
+<Test name="lowp_uvec2_uint_vertex" />
+<Test name="lowp_uvec2_uint_fragment" />
+<Test name="mediump_uvec2_uint_vertex" />
+<Test name="mediump_uvec2_uint_fragment" />
+<Test name="lowp_uvec3_uint_vertex" />
+<Test name="lowp_uvec3_uint_fragment" />
+<Test name="mediump_uvec3_uint_vertex" />
+<Test name="mediump_uvec3_uint_fragment" />
+<Test name="lowp_uvec4_uint_vertex" />
+<Test name="lowp_uvec4_uint_fragment" />
+<Test name="mediump_uvec4_uint_vertex" />
+<Test name="mediump_uvec4_uint_fragment" />
+<Test name="highp_uvec2_uint_vertex" />
+<Test name="highp_uvec2_uint_fragment" />
+<Test name="highp_uvec3_uint_vertex" />
+<Test name="highp_uvec3_uint_fragment" />
+<Test name="highp_uvec4_uint_vertex" />
+<Test name="highp_uvec4_uint_fragment" />
+</TestCase>
+<TestCase name="mod_assign_effect">
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+<Test name="lowp_uint_vertex" />
+<Test name="lowp_uint_fragment" />
+<Test name="mediump_uint_vertex" />
+<Test name="mediump_uint_fragment" />
+<Test name="lowp_uvec2_vertex" />
+<Test name="lowp_uvec2_fragment" />
+<Test name="mediump_uvec2_vertex" />
+<Test name="mediump_uvec2_fragment" />
+<Test name="lowp_uvec3_vertex" />
+<Test name="lowp_uvec3_fragment" />
+<Test name="mediump_uvec3_vertex" />
+<Test name="mediump_uvec3_fragment" />
+<Test name="lowp_uvec4_vertex" />
+<Test name="lowp_uvec4_fragment" />
+<Test name="mediump_uvec4_vertex" />
+<Test name="mediump_uvec4_fragment" />
+<Test name="highp_uint_vertex" />
+<Test name="highp_uint_fragment" />
+<Test name="highp_uvec2_vertex" />
+<Test name="highp_uvec2_fragment" />
+<Test name="highp_uvec3_vertex" />
+<Test name="highp_uvec3_fragment" />
+<Test name="highp_uvec4_vertex" />
+<Test name="highp_uvec4_fragment" />
+<Test name="lowp_ivec2_int_vertex" />
+<Test name="lowp_ivec2_int_fragment" />
+<Test name="mediump_ivec2_int_vertex" />
+<Test name="mediump_ivec2_int_fragment" />
+<Test name="lowp_ivec3_int_vertex" />
+<Test name="lowp_ivec3_int_fragment" />
+<Test name="mediump_ivec3_int_vertex" />
+<Test name="mediump_ivec3_int_fragment" />
+<Test name="lowp_ivec4_int_vertex" />
+<Test name="lowp_ivec4_int_fragment" />
+<Test name="mediump_ivec4_int_vertex" />
+<Test name="mediump_ivec4_int_fragment" />
+<Test name="highp_ivec2_int_vertex" />
+<Test name="highp_ivec2_int_fragment" />
+<Test name="highp_ivec3_int_vertex" />
+<Test name="highp_ivec3_int_fragment" />
+<Test name="highp_ivec4_int_vertex" />
+<Test name="highp_ivec4_int_fragment" />
+<Test name="lowp_uvec2_uint_vertex" />
+<Test name="lowp_uvec2_uint_fragment" />
+<Test name="mediump_uvec2_uint_vertex" />
+<Test name="mediump_uvec2_uint_fragment" />
+<Test name="lowp_uvec3_uint_vertex" />
+<Test name="lowp_uvec3_uint_fragment" />
+<Test name="mediump_uvec3_uint_vertex" />
+<Test name="mediump_uvec3_uint_fragment" />
+<Test name="lowp_uvec4_uint_vertex" />
+<Test name="lowp_uvec4_uint_fragment" />
+<Test name="mediump_uvec4_uint_vertex" />
+<Test name="mediump_uvec4_uint_fragment" />
+<Test name="highp_uvec2_uint_vertex" />
+<Test name="highp_uvec2_uint_fragment" />
+<Test name="highp_uvec3_uint_vertex" />
+<Test name="highp_uvec3_uint_fragment" />
+<Test name="highp_uvec4_uint_vertex" />
+<Test name="highp_uvec4_uint_fragment" />
+</TestCase>
+<TestCase name="bitwise_and_assign_effect">
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+<Test name="lowp_uint_vertex" />
+<Test name="lowp_uint_fragment" />
+<Test name="mediump_uint_vertex" />
+<Test name="mediump_uint_fragment" />
+<Test name="lowp_uvec2_vertex" />
+<Test name="lowp_uvec2_fragment" />
+<Test name="mediump_uvec2_vertex" />
+<Test name="mediump_uvec2_fragment" />
+<Test name="lowp_uvec3_vertex" />
+<Test name="lowp_uvec3_fragment" />
+<Test name="mediump_uvec3_vertex" />
+<Test name="mediump_uvec3_fragment" />
+<Test name="lowp_uvec4_vertex" />
+<Test name="lowp_uvec4_fragment" />
+<Test name="mediump_uvec4_vertex" />
+<Test name="mediump_uvec4_fragment" />
+<Test name="highp_uint_vertex" />
+<Test name="highp_uint_fragment" />
+<Test name="highp_uvec2_vertex" />
+<Test name="highp_uvec2_fragment" />
+<Test name="highp_uvec3_vertex" />
+<Test name="highp_uvec3_fragment" />
+<Test name="highp_uvec4_vertex" />
+<Test name="highp_uvec4_fragment" />
+<Test name="lowp_ivec2_int_vertex" />
+<Test name="lowp_ivec2_int_fragment" />
+<Test name="mediump_ivec2_int_vertex" />
+<Test name="mediump_ivec2_int_fragment" />
+<Test name="lowp_ivec3_int_vertex" />
+<Test name="lowp_ivec3_int_fragment" />
+<Test name="mediump_ivec3_int_vertex" />
+<Test name="mediump_ivec3_int_fragment" />
+<Test name="lowp_ivec4_int_vertex" />
+<Test name="lowp_ivec4_int_fragment" />
+<Test name="mediump_ivec4_int_vertex" />
+<Test name="mediump_ivec4_int_fragment" />
+<Test name="highp_ivec2_int_vertex" />
+<Test name="highp_ivec2_int_fragment" />
+<Test name="highp_ivec3_int_vertex" />
+<Test name="highp_ivec3_int_fragment" />
+<Test name="highp_ivec4_int_vertex" />
+<Test name="highp_ivec4_int_fragment" />
+<Test name="lowp_uvec2_uint_vertex" />
+<Test name="lowp_uvec2_uint_fragment" />
+<Test name="mediump_uvec2_uint_vertex" />
+<Test name="mediump_uvec2_uint_fragment" />
+<Test name="lowp_uvec3_uint_vertex" />
+<Test name="lowp_uvec3_uint_fragment" />
+<Test name="mediump_uvec3_uint_vertex" />
+<Test name="mediump_uvec3_uint_fragment" />
+<Test name="lowp_uvec4_uint_vertex" />
+<Test name="lowp_uvec4_uint_fragment" />
+<Test name="mediump_uvec4_uint_vertex" />
+<Test name="mediump_uvec4_uint_fragment" />
+<Test name="highp_uvec2_uint_vertex" />
+<Test name="highp_uvec2_uint_fragment" />
+<Test name="highp_uvec3_uint_vertex" />
+<Test name="highp_uvec3_uint_fragment" />
+<Test name="highp_uvec4_uint_vertex" />
+<Test name="highp_uvec4_uint_fragment" />
+</TestCase>
+<TestCase name="bitwise_or_assign_effect">
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+<Test name="lowp_uint_vertex" />
+<Test name="lowp_uint_fragment" />
+<Test name="mediump_uint_vertex" />
+<Test name="mediump_uint_fragment" />
+<Test name="lowp_uvec2_vertex" />
+<Test name="lowp_uvec2_fragment" />
+<Test name="mediump_uvec2_vertex" />
+<Test name="mediump_uvec2_fragment" />
+<Test name="lowp_uvec3_vertex" />
+<Test name="lowp_uvec3_fragment" />
+<Test name="mediump_uvec3_vertex" />
+<Test name="mediump_uvec3_fragment" />
+<Test name="lowp_uvec4_vertex" />
+<Test name="lowp_uvec4_fragment" />
+<Test name="mediump_uvec4_vertex" />
+<Test name="mediump_uvec4_fragment" />
+<Test name="highp_uint_vertex" />
+<Test name="highp_uint_fragment" />
+<Test name="highp_uvec2_vertex" />
+<Test name="highp_uvec2_fragment" />
+<Test name="highp_uvec3_vertex" />
+<Test name="highp_uvec3_fragment" />
+<Test name="highp_uvec4_vertex" />
+<Test name="highp_uvec4_fragment" />
+<Test name="lowp_ivec2_int_vertex" />
+<Test name="lowp_ivec2_int_fragment" />
+<Test name="mediump_ivec2_int_vertex" />
+<Test name="mediump_ivec2_int_fragment" />
+<Test name="lowp_ivec3_int_vertex" />
+<Test name="lowp_ivec3_int_fragment" />
+<Test name="mediump_ivec3_int_vertex" />
+<Test name="mediump_ivec3_int_fragment" />
+<Test name="lowp_ivec4_int_vertex" />
+<Test name="lowp_ivec4_int_fragment" />
+<Test name="mediump_ivec4_int_vertex" />
+<Test name="mediump_ivec4_int_fragment" />
+<Test name="highp_ivec2_int_vertex" />
+<Test name="highp_ivec2_int_fragment" />
+<Test name="highp_ivec3_int_vertex" />
+<Test name="highp_ivec3_int_fragment" />
+<Test name="highp_ivec4_int_vertex" />
+<Test name="highp_ivec4_int_fragment" />
+<Test name="lowp_uvec2_uint_vertex" />
+<Test name="lowp_uvec2_uint_fragment" />
+<Test name="mediump_uvec2_uint_vertex" />
+<Test name="mediump_uvec2_uint_fragment" />
+<Test name="lowp_uvec3_uint_vertex" />
+<Test name="lowp_uvec3_uint_fragment" />
+<Test name="mediump_uvec3_uint_vertex" />
+<Test name="mediump_uvec3_uint_fragment" />
+<Test name="lowp_uvec4_uint_vertex" />
+<Test name="lowp_uvec4_uint_fragment" />
+<Test name="mediump_uvec4_uint_vertex" />
+<Test name="mediump_uvec4_uint_fragment" />
+<Test name="highp_uvec2_uint_vertex" />
+<Test name="highp_uvec2_uint_fragment" />
+<Test name="highp_uvec3_uint_vertex" />
+<Test name="highp_uvec3_uint_fragment" />
+<Test name="highp_uvec4_uint_vertex" />
+<Test name="highp_uvec4_uint_fragment" />
+</TestCase>
+<TestCase name="bitwise_xor_assign_effect">
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+<Test name="lowp_uint_vertex" />
+<Test name="lowp_uint_fragment" />
+<Test name="mediump_uint_vertex" />
+<Test name="mediump_uint_fragment" />
+<Test name="lowp_uvec2_vertex" />
+<Test name="lowp_uvec2_fragment" />
+<Test name="mediump_uvec2_vertex" />
+<Test name="mediump_uvec2_fragment" />
+<Test name="lowp_uvec3_vertex" />
+<Test name="lowp_uvec3_fragment" />
+<Test name="mediump_uvec3_vertex" />
+<Test name="mediump_uvec3_fragment" />
+<Test name="lowp_uvec4_vertex" />
+<Test name="lowp_uvec4_fragment" />
+<Test name="mediump_uvec4_vertex" />
+<Test name="mediump_uvec4_fragment" />
+<Test name="highp_uint_vertex" />
+<Test name="highp_uint_fragment" />
+<Test name="highp_uvec2_vertex" />
+<Test name="highp_uvec2_fragment" />
+<Test name="highp_uvec3_vertex" />
+<Test name="highp_uvec3_fragment" />
+<Test name="highp_uvec4_vertex" />
+<Test name="highp_uvec4_fragment" />
+<Test name="lowp_ivec2_int_vertex" />
+<Test name="lowp_ivec2_int_fragment" />
+<Test name="mediump_ivec2_int_vertex" />
+<Test name="mediump_ivec2_int_fragment" />
+<Test name="lowp_ivec3_int_vertex" />
+<Test name="lowp_ivec3_int_fragment" />
+<Test name="mediump_ivec3_int_vertex" />
+<Test name="mediump_ivec3_int_fragment" />
+<Test name="lowp_ivec4_int_vertex" />
+<Test name="lowp_ivec4_int_fragment" />
+<Test name="mediump_ivec4_int_vertex" />
+<Test name="mediump_ivec4_int_fragment" />
+<Test name="highp_ivec2_int_vertex" />
+<Test name="highp_ivec2_int_fragment" />
+<Test name="highp_ivec3_int_vertex" />
+<Test name="highp_ivec3_int_fragment" />
+<Test name="highp_ivec4_int_vertex" />
+<Test name="highp_ivec4_int_fragment" />
+<Test name="lowp_uvec2_uint_vertex" />
+<Test name="lowp_uvec2_uint_fragment" />
+<Test name="mediump_uvec2_uint_vertex" />
+<Test name="mediump_uvec2_uint_fragment" />
+<Test name="lowp_uvec3_uint_vertex" />
+<Test name="lowp_uvec3_uint_fragment" />
+<Test name="mediump_uvec3_uint_vertex" />
+<Test name="mediump_uvec3_uint_fragment" />
+<Test name="lowp_uvec4_uint_vertex" />
+<Test name="lowp_uvec4_uint_fragment" />
+<Test name="mediump_uvec4_uint_vertex" />
+<Test name="mediump_uvec4_uint_fragment" />
+<Test name="highp_uvec2_uint_vertex" />
+<Test name="highp_uvec2_uint_fragment" />
+<Test name="highp_uvec3_uint_vertex" />
+<Test name="highp_uvec3_uint_fragment" />
+<Test name="highp_uvec4_uint_vertex" />
+<Test name="highp_uvec4_uint_fragment" />
+</TestCase>
+<TestCase name="left_shift_assign_effect">
+<Test name="lowp_int_uint_vertex" />
+<Test name="lowp_int_uint_fragment" />
+<Test name="mediump_int_uint_vertex" />
+<Test name="mediump_int_uint_fragment" />
+<Test name="lowp_ivec2_uvec2_vertex" />
+<Test name="lowp_ivec2_uvec2_fragment" />
+<Test name="mediump_ivec2_uvec2_vertex" />
+<Test name="mediump_ivec2_uvec2_fragment" />
+<Test name="lowp_ivec3_uvec3_vertex" />
+<Test name="lowp_ivec3_uvec3_fragment" />
+<Test name="mediump_ivec3_uvec3_vertex" />
+<Test name="mediump_ivec3_uvec3_fragment" />
+<Test name="lowp_ivec4_uvec4_vertex" />
+<Test name="lowp_ivec4_uvec4_fragment" />
+<Test name="mediump_ivec4_uvec4_vertex" />
+<Test name="mediump_ivec4_uvec4_fragment" />
+<Test name="highp_int_uint_vertex" />
+<Test name="highp_int_uint_fragment" />
+<Test name="highp_ivec2_uvec2_vertex" />
+<Test name="highp_ivec2_uvec2_fragment" />
+<Test name="highp_ivec3_uvec3_vertex" />
+<Test name="highp_ivec3_uvec3_fragment" />
+<Test name="highp_ivec4_uvec4_vertex" />
+<Test name="highp_ivec4_uvec4_fragment" />
+<Test name="lowp_uint_vertex" />
+<Test name="lowp_uint_fragment" />
+<Test name="mediump_uint_vertex" />
+<Test name="mediump_uint_fragment" />
+<Test name="lowp_uvec2_vertex" />
+<Test name="lowp_uvec2_fragment" />
+<Test name="mediump_uvec2_vertex" />
+<Test name="mediump_uvec2_fragment" />
+<Test name="lowp_uvec3_vertex" />
+<Test name="lowp_uvec3_fragment" />
+<Test name="mediump_uvec3_vertex" />
+<Test name="mediump_uvec3_fragment" />
+<Test name="lowp_uvec4_vertex" />
+<Test name="lowp_uvec4_fragment" />
+<Test name="mediump_uvec4_vertex" />
+<Test name="mediump_uvec4_fragment" />
+<Test name="highp_uint_vertex" />
+<Test name="highp_uint_fragment" />
+<Test name="highp_uvec2_vertex" />
+<Test name="highp_uvec2_fragment" />
+<Test name="highp_uvec3_vertex" />
+<Test name="highp_uvec3_fragment" />
+<Test name="highp_uvec4_vertex" />
+<Test name="highp_uvec4_fragment" />
+<Test name="lowp_ivec2_uint_vertex" />
+<Test name="lowp_ivec2_uint_fragment" />
+<Test name="mediump_ivec2_uint_vertex" />
+<Test name="mediump_ivec2_uint_fragment" />
+<Test name="lowp_ivec3_uint_vertex" />
+<Test name="lowp_ivec3_uint_fragment" />
+<Test name="mediump_ivec3_uint_vertex" />
+<Test name="mediump_ivec3_uint_fragment" />
+<Test name="lowp_ivec4_uint_vertex" />
+<Test name="lowp_ivec4_uint_fragment" />
+<Test name="mediump_ivec4_uint_vertex" />
+<Test name="mediump_ivec4_uint_fragment" />
+<Test name="highp_ivec2_uint_vertex" />
+<Test name="highp_ivec2_uint_fragment" />
+<Test name="highp_ivec3_uint_vertex" />
+<Test name="highp_ivec3_uint_fragment" />
+<Test name="highp_ivec4_uint_vertex" />
+<Test name="highp_ivec4_uint_fragment" />
+<Test name="lowp_uvec2_uint_vertex" />
+<Test name="lowp_uvec2_uint_fragment" />
+<Test name="mediump_uvec2_uint_vertex" />
+<Test name="mediump_uvec2_uint_fragment" />
+<Test name="lowp_uvec3_uint_vertex" />
+<Test name="lowp_uvec3_uint_fragment" />
+<Test name="mediump_uvec3_uint_vertex" />
+<Test name="mediump_uvec3_uint_fragment" />
+<Test name="lowp_uvec4_uint_vertex" />
+<Test name="lowp_uvec4_uint_fragment" />
+<Test name="mediump_uvec4_uint_vertex" />
+<Test name="mediump_uvec4_uint_fragment" />
+<Test name="highp_uvec2_uint_vertex" />
+<Test name="highp_uvec2_uint_fragment" />
+<Test name="highp_uvec3_uint_vertex" />
+<Test name="highp_uvec3_uint_fragment" />
+<Test name="highp_uvec4_uint_vertex" />
+<Test name="highp_uvec4_uint_fragment" />
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+<Test name="lowp_uint_int_vertex" />
+<Test name="lowp_uint_int_fragment" />
+<Test name="mediump_uint_int_vertex" />
+<Test name="mediump_uint_int_fragment" />
+<Test name="lowp_uvec2_ivec2_vertex" />
+<Test name="lowp_uvec2_ivec2_fragment" />
+<Test name="mediump_uvec2_ivec2_vertex" />
+<Test name="mediump_uvec2_ivec2_fragment" />
+<Test name="lowp_uvec3_ivec3_vertex" />
+<Test name="lowp_uvec3_ivec3_fragment" />
+<Test name="mediump_uvec3_ivec3_vertex" />
+<Test name="mediump_uvec3_ivec3_fragment" />
+<Test name="lowp_uvec4_ivec4_vertex" />
+<Test name="lowp_uvec4_ivec4_fragment" />
+<Test name="mediump_uvec4_ivec4_vertex" />
+<Test name="mediump_uvec4_ivec4_fragment" />
+<Test name="highp_uint_int_vertex" />
+<Test name="highp_uint_int_fragment" />
+<Test name="highp_uvec2_ivec2_vertex" />
+<Test name="highp_uvec2_ivec2_fragment" />
+<Test name="highp_uvec3_ivec3_vertex" />
+<Test name="highp_uvec3_ivec3_fragment" />
+<Test name="highp_uvec4_ivec4_vertex" />
+<Test name="highp_uvec4_ivec4_fragment" />
+<Test name="lowp_ivec2_int_vertex" />
+<Test name="lowp_ivec2_int_fragment" />
+<Test name="mediump_ivec2_int_vertex" />
+<Test name="mediump_ivec2_int_fragment" />
+<Test name="lowp_ivec3_int_vertex" />
+<Test name="lowp_ivec3_int_fragment" />
+<Test name="mediump_ivec3_int_vertex" />
+<Test name="mediump_ivec3_int_fragment" />
+<Test name="lowp_ivec4_int_vertex" />
+<Test name="lowp_ivec4_int_fragment" />
+<Test name="mediump_ivec4_int_vertex" />
+<Test name="mediump_ivec4_int_fragment" />
+<Test name="highp_ivec2_int_vertex" />
+<Test name="highp_ivec2_int_fragment" />
+<Test name="highp_ivec3_int_vertex" />
+<Test name="highp_ivec3_int_fragment" />
+<Test name="highp_ivec4_int_vertex" />
+<Test name="highp_ivec4_int_fragment" />
+<Test name="lowp_uvec2_int_vertex" />
+<Test name="lowp_uvec2_int_fragment" />
+<Test name="mediump_uvec2_int_vertex" />
+<Test name="mediump_uvec2_int_fragment" />
+<Test name="lowp_uvec3_int_vertex" />
+<Test name="lowp_uvec3_int_fragment" />
+<Test name="mediump_uvec3_int_vertex" />
+<Test name="mediump_uvec3_int_fragment" />
+<Test name="lowp_uvec4_int_vertex" />
+<Test name="lowp_uvec4_int_fragment" />
+<Test name="mediump_uvec4_int_vertex" />
+<Test name="mediump_uvec4_int_fragment" />
+<Test name="highp_uvec2_int_vertex" />
+<Test name="highp_uvec2_int_fragment" />
+<Test name="highp_uvec3_int_vertex" />
+<Test name="highp_uvec3_int_fragment" />
+<Test name="highp_uvec4_int_vertex" />
+<Test name="highp_uvec4_int_fragment" />
+</TestCase>
+<TestCase name="right_shift_assign_effect">
+<Test name="lowp_int_uint_vertex" />
+<Test name="lowp_int_uint_fragment" />
+<Test name="mediump_int_uint_vertex" />
+<Test name="mediump_int_uint_fragment" />
+<Test name="lowp_ivec2_uvec2_vertex" />
+<Test name="lowp_ivec2_uvec2_fragment" />
+<Test name="mediump_ivec2_uvec2_vertex" />
+<Test name="mediump_ivec2_uvec2_fragment" />
+<Test name="lowp_ivec3_uvec3_vertex" />
+<Test name="lowp_ivec3_uvec3_fragment" />
+<Test name="mediump_ivec3_uvec3_vertex" />
+<Test name="mediump_ivec3_uvec3_fragment" />
+<Test name="lowp_ivec4_uvec4_vertex" />
+<Test name="lowp_ivec4_uvec4_fragment" />
+<Test name="mediump_ivec4_uvec4_vertex" />
+<Test name="mediump_ivec4_uvec4_fragment" />
+<Test name="highp_int_uint_vertex" />
+<Test name="highp_int_uint_fragment" />
+<Test name="highp_ivec2_uvec2_vertex" />
+<Test name="highp_ivec2_uvec2_fragment" />
+<Test name="highp_ivec3_uvec3_vertex" />
+<Test name="highp_ivec3_uvec3_fragment" />
+<Test name="highp_ivec4_uvec4_vertex" />
+<Test name="highp_ivec4_uvec4_fragment" />
+<Test name="lowp_uint_vertex" />
+<Test name="lowp_uint_fragment" />
+<Test name="mediump_uint_vertex" />
+<Test name="mediump_uint_fragment" />
+<Test name="lowp_uvec2_vertex" />
+<Test name="lowp_uvec2_fragment" />
+<Test name="mediump_uvec2_vertex" />
+<Test name="mediump_uvec2_fragment" />
+<Test name="lowp_uvec3_vertex" />
+<Test name="lowp_uvec3_fragment" />
+<Test name="mediump_uvec3_vertex" />
+<Test name="mediump_uvec3_fragment" />
+<Test name="lowp_uvec4_vertex" />
+<Test name="lowp_uvec4_fragment" />
+<Test name="mediump_uvec4_vertex" />
+<Test name="mediump_uvec4_fragment" />
+<Test name="highp_uint_vertex" />
+<Test name="highp_uint_fragment" />
+<Test name="highp_uvec2_vertex" />
+<Test name="highp_uvec2_fragment" />
+<Test name="highp_uvec3_vertex" />
+<Test name="highp_uvec3_fragment" />
+<Test name="highp_uvec4_vertex" />
+<Test name="highp_uvec4_fragment" />
+<Test name="lowp_ivec2_uint_vertex" />
+<Test name="lowp_ivec2_uint_fragment" />
+<Test name="mediump_ivec2_uint_vertex" />
+<Test name="mediump_ivec2_uint_fragment" />
+<Test name="lowp_ivec3_uint_vertex" />
+<Test name="lowp_ivec3_uint_fragment" />
+<Test name="mediump_ivec3_uint_vertex" />
+<Test name="mediump_ivec3_uint_fragment" />
+<Test name="lowp_ivec4_uint_vertex" />
+<Test name="lowp_ivec4_uint_fragment" />
+<Test name="mediump_ivec4_uint_vertex" />
+<Test name="mediump_ivec4_uint_fragment" />
+<Test name="highp_ivec2_uint_vertex" />
+<Test name="highp_ivec2_uint_fragment" />
+<Test name="highp_ivec3_uint_vertex" />
+<Test name="highp_ivec3_uint_fragment" />
+<Test name="highp_ivec4_uint_vertex" />
+<Test name="highp_ivec4_uint_fragment" />
+<Test name="lowp_uvec2_uint_vertex" />
+<Test name="lowp_uvec2_uint_fragment" />
+<Test name="mediump_uvec2_uint_vertex" />
+<Test name="mediump_uvec2_uint_fragment" />
+<Test name="lowp_uvec3_uint_vertex" />
+<Test name="lowp_uvec3_uint_fragment" />
+<Test name="mediump_uvec3_uint_vertex" />
+<Test name="mediump_uvec3_uint_fragment" />
+<Test name="lowp_uvec4_uint_vertex" />
+<Test name="lowp_uvec4_uint_fragment" />
+<Test name="mediump_uvec4_uint_vertex" />
+<Test name="mediump_uvec4_uint_fragment" />
+<Test name="highp_uvec2_uint_vertex" />
+<Test name="highp_uvec2_uint_fragment" />
+<Test name="highp_uvec3_uint_vertex" />
+<Test name="highp_uvec3_uint_fragment" />
+<Test name="highp_uvec4_uint_vertex" />
+<Test name="highp_uvec4_uint_fragment" />
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+<Test name="lowp_uint_int_vertex" />
+<Test name="lowp_uint_int_fragment" />
+<Test name="mediump_uint_int_vertex" />
+<Test name="mediump_uint_int_fragment" />
+<Test name="lowp_uvec2_ivec2_vertex" />
+<Test name="lowp_uvec2_ivec2_fragment" />
+<Test name="mediump_uvec2_ivec2_vertex" />
+<Test name="mediump_uvec2_ivec2_fragment" />
+<Test name="lowp_uvec3_ivec3_vertex" />
+<Test name="lowp_uvec3_ivec3_fragment" />
+<Test name="mediump_uvec3_ivec3_vertex" />
+<Test name="mediump_uvec3_ivec3_fragment" />
+<Test name="lowp_uvec4_ivec4_vertex" />
+<Test name="lowp_uvec4_ivec4_fragment" />
+<Test name="mediump_uvec4_ivec4_vertex" />
+<Test name="mediump_uvec4_ivec4_fragment" />
+<Test name="highp_uint_int_vertex" />
+<Test name="highp_uint_int_fragment" />
+<Test name="highp_uvec2_ivec2_vertex" />
+<Test name="highp_uvec2_ivec2_fragment" />
+<Test name="highp_uvec3_ivec3_vertex" />
+<Test name="highp_uvec3_ivec3_fragment" />
+<Test name="highp_uvec4_ivec4_vertex" />
+<Test name="highp_uvec4_ivec4_fragment" />
+<Test name="lowp_ivec2_int_vertex" />
+<Test name="lowp_ivec2_int_fragment" />
+<Test name="mediump_ivec2_int_vertex" />
+<Test name="mediump_ivec2_int_fragment" />
+<Test name="lowp_ivec3_int_vertex" />
+<Test name="lowp_ivec3_int_fragment" />
+<Test name="mediump_ivec3_int_vertex" />
+<Test name="mediump_ivec3_int_fragment" />
+<Test name="lowp_ivec4_int_vertex" />
+<Test name="lowp_ivec4_int_fragment" />
+<Test name="mediump_ivec4_int_vertex" />
+<Test name="mediump_ivec4_int_fragment" />
+<Test name="highp_ivec2_int_vertex" />
+<Test name="highp_ivec2_int_fragment" />
+<Test name="highp_ivec3_int_vertex" />
+<Test name="highp_ivec3_int_fragment" />
+<Test name="highp_ivec4_int_vertex" />
+<Test name="highp_ivec4_int_fragment" />
+<Test name="lowp_uvec2_int_vertex" />
+<Test name="lowp_uvec2_int_fragment" />
+<Test name="mediump_uvec2_int_vertex" />
+<Test name="mediump_uvec2_int_fragment" />
+<Test name="lowp_uvec3_int_vertex" />
+<Test name="lowp_uvec3_int_fragment" />
+<Test name="mediump_uvec3_int_vertex" />
+<Test name="mediump_uvec3_int_fragment" />
+<Test name="lowp_uvec4_int_vertex" />
+<Test name="lowp_uvec4_int_fragment" />
+<Test name="mediump_uvec4_int_vertex" />
+<Test name="mediump_uvec4_int_fragment" />
+<Test name="highp_uvec2_int_vertex" />
+<Test name="highp_uvec2_int_fragment" />
+<Test name="highp_uvec3_int_vertex" />
+<Test name="highp_uvec3_int_fragment" />
+<Test name="highp_uvec4_int_vertex" />
+<Test name="highp_uvec4_int_fragment" />
+</TestCase>
+<TestCase name="add_assign_result">
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+<Test name="lowp_uint_vertex" />
+<Test name="lowp_uint_fragment" />
+<Test name="mediump_uint_vertex" />
+<Test name="mediump_uint_fragment" />
+<Test name="lowp_uvec2_vertex" />
+<Test name="lowp_uvec2_fragment" />
+<Test name="mediump_uvec2_vertex" />
+<Test name="mediump_uvec2_fragment" />
+<Test name="lowp_uvec3_vertex" />
+<Test name="lowp_uvec3_fragment" />
+<Test name="mediump_uvec3_vertex" />
+<Test name="mediump_uvec3_fragment" />
+<Test name="lowp_uvec4_vertex" />
+<Test name="lowp_uvec4_fragment" />
+<Test name="mediump_uvec4_vertex" />
+<Test name="mediump_uvec4_fragment" />
+<Test name="highp_uint_vertex" />
+<Test name="highp_uint_fragment" />
+<Test name="highp_uvec2_vertex" />
+<Test name="highp_uvec2_fragment" />
+<Test name="highp_uvec3_vertex" />
+<Test name="highp_uvec3_fragment" />
+<Test name="highp_uvec4_vertex" />
+<Test name="highp_uvec4_fragment" />
+<Test name="lowp_vec2_float_vertex" />
+<Test name="lowp_vec2_float_fragment" />
+<Test name="mediump_vec2_float_vertex" />
+<Test name="mediump_vec2_float_fragment" />
+<Test name="highp_vec2_float_vertex" />
+<Test name="highp_vec2_float_fragment" />
+<Test name="lowp_vec3_float_vertex" />
+<Test name="lowp_vec3_float_fragment" />
+<Test name="mediump_vec3_float_vertex" />
+<Test name="mediump_vec3_float_fragment" />
+<Test name="highp_vec3_float_vertex" />
+<Test name="highp_vec3_float_fragment" />
+<Test name="lowp_vec4_float_vertex" />
+<Test name="lowp_vec4_float_fragment" />
+<Test name="mediump_vec4_float_vertex" />
+<Test name="mediump_vec4_float_fragment" />
+<Test name="highp_vec4_float_vertex" />
+<Test name="highp_vec4_float_fragment" />
+<Test name="lowp_ivec2_int_vertex" />
+<Test name="lowp_ivec2_int_fragment" />
+<Test name="mediump_ivec2_int_vertex" />
+<Test name="mediump_ivec2_int_fragment" />
+<Test name="lowp_ivec3_int_vertex" />
+<Test name="lowp_ivec3_int_fragment" />
+<Test name="mediump_ivec3_int_vertex" />
+<Test name="mediump_ivec3_int_fragment" />
+<Test name="lowp_ivec4_int_vertex" />
+<Test name="lowp_ivec4_int_fragment" />
+<Test name="mediump_ivec4_int_vertex" />
+<Test name="mediump_ivec4_int_fragment" />
+<Test name="highp_ivec2_int_vertex" />
+<Test name="highp_ivec2_int_fragment" />
+<Test name="highp_ivec3_int_vertex" />
+<Test name="highp_ivec3_int_fragment" />
+<Test name="highp_ivec4_int_vertex" />
+<Test name="highp_ivec4_int_fragment" />
+<Test name="lowp_uvec2_uint_vertex" />
+<Test name="lowp_uvec2_uint_fragment" />
+<Test name="mediump_uvec2_uint_vertex" />
+<Test name="mediump_uvec2_uint_fragment" />
+<Test name="lowp_uvec3_uint_vertex" />
+<Test name="lowp_uvec3_uint_fragment" />
+<Test name="mediump_uvec3_uint_vertex" />
+<Test name="mediump_uvec3_uint_fragment" />
+<Test name="lowp_uvec4_uint_vertex" />
+<Test name="lowp_uvec4_uint_fragment" />
+<Test name="mediump_uvec4_uint_vertex" />
+<Test name="mediump_uvec4_uint_fragment" />
+<Test name="highp_uvec2_uint_vertex" />
+<Test name="highp_uvec2_uint_fragment" />
+<Test name="highp_uvec3_uint_vertex" />
+<Test name="highp_uvec3_uint_fragment" />
+<Test name="highp_uvec4_uint_vertex" />
+<Test name="highp_uvec4_uint_fragment" />
+</TestCase>
+<TestCase name="sub_assign_result">
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+<Test name="lowp_uint_vertex" />
+<Test name="lowp_uint_fragment" />
+<Test name="mediump_uint_vertex" />
+<Test name="mediump_uint_fragment" />
+<Test name="lowp_uvec2_vertex" />
+<Test name="lowp_uvec2_fragment" />
+<Test name="mediump_uvec2_vertex" />
+<Test name="mediump_uvec2_fragment" />
+<Test name="lowp_uvec3_vertex" />
+<Test name="lowp_uvec3_fragment" />
+<Test name="mediump_uvec3_vertex" />
+<Test name="mediump_uvec3_fragment" />
+<Test name="lowp_uvec4_vertex" />
+<Test name="lowp_uvec4_fragment" />
+<Test name="mediump_uvec4_vertex" />
+<Test name="mediump_uvec4_fragment" />
+<Test name="highp_uint_vertex" />
+<Test name="highp_uint_fragment" />
+<Test name="highp_uvec2_vertex" />
+<Test name="highp_uvec2_fragment" />
+<Test name="highp_uvec3_vertex" />
+<Test name="highp_uvec3_fragment" />
+<Test name="highp_uvec4_vertex" />
+<Test name="highp_uvec4_fragment" />
+<Test name="lowp_vec2_float_vertex" />
+<Test name="lowp_vec2_float_fragment" />
+<Test name="mediump_vec2_float_vertex" />
+<Test name="mediump_vec2_float_fragment" />
+<Test name="highp_vec2_float_vertex" />
+<Test name="highp_vec2_float_fragment" />
+<Test name="lowp_vec3_float_vertex" />
+<Test name="lowp_vec3_float_fragment" />
+<Test name="mediump_vec3_float_vertex" />
+<Test name="mediump_vec3_float_fragment" />
+<Test name="highp_vec3_float_vertex" />
+<Test name="highp_vec3_float_fragment" />
+<Test name="lowp_vec4_float_vertex" />
+<Test name="lowp_vec4_float_fragment" />
+<Test name="mediump_vec4_float_vertex" />
+<Test name="mediump_vec4_float_fragment" />
+<Test name="highp_vec4_float_vertex" />
+<Test name="highp_vec4_float_fragment" />
+<Test name="lowp_ivec2_int_vertex" />
+<Test name="lowp_ivec2_int_fragment" />
+<Test name="mediump_ivec2_int_vertex" />
+<Test name="mediump_ivec2_int_fragment" />
+<Test name="lowp_ivec3_int_vertex" />
+<Test name="lowp_ivec3_int_fragment" />
+<Test name="mediump_ivec3_int_vertex" />
+<Test name="mediump_ivec3_int_fragment" />
+<Test name="lowp_ivec4_int_vertex" />
+<Test name="lowp_ivec4_int_fragment" />
+<Test name="mediump_ivec4_int_vertex" />
+<Test name="mediump_ivec4_int_fragment" />
+<Test name="highp_ivec2_int_vertex" />
+<Test name="highp_ivec2_int_fragment" />
+<Test name="highp_ivec3_int_vertex" />
+<Test name="highp_ivec3_int_fragment" />
+<Test name="highp_ivec4_int_vertex" />
+<Test name="highp_ivec4_int_fragment" />
+<Test name="lowp_uvec2_uint_vertex" />
+<Test name="lowp_uvec2_uint_fragment" />
+<Test name="mediump_uvec2_uint_vertex" />
+<Test name="mediump_uvec2_uint_fragment" />
+<Test name="lowp_uvec3_uint_vertex" />
+<Test name="lowp_uvec3_uint_fragment" />
+<Test name="mediump_uvec3_uint_vertex" />
+<Test name="mediump_uvec3_uint_fragment" />
+<Test name="lowp_uvec4_uint_vertex" />
+<Test name="lowp_uvec4_uint_fragment" />
+<Test name="mediump_uvec4_uint_vertex" />
+<Test name="mediump_uvec4_uint_fragment" />
+<Test name="highp_uvec2_uint_vertex" />
+<Test name="highp_uvec2_uint_fragment" />
+<Test name="highp_uvec3_uint_vertex" />
+<Test name="highp_uvec3_uint_fragment" />
+<Test name="highp_uvec4_uint_vertex" />
+<Test name="highp_uvec4_uint_fragment" />
+</TestCase>
+<TestCase name="mul_assign_result">
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+<Test name="lowp_uint_vertex" />
+<Test name="lowp_uint_fragment" />
+<Test name="mediump_uint_vertex" />
+<Test name="mediump_uint_fragment" />
+<Test name="lowp_uvec2_vertex" />
+<Test name="lowp_uvec2_fragment" />
+<Test name="mediump_uvec2_vertex" />
+<Test name="mediump_uvec2_fragment" />
+<Test name="lowp_uvec3_vertex" />
+<Test name="lowp_uvec3_fragment" />
+<Test name="mediump_uvec3_vertex" />
+<Test name="mediump_uvec3_fragment" />
+<Test name="lowp_uvec4_vertex" />
+<Test name="lowp_uvec4_fragment" />
+<Test name="mediump_uvec4_vertex" />
+<Test name="mediump_uvec4_fragment" />
+<Test name="highp_uint_vertex" />
+<Test name="highp_uint_fragment" />
+<Test name="highp_uvec2_vertex" />
+<Test name="highp_uvec2_fragment" />
+<Test name="highp_uvec3_vertex" />
+<Test name="highp_uvec3_fragment" />
+<Test name="highp_uvec4_vertex" />
+<Test name="highp_uvec4_fragment" />
+<Test name="lowp_vec2_float_vertex" />
+<Test name="lowp_vec2_float_fragment" />
+<Test name="mediump_vec2_float_vertex" />
+<Test name="mediump_vec2_float_fragment" />
+<Test name="highp_vec2_float_vertex" />
+<Test name="highp_vec2_float_fragment" />
+<Test name="lowp_vec3_float_vertex" />
+<Test name="lowp_vec3_float_fragment" />
+<Test name="mediump_vec3_float_vertex" />
+<Test name="mediump_vec3_float_fragment" />
+<Test name="highp_vec3_float_vertex" />
+<Test name="highp_vec3_float_fragment" />
+<Test name="lowp_vec4_float_vertex" />
+<Test name="lowp_vec4_float_fragment" />
+<Test name="mediump_vec4_float_vertex" />
+<Test name="mediump_vec4_float_fragment" />
+<Test name="highp_vec4_float_vertex" />
+<Test name="highp_vec4_float_fragment" />
+<Test name="lowp_ivec2_int_vertex" />
+<Test name="lowp_ivec2_int_fragment" />
+<Test name="mediump_ivec2_int_vertex" />
+<Test name="mediump_ivec2_int_fragment" />
+<Test name="lowp_ivec3_int_vertex" />
+<Test name="lowp_ivec3_int_fragment" />
+<Test name="mediump_ivec3_int_vertex" />
+<Test name="mediump_ivec3_int_fragment" />
+<Test name="lowp_ivec4_int_vertex" />
+<Test name="lowp_ivec4_int_fragment" />
+<Test name="mediump_ivec4_int_vertex" />
+<Test name="mediump_ivec4_int_fragment" />
+<Test name="highp_ivec2_int_vertex" />
+<Test name="highp_ivec2_int_fragment" />
+<Test name="highp_ivec3_int_vertex" />
+<Test name="highp_ivec3_int_fragment" />
+<Test name="highp_ivec4_int_vertex" />
+<Test name="highp_ivec4_int_fragment" />
+<Test name="lowp_uvec2_uint_vertex" />
+<Test name="lowp_uvec2_uint_fragment" />
+<Test name="mediump_uvec2_uint_vertex" />
+<Test name="mediump_uvec2_uint_fragment" />
+<Test name="lowp_uvec3_uint_vertex" />
+<Test name="lowp_uvec3_uint_fragment" />
+<Test name="mediump_uvec3_uint_vertex" />
+<Test name="mediump_uvec3_uint_fragment" />
+<Test name="lowp_uvec4_uint_vertex" />
+<Test name="lowp_uvec4_uint_fragment" />
+<Test name="mediump_uvec4_uint_vertex" />
+<Test name="mediump_uvec4_uint_fragment" />
+<Test name="highp_uvec2_uint_vertex" />
+<Test name="highp_uvec2_uint_fragment" />
+<Test name="highp_uvec3_uint_vertex" />
+<Test name="highp_uvec3_uint_fragment" />
+<Test name="highp_uvec4_uint_vertex" />
+<Test name="highp_uvec4_uint_fragment" />
+</TestCase>
+<TestCase name="div_assign_result">
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+<Test name="lowp_uint_vertex" />
+<Test name="lowp_uint_fragment" />
+<Test name="mediump_uint_vertex" />
+<Test name="mediump_uint_fragment" />
+<Test name="lowp_uvec2_vertex" />
+<Test name="lowp_uvec2_fragment" />
+<Test name="mediump_uvec2_vertex" />
+<Test name="mediump_uvec2_fragment" />
+<Test name="lowp_uvec3_vertex" />
+<Test name="lowp_uvec3_fragment" />
+<Test name="mediump_uvec3_vertex" />
+<Test name="mediump_uvec3_fragment" />
+<Test name="lowp_uvec4_vertex" />
+<Test name="lowp_uvec4_fragment" />
+<Test name="mediump_uvec4_vertex" />
+<Test name="mediump_uvec4_fragment" />
+<Test name="highp_uint_vertex" />
+<Test name="highp_uint_fragment" />
+<Test name="highp_uvec2_vertex" />
+<Test name="highp_uvec2_fragment" />
+<Test name="highp_uvec3_vertex" />
+<Test name="highp_uvec3_fragment" />
+<Test name="highp_uvec4_vertex" />
+<Test name="highp_uvec4_fragment" />
+<Test name="lowp_vec2_float_vertex" />
+<Test name="lowp_vec2_float_fragment" />
+<Test name="mediump_vec2_float_vertex" />
+<Test name="mediump_vec2_float_fragment" />
+<Test name="highp_vec2_float_vertex" />
+<Test name="highp_vec2_float_fragment" />
+<Test name="lowp_vec3_float_vertex" />
+<Test name="lowp_vec3_float_fragment" />
+<Test name="mediump_vec3_float_vertex" />
+<Test name="mediump_vec3_float_fragment" />
+<Test name="highp_vec3_float_vertex" />
+<Test name="highp_vec3_float_fragment" />
+<Test name="lowp_vec4_float_vertex" />
+<Test name="lowp_vec4_float_fragment" />
+<Test name="mediump_vec4_float_vertex" />
+<Test name="mediump_vec4_float_fragment" />
+<Test name="highp_vec4_float_vertex" />
+<Test name="highp_vec4_float_fragment" />
+<Test name="lowp_ivec2_int_vertex" />
+<Test name="lowp_ivec2_int_fragment" />
+<Test name="mediump_ivec2_int_vertex" />
+<Test name="mediump_ivec2_int_fragment" />
+<Test name="lowp_ivec3_int_vertex" />
+<Test name="lowp_ivec3_int_fragment" />
+<Test name="mediump_ivec3_int_vertex" />
+<Test name="mediump_ivec3_int_fragment" />
+<Test name="lowp_ivec4_int_vertex" />
+<Test name="lowp_ivec4_int_fragment" />
+<Test name="mediump_ivec4_int_vertex" />
+<Test name="mediump_ivec4_int_fragment" />
+<Test name="highp_ivec2_int_vertex" />
+<Test name="highp_ivec2_int_fragment" />
+<Test name="highp_ivec3_int_vertex" />
+<Test name="highp_ivec3_int_fragment" />
+<Test name="highp_ivec4_int_vertex" />
+<Test name="highp_ivec4_int_fragment" />
+<Test name="lowp_uvec2_uint_vertex" />
+<Test name="lowp_uvec2_uint_fragment" />
+<Test name="mediump_uvec2_uint_vertex" />
+<Test name="mediump_uvec2_uint_fragment" />
+<Test name="lowp_uvec3_uint_vertex" />
+<Test name="lowp_uvec3_uint_fragment" />
+<Test name="mediump_uvec3_uint_vertex" />
+<Test name="mediump_uvec3_uint_fragment" />
+<Test name="lowp_uvec4_uint_vertex" />
+<Test name="lowp_uvec4_uint_fragment" />
+<Test name="mediump_uvec4_uint_vertex" />
+<Test name="mediump_uvec4_uint_fragment" />
+<Test name="highp_uvec2_uint_vertex" />
+<Test name="highp_uvec2_uint_fragment" />
+<Test name="highp_uvec3_uint_vertex" />
+<Test name="highp_uvec3_uint_fragment" />
+<Test name="highp_uvec4_uint_vertex" />
+<Test name="highp_uvec4_uint_fragment" />
+</TestCase>
+<TestCase name="mod_assign_result">
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+<Test name="lowp_uint_vertex" />
+<Test name="lowp_uint_fragment" />
+<Test name="mediump_uint_vertex" />
+<Test name="mediump_uint_fragment" />
+<Test name="lowp_uvec2_vertex" />
+<Test name="lowp_uvec2_fragment" />
+<Test name="mediump_uvec2_vertex" />
+<Test name="mediump_uvec2_fragment" />
+<Test name="lowp_uvec3_vertex" />
+<Test name="lowp_uvec3_fragment" />
+<Test name="mediump_uvec3_vertex" />
+<Test name="mediump_uvec3_fragment" />
+<Test name="lowp_uvec4_vertex" />
+<Test name="lowp_uvec4_fragment" />
+<Test name="mediump_uvec4_vertex" />
+<Test name="mediump_uvec4_fragment" />
+<Test name="highp_uint_vertex" />
+<Test name="highp_uint_fragment" />
+<Test name="highp_uvec2_vertex" />
+<Test name="highp_uvec2_fragment" />
+<Test name="highp_uvec3_vertex" />
+<Test name="highp_uvec3_fragment" />
+<Test name="highp_uvec4_vertex" />
+<Test name="highp_uvec4_fragment" />
+<Test name="lowp_ivec2_int_vertex" />
+<Test name="lowp_ivec2_int_fragment" />
+<Test name="mediump_ivec2_int_vertex" />
+<Test name="mediump_ivec2_int_fragment" />
+<Test name="lowp_ivec3_int_vertex" />
+<Test name="lowp_ivec3_int_fragment" />
+<Test name="mediump_ivec3_int_vertex" />
+<Test name="mediump_ivec3_int_fragment" />
+<Test name="lowp_ivec4_int_vertex" />
+<Test name="lowp_ivec4_int_fragment" />
+<Test name="mediump_ivec4_int_vertex" />
+<Test name="mediump_ivec4_int_fragment" />
+<Test name="highp_ivec2_int_vertex" />
+<Test name="highp_ivec2_int_fragment" />
+<Test name="highp_ivec3_int_vertex" />
+<Test name="highp_ivec3_int_fragment" />
+<Test name="highp_ivec4_int_vertex" />
+<Test name="highp_ivec4_int_fragment" />
+<Test name="lowp_uvec2_uint_vertex" />
+<Test name="lowp_uvec2_uint_fragment" />
+<Test name="mediump_uvec2_uint_vertex" />
+<Test name="mediump_uvec2_uint_fragment" />
+<Test name="lowp_uvec3_uint_vertex" />
+<Test name="lowp_uvec3_uint_fragment" />
+<Test name="mediump_uvec3_uint_vertex" />
+<Test name="mediump_uvec3_uint_fragment" />
+<Test name="lowp_uvec4_uint_vertex" />
+<Test name="lowp_uvec4_uint_fragment" />
+<Test name="mediump_uvec4_uint_vertex" />
+<Test name="mediump_uvec4_uint_fragment" />
+<Test name="highp_uvec2_uint_vertex" />
+<Test name="highp_uvec2_uint_fragment" />
+<Test name="highp_uvec3_uint_vertex" />
+<Test name="highp_uvec3_uint_fragment" />
+<Test name="highp_uvec4_uint_vertex" />
+<Test name="highp_uvec4_uint_fragment" />
+</TestCase>
+<TestCase name="bitwise_and_assign_result">
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+<Test name="lowp_uint_vertex" />
+<Test name="lowp_uint_fragment" />
+<Test name="mediump_uint_vertex" />
+<Test name="mediump_uint_fragment" />
+<Test name="lowp_uvec2_vertex" />
+<Test name="lowp_uvec2_fragment" />
+<Test name="mediump_uvec2_vertex" />
+<Test name="mediump_uvec2_fragment" />
+<Test name="lowp_uvec3_vertex" />
+<Test name="lowp_uvec3_fragment" />
+<Test name="mediump_uvec3_vertex" />
+<Test name="mediump_uvec3_fragment" />
+<Test name="lowp_uvec4_vertex" />
+<Test name="lowp_uvec4_fragment" />
+<Test name="mediump_uvec4_vertex" />
+<Test name="mediump_uvec4_fragment" />
+<Test name="highp_uint_vertex" />
+<Test name="highp_uint_fragment" />
+<Test name="highp_uvec2_vertex" />
+<Test name="highp_uvec2_fragment" />
+<Test name="highp_uvec3_vertex" />
+<Test name="highp_uvec3_fragment" />
+<Test name="highp_uvec4_vertex" />
+<Test name="highp_uvec4_fragment" />
+<Test name="lowp_ivec2_int_vertex" />
+<Test name="lowp_ivec2_int_fragment" />
+<Test name="mediump_ivec2_int_vertex" />
+<Test name="mediump_ivec2_int_fragment" />
+<Test name="lowp_ivec3_int_vertex" />
+<Test name="lowp_ivec3_int_fragment" />
+<Test name="mediump_ivec3_int_vertex" />
+<Test name="mediump_ivec3_int_fragment" />
+<Test name="lowp_ivec4_int_vertex" />
+<Test name="lowp_ivec4_int_fragment" />
+<Test name="mediump_ivec4_int_vertex" />
+<Test name="mediump_ivec4_int_fragment" />
+<Test name="highp_ivec2_int_vertex" />
+<Test name="highp_ivec2_int_fragment" />
+<Test name="highp_ivec3_int_vertex" />
+<Test name="highp_ivec3_int_fragment" />
+<Test name="highp_ivec4_int_vertex" />
+<Test name="highp_ivec4_int_fragment" />
+<Test name="lowp_uvec2_uint_vertex" />
+<Test name="lowp_uvec2_uint_fragment" />
+<Test name="mediump_uvec2_uint_vertex" />
+<Test name="mediump_uvec2_uint_fragment" />
+<Test name="lowp_uvec3_uint_vertex" />
+<Test name="lowp_uvec3_uint_fragment" />
+<Test name="mediump_uvec3_uint_vertex" />
+<Test name="mediump_uvec3_uint_fragment" />
+<Test name="lowp_uvec4_uint_vertex" />
+<Test name="lowp_uvec4_uint_fragment" />
+<Test name="mediump_uvec4_uint_vertex" />
+<Test name="mediump_uvec4_uint_fragment" />
+<Test name="highp_uvec2_uint_vertex" />
+<Test name="highp_uvec2_uint_fragment" />
+<Test name="highp_uvec3_uint_vertex" />
+<Test name="highp_uvec3_uint_fragment" />
+<Test name="highp_uvec4_uint_vertex" />
+<Test name="highp_uvec4_uint_fragment" />
+</TestCase>
+<TestCase name="bitwise_or_assign_result">
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+<Test name="lowp_uint_vertex" />
+<Test name="lowp_uint_fragment" />
+<Test name="mediump_uint_vertex" />
+<Test name="mediump_uint_fragment" />
+<Test name="lowp_uvec2_vertex" />
+<Test name="lowp_uvec2_fragment" />
+<Test name="mediump_uvec2_vertex" />
+<Test name="mediump_uvec2_fragment" />
+<Test name="lowp_uvec3_vertex" />
+<Test name="lowp_uvec3_fragment" />
+<Test name="mediump_uvec3_vertex" />
+<Test name="mediump_uvec3_fragment" />
+<Test name="lowp_uvec4_vertex" />
+<Test name="lowp_uvec4_fragment" />
+<Test name="mediump_uvec4_vertex" />
+<Test name="mediump_uvec4_fragment" />
+<Test name="highp_uint_vertex" />
+<Test name="highp_uint_fragment" />
+<Test name="highp_uvec2_vertex" />
+<Test name="highp_uvec2_fragment" />
+<Test name="highp_uvec3_vertex" />
+<Test name="highp_uvec3_fragment" />
+<Test name="highp_uvec4_vertex" />
+<Test name="highp_uvec4_fragment" />
+<Test name="lowp_ivec2_int_vertex" />
+<Test name="lowp_ivec2_int_fragment" />
+<Test name="mediump_ivec2_int_vertex" />
+<Test name="mediump_ivec2_int_fragment" />
+<Test name="lowp_ivec3_int_vertex" />
+<Test name="lowp_ivec3_int_fragment" />
+<Test name="mediump_ivec3_int_vertex" />
+<Test name="mediump_ivec3_int_fragment" />
+<Test name="lowp_ivec4_int_vertex" />
+<Test name="lowp_ivec4_int_fragment" />
+<Test name="mediump_ivec4_int_vertex" />
+<Test name="mediump_ivec4_int_fragment" />
+<Test name="highp_ivec2_int_vertex" />
+<Test name="highp_ivec2_int_fragment" />
+<Test name="highp_ivec3_int_vertex" />
+<Test name="highp_ivec3_int_fragment" />
+<Test name="highp_ivec4_int_vertex" />
+<Test name="highp_ivec4_int_fragment" />
+<Test name="lowp_uvec2_uint_vertex" />
+<Test name="lowp_uvec2_uint_fragment" />
+<Test name="mediump_uvec2_uint_vertex" />
+<Test name="mediump_uvec2_uint_fragment" />
+<Test name="lowp_uvec3_uint_vertex" />
+<Test name="lowp_uvec3_uint_fragment" />
+<Test name="mediump_uvec3_uint_vertex" />
+<Test name="mediump_uvec3_uint_fragment" />
+<Test name="lowp_uvec4_uint_vertex" />
+<Test name="lowp_uvec4_uint_fragment" />
+<Test name="mediump_uvec4_uint_vertex" />
+<Test name="mediump_uvec4_uint_fragment" />
+<Test name="highp_uvec2_uint_vertex" />
+<Test name="highp_uvec2_uint_fragment" />
+<Test name="highp_uvec3_uint_vertex" />
+<Test name="highp_uvec3_uint_fragment" />
+<Test name="highp_uvec4_uint_vertex" />
+<Test name="highp_uvec4_uint_fragment" />
+</TestCase>
+<TestCase name="bitwise_xor_assign_result">
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+<Test name="lowp_uint_vertex" />
+<Test name="lowp_uint_fragment" />
+<Test name="mediump_uint_vertex" />
+<Test name="mediump_uint_fragment" />
+<Test name="lowp_uvec2_vertex" />
+<Test name="lowp_uvec2_fragment" />
+<Test name="mediump_uvec2_vertex" />
+<Test name="mediump_uvec2_fragment" />
+<Test name="lowp_uvec3_vertex" />
+<Test name="lowp_uvec3_fragment" />
+<Test name="mediump_uvec3_vertex" />
+<Test name="mediump_uvec3_fragment" />
+<Test name="lowp_uvec4_vertex" />
+<Test name="lowp_uvec4_fragment" />
+<Test name="mediump_uvec4_vertex" />
+<Test name="mediump_uvec4_fragment" />
+<Test name="highp_uint_vertex" />
+<Test name="highp_uint_fragment" />
+<Test name="highp_uvec2_vertex" />
+<Test name="highp_uvec2_fragment" />
+<Test name="highp_uvec3_vertex" />
+<Test name="highp_uvec3_fragment" />
+<Test name="highp_uvec4_vertex" />
+<Test name="highp_uvec4_fragment" />
+<Test name="lowp_ivec2_int_vertex" />
+<Test name="lowp_ivec2_int_fragment" />
+<Test name="mediump_ivec2_int_vertex" />
+<Test name="mediump_ivec2_int_fragment" />
+<Test name="lowp_ivec3_int_vertex" />
+<Test name="lowp_ivec3_int_fragment" />
+<Test name="mediump_ivec3_int_vertex" />
+<Test name="mediump_ivec3_int_fragment" />
+<Test name="lowp_ivec4_int_vertex" />
+<Test name="lowp_ivec4_int_fragment" />
+<Test name="mediump_ivec4_int_vertex" />
+<Test name="mediump_ivec4_int_fragment" />
+<Test name="highp_ivec2_int_vertex" />
+<Test name="highp_ivec2_int_fragment" />
+<Test name="highp_ivec3_int_vertex" />
+<Test name="highp_ivec3_int_fragment" />
+<Test name="highp_ivec4_int_vertex" />
+<Test name="highp_ivec4_int_fragment" />
+<Test name="lowp_uvec2_uint_vertex" />
+<Test name="lowp_uvec2_uint_fragment" />
+<Test name="mediump_uvec2_uint_vertex" />
+<Test name="mediump_uvec2_uint_fragment" />
+<Test name="lowp_uvec3_uint_vertex" />
+<Test name="lowp_uvec3_uint_fragment" />
+<Test name="mediump_uvec3_uint_vertex" />
+<Test name="mediump_uvec3_uint_fragment" />
+<Test name="lowp_uvec4_uint_vertex" />
+<Test name="lowp_uvec4_uint_fragment" />
+<Test name="mediump_uvec4_uint_vertex" />
+<Test name="mediump_uvec4_uint_fragment" />
+<Test name="highp_uvec2_uint_vertex" />
+<Test name="highp_uvec2_uint_fragment" />
+<Test name="highp_uvec3_uint_vertex" />
+<Test name="highp_uvec3_uint_fragment" />
+<Test name="highp_uvec4_uint_vertex" />
+<Test name="highp_uvec4_uint_fragment" />
+</TestCase>
+<TestCase name="left_shift_assign_result">
+<Test name="lowp_int_uint_vertex" />
+<Test name="lowp_int_uint_fragment" />
+<Test name="mediump_int_uint_vertex" />
+<Test name="mediump_int_uint_fragment" />
+<Test name="lowp_ivec2_uvec2_vertex" />
+<Test name="lowp_ivec2_uvec2_fragment" />
+<Test name="mediump_ivec2_uvec2_vertex" />
+<Test name="mediump_ivec2_uvec2_fragment" />
+<Test name="lowp_ivec3_uvec3_vertex" />
+<Test name="lowp_ivec3_uvec3_fragment" />
+<Test name="mediump_ivec3_uvec3_vertex" />
+<Test name="mediump_ivec3_uvec3_fragment" />
+<Test name="lowp_ivec4_uvec4_vertex" />
+<Test name="lowp_ivec4_uvec4_fragment" />
+<Test name="mediump_ivec4_uvec4_vertex" />
+<Test name="mediump_ivec4_uvec4_fragment" />
+<Test name="highp_int_uint_vertex" />
+<Test name="highp_int_uint_fragment" />
+<Test name="highp_ivec2_uvec2_vertex" />
+<Test name="highp_ivec2_uvec2_fragment" />
+<Test name="highp_ivec3_uvec3_vertex" />
+<Test name="highp_ivec3_uvec3_fragment" />
+<Test name="highp_ivec4_uvec4_vertex" />
+<Test name="highp_ivec4_uvec4_fragment" />
+<Test name="lowp_uint_vertex" />
+<Test name="lowp_uint_fragment" />
+<Test name="mediump_uint_vertex" />
+<Test name="mediump_uint_fragment" />
+<Test name="lowp_uvec2_vertex" />
+<Test name="lowp_uvec2_fragment" />
+<Test name="mediump_uvec2_vertex" />
+<Test name="mediump_uvec2_fragment" />
+<Test name="lowp_uvec3_vertex" />
+<Test name="lowp_uvec3_fragment" />
+<Test name="mediump_uvec3_vertex" />
+<Test name="mediump_uvec3_fragment" />
+<Test name="lowp_uvec4_vertex" />
+<Test name="lowp_uvec4_fragment" />
+<Test name="mediump_uvec4_vertex" />
+<Test name="mediump_uvec4_fragment" />
+<Test name="highp_uint_vertex" />
+<Test name="highp_uint_fragment" />
+<Test name="highp_uvec2_vertex" />
+<Test name="highp_uvec2_fragment" />
+<Test name="highp_uvec3_vertex" />
+<Test name="highp_uvec3_fragment" />
+<Test name="highp_uvec4_vertex" />
+<Test name="highp_uvec4_fragment" />
+<Test name="lowp_ivec2_uint_vertex" />
+<Test name="lowp_ivec2_uint_fragment" />
+<Test name="mediump_ivec2_uint_vertex" />
+<Test name="mediump_ivec2_uint_fragment" />
+<Test name="lowp_ivec3_uint_vertex" />
+<Test name="lowp_ivec3_uint_fragment" />
+<Test name="mediump_ivec3_uint_vertex" />
+<Test name="mediump_ivec3_uint_fragment" />
+<Test name="lowp_ivec4_uint_vertex" />
+<Test name="lowp_ivec4_uint_fragment" />
+<Test name="mediump_ivec4_uint_vertex" />
+<Test name="mediump_ivec4_uint_fragment" />
+<Test name="highp_ivec2_uint_vertex" />
+<Test name="highp_ivec2_uint_fragment" />
+<Test name="highp_ivec3_uint_vertex" />
+<Test name="highp_ivec3_uint_fragment" />
+<Test name="highp_ivec4_uint_vertex" />
+<Test name="highp_ivec4_uint_fragment" />
+<Test name="lowp_uvec2_uint_vertex" />
+<Test name="lowp_uvec2_uint_fragment" />
+<Test name="mediump_uvec2_uint_vertex" />
+<Test name="mediump_uvec2_uint_fragment" />
+<Test name="lowp_uvec3_uint_vertex" />
+<Test name="lowp_uvec3_uint_fragment" />
+<Test name="mediump_uvec3_uint_vertex" />
+<Test name="mediump_uvec3_uint_fragment" />
+<Test name="lowp_uvec4_uint_vertex" />
+<Test name="lowp_uvec4_uint_fragment" />
+<Test name="mediump_uvec4_uint_vertex" />
+<Test name="mediump_uvec4_uint_fragment" />
+<Test name="highp_uvec2_uint_vertex" />
+<Test name="highp_uvec2_uint_fragment" />
+<Test name="highp_uvec3_uint_vertex" />
+<Test name="highp_uvec3_uint_fragment" />
+<Test name="highp_uvec4_uint_vertex" />
+<Test name="highp_uvec4_uint_fragment" />
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+<Test name="lowp_uint_int_vertex" />
+<Test name="lowp_uint_int_fragment" />
+<Test name="mediump_uint_int_vertex" />
+<Test name="mediump_uint_int_fragment" />
+<Test name="lowp_uvec2_ivec2_vertex" />
+<Test name="lowp_uvec2_ivec2_fragment" />
+<Test name="mediump_uvec2_ivec2_vertex" />
+<Test name="mediump_uvec2_ivec2_fragment" />
+<Test name="lowp_uvec3_ivec3_vertex" />
+<Test name="lowp_uvec3_ivec3_fragment" />
+<Test name="mediump_uvec3_ivec3_vertex" />
+<Test name="mediump_uvec3_ivec3_fragment" />
+<Test name="lowp_uvec4_ivec4_vertex" />
+<Test name="lowp_uvec4_ivec4_fragment" />
+<Test name="mediump_uvec4_ivec4_vertex" />
+<Test name="mediump_uvec4_ivec4_fragment" />
+<Test name="highp_uint_int_vertex" />
+<Test name="highp_uint_int_fragment" />
+<Test name="highp_uvec2_ivec2_vertex" />
+<Test name="highp_uvec2_ivec2_fragment" />
+<Test name="highp_uvec3_ivec3_vertex" />
+<Test name="highp_uvec3_ivec3_fragment" />
+<Test name="highp_uvec4_ivec4_vertex" />
+<Test name="highp_uvec4_ivec4_fragment" />
+<Test name="lowp_ivec2_int_vertex" />
+<Test name="lowp_ivec2_int_fragment" />
+<Test name="mediump_ivec2_int_vertex" />
+<Test name="mediump_ivec2_int_fragment" />
+<Test name="lowp_ivec3_int_vertex" />
+<Test name="lowp_ivec3_int_fragment" />
+<Test name="mediump_ivec3_int_vertex" />
+<Test name="mediump_ivec3_int_fragment" />
+<Test name="lowp_ivec4_int_vertex" />
+<Test name="lowp_ivec4_int_fragment" />
+<Test name="mediump_ivec4_int_vertex" />
+<Test name="mediump_ivec4_int_fragment" />
+<Test name="highp_ivec2_int_vertex" />
+<Test name="highp_ivec2_int_fragment" />
+<Test name="highp_ivec3_int_vertex" />
+<Test name="highp_ivec3_int_fragment" />
+<Test name="highp_ivec4_int_vertex" />
+<Test name="highp_ivec4_int_fragment" />
+<Test name="lowp_uvec2_int_vertex" />
+<Test name="lowp_uvec2_int_fragment" />
+<Test name="mediump_uvec2_int_vertex" />
+<Test name="mediump_uvec2_int_fragment" />
+<Test name="lowp_uvec3_int_vertex" />
+<Test name="lowp_uvec3_int_fragment" />
+<Test name="mediump_uvec3_int_vertex" />
+<Test name="mediump_uvec3_int_fragment" />
+<Test name="lowp_uvec4_int_vertex" />
+<Test name="lowp_uvec4_int_fragment" />
+<Test name="mediump_uvec4_int_vertex" />
+<Test name="mediump_uvec4_int_fragment" />
+<Test name="highp_uvec2_int_vertex" />
+<Test name="highp_uvec2_int_fragment" />
+<Test name="highp_uvec3_int_vertex" />
+<Test name="highp_uvec3_int_fragment" />
+<Test name="highp_uvec4_int_vertex" />
+<Test name="highp_uvec4_int_fragment" />
+</TestCase>
+<TestCase name="right_shift_assign_result">
+<Test name="lowp_int_uint_vertex" />
+<Test name="lowp_int_uint_fragment" />
+<Test name="mediump_int_uint_vertex" />
+<Test name="mediump_int_uint_fragment" />
+<Test name="lowp_ivec2_uvec2_vertex" />
+<Test name="lowp_ivec2_uvec2_fragment" />
+<Test name="mediump_ivec2_uvec2_vertex" />
+<Test name="mediump_ivec2_uvec2_fragment" />
+<Test name="lowp_ivec3_uvec3_vertex" />
+<Test name="lowp_ivec3_uvec3_fragment" />
+<Test name="mediump_ivec3_uvec3_vertex" />
+<Test name="mediump_ivec3_uvec3_fragment" />
+<Test name="lowp_ivec4_uvec4_vertex" />
+<Test name="lowp_ivec4_uvec4_fragment" />
+<Test name="mediump_ivec4_uvec4_vertex" />
+<Test name="mediump_ivec4_uvec4_fragment" />
+<Test name="highp_int_uint_vertex" />
+<Test name="highp_int_uint_fragment" />
+<Test name="highp_ivec2_uvec2_vertex" />
+<Test name="highp_ivec2_uvec2_fragment" />
+<Test name="highp_ivec3_uvec3_vertex" />
+<Test name="highp_ivec3_uvec3_fragment" />
+<Test name="highp_ivec4_uvec4_vertex" />
+<Test name="highp_ivec4_uvec4_fragment" />
+<Test name="lowp_uint_vertex" />
+<Test name="lowp_uint_fragment" />
+<Test name="mediump_uint_vertex" />
+<Test name="mediump_uint_fragment" />
+<Test name="lowp_uvec2_vertex" />
+<Test name="lowp_uvec2_fragment" />
+<Test name="mediump_uvec2_vertex" />
+<Test name="mediump_uvec2_fragment" />
+<Test name="lowp_uvec3_vertex" />
+<Test name="lowp_uvec3_fragment" />
+<Test name="mediump_uvec3_vertex" />
+<Test name="mediump_uvec3_fragment" />
+<Test name="lowp_uvec4_vertex" />
+<Test name="lowp_uvec4_fragment" />
+<Test name="mediump_uvec4_vertex" />
+<Test name="mediump_uvec4_fragment" />
+<Test name="highp_uint_vertex" />
+<Test name="highp_uint_fragment" />
+<Test name="highp_uvec2_vertex" />
+<Test name="highp_uvec2_fragment" />
+<Test name="highp_uvec3_vertex" />
+<Test name="highp_uvec3_fragment" />
+<Test name="highp_uvec4_vertex" />
+<Test name="highp_uvec4_fragment" />
+<Test name="lowp_ivec2_uint_vertex" />
+<Test name="lowp_ivec2_uint_fragment" />
+<Test name="mediump_ivec2_uint_vertex" />
+<Test name="mediump_ivec2_uint_fragment" />
+<Test name="lowp_ivec3_uint_vertex" />
+<Test name="lowp_ivec3_uint_fragment" />
+<Test name="mediump_ivec3_uint_vertex" />
+<Test name="mediump_ivec3_uint_fragment" />
+<Test name="lowp_ivec4_uint_vertex" />
+<Test name="lowp_ivec4_uint_fragment" />
+<Test name="mediump_ivec4_uint_vertex" />
+<Test name="mediump_ivec4_uint_fragment" />
+<Test name="highp_ivec2_uint_vertex" />
+<Test name="highp_ivec2_uint_fragment" />
+<Test name="highp_ivec3_uint_vertex" />
+<Test name="highp_ivec3_uint_fragment" />
+<Test name="highp_ivec4_uint_vertex" />
+<Test name="highp_ivec4_uint_fragment" />
+<Test name="lowp_uvec2_uint_vertex" />
+<Test name="lowp_uvec2_uint_fragment" />
+<Test name="mediump_uvec2_uint_vertex" />
+<Test name="mediump_uvec2_uint_fragment" />
+<Test name="lowp_uvec3_uint_vertex" />
+<Test name="lowp_uvec3_uint_fragment" />
+<Test name="mediump_uvec3_uint_vertex" />
+<Test name="mediump_uvec3_uint_fragment" />
+<Test name="lowp_uvec4_uint_vertex" />
+<Test name="lowp_uvec4_uint_fragment" />
+<Test name="mediump_uvec4_uint_vertex" />
+<Test name="mediump_uvec4_uint_fragment" />
+<Test name="highp_uvec2_uint_vertex" />
+<Test name="highp_uvec2_uint_fragment" />
+<Test name="highp_uvec3_uint_vertex" />
+<Test name="highp_uvec3_uint_fragment" />
+<Test name="highp_uvec4_uint_vertex" />
+<Test name="highp_uvec4_uint_fragment" />
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+<Test name="lowp_uint_int_vertex" />
+<Test name="lowp_uint_int_fragment" />
+<Test name="mediump_uint_int_vertex" />
+<Test name="mediump_uint_int_fragment" />
+<Test name="lowp_uvec2_ivec2_vertex" />
+<Test name="lowp_uvec2_ivec2_fragment" />
+<Test name="mediump_uvec2_ivec2_vertex" />
+<Test name="mediump_uvec2_ivec2_fragment" />
+<Test name="lowp_uvec3_ivec3_vertex" />
+<Test name="lowp_uvec3_ivec3_fragment" />
+<Test name="mediump_uvec3_ivec3_vertex" />
+<Test name="mediump_uvec3_ivec3_fragment" />
+<Test name="lowp_uvec4_ivec4_vertex" />
+<Test name="lowp_uvec4_ivec4_fragment" />
+<Test name="mediump_uvec4_ivec4_vertex" />
+<Test name="mediump_uvec4_ivec4_fragment" />
+<Test name="highp_uint_int_vertex" />
+<Test name="highp_uint_int_fragment" />
+<Test name="highp_uvec2_ivec2_vertex" />
+<Test name="highp_uvec2_ivec2_fragment" />
+<Test name="highp_uvec3_ivec3_vertex" />
+<Test name="highp_uvec3_ivec3_fragment" />
+<Test name="highp_uvec4_ivec4_vertex" />
+<Test name="highp_uvec4_ivec4_fragment" />
+<Test name="lowp_ivec2_int_vertex" />
+<Test name="lowp_ivec2_int_fragment" />
+<Test name="mediump_ivec2_int_vertex" />
+<Test name="mediump_ivec2_int_fragment" />
+<Test name="lowp_ivec3_int_vertex" />
+<Test name="lowp_ivec3_int_fragment" />
+<Test name="mediump_ivec3_int_vertex" />
+<Test name="mediump_ivec3_int_fragment" />
+<Test name="lowp_ivec4_int_vertex" />
+<Test name="lowp_ivec4_int_fragment" />
+<Test name="mediump_ivec4_int_vertex" />
+<Test name="mediump_ivec4_int_fragment" />
+<Test name="highp_ivec2_int_vertex" />
+<Test name="highp_ivec2_int_fragment" />
+<Test name="highp_ivec3_int_vertex" />
+<Test name="highp_ivec3_int_fragment" />
+<Test name="highp_ivec4_int_vertex" />
+<Test name="highp_ivec4_int_fragment" />
+<Test name="lowp_uvec2_int_vertex" />
+<Test name="lowp_uvec2_int_fragment" />
+<Test name="mediump_uvec2_int_vertex" />
+<Test name="mediump_uvec2_int_fragment" />
+<Test name="lowp_uvec3_int_vertex" />
+<Test name="lowp_uvec3_int_fragment" />
+<Test name="mediump_uvec3_int_vertex" />
+<Test name="mediump_uvec3_int_fragment" />
+<Test name="lowp_uvec4_int_vertex" />
+<Test name="lowp_uvec4_int_fragment" />
+<Test name="mediump_uvec4_int_vertex" />
+<Test name="mediump_uvec4_int_fragment" />
+<Test name="highp_uvec2_int_vertex" />
+<Test name="highp_uvec2_int_fragment" />
+<Test name="highp_uvec3_int_vertex" />
+<Test name="highp_uvec3_int_fragment" />
+<Test name="highp_uvec4_int_vertex" />
+<Test name="highp_uvec4_int_fragment" />
+</TestCase>
+<TestCase name="less">
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="lowp_uint_vertex" />
+<Test name="lowp_uint_fragment" />
+<Test name="mediump_uint_vertex" />
+<Test name="mediump_uint_fragment" />
+<Test name="highp_uint_vertex" />
+<Test name="highp_uint_fragment" />
+</TestCase>
+<TestCase name="less_or_equal">
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="lowp_uint_vertex" />
+<Test name="lowp_uint_fragment" />
+<Test name="mediump_uint_vertex" />
+<Test name="mediump_uint_fragment" />
+<Test name="highp_uint_vertex" />
+<Test name="highp_uint_fragment" />
+</TestCase>
+<TestCase name="greater">
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="lowp_uint_vertex" />
+<Test name="lowp_uint_fragment" />
+<Test name="mediump_uint_vertex" />
+<Test name="mediump_uint_fragment" />
+<Test name="highp_uint_vertex" />
+<Test name="highp_uint_fragment" />
+</TestCase>
+<TestCase name="greater_or_equal">
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="lowp_uint_vertex" />
+<Test name="lowp_uint_fragment" />
+<Test name="mediump_uint_vertex" />
+<Test name="mediump_uint_fragment" />
+<Test name="highp_uint_vertex" />
+<Test name="highp_uint_fragment" />
+</TestCase>
+<TestCase name="equal">
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+<Test name="lowp_uint_vertex" />
+<Test name="lowp_uint_fragment" />
+<Test name="mediump_uint_vertex" />
+<Test name="mediump_uint_fragment" />
+<Test name="highp_uint_vertex" />
+<Test name="highp_uint_fragment" />
+<Test name="lowp_uvec2_vertex" />
+<Test name="lowp_uvec2_fragment" />
+<Test name="mediump_uvec2_vertex" />
+<Test name="mediump_uvec2_fragment" />
+<Test name="highp_uvec2_vertex" />
+<Test name="highp_uvec2_fragment" />
+<Test name="lowp_uvec3_vertex" />
+<Test name="lowp_uvec3_fragment" />
+<Test name="mediump_uvec3_vertex" />
+<Test name="mediump_uvec3_fragment" />
+<Test name="highp_uvec3_vertex" />
+<Test name="highp_uvec3_fragment" />
+<Test name="lowp_uvec4_vertex" />
+<Test name="lowp_uvec4_fragment" />
+<Test name="mediump_uvec4_vertex" />
+<Test name="mediump_uvec4_fragment" />
+<Test name="highp_uvec4_vertex" />
+<Test name="highp_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" />
+</TestCase>
+<TestCase name="not_equal">
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+<Test name="lowp_uint_vertex" />
+<Test name="lowp_uint_fragment" />
+<Test name="mediump_uint_vertex" />
+<Test name="mediump_uint_fragment" />
+<Test name="highp_uint_vertex" />
+<Test name="highp_uint_fragment" />
+<Test name="lowp_uvec2_vertex" />
+<Test name="lowp_uvec2_fragment" />
+<Test name="mediump_uvec2_vertex" />
+<Test name="mediump_uvec2_fragment" />
+<Test name="highp_uvec2_vertex" />
+<Test name="highp_uvec2_fragment" />
+<Test name="lowp_uvec3_vertex" />
+<Test name="lowp_uvec3_fragment" />
+<Test name="mediump_uvec3_vertex" />
+<Test name="mediump_uvec3_fragment" />
+<Test name="highp_uvec3_vertex" />
+<Test name="highp_uvec3_fragment" />
+<Test name="lowp_uvec4_vertex" />
+<Test name="lowp_uvec4_fragment" />
+<Test name="mediump_uvec4_vertex" />
+<Test name="mediump_uvec4_fragment" />
+<Test name="highp_uvec4_vertex" />
+<Test name="highp_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" />
+</TestCase>
+<TestCase name="logical_and">
+<Test name="bool_vertex" />
+<Test name="bool_fragment" />
+</TestCase>
+<TestCase name="logical_or">
+<Test name="bool_vertex" />
+<Test name="bool_fragment" />
+</TestCase>
+<TestCase name="logical_xor">
+<Test name="bool_vertex" />
+<Test name="bool_fragment" />
+</TestCase>
+</TestSuite>
+<TestSuite name="angle_and_trigonometry">
+<TestCase name="radians">
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+</TestCase>
+<TestCase name="degrees">
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+</TestCase>
+<TestCase name="sin">
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+</TestCase>
+<TestCase name="cos">
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+</TestCase>
+<TestCase name="tan">
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+</TestCase>
+<TestCase name="asin">
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+</TestCase>
+<TestCase name="acos">
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+</TestCase>
+<TestCase name="atan">
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+</TestCase>
+<TestCase name="atan2">
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+</TestCase>
+<TestCase name="sinh">
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+</TestCase>
+<TestCase name="cosh">
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+</TestCase>
+<TestCase name="tanh">
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+</TestCase>
+<TestCase name="asinh">
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+</TestCase>
+<TestCase name="acosh">
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+</TestCase>
+<TestCase name="atanh">
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_fragment" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_fragment" />
+</TestCase>
+</TestSuite>
+<TestSuite name="exponential">
+<TestCase name="pow">
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+</TestCase>
+<TestCase name="exp">
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+</TestCase>
+<TestCase name="log">
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+</TestCase>
+<TestCase name="exp2">
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+</TestCase>
+<TestCase name="log2">
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+</TestCase>
+<TestCase name="sqrt">
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+</TestCase>
+<TestCase name="inversesqrt">
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+</TestCase>
+</TestSuite>
+<TestSuite name="common_functions">
+<TestCase name="abs">
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+</TestCase>
+<TestCase name="sign">
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+</TestCase>
+<TestCase name="floor">
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+</TestCase>
+<TestCase name="trunc">
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+</TestCase>
+<TestCase name="round">
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+</TestCase>
+<TestCase name="roundEven">
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+</TestCase>
+<TestCase name="ceil">
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+</TestCase>
+<TestCase name="fract">
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+</TestCase>
+<TestCase name="mod">
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+<Test name="mediump_vec2_float_vertex" />
+<Test name="mediump_vec2_float_fragment" />
+<Test name="highp_vec2_float_vertex" />
+<Test name="highp_vec2_float_fragment" />
+<Test name="mediump_vec3_float_vertex" />
+<Test name="mediump_vec3_float_fragment" />
+<Test name="highp_vec3_float_vertex" />
+<Test name="highp_vec3_float_fragment" />
+<Test name="mediump_vec4_float_vertex" />
+<Test name="mediump_vec4_float_fragment" />
+<Test name="highp_vec4_float_vertex" />
+<Test name="highp_vec4_float_fragment" />
+</TestCase>
+<TestCase name="min">
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+<Test name="lowp_vec2_float_vertex" />
+<Test name="lowp_vec2_float_fragment" />
+<Test name="mediump_vec2_float_vertex" />
+<Test name="mediump_vec2_float_fragment" />
+<Test name="highp_vec2_float_vertex" />
+<Test name="highp_vec2_float_fragment" />
+<Test name="lowp_vec3_float_vertex" />
+<Test name="lowp_vec3_float_fragment" />
+<Test name="mediump_vec3_float_vertex" />
+<Test name="mediump_vec3_float_fragment" />
+<Test name="highp_vec3_float_vertex" />
+<Test name="highp_vec3_float_fragment" />
+<Test name="lowp_vec4_float_vertex" />
+<Test name="lowp_vec4_float_fragment" />
+<Test name="mediump_vec4_float_vertex" />
+<Test name="mediump_vec4_float_fragment" />
+<Test name="highp_vec4_float_vertex" />
+<Test name="highp_vec4_float_fragment" />
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+<Test name="lowp_ivec2_int_vertex" />
+<Test name="lowp_ivec2_int_fragment" />
+<Test name="mediump_ivec2_int_vertex" />
+<Test name="mediump_ivec2_int_fragment" />
+<Test name="highp_ivec2_int_vertex" />
+<Test name="highp_ivec2_int_fragment" />
+<Test name="lowp_ivec3_int_vertex" />
+<Test name="lowp_ivec3_int_fragment" />
+<Test name="mediump_ivec3_int_vertex" />
+<Test name="mediump_ivec3_int_fragment" />
+<Test name="highp_ivec3_int_vertex" />
+<Test name="highp_ivec3_int_fragment" />
+<Test name="lowp_ivec4_int_vertex" />
+<Test name="lowp_ivec4_int_fragment" />
+<Test name="mediump_ivec4_int_vertex" />
+<Test name="mediump_ivec4_int_fragment" />
+<Test name="highp_ivec4_int_vertex" />
+<Test name="highp_ivec4_int_fragment" />
+<Test name="lowp_uint_vertex" />
+<Test name="lowp_uint_fragment" />
+<Test name="mediump_uint_vertex" />
+<Test name="mediump_uint_fragment" />
+<Test name="highp_uint_vertex" />
+<Test name="highp_uint_fragment" />
+<Test name="lowp_uvec2_vertex" />
+<Test name="lowp_uvec2_fragment" />
+<Test name="mediump_uvec2_vertex" />
+<Test name="mediump_uvec2_fragment" />
+<Test name="highp_uvec2_vertex" />
+<Test name="highp_uvec2_fragment" />
+<Test name="lowp_uvec3_vertex" />
+<Test name="lowp_uvec3_fragment" />
+<Test name="mediump_uvec3_vertex" />
+<Test name="mediump_uvec3_fragment" />
+<Test name="highp_uvec3_vertex" />
+<Test name="highp_uvec3_fragment" />
+<Test name="lowp_uvec4_vertex" />
+<Test name="lowp_uvec4_fragment" />
+<Test name="mediump_uvec4_vertex" />
+<Test name="mediump_uvec4_fragment" />
+<Test name="highp_uvec4_vertex" />
+<Test name="highp_uvec4_fragment" />
+<Test name="lowp_uvec2_uint_vertex" />
+<Test name="lowp_uvec2_uint_fragment" />
+<Test name="mediump_uvec2_uint_vertex" />
+<Test name="mediump_uvec2_uint_fragment" />
+<Test name="highp_uvec2_uint_vertex" />
+<Test name="highp_uvec2_uint_fragment" />
+<Test name="lowp_uvec3_uint_vertex" />
+<Test name="lowp_uvec3_uint_fragment" />
+<Test name="mediump_uvec3_uint_vertex" />
+<Test name="mediump_uvec3_uint_fragment" />
+<Test name="highp_uvec3_uint_vertex" />
+<Test name="highp_uvec3_uint_fragment" />
+<Test name="lowp_uvec4_uint_vertex" />
+<Test name="lowp_uvec4_uint_fragment" />
+<Test name="mediump_uvec4_uint_vertex" />
+<Test name="mediump_uvec4_uint_fragment" />
+<Test name="highp_uvec4_uint_vertex" />
+<Test name="highp_uvec4_uint_fragment" />
+</TestCase>
+<TestCase name="max">
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+<Test name="lowp_vec2_float_vertex" />
+<Test name="lowp_vec2_float_fragment" />
+<Test name="mediump_vec2_float_vertex" />
+<Test name="mediump_vec2_float_fragment" />
+<Test name="highp_vec2_float_vertex" />
+<Test name="highp_vec2_float_fragment" />
+<Test name="lowp_vec3_float_vertex" />
+<Test name="lowp_vec3_float_fragment" />
+<Test name="mediump_vec3_float_vertex" />
+<Test name="mediump_vec3_float_fragment" />
+<Test name="highp_vec3_float_vertex" />
+<Test name="highp_vec3_float_fragment" />
+<Test name="lowp_vec4_float_vertex" />
+<Test name="lowp_vec4_float_fragment" />
+<Test name="mediump_vec4_float_vertex" />
+<Test name="mediump_vec4_float_fragment" />
+<Test name="highp_vec4_float_vertex" />
+<Test name="highp_vec4_float_fragment" />
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+<Test name="lowp_ivec2_int_vertex" />
+<Test name="lowp_ivec2_int_fragment" />
+<Test name="mediump_ivec2_int_vertex" />
+<Test name="mediump_ivec2_int_fragment" />
+<Test name="highp_ivec2_int_vertex" />
+<Test name="highp_ivec2_int_fragment" />
+<Test name="lowp_ivec3_int_vertex" />
+<Test name="lowp_ivec3_int_fragment" />
+<Test name="mediump_ivec3_int_vertex" />
+<Test name="mediump_ivec3_int_fragment" />
+<Test name="highp_ivec3_int_vertex" />
+<Test name="highp_ivec3_int_fragment" />
+<Test name="lowp_ivec4_int_vertex" />
+<Test name="lowp_ivec4_int_fragment" />
+<Test name="mediump_ivec4_int_vertex" />
+<Test name="mediump_ivec4_int_fragment" />
+<Test name="highp_ivec4_int_vertex" />
+<Test name="highp_ivec4_int_fragment" />
+<Test name="lowp_uint_vertex" />
+<Test name="lowp_uint_fragment" />
+<Test name="mediump_uint_vertex" />
+<Test name="mediump_uint_fragment" />
+<Test name="highp_uint_vertex" />
+<Test name="highp_uint_fragment" />
+<Test name="lowp_uvec2_vertex" />
+<Test name="lowp_uvec2_fragment" />
+<Test name="mediump_uvec2_vertex" />
+<Test name="mediump_uvec2_fragment" />
+<Test name="highp_uvec2_vertex" />
+<Test name="highp_uvec2_fragment" />
+<Test name="lowp_uvec3_vertex" />
+<Test name="lowp_uvec3_fragment" />
+<Test name="mediump_uvec3_vertex" />
+<Test name="mediump_uvec3_fragment" />
+<Test name="highp_uvec3_vertex" />
+<Test name="highp_uvec3_fragment" />
+<Test name="lowp_uvec4_vertex" />
+<Test name="lowp_uvec4_fragment" />
+<Test name="mediump_uvec4_vertex" />
+<Test name="mediump_uvec4_fragment" />
+<Test name="highp_uvec4_vertex" />
+<Test name="highp_uvec4_fragment" />
+<Test name="lowp_uvec2_uint_vertex" />
+<Test name="lowp_uvec2_uint_fragment" />
+<Test name="mediump_uvec2_uint_vertex" />
+<Test name="mediump_uvec2_uint_fragment" />
+<Test name="highp_uvec2_uint_vertex" />
+<Test name="highp_uvec2_uint_fragment" />
+<Test name="lowp_uvec3_uint_vertex" />
+<Test name="lowp_uvec3_uint_fragment" />
+<Test name="mediump_uvec3_uint_vertex" />
+<Test name="mediump_uvec3_uint_fragment" />
+<Test name="highp_uvec3_uint_vertex" />
+<Test name="highp_uvec3_uint_fragment" />
+<Test name="lowp_uvec4_uint_vertex" />
+<Test name="lowp_uvec4_uint_fragment" />
+<Test name="mediump_uvec4_uint_vertex" />
+<Test name="mediump_uvec4_uint_fragment" />
+<Test name="highp_uvec4_uint_vertex" />
+<Test name="highp_uvec4_uint_fragment" />
+</TestCase>
+<TestCase name="clamp">
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+<Test name="lowp_vec2_float_vertex" />
+<Test name="lowp_vec2_float_fragment" />
+<Test name="mediump_vec2_float_vertex" />
+<Test name="mediump_vec2_float_fragment" />
+<Test name="highp_vec2_float_vertex" />
+<Test name="highp_vec2_float_fragment" />
+<Test name="lowp_vec3_float_vertex" />
+<Test name="lowp_vec3_float_fragment" />
+<Test name="mediump_vec3_float_vertex" />
+<Test name="mediump_vec3_float_fragment" />
+<Test name="highp_vec3_float_vertex" />
+<Test name="highp_vec3_float_fragment" />
+<Test name="lowp_vec4_float_vertex" />
+<Test name="lowp_vec4_float_fragment" />
+<Test name="mediump_vec4_float_vertex" />
+<Test name="mediump_vec4_float_fragment" />
+<Test name="highp_vec4_float_vertex" />
+<Test name="highp_vec4_float_fragment" />
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+<Test name="lowp_ivec2_int_vertex" />
+<Test name="lowp_ivec2_int_fragment" />
+<Test name="mediump_ivec2_int_vertex" />
+<Test name="mediump_ivec2_int_fragment" />
+<Test name="highp_ivec2_int_vertex" />
+<Test name="highp_ivec2_int_fragment" />
+<Test name="lowp_ivec3_int_vertex" />
+<Test name="lowp_ivec3_int_fragment" />
+<Test name="mediump_ivec3_int_vertex" />
+<Test name="mediump_ivec3_int_fragment" />
+<Test name="highp_ivec3_int_vertex" />
+<Test name="highp_ivec3_int_fragment" />
+<Test name="lowp_ivec4_int_vertex" />
+<Test name="lowp_ivec4_int_fragment" />
+<Test name="mediump_ivec4_int_vertex" />
+<Test name="mediump_ivec4_int_fragment" />
+<Test name="highp_ivec4_int_vertex" />
+<Test name="highp_ivec4_int_fragment" />
+<Test name="lowp_uint_vertex" />
+<Test name="lowp_uint_fragment" />
+<Test name="mediump_uint_vertex" />
+<Test name="mediump_uint_fragment" />
+<Test name="highp_uint_vertex" />
+<Test name="highp_uint_fragment" />
+<Test name="lowp_uvec2_vertex" />
+<Test name="lowp_uvec2_fragment" />
+<Test name="mediump_uvec2_vertex" />
+<Test name="mediump_uvec2_fragment" />
+<Test name="highp_uvec2_vertex" />
+<Test name="highp_uvec2_fragment" />
+<Test name="lowp_uvec3_vertex" />
+<Test name="lowp_uvec3_fragment" />
+<Test name="mediump_uvec3_vertex" />
+<Test name="mediump_uvec3_fragment" />
+<Test name="highp_uvec3_vertex" />
+<Test name="highp_uvec3_fragment" />
+<Test name="lowp_uvec4_vertex" />
+<Test name="lowp_uvec4_fragment" />
+<Test name="mediump_uvec4_vertex" />
+<Test name="mediump_uvec4_fragment" />
+<Test name="highp_uvec4_vertex" />
+<Test name="highp_uvec4_fragment" />
+<Test name="lowp_uvec2_uint_vertex" />
+<Test name="lowp_uvec2_uint_fragment" />
+<Test name="mediump_uvec2_uint_vertex" />
+<Test name="mediump_uvec2_uint_fragment" />
+<Test name="highp_uvec2_uint_vertex" />
+<Test name="highp_uvec2_uint_fragment" />
+<Test name="lowp_uvec3_uint_vertex" />
+<Test name="lowp_uvec3_uint_fragment" />
+<Test name="mediump_uvec3_uint_vertex" />
+<Test name="mediump_uvec3_uint_fragment" />
+<Test name="highp_uvec3_uint_vertex" />
+<Test name="highp_uvec3_uint_fragment" />
+<Test name="lowp_uvec4_uint_vertex" />
+<Test name="lowp_uvec4_uint_fragment" />
+<Test name="mediump_uvec4_uint_vertex" />
+<Test name="mediump_uvec4_uint_fragment" />
+<Test name="highp_uvec4_uint_vertex" />
+<Test name="highp_uvec4_uint_fragment" />
+</TestCase>
+<TestCase name="mix">
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+<Test name="lowp_vec2_float_vertex" />
+<Test name="lowp_vec2_float_fragment" />
+<Test name="mediump_vec2_float_vertex" />
+<Test name="mediump_vec2_float_fragment" />
+<Test name="highp_vec2_float_vertex" />
+<Test name="highp_vec2_float_fragment" />
+<Test name="lowp_vec3_float_vertex" />
+<Test name="lowp_vec3_float_fragment" />
+<Test name="mediump_vec3_float_vertex" />
+<Test name="mediump_vec3_float_fragment" />
+<Test name="highp_vec3_float_vertex" />
+<Test name="highp_vec3_float_fragment" />
+<Test name="lowp_vec4_float_vertex" />
+<Test name="lowp_vec4_float_fragment" />
+<Test name="mediump_vec4_float_vertex" />
+<Test name="mediump_vec4_float_fragment" />
+<Test name="highp_vec4_float_vertex" />
+<Test name="highp_vec4_float_fragment" />
+</TestCase>
+<TestCase name="step">
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+<Test name="lowp_float_vec2_vertex" />
+<Test name="lowp_float_vec2_fragment" />
+<Test name="mediump_float_vec2_vertex" />
+<Test name="mediump_float_vec2_fragment" />
+<Test name="highp_float_vec2_vertex" />
+<Test name="highp_float_vec2_fragment" />
+<Test name="lowp_float_vec3_vertex" />
+<Test name="lowp_float_vec3_fragment" />
+<Test name="mediump_float_vec3_vertex" />
+<Test name="mediump_float_vec3_fragment" />
+<Test name="highp_float_vec3_vertex" />
+<Test name="highp_float_vec3_fragment" />
+<Test name="lowp_float_vec4_vertex" />
+<Test name="lowp_float_vec4_fragment" />
+<Test name="mediump_float_vec4_vertex" />
+<Test name="mediump_float_vec4_fragment" />
+<Test name="highp_float_vec4_vertex" />
+<Test name="highp_float_vec4_fragment" />
+</TestCase>
+<TestCase name="smoothstep">
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+<Test name="lowp_float_vec2_vertex" />
+<Test name="lowp_float_vec2_fragment" />
+<Test name="mediump_float_vec2_vertex" />
+<Test name="mediump_float_vec2_fragment" />
+<Test name="highp_float_vec2_vertex" />
+<Test name="highp_float_vec2_fragment" />
+<Test name="lowp_float_vec3_vertex" />
+<Test name="lowp_float_vec3_fragment" />
+<Test name="mediump_float_vec3_vertex" />
+<Test name="mediump_float_vec3_fragment" />
+<Test name="highp_float_vec3_vertex" />
+<Test name="highp_float_vec3_fragment" />
+<Test name="lowp_float_vec4_vertex" />
+<Test name="lowp_float_vec4_fragment" />
+<Test name="mediump_float_vec4_vertex" />
+<Test name="mediump_float_vec4_fragment" />
+<Test name="highp_float_vec4_vertex" />
+<Test name="highp_float_vec4_fragment" />
+</TestCase>
+</TestSuite>
+<TestSuite name="geometric">
+<TestCase name="length">
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+</TestCase>
+<TestCase name="distance">
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+</TestCase>
+<TestCase name="dot">
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+</TestCase>
+<TestCase name="cross">
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+</TestCase>
+<TestCase name="normalize">
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+</TestCase>
+<TestCase name="faceforward">
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+</TestCase>
+<TestCase name="reflect">
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+</TestCase>
+<TestCase name="refract">
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="mediump_vec2_float_vertex" />
+<Test name="mediump_vec2_float_fragment" />
+<Test name="highp_vec2_float_vertex" />
+<Test name="highp_vec2_float_fragment" />
+<Test name="mediump_vec3_float_vertex" />
+<Test name="mediump_vec3_float_fragment" />
+<Test name="highp_vec3_float_vertex" />
+<Test name="highp_vec3_float_fragment" />
+<Test name="mediump_vec4_float_vertex" />
+<Test name="mediump_vec4_float_fragment" />
+<Test name="highp_vec4_float_vertex" />
+<Test name="highp_vec4_float_fragment" />
+</TestCase>
+</TestSuite>
+<TestSuite name="float_compare">
+<TestCase name="lessThan">
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+</TestCase>
+<TestCase name="lessThanEqual">
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+</TestCase>
+<TestCase name="greaterThan">
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+</TestCase>
+<TestCase name="greaterThanEqual">
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+</TestCase>
+<TestCase name="equal">
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+</TestCase>
+<TestCase name="notEqual">
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+</TestCase>
+</TestSuite>
+<TestSuite name="int_compare">
+<TestCase name="lessThan">
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+</TestCase>
+<TestCase name="lessThanEqual">
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+</TestCase>
+<TestCase name="greaterThan">
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+</TestCase>
+<TestCase name="greaterThanEqual">
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+</TestCase>
+<TestCase name="equal">
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+</TestCase>
+<TestCase name="notEqual">
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+</TestCase>
+</TestSuite>
+<TestSuite name="bool_compare">
+<TestCase name="equal">
+<Test name="bvec2_vertex" />
+<Test name="bvec2_fragment" />
+<Test name="bvec3_vertex" />
+<Test name="bvec3_fragment" />
+<Test name="bvec4_vertex" />
+<Test name="bvec4_fragment" />
+</TestCase>
+<TestCase name="notEqual">
+<Test name="bvec2_vertex" />
+<Test name="bvec2_fragment" />
+<Test name="bvec3_vertex" />
+<Test name="bvec3_fragment" />
+<Test name="bvec4_vertex" />
+<Test name="bvec4_fragment" />
+</TestCase>
+<TestCase name="any">
+<Test name="bvec2_vertex" />
+<Test name="bvec2_fragment" />
+<Test name="bvec3_vertex" />
+<Test name="bvec3_fragment" />
+<Test name="bvec4_vertex" />
+<Test name="bvec4_fragment" />
+</TestCase>
+<TestCase name="all">
+<Test name="bvec2_vertex" />
+<Test name="bvec2_fragment" />
+<Test name="bvec3_vertex" />
+<Test name="bvec3_fragment" />
+<Test name="bvec4_vertex" />
+<Test name="bvec4_fragment" />
+</TestCase>
+<TestCase name="not">
+<Test name="bvec2_vertex" />
+<Test name="bvec2_fragment" />
+<Test name="bvec3_vertex" />
+<Test name="bvec3_fragment" />
+<Test name="bvec4_vertex" />
+<Test name="bvec4_fragment" />
+</TestCase>
+</TestSuite>
+<TestCase name="selection">
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+<Test name="lowp_uint_vertex" />
+<Test name="lowp_uint_fragment" />
+<Test name="mediump_uint_vertex" />
+<Test name="mediump_uint_fragment" />
+<Test name="highp_uint_vertex" />
+<Test name="highp_uint_fragment" />
+<Test name="lowp_uvec2_vertex" />
+<Test name="lowp_uvec2_fragment" />
+<Test name="mediump_uvec2_vertex" />
+<Test name="mediump_uvec2_fragment" />
+<Test name="highp_uvec2_vertex" />
+<Test name="highp_uvec2_fragment" />
+<Test name="lowp_uvec3_vertex" />
+<Test name="lowp_uvec3_fragment" />
+<Test name="mediump_uvec3_vertex" />
+<Test name="mediump_uvec3_fragment" />
+<Test name="highp_uvec3_vertex" />
+<Test name="highp_uvec3_fragment" />
+<Test name="lowp_uvec4_vertex" />
+<Test name="lowp_uvec4_fragment" />
+<Test name="mediump_uvec4_vertex" />
+<Test name="mediump_uvec4_fragment" />
+<Test name="highp_uvec4_vertex" />
+<Test name="highp_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" />
+</TestCase>
+<TestSuite name="sequence">
+<TestCase name="no_side_effects">
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+<Test name="lowp_float_uint_vertex" />
+<Test name="lowp_float_uint_fragment" />
+<Test name="mediump_float_uint_vertex" />
+<Test name="mediump_float_uint_fragment" />
+<Test name="highp_float_uint_vertex" />
+<Test name="highp_float_uint_fragment" />
+<Test name="lowp_bool_vec2_vertex" />
+<Test name="lowp_bool_vec2_fragment" />
+<Test name="mediump_bool_vec2_vertex" />
+<Test name="mediump_bool_vec2_fragment" />
+<Test name="highp_bool_vec2_vertex" />
+<Test name="highp_bool_vec2_fragment" />
+<Test name="lowp_vec4_ivec4_bvec4_vertex" />
+<Test name="lowp_vec4_ivec4_bvec4_fragment" />
+<Test name="mediump_vec4_ivec4_bvec4_vertex" />
+<Test name="mediump_vec4_ivec4_bvec4_fragment" />
+<Test name="highp_vec4_ivec4_bvec4_vertex" />
+<Test name="highp_vec4_ivec4_bvec4_fragment" />
+</TestCase>
+<TestCase name="side_effects">
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+<Test name="lowp_float_uint_vertex" />
+<Test name="lowp_float_uint_fragment" />
+<Test name="mediump_float_uint_vertex" />
+<Test name="mediump_float_uint_fragment" />
+<Test name="highp_float_uint_vertex" />
+<Test name="highp_float_uint_fragment" />
+<Test name="lowp_bool_vec2_vertex" />
+<Test name="lowp_bool_vec2_fragment" />
+<Test name="mediump_bool_vec2_vertex" />
+<Test name="mediump_bool_vec2_fragment" />
+<Test name="highp_bool_vec2_vertex" />
+<Test name="highp_bool_vec2_fragment" />
+<Test name="lowp_vec4_ivec4_bvec4_vertex" />
+<Test name="lowp_vec4_ivec4_bvec4_fragment" />
+<Test name="mediump_vec4_ivec4_bvec4_vertex" />
+<Test name="mediump_vec4_ivec4_bvec4_fragment" />
+<Test name="highp_vec4_ivec4_bvec4_vertex" />
+<Test name="highp_vec4_ivec4_bvec4_fragment" />
+</TestCase>
+</TestSuite>
+</TestSuite>
+<TestSuite name="matrix">
+<TestSuite name="add">
+<TestCase name="const">
+<Test name="lowp_mat2_float_vertex" />
+<Test name="lowp_mat2_float_fragment" />
+<Test name="lowp_mat2_mat2_vertex" />
+<Test name="lowp_mat2_mat2_fragment" />
+<Test name="mediump_mat2_float_vertex" />
+<Test name="mediump_mat2_float_fragment" />
+<Test name="mediump_mat2_mat2_vertex" />
+<Test name="mediump_mat2_mat2_fragment" />
+<Test name="highp_mat2_float_vertex" />
+<Test name="highp_mat2_float_fragment" />
+<Test name="highp_mat2_mat2_vertex" />
+<Test name="highp_mat2_mat2_fragment" />
+<Test name="lowp_mat2x3_float_vertex" />
+<Test name="lowp_mat2x3_float_fragment" />
+<Test name="lowp_mat2x3_mat2x3_vertex" />
+<Test name="lowp_mat2x3_mat2x3_fragment" />
+<Test name="mediump_mat2x3_float_vertex" />
+<Test name="mediump_mat2x3_float_fragment" />
+<Test name="mediump_mat2x3_mat2x3_vertex" />
+<Test name="mediump_mat2x3_mat2x3_fragment" />
+<Test name="highp_mat2x3_float_vertex" />
+<Test name="highp_mat2x3_float_fragment" />
+<Test name="highp_mat2x3_mat2x3_vertex" />
+<Test name="highp_mat2x3_mat2x3_fragment" />
+<Test name="lowp_mat2x4_float_vertex" />
+<Test name="lowp_mat2x4_float_fragment" />
+<Test name="lowp_mat2x4_mat2x4_vertex" />
+<Test name="lowp_mat2x4_mat2x4_fragment" />
+<Test name="mediump_mat2x4_float_vertex" />
+<Test name="mediump_mat2x4_float_fragment" />
+<Test name="mediump_mat2x4_mat2x4_vertex" />
+<Test name="mediump_mat2x4_mat2x4_fragment" />
+<Test name="highp_mat2x4_float_vertex" />
+<Test name="highp_mat2x4_float_fragment" />
+<Test name="highp_mat2x4_mat2x4_vertex" />
+<Test name="highp_mat2x4_mat2x4_fragment" />
+<Test name="lowp_mat3x2_float_vertex" />
+<Test name="lowp_mat3x2_float_fragment" />
+<Test name="lowp_mat3x2_mat3x2_vertex" />
+<Test name="lowp_mat3x2_mat3x2_fragment" />
+<Test name="mediump_mat3x2_float_vertex" />
+<Test name="mediump_mat3x2_float_fragment" />
+<Test name="mediump_mat3x2_mat3x2_vertex" />
+<Test name="mediump_mat3x2_mat3x2_fragment" />
+<Test name="highp_mat3x2_float_vertex" />
+<Test name="highp_mat3x2_float_fragment" />
+<Test name="highp_mat3x2_mat3x2_vertex" />
+<Test name="highp_mat3x2_mat3x2_fragment" />
+<Test name="lowp_mat3_float_vertex" />
+<Test name="lowp_mat3_float_fragment" />
+<Test name="lowp_mat3_mat3_vertex" />
+<Test name="lowp_mat3_mat3_fragment" />
+<Test name="mediump_mat3_float_vertex" />
+<Test name="mediump_mat3_float_fragment" />
+<Test name="mediump_mat3_mat3_vertex" />
+<Test name="mediump_mat3_mat3_fragment" />
+<Test name="highp_mat3_float_vertex" />
+<Test name="highp_mat3_float_fragment" />
+<Test name="highp_mat3_mat3_vertex" />
+<Test name="highp_mat3_mat3_fragment" />
+<Test name="lowp_mat3x4_float_vertex" />
+<Test name="lowp_mat3x4_float_fragment" />
+<Test name="lowp_mat3x4_mat3x4_vertex" />
+<Test name="lowp_mat3x4_mat3x4_fragment" />
+<Test name="mediump_mat3x4_float_vertex" />
+<Test name="mediump_mat3x4_float_fragment" />
+<Test name="mediump_mat3x4_mat3x4_vertex" />
+<Test name="mediump_mat3x4_mat3x4_fragment" />
+<Test name="highp_mat3x4_float_vertex" />
+<Test name="highp_mat3x4_float_fragment" />
+<Test name="highp_mat3x4_mat3x4_vertex" />
+<Test name="highp_mat3x4_mat3x4_fragment" />
+<Test name="lowp_mat4x2_float_vertex" />
+<Test name="lowp_mat4x2_float_fragment" />
+<Test name="lowp_mat4x2_mat4x2_vertex" />
+<Test name="lowp_mat4x2_mat4x2_fragment" />
+<Test name="mediump_mat4x2_float_vertex" />
+<Test name="mediump_mat4x2_float_fragment" />
+<Test name="mediump_mat4x2_mat4x2_vertex" />
+<Test name="mediump_mat4x2_mat4x2_fragment" />
+<Test name="highp_mat4x2_float_vertex" />
+<Test name="highp_mat4x2_float_fragment" />
+<Test name="highp_mat4x2_mat4x2_vertex" />
+<Test name="highp_mat4x2_mat4x2_fragment" />
+<Test name="lowp_mat4x3_float_vertex" />
+<Test name="lowp_mat4x3_float_fragment" />
+<Test name="lowp_mat4x3_mat4x3_vertex" />
+<Test name="lowp_mat4x3_mat4x3_fragment" />
+<Test name="mediump_mat4x3_float_vertex" />
+<Test name="mediump_mat4x3_float_fragment" />
+<Test name="mediump_mat4x3_mat4x3_vertex" />
+<Test name="mediump_mat4x3_mat4x3_fragment" />
+<Test name="highp_mat4x3_float_vertex" />
+<Test name="highp_mat4x3_float_fragment" />
+<Test name="highp_mat4x3_mat4x3_vertex" />
+<Test name="highp_mat4x3_mat4x3_fragment" />
+<Test name="lowp_mat4_float_vertex" />
+<Test name="lowp_mat4_float_fragment" />
+<Test name="lowp_mat4_mat4_vertex" />
+<Test name="lowp_mat4_mat4_fragment" />
+<Test name="mediump_mat4_float_vertex" />
+<Test name="mediump_mat4_float_fragment" />
+<Test name="mediump_mat4_mat4_vertex" />
+<Test name="mediump_mat4_mat4_fragment" />
+<Test name="highp_mat4_float_vertex" />
+<Test name="highp_mat4_float_fragment" />
+<Test name="highp_mat4_mat4_vertex" />
+<Test name="highp_mat4_mat4_fragment" />
+</TestCase>
+<TestCase name="uniform">
+<Test name="lowp_mat2_float_vertex" />
+<Test name="lowp_mat2_float_fragment" />
+<Test name="lowp_mat2_mat2_vertex" />
+<Test name="lowp_mat2_mat2_fragment" />
+<Test name="mediump_mat2_float_vertex" />
+<Test name="mediump_mat2_float_fragment" />
+<Test name="mediump_mat2_mat2_vertex" />
+<Test name="mediump_mat2_mat2_fragment" />
+<Test name="highp_mat2_float_vertex" />
+<Test name="highp_mat2_float_fragment" />
+<Test name="highp_mat2_mat2_vertex" />
+<Test name="highp_mat2_mat2_fragment" />
+<Test name="lowp_mat2x3_float_vertex" />
+<Test name="lowp_mat2x3_float_fragment" />
+<Test name="lowp_mat2x3_mat2x3_vertex" />
+<Test name="lowp_mat2x3_mat2x3_fragment" />
+<Test name="mediump_mat2x3_float_vertex" />
+<Test name="mediump_mat2x3_float_fragment" />
+<Test name="mediump_mat2x3_mat2x3_vertex" />
+<Test name="mediump_mat2x3_mat2x3_fragment" />
+<Test name="highp_mat2x3_float_vertex" />
+<Test name="highp_mat2x3_float_fragment" />
+<Test name="highp_mat2x3_mat2x3_vertex" />
+<Test name="highp_mat2x3_mat2x3_fragment" />
+<Test name="lowp_mat2x4_float_vertex" />
+<Test name="lowp_mat2x4_float_fragment" />
+<Test name="lowp_mat2x4_mat2x4_vertex" />
+<Test name="lowp_mat2x4_mat2x4_fragment" />
+<Test name="mediump_mat2x4_float_vertex" />
+<Test name="mediump_mat2x4_float_fragment" />
+<Test name="mediump_mat2x4_mat2x4_vertex" />
+<Test name="mediump_mat2x4_mat2x4_fragment" />
+<Test name="highp_mat2x4_float_vertex" />
+<Test name="highp_mat2x4_float_fragment" />
+<Test name="highp_mat2x4_mat2x4_vertex" />
+<Test name="highp_mat2x4_mat2x4_fragment" />
+<Test name="lowp_mat3x2_float_vertex" />
+<Test name="lowp_mat3x2_float_fragment" />
+<Test name="lowp_mat3x2_mat3x2_vertex" />
+<Test name="lowp_mat3x2_mat3x2_fragment" />
+<Test name="mediump_mat3x2_float_vertex" />
+<Test name="mediump_mat3x2_float_fragment" />
+<Test name="mediump_mat3x2_mat3x2_vertex" />
+<Test name="mediump_mat3x2_mat3x2_fragment" />
+<Test name="highp_mat3x2_float_vertex" />
+<Test name="highp_mat3x2_float_fragment" />
+<Test name="highp_mat3x2_mat3x2_vertex" />
+<Test name="highp_mat3x2_mat3x2_fragment" />
+<Test name="lowp_mat3_float_vertex" />
+<Test name="lowp_mat3_float_fragment" />
+<Test name="lowp_mat3_mat3_vertex" />
+<Test name="lowp_mat3_mat3_fragment" />
+<Test name="mediump_mat3_float_vertex" />
+<Test name="mediump_mat3_float_fragment" />
+<Test name="mediump_mat3_mat3_vertex" />
+<Test name="mediump_mat3_mat3_fragment" />
+<Test name="highp_mat3_float_vertex" />
+<Test name="highp_mat3_float_fragment" />
+<Test name="highp_mat3_mat3_vertex" />
+<Test name="highp_mat3_mat3_fragment" />
+<Test name="lowp_mat3x4_float_vertex" />
+<Test name="lowp_mat3x4_float_fragment" />
+<Test name="lowp_mat3x4_mat3x4_vertex" />
+<Test name="lowp_mat3x4_mat3x4_fragment" />
+<Test name="mediump_mat3x4_float_vertex" />
+<Test name="mediump_mat3x4_float_fragment" />
+<Test name="mediump_mat3x4_mat3x4_vertex" />
+<Test name="mediump_mat3x4_mat3x4_fragment" />
+<Test name="highp_mat3x4_float_vertex" />
+<Test name="highp_mat3x4_float_fragment" />
+<Test name="highp_mat3x4_mat3x4_vertex" />
+<Test name="highp_mat3x4_mat3x4_fragment" />
+<Test name="lowp_mat4x2_float_vertex" />
+<Test name="lowp_mat4x2_float_fragment" />
+<Test name="lowp_mat4x2_mat4x2_vertex" />
+<Test name="lowp_mat4x2_mat4x2_fragment" />
+<Test name="mediump_mat4x2_float_vertex" />
+<Test name="mediump_mat4x2_float_fragment" />
+<Test name="mediump_mat4x2_mat4x2_vertex" />
+<Test name="mediump_mat4x2_mat4x2_fragment" />
+<Test name="highp_mat4x2_float_vertex" />
+<Test name="highp_mat4x2_float_fragment" />
+<Test name="highp_mat4x2_mat4x2_vertex" />
+<Test name="highp_mat4x2_mat4x2_fragment" />
+<Test name="lowp_mat4x3_float_vertex" />
+<Test name="lowp_mat4x3_float_fragment" />
+<Test name="lowp_mat4x3_mat4x3_vertex" />
+<Test name="lowp_mat4x3_mat4x3_fragment" />
+<Test name="mediump_mat4x3_float_vertex" />
+<Test name="mediump_mat4x3_float_fragment" />
+<Test name="mediump_mat4x3_mat4x3_vertex" />
+<Test name="mediump_mat4x3_mat4x3_fragment" />
+<Test name="highp_mat4x3_float_vertex" />
+<Test name="highp_mat4x3_float_fragment" />
+<Test name="highp_mat4x3_mat4x3_vertex" />
+<Test name="highp_mat4x3_mat4x3_fragment" />
+<Test name="lowp_mat4_float_vertex" />
+<Test name="lowp_mat4_float_fragment" />
+<Test name="lowp_mat4_mat4_vertex" />
+<Test name="lowp_mat4_mat4_fragment" />
+<Test name="mediump_mat4_float_vertex" />
+<Test name="mediump_mat4_float_fragment" />
+<Test name="mediump_mat4_mat4_vertex" />
+<Test name="mediump_mat4_mat4_fragment" />
+<Test name="highp_mat4_float_vertex" />
+<Test name="highp_mat4_float_fragment" />
+<Test name="highp_mat4_mat4_vertex" />
+<Test name="highp_mat4_mat4_fragment" />
+</TestCase>
+<TestCase name="dynamic">
+<Test name="lowp_mat2_float_vertex" />
+<Test name="lowp_mat2_float_fragment" />
+<Test name="lowp_mat2_mat2_vertex" />
+<Test name="lowp_mat2_mat2_fragment" />
+<Test name="mediump_mat2_float_vertex" />
+<Test name="mediump_mat2_float_fragment" />
+<Test name="mediump_mat2_mat2_vertex" />
+<Test name="mediump_mat2_mat2_fragment" />
+<Test name="highp_mat2_float_vertex" />
+<Test name="highp_mat2_float_fragment" />
+<Test name="highp_mat2_mat2_vertex" />
+<Test name="highp_mat2_mat2_fragment" />
+<Test name="lowp_mat2x3_float_vertex" />
+<Test name="lowp_mat2x3_float_fragment" />
+<Test name="lowp_mat2x3_mat2x3_vertex" />
+<Test name="lowp_mat2x3_mat2x3_fragment" />
+<Test name="mediump_mat2x3_float_vertex" />
+<Test name="mediump_mat2x3_float_fragment" />
+<Test name="mediump_mat2x3_mat2x3_vertex" />
+<Test name="mediump_mat2x3_mat2x3_fragment" />
+<Test name="highp_mat2x3_float_vertex" />
+<Test name="highp_mat2x3_float_fragment" />
+<Test name="highp_mat2x3_mat2x3_vertex" />
+<Test name="highp_mat2x3_mat2x3_fragment" />
+<Test name="lowp_mat2x4_float_vertex" />
+<Test name="lowp_mat2x4_float_fragment" />
+<Test name="lowp_mat2x4_mat2x4_vertex" />
+<Test name="lowp_mat2x4_mat2x4_fragment" />
+<Test name="mediump_mat2x4_float_vertex" />
+<Test name="mediump_mat2x4_float_fragment" />
+<Test name="mediump_mat2x4_mat2x4_vertex" />
+<Test name="mediump_mat2x4_mat2x4_fragment" />
+<Test name="highp_mat2x4_float_vertex" />
+<Test name="highp_mat2x4_float_fragment" />
+<Test name="highp_mat2x4_mat2x4_vertex" />
+<Test name="highp_mat2x4_mat2x4_fragment" />
+<Test name="lowp_mat3x2_float_vertex" />
+<Test name="lowp_mat3x2_float_fragment" />
+<Test name="lowp_mat3x2_mat3x2_vertex" />
+<Test name="lowp_mat3x2_mat3x2_fragment" />
+<Test name="mediump_mat3x2_float_vertex" />
+<Test name="mediump_mat3x2_float_fragment" />
+<Test name="mediump_mat3x2_mat3x2_vertex" />
+<Test name="mediump_mat3x2_mat3x2_fragment" />
+<Test name="highp_mat3x2_float_vertex" />
+<Test name="highp_mat3x2_float_fragment" />
+<Test name="highp_mat3x2_mat3x2_vertex" />
+<Test name="highp_mat3x2_mat3x2_fragment" />
+<Test name="lowp_mat3_float_vertex" />
+<Test name="lowp_mat3_float_fragment" />
+<Test name="lowp_mat3_mat3_vertex" />
+<Test name="lowp_mat3_mat3_fragment" />
+<Test name="mediump_mat3_float_vertex" />
+<Test name="mediump_mat3_float_fragment" />
+<Test name="mediump_mat3_mat3_vertex" />
+<Test name="mediump_mat3_mat3_fragment" />
+<Test name="highp_mat3_float_vertex" />
+<Test name="highp_mat3_float_fragment" />
+<Test name="highp_mat3_mat3_vertex" />
+<Test name="highp_mat3_mat3_fragment" />
+<Test name="lowp_mat3x4_float_vertex" />
+<Test name="lowp_mat3x4_float_fragment" />
+<Test name="lowp_mat3x4_mat3x4_vertex" />
+<Test name="lowp_mat3x4_mat3x4_fragment" />
+<Test name="mediump_mat3x4_float_vertex" />
+<Test name="mediump_mat3x4_float_fragment" />
+<Test name="mediump_mat3x4_mat3x4_vertex" />
+<Test name="mediump_mat3x4_mat3x4_fragment" />
+<Test name="highp_mat3x4_float_vertex" />
+<Test name="highp_mat3x4_float_fragment" />
+<Test name="highp_mat3x4_mat3x4_vertex" />
+<Test name="highp_mat3x4_mat3x4_fragment" />
+<Test name="lowp_mat4x2_float_vertex" />
+<Test name="lowp_mat4x2_float_fragment" />
+<Test name="lowp_mat4x2_mat4x2_vertex" />
+<Test name="lowp_mat4x2_mat4x2_fragment" />
+<Test name="mediump_mat4x2_float_vertex" />
+<Test name="mediump_mat4x2_float_fragment" />
+<Test name="mediump_mat4x2_mat4x2_vertex" />
+<Test name="mediump_mat4x2_mat4x2_fragment" />
+<Test name="highp_mat4x2_float_vertex" />
+<Test name="highp_mat4x2_float_fragment" />
+<Test name="highp_mat4x2_mat4x2_vertex" />
+<Test name="highp_mat4x2_mat4x2_fragment" />
+<Test name="lowp_mat4x3_float_vertex" />
+<Test name="lowp_mat4x3_float_fragment" />
+<Test name="lowp_mat4x3_mat4x3_vertex" />
+<Test name="lowp_mat4x3_mat4x3_fragment" />
+<Test name="mediump_mat4x3_float_vertex" />
+<Test name="mediump_mat4x3_float_fragment" />
+<Test name="mediump_mat4x3_mat4x3_vertex" />
+<Test name="mediump_mat4x3_mat4x3_fragment" />
+<Test name="highp_mat4x3_float_vertex" />
+<Test name="highp_mat4x3_float_fragment" />
+<Test name="highp_mat4x3_mat4x3_vertex" />
+<Test name="highp_mat4x3_mat4x3_fragment" />
+<Test name="lowp_mat4_float_vertex" />
+<Test name="lowp_mat4_float_fragment" />
+<Test name="lowp_mat4_mat4_vertex" />
+<Test name="lowp_mat4_mat4_fragment" />
+<Test name="mediump_mat4_float_vertex" />
+<Test name="mediump_mat4_float_fragment" />
+<Test name="mediump_mat4_mat4_vertex" />
+<Test name="mediump_mat4_mat4_fragment" />
+<Test name="highp_mat4_float_vertex" />
+<Test name="highp_mat4_float_fragment" />
+<Test name="highp_mat4_mat4_vertex" />
+<Test name="highp_mat4_mat4_fragment" />
+</TestCase>
+</TestSuite>
+<TestSuite name="sub">
+<TestCase name="const">
+<Test name="lowp_mat2_float_vertex" />
+<Test name="lowp_mat2_float_fragment" />
+<Test name="lowp_mat2_mat2_vertex" />
+<Test name="lowp_mat2_mat2_fragment" />
+<Test name="mediump_mat2_float_vertex" />
+<Test name="mediump_mat2_float_fragment" />
+<Test name="mediump_mat2_mat2_vertex" />
+<Test name="mediump_mat2_mat2_fragment" />
+<Test name="highp_mat2_float_vertex" />
+<Test name="highp_mat2_float_fragment" />
+<Test name="highp_mat2_mat2_vertex" />
+<Test name="highp_mat2_mat2_fragment" />
+<Test name="lowp_mat2x3_float_vertex" />
+<Test name="lowp_mat2x3_float_fragment" />
+<Test name="lowp_mat2x3_mat2x3_vertex" />
+<Test name="lowp_mat2x3_mat2x3_fragment" />
+<Test name="mediump_mat2x3_float_vertex" />
+<Test name="mediump_mat2x3_float_fragment" />
+<Test name="mediump_mat2x3_mat2x3_vertex" />
+<Test name="mediump_mat2x3_mat2x3_fragment" />
+<Test name="highp_mat2x3_float_vertex" />
+<Test name="highp_mat2x3_float_fragment" />
+<Test name="highp_mat2x3_mat2x3_vertex" />
+<Test name="highp_mat2x3_mat2x3_fragment" />
+<Test name="lowp_mat2x4_float_vertex" />
+<Test name="lowp_mat2x4_float_fragment" />
+<Test name="lowp_mat2x4_mat2x4_vertex" />
+<Test name="lowp_mat2x4_mat2x4_fragment" />
+<Test name="mediump_mat2x4_float_vertex" />
+<Test name="mediump_mat2x4_float_fragment" />
+<Test name="mediump_mat2x4_mat2x4_vertex" />
+<Test name="mediump_mat2x4_mat2x4_fragment" />
+<Test name="highp_mat2x4_float_vertex" />
+<Test name="highp_mat2x4_float_fragment" />
+<Test name="highp_mat2x4_mat2x4_vertex" />
+<Test name="highp_mat2x4_mat2x4_fragment" />
+<Test name="lowp_mat3x2_float_vertex" />
+<Test name="lowp_mat3x2_float_fragment" />
+<Test name="lowp_mat3x2_mat3x2_vertex" />
+<Test name="lowp_mat3x2_mat3x2_fragment" />
+<Test name="mediump_mat3x2_float_vertex" />
+<Test name="mediump_mat3x2_float_fragment" />
+<Test name="mediump_mat3x2_mat3x2_vertex" />
+<Test name="mediump_mat3x2_mat3x2_fragment" />
+<Test name="highp_mat3x2_float_vertex" />
+<Test name="highp_mat3x2_float_fragment" />
+<Test name="highp_mat3x2_mat3x2_vertex" />
+<Test name="highp_mat3x2_mat3x2_fragment" />
+<Test name="lowp_mat3_float_vertex" />
+<Test name="lowp_mat3_float_fragment" />
+<Test name="lowp_mat3_mat3_vertex" />
+<Test name="lowp_mat3_mat3_fragment" />
+<Test name="mediump_mat3_float_vertex" />
+<Test name="mediump_mat3_float_fragment" />
+<Test name="mediump_mat3_mat3_vertex" />
+<Test name="mediump_mat3_mat3_fragment" />
+<Test name="highp_mat3_float_vertex" />
+<Test name="highp_mat3_float_fragment" />
+<Test name="highp_mat3_mat3_vertex" />
+<Test name="highp_mat3_mat3_fragment" />
+<Test name="lowp_mat3x4_float_vertex" />
+<Test name="lowp_mat3x4_float_fragment" />
+<Test name="lowp_mat3x4_mat3x4_vertex" />
+<Test name="lowp_mat3x4_mat3x4_fragment" />
+<Test name="mediump_mat3x4_float_vertex" />
+<Test name="mediump_mat3x4_float_fragment" />
+<Test name="mediump_mat3x4_mat3x4_vertex" />
+<Test name="mediump_mat3x4_mat3x4_fragment" />
+<Test name="highp_mat3x4_float_vertex" />
+<Test name="highp_mat3x4_float_fragment" />
+<Test name="highp_mat3x4_mat3x4_vertex" />
+<Test name="highp_mat3x4_mat3x4_fragment" />
+<Test name="lowp_mat4x2_float_vertex" />
+<Test name="lowp_mat4x2_float_fragment" />
+<Test name="lowp_mat4x2_mat4x2_vertex" />
+<Test name="lowp_mat4x2_mat4x2_fragment" />
+<Test name="mediump_mat4x2_float_vertex" />
+<Test name="mediump_mat4x2_float_fragment" />
+<Test name="mediump_mat4x2_mat4x2_vertex" />
+<Test name="mediump_mat4x2_mat4x2_fragment" />
+<Test name="highp_mat4x2_float_vertex" />
+<Test name="highp_mat4x2_float_fragment" />
+<Test name="highp_mat4x2_mat4x2_vertex" />
+<Test name="highp_mat4x2_mat4x2_fragment" />
+<Test name="lowp_mat4x3_float_vertex" />
+<Test name="lowp_mat4x3_float_fragment" />
+<Test name="lowp_mat4x3_mat4x3_vertex" />
+<Test name="lowp_mat4x3_mat4x3_fragment" />
+<Test name="mediump_mat4x3_float_vertex" />
+<Test name="mediump_mat4x3_float_fragment" />
+<Test name="mediump_mat4x3_mat4x3_vertex" />
+<Test name="mediump_mat4x3_mat4x3_fragment" />
+<Test name="highp_mat4x3_float_vertex" />
+<Test name="highp_mat4x3_float_fragment" />
+<Test name="highp_mat4x3_mat4x3_vertex" />
+<Test name="highp_mat4x3_mat4x3_fragment" />
+<Test name="lowp_mat4_float_vertex" />
+<Test name="lowp_mat4_float_fragment" />
+<Test name="lowp_mat4_mat4_vertex" />
+<Test name="lowp_mat4_mat4_fragment" />
+<Test name="mediump_mat4_float_vertex" />
+<Test name="mediump_mat4_float_fragment" />
+<Test name="mediump_mat4_mat4_vertex" />
+<Test name="mediump_mat4_mat4_fragment" />
+<Test name="highp_mat4_float_vertex" />
+<Test name="highp_mat4_float_fragment" />
+<Test name="highp_mat4_mat4_vertex" />
+<Test name="highp_mat4_mat4_fragment" />
+</TestCase>
+<TestCase name="uniform">
+<Test name="lowp_mat2_float_vertex" />
+<Test name="lowp_mat2_float_fragment" />
+<Test name="lowp_mat2_mat2_vertex" />
+<Test name="lowp_mat2_mat2_fragment" />
+<Test name="mediump_mat2_float_vertex" />
+<Test name="mediump_mat2_float_fragment" />
+<Test name="mediump_mat2_mat2_vertex" />
+<Test name="mediump_mat2_mat2_fragment" />
+<Test name="highp_mat2_float_vertex" />
+<Test name="highp_mat2_float_fragment" />
+<Test name="highp_mat2_mat2_vertex" />
+<Test name="highp_mat2_mat2_fragment" />
+<Test name="lowp_mat2x3_float_vertex" />
+<Test name="lowp_mat2x3_float_fragment" />
+<Test name="lowp_mat2x3_mat2x3_vertex" />
+<Test name="lowp_mat2x3_mat2x3_fragment" />
+<Test name="mediump_mat2x3_float_vertex" />
+<Test name="mediump_mat2x3_float_fragment" />
+<Test name="mediump_mat2x3_mat2x3_vertex" />
+<Test name="mediump_mat2x3_mat2x3_fragment" />
+<Test name="highp_mat2x3_float_vertex" />
+<Test name="highp_mat2x3_float_fragment" />
+<Test name="highp_mat2x3_mat2x3_vertex" />
+<Test name="highp_mat2x3_mat2x3_fragment" />
+<Test name="lowp_mat2x4_float_vertex" />
+<Test name="lowp_mat2x4_float_fragment" />
+<Test name="lowp_mat2x4_mat2x4_vertex" />
+<Test name="lowp_mat2x4_mat2x4_fragment" />
+<Test name="mediump_mat2x4_float_vertex" />
+<Test name="mediump_mat2x4_float_fragment" />
+<Test name="mediump_mat2x4_mat2x4_vertex" />
+<Test name="mediump_mat2x4_mat2x4_fragment" />
+<Test name="highp_mat2x4_float_vertex" />
+<Test name="highp_mat2x4_float_fragment" />
+<Test name="highp_mat2x4_mat2x4_vertex" />
+<Test name="highp_mat2x4_mat2x4_fragment" />
+<Test name="lowp_mat3x2_float_vertex" />
+<Test name="lowp_mat3x2_float_fragment" />
+<Test name="lowp_mat3x2_mat3x2_vertex" />
+<Test name="lowp_mat3x2_mat3x2_fragment" />
+<Test name="mediump_mat3x2_float_vertex" />
+<Test name="mediump_mat3x2_float_fragment" />
+<Test name="mediump_mat3x2_mat3x2_vertex" />
+<Test name="mediump_mat3x2_mat3x2_fragment" />
+<Test name="highp_mat3x2_float_vertex" />
+<Test name="highp_mat3x2_float_fragment" />
+<Test name="highp_mat3x2_mat3x2_vertex" />
+<Test name="highp_mat3x2_mat3x2_fragment" />
+<Test name="lowp_mat3_float_vertex" />
+<Test name="lowp_mat3_float_fragment" />
+<Test name="lowp_mat3_mat3_vertex" />
+<Test name="lowp_mat3_mat3_fragment" />
+<Test name="mediump_mat3_float_vertex" />
+<Test name="mediump_mat3_float_fragment" />
+<Test name="mediump_mat3_mat3_vertex" />
+<Test name="mediump_mat3_mat3_fragment" />
+<Test name="highp_mat3_float_vertex" />
+<Test name="highp_mat3_float_fragment" />
+<Test name="highp_mat3_mat3_vertex" />
+<Test name="highp_mat3_mat3_fragment" />
+<Test name="lowp_mat3x4_float_vertex" />
+<Test name="lowp_mat3x4_float_fragment" />
+<Test name="lowp_mat3x4_mat3x4_vertex" />
+<Test name="lowp_mat3x4_mat3x4_fragment" />
+<Test name="mediump_mat3x4_float_vertex" />
+<Test name="mediump_mat3x4_float_fragment" />
+<Test name="mediump_mat3x4_mat3x4_vertex" />
+<Test name="mediump_mat3x4_mat3x4_fragment" />
+<Test name="highp_mat3x4_float_vertex" />
+<Test name="highp_mat3x4_float_fragment" />
+<Test name="highp_mat3x4_mat3x4_vertex" />
+<Test name="highp_mat3x4_mat3x4_fragment" />
+<Test name="lowp_mat4x2_float_vertex" />
+<Test name="lowp_mat4x2_float_fragment" />
+<Test name="lowp_mat4x2_mat4x2_vertex" />
+<Test name="lowp_mat4x2_mat4x2_fragment" />
+<Test name="mediump_mat4x2_float_vertex" />
+<Test name="mediump_mat4x2_float_fragment" />
+<Test name="mediump_mat4x2_mat4x2_vertex" />
+<Test name="mediump_mat4x2_mat4x2_fragment" />
+<Test name="highp_mat4x2_float_vertex" />
+<Test name="highp_mat4x2_float_fragment" />
+<Test name="highp_mat4x2_mat4x2_vertex" />
+<Test name="highp_mat4x2_mat4x2_fragment" />
+<Test name="lowp_mat4x3_float_vertex" />
+<Test name="lowp_mat4x3_float_fragment" />
+<Test name="lowp_mat4x3_mat4x3_vertex" />
+<Test name="lowp_mat4x3_mat4x3_fragment" />
+<Test name="mediump_mat4x3_float_vertex" />
+<Test name="mediump_mat4x3_float_fragment" />
+<Test name="mediump_mat4x3_mat4x3_vertex" />
+<Test name="mediump_mat4x3_mat4x3_fragment" />
+<Test name="highp_mat4x3_float_vertex" />
+<Test name="highp_mat4x3_float_fragment" />
+<Test name="highp_mat4x3_mat4x3_vertex" />
+<Test name="highp_mat4x3_mat4x3_fragment" />
+<Test name="lowp_mat4_float_vertex" />
+<Test name="lowp_mat4_float_fragment" />
+<Test name="lowp_mat4_mat4_vertex" />
+<Test name="lowp_mat4_mat4_fragment" />
+<Test name="mediump_mat4_float_vertex" />
+<Test name="mediump_mat4_float_fragment" />
+<Test name="mediump_mat4_mat4_vertex" />
+<Test name="mediump_mat4_mat4_fragment" />
+<Test name="highp_mat4_float_vertex" />
+<Test name="highp_mat4_float_fragment" />
+<Test name="highp_mat4_mat4_vertex" />
+<Test name="highp_mat4_mat4_fragment" />
+</TestCase>
+<TestCase name="dynamic">
+<Test name="lowp_mat2_float_vertex" />
+<Test name="lowp_mat2_float_fragment" />
+<Test name="lowp_mat2_mat2_vertex" />
+<Test name="lowp_mat2_mat2_fragment" />
+<Test name="mediump_mat2_float_vertex" />
+<Test name="mediump_mat2_float_fragment" />
+<Test name="mediump_mat2_mat2_vertex" />
+<Test name="mediump_mat2_mat2_fragment" />
+<Test name="highp_mat2_float_vertex" />
+<Test name="highp_mat2_float_fragment" />
+<Test name="highp_mat2_mat2_vertex" />
+<Test name="highp_mat2_mat2_fragment" />
+<Test name="lowp_mat2x3_float_vertex" />
+<Test name="lowp_mat2x3_float_fragment" />
+<Test name="lowp_mat2x3_mat2x3_vertex" />
+<Test name="lowp_mat2x3_mat2x3_fragment" />
+<Test name="mediump_mat2x3_float_vertex" />
+<Test name="mediump_mat2x3_float_fragment" />
+<Test name="mediump_mat2x3_mat2x3_vertex" />
+<Test name="mediump_mat2x3_mat2x3_fragment" />
+<Test name="highp_mat2x3_float_vertex" />
+<Test name="highp_mat2x3_float_fragment" />
+<Test name="highp_mat2x3_mat2x3_vertex" />
+<Test name="highp_mat2x3_mat2x3_fragment" />
+<Test name="lowp_mat2x4_float_vertex" />
+<Test name="lowp_mat2x4_float_fragment" />
+<Test name="lowp_mat2x4_mat2x4_vertex" />
+<Test name="lowp_mat2x4_mat2x4_fragment" />
+<Test name="mediump_mat2x4_float_vertex" />
+<Test name="mediump_mat2x4_float_fragment" />
+<Test name="mediump_mat2x4_mat2x4_vertex" />
+<Test name="mediump_mat2x4_mat2x4_fragment" />
+<Test name="highp_mat2x4_float_vertex" />
+<Test name="highp_mat2x4_float_fragment" />
+<Test name="highp_mat2x4_mat2x4_vertex" />
+<Test name="highp_mat2x4_mat2x4_fragment" />
+<Test name="lowp_mat3x2_float_vertex" />
+<Test name="lowp_mat3x2_float_fragment" />
+<Test name="lowp_mat3x2_mat3x2_vertex" />
+<Test name="lowp_mat3x2_mat3x2_fragment" />
+<Test name="mediump_mat3x2_float_vertex" />
+<Test name="mediump_mat3x2_float_fragment" />
+<Test name="mediump_mat3x2_mat3x2_vertex" />
+<Test name="mediump_mat3x2_mat3x2_fragment" />
+<Test name="highp_mat3x2_float_vertex" />
+<Test name="highp_mat3x2_float_fragment" />
+<Test name="highp_mat3x2_mat3x2_vertex" />
+<Test name="highp_mat3x2_mat3x2_fragment" />
+<Test name="lowp_mat3_float_vertex" />
+<Test name="lowp_mat3_float_fragment" />
+<Test name="lowp_mat3_mat3_vertex" />
+<Test name="lowp_mat3_mat3_fragment" />
+<Test name="mediump_mat3_float_vertex" />
+<Test name="mediump_mat3_float_fragment" />
+<Test name="mediump_mat3_mat3_vertex" />
+<Test name="mediump_mat3_mat3_fragment" />
+<Test name="highp_mat3_float_vertex" />
+<Test name="highp_mat3_float_fragment" />
+<Test name="highp_mat3_mat3_vertex" />
+<Test name="highp_mat3_mat3_fragment" />
+<Test name="lowp_mat3x4_float_vertex" />
+<Test name="lowp_mat3x4_float_fragment" />
+<Test name="lowp_mat3x4_mat3x4_vertex" />
+<Test name="lowp_mat3x4_mat3x4_fragment" />
+<Test name="mediump_mat3x4_float_vertex" />
+<Test name="mediump_mat3x4_float_fragment" />
+<Test name="mediump_mat3x4_mat3x4_vertex" />
+<Test name="mediump_mat3x4_mat3x4_fragment" />
+<Test name="highp_mat3x4_float_vertex" />
+<Test name="highp_mat3x4_float_fragment" />
+<Test name="highp_mat3x4_mat3x4_vertex" />
+<Test name="highp_mat3x4_mat3x4_fragment" />
+<Test name="lowp_mat4x2_float_vertex" />
+<Test name="lowp_mat4x2_float_fragment" />
+<Test name="lowp_mat4x2_mat4x2_vertex" />
+<Test name="lowp_mat4x2_mat4x2_fragment" />
+<Test name="mediump_mat4x2_float_vertex" />
+<Test name="mediump_mat4x2_float_fragment" />
+<Test name="mediump_mat4x2_mat4x2_vertex" />
+<Test name="mediump_mat4x2_mat4x2_fragment" />
+<Test name="highp_mat4x2_float_vertex" />
+<Test name="highp_mat4x2_float_fragment" />
+<Test name="highp_mat4x2_mat4x2_vertex" />
+<Test name="highp_mat4x2_mat4x2_fragment" />
+<Test name="lowp_mat4x3_float_vertex" />
+<Test name="lowp_mat4x3_float_fragment" />
+<Test name="lowp_mat4x3_mat4x3_vertex" />
+<Test name="lowp_mat4x3_mat4x3_fragment" />
+<Test name="mediump_mat4x3_float_vertex" />
+<Test name="mediump_mat4x3_float_fragment" />
+<Test name="mediump_mat4x3_mat4x3_vertex" />
+<Test name="mediump_mat4x3_mat4x3_fragment" />
+<Test name="highp_mat4x3_float_vertex" />
+<Test name="highp_mat4x3_float_fragment" />
+<Test name="highp_mat4x3_mat4x3_vertex" />
+<Test name="highp_mat4x3_mat4x3_fragment" />
+<Test name="lowp_mat4_float_vertex" />
+<Test name="lowp_mat4_float_fragment" />
+<Test name="lowp_mat4_mat4_vertex" />
+<Test name="lowp_mat4_mat4_fragment" />
+<Test name="mediump_mat4_float_vertex" />
+<Test name="mediump_mat4_float_fragment" />
+<Test name="mediump_mat4_mat4_vertex" />
+<Test name="mediump_mat4_mat4_fragment" />
+<Test name="highp_mat4_float_vertex" />
+<Test name="highp_mat4_float_fragment" />
+<Test name="highp_mat4_mat4_vertex" />
+<Test name="highp_mat4_mat4_fragment" />
+</TestCase>
+</TestSuite>
+<TestSuite name="mul">
+<TestCase name="const">
+<Test name="lowp_mat2_float_vertex" />
+<Test name="lowp_mat2_float_fragment" />
+<Test name="lowp_mat2_vec2_vertex" />
+<Test name="lowp_mat2_vec2_fragment" />
+<Test name="lowp_vec2_mat2_vertex" />
+<Test name="lowp_vec2_mat2_fragment" />
+<Test name="lowp_mat2_mat2_vertex" />
+<Test name="lowp_mat2_mat2_fragment" />
+<Test name="lowp_mat2_mat3x2_vertex" />
+<Test name="lowp_mat2_mat3x2_fragment" />
+<Test name="lowp_mat2_mat4x2_vertex" />
+<Test name="lowp_mat2_mat4x2_fragment" />
+<Test name="mediump_mat2_float_vertex" />
+<Test name="mediump_mat2_float_fragment" />
+<Test name="mediump_mat2_vec2_vertex" />
+<Test name="mediump_mat2_vec2_fragment" />
+<Test name="mediump_vec2_mat2_vertex" />
+<Test name="mediump_vec2_mat2_fragment" />
+<Test name="mediump_mat2_mat2_vertex" />
+<Test name="mediump_mat2_mat2_fragment" />
+<Test name="mediump_mat2_mat3x2_vertex" />
+<Test name="mediump_mat2_mat3x2_fragment" />
+<Test name="mediump_mat2_mat4x2_vertex" />
+<Test name="mediump_mat2_mat4x2_fragment" />
+<Test name="highp_mat2_float_vertex" />
+<Test name="highp_mat2_float_fragment" />
+<Test name="highp_mat2_vec2_vertex" />
+<Test name="highp_mat2_vec2_fragment" />
+<Test name="highp_vec2_mat2_vertex" />
+<Test name="highp_vec2_mat2_fragment" />
+<Test name="highp_mat2_mat2_vertex" />
+<Test name="highp_mat2_mat2_fragment" />
+<Test name="highp_mat2_mat3x2_vertex" />
+<Test name="highp_mat2_mat3x2_fragment" />
+<Test name="highp_mat2_mat4x2_vertex" />
+<Test name="highp_mat2_mat4x2_fragment" />
+<Test name="lowp_mat2x3_float_vertex" />
+<Test name="lowp_mat2x3_float_fragment" />
+<Test name="lowp_mat2x3_vec2_vertex" />
+<Test name="lowp_mat2x3_vec2_fragment" />
+<Test name="lowp_vec3_mat2x3_vertex" />
+<Test name="lowp_vec3_mat2x3_fragment" />
+<Test name="lowp_mat2x3_mat2_vertex" />
+<Test name="lowp_mat2x3_mat2_fragment" />
+<Test name="lowp_mat2x3_mat3x2_vertex" />
+<Test name="lowp_mat2x3_mat3x2_fragment" />
+<Test name="lowp_mat2x3_mat4x2_vertex" />
+<Test name="lowp_mat2x3_mat4x2_fragment" />
+<Test name="mediump_mat2x3_float_vertex" />
+<Test name="mediump_mat2x3_float_fragment" />
+<Test name="mediump_mat2x3_vec2_vertex" />
+<Test name="mediump_mat2x3_vec2_fragment" />
+<Test name="mediump_vec3_mat2x3_vertex" />
+<Test name="mediump_vec3_mat2x3_fragment" />
+<Test name="mediump_mat2x3_mat2_vertex" />
+<Test name="mediump_mat2x3_mat2_fragment" />
+<Test name="mediump_mat2x3_mat3x2_vertex" />
+<Test name="mediump_mat2x3_mat3x2_fragment" />
+<Test name="mediump_mat2x3_mat4x2_vertex" />
+<Test name="mediump_mat2x3_mat4x2_fragment" />
+<Test name="highp_mat2x3_float_vertex" />
+<Test name="highp_mat2x3_float_fragment" />
+<Test name="highp_mat2x3_vec2_vertex" />
+<Test name="highp_mat2x3_vec2_fragment" />
+<Test name="highp_vec3_mat2x3_vertex" />
+<Test name="highp_vec3_mat2x3_fragment" />
+<Test name="highp_mat2x3_mat2_vertex" />
+<Test name="highp_mat2x3_mat2_fragment" />
+<Test name="highp_mat2x3_mat3x2_vertex" />
+<Test name="highp_mat2x3_mat3x2_fragment" />
+<Test name="highp_mat2x3_mat4x2_vertex" />
+<Test name="highp_mat2x3_mat4x2_fragment" />
+<Test name="lowp_mat2x4_float_vertex" />
+<Test name="lowp_mat2x4_float_fragment" />
+<Test name="lowp_mat2x4_vec2_vertex" />
+<Test name="lowp_mat2x4_vec2_fragment" />
+<Test name="lowp_vec4_mat2x4_vertex" />
+<Test name="lowp_vec4_mat2x4_fragment" />
+<Test name="lowp_mat2x4_mat2_vertex" />
+<Test name="lowp_mat2x4_mat2_fragment" />
+<Test name="lowp_mat2x4_mat3x2_vertex" />
+<Test name="lowp_mat2x4_mat3x2_fragment" />
+<Test name="lowp_mat2x4_mat4x2_vertex" />
+<Test name="lowp_mat2x4_mat4x2_fragment" />
+<Test name="mediump_mat2x4_float_vertex" />
+<Test name="mediump_mat2x4_float_fragment" />
+<Test name="mediump_mat2x4_vec2_vertex" />
+<Test name="mediump_mat2x4_vec2_fragment" />
+<Test name="mediump_vec4_mat2x4_vertex" />
+<Test name="mediump_vec4_mat2x4_fragment" />
+<Test name="mediump_mat2x4_mat2_vertex" />
+<Test name="mediump_mat2x4_mat2_fragment" />
+<Test name="mediump_mat2x4_mat3x2_vertex" />
+<Test name="mediump_mat2x4_mat3x2_fragment" />
+<Test name="mediump_mat2x4_mat4x2_vertex" />
+<Test name="mediump_mat2x4_mat4x2_fragment" />
+<Test name="highp_mat2x4_float_vertex" />
+<Test name="highp_mat2x4_float_fragment" />
+<Test name="highp_mat2x4_vec2_vertex" />
+<Test name="highp_mat2x4_vec2_fragment" />
+<Test name="highp_vec4_mat2x4_vertex" />
+<Test name="highp_vec4_mat2x4_fragment" />
+<Test name="highp_mat2x4_mat2_vertex" />
+<Test name="highp_mat2x4_mat2_fragment" />
+<Test name="highp_mat2x4_mat3x2_vertex" />
+<Test name="highp_mat2x4_mat3x2_fragment" />
+<Test name="highp_mat2x4_mat4x2_vertex" />
+<Test name="highp_mat2x4_mat4x2_fragment" />
+<Test name="lowp_mat3x2_float_vertex" />
+<Test name="lowp_mat3x2_float_fragment" />
+<Test name="lowp_mat3x2_vec3_vertex" />
+<Test name="lowp_mat3x2_vec3_fragment" />
+<Test name="lowp_vec2_mat3x2_vertex" />
+<Test name="lowp_vec2_mat3x2_fragment" />
+<Test name="lowp_mat3x2_mat2x3_vertex" />
+<Test name="lowp_mat3x2_mat2x3_fragment" />
+<Test name="lowp_mat3x2_mat3_vertex" />
+<Test name="lowp_mat3x2_mat3_fragment" />
+<Test name="lowp_mat3x2_mat4x3_vertex" />
+<Test name="lowp_mat3x2_mat4x3_fragment" />
+<Test name="mediump_mat3x2_float_vertex" />
+<Test name="mediump_mat3x2_float_fragment" />
+<Test name="mediump_mat3x2_vec3_vertex" />
+<Test name="mediump_mat3x2_vec3_fragment" />
+<Test name="mediump_vec2_mat3x2_vertex" />
+<Test name="mediump_vec2_mat3x2_fragment" />
+<Test name="mediump_mat3x2_mat2x3_vertex" />
+<Test name="mediump_mat3x2_mat2x3_fragment" />
+<Test name="mediump_mat3x2_mat3_vertex" />
+<Test name="mediump_mat3x2_mat3_fragment" />
+<Test name="mediump_mat3x2_mat4x3_vertex" />
+<Test name="mediump_mat3x2_mat4x3_fragment" />
+<Test name="highp_mat3x2_float_vertex" />
+<Test name="highp_mat3x2_float_fragment" />
+<Test name="highp_mat3x2_vec3_vertex" />
+<Test name="highp_mat3x2_vec3_fragment" />
+<Test name="highp_vec2_mat3x2_vertex" />
+<Test name="highp_vec2_mat3x2_fragment" />
+<Test name="highp_mat3x2_mat2x3_vertex" />
+<Test name="highp_mat3x2_mat2x3_fragment" />
+<Test name="highp_mat3x2_mat3_vertex" />
+<Test name="highp_mat3x2_mat3_fragment" />
+<Test name="highp_mat3x2_mat4x3_vertex" />
+<Test name="highp_mat3x2_mat4x3_fragment" />
+<Test name="lowp_mat3_float_vertex" />
+<Test name="lowp_mat3_float_fragment" />
+<Test name="lowp_mat3_vec3_vertex" />
+<Test name="lowp_mat3_vec3_fragment" />
+<Test name="lowp_vec3_mat3_vertex" />
+<Test name="lowp_vec3_mat3_fragment" />
+<Test name="lowp_mat3_mat2x3_vertex" />
+<Test name="lowp_mat3_mat2x3_fragment" />
+<Test name="lowp_mat3_mat3_vertex" />
+<Test name="lowp_mat3_mat3_fragment" />
+<Test name="lowp_mat3_mat4x3_vertex" />
+<Test name="lowp_mat3_mat4x3_fragment" />
+<Test name="mediump_mat3_float_vertex" />
+<Test name="mediump_mat3_float_fragment" />
+<Test name="mediump_mat3_vec3_vertex" />
+<Test name="mediump_mat3_vec3_fragment" />
+<Test name="mediump_vec3_mat3_vertex" />
+<Test name="mediump_vec3_mat3_fragment" />
+<Test name="mediump_mat3_mat2x3_vertex" />
+<Test name="mediump_mat3_mat2x3_fragment" />
+<Test name="mediump_mat3_mat3_vertex" />
+<Test name="mediump_mat3_mat3_fragment" />
+<Test name="mediump_mat3_mat4x3_vertex" />
+<Test name="mediump_mat3_mat4x3_fragment" />
+<Test name="highp_mat3_float_vertex" />
+<Test name="highp_mat3_float_fragment" />
+<Test name="highp_mat3_vec3_vertex" />
+<Test name="highp_mat3_vec3_fragment" />
+<Test name="highp_vec3_mat3_vertex" />
+<Test name="highp_vec3_mat3_fragment" />
+<Test name="highp_mat3_mat2x3_vertex" />
+<Test name="highp_mat3_mat2x3_fragment" />
+<Test name="highp_mat3_mat3_vertex" />
+<Test name="highp_mat3_mat3_fragment" />
+<Test name="highp_mat3_mat4x3_vertex" />
+<Test name="highp_mat3_mat4x3_fragment" />
+<Test name="lowp_mat3x4_float_vertex" />
+<Test name="lowp_mat3x4_float_fragment" />
+<Test name="lowp_mat3x4_vec3_vertex" />
+<Test name="lowp_mat3x4_vec3_fragment" />
+<Test name="lowp_vec4_mat3x4_vertex" />
+<Test name="lowp_vec4_mat3x4_fragment" />
+<Test name="lowp_mat3x4_mat2x3_vertex" />
+<Test name="lowp_mat3x4_mat2x3_fragment" />
+<Test name="lowp_mat3x4_mat3_vertex" />
+<Test name="lowp_mat3x4_mat3_fragment" />
+<Test name="lowp_mat3x4_mat4x3_vertex" />
+<Test name="lowp_mat3x4_mat4x3_fragment" />
+<Test name="mediump_mat3x4_float_vertex" />
+<Test name="mediump_mat3x4_float_fragment" />
+<Test name="mediump_mat3x4_vec3_vertex" />
+<Test name="mediump_mat3x4_vec3_fragment" />
+<Test name="mediump_vec4_mat3x4_vertex" />
+<Test name="mediump_vec4_mat3x4_fragment" />
+<Test name="mediump_mat3x4_mat2x3_vertex" />
+<Test name="mediump_mat3x4_mat2x3_fragment" />
+<Test name="mediump_mat3x4_mat3_vertex" />
+<Test name="mediump_mat3x4_mat3_fragment" />
+<Test name="mediump_mat3x4_mat4x3_vertex" />
+<Test name="mediump_mat3x4_mat4x3_fragment" />
+<Test name="highp_mat3x4_float_vertex" />
+<Test name="highp_mat3x4_float_fragment" />
+<Test name="highp_mat3x4_vec3_vertex" />
+<Test name="highp_mat3x4_vec3_fragment" />
+<Test name="highp_vec4_mat3x4_vertex" />
+<Test name="highp_vec4_mat3x4_fragment" />
+<Test name="highp_mat3x4_mat2x3_vertex" />
+<Test name="highp_mat3x4_mat2x3_fragment" />
+<Test name="highp_mat3x4_mat3_vertex" />
+<Test name="highp_mat3x4_mat3_fragment" />
+<Test name="highp_mat3x4_mat4x3_vertex" />
+<Test name="highp_mat3x4_mat4x3_fragment" />
+<Test name="lowp_mat4x2_float_vertex" />
+<Test name="lowp_mat4x2_float_fragment" />
+<Test name="lowp_mat4x2_vec4_vertex" />
+<Test name="lowp_mat4x2_vec4_fragment" />
+<Test name="lowp_vec2_mat4x2_vertex" />
+<Test name="lowp_vec2_mat4x2_fragment" />
+<Test name="lowp_mat4x2_mat2x4_vertex" />
+<Test name="lowp_mat4x2_mat2x4_fragment" />
+<Test name="lowp_mat4x2_mat3x4_vertex" />
+<Test name="lowp_mat4x2_mat3x4_fragment" />
+<Test name="lowp_mat4x2_mat4_vertex" />
+<Test name="lowp_mat4x2_mat4_fragment" />
+<Test name="mediump_mat4x2_float_vertex" />
+<Test name="mediump_mat4x2_float_fragment" />
+<Test name="mediump_mat4x2_vec4_vertex" />
+<Test name="mediump_mat4x2_vec4_fragment" />
+<Test name="mediump_vec2_mat4x2_vertex" />
+<Test name="mediump_vec2_mat4x2_fragment" />
+<Test name="mediump_mat4x2_mat2x4_vertex" />
+<Test name="mediump_mat4x2_mat2x4_fragment" />
+<Test name="mediump_mat4x2_mat3x4_vertex" />
+<Test name="mediump_mat4x2_mat3x4_fragment" />
+<Test name="mediump_mat4x2_mat4_vertex" />
+<Test name="mediump_mat4x2_mat4_fragment" />
+<Test name="highp_mat4x2_float_vertex" />
+<Test name="highp_mat4x2_float_fragment" />
+<Test name="highp_mat4x2_vec4_vertex" />
+<Test name="highp_mat4x2_vec4_fragment" />
+<Test name="highp_vec2_mat4x2_vertex" />
+<Test name="highp_vec2_mat4x2_fragment" />
+<Test name="highp_mat4x2_mat2x4_vertex" />
+<Test name="highp_mat4x2_mat2x4_fragment" />
+<Test name="highp_mat4x2_mat3x4_vertex" />
+<Test name="highp_mat4x2_mat3x4_fragment" />
+<Test name="highp_mat4x2_mat4_vertex" />
+<Test name="highp_mat4x2_mat4_fragment" />
+<Test name="lowp_mat4x3_float_vertex" />
+<Test name="lowp_mat4x3_float_fragment" />
+<Test name="lowp_mat4x3_vec4_vertex" />
+<Test name="lowp_mat4x3_vec4_fragment" />
+<Test name="lowp_vec3_mat4x3_vertex" />
+<Test name="lowp_vec3_mat4x3_fragment" />
+<Test name="lowp_mat4x3_mat2x4_vertex" />
+<Test name="lowp_mat4x3_mat2x4_fragment" />
+<Test name="lowp_mat4x3_mat3x4_vertex" />
+<Test name="lowp_mat4x3_mat3x4_fragment" />
+<Test name="lowp_mat4x3_mat4_vertex" />
+<Test name="lowp_mat4x3_mat4_fragment" />
+<Test name="mediump_mat4x3_float_vertex" />
+<Test name="mediump_mat4x3_float_fragment" />
+<Test name="mediump_mat4x3_vec4_vertex" />
+<Test name="mediump_mat4x3_vec4_fragment" />
+<Test name="mediump_vec3_mat4x3_vertex" />
+<Test name="mediump_vec3_mat4x3_fragment" />
+<Test name="mediump_mat4x3_mat2x4_vertex" />
+<Test name="mediump_mat4x3_mat2x4_fragment" />
+<Test name="mediump_mat4x3_mat3x4_vertex" />
+<Test name="mediump_mat4x3_mat3x4_fragment" />
+<Test name="mediump_mat4x3_mat4_vertex" />
+<Test name="mediump_mat4x3_mat4_fragment" />
+<Test name="highp_mat4x3_float_vertex" />
+<Test name="highp_mat4x3_float_fragment" />
+<Test name="highp_mat4x3_vec4_vertex" />
+<Test name="highp_mat4x3_vec4_fragment" />
+<Test name="highp_vec3_mat4x3_vertex" />
+<Test name="highp_vec3_mat4x3_fragment" />
+<Test name="highp_mat4x3_mat2x4_vertex" />
+<Test name="highp_mat4x3_mat2x4_fragment" />
+<Test name="highp_mat4x3_mat3x4_vertex" />
+<Test name="highp_mat4x3_mat3x4_fragment" />
+<Test name="highp_mat4x3_mat4_vertex" />
+<Test name="highp_mat4x3_mat4_fragment" />
+<Test name="lowp_mat4_float_vertex" />
+<Test name="lowp_mat4_float_fragment" />
+<Test name="lowp_mat4_vec4_vertex" />
+<Test name="lowp_mat4_vec4_fragment" />
+<Test name="lowp_vec4_mat4_vertex" />
+<Test name="lowp_vec4_mat4_fragment" />
+<Test name="lowp_mat4_mat2x4_vertex" />
+<Test name="lowp_mat4_mat2x4_fragment" />
+<Test name="lowp_mat4_mat3x4_vertex" />
+<Test name="lowp_mat4_mat3x4_fragment" />
+<Test name="lowp_mat4_mat4_vertex" />
+<Test name="lowp_mat4_mat4_fragment" />
+<Test name="mediump_mat4_float_vertex" />
+<Test name="mediump_mat4_float_fragment" />
+<Test name="mediump_mat4_vec4_vertex" />
+<Test name="mediump_mat4_vec4_fragment" />
+<Test name="mediump_vec4_mat4_vertex" />
+<Test name="mediump_vec4_mat4_fragment" />
+<Test name="mediump_mat4_mat2x4_vertex" />
+<Test name="mediump_mat4_mat2x4_fragment" />
+<Test name="mediump_mat4_mat3x4_vertex" />
+<Test name="mediump_mat4_mat3x4_fragment" />
+<Test name="mediump_mat4_mat4_vertex" />
+<Test name="mediump_mat4_mat4_fragment" />
+<Test name="highp_mat4_float_vertex" />
+<Test name="highp_mat4_float_fragment" />
+<Test name="highp_mat4_vec4_vertex" />
+<Test name="highp_mat4_vec4_fragment" />
+<Test name="highp_vec4_mat4_vertex" />
+<Test name="highp_vec4_mat4_fragment" />
+<Test name="highp_mat4_mat2x4_vertex" />
+<Test name="highp_mat4_mat2x4_fragment" />
+<Test name="highp_mat4_mat3x4_vertex" />
+<Test name="highp_mat4_mat3x4_fragment" />
+<Test name="highp_mat4_mat4_vertex" />
+<Test name="highp_mat4_mat4_fragment" />
+</TestCase>
+<TestCase name="uniform">
+<Test name="lowp_mat2_float_vertex" />
+<Test name="lowp_mat2_float_fragment" />
+<Test name="lowp_mat2_vec2_vertex" />
+<Test name="lowp_mat2_vec2_fragment" />
+<Test name="lowp_vec2_mat2_vertex" />
+<Test name="lowp_vec2_mat2_fragment" />
+<Test name="lowp_mat2_mat2_vertex" />
+<Test name="lowp_mat2_mat2_fragment" />
+<Test name="mediump_mat2_float_vertex" />
+<Test name="mediump_mat2_float_fragment" />
+<Test name="mediump_mat2_vec2_vertex" />
+<Test name="mediump_mat2_vec2_fragment" />
+<Test name="mediump_vec2_mat2_vertex" />
+<Test name="mediump_vec2_mat2_fragment" />
+<Test name="mediump_mat2_mat2_vertex" />
+<Test name="mediump_mat2_mat2_fragment" />
+<Test name="highp_mat2_float_vertex" />
+<Test name="highp_mat2_float_fragment" />
+<Test name="highp_mat2_vec2_vertex" />
+<Test name="highp_mat2_vec2_fragment" />
+<Test name="highp_vec2_mat2_vertex" />
+<Test name="highp_vec2_mat2_fragment" />
+<Test name="highp_mat2_mat2_vertex" />
+<Test name="highp_mat2_mat2_fragment" />
+<Test name="lowp_mat2x3_float_vertex" />
+<Test name="lowp_mat2x3_float_fragment" />
+<Test name="lowp_mat2x3_vec2_vertex" />
+<Test name="lowp_mat2x3_vec2_fragment" />
+<Test name="lowp_vec3_mat2x3_vertex" />
+<Test name="lowp_vec3_mat2x3_fragment" />
+<Test name="lowp_mat2x3_mat2_vertex" />
+<Test name="lowp_mat2x3_mat2_fragment" />
+<Test name="lowp_mat2x3_mat3x2_vertex" />
+<Test name="lowp_mat2x3_mat3x2_fragment" />
+<Test name="mediump_mat2x3_float_vertex" />
+<Test name="mediump_mat2x3_float_fragment" />
+<Test name="mediump_mat2x3_vec2_vertex" />
+<Test name="mediump_mat2x3_vec2_fragment" />
+<Test name="mediump_vec3_mat2x3_vertex" />
+<Test name="mediump_vec3_mat2x3_fragment" />
+<Test name="mediump_mat2x3_mat2_vertex" />
+<Test name="mediump_mat2x3_mat2_fragment" />
+<Test name="mediump_mat2x3_mat3x2_vertex" />
+<Test name="mediump_mat2x3_mat3x2_fragment" />
+<Test name="highp_mat2x3_float_vertex" />
+<Test name="highp_mat2x3_float_fragment" />
+<Test name="highp_mat2x3_vec2_vertex" />
+<Test name="highp_mat2x3_vec2_fragment" />
+<Test name="highp_vec3_mat2x3_vertex" />
+<Test name="highp_vec3_mat2x3_fragment" />
+<Test name="highp_mat2x3_mat2_vertex" />
+<Test name="highp_mat2x3_mat2_fragment" />
+<Test name="highp_mat2x3_mat3x2_vertex" />
+<Test name="highp_mat2x3_mat3x2_fragment" />
+<Test name="lowp_mat2x4_float_vertex" />
+<Test name="lowp_mat2x4_float_fragment" />
+<Test name="lowp_mat2x4_vec2_vertex" />
+<Test name="lowp_mat2x4_vec2_fragment" />
+<Test name="lowp_vec4_mat2x4_vertex" />
+<Test name="lowp_vec4_mat2x4_fragment" />
+<Test name="lowp_mat2x4_mat2_vertex" />
+<Test name="lowp_mat2x4_mat2_fragment" />
+<Test name="mediump_mat2x4_float_vertex" />
+<Test name="mediump_mat2x4_float_fragment" />
+<Test name="mediump_mat2x4_vec2_vertex" />
+<Test name="mediump_mat2x4_vec2_fragment" />
+<Test name="mediump_vec4_mat2x4_vertex" />
+<Test name="mediump_vec4_mat2x4_fragment" />
+<Test name="mediump_mat2x4_mat2_vertex" />
+<Test name="mediump_mat2x4_mat2_fragment" />
+<Test name="highp_mat2x4_float_vertex" />
+<Test name="highp_mat2x4_float_fragment" />
+<Test name="highp_mat2x4_vec2_vertex" />
+<Test name="highp_mat2x4_vec2_fragment" />
+<Test name="highp_vec4_mat2x4_vertex" />
+<Test name="highp_vec4_mat2x4_fragment" />
+<Test name="highp_mat2x4_mat2_vertex" />
+<Test name="highp_mat2x4_mat2_fragment" />
+<Test name="lowp_mat3x2_float_vertex" />
+<Test name="lowp_mat3x2_float_fragment" />
+<Test name="lowp_mat3x2_vec3_vertex" />
+<Test name="lowp_mat3x2_vec3_fragment" />
+<Test name="lowp_vec2_mat3x2_vertex" />
+<Test name="lowp_vec2_mat3x2_fragment" />
+<Test name="lowp_mat3x2_mat2x3_vertex" />
+<Test name="lowp_mat3x2_mat2x3_fragment" />
+<Test name="lowp_mat3x2_mat3_vertex" />
+<Test name="lowp_mat3x2_mat3_fragment" />
+<Test name="lowp_mat3x2_mat4x3_vertex" />
+<Test name="lowp_mat3x2_mat4x3_fragment" />
+<Test name="mediump_mat3x2_float_vertex" />
+<Test name="mediump_mat3x2_float_fragment" />
+<Test name="mediump_mat3x2_vec3_vertex" />
+<Test name="mediump_mat3x2_vec3_fragment" />
+<Test name="mediump_vec2_mat3x2_vertex" />
+<Test name="mediump_vec2_mat3x2_fragment" />
+<Test name="mediump_mat3x2_mat2x3_vertex" />
+<Test name="mediump_mat3x2_mat2x3_fragment" />
+<Test name="mediump_mat3x2_mat3_vertex" />
+<Test name="mediump_mat3x2_mat3_fragment" />
+<Test name="mediump_mat3x2_mat4x3_vertex" />
+<Test name="mediump_mat3x2_mat4x3_fragment" />
+<Test name="highp_mat3x2_float_vertex" />
+<Test name="highp_mat3x2_float_fragment" />
+<Test name="highp_mat3x2_vec3_vertex" />
+<Test name="highp_mat3x2_vec3_fragment" />
+<Test name="highp_vec2_mat3x2_vertex" />
+<Test name="highp_vec2_mat3x2_fragment" />
+<Test name="highp_mat3x2_mat2x3_vertex" />
+<Test name="highp_mat3x2_mat2x3_fragment" />
+<Test name="highp_mat3x2_mat3_vertex" />
+<Test name="highp_mat3x2_mat3_fragment" />
+<Test name="highp_mat3x2_mat4x3_vertex" />
+<Test name="highp_mat3x2_mat4x3_fragment" />
+<Test name="lowp_mat3_float_vertex" />
+<Test name="lowp_mat3_float_fragment" />
+<Test name="lowp_mat3_vec3_vertex" />
+<Test name="lowp_mat3_vec3_fragment" />
+<Test name="lowp_vec3_mat3_vertex" />
+<Test name="lowp_vec3_mat3_fragment" />
+<Test name="lowp_mat3_mat2x3_vertex" />
+<Test name="lowp_mat3_mat2x3_fragment" />
+<Test name="lowp_mat3_mat3_vertex" />
+<Test name="lowp_mat3_mat3_fragment" />
+<Test name="mediump_mat3_float_vertex" />
+<Test name="mediump_mat3_float_fragment" />
+<Test name="mediump_mat3_vec3_vertex" />
+<Test name="mediump_mat3_vec3_fragment" />
+<Test name="mediump_vec3_mat3_vertex" />
+<Test name="mediump_vec3_mat3_fragment" />
+<Test name="mediump_mat3_mat2x3_vertex" />
+<Test name="mediump_mat3_mat2x3_fragment" />
+<Test name="mediump_mat3_mat3_vertex" />
+<Test name="mediump_mat3_mat3_fragment" />
+<Test name="highp_mat3_float_vertex" />
+<Test name="highp_mat3_float_fragment" />
+<Test name="highp_mat3_vec3_vertex" />
+<Test name="highp_mat3_vec3_fragment" />
+<Test name="highp_vec3_mat3_vertex" />
+<Test name="highp_vec3_mat3_fragment" />
+<Test name="highp_mat3_mat2x3_vertex" />
+<Test name="highp_mat3_mat2x3_fragment" />
+<Test name="highp_mat3_mat3_vertex" />
+<Test name="highp_mat3_mat3_fragment" />
+<Test name="lowp_mat3x4_float_vertex" />
+<Test name="lowp_mat3x4_float_fragment" />
+<Test name="lowp_mat3x4_vec3_vertex" />
+<Test name="lowp_mat3x4_vec3_fragment" />
+<Test name="lowp_vec4_mat3x4_vertex" />
+<Test name="lowp_vec4_mat3x4_fragment" />
+<Test name="lowp_mat3x4_mat2x3_vertex" />
+<Test name="lowp_mat3x4_mat2x3_fragment" />
+<Test name="lowp_mat3x4_mat3_vertex" />
+<Test name="lowp_mat3x4_mat3_fragment" />
+<Test name="mediump_mat3x4_float_vertex" />
+<Test name="mediump_mat3x4_float_fragment" />
+<Test name="mediump_mat3x4_vec3_vertex" />
+<Test name="mediump_mat3x4_vec3_fragment" />
+<Test name="mediump_vec4_mat3x4_vertex" />
+<Test name="mediump_vec4_mat3x4_fragment" />
+<Test name="mediump_mat3x4_mat2x3_vertex" />
+<Test name="mediump_mat3x4_mat2x3_fragment" />
+<Test name="mediump_mat3x4_mat3_vertex" />
+<Test name="mediump_mat3x4_mat3_fragment" />
+<Test name="highp_mat3x4_float_vertex" />
+<Test name="highp_mat3x4_float_fragment" />
+<Test name="highp_mat3x4_vec3_vertex" />
+<Test name="highp_mat3x4_vec3_fragment" />
+<Test name="highp_vec4_mat3x4_vertex" />
+<Test name="highp_vec4_mat3x4_fragment" />
+<Test name="highp_mat3x4_mat2x3_vertex" />
+<Test name="highp_mat3x4_mat2x3_fragment" />
+<Test name="highp_mat3x4_mat3_vertex" />
+<Test name="highp_mat3x4_mat3_fragment" />
+<Test name="lowp_mat4x2_float_vertex" />
+<Test name="lowp_mat4x2_float_fragment" />
+<Test name="lowp_mat4x2_vec4_vertex" />
+<Test name="lowp_mat4x2_vec4_fragment" />
+<Test name="lowp_vec2_mat4x2_vertex" />
+<Test name="lowp_vec2_mat4x2_fragment" />
+<Test name="lowp_mat4x2_mat2x4_vertex" />
+<Test name="lowp_mat4x2_mat2x4_fragment" />
+<Test name="lowp_mat4x2_mat3x4_vertex" />
+<Test name="lowp_mat4x2_mat3x4_fragment" />
+<Test name="lowp_mat4x2_mat4_vertex" />
+<Test name="lowp_mat4x2_mat4_fragment" />
+<Test name="mediump_mat4x2_float_vertex" />
+<Test name="mediump_mat4x2_float_fragment" />
+<Test name="mediump_mat4x2_vec4_vertex" />
+<Test name="mediump_mat4x2_vec4_fragment" />
+<Test name="mediump_vec2_mat4x2_vertex" />
+<Test name="mediump_vec2_mat4x2_fragment" />
+<Test name="mediump_mat4x2_mat2x4_vertex" />
+<Test name="mediump_mat4x2_mat2x4_fragment" />
+<Test name="mediump_mat4x2_mat3x4_vertex" />
+<Test name="mediump_mat4x2_mat3x4_fragment" />
+<Test name="mediump_mat4x2_mat4_vertex" />
+<Test name="mediump_mat4x2_mat4_fragment" />
+<Test name="highp_mat4x2_float_vertex" />
+<Test name="highp_mat4x2_float_fragment" />
+<Test name="highp_mat4x2_vec4_vertex" />
+<Test name="highp_mat4x2_vec4_fragment" />
+<Test name="highp_vec2_mat4x2_vertex" />
+<Test name="highp_vec2_mat4x2_fragment" />
+<Test name="highp_mat4x2_mat2x4_vertex" />
+<Test name="highp_mat4x2_mat2x4_fragment" />
+<Test name="highp_mat4x2_mat3x4_vertex" />
+<Test name="highp_mat4x2_mat3x4_fragment" />
+<Test name="highp_mat4x2_mat4_vertex" />
+<Test name="highp_mat4x2_mat4_fragment" />
+<Test name="lowp_mat4x3_float_vertex" />
+<Test name="lowp_mat4x3_float_fragment" />
+<Test name="lowp_mat4x3_vec4_vertex" />
+<Test name="lowp_mat4x3_vec4_fragment" />
+<Test name="lowp_vec3_mat4x3_vertex" />
+<Test name="lowp_vec3_mat4x3_fragment" />
+<Test name="lowp_mat4x3_mat2x4_vertex" />
+<Test name="lowp_mat4x3_mat2x4_fragment" />
+<Test name="lowp_mat4x3_mat3x4_vertex" />
+<Test name="lowp_mat4x3_mat3x4_fragment" />
+<Test name="lowp_mat4x3_mat4_vertex" />
+<Test name="lowp_mat4x3_mat4_fragment" />
+<Test name="mediump_mat4x3_float_vertex" />
+<Test name="mediump_mat4x3_float_fragment" />
+<Test name="mediump_mat4x3_vec4_vertex" />
+<Test name="mediump_mat4x3_vec4_fragment" />
+<Test name="mediump_vec3_mat4x3_vertex" />
+<Test name="mediump_vec3_mat4x3_fragment" />
+<Test name="mediump_mat4x3_mat2x4_vertex" />
+<Test name="mediump_mat4x3_mat2x4_fragment" />
+<Test name="mediump_mat4x3_mat3x4_vertex" />
+<Test name="mediump_mat4x3_mat3x4_fragment" />
+<Test name="mediump_mat4x3_mat4_vertex" />
+<Test name="mediump_mat4x3_mat4_fragment" />
+<Test name="highp_mat4x3_float_vertex" />
+<Test name="highp_mat4x3_float_fragment" />
+<Test name="highp_mat4x3_vec4_vertex" />
+<Test name="highp_mat4x3_vec4_fragment" />
+<Test name="highp_vec3_mat4x3_vertex" />
+<Test name="highp_vec3_mat4x3_fragment" />
+<Test name="highp_mat4x3_mat2x4_vertex" />
+<Test name="highp_mat4x3_mat2x4_fragment" />
+<Test name="highp_mat4x3_mat3x4_vertex" />
+<Test name="highp_mat4x3_mat3x4_fragment" />
+<Test name="highp_mat4x3_mat4_vertex" />
+<Test name="highp_mat4x3_mat4_fragment" />
+<Test name="lowp_mat4_float_vertex" />
+<Test name="lowp_mat4_float_fragment" />
+<Test name="lowp_mat4_vec4_vertex" />
+<Test name="lowp_mat4_vec4_fragment" />
+<Test name="lowp_vec4_mat4_vertex" />
+<Test name="lowp_vec4_mat4_fragment" />
+<Test name="lowp_mat4_mat2x4_vertex" />
+<Test name="lowp_mat4_mat2x4_fragment" />
+<Test name="lowp_mat4_mat3x4_vertex" />
+<Test name="lowp_mat4_mat3x4_fragment" />
+<Test name="lowp_mat4_mat4_vertex" />
+<Test name="lowp_mat4_mat4_fragment" />
+<Test name="mediump_mat4_float_vertex" />
+<Test name="mediump_mat4_float_fragment" />
+<Test name="mediump_mat4_vec4_vertex" />
+<Test name="mediump_mat4_vec4_fragment" />
+<Test name="mediump_vec4_mat4_vertex" />
+<Test name="mediump_vec4_mat4_fragment" />
+<Test name="mediump_mat4_mat2x4_vertex" />
+<Test name="mediump_mat4_mat2x4_fragment" />
+<Test name="mediump_mat4_mat3x4_vertex" />
+<Test name="mediump_mat4_mat3x4_fragment" />
+<Test name="mediump_mat4_mat4_vertex" />
+<Test name="mediump_mat4_mat4_fragment" />
+<Test name="highp_mat4_float_vertex" />
+<Test name="highp_mat4_float_fragment" />
+<Test name="highp_mat4_vec4_vertex" />
+<Test name="highp_mat4_vec4_fragment" />
+<Test name="highp_vec4_mat4_vertex" />
+<Test name="highp_vec4_mat4_fragment" />
+<Test name="highp_mat4_mat2x4_vertex" />
+<Test name="highp_mat4_mat2x4_fragment" />
+<Test name="highp_mat4_mat3x4_vertex" />
+<Test name="highp_mat4_mat3x4_fragment" />
+<Test name="highp_mat4_mat4_vertex" />
+<Test name="highp_mat4_mat4_fragment" />
+</TestCase>
+<TestCase name="dynamic">
+<Test name="lowp_mat2_float_vertex" />
+<Test name="lowp_mat2_float_fragment" />
+<Test name="lowp_mat2_vec2_vertex" />
+<Test name="lowp_mat2_vec2_fragment" />
+<Test name="lowp_vec2_mat2_vertex" />
+<Test name="lowp_vec2_mat2_fragment" />
+<Test name="lowp_mat2_mat2_vertex" />
+<Test name="lowp_mat2_mat2_fragment" />
+<Test name="lowp_mat2_mat4x2_vertex" />
+<Test name="lowp_mat2_mat4x2_fragment" />
+<Test name="mediump_mat2_float_vertex" />
+<Test name="mediump_mat2_float_fragment" />
+<Test name="mediump_mat2_vec2_vertex" />
+<Test name="mediump_mat2_vec2_fragment" />
+<Test name="mediump_vec2_mat2_vertex" />
+<Test name="mediump_vec2_mat2_fragment" />
+<Test name="mediump_mat2_mat2_vertex" />
+<Test name="mediump_mat2_mat2_fragment" />
+<Test name="mediump_mat2_mat4x2_vertex" />
+<Test name="mediump_mat2_mat4x2_fragment" />
+<Test name="highp_mat2_float_vertex" />
+<Test name="highp_mat2_float_fragment" />
+<Test name="highp_mat2_vec2_vertex" />
+<Test name="highp_mat2_vec2_fragment" />
+<Test name="highp_vec2_mat2_vertex" />
+<Test name="highp_vec2_mat2_fragment" />
+<Test name="highp_mat2_mat2_vertex" />
+<Test name="highp_mat2_mat2_fragment" />
+<Test name="highp_mat2_mat4x2_vertex" />
+<Test name="highp_mat2_mat4x2_fragment" />
+<Test name="lowp_mat2x3_float_vertex" />
+<Test name="lowp_mat2x3_float_fragment" />
+<Test name="lowp_mat2x3_vec2_vertex" />
+<Test name="lowp_mat2x3_vec2_fragment" />
+<Test name="lowp_vec3_mat2x3_vertex" />
+<Test name="lowp_vec3_mat2x3_fragment" />
+<Test name="lowp_mat2x3_mat2_vertex" />
+<Test name="lowp_mat2x3_mat2_fragment" />
+<Test name="mediump_mat2x3_float_vertex" />
+<Test name="mediump_mat2x3_float_fragment" />
+<Test name="mediump_mat2x3_vec2_vertex" />
+<Test name="mediump_mat2x3_vec2_fragment" />
+<Test name="mediump_vec3_mat2x3_vertex" />
+<Test name="mediump_vec3_mat2x3_fragment" />
+<Test name="mediump_mat2x3_mat2_vertex" />
+<Test name="mediump_mat2x3_mat2_fragment" />
+<Test name="highp_mat2x3_float_vertex" />
+<Test name="highp_mat2x3_float_fragment" />
+<Test name="highp_mat2x3_vec2_vertex" />
+<Test name="highp_mat2x3_vec2_fragment" />
+<Test name="highp_vec3_mat2x3_vertex" />
+<Test name="highp_vec3_mat2x3_fragment" />
+<Test name="highp_mat2x3_mat2_vertex" />
+<Test name="highp_mat2x3_mat2_fragment" />
+<Test name="lowp_mat2x4_float_vertex" />
+<Test name="lowp_mat2x4_float_fragment" />
+<Test name="lowp_mat2x4_vec2_vertex" />
+<Test name="lowp_mat2x4_vec2_fragment" />
+<Test name="lowp_vec4_mat2x4_vertex" />
+<Test name="lowp_vec4_mat2x4_fragment" />
+<Test name="lowp_mat2x4_mat2_vertex" />
+<Test name="lowp_mat2x4_mat2_fragment" />
+<Test name="mediump_mat2x4_float_vertex" />
+<Test name="mediump_mat2x4_float_fragment" />
+<Test name="mediump_mat2x4_vec2_vertex" />
+<Test name="mediump_mat2x4_vec2_fragment" />
+<Test name="mediump_vec4_mat2x4_vertex" />
+<Test name="mediump_vec4_mat2x4_fragment" />
+<Test name="mediump_mat2x4_mat2_vertex" />
+<Test name="mediump_mat2x4_mat2_fragment" />
+<Test name="highp_mat2x4_float_vertex" />
+<Test name="highp_mat2x4_float_fragment" />
+<Test name="highp_mat2x4_vec2_vertex" />
+<Test name="highp_mat2x4_vec2_fragment" />
+<Test name="highp_vec4_mat2x4_vertex" />
+<Test name="highp_vec4_mat2x4_fragment" />
+<Test name="highp_mat2x4_mat2_vertex" />
+<Test name="highp_mat2x4_mat2_fragment" />
+<Test name="lowp_mat3x2_float_vertex" />
+<Test name="lowp_mat3x2_float_fragment" />
+<Test name="lowp_mat3x2_vec3_vertex" />
+<Test name="lowp_mat3x2_vec3_fragment" />
+<Test name="lowp_vec2_mat3x2_vertex" />
+<Test name="lowp_vec2_mat3x2_fragment" />
+<Test name="lowp_mat3x2_mat2x3_vertex" />
+<Test name="lowp_mat3x2_mat2x3_fragment" />
+<Test name="lowp_mat3x2_mat3_vertex" />
+<Test name="lowp_mat3x2_mat3_fragment" />
+<Test name="mediump_mat3x2_float_vertex" />
+<Test name="mediump_mat3x2_float_fragment" />
+<Test name="mediump_mat3x2_vec3_vertex" />
+<Test name="mediump_mat3x2_vec3_fragment" />
+<Test name="mediump_vec2_mat3x2_vertex" />
+<Test name="mediump_vec2_mat3x2_fragment" />
+<Test name="mediump_mat3x2_mat2x3_vertex" />
+<Test name="mediump_mat3x2_mat2x3_fragment" />
+<Test name="mediump_mat3x2_mat3_vertex" />
+<Test name="mediump_mat3x2_mat3_fragment" />
+<Test name="highp_mat3x2_float_vertex" />
+<Test name="highp_mat3x2_float_fragment" />
+<Test name="highp_mat3x2_vec3_vertex" />
+<Test name="highp_mat3x2_vec3_fragment" />
+<Test name="highp_vec2_mat3x2_vertex" />
+<Test name="highp_vec2_mat3x2_fragment" />
+<Test name="highp_mat3x2_mat2x3_vertex" />
+<Test name="highp_mat3x2_mat2x3_fragment" />
+<Test name="highp_mat3x2_mat3_vertex" />
+<Test name="highp_mat3x2_mat3_fragment" />
+<Test name="lowp_mat3_float_vertex" />
+<Test name="lowp_mat3_float_fragment" />
+<Test name="lowp_mat3_vec3_vertex" />
+<Test name="lowp_mat3_vec3_fragment" />
+<Test name="lowp_vec3_mat3_vertex" />
+<Test name="lowp_vec3_mat3_fragment" />
+<Test name="lowp_mat3_mat2x3_vertex" />
+<Test name="lowp_mat3_mat2x3_fragment" />
+<Test name="lowp_mat3_mat3_vertex" />
+<Test name="lowp_mat3_mat3_fragment" />
+<Test name="mediump_mat3_float_vertex" />
+<Test name="mediump_mat3_float_fragment" />
+<Test name="mediump_mat3_vec3_vertex" />
+<Test name="mediump_mat3_vec3_fragment" />
+<Test name="mediump_vec3_mat3_vertex" />
+<Test name="mediump_vec3_mat3_fragment" />
+<Test name="mediump_mat3_mat2x3_vertex" />
+<Test name="mediump_mat3_mat2x3_fragment" />
+<Test name="mediump_mat3_mat3_vertex" />
+<Test name="mediump_mat3_mat3_fragment" />
+<Test name="highp_mat3_float_vertex" />
+<Test name="highp_mat3_float_fragment" />
+<Test name="highp_mat3_vec3_vertex" />
+<Test name="highp_mat3_vec3_fragment" />
+<Test name="highp_vec3_mat3_vertex" />
+<Test name="highp_vec3_mat3_fragment" />
+<Test name="highp_mat3_mat2x3_vertex" />
+<Test name="highp_mat3_mat2x3_fragment" />
+<Test name="highp_mat3_mat3_vertex" />
+<Test name="highp_mat3_mat3_fragment" />
+<Test name="lowp_mat3x4_float_vertex" />
+<Test name="lowp_mat3x4_float_fragment" />
+<Test name="lowp_mat3x4_vec3_vertex" />
+<Test name="lowp_mat3x4_vec3_fragment" />
+<Test name="lowp_vec4_mat3x4_vertex" />
+<Test name="lowp_vec4_mat3x4_fragment" />
+<Test name="lowp_mat3x4_mat2x3_vertex" />
+<Test name="lowp_mat3x4_mat2x3_fragment" />
+<Test name="lowp_mat3x4_mat3_vertex" />
+<Test name="lowp_mat3x4_mat3_fragment" />
+<Test name="mediump_mat3x4_float_vertex" />
+<Test name="mediump_mat3x4_float_fragment" />
+<Test name="mediump_mat3x4_vec3_vertex" />
+<Test name="mediump_mat3x4_vec3_fragment" />
+<Test name="mediump_vec4_mat3x4_vertex" />
+<Test name="mediump_vec4_mat3x4_fragment" />
+<Test name="mediump_mat3x4_mat2x3_vertex" />
+<Test name="mediump_mat3x4_mat2x3_fragment" />
+<Test name="mediump_mat3x4_mat3_vertex" />
+<Test name="mediump_mat3x4_mat3_fragment" />
+<Test name="highp_mat3x4_float_vertex" />
+<Test name="highp_mat3x4_float_fragment" />
+<Test name="highp_mat3x4_vec3_vertex" />
+<Test name="highp_mat3x4_vec3_fragment" />
+<Test name="highp_vec4_mat3x4_vertex" />
+<Test name="highp_vec4_mat3x4_fragment" />
+<Test name="highp_mat3x4_mat2x3_vertex" />
+<Test name="highp_mat3x4_mat2x3_fragment" />
+<Test name="highp_mat3x4_mat3_vertex" />
+<Test name="highp_mat3x4_mat3_fragment" />
+<Test name="lowp_mat4x2_float_vertex" />
+<Test name="lowp_mat4x2_float_fragment" />
+<Test name="lowp_mat4x2_vec4_vertex" />
+<Test name="lowp_mat4x2_vec4_fragment" />
+<Test name="lowp_vec2_mat4x2_vertex" />
+<Test name="lowp_vec2_mat4x2_fragment" />
+<Test name="lowp_mat4x2_mat2x4_vertex" />
+<Test name="lowp_mat4x2_mat2x4_fragment" />
+<Test name="lowp_mat4x2_mat3x4_vertex" />
+<Test name="lowp_mat4x2_mat3x4_fragment" />
+<Test name="lowp_mat4x2_mat4_vertex" />
+<Test name="lowp_mat4x2_mat4_fragment" />
+<Test name="mediump_mat4x2_float_vertex" />
+<Test name="mediump_mat4x2_float_fragment" />
+<Test name="mediump_mat4x2_vec4_vertex" />
+<Test name="mediump_mat4x2_vec4_fragment" />
+<Test name="mediump_vec2_mat4x2_vertex" />
+<Test name="mediump_vec2_mat4x2_fragment" />
+<Test name="mediump_mat4x2_mat2x4_vertex" />
+<Test name="mediump_mat4x2_mat2x4_fragment" />
+<Test name="mediump_mat4x2_mat3x4_vertex" />
+<Test name="mediump_mat4x2_mat3x4_fragment" />
+<Test name="mediump_mat4x2_mat4_vertex" />
+<Test name="mediump_mat4x2_mat4_fragment" />
+<Test name="highp_mat4x2_float_vertex" />
+<Test name="highp_mat4x2_float_fragment" />
+<Test name="highp_mat4x2_vec4_vertex" />
+<Test name="highp_mat4x2_vec4_fragment" />
+<Test name="highp_vec2_mat4x2_vertex" />
+<Test name="highp_vec2_mat4x2_fragment" />
+<Test name="highp_mat4x2_mat2x4_vertex" />
+<Test name="highp_mat4x2_mat2x4_fragment" />
+<Test name="highp_mat4x2_mat3x4_vertex" />
+<Test name="highp_mat4x2_mat3x4_fragment" />
+<Test name="highp_mat4x2_mat4_vertex" />
+<Test name="highp_mat4x2_mat4_fragment" />
+<Test name="lowp_mat4x3_float_vertex" />
+<Test name="lowp_mat4x3_float_fragment" />
+<Test name="lowp_mat4x3_vec4_vertex" />
+<Test name="lowp_mat4x3_vec4_fragment" />
+<Test name="lowp_vec3_mat4x3_vertex" />
+<Test name="lowp_vec3_mat4x3_fragment" />
+<Test name="lowp_mat4x3_mat2x4_vertex" />
+<Test name="lowp_mat4x3_mat2x4_fragment" />
+<Test name="lowp_mat4x3_mat3x4_vertex" />
+<Test name="lowp_mat4x3_mat3x4_fragment" />
+<Test name="lowp_mat4x3_mat4_vertex" />
+<Test name="lowp_mat4x3_mat4_fragment" />
+<Test name="mediump_mat4x3_float_vertex" />
+<Test name="mediump_mat4x3_float_fragment" />
+<Test name="mediump_mat4x3_vec4_vertex" />
+<Test name="mediump_mat4x3_vec4_fragment" />
+<Test name="mediump_vec3_mat4x3_vertex" />
+<Test name="mediump_vec3_mat4x3_fragment" />
+<Test name="mediump_mat4x3_mat2x4_vertex" />
+<Test name="mediump_mat4x3_mat2x4_fragment" />
+<Test name="mediump_mat4x3_mat3x4_vertex" />
+<Test name="mediump_mat4x3_mat3x4_fragment" />
+<Test name="mediump_mat4x3_mat4_vertex" />
+<Test name="mediump_mat4x3_mat4_fragment" />
+<Test name="highp_mat4x3_float_vertex" />
+<Test name="highp_mat4x3_float_fragment" />
+<Test name="highp_mat4x3_vec4_vertex" />
+<Test name="highp_mat4x3_vec4_fragment" />
+<Test name="highp_vec3_mat4x3_vertex" />
+<Test name="highp_vec3_mat4x3_fragment" />
+<Test name="highp_mat4x3_mat2x4_vertex" />
+<Test name="highp_mat4x3_mat2x4_fragment" />
+<Test name="highp_mat4x3_mat3x4_vertex" />
+<Test name="highp_mat4x3_mat3x4_fragment" />
+<Test name="highp_mat4x3_mat4_vertex" />
+<Test name="highp_mat4x3_mat4_fragment" />
+<Test name="lowp_mat4_float_vertex" />
+<Test name="lowp_mat4_float_fragment" />
+<Test name="lowp_mat4_vec4_vertex" />
+<Test name="lowp_mat4_vec4_fragment" />
+<Test name="lowp_vec4_mat4_vertex" />
+<Test name="lowp_vec4_mat4_fragment" />
+<Test name="lowp_mat4_mat2x4_vertex" />
+<Test name="lowp_mat4_mat2x4_fragment" />
+<Test name="lowp_mat4_mat3x4_vertex" />
+<Test name="lowp_mat4_mat3x4_fragment" />
+<Test name="lowp_mat4_mat4_vertex" />
+<Test name="lowp_mat4_mat4_fragment" />
+<Test name="mediump_mat4_float_vertex" />
+<Test name="mediump_mat4_float_fragment" />
+<Test name="mediump_mat4_vec4_vertex" />
+<Test name="mediump_mat4_vec4_fragment" />
+<Test name="mediump_vec4_mat4_vertex" />
+<Test name="mediump_vec4_mat4_fragment" />
+<Test name="mediump_mat4_mat2x4_vertex" />
+<Test name="mediump_mat4_mat2x4_fragment" />
+<Test name="mediump_mat4_mat3x4_vertex" />
+<Test name="mediump_mat4_mat3x4_fragment" />
+<Test name="mediump_mat4_mat4_vertex" />
+<Test name="mediump_mat4_mat4_fragment" />
+<Test name="highp_mat4_float_vertex" />
+<Test name="highp_mat4_float_fragment" />
+<Test name="highp_mat4_vec4_vertex" />
+<Test name="highp_mat4_vec4_fragment" />
+<Test name="highp_vec4_mat4_vertex" />
+<Test name="highp_vec4_mat4_fragment" />
+<Test name="highp_mat4_mat2x4_vertex" />
+<Test name="highp_mat4_mat2x4_fragment" />
+<Test name="highp_mat4_mat3x4_vertex" />
+<Test name="highp_mat4_mat3x4_fragment" />
+<Test name="highp_mat4_mat4_vertex" />
+<Test name="highp_mat4_mat4_fragment" />
+</TestCase>
+</TestSuite>
+<TestSuite name="div">
+<TestCase name="const">
+<Test name="lowp_mat2_float_vertex" />
+<Test name="lowp_mat2_float_fragment" />
+<Test name="lowp_mat2_mat2_vertex" />
+<Test name="lowp_mat2_mat2_fragment" />
+<Test name="mediump_mat2_float_vertex" />
+<Test name="mediump_mat2_float_fragment" />
+<Test name="mediump_mat2_mat2_vertex" />
+<Test name="mediump_mat2_mat2_fragment" />
+<Test name="highp_mat2_float_vertex" />
+<Test name="highp_mat2_float_fragment" />
+<Test name="highp_mat2_mat2_vertex" />
+<Test name="highp_mat2_mat2_fragment" />
+<Test name="lowp_mat2x3_float_vertex" />
+<Test name="lowp_mat2x3_float_fragment" />
+<Test name="lowp_mat2x3_mat2x3_vertex" />
+<Test name="lowp_mat2x3_mat2x3_fragment" />
+<Test name="mediump_mat2x3_float_vertex" />
+<Test name="mediump_mat2x3_float_fragment" />
+<Test name="mediump_mat2x3_mat2x3_vertex" />
+<Test name="mediump_mat2x3_mat2x3_fragment" />
+<Test name="highp_mat2x3_float_vertex" />
+<Test name="highp_mat2x3_float_fragment" />
+<Test name="highp_mat2x3_mat2x3_vertex" />
+<Test name="highp_mat2x3_mat2x3_fragment" />
+<Test name="lowp_mat2x4_float_vertex" />
+<Test name="lowp_mat2x4_float_fragment" />
+<Test name="lowp_mat2x4_mat2x4_vertex" />
+<Test name="lowp_mat2x4_mat2x4_fragment" />
+<Test name="mediump_mat2x4_float_vertex" />
+<Test name="mediump_mat2x4_float_fragment" />
+<Test name="mediump_mat2x4_mat2x4_vertex" />
+<Test name="mediump_mat2x4_mat2x4_fragment" />
+<Test name="highp_mat2x4_float_vertex" />
+<Test name="highp_mat2x4_float_fragment" />
+<Test name="highp_mat2x4_mat2x4_vertex" />
+<Test name="highp_mat2x4_mat2x4_fragment" />
+<Test name="lowp_mat3x2_float_vertex" />
+<Test name="lowp_mat3x2_float_fragment" />
+<Test name="lowp_mat3x2_mat3x2_vertex" />
+<Test name="lowp_mat3x2_mat3x2_fragment" />
+<Test name="mediump_mat3x2_float_vertex" />
+<Test name="mediump_mat3x2_float_fragment" />
+<Test name="mediump_mat3x2_mat3x2_vertex" />
+<Test name="mediump_mat3x2_mat3x2_fragment" />
+<Test name="highp_mat3x2_float_vertex" />
+<Test name="highp_mat3x2_float_fragment" />
+<Test name="highp_mat3x2_mat3x2_vertex" />
+<Test name="highp_mat3x2_mat3x2_fragment" />
+<Test name="lowp_mat3_float_vertex" />
+<Test name="lowp_mat3_float_fragment" />
+<Test name="lowp_mat3_mat3_vertex" />
+<Test name="lowp_mat3_mat3_fragment" />
+<Test name="mediump_mat3_float_vertex" />
+<Test name="mediump_mat3_float_fragment" />
+<Test name="mediump_mat3_mat3_vertex" />
+<Test name="mediump_mat3_mat3_fragment" />
+<Test name="highp_mat3_float_vertex" />
+<Test name="highp_mat3_float_fragment" />
+<Test name="highp_mat3_mat3_vertex" />
+<Test name="highp_mat3_mat3_fragment" />
+<Test name="lowp_mat3x4_float_vertex" />
+<Test name="lowp_mat3x4_float_fragment" />
+<Test name="lowp_mat3x4_mat3x4_vertex" />
+<Test name="lowp_mat3x4_mat3x4_fragment" />
+<Test name="mediump_mat3x4_float_vertex" />
+<Test name="mediump_mat3x4_float_fragment" />
+<Test name="mediump_mat3x4_mat3x4_vertex" />
+<Test name="mediump_mat3x4_mat3x4_fragment" />
+<Test name="highp_mat3x4_float_vertex" />
+<Test name="highp_mat3x4_float_fragment" />
+<Test name="highp_mat3x4_mat3x4_vertex" />
+<Test name="highp_mat3x4_mat3x4_fragment" />
+<Test name="lowp_mat4x2_float_vertex" />
+<Test name="lowp_mat4x2_float_fragment" />
+<Test name="lowp_mat4x2_mat4x2_vertex" />
+<Test name="lowp_mat4x2_mat4x2_fragment" />
+<Test name="mediump_mat4x2_float_vertex" />
+<Test name="mediump_mat4x2_float_fragment" />
+<Test name="mediump_mat4x2_mat4x2_vertex" />
+<Test name="mediump_mat4x2_mat4x2_fragment" />
+<Test name="highp_mat4x2_float_vertex" />
+<Test name="highp_mat4x2_float_fragment" />
+<Test name="highp_mat4x2_mat4x2_vertex" />
+<Test name="highp_mat4x2_mat4x2_fragment" />
+<Test name="lowp_mat4x3_float_vertex" />
+<Test name="lowp_mat4x3_float_fragment" />
+<Test name="lowp_mat4x3_mat4x3_vertex" />
+<Test name="lowp_mat4x3_mat4x3_fragment" />
+<Test name="mediump_mat4x3_float_vertex" />
+<Test name="mediump_mat4x3_float_fragment" />
+<Test name="mediump_mat4x3_mat4x3_vertex" />
+<Test name="mediump_mat4x3_mat4x3_fragment" />
+<Test name="highp_mat4x3_float_vertex" />
+<Test name="highp_mat4x3_float_fragment" />
+<Test name="highp_mat4x3_mat4x3_vertex" />
+<Test name="highp_mat4x3_mat4x3_fragment" />
+<Test name="lowp_mat4_float_vertex" />
+<Test name="lowp_mat4_float_fragment" />
+<Test name="lowp_mat4_mat4_vertex" />
+<Test name="lowp_mat4_mat4_fragment" />
+<Test name="mediump_mat4_float_vertex" />
+<Test name="mediump_mat4_float_fragment" />
+<Test name="mediump_mat4_mat4_vertex" />
+<Test name="mediump_mat4_mat4_fragment" />
+<Test name="highp_mat4_float_vertex" />
+<Test name="highp_mat4_float_fragment" />
+<Test name="highp_mat4_mat4_vertex" />
+<Test name="highp_mat4_mat4_fragment" />
+</TestCase>
+<TestCase name="uniform">
+<Test name="lowp_mat2_float_vertex" />
+<Test name="lowp_mat2_float_fragment" />
+<Test name="lowp_mat2_mat2_vertex" />
+<Test name="lowp_mat2_mat2_fragment" />
+<Test name="mediump_mat2_float_vertex" />
+<Test name="mediump_mat2_float_fragment" />
+<Test name="mediump_mat2_mat2_vertex" />
+<Test name="mediump_mat2_mat2_fragment" />
+<Test name="highp_mat2_float_vertex" />
+<Test name="highp_mat2_float_fragment" />
+<Test name="highp_mat2_mat2_vertex" />
+<Test name="highp_mat2_mat2_fragment" />
+<Test name="lowp_mat2x3_float_vertex" />
+<Test name="lowp_mat2x3_float_fragment" />
+<Test name="lowp_mat2x3_mat2x3_vertex" />
+<Test name="lowp_mat2x3_mat2x3_fragment" />
+<Test name="mediump_mat2x3_float_vertex" />
+<Test name="mediump_mat2x3_float_fragment" />
+<Test name="mediump_mat2x3_mat2x3_vertex" />
+<Test name="mediump_mat2x3_mat2x3_fragment" />
+<Test name="highp_mat2x3_float_vertex" />
+<Test name="highp_mat2x3_float_fragment" />
+<Test name="highp_mat2x3_mat2x3_vertex" />
+<Test name="highp_mat2x3_mat2x3_fragment" />
+<Test name="lowp_mat2x4_float_vertex" />
+<Test name="lowp_mat2x4_float_fragment" />
+<Test name="lowp_mat2x4_mat2x4_vertex" />
+<Test name="lowp_mat2x4_mat2x4_fragment" />
+<Test name="mediump_mat2x4_float_vertex" />
+<Test name="mediump_mat2x4_float_fragment" />
+<Test name="mediump_mat2x4_mat2x4_vertex" />
+<Test name="mediump_mat2x4_mat2x4_fragment" />
+<Test name="highp_mat2x4_float_vertex" />
+<Test name="highp_mat2x4_float_fragment" />
+<Test name="highp_mat2x4_mat2x4_vertex" />
+<Test name="highp_mat2x4_mat2x4_fragment" />
+<Test name="lowp_mat3x2_float_vertex" />
+<Test name="lowp_mat3x2_float_fragment" />
+<Test name="lowp_mat3x2_mat3x2_vertex" />
+<Test name="lowp_mat3x2_mat3x2_fragment" />
+<Test name="mediump_mat3x2_float_vertex" />
+<Test name="mediump_mat3x2_float_fragment" />
+<Test name="mediump_mat3x2_mat3x2_vertex" />
+<Test name="mediump_mat3x2_mat3x2_fragment" />
+<Test name="highp_mat3x2_float_vertex" />
+<Test name="highp_mat3x2_float_fragment" />
+<Test name="highp_mat3x2_mat3x2_vertex" />
+<Test name="highp_mat3x2_mat3x2_fragment" />
+<Test name="lowp_mat3_float_vertex" />
+<Test name="lowp_mat3_float_fragment" />
+<Test name="lowp_mat3_mat3_vertex" />
+<Test name="lowp_mat3_mat3_fragment" />
+<Test name="mediump_mat3_float_vertex" />
+<Test name="mediump_mat3_float_fragment" />
+<Test name="mediump_mat3_mat3_vertex" />
+<Test name="mediump_mat3_mat3_fragment" />
+<Test name="highp_mat3_float_vertex" />
+<Test name="highp_mat3_float_fragment" />
+<Test name="highp_mat3_mat3_vertex" />
+<Test name="highp_mat3_mat3_fragment" />
+<Test name="lowp_mat3x4_float_vertex" />
+<Test name="lowp_mat3x4_float_fragment" />
+<Test name="lowp_mat3x4_mat3x4_vertex" />
+<Test name="lowp_mat3x4_mat3x4_fragment" />
+<Test name="mediump_mat3x4_float_vertex" />
+<Test name="mediump_mat3x4_float_fragment" />
+<Test name="mediump_mat3x4_mat3x4_vertex" />
+<Test name="mediump_mat3x4_mat3x4_fragment" />
+<Test name="highp_mat3x4_float_vertex" />
+<Test name="highp_mat3x4_float_fragment" />
+<Test name="highp_mat3x4_mat3x4_vertex" />
+<Test name="highp_mat3x4_mat3x4_fragment" />
+<Test name="lowp_mat4x2_float_vertex" />
+<Test name="lowp_mat4x2_float_fragment" />
+<Test name="lowp_mat4x2_mat4x2_vertex" />
+<Test name="lowp_mat4x2_mat4x2_fragment" />
+<Test name="mediump_mat4x2_float_vertex" />
+<Test name="mediump_mat4x2_float_fragment" />
+<Test name="mediump_mat4x2_mat4x2_vertex" />
+<Test name="mediump_mat4x2_mat4x2_fragment" />
+<Test name="highp_mat4x2_float_vertex" />
+<Test name="highp_mat4x2_float_fragment" />
+<Test name="highp_mat4x2_mat4x2_vertex" />
+<Test name="highp_mat4x2_mat4x2_fragment" />
+<Test name="lowp_mat4x3_float_vertex" />
+<Test name="lowp_mat4x3_float_fragment" />
+<Test name="lowp_mat4x3_mat4x3_vertex" />
+<Test name="lowp_mat4x3_mat4x3_fragment" />
+<Test name="mediump_mat4x3_float_vertex" />
+<Test name="mediump_mat4x3_float_fragment" />
+<Test name="mediump_mat4x3_mat4x3_vertex" />
+<Test name="mediump_mat4x3_mat4x3_fragment" />
+<Test name="highp_mat4x3_float_vertex" />
+<Test name="highp_mat4x3_float_fragment" />
+<Test name="highp_mat4x3_mat4x3_vertex" />
+<Test name="highp_mat4x3_mat4x3_fragment" />
+<Test name="lowp_mat4_float_vertex" />
+<Test name="lowp_mat4_float_fragment" />
+<Test name="lowp_mat4_mat4_vertex" />
+<Test name="lowp_mat4_mat4_fragment" />
+<Test name="mediump_mat4_float_vertex" />
+<Test name="mediump_mat4_float_fragment" />
+<Test name="mediump_mat4_mat4_vertex" />
+<Test name="mediump_mat4_mat4_fragment" />
+<Test name="highp_mat4_float_vertex" />
+<Test name="highp_mat4_float_fragment" />
+<Test name="highp_mat4_mat4_vertex" />
+<Test name="highp_mat4_mat4_fragment" />
+</TestCase>
+<TestCase name="dynamic">
+<Test name="lowp_mat2_float_vertex" />
+<Test name="lowp_mat2_float_fragment" />
+<Test name="lowp_mat2_mat2_vertex" />
+<Test name="lowp_mat2_mat2_fragment" />
+<Test name="mediump_mat2_float_vertex" />
+<Test name="mediump_mat2_float_fragment" />
+<Test name="mediump_mat2_mat2_vertex" />
+<Test name="mediump_mat2_mat2_fragment" />
+<Test name="highp_mat2_float_vertex" />
+<Test name="highp_mat2_float_fragment" />
+<Test name="highp_mat2_mat2_vertex" />
+<Test name="highp_mat2_mat2_fragment" />
+<Test name="lowp_mat2x3_float_vertex" />
+<Test name="lowp_mat2x3_float_fragment" />
+<Test name="lowp_mat2x3_mat2x3_vertex" />
+<Test name="lowp_mat2x3_mat2x3_fragment" />
+<Test name="mediump_mat2x3_float_vertex" />
+<Test name="mediump_mat2x3_float_fragment" />
+<Test name="mediump_mat2x3_mat2x3_vertex" />
+<Test name="mediump_mat2x3_mat2x3_fragment" />
+<Test name="highp_mat2x3_float_vertex" />
+<Test name="highp_mat2x3_float_fragment" />
+<Test name="highp_mat2x3_mat2x3_vertex" />
+<Test name="highp_mat2x3_mat2x3_fragment" />
+<Test name="lowp_mat2x4_float_vertex" />
+<Test name="lowp_mat2x4_float_fragment" />
+<Test name="lowp_mat2x4_mat2x4_vertex" />
+<Test name="lowp_mat2x4_mat2x4_fragment" />
+<Test name="mediump_mat2x4_float_vertex" />
+<Test name="mediump_mat2x4_float_fragment" />
+<Test name="mediump_mat2x4_mat2x4_vertex" />
+<Test name="mediump_mat2x4_mat2x4_fragment" />
+<Test name="highp_mat2x4_float_vertex" />
+<Test name="highp_mat2x4_float_fragment" />
+<Test name="highp_mat2x4_mat2x4_vertex" />
+<Test name="highp_mat2x4_mat2x4_fragment" />
+<Test name="lowp_mat3x2_float_vertex" />
+<Test name="lowp_mat3x2_float_fragment" />
+<Test name="lowp_mat3x2_mat3x2_vertex" />
+<Test name="lowp_mat3x2_mat3x2_fragment" />
+<Test name="mediump_mat3x2_float_vertex" />
+<Test name="mediump_mat3x2_float_fragment" />
+<Test name="mediump_mat3x2_mat3x2_vertex" />
+<Test name="mediump_mat3x2_mat3x2_fragment" />
+<Test name="highp_mat3x2_float_vertex" />
+<Test name="highp_mat3x2_float_fragment" />
+<Test name="highp_mat3x2_mat3x2_vertex" />
+<Test name="highp_mat3x2_mat3x2_fragment" />
+<Test name="lowp_mat3_float_vertex" />
+<Test name="lowp_mat3_float_fragment" />
+<Test name="lowp_mat3_mat3_vertex" />
+<Test name="lowp_mat3_mat3_fragment" />
+<Test name="mediump_mat3_float_vertex" />
+<Test name="mediump_mat3_float_fragment" />
+<Test name="mediump_mat3_mat3_vertex" />
+<Test name="mediump_mat3_mat3_fragment" />
+<Test name="highp_mat3_float_vertex" />
+<Test name="highp_mat3_float_fragment" />
+<Test name="highp_mat3_mat3_vertex" />
+<Test name="highp_mat3_mat3_fragment" />
+<Test name="lowp_mat3x4_float_vertex" />
+<Test name="lowp_mat3x4_float_fragment" />
+<Test name="lowp_mat3x4_mat3x4_vertex" />
+<Test name="lowp_mat3x4_mat3x4_fragment" />
+<Test name="mediump_mat3x4_float_vertex" />
+<Test name="mediump_mat3x4_float_fragment" />
+<Test name="mediump_mat3x4_mat3x4_vertex" />
+<Test name="mediump_mat3x4_mat3x4_fragment" />
+<Test name="highp_mat3x4_float_vertex" />
+<Test name="highp_mat3x4_float_fragment" />
+<Test name="highp_mat3x4_mat3x4_vertex" />
+<Test name="highp_mat3x4_mat3x4_fragment" />
+<Test name="lowp_mat4x2_float_vertex" />
+<Test name="lowp_mat4x2_float_fragment" />
+<Test name="lowp_mat4x2_mat4x2_vertex" />
+<Test name="lowp_mat4x2_mat4x2_fragment" />
+<Test name="mediump_mat4x2_float_vertex" />
+<Test name="mediump_mat4x2_float_fragment" />
+<Test name="mediump_mat4x2_mat4x2_vertex" />
+<Test name="mediump_mat4x2_mat4x2_fragment" />
+<Test name="highp_mat4x2_float_vertex" />
+<Test name="highp_mat4x2_float_fragment" />
+<Test name="highp_mat4x2_mat4x2_vertex" />
+<Test name="highp_mat4x2_mat4x2_fragment" />
+<Test name="lowp_mat4x3_float_vertex" />
+<Test name="lowp_mat4x3_float_fragment" />
+<Test name="lowp_mat4x3_mat4x3_vertex" />
+<Test name="lowp_mat4x3_mat4x3_fragment" />
+<Test name="mediump_mat4x3_float_vertex" />
+<Test name="mediump_mat4x3_float_fragment" />
+<Test name="mediump_mat4x3_mat4x3_vertex" />
+<Test name="mediump_mat4x3_mat4x3_fragment" />
+<Test name="highp_mat4x3_float_vertex" />
+<Test name="highp_mat4x3_float_fragment" />
+<Test name="highp_mat4x3_mat4x3_vertex" />
+<Test name="highp_mat4x3_mat4x3_fragment" />
+<Test name="lowp_mat4_float_vertex" />
+<Test name="lowp_mat4_float_fragment" />
+<Test name="lowp_mat4_mat4_vertex" />
+<Test name="lowp_mat4_mat4_fragment" />
+<Test name="mediump_mat4_float_vertex" />
+<Test name="mediump_mat4_float_fragment" />
+<Test name="mediump_mat4_mat4_vertex" />
+<Test name="mediump_mat4_mat4_fragment" />
+<Test name="highp_mat4_float_vertex" />
+<Test name="highp_mat4_float_fragment" />
+<Test name="highp_mat4_mat4_vertex" />
+<Test name="highp_mat4_mat4_fragment" />
+</TestCase>
+</TestSuite>
+<TestSuite name="matrixcompmult">
+<TestCase name="dynamic">
+<Test name="lowp_mat2_mat2_vertex" />
+<Test name="lowp_mat2_mat2_fragment" />
+<Test name="mediump_mat2_mat2_vertex" />
+<Test name="mediump_mat2_mat2_fragment" />
+<Test name="highp_mat2_mat2_vertex" />
+<Test name="highp_mat2_mat2_fragment" />
+<Test name="lowp_mat2x3_mat2x3_vertex" />
+<Test name="lowp_mat2x3_mat2x3_fragment" />
+<Test name="mediump_mat2x3_mat2x3_vertex" />
+<Test name="mediump_mat2x3_mat2x3_fragment" />
+<Test name="highp_mat2x3_mat2x3_vertex" />
+<Test name="highp_mat2x3_mat2x3_fragment" />
+<Test name="lowp_mat2x4_mat2x4_vertex" />
+<Test name="lowp_mat2x4_mat2x4_fragment" />
+<Test name="mediump_mat2x4_mat2x4_vertex" />
+<Test name="mediump_mat2x4_mat2x4_fragment" />
+<Test name="highp_mat2x4_mat2x4_vertex" />
+<Test name="highp_mat2x4_mat2x4_fragment" />
+<Test name="lowp_mat3x2_mat3x2_vertex" />
+<Test name="lowp_mat3x2_mat3x2_fragment" />
+<Test name="mediump_mat3x2_mat3x2_vertex" />
+<Test name="mediump_mat3x2_mat3x2_fragment" />
+<Test name="highp_mat3x2_mat3x2_vertex" />
+<Test name="highp_mat3x2_mat3x2_fragment" />
+<Test name="lowp_mat3_mat3_vertex" />
+<Test name="lowp_mat3_mat3_fragment" />
+<Test name="mediump_mat3_mat3_vertex" />
+<Test name="mediump_mat3_mat3_fragment" />
+<Test name="highp_mat3_mat3_vertex" />
+<Test name="highp_mat3_mat3_fragment" />
+<Test name="lowp_mat3x4_mat3x4_vertex" />
+<Test name="lowp_mat3x4_mat3x4_fragment" />
+<Test name="mediump_mat3x4_mat3x4_vertex" />
+<Test name="mediump_mat3x4_mat3x4_fragment" />
+<Test name="highp_mat3x4_mat3x4_vertex" />
+<Test name="highp_mat3x4_mat3x4_fragment" />
+<Test name="lowp_mat4x2_mat4x2_vertex" />
+<Test name="lowp_mat4x2_mat4x2_fragment" />
+<Test name="mediump_mat4x2_mat4x2_vertex" />
+<Test name="mediump_mat4x2_mat4x2_fragment" />
+<Test name="highp_mat4x2_mat4x2_vertex" />
+<Test name="highp_mat4x2_mat4x2_fragment" />
+<Test name="lowp_mat4x3_mat4x3_vertex" />
+<Test name="lowp_mat4x3_mat4x3_fragment" />
+<Test name="mediump_mat4x3_mat4x3_vertex" />
+<Test name="mediump_mat4x3_mat4x3_fragment" />
+<Test name="highp_mat4x3_mat4x3_vertex" />
+<Test name="highp_mat4x3_mat4x3_fragment" />
+<Test name="lowp_mat4_mat4_vertex" />
+<Test name="lowp_mat4_mat4_fragment" />
+<Test name="mediump_mat4_mat4_vertex" />
+<Test name="mediump_mat4_mat4_fragment" />
+<Test name="highp_mat4_mat4_vertex" />
+<Test name="highp_mat4_mat4_fragment" />
+</TestCase>
+</TestSuite>
+<TestSuite name="outerproduct">
+<TestCase name="dynamic">
+<Test name="lowp_mat2_float_vertex" />
+<Test name="lowp_mat2_float_fragment" />
+<Test name="mediump_mat2_float_vertex" />
+<Test name="mediump_mat2_float_fragment" />
+<Test name="highp_mat2_float_vertex" />
+<Test name="highp_mat2_float_fragment" />
+<Test name="lowp_mat2x3_float_vertex" />
+<Test name="lowp_mat2x3_float_fragment" />
+<Test name="mediump_mat2x3_float_vertex" />
+<Test name="mediump_mat2x3_float_fragment" />
+<Test name="highp_mat2x3_float_vertex" />
+<Test name="highp_mat2x3_float_fragment" />
+<Test name="lowp_mat2x4_float_vertex" />
+<Test name="lowp_mat2x4_float_fragment" />
+<Test name="mediump_mat2x4_float_vertex" />
+<Test name="mediump_mat2x4_float_fragment" />
+<Test name="highp_mat2x4_float_vertex" />
+<Test name="highp_mat2x4_float_fragment" />
+<Test name="lowp_mat3x2_float_vertex" />
+<Test name="lowp_mat3x2_float_fragment" />
+<Test name="mediump_mat3x2_float_vertex" />
+<Test name="mediump_mat3x2_float_fragment" />
+<Test name="highp_mat3x2_float_vertex" />
+<Test name="highp_mat3x2_float_fragment" />
+<Test name="lowp_mat3_float_vertex" />
+<Test name="lowp_mat3_float_fragment" />
+<Test name="mediump_mat3_float_vertex" />
+<Test name="mediump_mat3_float_fragment" />
+<Test name="highp_mat3_float_vertex" />
+<Test name="highp_mat3_float_fragment" />
+<Test name="lowp_mat3x4_float_vertex" />
+<Test name="lowp_mat3x4_float_fragment" />
+<Test name="mediump_mat3x4_float_vertex" />
+<Test name="mediump_mat3x4_float_fragment" />
+<Test name="highp_mat3x4_float_vertex" />
+<Test name="highp_mat3x4_float_fragment" />
+<Test name="lowp_mat4x2_float_vertex" />
+<Test name="lowp_mat4x2_float_fragment" />
+<Test name="mediump_mat4x2_float_vertex" />
+<Test name="mediump_mat4x2_float_fragment" />
+<Test name="highp_mat4x2_float_vertex" />
+<Test name="highp_mat4x2_float_fragment" />
+<Test name="lowp_mat4x3_float_vertex" />
+<Test name="lowp_mat4x3_float_fragment" />
+<Test name="mediump_mat4x3_float_vertex" />
+<Test name="mediump_mat4x3_float_fragment" />
+<Test name="highp_mat4x3_float_vertex" />
+<Test name="highp_mat4x3_float_fragment" />
+<Test name="lowp_mat4_float_vertex" />
+<Test name="lowp_mat4_float_fragment" />
+<Test name="mediump_mat4_float_vertex" />
+<Test name="mediump_mat4_float_fragment" />
+<Test name="highp_mat4_float_vertex" />
+<Test name="highp_mat4_float_fragment" />
+</TestCase>
+</TestSuite>
+<TestSuite name="transpose">
+<TestCase name="dynamic">
+<Test name="lowp_mat2_float_vertex" />
+<Test name="lowp_mat2_float_fragment" />
+<Test name="mediump_mat2_float_vertex" />
+<Test name="mediump_mat2_float_fragment" />
+<Test name="highp_mat2_float_vertex" />
+<Test name="highp_mat2_float_fragment" />
+<Test name="lowp_mat2x3_float_vertex" />
+<Test name="lowp_mat2x3_float_fragment" />
+<Test name="mediump_mat2x3_float_vertex" />
+<Test name="mediump_mat2x3_float_fragment" />
+<Test name="highp_mat2x3_float_vertex" />
+<Test name="highp_mat2x3_float_fragment" />
+<Test name="lowp_mat2x4_float_vertex" />
+<Test name="lowp_mat2x4_float_fragment" />
+<Test name="mediump_mat2x4_float_vertex" />
+<Test name="mediump_mat2x4_float_fragment" />
+<Test name="highp_mat2x4_float_vertex" />
+<Test name="highp_mat2x4_float_fragment" />
+<Test name="lowp_mat3x2_float_vertex" />
+<Test name="lowp_mat3x2_float_fragment" />
+<Test name="mediump_mat3x2_float_vertex" />
+<Test name="mediump_mat3x2_float_fragment" />
+<Test name="highp_mat3x2_float_vertex" />
+<Test name="highp_mat3x2_float_fragment" />
+<Test name="lowp_mat3_float_vertex" />
+<Test name="lowp_mat3_float_fragment" />
+<Test name="mediump_mat3_float_vertex" />
+<Test name="mediump_mat3_float_fragment" />
+<Test name="highp_mat3_float_vertex" />
+<Test name="highp_mat3_float_fragment" />
+<Test name="lowp_mat3x4_float_vertex" />
+<Test name="lowp_mat3x4_float_fragment" />
+<Test name="mediump_mat3x4_float_vertex" />
+<Test name="mediump_mat3x4_float_fragment" />
+<Test name="highp_mat3x4_float_vertex" />
+<Test name="highp_mat3x4_float_fragment" />
+<Test name="lowp_mat4x2_float_vertex" />
+<Test name="lowp_mat4x2_float_fragment" />
+<Test name="mediump_mat4x2_float_vertex" />
+<Test name="mediump_mat4x2_float_fragment" />
+<Test name="highp_mat4x2_float_vertex" />
+<Test name="highp_mat4x2_float_fragment" />
+<Test name="lowp_mat4x3_float_fragment" />
+<Test name="mediump_mat4x3_float_fragment" />
+<Test name="highp_mat4x3_float_fragment" />
+<Test name="lowp_mat4_float_fragment" />
+<Test name="mediump_mat4_float_fragment" />
+<Test name="highp_mat4_float_fragment" />
+</TestCase>
+</TestSuite>
+<TestSuite name="determinant">
+<TestCase name="dynamic">
+<Test name="lowp_mat2_float_vertex" />
+<Test name="lowp_mat2_float_fragment" />
+<Test name="mediump_mat2_float_vertex" />
+<Test name="mediump_mat2_float_fragment" />
+<Test name="highp_mat2_float_vertex" />
+<Test name="highp_mat2_float_fragment" />
+<Test name="lowp_mat3_float_vertex" />
+<Test name="lowp_mat3_float_fragment" />
+<Test name="mediump_mat3_float_vertex" />
+<Test name="mediump_mat3_float_fragment" />
+<Test name="highp_mat3_float_vertex" />
+<Test name="highp_mat3_float_fragment" />
+</TestCase>
+</TestSuite>
+<TestSuite name="inverse">
+<TestCase name="dynamic">
+<Test name="lowp_mat2_float_vertex" />
+<Test name="lowp_mat2_float_fragment" />
+<Test name="mediump_mat2_float_vertex" />
+<Test name="mediump_mat2_float_fragment" />
+<Test name="highp_mat2_float_vertex" />
+<Test name="highp_mat2_float_fragment" />
+</TestCase>
+</TestSuite>
+<TestCase name="unary_addition">
+<Test name="lowp_mat2_float_vertex" />
+<Test name="lowp_mat2_float_fragment" />
+<Test name="mediump_mat2_float_vertex" />
+<Test name="mediump_mat2_float_fragment" />
+<Test name="highp_mat2_float_vertex" />
+<Test name="highp_mat2_float_fragment" />
+<Test name="lowp_mat2x3_float_vertex" />
+<Test name="lowp_mat2x3_float_fragment" />
+<Test name="mediump_mat2x3_float_vertex" />
+<Test name="mediump_mat2x3_float_fragment" />
+<Test name="highp_mat2x3_float_vertex" />
+<Test name="highp_mat2x3_float_fragment" />
+<Test name="lowp_mat2x4_float_vertex" />
+<Test name="lowp_mat2x4_float_fragment" />
+<Test name="mediump_mat2x4_float_vertex" />
+<Test name="mediump_mat2x4_float_fragment" />
+<Test name="highp_mat2x4_float_vertex" />
+<Test name="highp_mat2x4_float_fragment" />
+<Test name="lowp_mat3x2_float_vertex" />
+<Test name="lowp_mat3x2_float_fragment" />
+<Test name="mediump_mat3x2_float_vertex" />
+<Test name="mediump_mat3x2_float_fragment" />
+<Test name="highp_mat3x2_float_vertex" />
+<Test name="highp_mat3x2_float_fragment" />
+<Test name="lowp_mat3_float_vertex" />
+<Test name="lowp_mat3_float_fragment" />
+<Test name="mediump_mat3_float_vertex" />
+<Test name="mediump_mat3_float_fragment" />
+<Test name="highp_mat3_float_vertex" />
+<Test name="highp_mat3_float_fragment" />
+<Test name="lowp_mat3x4_float_vertex" />
+<Test name="lowp_mat3x4_float_fragment" />
+<Test name="mediump_mat3x4_float_vertex" />
+<Test name="mediump_mat3x4_float_fragment" />
+<Test name="highp_mat3x4_float_vertex" />
+<Test name="highp_mat3x4_float_fragment" />
+<Test name="lowp_mat4x2_float_vertex" />
+<Test name="lowp_mat4x2_float_fragment" />
+<Test name="mediump_mat4x2_float_vertex" />
+<Test name="mediump_mat4x2_float_fragment" />
+<Test name="highp_mat4x2_float_vertex" />
+<Test name="highp_mat4x2_float_fragment" />
+<Test name="lowp_mat4x3_float_vertex" />
+<Test name="lowp_mat4x3_float_fragment" />
+<Test name="mediump_mat4x3_float_vertex" />
+<Test name="mediump_mat4x3_float_fragment" />
+<Test name="highp_mat4x3_float_vertex" />
+<Test name="highp_mat4x3_float_fragment" />
+<Test name="lowp_mat4_float_vertex" />
+<Test name="lowp_mat4_float_fragment" />
+<Test name="mediump_mat4_float_vertex" />
+<Test name="mediump_mat4_float_fragment" />
+<Test name="highp_mat4_float_vertex" />
+<Test name="highp_mat4_float_fragment" />
+</TestCase>
+<TestCase name="negation">
+<Test name="lowp_mat2_float_vertex" />
+<Test name="lowp_mat2_float_fragment" />
+<Test name="mediump_mat2_float_vertex" />
+<Test name="mediump_mat2_float_fragment" />
+<Test name="highp_mat2_float_vertex" />
+<Test name="highp_mat2_float_fragment" />
+<Test name="lowp_mat2x3_float_vertex" />
+<Test name="lowp_mat2x3_float_fragment" />
+<Test name="mediump_mat2x3_float_vertex" />
+<Test name="mediump_mat2x3_float_fragment" />
+<Test name="highp_mat2x3_float_vertex" />
+<Test name="highp_mat2x3_float_fragment" />
+<Test name="lowp_mat2x4_float_vertex" />
+<Test name="lowp_mat2x4_float_fragment" />
+<Test name="mediump_mat2x4_float_vertex" />
+<Test name="mediump_mat2x4_float_fragment" />
+<Test name="highp_mat2x4_float_vertex" />
+<Test name="highp_mat2x4_float_fragment" />
+<Test name="lowp_mat3x2_float_vertex" />
+<Test name="lowp_mat3x2_float_fragment" />
+<Test name="mediump_mat3x2_float_vertex" />
+<Test name="mediump_mat3x2_float_fragment" />
+<Test name="highp_mat3x2_float_vertex" />
+<Test name="highp_mat3x2_float_fragment" />
+<Test name="lowp_mat3_float_vertex" />
+<Test name="lowp_mat3_float_fragment" />
+<Test name="mediump_mat3_float_vertex" />
+<Test name="mediump_mat3_float_fragment" />
+<Test name="highp_mat3_float_vertex" />
+<Test name="highp_mat3_float_fragment" />
+<Test name="lowp_mat3x4_float_vertex" />
+<Test name="lowp_mat3x4_float_fragment" />
+<Test name="mediump_mat3x4_float_vertex" />
+<Test name="mediump_mat3x4_float_fragment" />
+<Test name="highp_mat3x4_float_vertex" />
+<Test name="highp_mat3x4_float_fragment" />
+<Test name="lowp_mat4x2_float_vertex" />
+<Test name="lowp_mat4x2_float_fragment" />
+<Test name="mediump_mat4x2_float_vertex" />
+<Test name="mediump_mat4x2_float_fragment" />
+<Test name="highp_mat4x2_float_vertex" />
+<Test name="highp_mat4x2_float_fragment" />
+<Test name="lowp_mat4x3_float_vertex" />
+<Test name="lowp_mat4x3_float_fragment" />
+<Test name="mediump_mat4x3_float_vertex" />
+<Test name="mediump_mat4x3_float_fragment" />
+<Test name="highp_mat4x3_float_vertex" />
+<Test name="highp_mat4x3_float_fragment" />
+<Test name="lowp_mat4_float_vertex" />
+<Test name="lowp_mat4_float_fragment" />
+<Test name="mediump_mat4_float_vertex" />
+<Test name="mediump_mat4_float_fragment" />
+<Test name="highp_mat4_float_vertex" />
+<Test name="highp_mat4_float_fragment" />
+</TestCase>
+<TestCase name="post_increment">
+<Test name="lowp_mat3x2_float_vertex" />
+<Test name="lowp_mat3x2_float_fragment" />
+<Test name="mediump_mat3x2_float_vertex" />
+<Test name="mediump_mat3x2_float_fragment" />
+<Test name="highp_mat3x2_float_vertex" />
+<Test name="highp_mat3x2_float_fragment" />
+</TestCase>
+<TestCase name="add_assign">
+<Test name="lowp_mat2_float_vertex" />
+<Test name="lowp_mat2_float_fragment" />
+<Test name="mediump_mat2_float_vertex" />
+<Test name="mediump_mat2_float_fragment" />
+<Test name="highp_mat2_float_vertex" />
+<Test name="highp_mat2_float_fragment" />
+<Test name="lowp_mat2x3_float_vertex" />
+<Test name="lowp_mat2x3_float_fragment" />
+<Test name="mediump_mat2x3_float_vertex" />
+<Test name="mediump_mat2x3_float_fragment" />
+<Test name="highp_mat2x3_float_vertex" />
+<Test name="highp_mat2x3_float_fragment" />
+<Test name="lowp_mat2x4_float_vertex" />
+<Test name="lowp_mat2x4_float_fragment" />
+<Test name="mediump_mat2x4_float_vertex" />
+<Test name="mediump_mat2x4_float_fragment" />
+<Test name="highp_mat2x4_float_vertex" />
+<Test name="highp_mat2x4_float_fragment" />
+<Test name="lowp_mat3x2_float_vertex" />
+<Test name="lowp_mat3x2_float_fragment" />
+<Test name="mediump_mat3x2_float_vertex" />
+<Test name="mediump_mat3x2_float_fragment" />
+<Test name="highp_mat3x2_float_vertex" />
+<Test name="highp_mat3x2_float_fragment" />
+<Test name="lowp_mat3_float_vertex" />
+<Test name="lowp_mat3_float_fragment" />
+<Test name="mediump_mat3_float_vertex" />
+<Test name="mediump_mat3_float_fragment" />
+<Test name="highp_mat3_float_vertex" />
+<Test name="highp_mat3_float_fragment" />
+<Test name="lowp_mat3x4_float_vertex" />
+<Test name="lowp_mat3x4_float_fragment" />
+<Test name="mediump_mat3x4_float_vertex" />
+<Test name="mediump_mat3x4_float_fragment" />
+<Test name="highp_mat3x4_float_vertex" />
+<Test name="highp_mat3x4_float_fragment" />
+<Test name="lowp_mat4x2_float_vertex" />
+<Test name="lowp_mat4x2_float_fragment" />
+<Test name="mediump_mat4x2_float_vertex" />
+<Test name="mediump_mat4x2_float_fragment" />
+<Test name="highp_mat4x2_float_vertex" />
+<Test name="highp_mat4x2_float_fragment" />
+<Test name="lowp_mat4x3_float_vertex" />
+<Test name="lowp_mat4x3_float_fragment" />
+<Test name="mediump_mat4x3_float_vertex" />
+<Test name="mediump_mat4x3_float_fragment" />
+<Test name="highp_mat4x3_float_vertex" />
+<Test name="highp_mat4x3_float_fragment" />
+<Test name="lowp_mat4_float_vertex" />
+<Test name="lowp_mat4_float_fragment" />
+<Test name="mediump_mat4_float_vertex" />
+<Test name="mediump_mat4_float_fragment" />
+<Test name="highp_mat4_float_vertex" />
+<Test name="highp_mat4_float_fragment" />
+</TestCase>
+<TestCase name="sub_assign">
+<Test name="lowp_mat2_float_vertex" />
+<Test name="lowp_mat2_float_fragment" />
+<Test name="mediump_mat2_float_vertex" />
+<Test name="mediump_mat2_float_fragment" />
+<Test name="highp_mat2_float_vertex" />
+<Test name="highp_mat2_float_fragment" />
+<Test name="lowp_mat2x3_float_vertex" />
+<Test name="lowp_mat2x3_float_fragment" />
+<Test name="mediump_mat2x3_float_vertex" />
+<Test name="mediump_mat2x3_float_fragment" />
+<Test name="highp_mat2x3_float_vertex" />
+<Test name="highp_mat2x3_float_fragment" />
+<Test name="lowp_mat2x4_float_vertex" />
+<Test name="lowp_mat2x4_float_fragment" />
+<Test name="mediump_mat2x4_float_vertex" />
+<Test name="mediump_mat2x4_float_fragment" />
+<Test name="highp_mat2x4_float_vertex" />
+<Test name="highp_mat2x4_float_fragment" />
+<Test name="lowp_mat3x2_float_vertex" />
+<Test name="lowp_mat3x2_float_fragment" />
+<Test name="mediump_mat3x2_float_vertex" />
+<Test name="mediump_mat3x2_float_fragment" />
+<Test name="highp_mat3x2_float_vertex" />
+<Test name="highp_mat3x2_float_fragment" />
+<Test name="lowp_mat3_float_vertex" />
+<Test name="lowp_mat3_float_fragment" />
+<Test name="mediump_mat3_float_vertex" />
+<Test name="mediump_mat3_float_fragment" />
+<Test name="highp_mat3_float_vertex" />
+<Test name="highp_mat3_float_fragment" />
+<Test name="lowp_mat3x4_float_vertex" />
+<Test name="lowp_mat3x4_float_fragment" />
+<Test name="mediump_mat3x4_float_vertex" />
+<Test name="mediump_mat3x4_float_fragment" />
+<Test name="highp_mat3x4_float_vertex" />
+<Test name="highp_mat3x4_float_fragment" />
+<Test name="lowp_mat4x2_float_vertex" />
+<Test name="lowp_mat4x2_float_fragment" />
+<Test name="mediump_mat4x2_float_vertex" />
+<Test name="mediump_mat4x2_float_fragment" />
+<Test name="highp_mat4x2_float_vertex" />
+<Test name="highp_mat4x2_float_fragment" />
+<Test name="lowp_mat4x3_float_vertex" />
+<Test name="lowp_mat4x3_float_fragment" />
+<Test name="mediump_mat4x3_float_vertex" />
+<Test name="mediump_mat4x3_float_fragment" />
+<Test name="highp_mat4x3_float_vertex" />
+<Test name="highp_mat4x3_float_fragment" />
+<Test name="lowp_mat4_float_vertex" />
+<Test name="lowp_mat4_float_fragment" />
+<Test name="mediump_mat4_float_vertex" />
+<Test name="mediump_mat4_float_fragment" />
+<Test name="highp_mat4_float_vertex" />
+<Test name="highp_mat4_float_fragment" />
+</TestCase>
+<TestCase name="mul_assign">
+<Test name="lowp_mat2_float_vertex" />
+<Test name="lowp_mat2_float_fragment" />
+<Test name="mediump_mat2_float_vertex" />
+<Test name="mediump_mat2_float_fragment" />
+<Test name="highp_mat2_float_vertex" />
+<Test name="highp_mat2_float_fragment" />
+<Test name="lowp_mat3_float_vertex" />
+<Test name="lowp_mat3_float_fragment" />
+<Test name="mediump_mat3_float_vertex" />
+<Test name="mediump_mat3_float_fragment" />
+<Test name="highp_mat3_float_vertex" />
+<Test name="highp_mat3_float_fragment" />
+<Test name="lowp_mat4_float_vertex" />
+<Test name="lowp_mat4_float_fragment" />
+<Test name="mediump_mat4_float_vertex" />
+<Test name="mediump_mat4_float_fragment" />
+<Test name="highp_mat4_float_vertex" />
+<Test name="highp_mat4_float_fragment" />
+</TestCase>
+<TestCase name="div_assign">
+<Test name="lowp_mat2_float_vertex" />
+<Test name="lowp_mat2_float_fragment" />
+<Test name="mediump_mat2_float_vertex" />
+<Test name="mediump_mat2_float_fragment" />
+<Test name="highp_mat2_float_vertex" />
+<Test name="highp_mat2_float_fragment" />
+<Test name="lowp_mat2x3_float_vertex" />
+<Test name="lowp_mat2x3_float_fragment" />
+<Test name="mediump_mat2x3_float_vertex" />
+<Test name="mediump_mat2x3_float_fragment" />
+<Test name="highp_mat2x3_float_vertex" />
+<Test name="highp_mat2x3_float_fragment" />
+<Test name="lowp_mat2x4_float_vertex" />
+<Test name="lowp_mat2x4_float_fragment" />
+<Test name="mediump_mat2x4_float_vertex" />
+<Test name="mediump_mat2x4_float_fragment" />
+<Test name="highp_mat2x4_float_vertex" />
+<Test name="highp_mat2x4_float_fragment" />
+<Test name="lowp_mat3x2_float_vertex" />
+<Test name="lowp_mat3x2_float_fragment" />
+<Test name="mediump_mat3x2_float_vertex" />
+<Test name="mediump_mat3x2_float_fragment" />
+<Test name="highp_mat3x2_float_vertex" />
+<Test name="highp_mat3x2_float_fragment" />
+<Test name="lowp_mat3_float_vertex" />
+<Test name="lowp_mat3_float_fragment" />
+<Test name="mediump_mat3_float_vertex" />
+<Test name="mediump_mat3_float_fragment" />
+<Test name="highp_mat3_float_vertex" />
+<Test name="highp_mat3_float_fragment" />
+<Test name="lowp_mat3x4_float_vertex" />
+<Test name="lowp_mat3x4_float_fragment" />
+<Test name="mediump_mat3x4_float_vertex" />
+<Test name="mediump_mat3x4_float_fragment" />
+<Test name="highp_mat3x4_float_vertex" />
+<Test name="highp_mat3x4_float_fragment" />
+<Test name="lowp_mat4x2_float_vertex" />
+<Test name="lowp_mat4x2_float_fragment" />
+<Test name="mediump_mat4x2_float_vertex" />
+<Test name="mediump_mat4x2_float_fragment" />
+<Test name="highp_mat4x2_float_vertex" />
+<Test name="highp_mat4x2_float_fragment" />
+<Test name="lowp_mat4x3_float_vertex" />
+<Test name="lowp_mat4x3_float_fragment" />
+<Test name="mediump_mat4x3_float_vertex" />
+<Test name="mediump_mat4x3_float_fragment" />
+<Test name="highp_mat4x3_float_vertex" />
+<Test name="highp_mat4x3_float_fragment" />
+<Test name="lowp_mat4_float_vertex" />
+<Test name="lowp_mat4_float_fragment" />
+<Test name="mediump_mat4_float_vertex" />
+<Test name="mediump_mat4_float_fragment" />
+<Test name="highp_mat4_float_vertex" />
+<Test name="highp_mat4_float_fragment" />
+</TestCase>
+</TestSuite>
+<TestCase name="return">
+<Test name="single_return_vertex" />
+<Test name="single_return_fragment" />
+<Test name="conditional_return_never_vertex" />
+<Test name="conditional_return_never_fragment" />
+<Test name="conditional_return_dynamic_vertex" />
+<Test name="conditional_return_dynamic_fragment" />
+<Test name="double_return_vertex" />
+<Test name="double_return_fragment" />
+<Test name="last_statement_in_main_vertex" />
+<Test name="last_statement_in_main_fragment" />
+<Test name="output_write_always_vertex" />
+<Test name="output_write_always_fragment" />
+<Test name="output_write_never_vertex" />
+<Test name="output_write_never_fragment" />
+<Test name="output_write_dynamic_vertex" />
+<Test name="output_write_dynamic_fragment" />
+<Test name="output_write_in_func_never_vertex" />
+<Test name="output_write_in_func_never_fragment" />
+<Test name="output_write_in_func_dynamic_vertex" />
+<Test name="output_write_in_func_dynamic_fragment" />
+<Test name="return_in_static_loop_always_vertex" />
+<Test name="return_in_static_loop_always_fragment" />
+<Test name="return_in_static_loop_never_vertex" />
+<Test name="return_in_static_loop_never_fragment" />
+<Test name="return_in_static_loop_dynamic_vertex" />
+<Test name="return_in_static_loop_dynamic_fragment" />
+<Test name="return_in_dynamic_loop_always_vertex" />
+<Test name="return_in_dynamic_loop_always_fragment" />
+<Test name="return_in_dynamic_loop_never_vertex" />
+<Test name="return_in_dynamic_loop_never_fragment" />
+<Test name="return_in_dynamic_loop_dynamic_vertex" />
+<Test name="return_in_dynamic_loop_dynamic_fragment" />
+<Test name="return_in_infinite_loop_vertex" />
+<Test name="return_in_infinite_loop_fragment" />
+</TestCase>
+<TestSuite name="struct">
+<TestCase name="local">
+<Test name="basic_vertex" />
+<Test name="basic_fragment" />
+<Test name="nested_vertex" />
+<Test name="nested_fragment" />
+<Test name="array_member_vertex" />
+<Test name="array_member_fragment" />
+<Test name="parameter_vertex" />
+<Test name="parameter_fragment" />
+<Test name="parameter_nested_vertex" />
+<Test name="parameter_nested_fragment" />
+<Test name="return_vertex" />
+<Test name="return_fragment" />
+<Test name="return_nested_vertex" />
+<Test name="return_nested_fragment" />
+<Test name="conditional_assignment_vertex" />
+<Test name="conditional_assignment_fragment" />
+<Test name="loop_assignment_vertex" />
+<Test name="loop_assignment_fragment" />
+<Test name="dynamic_loop_assignment_vertex" />
+<Test name="dynamic_loop_assignment_fragment" />
+<Test name="nested_conditional_assignment_vertex" />
+<Test name="nested_conditional_assignment_fragment" />
+<Test name="nested_loop_assignment_vertex" />
+<Test name="nested_loop_assignment_fragment" />
+<Test name="nested_dynamic_loop_assignment_vertex" />
+<Test name="nested_dynamic_loop_assignment_fragment" />
+</TestCase>
+<TestCase name="uniform">
+<Test name="basic_vertex" />
+<Test name="basic_fragment" />
+<Test name="nested_vertex" />
+<Test name="nested_fragment" />
+<Test name="array_member_vertex" />
+<Test name="array_member_fragment" />
+<Test name="array_member_dynamic_index_vertex" />
+<Test name="struct_array_vertex" />
+<Test name="struct_array_fragment" />
+<Test name="sampler_vertex" />
+<Test name="sampler_fragment" />
+<Test name="equal_fragment" />
+<Test name="not_equal_fragment" />
+</TestCase>
+</TestSuite>
+<TestCase name="switch">
+<Test name="basic_static_vertex" />
+<Test name="basic_static_fragment" />
+<Test name="basic_uniform_vertex" />
+<Test name="basic_uniform_fragment" />
+<Test name="basic_dynamic_vertex" />
+<Test name="basic_dynamic_fragment" />
+<Test name="const_expr_in_label_static_vertex" />
+<Test name="const_expr_in_label_static_fragment" />
+<Test name="const_expr_in_label_uniform_vertex" />
+<Test name="const_expr_in_label_uniform_fragment" />
+<Test name="const_expr_in_label_dynamic_vertex" />
+<Test name="const_expr_in_label_dynamic_fragment" />
+<Test name="default_label_static_vertex" />
+<Test name="default_label_static_fragment" />
+<Test name="default_label_uniform_vertex" />
+<Test name="default_label_uniform_fragment" />
+<Test name="default_label_dynamic_vertex" />
+<Test name="default_label_dynamic_fragment" />
+<Test name="default_not_last_static_vertex" />
+<Test name="default_not_last_static_fragment" />
+<Test name="default_not_last_uniform_vertex" />
+<Test name="default_not_last_uniform_fragment" />
+<Test name="default_not_last_dynamic_vertex" />
+<Test name="default_not_last_dynamic_fragment" />
+<Test name="no_default_label_static_vertex" />
+<Test name="no_default_label_static_fragment" />
+<Test name="no_default_label_uniform_vertex" />
+<Test name="no_default_label_uniform_fragment" />
+<Test name="no_default_label_dynamic_vertex" />
+<Test name="no_default_label_dynamic_fragment" />
+<Test name="fall_through_static_vertex" />
+<Test name="fall_through_static_fragment" />
+<Test name="fall_through_uniform_vertex" />
+<Test name="fall_through_uniform_fragment" />
+<Test name="fall_through_dynamic_vertex" />
+<Test name="fall_through_dynamic_fragment" />
+<Test name="fall_through_default_static_vertex" />
+<Test name="fall_through_default_static_fragment" />
+<Test name="fall_through_default_uniform_vertex" />
+<Test name="fall_through_default_uniform_fragment" />
+<Test name="fall_through_default_dynamic_vertex" />
+<Test name="fall_through_default_dynamic_fragment" />
+<Test name="conditional_fall_through_static_vertex" />
+<Test name="conditional_fall_through_static_fragment" />
+<Test name="conditional_fall_through_uniform_vertex" />
+<Test name="conditional_fall_through_uniform_fragment" />
+<Test name="conditional_fall_through_dynamic_vertex" />
+<Test name="conditional_fall_through_dynamic_fragment" />
+<Test name="conditional_fall_through_2_static_vertex" />
+<Test name="conditional_fall_through_2_static_fragment" />
+<Test name="conditional_fall_through_2_uniform_fragment" />
+<Test name="conditional_fall_through_2_dynamic_vertex" />
+<Test name="conditional_fall_through_2_dynamic_fragment" />
+<Test name="scope_static_vertex" />
+<Test name="scope_static_fragment" />
+<Test name="scope_uniform_vertex" />
+<Test name="scope_uniform_fragment" />
+<Test name="scope_dynamic_vertex" />
+<Test name="scope_dynamic_fragment" />
+<Test name="switch_in_if_static_vertex" />
+<Test name="switch_in_if_static_fragment" />
+<Test name="switch_in_if_uniform_vertex" />
+<Test name="switch_in_if_uniform_fragment" />
+<Test name="switch_in_if_dynamic_vertex" />
+<Test name="switch_in_if_dynamic_fragment" />
+<Test name="switch_in_for_loop_static_vertex" />
+<Test name="switch_in_for_loop_static_fragment" />
+<Test name="switch_in_for_loop_uniform_vertex" />
+<Test name="switch_in_for_loop_uniform_fragment" />
+<Test name="switch_in_for_loop_dynamic_vertex" />
+<Test name="switch_in_for_loop_dynamic_fragment" />
+<Test name="switch_in_while_loop_static_vertex" />
+<Test name="switch_in_while_loop_static_fragment" />
+<Test name="switch_in_while_loop_uniform_vertex" />
+<Test name="switch_in_while_loop_uniform_fragment" />
+<Test name="switch_in_while_loop_dynamic_vertex" />
+<Test name="switch_in_while_loop_dynamic_fragment" />
+<Test name="switch_in_do_while_loop_static_vertex" />
+<Test name="switch_in_do_while_loop_static_fragment" />
+<Test name="switch_in_do_while_loop_uniform_vertex" />
+<Test name="switch_in_do_while_loop_uniform_fragment" />
+<Test name="switch_in_do_while_loop_dynamic_vertex" />
+<Test name="switch_in_do_while_loop_dynamic_fragment" />
+<Test name="if_in_switch_static_vertex" />
+<Test name="if_in_switch_static_fragment" />
+<Test name="if_in_switch_uniform_vertex" />
+<Test name="if_in_switch_uniform_fragment" />
+<Test name="if_in_switch_dynamic_vertex" />
+<Test name="if_in_switch_dynamic_fragment" />
+<Test name="for_loop_in_switch_static_vertex" />
+<Test name="for_loop_in_switch_static_fragment" />
+<Test name="for_loop_in_switch_uniform_vertex" />
+<Test name="for_loop_in_switch_uniform_fragment" />
+<Test name="for_loop_in_switch_dynamic_vertex" />
+<Test name="for_loop_in_switch_dynamic_fragment" />
+<Test name="while_loop_in_switch_static_vertex" />
+<Test name="while_loop_in_switch_static_fragment" />
+<Test name="while_loop_in_switch_uniform_vertex" />
+<Test name="while_loop_in_switch_uniform_fragment" />
+<Test name="while_loop_in_switch_dynamic_vertex" />
+<Test name="while_loop_in_switch_dynamic_fragment" />
+<Test name="do_while_loop_in_switch_static_vertex" />
+<Test name="do_while_loop_in_switch_static_fragment" />
+<Test name="do_while_loop_in_switch_uniform_vertex" />
+<Test name="do_while_loop_in_switch_dynamic_vertex" />
+<Test name="do_while_loop_in_switch_dynamic_fragment" />
+<Test name="switch_in_switch_static_vertex" />
+<Test name="switch_in_switch_static_fragment" />
+<Test name="switch_in_switch_dynamic_vertex" />
+<Test name="switch_in_switch_dynamic_fragment" />
+<Test name="empty_condition_vertex" />
+<Test name="empty_condition_fragment" />
+<Test name="condition_float_vertex" />
+<Test name="condition_float_fragment" />
+<Test name="condition_bool_vertex" />
+<Test name="condition_bool_fragment" />
+<Test name="condition_ivec2_vertex" />
+<Test name="condition_ivec2_fragment" />
+<Test name="condition_struct_vertex" />
+<Test name="condition_struct_fragment" />
+<Test name="duplicate_label_vertex" />
+<Test name="duplicate_label_fragment" />
+<Test name="float_label_vertex" />
+<Test name="float_label_fragment" />
+<Test name="non_const_int_label_vertex" />
+<Test name="non_const_int_label_fragment" />
+<Test name="statement_before_label_vertex" />
+<Test name="statement_before_label_fragment" />
+<Test name="statement_before_default_label_vertex" />
+<Test name="statement_before_default_label_fragment" />
+<Test name="no_statement_after_label_vertex" />
+<Test name="no_statement_after_label_fragment" />
+<Test name="no_statement_after_default_label_vertex" />
+<Test name="no_statement_after_default_label_fragment" />
+<Test name="case_in_if_vertex" />
+<Test name="case_in_if_fragment" />
+<Test name="default_in_if_vertex" />
+<Test name="default_in_if_fragment" />
+<Test name="case_in_for_loop_vertex" />
+<Test name="case_in_for_loop_fragment" />
+<Test name="default_in_for_loop_vertex" />
+<Test name="default_in_for_loop_fragment" />
+<Test name="case_in_while_loop_vertex" />
+<Test name="case_in_while_loop_fragment" />
+<Test name="default_in_while_loop_vertex" />
+<Test name="default_in_while_loop_fragment" />
+<Test name="case_in_do_while_loop_vertex" />
+<Test name="case_in_do_while_loop_fragment" />
+<Test name="default_in_do_while_loop_vertex" />
+<Test name="default_in_do_while_loop_fragment" />
+<Test name="missing_colon_vertex" />
+<Test name="missing_colon_fragment" />
+<Test name="missing_opening_brace_vertex" />
+<Test name="missing_opening_brace_fragment" />
+<Test name="missing_closing_brace_vertex" />
+<Test name="missing_closing_brace_fragment" />
+<Test name="double_case_vertex" />
+<Test name="double_case_fragment" />
+<Test name="double_default_1_vertex" />
+<Test name="double_default_1_fragment" />
+<Test name="double_default_2_vertex" />
+<Test name="double_default_2_fragment" />
+</TestCase>
+<TestSuite name="fragdepth">
+<TestCase name="write">
+<Test name="no_write" />
+</TestCase>
+<TestCase name="compare">
+<Test name="no_write" />
+<Test name="const" />
+<Test name="uniform" />
+<Test name="dynamic" />
+<Test name="fragcoord_z" />
+<Test name="uniform_conditional_write" />
+<Test name="dynamic_conditional_write" />
+<Test name="uniform_loop_write" />
+<Test name="write_in_function" />
+</TestCase>
+</TestSuite>
+<TestSuite name="precision">
+<TestCase name="float">
+<Test name="highp_add_vertex" />
+<Test name="highp_add_fragment" />
+<Test name="highp_sub_vertex" />
+<Test name="highp_sub_fragment" />
+<Test name="highp_mul_vertex" />
+<Test name="highp_mul_fragment" />
+<Test name="highp_div_vertex" />
+<Test name="highp_div_fragment" />
+<Test name="mediump_add_vertex" />
+<Test name="mediump_add_fragment" />
+<Test name="mediump_sub_vertex" />
+<Test name="mediump_sub_fragment" />
+<Test name="mediump_mul_vertex" />
+<Test name="mediump_mul_fragment" />
+<Test name="mediump_div_vertex" />
+<Test name="mediump_div_fragment" />
+</TestCase>
+<TestCase name="int">
+<Test name="highp_add_fragment" />
+<Test name="highp_sub_fragment" />
+<Test name="highp_mul_fragment" />
+<Test name="highp_div_fragment" />
+<Test name="mediump_add_vertex" />
+<Test name="mediump_add_fragment" />
+<Test name="mediump_sub_vertex" />
+<Test name="mediump_sub_fragment" />
+<Test name="mediump_mul_vertex" />
+<Test name="mediump_mul_fragment" />
+<Test name="mediump_div_vertex" />
+<Test name="mediump_div_fragment" />
+<Test name="lowp_add_vertex" />
+<Test name="lowp_add_fragment" />
+<Test name="lowp_sub_vertex" />
+<Test name="lowp_sub_fragment" />
+<Test name="lowp_mul_vertex" />
+<Test name="lowp_mul_fragment" />
+<Test name="lowp_div_vertex" />
+<Test name="lowp_div_fragment" />
+</TestCase>
+<TestCase name="uint">
+<Test name="highp_add_fragment" />
+<Test name="highp_sub_fragment" />
+<Test name="highp_mul_fragment" />
+<Test name="highp_div_fragment" />
+<Test name="mediump_add_vertex" />
+<Test name="mediump_add_fragment" />
+<Test name="mediump_sub_vertex" />
+<Test name="mediump_sub_fragment" />
+<Test name="mediump_mul_vertex" />
+<Test name="mediump_mul_fragment" />
+<Test name="mediump_div_vertex" />
+<Test name="mediump_div_fragment" />
+<Test name="lowp_add_vertex" />
+<Test name="lowp_add_fragment" />
+<Test name="lowp_sub_vertex" />
+<Test name="lowp_sub_fragment" />
+<Test name="lowp_mul_vertex" />
+<Test name="lowp_mul_fragment" />
+<Test name="lowp_div_vertex" />
+<Test name="lowp_div_fragment" />
+</TestCase>
+</TestSuite>
+<TestCase name="builtin_variable">
+<Test name="max_vertex_attribs_vertex" />
+<Test name="max_vertex_attribs_fragment" />
+<Test name="max_vertex_uniform_vectors_vertex" />
+<Test name="max_vertex_uniform_vectors_fragment" />
+<Test name="max_fragment_uniform_vectors_vertex" />
+<Test name="max_fragment_uniform_vectors_fragment" />
+<Test name="max_texture_image_units_vertex" />
+<Test name="max_texture_image_units_fragment" />
+<Test name="max_draw_buffers_vertex" />
+<Test name="max_draw_buffers_fragment" />
+<Test name="depth_range_vertex" />
+<Test name="depth_range_fragment" />
+<Test name="vertex_id" />
+<Test name="fragcoord_xyz" />
+<Test name="pointcoord" />
+<Test name="frontfacing" />
+</TestCase>
+<TestSuite name="texture_functions">
+<TestCase name="texture">
+<Test name="sampler2d_fixed_vertex" />
+<Test name="sampler2d_fixed_fragment" />
+<Test name="sampler2d_float_vertex" />
+<Test name="sampler2d_float_fragment" />
+<Test name="isampler2d_vertex" />
+<Test name="isampler2d_fragment" />
+<Test name="usampler2d_vertex" />
+<Test name="usampler2d_fragment" />
+<Test name="sampler2d_bias_fixed_fragment" />
+<Test name="sampler2d_bias_float_fragment" />
+<Test name="isampler2d_bias_fragment" />
+<Test name="usampler2d_bias_fragment" />
+<Test name="samplercube_fixed_vertex" />
+<Test name="samplercube_fixed_fragment" />
+<Test name="samplercube_float_vertex" />
+<Test name="samplercube_float_fragment" />
+<Test name="isamplercube_vertex" />
+<Test name="isamplercube_fragment" />
+<Test name="usamplercube_vertex" />
+<Test name="usamplercube_fragment" />
+<Test name="samplercube_bias_fixed_fragment" />
+<Test name="samplercube_bias_float_fragment" />
+<Test name="isamplercube_bias_fragment" />
+<Test name="usamplercube_bias_fragment" />
+<Test name="sampler2darray_fixed_vertex" />
+<Test name="sampler2darray_fixed_fragment" />
+<Test name="sampler2darray_float_vertex" />
+<Test name="sampler2darray_float_fragment" />
+<Test name="isampler2darray_vertex" />
+<Test name="isampler2darray_fragment" />
+<Test name="usampler2darray_vertex" />
+<Test name="usampler2darray_fragment" />
+<Test name="sampler2darray_bias_fixed_fragment" />
+<Test name="sampler2darray_bias_float_fragment" />
+<Test name="isampler2darray_bias_fragment" />
+<Test name="usampler2darray_bias_fragment" />
+<Test name="sampler3d_fixed_vertex" />
+<Test name="sampler3d_fixed_fragment" />
+<Test name="sampler3d_float_vertex" />
+<Test name="sampler3d_float_fragment" />
+<Test name="isampler3d_vertex" />
+<Test name="isampler3d_fragment" />
+<Test name="usampler3d_vertex" />
+<Test name="usampler3d_fragment" />
+<Test name="sampler3d_bias_fixed_fragment" />
+<Test name="sampler3d_bias_float_fragment" />
+<Test name="isampler3d_bias_fragment" />
+<Test name="usampler3d_bias_fragment" />
+<Test name="sampler2dshadow_vertex" />
+<Test name="sampler2dshadow_fragment" />
+<Test name="sampler2dshadow_bias_fragment" />
+<Test name="samplercubeshadow_vertex" />
+<Test name="samplercubeshadow_fragment" />
+<Test name="samplercubeshadow_bias_fragment" />
+<Test name="sampler2darrayshadow_fragment" />
+</TestCase>
+<TestCase name="textureproj">
+<Test name="sampler2d_vec3_fixed_vertex" />
+<Test name="sampler2d_vec3_fixed_fragment" />
+<Test name="sampler2d_vec3_float_vertex" />
+<Test name="sampler2d_vec3_float_fragment" />
+<Test name="isampler2d_vec3_vertex" />
+<Test name="isampler2d_vec3_fragment" />
+<Test name="usampler2d_vec3_vertex" />
+<Test name="usampler2d_vec3_fragment" />
+<Test name="sampler2d_vec3_bias_fixed_fragment" />
+<Test name="sampler2d_vec3_bias_float_fragment" />
+<Test name="isampler2d_vec3_bias_fragment" />
+<Test name="usampler2d_vec3_bias_fragment" />
+<Test name="sampler2d_vec4_fixed_vertex" />
+<Test name="sampler2d_vec4_fixed_fragment" />
+<Test name="sampler2d_vec4_float_vertex" />
+<Test name="sampler2d_vec4_float_fragment" />
+<Test name="isampler2d_vec4_vertex" />
+<Test name="isampler2d_vec4_fragment" />
+<Test name="usampler2d_vec4_vertex" />
+<Test name="usampler2d_vec4_fragment" />
+<Test name="sampler2d_vec4_bias_fixed_fragment" />
+<Test name="sampler2d_vec4_bias_float_fragment" />
+<Test name="isampler2d_vec4_bias_fragment" />
+<Test name="usampler2d_vec4_bias_fragment" />
+<Test name="sampler3d_fixed_vertex" />
+<Test name="sampler3d_fixed_fragment" />
+<Test name="sampler3d_float_vertex" />
+<Test name="sampler3d_float_fragment" />
+<Test name="isampler3d_vertex" />
+<Test name="isampler3d_fragment" />
+<Test name="usampler3d_vertex" />
+<Test name="usampler3d_fragment" />
+<Test name="sampler3d_bias_fixed_fragment" />
+<Test name="sampler3d_bias_float_fragment" />
+<Test name="isampler3d_bias_fragment" />
+<Test name="usampler3d_bias_fragment" />
+<Test name="sampler2dshadow_vertex" />
+<Test name="sampler2dshadow_fragment" />
+<Test name="sampler2dshadow_bias_fragment" />
+</TestCase>
+<TestCase name="texturelod">
+<Test name="sampler2d_fixed_vertex" />
+<Test name="sampler2d_fixed_fragment" />
+<Test name="sampler2d_float_vertex" />
+<Test name="sampler2d_float_fragment" />
+<Test name="isampler2d_vertex" />
+<Test name="isampler2d_fragment" />
+<Test name="usampler2d_vertex" />
+<Test name="usampler2d_fragment" />
+<Test name="isamplercube_vertex" />
+<Test name="isamplercube_fragment" />
+<Test name="usamplercube_vertex" />
+<Test name="usamplercube_fragment" />
+<Test name="sampler2darray_fixed_vertex" />
+<Test name="sampler2darray_fixed_fragment" />
+<Test name="sampler2darray_float_vertex" />
+<Test name="sampler2darray_float_fragment" />
+<Test name="isampler2darray_vertex" />
+<Test name="isampler2darray_fragment" />
+<Test name="usampler2darray_vertex" />
+<Test name="usampler2darray_fragment" />
+<Test name="sampler3d_fixed_vertex" />
+<Test name="sampler3d_fixed_fragment" />
+<Test name="sampler3d_float_vertex" />
+<Test name="sampler3d_float_fragment" />
+<Test name="isampler3d_vertex" />
+<Test name="isampler3d_fragment" />
+<Test name="usampler3d_vertex" />
+<Test name="usampler3d_fragment" />
+<Test name="sampler2dshadow_vertex" />
+<Test name="sampler2dshadow_fragment" />
+</TestCase>
+<TestCase name="textureprojlod">
+<Test name="sampler2d_vec3_fixed_vertex" />
+<Test name="sampler2d_vec3_fixed_fragment" />
+<Test name="sampler2d_vec3_float_vertex" />
+<Test name="sampler2d_vec3_float_fragment" />
+<Test name="isampler2d_vec3_vertex" />
+<Test name="isampler2d_vec3_fragment" />
+<Test name="usampler2d_vec3_vertex" />
+<Test name="usampler2d_vec3_fragment" />
+<Test name="sampler2d_vec4_fixed_vertex" />
+<Test name="sampler2d_vec4_fixed_fragment" />
+<Test name="sampler2d_vec4_float_vertex" />
+<Test name="sampler2d_vec4_float_fragment" />
+<Test name="isampler2d_vec4_vertex" />
+<Test name="isampler2d_vec4_fragment" />
+<Test name="usampler2d_vec4_vertex" />
+<Test name="usampler2d_vec4_fragment" />
+<Test name="sampler3d_fixed_vertex" />
+<Test name="sampler3d_fixed_fragment" />
+<Test name="sampler3d_float_vertex" />
+<Test name="sampler3d_float_fragment" />
+<Test name="isampler3d_vertex" />
+<Test name="isampler3d_fragment" />
+<Test name="usampler3d_vertex" />
+<Test name="usampler3d_fragment" />
+<Test name="sampler2dshadow_vertex" />
+<Test name="sampler2dshadow_fragment" />
+</TestCase>
+<TestCase name="texturegrad">
+<Test name="sampler2d_fixed_vertex" />
+<Test name="sampler2d_fixed_fragment" />
+<Test name="sampler2d_float_vertex" />
+<Test name="sampler2d_float_fragment" />
+<Test name="samplercube_fixed_vertex" />
+<Test name="samplercube_fixed_fragment" />
+<Test name="samplercube_float_vertex" />
+<Test name="samplercube_float_fragment" />
+<Test name="sampler2darray_fixed_vertex" />
+<Test name="sampler2darray_fixed_fragment" />
+<Test name="sampler2darray_float_vertex" />
+<Test name="sampler2darray_float_fragment" />
+<Test name="sampler3d_fixed_vertex" />
+<Test name="sampler3d_fixed_fragment" />
+<Test name="sampler3d_float_vertex" />
+<Test name="sampler3d_float_fragment" />
+<Test name="sampler2dshadow_vertex" />
+<Test name="sampler2dshadow_fragment" />
+<Test name="sampler2darrayshadow_vertex" />
+<Test name="sampler2darrayshadow_fragment" />
+</TestCase>
+<TestCase name="textureprojgrad">
+<Test name="sampler2d_vec3_fixed_vertex" />
+<Test name="sampler2d_vec3_fixed_fragment" />
+<Test name="sampler2d_vec3_float_vertex" />
+<Test name="sampler2d_vec3_float_fragment" />
+<Test name="sampler2d_vec4_fixed_vertex" />
+<Test name="sampler2d_vec4_fixed_fragment" />
+<Test name="sampler2d_vec4_float_vertex" />
+<Test name="sampler2d_vec4_float_fragment" />
+<Test name="sampler3d_fixed_vertex" />
+<Test name="sampler3d_fixed_fragment" />
+<Test name="sampler3d_float_vertex" />
+<Test name="sampler3d_float_fragment" />
+<Test name="sampler2dshadow_vertex" />
+<Test name="sampler2dshadow_fragment" />
+</TestCase>
+<TestCase name="texelfetch">
+<Test name="sampler2d_fixed_vertex" />
+<Test name="sampler2d_fixed_fragment" />
+<Test name="sampler2d_float_vertex" />
+<Test name="sampler2d_float_fragment" />
+<Test name="isampler2d_vertex" />
+<Test name="isampler2d_fragment" />
+<Test name="usampler2d_vertex" />
+<Test name="usampler2d_fragment" />
+</TestCase>
+<TestCase name="texelfetchoffset">
+<Test name="usampler2d_vertex" />
+<Test name="usampler2d_fragment" />
+</TestCase>
+<TestCase name="invalid">
+<Test name="texture_sampler3dshadow_vec4_vertex" />
+<Test name="texture_sampler3dshadow_vec4_fragment" />
+<Test name="textureproj_samplercube_vec4_vertex" />
+<Test name="textureproj_samplercube_vec4_fragment" />
+<Test name="textureproj_isamplercube_vec4_vertex" />
+<Test name="textureproj_isamplercube_vec4_fragment" />
+<Test name="textureproj_usamplercube_vec4_vertex" />
+<Test name="textureproj_usamplercube_vec4_fragment" />
+<Test name="textureproj_samplercube_vec4_float_vertex" />
+<Test name="textureproj_samplercube_vec4_float_fragment" />
+<Test name="textureproj_isamplercube_vec4_float_vertex" />
+<Test name="textureproj_isamplercube_vec4_float_fragment" />
+<Test name="textureproj_usamplercube_vec4_float_vertex" />
+<Test name="textureproj_usamplercube_vec4_float_fragment" />
+<Test name="textureproj_sampler2darrayshadow_vec4_vertex" />
+<Test name="textureproj_sampler2darrayshadow_vec4_fragment" />
+<Test name="textureproj_sampler2darrayshadow_vec4_float_vertex" />
+<Test name="textureproj_sampler2darrayshadow_vec4_float_fragment" />
+<Test name="texturelod_samplercubeshadow_vec4_float_vertex" />
+<Test name="texturelod_samplercubeshadow_vec4_float_fragment" />
+<Test name="texturelod_sampler2darrayshadow_vec4_float_vertex" />
+<Test name="texturelod_sampler2darrayshadow_vec4_float_fragment" />
+<Test name="textureoffset_samplercube_vec3_ivec2_vertex" />
+<Test name="textureoffset_samplercube_vec3_ivec2_fragment" />
+<Test name="textureoffset_isamplercube_vec3_ivec2_vertex" />
+<Test name="textureoffset_isamplercube_vec3_ivec2_fragment" />
+<Test name="textureoffset_usamplercube_vec3_ivec2_vertex" />
+<Test name="textureoffset_usamplercube_vec3_ivec2_fragment" />
+<Test name="textureoffset_samplercube_vec3_ivec3_vertex" />
+<Test name="textureoffset_samplercube_vec3_ivec3_fragment" />
+<Test name="textureoffset_isamplercube_vec3_ivec3_vertex" />
+<Test name="textureoffset_isamplercube_vec3_ivec3_fragment" />
+<Test name="textureoffset_usamplercube_vec3_ivec3_vertex" />
+<Test name="textureoffset_usamplercube_vec3_ivec3_fragment" />
+<Test name="textureoffset_samplercube_vec3_ivec2_float_vertex" />
+<Test name="textureoffset_samplercube_vec3_ivec2_float_fragment" />
+<Test name="textureoffset_samplercube_vec3_ivec3_float_vertex" />
+<Test name="textureoffset_samplercube_vec3_ivec3_float_fragment" />
+<Test name="textureoffset_sampler2darray_vec3_ivec3_vertex" />
+<Test name="textureoffset_sampler2darray_vec3_ivec3_fragment" />
+<Test name="textureoffset_sampler2darray_vec3_ivec3_float_vertex" />
+<Test name="textureoffset_sampler2darray_vec3_ivec3_float_fragment" />
+<Test name="textureoffset_samplercubeshadow_vec4_ivec2_vertex" />
+<Test name="textureoffset_samplercubeshadow_vec4_ivec2_fragment" />
+<Test name="textureoffset_samplercubeshadow_vec4_ivec3_vertex" />
+<Test name="textureoffset_samplercubeshadow_vec4_ivec3_fragment" />
+<Test name="textureoffset_sampler2darrayshadow_vec4_ivec2_float_vertex" />
+<Test name="textureoffset_sampler2darrayshadow_vec4_ivec2_float_fragment" />
+<Test name="texelfetch_samplercube_ivec3_int_vertex" />
+<Test name="texelfetch_samplercube_ivec3_int_fragment" />
+<Test name="texelfetch_isamplercube_ivec3_int_vertex" />
+<Test name="texelfetch_isamplercube_ivec3_int_fragment" />
+<Test name="texelfetch_usamplercube_ivec3_int_vertex" />
+<Test name="texelfetch_usamplercube_ivec3_int_fragment" />
+<Test name="texelfetch_sampler2dshadow_ivec2_int_vertex" />
+<Test name="texelfetch_sampler2dshadow_ivec2_int_fragment" />
+<Test name="texelfetch_samplercubeshadow_ivec3_int_vertex" />
+<Test name="texelfetch_samplercubeshadow_ivec3_int_fragment" />
+<Test name="texelfetch_sampler2darrayshadow_ivec3_int_vertex" />
+<Test name="texelfetch_sampler2darrayshadow_ivec3_int_fragment" />
+<Test name="texelfetch_samplercube_ivec3_int_ivec3_vertex" />
+<Test name="texelfetch_samplercube_ivec3_int_ivec3_fragment" />
+<Test name="texelfetch_sampler2dshadow_ivec2_int_ivec2_vertex" />
+<Test name="texelfetch_sampler2dshadow_ivec2_int_ivec2_fragment" />
+<Test name="texelfetch_samplercubeshadow_ivec3_int_ivec3_vertex" />
+<Test name="texelfetch_samplercubeshadow_ivec3_int_ivec3_fragment" />
+<Test name="texelfetch_sampler2darrayshadow_ivec3_int_ivec3_vertex" />
+<Test name="texelfetch_sampler2darrayshadow_ivec3_int_ivec3_fragment" />
+<Test name="textureprojoffset_samplercube_vec4_ivec2_vertex" />
+<Test name="textureprojoffset_samplercube_vec4_ivec2_fragment" />
+<Test name="textureprojoffset_samplercube_vec4_ivec3_vertex" />
+<Test name="textureprojoffset_samplercube_vec4_ivec3_fragment" />
+<Test name="textureprojoffset_samplercubeshadow_vec4_ivec3_vertex" />
+<Test name="textureprojoffset_samplercubeshadow_vec4_ivec3_fragment" />
+<Test name="textureprojoffset_sampler2darrayshadow_vec4_ivec2_vertex" />
+<Test name="textureprojoffset_sampler2darrayshadow_vec4_ivec2_fragment" />
+<Test name="textureprojoffset_sampler2darrayshadow_vec4_ivec3_vertex" />
+<Test name="textureprojoffset_sampler2darrayshadow_vec4_ivec3_fragment" />
+<Test name="texturelodoffset_samplercube_vec3_float_ivec2_vertex" />
+<Test name="texturelodoffset_samplercube_vec3_float_ivec2_fragment" />
+<Test name="texturelodoffset_samplercube_vec3_float_ivec3_vertex" />
+<Test name="texturelodoffset_samplercube_vec3_float_ivec3_fragment" />
+<Test name="texturelodoffset_samplercubeshadow_vec3_float_ivec3_vertex" />
+<Test name="texturelodoffset_samplercubeshadow_vec3_float_ivec3_fragment" />
+<Test name="texturelodoffset_sampler2darrayshadow_vec3_float_ivec2_vertex" />
+<Test name="texturelodoffset_sampler2darrayshadow_vec3_float_ivec2_fragment" />
+<Test name="texturelodoffset_sampler2darrayshadow_vec3_float_ivec3_vertex" />
+<Test name="texturelodoffset_sampler2darrayshadow_vec3_float_ivec3_fragment" />
+<Test name="textureprojlod_samplercube_vec4_float_vertex" />
+<Test name="textureprojlod_samplercube_vec4_float_fragment" />
+<Test name="textureprojlod_sampler2darray_vec4_float_vertex" />
+<Test name="textureprojlod_sampler2darray_vec4_float_fragment" />
+<Test name="textureprojlod_sampler2darrayshadow_vec4_float_vertex" />
+<Test name="textureprojlod_sampler2darrayshadow_vec4_float_fragment" />
+<Test name="texturegrad_sampler2darray_vec3_vec3_vec3_vertex" />
+<Test name="texturegrad_sampler2darray_vec3_vec3_vec3_fragment" />
+<Test name="texturegradoffset_samplercube_vec3_vec3_vec3_ivec2_vertex" />
+<Test name="texturegradoffset_samplercube_vec3_vec3_vec3_ivec2_fragment" />
+<Test name="texturegradoffset_samplercube_vec3_vec3_vec3_ivec3_vertex" />
+<Test name="texturegradoffset_samplercube_vec3_vec3_vec3_ivec3_fragment" />
+<Test name="texturegradoffset_samplercubeshadow_vec4_vec3_vec3_ivec2_vertex" />
+<Test name="texturegradoffset_samplercubeshadow_vec4_vec3_vec3_ivec2_fragment" />
+<Test name="texturegradoffset_samplercubeshadow_vec4_vec3_vec3_ivec3_vertex" />
+<Test name="texturegradoffset_samplercubeshadow_vec4_vec3_vec3_ivec3_fragment" />
+<Test name="textureprojgrad_samplercube_vec4_vec3_vec3_vertex" />
+<Test name="textureprojgrad_samplercube_vec4_vec3_vec3_fragment" />
+<Test name="textureprojgrad_sampler2darray_vec4_vec2_vec2_vertex" />
+<Test name="textureprojgrad_sampler2darray_vec4_vec2_vec2_fragment" />
+<Test name="textureprojgradoffset_samplercube_vec4_vec3_vec3_ivec2_vertex" />
+<Test name="textureprojgradoffset_samplercube_vec4_vec3_vec3_ivec2_fragment" />
+<Test name="textureprojgradoffset_samplercube_vec4_vec3_vec3_ivec3_vertex" />
+<Test name="textureprojgradoffset_samplercube_vec4_vec3_vec3_ivec3_fragment" />
+<Test name="textureprojgradoffset_sampler2darray_vec4_vec2_vec2_ivec2_vertex" />
+<Test name="textureprojgradoffset_sampler2darray_vec4_vec2_vec2_ivec2_fragment" />
+<Test name="textureprojgradoffset_sampler2darray_vec4_vec2_vec2_ivec3_vertex" />
+<Test name="textureprojgradoffset_sampler2darray_vec4_vec2_vec2_ivec3_fragment" />
+</TestCase>
+</TestSuite>
+<TestSuite name="derivate">
+<TestSuite name="dfdx">
+<TestCase name="constant">
+<Test name="float" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
+</TestCase>
+<TestCase name="linear">
+<Test name="float_lowp" />
+<Test name="float_mediump" />
+<Test name="float_highp" />
+<Test name="vec2_highp" />
+</TestCase>
+<TestCase name="in_function">
+<Test name="float_mediump" />
+<Test name="float_highp" />
+<Test name="vec2_highp" />
+</TestCase>
+<TestCase name="static_if">
+<Test name="float_mediump" />
+<Test name="float_highp" />
+<Test name="vec2_highp" />
+</TestCase>
+<TestCase name="static_loop">
+<Test name="float_mediump" />
+<Test name="float_highp" />
+<Test name="vec2_highp" />
+</TestCase>
+<TestCase name="static_switch">
+<Test name="float_mediump" />
+<Test name="float_highp" />
+<Test name="vec2_highp" />
+</TestCase>
+<TestCase name="uniform_if">
+<Test name="float_mediump" />
+<Test name="float_highp" />
+<Test name="vec2_highp" />
+</TestCase>
+<TestCase name="uniform_loop">
+<Test name="float_mediump" />
+<Test name="float_highp" />
+<Test name="vec2_highp" />
+</TestCase>
+<TestCase name="uniform_switch">
+<Test name="float_mediump" />
+<Test name="float_highp" />
+<Test name="vec2_highp" />
+</TestCase>
+<TestCase name="fbo">
+<Test name="float_mediump" />
+<Test name="float_highp" />
+<Test name="vec2_highp" />
+</TestCase>
+<TestCase name="fbo_msaa2">
+<Test name="float_mediump" />
+</TestCase>
+<TestCase name="fbo_msaa4">
+<Test name="float_mediump" />
+</TestCase>
+<TestCase name="fbo_float">
+<Test name="float_lowp" />
+<Test name="float_mediump" />
+</TestCase>
+<TestSuite name="fastest">
+<TestCase name="default">
+<Test name="float_mediump" />
+<Test name="float_highp" />
+<Test name="vec2_highp" />
+</TestCase>
+<TestCase name="fbo_msaa4">
+<Test name="float_mediump" />
+</TestCase>
+<TestCase name="fbo_float">
+<Test name="float_lowp" />
+<Test name="float_mediump" />
+</TestCase>
+</TestSuite>
+<TestSuite name="nicest">
+<TestCase name="default">
+<Test name="float_mediump" />
+<Test name="float_highp" />
+<Test name="vec2_highp" />
+</TestCase>
+<TestCase name="fbo_msaa4">
+<Test name="float_mediump" />
+</TestCase>
+<TestCase name="fbo_float">
+<Test name="float_lowp" />
+<Test name="float_mediump" />
+</TestCase>
+</TestSuite>
+</TestSuite>
+<TestSuite name="dfdy">
+<TestCase name="constant">
+<Test name="float" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
+</TestCase>
+<TestCase name="linear">
+<Test name="float_highp" />
+<Test name="vec2_highp" />
+</TestCase>
+<TestCase name="in_function">
+<Test name="float_highp" />
+<Test name="vec2_highp" />
+</TestCase>
+<TestCase name="static_if">
+<Test name="float_highp" />
+<Test name="vec2_highp" />
+</TestCase>
+<TestCase name="static_loop">
+<Test name="float_highp" />
+<Test name="vec2_highp" />
+</TestCase>
+<TestCase name="static_switch">
+<Test name="float_highp" />
+<Test name="vec2_highp" />
+</TestCase>
+<TestCase name="uniform_if">
+<Test name="float_highp" />
+<Test name="vec2_highp" />
+</TestCase>
+<TestCase name="uniform_loop">
+<Test name="float_highp" />
+<Test name="vec2_highp" />
+</TestCase>
+<TestCase name="uniform_switch">
+<Test name="float_highp" />
+<Test name="vec2_highp" />
+</TestCase>
+<TestCase name="fbo">
+<Test name="float_highp" />
+<Test name="vec2_highp" />
+</TestCase>
+<TestSuite name="fastest">
+<TestCase name="default">
+<Test name="float_highp" />
+<Test name="vec2_highp" />
+</TestCase>
+</TestSuite>
+<TestSuite name="nicest">
+<TestCase name="default">
+<Test name="float_highp" />
+<Test name="vec2_highp" />
+</TestCase>
+</TestSuite>
+</TestSuite>
+<TestSuite name="fwidth">
+<TestCase name="constant">
+<Test name="float" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
+</TestCase>
+<TestCase name="linear">
+<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="vec4_lowp" />
+<Test name="vec4_mediump" />
+</TestCase>
+<TestCase name="in_function">
+<Test name="float_mediump" />
+<Test name="float_highp" />
+<Test name="vec2_mediump" />
+<Test name="vec2_highp" />
+<Test name="vec4_mediump" />
+</TestCase>
+<TestCase name="static_if">
+<Test name="float_mediump" />
+<Test name="float_highp" />
+<Test name="vec2_mediump" />
+<Test name="vec2_highp" />
+<Test name="vec4_mediump" />
+</TestCase>
+<TestCase name="static_loop">
+<Test name="float_mediump" />
+<Test name="float_highp" />
+<Test name="vec2_mediump" />
+<Test name="vec2_highp" />
+<Test name="vec4_mediump" />
+</TestCase>
+<TestCase name="static_switch">
+<Test name="float_mediump" />
+<Test name="float_highp" />
+<Test name="vec2_mediump" />
+<Test name="vec2_highp" />
+<Test name="vec4_mediump" />
+</TestCase>
+<TestCase name="uniform_if">
+<Test name="float_mediump" />
+<Test name="float_highp" />
+<Test name="vec2_mediump" />
+<Test name="vec2_highp" />
+<Test name="vec4_mediump" />
+</TestCase>
+<TestCase name="uniform_loop">
+<Test name="float_mediump" />
+<Test name="float_highp" />
+<Test name="vec2_mediump" />
+<Test name="vec2_highp" />
+<Test name="vec4_mediump" />
+</TestCase>
+<TestCase name="uniform_switch">
+<Test name="float_mediump" />
+<Test name="float_highp" />
+<Test name="vec2_mediump" />
+<Test name="vec2_highp" />
+<Test name="vec4_mediump" />
+</TestCase>
+<TestCase name="fbo">
+<Test name="float_mediump" />
+<Test name="float_highp" />
+<Test name="vec2_mediump" />
+<Test name="vec2_highp" />
+<Test name="vec4_mediump" />
+</TestCase>
+<TestCase name="fbo_msaa2">
+<Test name="float_mediump" />
+<Test name="vec2_mediump" />
+</TestCase>
+<TestCase name="fbo_msaa4">
+<Test name="float_mediump" />
+<Test name="vec2_mediump" />
+</TestCase>
+<TestCase name="fbo_float">
+<Test name="float_lowp" />
+<Test name="float_mediump" />
+<Test name="vec2_lowp" />
+<Test name="vec2_mediump" />
+<Test name="vec4_lowp" />
+<Test name="vec4_mediump" />
+</TestCase>
+<TestSuite name="fastest">
+<TestCase name="default">
+<Test name="float_mediump" />
+<Test name="float_highp" />
+<Test name="vec2_mediump" />
+<Test name="vec2_highp" />
+<Test name="vec4_mediump" />
+</TestCase>
+<TestCase name="fbo_msaa4">
+<Test name="float_mediump" />
+<Test name="vec2_mediump" />
+</TestCase>
+<TestCase name="fbo_float">
+<Test name="float_lowp" />
+<Test name="float_mediump" />
+<Test name="vec2_lowp" />
+<Test name="vec2_mediump" />
+<Test name="vec4_lowp" />
+<Test name="vec4_mediump" />
+</TestCase>
+</TestSuite>
+<TestSuite name="nicest">
+<TestCase name="default">
+<Test name="float_mediump" />
+<Test name="float_highp" />
+<Test name="vec2_mediump" />
+<Test name="vec2_highp" />
+<Test name="vec4_mediump" />
+</TestCase>
+<TestCase name="fbo_msaa4">
+<Test name="float_mediump" />
+<Test name="vec2_mediump" />
+</TestCase>
+<TestCase name="fbo_float">
+<Test name="float_lowp" />
+<Test name="float_mediump" />
+<Test name="vec2_lowp" />
+<Test name="vec2_mediump" />
+<Test name="vec4_lowp" />
+<Test name="vec4_mediump" />
+</TestCase>
+</TestSuite>
+</TestSuite>
+</TestSuite>
+<TestSuite name="builtin_functions">
+<TestSuite name="common">
+<TestCase name="abs">
+<Test name="float_lowp_vertex" />
+<Test name="float_lowp_fragment" />
+<Test name="float_mediump_vertex" />
+<Test name="float_mediump_fragment" />
+<Test name="float_highp_vertex" />
+<Test name="float_highp_fragment" />
+<Test name="vec2_lowp_vertex" />
+<Test name="vec2_lowp_fragment" />
+<Test name="vec2_mediump_vertex" />
+<Test name="vec2_mediump_fragment" />
+<Test name="vec2_highp_vertex" />
+<Test name="vec2_highp_fragment" />
+<Test name="vec3_lowp_vertex" />
+<Test name="vec3_lowp_fragment" />
+<Test name="vec3_mediump_vertex" />
+<Test name="vec3_mediump_fragment" />
+<Test name="vec3_highp_vertex" />
+<Test name="vec3_highp_fragment" />
+<Test name="vec4_lowp_vertex" />
+<Test name="vec4_lowp_fragment" />
+<Test name="vec4_mediump_vertex" />
+<Test name="vec4_mediump_fragment" />
+<Test name="vec4_highp_vertex" />
+<Test name="vec4_highp_fragment" />
+<Test name="int_lowp_fragment" />
+<Test name="int_mediump_fragment" />
+<Test name="ivec2_lowp_fragment" />
+<Test name="ivec2_mediump_fragment" />
+<Test name="ivec3_lowp_fragment" />
+<Test name="ivec3_mediump_fragment" />
+<Test name="ivec4_lowp_fragment" />
+<Test name="ivec4_mediump_fragment" />
+</TestCase>
+<TestCase name="sign">
+<Test name="float_lowp_vertex" />
+<Test name="float_lowp_fragment" />
+<Test name="float_mediump_vertex" />
+<Test name="float_mediump_fragment" />
+<Test name="float_highp_vertex" />
+<Test name="float_highp_fragment" />
+<Test name="vec2_lowp_vertex" />
+<Test name="vec2_lowp_fragment" />
+<Test name="vec2_mediump_vertex" />
+<Test name="vec2_mediump_fragment" />
+<Test name="vec2_highp_vertex" />
+<Test name="vec2_highp_fragment" />
+<Test name="vec3_lowp_vertex" />
+<Test name="vec3_lowp_fragment" />
+<Test name="vec3_mediump_vertex" />
+<Test name="vec3_mediump_fragment" />
+<Test name="vec3_highp_vertex" />
+<Test name="vec3_highp_fragment" />
+<Test name="vec4_lowp_vertex" />
+<Test name="vec4_lowp_fragment" />
+<Test name="vec4_mediump_vertex" />
+<Test name="vec4_mediump_fragment" />
+<Test name="vec4_highp_vertex" />
+<Test name="vec4_highp_fragment" />
+<Test name="int_lowp_vertex" />
+<Test name="int_lowp_fragment" />
+<Test name="int_mediump_vertex" />
+<Test name="int_mediump_fragment" />
+<Test name="int_highp_vertex" />
+<Test name="int_highp_fragment" />
+<Test name="ivec2_lowp_vertex" />
+<Test name="ivec2_lowp_fragment" />
+<Test name="ivec2_mediump_vertex" />
+<Test name="ivec2_mediump_fragment" />
+<Test name="ivec2_highp_vertex" />
+<Test name="ivec2_highp_fragment" />
+<Test name="ivec3_lowp_vertex" />
+<Test name="ivec3_lowp_fragment" />
+<Test name="ivec3_mediump_vertex" />
+<Test name="ivec3_mediump_fragment" />
+<Test name="ivec3_highp_vertex" />
+<Test name="ivec3_highp_fragment" />
+<Test name="ivec4_lowp_vertex" />
+<Test name="ivec4_lowp_fragment" />
+<Test name="ivec4_mediump_vertex" />
+<Test name="ivec4_mediump_fragment" />
+<Test name="ivec4_highp_vertex" />
+<Test name="ivec4_highp_fragment" />
+</TestCase>
+<TestCase name="floor">
+<Test name="float_lowp_vertex" />
+<Test name="float_lowp_fragment" />
+<Test name="float_mediump_vertex" />
+<Test name="float_mediump_fragment" />
+<Test name="float_highp_vertex" />
+<Test name="float_highp_fragment" />
+<Test name="vec2_lowp_vertex" />
+<Test name="vec2_lowp_fragment" />
+<Test name="vec2_mediump_vertex" />
+<Test name="vec2_mediump_fragment" />
+<Test name="vec2_highp_vertex" />
+<Test name="vec2_highp_fragment" />
+<Test name="vec3_lowp_vertex" />
+<Test name="vec3_lowp_fragment" />
+<Test name="vec3_mediump_vertex" />
+<Test name="vec3_mediump_fragment" />
+<Test name="vec3_highp_vertex" />
+<Test name="vec3_highp_fragment" />
+<Test name="vec4_lowp_vertex" />
+<Test name="vec4_lowp_fragment" />
+<Test name="vec4_mediump_vertex" />
+<Test name="vec4_mediump_fragment" />
+<Test name="vec4_highp_vertex" />
+<Test name="vec4_highp_fragment" />
+</TestCase>
+<TestCase name="trunc">
+<Test name="float_lowp_vertex" />
+<Test name="float_lowp_fragment" />
+<Test name="float_mediump_vertex" />
+<Test name="float_mediump_fragment" />
+<Test name="vec2_lowp_vertex" />
+<Test name="vec2_lowp_fragment" />
+<Test name="vec2_mediump_vertex" />
+<Test name="vec2_mediump_fragment" />
+<Test name="vec3_lowp_vertex" />
+<Test name="vec3_lowp_fragment" />
+<Test name="vec3_mediump_vertex" />
+<Test name="vec3_mediump_fragment" />
+<Test name="vec4_lowp_vertex" />
+<Test name="vec4_lowp_fragment" />
+<Test name="vec4_mediump_vertex" />
+<Test name="vec4_mediump_fragment" />
+</TestCase>
+<TestCase name="round">
+<Test name="float_lowp_vertex" />
+<Test name="float_lowp_fragment" />
+<Test name="float_mediump_vertex" />
+<Test name="float_mediump_fragment" />
+<Test name="float_highp_vertex" />
+<Test name="float_highp_fragment" />
+<Test name="vec2_lowp_vertex" />
+<Test name="vec2_lowp_fragment" />
+<Test name="vec2_mediump_vertex" />
+<Test name="vec2_mediump_fragment" />
+<Test name="vec2_highp_vertex" />
+<Test name="vec2_highp_fragment" />
+<Test name="vec3_lowp_vertex" />
+<Test name="vec3_lowp_fragment" />
+<Test name="vec3_mediump_vertex" />
+<Test name="vec3_mediump_fragment" />
+<Test name="vec3_highp_vertex" />
+<Test name="vec3_highp_fragment" />
+<Test name="vec4_lowp_vertex" />
+<Test name="vec4_lowp_fragment" />
+<Test name="vec4_mediump_vertex" />
+<Test name="vec4_mediump_fragment" />
+<Test name="vec4_highp_vertex" />
+<Test name="vec4_highp_fragment" />
+</TestCase>
+<TestCase name="roundeven">
+<Test name="float_lowp_vertex" />
+<Test name="float_lowp_fragment" />
+<Test name="float_mediump_vertex" />
+<Test name="float_mediump_fragment" />
+<Test name="float_highp_vertex" />
+<Test name="float_highp_fragment" />
+<Test name="vec2_lowp_vertex" />
+<Test name="vec2_lowp_fragment" />
+<Test name="vec2_mediump_vertex" />
+<Test name="vec2_mediump_fragment" />
+<Test name="vec2_highp_vertex" />
+<Test name="vec2_highp_fragment" />
+<Test name="vec3_lowp_vertex" />
+<Test name="vec3_lowp_fragment" />
+<Test name="vec3_mediump_vertex" />
+<Test name="vec3_mediump_fragment" />
+<Test name="vec3_highp_vertex" />
+<Test name="vec3_highp_fragment" />
+<Test name="vec4_lowp_vertex" />
+<Test name="vec4_lowp_fragment" />
+<Test name="vec4_mediump_vertex" />
+<Test name="vec4_mediump_fragment" />
+<Test name="vec4_highp_vertex" />
+<Test name="vec4_highp_fragment" />
+</TestCase>
+<TestCase name="ceil">
+<Test name="float_lowp_vertex" />
+<Test name="float_lowp_fragment" />
+<Test name="float_mediump_vertex" />
+<Test name="float_mediump_fragment" />
+<Test name="float_highp_vertex" />
+<Test name="float_highp_fragment" />
+<Test name="vec2_lowp_vertex" />
+<Test name="vec2_lowp_fragment" />
+<Test name="vec2_mediump_vertex" />
+<Test name="vec2_mediump_fragment" />
+<Test name="vec2_highp_vertex" />
+<Test name="vec2_highp_fragment" />
+<Test name="vec3_lowp_vertex" />
+<Test name="vec3_lowp_fragment" />
+<Test name="vec3_mediump_vertex" />
+<Test name="vec3_mediump_fragment" />
+<Test name="vec3_highp_vertex" />
+<Test name="vec3_highp_fragment" />
+<Test name="vec4_lowp_vertex" />
+<Test name="vec4_lowp_fragment" />
+<Test name="vec4_mediump_vertex" />
+<Test name="vec4_mediump_fragment" />
+<Test name="vec4_highp_vertex" />
+<Test name="vec4_highp_fragment" />
+</TestCase>
+<TestCase name="fract">
+<Test name="float_lowp_vertex" />
+<Test name="float_lowp_fragment" />
+<Test name="float_mediump_vertex" />
+<Test name="float_mediump_fragment" />
+<Test name="float_highp_vertex" />
+<Test name="float_highp_fragment" />
+<Test name="vec2_lowp_vertex" />
+<Test name="vec2_lowp_fragment" />
+<Test name="vec2_mediump_vertex" />
+<Test name="vec2_mediump_fragment" />
+<Test name="vec2_highp_vertex" />
+<Test name="vec2_highp_fragment" />
+<Test name="vec3_lowp_vertex" />
+<Test name="vec3_lowp_fragment" />
+<Test name="vec3_mediump_vertex" />
+<Test name="vec3_mediump_fragment" />
+<Test name="vec3_highp_vertex" />
+<Test name="vec3_highp_fragment" />
+<Test name="vec4_lowp_vertex" />
+<Test name="vec4_lowp_fragment" />
+<Test name="vec4_mediump_vertex" />
+<Test name="vec4_mediump_fragment" />
+<Test name="vec4_highp_vertex" />
+<Test name="vec4_highp_fragment" />
+</TestCase>
+<TestCase name="floatbitstoint">
+<Test name="float_lowp_vertex" />
+<Test name="float_lowp_fragment" />
+<Test name="float_mediump_vertex" />
+<Test name="float_mediump_fragment" />
+<Test name="float_highp_vertex" />
+<Test name="float_highp_fragment" />
+<Test name="vec2_lowp_vertex" />
+<Test name="vec2_lowp_fragment" />
+<Test name="vec2_mediump_vertex" />
+<Test name="vec2_mediump_fragment" />
+<Test name="vec2_highp_vertex" />
+<Test name="vec2_highp_fragment" />
+<Test name="vec3_lowp_vertex" />
+<Test name="vec3_lowp_fragment" />
+<Test name="vec3_mediump_vertex" />
+<Test name="vec3_mediump_fragment" />
+<Test name="vec3_highp_vertex" />
+<Test name="vec3_highp_fragment" />
+<Test name="vec4_lowp_vertex" />
+<Test name="vec4_lowp_fragment" />
+<Test name="vec4_mediump_vertex" />
+<Test name="vec4_mediump_fragment" />
+<Test name="vec4_highp_vertex" />
+<Test name="vec4_highp_fragment" />
+</TestCase>
+<TestCase name="floatbitstouint">
+<Test name="float_lowp_vertex" />
+<Test name="float_lowp_fragment" />
+<Test name="float_mediump_vertex" />
+<Test name="float_mediump_fragment" />
+<Test name="float_highp_vertex" />
+<Test name="float_highp_fragment" />
+<Test name="vec2_lowp_vertex" />
+<Test name="vec2_lowp_fragment" />
+<Test name="vec2_mediump_vertex" />
+<Test name="vec2_mediump_fragment" />
+<Test name="vec2_highp_vertex" />
+<Test name="vec2_highp_fragment" />
+<Test name="vec3_lowp_vertex" />
+<Test name="vec3_lowp_fragment" />
+<Test name="vec3_mediump_vertex" />
+<Test name="vec3_mediump_fragment" />
+<Test name="vec3_highp_vertex" />
+<Test name="vec3_highp_fragment" />
+<Test name="vec4_lowp_vertex" />
+<Test name="vec4_lowp_fragment" />
+<Test name="vec4_mediump_vertex" />
+<Test name="vec4_mediump_fragment" />
+<Test name="vec4_highp_vertex" />
+<Test name="vec4_highp_fragment" />
+</TestCase>
+<TestCase name="intbitstofloat">
+<Test name="int_highp_vertex" />
+<Test name="int_highp_fragment" />
+<Test name="ivec2_highp_vertex" />
+<Test name="ivec2_highp_fragment" />
+<Test name="ivec3_highp_vertex" />
+<Test name="ivec3_highp_fragment" />
+</TestCase>
+<TestCase name="uintbitstofloat">
+<Test name="uint_highp_vertex" />
+<Test name="uint_highp_fragment" />
+<Test name="uvec2_highp_vertex" />
+<Test name="uvec2_highp_fragment" />
+<Test name="uvec3_highp_vertex" />
+<Test name="uvec3_highp_fragment" />
+</TestCase>
+</TestSuite>
+<TestCase name="pack_unpack">
+<Test name="packsnorm2x16_lowp_vertex" />
+<Test name="packsnorm2x16_mediump_vertex" />
+<Test name="packsnorm2x16_highp_vertex" />
+<Test name="packunorm2x16_highp_vertex" />
+<Test name="packhalf2x16_vertex" />
+<Test name="packhalf2x16_fragment" />
+</TestCase>
+<TestSuite name="precision">
+<TestSuite name="add">
+<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="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>
+</TestSuite>
+<TestSuite name="sub">
+<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="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>
+</TestSuite>
+<TestSuite name="mul">
+<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="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>
+</TestSuite>
+<TestSuite name="div">
+<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="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>
+</TestSuite>
+<TestSuite name="radians">
+<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="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="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>
+</TestSuite>
+<TestSuite name="degrees">
+<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="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>
+</TestSuite>
+<TestSuite name="sin">
+<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="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>
+</TestSuite>
+<TestSuite name="cos">
+<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="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>
+</TestSuite>
+<TestSuite name="tan">
+<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="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>
+</TestSuite>
+<TestSuite name="asin">
+<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>
+</TestSuite>
+<TestSuite name="acos">
+<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="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>
+</TestSuite>
+<TestSuite name="atan">
+<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="mediump_vertex">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
+</TestCase>
+</TestSuite>
+<TestSuite name="sinh">
+<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="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="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>
+</TestSuite>
+<TestSuite name="cosh">
+<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="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="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>
+</TestSuite>
+<TestSuite name="tanh">
+<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="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>
+</TestSuite>
+<TestSuite name="asinh">
+<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="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="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>
+</TestSuite>
+<TestSuite name="acosh">
+<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="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>
+</TestSuite>
+<TestSuite name="atanh">
+<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="mediump_vertex">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
+</TestCase>
+</TestSuite>
+<TestSuite name="pow">
+<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="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="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>
+</TestSuite>
+<TestSuite name="exp">
+<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="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="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>
+</TestSuite>
+<TestSuite name="log">
+<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="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>
+</TestSuite>
+<TestSuite name="exp2">
+<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="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="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>
+</TestSuite>
+<TestSuite name="log2">
+<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="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="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>
+</TestSuite>
+<TestSuite name="sqrt">
+<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="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="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>
+</TestSuite>
+<TestSuite name="inversesqrt">
+<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="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="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>
+</TestSuite>
+<TestSuite name="abs">
+<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="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="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>
+</TestSuite>
+<TestSuite name="sign">
+<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="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="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>
+</TestSuite>
+<TestSuite name="floor">
+<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="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="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>
+</TestSuite>
+<TestSuite name="trunc">
+<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="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="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>
+</TestSuite>
+<TestSuite name="round">
+<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="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="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>
+</TestSuite>
+<TestSuite name="roundeven">
+<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="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="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>
+</TestSuite>
+<TestSuite name="fract">
+<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="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="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>
+</TestSuite>
+<TestSuite name="mod">
+<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>
+</TestSuite>
+<TestSuite name="min">
+<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="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>
+</TestSuite>
+<TestSuite name="max">
+<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="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>
+</TestSuite>
+<TestSuite name="clamp">
+<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="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>
+</TestSuite>
+<TestSuite name="step">
+<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="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="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>
+</TestSuite>
+<TestSuite name="smoothstep">
+<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="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>
+</TestSuite>
+<TestSuite name="length">
+<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="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="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>
+</TestSuite>
+<TestSuite name="distance">
+<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="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="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>
+</TestSuite>
+<TestSuite name="dot">
+<TestCase name="lowp_vertex">
+<Test name="vec3" />
+<Test name="vec4" />
+</TestCase>
+<TestCase name="lowp_fragment">
+<Test name="vec3" />
+<Test name="vec4" />
+</TestCase>
+<TestCase name="mediump_vertex">
+<Test name="vec3" />
+<Test name="vec4" />
+</TestCase>
+<TestCase name="mediump_fragment">
+<Test name="vec3" />
+<Test name="vec4" />
+</TestCase>
+</TestSuite>
+<TestCase name="cross">
+<Test name="lowp_vertex" />
+<Test name="lowp_fragment" />
+<Test name="mediump_vertex" />
+<Test name="mediump_fragment" />
+</TestCase>
+<TestSuite name="normalize">
+<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="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="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>
+</TestSuite>
+<TestSuite name="faceforward">
+<TestCase name="lowp_vertex">
+<Test name="vec3" />
+<Test name="vec4" />
+</TestCase>
+<TestCase name="lowp_fragment">
+<Test name="vec3" />
+<Test name="vec4" />
+</TestCase>
+<TestCase name="mediump_vertex">
+<Test name="vec3" />
+<Test name="vec4" />
+</TestCase>
+<TestCase name="mediump_fragment">
+<Test name="vec3" />
+<Test name="vec4" />
+</TestCase>
+<TestCase name="highp_vertex">
+<Test name="vec3" />
+<Test name="vec4" />
+</TestCase>
+<TestCase name="highp_fragment">
+<Test name="vec3" />
+<Test name="vec4" />
+</TestCase>
+</TestSuite>
+<TestSuite name="reflect">
+<TestCase name="lowp_vertex">
+<Test name="scalar" />
+<Test name="vec3" />
+<Test name="vec4" />
+</TestCase>
+<TestCase name="lowp_fragment">
+<Test name="scalar" />
+<Test name="vec3" />
+<Test name="vec4" />
+</TestCase>
+<TestCase name="mediump_vertex">
+<Test name="scalar" />
+<Test name="vec3" />
+<Test name="vec4" />
+</TestCase>
+<TestCase name="mediump_fragment">
+<Test name="scalar" />
+<Test name="vec3" />
+<Test name="vec4" />
+</TestCase>
+</TestSuite>
+<TestSuite name="matrixcompmult">
+<TestCase name="lowp_vertex">
+<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_vertex">
+<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_vertex">
+<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="lowp_fragment">
+<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_vertex">
+<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_fragment">
+<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_vertex">
+<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_vertex">
+<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_vertex">
+<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_fragment">
+<Test name="mat2" />
+<Test name="mat3x2" />
+<Test name="mat3" />
+</TestCase>
+</TestSuite>
+<TestSuite name="determinant">
+<TestCase name="lowp_vertex">
+<Test name="mat2" />
+</TestCase>
+<TestCase name="lowp_fragment">
+<Test name="mat2" />
+</TestCase>
+<TestCase name="mediump_vertex">
+<Test name="mat2" />
+</TestCase>
+</TestSuite>
+<TestSuite name="inverse">
+<TestCase name="lowp_vertex">
+<Test name="mat2" />
+</TestCase>
+<TestCase name="mediump_vertex">
+<Test name="mat2" />
+</TestCase>
+</TestSuite>
+</TestSuite>
+</TestSuite>
+<TestSuite name="invariance">
+<TestCase name="highp">
+<Test name="common_subexpression_0" />
+<Test name="common_subexpression_2" />
+<Test name="subexpression_precision_lowp" />
+<Test name="subexpression_precision_mediump" />
+<Test name="subexpression_precision_highp" />
+<Test name="loop_2" />
+<Test name="loop_3" />
+<Test name="loop_4" />
+</TestCase>
+<TestCase name="mediump">
+<Test name="common_subexpression_0" />
+<Test name="common_subexpression_2" />
+<Test name="subexpression_precision_lowp" />
+<Test name="subexpression_precision_mediump" />
+<Test name="subexpression_precision_highp" />
+<Test name="loop_2" />
+<Test name="loop_3" />
+<Test name="loop_4" />
+</TestCase>
+<TestCase name="lowp">
+<Test name="common_subexpression_0" />
+<Test name="common_subexpression_2" />
+<Test name="subexpression_precision_lowp" />
+<Test name="subexpression_precision_mediump" />
+<Test name="subexpression_precision_highp" />
+<Test name="loop_2" />
+<Test name="loop_3" />
+<Test name="loop_4" />
+</TestCase>
+</TestSuite>
+<TestCase name="fragdata">
+<Test name="valid_static_index" />
+<Test name="valid_uniform_index" />
+<Test name="valid_dynamic_index" />
+</TestCase>
+<TestSuite name="constant_expressions">
+<TestCase name="trivial">
+<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="cast_vertex" />
+<Test name="cast_fragment" />
+</TestCase>
+<TestCase name="operators">
+<Test name="math_float_vertex" />
+<Test name="math_float_fragment" />
+<Test name="math_vec_vertex" />
+<Test name="math_vec_fragment" />
+<Test name="math_int_vertex" />
+<Test name="math_int_fragment" />
+<Test name="math_ivec_vertex" />
+<Test name="math_ivec_fragment" />
+<Test name="math_mat_vertex" />
+<Test name="math_mat_fragment" />
+<Test name="bitwise_vertex" />
+<Test name="bitwise_fragment" />
+<Test name="logical_vertex" />
+<Test name="logical_fragment" />
+<Test name="compare_vertex" />
+<Test name="compare_fragment" />
+<Test name="selection_vertex" />
+<Test name="selection_fragment" />
+</TestCase>
+<TestCase name="complex_types">
+<Test name="struct_vertex" />
+<Test name="struct_fragment" />
+<Test name="nested_struct_vertex" />
+<Test name="nested_struct_fragment" />
+<Test name="array_size_vertex" />
+<Test name="array_size_fragment" />
+</TestCase>
+<TestCase name="other">
+<Test name="switch_case_vertex" />
+<Test name="switch_case_fragment" />
+</TestCase>
+<TestSuite name="builtin_functions">
+<TestCase name="angle_and_trigonometry">
+<Test name="sin_float_vertex" />
+<Test name="sin_float_fragment" />
+<Test name="sin_vec2_vertex" />
+<Test name="sin_vec2_fragment" />
+<Test name="sin_vec3_vertex" />
+<Test name="sin_vec3_fragment" />
+<Test name="sin_vec4_vertex" />
+<Test name="sin_vec4_fragment" />
+<Test name="cos_float_vertex" />
+<Test name="cos_float_fragment" />
+<Test name="cos_vec2_vertex" />
+<Test name="cos_vec2_fragment" />
+<Test name="cos_vec3_vertex" />
+<Test name="cos_vec3_fragment" />
+<Test name="cos_vec4_vertex" />
+<Test name="cos_vec4_fragment" />
+</TestCase>
+<TestCase name="exponential">
+<Test name="pow_float_vertex" />
+<Test name="pow_float_fragment" />
+<Test name="pow_vec2_vertex" />
+<Test name="pow_vec2_fragment" />
+<Test name="pow_vec3_vertex" />
+<Test name="pow_vec3_fragment" />
+<Test name="pow_vec4_vertex" />
+<Test name="pow_vec4_fragment" />
+<Test name="exp_float_vertex" />
+<Test name="exp_float_fragment" />
+<Test name="exp_vec2_vertex" />
+<Test name="exp_vec2_fragment" />
+<Test name="exp_vec3_vertex" />
+<Test name="exp_vec3_fragment" />
+<Test name="exp_vec4_vertex" />
+<Test name="exp_vec4_fragment" />
+<Test name="log_float_vertex" />
+<Test name="log_float_fragment" />
+<Test name="log_vec2_vertex" />
+<Test name="log_vec2_fragment" />
+<Test name="log_vec3_vertex" />
+<Test name="log_vec3_fragment" />
+<Test name="log_vec4_vertex" />
+<Test name="log_vec4_fragment" />
+<Test name="exp2_float_vertex" />
+<Test name="exp2_float_fragment" />
+<Test name="exp2_vec2_vertex" />
+<Test name="exp2_vec2_fragment" />
+<Test name="exp2_vec3_vertex" />
+<Test name="exp2_vec3_fragment" />
+<Test name="exp2_vec4_vertex" />
+<Test name="exp2_vec4_fragment" />
+<Test name="log2_float_vertex" />
+<Test name="log2_float_fragment" />
+<Test name="log2_vec2_vertex" />
+<Test name="log2_vec2_fragment" />
+<Test name="log2_vec3_vertex" />
+<Test name="log2_vec3_fragment" />
+<Test name="log2_vec4_vertex" />
+<Test name="log2_vec4_fragment" />
+<Test name="sqrt_float_vertex" />
+<Test name="sqrt_float_fragment" />
+<Test name="sqrt_vec2_vertex" />
+<Test name="sqrt_vec2_fragment" />
+<Test name="sqrt_vec3_vertex" />
+<Test name="sqrt_vec3_fragment" />
+<Test name="sqrt_vec4_vertex" />
+<Test name="sqrt_vec4_fragment" />
+</TestCase>
+<TestCase name="common">
+<Test name="abs_float_vertex" />
+<Test name="abs_float_fragment" />
+<Test name="abs_vec2_vertex" />
+<Test name="abs_vec2_fragment" />
+<Test name="abs_vec3_vertex" />
+<Test name="abs_vec3_fragment" />
+<Test name="abs_vec4_vertex" />
+<Test name="abs_vec4_fragment" />
+<Test name="sign_float_vertex" />
+<Test name="sign_float_fragment" />
+<Test name="sign_vec2_vertex" />
+<Test name="sign_vec2_fragment" />
+<Test name="sign_vec3_vertex" />
+<Test name="sign_vec3_fragment" />
+<Test name="sign_vec4_vertex" />
+<Test name="sign_vec4_fragment" />
+<Test name="floor_float_vertex" />
+<Test name="floor_float_fragment" />
+<Test name="floor_vec2_vertex" />
+<Test name="floor_vec2_fragment" />
+<Test name="floor_vec3_vertex" />
+<Test name="floor_vec3_fragment" />
+<Test name="floor_vec4_vertex" />
+<Test name="floor_vec4_fragment" />
+<Test name="ceil_float_vertex" />
+<Test name="ceil_float_fragment" />
+<Test name="ceil_vec2_vertex" />
+<Test name="ceil_vec2_fragment" />
+<Test name="ceil_vec3_vertex" />
+<Test name="ceil_vec3_fragment" />
+<Test name="ceil_vec4_vertex" />
+<Test name="ceil_vec4_fragment" />
+<Test name="min_float_vertex" />
+<Test name="min_float_fragment" />
+<Test name="min_vec2_vertex" />
+<Test name="min_vec2_fragment" />
+<Test name="min_vec2_float_vertex" />
+<Test name="min_vec2_float_fragment" />
+<Test name="min_vec3_vertex" />
+<Test name="min_vec3_fragment" />
+<Test name="min_vec3_float_vertex" />
+<Test name="min_vec3_float_fragment" />
+<Test name="min_vec4_vertex" />
+<Test name="min_vec4_fragment" />
+<Test name="min_vec4_float_vertex" />
+<Test name="min_vec4_float_fragment" />
+<Test name="max_float_vertex" />
+<Test name="max_float_fragment" />
+<Test name="max_vec2_vertex" />
+<Test name="max_vec2_fragment" />
+<Test name="max_vec2_float_vertex" />
+<Test name="max_vec2_float_fragment" />
+<Test name="max_vec3_vertex" />
+<Test name="max_vec3_fragment" />
+<Test name="max_vec3_float_vertex" />
+<Test name="max_vec3_float_fragment" />
+<Test name="max_vec4_vertex" />
+<Test name="max_vec4_fragment" />
+<Test name="max_vec4_float_vertex" />
+<Test name="max_vec4_float_fragment" />
+<Test name="clamp_float_vertex" />
+<Test name="clamp_float_fragment" />
+<Test name="clamp_vec2_vertex" />
+<Test name="clamp_vec2_fragment" />
+<Test name="clamp_vec2_float_vertex" />
+<Test name="clamp_vec2_float_fragment" />
+<Test name="clamp_vec3_vertex" />
+<Test name="clamp_vec3_fragment" />
+<Test name="clamp_vec3_float_vertex" />
+<Test name="clamp_vec3_float_fragment" />
+<Test name="clamp_vec4_vertex" />
+<Test name="clamp_vec4_fragment" />
+<Test name="clamp_vec4_float_vertex" />
+<Test name="clamp_vec4_float_fragment" />
+</TestCase>
+<TestCase name="geometric">
+<Test name="length_float_vertex" />
+<Test name="length_float_fragment" />
+<Test name="length_vec2_vertex" />
+<Test name="length_vec2_fragment" />
+<Test name="length_vec3_vertex" />
+<Test name="length_vec3_fragment" />
+<Test name="length_vec4_vertex" />
+<Test name="length_vec4_fragment" />
+<Test name="dot_float_vertex" />
+<Test name="dot_float_fragment" />
+<Test name="dot_vec2_vertex" />
+<Test name="dot_vec2_fragment" />
+<Test name="dot_vec3_vertex" />
+<Test name="dot_vec3_fragment" />
+<Test name="dot_vec4_vertex" />
+<Test name="dot_vec4_fragment" />
+<Test name="normalize_float_vertex" />
+<Test name="normalize_float_fragment" />
+<Test name="normalize_vec2_vertex" />
+<Test name="normalize_vec2_fragment" />
+<Test name="normalize_vec3_vertex" />
+<Test name="normalize_vec3_fragment" />
+<Test name="normalize_vec4_vertex" />
+<Test name="normalize_vec4_fragment" />
+</TestCase>
+</TestSuite>
+</TestSuite>
+<TestSuite name="random">
+<TestSuite name="basic_expression">
+<TestCase name="vertex">
+<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" />
+</TestCase>
+<TestCase name="fragment">
+<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" />
+</TestCase>
+<TestCase name="combined">
+<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" />
+</TestCase>
+</TestSuite>
+<TestSuite name="scalar_conversion">
+<TestCase name="vertex">
+<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" />
+</TestCase>
+<TestCase name="fragment">
+<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="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" />
+</TestCase>
+<TestCase name="combined">
+<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="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" />
+</TestCase>
+</TestSuite>
+<TestSuite name="swizzle">
+<TestCase name="vertex">
+<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>
+<TestCase name="fragment">
+<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 name="comparison_ops">
+<TestCase name="vertex">
+<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="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="fragment">
+<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="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 name="conditionals">
+<TestCase name="vertex">
+<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" />
+</TestCase>
+<TestCase name="fragment">
+<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" />
+</TestCase>
+<TestCase name="combined">
+<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" />
+</TestCase>
+</TestSuite>
+<TestSuite name="trigonometric">
+<TestCase name="vertex">
+<Test name="0" />
+<Test name="1" />
+<Test name="2" />
+<Test name="4" />
+<Test name="5" />
+<Test name="6" />
+<Test name="7" />
+<Test name="8" />
+<Test name="9" />
+<Test name="12" />
+<Test name="13" />
+<Test name="14" />
+<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="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="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="84" />
+<Test name="85" />
+<Test name="86" />
+<Test name="87" />
+<Test name="88" />
+<Test name="90" />
+<Test name="91" />
+<Test name="92" />
+<Test name="93" />
+<Test name="95" />
+<Test name="96" />
+<Test name="97" />
+<Test name="98" />
+<Test name="99" />
+</TestCase>
+<TestCase name="fragment">
+<Test name="0" />
+<Test name="1" />
+<Test name="2" />
+<Test name="4" />
+<Test name="5" />
+<Test name="6" />
+<Test name="7" />
+<Test name="8" />
+<Test name="9" />
+<Test name="11" />
+<Test name="12" />
+<Test name="13" />
+<Test name="14" />
+<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="38" />
+<Test name="39" />
+<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="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="84" />
+<Test name="85" />
+<Test name="86" />
+<Test name="87" />
+<Test name="88" />
+<Test name="90" />
+<Test name="91" />
+<Test name="92" />
+<Test name="93" />
+<Test name="95" />
+<Test name="96" />
+<Test name="97" />
+<Test name="98" />
+<Test name="99" />
+</TestCase>
+</TestSuite>
+<TestSuite name="exponential">
+<TestCase name="vertex">
+<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="25" />
+<Test name="26" />
+<Test name="27" />
+<Test name="28" />
+<Test name="29" />
+<Test name="30" />
+<Test name="31" />
+<Test name="33" />
+<Test name="34" />
+<Test name="35" />
+<Test name="36" />
+<Test name="37" />
+<Test name="39" />
+<Test name="40" />
+<Test name="41" />
+<Test name="42" />
+<Test name="43" />
+<Test name="44" />
+<Test name="45" />
+<Test name="47" />
+<Test name="48" />
+<Test name="49" />
+<Test name="50" />
+<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="65" />
+<Test name="66" />
+<Test name="67" />
+<Test name="68" />
+<Test name="69" />
+<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="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" />
+</TestCase>
+<TestCase name="fragment">
+<Test name="0" />
+<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="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="25" />
+<Test name="26" />
+<Test name="27" />
+<Test name="28" />
+<Test name="29" />
+<Test name="30" />
+<Test name="31" />
+<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="48" />
+<Test name="49" />
+<Test name="50" />
+<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="65" />
+<Test name="66" />
+<Test name="67" />
+<Test name="68" />
+<Test name="69" />
+<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="80" />
+<Test name="81" />
+<Test name="82" />
+<Test name="83" />
+<Test name="84" />
+<Test name="85" />
+<Test name="86" />
+<Test name="87" />
+<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" />
+</TestCase>
+</TestSuite>
+<TestSuite name="texture">
+<TestCase name="vertex">
+<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>
+<TestCase name="fragment">
+<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="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" />
+<Test name="128" />
+<Test name="129" />
+<Test name="130" />
+<Test name="131" />
+<Test name="132" />
+<Test name="133" />
+<Test name="134" />
+<Test name="135" />
+<Test name="136" />
+<Test name="137" />
+<Test name="138" />
+<Test name="139" />
+<Test name="140" />
+<Test name="141" />
+<Test name="142" />
+<Test name="143" />
+<Test name="144" />
+<Test name="145" />
+<Test name="146" />
+<Test name="147" />
+<Test name="148" />
+<Test name="149" />
+</TestCase>
+</TestSuite>
+<TestSuite name="all_features">
+<TestCase name="vertex">
+<Test name="0" />
+<Test name="3" />
+<Test name="8" />
+<Test name="11" />
+<Test name="12" />
+<Test name="14" />
+<Test name="15" />
+<Test name="19" />
+<Test name="20" />
+<Test name="24" />
+<Test name="25" />
+<Test name="27" />
+<Test name="28" />
+<Test name="31" />
+<Test name="33" />
+<Test name="36" />
+<Test name="43" />
+<Test name="51" />
+<Test name="52" />
+<Test name="57" />
+<Test name="59" />
+<Test name="60" />
+<Test name="63" />
+<Test name="64" />
+<Test name="67" />
+<Test name="68" />
+<Test name="75" />
+<Test name="82" />
+<Test name="83" />
+<Test name="86" />
+<Test name="89" />
+<Test name="91" />
+<Test name="95" />
+<Test name="97" />
+<Test name="99" />
+</TestCase>
+<TestCase name="fragment">
+<Test name="2" />
+<Test name="3" />
+<Test name="4" />
+<Test name="8" />
+<Test name="11" />
+<Test name="15" />
+<Test name="17" />
+<Test name="19" />
+<Test name="23" />
+<Test name="24" />
+<Test name="27" />
+<Test name="28" />
+<Test name="29" />
+<Test name="31" />
+<Test name="33" />
+<Test name="36" />
+<Test name="42" />
+<Test name="43" />
+<Test name="51" />
+<Test name="52" />
+<Test name="57" />
+<Test name="59" />
+<Test name="60" />
+<Test name="67" />
+<Test name="68" />
+<Test name="74" />
+<Test name="75" />
+<Test name="83" />
+<Test name="84" />
+<Test name="85" />
+<Test name="91" />
+<Test name="97" />
+<Test name="98" />
+<Test name="99" />
+</TestCase>
+</TestSuite>
+</TestSuite>
+</TestSuite>
+<TestSuite name="texture">
+<TestSuite name="format">
+<TestCase name="unsized">
+<Test name="alpha_2d_pot" />
+<Test name="alpha_2d_npot" />
+<Test name="alpha_cube_pot" />
+<Test name="alpha_cube_npot" />
+<Test name="alpha_2d_array_pot" />
+<Test name="alpha_2d_array_npot" />
+<Test name="alpha_3d_pot" />
+<Test name="alpha_3d_npot" />
+<Test name="luminance_2d_pot" />
+<Test name="luminance_2d_npot" />
+<Test name="luminance_cube_pot" />
+<Test name="luminance_cube_npot" />
+<Test name="luminance_2d_array_pot" />
+<Test name="luminance_2d_array_npot" />
+<Test name="luminance_3d_pot" />
+<Test name="luminance_3d_npot" />
+<Test name="luminance_alpha_2d_pot" />
+<Test name="luminance_alpha_2d_npot" />
+<Test name="luminance_alpha_cube_pot" />
+<Test name="luminance_alpha_cube_npot" />
+<Test name="luminance_alpha_2d_array_pot" />
+<Test name="luminance_alpha_2d_array_npot" />
+<Test name="luminance_alpha_3d_pot" />
+<Test name="luminance_alpha_3d_npot" />
+<Test name="rgb_unsigned_short_5_6_5_2d_pot" />
+<Test name="rgb_unsigned_short_5_6_5_2d_npot" />
+<Test name="rgb_unsigned_short_5_6_5_cube_pot" />
+<Test name="rgb_unsigned_short_5_6_5_cube_npot" />
+<Test name="rgb_unsigned_short_5_6_5_2d_array_pot" />
+<Test name="rgb_unsigned_short_5_6_5_2d_array_npot" />
+<Test name="rgb_unsigned_short_5_6_5_3d_pot" />
+<Test name="rgb_unsigned_short_5_6_5_3d_npot" />
+<Test name="rgb_unsigned_byte_2d_pot" />
+<Test name="rgb_unsigned_byte_2d_npot" />
+<Test name="rgb_unsigned_byte_cube_pot" />
+<Test name="rgb_unsigned_byte_cube_npot" />
+<Test name="rgb_unsigned_byte_2d_array_pot" />
+<Test name="rgb_unsigned_byte_2d_array_npot" />
+<Test name="rgb_unsigned_byte_3d_pot" />
+<Test name="rgb_unsigned_byte_3d_npot" />
+<Test name="rgba_unsigned_short_4_4_4_4_2d_pot" />
+<Test name="rgba_unsigned_short_4_4_4_4_2d_npot" />
+<Test name="rgba_unsigned_short_4_4_4_4_cube_pot" />
+<Test name="rgba_unsigned_short_4_4_4_4_cube_npot" />
+<Test name="rgba_unsigned_short_4_4_4_4_2d_array_pot" />
+<Test name="rgba_unsigned_short_4_4_4_4_2d_array_npot" />
+<Test name="rgba_unsigned_short_4_4_4_4_3d_pot" />
+<Test name="rgba_unsigned_short_4_4_4_4_3d_npot" />
+<Test name="rgba_unsigned_short_5_5_5_1_2d_pot" />
+<Test name="rgba_unsigned_short_5_5_5_1_2d_npot" />
+<Test name="rgba_unsigned_short_5_5_5_1_cube_pot" />
+<Test name="rgba_unsigned_short_5_5_5_1_cube_npot" />
+<Test name="rgba_unsigned_short_5_5_5_1_2d_array_pot" />
+<Test name="rgba_unsigned_short_5_5_5_1_2d_array_npot" />
+<Test name="rgba_unsigned_short_5_5_5_1_3d_pot" />
+<Test name="rgba_unsigned_short_5_5_5_1_3d_npot" />
+<Test name="rgba_unsigned_byte_2d_pot" />
+<Test name="rgba_unsigned_byte_2d_npot" />
+<Test name="rgba_unsigned_byte_cube_pot" />
+<Test name="rgba_unsigned_byte_cube_npot" />
+<Test name="rgba_unsigned_byte_2d_array_pot" />
+<Test name="rgba_unsigned_byte_2d_array_npot" />
+<Test name="rgba_unsigned_byte_3d_pot" />
+<Test name="rgba_unsigned_byte_3d_npot" />
+</TestCase>
+<TestSuite name="sized">
+<TestCase name="2d">
+<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>
+<TestCase name="cube">
+<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>
+<TestCase name="2d_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>
+<TestCase name="3d">
+<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" />
+</TestCase>
+</TestSuite>
+<TestCase name="compressed">
+<Test name="etc1_2d_pot" />
+<Test name="etc1_2d_npot" />
+<Test name="etc1_cube_pot" />
+<Test name="etc1_cube_npot" />
+<Test name="eac_r11_2d_pot" />
+<Test name="eac_r11_cube_pot" />
+<Test name="eac_r11_2d_npot" />
+<Test name="eac_r11_cube_npot" />
+<Test name="eac_signed_r11_2d_pot" />
+<Test name="eac_signed_r11_cube_pot" />
+<Test name="eac_signed_r11_2d_npot" />
+<Test name="eac_signed_r11_cube_npot" />
+<Test name="eac_rg11_2d_pot" />
+<Test name="eac_rg11_cube_pot" />
+<Test name="eac_rg11_2d_npot" />
+<Test name="eac_rg11_cube_npot" />
+<Test name="eac_signed_rg11_2d_pot" />
+<Test name="eac_signed_rg11_cube_pot" />
+<Test name="eac_signed_rg11_2d_npot" />
+<Test name="eac_signed_rg11_cube_npot" />
+<Test name="etc2_rgb8_2d_pot" />
+<Test name="etc2_rgb8_cube_pot" />
+<Test name="etc2_rgb8_2d_npot" />
+<Test name="etc2_rgb8_cube_npot" />
+<Test name="etc2_srgb8_2d_pot" />
+<Test name="etc2_srgb8_cube_pot" />
+<Test name="etc2_srgb8_2d_npot" />
+<Test name="etc2_srgb8_cube_npot" />
+<Test name="etc2_rgb8_punchthrough_alpha1_2d_pot" />
+<Test name="etc2_rgb8_punchthrough_alpha1_cube_pot" />
+<Test name="etc2_rgb8_punchthrough_alpha1_2d_npot" />
+<Test name="etc2_rgb8_punchthrough_alpha1_cube_npot" />
+<Test name="etc2_srgb8_punchthrough_alpha1_2d_pot" />
+<Test name="etc2_srgb8_punchthrough_alpha1_cube_pot" />
+<Test name="etc2_srgb8_punchthrough_alpha1_2d_npot" />
+<Test name="etc2_srgb8_punchthrough_alpha1_cube_npot" />
+<Test name="etc2_eac_rgba8_2d_pot" />
+<Test name="etc2_eac_rgba8_cube_pot" />
+<Test name="etc2_eac_rgba8_2d_npot" />
+<Test name="etc2_eac_rgba8_cube_npot" />
+<Test name="etc2_eac_srgb8_alpha8_2d_pot" />
+<Test name="etc2_eac_srgb8_alpha8_cube_pot" />
+<Test name="etc2_eac_srgb8_alpha8_2d_npot" />
+<Test name="etc2_eac_srgb8_alpha8_cube_npot" />
+</TestCase>
+</TestSuite>
+<TestSuite name="size">
+<TestCase name="2d">
+<Test name="64x64_l8" />
+<Test name="64x64_l8_mipmap" />
+<Test name="64x64_rgba4444" />
+<Test name="64x64_rgba4444_mipmap" />
+<Test name="64x64_rgb888" />
+<Test name="64x64_rgb888_mipmap" />
+<Test name="64x64_rgba8888" />
+<Test name="64x64_rgba8888_mipmap" />
+<Test name="65x63_l8" />
+<Test name="65x63_rgba4444" />
+<Test name="65x63_rgb888" />
+<Test name="65x63_rgba8888" />
+<Test name="512x512_l8" />
+<Test name="512x512_l8_mipmap" />
+<Test name="512x512_rgba4444" />
+<Test name="512x512_rgba4444_mipmap" />
+<Test name="512x512_rgb888" />
+<Test name="512x512_rgb888_mipmap" />
+<Test name="512x512_rgba8888" />
+<Test name="512x512_rgba8888_mipmap" />
+<Test name="1024x1024_l8" />
+<Test name="1024x1024_l8_mipmap" />
+<Test name="1024x1024_rgba4444" />
+<Test name="1024x1024_rgba4444_mipmap" />
+<Test name="1024x1024_rgb888" />
+<Test name="1024x1024_rgb888_mipmap" />
+<Test name="1024x1024_rgba8888" />
+<Test name="1024x1024_rgba8888_mipmap" />
+<Test name="2048x2048_l8" />
+<Test name="2048x2048_l8_mipmap" />
+<Test name="2048x2048_rgba4444" />
+<Test name="2048x2048_rgba4444_mipmap" />
+<Test name="2048x2048_rgb888" />
+<Test name="2048x2048_rgb888_mipmap" />
+<Test name="2048x2048_rgba8888" />
+<Test name="2048x2048_rgba8888_mipmap" />
+</TestCase>
+<TestCase name="cube">
+<Test name="15x15_l8" />
+<Test name="15x15_rgba4444" />
+<Test name="15x15_rgb888" />
+<Test name="15x15_rgba8888" />
+<Test name="16x16_l8" />
+<Test name="16x16_l8_mipmap" />
+<Test name="16x16_rgba4444" />
+<Test name="16x16_rgba4444_mipmap" />
+<Test name="16x16_rgb888" />
+<Test name="16x16_rgb888_mipmap" />
+<Test name="16x16_rgba8888" />
+<Test name="16x16_rgba8888_mipmap" />
+<Test name="64x64_l8" />
+<Test name="64x64_l8_mipmap" />
+<Test name="64x64_rgba4444" />
+<Test name="64x64_rgba4444_mipmap" />
+<Test name="64x64_rgb888" />
+<Test name="64x64_rgb888_mipmap" />
+<Test name="64x64_rgba8888" />
+<Test name="64x64_rgba8888_mipmap" />
+<Test name="128x128_l8" />
+<Test name="128x128_l8_mipmap" />
+<Test name="128x128_rgba4444" />
+<Test name="128x128_rgba4444_mipmap" />
+<Test name="128x128_rgb888" />
+<Test name="128x128_rgb888_mipmap" />
+<Test name="128x128_rgba8888" />
+<Test name="128x128_rgba8888_mipmap" />
+<Test name="256x256_l8" />
+<Test name="256x256_l8_mipmap" />
+<Test name="256x256_rgba4444_mipmap" />
+<Test name="256x256_rgb888" />
+<Test name="256x256_rgb888_mipmap" />
+<Test name="256x256_rgba8888" />
+<Test name="256x256_rgba8888_mipmap" />
+<Test name="512x512_l8" />
+<Test name="512x512_l8_mipmap" />
+<Test name="512x512_rgba4444_mipmap" />
+<Test name="512x512_rgb888" />
+<Test name="512x512_rgb888_mipmap" />
+<Test name="512x512_rgba8888" />
+<Test name="512x512_rgba8888_mipmap" />
+</TestCase>
+</TestSuite>
+<TestSuite name="wrap">
+<TestCase name="rgba8">
+<Test name="clamp_clamp_nearest_pot" />
+<Test name="clamp_clamp_linear_pot" />
+<Test name="clamp_repeat_nearest_pot" />
+<Test name="clamp_repeat_linear_pot" />
+<Test name="clamp_mirror_nearest_pot" />
+<Test name="clamp_mirror_linear_pot" />
+<Test name="repeat_clamp_nearest_pot" />
+<Test name="repeat_clamp_linear_pot" />
+<Test name="repeat_repeat_nearest_pot" />
+<Test name="repeat_repeat_linear_pot" />
+<Test name="repeat_mirror_nearest_pot" />
+<Test name="repeat_mirror_linear_pot" />
+<Test name="mirror_clamp_nearest_pot" />
+<Test name="mirror_clamp_linear_pot" />
+<Test name="mirror_repeat_nearest_pot" />
+<Test name="mirror_repeat_linear_pot" />
+<Test name="mirror_mirror_nearest_pot" />
+<Test name="mirror_mirror_linear_pot" />
+<Test name="clamp_clamp_nearest_npot" />
+<Test name="clamp_clamp_linear_npot" />
+<Test name="clamp_repeat_nearest_npot" />
+<Test name="clamp_repeat_linear_npot" />
+<Test name="clamp_mirror_nearest_npot" />
+<Test name="clamp_mirror_linear_npot" />
+<Test name="repeat_clamp_nearest_npot" />
+<Test name="repeat_clamp_linear_npot" />
+<Test name="repeat_repeat_nearest_npot" />
+<Test name="repeat_repeat_linear_npot" />
+<Test name="repeat_mirror_nearest_npot" />
+<Test name="repeat_mirror_linear_npot" />
+<Test name="mirror_clamp_nearest_npot" />
+<Test name="mirror_clamp_linear_npot" />
+<Test name="mirror_repeat_nearest_npot" />
+<Test name="mirror_repeat_linear_npot" />
+<Test name="mirror_mirror_nearest_npot" />
+<Test name="mirror_mirror_linear_npot" />
+</TestCase>
+<TestCase name="etc1">
+<Test name="clamp_clamp_nearest_pot" />
+<Test name="clamp_clamp_linear_pot" />
+<Test name="clamp_repeat_nearest_pot" />
+<Test name="clamp_repeat_linear_pot" />
+<Test name="clamp_mirror_nearest_pot" />
+<Test name="clamp_mirror_linear_pot" />
+<Test name="repeat_clamp_nearest_pot" />
+<Test name="repeat_clamp_linear_pot" />
+<Test name="repeat_repeat_nearest_pot" />
+<Test name="repeat_repeat_linear_pot" />
+<Test name="repeat_mirror_nearest_pot" />
+<Test name="repeat_mirror_linear_pot" />
+<Test name="mirror_clamp_nearest_pot" />
+<Test name="mirror_clamp_linear_pot" />
+<Test name="mirror_repeat_nearest_pot" />
+<Test name="mirror_repeat_linear_pot" />
+<Test name="mirror_mirror_nearest_pot" />
+<Test name="mirror_mirror_linear_pot" />
+<Test name="clamp_clamp_nearest_npot" />
+<Test name="clamp_clamp_linear_npot" />
+<Test name="clamp_repeat_nearest_npot" />
+<Test name="clamp_repeat_linear_npot" />
+<Test name="clamp_mirror_nearest_npot" />
+<Test name="clamp_mirror_linear_npot" />
+<Test name="repeat_clamp_nearest_npot" />
+<Test name="repeat_clamp_linear_npot" />
+<Test name="repeat_repeat_nearest_npot" />
+<Test name="repeat_repeat_linear_npot" />
+<Test name="repeat_mirror_nearest_npot" />
+<Test name="repeat_mirror_linear_npot" />
+<Test name="mirror_clamp_nearest_npot" />
+<Test name="mirror_clamp_linear_npot" />
+<Test name="mirror_repeat_nearest_npot" />
+<Test name="mirror_repeat_linear_npot" />
+<Test name="mirror_mirror_nearest_npot" />
+<Test name="mirror_mirror_linear_npot" />
+</TestCase>
+<TestCase name="eac_r11">
+<Test name="clamp_clamp_nearest_pot" />
+<Test name="clamp_clamp_linear_pot" />
+<Test name="clamp_repeat_nearest_pot" />
+<Test name="clamp_repeat_linear_pot" />
+<Test name="clamp_mirror_nearest_pot" />
+<Test name="clamp_mirror_linear_pot" />
+<Test name="repeat_clamp_nearest_pot" />
+<Test name="repeat_clamp_linear_pot" />
+<Test name="repeat_repeat_nearest_pot" />
+<Test name="repeat_repeat_linear_pot" />
+<Test name="repeat_mirror_nearest_pot" />
+<Test name="repeat_mirror_linear_pot" />
+<Test name="mirror_clamp_nearest_pot" />
+<Test name="mirror_clamp_linear_pot" />
+<Test name="mirror_repeat_nearest_pot" />
+<Test name="mirror_repeat_linear_pot" />
+<Test name="mirror_mirror_nearest_pot" />
+<Test name="mirror_mirror_linear_pot" />
+<Test name="clamp_clamp_nearest_npot" />
+<Test name="clamp_clamp_linear_npot" />
+<Test name="clamp_repeat_nearest_npot" />
+<Test name="clamp_repeat_linear_npot" />
+<Test name="clamp_mirror_nearest_npot" />
+<Test name="clamp_mirror_linear_npot" />
+<Test name="repeat_clamp_nearest_npot" />
+<Test name="repeat_clamp_linear_npot" />
+<Test name="repeat_repeat_nearest_npot" />
+<Test name="repeat_repeat_linear_npot" />
+<Test name="repeat_mirror_nearest_npot" />
+<Test name="repeat_mirror_linear_npot" />
+<Test name="mirror_clamp_nearest_npot" />
+<Test name="mirror_clamp_linear_npot" />
+<Test name="mirror_repeat_nearest_npot" />
+<Test name="mirror_repeat_linear_npot" />
+<Test name="mirror_mirror_nearest_npot" />
+<Test name="mirror_mirror_linear_npot" />
+</TestCase>
+<TestCase name="eac_signed_r11">
+<Test name="clamp_clamp_nearest_pot" />
+<Test name="clamp_clamp_linear_pot" />
+<Test name="clamp_repeat_nearest_pot" />
+<Test name="clamp_repeat_linear_pot" />
+<Test name="clamp_mirror_nearest_pot" />
+<Test name="clamp_mirror_linear_pot" />
+<Test name="repeat_clamp_nearest_pot" />
+<Test name="repeat_clamp_linear_pot" />
+<Test name="repeat_repeat_nearest_pot" />
+<Test name="repeat_repeat_linear_pot" />
+<Test name="repeat_mirror_nearest_pot" />
+<Test name="repeat_mirror_linear_pot" />
+<Test name="mirror_clamp_nearest_pot" />
+<Test name="mirror_clamp_linear_pot" />
+<Test name="mirror_repeat_nearest_pot" />
+<Test name="mirror_repeat_linear_pot" />
+<Test name="mirror_mirror_nearest_pot" />
+<Test name="mirror_mirror_linear_pot" />
+<Test name="clamp_clamp_nearest_npot" />
+<Test name="clamp_clamp_linear_npot" />
+<Test name="clamp_repeat_nearest_npot" />
+<Test name="clamp_repeat_linear_npot" />
+<Test name="clamp_mirror_nearest_npot" />
+<Test name="clamp_mirror_linear_npot" />
+<Test name="repeat_clamp_nearest_npot" />
+<Test name="repeat_clamp_linear_npot" />
+<Test name="repeat_repeat_nearest_npot" />
+<Test name="repeat_repeat_linear_npot" />
+<Test name="repeat_mirror_nearest_npot" />
+<Test name="repeat_mirror_linear_npot" />
+<Test name="mirror_clamp_nearest_npot" />
+<Test name="mirror_clamp_linear_npot" />
+<Test name="mirror_repeat_nearest_npot" />
+<Test name="mirror_repeat_linear_npot" />
+<Test name="mirror_mirror_nearest_npot" />
+<Test name="mirror_mirror_linear_npot" />
+</TestCase>
+<TestCase name="eac_rg11">
+<Test name="clamp_clamp_nearest_pot" />
+<Test name="clamp_clamp_linear_pot" />
+<Test name="clamp_repeat_nearest_pot" />
+<Test name="clamp_repeat_linear_pot" />
+<Test name="clamp_mirror_nearest_pot" />
+<Test name="clamp_mirror_linear_pot" />
+<Test name="repeat_clamp_nearest_pot" />
+<Test name="repeat_clamp_linear_pot" />
+<Test name="repeat_repeat_nearest_pot" />
+<Test name="repeat_repeat_linear_pot" />
+<Test name="repeat_mirror_nearest_pot" />
+<Test name="repeat_mirror_linear_pot" />
+<Test name="mirror_clamp_nearest_pot" />
+<Test name="mirror_clamp_linear_pot" />
+<Test name="mirror_repeat_nearest_pot" />
+<Test name="mirror_repeat_linear_pot" />
+<Test name="mirror_mirror_nearest_pot" />
+<Test name="mirror_mirror_linear_pot" />
+<Test name="clamp_clamp_nearest_npot" />
+<Test name="clamp_clamp_linear_npot" />
+<Test name="clamp_repeat_nearest_npot" />
+<Test name="clamp_repeat_linear_npot" />
+<Test name="clamp_mirror_nearest_npot" />
+<Test name="clamp_mirror_linear_npot" />
+<Test name="repeat_clamp_nearest_npot" />
+<Test name="repeat_clamp_linear_npot" />
+<Test name="repeat_repeat_nearest_npot" />
+<Test name="repeat_repeat_linear_npot" />
+<Test name="repeat_mirror_nearest_npot" />
+<Test name="repeat_mirror_linear_npot" />
+<Test name="mirror_clamp_nearest_npot" />
+<Test name="mirror_clamp_linear_npot" />
+<Test name="mirror_repeat_nearest_npot" />
+<Test name="mirror_repeat_linear_npot" />
+<Test name="mirror_mirror_nearest_npot" />
+<Test name="mirror_mirror_linear_npot" />
+</TestCase>
+<TestCase name="eac_signed_rg11">
+<Test name="clamp_clamp_nearest_pot" />
+<Test name="clamp_clamp_linear_pot" />
+<Test name="clamp_repeat_nearest_pot" />
+<Test name="clamp_repeat_linear_pot" />
+<Test name="clamp_mirror_nearest_pot" />
+<Test name="clamp_mirror_linear_pot" />
+<Test name="repeat_clamp_nearest_pot" />
+<Test name="repeat_clamp_linear_pot" />
+<Test name="repeat_repeat_nearest_pot" />
+<Test name="repeat_repeat_linear_pot" />
+<Test name="repeat_mirror_nearest_pot" />
+<Test name="repeat_mirror_linear_pot" />
+<Test name="mirror_clamp_nearest_pot" />
+<Test name="mirror_clamp_linear_pot" />
+<Test name="mirror_repeat_nearest_pot" />
+<Test name="mirror_repeat_linear_pot" />
+<Test name="mirror_mirror_nearest_pot" />
+<Test name="mirror_mirror_linear_pot" />
+<Test name="clamp_clamp_nearest_npot" />
+<Test name="clamp_clamp_linear_npot" />
+<Test name="clamp_repeat_nearest_npot" />
+<Test name="clamp_repeat_linear_npot" />
+<Test name="clamp_mirror_nearest_npot" />
+<Test name="clamp_mirror_linear_npot" />
+<Test name="repeat_clamp_nearest_npot" />
+<Test name="repeat_clamp_linear_npot" />
+<Test name="repeat_repeat_nearest_npot" />
+<Test name="repeat_repeat_linear_npot" />
+<Test name="repeat_mirror_nearest_npot" />
+<Test name="repeat_mirror_linear_npot" />
+<Test name="mirror_clamp_nearest_npot" />
+<Test name="mirror_clamp_linear_npot" />
+<Test name="mirror_repeat_nearest_npot" />
+<Test name="mirror_repeat_linear_npot" />
+<Test name="mirror_mirror_nearest_npot" />
+<Test name="mirror_mirror_linear_npot" />
+</TestCase>
+<TestCase name="etc2_rgb8">
+<Test name="clamp_clamp_nearest_pot" />
+<Test name="clamp_clamp_linear_pot" />
+<Test name="clamp_repeat_nearest_pot" />
+<Test name="clamp_repeat_linear_pot" />
+<Test name="clamp_mirror_nearest_pot" />
+<Test name="clamp_mirror_linear_pot" />
+<Test name="repeat_clamp_nearest_pot" />
+<Test name="repeat_clamp_linear_pot" />
+<Test name="repeat_repeat_nearest_pot" />
+<Test name="repeat_repeat_linear_pot" />
+<Test name="repeat_mirror_nearest_pot" />
+<Test name="repeat_mirror_linear_pot" />
+<Test name="mirror_clamp_nearest_pot" />
+<Test name="mirror_clamp_linear_pot" />
+<Test name="mirror_repeat_nearest_pot" />
+<Test name="mirror_repeat_linear_pot" />
+<Test name="mirror_mirror_nearest_pot" />
+<Test name="mirror_mirror_linear_pot" />
+<Test name="clamp_clamp_nearest_npot" />
+<Test name="clamp_clamp_linear_npot" />
+<Test name="clamp_repeat_nearest_npot" />
+<Test name="clamp_repeat_linear_npot" />
+<Test name="clamp_mirror_nearest_npot" />
+<Test name="clamp_mirror_linear_npot" />
+<Test name="repeat_clamp_nearest_npot" />
+<Test name="repeat_clamp_linear_npot" />
+<Test name="repeat_repeat_nearest_npot" />
+<Test name="repeat_repeat_linear_npot" />
+<Test name="repeat_mirror_nearest_npot" />
+<Test name="repeat_mirror_linear_npot" />
+<Test name="mirror_clamp_nearest_npot" />
+<Test name="mirror_clamp_linear_npot" />
+<Test name="mirror_repeat_nearest_npot" />
+<Test name="mirror_repeat_linear_npot" />
+<Test name="mirror_mirror_nearest_npot" />
+<Test name="mirror_mirror_linear_npot" />
+</TestCase>
+<TestCase name="etc2_srgb8">
+<Test name="clamp_clamp_nearest_pot" />
+<Test name="clamp_clamp_linear_pot" />
+<Test name="clamp_repeat_nearest_pot" />
+<Test name="clamp_repeat_linear_pot" />
+<Test name="clamp_mirror_nearest_pot" />
+<Test name="clamp_mirror_linear_pot" />
+<Test name="repeat_clamp_nearest_pot" />
+<Test name="repeat_clamp_linear_pot" />
+<Test name="repeat_repeat_nearest_pot" />
+<Test name="repeat_repeat_linear_pot" />
+<Test name="repeat_mirror_nearest_pot" />
+<Test name="repeat_mirror_linear_pot" />
+<Test name="mirror_clamp_nearest_pot" />
+<Test name="mirror_clamp_linear_pot" />
+<Test name="mirror_repeat_nearest_pot" />
+<Test name="mirror_repeat_linear_pot" />
+<Test name="mirror_mirror_nearest_pot" />
+<Test name="mirror_mirror_linear_pot" />
+<Test name="clamp_clamp_nearest_npot" />
+<Test name="clamp_clamp_linear_npot" />
+<Test name="clamp_repeat_nearest_npot" />
+<Test name="clamp_repeat_linear_npot" />
+<Test name="clamp_mirror_nearest_npot" />
+<Test name="clamp_mirror_linear_npot" />
+<Test name="repeat_clamp_nearest_npot" />
+<Test name="repeat_clamp_linear_npot" />
+<Test name="repeat_repeat_nearest_npot" />
+<Test name="repeat_repeat_linear_npot" />
+<Test name="repeat_mirror_nearest_npot" />
+<Test name="repeat_mirror_linear_npot" />
+<Test name="mirror_clamp_nearest_npot" />
+<Test name="mirror_clamp_linear_npot" />
+<Test name="mirror_repeat_nearest_npot" />
+<Test name="mirror_repeat_linear_npot" />
+<Test name="mirror_mirror_nearest_npot" />
+<Test name="mirror_mirror_linear_npot" />
+</TestCase>
+<TestCase name="etc2_rgb8_punchthrough_alpha1">
+<Test name="clamp_clamp_nearest_pot" />
+<Test name="clamp_clamp_linear_pot" />
+<Test name="clamp_repeat_nearest_pot" />
+<Test name="clamp_repeat_linear_pot" />
+<Test name="clamp_mirror_nearest_pot" />
+<Test name="clamp_mirror_linear_pot" />
+<Test name="repeat_clamp_nearest_pot" />
+<Test name="repeat_clamp_linear_pot" />
+<Test name="repeat_repeat_nearest_pot" />
+<Test name="repeat_repeat_linear_pot" />
+<Test name="repeat_mirror_nearest_pot" />
+<Test name="repeat_mirror_linear_pot" />
+<Test name="mirror_clamp_nearest_pot" />
+<Test name="mirror_clamp_linear_pot" />
+<Test name="mirror_repeat_nearest_pot" />
+<Test name="mirror_repeat_linear_pot" />
+<Test name="mirror_mirror_nearest_pot" />
+<Test name="mirror_mirror_linear_pot" />
+<Test name="clamp_clamp_nearest_npot" />
+<Test name="clamp_clamp_linear_npot" />
+<Test name="clamp_repeat_nearest_npot" />
+<Test name="clamp_repeat_linear_npot" />
+<Test name="clamp_mirror_nearest_npot" />
+<Test name="clamp_mirror_linear_npot" />
+<Test name="repeat_clamp_nearest_npot" />
+<Test name="repeat_clamp_linear_npot" />
+<Test name="repeat_repeat_nearest_npot" />
+<Test name="repeat_repeat_linear_npot" />
+<Test name="repeat_mirror_nearest_npot" />
+<Test name="repeat_mirror_linear_npot" />
+<Test name="mirror_clamp_nearest_npot" />
+<Test name="mirror_clamp_linear_npot" />
+<Test name="mirror_repeat_nearest_npot" />
+<Test name="mirror_repeat_linear_npot" />
+<Test name="mirror_mirror_nearest_npot" />
+<Test name="mirror_mirror_linear_npot" />
+</TestCase>
+<TestCase name="etc2_srgb8_punchthrough_alpha1">
+<Test name="clamp_clamp_nearest_pot" />
+<Test name="clamp_clamp_linear_pot" />
+<Test name="clamp_repeat_nearest_pot" />
+<Test name="clamp_repeat_linear_pot" />
+<Test name="clamp_mirror_nearest_pot" />
+<Test name="clamp_mirror_linear_pot" />
+<Test name="repeat_clamp_nearest_pot" />
+<Test name="repeat_clamp_linear_pot" />
+<Test name="repeat_repeat_nearest_pot" />
+<Test name="repeat_repeat_linear_pot" />
+<Test name="repeat_mirror_nearest_pot" />
+<Test name="repeat_mirror_linear_pot" />
+<Test name="mirror_clamp_nearest_pot" />
+<Test name="mirror_clamp_linear_pot" />
+<Test name="mirror_repeat_nearest_pot" />
+<Test name="mirror_repeat_linear_pot" />
+<Test name="mirror_mirror_nearest_pot" />
+<Test name="mirror_mirror_linear_pot" />
+<Test name="clamp_clamp_nearest_npot" />
+<Test name="clamp_clamp_linear_npot" />
+<Test name="clamp_repeat_nearest_npot" />
+<Test name="clamp_repeat_linear_npot" />
+<Test name="clamp_mirror_nearest_npot" />
+<Test name="clamp_mirror_linear_npot" />
+<Test name="repeat_clamp_nearest_npot" />
+<Test name="repeat_clamp_linear_npot" />
+<Test name="repeat_repeat_nearest_npot" />
+<Test name="repeat_repeat_linear_npot" />
+<Test name="repeat_mirror_nearest_npot" />
+<Test name="repeat_mirror_linear_npot" />
+<Test name="mirror_clamp_nearest_npot" />
+<Test name="mirror_clamp_linear_npot" />
+<Test name="mirror_repeat_nearest_npot" />
+<Test name="mirror_repeat_linear_npot" />
+<Test name="mirror_mirror_nearest_npot" />
+<Test name="mirror_mirror_linear_npot" />
+</TestCase>
+<TestCase name="etc2_eac_rgba8">
+<Test name="clamp_clamp_nearest_pot" />
+<Test name="clamp_clamp_linear_pot" />
+<Test name="clamp_repeat_nearest_pot" />
+<Test name="clamp_repeat_linear_pot" />
+<Test name="clamp_mirror_nearest_pot" />
+<Test name="clamp_mirror_linear_pot" />
+<Test name="repeat_clamp_nearest_pot" />
+<Test name="repeat_clamp_linear_pot" />
+<Test name="repeat_repeat_nearest_pot" />
+<Test name="repeat_repeat_linear_pot" />
+<Test name="repeat_mirror_nearest_pot" />
+<Test name="repeat_mirror_linear_pot" />
+<Test name="mirror_clamp_nearest_pot" />
+<Test name="mirror_clamp_linear_pot" />
+<Test name="mirror_repeat_nearest_pot" />
+<Test name="mirror_repeat_linear_pot" />
+<Test name="mirror_mirror_nearest_pot" />
+<Test name="mirror_mirror_linear_pot" />
+<Test name="clamp_clamp_nearest_npot" />
+<Test name="clamp_clamp_linear_npot" />
+<Test name="clamp_repeat_nearest_npot" />
+<Test name="clamp_repeat_linear_npot" />
+<Test name="clamp_mirror_nearest_npot" />
+<Test name="clamp_mirror_linear_npot" />
+<Test name="repeat_clamp_nearest_npot" />
+<Test name="repeat_clamp_linear_npot" />
+<Test name="repeat_repeat_nearest_npot" />
+<Test name="repeat_repeat_linear_npot" />
+<Test name="repeat_mirror_nearest_npot" />
+<Test name="repeat_mirror_linear_npot" />
+<Test name="mirror_clamp_nearest_npot" />
+<Test name="mirror_clamp_linear_npot" />
+<Test name="mirror_repeat_nearest_npot" />
+<Test name="mirror_repeat_linear_npot" />
+<Test name="mirror_mirror_nearest_npot" />
+<Test name="mirror_mirror_linear_npot" />
+</TestCase>
+<TestCase name="etc2_eac_srgb8_alpha8">
+<Test name="clamp_clamp_nearest_pot" />
+<Test name="clamp_clamp_linear_pot" />
+<Test name="clamp_repeat_nearest_pot" />
+<Test name="clamp_repeat_linear_pot" />
+<Test name="clamp_mirror_nearest_pot" />
+<Test name="clamp_mirror_linear_pot" />
+<Test name="repeat_clamp_nearest_pot" />
+<Test name="repeat_clamp_linear_pot" />
+<Test name="repeat_repeat_nearest_pot" />
+<Test name="repeat_repeat_linear_pot" />
+<Test name="repeat_mirror_nearest_pot" />
+<Test name="repeat_mirror_linear_pot" />
+<Test name="mirror_clamp_nearest_pot" />
+<Test name="mirror_clamp_linear_pot" />
+<Test name="mirror_repeat_nearest_pot" />
+<Test name="mirror_repeat_linear_pot" />
+<Test name="mirror_mirror_nearest_pot" />
+<Test name="mirror_mirror_linear_pot" />
+<Test name="clamp_clamp_nearest_npot" />
+<Test name="clamp_clamp_linear_npot" />
+<Test name="clamp_repeat_nearest_npot" />
+<Test name="clamp_repeat_linear_npot" />
+<Test name="clamp_mirror_nearest_npot" />
+<Test name="clamp_mirror_linear_npot" />
+<Test name="repeat_clamp_nearest_npot" />
+<Test name="repeat_clamp_linear_npot" />
+<Test name="repeat_repeat_nearest_npot" />
+<Test name="repeat_repeat_linear_npot" />
+<Test name="repeat_mirror_nearest_npot" />
+<Test name="repeat_mirror_linear_npot" />
+<Test name="mirror_clamp_nearest_npot" />
+<Test name="mirror_clamp_linear_npot" />
+<Test name="mirror_repeat_nearest_npot" />
+<Test name="mirror_repeat_linear_npot" />
+<Test name="mirror_mirror_nearest_npot" />
+<Test name="mirror_mirror_linear_npot" />
+</TestCase>
+<TestCase name="astc_4x4">
+<Test name="clamp_clamp_nearest_divisible" />
+<Test name="clamp_clamp_linear_divisible" />
+<Test name="clamp_repeat_nearest_divisible" />
+<Test name="clamp_repeat_linear_divisible" />
+<Test name="clamp_mirror_nearest_divisible" />
+<Test name="clamp_mirror_linear_divisible" />
+<Test name="repeat_clamp_nearest_divisible" />
+<Test name="repeat_clamp_linear_divisible" />
+<Test name="repeat_repeat_nearest_divisible" />
+<Test name="repeat_repeat_linear_divisible" />
+<Test name="repeat_mirror_nearest_divisible" />
+<Test name="repeat_mirror_linear_divisible" />
+<Test name="mirror_clamp_nearest_divisible" />
+<Test name="mirror_clamp_linear_divisible" />
+<Test name="mirror_repeat_nearest_divisible" />
+<Test name="mirror_repeat_linear_divisible" />
+<Test name="mirror_mirror_nearest_divisible" />
+<Test name="mirror_mirror_linear_divisible" />
+<Test name="clamp_clamp_nearest_not_divisible" />
+<Test name="clamp_clamp_linear_not_divisible" />
+<Test name="clamp_repeat_nearest_not_divisible" />
+<Test name="clamp_repeat_linear_not_divisible" />
+<Test name="clamp_mirror_nearest_not_divisible" />
+<Test name="clamp_mirror_linear_not_divisible" />
+<Test name="repeat_clamp_nearest_not_divisible" />
+<Test name="repeat_clamp_linear_not_divisible" />
+<Test name="repeat_repeat_nearest_not_divisible" />
+<Test name="repeat_repeat_linear_not_divisible" />
+<Test name="repeat_mirror_nearest_not_divisible" />
+<Test name="repeat_mirror_linear_not_divisible" />
+<Test name="mirror_clamp_nearest_not_divisible" />
+<Test name="mirror_clamp_linear_not_divisible" />
+<Test name="mirror_repeat_nearest_not_divisible" />
+<Test name="mirror_repeat_linear_not_divisible" />
+<Test name="mirror_mirror_nearest_not_divisible" />
+<Test name="mirror_mirror_linear_not_divisible" />
+</TestCase>
+<TestCase name="astc_5x4">
+<Test name="clamp_clamp_nearest_divisible" />
+<Test name="clamp_clamp_linear_divisible" />
+<Test name="clamp_repeat_nearest_divisible" />
+<Test name="clamp_repeat_linear_divisible" />
+<Test name="clamp_mirror_nearest_divisible" />
+<Test name="clamp_mirror_linear_divisible" />
+<Test name="repeat_clamp_nearest_divisible" />
+<Test name="repeat_clamp_linear_divisible" />
+<Test name="repeat_repeat_nearest_divisible" />
+<Test name="repeat_repeat_linear_divisible" />
+<Test name="repeat_mirror_nearest_divisible" />
+<Test name="repeat_mirror_linear_divisible" />
+<Test name="mirror_clamp_nearest_divisible" />
+<Test name="mirror_clamp_linear_divisible" />
+<Test name="mirror_repeat_nearest_divisible" />
+<Test name="mirror_repeat_linear_divisible" />
+<Test name="mirror_mirror_nearest_divisible" />
+<Test name="mirror_mirror_linear_divisible" />
+<Test name="clamp_clamp_nearest_not_divisible" />
+<Test name="clamp_clamp_linear_not_divisible" />
+<Test name="clamp_repeat_nearest_not_divisible" />
+<Test name="clamp_repeat_linear_not_divisible" />
+<Test name="clamp_mirror_nearest_not_divisible" />
+<Test name="clamp_mirror_linear_not_divisible" />
+<Test name="repeat_clamp_nearest_not_divisible" />
+<Test name="repeat_clamp_linear_not_divisible" />
+<Test name="repeat_repeat_nearest_not_divisible" />
+<Test name="repeat_repeat_linear_not_divisible" />
+<Test name="repeat_mirror_nearest_not_divisible" />
+<Test name="repeat_mirror_linear_not_divisible" />
+<Test name="mirror_clamp_nearest_not_divisible" />
+<Test name="mirror_clamp_linear_not_divisible" />
+<Test name="mirror_repeat_nearest_not_divisible" />
+<Test name="mirror_repeat_linear_not_divisible" />
+<Test name="mirror_mirror_nearest_not_divisible" />
+<Test name="mirror_mirror_linear_not_divisible" />
+</TestCase>
+<TestCase name="astc_5x5">
+<Test name="clamp_clamp_nearest_divisible" />
+<Test name="clamp_clamp_linear_divisible" />
+<Test name="clamp_repeat_nearest_divisible" />
+<Test name="clamp_repeat_linear_divisible" />
+<Test name="clamp_mirror_nearest_divisible" />
+<Test name="clamp_mirror_linear_divisible" />
+<Test name="repeat_clamp_nearest_divisible" />
+<Test name="repeat_clamp_linear_divisible" />
+<Test name="repeat_repeat_nearest_divisible" />
+<Test name="repeat_repeat_linear_divisible" />
+<Test name="repeat_mirror_nearest_divisible" />
+<Test name="repeat_mirror_linear_divisible" />
+<Test name="mirror_clamp_nearest_divisible" />
+<Test name="mirror_clamp_linear_divisible" />
+<Test name="mirror_repeat_nearest_divisible" />
+<Test name="mirror_repeat_linear_divisible" />
+<Test name="mirror_mirror_nearest_divisible" />
+<Test name="mirror_mirror_linear_divisible" />
+<Test name="clamp_clamp_nearest_not_divisible" />
+<Test name="clamp_clamp_linear_not_divisible" />
+<Test name="clamp_repeat_nearest_not_divisible" />
+<Test name="clamp_repeat_linear_not_divisible" />
+<Test name="clamp_mirror_nearest_not_divisible" />
+<Test name="clamp_mirror_linear_not_divisible" />
+<Test name="repeat_clamp_nearest_not_divisible" />
+<Test name="repeat_clamp_linear_not_divisible" />
+<Test name="repeat_repeat_nearest_not_divisible" />
+<Test name="repeat_repeat_linear_not_divisible" />
+<Test name="repeat_mirror_nearest_not_divisible" />
+<Test name="repeat_mirror_linear_not_divisible" />
+<Test name="mirror_clamp_nearest_not_divisible" />
+<Test name="mirror_clamp_linear_not_divisible" />
+<Test name="mirror_repeat_nearest_not_divisible" />
+<Test name="mirror_repeat_linear_not_divisible" />
+<Test name="mirror_mirror_nearest_not_divisible" />
+<Test name="mirror_mirror_linear_not_divisible" />
+</TestCase>
+<TestCase name="astc_6x5">
+<Test name="clamp_clamp_nearest_divisible" />
+<Test name="clamp_clamp_linear_divisible" />
+<Test name="clamp_repeat_nearest_divisible" />
+<Test name="clamp_repeat_linear_divisible" />
+<Test name="clamp_mirror_nearest_divisible" />
+<Test name="clamp_mirror_linear_divisible" />
+<Test name="repeat_clamp_nearest_divisible" />
+<Test name="repeat_clamp_linear_divisible" />
+<Test name="repeat_repeat_nearest_divisible" />
+<Test name="repeat_repeat_linear_divisible" />
+<Test name="repeat_mirror_nearest_divisible" />
+<Test name="repeat_mirror_linear_divisible" />
+<Test name="mirror_clamp_nearest_divisible" />
+<Test name="mirror_clamp_linear_divisible" />
+<Test name="mirror_repeat_nearest_divisible" />
+<Test name="mirror_repeat_linear_divisible" />
+<Test name="mirror_mirror_nearest_divisible" />
+<Test name="mirror_mirror_linear_divisible" />
+<Test name="clamp_clamp_nearest_not_divisible" />
+<Test name="clamp_clamp_linear_not_divisible" />
+<Test name="clamp_repeat_nearest_not_divisible" />
+<Test name="clamp_repeat_linear_not_divisible" />
+<Test name="clamp_mirror_nearest_not_divisible" />
+<Test name="clamp_mirror_linear_not_divisible" />
+<Test name="repeat_clamp_nearest_not_divisible" />
+<Test name="repeat_clamp_linear_not_divisible" />
+<Test name="repeat_repeat_nearest_not_divisible" />
+<Test name="repeat_repeat_linear_not_divisible" />
+<Test name="repeat_mirror_nearest_not_divisible" />
+<Test name="repeat_mirror_linear_not_divisible" />
+<Test name="mirror_clamp_nearest_not_divisible" />
+<Test name="mirror_clamp_linear_not_divisible" />
+<Test name="mirror_repeat_nearest_not_divisible" />
+<Test name="mirror_repeat_linear_not_divisible" />
+<Test name="mirror_mirror_nearest_not_divisible" />
+<Test name="mirror_mirror_linear_not_divisible" />
+</TestCase>
+<TestCase name="astc_6x6">
+<Test name="clamp_clamp_nearest_divisible" />
+<Test name="clamp_clamp_linear_divisible" />
+<Test name="clamp_repeat_nearest_divisible" />
+<Test name="clamp_repeat_linear_divisible" />
+<Test name="clamp_mirror_nearest_divisible" />
+<Test name="clamp_mirror_linear_divisible" />
+<Test name="repeat_clamp_nearest_divisible" />
+<Test name="repeat_clamp_linear_divisible" />
+<Test name="repeat_repeat_nearest_divisible" />
+<Test name="repeat_repeat_linear_divisible" />
+<Test name="repeat_mirror_nearest_divisible" />
+<Test name="repeat_mirror_linear_divisible" />
+<Test name="mirror_clamp_nearest_divisible" />
+<Test name="mirror_clamp_linear_divisible" />
+<Test name="mirror_repeat_nearest_divisible" />
+<Test name="mirror_repeat_linear_divisible" />
+<Test name="mirror_mirror_nearest_divisible" />
+<Test name="mirror_mirror_linear_divisible" />
+<Test name="clamp_clamp_nearest_not_divisible" />
+<Test name="clamp_clamp_linear_not_divisible" />
+<Test name="clamp_repeat_nearest_not_divisible" />
+<Test name="clamp_repeat_linear_not_divisible" />
+<Test name="clamp_mirror_nearest_not_divisible" />
+<Test name="clamp_mirror_linear_not_divisible" />
+<Test name="repeat_clamp_nearest_not_divisible" />
+<Test name="repeat_clamp_linear_not_divisible" />
+<Test name="repeat_repeat_nearest_not_divisible" />
+<Test name="repeat_repeat_linear_not_divisible" />
+<Test name="repeat_mirror_nearest_not_divisible" />
+<Test name="repeat_mirror_linear_not_divisible" />
+<Test name="mirror_clamp_nearest_not_divisible" />
+<Test name="mirror_clamp_linear_not_divisible" />
+<Test name="mirror_repeat_nearest_not_divisible" />
+<Test name="mirror_repeat_linear_not_divisible" />
+<Test name="mirror_mirror_nearest_not_divisible" />
+<Test name="mirror_mirror_linear_not_divisible" />
+</TestCase>
+<TestCase name="astc_8x5">
+<Test name="clamp_clamp_nearest_divisible" />
+<Test name="clamp_clamp_linear_divisible" />
+<Test name="clamp_repeat_nearest_divisible" />
+<Test name="clamp_repeat_linear_divisible" />
+<Test name="clamp_mirror_nearest_divisible" />
+<Test name="clamp_mirror_linear_divisible" />
+<Test name="repeat_clamp_nearest_divisible" />
+<Test name="repeat_clamp_linear_divisible" />
+<Test name="repeat_repeat_nearest_divisible" />
+<Test name="repeat_repeat_linear_divisible" />
+<Test name="repeat_mirror_nearest_divisible" />
+<Test name="repeat_mirror_linear_divisible" />
+<Test name="mirror_clamp_nearest_divisible" />
+<Test name="mirror_clamp_linear_divisible" />
+<Test name="mirror_repeat_nearest_divisible" />
+<Test name="mirror_repeat_linear_divisible" />
+<Test name="mirror_mirror_nearest_divisible" />
+<Test name="mirror_mirror_linear_divisible" />
+<Test name="clamp_clamp_nearest_not_divisible" />
+<Test name="clamp_clamp_linear_not_divisible" />
+<Test name="clamp_repeat_nearest_not_divisible" />
+<Test name="clamp_repeat_linear_not_divisible" />
+<Test name="clamp_mirror_nearest_not_divisible" />
+<Test name="clamp_mirror_linear_not_divisible" />
+<Test name="repeat_clamp_nearest_not_divisible" />
+<Test name="repeat_clamp_linear_not_divisible" />
+<Test name="repeat_repeat_nearest_not_divisible" />
+<Test name="repeat_repeat_linear_not_divisible" />
+<Test name="repeat_mirror_nearest_not_divisible" />
+<Test name="repeat_mirror_linear_not_divisible" />
+<Test name="mirror_clamp_nearest_not_divisible" />
+<Test name="mirror_clamp_linear_not_divisible" />
+<Test name="mirror_repeat_nearest_not_divisible" />
+<Test name="mirror_repeat_linear_not_divisible" />
+<Test name="mirror_mirror_nearest_not_divisible" />
+<Test name="mirror_mirror_linear_not_divisible" />
+</TestCase>
+<TestCase name="astc_8x6">
+<Test name="clamp_clamp_nearest_divisible" />
+<Test name="clamp_clamp_linear_divisible" />
+<Test name="clamp_repeat_nearest_divisible" />
+<Test name="clamp_repeat_linear_divisible" />
+<Test name="clamp_mirror_nearest_divisible" />
+<Test name="clamp_mirror_linear_divisible" />
+<Test name="repeat_clamp_nearest_divisible" />
+<Test name="repeat_clamp_linear_divisible" />
+<Test name="repeat_repeat_nearest_divisible" />
+<Test name="repeat_repeat_linear_divisible" />
+<Test name="repeat_mirror_nearest_divisible" />
+<Test name="repeat_mirror_linear_divisible" />
+<Test name="mirror_clamp_nearest_divisible" />
+<Test name="mirror_clamp_linear_divisible" />
+<Test name="mirror_repeat_nearest_divisible" />
+<Test name="mirror_repeat_linear_divisible" />
+<Test name="mirror_mirror_nearest_divisible" />
+<Test name="mirror_mirror_linear_divisible" />
+<Test name="clamp_clamp_nearest_not_divisible" />
+<Test name="clamp_clamp_linear_not_divisible" />
+<Test name="clamp_repeat_nearest_not_divisible" />
+<Test name="clamp_repeat_linear_not_divisible" />
+<Test name="clamp_mirror_nearest_not_divisible" />
+<Test name="clamp_mirror_linear_not_divisible" />
+<Test name="repeat_clamp_nearest_not_divisible" />
+<Test name="repeat_clamp_linear_not_divisible" />
+<Test name="repeat_repeat_nearest_not_divisible" />
+<Test name="repeat_repeat_linear_not_divisible" />
+<Test name="repeat_mirror_nearest_not_divisible" />
+<Test name="repeat_mirror_linear_not_divisible" />
+<Test name="mirror_clamp_nearest_not_divisible" />
+<Test name="mirror_clamp_linear_not_divisible" />
+<Test name="mirror_repeat_nearest_not_divisible" />
+<Test name="mirror_repeat_linear_not_divisible" />
+<Test name="mirror_mirror_nearest_not_divisible" />
+<Test name="mirror_mirror_linear_not_divisible" />
+</TestCase>
+<TestCase name="astc_8x8">
+<Test name="clamp_clamp_nearest_divisible" />
+<Test name="clamp_clamp_linear_divisible" />
+<Test name="clamp_repeat_nearest_divisible" />
+<Test name="clamp_repeat_linear_divisible" />
+<Test name="clamp_mirror_nearest_divisible" />
+<Test name="clamp_mirror_linear_divisible" />
+<Test name="repeat_clamp_nearest_divisible" />
+<Test name="repeat_clamp_linear_divisible" />
+<Test name="repeat_repeat_nearest_divisible" />
+<Test name="repeat_repeat_linear_divisible" />
+<Test name="repeat_mirror_nearest_divisible" />
+<Test name="repeat_mirror_linear_divisible" />
+<Test name="mirror_clamp_nearest_divisible" />
+<Test name="mirror_clamp_linear_divisible" />
+<Test name="mirror_repeat_nearest_divisible" />
+<Test name="mirror_repeat_linear_divisible" />
+<Test name="mirror_mirror_nearest_divisible" />
+<Test name="mirror_mirror_linear_divisible" />
+<Test name="clamp_clamp_nearest_not_divisible" />
+<Test name="clamp_clamp_linear_not_divisible" />
+<Test name="clamp_repeat_nearest_not_divisible" />
+<Test name="clamp_repeat_linear_not_divisible" />
+<Test name="clamp_mirror_nearest_not_divisible" />
+<Test name="clamp_mirror_linear_not_divisible" />
+<Test name="repeat_clamp_nearest_not_divisible" />
+<Test name="repeat_clamp_linear_not_divisible" />
+<Test name="repeat_repeat_nearest_not_divisible" />
+<Test name="repeat_repeat_linear_not_divisible" />
+<Test name="repeat_mirror_nearest_not_divisible" />
+<Test name="repeat_mirror_linear_not_divisible" />
+<Test name="mirror_clamp_nearest_not_divisible" />
+<Test name="mirror_clamp_linear_not_divisible" />
+<Test name="mirror_repeat_nearest_not_divisible" />
+<Test name="mirror_repeat_linear_not_divisible" />
+<Test name="mirror_mirror_nearest_not_divisible" />
+<Test name="mirror_mirror_linear_not_divisible" />
+</TestCase>
+<TestCase name="astc_10x5">
+<Test name="clamp_clamp_nearest_divisible" />
+<Test name="clamp_clamp_linear_divisible" />
+<Test name="clamp_repeat_nearest_divisible" />
+<Test name="clamp_repeat_linear_divisible" />
+<Test name="clamp_mirror_nearest_divisible" />
+<Test name="clamp_mirror_linear_divisible" />
+<Test name="repeat_clamp_nearest_divisible" />
+<Test name="repeat_clamp_linear_divisible" />
+<Test name="repeat_repeat_nearest_divisible" />
+<Test name="repeat_repeat_linear_divisible" />
+<Test name="repeat_mirror_nearest_divisible" />
+<Test name="repeat_mirror_linear_divisible" />
+<Test name="mirror_clamp_nearest_divisible" />
+<Test name="mirror_clamp_linear_divisible" />
+<Test name="mirror_repeat_nearest_divisible" />
+<Test name="mirror_repeat_linear_divisible" />
+<Test name="mirror_mirror_nearest_divisible" />
+<Test name="mirror_mirror_linear_divisible" />
+<Test name="clamp_clamp_nearest_not_divisible" />
+<Test name="clamp_clamp_linear_not_divisible" />
+<Test name="clamp_repeat_nearest_not_divisible" />
+<Test name="clamp_repeat_linear_not_divisible" />
+<Test name="clamp_mirror_nearest_not_divisible" />
+<Test name="clamp_mirror_linear_not_divisible" />
+<Test name="repeat_clamp_nearest_not_divisible" />
+<Test name="repeat_clamp_linear_not_divisible" />
+<Test name="repeat_repeat_nearest_not_divisible" />
+<Test name="repeat_repeat_linear_not_divisible" />
+<Test name="repeat_mirror_nearest_not_divisible" />
+<Test name="repeat_mirror_linear_not_divisible" />
+<Test name="mirror_clamp_nearest_not_divisible" />
+<Test name="mirror_clamp_linear_not_divisible" />
+<Test name="mirror_repeat_nearest_not_divisible" />
+<Test name="mirror_repeat_linear_not_divisible" />
+<Test name="mirror_mirror_nearest_not_divisible" />
+<Test name="mirror_mirror_linear_not_divisible" />
+</TestCase>
+<TestCase name="astc_10x6">
+<Test name="clamp_clamp_nearest_divisible" />
+<Test name="clamp_clamp_linear_divisible" />
+<Test name="clamp_repeat_nearest_divisible" />
+<Test name="clamp_repeat_linear_divisible" />
+<Test name="clamp_mirror_nearest_divisible" />
+<Test name="clamp_mirror_linear_divisible" />
+<Test name="repeat_clamp_nearest_divisible" />
+<Test name="repeat_clamp_linear_divisible" />
+<Test name="repeat_repeat_nearest_divisible" />
+<Test name="repeat_repeat_linear_divisible" />
+<Test name="repeat_mirror_nearest_divisible" />
+<Test name="repeat_mirror_linear_divisible" />
+<Test name="mirror_clamp_nearest_divisible" />
+<Test name="mirror_clamp_linear_divisible" />
+<Test name="mirror_repeat_nearest_divisible" />
+<Test name="mirror_repeat_linear_divisible" />
+<Test name="mirror_mirror_nearest_divisible" />
+<Test name="mirror_mirror_linear_divisible" />
+<Test name="clamp_clamp_nearest_not_divisible" />
+<Test name="clamp_clamp_linear_not_divisible" />
+<Test name="clamp_repeat_nearest_not_divisible" />
+<Test name="clamp_repeat_linear_not_divisible" />
+<Test name="clamp_mirror_nearest_not_divisible" />
+<Test name="clamp_mirror_linear_not_divisible" />
+<Test name="repeat_clamp_nearest_not_divisible" />
+<Test name="repeat_clamp_linear_not_divisible" />
+<Test name="repeat_repeat_nearest_not_divisible" />
+<Test name="repeat_repeat_linear_not_divisible" />
+<Test name="repeat_mirror_nearest_not_divisible" />
+<Test name="repeat_mirror_linear_not_divisible" />
+<Test name="mirror_clamp_nearest_not_divisible" />
+<Test name="mirror_clamp_linear_not_divisible" />
+<Test name="mirror_repeat_nearest_not_divisible" />
+<Test name="mirror_repeat_linear_not_divisible" />
+<Test name="mirror_mirror_nearest_not_divisible" />
+<Test name="mirror_mirror_linear_not_divisible" />
+</TestCase>
+<TestCase name="astc_10x8">
+<Test name="clamp_clamp_nearest_divisible" />
+<Test name="clamp_clamp_linear_divisible" />
+<Test name="clamp_repeat_nearest_divisible" />
+<Test name="clamp_repeat_linear_divisible" />
+<Test name="clamp_mirror_nearest_divisible" />
+<Test name="clamp_mirror_linear_divisible" />
+<Test name="repeat_clamp_nearest_divisible" />
+<Test name="repeat_clamp_linear_divisible" />
+<Test name="repeat_repeat_nearest_divisible" />
+<Test name="repeat_repeat_linear_divisible" />
+<Test name="repeat_mirror_nearest_divisible" />
+<Test name="repeat_mirror_linear_divisible" />
+<Test name="mirror_clamp_nearest_divisible" />
+<Test name="mirror_clamp_linear_divisible" />
+<Test name="mirror_repeat_nearest_divisible" />
+<Test name="mirror_repeat_linear_divisible" />
+<Test name="mirror_mirror_nearest_divisible" />
+<Test name="mirror_mirror_linear_divisible" />
+<Test name="clamp_clamp_nearest_not_divisible" />
+<Test name="clamp_clamp_linear_not_divisible" />
+<Test name="clamp_repeat_nearest_not_divisible" />
+<Test name="clamp_repeat_linear_not_divisible" />
+<Test name="clamp_mirror_nearest_not_divisible" />
+<Test name="clamp_mirror_linear_not_divisible" />
+<Test name="repeat_clamp_nearest_not_divisible" />
+<Test name="repeat_clamp_linear_not_divisible" />
+<Test name="repeat_repeat_nearest_not_divisible" />
+<Test name="repeat_repeat_linear_not_divisible" />
+<Test name="repeat_mirror_nearest_not_divisible" />
+<Test name="repeat_mirror_linear_not_divisible" />
+<Test name="mirror_clamp_nearest_not_divisible" />
+<Test name="mirror_clamp_linear_not_divisible" />
+<Test name="mirror_repeat_nearest_not_divisible" />
+<Test name="mirror_repeat_linear_not_divisible" />
+<Test name="mirror_mirror_nearest_not_divisible" />
+<Test name="mirror_mirror_linear_not_divisible" />
+</TestCase>
+<TestCase name="astc_10x10">
+<Test name="clamp_clamp_nearest_divisible" />
+<Test name="clamp_clamp_linear_divisible" />
+<Test name="clamp_repeat_nearest_divisible" />
+<Test name="clamp_repeat_linear_divisible" />
+<Test name="clamp_mirror_nearest_divisible" />
+<Test name="clamp_mirror_linear_divisible" />
+<Test name="repeat_clamp_nearest_divisible" />
+<Test name="repeat_clamp_linear_divisible" />
+<Test name="repeat_repeat_nearest_divisible" />
+<Test name="repeat_repeat_linear_divisible" />
+<Test name="repeat_mirror_nearest_divisible" />
+<Test name="repeat_mirror_linear_divisible" />
+<Test name="mirror_clamp_nearest_divisible" />
+<Test name="mirror_clamp_linear_divisible" />
+<Test name="mirror_repeat_nearest_divisible" />
+<Test name="mirror_repeat_linear_divisible" />
+<Test name="mirror_mirror_nearest_divisible" />
+<Test name="mirror_mirror_linear_divisible" />
+<Test name="clamp_clamp_nearest_not_divisible" />
+<Test name="clamp_clamp_linear_not_divisible" />
+<Test name="clamp_repeat_nearest_not_divisible" />
+<Test name="clamp_repeat_linear_not_divisible" />
+<Test name="clamp_mirror_nearest_not_divisible" />
+<Test name="clamp_mirror_linear_not_divisible" />
+<Test name="repeat_clamp_nearest_not_divisible" />
+<Test name="repeat_clamp_linear_not_divisible" />
+<Test name="repeat_repeat_nearest_not_divisible" />
+<Test name="repeat_repeat_linear_not_divisible" />
+<Test name="repeat_mirror_nearest_not_divisible" />
+<Test name="repeat_mirror_linear_not_divisible" />
+<Test name="mirror_clamp_nearest_not_divisible" />
+<Test name="mirror_clamp_linear_not_divisible" />
+<Test name="mirror_repeat_nearest_not_divisible" />
+<Test name="mirror_repeat_linear_not_divisible" />
+<Test name="mirror_mirror_nearest_not_divisible" />
+<Test name="mirror_mirror_linear_not_divisible" />
+</TestCase>
+<TestCase name="astc_12x10">
+<Test name="clamp_clamp_nearest_divisible" />
+<Test name="clamp_clamp_linear_divisible" />
+<Test name="clamp_repeat_nearest_divisible" />
+<Test name="clamp_repeat_linear_divisible" />
+<Test name="clamp_mirror_nearest_divisible" />
+<Test name="clamp_mirror_linear_divisible" />
+<Test name="repeat_clamp_nearest_divisible" />
+<Test name="repeat_clamp_linear_divisible" />
+<Test name="repeat_repeat_nearest_divisible" />
+<Test name="repeat_repeat_linear_divisible" />
+<Test name="repeat_mirror_nearest_divisible" />
+<Test name="repeat_mirror_linear_divisible" />
+<Test name="mirror_clamp_nearest_divisible" />
+<Test name="mirror_clamp_linear_divisible" />
+<Test name="mirror_repeat_nearest_divisible" />
+<Test name="mirror_repeat_linear_divisible" />
+<Test name="mirror_mirror_nearest_divisible" />
+<Test name="mirror_mirror_linear_divisible" />
+<Test name="clamp_clamp_nearest_not_divisible" />
+<Test name="clamp_clamp_linear_not_divisible" />
+<Test name="clamp_repeat_nearest_not_divisible" />
+<Test name="clamp_repeat_linear_not_divisible" />
+<Test name="clamp_mirror_nearest_not_divisible" />
+<Test name="clamp_mirror_linear_not_divisible" />
+<Test name="repeat_clamp_nearest_not_divisible" />
+<Test name="repeat_clamp_linear_not_divisible" />
+<Test name="repeat_repeat_nearest_not_divisible" />
+<Test name="repeat_repeat_linear_not_divisible" />
+<Test name="repeat_mirror_nearest_not_divisible" />
+<Test name="repeat_mirror_linear_not_divisible" />
+<Test name="mirror_clamp_nearest_not_divisible" />
+<Test name="mirror_clamp_linear_not_divisible" />
+<Test name="mirror_repeat_nearest_not_divisible" />
+<Test name="mirror_repeat_linear_not_divisible" />
+<Test name="mirror_mirror_nearest_not_divisible" />
+<Test name="mirror_mirror_linear_not_divisible" />
+</TestCase>
+<TestCase name="astc_12x12">
+<Test name="clamp_clamp_nearest_divisible" />
+<Test name="clamp_clamp_linear_divisible" />
+<Test name="clamp_repeat_nearest_divisible" />
+<Test name="clamp_repeat_linear_divisible" />
+<Test name="clamp_mirror_nearest_divisible" />
+<Test name="clamp_mirror_linear_divisible" />
+<Test name="repeat_clamp_nearest_divisible" />
+<Test name="repeat_clamp_linear_divisible" />
+<Test name="repeat_repeat_nearest_divisible" />
+<Test name="repeat_repeat_linear_divisible" />
+<Test name="repeat_mirror_nearest_divisible" />
+<Test name="repeat_mirror_linear_divisible" />
+<Test name="mirror_clamp_nearest_divisible" />
+<Test name="mirror_clamp_linear_divisible" />
+<Test name="mirror_repeat_nearest_divisible" />
+<Test name="mirror_repeat_linear_divisible" />
+<Test name="mirror_mirror_nearest_divisible" />
+<Test name="mirror_mirror_linear_divisible" />
+<Test name="clamp_clamp_nearest_not_divisible" />
+<Test name="clamp_clamp_linear_not_divisible" />
+<Test name="clamp_repeat_nearest_not_divisible" />
+<Test name="clamp_repeat_linear_not_divisible" />
+<Test name="clamp_mirror_nearest_not_divisible" />
+<Test name="clamp_mirror_linear_not_divisible" />
+<Test name="repeat_clamp_nearest_not_divisible" />
+<Test name="repeat_clamp_linear_not_divisible" />
+<Test name="repeat_repeat_nearest_not_divisible" />
+<Test name="repeat_repeat_linear_not_divisible" />
+<Test name="repeat_mirror_nearest_not_divisible" />
+<Test name="repeat_mirror_linear_not_divisible" />
+<Test name="mirror_clamp_nearest_not_divisible" />
+<Test name="mirror_clamp_linear_not_divisible" />
+<Test name="mirror_repeat_nearest_not_divisible" />
+<Test name="mirror_repeat_linear_not_divisible" />
+<Test name="mirror_mirror_nearest_not_divisible" />
+<Test name="mirror_mirror_linear_not_divisible" />
+</TestCase>
+<TestCase name="astc_4x4_srgb">
+<Test name="clamp_clamp_nearest_divisible" />
+<Test name="clamp_clamp_linear_divisible" />
+<Test name="clamp_repeat_nearest_divisible" />
+<Test name="clamp_repeat_linear_divisible" />
+<Test name="clamp_mirror_nearest_divisible" />
+<Test name="clamp_mirror_linear_divisible" />
+<Test name="repeat_clamp_nearest_divisible" />
+<Test name="repeat_clamp_linear_divisible" />
+<Test name="repeat_repeat_nearest_divisible" />
+<Test name="repeat_repeat_linear_divisible" />
+<Test name="repeat_mirror_nearest_divisible" />
+<Test name="repeat_mirror_linear_divisible" />
+<Test name="mirror_clamp_nearest_divisible" />
+<Test name="mirror_clamp_linear_divisible" />
+<Test name="mirror_repeat_nearest_divisible" />
+<Test name="mirror_repeat_linear_divisible" />
+<Test name="mirror_mirror_nearest_divisible" />
+<Test name="mirror_mirror_linear_divisible" />
+<Test name="clamp_clamp_nearest_not_divisible" />
+<Test name="clamp_clamp_linear_not_divisible" />
+<Test name="clamp_repeat_nearest_not_divisible" />
+<Test name="clamp_repeat_linear_not_divisible" />
+<Test name="clamp_mirror_nearest_not_divisible" />
+<Test name="clamp_mirror_linear_not_divisible" />
+<Test name="repeat_clamp_nearest_not_divisible" />
+<Test name="repeat_clamp_linear_not_divisible" />
+<Test name="repeat_repeat_nearest_not_divisible" />
+<Test name="repeat_repeat_linear_not_divisible" />
+<Test name="repeat_mirror_nearest_not_divisible" />
+<Test name="repeat_mirror_linear_not_divisible" />
+<Test name="mirror_clamp_nearest_not_divisible" />
+<Test name="mirror_clamp_linear_not_divisible" />
+<Test name="mirror_repeat_nearest_not_divisible" />
+<Test name="mirror_repeat_linear_not_divisible" />
+<Test name="mirror_mirror_nearest_not_divisible" />
+<Test name="mirror_mirror_linear_not_divisible" />
+</TestCase>
+<TestCase name="astc_5x4_srgb">
+<Test name="clamp_clamp_nearest_divisible" />
+<Test name="clamp_clamp_linear_divisible" />
+<Test name="clamp_repeat_nearest_divisible" />
+<Test name="clamp_repeat_linear_divisible" />
+<Test name="clamp_mirror_nearest_divisible" />
+<Test name="clamp_mirror_linear_divisible" />
+<Test name="repeat_clamp_nearest_divisible" />
+<Test name="repeat_clamp_linear_divisible" />
+<Test name="repeat_repeat_nearest_divisible" />
+<Test name="repeat_repeat_linear_divisible" />
+<Test name="repeat_mirror_nearest_divisible" />
+<Test name="repeat_mirror_linear_divisible" />
+<Test name="mirror_clamp_nearest_divisible" />
+<Test name="mirror_clamp_linear_divisible" />
+<Test name="mirror_repeat_nearest_divisible" />
+<Test name="mirror_repeat_linear_divisible" />
+<Test name="mirror_mirror_nearest_divisible" />
+<Test name="mirror_mirror_linear_divisible" />
+<Test name="clamp_clamp_nearest_not_divisible" />
+<Test name="clamp_clamp_linear_not_divisible" />
+<Test name="clamp_repeat_nearest_not_divisible" />
+<Test name="clamp_repeat_linear_not_divisible" />
+<Test name="clamp_mirror_nearest_not_divisible" />
+<Test name="clamp_mirror_linear_not_divisible" />
+<Test name="repeat_clamp_nearest_not_divisible" />
+<Test name="repeat_clamp_linear_not_divisible" />
+<Test name="repeat_repeat_nearest_not_divisible" />
+<Test name="repeat_repeat_linear_not_divisible" />
+<Test name="repeat_mirror_nearest_not_divisible" />
+<Test name="repeat_mirror_linear_not_divisible" />
+<Test name="mirror_clamp_nearest_not_divisible" />
+<Test name="mirror_clamp_linear_not_divisible" />
+<Test name="mirror_repeat_nearest_not_divisible" />
+<Test name="mirror_repeat_linear_not_divisible" />
+<Test name="mirror_mirror_nearest_not_divisible" />
+<Test name="mirror_mirror_linear_not_divisible" />
+</TestCase>
+<TestCase name="astc_5x5_srgb">
+<Test name="clamp_clamp_nearest_divisible" />
+<Test name="clamp_clamp_linear_divisible" />
+<Test name="clamp_repeat_nearest_divisible" />
+<Test name="clamp_repeat_linear_divisible" />
+<Test name="clamp_mirror_nearest_divisible" />
+<Test name="clamp_mirror_linear_divisible" />
+<Test name="repeat_clamp_nearest_divisible" />
+<Test name="repeat_clamp_linear_divisible" />
+<Test name="repeat_repeat_nearest_divisible" />
+<Test name="repeat_repeat_linear_divisible" />
+<Test name="repeat_mirror_nearest_divisible" />
+<Test name="repeat_mirror_linear_divisible" />
+<Test name="mirror_clamp_nearest_divisible" />
+<Test name="mirror_clamp_linear_divisible" />
+<Test name="mirror_repeat_nearest_divisible" />
+<Test name="mirror_repeat_linear_divisible" />
+<Test name="mirror_mirror_nearest_divisible" />
+<Test name="mirror_mirror_linear_divisible" />
+<Test name="clamp_clamp_nearest_not_divisible" />
+<Test name="clamp_clamp_linear_not_divisible" />
+<Test name="clamp_repeat_nearest_not_divisible" />
+<Test name="clamp_repeat_linear_not_divisible" />
+<Test name="clamp_mirror_nearest_not_divisible" />
+<Test name="clamp_mirror_linear_not_divisible" />
+<Test name="repeat_clamp_nearest_not_divisible" />
+<Test name="repeat_clamp_linear_not_divisible" />
+<Test name="repeat_repeat_nearest_not_divisible" />
+<Test name="repeat_repeat_linear_not_divisible" />
+<Test name="repeat_mirror_nearest_not_divisible" />
+<Test name="repeat_mirror_linear_not_divisible" />
+<Test name="mirror_clamp_nearest_not_divisible" />
+<Test name="mirror_clamp_linear_not_divisible" />
+<Test name="mirror_repeat_nearest_not_divisible" />
+<Test name="mirror_repeat_linear_not_divisible" />
+<Test name="mirror_mirror_nearest_not_divisible" />
+<Test name="mirror_mirror_linear_not_divisible" />
+</TestCase>
+<TestCase name="astc_6x5_srgb">
+<Test name="clamp_clamp_nearest_divisible" />
+<Test name="clamp_clamp_linear_divisible" />
+<Test name="clamp_repeat_nearest_divisible" />
+<Test name="clamp_repeat_linear_divisible" />
+<Test name="clamp_mirror_nearest_divisible" />
+<Test name="clamp_mirror_linear_divisible" />
+<Test name="repeat_clamp_nearest_divisible" />
+<Test name="repeat_clamp_linear_divisible" />
+<Test name="repeat_repeat_nearest_divisible" />
+<Test name="repeat_repeat_linear_divisible" />
+<Test name="repeat_mirror_nearest_divisible" />
+<Test name="repeat_mirror_linear_divisible" />
+<Test name="mirror_clamp_nearest_divisible" />
+<Test name="mirror_clamp_linear_divisible" />
+<Test name="mirror_repeat_nearest_divisible" />
+<Test name="mirror_repeat_linear_divisible" />
+<Test name="mirror_mirror_nearest_divisible" />
+<Test name="mirror_mirror_linear_divisible" />
+<Test name="clamp_clamp_nearest_not_divisible" />
+<Test name="clamp_clamp_linear_not_divisible" />
+<Test name="clamp_repeat_nearest_not_divisible" />
+<Test name="clamp_repeat_linear_not_divisible" />
+<Test name="clamp_mirror_nearest_not_divisible" />
+<Test name="clamp_mirror_linear_not_divisible" />
+<Test name="repeat_clamp_nearest_not_divisible" />
+<Test name="repeat_clamp_linear_not_divisible" />
+<Test name="repeat_repeat_nearest_not_divisible" />
+<Test name="repeat_repeat_linear_not_divisible" />
+<Test name="repeat_mirror_nearest_not_divisible" />
+<Test name="repeat_mirror_linear_not_divisible" />
+<Test name="mirror_clamp_nearest_not_divisible" />
+<Test name="mirror_clamp_linear_not_divisible" />
+<Test name="mirror_repeat_nearest_not_divisible" />
+<Test name="mirror_repeat_linear_not_divisible" />
+<Test name="mirror_mirror_nearest_not_divisible" />
+<Test name="mirror_mirror_linear_not_divisible" />
+</TestCase>
+<TestCase name="astc_6x6_srgb">
+<Test name="clamp_clamp_nearest_divisible" />
+<Test name="clamp_clamp_linear_divisible" />
+<Test name="clamp_repeat_nearest_divisible" />
+<Test name="clamp_repeat_linear_divisible" />
+<Test name="clamp_mirror_nearest_divisible" />
+<Test name="clamp_mirror_linear_divisible" />
+<Test name="repeat_clamp_nearest_divisible" />
+<Test name="repeat_clamp_linear_divisible" />
+<Test name="repeat_repeat_nearest_divisible" />
+<Test name="repeat_repeat_linear_divisible" />
+<Test name="repeat_mirror_nearest_divisible" />
+<Test name="repeat_mirror_linear_divisible" />
+<Test name="mirror_clamp_nearest_divisible" />
+<Test name="mirror_clamp_linear_divisible" />
+<Test name="mirror_repeat_nearest_divisible" />
+<Test name="mirror_repeat_linear_divisible" />
+<Test name="mirror_mirror_nearest_divisible" />
+<Test name="mirror_mirror_linear_divisible" />
+<Test name="clamp_clamp_nearest_not_divisible" />
+<Test name="clamp_clamp_linear_not_divisible" />
+<Test name="clamp_repeat_nearest_not_divisible" />
+<Test name="clamp_repeat_linear_not_divisible" />
+<Test name="clamp_mirror_nearest_not_divisible" />
+<Test name="clamp_mirror_linear_not_divisible" />
+<Test name="repeat_clamp_nearest_not_divisible" />
+<Test name="repeat_clamp_linear_not_divisible" />
+<Test name="repeat_repeat_nearest_not_divisible" />
+<Test name="repeat_repeat_linear_not_divisible" />
+<Test name="repeat_mirror_nearest_not_divisible" />
+<Test name="repeat_mirror_linear_not_divisible" />
+<Test name="mirror_clamp_nearest_not_divisible" />
+<Test name="mirror_clamp_linear_not_divisible" />
+<Test name="mirror_repeat_nearest_not_divisible" />
+<Test name="mirror_repeat_linear_not_divisible" />
+<Test name="mirror_mirror_nearest_not_divisible" />
+<Test name="mirror_mirror_linear_not_divisible" />
+</TestCase>
+<TestCase name="astc_8x5_srgb">
+<Test name="clamp_clamp_nearest_divisible" />
+<Test name="clamp_clamp_linear_divisible" />
+<Test name="clamp_repeat_nearest_divisible" />
+<Test name="clamp_repeat_linear_divisible" />
+<Test name="clamp_mirror_nearest_divisible" />
+<Test name="clamp_mirror_linear_divisible" />
+<Test name="repeat_clamp_nearest_divisible" />
+<Test name="repeat_clamp_linear_divisible" />
+<Test name="repeat_repeat_nearest_divisible" />
+<Test name="repeat_repeat_linear_divisible" />
+<Test name="repeat_mirror_nearest_divisible" />
+<Test name="repeat_mirror_linear_divisible" />
+<Test name="mirror_clamp_nearest_divisible" />
+<Test name="mirror_clamp_linear_divisible" />
+<Test name="mirror_repeat_nearest_divisible" />
+<Test name="mirror_repeat_linear_divisible" />
+<Test name="mirror_mirror_nearest_divisible" />
+<Test name="mirror_mirror_linear_divisible" />
+<Test name="clamp_clamp_nearest_not_divisible" />
+<Test name="clamp_clamp_linear_not_divisible" />
+<Test name="clamp_repeat_nearest_not_divisible" />
+<Test name="clamp_repeat_linear_not_divisible" />
+<Test name="clamp_mirror_nearest_not_divisible" />
+<Test name="clamp_mirror_linear_not_divisible" />
+<Test name="repeat_clamp_nearest_not_divisible" />
+<Test name="repeat_clamp_linear_not_divisible" />
+<Test name="repeat_repeat_nearest_not_divisible" />
+<Test name="repeat_repeat_linear_not_divisible" />
+<Test name="repeat_mirror_nearest_not_divisible" />
+<Test name="repeat_mirror_linear_not_divisible" />
+<Test name="mirror_clamp_nearest_not_divisible" />
+<Test name="mirror_clamp_linear_not_divisible" />
+<Test name="mirror_repeat_nearest_not_divisible" />
+<Test name="mirror_repeat_linear_not_divisible" />
+<Test name="mirror_mirror_nearest_not_divisible" />
+<Test name="mirror_mirror_linear_not_divisible" />
+</TestCase>
+<TestCase name="astc_8x6_srgb">
+<Test name="clamp_clamp_nearest_divisible" />
+<Test name="clamp_clamp_linear_divisible" />
+<Test name="clamp_repeat_nearest_divisible" />
+<Test name="clamp_repeat_linear_divisible" />
+<Test name="clamp_mirror_nearest_divisible" />
+<Test name="clamp_mirror_linear_divisible" />
+<Test name="repeat_clamp_nearest_divisible" />
+<Test name="repeat_clamp_linear_divisible" />
+<Test name="repeat_repeat_nearest_divisible" />
+<Test name="repeat_repeat_linear_divisible" />
+<Test name="repeat_mirror_nearest_divisible" />
+<Test name="repeat_mirror_linear_divisible" />
+<Test name="mirror_clamp_nearest_divisible" />
+<Test name="mirror_clamp_linear_divisible" />
+<Test name="mirror_repeat_nearest_divisible" />
+<Test name="mirror_repeat_linear_divisible" />
+<Test name="mirror_mirror_nearest_divisible" />
+<Test name="mirror_mirror_linear_divisible" />
+<Test name="clamp_clamp_nearest_not_divisible" />
+<Test name="clamp_clamp_linear_not_divisible" />
+<Test name="clamp_repeat_nearest_not_divisible" />
+<Test name="clamp_repeat_linear_not_divisible" />
+<Test name="clamp_mirror_nearest_not_divisible" />
+<Test name="clamp_mirror_linear_not_divisible" />
+<Test name="repeat_clamp_nearest_not_divisible" />
+<Test name="repeat_clamp_linear_not_divisible" />
+<Test name="repeat_repeat_nearest_not_divisible" />
+<Test name="repeat_repeat_linear_not_divisible" />
+<Test name="repeat_mirror_nearest_not_divisible" />
+<Test name="repeat_mirror_linear_not_divisible" />
+<Test name="mirror_clamp_nearest_not_divisible" />
+<Test name="mirror_clamp_linear_not_divisible" />
+<Test name="mirror_repeat_nearest_not_divisible" />
+<Test name="mirror_repeat_linear_not_divisible" />
+<Test name="mirror_mirror_nearest_not_divisible" />
+<Test name="mirror_mirror_linear_not_divisible" />
+</TestCase>
+<TestCase name="astc_8x8_srgb">
+<Test name="clamp_clamp_nearest_divisible" />
+<Test name="clamp_clamp_linear_divisible" />
+<Test name="clamp_repeat_nearest_divisible" />
+<Test name="clamp_repeat_linear_divisible" />
+<Test name="clamp_mirror_nearest_divisible" />
+<Test name="clamp_mirror_linear_divisible" />
+<Test name="repeat_clamp_nearest_divisible" />
+<Test name="repeat_clamp_linear_divisible" />
+<Test name="repeat_repeat_nearest_divisible" />
+<Test name="repeat_repeat_linear_divisible" />
+<Test name="repeat_mirror_nearest_divisible" />
+<Test name="repeat_mirror_linear_divisible" />
+<Test name="mirror_clamp_nearest_divisible" />
+<Test name="mirror_clamp_linear_divisible" />
+<Test name="mirror_repeat_nearest_divisible" />
+<Test name="mirror_repeat_linear_divisible" />
+<Test name="mirror_mirror_nearest_divisible" />
+<Test name="mirror_mirror_linear_divisible" />
+<Test name="clamp_clamp_nearest_not_divisible" />
+<Test name="clamp_clamp_linear_not_divisible" />
+<Test name="clamp_repeat_nearest_not_divisible" />
+<Test name="clamp_repeat_linear_not_divisible" />
+<Test name="clamp_mirror_nearest_not_divisible" />
+<Test name="clamp_mirror_linear_not_divisible" />
+<Test name="repeat_clamp_nearest_not_divisible" />
+<Test name="repeat_clamp_linear_not_divisible" />
+<Test name="repeat_repeat_nearest_not_divisible" />
+<Test name="repeat_repeat_linear_not_divisible" />
+<Test name="repeat_mirror_nearest_not_divisible" />
+<Test name="repeat_mirror_linear_not_divisible" />
+<Test name="mirror_clamp_nearest_not_divisible" />
+<Test name="mirror_clamp_linear_not_divisible" />
+<Test name="mirror_repeat_nearest_not_divisible" />
+<Test name="mirror_repeat_linear_not_divisible" />
+<Test name="mirror_mirror_nearest_not_divisible" />
+<Test name="mirror_mirror_linear_not_divisible" />
+</TestCase>
+<TestCase name="astc_10x5_srgb">
+<Test name="clamp_clamp_nearest_divisible" />
+<Test name="clamp_clamp_linear_divisible" />
+<Test name="clamp_repeat_nearest_divisible" />
+<Test name="clamp_repeat_linear_divisible" />
+<Test name="clamp_mirror_nearest_divisible" />
+<Test name="clamp_mirror_linear_divisible" />
+<Test name="repeat_clamp_nearest_divisible" />
+<Test name="repeat_clamp_linear_divisible" />
+<Test name="repeat_repeat_nearest_divisible" />
+<Test name="repeat_repeat_linear_divisible" />
+<Test name="repeat_mirror_nearest_divisible" />
+<Test name="repeat_mirror_linear_divisible" />
+<Test name="mirror_clamp_nearest_divisible" />
+<Test name="mirror_clamp_linear_divisible" />
+<Test name="mirror_repeat_nearest_divisible" />
+<Test name="mirror_repeat_linear_divisible" />
+<Test name="mirror_mirror_nearest_divisible" />
+<Test name="mirror_mirror_linear_divisible" />
+<Test name="clamp_clamp_nearest_not_divisible" />
+<Test name="clamp_clamp_linear_not_divisible" />
+<Test name="clamp_repeat_nearest_not_divisible" />
+<Test name="clamp_repeat_linear_not_divisible" />
+<Test name="clamp_mirror_nearest_not_divisible" />
+<Test name="clamp_mirror_linear_not_divisible" />
+<Test name="repeat_clamp_nearest_not_divisible" />
+<Test name="repeat_clamp_linear_not_divisible" />
+<Test name="repeat_repeat_nearest_not_divisible" />
+<Test name="repeat_repeat_linear_not_divisible" />
+<Test name="repeat_mirror_nearest_not_divisible" />
+<Test name="repeat_mirror_linear_not_divisible" />
+<Test name="mirror_clamp_nearest_not_divisible" />
+<Test name="mirror_clamp_linear_not_divisible" />
+<Test name="mirror_repeat_nearest_not_divisible" />
+<Test name="mirror_repeat_linear_not_divisible" />
+<Test name="mirror_mirror_nearest_not_divisible" />
+<Test name="mirror_mirror_linear_not_divisible" />
+</TestCase>
+<TestCase name="astc_10x6_srgb">
+<Test name="clamp_clamp_nearest_divisible" />
+<Test name="clamp_clamp_linear_divisible" />
+<Test name="clamp_repeat_nearest_divisible" />
+<Test name="clamp_repeat_linear_divisible" />
+<Test name="clamp_mirror_nearest_divisible" />
+<Test name="clamp_mirror_linear_divisible" />
+<Test name="repeat_clamp_nearest_divisible" />
+<Test name="repeat_clamp_linear_divisible" />
+<Test name="repeat_repeat_nearest_divisible" />
+<Test name="repeat_repeat_linear_divisible" />
+<Test name="repeat_mirror_nearest_divisible" />
+<Test name="repeat_mirror_linear_divisible" />
+<Test name="mirror_clamp_nearest_divisible" />
+<Test name="mirror_clamp_linear_divisible" />
+<Test name="mirror_repeat_nearest_divisible" />
+<Test name="mirror_repeat_linear_divisible" />
+<Test name="mirror_mirror_nearest_divisible" />
+<Test name="mirror_mirror_linear_divisible" />
+<Test name="clamp_clamp_nearest_not_divisible" />
+<Test name="clamp_clamp_linear_not_divisible" />
+<Test name="clamp_repeat_nearest_not_divisible" />
+<Test name="clamp_repeat_linear_not_divisible" />
+<Test name="clamp_mirror_nearest_not_divisible" />
+<Test name="clamp_mirror_linear_not_divisible" />
+<Test name="repeat_clamp_nearest_not_divisible" />
+<Test name="repeat_clamp_linear_not_divisible" />
+<Test name="repeat_repeat_nearest_not_divisible" />
+<Test name="repeat_repeat_linear_not_divisible" />
+<Test name="repeat_mirror_nearest_not_divisible" />
+<Test name="repeat_mirror_linear_not_divisible" />
+<Test name="mirror_clamp_nearest_not_divisible" />
+<Test name="mirror_clamp_linear_not_divisible" />
+<Test name="mirror_repeat_nearest_not_divisible" />
+<Test name="mirror_repeat_linear_not_divisible" />
+<Test name="mirror_mirror_nearest_not_divisible" />
+<Test name="mirror_mirror_linear_not_divisible" />
+</TestCase>
+<TestCase name="astc_10x8_srgb">
+<Test name="clamp_clamp_nearest_divisible" />
+<Test name="clamp_clamp_linear_divisible" />
+<Test name="clamp_repeat_nearest_divisible" />
+<Test name="clamp_repeat_linear_divisible" />
+<Test name="clamp_mirror_nearest_divisible" />
+<Test name="clamp_mirror_linear_divisible" />
+<Test name="repeat_clamp_nearest_divisible" />
+<Test name="repeat_clamp_linear_divisible" />
+<Test name="repeat_repeat_nearest_divisible" />
+<Test name="repeat_repeat_linear_divisible" />
+<Test name="repeat_mirror_nearest_divisible" />
+<Test name="repeat_mirror_linear_divisible" />
+<Test name="mirror_clamp_nearest_divisible" />
+<Test name="mirror_clamp_linear_divisible" />
+<Test name="mirror_repeat_nearest_divisible" />
+<Test name="mirror_repeat_linear_divisible" />
+<Test name="mirror_mirror_nearest_divisible" />
+<Test name="mirror_mirror_linear_divisible" />
+<Test name="clamp_clamp_nearest_not_divisible" />
+<Test name="clamp_clamp_linear_not_divisible" />
+<Test name="clamp_repeat_nearest_not_divisible" />
+<Test name="clamp_repeat_linear_not_divisible" />
+<Test name="clamp_mirror_nearest_not_divisible" />
+<Test name="clamp_mirror_linear_not_divisible" />
+<Test name="repeat_clamp_nearest_not_divisible" />
+<Test name="repeat_clamp_linear_not_divisible" />
+<Test name="repeat_repeat_nearest_not_divisible" />
+<Test name="repeat_repeat_linear_not_divisible" />
+<Test name="repeat_mirror_nearest_not_divisible" />
+<Test name="repeat_mirror_linear_not_divisible" />
+<Test name="mirror_clamp_nearest_not_divisible" />
+<Test name="mirror_clamp_linear_not_divisible" />
+<Test name="mirror_repeat_nearest_not_divisible" />
+<Test name="mirror_repeat_linear_not_divisible" />
+<Test name="mirror_mirror_nearest_not_divisible" />
+<Test name="mirror_mirror_linear_not_divisible" />
+</TestCase>
+<TestCase name="astc_10x10_srgb">
+<Test name="clamp_clamp_nearest_divisible" />
+<Test name="clamp_clamp_linear_divisible" />
+<Test name="clamp_repeat_nearest_divisible" />
+<Test name="clamp_repeat_linear_divisible" />
+<Test name="clamp_mirror_nearest_divisible" />
+<Test name="clamp_mirror_linear_divisible" />
+<Test name="repeat_clamp_nearest_divisible" />
+<Test name="repeat_clamp_linear_divisible" />
+<Test name="repeat_repeat_nearest_divisible" />
+<Test name="repeat_repeat_linear_divisible" />
+<Test name="repeat_mirror_nearest_divisible" />
+<Test name="repeat_mirror_linear_divisible" />
+<Test name="mirror_clamp_nearest_divisible" />
+<Test name="mirror_clamp_linear_divisible" />
+<Test name="mirror_repeat_nearest_divisible" />
+<Test name="mirror_repeat_linear_divisible" />
+<Test name="mirror_mirror_nearest_divisible" />
+<Test name="mirror_mirror_linear_divisible" />
+<Test name="clamp_clamp_nearest_not_divisible" />
+<Test name="clamp_clamp_linear_not_divisible" />
+<Test name="clamp_repeat_nearest_not_divisible" />
+<Test name="clamp_repeat_linear_not_divisible" />
+<Test name="clamp_mirror_nearest_not_divisible" />
+<Test name="clamp_mirror_linear_not_divisible" />
+<Test name="repeat_clamp_nearest_not_divisible" />
+<Test name="repeat_clamp_linear_not_divisible" />
+<Test name="repeat_repeat_nearest_not_divisible" />
+<Test name="repeat_repeat_linear_not_divisible" />
+<Test name="repeat_mirror_nearest_not_divisible" />
+<Test name="repeat_mirror_linear_not_divisible" />
+<Test name="mirror_clamp_nearest_not_divisible" />
+<Test name="mirror_clamp_linear_not_divisible" />
+<Test name="mirror_repeat_nearest_not_divisible" />
+<Test name="mirror_repeat_linear_not_divisible" />
+<Test name="mirror_mirror_nearest_not_divisible" />
+<Test name="mirror_mirror_linear_not_divisible" />
+</TestCase>
+<TestCase name="astc_12x10_srgb">
+<Test name="clamp_clamp_nearest_divisible" />
+<Test name="clamp_clamp_linear_divisible" />
+<Test name="clamp_repeat_nearest_divisible" />
+<Test name="clamp_repeat_linear_divisible" />
+<Test name="clamp_mirror_nearest_divisible" />
+<Test name="clamp_mirror_linear_divisible" />
+<Test name="repeat_clamp_nearest_divisible" />
+<Test name="repeat_clamp_linear_divisible" />
+<Test name="repeat_repeat_nearest_divisible" />
+<Test name="repeat_repeat_linear_divisible" />
+<Test name="repeat_mirror_nearest_divisible" />
+<Test name="repeat_mirror_linear_divisible" />
+<Test name="mirror_clamp_nearest_divisible" />
+<Test name="mirror_clamp_linear_divisible" />
+<Test name="mirror_repeat_nearest_divisible" />
+<Test name="mirror_repeat_linear_divisible" />
+<Test name="mirror_mirror_nearest_divisible" />
+<Test name="mirror_mirror_linear_divisible" />
+<Test name="clamp_clamp_nearest_not_divisible" />
+<Test name="clamp_clamp_linear_not_divisible" />
+<Test name="clamp_repeat_nearest_not_divisible" />
+<Test name="clamp_repeat_linear_not_divisible" />
+<Test name="clamp_mirror_nearest_not_divisible" />
+<Test name="clamp_mirror_linear_not_divisible" />
+<Test name="repeat_clamp_nearest_not_divisible" />
+<Test name="repeat_clamp_linear_not_divisible" />
+<Test name="repeat_repeat_nearest_not_divisible" />
+<Test name="repeat_repeat_linear_not_divisible" />
+<Test name="repeat_mirror_nearest_not_divisible" />
+<Test name="repeat_mirror_linear_not_divisible" />
+<Test name="mirror_clamp_nearest_not_divisible" />
+<Test name="mirror_clamp_linear_not_divisible" />
+<Test name="mirror_repeat_nearest_not_divisible" />
+<Test name="mirror_repeat_linear_not_divisible" />
+<Test name="mirror_mirror_nearest_not_divisible" />
+<Test name="mirror_mirror_linear_not_divisible" />
+</TestCase>
+<TestCase name="astc_12x12_srgb">
+<Test name="clamp_clamp_nearest_divisible" />
+<Test name="clamp_clamp_linear_divisible" />
+<Test name="clamp_repeat_nearest_divisible" />
+<Test name="clamp_repeat_linear_divisible" />
+<Test name="clamp_mirror_nearest_divisible" />
+<Test name="clamp_mirror_linear_divisible" />
+<Test name="repeat_clamp_nearest_divisible" />
+<Test name="repeat_clamp_linear_divisible" />
+<Test name="repeat_repeat_nearest_divisible" />
+<Test name="repeat_repeat_linear_divisible" />
+<Test name="repeat_mirror_nearest_divisible" />
+<Test name="repeat_mirror_linear_divisible" />
+<Test name="mirror_clamp_nearest_divisible" />
+<Test name="mirror_clamp_linear_divisible" />
+<Test name="mirror_repeat_nearest_divisible" />
+<Test name="mirror_repeat_linear_divisible" />
+<Test name="mirror_mirror_nearest_divisible" />
+<Test name="mirror_mirror_linear_divisible" />
+<Test name="clamp_clamp_nearest_not_divisible" />
+<Test name="clamp_clamp_linear_not_divisible" />
+<Test name="clamp_repeat_nearest_not_divisible" />
+<Test name="clamp_repeat_linear_not_divisible" />
+<Test name="clamp_mirror_nearest_not_divisible" />
+<Test name="clamp_mirror_linear_not_divisible" />
+<Test name="repeat_clamp_nearest_not_divisible" />
+<Test name="repeat_clamp_linear_not_divisible" />
+<Test name="repeat_repeat_nearest_not_divisible" />
+<Test name="repeat_repeat_linear_not_divisible" />
+<Test name="repeat_mirror_nearest_not_divisible" />
+<Test name="repeat_mirror_linear_not_divisible" />
+<Test name="mirror_clamp_nearest_not_divisible" />
+<Test name="mirror_clamp_linear_not_divisible" />
+<Test name="mirror_repeat_nearest_not_divisible" />
+<Test name="mirror_repeat_linear_not_divisible" />
+<Test name="mirror_mirror_nearest_not_divisible" />
+<Test name="mirror_mirror_linear_not_divisible" />
+</TestCase>
+</TestSuite>
+<TestSuite name="filtering">
+<TestSuite name="2d">
+<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" />
+<Test name="etc1_rgb8_nearest" />
+<Test name="etc1_rgb8_linear" />
+<Test name="etc1_rgb8_nearest_mipmap_nearest" />
+<Test name="etc1_rgb8_linear_mipmap_nearest" />
+<Test name="etc1_rgb8_nearest_mipmap_linear" />
+<Test name="etc1_rgb8_linear_mipmap_linear" />
+</TestCase>
+<TestCase name="sizes">
+<Test name="4x8_nearest" />
+<Test name="4x8_linear" />
+<Test name="4x8_nearest_mipmap_nearest" />
+<Test name="4x8_linear_mipmap_nearest" />
+<Test name="4x8_nearest_mipmap_linear" />
+<Test name="4x8_linear_mipmap_linear" />
+<Test name="32x64_nearest" />
+<Test name="32x64_linear" />
+<Test name="32x64_nearest_mipmap_nearest" />
+<Test name="32x64_linear_mipmap_nearest" />
+<Test name="32x64_nearest_mipmap_linear" />
+<Test name="32x64_linear_mipmap_linear" />
+<Test name="128x128_nearest" />
+<Test name="128x128_linear" />
+<Test name="128x128_nearest_mipmap_nearest" />
+<Test name="128x128_linear_mipmap_nearest" />
+<Test name="128x128_nearest_mipmap_linear" />
+<Test name="128x128_linear_mipmap_linear" />
+<Test name="3x7_nearest" />
+<Test name="3x7_linear" />
+<Test name="3x7_nearest_mipmap_nearest" />
+<Test name="3x7_linear_mipmap_nearest" />
+<Test name="3x7_nearest_mipmap_linear" />
+<Test name="3x7_linear_mipmap_linear" />
+<Test name="31x55_nearest" />
+<Test name="31x55_linear" />
+<Test name="127x99_nearest" />
+<Test name="127x99_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="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" />
+</TestCase>
+</TestSuite>
+<TestSuite name="cube">
+<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" />
+<Test name="etc1_rgb8_nearest" />
+<Test name="etc1_rgb8_linear" />
+<Test name="etc1_rgb8_nearest_mipmap_nearest" />
+<Test name="etc1_rgb8_linear_mipmap_nearest" />
+<Test name="etc1_rgb8_nearest_mipmap_linear" />
+<Test name="etc1_rgb8_linear_mipmap_linear" />
+</TestCase>
+<TestCase name="sizes">
+<Test name="8x8_nearest" />
+<Test name="8x8_linear" />
+<Test name="8x8_nearest_mipmap_nearest" />
+<Test name="8x8_linear_mipmap_nearest" />
+<Test name="8x8_nearest_mipmap_linear" />
+<Test name="8x8_linear_mipmap_linear" />
+<Test name="64x64_nearest" />
+<Test name="64x64_linear" />
+<Test name="64x64_nearest_mipmap_nearest" />
+<Test name="64x64_linear_mipmap_nearest" />
+<Test name="64x64_nearest_mipmap_linear" />
+<Test name="64x64_linear_mipmap_linear" />
+<Test name="128x128_nearest" />
+<Test name="128x128_linear" />
+<Test name="128x128_nearest_mipmap_nearest" />
+<Test name="128x128_linear_mipmap_nearest" />
+<Test name="128x128_nearest_mipmap_linear" />
+<Test name="128x128_linear_mipmap_linear" />
+<Test name="7x7_nearest" />
+<Test name="7x7_linear" />
+<Test name="7x7_nearest_mipmap_nearest" />
+<Test name="7x7_linear_mipmap_nearest" />
+<Test name="7x7_nearest_mipmap_linear" />
+<Test name="7x7_linear_mipmap_linear" />
+<Test name="63x63_nearest" />
+<Test name="63x63_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="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" />
+</TestCase>
+<TestCase name="no_edges_visible">
+<Test name="nearest" />
+<Test name="linear" />
+</TestCase>
+</TestSuite>
+<TestSuite name="2d_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="4x8x8_nearest" />
+<Test name="4x8x8_linear" />
+<Test name="4x8x8_nearest_mipmap_nearest" />
+<Test name="4x8x8_linear_mipmap_nearest" />
+<Test name="4x8x8_nearest_mipmap_linear" />
+<Test name="4x8x8_linear_mipmap_linear" />
+<Test name="32x64x16_nearest" />
+<Test name="32x64x16_linear" />
+<Test name="32x64x16_nearest_mipmap_nearest" />
+<Test name="32x64x16_linear_mipmap_nearest" />
+<Test name="32x64x16_nearest_mipmap_linear" />
+<Test name="32x64x16_linear_mipmap_linear" />
+<Test name="128x32x64_nearest" />
+<Test name="128x32x64_linear" />
+<Test name="128x32x64_nearest_mipmap_nearest" />
+<Test name="128x32x64_linear_mipmap_nearest" />
+<Test name="128x32x64_nearest_mipmap_linear" />
+<Test name="128x32x64_linear_mipmap_linear" />
+<Test name="3x7x5_nearest" />
+<Test name="3x7x5_linear" />
+<Test name="3x7x5_nearest_mipmap_nearest" />
+<Test name="3x7x5_linear_mipmap_nearest" />
+<Test name="3x7x5_nearest_mipmap_linear" />
+<Test name="3x7x5_linear_mipmap_linear" />
+<Test name="63x63x63_nearest" />
+<Test name="63x63x63_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="linear_nearest_clamp_clamp" />
+<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="linear_mipmap_nearest_nearest_clamp_clamp" />
+<Test name="linear_mipmap_nearest_linear_clamp_clamp" />
+<Test name="linear_mipmap_linear_nearest_clamp_clamp" />
+<Test name="linear_mipmap_linear_linear_clamp_clamp" />
+</TestCase>
+</TestSuite>
+<TestSuite name="3d">
+<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="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="4x8x8_nearest" />
+<Test name="4x8x8_linear" />
+<Test name="4x8x8_nearest_mipmap_nearest" />
+<Test name="4x8x8_linear_mipmap_nearest" />
+<Test name="4x8x8_nearest_mipmap_linear" />
+<Test name="4x8x8_linear_mipmap_linear" />
+<Test name="32x64x16_nearest" />
+<Test name="32x64x16_linear" />
+<Test name="32x64x16_nearest_mipmap_nearest" />
+<Test name="32x64x16_linear_mipmap_nearest" />
+<Test name="32x64x16_nearest_mipmap_linear" />
+<Test name="32x64x16_linear_mipmap_linear" />
+<Test name="128x32x64_nearest" />
+<Test name="128x32x64_linear" />
+<Test name="128x32x64_nearest_mipmap_nearest" />
+<Test name="128x32x64_linear_mipmap_nearest" />
+<Test name="128x32x64_nearest_mipmap_linear" />
+<Test name="128x32x64_linear_mipmap_linear" />
+<Test name="3x7x5_nearest" />
+<Test name="3x7x5_linear" />
+<Test name="3x7x5_nearest_mipmap_nearest" />
+<Test name="3x7x5_linear_mipmap_nearest" />
+<Test name="3x7x5_nearest_mipmap_linear" />
+<Test name="3x7x5_linear_mipmap_linear" />
+<Test name="63x63x63_nearest" />
+<Test name="63x63x63_linear" />
+</TestCase>
+<TestCase name="combinations">
+<Test name="nearest_nearest_clamp_clamp_clamp" />
+<Test name="nearest_nearest_clamp_clamp_repeat" />
+<Test name="nearest_nearest_clamp_clamp_mirror" />
+<Test name="nearest_nearest_clamp_repeat_clamp" />
+<Test name="nearest_nearest_clamp_repeat_repeat" />
+<Test name="nearest_nearest_clamp_repeat_mirror" />
+<Test name="nearest_nearest_clamp_mirror_clamp" />
+<Test name="nearest_nearest_clamp_mirror_repeat" />
+<Test name="nearest_nearest_clamp_mirror_mirror" />
+<Test name="nearest_nearest_repeat_clamp_clamp" />
+<Test name="nearest_nearest_repeat_clamp_repeat" />
+<Test name="nearest_nearest_repeat_clamp_mirror" />
+<Test name="nearest_nearest_repeat_repeat_clamp" />
+<Test name="nearest_nearest_repeat_repeat_repeat" />
+<Test name="nearest_nearest_repeat_repeat_mirror" />
+<Test name="nearest_nearest_repeat_mirror_clamp" />
+<Test name="nearest_nearest_repeat_mirror_repeat" />
+<Test name="nearest_nearest_repeat_mirror_mirror" />
+<Test name="nearest_nearest_mirror_clamp_clamp" />
+<Test name="nearest_nearest_mirror_clamp_repeat" />
+<Test name="nearest_nearest_mirror_clamp_mirror" />
+<Test name="nearest_nearest_mirror_repeat_clamp" />
+<Test name="nearest_nearest_mirror_repeat_repeat" />
+<Test name="nearest_nearest_mirror_repeat_mirror" />
+<Test name="nearest_nearest_mirror_mirror_clamp" />
+<Test name="nearest_nearest_mirror_mirror_repeat" />
+<Test name="nearest_nearest_mirror_mirror_mirror" />
+<Test name="nearest_linear_clamp_clamp_clamp" />
+<Test name="linear_nearest_clamp_clamp_clamp" />
+<Test name="linear_linear_clamp_clamp_clamp" />
+<Test name="linear_linear_clamp_clamp_repeat" />
+<Test name="linear_linear_clamp_clamp_mirror" />
+<Test name="linear_linear_clamp_repeat_clamp" />
+<Test name="linear_linear_clamp_repeat_repeat" />
+<Test name="linear_linear_clamp_repeat_mirror" />
+<Test name="linear_linear_clamp_mirror_clamp" />
+<Test name="linear_linear_clamp_mirror_repeat" />
+<Test name="linear_linear_clamp_mirror_mirror" />
+<Test name="linear_linear_repeat_clamp_clamp" />
+<Test name="linear_linear_repeat_clamp_repeat" />
+<Test name="linear_linear_repeat_clamp_mirror" />
+<Test name="linear_linear_repeat_repeat_clamp" />
+<Test name="linear_linear_repeat_repeat_repeat" />
+<Test name="linear_linear_repeat_repeat_mirror" />
+<Test name="linear_linear_repeat_mirror_clamp" />
+<Test name="linear_linear_repeat_mirror_repeat" />
+<Test name="linear_linear_repeat_mirror_mirror" />
+<Test name="linear_linear_mirror_clamp_clamp" />
+<Test name="linear_linear_mirror_clamp_repeat" />
+<Test name="linear_linear_mirror_clamp_mirror" />
+<Test name="linear_linear_mirror_repeat_clamp" />
+<Test name="linear_linear_mirror_repeat_repeat" />
+<Test name="linear_linear_mirror_repeat_mirror" />
+<Test name="linear_linear_mirror_mirror_clamp" />
+<Test name="linear_linear_mirror_mirror_repeat" />
+<Test name="linear_linear_mirror_mirror_mirror" />
+</TestCase>
+</TestSuite>
+</TestSuite>
+<TestSuite name="mipmap">
+<TestSuite name="2d">
+<TestCase name="basic">
+<Test name="nearest_nearest_clamp" />
+<Test name="nearest_nearest_clamp_npot" />
+<Test name="nearest_nearest_clamp_non_square" />
+<Test name="nearest_nearest_repeat" />
+<Test name="nearest_nearest_repeat_npot" />
+<Test name="nearest_nearest_repeat_non_square" />
+<Test name="nearest_nearest_mirror" />
+<Test name="nearest_nearest_mirror_npot" />
+<Test name="nearest_nearest_mirror_non_square" />
+<Test name="linear_nearest_clamp" />
+<Test name="linear_nearest_clamp_npot" />
+<Test name="linear_nearest_clamp_non_square" />
+<Test name="linear_nearest_repeat" />
+<Test name="linear_nearest_repeat_npot" />
+<Test name="linear_nearest_repeat_non_square" />
+<Test name="linear_nearest_mirror" />
+<Test name="linear_nearest_mirror_npot" />
+<Test name="linear_nearest_mirror_non_square" />
+<Test name="nearest_linear_clamp" />
+<Test name="nearest_linear_clamp_npot" />
+<Test name="nearest_linear_clamp_non_square" />
+<Test name="nearest_linear_repeat" />
+<Test name="nearest_linear_repeat_npot" />
+<Test name="nearest_linear_repeat_non_square" />
+<Test name="nearest_linear_mirror" />
+<Test name="nearest_linear_mirror_npot" />
+<Test name="nearest_linear_mirror_non_square" />
+<Test name="linear_linear_clamp" />
+<Test name="linear_linear_clamp_npot" />
+<Test name="linear_linear_clamp_non_square" />
+<Test name="linear_linear_repeat" />
+<Test name="linear_linear_repeat_npot" />
+<Test name="linear_linear_repeat_non_square" />
+<Test name="linear_linear_mirror" />
+<Test name="linear_linear_mirror_npot" />
+<Test name="linear_linear_mirror_non_square" />
+</TestCase>
+<TestCase name="affine">
+<Test name="nearest_nearest_clamp" />
+<Test name="nearest_nearest_repeat" />
+<Test name="nearest_nearest_mirror" />
+<Test name="linear_nearest_clamp" />
+<Test name="linear_nearest_repeat" />
+<Test name="linear_nearest_mirror" />
+<Test name="nearest_linear_clamp" />
+<Test name="nearest_linear_repeat" />
+<Test name="nearest_linear_mirror" />
+<Test name="linear_linear_clamp" />
+<Test name="linear_linear_repeat" />
+<Test name="linear_linear_mirror" />
+</TestCase>
+<TestCase name="bias">
+<Test name="nearest_nearest" />
+<Test name="linear_nearest" />
+<Test name="nearest_linear" />
+<Test name="linear_linear" />
+</TestCase>
+<TestCase name="generate">
+<Test name="a8_fastest" />
+<Test name="a8_nicest" />
+<Test name="a8_npot_fastest" />
+<Test name="a8_npot_nicest" />
+<Test name="a8_non_square_fastest" />
+<Test name="a8_non_square_nicest" />
+<Test name="l8_fastest" />
+<Test name="l8_nicest" />
+<Test name="l8_npot_fastest" />
+<Test name="l8_npot_nicest" />
+<Test name="l8_non_square_fastest" />
+<Test name="l8_non_square_nicest" />
+<Test name="rgb565_fastest" />
+<Test name="rgb565_nicest" />
+<Test name="rgb565_npot_fastest" />
+<Test name="rgb565_npot_nicest" />
+<Test name="rgb565_non_square_fastest" />
+<Test name="rgb565_non_square_nicest" />
+<Test name="rgb888_fastest" />
+<Test name="rgb888_nicest" />
+<Test name="rgb888_npot_fastest" />
+<Test name="rgb888_npot_nicest" />
+<Test name="rgb888_non_square_fastest" />
+<Test name="rgb888_non_square_nicest" />
+<Test name="rgba4444_fastest" />
+<Test name="rgba4444_nicest" />
+<Test name="rgba4444_npot_fastest" />
+<Test name="rgba4444_npot_nicest" />
+<Test name="rgba4444_non_square_fastest" />
+<Test name="rgba4444_non_square_nicest" />
+<Test name="rgba5551_fastest" />
+<Test name="rgba5551_nicest" />
+<Test name="rgba5551_npot_fastest" />
+<Test name="rgba5551_npot_nicest" />
+<Test name="rgba5551_non_square_fastest" />
+<Test name="rgba5551_non_square_nicest" />
+<Test name="rgba8888_fastest" />
+<Test name="rgba8888_nicest" />
+<Test name="rgba8888_npot_fastest" />
+<Test name="rgba8888_npot_nicest" />
+<Test name="rgba8888_non_square_fastest" />
+<Test name="rgba8888_non_square_nicest" />
+</TestCase>
+<TestCase name="min_lod">
+<Test name="nearest_nearest" />
+<Test name="linear_nearest" />
+<Test name="nearest_linear" />
+<Test name="linear_linear" />
+</TestCase>
+<TestCase name="max_lod">
+<Test name="nearest_nearest" />
+<Test name="linear_nearest" />
+<Test name="nearest_linear" />
+<Test name="linear_linear" />
+</TestCase>
+</TestSuite>
+<TestSuite name="cube">
+<TestCase name="basic">
+<Test name="nearest_nearest" />
+<Test name="linear_nearest" />
+<Test name="nearest_linear" />
+<Test name="linear_linear" />
+</TestCase>
+<TestCase name="projected">
+<Test name="nearest_nearest" />
+<Test name="linear_nearest" />
+</TestCase>
+<TestCase name="bias">
+<Test name="nearest_nearest" />
+<Test name="nearest_linear" />
+</TestCase>
+<TestCase name="generate">
+<Test name="a8_fastest" />
+<Test name="a8_nicest" />
+<Test name="l8_fastest" />
+<Test name="l8_nicest" />
+<Test name="rgb565_fastest" />
+<Test name="rgb565_nicest" />
+<Test name="rgb888_fastest" />
+<Test name="rgb888_nicest" />
+<Test name="rgba4444_fastest" />
+<Test name="rgba4444_nicest" />
+<Test name="rgba5551_fastest" />
+<Test name="rgba5551_nicest" />
+<Test name="rgba8888_fastest" />
+<Test name="rgba8888_nicest" />
+</TestCase>
+<TestCase name="min_lod">
+<Test name="nearest_nearest" />
+<Test name="linear_nearest" />
+<Test name="nearest_linear" />
+<Test name="linear_linear" />
+</TestCase>
+<TestCase name="max_lod">
+<Test name="nearest_nearest" />
+<Test name="linear_nearest" />
+<Test name="nearest_linear" />
+<Test name="linear_linear" />
+</TestCase>
+</TestSuite>
+<TestSuite name="3d">
+<TestCase name="basic">
+<Test name="nearest_nearest_clamp" />
+<Test name="nearest_nearest_clamp_npot" />
+<Test name="nearest_nearest_repeat" />
+<Test name="nearest_nearest_repeat_npot" />
+<Test name="nearest_nearest_mirror" />
+<Test name="nearest_nearest_mirror_npot" />
+<Test name="linear_nearest_clamp" />
+<Test name="linear_nearest_clamp_npot" />
+<Test name="linear_nearest_repeat" />
+<Test name="linear_nearest_repeat_npot" />
+<Test name="linear_nearest_mirror" />
+<Test name="linear_nearest_mirror_npot" />
+<Test name="nearest_linear_clamp" />
+<Test name="nearest_linear_clamp_npot" />
+<Test name="nearest_linear_repeat" />
+<Test name="nearest_linear_repeat_npot" />
+<Test name="nearest_linear_mirror" />
+<Test name="nearest_linear_mirror_npot" />
+<Test name="linear_linear_clamp" />
+<Test name="linear_linear_clamp_npot" />
+<Test name="linear_linear_repeat" />
+<Test name="linear_linear_repeat_npot" />
+<Test name="linear_linear_mirror" />
+<Test name="linear_linear_mirror_npot" />
+</TestCase>
+<TestCase name="affine">
+<Test name="nearest_nearest_clamp" />
+<Test name="nearest_nearest_repeat" />
+<Test name="nearest_nearest_mirror" />
+<Test name="linear_nearest_clamp" />
+<Test name="linear_nearest_repeat" />
+<Test name="linear_nearest_mirror" />
+<Test name="nearest_linear_clamp" />
+<Test name="nearest_linear_repeat" />
+<Test name="nearest_linear_mirror" />
+<Test name="linear_linear_clamp" />
+<Test name="linear_linear_repeat" />
+<Test name="linear_linear_mirror" />
+</TestCase>
+<TestCase name="projected">
+<Test name="nearest_nearest_clamp" />
+<Test name="nearest_nearest_repeat" />
+<Test name="nearest_nearest_mirror" />
+<Test name="linear_nearest_clamp" />
+<Test name="linear_nearest_repeat" />
+<Test name="linear_nearest_mirror" />
+<Test name="nearest_linear_clamp" />
+<Test name="nearest_linear_repeat" />
+<Test name="nearest_linear_mirror" />
+<Test name="linear_linear_clamp" />
+<Test name="linear_linear_repeat" />
+<Test name="linear_linear_mirror" />
+</TestCase>
+<TestCase name="bias">
+<Test name="nearest_nearest" />
+<Test name="linear_nearest" />
+<Test name="nearest_linear" />
+<Test name="linear_linear" />
+</TestCase>
+<TestCase name="min_lod">
+<Test name="nearest_nearest" />
+<Test name="linear_nearest" />
+<Test name="nearest_linear" />
+<Test name="linear_linear" />
+</TestCase>
+<TestCase name="max_lod">
+<Test name="nearest_nearest" />
+<Test name="linear_nearest" />
+<Test name="nearest_linear" />
+<Test name="linear_linear" />
+</TestCase>
+</TestSuite>
+</TestSuite>
+<TestSuite name="swizzle">
+<TestCase name="single_channel">
+<Test name="r_green" />
+<Test name="r_blue" />
+<Test name="r_alpha" />
+<Test name="r_zero" />
+<Test name="r_one" />
+<Test name="g_red" />
+<Test name="g_blue" />
+<Test name="g_alpha" />
+<Test name="g_zero" />
+<Test name="g_one" />
+<Test name="b_red" />
+<Test name="b_green" />
+<Test name="b_alpha" />
+<Test name="b_zero" />
+<Test name="b_one" />
+<Test name="a_red" />
+<Test name="a_green" />
+<Test name="a_blue" />
+<Test name="a_zero" />
+<Test name="a_one" />
+</TestCase>
+<TestCase name="multi_channel">
+<Test name="alpha_all_red" />
+<Test name="alpha_all_green" />
+<Test name="alpha_all_blue" />
+<Test name="alpha_all_alpha" />
+<Test name="alpha_all_zero" />
+<Test name="alpha_all_one" />
+<Test name="alpha_bgra" />
+<Test name="alpha_abgr" />
+<Test name="alpha_one_one_red_green" />
+<Test name="luminance_all_red" />
+<Test name="luminance_all_green" />
+<Test name="luminance_all_blue" />
+<Test name="luminance_all_alpha" />
+<Test name="luminance_all_zero" />
+<Test name="luminance_all_one" />
+<Test name="luminance_bgra" />
+<Test name="luminance_abgr" />
+<Test name="luminance_one_one_red_green" />
+<Test name="luminance_alpha_all_red" />
+<Test name="luminance_alpha_all_green" />
+<Test name="luminance_alpha_all_blue" />
+<Test name="luminance_alpha_all_alpha" />
+<Test name="luminance_alpha_all_zero" />
+<Test name="luminance_alpha_all_one" />
+<Test name="luminance_alpha_bgra" />
+<Test name="luminance_alpha_abgr" />
+<Test name="luminance_alpha_one_one_red_green" />
+<Test name="red_all_red" />
+<Test name="red_all_green" />
+<Test name="red_all_blue" />
+<Test name="red_all_alpha" />
+<Test name="red_all_zero" />
+<Test name="red_all_one" />
+<Test name="red_bgra" />
+<Test name="red_abgr" />
+<Test name="red_one_one_red_green" />
+<Test name="rg_all_red" />
+<Test name="rg_all_green" />
+<Test name="rg_all_blue" />
+<Test name="rg_all_alpha" />
+<Test name="rg_all_zero" />
+<Test name="rg_all_one" />
+<Test name="rg_bgra" />
+<Test name="rg_abgr" />
+<Test name="rg_one_one_red_green" />
+<Test name="rgb_all_red" />
+<Test name="rgb_all_green" />
+<Test name="rgb_all_blue" />
+<Test name="rgb_all_alpha" />
+<Test name="rgb_all_zero" />
+<Test name="rgb_all_one" />
+<Test name="rgb_bgra" />
+<Test name="rgb_abgr" />
+<Test name="rgb_one_one_red_green" />
+<Test name="rgba_all_red" />
+<Test name="rgba_all_green" />
+<Test name="rgba_all_blue" />
+<Test name="rgba_all_alpha" />
+<Test name="rgba_all_zero" />
+<Test name="rgba_all_one" />
+<Test name="rgba_bgra" />
+<Test name="rgba_abgr" />
+<Test name="rgba_one_one_red_green" />
+</TestCase>
+</TestSuite>
+<TestSuite name="shadow">
+<TestSuite name="2d">
+<TestCase name="nearest">
+<Test name="less_or_equal_depth_component16" />
+<Test name="less_or_equal_depth_component32f" />
+<Test name="less_or_equal_depth24_stencil8" />
+<Test name="greater_or_equal_depth_component16" />
+<Test name="greater_or_equal_depth_component32f" />
+<Test name="greater_or_equal_depth24_stencil8" />
+<Test name="less_depth_component16" />
+<Test name="less_depth_component32f" />
+<Test name="less_depth24_stencil8" />
+<Test name="greater_depth_component16" />
+<Test name="greater_depth_component32f" />
+<Test name="greater_depth24_stencil8" />
+<Test name="equal_depth_component16" />
+<Test name="equal_depth_component32f" />
+<Test name="equal_depth24_stencil8" />
+<Test name="not_equal_depth_component16" />
+<Test name="not_equal_depth_component32f" />
+<Test name="not_equal_depth24_stencil8" />
+<Test name="always_depth_component16" />
+<Test name="always_depth_component32f" />
+<Test name="always_depth24_stencil8" />
+<Test name="never_depth_component16" />
+<Test name="never_depth_component32f" />
+<Test name="never_depth24_stencil8" />
+</TestCase>
+<TestCase name="linear">
+<Test name="less_or_equal_depth_component16" />
+<Test name="less_or_equal_depth_component32f" />
+<Test name="less_or_equal_depth24_stencil8" />
+<Test name="greater_or_equal_depth_component16" />
+<Test name="greater_or_equal_depth_component32f" />
+<Test name="greater_or_equal_depth24_stencil8" />
+<Test name="less_depth_component16" />
+<Test name="less_depth_component32f" />
+<Test name="less_depth24_stencil8" />
+<Test name="greater_depth_component16" />
+<Test name="greater_depth_component32f" />
+<Test name="greater_depth24_stencil8" />
+<Test name="equal_depth_component16" />
+<Test name="equal_depth_component32f" />
+<Test name="equal_depth24_stencil8" />
+<Test name="not_equal_depth_component16" />
+<Test name="not_equal_depth_component32f" />
+<Test name="not_equal_depth24_stencil8" />
+<Test name="always_depth_component16" />
+<Test name="always_depth_component32f" />
+<Test name="always_depth24_stencil8" />
+<Test name="never_depth_component16" />
+<Test name="never_depth_component32f" />
+<Test name="never_depth24_stencil8" />
+</TestCase>
+<TestCase name="nearest_mipmap_nearest">
+<Test name="less_or_equal_depth_component16" />
+<Test name="less_or_equal_depth_component32f" />
+<Test name="less_or_equal_depth24_stencil8" />
+<Test name="greater_or_equal_depth_component16" />
+<Test name="greater_or_equal_depth_component32f" />
+<Test name="greater_or_equal_depth24_stencil8" />
+<Test name="less_depth_component16" />
+<Test name="less_depth_component32f" />
+<Test name="less_depth24_stencil8" />
+<Test name="greater_depth_component16" />
+<Test name="greater_depth_component32f" />
+<Test name="greater_depth24_stencil8" />
+<Test name="equal_depth_component16" />
+<Test name="equal_depth_component32f" />
+<Test name="equal_depth24_stencil8" />
+<Test name="not_equal_depth_component16" />
+<Test name="not_equal_depth_component32f" />
+<Test name="not_equal_depth24_stencil8" />
+<Test name="always_depth_component16" />
+<Test name="always_depth_component32f" />
+<Test name="always_depth24_stencil8" />
+<Test name="never_depth_component16" />
+<Test name="never_depth_component32f" />
+<Test name="never_depth24_stencil8" />
+</TestCase>
+<TestCase name="linear_mipmap_nearest">
+<Test name="less_or_equal_depth_component16" />
+<Test name="less_or_equal_depth_component32f" />
+<Test name="less_or_equal_depth24_stencil8" />
+<Test name="greater_or_equal_depth_component16" />
+<Test name="greater_or_equal_depth_component32f" />
+<Test name="greater_or_equal_depth24_stencil8" />
+<Test name="less_depth_component16" />
+<Test name="less_depth_component32f" />
+<Test name="less_depth24_stencil8" />
+<Test name="greater_depth_component16" />
+<Test name="greater_depth_component32f" />
+<Test name="greater_depth24_stencil8" />
+<Test name="equal_depth_component16" />
+<Test name="equal_depth_component32f" />
+<Test name="equal_depth24_stencil8" />
+<Test name="not_equal_depth_component16" />
+<Test name="not_equal_depth_component32f" />
+<Test name="not_equal_depth24_stencil8" />
+<Test name="always_depth_component16" />
+<Test name="always_depth_component32f" />
+<Test name="always_depth24_stencil8" />
+<Test name="never_depth_component16" />
+<Test name="never_depth_component32f" />
+<Test name="never_depth24_stencil8" />
+</TestCase>
+<TestCase name="nearest_mipmap_linear">
+<Test name="less_or_equal_depth_component16" />
+<Test name="less_or_equal_depth_component32f" />
+<Test name="less_or_equal_depth24_stencil8" />
+<Test name="greater_or_equal_depth_component16" />
+<Test name="greater_or_equal_depth_component32f" />
+<Test name="greater_or_equal_depth24_stencil8" />
+<Test name="less_depth_component16" />
+<Test name="less_depth_component32f" />
+<Test name="less_depth24_stencil8" />
+<Test name="greater_depth_component16" />
+<Test name="greater_depth_component32f" />
+<Test name="greater_depth24_stencil8" />
+<Test name="equal_depth_component16" />
+<Test name="equal_depth_component32f" />
+<Test name="equal_depth24_stencil8" />
+<Test name="not_equal_depth_component16" />
+<Test name="not_equal_depth_component32f" />
+<Test name="not_equal_depth24_stencil8" />
+<Test name="always_depth_component16" />
+<Test name="always_depth_component32f" />
+<Test name="always_depth24_stencil8" />
+<Test name="never_depth_component16" />
+<Test name="never_depth_component32f" />
+<Test name="never_depth24_stencil8" />
+</TestCase>
+<TestCase name="linear_mipmap_linear">
+<Test name="less_or_equal_depth_component16" />
+<Test name="less_or_equal_depth_component32f" />
+<Test name="less_or_equal_depth24_stencil8" />
+<Test name="greater_or_equal_depth_component16" />
+<Test name="greater_or_equal_depth_component32f" />
+<Test name="greater_or_equal_depth24_stencil8" />
+<Test name="less_depth_component16" />
+<Test name="less_depth_component32f" />
+<Test name="less_depth24_stencil8" />
+<Test name="greater_depth_component16" />
+<Test name="greater_depth_component32f" />
+<Test name="greater_depth24_stencil8" />
+<Test name="equal_depth_component16" />
+<Test name="equal_depth_component32f" />
+<Test name="equal_depth24_stencil8" />
+<Test name="not_equal_depth_component16" />
+<Test name="not_equal_depth_component32f" />
+<Test name="not_equal_depth24_stencil8" />
+<Test name="always_depth_component16" />
+<Test name="always_depth_component32f" />
+<Test name="always_depth24_stencil8" />
+<Test name="never_depth_component16" />
+<Test name="never_depth_component32f" />
+<Test name="never_depth24_stencil8" />
+</TestCase>
+</TestSuite>
+<TestSuite name="cube">
+<TestCase name="nearest">
+<Test name="less_or_equal_depth_component16" />
+<Test name="less_or_equal_depth_component32f" />
+<Test name="less_or_equal_depth24_stencil8" />
+<Test name="greater_or_equal_depth_component16" />
+<Test name="greater_or_equal_depth_component32f" />
+<Test name="greater_or_equal_depth24_stencil8" />
+<Test name="less_depth_component16" />
+<Test name="less_depth_component32f" />
+<Test name="less_depth24_stencil8" />
+<Test name="greater_depth_component16" />
+<Test name="greater_depth_component32f" />
+<Test name="greater_depth24_stencil8" />
+<Test name="equal_depth_component16" />
+<Test name="equal_depth_component32f" />
+<Test name="equal_depth24_stencil8" />
+<Test name="not_equal_depth_component16" />
+<Test name="not_equal_depth_component32f" />
+<Test name="not_equal_depth24_stencil8" />
+<Test name="always_depth_component16" />
+<Test name="always_depth_component32f" />
+<Test name="always_depth24_stencil8" />
+<Test name="never_depth_component16" />
+<Test name="never_depth_component32f" />
+<Test name="never_depth24_stencil8" />
+</TestCase>
+<TestCase name="linear">
+<Test name="less_or_equal_depth_component16" />
+<Test name="less_or_equal_depth_component32f" />
+<Test name="less_or_equal_depth24_stencil8" />
+<Test name="greater_or_equal_depth_component16" />
+<Test name="greater_or_equal_depth_component32f" />
+<Test name="greater_or_equal_depth24_stencil8" />
+<Test name="less_depth_component16" />
+<Test name="less_depth_component32f" />
+<Test name="less_depth24_stencil8" />
+<Test name="greater_depth_component16" />
+<Test name="greater_depth_component32f" />
+<Test name="greater_depth24_stencil8" />
+<Test name="equal_depth_component16" />
+<Test name="equal_depth_component32f" />
+<Test name="equal_depth24_stencil8" />
+<Test name="not_equal_depth_component16" />
+<Test name="not_equal_depth_component32f" />
+<Test name="not_equal_depth24_stencil8" />
+<Test name="always_depth_component16" />
+<Test name="always_depth_component32f" />
+<Test name="always_depth24_stencil8" />
+<Test name="never_depth_component16" />
+<Test name="never_depth_component32f" />
+<Test name="never_depth24_stencil8" />
+</TestCase>
+<TestCase name="nearest_mipmap_nearest">
+<Test name="less_or_equal_depth_component16" />
+<Test name="less_or_equal_depth_component32f" />
+<Test name="less_or_equal_depth24_stencil8" />
+<Test name="greater_or_equal_depth_component16" />
+<Test name="greater_or_equal_depth_component32f" />
+<Test name="greater_or_equal_depth24_stencil8" />
+<Test name="less_depth_component16" />
+<Test name="less_depth_component32f" />
+<Test name="less_depth24_stencil8" />
+<Test name="greater_depth_component16" />
+<Test name="greater_depth_component32f" />
+<Test name="greater_depth24_stencil8" />
+<Test name="equal_depth_component16" />
+<Test name="equal_depth_component32f" />
+<Test name="equal_depth24_stencil8" />
+<Test name="not_equal_depth_component16" />
+<Test name="not_equal_depth_component32f" />
+<Test name="not_equal_depth24_stencil8" />
+<Test name="always_depth_component16" />
+<Test name="always_depth_component32f" />
+<Test name="always_depth24_stencil8" />
+<Test name="never_depth_component16" />
+<Test name="never_depth_component32f" />
+<Test name="never_depth24_stencil8" />
+</TestCase>
+<TestCase name="linear_mipmap_nearest">
+<Test name="less_or_equal_depth_component16" />
+<Test name="less_or_equal_depth_component32f" />
+<Test name="less_or_equal_depth24_stencil8" />
+<Test name="greater_or_equal_depth_component16" />
+<Test name="greater_or_equal_depth_component32f" />
+<Test name="greater_or_equal_depth24_stencil8" />
+<Test name="less_depth_component16" />
+<Test name="less_depth_component32f" />
+<Test name="less_depth24_stencil8" />
+<Test name="greater_depth_component16" />
+<Test name="greater_depth_component32f" />
+<Test name="greater_depth24_stencil8" />
+<Test name="equal_depth_component16" />
+<Test name="equal_depth_component32f" />
+<Test name="equal_depth24_stencil8" />
+<Test name="not_equal_depth_component16" />
+<Test name="not_equal_depth_component32f" />
+<Test name="not_equal_depth24_stencil8" />
+<Test name="always_depth_component16" />
+<Test name="always_depth_component32f" />
+<Test name="always_depth24_stencil8" />
+<Test name="never_depth_component16" />
+<Test name="never_depth_component32f" />
+<Test name="never_depth24_stencil8" />
+</TestCase>
+<TestCase name="nearest_mipmap_linear">
+<Test name="less_or_equal_depth_component16" />
+<Test name="less_or_equal_depth_component32f" />
+<Test name="less_or_equal_depth24_stencil8" />
+<Test name="greater_or_equal_depth_component16" />
+<Test name="greater_or_equal_depth_component32f" />
+<Test name="greater_or_equal_depth24_stencil8" />
+<Test name="less_depth_component16" />
+<Test name="less_depth_component32f" />
+<Test name="less_depth24_stencil8" />
+<Test name="greater_depth_component16" />
+<Test name="greater_depth_component32f" />
+<Test name="greater_depth24_stencil8" />
+<Test name="equal_depth_component16" />
+<Test name="equal_depth_component32f" />
+<Test name="equal_depth24_stencil8" />
+<Test name="not_equal_depth_component16" />
+<Test name="not_equal_depth_component32f" />
+<Test name="not_equal_depth24_stencil8" />
+<Test name="always_depth_component16" />
+<Test name="always_depth_component32f" />
+<Test name="always_depth24_stencil8" />
+<Test name="never_depth_component16" />
+<Test name="never_depth_component32f" />
+<Test name="never_depth24_stencil8" />
+</TestCase>
+<TestCase name="linear_mipmap_linear">
+<Test name="less_or_equal_depth_component16" />
+<Test name="less_or_equal_depth_component32f" />
+<Test name="less_or_equal_depth24_stencil8" />
+<Test name="greater_or_equal_depth_component16" />
+<Test name="greater_or_equal_depth_component32f" />
+<Test name="greater_or_equal_depth24_stencil8" />
+<Test name="less_depth_component16" />
+<Test name="less_depth_component32f" />
+<Test name="less_depth24_stencil8" />
+<Test name="greater_depth_component16" />
+<Test name="greater_depth_component32f" />
+<Test name="greater_depth24_stencil8" />
+<Test name="equal_depth_component16" />
+<Test name="equal_depth_component32f" />
+<Test name="equal_depth24_stencil8" />
+<Test name="not_equal_depth_component16" />
+<Test name="not_equal_depth_component32f" />
+<Test name="not_equal_depth24_stencil8" />
+<Test name="always_depth_component16" />
+<Test name="always_depth_component32f" />
+<Test name="always_depth24_stencil8" />
+<Test name="never_depth_component16" />
+<Test name="never_depth_component32f" />
+<Test name="never_depth24_stencil8" />
+</TestCase>
+</TestSuite>
+<TestSuite name="2d_array">
+<TestCase name="nearest">
+<Test name="less_or_equal_depth_component16" />
+<Test name="less_or_equal_depth_component32f" />
+<Test name="less_or_equal_depth24_stencil8" />
+<Test name="greater_or_equal_depth_component16" />
+<Test name="greater_or_equal_depth_component32f" />
+<Test name="greater_or_equal_depth24_stencil8" />
+<Test name="less_depth_component16" />
+<Test name="less_depth_component32f" />
+<Test name="less_depth24_stencil8" />
+<Test name="greater_depth_component16" />
+<Test name="greater_depth_component32f" />
+<Test name="greater_depth24_stencil8" />
+<Test name="equal_depth_component16" />
+<Test name="equal_depth_component32f" />
+<Test name="equal_depth24_stencil8" />
+<Test name="not_equal_depth_component16" />
+<Test name="not_equal_depth_component32f" />
+<Test name="not_equal_depth24_stencil8" />
+<Test name="always_depth_component16" />
+<Test name="always_depth_component32f" />
+<Test name="always_depth24_stencil8" />
+<Test name="never_depth_component16" />
+<Test name="never_depth_component32f" />
+<Test name="never_depth24_stencil8" />
+</TestCase>
+<TestCase name="linear">
+<Test name="less_or_equal_depth_component16" />
+<Test name="less_or_equal_depth_component32f" />
+<Test name="less_or_equal_depth24_stencil8" />
+<Test name="greater_or_equal_depth_component16" />
+<Test name="greater_or_equal_depth_component32f" />
+<Test name="greater_or_equal_depth24_stencil8" />
+<Test name="less_depth_component16" />
+<Test name="less_depth_component32f" />
+<Test name="less_depth24_stencil8" />
+<Test name="greater_depth_component16" />
+<Test name="greater_depth_component32f" />
+<Test name="greater_depth24_stencil8" />
+<Test name="equal_depth_component16" />
+<Test name="equal_depth_component32f" />
+<Test name="equal_depth24_stencil8" />
+<Test name="not_equal_depth_component16" />
+<Test name="not_equal_depth_component32f" />
+<Test name="not_equal_depth24_stencil8" />
+<Test name="always_depth_component16" />
+<Test name="always_depth_component32f" />
+<Test name="always_depth24_stencil8" />
+<Test name="never_depth_component16" />
+<Test name="never_depth_component32f" />
+<Test name="never_depth24_stencil8" />
+</TestCase>
+<TestCase name="nearest_mipmap_nearest">
+<Test name="less_or_equal_depth_component16" />
+<Test name="less_or_equal_depth_component32f" />
+<Test name="less_or_equal_depth24_stencil8" />
+<Test name="greater_or_equal_depth_component16" />
+<Test name="greater_or_equal_depth_component32f" />
+<Test name="greater_or_equal_depth24_stencil8" />
+<Test name="less_depth_component16" />
+<Test name="less_depth_component32f" />
+<Test name="less_depth24_stencil8" />
+<Test name="greater_depth_component16" />
+<Test name="greater_depth_component32f" />
+<Test name="greater_depth24_stencil8" />
+<Test name="equal_depth_component16" />
+<Test name="equal_depth_component32f" />
+<Test name="equal_depth24_stencil8" />
+<Test name="not_equal_depth_component16" />
+<Test name="not_equal_depth_component32f" />
+<Test name="not_equal_depth24_stencil8" />
+<Test name="always_depth_component16" />
+<Test name="always_depth_component32f" />
+<Test name="always_depth24_stencil8" />
+<Test name="never_depth_component16" />
+<Test name="never_depth_component32f" />
+<Test name="never_depth24_stencil8" />
+</TestCase>
+<TestCase name="linear_mipmap_nearest">
+<Test name="less_or_equal_depth_component16" />
+<Test name="less_or_equal_depth_component32f" />
+<Test name="less_or_equal_depth24_stencil8" />
+<Test name="greater_or_equal_depth_component16" />
+<Test name="greater_or_equal_depth_component32f" />
+<Test name="greater_or_equal_depth24_stencil8" />
+<Test name="less_depth_component16" />
+<Test name="less_depth_component32f" />
+<Test name="less_depth24_stencil8" />
+<Test name="greater_depth_component16" />
+<Test name="greater_depth_component32f" />
+<Test name="greater_depth24_stencil8" />
+<Test name="equal_depth_component16" />
+<Test name="equal_depth_component32f" />
+<Test name="equal_depth24_stencil8" />
+<Test name="not_equal_depth_component16" />
+<Test name="not_equal_depth_component32f" />
+<Test name="not_equal_depth24_stencil8" />
+<Test name="always_depth_component16" />
+<Test name="always_depth_component32f" />
+<Test name="always_depth24_stencil8" />
+<Test name="never_depth_component16" />
+<Test name="never_depth_component32f" />
+<Test name="never_depth24_stencil8" />
+</TestCase>
+<TestCase name="nearest_mipmap_linear">
+<Test name="less_or_equal_depth_component16" />
+<Test name="less_or_equal_depth_component32f" />
+<Test name="less_or_equal_depth24_stencil8" />
+<Test name="greater_or_equal_depth_component16" />
+<Test name="greater_or_equal_depth_component32f" />
+<Test name="greater_or_equal_depth24_stencil8" />
+<Test name="less_depth_component16" />
+<Test name="less_depth_component32f" />
+<Test name="less_depth24_stencil8" />
+<Test name="greater_depth_component16" />
+<Test name="greater_depth_component32f" />
+<Test name="greater_depth24_stencil8" />
+<Test name="equal_depth_component16" />
+<Test name="equal_depth_component32f" />
+<Test name="equal_depth24_stencil8" />
+<Test name="not_equal_depth_component16" />
+<Test name="not_equal_depth_component32f" />
+<Test name="not_equal_depth24_stencil8" />
+<Test name="always_depth_component16" />
+<Test name="always_depth_component32f" />
+<Test name="always_depth24_stencil8" />
+<Test name="never_depth_component16" />
+<Test name="never_depth_component32f" />
+<Test name="never_depth24_stencil8" />
+</TestCase>
+<TestCase name="linear_mipmap_linear">
+<Test name="less_or_equal_depth_component16" />
+<Test name="less_or_equal_depth_component32f" />
+<Test name="less_or_equal_depth24_stencil8" />
+<Test name="greater_or_equal_depth_component16" />
+<Test name="greater_or_equal_depth_component32f" />
+<Test name="greater_or_equal_depth24_stencil8" />
+<Test name="less_depth_component16" />
+<Test name="less_depth_component32f" />
+<Test name="less_depth24_stencil8" />
+<Test name="greater_depth_component16" />
+<Test name="greater_depth_component32f" />
+<Test name="greater_depth24_stencil8" />
+<Test name="equal_depth_component16" />
+<Test name="equal_depth_component32f" />
+<Test name="equal_depth24_stencil8" />
+<Test name="not_equal_depth_component16" />
+<Test name="not_equal_depth_component32f" />
+<Test name="not_equal_depth24_stencil8" />
+<Test name="always_depth_component16" />
+<Test name="always_depth_component32f" />
+<Test name="always_depth24_stencil8" />
+<Test name="never_depth_component16" />
+<Test name="never_depth_component32f" />
+<Test name="never_depth24_stencil8" />
+</TestCase>
+</TestSuite>
+</TestSuite>
+<TestSuite name="specification">
+<TestCase name="basic_teximage2d">
+<Test name="rgba32f_2d" />
+<Test name="rgba32f_cube" />
+<Test name="rgba32i_2d" />
+<Test name="rgba32i_cube" />
+<Test name="rgba32ui_2d" />
+<Test name="rgba32ui_cube" />
+<Test name="rgba16f_2d" />
+<Test name="rgba16f_cube" />
+<Test name="rgba16i_2d" />
+<Test name="rgba16i_cube" />
+<Test name="rgba16ui_2d" />
+<Test name="rgba16ui_cube" />
+<Test name="rgba8_2d" />
+<Test name="rgba8_cube" />
+<Test name="rgba8i_2d" />
+<Test name="rgba8i_cube" />
+<Test name="rgba8ui_2d" />
+<Test name="rgba8ui_cube" />
+<Test name="srgb8_alpha8_2d" />
+<Test name="srgb8_alpha8_cube" />
+<Test name="rgb10_a2_2d" />
+<Test name="rgb10_a2_cube" />
+<Test name="rgb10_a2ui_2d" />
+<Test name="rgb10_a2ui_cube" />
+<Test name="rgba4_2d" />
+<Test name="rgba4_cube" />
+<Test name="rgb5_a1_2d" />
+<Test name="rgb5_a1_cube" />
+<Test name="rgba8_snorm_2d" />
+<Test name="rgba8_snorm_cube" />
+<Test name="rgb8_2d" />
+<Test name="rgb8_cube" />
+<Test name="rgb565_2d" />
+<Test name="rgb565_cube" />
+<Test name="r11f_g11f_b10f_2d" />
+<Test name="r11f_g11f_b10f_cube" />
+<Test name="rgb32f_2d" />
+<Test name="rgb32f_cube" />
+<Test name="rgb32i_2d" />
+<Test name="rgb32i_cube" />
+<Test name="rgb32ui_2d" />
+<Test name="rgb32ui_cube" />
+<Test name="rgb16f_2d" />
+<Test name="rgb16f_cube" />
+<Test name="rgb16i_2d" />
+<Test name="rgb16i_cube" />
+<Test name="rgb16ui_2d" />
+<Test name="rgb16ui_cube" />
+<Test name="rgb8_snorm_2d" />
+<Test name="rgb8_snorm_cube" />
+<Test name="rgb8i_2d" />
+<Test name="rgb8i_cube" />
+<Test name="rgb8ui_2d" />
+<Test name="rgb8ui_cube" />
+<Test name="srgb8_2d" />
+<Test name="srgb8_cube" />
+<Test name="rgb9_e5_2d" />
+<Test name="rgb9_e5_cube" />
+<Test name="rg32f_2d" />
+<Test name="rg32f_cube" />
+<Test name="rg32i_2d" />
+<Test name="rg32i_cube" />
+<Test name="rg32ui_2d" />
+<Test name="rg32ui_cube" />
+<Test name="rg16f_2d" />
+<Test name="rg16f_cube" />
+<Test name="rg16i_2d" />
+<Test name="rg16i_cube" />
+<Test name="rg16ui_2d" />
+<Test name="rg16ui_cube" />
+<Test name="rg8_2d" />
+<Test name="rg8_cube" />
+<Test name="rg8i_2d" />
+<Test name="rg8i_cube" />
+<Test name="rg8ui_2d" />
+<Test name="rg8ui_cube" />
+<Test name="rg8_snorm_2d" />
+<Test name="rg8_snorm_cube" />
+<Test name="r32f_2d" />
+<Test name="r32f_cube" />
+<Test name="r32i_2d" />
+<Test name="r32i_cube" />
+<Test name="r32ui_2d" />
+<Test name="r32ui_cube" />
+<Test name="r16f_2d" />
+<Test name="r16f_cube" />
+<Test name="r16i_2d" />
+<Test name="r16i_cube" />
+<Test name="r16ui_2d" />
+<Test name="r16ui_cube" />
+<Test name="r8_2d" />
+<Test name="r8_cube" />
+<Test name="r8i_2d" />
+<Test name="r8i_cube" />
+<Test name="r8ui_2d" />
+<Test name="r8ui_cube" />
+<Test name="r8_snorm_2d" />
+<Test name="r8_snorm_cube" />
+</TestCase>
+<TestCase name="random_teximage2d">
+<Test name="2d_0" />
+<Test name="2d_1" />
+<Test name="2d_2" />
+<Test name="2d_3" />
+<Test name="2d_4" />
+<Test name="2d_5" />
+<Test name="2d_6" />
+<Test name="2d_7" />
+<Test name="2d_8" />
+<Test name="2d_9" />
+<Test name="cube_0" />
+<Test name="cube_1" />
+<Test name="cube_2" />
+<Test name="cube_3" />
+<Test name="cube_4" />
+<Test name="cube_5" />
+<Test name="cube_6" />
+<Test name="cube_7" />
+<Test name="cube_8" />
+<Test name="cube_9" />
+</TestCase>
+<TestCase name="teximage2d_align">
+<Test name="2d_r8_4_8" />
+<Test name="2d_r8_63_1" />
+<Test name="2d_r8_63_2" />
+<Test name="2d_r8_63_4" />
+<Test name="2d_r8_63_8" />
+<Test name="2d_rgba4_51_1" />
+<Test name="2d_rgba4_51_2" />
+<Test name="2d_rgba4_51_4" />
+<Test name="2d_rgba4_51_8" />
+<Test name="2d_rgb8_39_1" />
+<Test name="2d_rgb8_39_2" />
+<Test name="2d_rgb8_39_4" />
+<Test name="2d_rgb8_39_8" />
+<Test name="2d_rgba8_47_1" />
+<Test name="2d_rgba8_47_2" />
+<Test name="2d_rgba8_47_4" />
+<Test name="2d_rgba8_47_8" />
+<Test name="cube_r8_4_8" />
+<Test name="cube_r8_63_1" />
+<Test name="cube_r8_63_2" />
+<Test name="cube_r8_63_4" />
+<Test name="cube_r8_63_8" />
+<Test name="cube_rgba4_51_1" />
+<Test name="cube_rgba4_51_2" />
+<Test name="cube_rgba4_51_4" />
+<Test name="cube_rgba4_51_8" />
+<Test name="cube_rgb8_39_1" />
+<Test name="cube_rgb8_39_2" />
+<Test name="cube_rgb8_39_4" />
+<Test name="cube_rgb8_39_8" />
+<Test name="cube_rgba8_47_1" />
+<Test name="cube_rgba8_47_2" />
+<Test name="cube_rgba8_47_4" />
+<Test name="cube_rgba8_47_8" />
+</TestCase>
+<TestCase name="teximage2d_unpack_params">
+<Test name="rgb8_alignment" />
+<Test name="rgb8_row_length" />
+<Test name="rgb8_skip_rows" />
+<Test name="rgb8_skip_pixels" />
+<Test name="r8_complex1" />
+<Test name="r8_complex2" />
+<Test name="r8_complex3" />
+<Test name="r8_complex4" />
+<Test name="rgba8_complex1" />
+<Test name="rgba8_complex2" />
+<Test name="rgba8_complex3" />
+<Test name="rgba8_complex4" />
+<Test name="rgba32f_complex" />
+</TestCase>
+<TestCase name="teximage2d_pbo">
+<Test name="rgba32f_2d" />
+<Test name="rgba32f_cube" />
+<Test name="rgba32i_2d" />
+<Test name="rgba32i_cube" />
+<Test name="rgba32ui_2d" />
+<Test name="rgba32ui_cube" />
+<Test name="rgba16f_2d" />
+<Test name="rgba16f_cube" />
+<Test name="rgba16i_2d" />
+<Test name="rgba16i_cube" />
+<Test name="rgba16ui_2d" />
+<Test name="rgba16ui_cube" />
+<Test name="rgba8_2d" />
+<Test name="rgba8_cube" />
+<Test name="rgba8i_2d" />
+<Test name="rgba8i_cube" />
+<Test name="rgba8ui_2d" />
+<Test name="rgba8ui_cube" />
+<Test name="srgb8_alpha8_2d" />
+<Test name="srgb8_alpha8_cube" />
+<Test name="rgb10_a2_2d" />
+<Test name="rgb10_a2_cube" />
+<Test name="rgb10_a2ui_2d" />
+<Test name="rgb10_a2ui_cube" />
+<Test name="rgba4_2d" />
+<Test name="rgba4_cube" />
+<Test name="rgb5_a1_2d" />
+<Test name="rgb5_a1_cube" />
+<Test name="rgba8_snorm_2d" />
+<Test name="rgba8_snorm_cube" />
+<Test name="rgb8_2d" />
+<Test name="rgb8_cube" />
+<Test name="rgb565_2d" />
+<Test name="rgb565_cube" />
+<Test name="r11f_g11f_b10f_2d" />
+<Test name="r11f_g11f_b10f_cube" />
+<Test name="rgb32f_2d" />
+<Test name="rgb32f_cube" />
+<Test name="rgb32i_2d" />
+<Test name="rgb32i_cube" />
+<Test name="rgb32ui_2d" />
+<Test name="rgb32ui_cube" />
+<Test name="rgb16f_2d" />
+<Test name="rgb16f_cube" />
+<Test name="rgb16i_2d" />
+<Test name="rgb16i_cube" />
+<Test name="rgb16ui_2d" />
+<Test name="rgb16ui_cube" />
+<Test name="rgb8_snorm_2d" />
+<Test name="rgb8_snorm_cube" />
+<Test name="rgb8i_2d" />
+<Test name="rgb8i_cube" />
+<Test name="rgb8ui_2d" />
+<Test name="rgb8ui_cube" />
+<Test name="srgb8_2d" />
+<Test name="srgb8_cube" />
+<Test name="rgb9_e5_2d" />
+<Test name="rgb9_e5_cube" />
+<Test name="rg32f_2d" />
+<Test name="rg32f_cube" />
+<Test name="rg32i_2d" />
+<Test name="rg32i_cube" />
+<Test name="rg32ui_2d" />
+<Test name="rg32ui_cube" />
+<Test name="rg16f_2d" />
+<Test name="rg16f_cube" />
+<Test name="rg16i_2d" />
+<Test name="rg16i_cube" />
+<Test name="rg16ui_2d" />
+<Test name="rg16ui_cube" />
+<Test name="rg8_2d" />
+<Test name="rg8_cube" />
+<Test name="rg8i_2d" />
+<Test name="rg8i_cube" />
+<Test name="rg8ui_2d" />
+<Test name="rg8ui_cube" />
+<Test name="rg8_snorm_2d" />
+<Test name="rg8_snorm_cube" />
+<Test name="r32f_2d" />
+<Test name="r32f_cube" />
+<Test name="r32i_2d" />
+<Test name="r32i_cube" />
+<Test name="r32ui_2d" />
+<Test name="r32ui_cube" />
+<Test name="r16f_2d" />
+<Test name="r16f_cube" />
+<Test name="r16i_2d" />
+<Test name="r16i_cube" />
+<Test name="r16ui_2d" />
+<Test name="r16ui_cube" />
+<Test name="r8_2d" />
+<Test name="r8_cube" />
+<Test name="r8i_2d" />
+<Test name="r8i_cube" />
+<Test name="r8ui_2d" />
+<Test name="r8ui_cube" />
+<Test name="r8_snorm_2d" />
+<Test name="r8_snorm_cube" />
+<Test name="rgb8_offset_2d" />
+<Test name="rgb8_offset_cube" />
+<Test name="rgb8_alignment_2d" />
+<Test name="rgb8_alignment_cube" />
+<Test name="rgb8_row_length_2d" />
+<Test name="rgb8_row_length_cube" />
+<Test name="rgb8_skip_rows_2d" />
+<Test name="rgb8_skip_rows_cube" />
+<Test name="rgb8_skip_pixels_2d" />
+<Test name="rgb8_skip_pixels_cube" />
+</TestCase>
+<TestCase name="teximage2d_depth">
+<Test name="depth_component32f" />
+<Test name="depth_component24" />
+<Test name="depth_component16" />
+<Test name="depth32f_stencil8" />
+<Test name="depth24_stencil8" />
+</TestCase>
+<TestCase name="teximage2d_depth_pbo">
+<Test name="depth_component32f" />
+<Test name="depth_component24" />
+<Test name="depth_component16" />
+<Test name="depth32f_stencil8" />
+<Test name="depth24_stencil8" />
+</TestCase>
+<TestCase name="basic_texsubimage2d">
+<Test name="rgba32f_2d" />
+<Test name="rgba32f_cube" />
+<Test name="rgba32i_2d" />
+<Test name="rgba32i_cube" />
+<Test name="rgba32ui_2d" />
+<Test name="rgba32ui_cube" />
+<Test name="rgba16f_2d" />
+<Test name="rgba16f_cube" />
+<Test name="rgba16i_2d" />
+<Test name="rgba16i_cube" />
+<Test name="rgba16ui_2d" />
+<Test name="rgba16ui_cube" />
+<Test name="rgba8_2d" />
+<Test name="rgba8_cube" />
+<Test name="rgba8i_2d" />
+<Test name="rgba8i_cube" />
+<Test name="rgba8ui_2d" />
+<Test name="rgba8ui_cube" />
+<Test name="srgb8_alpha8_2d" />
+<Test name="srgb8_alpha8_cube" />
+<Test name="rgb10_a2_2d" />
+<Test name="rgb10_a2_cube" />
+<Test name="rgb10_a2ui_2d" />
+<Test name="rgb10_a2ui_cube" />
+<Test name="rgba4_2d" />
+<Test name="rgba4_cube" />
+<Test name="rgb5_a1_2d" />
+<Test name="rgb5_a1_cube" />
+<Test name="rgba8_snorm_2d" />
+<Test name="rgba8_snorm_cube" />
+<Test name="rgb8_2d" />
+<Test name="rgb8_cube" />
+<Test name="rgb565_2d" />
+<Test name="rgb565_cube" />
+<Test name="r11f_g11f_b10f_2d" />
+<Test name="r11f_g11f_b10f_cube" />
+<Test name="rgb32f_2d" />
+<Test name="rgb32f_cube" />
+<Test name="rgb32i_2d" />
+<Test name="rgb32i_cube" />
+<Test name="rgb32ui_2d" />
+<Test name="rgb32ui_cube" />
+<Test name="rgb16f_2d" />
+<Test name="rgb16f_cube" />
+<Test name="rgb16i_2d" />
+<Test name="rgb16i_cube" />
+<Test name="rgb16ui_2d" />
+<Test name="rgb16ui_cube" />
+<Test name="rgb8_snorm_2d" />
+<Test name="rgb8_snorm_cube" />
+<Test name="rgb8i_2d" />
+<Test name="rgb8i_cube" />
+<Test name="rgb8ui_2d" />
+<Test name="rgb8ui_cube" />
+<Test name="srgb8_2d" />
+<Test name="srgb8_cube" />
+<Test name="rgb9_e5_2d" />
+<Test name="rgb9_e5_cube" />
+<Test name="rg32f_2d" />
+<Test name="rg32f_cube" />
+<Test name="rg32i_2d" />
+<Test name="rg32i_cube" />
+<Test name="rg32ui_2d" />
+<Test name="rg32ui_cube" />
+<Test name="rg16f_2d" />
+<Test name="rg16f_cube" />
+<Test name="rg16i_2d" />
+<Test name="rg16i_cube" />
+<Test name="rg16ui_2d" />
+<Test name="rg16ui_cube" />
+<Test name="rg8_2d" />
+<Test name="rg8_cube" />
+<Test name="rg8i_2d" />
+<Test name="rg8i_cube" />
+<Test name="rg8ui_2d" />
+<Test name="rg8ui_cube" />
+<Test name="rg8_snorm_2d" />
+<Test name="rg8_snorm_cube" />
+<Test name="r32f_2d" />
+<Test name="r32f_cube" />
+<Test name="r32i_2d" />
+<Test name="r32i_cube" />
+<Test name="r32ui_2d" />
+<Test name="r32ui_cube" />
+<Test name="r16f_2d" />
+<Test name="r16f_cube" />
+<Test name="r16i_2d" />
+<Test name="r16i_cube" />
+<Test name="r16ui_2d" />
+<Test name="r16ui_cube" />
+<Test name="r8_2d" />
+<Test name="r8_cube" />
+<Test name="r8i_2d" />
+<Test name="r8i_cube" />
+<Test name="r8ui_2d" />
+<Test name="r8ui_cube" />
+<Test name="r8_snorm_2d" />
+<Test name="r8_snorm_cube" />
+</TestCase>
+<TestCase name="texsubimage2d_empty_tex">
+<Test name="alpha_unsigned_byte_2d" />
+<Test name="alpha_unsigned_byte_cube" />
+<Test name="luminance_unsigned_byte_2d" />
+<Test name="luminance_unsigned_byte_cube" />
+<Test name="luminance_alpha_unsigned_byte_2d" />
+<Test name="luminance_alpha_unsigned_byte_cube" />
+<Test name="rgb_unsigned_short_5_6_5_2d" />
+<Test name="rgb_unsigned_short_5_6_5_cube" />
+<Test name="rgb_unsigned_byte_2d" />
+<Test name="rgb_unsigned_byte_cube" />
+<Test name="rgba_unsigned_short_4_4_4_4_2d" />
+<Test name="rgba_unsigned_short_4_4_4_4_cube" />
+<Test name="rgba_unsigned_short_5_5_5_1_2d" />
+<Test name="rgba_unsigned_short_5_5_5_1_cube" />
+<Test name="rgba_unsigned_byte_2d" />
+<Test name="rgba_unsigned_byte_cube" />
+</TestCase>
+<TestCase name="texsubimage2d_align">
+<Test name="2d_r8_1_1" />
+<Test name="2d_r8_1_2" />
+<Test name="2d_r8_1_4" />
+<Test name="2d_r8_1_8" />
+<Test name="2d_r8_63_1" />
+<Test name="2d_r8_63_2" />
+<Test name="2d_r8_63_4" />
+<Test name="2d_r8_63_8" />
+<Test name="2d_rgba4_51_1" />
+<Test name="2d_rgba4_51_2" />
+<Test name="2d_rgba4_51_4" />
+<Test name="2d_rgba4_51_8" />
+<Test name="2d_rgb8_39_1" />
+<Test name="2d_rgb8_39_2" />
+<Test name="2d_rgb8_39_4" />
+<Test name="2d_rgb8_39_8" />
+<Test name="2d_rgba8_47_1" />
+<Test name="2d_rgba8_47_2" />
+<Test name="2d_rgba8_47_4" />
+<Test name="2d_rgba8_47_8" />
+<Test name="cube_r8_1_1" />
+<Test name="cube_r8_1_2" />
+<Test name="cube_r8_1_4" />
+<Test name="cube_r8_1_8" />
+<Test name="cube_r8_63_1" />
+<Test name="cube_r8_63_2" />
+<Test name="cube_r8_63_4" />
+<Test name="cube_r8_63_8" />
+<Test name="cube_rgba4_51_1" />
+<Test name="cube_rgba4_51_2" />
+<Test name="cube_rgba4_51_4" />
+<Test name="cube_rgba4_51_8" />
+<Test name="cube_rgb8_39_1" />
+<Test name="cube_rgb8_39_2" />
+<Test name="cube_rgb8_39_4" />
+<Test name="cube_rgb8_39_8" />
+<Test name="cube_rgba8_47_1" />
+<Test name="cube_rgba8_47_2" />
+<Test name="cube_rgba8_47_4" />
+<Test name="cube_rgba8_47_8" />
+</TestCase>
+<TestCase name="texsubimage2d_unpack_params">
+<Test name="rgb8_alignment" />
+<Test name="rgb8_row_length" />
+<Test name="rgb8_skip_rows" />
+<Test name="rgb8_skip_pixels" />
+<Test name="r8_complex1" />
+<Test name="r8_complex2" />
+<Test name="r8_complex3" />
+<Test name="r8_complex4" />
+<Test name="rgba8_complex1" />
+<Test name="rgba8_complex2" />
+<Test name="rgba8_complex3" />
+<Test name="rgba8_complex4" />
+<Test name="rgba32f_complex" />
+</TestCase>
+<TestCase name="texsubimage2d_pbo">
+<Test name="rgba32f_2d" />
+<Test name="rgba32f_cube" />
+<Test name="rgba32i_2d" />
+<Test name="rgba32i_cube" />
+<Test name="rgba32ui_2d" />
+<Test name="rgba32ui_cube" />
+<Test name="rgba16f_2d" />
+<Test name="rgba16f_cube" />
+<Test name="rgba16i_2d" />
+<Test name="rgba16i_cube" />
+<Test name="rgba16ui_2d" />
+<Test name="rgba16ui_cube" />
+<Test name="rgba8_2d" />
+<Test name="rgba8_cube" />
+<Test name="rgba8i_2d" />
+<Test name="rgba8i_cube" />
+<Test name="rgba8ui_2d" />
+<Test name="rgba8ui_cube" />
+<Test name="srgb8_alpha8_2d" />
+<Test name="srgb8_alpha8_cube" />
+<Test name="rgb10_a2_2d" />
+<Test name="rgb10_a2_cube" />
+<Test name="rgb10_a2ui_2d" />
+<Test name="rgb10_a2ui_cube" />
+<Test name="rgba4_2d" />
+<Test name="rgba4_cube" />
+<Test name="rgb5_a1_2d" />
+<Test name="rgb5_a1_cube" />
+<Test name="rgba8_snorm_2d" />
+<Test name="rgba8_snorm_cube" />
+<Test name="rgb8_2d" />
+<Test name="rgb8_cube" />
+<Test name="rgb565_2d" />
+<Test name="rgb565_cube" />
+<Test name="r11f_g11f_b10f_2d" />
+<Test name="r11f_g11f_b10f_cube" />
+<Test name="rgb32f_2d" />
+<Test name="rgb32f_cube" />
+<Test name="rgb32i_2d" />
+<Test name="rgb32i_cube" />
+<Test name="rgb32ui_2d" />
+<Test name="rgb32ui_cube" />
+<Test name="rgb16f_2d" />
+<Test name="rgb16f_cube" />
+<Test name="rgb16i_2d" />
+<Test name="rgb16i_cube" />
+<Test name="rgb16ui_2d" />
+<Test name="rgb16ui_cube" />
+<Test name="rgb8_snorm_2d" />
+<Test name="rgb8_snorm_cube" />
+<Test name="rgb8i_2d" />
+<Test name="rgb8i_cube" />
+<Test name="rgb8ui_2d" />
+<Test name="rgb8ui_cube" />
+<Test name="srgb8_2d" />
+<Test name="srgb8_cube" />
+<Test name="rgb9_e5_2d" />
+<Test name="rgb9_e5_cube" />
+<Test name="rg32f_2d" />
+<Test name="rg32f_cube" />
+<Test name="rg32i_2d" />
+<Test name="rg32i_cube" />
+<Test name="rg32ui_2d" />
+<Test name="rg32ui_cube" />
+<Test name="rg16f_2d" />
+<Test name="rg16f_cube" />
+<Test name="rg16i_2d" />
+<Test name="rg16i_cube" />
+<Test name="rg16ui_2d" />
+<Test name="rg16ui_cube" />
+<Test name="rg8_2d" />
+<Test name="rg8_cube" />
+<Test name="rg8i_2d" />
+<Test name="rg8i_cube" />
+<Test name="rg8ui_2d" />
+<Test name="rg8ui_cube" />
+<Test name="rg8_snorm_2d" />
+<Test name="rg8_snorm_cube" />
+<Test name="r32f_2d" />
+<Test name="r32f_cube" />
+<Test name="r32i_2d" />
+<Test name="r32i_cube" />
+<Test name="r32ui_2d" />
+<Test name="r32ui_cube" />
+<Test name="r16f_2d" />
+<Test name="r16f_cube" />
+<Test name="r16i_2d" />
+<Test name="r16i_cube" />
+<Test name="r16ui_2d" />
+<Test name="r16ui_cube" />
+<Test name="r8_2d" />
+<Test name="r8_cube" />
+<Test name="r8i_2d" />
+<Test name="r8i_cube" />
+<Test name="r8ui_2d" />
+<Test name="r8ui_cube" />
+<Test name="r8_snorm_2d" />
+<Test name="r8_snorm_cube" />
+<Test name="rgb8_offset_2d" />
+<Test name="rgb8_offset_cube" />
+<Test name="rgb8_alignment_2d" />
+<Test name="rgb8_alignment_cube" />
+<Test name="rgb8_row_length_2d" />
+<Test name="rgb8_row_length_cube" />
+<Test name="rgb8_skip_rows_2d" />
+<Test name="rgb8_skip_rows_cube" />
+<Test name="rgb8_skip_pixels_2d" />
+<Test name="rgb8_skip_pixels_cube" />
+</TestCase>
+<TestCase name="texsubimage2d_depth">
+<Test name="depth_component32f" />
+<Test name="depth_component24" />
+<Test name="depth_component16" />
+<Test name="depth32f_stencil8" />
+<Test name="depth24_stencil8" />
+</TestCase>
+<TestCase name="basic_copyteximage2d">
+<Test name="2d_alpha" />
+<Test name="2d_luminance" />
+<Test name="2d_luminance_alpha" />
+<Test name="2d_rgb" />
+<Test name="2d_rgba" />
+<Test name="cube_alpha" />
+<Test name="cube_luminance" />
+<Test name="cube_luminance_alpha" />
+<Test name="cube_rgb" />
+<Test name="cube_rgba" />
+</TestCase>
+<TestCase name="basic_copytexsubimage2d">
+<Test name="2d_alpha" />
+<Test name="2d_luminance" />
+<Test name="2d_luminance_alpha" />
+<Test name="2d_rgb" />
+<Test name="2d_rgba" />
+<Test name="cube_alpha" />
+<Test name="cube_luminance" />
+<Test name="cube_luminance_alpha" />
+<Test name="cube_rgb" />
+<Test name="cube_rgba" />
+</TestCase>
+<TestCase name="basic_teximage3d">
+<Test name="rgba32f_2d_array" />
+<Test name="rgba32i_2d_array" />
+<Test name="rgba32ui_2d_array" />
+<Test name="rgba16f_2d_array" />
+<Test name="rgba16i_2d_array" />
+<Test name="rgba16ui_2d_array" />
+<Test name="rgba8_2d_array" />
+<Test name="rgba8i_2d_array" />
+<Test name="rgba8ui_2d_array" />
+<Test name="srgb8_alpha8_2d_array" />
+<Test name="rgb10_a2_2d_array" />
+<Test name="rgb10_a2ui_2d_array" />
+<Test name="rgba4_2d_array" />
+<Test name="rgba4_3d" />
+<Test name="rgb5_a1_2d_array" />
+<Test name="rgba8_snorm_2d_array" />
+<Test name="rgb8_2d_array" />
+<Test name="rgb565_2d_array" />
+<Test name="rgb565_3d" />
+<Test name="r11f_g11f_b10f_2d_array" />
+<Test name="rgb32f_2d_array" />
+<Test name="rgb32i_2d_array" />
+<Test name="rgb32ui_2d_array" />
+<Test name="rgb16f_2d_array" />
+<Test name="rgb16i_2d_array" />
+<Test name="rgb16ui_2d_array" />
+<Test name="rgb8_snorm_2d_array" />
+<Test name="rgb8i_2d_array" />
+<Test name="rgb8ui_2d_array" />
+<Test name="srgb8_2d_array" />
+<Test name="rgb9_e5_2d_array" />
+<Test name="rg32f_2d_array" />
+<Test name="rg32i_2d_array" />
+<Test name="rg32ui_2d_array" />
+<Test name="rg16f_2d_array" />
+<Test name="rg16i_2d_array" />
+<Test name="rg16ui_2d_array" />
+<Test name="rg8_2d_array" />
+<Test name="rg8i_2d_array" />
+<Test name="rg8ui_2d_array" />
+<Test name="rg8_snorm_2d_array" />
+<Test name="r32f_2d_array" />
+<Test name="r32i_2d_array" />
+<Test name="r32ui_2d_array" />
+<Test name="r16f_2d_array" />
+<Test name="r16i_2d_array" />
+<Test name="r16ui_2d_array" />
+<Test name="r8_2d_array" />
+<Test name="r8i_2d_array" />
+<Test name="r8ui_2d_array" />
+<Test name="r8_snorm_2d_array" />
+</TestCase>
+<TestCase name="teximage3d_unpack_params">
+<Test name="rgb8_image_height" />
+<Test name="rgb8_row_length" />
+<Test name="rgb8_skip_images" />
+<Test name="rgb8_skip_rows" />
+<Test name="rgb8_skip_pixels" />
+<Test name="r8_complex1" />
+<Test name="r8_complex2" />
+<Test name="r8_complex3" />
+<Test name="r8_complex4" />
+<Test name="rgba8_complex1" />
+<Test name="rgba8_complex2" />
+<Test name="rgba8_complex3" />
+<Test name="rgba8_complex4" />
+<Test name="rgba32f_complex" />
+</TestCase>
+<TestCase name="teximage3d_pbo">
+<Test name="rgba32f_2d_array" />
+<Test name="rgba32f_3d" />
+<Test name="rgba32i_2d_array" />
+<Test name="rgba32i_3d" />
+<Test name="rgba32ui_2d_array" />
+<Test name="rgba32ui_3d" />
+<Test name="rgba16f_2d_array" />
+<Test name="rgba16f_3d" />
+<Test name="rgba16i_2d_array" />
+<Test name="rgba16i_3d" />
+<Test name="rgba16ui_2d_array" />
+<Test name="rgba16ui_3d" />
+<Test name="rgba8_2d_array" />
+<Test name="rgba8_3d" />
+<Test name="rgba8i_2d_array" />
+<Test name="rgba8i_3d" />
+<Test name="rgba8ui_2d_array" />
+<Test name="rgba8ui_3d" />
+<Test name="srgb8_alpha8_2d_array" />
+<Test name="srgb8_alpha8_3d" />
+<Test name="rgb10_a2_2d_array" />
+<Test name="rgb10_a2_3d" />
+<Test name="rgb10_a2ui_2d_array" />
+<Test name="rgb10_a2ui_3d" />
+<Test name="rgba4_2d_array" />
+<Test name="rgba4_3d" />
+<Test name="rgb5_a1_2d_array" />
+<Test name="rgb5_a1_3d" />
+<Test name="rgba8_snorm_2d_array" />
+<Test name="rgba8_snorm_3d" />
+<Test name="rgb8_2d_array" />
+<Test name="rgb8_3d" />
+<Test name="rgb565_2d_array" />
+<Test name="rgb565_3d" />
+<Test name="r11f_g11f_b10f_2d_array" />
+<Test name="r11f_g11f_b10f_3d" />
+<Test name="rgb32f_2d_array" />
+<Test name="rgb32f_3d" />
+<Test name="rgb32i_2d_array" />
+<Test name="rgb32i_3d" />
+<Test name="rgb32ui_2d_array" />
+<Test name="rgb32ui_3d" />
+<Test name="rgb16f_2d_array" />
+<Test name="rgb16f_3d" />
+<Test name="rgb16i_2d_array" />
+<Test name="rgb16i_3d" />
+<Test name="rgb16ui_2d_array" />
+<Test name="rgb16ui_3d" />
+<Test name="rgb8_snorm_2d_array" />
+<Test name="rgb8_snorm_3d" />
+<Test name="rgb8i_2d_array" />
+<Test name="rgb8i_3d" />
+<Test name="rgb8ui_2d_array" />
+<Test name="rgb8ui_3d" />
+<Test name="srgb8_2d_array" />
+<Test name="srgb8_3d" />
+<Test name="rgb9_e5_2d_array" />
+<Test name="rgb9_e5_3d" />
+<Test name="rg32f_2d_array" />
+<Test name="rg32f_3d" />
+<Test name="rg32i_2d_array" />
+<Test name="rg32i_3d" />
+<Test name="rg32ui_2d_array" />
+<Test name="rg32ui_3d" />
+<Test name="rg16f_2d_array" />
+<Test name="rg16f_3d" />
+<Test name="rg16i_2d_array" />
+<Test name="rg16i_3d" />
+<Test name="rg16ui_2d_array" />
+<Test name="rg16ui_3d" />
+<Test name="rg8_2d_array" />
+<Test name="rg8_3d" />
+<Test name="rg8i_2d_array" />
+<Test name="rg8i_3d" />
+<Test name="rg8ui_2d_array" />
+<Test name="rg8ui_3d" />
+<Test name="rg8_snorm_2d_array" />
+<Test name="rg8_snorm_3d" />
+<Test name="r32f_2d_array" />
+<Test name="r32f_3d" />
+<Test name="r32i_2d_array" />
+<Test name="r32i_3d" />
+<Test name="r32ui_2d_array" />
+<Test name="r32ui_3d" />
+<Test name="r16f_2d_array" />
+<Test name="r16f_3d" />
+<Test name="r16i_2d_array" />
+<Test name="r16i_3d" />
+<Test name="r16ui_2d_array" />
+<Test name="r16ui_3d" />
+<Test name="r8_2d_array" />
+<Test name="r8_3d" />
+<Test name="r8i_2d_array" />
+<Test name="r8i_3d" />
+<Test name="r8ui_2d_array" />
+<Test name="r8ui_3d" />
+<Test name="r8_snorm_2d_array" />
+<Test name="r8_snorm_3d" />
+<Test name="rgb8_offset_2d_array" />
+<Test name="rgb8_offset_3d" />
+<Test name="rgb8_alignment_2d_array" />
+<Test name="rgb8_alignment_3d" />
+<Test name="rgb8_image_height_2d_array" />
+<Test name="rgb8_image_height_3d" />
+<Test name="rgb8_row_length_2d_array" />
+<Test name="rgb8_row_length_3d" />
+<Test name="rgb8_skip_images_2d_array" />
+<Test name="rgb8_skip_images_3d" />
+<Test name="rgb8_skip_rows_2d_array" />
+<Test name="rgb8_skip_rows_3d" />
+<Test name="rgb8_skip_pixels_2d_array" />
+<Test name="rgb8_skip_pixels_3d" />
+</TestCase>
+<TestCase name="teximage3d_depth">
+<Test name="depth_component32f_2d_array" />
+<Test name="depth_component24_2d_array" />
+<Test name="depth_component16_2d_array" />
+<Test name="depth32f_stencil8_2d_array" />
+<Test name="depth24_stencil8_2d_array" />
+</TestCase>
+<TestCase name="teximage3d_depth_pbo">
+<Test name="depth_component32f_2d_array" />
+<Test name="depth_component24_2d_array" />
+<Test name="depth32f_stencil8_2d_array" />
+<Test name="depth24_stencil8_2d_array" />
+</TestCase>
+<TestCase name="basic_texsubimage3d">
+<Test name="rgba32f_3d" />
+<Test name="rgba32i_3d" />
+<Test name="rgba32ui_3d" />
+<Test name="rgba16f_3d" />
+<Test name="rgba16i_3d" />
+<Test name="rgba16ui_3d" />
+<Test name="rgba8_3d" />
+<Test name="rgba8i_3d" />
+<Test name="rgba8ui_3d" />
+<Test name="srgb8_alpha8_3d" />
+<Test name="rgb10_a2_3d" />
+<Test name="rgb10_a2ui_3d" />
+<Test name="rgba4_3d" />
+<Test name="rgb5_a1_3d" />
+<Test name="rgba8_snorm_3d" />
+<Test name="rgb8_3d" />
+<Test name="rgb565_3d" />
+<Test name="r11f_g11f_b10f_3d" />
+<Test name="rgb32f_3d" />
+<Test name="rgb32i_3d" />
+<Test name="rgb32ui_3d" />
+<Test name="rgb16f_3d" />
+<Test name="rgb16i_3d" />
+<Test name="rgb16ui_3d" />
+<Test name="rgb8_snorm_3d" />
+<Test name="rgb8i_3d" />
+<Test name="rgb8ui_3d" />
+<Test name="srgb8_3d" />
+<Test name="rgb9_e5_3d" />
+<Test name="rg32f_3d" />
+<Test name="rg32i_3d" />
+<Test name="rg32ui_3d" />
+<Test name="rg16f_3d" />
+<Test name="rg16i_3d" />
+<Test name="rg16ui_3d" />
+<Test name="rg8_3d" />
+<Test name="rg8i_3d" />
+<Test name="rg8ui_3d" />
+<Test name="rg8_snorm_3d" />
+<Test name="r32f_3d" />
+<Test name="r32i_3d" />
+<Test name="r32ui_3d" />
+<Test name="r16f_3d" />
+<Test name="r16i_3d" />
+<Test name="r16ui_3d" />
+<Test name="r8_3d" />
+<Test name="r8i_3d" />
+<Test name="r8ui_3d" />
+<Test name="r8_snorm_3d" />
+</TestCase>
+<TestCase name="texsubimage3d_unpack_params">
+<Test name="rgb8_image_height" />
+<Test name="rgb8_row_length" />
+<Test name="rgb8_skip_images" />
+<Test name="rgb8_skip_rows" />
+<Test name="rgb8_skip_pixels" />
+<Test name="r8_complex1" />
+<Test name="r8_complex2" />
+<Test name="r8_complex3" />
+<Test name="r8_complex4" />
+<Test name="rgba8_complex1" />
+<Test name="rgba8_complex2" />
+<Test name="rgba8_complex3" />
+<Test name="rgba8_complex4" />
+<Test name="rgba32f_complex" />
+</TestCase>
+<TestCase name="texsubimage3d_pbo">
+<Test name="rgba32f_2d_array" />
+<Test name="rgba32f_3d" />
+<Test name="rgba32i_2d_array" />
+<Test name="rgba32i_3d" />
+<Test name="rgba32ui_2d_array" />
+<Test name="rgba32ui_3d" />
+<Test name="rgba16f_2d_array" />
+<Test name="rgba16f_3d" />
+<Test name="rgba16i_2d_array" />
+<Test name="rgba16i_3d" />
+<Test name="rgba16ui_2d_array" />
+<Test name="rgba16ui_3d" />
+<Test name="rgba8_2d_array" />
+<Test name="rgba8_3d" />
+<Test name="rgba8i_2d_array" />
+<Test name="rgba8i_3d" />
+<Test name="rgba8ui_2d_array" />
+<Test name="rgba8ui_3d" />
+<Test name="srgb8_alpha8_2d_array" />
+<Test name="srgb8_alpha8_3d" />
+<Test name="rgb10_a2_2d_array" />
+<Test name="rgb10_a2_3d" />
+<Test name="rgb10_a2ui_2d_array" />
+<Test name="rgb10_a2ui_3d" />
+<Test name="rgba4_2d_array" />
+<Test name="rgba4_3d" />
+<Test name="rgb5_a1_2d_array" />
+<Test name="rgb5_a1_3d" />
+<Test name="rgba8_snorm_2d_array" />
+<Test name="rgba8_snorm_3d" />
+<Test name="rgb8_2d_array" />
+<Test name="rgb8_3d" />
+<Test name="rgb565_2d_array" />
+<Test name="rgb565_3d" />
+<Test name="r11f_g11f_b10f_2d_array" />
+<Test name="r11f_g11f_b10f_3d" />
+<Test name="rgb32f_2d_array" />
+<Test name="rgb32f_3d" />
+<Test name="rgb32i_2d_array" />
+<Test name="rgb32i_3d" />
+<Test name="rgb32ui_2d_array" />
+<Test name="rgb32ui_3d" />
+<Test name="rgb16f_2d_array" />
+<Test name="rgb16f_3d" />
+<Test name="rgb16i_2d_array" />
+<Test name="rgb16i_3d" />
+<Test name="rgb16ui_2d_array" />
+<Test name="rgb16ui_3d" />
+<Test name="rgb8_snorm_2d_array" />
+<Test name="rgb8_snorm_3d" />
+<Test name="rgb8i_2d_array" />
+<Test name="rgb8i_3d" />
+<Test name="rgb8ui_2d_array" />
+<Test name="rgb8ui_3d" />
+<Test name="srgb8_2d_array" />
+<Test name="srgb8_3d" />
+<Test name="rgb9_e5_2d_array" />
+<Test name="rgb9_e5_3d" />
+<Test name="rg32f_2d_array" />
+<Test name="rg32f_3d" />
+<Test name="rg32i_2d_array" />
+<Test name="rg32i_3d" />
+<Test name="rg32ui_2d_array" />
+<Test name="rg32ui_3d" />
+<Test name="rg16f_2d_array" />
+<Test name="rg16f_3d" />
+<Test name="rg16i_2d_array" />
+<Test name="rg16i_3d" />
+<Test name="rg16ui_2d_array" />
+<Test name="rg16ui_3d" />
+<Test name="rg8_2d_array" />
+<Test name="rg8_3d" />
+<Test name="rg8i_2d_array" />
+<Test name="rg8i_3d" />
+<Test name="rg8ui_2d_array" />
+<Test name="rg8ui_3d" />
+<Test name="rg8_snorm_2d_array" />
+<Test name="rg8_snorm_3d" />
+<Test name="r32f_2d_array" />
+<Test name="r32f_3d" />
+<Test name="r32i_2d_array" />
+<Test name="r32i_3d" />
+<Test name="r32ui_2d_array" />
+<Test name="r32ui_3d" />
+<Test name="r16f_2d_array" />
+<Test name="r16f_3d" />
+<Test name="r16i_2d_array" />
+<Test name="r16i_3d" />
+<Test name="r16ui_2d_array" />
+<Test name="r16ui_3d" />
+<Test name="r8_2d_array" />
+<Test name="r8_3d" />
+<Test name="r8i_2d_array" />
+<Test name="r8i_3d" />
+<Test name="r8ui_2d_array" />
+<Test name="r8ui_3d" />
+<Test name="r8_snorm_2d_array" />
+<Test name="r8_snorm_3d" />
+<Test name="rgb8_offset_2d_array" />
+<Test name="rgb8_offset_3d" />
+<Test name="rgb8_image_height_2d_array" />
+<Test name="rgb8_image_height_3d" />
+<Test name="rgb8_row_length_2d_array" />
+<Test name="rgb8_row_length_3d" />
+<Test name="rgb8_skip_images_2d_array" />
+<Test name="rgb8_skip_images_3d" />
+<Test name="rgb8_skip_rows_2d_array" />
+<Test name="rgb8_skip_rows_3d" />
+<Test name="rgb8_skip_pixels_2d_array" />
+<Test name="rgb8_skip_pixels_3d" />
+</TestCase>
+<TestCase name="texsubimage3d_depth">
+<Test name="depth_component32f_2d_array" />
+<Test name="depth_component24_2d_array" />
+<Test name="depth_component16_2d_array" />
+<Test name="depth32f_stencil8_2d_array" />
+<Test name="depth24_stencil8_2d_array" />
+</TestCase>
+<TestSuite name="texstorage2d">
+<TestCase name="format">
+<Test name="rgba32f_cube" />
+<Test name="rgba32i_cube" />
+<Test name="rgba32ui_cube" />
+<Test name="rgba16f_cube" />
+<Test name="rgba16i_cube" />
+<Test name="rgba16ui_cube" />
+<Test name="rgba8_cube" />
+<Test name="rgba8i_cube" />
+<Test name="rgba8ui_cube" />
+<Test name="srgb8_alpha8_cube" />
+<Test name="rgb10_a2_cube" />
+<Test name="rgb10_a2ui_cube" />
+<Test name="rgba4_2d" />
+<Test name="rgba4_cube" />
+<Test name="rgb5_a1_2d" />
+<Test name="rgb5_a1_cube" />
+<Test name="rgba8_snorm_cube" />
+<Test name="rgb8_cube" />
+<Test name="rgb565_2d" />
+<Test name="rgb565_cube" />
+<Test name="r11f_g11f_b10f_cube" />
+<Test name="rgb32f_cube" />
+<Test name="rgb32i_cube" />
+<Test name="rgb32ui_cube" />
+<Test name="rgb16f_cube" />
+<Test name="rgb16i_cube" />
+<Test name="rgb16ui_cube" />
+<Test name="rgb8_snorm_cube" />
+<Test name="rgb8i_cube" />
+<Test name="rgb8ui_cube" />
+<Test name="srgb8_cube" />
+<Test name="rgb9_e5_cube" />
+<Test name="rg32f_2d" />
+<Test name="rg32f_cube" />
+<Test name="rg32i_2d" />
+<Test name="rg32i_cube" />
+<Test name="rg32ui_cube" />
+<Test name="rg16f_cube" />
+<Test name="rg16i_cube" />
+<Test name="rg16ui_cube" />
+<Test name="rg8_cube" />
+<Test name="rg8i_cube" />
+<Test name="rg8ui_cube" />
+<Test name="rg8_snorm_cube" />
+<Test name="r32f_2d" />
+<Test name="r32f_cube" />
+<Test name="r32i_cube" />
+<Test name="r32ui_2d" />
+<Test name="r32ui_cube" />
+<Test name="r16f_cube" />
+<Test name="r16i_cube" />
+<Test name="r16ui_2d" />
+<Test name="r16ui_cube" />
+<Test name="r8_2d" />
+<Test name="r8_cube" />
+<Test name="r8i_cube" />
+<Test name="r8ui_cube" />
+<Test name="r8_snorm_cube" />
+<Test name="depth_component32f_cube" />
+<Test name="depth_component24_cube" />
+<Test name="depth_component16_cube" />
+<Test name="depth32f_stencil8_cube" />
+<Test name="depth24_stencil8_cube" />
+</TestCase>
+<TestCase name="size">
+<Test name="2d_1x1_1_levels" />
+<Test name="2d_2x2_2_levels" />
+<Test name="2d_64x32_7_levels" />
+<Test name="2d_32x64_4_levels" />
+<Test name="2d_57x63_1_levels" />
+<Test name="2d_57x63_2_levels" />
+<Test name="cube_1x1_1_levels" />
+<Test name="cube_2x2_2_levels" />
+<Test name="cube_57x57_1_levels" />
+<Test name="cube_57x57_2_levels" />
+<Test name="cube_57x57_6_levels" />
+<Test name="cube_64x64_4_levels" />
+<Test name="cube_64x64_7_levels" />
+</TestCase>
+</TestSuite>
+<TestSuite name="texstorage3d">
+<TestCase name="format">
+<Test name="rgba32i_3d" />
+<Test name="rgba16ui_3d" />
+<Test name="rgb10_a2ui_3d" />
+<Test name="rgba4_2d_array" />
+<Test name="rgba4_3d" />
+<Test name="rgb5_a1_3d" />
+<Test name="rgb565_3d" />
+<Test name="r11f_g11f_b10f_2d_array" />
+<Test name="rgb32ui_3d" />
+<Test name="rgb9_e5_3d" />
+<Test name="rg16f_3d" />
+<Test name="rg16ui_3d" />
+<Test name="r32ui_2d_array" />
+<Test name="r16f_3d" />
+</TestCase>
+<TestCase name="size">
+<Test name="2d_array_1x1x1_1_levels" />
+<Test name="2d_array_2x2x2_2_levels" />
+<Test name="2d_array_64x32x3_7_levels" />
+<Test name="2d_array_32x64x3_4_levels" />
+<Test name="2d_array_57x63x5_1_levels" />
+<Test name="2d_array_57x63x5_2_levels" />
+<Test name="3d_1x1x1_1_levels" />
+<Test name="3d_2x2x2_2_levels" />
+<Test name="3d_64x32x16_7_levels" />
+<Test name="3d_32x64x16_4_levels" />
+<Test name="3d_32x16x64_4_levels" />
+<Test name="3d_57x63x11_1_levels" />
+<Test name="3d_57x63x11_2_levels" />
+</TestCase>
+</TestSuite>
+</TestSuite>
+<TestSuite name="vertex">
+<TestSuite name="2d">
+<TestCase name="filtering">
+<Test name="nearest_mipmap_nearest_nearest_clamp" />
+<Test name="nearest_mipmap_nearest_nearest_repeat" />
+<Test name="nearest_mipmap_nearest_nearest_mirror" />
+<Test name="nearest_mipmap_nearest_linear_clamp" />
+<Test name="nearest_mipmap_nearest_linear_repeat" />
+<Test name="nearest_mipmap_nearest_linear_mirror" />
+<Test name="linear_mipmap_nearest_nearest_clamp" />
+<Test name="linear_mipmap_nearest_nearest_repeat" />
+<Test name="linear_mipmap_nearest_nearest_mirror" />
+<Test name="linear_mipmap_nearest_linear_clamp" />
+<Test name="linear_mipmap_nearest_linear_repeat" />
+<Test name="linear_mipmap_nearest_linear_mirror" />
+<Test name="nearest_mipmap_linear_nearest_clamp" />
+<Test name="nearest_mipmap_linear_nearest_repeat" />
+<Test name="nearest_mipmap_linear_nearest_mirror" />
+<Test name="nearest_mipmap_linear_linear_clamp" />
+<Test name="nearest_mipmap_linear_linear_repeat" />
+<Test name="nearest_mipmap_linear_linear_mirror" />
+<Test name="linear_mipmap_linear_nearest_clamp" />
+<Test name="linear_mipmap_linear_nearest_repeat" />
+<Test name="linear_mipmap_linear_nearest_mirror" />
+<Test name="linear_mipmap_linear_linear_clamp" />
+<Test name="linear_mipmap_linear_linear_repeat" />
+<Test name="linear_mipmap_linear_linear_mirror" />
+</TestCase>
+<TestCase name="wrap">
+<Test name="clamp_clamp" />
+<Test name="clamp_repeat" />
+<Test name="clamp_mirror" />
+<Test name="repeat_clamp" />
+<Test name="repeat_repeat" />
+<Test name="repeat_mirror" />
+<Test name="mirror_clamp" />
+<Test name="mirror_repeat" />
+<Test name="mirror_mirror" />
+</TestCase>
+</TestSuite>
+<TestSuite name="cube">
+<TestCase name="filtering">
+<Test name="nearest_nearest_clamp" />
+<Test name="nearest_nearest_repeat" />
+<Test name="nearest_nearest_mirror" />
+<Test name="linear_linear_clamp" />
+<Test name="linear_linear_repeat" />
+<Test name="linear_linear_mirror" />
+<Test name="nearest_mipmap_nearest_nearest_clamp" />
+<Test name="nearest_mipmap_nearest_nearest_repeat" />
+<Test name="nearest_mipmap_nearest_nearest_mirror" />
+<Test name="nearest_mipmap_nearest_linear_clamp" />
+<Test name="nearest_mipmap_nearest_linear_repeat" />
+<Test name="nearest_mipmap_nearest_linear_mirror" />
+<Test name="linear_mipmap_nearest_nearest_clamp" />
+<Test name="linear_mipmap_nearest_nearest_repeat" />
+<Test name="linear_mipmap_nearest_nearest_mirror" />
+<Test name="linear_mipmap_nearest_linear_clamp" />
+<Test name="linear_mipmap_nearest_linear_repeat" />
+<Test name="linear_mipmap_nearest_linear_mirror" />
+<Test name="nearest_mipmap_linear_nearest_clamp" />
+<Test name="nearest_mipmap_linear_nearest_repeat" />
+<Test name="nearest_mipmap_linear_nearest_mirror" />
+<Test name="nearest_mipmap_linear_linear_clamp" />
+<Test name="nearest_mipmap_linear_linear_repeat" />
+<Test name="nearest_mipmap_linear_linear_mirror" />
+<Test name="linear_mipmap_linear_nearest_clamp" />
+<Test name="linear_mipmap_linear_nearest_repeat" />
+<Test name="linear_mipmap_linear_nearest_mirror" />
+<Test name="linear_mipmap_linear_linear_clamp" />
+<Test name="linear_mipmap_linear_linear_repeat" />
+<Test name="linear_mipmap_linear_linear_mirror" />
+</TestCase>
+<TestCase name="wrap">
+<Test name="clamp_clamp" />
+<Test name="clamp_repeat" />
+<Test name="clamp_mirror" />
+<Test name="repeat_clamp" />
+<Test name="repeat_repeat" />
+<Test name="repeat_mirror" />
+<Test name="mirror_clamp" />
+<Test name="mirror_repeat" />
+<Test name="mirror_mirror" />
+</TestCase>
+</TestSuite>
+<TestSuite name="2d_array">
+<TestCase name="filtering">
+<Test name="nearest_mipmap_nearest_nearest_clamp" />
+<Test name="nearest_mipmap_nearest_nearest_repeat" />
+<Test name="nearest_mipmap_nearest_nearest_mirror" />
+<Test name="nearest_mipmap_nearest_linear_clamp" />
+<Test name="nearest_mipmap_nearest_linear_repeat" />
+<Test name="nearest_mipmap_nearest_linear_mirror" />
+<Test name="linear_mipmap_nearest_nearest_clamp" />
+<Test name="linear_mipmap_nearest_nearest_repeat" />
+<Test name="linear_mipmap_nearest_nearest_mirror" />
+<Test name="linear_mipmap_nearest_linear_clamp" />
+<Test name="linear_mipmap_nearest_linear_repeat" />
+<Test name="linear_mipmap_nearest_linear_mirror" />
+<Test name="nearest_mipmap_linear_nearest_clamp" />
+<Test name="nearest_mipmap_linear_nearest_repeat" />
+<Test name="nearest_mipmap_linear_nearest_mirror" />
+<Test name="nearest_mipmap_linear_linear_clamp" />
+<Test name="nearest_mipmap_linear_linear_repeat" />
+<Test name="nearest_mipmap_linear_linear_mirror" />
+<Test name="linear_mipmap_linear_nearest_clamp" />
+<Test name="linear_mipmap_linear_nearest_repeat" />
+<Test name="linear_mipmap_linear_nearest_mirror" />
+<Test name="linear_mipmap_linear_linear_clamp" />
+<Test name="linear_mipmap_linear_linear_repeat" />
+<Test name="linear_mipmap_linear_linear_mirror" />
+</TestCase>
+<TestCase name="wrap">
+<Test name="clamp_clamp" />
+<Test name="clamp_repeat" />
+<Test name="clamp_mirror" />
+<Test name="repeat_clamp" />
+<Test name="repeat_repeat" />
+<Test name="repeat_mirror" />
+<Test name="mirror_clamp" />
+<Test name="mirror_repeat" />
+<Test name="mirror_mirror" />
+</TestCase>
+</TestSuite>
+<TestSuite name="3d">
+<TestCase name="filtering">
+<Test name="nearest_mipmap_nearest_nearest_clamp" />
+<Test name="nearest_mipmap_nearest_nearest_repeat" />
+<Test name="nearest_mipmap_nearest_nearest_mirror" />
+<Test name="nearest_mipmap_nearest_linear_clamp" />
+<Test name="nearest_mipmap_nearest_linear_repeat" />
+<Test name="nearest_mipmap_nearest_linear_mirror" />
+<Test name="linear_mipmap_nearest_nearest_clamp" />
+<Test name="linear_mipmap_nearest_nearest_repeat" />
+<Test name="linear_mipmap_nearest_nearest_mirror" />
+<Test name="linear_mipmap_nearest_linear_clamp" />
+<Test name="linear_mipmap_nearest_linear_repeat" />
+<Test name="linear_mipmap_nearest_linear_mirror" />
+<Test name="nearest_mipmap_linear_nearest_clamp" />
+<Test name="nearest_mipmap_linear_nearest_repeat" />
+<Test name="nearest_mipmap_linear_nearest_mirror" />
+<Test name="nearest_mipmap_linear_linear_clamp" />
+<Test name="nearest_mipmap_linear_linear_repeat" />
+<Test name="nearest_mipmap_linear_linear_mirror" />
+<Test name="linear_mipmap_linear_nearest_clamp" />
+<Test name="linear_mipmap_linear_nearest_repeat" />
+<Test name="linear_mipmap_linear_nearest_mirror" />
+<Test name="linear_mipmap_linear_linear_clamp" />
+<Test name="linear_mipmap_linear_linear_repeat" />
+<Test name="linear_mipmap_linear_linear_mirror" />
+</TestCase>
+<TestCase name="wrap">
+<Test name="clamp_clamp_clamp" />
+<Test name="clamp_clamp_repeat" />
+<Test name="clamp_clamp_mirror" />
+<Test name="clamp_repeat_clamp" />
+<Test name="clamp_repeat_repeat" />
+<Test name="clamp_repeat_mirror" />
+<Test name="clamp_mirror_clamp" />
+<Test name="clamp_mirror_repeat" />
+<Test name="clamp_mirror_mirror" />
+<Test name="repeat_clamp_clamp" />
+<Test name="repeat_clamp_repeat" />
+<Test name="repeat_clamp_mirror" />
+<Test name="repeat_repeat_clamp" />
+<Test name="repeat_repeat_repeat" />
+<Test name="repeat_repeat_mirror" />
+<Test name="repeat_mirror_clamp" />
+<Test name="repeat_mirror_repeat" />
+<Test name="repeat_mirror_mirror" />
+<Test name="mirror_clamp_clamp" />
+<Test name="mirror_clamp_repeat" />
+<Test name="mirror_clamp_mirror" />
+<Test name="mirror_repeat_clamp" />
+<Test name="mirror_repeat_repeat" />
+<Test name="mirror_repeat_mirror" />
+<Test name="mirror_mirror_clamp" />
+<Test name="mirror_mirror_repeat" />
+<Test name="mirror_mirror_mirror" />
+</TestCase>
+</TestSuite>
+</TestSuite>
+<TestSuite name="units">
+<TestSuite name="2_units">
+<TestCase name="only_2d">
+<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" />
+</TestCase>
+<TestCase name="only_cube">
+<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" />
+</TestCase>
+<TestCase name="only_2d_array">
+<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" />
+</TestCase>
+<TestCase name="only_3d">
+<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" />
+</TestCase>
+<TestCase name="mixed">
+<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" />
+</TestCase>
+</TestSuite>
+<TestSuite name="4_units">
+<TestCase name="only_2d">
+<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" />
+</TestCase>
+<TestCase name="only_cube">
+<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" />
+</TestCase>
+<TestCase name="only_2d_array">
+<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" />
+</TestCase>
+<TestCase name="only_3d">
+<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" />
+</TestCase>
+<TestCase name="mixed">
+<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" />
+</TestCase>
+</TestSuite>
+<TestSuite name="8_units">
+<TestCase name="only_2d">
+<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" />
+</TestCase>
+<TestCase name="only_cube">
+<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" />
+</TestCase>
+<TestCase name="only_2d_array">
+<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" />
+</TestCase>
+<TestCase name="only_3d">
+<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" />
+</TestCase>
+<TestCase name="mixed">
+<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" />
+</TestCase>
+</TestSuite>
+<TestSuite name="all_units">
+<TestCase name="only_2d">
+<Test name="0" />
+<Test name="1" />
+</TestCase>
+<TestCase name="only_cube">
+<Test name="0" />
+</TestCase>
+<TestCase name="only_2d_array">
+<Test name="0" />
+<Test name="1" />
+</TestCase>
+<TestCase name="only_3d">
+<Test name="0" />
+<Test name="1" />
+</TestCase>
+<TestCase name="mixed">
+<Test name="0" />
+<Test name="8" />
+</TestCase>
+</TestSuite>
+</TestSuite>
+<TestSuite name="compressed">
+<TestSuite name="astc">
+<TestCase name="void_extent_ldr">
+<Test name="4x4" />
+<Test name="5x4" />
+<Test name="5x5" />
+<Test name="6x5" />
+<Test name="6x6" />
+<Test name="8x5" />
+<Test name="8x6" />
+<Test name="8x8" />
+<Test name="10x5" />
+<Test name="10x6" />
+<Test name="10x8" />
+<Test name="10x10" />
+<Test name="12x10" />
+<Test name="12x12" />
+<Test name="4x4_srgb" />
+<Test name="5x4_srgb" />
+<Test name="5x5_srgb" />
+<Test name="6x5_srgb" />
+<Test name="6x6_srgb" />
+<Test name="8x5_srgb" />
+<Test name="8x6_srgb" />
+<Test name="8x8_srgb" />
+<Test name="10x5_srgb" />
+<Test name="10x6_srgb" />
+<Test name="10x8_srgb" />
+<Test name="10x10_srgb" />
+<Test name="12x10_srgb" />
+<Test name="12x12_srgb" />
+</TestCase>
+<TestCase name="void_extent_hdr">
+<Test name="4x4" />
+<Test name="5x4" />
+<Test name="5x5" />
+<Test name="6x5" />
+<Test name="6x6" />
+<Test name="8x5" />
+<Test name="8x6" />
+<Test name="8x8" />
+<Test name="10x5" />
+<Test name="10x6" />
+<Test name="10x8" />
+<Test name="10x10" />
+<Test name="12x10" />
+<Test name="12x12" />
+</TestCase>
+<TestCase name="weight_grid">
+<Test name="4x4" />
+<Test name="5x4" />
+<Test name="5x5" />
+<Test name="6x5" />
+<Test name="6x6" />
+<Test name="8x5" />
+<Test name="8x6" />
+<Test name="8x8" />
+<Test name="10x5" />
+<Test name="10x6" />
+<Test name="10x8" />
+<Test name="10x10" />
+<Test name="12x10" />
+<Test name="12x12" />
+<Test name="4x4_srgb" />
+<Test name="5x4_srgb" />
+<Test name="5x5_srgb" />
+<Test name="6x5_srgb" />
+<Test name="6x6_srgb" />
+<Test name="8x5_srgb" />
+<Test name="8x6_srgb" />
+<Test name="8x8_srgb" />
+<Test name="10x5_srgb" />
+<Test name="10x6_srgb" />
+<Test name="10x8_srgb" />
+<Test name="10x10_srgb" />
+<Test name="12x10_srgb" />
+<Test name="12x12_srgb" />
+</TestCase>
+<TestCase name="weight_ise">
+<Test name="4x4" />
+<Test name="5x4" />
+<Test name="5x5" />
+<Test name="6x5" />
+<Test name="6x6" />
+<Test name="8x5" />
+<Test name="8x6" />
+<Test name="8x8" />
+<Test name="10x5" />
+<Test name="10x6" />
+<Test name="10x8" />
+<Test name="10x10" />
+<Test name="12x10" />
+<Test name="12x12" />
+<Test name="4x4_srgb" />
+<Test name="5x4_srgb" />
+<Test name="5x5_srgb" />
+<Test name="6x5_srgb" />
+<Test name="6x6_srgb" />
+<Test name="8x5_srgb" />
+<Test name="8x6_srgb" />
+<Test name="8x8_srgb" />
+<Test name="10x5_srgb" />
+<Test name="10x6_srgb" />
+<Test name="10x8_srgb" />
+<Test name="10x10_srgb" />
+<Test name="12x10_srgb" />
+<Test name="12x12_srgb" />
+</TestCase>
+<TestCase name="partition_pattern_index">
+<Test name="4x4" />
+<Test name="5x4" />
+<Test name="5x5" />
+<Test name="6x5" />
+<Test name="6x6" />
+<Test name="8x5" />
+<Test name="8x6" />
+<Test name="8x8" />
+<Test name="10x5" />
+<Test name="10x6" />
+<Test name="10x8" />
+<Test name="10x10" />
+<Test name="12x10" />
+<Test name="12x12" />
+<Test name="4x4_srgb" />
+<Test name="5x4_srgb" />
+<Test name="5x5_srgb" />
+<Test name="6x5_srgb" />
+<Test name="6x6_srgb" />
+<Test name="8x5_srgb" />
+<Test name="8x6_srgb" />
+<Test name="8x8_srgb" />
+<Test name="10x5_srgb" />
+<Test name="10x6_srgb" />
+<Test name="10x8_srgb" />
+<Test name="10x10_srgb" />
+<Test name="12x10_srgb" />
+<Test name="12x12_srgb" />
+</TestCase>
+<TestCase name="endpoint_value_ldr">
+<Test name="4x4" />
+<Test name="5x4" />
+<Test name="5x5" />
+<Test name="6x5" />
+<Test name="6x6" />
+<Test name="8x5" />
+<Test name="8x6" />
+<Test name="8x8" />
+<Test name="10x5" />
+<Test name="10x6" />
+<Test name="10x8" />
+<Test name="10x10" />
+<Test name="12x10" />
+<Test name="12x12" />
+<Test name="4x4_srgb" />
+<Test name="5x4_srgb" />
+<Test name="5x5_srgb" />
+<Test name="6x5_srgb" />
+<Test name="6x6_srgb" />
+<Test name="8x5_srgb" />
+<Test name="8x6_srgb" />
+<Test name="8x8_srgb" />
+<Test name="10x5_srgb" />
+<Test name="10x6_srgb" />
+<Test name="10x8_srgb" />
+<Test name="10x10_srgb" />
+<Test name="12x10_srgb" />
+<Test name="12x12_srgb" />
+</TestCase>
+<TestCase name="endpoint_value_hdr_cem_not_15">
+<Test name="4x4" />
+<Test name="5x4" />
+<Test name="5x5" />
+<Test name="6x5" />
+<Test name="6x6" />
+<Test name="8x5" />
+<Test name="8x6" />
+<Test name="8x8" />
+<Test name="10x5" />
+<Test name="10x6" />
+<Test name="10x8" />
+<Test name="10x10" />
+<Test name="12x10" />
+<Test name="12x12" />
+</TestCase>
+<TestCase name="endpoint_value_hdr_cem_15">
+<Test name="4x4" />
+<Test name="5x4" />
+<Test name="5x5" />
+<Test name="6x5" />
+<Test name="6x6" />
+<Test name="8x5" />
+<Test name="8x6" />
+<Test name="8x8" />
+<Test name="10x5" />
+<Test name="10x6" />
+<Test name="10x8" />
+<Test name="10x10" />
+<Test name="12x10" />
+<Test name="12x12" />
+</TestCase>
+<TestCase name="endpoint_ise">
+<Test name="4x4" />
+<Test name="5x4" />
+<Test name="5x5" />
+<Test name="6x5" />
+<Test name="6x6" />
+<Test name="8x5" />
+<Test name="8x6" />
+<Test name="8x8" />
+<Test name="10x5" />
+<Test name="10x6" />
+<Test name="10x8" />
+<Test name="10x10" />
+<Test name="12x10" />
+<Test name="12x12" />
+<Test name="4x4_srgb" />
+<Test name="5x4_srgb" />
+<Test name="5x5_srgb" />
+<Test name="6x5_srgb" />
+<Test name="6x6_srgb" />
+<Test name="8x5_srgb" />
+<Test name="8x6_srgb" />
+<Test name="8x8_srgb" />
+<Test name="10x5_srgb" />
+<Test name="10x6_srgb" />
+<Test name="10x8_srgb" />
+<Test name="10x10_srgb" />
+<Test name="12x10_srgb" />
+<Test name="12x12_srgb" />
+</TestCase>
+<TestCase name="color_component_selector">
+<Test name="4x4" />
+<Test name="5x4" />
+<Test name="5x5" />
+<Test name="6x5" />
+<Test name="6x6" />
+<Test name="8x5" />
+<Test name="8x6" />
+<Test name="8x8" />
+<Test name="10x5" />
+<Test name="10x6" />
+<Test name="10x8" />
+<Test name="10x10" />
+<Test name="12x10" />
+<Test name="12x12" />
+<Test name="4x4_srgb" />
+<Test name="5x4_srgb" />
+<Test name="5x5_srgb" />
+<Test name="6x5_srgb" />
+<Test name="6x6_srgb" />
+<Test name="8x5_srgb" />
+<Test name="8x6_srgb" />
+<Test name="8x8_srgb" />
+<Test name="10x5_srgb" />
+<Test name="10x6_srgb" />
+<Test name="10x8_srgb" />
+<Test name="10x10_srgb" />
+<Test name="12x10_srgb" />
+<Test name="12x12_srgb" />
+</TestCase>
+<TestCase name="block_size_remainder">
+<Test name="4x4" />
+<Test name="5x4" />
+<Test name="5x5" />
+<Test name="6x5" />
+<Test name="6x6" />
+<Test name="8x5" />
+<Test name="8x6" />
+<Test name="8x8" />
+<Test name="10x5" />
+<Test name="10x6" />
+<Test name="10x8" />
+<Test name="10x10" />
+<Test name="12x10" />
+<Test name="12x12" />
+<Test name="4x4_srgb" />
+<Test name="5x4_srgb" />
+<Test name="5x5_srgb" />
+<Test name="6x5_srgb" />
+<Test name="6x6_srgb" />
+<Test name="8x5_srgb" />
+<Test name="8x6_srgb" />
+<Test name="8x8_srgb" />
+<Test name="10x5_srgb" />
+<Test name="10x6_srgb" />
+<Test name="10x8_srgb" />
+<Test name="10x10_srgb" />
+<Test name="12x10_srgb" />
+<Test name="12x12_srgb" />
+</TestCase>
+</TestSuite>
+</TestSuite>
+</TestSuite>
+<TestSuite name="fragment_ops">
+<TestCase name="depth">
+<Test name="cmp_always" />
+<Test name="cmp_never" />
+<Test name="cmp_equal" />
+<Test name="cmp_not_equal" />
+<Test name="cmp_less_than" />
+<Test name="cmp_less_or_equal" />
+<Test name="cmp_greater_than" />
+<Test name="cmp_greater_or_equal" />
+</TestCase>
+<TestCase name="stencil">
+<Test name="clear" />
+<Test name="incr_stencil_fail" />
+<Test name="decr_stencil_fail" />
+<Test name="cmp_equal" />
+<Test name="cmp_less_than" />
+<Test name="cmp_less_or_equal" />
+<Test name="cmp_greater_than" />
+<Test name="cmp_greater_or_equal" />
+<Test name="cmp_mask_equal" />
+</TestCase>
+<TestSuite name="depth_stencil">
+<TestCase name="stencil_depth_funcs">
+<Test name="stencil_never_depth_never" />
+<Test name="stencil_never_depth_always" />
+<Test name="stencil_never_depth_less" />
+<Test name="stencil_never_depth_lequal" />
+<Test name="stencil_never_depth_equal" />
+<Test name="stencil_never_depth_gequal" />
+<Test name="stencil_never_depth_greater" />
+<Test name="stencil_never_depth_notequal" />
+<Test name="stencil_never_no_depth" />
+<Test name="stencil_always_depth_never" />
+<Test name="stencil_always_depth_always" />
+<Test name="stencil_always_depth_less" />
+<Test name="stencil_always_depth_lequal" />
+<Test name="stencil_always_depth_equal" />
+<Test name="stencil_always_depth_gequal" />
+<Test name="stencil_always_depth_greater" />
+<Test name="stencil_always_depth_notequal" />
+<Test name="stencil_always_no_depth" />
+<Test name="stencil_less_depth_never" />
+<Test name="stencil_less_depth_always" />
+<Test name="stencil_less_depth_less" />
+<Test name="stencil_less_depth_lequal" />
+<Test name="stencil_less_depth_equal" />
+<Test name="stencil_less_depth_gequal" />
+<Test name="stencil_less_depth_greater" />
+<Test name="stencil_less_depth_notequal" />
+<Test name="stencil_less_no_depth" />
+<Test name="stencil_lequal_depth_never" />
+<Test name="stencil_lequal_depth_always" />
+<Test name="stencil_lequal_depth_less" />
+<Test name="stencil_lequal_depth_lequal" />
+<Test name="stencil_lequal_depth_equal" />
+<Test name="stencil_lequal_depth_gequal" />
+<Test name="stencil_lequal_depth_greater" />
+<Test name="stencil_lequal_depth_notequal" />
+<Test name="stencil_lequal_no_depth" />
+<Test name="stencil_equal_depth_never" />
+<Test name="stencil_equal_depth_always" />
+<Test name="stencil_equal_depth_less" />
+<Test name="stencil_equal_depth_lequal" />
+<Test name="stencil_equal_depth_equal" />
+<Test name="stencil_equal_depth_gequal" />
+<Test name="stencil_equal_depth_greater" />
+<Test name="stencil_equal_depth_notequal" />
+<Test name="stencil_equal_no_depth" />
+<Test name="stencil_gequal_depth_never" />
+<Test name="stencil_gequal_depth_always" />
+<Test name="stencil_gequal_depth_less" />
+<Test name="stencil_gequal_depth_lequal" />
+<Test name="stencil_gequal_depth_equal" />
+<Test name="stencil_gequal_depth_gequal" />
+<Test name="stencil_gequal_depth_greater" />
+<Test name="stencil_gequal_depth_notequal" />
+<Test name="stencil_gequal_no_depth" />
+<Test name="stencil_greater_depth_never" />
+<Test name="stencil_greater_depth_always" />
+<Test name="stencil_greater_depth_less" />
+<Test name="stencil_greater_depth_lequal" />
+<Test name="stencil_greater_depth_equal" />
+<Test name="stencil_greater_depth_gequal" />
+<Test name="stencil_greater_depth_greater" />
+<Test name="stencil_greater_depth_notequal" />
+<Test name="stencil_greater_no_depth" />
+<Test name="stencil_notequal_depth_never" />
+<Test name="stencil_notequal_depth_always" />
+<Test name="stencil_notequal_depth_less" />
+<Test name="stencil_notequal_depth_lequal" />
+<Test name="stencil_notequal_depth_equal" />
+<Test name="stencil_notequal_depth_gequal" />
+<Test name="stencil_notequal_depth_greater" />
+<Test name="stencil_notequal_depth_notequal" />
+<Test name="stencil_notequal_no_depth" />
+<Test name="no_stencil_depth_never" />
+<Test name="no_stencil_depth_always" />
+<Test name="no_stencil_depth_less" />
+<Test name="no_stencil_depth_lequal" />
+<Test name="no_stencil_depth_equal" />
+<Test name="no_stencil_depth_gequal" />
+<Test name="no_stencil_depth_greater" />
+<Test name="no_stencil_depth_notequal" />
+<Test name="no_stencil_no_depth" />
+</TestCase>
+<TestCase name="stencil_ops">
+<Test name="keep_keep_keep" />
+<Test name="keep_keep_zero" />
+<Test name="keep_keep_replace" />
+<Test name="keep_keep_incr" />
+<Test name="keep_keep_decr" />
+<Test name="keep_keep_invert" />
+<Test name="keep_keep_incr_wrap" />
+<Test name="keep_keep_decr_wrap" />
+<Test name="keep_zero_keep" />
+<Test name="keep_zero_zero" />
+<Test name="keep_zero_replace" />
+<Test name="keep_zero_incr" />
+<Test name="keep_zero_decr" />
+<Test name="keep_zero_invert" />
+<Test name="keep_zero_incr_wrap" />
+<Test name="keep_zero_decr_wrap" />
+<Test name="keep_replace_keep" />
+<Test name="keep_replace_zero" />
+<Test name="keep_replace_replace" />
+<Test name="keep_replace_incr" />
+<Test name="keep_replace_decr" />
+<Test name="keep_replace_invert" />
+<Test name="keep_replace_incr_wrap" />
+<Test name="keep_replace_decr_wrap" />
+<Test name="keep_incr_keep" />
+<Test name="keep_incr_zero" />
+<Test name="keep_incr_replace" />
+<Test name="keep_incr_incr" />
+<Test name="keep_incr_decr" />
+<Test name="keep_incr_invert" />
+<Test name="keep_incr_incr_wrap" />
+<Test name="keep_incr_decr_wrap" />
+<Test name="keep_decr_keep" />
+<Test name="keep_decr_zero" />
+<Test name="keep_decr_replace" />
+<Test name="keep_decr_incr" />
+<Test name="keep_decr_decr" />
+<Test name="keep_decr_invert" />
+<Test name="keep_decr_incr_wrap" />
+<Test name="keep_decr_decr_wrap" />
+<Test name="keep_invert_keep" />
+<Test name="keep_invert_zero" />
+<Test name="keep_invert_replace" />
+<Test name="keep_invert_incr" />
+<Test name="keep_invert_decr" />
+<Test name="keep_invert_invert" />
+<Test name="keep_invert_incr_wrap" />
+<Test name="keep_invert_decr_wrap" />
+<Test name="keep_incr_wrap_keep" />
+<Test name="keep_incr_wrap_zero" />
+<Test name="keep_incr_wrap_replace" />
+<Test name="keep_incr_wrap_incr" />
+<Test name="keep_incr_wrap_decr" />
+<Test name="keep_incr_wrap_invert" />
+<Test name="keep_incr_wrap_incr_wrap" />
+<Test name="keep_incr_wrap_decr_wrap" />
+<Test name="keep_decr_wrap_keep" />
+<Test name="keep_decr_wrap_zero" />
+<Test name="keep_decr_wrap_replace" />
+<Test name="keep_decr_wrap_incr" />
+<Test name="keep_decr_wrap_decr" />
+<Test name="keep_decr_wrap_invert" />
+<Test name="keep_decr_wrap_incr_wrap" />
+<Test name="keep_decr_wrap_decr_wrap" />
+<Test name="zero_keep_keep" />
+<Test name="zero_keep_zero" />
+<Test name="zero_keep_replace" />
+<Test name="zero_keep_incr" />
+<Test name="zero_keep_decr" />
+<Test name="zero_keep_invert" />
+<Test name="zero_keep_incr_wrap" />
+<Test name="zero_keep_decr_wrap" />
+<Test name="zero_zero_keep" />
+<Test name="zero_zero_zero" />
+<Test name="zero_zero_replace" />
+<Test name="zero_zero_incr" />
+<Test name="zero_zero_decr" />
+<Test name="zero_zero_invert" />
+<Test name="zero_zero_incr_wrap" />
+<Test name="zero_zero_decr_wrap" />
+<Test name="zero_replace_keep" />
+<Test name="zero_replace_zero" />
+<Test name="zero_replace_replace" />
+<Test name="zero_replace_incr" />
+<Test name="zero_replace_decr" />
+<Test name="zero_replace_invert" />
+<Test name="zero_replace_incr_wrap" />
+<Test name="zero_replace_decr_wrap" />
+<Test name="zero_incr_keep" />
+<Test name="zero_incr_zero" />
+<Test name="zero_incr_replace" />
+<Test name="zero_incr_incr" />
+<Test name="zero_incr_decr" />
+<Test name="zero_incr_invert" />
+<Test name="zero_incr_incr_wrap" />
+<Test name="zero_incr_decr_wrap" />
+<Test name="zero_decr_keep" />
+<Test name="zero_decr_zero" />
+<Test name="zero_decr_replace" />
+<Test name="zero_decr_incr" />
+<Test name="zero_decr_decr" />
+<Test name="zero_decr_invert" />
+<Test name="zero_decr_incr_wrap" />
+<Test name="zero_decr_decr_wrap" />
+<Test name="zero_invert_keep" />
+<Test name="zero_invert_zero" />
+<Test name="zero_invert_replace" />
+<Test name="zero_invert_incr" />
+<Test name="zero_invert_decr" />
+<Test name="zero_invert_invert" />
+<Test name="zero_invert_incr_wrap" />
+<Test name="zero_invert_decr_wrap" />
+<Test name="zero_incr_wrap_keep" />
+<Test name="zero_incr_wrap_zero" />
+<Test name="zero_incr_wrap_replace" />
+<Test name="zero_incr_wrap_incr" />
+<Test name="zero_incr_wrap_decr" />
+<Test name="zero_incr_wrap_invert" />
+<Test name="zero_incr_wrap_incr_wrap" />
+<Test name="zero_incr_wrap_decr_wrap" />
+<Test name="zero_decr_wrap_keep" />
+<Test name="zero_decr_wrap_zero" />
+<Test name="zero_decr_wrap_replace" />
+<Test name="zero_decr_wrap_incr" />
+<Test name="zero_decr_wrap_decr" />
+<Test name="zero_decr_wrap_invert" />
+<Test name="zero_decr_wrap_incr_wrap" />
+<Test name="zero_decr_wrap_decr_wrap" />
+<Test name="replace_keep_keep" />
+<Test name="replace_keep_zero" />
+<Test name="replace_keep_replace" />
+<Test name="replace_keep_incr" />
+<Test name="replace_keep_decr" />
+<Test name="replace_keep_invert" />
+<Test name="replace_keep_incr_wrap" />
+<Test name="replace_keep_decr_wrap" />
+<Test name="replace_zero_keep" />
+<Test name="replace_zero_zero" />
+<Test name="replace_zero_replace" />
+<Test name="replace_zero_incr" />
+<Test name="replace_zero_decr" />
+<Test name="replace_zero_invert" />
+<Test name="replace_zero_incr_wrap" />
+<Test name="replace_zero_decr_wrap" />
+<Test name="replace_replace_keep" />
+<Test name="replace_replace_zero" />
+<Test name="replace_replace_replace" />
+<Test name="replace_replace_incr" />
+<Test name="replace_replace_decr" />
+<Test name="replace_replace_invert" />
+<Test name="replace_replace_incr_wrap" />
+<Test name="replace_replace_decr_wrap" />
+<Test name="replace_incr_keep" />
+<Test name="replace_incr_zero" />
+<Test name="replace_incr_replace" />
+<Test name="replace_incr_incr" />
+<Test name="replace_incr_decr" />
+<Test name="replace_incr_invert" />
+<Test name="replace_incr_incr_wrap" />
+<Test name="replace_incr_decr_wrap" />
+<Test name="replace_decr_keep" />
+<Test name="replace_decr_zero" />
+<Test name="replace_decr_replace" />
+<Test name="replace_decr_incr" />
+<Test name="replace_decr_decr" />
+<Test name="replace_decr_invert" />
+<Test name="replace_decr_incr_wrap" />
+<Test name="replace_decr_decr_wrap" />
+<Test name="replace_invert_keep" />
+<Test name="replace_invert_zero" />
+<Test name="replace_invert_replace" />
+<Test name="replace_invert_incr" />
+<Test name="replace_invert_decr" />
+<Test name="replace_invert_invert" />
+<Test name="replace_invert_incr_wrap" />
+<Test name="replace_invert_decr_wrap" />
+<Test name="replace_incr_wrap_keep" />
+<Test name="replace_incr_wrap_zero" />
+<Test name="replace_incr_wrap_replace" />
+<Test name="replace_incr_wrap_incr" />
+<Test name="replace_incr_wrap_decr" />
+<Test name="replace_incr_wrap_invert" />
+<Test name="replace_incr_wrap_incr_wrap" />
+<Test name="replace_incr_wrap_decr_wrap" />
+<Test name="replace_decr_wrap_keep" />
+<Test name="replace_decr_wrap_zero" />
+<Test name="replace_decr_wrap_replace" />
+<Test name="replace_decr_wrap_incr" />
+<Test name="replace_decr_wrap_decr" />
+<Test name="replace_decr_wrap_invert" />
+<Test name="replace_decr_wrap_incr_wrap" />
+<Test name="replace_decr_wrap_decr_wrap" />
+<Test name="incr_keep_keep" />
+<Test name="incr_keep_zero" />
+<Test name="incr_keep_replace" />
+<Test name="incr_keep_incr" />
+<Test name="incr_keep_decr" />
+<Test name="incr_keep_invert" />
+<Test name="incr_keep_incr_wrap" />
+<Test name="incr_keep_decr_wrap" />
+<Test name="incr_zero_keep" />
+<Test name="incr_zero_zero" />
+<Test name="incr_zero_replace" />
+<Test name="incr_zero_incr" />
+<Test name="incr_zero_decr" />
+<Test name="incr_zero_invert" />
+<Test name="incr_zero_incr_wrap" />
+<Test name="incr_zero_decr_wrap" />
+<Test name="incr_replace_keep" />
+<Test name="incr_replace_zero" />
+<Test name="incr_replace_replace" />
+<Test name="incr_replace_incr" />
+<Test name="incr_replace_decr" />
+<Test name="incr_replace_invert" />
+<Test name="incr_replace_incr_wrap" />
+<Test name="incr_replace_decr_wrap" />
+<Test name="incr_incr_keep" />
+<Test name="incr_incr_zero" />
+<Test name="incr_incr_replace" />
+<Test name="incr_incr_incr" />
+<Test name="incr_incr_decr" />
+<Test name="incr_incr_invert" />
+<Test name="incr_incr_incr_wrap" />
+<Test name="incr_incr_decr_wrap" />
+<Test name="incr_decr_keep" />
+<Test name="incr_decr_zero" />
+<Test name="incr_decr_replace" />
+<Test name="incr_decr_incr" />
+<Test name="incr_decr_decr" />
+<Test name="incr_decr_invert" />
+<Test name="incr_decr_incr_wrap" />
+<Test name="incr_decr_decr_wrap" />
+<Test name="incr_invert_keep" />
+<Test name="incr_invert_zero" />
+<Test name="incr_invert_replace" />
+<Test name="incr_invert_incr" />
+<Test name="incr_invert_decr" />
+<Test name="incr_invert_invert" />
+<Test name="incr_invert_incr_wrap" />
+<Test name="incr_invert_decr_wrap" />
+<Test name="incr_incr_wrap_keep" />
+<Test name="incr_incr_wrap_zero" />
+<Test name="incr_incr_wrap_replace" />
+<Test name="incr_incr_wrap_incr" />
+<Test name="incr_incr_wrap_decr" />
+<Test name="incr_incr_wrap_invert" />
+<Test name="incr_incr_wrap_incr_wrap" />
+<Test name="incr_incr_wrap_decr_wrap" />
+<Test name="incr_decr_wrap_keep" />
+<Test name="incr_decr_wrap_zero" />
+<Test name="incr_decr_wrap_replace" />
+<Test name="incr_decr_wrap_incr" />
+<Test name="incr_decr_wrap_decr" />
+<Test name="incr_decr_wrap_invert" />
+<Test name="incr_decr_wrap_incr_wrap" />
+<Test name="incr_decr_wrap_decr_wrap" />
+<Test name="decr_keep_keep" />
+<Test name="decr_keep_zero" />
+<Test name="decr_keep_replace" />
+<Test name="decr_keep_incr" />
+<Test name="decr_keep_decr" />
+<Test name="decr_keep_invert" />
+<Test name="decr_keep_incr_wrap" />
+<Test name="decr_keep_decr_wrap" />
+<Test name="decr_zero_keep" />
+<Test name="decr_zero_zero" />
+<Test name="decr_zero_replace" />
+<Test name="decr_zero_incr" />
+<Test name="decr_zero_decr" />
+<Test name="decr_zero_invert" />
+<Test name="decr_zero_incr_wrap" />
+<Test name="decr_zero_decr_wrap" />
+<Test name="decr_replace_keep" />
+<Test name="decr_replace_zero" />
+<Test name="decr_replace_replace" />
+<Test name="decr_replace_incr" />
+<Test name="decr_replace_decr" />
+<Test name="decr_replace_invert" />
+<Test name="decr_replace_incr_wrap" />
+<Test name="decr_replace_decr_wrap" />
+<Test name="decr_incr_keep" />
+<Test name="decr_incr_zero" />
+<Test name="decr_incr_replace" />
+<Test name="decr_incr_incr" />
+<Test name="decr_incr_decr" />
+<Test name="decr_incr_invert" />
+<Test name="decr_incr_incr_wrap" />
+<Test name="decr_incr_decr_wrap" />
+<Test name="decr_decr_keep" />
+<Test name="decr_decr_zero" />
+<Test name="decr_decr_replace" />
+<Test name="decr_decr_incr" />
+<Test name="decr_decr_decr" />
+<Test name="decr_decr_invert" />
+<Test name="decr_decr_incr_wrap" />
+<Test name="decr_decr_decr_wrap" />
+<Test name="decr_invert_keep" />
+<Test name="decr_invert_zero" />
+<Test name="decr_invert_replace" />
+<Test name="decr_invert_incr" />
+<Test name="decr_invert_decr" />
+<Test name="decr_invert_invert" />
+<Test name="decr_invert_incr_wrap" />
+<Test name="decr_invert_decr_wrap" />
+<Test name="decr_incr_wrap_keep" />
+<Test name="decr_incr_wrap_zero" />
+<Test name="decr_incr_wrap_replace" />
+<Test name="decr_incr_wrap_incr" />
+<Test name="decr_incr_wrap_decr" />
+<Test name="decr_incr_wrap_invert" />
+<Test name="decr_incr_wrap_incr_wrap" />
+<Test name="decr_incr_wrap_decr_wrap" />
+<Test name="decr_decr_wrap_keep" />
+<Test name="decr_decr_wrap_zero" />
+<Test name="decr_decr_wrap_replace" />
+<Test name="decr_decr_wrap_incr" />
+<Test name="decr_decr_wrap_decr" />
+<Test name="decr_decr_wrap_invert" />
+<Test name="decr_decr_wrap_incr_wrap" />
+<Test name="decr_decr_wrap_decr_wrap" />
+<Test name="invert_keep_keep" />
+<Test name="invert_keep_zero" />
+<Test name="invert_keep_replace" />
+<Test name="invert_keep_incr" />
+<Test name="invert_keep_decr" />
+<Test name="invert_keep_invert" />
+<Test name="invert_keep_incr_wrap" />
+<Test name="invert_keep_decr_wrap" />
+<Test name="invert_zero_keep" />
+<Test name="invert_zero_zero" />
+<Test name="invert_zero_replace" />
+<Test name="invert_zero_incr" />
+<Test name="invert_zero_decr" />
+<Test name="invert_zero_invert" />
+<Test name="invert_zero_incr_wrap" />
+<Test name="invert_zero_decr_wrap" />
+<Test name="invert_replace_keep" />
+<Test name="invert_replace_zero" />
+<Test name="invert_replace_replace" />
+<Test name="invert_replace_incr" />
+<Test name="invert_replace_decr" />
+<Test name="invert_replace_invert" />
+<Test name="invert_replace_incr_wrap" />
+<Test name="invert_replace_decr_wrap" />
+<Test name="invert_incr_keep" />
+<Test name="invert_incr_zero" />
+<Test name="invert_incr_replace" />
+<Test name="invert_incr_incr" />
+<Test name="invert_incr_decr" />
+<Test name="invert_incr_invert" />
+<Test name="invert_incr_incr_wrap" />
+<Test name="invert_incr_decr_wrap" />
+<Test name="invert_decr_keep" />
+<Test name="invert_decr_zero" />
+<Test name="invert_decr_replace" />
+<Test name="invert_decr_incr" />
+<Test name="invert_decr_decr" />
+<Test name="invert_decr_invert" />
+<Test name="invert_decr_incr_wrap" />
+<Test name="invert_decr_decr_wrap" />
+<Test name="invert_invert_keep" />
+<Test name="invert_invert_zero" />
+<Test name="invert_invert_replace" />
+<Test name="invert_invert_incr" />
+<Test name="invert_invert_decr" />
+<Test name="invert_invert_invert" />
+<Test name="invert_invert_incr_wrap" />
+<Test name="invert_invert_decr_wrap" />
+<Test name="invert_incr_wrap_keep" />
+<Test name="invert_incr_wrap_zero" />
+<Test name="invert_incr_wrap_replace" />
+<Test name="invert_incr_wrap_incr" />
+<Test name="invert_incr_wrap_decr" />
+<Test name="invert_incr_wrap_invert" />
+<Test name="invert_incr_wrap_incr_wrap" />
+<Test name="invert_incr_wrap_decr_wrap" />
+<Test name="invert_decr_wrap_keep" />
+<Test name="invert_decr_wrap_zero" />
+<Test name="invert_decr_wrap_replace" />
+<Test name="invert_decr_wrap_incr" />
+<Test name="invert_decr_wrap_decr" />
+<Test name="invert_decr_wrap_invert" />
+<Test name="invert_decr_wrap_incr_wrap" />
+<Test name="invert_decr_wrap_decr_wrap" />
+<Test name="incr_wrap_keep_keep" />
+<Test name="incr_wrap_keep_zero" />
+<Test name="incr_wrap_keep_replace" />
+<Test name="incr_wrap_keep_incr" />
+<Test name="incr_wrap_keep_decr" />
+<Test name="incr_wrap_keep_invert" />
+<Test name="incr_wrap_keep_incr_wrap" />
+<Test name="incr_wrap_keep_decr_wrap" />
+<Test name="incr_wrap_zero_keep" />
+<Test name="incr_wrap_zero_zero" />
+<Test name="incr_wrap_zero_replace" />
+<Test name="incr_wrap_zero_incr" />
+<Test name="incr_wrap_zero_decr" />
+<Test name="incr_wrap_zero_invert" />
+<Test name="incr_wrap_zero_incr_wrap" />
+<Test name="incr_wrap_zero_decr_wrap" />
+<Test name="incr_wrap_replace_keep" />
+<Test name="incr_wrap_replace_zero" />
+<Test name="incr_wrap_replace_replace" />
+<Test name="incr_wrap_replace_incr" />
+<Test name="incr_wrap_replace_decr" />
+<Test name="incr_wrap_replace_invert" />
+<Test name="incr_wrap_replace_incr_wrap" />
+<Test name="incr_wrap_replace_decr_wrap" />
+<Test name="incr_wrap_incr_keep" />
+<Test name="incr_wrap_incr_zero" />
+<Test name="incr_wrap_incr_replace" />
+<Test name="incr_wrap_incr_incr" />
+<Test name="incr_wrap_incr_decr" />
+<Test name="incr_wrap_incr_invert" />
+<Test name="incr_wrap_incr_incr_wrap" />
+<Test name="incr_wrap_incr_decr_wrap" />
+<Test name="incr_wrap_decr_keep" />
+<Test name="incr_wrap_decr_zero" />
+<Test name="incr_wrap_decr_replace" />
+<Test name="incr_wrap_decr_incr" />
+<Test name="incr_wrap_decr_decr" />
+<Test name="incr_wrap_decr_invert" />
+<Test name="incr_wrap_decr_incr_wrap" />
+<Test name="incr_wrap_decr_decr_wrap" />
+<Test name="incr_wrap_invert_keep" />
+<Test name="incr_wrap_invert_zero" />
+<Test name="incr_wrap_invert_replace" />
+<Test name="incr_wrap_invert_incr" />
+<Test name="incr_wrap_invert_decr" />
+<Test name="incr_wrap_invert_invert" />
+<Test name="incr_wrap_invert_incr_wrap" />
+<Test name="incr_wrap_invert_decr_wrap" />
+<Test name="incr_wrap_incr_wrap_keep" />
+<Test name="incr_wrap_incr_wrap_zero" />
+<Test name="incr_wrap_incr_wrap_replace" />
+<Test name="incr_wrap_incr_wrap_incr" />
+<Test name="incr_wrap_incr_wrap_decr" />
+<Test name="incr_wrap_incr_wrap_invert" />
+<Test name="incr_wrap_incr_wrap_incr_wrap" />
+<Test name="incr_wrap_incr_wrap_decr_wrap" />
+<Test name="incr_wrap_decr_wrap_keep" />
+<Test name="incr_wrap_decr_wrap_zero" />
+<Test name="incr_wrap_decr_wrap_replace" />
+<Test name="incr_wrap_decr_wrap_incr" />
+<Test name="incr_wrap_decr_wrap_decr" />
+<Test name="incr_wrap_decr_wrap_invert" />
+<Test name="incr_wrap_decr_wrap_incr_wrap" />
+<Test name="incr_wrap_decr_wrap_decr_wrap" />
+<Test name="decr_wrap_keep_keep" />
+<Test name="decr_wrap_keep_zero" />
+<Test name="decr_wrap_keep_replace" />
+<Test name="decr_wrap_keep_incr" />
+<Test name="decr_wrap_keep_decr" />
+<Test name="decr_wrap_keep_invert" />
+<Test name="decr_wrap_keep_incr_wrap" />
+<Test name="decr_wrap_keep_decr_wrap" />
+<Test name="decr_wrap_zero_keep" />
+<Test name="decr_wrap_zero_zero" />
+<Test name="decr_wrap_zero_replace" />
+<Test name="decr_wrap_zero_incr" />
+<Test name="decr_wrap_zero_decr" />
+<Test name="decr_wrap_zero_invert" />
+<Test name="decr_wrap_zero_incr_wrap" />
+<Test name="decr_wrap_zero_decr_wrap" />
+<Test name="decr_wrap_replace_keep" />
+<Test name="decr_wrap_replace_zero" />
+<Test name="decr_wrap_replace_replace" />
+<Test name="decr_wrap_replace_incr" />
+<Test name="decr_wrap_replace_decr" />
+<Test name="decr_wrap_replace_invert" />
+<Test name="decr_wrap_replace_incr_wrap" />
+<Test name="decr_wrap_replace_decr_wrap" />
+<Test name="decr_wrap_incr_keep" />
+<Test name="decr_wrap_incr_zero" />
+<Test name="decr_wrap_incr_replace" />
+<Test name="decr_wrap_incr_incr" />
+<Test name="decr_wrap_incr_decr" />
+<Test name="decr_wrap_incr_invert" />
+<Test name="decr_wrap_incr_incr_wrap" />
+<Test name="decr_wrap_incr_decr_wrap" />
+<Test name="decr_wrap_decr_keep" />
+<Test name="decr_wrap_decr_zero" />
+<Test name="decr_wrap_decr_replace" />
+<Test name="decr_wrap_decr_incr" />
+<Test name="decr_wrap_decr_decr" />
+<Test name="decr_wrap_decr_invert" />
+<Test name="decr_wrap_decr_incr_wrap" />
+<Test name="decr_wrap_decr_decr_wrap" />
+<Test name="decr_wrap_invert_keep" />
+<Test name="decr_wrap_invert_zero" />
+<Test name="decr_wrap_invert_replace" />
+<Test name="decr_wrap_invert_incr" />
+<Test name="decr_wrap_invert_decr" />
+<Test name="decr_wrap_invert_invert" />
+<Test name="decr_wrap_invert_incr_wrap" />
+<Test name="decr_wrap_invert_decr_wrap" />
+<Test name="decr_wrap_incr_wrap_keep" />
+<Test name="decr_wrap_incr_wrap_zero" />
+<Test name="decr_wrap_incr_wrap_replace" />
+<Test name="decr_wrap_incr_wrap_incr" />
+<Test name="decr_wrap_incr_wrap_decr" />
+<Test name="decr_wrap_incr_wrap_invert" />
+<Test name="decr_wrap_incr_wrap_incr_wrap" />
+<Test name="decr_wrap_incr_wrap_decr_wrap" />
+<Test name="decr_wrap_decr_wrap_keep" />
+<Test name="decr_wrap_decr_wrap_zero" />
+<Test name="decr_wrap_decr_wrap_replace" />
+<Test name="decr_wrap_decr_wrap_incr" />
+<Test name="decr_wrap_decr_wrap_decr" />
+<Test name="decr_wrap_decr_wrap_invert" />
+<Test name="decr_wrap_decr_wrap_incr_wrap" />
+<Test name="decr_wrap_decr_wrap_decr_wrap" />
+</TestCase>
+<TestCase name="write_mask">
+<Test name="depth" />
+<Test name="stencil" />
+<Test name="both" />
+</TestCase>
+<TestCase name="random">
+<Test name="0" />
+<Test name="1" />
+<Test name="2" />
+<Test name="3" />
+<Test name="4" />
+<Test name="6" />
+<Test name="7" />
+<Test name="8" />
+<Test name="9" />
+<Test name="10" />
+<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" />
+</TestCase>
+</TestSuite>
+<TestSuite name="blend">
+<TestSuite name="default_framebuffer">
+<TestCase name="equation_src_func_dst_func">
+<Test name="add_zero_zero" />
+<Test name="add_zero_one" />
+<Test name="add_zero_src_color" />
+<Test name="add_zero_one_minus_src_color" />
+<Test name="add_zero_dst_color" />
+<Test name="add_zero_one_minus_dst_color" />
+<Test name="add_zero_src_alpha" />
+<Test name="add_zero_one_minus_src_alpha" />
+<Test name="add_zero_dst_alpha" />
+<Test name="add_zero_one_minus_dst_alpha" />
+<Test name="add_zero_constant_color" />
+<Test name="add_zero_one_minus_constant_color" />
+<Test name="add_zero_constant_alpha" />
+<Test name="add_zero_one_minus_constant_alpha" />
+<Test name="add_zero_src_alpha_saturate" />
+<Test name="add_one_zero" />
+<Test name="add_one_one" />
+<Test name="add_one_src_color" />
+<Test name="add_one_one_minus_src_color" />
+<Test name="add_one_dst_color" />
+<Test name="add_one_one_minus_dst_color" />
+<Test name="add_one_src_alpha" />
+<Test name="add_one_one_minus_src_alpha" />
+<Test name="add_one_dst_alpha" />
+<Test name="add_one_one_minus_dst_alpha" />
+<Test name="add_one_constant_color" />
+<Test name="add_one_one_minus_constant_color" />
+<Test name="add_one_constant_alpha" />
+<Test name="add_one_one_minus_constant_alpha" />
+<Test name="add_one_src_alpha_saturate" />
+<Test name="add_src_color_zero" />
+<Test name="add_src_color_one" />
+<Test name="add_src_color_src_color" />
+<Test name="add_src_color_one_minus_src_color" />
+<Test name="add_src_color_dst_color" />
+<Test name="add_src_color_one_minus_dst_color" />
+<Test name="add_src_color_src_alpha" />
+<Test name="add_src_color_one_minus_src_alpha" />
+<Test name="add_src_color_dst_alpha" />
+<Test name="add_src_color_one_minus_dst_alpha" />
+<Test name="add_src_color_constant_color" />
+<Test name="add_src_color_one_minus_constant_color" />
+<Test name="add_src_color_constant_alpha" />
+<Test name="add_src_color_one_minus_constant_alpha" />
+<Test name="add_src_color_src_alpha_saturate" />
+<Test name="add_one_minus_src_color_zero" />
+<Test name="add_one_minus_src_color_one" />
+<Test name="add_one_minus_src_color_src_color" />
+<Test name="add_one_minus_src_color_one_minus_src_color" />
+<Test name="add_one_minus_src_color_dst_color" />
+<Test name="add_one_minus_src_color_one_minus_dst_color" />
+<Test name="add_one_minus_src_color_src_alpha" />
+<Test name="add_one_minus_src_color_one_minus_src_alpha" />
+<Test name="add_one_minus_src_color_dst_alpha" />
+<Test name="add_one_minus_src_color_one_minus_dst_alpha" />
+<Test name="add_one_minus_src_color_constant_color" />
+<Test name="add_one_minus_src_color_one_minus_constant_color" />
+<Test name="add_one_minus_src_color_constant_alpha" />
+<Test name="add_one_minus_src_color_one_minus_constant_alpha" />
+<Test name="add_one_minus_src_color_src_alpha_saturate" />
+<Test name="add_dst_color_zero" />
+<Test name="add_dst_color_one" />
+<Test name="add_dst_color_src_color" />
+<Test name="add_dst_color_one_minus_src_color" />
+<Test name="add_dst_color_dst_color" />
+<Test name="add_dst_color_one_minus_dst_color" />
+<Test name="add_dst_color_src_alpha" />
+<Test name="add_dst_color_one_minus_src_alpha" />
+<Test name="add_dst_color_dst_alpha" />
+<Test name="add_dst_color_one_minus_dst_alpha" />
+<Test name="add_dst_color_constant_color" />
+<Test name="add_dst_color_one_minus_constant_color" />
+<Test name="add_dst_color_constant_alpha" />
+<Test name="add_dst_color_one_minus_constant_alpha" />
+<Test name="add_dst_color_src_alpha_saturate" />
+<Test name="add_one_minus_dst_color_zero" />
+<Test name="add_one_minus_dst_color_one" />
+<Test name="add_one_minus_dst_color_src_color" />
+<Test name="add_one_minus_dst_color_one_minus_src_color" />
+<Test name="add_one_minus_dst_color_dst_color" />
+<Test name="add_one_minus_dst_color_one_minus_dst_color" />
+<Test name="add_one_minus_dst_color_src_alpha" />
+<Test name="add_one_minus_dst_color_one_minus_src_alpha" />
+<Test name="add_one_minus_dst_color_dst_alpha" />
+<Test name="add_one_minus_dst_color_one_minus_dst_alpha" />
+<Test name="add_one_minus_dst_color_constant_color" />
+<Test name="add_one_minus_dst_color_one_minus_constant_color" />
+<Test name="add_one_minus_dst_color_constant_alpha" />
+<Test name="add_one_minus_dst_color_one_minus_constant_alpha" />
+<Test name="add_one_minus_dst_color_src_alpha_saturate" />
+<Test name="add_src_alpha_zero" />
+<Test name="add_src_alpha_one" />
+<Test name="add_src_alpha_src_color" />
+<Test name="add_src_alpha_one_minus_src_color" />
+<Test name="add_src_alpha_dst_color" />
+<Test name="add_src_alpha_one_minus_dst_color" />
+<Test name="add_src_alpha_src_alpha" />
+<Test name="add_src_alpha_one_minus_src_alpha" />
+<Test name="add_src_alpha_dst_alpha" />
+<Test name="add_src_alpha_one_minus_dst_alpha" />
+<Test name="add_src_alpha_constant_color" />
+<Test name="add_src_alpha_one_minus_constant_color" />
+<Test name="add_src_alpha_constant_alpha" />
+<Test name="add_src_alpha_one_minus_constant_alpha" />
+<Test name="add_src_alpha_src_alpha_saturate" />
+<Test name="add_one_minus_src_alpha_zero" />
+<Test name="add_one_minus_src_alpha_one" />
+<Test name="add_one_minus_src_alpha_src_color" />
+<Test name="add_one_minus_src_alpha_one_minus_src_color" />
+<Test name="add_one_minus_src_alpha_dst_color" />
+<Test name="add_one_minus_src_alpha_one_minus_dst_color" />
+<Test name="add_one_minus_src_alpha_src_alpha" />
+<Test name="add_one_minus_src_alpha_one_minus_src_alpha" />
+<Test name="add_one_minus_src_alpha_dst_alpha" />
+<Test name="add_one_minus_src_alpha_one_minus_dst_alpha" />
+<Test name="add_one_minus_src_alpha_constant_color" />
+<Test name="add_one_minus_src_alpha_one_minus_constant_color" />
+<Test name="add_one_minus_src_alpha_constant_alpha" />
+<Test name="add_one_minus_src_alpha_one_minus_constant_alpha" />
+<Test name="add_one_minus_src_alpha_src_alpha_saturate" />
+<Test name="add_dst_alpha_zero" />
+<Test name="add_dst_alpha_one" />
+<Test name="add_dst_alpha_src_color" />
+<Test name="add_dst_alpha_one_minus_src_color" />
+<Test name="add_dst_alpha_dst_color" />
+<Test name="add_dst_alpha_one_minus_dst_color" />
+<Test name="add_dst_alpha_src_alpha" />
+<Test name="add_dst_alpha_one_minus_src_alpha" />
+<Test name="add_dst_alpha_dst_alpha" />
+<Test name="add_dst_alpha_one_minus_dst_alpha" />
+<Test name="add_dst_alpha_constant_color" />
+<Test name="add_dst_alpha_one_minus_constant_color" />
+<Test name="add_dst_alpha_constant_alpha" />
+<Test name="add_dst_alpha_one_minus_constant_alpha" />
+<Test name="add_dst_alpha_src_alpha_saturate" />
+<Test name="add_one_minus_dst_alpha_zero" />
+<Test name="add_one_minus_dst_alpha_one" />
+<Test name="add_one_minus_dst_alpha_src_color" />
+<Test name="add_one_minus_dst_alpha_one_minus_src_color" />
+<Test name="add_one_minus_dst_alpha_dst_color" />
+<Test name="add_one_minus_dst_alpha_one_minus_dst_color" />
+<Test name="add_one_minus_dst_alpha_src_alpha" />
+<Test name="add_one_minus_dst_alpha_one_minus_src_alpha" />
+<Test name="add_one_minus_dst_alpha_dst_alpha" />
+<Test name="add_one_minus_dst_alpha_one_minus_dst_alpha" />
+<Test name="add_one_minus_dst_alpha_constant_color" />
+<Test name="add_one_minus_dst_alpha_one_minus_constant_color" />
+<Test name="add_one_minus_dst_alpha_constant_alpha" />
+<Test name="add_one_minus_dst_alpha_one_minus_constant_alpha" />
+<Test name="add_one_minus_dst_alpha_src_alpha_saturate" />
+<Test name="add_constant_color_zero" />
+<Test name="add_constant_color_one" />
+<Test name="add_constant_color_src_color" />
+<Test name="add_constant_color_one_minus_src_color" />
+<Test name="add_constant_color_dst_color" />
+<Test name="add_constant_color_one_minus_dst_color" />
+<Test name="add_constant_color_src_alpha" />
+<Test name="add_constant_color_one_minus_src_alpha" />
+<Test name="add_constant_color_dst_alpha" />
+<Test name="add_constant_color_one_minus_dst_alpha" />
+<Test name="add_constant_color_constant_color" />
+<Test name="add_constant_color_one_minus_constant_color" />
+<Test name="add_constant_color_constant_alpha" />
+<Test name="add_constant_color_one_minus_constant_alpha" />
+<Test name="add_constant_color_src_alpha_saturate" />
+<Test name="add_one_minus_constant_color_zero" />
+<Test name="add_one_minus_constant_color_one" />
+<Test name="add_one_minus_constant_color_src_color" />
+<Test name="add_one_minus_constant_color_one_minus_src_color" />
+<Test name="add_one_minus_constant_color_dst_color" />
+<Test name="add_one_minus_constant_color_one_minus_dst_color" />
+<Test name="add_one_minus_constant_color_src_alpha" />
+<Test name="add_one_minus_constant_color_one_minus_src_alpha" />
+<Test name="add_one_minus_constant_color_dst_alpha" />
+<Test name="add_one_minus_constant_color_one_minus_dst_alpha" />
+<Test name="add_one_minus_constant_color_constant_color" />
+<Test name="add_one_minus_constant_color_one_minus_constant_color" />
+<Test name="add_one_minus_constant_color_constant_alpha" />
+<Test name="add_one_minus_constant_color_one_minus_constant_alpha" />
+<Test name="add_one_minus_constant_color_src_alpha_saturate" />
+<Test name="add_constant_alpha_zero" />
+<Test name="add_constant_alpha_one" />
+<Test name="add_constant_alpha_src_color" />
+<Test name="add_constant_alpha_one_minus_src_color" />
+<Test name="add_constant_alpha_dst_color" />
+<Test name="add_constant_alpha_one_minus_dst_color" />
+<Test name="add_constant_alpha_src_alpha" />
+<Test name="add_constant_alpha_one_minus_src_alpha" />
+<Test name="add_constant_alpha_dst_alpha" />
+<Test name="add_constant_alpha_one_minus_dst_alpha" />
+<Test name="add_constant_alpha_constant_color" />
+<Test name="add_constant_alpha_one_minus_constant_color" />
+<Test name="add_constant_alpha_constant_alpha" />
+<Test name="add_constant_alpha_one_minus_constant_alpha" />
+<Test name="add_constant_alpha_src_alpha_saturate" />
+<Test name="add_one_minus_constant_alpha_zero" />
+<Test name="add_one_minus_constant_alpha_one" />
+<Test name="add_one_minus_constant_alpha_src_color" />
+<Test name="add_one_minus_constant_alpha_one_minus_src_color" />
+<Test name="add_one_minus_constant_alpha_dst_color" />
+<Test name="add_one_minus_constant_alpha_one_minus_dst_color" />
+<Test name="add_one_minus_constant_alpha_src_alpha" />
+<Test name="add_one_minus_constant_alpha_one_minus_src_alpha" />
+<Test name="add_one_minus_constant_alpha_dst_alpha" />
+<Test name="add_one_minus_constant_alpha_one_minus_dst_alpha" />
+<Test name="add_one_minus_constant_alpha_constant_color" />
+<Test name="add_one_minus_constant_alpha_one_minus_constant_color" />
+<Test name="add_one_minus_constant_alpha_constant_alpha" />
+<Test name="add_one_minus_constant_alpha_one_minus_constant_alpha" />
+<Test name="add_one_minus_constant_alpha_src_alpha_saturate" />
+<Test name="add_src_alpha_saturate_zero" />
+<Test name="add_src_alpha_saturate_one" />
+<Test name="add_src_alpha_saturate_src_color" />
+<Test name="add_src_alpha_saturate_one_minus_src_color" />
+<Test name="add_src_alpha_saturate_dst_color" />
+<Test name="add_src_alpha_saturate_one_minus_dst_color" />
+<Test name="add_src_alpha_saturate_src_alpha" />
+<Test name="add_src_alpha_saturate_one_minus_src_alpha" />
+<Test name="add_src_alpha_saturate_dst_alpha" />
+<Test name="add_src_alpha_saturate_one_minus_dst_alpha" />
+<Test name="add_src_alpha_saturate_constant_color" />
+<Test name="add_src_alpha_saturate_one_minus_constant_color" />
+<Test name="add_src_alpha_saturate_constant_alpha" />
+<Test name="add_src_alpha_saturate_one_minus_constant_alpha" />
+<Test name="add_src_alpha_saturate_src_alpha_saturate" />
+<Test name="subtract_zero_zero" />
+<Test name="subtract_zero_one" />
+<Test name="subtract_zero_src_color" />
+<Test name="subtract_zero_one_minus_src_color" />
+<Test name="subtract_zero_dst_color" />
+<Test name="subtract_zero_one_minus_dst_color" />
+<Test name="subtract_zero_src_alpha" />
+<Test name="subtract_zero_one_minus_src_alpha" />
+<Test name="subtract_zero_dst_alpha" />
+<Test name="subtract_zero_one_minus_dst_alpha" />
+<Test name="subtract_zero_constant_color" />
+<Test name="subtract_zero_one_minus_constant_color" />
+<Test name="subtract_zero_constant_alpha" />
+<Test name="subtract_zero_one_minus_constant_alpha" />
+<Test name="subtract_zero_src_alpha_saturate" />
+<Test name="subtract_one_zero" />
+<Test name="subtract_one_one" />
+<Test name="subtract_one_src_color" />
+<Test name="subtract_one_one_minus_src_color" />
+<Test name="subtract_one_dst_color" />
+<Test name="subtract_one_one_minus_dst_color" />
+<Test name="subtract_one_src_alpha" />
+<Test name="subtract_one_one_minus_src_alpha" />
+<Test name="subtract_one_dst_alpha" />
+<Test name="subtract_one_one_minus_dst_alpha" />
+<Test name="subtract_one_constant_color" />
+<Test name="subtract_one_one_minus_constant_color" />
+<Test name="subtract_one_constant_alpha" />
+<Test name="subtract_one_one_minus_constant_alpha" />
+<Test name="subtract_one_src_alpha_saturate" />
+<Test name="subtract_src_color_zero" />
+<Test name="subtract_src_color_one" />
+<Test name="subtract_src_color_src_color" />
+<Test name="subtract_src_color_one_minus_src_color" />
+<Test name="subtract_src_color_dst_color" />
+<Test name="subtract_src_color_one_minus_dst_color" />
+<Test name="subtract_src_color_src_alpha" />
+<Test name="subtract_src_color_one_minus_src_alpha" />
+<Test name="subtract_src_color_dst_alpha" />
+<Test name="subtract_src_color_one_minus_dst_alpha" />
+<Test name="subtract_src_color_constant_color" />
+<Test name="subtract_src_color_one_minus_constant_color" />
+<Test name="subtract_src_color_constant_alpha" />
+<Test name="subtract_src_color_one_minus_constant_alpha" />
+<Test name="subtract_src_color_src_alpha_saturate" />
+<Test name="subtract_one_minus_src_color_zero" />
+<Test name="subtract_one_minus_src_color_one" />
+<Test name="subtract_one_minus_src_color_src_color" />
+<Test name="subtract_one_minus_src_color_one_minus_src_color" />
+<Test name="subtract_one_minus_src_color_dst_color" />
+<Test name="subtract_one_minus_src_color_one_minus_dst_color" />
+<Test name="subtract_one_minus_src_color_src_alpha" />
+<Test name="subtract_one_minus_src_color_one_minus_src_alpha" />
+<Test name="subtract_one_minus_src_color_dst_alpha" />
+<Test name="subtract_one_minus_src_color_one_minus_dst_alpha" />
+<Test name="subtract_one_minus_src_color_constant_color" />
+<Test name="subtract_one_minus_src_color_one_minus_constant_color" />
+<Test name="subtract_one_minus_src_color_constant_alpha" />
+<Test name="subtract_one_minus_src_color_one_minus_constant_alpha" />
+<Test name="subtract_one_minus_src_color_src_alpha_saturate" />
+<Test name="subtract_dst_color_zero" />
+<Test name="subtract_dst_color_one" />
+<Test name="subtract_dst_color_src_color" />
+<Test name="subtract_dst_color_one_minus_src_color" />
+<Test name="subtract_dst_color_dst_color" />
+<Test name="subtract_dst_color_one_minus_dst_color" />
+<Test name="subtract_dst_color_src_alpha" />
+<Test name="subtract_dst_color_one_minus_src_alpha" />
+<Test name="subtract_dst_color_dst_alpha" />
+<Test name="subtract_dst_color_one_minus_dst_alpha" />
+<Test name="subtract_dst_color_constant_color" />
+<Test name="subtract_dst_color_one_minus_constant_color" />
+<Test name="subtract_dst_color_constant_alpha" />
+<Test name="subtract_dst_color_one_minus_constant_alpha" />
+<Test name="subtract_dst_color_src_alpha_saturate" />
+<Test name="subtract_one_minus_dst_color_zero" />
+<Test name="subtract_one_minus_dst_color_one" />
+<Test name="subtract_one_minus_dst_color_src_color" />
+<Test name="subtract_one_minus_dst_color_one_minus_src_color" />
+<Test name="subtract_one_minus_dst_color_dst_color" />
+<Test name="subtract_one_minus_dst_color_one_minus_dst_color" />
+<Test name="subtract_one_minus_dst_color_src_alpha" />
+<Test name="subtract_one_minus_dst_color_one_minus_src_alpha" />
+<Test name="subtract_one_minus_dst_color_dst_alpha" />
+<Test name="subtract_one_minus_dst_color_one_minus_dst_alpha" />
+<Test name="subtract_one_minus_dst_color_constant_color" />
+<Test name="subtract_one_minus_dst_color_one_minus_constant_color" />
+<Test name="subtract_one_minus_dst_color_constant_alpha" />
+<Test name="subtract_one_minus_dst_color_one_minus_constant_alpha" />
+<Test name="subtract_one_minus_dst_color_src_alpha_saturate" />
+<Test name="subtract_src_alpha_zero" />
+<Test name="subtract_src_alpha_one" />
+<Test name="subtract_src_alpha_src_color" />
+<Test name="subtract_src_alpha_one_minus_src_color" />
+<Test name="subtract_src_alpha_dst_color" />
+<Test name="subtract_src_alpha_one_minus_dst_color" />
+<Test name="subtract_src_alpha_src_alpha" />
+<Test name="subtract_src_alpha_one_minus_src_alpha" />
+<Test name="subtract_src_alpha_dst_alpha" />
+<Test name="subtract_src_alpha_one_minus_dst_alpha" />
+<Test name="subtract_src_alpha_constant_color" />
+<Test name="subtract_src_alpha_one_minus_constant_color" />
+<Test name="subtract_src_alpha_constant_alpha" />
+<Test name="subtract_src_alpha_one_minus_constant_alpha" />
+<Test name="subtract_src_alpha_src_alpha_saturate" />
+<Test name="subtract_one_minus_src_alpha_zero" />
+<Test name="subtract_one_minus_src_alpha_one" />
+<Test name="subtract_one_minus_src_alpha_src_color" />
+<Test name="subtract_one_minus_src_alpha_one_minus_src_color" />
+<Test name="subtract_one_minus_src_alpha_dst_color" />
+<Test name="subtract_one_minus_src_alpha_one_minus_dst_color" />
+<Test name="subtract_one_minus_src_alpha_src_alpha" />
+<Test name="subtract_one_minus_src_alpha_one_minus_src_alpha" />
+<Test name="subtract_one_minus_src_alpha_dst_alpha" />
+<Test name="subtract_one_minus_src_alpha_one_minus_dst_alpha" />
+<Test name="subtract_one_minus_src_alpha_constant_color" />
+<Test name="subtract_one_minus_src_alpha_one_minus_constant_color" />
+<Test name="subtract_one_minus_src_alpha_constant_alpha" />
+<Test name="subtract_one_minus_src_alpha_one_minus_constant_alpha" />
+<Test name="subtract_one_minus_src_alpha_src_alpha_saturate" />
+<Test name="subtract_dst_alpha_zero" />
+<Test name="subtract_dst_alpha_one" />
+<Test name="subtract_dst_alpha_src_color" />
+<Test name="subtract_dst_alpha_one_minus_src_color" />
+<Test name="subtract_dst_alpha_dst_color" />
+<Test name="subtract_dst_alpha_one_minus_dst_color" />
+<Test name="subtract_dst_alpha_src_alpha" />
+<Test name="subtract_dst_alpha_one_minus_src_alpha" />
+<Test name="subtract_dst_alpha_dst_alpha" />
+<Test name="subtract_dst_alpha_one_minus_dst_alpha" />
+<Test name="subtract_dst_alpha_constant_color" />
+<Test name="subtract_dst_alpha_one_minus_constant_color" />
+<Test name="subtract_dst_alpha_constant_alpha" />
+<Test name="subtract_dst_alpha_one_minus_constant_alpha" />
+<Test name="subtract_dst_alpha_src_alpha_saturate" />
+<Test name="subtract_one_minus_dst_alpha_zero" />
+<Test name="subtract_one_minus_dst_alpha_one" />
+<Test name="subtract_one_minus_dst_alpha_src_color" />
+<Test name="subtract_one_minus_dst_alpha_one_minus_src_color" />
+<Test name="subtract_one_minus_dst_alpha_dst_color" />
+<Test name="subtract_one_minus_dst_alpha_one_minus_dst_color" />
+<Test name="subtract_one_minus_dst_alpha_src_alpha" />
+<Test name="subtract_one_minus_dst_alpha_one_minus_src_alpha" />
+<Test name="subtract_one_minus_dst_alpha_dst_alpha" />
+<Test name="subtract_one_minus_dst_alpha_one_minus_dst_alpha" />
+<Test name="subtract_one_minus_dst_alpha_constant_color" />
+<Test name="subtract_one_minus_dst_alpha_one_minus_constant_color" />
+<Test name="subtract_one_minus_dst_alpha_constant_alpha" />
+<Test name="subtract_one_minus_dst_alpha_one_minus_constant_alpha" />
+<Test name="subtract_one_minus_dst_alpha_src_alpha_saturate" />
+<Test name="subtract_constant_color_zero" />
+<Test name="subtract_constant_color_one" />
+<Test name="subtract_constant_color_src_color" />
+<Test name="subtract_constant_color_one_minus_src_color" />
+<Test name="subtract_constant_color_dst_color" />
+<Test name="subtract_constant_color_one_minus_dst_color" />
+<Test name="subtract_constant_color_src_alpha" />
+<Test name="subtract_constant_color_one_minus_src_alpha" />
+<Test name="subtract_constant_color_dst_alpha" />
+<Test name="subtract_constant_color_one_minus_dst_alpha" />
+<Test name="subtract_constant_color_constant_color" />
+<Test name="subtract_constant_color_one_minus_constant_color" />
+<Test name="subtract_constant_color_constant_alpha" />
+<Test name="subtract_constant_color_one_minus_constant_alpha" />
+<Test name="subtract_constant_color_src_alpha_saturate" />
+<Test name="subtract_one_minus_constant_color_zero" />
+<Test name="subtract_one_minus_constant_color_one" />
+<Test name="subtract_one_minus_constant_color_src_color" />
+<Test name="subtract_one_minus_constant_color_one_minus_src_color" />
+<Test name="subtract_one_minus_constant_color_dst_color" />
+<Test name="subtract_one_minus_constant_color_one_minus_dst_color" />
+<Test name="subtract_one_minus_constant_color_src_alpha" />
+<Test name="subtract_one_minus_constant_color_one_minus_src_alpha" />
+<Test name="subtract_one_minus_constant_color_dst_alpha" />
+<Test name="subtract_one_minus_constant_color_one_minus_dst_alpha" />
+<Test name="subtract_one_minus_constant_color_constant_color" />
+<Test name="subtract_one_minus_constant_color_one_minus_constant_color" />
+<Test name="subtract_one_minus_constant_color_constant_alpha" />
+<Test name="subtract_one_minus_constant_color_one_minus_constant_alpha" />
+<Test name="subtract_one_minus_constant_color_src_alpha_saturate" />
+<Test name="subtract_constant_alpha_zero" />
+<Test name="subtract_constant_alpha_one" />
+<Test name="subtract_constant_alpha_src_color" />
+<Test name="subtract_constant_alpha_one_minus_src_color" />
+<Test name="subtract_constant_alpha_dst_color" />
+<Test name="subtract_constant_alpha_one_minus_dst_color" />
+<Test name="subtract_constant_alpha_src_alpha" />
+<Test name="subtract_constant_alpha_one_minus_src_alpha" />
+<Test name="subtract_constant_alpha_dst_alpha" />
+<Test name="subtract_constant_alpha_one_minus_dst_alpha" />
+<Test name="subtract_constant_alpha_constant_color" />
+<Test name="subtract_constant_alpha_one_minus_constant_color" />
+<Test name="subtract_constant_alpha_constant_alpha" />
+<Test name="subtract_constant_alpha_one_minus_constant_alpha" />
+<Test name="subtract_constant_alpha_src_alpha_saturate" />
+<Test name="subtract_one_minus_constant_alpha_zero" />
+<Test name="subtract_one_minus_constant_alpha_one" />
+<Test name="subtract_one_minus_constant_alpha_src_color" />
+<Test name="subtract_one_minus_constant_alpha_one_minus_src_color" />
+<Test name="subtract_one_minus_constant_alpha_dst_color" />
+<Test name="subtract_one_minus_constant_alpha_one_minus_dst_color" />
+<Test name="subtract_one_minus_constant_alpha_src_alpha" />
+<Test name="subtract_one_minus_constant_alpha_one_minus_src_alpha" />
+<Test name="subtract_one_minus_constant_alpha_dst_alpha" />
+<Test name="subtract_one_minus_constant_alpha_one_minus_dst_alpha" />
+<Test name="subtract_one_minus_constant_alpha_constant_color" />
+<Test name="subtract_one_minus_constant_alpha_one_minus_constant_color" />
+<Test name="subtract_one_minus_constant_alpha_constant_alpha" />
+<Test name="subtract_one_minus_constant_alpha_one_minus_constant_alpha" />
+<Test name="subtract_one_minus_constant_alpha_src_alpha_saturate" />
+<Test name="subtract_src_alpha_saturate_zero" />
+<Test name="subtract_src_alpha_saturate_one" />
+<Test name="subtract_src_alpha_saturate_src_color" />
+<Test name="subtract_src_alpha_saturate_one_minus_src_color" />
+<Test name="subtract_src_alpha_saturate_dst_color" />
+<Test name="subtract_src_alpha_saturate_one_minus_dst_color" />
+<Test name="subtract_src_alpha_saturate_src_alpha" />
+<Test name="subtract_src_alpha_saturate_one_minus_src_alpha" />
+<Test name="subtract_src_alpha_saturate_dst_alpha" />
+<Test name="subtract_src_alpha_saturate_one_minus_dst_alpha" />
+<Test name="subtract_src_alpha_saturate_constant_color" />
+<Test name="subtract_src_alpha_saturate_one_minus_constant_color" />
+<Test name="subtract_src_alpha_saturate_constant_alpha" />
+<Test name="subtract_src_alpha_saturate_one_minus_constant_alpha" />
+<Test name="subtract_src_alpha_saturate_src_alpha_saturate" />
+<Test name="reverse_subtract_zero_zero" />
+<Test name="reverse_subtract_zero_one" />
+<Test name="reverse_subtract_zero_src_color" />
+<Test name="reverse_subtract_zero_one_minus_src_color" />
+<Test name="reverse_subtract_zero_dst_color" />
+<Test name="reverse_subtract_zero_one_minus_dst_color" />
+<Test name="reverse_subtract_zero_src_alpha" />
+<Test name="reverse_subtract_zero_one_minus_src_alpha" />
+<Test name="reverse_subtract_zero_dst_alpha" />
+<Test name="reverse_subtract_zero_one_minus_dst_alpha" />
+<Test name="reverse_subtract_zero_constant_color" />
+<Test name="reverse_subtract_zero_one_minus_constant_color" />
+<Test name="reverse_subtract_zero_constant_alpha" />
+<Test name="reverse_subtract_zero_one_minus_constant_alpha" />
+<Test name="reverse_subtract_zero_src_alpha_saturate" />
+<Test name="reverse_subtract_one_zero" />
+<Test name="reverse_subtract_one_one" />
+<Test name="reverse_subtract_one_src_color" />
+<Test name="reverse_subtract_one_one_minus_src_color" />
+<Test name="reverse_subtract_one_dst_color" />
+<Test name="reverse_subtract_one_one_minus_dst_color" />
+<Test name="reverse_subtract_one_src_alpha" />
+<Test name="reverse_subtract_one_one_minus_src_alpha" />
+<Test name="reverse_subtract_one_dst_alpha" />
+<Test name="reverse_subtract_one_one_minus_dst_alpha" />
+<Test name="reverse_subtract_one_constant_color" />
+<Test name="reverse_subtract_one_one_minus_constant_color" />
+<Test name="reverse_subtract_one_constant_alpha" />
+<Test name="reverse_subtract_one_one_minus_constant_alpha" />
+<Test name="reverse_subtract_one_src_alpha_saturate" />
+<Test name="reverse_subtract_src_color_zero" />
+<Test name="reverse_subtract_src_color_one" />
+<Test name="reverse_subtract_src_color_src_color" />
+<Test name="reverse_subtract_src_color_one_minus_src_color" />
+<Test name="reverse_subtract_src_color_dst_color" />
+<Test name="reverse_subtract_src_color_one_minus_dst_color" />
+<Test name="reverse_subtract_src_color_src_alpha" />
+<Test name="reverse_subtract_src_color_one_minus_src_alpha" />
+<Test name="reverse_subtract_src_color_dst_alpha" />
+<Test name="reverse_subtract_src_color_one_minus_dst_alpha" />
+<Test name="reverse_subtract_src_color_constant_color" />
+<Test name="reverse_subtract_src_color_one_minus_constant_color" />
+<Test name="reverse_subtract_src_color_constant_alpha" />
+<Test name="reverse_subtract_src_color_one_minus_constant_alpha" />
+<Test name="reverse_subtract_src_color_src_alpha_saturate" />
+<Test name="reverse_subtract_one_minus_src_color_zero" />
+<Test name="reverse_subtract_one_minus_src_color_one" />
+<Test name="reverse_subtract_one_minus_src_color_src_color" />
+<Test name="reverse_subtract_one_minus_src_color_one_minus_src_color" />
+<Test name="reverse_subtract_one_minus_src_color_dst_color" />
+<Test name="reverse_subtract_one_minus_src_color_one_minus_dst_color" />
+<Test name="reverse_subtract_one_minus_src_color_src_alpha" />
+<Test name="reverse_subtract_one_minus_src_color_one_minus_src_alpha" />
+<Test name="reverse_subtract_one_minus_src_color_dst_alpha" />
+<Test name="reverse_subtract_one_minus_src_color_one_minus_dst_alpha" />
+<Test name="reverse_subtract_one_minus_src_color_constant_color" />
+<Test name="reverse_subtract_one_minus_src_color_one_minus_constant_color" />
+<Test name="reverse_subtract_one_minus_src_color_constant_alpha" />
+<Test name="reverse_subtract_one_minus_src_color_one_minus_constant_alpha" />
+<Test name="reverse_subtract_one_minus_src_color_src_alpha_saturate" />
+<Test name="reverse_subtract_dst_color_zero" />
+<Test name="reverse_subtract_dst_color_one" />
+<Test name="reverse_subtract_dst_color_src_color" />
+<Test name="reverse_subtract_dst_color_one_minus_src_color" />
+<Test name="reverse_subtract_dst_color_dst_color" />
+<Test name="reverse_subtract_dst_color_one_minus_dst_color" />
+<Test name="reverse_subtract_dst_color_src_alpha" />
+<Test name="reverse_subtract_dst_color_one_minus_src_alpha" />
+<Test name="reverse_subtract_dst_color_dst_alpha" />
+<Test name="reverse_subtract_dst_color_one_minus_dst_alpha" />
+<Test name="reverse_subtract_dst_color_constant_color" />
+<Test name="reverse_subtract_dst_color_one_minus_constant_color" />
+<Test name="reverse_subtract_dst_color_constant_alpha" />
+<Test name="reverse_subtract_dst_color_one_minus_constant_alpha" />
+<Test name="reverse_subtract_dst_color_src_alpha_saturate" />
+<Test name="reverse_subtract_one_minus_dst_color_zero" />
+<Test name="reverse_subtract_one_minus_dst_color_one" />
+<Test name="reverse_subtract_one_minus_dst_color_src_color" />
+<Test name="reverse_subtract_one_minus_dst_color_one_minus_src_color" />
+<Test name="reverse_subtract_one_minus_dst_color_dst_color" />
+<Test name="reverse_subtract_one_minus_dst_color_one_minus_dst_color" />
+<Test name="reverse_subtract_one_minus_dst_color_src_alpha" />
+<Test name="reverse_subtract_one_minus_dst_color_one_minus_src_alpha" />
+<Test name="reverse_subtract_one_minus_dst_color_dst_alpha" />
+<Test name="reverse_subtract_one_minus_dst_color_one_minus_dst_alpha" />
+<Test name="reverse_subtract_one_minus_dst_color_constant_color" />
+<Test name="reverse_subtract_one_minus_dst_color_one_minus_constant_color" />
+<Test name="reverse_subtract_one_minus_dst_color_constant_alpha" />
+<Test name="reverse_subtract_one_minus_dst_color_one_minus_constant_alpha" />
+<Test name="reverse_subtract_one_minus_dst_color_src_alpha_saturate" />
+<Test name="reverse_subtract_src_alpha_zero" />
+<Test name="reverse_subtract_src_alpha_one" />
+<Test name="reverse_subtract_src_alpha_src_color" />
+<Test name="reverse_subtract_src_alpha_one_minus_src_color" />
+<Test name="reverse_subtract_src_alpha_dst_color" />
+<Test name="reverse_subtract_src_alpha_one_minus_dst_color" />
+<Test name="reverse_subtract_src_alpha_src_alpha" />
+<Test name="reverse_subtract_src_alpha_one_minus_src_alpha" />
+<Test name="reverse_subtract_src_alpha_dst_alpha" />
+<Test name="reverse_subtract_src_alpha_one_minus_dst_alpha" />
+<Test name="reverse_subtract_src_alpha_constant_color" />
+<Test name="reverse_subtract_src_alpha_one_minus_constant_color" />
+<Test name="reverse_subtract_src_alpha_constant_alpha" />
+<Test name="reverse_subtract_src_alpha_one_minus_constant_alpha" />
+<Test name="reverse_subtract_src_alpha_src_alpha_saturate" />
+<Test name="reverse_subtract_one_minus_src_alpha_zero" />
+<Test name="reverse_subtract_one_minus_src_alpha_one" />
+<Test name="reverse_subtract_one_minus_src_alpha_src_color" />
+<Test name="reverse_subtract_one_minus_src_alpha_one_minus_src_color" />
+<Test name="reverse_subtract_one_minus_src_alpha_dst_color" />
+<Test name="reverse_subtract_one_minus_src_alpha_one_minus_dst_color" />
+<Test name="reverse_subtract_one_minus_src_alpha_src_alpha" />
+<Test name="reverse_subtract_one_minus_src_alpha_one_minus_src_alpha" />
+<Test name="reverse_subtract_one_minus_src_alpha_dst_alpha" />
+<Test name="reverse_subtract_one_minus_src_alpha_one_minus_dst_alpha" />
+<Test name="reverse_subtract_one_minus_src_alpha_constant_color" />
+<Test name="reverse_subtract_one_minus_src_alpha_one_minus_constant_color" />
+<Test name="reverse_subtract_one_minus_src_alpha_constant_alpha" />
+<Test name="reverse_subtract_one_minus_src_alpha_one_minus_constant_alpha" />
+<Test name="reverse_subtract_one_minus_src_alpha_src_alpha_saturate" />
+<Test name="reverse_subtract_dst_alpha_zero" />
+<Test name="reverse_subtract_dst_alpha_one" />
+<Test name="reverse_subtract_dst_alpha_src_color" />
+<Test name="reverse_subtract_dst_alpha_one_minus_src_color" />
+<Test name="reverse_subtract_dst_alpha_dst_color" />
+<Test name="reverse_subtract_dst_alpha_one_minus_dst_color" />
+<Test name="reverse_subtract_dst_alpha_src_alpha" />
+<Test name="reverse_subtract_dst_alpha_one_minus_src_alpha" />
+<Test name="reverse_subtract_dst_alpha_dst_alpha" />
+<Test name="reverse_subtract_dst_alpha_one_minus_dst_alpha" />
+<Test name="reverse_subtract_dst_alpha_constant_color" />
+<Test name="reverse_subtract_dst_alpha_one_minus_constant_color" />
+<Test name="reverse_subtract_dst_alpha_constant_alpha" />
+<Test name="reverse_subtract_dst_alpha_one_minus_constant_alpha" />
+<Test name="reverse_subtract_dst_alpha_src_alpha_saturate" />
+<Test name="reverse_subtract_one_minus_dst_alpha_zero" />
+<Test name="reverse_subtract_one_minus_dst_alpha_one" />
+<Test name="reverse_subtract_one_minus_dst_alpha_src_color" />
+<Test name="reverse_subtract_one_minus_dst_alpha_one_minus_src_color" />
+<Test name="reverse_subtract_one_minus_dst_alpha_dst_color" />
+<Test name="reverse_subtract_one_minus_dst_alpha_one_minus_dst_color" />
+<Test name="reverse_subtract_one_minus_dst_alpha_src_alpha" />
+<Test name="reverse_subtract_one_minus_dst_alpha_one_minus_src_alpha" />
+<Test name="reverse_subtract_one_minus_dst_alpha_dst_alpha" />
+<Test name="reverse_subtract_one_minus_dst_alpha_one_minus_dst_alpha" />
+<Test name="reverse_subtract_one_minus_dst_alpha_constant_color" />
+<Test name="reverse_subtract_one_minus_dst_alpha_one_minus_constant_color" />
+<Test name="reverse_subtract_one_minus_dst_alpha_constant_alpha" />
+<Test name="reverse_subtract_one_minus_dst_alpha_one_minus_constant_alpha" />
+<Test name="reverse_subtract_one_minus_dst_alpha_src_alpha_saturate" />
+<Test name="reverse_subtract_constant_color_zero" />
+<Test name="reverse_subtract_constant_color_one" />
+<Test name="reverse_subtract_constant_color_src_color" />
+<Test name="reverse_subtract_constant_color_one_minus_src_color" />
+<Test name="reverse_subtract_constant_color_dst_color" />
+<Test name="reverse_subtract_constant_color_one_minus_dst_color" />
+<Test name="reverse_subtract_constant_color_src_alpha" />
+<Test name="reverse_subtract_constant_color_one_minus_src_alpha" />
+<Test name="reverse_subtract_constant_color_dst_alpha" />
+<Test name="reverse_subtract_constant_color_one_minus_dst_alpha" />
+<Test name="reverse_subtract_constant_color_constant_color" />
+<Test name="reverse_subtract_constant_color_one_minus_constant_color" />
+<Test name="reverse_subtract_constant_color_constant_alpha" />
+<Test name="reverse_subtract_constant_color_one_minus_constant_alpha" />
+<Test name="reverse_subtract_constant_color_src_alpha_saturate" />
+<Test name="reverse_subtract_one_minus_constant_color_zero" />
+<Test name="reverse_subtract_one_minus_constant_color_one" />
+<Test name="reverse_subtract_one_minus_constant_color_src_color" />
+<Test name="reverse_subtract_one_minus_constant_color_one_minus_src_color" />
+<Test name="reverse_subtract_one_minus_constant_color_dst_color" />
+<Test name="reverse_subtract_one_minus_constant_color_one_minus_dst_color" />
+<Test name="reverse_subtract_one_minus_constant_color_src_alpha" />
+<Test name="reverse_subtract_one_minus_constant_color_one_minus_src_alpha" />
+<Test name="reverse_subtract_one_minus_constant_color_dst_alpha" />
+<Test name="reverse_subtract_one_minus_constant_color_one_minus_dst_alpha" />
+<Test name="reverse_subtract_one_minus_constant_color_constant_color" />
+<Test name="reverse_subtract_one_minus_constant_color_one_minus_constant_color" />
+<Test name="reverse_subtract_one_minus_constant_color_constant_alpha" />
+<Test name="reverse_subtract_one_minus_constant_color_one_minus_constant_alpha" />
+<Test name="reverse_subtract_one_minus_constant_color_src_alpha_saturate" />
+<Test name="reverse_subtract_constant_alpha_zero" />
+<Test name="reverse_subtract_constant_alpha_one" />
+<Test name="reverse_subtract_constant_alpha_src_color" />
+<Test name="reverse_subtract_constant_alpha_one_minus_src_color" />
+<Test name="reverse_subtract_constant_alpha_dst_color" />
+<Test name="reverse_subtract_constant_alpha_one_minus_dst_color" />
+<Test name="reverse_subtract_constant_alpha_src_alpha" />
+<Test name="reverse_subtract_constant_alpha_one_minus_src_alpha" />
+<Test name="reverse_subtract_constant_alpha_dst_alpha" />
+<Test name="reverse_subtract_constant_alpha_one_minus_dst_alpha" />
+<Test name="reverse_subtract_constant_alpha_constant_color" />
+<Test name="reverse_subtract_constant_alpha_one_minus_constant_color" />
+<Test name="reverse_subtract_constant_alpha_constant_alpha" />
+<Test name="reverse_subtract_constant_alpha_one_minus_constant_alpha" />
+<Test name="reverse_subtract_constant_alpha_src_alpha_saturate" />
+<Test name="reverse_subtract_one_minus_constant_alpha_zero" />
+<Test name="reverse_subtract_one_minus_constant_alpha_one" />
+<Test name="reverse_subtract_one_minus_constant_alpha_src_color" />
+<Test name="reverse_subtract_one_minus_constant_alpha_one_minus_src_color" />
+<Test name="reverse_subtract_one_minus_constant_alpha_dst_color" />
+<Test name="reverse_subtract_one_minus_constant_alpha_one_minus_dst_color" />
+<Test name="reverse_subtract_one_minus_constant_alpha_src_alpha" />
+<Test name="reverse_subtract_one_minus_constant_alpha_one_minus_src_alpha" />
+<Test name="reverse_subtract_one_minus_constant_alpha_dst_alpha" />
+<Test name="reverse_subtract_one_minus_constant_alpha_one_minus_dst_alpha" />
+<Test name="reverse_subtract_one_minus_constant_alpha_constant_color" />
+<Test name="reverse_subtract_one_minus_constant_alpha_one_minus_constant_color" />
+<Test name="reverse_subtract_one_minus_constant_alpha_constant_alpha" />
+<Test name="reverse_subtract_one_minus_constant_alpha_one_minus_constant_alpha" />
+<Test name="reverse_subtract_one_minus_constant_alpha_src_alpha_saturate" />
+<Test name="reverse_subtract_src_alpha_saturate_zero" />
+<Test name="reverse_subtract_src_alpha_saturate_one" />
+<Test name="reverse_subtract_src_alpha_saturate_src_color" />
+<Test name="reverse_subtract_src_alpha_saturate_one_minus_src_color" />
+<Test name="reverse_subtract_src_alpha_saturate_dst_color" />
+<Test name="reverse_subtract_src_alpha_saturate_one_minus_dst_color" />
+<Test name="reverse_subtract_src_alpha_saturate_src_alpha" />
+<Test name="reverse_subtract_src_alpha_saturate_one_minus_src_alpha" />
+<Test name="reverse_subtract_src_alpha_saturate_dst_alpha" />
+<Test name="reverse_subtract_src_alpha_saturate_one_minus_dst_alpha" />
+<Test name="reverse_subtract_src_alpha_saturate_constant_color" />
+<Test name="reverse_subtract_src_alpha_saturate_one_minus_constant_color" />
+<Test name="reverse_subtract_src_alpha_saturate_constant_alpha" />
+<Test name="reverse_subtract_src_alpha_saturate_one_minus_constant_alpha" />
+<Test name="reverse_subtract_src_alpha_saturate_src_alpha_saturate" />
+</TestCase>
+<TestSuite name="rgb_func_alpha_func">
+<TestCase name="src">
+<Test name="zero_zero" />
+<Test name="zero_one" />
+<Test name="zero_src_color" />
+<Test name="zero_one_minus_src_color" />
+<Test name="zero_dst_color" />
+<Test name="zero_one_minus_dst_color" />
+<Test name="zero_src_alpha" />
+<Test name="zero_one_minus_src_alpha" />
+<Test name="zero_dst_alpha" />
+<Test name="zero_one_minus_dst_alpha" />
+<Test name="zero_constant_color" />
+<Test name="zero_one_minus_constant_color" />
+<Test name="zero_constant_alpha" />
+<Test name="zero_one_minus_constant_alpha" />
+<Test name="zero_src_alpha_saturate" />
+<Test name="one_zero" />
+<Test name="one_one" />
+<Test name="one_src_color" />
+<Test name="one_one_minus_src_color" />
+<Test name="one_dst_color" />
+<Test name="one_one_minus_dst_color" />
+<Test name="one_src_alpha" />
+<Test name="one_one_minus_src_alpha" />
+<Test name="one_dst_alpha" />
+<Test name="one_one_minus_dst_alpha" />
+<Test name="one_constant_color" />
+<Test name="one_one_minus_constant_color" />
+<Test name="one_constant_alpha" />
+<Test name="one_one_minus_constant_alpha" />
+<Test name="one_src_alpha_saturate" />
+<Test name="src_color_zero" />
+<Test name="src_color_one" />
+<Test name="src_color_src_color" />
+<Test name="src_color_one_minus_src_color" />
+<Test name="src_color_dst_color" />
+<Test name="src_color_one_minus_dst_color" />
+<Test name="src_color_src_alpha" />
+<Test name="src_color_one_minus_src_alpha" />
+<Test name="src_color_dst_alpha" />
+<Test name="src_color_one_minus_dst_alpha" />
+<Test name="src_color_constant_color" />
+<Test name="src_color_one_minus_constant_color" />
+<Test name="src_color_constant_alpha" />
+<Test name="src_color_one_minus_constant_alpha" />
+<Test name="src_color_src_alpha_saturate" />
+<Test name="one_minus_src_color_zero" />
+<Test name="one_minus_src_color_one" />
+<Test name="one_minus_src_color_src_color" />
+<Test name="one_minus_src_color_one_minus_src_color" />
+<Test name="one_minus_src_color_dst_color" />
+<Test name="one_minus_src_color_one_minus_dst_color" />
+<Test name="one_minus_src_color_src_alpha" />
+<Test name="one_minus_src_color_one_minus_src_alpha" />
+<Test name="one_minus_src_color_dst_alpha" />
+<Test name="one_minus_src_color_one_minus_dst_alpha" />
+<Test name="one_minus_src_color_constant_color" />
+<Test name="one_minus_src_color_one_minus_constant_color" />
+<Test name="one_minus_src_color_constant_alpha" />
+<Test name="one_minus_src_color_one_minus_constant_alpha" />
+<Test name="one_minus_src_color_src_alpha_saturate" />
+<Test name="dst_color_zero" />
+<Test name="dst_color_one" />
+<Test name="dst_color_src_color" />
+<Test name="dst_color_one_minus_src_color" />
+<Test name="dst_color_dst_color" />
+<Test name="dst_color_one_minus_dst_color" />
+<Test name="dst_color_src_alpha" />
+<Test name="dst_color_one_minus_src_alpha" />
+<Test name="dst_color_dst_alpha" />
+<Test name="dst_color_one_minus_dst_alpha" />
+<Test name="dst_color_constant_color" />
+<Test name="dst_color_one_minus_constant_color" />
+<Test name="dst_color_constant_alpha" />
+<Test name="dst_color_one_minus_constant_alpha" />
+<Test name="dst_color_src_alpha_saturate" />
+<Test name="one_minus_dst_color_zero" />
+<Test name="one_minus_dst_color_one" />
+<Test name="one_minus_dst_color_src_color" />
+<Test name="one_minus_dst_color_one_minus_src_color" />
+<Test name="one_minus_dst_color_dst_color" />
+<Test name="one_minus_dst_color_one_minus_dst_color" />
+<Test name="one_minus_dst_color_src_alpha" />
+<Test name="one_minus_dst_color_one_minus_src_alpha" />
+<Test name="one_minus_dst_color_dst_alpha" />
+<Test name="one_minus_dst_color_one_minus_dst_alpha" />
+<Test name="one_minus_dst_color_constant_color" />
+<Test name="one_minus_dst_color_one_minus_constant_color" />
+<Test name="one_minus_dst_color_constant_alpha" />
+<Test name="one_minus_dst_color_one_minus_constant_alpha" />
+<Test name="one_minus_dst_color_src_alpha_saturate" />
+<Test name="src_alpha_zero" />
+<Test name="src_alpha_one" />
+<Test name="src_alpha_src_color" />
+<Test name="src_alpha_one_minus_src_color" />
+<Test name="src_alpha_dst_color" />
+<Test name="src_alpha_one_minus_dst_color" />
+<Test name="src_alpha_src_alpha" />
+<Test name="src_alpha_one_minus_src_alpha" />
+<Test name="src_alpha_dst_alpha" />
+<Test name="src_alpha_one_minus_dst_alpha" />
+<Test name="src_alpha_constant_color" />
+<Test name="src_alpha_one_minus_constant_color" />
+<Test name="src_alpha_constant_alpha" />
+<Test name="src_alpha_one_minus_constant_alpha" />
+<Test name="src_alpha_src_alpha_saturate" />
+<Test name="one_minus_src_alpha_zero" />
+<Test name="one_minus_src_alpha_one" />
+<Test name="one_minus_src_alpha_src_color" />
+<Test name="one_minus_src_alpha_one_minus_src_color" />
+<Test name="one_minus_src_alpha_dst_color" />
+<Test name="one_minus_src_alpha_one_minus_dst_color" />
+<Test name="one_minus_src_alpha_src_alpha" />
+<Test name="one_minus_src_alpha_one_minus_src_alpha" />
+<Test name="one_minus_src_alpha_dst_alpha" />
+<Test name="one_minus_src_alpha_one_minus_dst_alpha" />
+<Test name="one_minus_src_alpha_constant_color" />
+<Test name="one_minus_src_alpha_one_minus_constant_color" />
+<Test name="one_minus_src_alpha_constant_alpha" />
+<Test name="one_minus_src_alpha_one_minus_constant_alpha" />
+<Test name="one_minus_src_alpha_src_alpha_saturate" />
+<Test name="dst_alpha_zero" />
+<Test name="dst_alpha_one" />
+<Test name="dst_alpha_src_color" />
+<Test name="dst_alpha_one_minus_src_color" />
+<Test name="dst_alpha_dst_color" />
+<Test name="dst_alpha_one_minus_dst_color" />
+<Test name="dst_alpha_src_alpha" />
+<Test name="dst_alpha_one_minus_src_alpha" />
+<Test name="dst_alpha_dst_alpha" />
+<Test name="dst_alpha_one_minus_dst_alpha" />
+<Test name="dst_alpha_constant_color" />
+<Test name="dst_alpha_one_minus_constant_color" />
+<Test name="dst_alpha_constant_alpha" />
+<Test name="dst_alpha_one_minus_constant_alpha" />
+<Test name="dst_alpha_src_alpha_saturate" />
+<Test name="one_minus_dst_alpha_zero" />
+<Test name="one_minus_dst_alpha_one" />
+<Test name="one_minus_dst_alpha_src_color" />
+<Test name="one_minus_dst_alpha_one_minus_src_color" />
+<Test name="one_minus_dst_alpha_dst_color" />
+<Test name="one_minus_dst_alpha_one_minus_dst_color" />
+<Test name="one_minus_dst_alpha_src_alpha" />
+<Test name="one_minus_dst_alpha_one_minus_src_alpha" />
+<Test name="one_minus_dst_alpha_dst_alpha" />
+<Test name="one_minus_dst_alpha_one_minus_dst_alpha" />
+<Test name="one_minus_dst_alpha_constant_color" />
+<Test name="one_minus_dst_alpha_one_minus_constant_color" />
+<Test name="one_minus_dst_alpha_constant_alpha" />
+<Test name="one_minus_dst_alpha_one_minus_constant_alpha" />
+<Test name="one_minus_dst_alpha_src_alpha_saturate" />
+<Test name="constant_color_zero" />
+<Test name="constant_color_one" />
+<Test name="constant_color_src_color" />
+<Test name="constant_color_one_minus_src_color" />
+<Test name="constant_color_dst_color" />
+<Test name="constant_color_one_minus_dst_color" />
+<Test name="constant_color_src_alpha" />
+<Test name="constant_color_one_minus_src_alpha" />
+<Test name="constant_color_dst_alpha" />
+<Test name="constant_color_one_minus_dst_alpha" />
+<Test name="constant_color_constant_color" />
+<Test name="constant_color_one_minus_constant_color" />
+<Test name="constant_color_constant_alpha" />
+<Test name="constant_color_one_minus_constant_alpha" />
+<Test name="constant_color_src_alpha_saturate" />
+<Test name="one_minus_constant_color_zero" />
+<Test name="one_minus_constant_color_one" />
+<Test name="one_minus_constant_color_src_color" />
+<Test name="one_minus_constant_color_one_minus_src_color" />
+<Test name="one_minus_constant_color_dst_color" />
+<Test name="one_minus_constant_color_one_minus_dst_color" />
+<Test name="one_minus_constant_color_src_alpha" />
+<Test name="one_minus_constant_color_one_minus_src_alpha" />
+<Test name="one_minus_constant_color_dst_alpha" />
+<Test name="one_minus_constant_color_one_minus_dst_alpha" />
+<Test name="one_minus_constant_color_constant_color" />
+<Test name="one_minus_constant_color_one_minus_constant_color" />
+<Test name="one_minus_constant_color_constant_alpha" />
+<Test name="one_minus_constant_color_one_minus_constant_alpha" />
+<Test name="one_minus_constant_color_src_alpha_saturate" />
+<Test name="constant_alpha_zero" />
+<Test name="constant_alpha_one" />
+<Test name="constant_alpha_src_color" />
+<Test name="constant_alpha_one_minus_src_color" />
+<Test name="constant_alpha_dst_color" />
+<Test name="constant_alpha_one_minus_dst_color" />
+<Test name="constant_alpha_src_alpha" />
+<Test name="constant_alpha_one_minus_src_alpha" />
+<Test name="constant_alpha_dst_alpha" />
+<Test name="constant_alpha_one_minus_dst_alpha" />
+<Test name="constant_alpha_constant_color" />
+<Test name="constant_alpha_one_minus_constant_color" />
+<Test name="constant_alpha_constant_alpha" />
+<Test name="constant_alpha_one_minus_constant_alpha" />
+<Test name="constant_alpha_src_alpha_saturate" />
+<Test name="one_minus_constant_alpha_zero" />
+<Test name="one_minus_constant_alpha_one" />
+<Test name="one_minus_constant_alpha_src_color" />
+<Test name="one_minus_constant_alpha_one_minus_src_color" />
+<Test name="one_minus_constant_alpha_dst_color" />
+<Test name="one_minus_constant_alpha_one_minus_dst_color" />
+<Test name="one_minus_constant_alpha_src_alpha" />
+<Test name="one_minus_constant_alpha_one_minus_src_alpha" />
+<Test name="one_minus_constant_alpha_dst_alpha" />
+<Test name="one_minus_constant_alpha_one_minus_dst_alpha" />
+<Test name="one_minus_constant_alpha_constant_color" />
+<Test name="one_minus_constant_alpha_one_minus_constant_color" />
+<Test name="one_minus_constant_alpha_constant_alpha" />
+<Test name="one_minus_constant_alpha_one_minus_constant_alpha" />
+<Test name="one_minus_constant_alpha_src_alpha_saturate" />
+<Test name="src_alpha_saturate_zero" />
+<Test name="src_alpha_saturate_one" />
+<Test name="src_alpha_saturate_src_color" />
+<Test name="src_alpha_saturate_one_minus_src_color" />
+<Test name="src_alpha_saturate_dst_color" />
+<Test name="src_alpha_saturate_one_minus_dst_color" />
+<Test name="src_alpha_saturate_src_alpha" />
+<Test name="src_alpha_saturate_one_minus_src_alpha" />
+<Test name="src_alpha_saturate_dst_alpha" />
+<Test name="src_alpha_saturate_one_minus_dst_alpha" />
+<Test name="src_alpha_saturate_constant_color" />
+<Test name="src_alpha_saturate_one_minus_constant_color" />
+<Test name="src_alpha_saturate_constant_alpha" />
+<Test name="src_alpha_saturate_one_minus_constant_alpha" />
+<Test name="src_alpha_saturate_src_alpha_saturate" />
+</TestCase>
+<TestCase name="dst">
+<Test name="zero_zero" />
+<Test name="zero_one" />
+<Test name="zero_src_color" />
+<Test name="zero_one_minus_src_color" />
+<Test name="zero_dst_color" />
+<Test name="zero_one_minus_dst_color" />
+<Test name="zero_src_alpha" />
+<Test name="zero_one_minus_src_alpha" />
+<Test name="zero_dst_alpha" />
+<Test name="zero_one_minus_dst_alpha" />
+<Test name="zero_constant_color" />
+<Test name="zero_one_minus_constant_color" />
+<Test name="zero_constant_alpha" />
+<Test name="zero_one_minus_constant_alpha" />
+<Test name="zero_src_alpha_saturate" />
+<Test name="one_zero" />
+<Test name="one_one" />
+<Test name="one_src_color" />
+<Test name="one_one_minus_src_color" />
+<Test name="one_dst_color" />
+<Test name="one_one_minus_dst_color" />
+<Test name="one_src_alpha" />
+<Test name="one_one_minus_src_alpha" />
+<Test name="one_dst_alpha" />
+<Test name="one_one_minus_dst_alpha" />
+<Test name="one_constant_color" />
+<Test name="one_one_minus_constant_color" />
+<Test name="one_constant_alpha" />
+<Test name="one_one_minus_constant_alpha" />
+<Test name="one_src_alpha_saturate" />
+<Test name="src_color_zero" />
+<Test name="src_color_one" />
+<Test name="src_color_src_color" />
+<Test name="src_color_one_minus_src_color" />
+<Test name="src_color_dst_color" />
+<Test name="src_color_one_minus_dst_color" />
+<Test name="src_color_src_alpha" />
+<Test name="src_color_one_minus_src_alpha" />
+<Test name="src_color_dst_alpha" />
+<Test name="src_color_one_minus_dst_alpha" />
+<Test name="src_color_constant_color" />
+<Test name="src_color_one_minus_constant_color" />
+<Test name="src_color_constant_alpha" />
+<Test name="src_color_one_minus_constant_alpha" />
+<Test name="src_color_src_alpha_saturate" />
+<Test name="one_minus_src_color_zero" />
+<Test name="one_minus_src_color_one" />
+<Test name="one_minus_src_color_src_color" />
+<Test name="one_minus_src_color_one_minus_src_color" />
+<Test name="one_minus_src_color_dst_color" />
+<Test name="one_minus_src_color_one_minus_dst_color" />
+<Test name="one_minus_src_color_src_alpha" />
+<Test name="one_minus_src_color_one_minus_src_alpha" />
+<Test name="one_minus_src_color_dst_alpha" />
+<Test name="one_minus_src_color_one_minus_dst_alpha" />
+<Test name="one_minus_src_color_constant_color" />
+<Test name="one_minus_src_color_one_minus_constant_color" />
+<Test name="one_minus_src_color_constant_alpha" />
+<Test name="one_minus_src_color_one_minus_constant_alpha" />
+<Test name="one_minus_src_color_src_alpha_saturate" />
+<Test name="dst_color_zero" />
+<Test name="dst_color_one" />
+<Test name="dst_color_src_color" />
+<Test name="dst_color_one_minus_src_color" />
+<Test name="dst_color_dst_color" />
+<Test name="dst_color_one_minus_dst_color" />
+<Test name="dst_color_src_alpha" />
+<Test name="dst_color_one_minus_src_alpha" />
+<Test name="dst_color_dst_alpha" />
+<Test name="dst_color_one_minus_dst_alpha" />
+<Test name="dst_color_constant_color" />
+<Test name="dst_color_one_minus_constant_color" />
+<Test name="dst_color_constant_alpha" />
+<Test name="dst_color_one_minus_constant_alpha" />
+<Test name="dst_color_src_alpha_saturate" />
+<Test name="one_minus_dst_color_zero" />
+<Test name="one_minus_dst_color_one" />
+<Test name="one_minus_dst_color_src_color" />
+<Test name="one_minus_dst_color_one_minus_src_color" />
+<Test name="one_minus_dst_color_dst_color" />
+<Test name="one_minus_dst_color_one_minus_dst_color" />
+<Test name="one_minus_dst_color_src_alpha" />
+<Test name="one_minus_dst_color_one_minus_src_alpha" />
+<Test name="one_minus_dst_color_dst_alpha" />
+<Test name="one_minus_dst_color_one_minus_dst_alpha" />
+<Test name="one_minus_dst_color_constant_color" />
+<Test name="one_minus_dst_color_one_minus_constant_color" />
+<Test name="one_minus_dst_color_constant_alpha" />
+<Test name="one_minus_dst_color_one_minus_constant_alpha" />
+<Test name="one_minus_dst_color_src_alpha_saturate" />
+<Test name="src_alpha_zero" />
+<Test name="src_alpha_one" />
+<Test name="src_alpha_src_color" />
+<Test name="src_alpha_one_minus_src_color" />
+<Test name="src_alpha_dst_color" />
+<Test name="src_alpha_one_minus_dst_color" />
+<Test name="src_alpha_src_alpha" />
+<Test name="src_alpha_one_minus_src_alpha" />
+<Test name="src_alpha_dst_alpha" />
+<Test name="src_alpha_one_minus_dst_alpha" />
+<Test name="src_alpha_constant_color" />
+<Test name="src_alpha_one_minus_constant_color" />
+<Test name="src_alpha_constant_alpha" />
+<Test name="src_alpha_one_minus_constant_alpha" />
+<Test name="src_alpha_src_alpha_saturate" />
+<Test name="one_minus_src_alpha_zero" />
+<Test name="one_minus_src_alpha_one" />
+<Test name="one_minus_src_alpha_src_color" />
+<Test name="one_minus_src_alpha_one_minus_src_color" />
+<Test name="one_minus_src_alpha_dst_color" />
+<Test name="one_minus_src_alpha_one_minus_dst_color" />
+<Test name="one_minus_src_alpha_src_alpha" />
+<Test name="one_minus_src_alpha_one_minus_src_alpha" />
+<Test name="one_minus_src_alpha_dst_alpha" />
+<Test name="one_minus_src_alpha_one_minus_dst_alpha" />
+<Test name="one_minus_src_alpha_constant_color" />
+<Test name="one_minus_src_alpha_one_minus_constant_color" />
+<Test name="one_minus_src_alpha_constant_alpha" />
+<Test name="one_minus_src_alpha_one_minus_constant_alpha" />
+<Test name="one_minus_src_alpha_src_alpha_saturate" />
+<Test name="dst_alpha_zero" />
+<Test name="dst_alpha_one" />
+<Test name="dst_alpha_src_color" />
+<Test name="dst_alpha_one_minus_src_color" />
+<Test name="dst_alpha_dst_color" />
+<Test name="dst_alpha_one_minus_dst_color" />
+<Test name="dst_alpha_src_alpha" />
+<Test name="dst_alpha_one_minus_src_alpha" />
+<Test name="dst_alpha_dst_alpha" />
+<Test name="dst_alpha_one_minus_dst_alpha" />
+<Test name="dst_alpha_constant_color" />
+<Test name="dst_alpha_one_minus_constant_color" />
+<Test name="dst_alpha_constant_alpha" />
+<Test name="dst_alpha_one_minus_constant_alpha" />
+<Test name="dst_alpha_src_alpha_saturate" />
+<Test name="one_minus_dst_alpha_zero" />
+<Test name="one_minus_dst_alpha_one" />
+<Test name="one_minus_dst_alpha_src_color" />
+<Test name="one_minus_dst_alpha_one_minus_src_color" />
+<Test name="one_minus_dst_alpha_dst_color" />
+<Test name="one_minus_dst_alpha_one_minus_dst_color" />
+<Test name="one_minus_dst_alpha_src_alpha" />
+<Test name="one_minus_dst_alpha_one_minus_src_alpha" />
+<Test name="one_minus_dst_alpha_dst_alpha" />
+<Test name="one_minus_dst_alpha_one_minus_dst_alpha" />
+<Test name="one_minus_dst_alpha_constant_color" />
+<Test name="one_minus_dst_alpha_one_minus_constant_color" />
+<Test name="one_minus_dst_alpha_constant_alpha" />
+<Test name="one_minus_dst_alpha_one_minus_constant_alpha" />
+<Test name="one_minus_dst_alpha_src_alpha_saturate" />
+<Test name="constant_color_zero" />
+<Test name="constant_color_one" />
+<Test name="constant_color_src_color" />
+<Test name="constant_color_one_minus_src_color" />
+<Test name="constant_color_dst_color" />
+<Test name="constant_color_one_minus_dst_color" />
+<Test name="constant_color_src_alpha" />
+<Test name="constant_color_one_minus_src_alpha" />
+<Test name="constant_color_dst_alpha" />
+<Test name="constant_color_one_minus_dst_alpha" />
+<Test name="constant_color_constant_color" />
+<Test name="constant_color_one_minus_constant_color" />
+<Test name="constant_color_constant_alpha" />
+<Test name="constant_color_one_minus_constant_alpha" />
+<Test name="constant_color_src_alpha_saturate" />
+<Test name="one_minus_constant_color_zero" />
+<Test name="one_minus_constant_color_one" />
+<Test name="one_minus_constant_color_src_color" />
+<Test name="one_minus_constant_color_one_minus_src_color" />
+<Test name="one_minus_constant_color_dst_color" />
+<Test name="one_minus_constant_color_one_minus_dst_color" />
+<Test name="one_minus_constant_color_src_alpha" />
+<Test name="one_minus_constant_color_one_minus_src_alpha" />
+<Test name="one_minus_constant_color_dst_alpha" />
+<Test name="one_minus_constant_color_one_minus_dst_alpha" />
+<Test name="one_minus_constant_color_constant_color" />
+<Test name="one_minus_constant_color_one_minus_constant_color" />
+<Test name="one_minus_constant_color_constant_alpha" />
+<Test name="one_minus_constant_color_one_minus_constant_alpha" />
+<Test name="one_minus_constant_color_src_alpha_saturate" />
+<Test name="constant_alpha_zero" />
+<Test name="constant_alpha_one" />
+<Test name="constant_alpha_src_color" />
+<Test name="constant_alpha_one_minus_src_color" />
+<Test name="constant_alpha_dst_color" />
+<Test name="constant_alpha_one_minus_dst_color" />
+<Test name="constant_alpha_src_alpha" />
+<Test name="constant_alpha_one_minus_src_alpha" />
+<Test name="constant_alpha_dst_alpha" />
+<Test name="constant_alpha_one_minus_dst_alpha" />
+<Test name="constant_alpha_constant_color" />
+<Test name="constant_alpha_one_minus_constant_color" />
+<Test name="constant_alpha_constant_alpha" />
+<Test name="constant_alpha_one_minus_constant_alpha" />
+<Test name="constant_alpha_src_alpha_saturate" />
+<Test name="one_minus_constant_alpha_zero" />
+<Test name="one_minus_constant_alpha_one" />
+<Test name="one_minus_constant_alpha_src_color" />
+<Test name="one_minus_constant_alpha_one_minus_src_color" />
+<Test name="one_minus_constant_alpha_dst_color" />
+<Test name="one_minus_constant_alpha_one_minus_dst_color" />
+<Test name="one_minus_constant_alpha_src_alpha" />
+<Test name="one_minus_constant_alpha_one_minus_src_alpha" />
+<Test name="one_minus_constant_alpha_dst_alpha" />
+<Test name="one_minus_constant_alpha_one_minus_dst_alpha" />
+<Test name="one_minus_constant_alpha_constant_color" />
+<Test name="one_minus_constant_alpha_one_minus_constant_color" />
+<Test name="one_minus_constant_alpha_constant_alpha" />
+<Test name="one_minus_constant_alpha_one_minus_constant_alpha" />
+<Test name="one_minus_constant_alpha_src_alpha_saturate" />
+<Test name="src_alpha_saturate_zero" />
+<Test name="src_alpha_saturate_one" />
+<Test name="src_alpha_saturate_src_color" />
+<Test name="src_alpha_saturate_one_minus_src_color" />
+<Test name="src_alpha_saturate_dst_color" />
+<Test name="src_alpha_saturate_one_minus_dst_color" />
+<Test name="src_alpha_saturate_src_alpha" />
+<Test name="src_alpha_saturate_one_minus_src_alpha" />
+<Test name="src_alpha_saturate_dst_alpha" />
+<Test name="src_alpha_saturate_one_minus_dst_alpha" />
+<Test name="src_alpha_saturate_constant_color" />
+<Test name="src_alpha_saturate_one_minus_constant_color" />
+<Test name="src_alpha_saturate_constant_alpha" />
+<Test name="src_alpha_saturate_one_minus_constant_alpha" />
+<Test name="src_alpha_saturate_src_alpha_saturate" />
+</TestCase>
+</TestSuite>
+<TestCase name="rgb_equation_alpha_equation">
+<Test name="add_add" />
+<Test name="add_subtract" />
+<Test name="add_reverse_subtract" />
+<Test name="add_min" />
+<Test name="add_max" />
+<Test name="subtract_add" />
+<Test name="subtract_subtract" />
+<Test name="subtract_reverse_subtract" />
+<Test name="subtract_min" />
+<Test name="subtract_max" />
+<Test name="reverse_subtract_add" />
+<Test name="reverse_subtract_subtract" />
+<Test name="reverse_subtract_reverse_subtract" />
+<Test name="reverse_subtract_min" />
+<Test name="reverse_subtract_max" />
+<Test name="min_add" />
+<Test name="min_subtract" />
+<Test name="min_reverse_subtract" />
+<Test name="min_min" />
+<Test name="min_max" />
+<Test name="max_add" />
+<Test name="max_subtract" />
+<Test name="max_reverse_subtract" />
+<Test name="max_min" />
+<Test name="max_max" />
+</TestCase>
+</TestSuite>
+<TestSuite name="fbo_srgb">
+<TestCase name="equation_src_func_dst_func">
+<Test name="add_zero_zero" />
+<Test name="add_zero_one" />
+<Test name="add_zero_src_color" />
+<Test name="add_zero_one_minus_src_color" />
+<Test name="add_zero_dst_color" />
+<Test name="add_zero_one_minus_dst_color" />
+<Test name="add_zero_src_alpha" />
+<Test name="add_zero_one_minus_src_alpha" />
+<Test name="add_zero_dst_alpha" />
+<Test name="add_zero_one_minus_dst_alpha" />
+<Test name="add_zero_constant_color" />
+<Test name="add_zero_one_minus_constant_color" />
+<Test name="add_zero_constant_alpha" />
+<Test name="add_zero_one_minus_constant_alpha" />
+<Test name="add_zero_src_alpha_saturate" />
+<Test name="add_one_zero" />
+<Test name="add_one_one" />
+<Test name="add_one_src_color" />
+<Test name="add_one_one_minus_src_color" />
+<Test name="add_one_dst_color" />
+<Test name="add_one_one_minus_dst_color" />
+<Test name="add_one_src_alpha" />
+<Test name="add_one_one_minus_src_alpha" />
+<Test name="add_one_dst_alpha" />
+<Test name="add_one_one_minus_dst_alpha" />
+<Test name="add_one_constant_color" />
+<Test name="add_one_one_minus_constant_color" />
+<Test name="add_one_constant_alpha" />
+<Test name="add_one_one_minus_constant_alpha" />
+<Test name="add_one_src_alpha_saturate" />
+<Test name="add_src_color_zero" />
+<Test name="add_src_color_one" />
+<Test name="add_src_color_src_color" />
+<Test name="add_src_color_one_minus_src_color" />
+<Test name="add_src_color_dst_color" />
+<Test name="add_src_color_one_minus_dst_color" />
+<Test name="add_src_color_src_alpha" />
+<Test name="add_src_color_one_minus_src_alpha" />
+<Test name="add_src_color_dst_alpha" />
+<Test name="add_src_color_one_minus_dst_alpha" />
+<Test name="add_src_color_constant_color" />
+<Test name="add_src_color_one_minus_constant_color" />
+<Test name="add_src_color_constant_alpha" />
+<Test name="add_src_color_one_minus_constant_alpha" />
+<Test name="add_src_color_src_alpha_saturate" />
+<Test name="add_one_minus_src_color_zero" />
+<Test name="add_one_minus_src_color_one" />
+<Test name="add_one_minus_src_color_src_color" />
+<Test name="add_one_minus_src_color_one_minus_src_color" />
+<Test name="add_one_minus_src_color_dst_color" />
+<Test name="add_one_minus_src_color_one_minus_dst_color" />
+<Test name="add_one_minus_src_color_src_alpha" />
+<Test name="add_one_minus_src_color_one_minus_src_alpha" />
+<Test name="add_one_minus_src_color_dst_alpha" />
+<Test name="add_one_minus_src_color_one_minus_dst_alpha" />
+<Test name="add_one_minus_src_color_constant_color" />
+<Test name="add_one_minus_src_color_one_minus_constant_color" />
+<Test name="add_one_minus_src_color_constant_alpha" />
+<Test name="add_one_minus_src_color_one_minus_constant_alpha" />
+<Test name="add_one_minus_src_color_src_alpha_saturate" />
+<Test name="add_dst_color_zero" />
+<Test name="add_dst_color_one" />
+<Test name="add_dst_color_src_color" />
+<Test name="add_dst_color_one_minus_src_color" />
+<Test name="add_dst_color_dst_color" />
+<Test name="add_dst_color_one_minus_dst_color" />
+<Test name="add_dst_color_src_alpha" />
+<Test name="add_dst_color_one_minus_src_alpha" />
+<Test name="add_dst_color_dst_alpha" />
+<Test name="add_dst_color_one_minus_dst_alpha" />
+<Test name="add_dst_color_constant_color" />
+<Test name="add_dst_color_one_minus_constant_color" />
+<Test name="add_dst_color_constant_alpha" />
+<Test name="add_dst_color_one_minus_constant_alpha" />
+<Test name="add_dst_color_src_alpha_saturate" />
+<Test name="add_one_minus_dst_color_zero" />
+<Test name="add_one_minus_dst_color_one" />
+<Test name="add_one_minus_dst_color_src_color" />
+<Test name="add_one_minus_dst_color_one_minus_src_color" />
+<Test name="add_one_minus_dst_color_dst_color" />
+<Test name="add_one_minus_dst_color_one_minus_dst_color" />
+<Test name="add_one_minus_dst_color_src_alpha" />
+<Test name="add_one_minus_dst_color_one_minus_src_alpha" />
+<Test name="add_one_minus_dst_color_dst_alpha" />
+<Test name="add_one_minus_dst_color_one_minus_dst_alpha" />
+<Test name="add_one_minus_dst_color_constant_color" />
+<Test name="add_one_minus_dst_color_one_minus_constant_color" />
+<Test name="add_one_minus_dst_color_constant_alpha" />
+<Test name="add_one_minus_dst_color_one_minus_constant_alpha" />
+<Test name="add_one_minus_dst_color_src_alpha_saturate" />
+<Test name="add_src_alpha_zero" />
+<Test name="add_src_alpha_one" />
+<Test name="add_src_alpha_src_color" />
+<Test name="add_src_alpha_one_minus_src_color" />
+<Test name="add_src_alpha_dst_color" />
+<Test name="add_src_alpha_one_minus_dst_color" />
+<Test name="add_src_alpha_src_alpha" />
+<Test name="add_src_alpha_one_minus_src_alpha" />
+<Test name="add_src_alpha_dst_alpha" />
+<Test name="add_src_alpha_one_minus_dst_alpha" />
+<Test name="add_src_alpha_constant_color" />
+<Test name="add_src_alpha_one_minus_constant_color" />
+<Test name="add_src_alpha_constant_alpha" />
+<Test name="add_src_alpha_one_minus_constant_alpha" />
+<Test name="add_src_alpha_src_alpha_saturate" />
+<Test name="add_one_minus_src_alpha_zero" />
+<Test name="add_one_minus_src_alpha_one" />
+<Test name="add_one_minus_src_alpha_src_color" />
+<Test name="add_one_minus_src_alpha_one_minus_src_color" />
+<Test name="add_one_minus_src_alpha_dst_color" />
+<Test name="add_one_minus_src_alpha_one_minus_dst_color" />
+<Test name="add_one_minus_src_alpha_src_alpha" />
+<Test name="add_one_minus_src_alpha_one_minus_src_alpha" />
+<Test name="add_one_minus_src_alpha_dst_alpha" />
+<Test name="add_one_minus_src_alpha_one_minus_dst_alpha" />
+<Test name="add_one_minus_src_alpha_constant_color" />
+<Test name="add_one_minus_src_alpha_one_minus_constant_color" />
+<Test name="add_one_minus_src_alpha_constant_alpha" />
+<Test name="add_one_minus_src_alpha_one_minus_constant_alpha" />
+<Test name="add_one_minus_src_alpha_src_alpha_saturate" />
+<Test name="add_dst_alpha_zero" />
+<Test name="add_dst_alpha_one" />
+<Test name="add_dst_alpha_src_color" />
+<Test name="add_dst_alpha_one_minus_src_color" />
+<Test name="add_dst_alpha_dst_color" />
+<Test name="add_dst_alpha_one_minus_dst_color" />
+<Test name="add_dst_alpha_src_alpha" />
+<Test name="add_dst_alpha_one_minus_src_alpha" />
+<Test name="add_dst_alpha_dst_alpha" />
+<Test name="add_dst_alpha_one_minus_dst_alpha" />
+<Test name="add_dst_alpha_constant_color" />
+<Test name="add_dst_alpha_one_minus_constant_color" />
+<Test name="add_dst_alpha_constant_alpha" />
+<Test name="add_dst_alpha_one_minus_constant_alpha" />
+<Test name="add_dst_alpha_src_alpha_saturate" />
+<Test name="add_one_minus_dst_alpha_zero" />
+<Test name="add_one_minus_dst_alpha_one" />
+<Test name="add_one_minus_dst_alpha_src_color" />
+<Test name="add_one_minus_dst_alpha_one_minus_src_color" />
+<Test name="add_one_minus_dst_alpha_dst_color" />
+<Test name="add_one_minus_dst_alpha_one_minus_dst_color" />
+<Test name="add_one_minus_dst_alpha_src_alpha" />
+<Test name="add_one_minus_dst_alpha_one_minus_src_alpha" />
+<Test name="add_one_minus_dst_alpha_dst_alpha" />
+<Test name="add_one_minus_dst_alpha_one_minus_dst_alpha" />
+<Test name="add_one_minus_dst_alpha_constant_color" />
+<Test name="add_one_minus_dst_alpha_one_minus_constant_color" />
+<Test name="add_one_minus_dst_alpha_constant_alpha" />
+<Test name="add_one_minus_dst_alpha_one_minus_constant_alpha" />
+<Test name="add_one_minus_dst_alpha_src_alpha_saturate" />
+<Test name="add_constant_color_zero" />
+<Test name="add_constant_color_one" />
+<Test name="add_constant_color_src_color" />
+<Test name="add_constant_color_one_minus_src_color" />
+<Test name="add_constant_color_dst_color" />
+<Test name="add_constant_color_one_minus_dst_color" />
+<Test name="add_constant_color_src_alpha" />
+<Test name="add_constant_color_one_minus_src_alpha" />
+<Test name="add_constant_color_dst_alpha" />
+<Test name="add_constant_color_one_minus_dst_alpha" />
+<Test name="add_constant_color_constant_color" />
+<Test name="add_constant_color_one_minus_constant_color" />
+<Test name="add_constant_color_constant_alpha" />
+<Test name="add_constant_color_one_minus_constant_alpha" />
+<Test name="add_constant_color_src_alpha_saturate" />
+<Test name="add_one_minus_constant_color_zero" />
+<Test name="add_one_minus_constant_color_one" />
+<Test name="add_one_minus_constant_color_src_color" />
+<Test name="add_one_minus_constant_color_one_minus_src_color" />
+<Test name="add_one_minus_constant_color_dst_color" />
+<Test name="add_one_minus_constant_color_one_minus_dst_color" />
+<Test name="add_one_minus_constant_color_src_alpha" />
+<Test name="add_one_minus_constant_color_one_minus_src_alpha" />
+<Test name="add_one_minus_constant_color_dst_alpha" />
+<Test name="add_one_minus_constant_color_one_minus_dst_alpha" />
+<Test name="add_one_minus_constant_color_constant_color" />
+<Test name="add_one_minus_constant_color_one_minus_constant_color" />
+<Test name="add_one_minus_constant_color_constant_alpha" />
+<Test name="add_one_minus_constant_color_one_minus_constant_alpha" />
+<Test name="add_one_minus_constant_color_src_alpha_saturate" />
+<Test name="add_constant_alpha_zero" />
+<Test name="add_constant_alpha_one" />
+<Test name="add_constant_alpha_src_color" />
+<Test name="add_constant_alpha_one_minus_src_color" />
+<Test name="add_constant_alpha_dst_color" />
+<Test name="add_constant_alpha_one_minus_dst_color" />
+<Test name="add_constant_alpha_src_alpha" />
+<Test name="add_constant_alpha_one_minus_src_alpha" />
+<Test name="add_constant_alpha_dst_alpha" />
+<Test name="add_constant_alpha_one_minus_dst_alpha" />
+<Test name="add_constant_alpha_constant_color" />
+<Test name="add_constant_alpha_one_minus_constant_color" />
+<Test name="add_constant_alpha_constant_alpha" />
+<Test name="add_constant_alpha_one_minus_constant_alpha" />
+<Test name="add_constant_alpha_src_alpha_saturate" />
+<Test name="add_one_minus_constant_alpha_zero" />
+<Test name="add_one_minus_constant_alpha_one" />
+<Test name="add_one_minus_constant_alpha_src_color" />
+<Test name="add_one_minus_constant_alpha_one_minus_src_color" />
+<Test name="add_one_minus_constant_alpha_dst_color" />
+<Test name="add_one_minus_constant_alpha_one_minus_dst_color" />
+<Test name="add_one_minus_constant_alpha_src_alpha" />
+<Test name="add_one_minus_constant_alpha_one_minus_src_alpha" />
+<Test name="add_one_minus_constant_alpha_dst_alpha" />
+<Test name="add_one_minus_constant_alpha_one_minus_dst_alpha" />
+<Test name="add_one_minus_constant_alpha_constant_color" />
+<Test name="add_one_minus_constant_alpha_one_minus_constant_color" />
+<Test name="add_one_minus_constant_alpha_constant_alpha" />
+<Test name="add_one_minus_constant_alpha_one_minus_constant_alpha" />
+<Test name="add_one_minus_constant_alpha_src_alpha_saturate" />
+<Test name="add_src_alpha_saturate_zero" />
+<Test name="add_src_alpha_saturate_one" />
+<Test name="add_src_alpha_saturate_src_color" />
+<Test name="add_src_alpha_saturate_one_minus_src_color" />
+<Test name="add_src_alpha_saturate_dst_color" />
+<Test name="add_src_alpha_saturate_one_minus_dst_color" />
+<Test name="add_src_alpha_saturate_src_alpha" />
+<Test name="add_src_alpha_saturate_one_minus_src_alpha" />
+<Test name="add_src_alpha_saturate_dst_alpha" />
+<Test name="add_src_alpha_saturate_one_minus_dst_alpha" />
+<Test name="add_src_alpha_saturate_constant_color" />
+<Test name="add_src_alpha_saturate_one_minus_constant_color" />
+<Test name="add_src_alpha_saturate_constant_alpha" />
+<Test name="add_src_alpha_saturate_one_minus_constant_alpha" />
+<Test name="add_src_alpha_saturate_src_alpha_saturate" />
+<Test name="subtract_zero_zero" />
+<Test name="subtract_zero_one" />
+<Test name="subtract_zero_src_color" />
+<Test name="subtract_zero_one_minus_src_color" />
+<Test name="subtract_zero_dst_color" />
+<Test name="subtract_zero_one_minus_dst_color" />
+<Test name="subtract_zero_src_alpha" />
+<Test name="subtract_zero_one_minus_src_alpha" />
+<Test name="subtract_zero_dst_alpha" />
+<Test name="subtract_zero_one_minus_dst_alpha" />
+<Test name="subtract_zero_constant_color" />
+<Test name="subtract_zero_one_minus_constant_color" />
+<Test name="subtract_zero_constant_alpha" />
+<Test name="subtract_zero_one_minus_constant_alpha" />
+<Test name="subtract_zero_src_alpha_saturate" />
+<Test name="subtract_one_zero" />
+<Test name="subtract_one_one" />
+<Test name="subtract_one_src_color" />
+<Test name="subtract_one_one_minus_src_color" />
+<Test name="subtract_one_dst_color" />
+<Test name="subtract_one_one_minus_dst_color" />
+<Test name="subtract_one_src_alpha" />
+<Test name="subtract_one_one_minus_src_alpha" />
+<Test name="subtract_one_dst_alpha" />
+<Test name="subtract_one_one_minus_dst_alpha" />
+<Test name="subtract_one_constant_color" />
+<Test name="subtract_one_one_minus_constant_color" />
+<Test name="subtract_one_constant_alpha" />
+<Test name="subtract_one_one_minus_constant_alpha" />
+<Test name="subtract_one_src_alpha_saturate" />
+<Test name="subtract_src_color_zero" />
+<Test name="subtract_src_color_one" />
+<Test name="subtract_src_color_src_color" />
+<Test name="subtract_src_color_one_minus_src_color" />
+<Test name="subtract_src_color_dst_color" />
+<Test name="subtract_src_color_one_minus_dst_color" />
+<Test name="subtract_src_color_src_alpha" />
+<Test name="subtract_src_color_one_minus_src_alpha" />
+<Test name="subtract_src_color_dst_alpha" />
+<Test name="subtract_src_color_one_minus_dst_alpha" />
+<Test name="subtract_src_color_constant_color" />
+<Test name="subtract_src_color_one_minus_constant_color" />
+<Test name="subtract_src_color_constant_alpha" />
+<Test name="subtract_src_color_one_minus_constant_alpha" />
+<Test name="subtract_src_color_src_alpha_saturate" />
+<Test name="subtract_one_minus_src_color_zero" />
+<Test name="subtract_one_minus_src_color_one" />
+<Test name="subtract_one_minus_src_color_src_color" />
+<Test name="subtract_one_minus_src_color_one_minus_src_color" />
+<Test name="subtract_one_minus_src_color_dst_color" />
+<Test name="subtract_one_minus_src_color_one_minus_dst_color" />
+<Test name="subtract_one_minus_src_color_src_alpha" />
+<Test name="subtract_one_minus_src_color_one_minus_src_alpha" />
+<Test name="subtract_one_minus_src_color_dst_alpha" />
+<Test name="subtract_one_minus_src_color_one_minus_dst_alpha" />
+<Test name="subtract_one_minus_src_color_constant_color" />
+<Test name="subtract_one_minus_src_color_one_minus_constant_color" />
+<Test name="subtract_one_minus_src_color_constant_alpha" />
+<Test name="subtract_one_minus_src_color_one_minus_constant_alpha" />
+<Test name="subtract_one_minus_src_color_src_alpha_saturate" />
+<Test name="subtract_dst_color_zero" />
+<Test name="subtract_dst_color_one" />
+<Test name="subtract_dst_color_src_color" />
+<Test name="subtract_dst_color_one_minus_src_color" />
+<Test name="subtract_dst_color_dst_color" />
+<Test name="subtract_dst_color_one_minus_dst_color" />
+<Test name="subtract_dst_color_src_alpha" />
+<Test name="subtract_dst_color_one_minus_src_alpha" />
+<Test name="subtract_dst_color_dst_alpha" />
+<Test name="subtract_dst_color_one_minus_dst_alpha" />
+<Test name="subtract_dst_color_constant_color" />
+<Test name="subtract_dst_color_one_minus_constant_color" />
+<Test name="subtract_dst_color_constant_alpha" />
+<Test name="subtract_dst_color_one_minus_constant_alpha" />
+<Test name="subtract_dst_color_src_alpha_saturate" />
+<Test name="subtract_one_minus_dst_color_zero" />
+<Test name="subtract_one_minus_dst_color_one" />
+<Test name="subtract_one_minus_dst_color_src_color" />
+<Test name="subtract_one_minus_dst_color_one_minus_src_color" />
+<Test name="subtract_one_minus_dst_color_dst_color" />
+<Test name="subtract_one_minus_dst_color_one_minus_dst_color" />
+<Test name="subtract_one_minus_dst_color_src_alpha" />
+<Test name="subtract_one_minus_dst_color_one_minus_src_alpha" />
+<Test name="subtract_one_minus_dst_color_dst_alpha" />
+<Test name="subtract_one_minus_dst_color_one_minus_dst_alpha" />
+<Test name="subtract_one_minus_dst_color_constant_color" />
+<Test name="subtract_one_minus_dst_color_one_minus_constant_color" />
+<Test name="subtract_one_minus_dst_color_constant_alpha" />
+<Test name="subtract_one_minus_dst_color_one_minus_constant_alpha" />
+<Test name="subtract_one_minus_dst_color_src_alpha_saturate" />
+<Test name="subtract_src_alpha_zero" />
+<Test name="subtract_src_alpha_one" />
+<Test name="subtract_src_alpha_src_color" />
+<Test name="subtract_src_alpha_one_minus_src_color" />
+<Test name="subtract_src_alpha_dst_color" />
+<Test name="subtract_src_alpha_one_minus_dst_color" />
+<Test name="subtract_src_alpha_src_alpha" />
+<Test name="subtract_src_alpha_one_minus_src_alpha" />
+<Test name="subtract_src_alpha_dst_alpha" />
+<Test name="subtract_src_alpha_one_minus_dst_alpha" />
+<Test name="subtract_src_alpha_constant_color" />
+<Test name="subtract_src_alpha_one_minus_constant_color" />
+<Test name="subtract_src_alpha_constant_alpha" />
+<Test name="subtract_src_alpha_one_minus_constant_alpha" />
+<Test name="subtract_src_alpha_src_alpha_saturate" />
+<Test name="subtract_one_minus_src_alpha_zero" />
+<Test name="subtract_one_minus_src_alpha_one" />
+<Test name="subtract_one_minus_src_alpha_src_color" />
+<Test name="subtract_one_minus_src_alpha_one_minus_src_color" />
+<Test name="subtract_one_minus_src_alpha_dst_color" />
+<Test name="subtract_one_minus_src_alpha_one_minus_dst_color" />
+<Test name="subtract_one_minus_src_alpha_src_alpha" />
+<Test name="subtract_one_minus_src_alpha_one_minus_src_alpha" />
+<Test name="subtract_one_minus_src_alpha_dst_alpha" />
+<Test name="subtract_one_minus_src_alpha_one_minus_dst_alpha" />
+<Test name="subtract_one_minus_src_alpha_constant_color" />
+<Test name="subtract_one_minus_src_alpha_one_minus_constant_color" />
+<Test name="subtract_one_minus_src_alpha_constant_alpha" />
+<Test name="subtract_one_minus_src_alpha_one_minus_constant_alpha" />
+<Test name="subtract_one_minus_src_alpha_src_alpha_saturate" />
+<Test name="subtract_dst_alpha_zero" />
+<Test name="subtract_dst_alpha_one" />
+<Test name="subtract_dst_alpha_src_color" />
+<Test name="subtract_dst_alpha_one_minus_src_color" />
+<Test name="subtract_dst_alpha_dst_color" />
+<Test name="subtract_dst_alpha_one_minus_dst_color" />
+<Test name="subtract_dst_alpha_src_alpha" />
+<Test name="subtract_dst_alpha_one_minus_src_alpha" />
+<Test name="subtract_dst_alpha_dst_alpha" />
+<Test name="subtract_dst_alpha_one_minus_dst_alpha" />
+<Test name="subtract_dst_alpha_constant_color" />
+<Test name="subtract_dst_alpha_one_minus_constant_color" />
+<Test name="subtract_dst_alpha_constant_alpha" />
+<Test name="subtract_dst_alpha_one_minus_constant_alpha" />
+<Test name="subtract_dst_alpha_src_alpha_saturate" />
+<Test name="subtract_one_minus_dst_alpha_zero" />
+<Test name="subtract_one_minus_dst_alpha_one" />
+<Test name="subtract_one_minus_dst_alpha_src_color" />
+<Test name="subtract_one_minus_dst_alpha_one_minus_src_color" />
+<Test name="subtract_one_minus_dst_alpha_dst_color" />
+<Test name="subtract_one_minus_dst_alpha_one_minus_dst_color" />
+<Test name="subtract_one_minus_dst_alpha_src_alpha" />
+<Test name="subtract_one_minus_dst_alpha_one_minus_src_alpha" />
+<Test name="subtract_one_minus_dst_alpha_dst_alpha" />
+<Test name="subtract_one_minus_dst_alpha_one_minus_dst_alpha" />
+<Test name="subtract_one_minus_dst_alpha_constant_color" />
+<Test name="subtract_one_minus_dst_alpha_one_minus_constant_color" />
+<Test name="subtract_one_minus_dst_alpha_constant_alpha" />
+<Test name="subtract_one_minus_dst_alpha_one_minus_constant_alpha" />
+<Test name="subtract_one_minus_dst_alpha_src_alpha_saturate" />
+<Test name="subtract_constant_color_zero" />
+<Test name="subtract_constant_color_one" />
+<Test name="subtract_constant_color_src_color" />
+<Test name="subtract_constant_color_one_minus_src_color" />
+<Test name="subtract_constant_color_dst_color" />
+<Test name="subtract_constant_color_one_minus_dst_color" />
+<Test name="subtract_constant_color_src_alpha" />
+<Test name="subtract_constant_color_one_minus_src_alpha" />
+<Test name="subtract_constant_color_dst_alpha" />
+<Test name="subtract_constant_color_one_minus_dst_alpha" />
+<Test name="subtract_constant_color_constant_color" />
+<Test name="subtract_constant_color_one_minus_constant_color" />
+<Test name="subtract_constant_color_constant_alpha" />
+<Test name="subtract_constant_color_one_minus_constant_alpha" />
+<Test name="subtract_constant_color_src_alpha_saturate" />
+<Test name="subtract_one_minus_constant_color_zero" />
+<Test name="subtract_one_minus_constant_color_one" />
+<Test name="subtract_one_minus_constant_color_src_color" />
+<Test name="subtract_one_minus_constant_color_one_minus_src_color" />
+<Test name="subtract_one_minus_constant_color_dst_color" />
+<Test name="subtract_one_minus_constant_color_one_minus_dst_color" />
+<Test name="subtract_one_minus_constant_color_src_alpha" />
+<Test name="subtract_one_minus_constant_color_one_minus_src_alpha" />
+<Test name="subtract_one_minus_constant_color_dst_alpha" />
+<Test name="subtract_one_minus_constant_color_one_minus_dst_alpha" />
+<Test name="subtract_one_minus_constant_color_constant_color" />
+<Test name="subtract_one_minus_constant_color_one_minus_constant_color" />
+<Test name="subtract_one_minus_constant_color_constant_alpha" />
+<Test name="subtract_one_minus_constant_color_one_minus_constant_alpha" />
+<Test name="subtract_one_minus_constant_color_src_alpha_saturate" />
+<Test name="subtract_constant_alpha_zero" />
+<Test name="subtract_constant_alpha_one" />
+<Test name="subtract_constant_alpha_src_color" />
+<Test name="subtract_constant_alpha_one_minus_src_color" />
+<Test name="subtract_constant_alpha_dst_color" />
+<Test name="subtract_constant_alpha_one_minus_dst_color" />
+<Test name="subtract_constant_alpha_src_alpha" />
+<Test name="subtract_constant_alpha_one_minus_src_alpha" />
+<Test name="subtract_constant_alpha_dst_alpha" />
+<Test name="subtract_constant_alpha_one_minus_dst_alpha" />
+<Test name="subtract_constant_alpha_constant_color" />
+<Test name="subtract_constant_alpha_one_minus_constant_color" />
+<Test name="subtract_constant_alpha_constant_alpha" />
+<Test name="subtract_constant_alpha_one_minus_constant_alpha" />
+<Test name="subtract_constant_alpha_src_alpha_saturate" />
+<Test name="subtract_one_minus_constant_alpha_zero" />
+<Test name="subtract_one_minus_constant_alpha_one" />
+<Test name="subtract_one_minus_constant_alpha_src_color" />
+<Test name="subtract_one_minus_constant_alpha_one_minus_src_color" />
+<Test name="subtract_one_minus_constant_alpha_dst_color" />
+<Test name="subtract_one_minus_constant_alpha_one_minus_dst_color" />
+<Test name="subtract_one_minus_constant_alpha_src_alpha" />
+<Test name="subtract_one_minus_constant_alpha_one_minus_src_alpha" />
+<Test name="subtract_one_minus_constant_alpha_dst_alpha" />
+<Test name="subtract_one_minus_constant_alpha_one_minus_dst_alpha" />
+<Test name="subtract_one_minus_constant_alpha_constant_color" />
+<Test name="subtract_one_minus_constant_alpha_one_minus_constant_color" />
+<Test name="subtract_one_minus_constant_alpha_constant_alpha" />
+<Test name="subtract_one_minus_constant_alpha_one_minus_constant_alpha" />
+<Test name="subtract_one_minus_constant_alpha_src_alpha_saturate" />
+<Test name="subtract_src_alpha_saturate_zero" />
+<Test name="subtract_src_alpha_saturate_one" />
+<Test name="subtract_src_alpha_saturate_src_color" />
+<Test name="subtract_src_alpha_saturate_one_minus_src_color" />
+<Test name="subtract_src_alpha_saturate_dst_color" />
+<Test name="subtract_src_alpha_saturate_one_minus_dst_color" />
+<Test name="subtract_src_alpha_saturate_src_alpha" />
+<Test name="subtract_src_alpha_saturate_one_minus_src_alpha" />
+<Test name="subtract_src_alpha_saturate_dst_alpha" />
+<Test name="subtract_src_alpha_saturate_one_minus_dst_alpha" />
+<Test name="subtract_src_alpha_saturate_constant_color" />
+<Test name="subtract_src_alpha_saturate_one_minus_constant_color" />
+<Test name="subtract_src_alpha_saturate_constant_alpha" />
+<Test name="subtract_src_alpha_saturate_one_minus_constant_alpha" />
+<Test name="subtract_src_alpha_saturate_src_alpha_saturate" />
+<Test name="reverse_subtract_zero_zero" />
+<Test name="reverse_subtract_zero_one" />
+<Test name="reverse_subtract_zero_src_color" />
+<Test name="reverse_subtract_zero_one_minus_src_color" />
+<Test name="reverse_subtract_zero_dst_color" />
+<Test name="reverse_subtract_zero_one_minus_dst_color" />
+<Test name="reverse_subtract_zero_src_alpha" />
+<Test name="reverse_subtract_zero_one_minus_src_alpha" />
+<Test name="reverse_subtract_zero_dst_alpha" />
+<Test name="reverse_subtract_zero_one_minus_dst_alpha" />
+<Test name="reverse_subtract_zero_constant_color" />
+<Test name="reverse_subtract_zero_one_minus_constant_color" />
+<Test name="reverse_subtract_zero_constant_alpha" />
+<Test name="reverse_subtract_zero_one_minus_constant_alpha" />
+<Test name="reverse_subtract_zero_src_alpha_saturate" />
+<Test name="reverse_subtract_one_zero" />
+<Test name="reverse_subtract_one_one" />
+<Test name="reverse_subtract_one_src_color" />
+<Test name="reverse_subtract_one_one_minus_src_color" />
+<Test name="reverse_subtract_one_dst_color" />
+<Test name="reverse_subtract_one_one_minus_dst_color" />
+<Test name="reverse_subtract_one_src_alpha" />
+<Test name="reverse_subtract_one_one_minus_src_alpha" />
+<Test name="reverse_subtract_one_dst_alpha" />
+<Test name="reverse_subtract_one_one_minus_dst_alpha" />
+<Test name="reverse_subtract_one_constant_color" />
+<Test name="reverse_subtract_one_one_minus_constant_color" />
+<Test name="reverse_subtract_one_constant_alpha" />
+<Test name="reverse_subtract_one_one_minus_constant_alpha" />
+<Test name="reverse_subtract_one_src_alpha_saturate" />
+<Test name="reverse_subtract_src_color_zero" />
+<Test name="reverse_subtract_src_color_one" />
+<Test name="reverse_subtract_src_color_src_color" />
+<Test name="reverse_subtract_src_color_one_minus_src_color" />
+<Test name="reverse_subtract_src_color_dst_color" />
+<Test name="reverse_subtract_src_color_one_minus_dst_color" />
+<Test name="reverse_subtract_src_color_src_alpha" />
+<Test name="reverse_subtract_src_color_one_minus_src_alpha" />
+<Test name="reverse_subtract_src_color_dst_alpha" />
+<Test name="reverse_subtract_src_color_one_minus_dst_alpha" />
+<Test name="reverse_subtract_src_color_constant_color" />
+<Test name="reverse_subtract_src_color_one_minus_constant_color" />
+<Test name="reverse_subtract_src_color_constant_alpha" />
+<Test name="reverse_subtract_src_color_one_minus_constant_alpha" />
+<Test name="reverse_subtract_src_color_src_alpha_saturate" />
+<Test name="reverse_subtract_one_minus_src_color_zero" />
+<Test name="reverse_subtract_one_minus_src_color_one" />
+<Test name="reverse_subtract_one_minus_src_color_src_color" />
+<Test name="reverse_subtract_one_minus_src_color_one_minus_src_color" />
+<Test name="reverse_subtract_one_minus_src_color_dst_color" />
+<Test name="reverse_subtract_one_minus_src_color_one_minus_dst_color" />
+<Test name="reverse_subtract_one_minus_src_color_src_alpha" />
+<Test name="reverse_subtract_one_minus_src_color_one_minus_src_alpha" />
+<Test name="reverse_subtract_one_minus_src_color_dst_alpha" />
+<Test name="reverse_subtract_one_minus_src_color_one_minus_dst_alpha" />
+<Test name="reverse_subtract_one_minus_src_color_constant_color" />
+<Test name="reverse_subtract_one_minus_src_color_one_minus_constant_color" />
+<Test name="reverse_subtract_one_minus_src_color_constant_alpha" />
+<Test name="reverse_subtract_one_minus_src_color_one_minus_constant_alpha" />
+<Test name="reverse_subtract_one_minus_src_color_src_alpha_saturate" />
+<Test name="reverse_subtract_dst_color_zero" />
+<Test name="reverse_subtract_dst_color_one" />
+<Test name="reverse_subtract_dst_color_src_color" />
+<Test name="reverse_subtract_dst_color_one_minus_src_color" />
+<Test name="reverse_subtract_dst_color_dst_color" />
+<Test name="reverse_subtract_dst_color_one_minus_dst_color" />
+<Test name="reverse_subtract_dst_color_src_alpha" />
+<Test name="reverse_subtract_dst_color_one_minus_src_alpha" />
+<Test name="reverse_subtract_dst_color_dst_alpha" />
+<Test name="reverse_subtract_dst_color_one_minus_dst_alpha" />
+<Test name="reverse_subtract_dst_color_constant_color" />
+<Test name="reverse_subtract_dst_color_one_minus_constant_color" />
+<Test name="reverse_subtract_dst_color_constant_alpha" />
+<Test name="reverse_subtract_dst_color_one_minus_constant_alpha" />
+<Test name="reverse_subtract_dst_color_src_alpha_saturate" />
+<Test name="reverse_subtract_one_minus_dst_color_zero" />
+<Test name="reverse_subtract_one_minus_dst_color_one" />
+<Test name="reverse_subtract_one_minus_dst_color_src_color" />
+<Test name="reverse_subtract_one_minus_dst_color_one_minus_src_color" />
+<Test name="reverse_subtract_one_minus_dst_color_dst_color" />
+<Test name="reverse_subtract_one_minus_dst_color_one_minus_dst_color" />
+<Test name="reverse_subtract_one_minus_dst_color_src_alpha" />
+<Test name="reverse_subtract_one_minus_dst_color_one_minus_src_alpha" />
+<Test name="reverse_subtract_one_minus_dst_color_dst_alpha" />
+<Test name="reverse_subtract_one_minus_dst_color_one_minus_dst_alpha" />
+<Test name="reverse_subtract_one_minus_dst_color_constant_color" />
+<Test name="reverse_subtract_one_minus_dst_color_one_minus_constant_color" />
+<Test name="reverse_subtract_one_minus_dst_color_constant_alpha" />
+<Test name="reverse_subtract_one_minus_dst_color_one_minus_constant_alpha" />
+<Test name="reverse_subtract_one_minus_dst_color_src_alpha_saturate" />
+<Test name="reverse_subtract_src_alpha_zero" />
+<Test name="reverse_subtract_src_alpha_one" />
+<Test name="reverse_subtract_src_alpha_src_color" />
+<Test name="reverse_subtract_src_alpha_one_minus_src_color" />
+<Test name="reverse_subtract_src_alpha_dst_color" />
+<Test name="reverse_subtract_src_alpha_one_minus_dst_color" />
+<Test name="reverse_subtract_src_alpha_src_alpha" />
+<Test name="reverse_subtract_src_alpha_one_minus_src_alpha" />
+<Test name="reverse_subtract_src_alpha_dst_alpha" />
+<Test name="reverse_subtract_src_alpha_one_minus_dst_alpha" />
+<Test name="reverse_subtract_src_alpha_constant_color" />
+<Test name="reverse_subtract_src_alpha_one_minus_constant_color" />
+<Test name="reverse_subtract_src_alpha_constant_alpha" />
+<Test name="reverse_subtract_src_alpha_one_minus_constant_alpha" />
+<Test name="reverse_subtract_src_alpha_src_alpha_saturate" />
+<Test name="reverse_subtract_one_minus_src_alpha_zero" />
+<Test name="reverse_subtract_one_minus_src_alpha_one" />
+<Test name="reverse_subtract_one_minus_src_alpha_src_color" />
+<Test name="reverse_subtract_one_minus_src_alpha_one_minus_src_color" />
+<Test name="reverse_subtract_one_minus_src_alpha_dst_color" />
+<Test name="reverse_subtract_one_minus_src_alpha_one_minus_dst_color" />
+<Test name="reverse_subtract_one_minus_src_alpha_src_alpha" />
+<Test name="reverse_subtract_one_minus_src_alpha_one_minus_src_alpha" />
+<Test name="reverse_subtract_one_minus_src_alpha_dst_alpha" />
+<Test name="reverse_subtract_one_minus_src_alpha_one_minus_dst_alpha" />
+<Test name="reverse_subtract_one_minus_src_alpha_constant_color" />
+<Test name="reverse_subtract_one_minus_src_alpha_one_minus_constant_color" />
+<Test name="reverse_subtract_one_minus_src_alpha_constant_alpha" />
+<Test name="reverse_subtract_one_minus_src_alpha_one_minus_constant_alpha" />
+<Test name="reverse_subtract_one_minus_src_alpha_src_alpha_saturate" />
+<Test name="reverse_subtract_dst_alpha_zero" />
+<Test name="reverse_subtract_dst_alpha_one" />
+<Test name="reverse_subtract_dst_alpha_src_color" />
+<Test name="reverse_subtract_dst_alpha_one_minus_src_color" />
+<Test name="reverse_subtract_dst_alpha_dst_color" />
+<Test name="reverse_subtract_dst_alpha_one_minus_dst_color" />
+<Test name="reverse_subtract_dst_alpha_src_alpha" />
+<Test name="reverse_subtract_dst_alpha_one_minus_src_alpha" />
+<Test name="reverse_subtract_dst_alpha_dst_alpha" />
+<Test name="reverse_subtract_dst_alpha_one_minus_dst_alpha" />
+<Test name="reverse_subtract_dst_alpha_constant_color" />
+<Test name="reverse_subtract_dst_alpha_one_minus_constant_color" />
+<Test name="reverse_subtract_dst_alpha_constant_alpha" />
+<Test name="reverse_subtract_dst_alpha_one_minus_constant_alpha" />
+<Test name="reverse_subtract_dst_alpha_src_alpha_saturate" />
+<Test name="reverse_subtract_one_minus_dst_alpha_zero" />
+<Test name="reverse_subtract_one_minus_dst_alpha_one" />
+<Test name="reverse_subtract_one_minus_dst_alpha_src_color" />
+<Test name="reverse_subtract_one_minus_dst_alpha_one_minus_src_color" />
+<Test name="reverse_subtract_one_minus_dst_alpha_dst_color" />
+<Test name="reverse_subtract_one_minus_dst_alpha_one_minus_dst_color" />
+<Test name="reverse_subtract_one_minus_dst_alpha_src_alpha" />
+<Test name="reverse_subtract_one_minus_dst_alpha_one_minus_src_alpha" />
+<Test name="reverse_subtract_one_minus_dst_alpha_dst_alpha" />
+<Test name="reverse_subtract_one_minus_dst_alpha_one_minus_dst_alpha" />
+<Test name="reverse_subtract_one_minus_dst_alpha_constant_color" />
+<Test name="reverse_subtract_one_minus_dst_alpha_one_minus_constant_color" />
+<Test name="reverse_subtract_one_minus_dst_alpha_constant_alpha" />
+<Test name="reverse_subtract_one_minus_dst_alpha_one_minus_constant_alpha" />
+<Test name="reverse_subtract_one_minus_dst_alpha_src_alpha_saturate" />
+<Test name="reverse_subtract_constant_color_zero" />
+<Test name="reverse_subtract_constant_color_one" />
+<Test name="reverse_subtract_constant_color_src_color" />
+<Test name="reverse_subtract_constant_color_one_minus_src_color" />
+<Test name="reverse_subtract_constant_color_dst_color" />
+<Test name="reverse_subtract_constant_color_one_minus_dst_color" />
+<Test name="reverse_subtract_constant_color_src_alpha" />
+<Test name="reverse_subtract_constant_color_one_minus_src_alpha" />
+<Test name="reverse_subtract_constant_color_dst_alpha" />
+<Test name="reverse_subtract_constant_color_one_minus_dst_alpha" />
+<Test name="reverse_subtract_constant_color_constant_color" />
+<Test name="reverse_subtract_constant_color_one_minus_constant_color" />
+<Test name="reverse_subtract_constant_color_constant_alpha" />
+<Test name="reverse_subtract_constant_color_one_minus_constant_alpha" />
+<Test name="reverse_subtract_constant_color_src_alpha_saturate" />
+<Test name="reverse_subtract_one_minus_constant_color_zero" />
+<Test name="reverse_subtract_one_minus_constant_color_one" />
+<Test name="reverse_subtract_one_minus_constant_color_src_color" />
+<Test name="reverse_subtract_one_minus_constant_color_one_minus_src_color" />
+<Test name="reverse_subtract_one_minus_constant_color_dst_color" />
+<Test name="reverse_subtract_one_minus_constant_color_one_minus_dst_color" />
+<Test name="reverse_subtract_one_minus_constant_color_src_alpha" />
+<Test name="reverse_subtract_one_minus_constant_color_one_minus_src_alpha" />
+<Test name="reverse_subtract_one_minus_constant_color_dst_alpha" />
+<Test name="reverse_subtract_one_minus_constant_color_one_minus_dst_alpha" />
+<Test name="reverse_subtract_one_minus_constant_color_constant_color" />
+<Test name="reverse_subtract_one_minus_constant_color_one_minus_constant_color" />
+<Test name="reverse_subtract_one_minus_constant_color_constant_alpha" />
+<Test name="reverse_subtract_one_minus_constant_color_one_minus_constant_alpha" />
+<Test name="reverse_subtract_one_minus_constant_color_src_alpha_saturate" />
+<Test name="reverse_subtract_constant_alpha_zero" />
+<Test name="reverse_subtract_constant_alpha_one" />
+<Test name="reverse_subtract_constant_alpha_src_color" />
+<Test name="reverse_subtract_constant_alpha_one_minus_src_color" />
+<Test name="reverse_subtract_constant_alpha_dst_color" />
+<Test name="reverse_subtract_constant_alpha_one_minus_dst_color" />
+<Test name="reverse_subtract_constant_alpha_src_alpha" />
+<Test name="reverse_subtract_constant_alpha_one_minus_src_alpha" />
+<Test name="reverse_subtract_constant_alpha_dst_alpha" />
+<Test name="reverse_subtract_constant_alpha_one_minus_dst_alpha" />
+<Test name="reverse_subtract_constant_alpha_constant_color" />
+<Test name="reverse_subtract_constant_alpha_one_minus_constant_color" />
+<Test name="reverse_subtract_constant_alpha_constant_alpha" />
+<Test name="reverse_subtract_constant_alpha_one_minus_constant_alpha" />
+<Test name="reverse_subtract_constant_alpha_src_alpha_saturate" />
+<Test name="reverse_subtract_one_minus_constant_alpha_zero" />
+<Test name="reverse_subtract_one_minus_constant_alpha_one" />
+<Test name="reverse_subtract_one_minus_constant_alpha_src_color" />
+<Test name="reverse_subtract_one_minus_constant_alpha_one_minus_src_color" />
+<Test name="reverse_subtract_one_minus_constant_alpha_dst_color" />
+<Test name="reverse_subtract_one_minus_constant_alpha_one_minus_dst_color" />
+<Test name="reverse_subtract_one_minus_constant_alpha_src_alpha" />
+<Test name="reverse_subtract_one_minus_constant_alpha_one_minus_src_alpha" />
+<Test name="reverse_subtract_one_minus_constant_alpha_dst_alpha" />
+<Test name="reverse_subtract_one_minus_constant_alpha_one_minus_dst_alpha" />
+<Test name="reverse_subtract_one_minus_constant_alpha_constant_color" />
+<Test name="reverse_subtract_one_minus_constant_alpha_one_minus_constant_color" />
+<Test name="reverse_subtract_one_minus_constant_alpha_constant_alpha" />
+<Test name="reverse_subtract_one_minus_constant_alpha_one_minus_constant_alpha" />
+<Test name="reverse_subtract_one_minus_constant_alpha_src_alpha_saturate" />
+<Test name="reverse_subtract_src_alpha_saturate_zero" />
+<Test name="reverse_subtract_src_alpha_saturate_one" />
+<Test name="reverse_subtract_src_alpha_saturate_src_color" />
+<Test name="reverse_subtract_src_alpha_saturate_one_minus_src_color" />
+<Test name="reverse_subtract_src_alpha_saturate_dst_color" />
+<Test name="reverse_subtract_src_alpha_saturate_one_minus_dst_color" />
+<Test name="reverse_subtract_src_alpha_saturate_src_alpha" />
+<Test name="reverse_subtract_src_alpha_saturate_one_minus_src_alpha" />
+<Test name="reverse_subtract_src_alpha_saturate_dst_alpha" />
+<Test name="reverse_subtract_src_alpha_saturate_one_minus_dst_alpha" />
+<Test name="reverse_subtract_src_alpha_saturate_constant_color" />
+<Test name="reverse_subtract_src_alpha_saturate_one_minus_constant_color" />
+<Test name="reverse_subtract_src_alpha_saturate_constant_alpha" />
+<Test name="reverse_subtract_src_alpha_saturate_one_minus_constant_alpha" />
+<Test name="reverse_subtract_src_alpha_saturate_src_alpha_saturate" />
+</TestCase>
+<TestSuite name="rgb_func_alpha_func">
+<TestCase name="src">
+<Test name="zero_zero" />
+<Test name="zero_one" />
+<Test name="zero_src_color" />
+<Test name="zero_one_minus_src_color" />
+<Test name="zero_dst_color" />
+<Test name="zero_one_minus_dst_color" />
+<Test name="zero_src_alpha" />
+<Test name="zero_one_minus_src_alpha" />
+<Test name="zero_dst_alpha" />
+<Test name="zero_one_minus_dst_alpha" />
+<Test name="zero_constant_color" />
+<Test name="zero_one_minus_constant_color" />
+<Test name="zero_constant_alpha" />
+<Test name="zero_one_minus_constant_alpha" />
+<Test name="zero_src_alpha_saturate" />
+<Test name="one_zero" />
+<Test name="one_one" />
+<Test name="one_src_color" />
+<Test name="one_one_minus_src_color" />
+<Test name="one_dst_color" />
+<Test name="one_one_minus_dst_color" />
+<Test name="one_src_alpha" />
+<Test name="one_one_minus_src_alpha" />
+<Test name="one_dst_alpha" />
+<Test name="one_one_minus_dst_alpha" />
+<Test name="one_constant_color" />
+<Test name="one_one_minus_constant_color" />
+<Test name="one_constant_alpha" />
+<Test name="one_one_minus_constant_alpha" />
+<Test name="one_src_alpha_saturate" />
+<Test name="src_color_zero" />
+<Test name="src_color_one" />
+<Test name="src_color_src_color" />
+<Test name="src_color_one_minus_src_color" />
+<Test name="src_color_dst_color" />
+<Test name="src_color_one_minus_dst_color" />
+<Test name="src_color_src_alpha" />
+<Test name="src_color_one_minus_src_alpha" />
+<Test name="src_color_dst_alpha" />
+<Test name="src_color_one_minus_dst_alpha" />
+<Test name="src_color_constant_color" />
+<Test name="src_color_one_minus_constant_color" />
+<Test name="src_color_constant_alpha" />
+<Test name="src_color_one_minus_constant_alpha" />
+<Test name="src_color_src_alpha_saturate" />
+<Test name="one_minus_src_color_zero" />
+<Test name="one_minus_src_color_one" />
+<Test name="one_minus_src_color_src_color" />
+<Test name="one_minus_src_color_one_minus_src_color" />
+<Test name="one_minus_src_color_dst_color" />
+<Test name="one_minus_src_color_one_minus_dst_color" />
+<Test name="one_minus_src_color_src_alpha" />
+<Test name="one_minus_src_color_one_minus_src_alpha" />
+<Test name="one_minus_src_color_dst_alpha" />
+<Test name="one_minus_src_color_one_minus_dst_alpha" />
+<Test name="one_minus_src_color_constant_color" />
+<Test name="one_minus_src_color_one_minus_constant_color" />
+<Test name="one_minus_src_color_constant_alpha" />
+<Test name="one_minus_src_color_one_minus_constant_alpha" />
+<Test name="one_minus_src_color_src_alpha_saturate" />
+<Test name="dst_color_zero" />
+<Test name="dst_color_one" />
+<Test name="dst_color_src_color" />
+<Test name="dst_color_one_minus_src_color" />
+<Test name="dst_color_dst_color" />
+<Test name="dst_color_one_minus_dst_color" />
+<Test name="dst_color_src_alpha" />
+<Test name="dst_color_one_minus_src_alpha" />
+<Test name="dst_color_dst_alpha" />
+<Test name="dst_color_one_minus_dst_alpha" />
+<Test name="dst_color_constant_color" />
+<Test name="dst_color_one_minus_constant_color" />
+<Test name="dst_color_constant_alpha" />
+<Test name="dst_color_one_minus_constant_alpha" />
+<Test name="dst_color_src_alpha_saturate" />
+<Test name="one_minus_dst_color_zero" />
+<Test name="one_minus_dst_color_one" />
+<Test name="one_minus_dst_color_src_color" />
+<Test name="one_minus_dst_color_one_minus_src_color" />
+<Test name="one_minus_dst_color_dst_color" />
+<Test name="one_minus_dst_color_one_minus_dst_color" />
+<Test name="one_minus_dst_color_src_alpha" />
+<Test name="one_minus_dst_color_one_minus_src_alpha" />
+<Test name="one_minus_dst_color_dst_alpha" />
+<Test name="one_minus_dst_color_one_minus_dst_alpha" />
+<Test name="one_minus_dst_color_constant_color" />
+<Test name="one_minus_dst_color_one_minus_constant_color" />
+<Test name="one_minus_dst_color_constant_alpha" />
+<Test name="one_minus_dst_color_one_minus_constant_alpha" />
+<Test name="one_minus_dst_color_src_alpha_saturate" />
+<Test name="src_alpha_zero" />
+<Test name="src_alpha_one" />
+<Test name="src_alpha_src_color" />
+<Test name="src_alpha_one_minus_src_color" />
+<Test name="src_alpha_dst_color" />
+<Test name="src_alpha_one_minus_dst_color" />
+<Test name="src_alpha_src_alpha" />
+<Test name="src_alpha_one_minus_src_alpha" />
+<Test name="src_alpha_dst_alpha" />
+<Test name="src_alpha_one_minus_dst_alpha" />
+<Test name="src_alpha_constant_color" />
+<Test name="src_alpha_one_minus_constant_color" />
+<Test name="src_alpha_constant_alpha" />
+<Test name="src_alpha_one_minus_constant_alpha" />
+<Test name="src_alpha_src_alpha_saturate" />
+<Test name="one_minus_src_alpha_zero" />
+<Test name="one_minus_src_alpha_one" />
+<Test name="one_minus_src_alpha_src_color" />
+<Test name="one_minus_src_alpha_one_minus_src_color" />
+<Test name="one_minus_src_alpha_dst_color" />
+<Test name="one_minus_src_alpha_one_minus_dst_color" />
+<Test name="one_minus_src_alpha_src_alpha" />
+<Test name="one_minus_src_alpha_one_minus_src_alpha" />
+<Test name="one_minus_src_alpha_dst_alpha" />
+<Test name="one_minus_src_alpha_one_minus_dst_alpha" />
+<Test name="one_minus_src_alpha_constant_color" />
+<Test name="one_minus_src_alpha_one_minus_constant_color" />
+<Test name="one_minus_src_alpha_constant_alpha" />
+<Test name="one_minus_src_alpha_one_minus_constant_alpha" />
+<Test name="one_minus_src_alpha_src_alpha_saturate" />
+<Test name="dst_alpha_zero" />
+<Test name="dst_alpha_one" />
+<Test name="dst_alpha_src_color" />
+<Test name="dst_alpha_one_minus_src_color" />
+<Test name="dst_alpha_dst_color" />
+<Test name="dst_alpha_one_minus_dst_color" />
+<Test name="dst_alpha_src_alpha" />
+<Test name="dst_alpha_one_minus_src_alpha" />
+<Test name="dst_alpha_dst_alpha" />
+<Test name="dst_alpha_one_minus_dst_alpha" />
+<Test name="dst_alpha_constant_color" />
+<Test name="dst_alpha_one_minus_constant_color" />
+<Test name="dst_alpha_constant_alpha" />
+<Test name="dst_alpha_one_minus_constant_alpha" />
+<Test name="dst_alpha_src_alpha_saturate" />
+<Test name="one_minus_dst_alpha_zero" />
+<Test name="one_minus_dst_alpha_one" />
+<Test name="one_minus_dst_alpha_src_color" />
+<Test name="one_minus_dst_alpha_one_minus_src_color" />
+<Test name="one_minus_dst_alpha_dst_color" />
+<Test name="one_minus_dst_alpha_one_minus_dst_color" />
+<Test name="one_minus_dst_alpha_src_alpha" />
+<Test name="one_minus_dst_alpha_one_minus_src_alpha" />
+<Test name="one_minus_dst_alpha_dst_alpha" />
+<Test name="one_minus_dst_alpha_one_minus_dst_alpha" />
+<Test name="one_minus_dst_alpha_constant_color" />
+<Test name="one_minus_dst_alpha_one_minus_constant_color" />
+<Test name="one_minus_dst_alpha_constant_alpha" />
+<Test name="one_minus_dst_alpha_one_minus_constant_alpha" />
+<Test name="one_minus_dst_alpha_src_alpha_saturate" />
+<Test name="constant_color_zero" />
+<Test name="constant_color_one" />
+<Test name="constant_color_src_color" />
+<Test name="constant_color_one_minus_src_color" />
+<Test name="constant_color_dst_color" />
+<Test name="constant_color_one_minus_dst_color" />
+<Test name="constant_color_src_alpha" />
+<Test name="constant_color_one_minus_src_alpha" />
+<Test name="constant_color_dst_alpha" />
+<Test name="constant_color_one_minus_dst_alpha" />
+<Test name="constant_color_constant_color" />
+<Test name="constant_color_one_minus_constant_color" />
+<Test name="constant_color_constant_alpha" />
+<Test name="constant_color_one_minus_constant_alpha" />
+<Test name="constant_color_src_alpha_saturate" />
+<Test name="one_minus_constant_color_zero" />
+<Test name="one_minus_constant_color_one" />
+<Test name="one_minus_constant_color_src_color" />
+<Test name="one_minus_constant_color_one_minus_src_color" />
+<Test name="one_minus_constant_color_dst_color" />
+<Test name="one_minus_constant_color_one_minus_dst_color" />
+<Test name="one_minus_constant_color_src_alpha" />
+<Test name="one_minus_constant_color_one_minus_src_alpha" />
+<Test name="one_minus_constant_color_dst_alpha" />
+<Test name="one_minus_constant_color_one_minus_dst_alpha" />
+<Test name="one_minus_constant_color_constant_color" />
+<Test name="one_minus_constant_color_one_minus_constant_color" />
+<Test name="one_minus_constant_color_constant_alpha" />
+<Test name="one_minus_constant_color_one_minus_constant_alpha" />
+<Test name="one_minus_constant_color_src_alpha_saturate" />
+<Test name="constant_alpha_zero" />
+<Test name="constant_alpha_one" />
+<Test name="constant_alpha_src_color" />
+<Test name="constant_alpha_one_minus_src_color" />
+<Test name="constant_alpha_dst_color" />
+<Test name="constant_alpha_one_minus_dst_color" />
+<Test name="constant_alpha_src_alpha" />
+<Test name="constant_alpha_one_minus_src_alpha" />
+<Test name="constant_alpha_dst_alpha" />
+<Test name="constant_alpha_one_minus_dst_alpha" />
+<Test name="constant_alpha_constant_color" />
+<Test name="constant_alpha_one_minus_constant_color" />
+<Test name="constant_alpha_constant_alpha" />
+<Test name="constant_alpha_one_minus_constant_alpha" />
+<Test name="constant_alpha_src_alpha_saturate" />
+<Test name="one_minus_constant_alpha_zero" />
+<Test name="one_minus_constant_alpha_one" />
+<Test name="one_minus_constant_alpha_src_color" />
+<Test name="one_minus_constant_alpha_one_minus_src_color" />
+<Test name="one_minus_constant_alpha_dst_color" />
+<Test name="one_minus_constant_alpha_one_minus_dst_color" />
+<Test name="one_minus_constant_alpha_src_alpha" />
+<Test name="one_minus_constant_alpha_one_minus_src_alpha" />
+<Test name="one_minus_constant_alpha_dst_alpha" />
+<Test name="one_minus_constant_alpha_one_minus_dst_alpha" />
+<Test name="one_minus_constant_alpha_constant_color" />
+<Test name="one_minus_constant_alpha_one_minus_constant_color" />
+<Test name="one_minus_constant_alpha_constant_alpha" />
+<Test name="one_minus_constant_alpha_one_minus_constant_alpha" />
+<Test name="one_minus_constant_alpha_src_alpha_saturate" />
+<Test name="src_alpha_saturate_zero" />
+<Test name="src_alpha_saturate_one" />
+<Test name="src_alpha_saturate_src_color" />
+<Test name="src_alpha_saturate_one_minus_src_color" />
+<Test name="src_alpha_saturate_dst_color" />
+<Test name="src_alpha_saturate_one_minus_dst_color" />
+<Test name="src_alpha_saturate_src_alpha" />
+<Test name="src_alpha_saturate_one_minus_src_alpha" />
+<Test name="src_alpha_saturate_dst_alpha" />
+<Test name="src_alpha_saturate_one_minus_dst_alpha" />
+<Test name="src_alpha_saturate_constant_color" />
+<Test name="src_alpha_saturate_one_minus_constant_color" />
+<Test name="src_alpha_saturate_constant_alpha" />
+<Test name="src_alpha_saturate_one_minus_constant_alpha" />
+<Test name="src_alpha_saturate_src_alpha_saturate" />
+</TestCase>
+<TestCase name="dst">
+<Test name="zero_zero" />
+<Test name="zero_one" />
+<Test name="zero_src_color" />
+<Test name="zero_one_minus_src_color" />
+<Test name="zero_dst_color" />
+<Test name="zero_one_minus_dst_color" />
+<Test name="zero_src_alpha" />
+<Test name="zero_one_minus_src_alpha" />
+<Test name="zero_dst_alpha" />
+<Test name="zero_one_minus_dst_alpha" />
+<Test name="zero_constant_color" />
+<Test name="zero_one_minus_constant_color" />
+<Test name="zero_constant_alpha" />
+<Test name="zero_one_minus_constant_alpha" />
+<Test name="zero_src_alpha_saturate" />
+<Test name="one_zero" />
+<Test name="one_one" />
+<Test name="one_src_color" />
+<Test name="one_one_minus_src_color" />
+<Test name="one_dst_color" />
+<Test name="one_one_minus_dst_color" />
+<Test name="one_src_alpha" />
+<Test name="one_one_minus_src_alpha" />
+<Test name="one_dst_alpha" />
+<Test name="one_one_minus_dst_alpha" />
+<Test name="one_constant_color" />
+<Test name="one_one_minus_constant_color" />
+<Test name="one_constant_alpha" />
+<Test name="one_one_minus_constant_alpha" />
+<Test name="one_src_alpha_saturate" />
+<Test name="src_color_zero" />
+<Test name="src_color_one" />
+<Test name="src_color_src_color" />
+<Test name="src_color_one_minus_src_color" />
+<Test name="src_color_dst_color" />
+<Test name="src_color_one_minus_dst_color" />
+<Test name="src_color_src_alpha" />
+<Test name="src_color_one_minus_src_alpha" />
+<Test name="src_color_dst_alpha" />
+<Test name="src_color_one_minus_dst_alpha" />
+<Test name="src_color_constant_color" />
+<Test name="src_color_one_minus_constant_color" />
+<Test name="src_color_constant_alpha" />
+<Test name="src_color_one_minus_constant_alpha" />
+<Test name="src_color_src_alpha_saturate" />
+<Test name="one_minus_src_color_zero" />
+<Test name="one_minus_src_color_one" />
+<Test name="one_minus_src_color_src_color" />
+<Test name="one_minus_src_color_one_minus_src_color" />
+<Test name="one_minus_src_color_dst_color" />
+<Test name="one_minus_src_color_one_minus_dst_color" />
+<Test name="one_minus_src_color_src_alpha" />
+<Test name="one_minus_src_color_one_minus_src_alpha" />
+<Test name="one_minus_src_color_dst_alpha" />
+<Test name="one_minus_src_color_one_minus_dst_alpha" />
+<Test name="one_minus_src_color_constant_color" />
+<Test name="one_minus_src_color_one_minus_constant_color" />
+<Test name="one_minus_src_color_constant_alpha" />
+<Test name="one_minus_src_color_one_minus_constant_alpha" />
+<Test name="one_minus_src_color_src_alpha_saturate" />
+<Test name="dst_color_zero" />
+<Test name="dst_color_one" />
+<Test name="dst_color_src_color" />
+<Test name="dst_color_one_minus_src_color" />
+<Test name="dst_color_dst_color" />
+<Test name="dst_color_one_minus_dst_color" />
+<Test name="dst_color_src_alpha" />
+<Test name="dst_color_one_minus_src_alpha" />
+<Test name="dst_color_dst_alpha" />
+<Test name="dst_color_one_minus_dst_alpha" />
+<Test name="dst_color_constant_color" />
+<Test name="dst_color_one_minus_constant_color" />
+<Test name="dst_color_constant_alpha" />
+<Test name="dst_color_one_minus_constant_alpha" />
+<Test name="dst_color_src_alpha_saturate" />
+<Test name="one_minus_dst_color_zero" />
+<Test name="one_minus_dst_color_one" />
+<Test name="one_minus_dst_color_src_color" />
+<Test name="one_minus_dst_color_one_minus_src_color" />
+<Test name="one_minus_dst_color_dst_color" />
+<Test name="one_minus_dst_color_one_minus_dst_color" />
+<Test name="one_minus_dst_color_src_alpha" />
+<Test name="one_minus_dst_color_one_minus_src_alpha" />
+<Test name="one_minus_dst_color_dst_alpha" />
+<Test name="one_minus_dst_color_one_minus_dst_alpha" />
+<Test name="one_minus_dst_color_constant_color" />
+<Test name="one_minus_dst_color_one_minus_constant_color" />
+<Test name="one_minus_dst_color_constant_alpha" />
+<Test name="one_minus_dst_color_one_minus_constant_alpha" />
+<Test name="one_minus_dst_color_src_alpha_saturate" />
+<Test name="src_alpha_zero" />
+<Test name="src_alpha_one" />
+<Test name="src_alpha_src_color" />
+<Test name="src_alpha_one_minus_src_color" />
+<Test name="src_alpha_dst_color" />
+<Test name="src_alpha_one_minus_dst_color" />
+<Test name="src_alpha_src_alpha" />
+<Test name="src_alpha_one_minus_src_alpha" />
+<Test name="src_alpha_dst_alpha" />
+<Test name="src_alpha_one_minus_dst_alpha" />
+<Test name="src_alpha_constant_color" />
+<Test name="src_alpha_one_minus_constant_color" />
+<Test name="src_alpha_constant_alpha" />
+<Test name="src_alpha_one_minus_constant_alpha" />
+<Test name="src_alpha_src_alpha_saturate" />
+<Test name="one_minus_src_alpha_zero" />
+<Test name="one_minus_src_alpha_one" />
+<Test name="one_minus_src_alpha_src_color" />
+<Test name="one_minus_src_alpha_one_minus_src_color" />
+<Test name="one_minus_src_alpha_dst_color" />
+<Test name="one_minus_src_alpha_one_minus_dst_color" />
+<Test name="one_minus_src_alpha_src_alpha" />
+<Test name="one_minus_src_alpha_one_minus_src_alpha" />
+<Test name="one_minus_src_alpha_dst_alpha" />
+<Test name="one_minus_src_alpha_one_minus_dst_alpha" />
+<Test name="one_minus_src_alpha_constant_color" />
+<Test name="one_minus_src_alpha_one_minus_constant_color" />
+<Test name="one_minus_src_alpha_constant_alpha" />
+<Test name="one_minus_src_alpha_one_minus_constant_alpha" />
+<Test name="one_minus_src_alpha_src_alpha_saturate" />
+<Test name="dst_alpha_zero" />
+<Test name="dst_alpha_one" />
+<Test name="dst_alpha_src_color" />
+<Test name="dst_alpha_one_minus_src_color" />
+<Test name="dst_alpha_dst_color" />
+<Test name="dst_alpha_one_minus_dst_color" />
+<Test name="dst_alpha_src_alpha" />
+<Test name="dst_alpha_one_minus_src_alpha" />
+<Test name="dst_alpha_dst_alpha" />
+<Test name="dst_alpha_one_minus_dst_alpha" />
+<Test name="dst_alpha_constant_color" />
+<Test name="dst_alpha_one_minus_constant_color" />
+<Test name="dst_alpha_constant_alpha" />
+<Test name="dst_alpha_one_minus_constant_alpha" />
+<Test name="dst_alpha_src_alpha_saturate" />
+<Test name="one_minus_dst_alpha_zero" />
+<Test name="one_minus_dst_alpha_one" />
+<Test name="one_minus_dst_alpha_src_color" />
+<Test name="one_minus_dst_alpha_one_minus_src_color" />
+<Test name="one_minus_dst_alpha_dst_color" />
+<Test name="one_minus_dst_alpha_one_minus_dst_color" />
+<Test name="one_minus_dst_alpha_src_alpha" />
+<Test name="one_minus_dst_alpha_one_minus_src_alpha" />
+<Test name="one_minus_dst_alpha_dst_alpha" />
+<Test name="one_minus_dst_alpha_one_minus_dst_alpha" />
+<Test name="one_minus_dst_alpha_constant_color" />
+<Test name="one_minus_dst_alpha_one_minus_constant_color" />
+<Test name="one_minus_dst_alpha_constant_alpha" />
+<Test name="one_minus_dst_alpha_one_minus_constant_alpha" />
+<Test name="one_minus_dst_alpha_src_alpha_saturate" />
+<Test name="constant_color_zero" />
+<Test name="constant_color_one" />
+<Test name="constant_color_src_color" />
+<Test name="constant_color_one_minus_src_color" />
+<Test name="constant_color_dst_color" />
+<Test name="constant_color_one_minus_dst_color" />
+<Test name="constant_color_src_alpha" />
+<Test name="constant_color_one_minus_src_alpha" />
+<Test name="constant_color_dst_alpha" />
+<Test name="constant_color_one_minus_dst_alpha" />
+<Test name="constant_color_constant_color" />
+<Test name="constant_color_one_minus_constant_color" />
+<Test name="constant_color_constant_alpha" />
+<Test name="constant_color_one_minus_constant_alpha" />
+<Test name="constant_color_src_alpha_saturate" />
+<Test name="one_minus_constant_color_zero" />
+<Test name="one_minus_constant_color_one" />
+<Test name="one_minus_constant_color_src_color" />
+<Test name="one_minus_constant_color_one_minus_src_color" />
+<Test name="one_minus_constant_color_dst_color" />
+<Test name="one_minus_constant_color_one_minus_dst_color" />
+<Test name="one_minus_constant_color_src_alpha" />
+<Test name="one_minus_constant_color_one_minus_src_alpha" />
+<Test name="one_minus_constant_color_dst_alpha" />
+<Test name="one_minus_constant_color_one_minus_dst_alpha" />
+<Test name="one_minus_constant_color_constant_color" />
+<Test name="one_minus_constant_color_one_minus_constant_color" />
+<Test name="one_minus_constant_color_constant_alpha" />
+<Test name="one_minus_constant_color_one_minus_constant_alpha" />
+<Test name="one_minus_constant_color_src_alpha_saturate" />
+<Test name="constant_alpha_zero" />
+<Test name="constant_alpha_one" />
+<Test name="constant_alpha_src_color" />
+<Test name="constant_alpha_one_minus_src_color" />
+<Test name="constant_alpha_dst_color" />
+<Test name="constant_alpha_one_minus_dst_color" />
+<Test name="constant_alpha_src_alpha" />
+<Test name="constant_alpha_one_minus_src_alpha" />
+<Test name="constant_alpha_dst_alpha" />
+<Test name="constant_alpha_one_minus_dst_alpha" />
+<Test name="constant_alpha_constant_color" />
+<Test name="constant_alpha_one_minus_constant_color" />
+<Test name="constant_alpha_constant_alpha" />
+<Test name="constant_alpha_one_minus_constant_alpha" />
+<Test name="constant_alpha_src_alpha_saturate" />
+<Test name="one_minus_constant_alpha_zero" />
+<Test name="one_minus_constant_alpha_one" />
+<Test name="one_minus_constant_alpha_src_color" />
+<Test name="one_minus_constant_alpha_one_minus_src_color" />
+<Test name="one_minus_constant_alpha_dst_color" />
+<Test name="one_minus_constant_alpha_one_minus_dst_color" />
+<Test name="one_minus_constant_alpha_src_alpha" />
+<Test name="one_minus_constant_alpha_one_minus_src_alpha" />
+<Test name="one_minus_constant_alpha_dst_alpha" />
+<Test name="one_minus_constant_alpha_one_minus_dst_alpha" />
+<Test name="one_minus_constant_alpha_constant_color" />
+<Test name="one_minus_constant_alpha_one_minus_constant_color" />
+<Test name="one_minus_constant_alpha_constant_alpha" />
+<Test name="one_minus_constant_alpha_one_minus_constant_alpha" />
+<Test name="one_minus_constant_alpha_src_alpha_saturate" />
+<Test name="src_alpha_saturate_zero" />
+<Test name="src_alpha_saturate_one" />
+<Test name="src_alpha_saturate_src_color" />
+<Test name="src_alpha_saturate_one_minus_src_color" />
+<Test name="src_alpha_saturate_dst_color" />
+<Test name="src_alpha_saturate_one_minus_dst_color" />
+<Test name="src_alpha_saturate_src_alpha" />
+<Test name="src_alpha_saturate_one_minus_src_alpha" />
+<Test name="src_alpha_saturate_dst_alpha" />
+<Test name="src_alpha_saturate_one_minus_dst_alpha" />
+<Test name="src_alpha_saturate_constant_color" />
+<Test name="src_alpha_saturate_one_minus_constant_color" />
+<Test name="src_alpha_saturate_constant_alpha" />
+<Test name="src_alpha_saturate_one_minus_constant_alpha" />
+<Test name="src_alpha_saturate_src_alpha_saturate" />
+</TestCase>
+</TestSuite>
+<TestCase name="rgb_equation_alpha_equation">
+<Test name="add_add" />
+<Test name="add_subtract" />
+<Test name="add_reverse_subtract" />
+<Test name="add_min" />
+<Test name="add_max" />
+<Test name="subtract_add" />
+<Test name="subtract_subtract" />
+<Test name="subtract_reverse_subtract" />
+<Test name="subtract_min" />
+<Test name="subtract_max" />
+<Test name="reverse_subtract_add" />
+<Test name="reverse_subtract_subtract" />
+<Test name="reverse_subtract_reverse_subtract" />
+<Test name="reverse_subtract_min" />
+<Test name="reverse_subtract_max" />
+<Test name="min_add" />
+<Test name="min_subtract" />
+<Test name="min_reverse_subtract" />
+<Test name="min_min" />
+<Test name="min_max" />
+<Test name="max_add" />
+<Test name="max_subtract" />
+<Test name="max_reverse_subtract" />
+<Test name="max_min" />
+<Test name="max_max" />
+</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="20" />
+<Test name="21" />
+<Test name="23" />
+<Test name="24" />
+<Test name="25" />
+<Test name="26" />
+<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="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="60" />
+<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="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" />
+</TestCase>
+<TestSuite name="interaction">
+<TestCase name="basic_shader">
+<Test name="0" />
+<Test name="1" />
+<Test name="2" />
+<Test name="3" />
+<Test name="4" />
+<Test name="5" />
+<Test name="6" />
+<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="26" />
+<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="41" />
+<Test name="42" />
+<Test name="43" />
+<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="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="74" />
+<Test name="75" />
+<Test name="76" />
+<Test name="77" />
+<Test name="79" />
+<Test name="81" />
+<Test name="83" />
+<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" />
+</TestCase>
+</TestSuite>
+<TestCase name="scissor">
+<Test name="contained_quads" />
+<Test name="partial_quads" />
+<Test name="contained_tri" />
+<Test name="enclosing_tri" />
+<Test name="partial_tri" />
+<Test name="outside_render_tri" />
+<Test name="partial_lines" />
+<Test name="contained_line" />
+<Test name="partial_line" />
+<Test name="outside_render_line" />
+<Test name="contained_point" />
+<Test name="partial_points" />
+<Test name="outside_point" />
+<Test name="outside_render_point" />
+<Test name="clear_depth" />
+<Test name="clear_stencil" />
+<Test name="clear_color" />
+<Test name="clear_fixed_buffer" />
+<Test name="clear_int_buffer" />
+<Test name="clear_uint_buffer" />
+<Test name="clear_depth_buffer" />
+<Test name="clear_stencil_buffer" />
+<Test name="clear_depth_stencil_buffer" />
+</TestCase>
+</TestSuite>
+<TestSuite name="fbo">
+<TestCase name="api">
+<Test name="valid_tex2d_attachments" />
+<Test name="valid_texcube_attachments" />
+<Test name="valid_rbo_attachments" />
+<Test name="attach_to_default_fbo" />
+<Test name="invalid_tex2d_attachments" />
+<Test name="invalid_texcube_attachments" />
+<Test name="invalid_rbo_attachments" />
+<Test name="attach_names" />
+<Test name="attachment_query_tex2d" />
+<Test name="delete_tex_2d_attached_to_bound_fbo" />
+<Test name="delete_tex_cube_attached_to_bound_fbo" />
+<Test name="delete_rbo_attached_to_bound_fbo" />
+<Test name="delete_tex_2d_attached_to_not_bound_fbo" />
+<Test name="delete_tex_cube_attached_to_not_bound_fbo" />
+<Test name="delete_rbo_attached_to_not_bound_fbo" />
+</TestCase>
+<TestSuite name="completeness">
+<TestSuite name="renderable">
+<TestSuite name="renderbuffer">
+<TestCase name="color0">
+<Test name="depth_component_unsigned_short" />
+<Test name="depth_component_unsigned_int" />
+<Test name="rgb_unsigned_byte" />
+<Test name="rgb_unsigned_short_5_6_5" />
+<Test name="rgb_unsigned_int_2_10_10_10_rev" />
+<Test name="rgb_unsigned_int_10f_11f_11f_rev" />
+<Test name="rgba_unsigned_byte" />
+<Test name="rgba_unsigned_short_4_4_4_4" />
+<Test name="rgba_unsigned_short_5_5_5_1" />
+<Test name="rgba_unsigned_int_2_10_10_10_rev" />
+<Test name="rgb8" />
+<Test name="rgb10" />
+<Test name="rgba4" />
+<Test name="rgb5_a1" />
+<Test name="rgba8" />
+<Test name="rgb10_a2" />
+<Test name="depth_component16" />
+<Test name="depth_component24" />
+<Test name="depth_component32" />
+<Test name="r8" />
+<Test name="rg8" />
+<Test name="r16f" />
+<Test name="r32f" />
+<Test name="rg16f" />
+<Test name="rg32f" />
+<Test name="r8i" />
+<Test name="r8ui" />
+<Test name="r16i" />
+<Test name="r16ui" />
+<Test name="r32i" />
+<Test name="r32ui" />
+<Test name="rg8i" />
+<Test name="rg8ui" />
+<Test name="rg16i" />
+<Test name="rg16ui" />
+<Test name="rg32i" />
+<Test name="rg32ui" />
+<Test name="depth_stencil_unsigned_int_24_8" />
+<Test name="rgba32f" />
+<Test name="rgba16f" />
+<Test name="depth24_stencil8" />
+<Test name="r11f_g11f_b10f" />
+<Test name="srgb_unsigned_byte" />
+<Test name="srgb_alpha_unsigned_byte" />
+<Test name="srgb8_alpha8" />
+<Test name="depth_component32f" />
+<Test name="depth32f_stencil8" />
+<Test name="stencil_index8" />
+<Test name="rgb565" />
+<Test name="rgba32ui" />
+<Test name="rgba16ui" />
+<Test name="rgba8ui" />
+<Test name="rgba32i" />
+<Test name="rgba16i" />
+<Test name="rgba8i" />
+<Test name="rgb10_a2ui" />
+</TestCase>
+<TestCase name="stencil">
+<Test name="depth_component_unsigned_short" />
+<Test name="depth_component_unsigned_int" />
+<Test name="red_unsigned_byte" />
+<Test name="red_float" />
+<Test name="red_half_float_oes" />
+<Test name="rgb_unsigned_byte" />
+<Test name="rgb_unsigned_short_5_6_5" />
+<Test name="rgb_unsigned_int_2_10_10_10_rev" />
+<Test name="rgb_unsigned_int_10f_11f_11f_rev" />
+<Test name="rgba_unsigned_byte" />
+<Test name="rgba_unsigned_short_4_4_4_4" />
+<Test name="rgba_unsigned_short_5_5_5_1" />
+<Test name="rgba_unsigned_int_2_10_10_10_rev" />
+<Test name="rgb10" />
+<Test name="depth_component32" />
+<Test name="rg_unsigned_byte" />
+<Test name="rg_float" />
+<Test name="rg_half_float_oes" />
+<Test name="depth24_stencil8" />
+<Test name="srgb_unsigned_byte" />
+<Test name="srgb_alpha_unsigned_byte" />
+<Test name="depth32f_stencil8" />
+<Test name="stencil_index8" />
+</TestCase>
+<TestCase name="depth">
+<Test name="red_unsigned_byte" />
+<Test name="red_float" />
+<Test name="red_half_float_oes" />
+<Test name="rgb_unsigned_byte" />
+<Test name="rgb_unsigned_short_5_6_5" />
+<Test name="rgb_unsigned_int_2_10_10_10_rev" />
+<Test name="rgb_unsigned_int_10f_11f_11f_rev" />
+<Test name="rgba_unsigned_byte" />
+<Test name="rgba_unsigned_short_4_4_4_4" />
+<Test name="rgba_unsigned_short_5_5_5_1" />
+<Test name="rgba_unsigned_int_2_10_10_10_rev" />
+<Test name="rgb10" />
+<Test name="depth_component16" />
+<Test name="depth_component24" />
+<Test name="depth_component32" />
+<Test name="rg_unsigned_byte" />
+<Test name="rg_float" />
+<Test name="rg_half_float_oes" />
+<Test name="depth24_stencil8" />
+<Test name="srgb_unsigned_byte" />
+<Test name="srgb_alpha_unsigned_byte" />
+<Test name="depth_component32f" />
+<Test name="depth32f_stencil8" />
+</TestCase>
+</TestSuite>
+<TestSuite name="texture">
+<TestCase name="color0">
+<Test name="depth_component_unsigned_short" />
+<Test name="depth_component_unsigned_int" />
+<Test name="red_half_float_oes" />
+<Test name="rgb_unsigned_byte" />
+<Test name="rgb_unsigned_short_5_6_5" />
+<Test name="rgb_unsigned_int_10f_11f_11f_rev" />
+<Test name="rgba_unsigned_byte" />
+<Test name="rgba_unsigned_short_4_4_4_4" />
+<Test name="rgba_unsigned_short_5_5_5_1" />
+<Test name="rgb8" />
+<Test name="rgba4" />
+<Test name="rgb5_a1" />
+<Test name="rgba8" />
+<Test name="rgb10_a2" />
+<Test name="depth_component16" />
+<Test name="depth_component24" />
+<Test name="depth_component32" />
+<Test name="rg_half_float_oes" />
+<Test name="r8" />
+<Test name="rg8" />
+<Test name="r16f" />
+<Test name="r32f" />
+<Test name="rg16f" />
+<Test name="rg32f" />
+<Test name="r8i" />
+<Test name="r8ui" />
+<Test name="r16i" />
+<Test name="r16ui" />
+<Test name="r32i" />
+<Test name="r32ui" />
+<Test name="rg8i" />
+<Test name="rg8ui" />
+<Test name="rg16i" />
+<Test name="rg16ui" />
+<Test name="rg32i" />
+<Test name="rg32ui" />
+<Test name="depth_stencil_unsigned_int_24_8" />
+<Test name="rgba32f" />
+<Test name="rgba16f" />
+<Test name="depth24_stencil8" />
+<Test name="r11f_g11f_b10f" />
+<Test name="srgb_unsigned_byte" />
+<Test name="srgb_alpha_unsigned_byte" />
+<Test name="srgb8_alpha8" />
+<Test name="depth_component32f" />
+<Test name="depth32f_stencil8" />
+<Test name="stencil_index8" />
+<Test name="rgb565" />
+<Test name="rgba32ui" />
+<Test name="rgba16ui" />
+<Test name="rgba8ui" />
+<Test name="rgba32i" />
+<Test name="rgba16i" />
+<Test name="rgba8i" />
+<Test name="rgb10_a2ui" />
+</TestCase>
+<TestCase name="stencil">
+<Test name="depth_component_unsigned_short" />
+<Test name="depth_component_unsigned_int" />
+<Test name="red_unsigned_byte" />
+<Test name="red_float" />
+<Test name="red_half_float_oes" />
+<Test name="rgb_unsigned_byte" />
+<Test name="rgb_unsigned_short_5_6_5" />
+<Test name="rgb_unsigned_int_2_10_10_10_rev" />
+<Test name="rgb_unsigned_int_10f_11f_11f_rev" />
+<Test name="rgba_unsigned_byte" />
+<Test name="rgba_unsigned_short_4_4_4_4" />
+<Test name="rgba_unsigned_short_5_5_5_1" />
+<Test name="rgba_unsigned_int_2_10_10_10_rev" />
+<Test name="rgb8" />
+<Test name="rgb10" />
+<Test name="rgba4" />
+<Test name="rgb5_a1" />
+<Test name="rgba8" />
+<Test name="rgb10_a2" />
+<Test name="depth_component16" />
+<Test name="depth_component24" />
+<Test name="depth_component32" />
+<Test name="rg_unsigned_byte" />
+<Test name="rg_float" />
+<Test name="rg_half_float_oes" />
+<Test name="r8" />
+<Test name="rg8" />
+<Test name="r16f" />
+<Test name="r32f" />
+<Test name="rg16f" />
+<Test name="rg32f" />
+<Test name="r8i" />
+<Test name="r8ui" />
+<Test name="r16i" />
+<Test name="r16ui" />
+<Test name="r32i" />
+<Test name="r32ui" />
+<Test name="rg8i" />
+<Test name="rg8ui" />
+<Test name="rg16i" />
+<Test name="rg16ui" />
+<Test name="rg32i" />
+<Test name="rg32ui" />
+<Test name="depth_stencil_unsigned_int_24_8" />
+<Test name="rgba32f" />
+<Test name="rgba16f" />
+<Test name="rgb16f" />
+<Test name="depth24_stencil8" />
+<Test name="r11f_g11f_b10f" />
+<Test name="srgb_unsigned_byte" />
+<Test name="srgb_alpha_unsigned_byte" />
+<Test name="srgb8_alpha8" />
+<Test name="depth_component32f" />
+<Test name="depth32f_stencil8" />
+<Test name="rgb565" />
+<Test name="rgba32ui" />
+<Test name="rgba16ui" />
+<Test name="rgba8ui" />
+<Test name="rgba32i" />
+<Test name="rgba16i" />
+<Test name="rgba8i" />
+<Test name="rgb10_a2ui" />
+</TestCase>
+<TestCase name="depth">
+<Test name="depth_component_unsigned_short" />
+<Test name="depth_component_unsigned_int" />
+<Test name="red_unsigned_byte" />
+<Test name="red_float" />
+<Test name="red_half_float_oes" />
+<Test name="rgb_unsigned_byte" />
+<Test name="rgb_unsigned_short_5_6_5" />
+<Test name="rgb_unsigned_int_2_10_10_10_rev" />
+<Test name="rgb_unsigned_int_10f_11f_11f_rev" />
+<Test name="rgba_unsigned_byte" />
+<Test name="rgba_unsigned_short_4_4_4_4" />
+<Test name="rgba_unsigned_short_5_5_5_1" />
+<Test name="rgba_unsigned_int_2_10_10_10_rev" />
+<Test name="rgb8" />
+<Test name="rgb10" />
+<Test name="rgba4" />
+<Test name="rgb5_a1" />
+<Test name="rgba8" />
+<Test name="rgb10_a2" />
+<Test name="depth_component16" />
+<Test name="depth_component24" />
+<Test name="depth_component32" />
+<Test name="rg_unsigned_byte" />
+<Test name="rg_float" />
+<Test name="rg_half_float_oes" />
+<Test name="r8" />
+<Test name="rg8" />
+<Test name="r16f" />
+<Test name="r32f" />
+<Test name="rg16f" />
+<Test name="rg32f" />
+<Test name="r8i" />
+<Test name="r8ui" />
+<Test name="r16i" />
+<Test name="r16ui" />
+<Test name="r32i" />
+<Test name="r32ui" />
+<Test name="rg8i" />
+<Test name="rg8ui" />
+<Test name="rg16i" />
+<Test name="rg16ui" />
+<Test name="rg32i" />
+<Test name="rg32ui" />
+<Test name="depth_stencil_unsigned_int_24_8" />
+<Test name="rgba32f" />
+<Test name="rgba16f" />
+<Test name="rgb16f" />
+<Test name="depth24_stencil8" />
+<Test name="r11f_g11f_b10f" />
+<Test name="srgb_unsigned_byte" />
+<Test name="srgb_alpha_unsigned_byte" />
+<Test name="srgb8_alpha8" />
+<Test name="depth_component32f" />
+<Test name="depth32f_stencil8" />
+<Test name="rgb565" />
+<Test name="rgba32ui" />
+<Test name="rgba16ui" />
+<Test name="rgba8ui" />
+<Test name="rgba32i" />
+<Test name="rgba16i" />
+<Test name="rgba8i" />
+<Test name="rgb10_a2ui" />
+</TestCase>
+</TestSuite>
+</TestSuite>
+<TestCase name="attachment_combinations">
+<Test name="none_none_none_none" />
+<Test name="none_none_none_rbo" />
+<Test name="none_none_none_tex" />
+<Test name="none_none_rbo_none" />
+<Test name="none_none_rbo_rbo" />
+<Test name="none_none_rbo_tex" />
+<Test name="none_none_tex_none" />
+<Test name="none_none_tex_rbo" />
+<Test name="none_none_tex_tex" />
+<Test name="none_rbo_none_none" />
+<Test name="none_rbo_none_rbo" />
+<Test name="none_rbo_none_tex" />
+<Test name="none_rbo_rbo_none" />
+<Test name="none_rbo_rbo_rbo" />
+<Test name="none_rbo_rbo_tex" />
+<Test name="none_rbo_tex_none" />
+<Test name="none_rbo_tex_rbo" />
+<Test name="none_rbo_tex_tex" />
+<Test name="none_tex_none_none" />
+<Test name="none_tex_none_rbo" />
+<Test name="none_tex_none_tex" />
+<Test name="none_tex_rbo_none" />
+<Test name="none_tex_rbo_rbo" />
+<Test name="none_tex_rbo_tex" />
+<Test name="none_tex_tex_none" />
+<Test name="none_tex_tex_rbo" />
+<Test name="none_tex_tex_tex" />
+<Test name="rbo_none_none_none" />
+<Test name="rbo_none_none_rbo" />
+<Test name="rbo_none_none_tex" />
+<Test name="rbo_none_rbo_none" />
+<Test name="rbo_none_rbo_rbo" />
+<Test name="rbo_none_rbo_tex" />
+<Test name="rbo_none_tex_none" />
+<Test name="rbo_none_tex_rbo" />
+<Test name="rbo_none_tex_tex" />
+<Test name="rbo_rbo_none_none" />
+<Test name="rbo_rbo_none_rbo" />
+<Test name="rbo_rbo_none_tex" />
+<Test name="rbo_rbo_rbo_none" />
+<Test name="rbo_rbo_rbo_rbo" />
+<Test name="rbo_rbo_rbo_tex" />
+<Test name="rbo_rbo_tex_none" />
+<Test name="rbo_rbo_tex_rbo" />
+<Test name="rbo_rbo_tex_tex" />
+<Test name="rbo_tex_none_none" />
+<Test name="rbo_tex_none_rbo" />
+<Test name="rbo_tex_none_tex" />
+<Test name="rbo_tex_rbo_none" />
+<Test name="rbo_tex_rbo_rbo" />
+<Test name="rbo_tex_rbo_tex" />
+<Test name="rbo_tex_tex_none" />
+<Test name="rbo_tex_tex_rbo" />
+<Test name="rbo_tex_tex_tex" />
+<Test name="tex_none_none_none" />
+<Test name="tex_none_none_rbo" />
+<Test name="tex_none_none_tex" />
+<Test name="tex_none_rbo_none" />
+<Test name="tex_none_rbo_rbo" />
+<Test name="tex_none_rbo_tex" />
+<Test name="tex_none_tex_none" />
+<Test name="tex_none_tex_rbo" />
+<Test name="tex_none_tex_tex" />
+<Test name="tex_rbo_none_none" />
+<Test name="tex_rbo_none_rbo" />
+<Test name="tex_rbo_none_tex" />
+<Test name="tex_rbo_rbo_none" />
+<Test name="tex_rbo_rbo_rbo" />
+<Test name="tex_rbo_rbo_tex" />
+<Test name="tex_rbo_tex_none" />
+<Test name="tex_rbo_tex_rbo" />
+<Test name="tex_rbo_tex_tex" />
+<Test name="tex_tex_none_none" />
+<Test name="tex_tex_none_rbo" />
+<Test name="tex_tex_none_tex" />
+<Test name="tex_tex_rbo_none" />
+<Test name="tex_tex_rbo_rbo" />
+<Test name="tex_tex_rbo_tex" />
+<Test name="tex_tex_tex_none" />
+<Test name="tex_tex_tex_rbo" />
+<Test name="tex_tex_tex_tex" />
+</TestCase>
+<TestCase name="layer">
+<Test name="2darr_1_0" />
+<Test name="2darr_1_3" />
+<Test name="2darr_4_3" />
+<Test name="2darr_4_15" />
+<Test name="3d_1_0" />
+<Test name="3d_1_15" />
+<Test name="3d_4_15" />
+<Test name="3d_64_15" />
+</TestCase>
+<TestCase name="samples">
+<Test name="rbo0_none_none" />
+<Test name="rbo1_none_none" />
+<Test name="rbo2_none_none" />
+<Test name="rbo0_tex_none" />
+<Test name="rbo2_rbo1_none" />
+<Test name="rbo2_rbo2_none" />
+<Test name="rbo0_rbo0_tex" />
+<Test name="rbo1_rbo2_rbo0" />
+<Test name="rbo2_rbo2_rbo0" />
+<Test name="rbo1_rbo1_rbo1" />
+<Test name="rbo1_rbo2_rbo4" />
+</TestCase>
+</TestSuite>
+<TestSuite name="render">
+<TestCase name="stencil_clear">
+<Test name="tex2d_rgba8_stencil_rbo_depth32f_stencil8" />
+<Test name="tex2d_rgba8_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_rgba8_stencil_rbo_stencil_index8" />
+</TestCase>
+<TestCase name="shared_colorbuffer">
+<Test name="tex2d_rgba16f" />
+<Test name="tex2d_rgba16f_depth_rbo_depth24_stencil8" />
+<Test name="tex2d_rgba16f_depth_stencil_rbo_depth24_stencil8" />
+<Test name="rbo_rgba16f" />
+<Test name="rbo_rgba16f_depth_rbo_depth24_stencil8" />
+<Test name="rbo_rgba16f_depth_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_rgb16f" />
+<Test name="tex2d_rgb16f_depth_rbo_depth24_stencil8" />
+<Test name="tex2d_rgb16f_depth_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_rgba8" />
+<Test name="tex2d_rgba8_depth_rbo_depth24_stencil8" />
+<Test name="tex2d_rgba8_depth_stencil_rbo_depth24_stencil8" />
+<Test name="rbo_rgba8" />
+<Test name="rbo_rgba8_depth_rbo_depth24_stencil8" />
+<Test name="rbo_rgba8_depth_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_srgb8_alpha8" />
+<Test name="tex2d_srgb8_alpha8_depth_rbo_depth24_stencil8" />
+<Test name="tex2d_srgb8_alpha8_depth_stencil_rbo_depth24_stencil8" />
+<Test name="rbo_srgb8_alpha8" />
+<Test name="rbo_srgb8_alpha8_depth_rbo_depth24_stencil8" />
+<Test name="rbo_srgb8_alpha8_depth_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_rgb10_a2" />
+<Test name="tex2d_rgb10_a2_depth_rbo_depth24_stencil8" />
+<Test name="tex2d_rgb10_a2_depth_stencil_rbo_depth24_stencil8" />
+<Test name="rbo_rgb10_a2" />
+<Test name="rbo_rgb10_a2_depth_rbo_depth24_stencil8" />
+<Test name="rbo_rgb10_a2_depth_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_rgba4" />
+<Test name="tex2d_rgba4_depth_rbo_depth24_stencil8" />
+<Test name="tex2d_rgba4_depth_stencil_rbo_depth24_stencil8" />
+<Test name="rbo_rgba4" />
+<Test name="rbo_rgba4_depth_rbo_depth24_stencil8" />
+<Test name="rbo_rgba4_depth_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_rgb5_a1" />
+<Test name="tex2d_rgb5_a1_depth_rbo_depth24_stencil8" />
+<Test name="tex2d_rgb5_a1_depth_stencil_rbo_depth24_stencil8" />
+<Test name="rbo_rgb5_a1" />
+<Test name="rbo_rgb5_a1_depth_rbo_depth24_stencil8" />
+<Test name="rbo_rgb5_a1_depth_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_rgb8" />
+<Test name="tex2d_rgb8_depth_rbo_depth24_stencil8" />
+<Test name="tex2d_rgb8_depth_stencil_rbo_depth24_stencil8" />
+<Test name="rbo_rgb8" />
+<Test name="rbo_rgb8_depth_rbo_depth24_stencil8" />
+<Test name="rbo_rgb8_depth_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_rgb565" />
+<Test name="tex2d_rgb565_depth_rbo_depth24_stencil8" />
+<Test name="tex2d_rgb565_depth_stencil_rbo_depth24_stencil8" />
+<Test name="rbo_rgb565" />
+<Test name="rbo_rgb565_depth_rbo_depth24_stencil8" />
+<Test name="rbo_rgb565_depth_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_r11f_g11f_b10f" />
+<Test name="tex2d_r11f_g11f_b10f_depth_rbo_depth24_stencil8" />
+<Test name="tex2d_r11f_g11f_b10f_depth_stencil_rbo_depth24_stencil8" />
+<Test name="rbo_r11f_g11f_b10f" />
+<Test name="rbo_r11f_g11f_b10f_depth_rbo_depth24_stencil8" />
+<Test name="rbo_r11f_g11f_b10f_depth_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_rg8" />
+<Test name="tex2d_rg8_depth_rbo_depth24_stencil8" />
+<Test name="tex2d_rg8_depth_stencil_rbo_depth24_stencil8" />
+<Test name="rbo_rg8" />
+<Test name="rbo_rg8_depth_rbo_depth24_stencil8" />
+<Test name="rbo_rg8_depth_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_r8" />
+<Test name="tex2d_r8_depth_rbo_depth24_stencil8" />
+<Test name="tex2d_r8_depth_stencil_rbo_depth24_stencil8" />
+<Test name="rbo_r8" />
+<Test name="rbo_r8_depth_rbo_depth24_stencil8" />
+<Test name="rbo_r8_depth_stencil_rbo_depth24_stencil8" />
+</TestCase>
+<TestCase name="resize">
+<Test name="tex2d_rgba32f" />
+<Test name="rbo_rgba32f" />
+<Test name="tex2d_rgba32i" />
+<Test name="rbo_rgba32i" />
+<Test name="tex2d_rgba32ui" />
+<Test name="rbo_rgba32ui" />
+<Test name="tex2d_rgba16f" />
+<Test name="rbo_rgba16f" />
+<Test name="tex2d_rgba16f_depth_tex2d_depth_component32f" />
+<Test name="tex2d_rgba16f_depth_rbo_depth_component32f" />
+<Test name="tex2d_rgba16f_depth_tex2d_depth_component24" />
+<Test name="tex2d_rgba16f_depth_rbo_depth_component24" />
+<Test name="tex2d_rgba16f_depth_tex2d_depth_component16" />
+<Test name="tex2d_rgba16f_depth_rbo_depth_component16" />
+<Test name="tex2d_rgba16f_depth_stencil_tex2d_depth32f_stencil8" />
+<Test name="tex2d_rgba16f_depth_stencil_rbo_depth32f_stencil8" />
+<Test name="tex2d_rgba16f_depth_stencil_tex2d_depth24_stencil8" />
+<Test name="tex2d_rgba16f_depth_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_rgba16f_stencil_rbo_stencil_index8" />
+<Test name="tex2d_rgba16i" />
+<Test name="rbo_rgba16i" />
+<Test name="tex2d_rgba16ui" />
+<Test name="rbo_rgba16ui" />
+<Test name="tex2d_rgb16f" />
+<Test name="tex2d_rgba8" />
+<Test name="rbo_rgba8" />
+<Test name="tex2d_rgba8_depth_tex2d_depth_component32f" />
+<Test name="tex2d_rgba8_depth_rbo_depth_component32f" />
+<Test name="tex2d_rgba8_depth_tex2d_depth_component24" />
+<Test name="tex2d_rgba8_depth_rbo_depth_component24" />
+<Test name="tex2d_rgba8_depth_tex2d_depth_component16" />
+<Test name="tex2d_rgba8_depth_rbo_depth_component16" />
+<Test name="tex2d_rgba8_depth_stencil_tex2d_depth32f_stencil8" />
+<Test name="tex2d_rgba8_depth_stencil_rbo_depth32f_stencil8" />
+<Test name="tex2d_rgba8_depth_stencil_tex2d_depth24_stencil8" />
+<Test name="tex2d_rgba8_depth_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_rgba8_stencil_rbo_stencil_index8" />
+<Test name="tex2d_rgba8i" />
+<Test name="rbo_rgba8i" />
+<Test name="tex2d_rgba8ui" />
+<Test name="rbo_rgba8ui" />
+<Test name="tex2d_srgb8_alpha8" />
+<Test name="rbo_srgb8_alpha8" />
+<Test name="tex2d_rgb10_a2" />
+<Test name="rbo_rgb10_a2" />
+<Test name="tex2d_rgb10_a2ui" />
+<Test name="rbo_rgb10_a2ui" />
+<Test name="tex2d_rgba4" />
+<Test name="rbo_rgba4" />
+<Test name="tex2d_rgb5_a1" />
+<Test name="rbo_rgb5_a1" />
+<Test name="tex2d_rgb8" />
+<Test name="rbo_rgb8" />
+<Test name="tex2d_rgb565" />
+<Test name="rbo_rgb565" />
+<Test name="tex2d_r11f_g11f_b10f" />
+<Test name="rbo_r11f_g11f_b10f" />
+<Test name="tex2d_rg32f" />
+<Test name="rbo_rg32f" />
+<Test name="tex2d_rg32i" />
+<Test name="rbo_rg32i" />
+<Test name="tex2d_rg32ui" />
+<Test name="rbo_rg32ui" />
+<Test name="tex2d_rg16f" />
+<Test name="rbo_rg16f" />
+<Test name="tex2d_rg16i" />
+<Test name="rbo_rg16i" />
+<Test name="tex2d_rg16ui" />
+<Test name="rbo_rg16ui" />
+<Test name="tex2d_rg8" />
+<Test name="rbo_rg8" />
+<Test name="tex2d_rg8i" />
+<Test name="rbo_rg8i" />
+<Test name="tex2d_rg8ui" />
+<Test name="rbo_rg8ui" />
+<Test name="tex2d_r32f" />
+<Test name="rbo_r32f" />
+<Test name="tex2d_r32i" />
+<Test name="rbo_r32i" />
+<Test name="tex2d_r32ui" />
+<Test name="rbo_r32ui" />
+<Test name="tex2d_r16f" />
+<Test name="rbo_r16f" />
+<Test name="tex2d_r16i" />
+<Test name="rbo_r16i" />
+<Test name="tex2d_r16ui" />
+<Test name="rbo_r16ui" />
+<Test name="tex2d_r8" />
+<Test name="rbo_r8" />
+<Test name="tex2d_r8i" />
+<Test name="rbo_r8i" />
+<Test name="tex2d_r8ui" />
+<Test name="rbo_r8ui" />
+</TestCase>
+<TestCase name="recreate_color">
+<Test name="tex2d_rgba32f_depth_stencil_rbo_depth24_stencil8" />
+<Test name="rbo_rgba32f_depth_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_rgba32i_depth_stencil_rbo_depth24_stencil8" />
+<Test name="rbo_rgba32i_depth_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_rgba32ui_depth_stencil_rbo_depth24_stencil8" />
+<Test name="rbo_rgba32ui_depth_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_rgba16f_depth_stencil_rbo_depth24_stencil8" />
+<Test name="rbo_rgba16f_depth_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_rgba16i_depth_stencil_rbo_depth24_stencil8" />
+<Test name="rbo_rgba16i_depth_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_rgba16ui_depth_stencil_rbo_depth24_stencil8" />
+<Test name="rbo_rgba16ui_depth_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_rgb16f_depth_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_rgba8_depth_stencil_rbo_depth24_stencil8" />
+<Test name="rbo_rgba8_depth_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_rgba8i_depth_stencil_rbo_depth24_stencil8" />
+<Test name="rbo_rgba8i_depth_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_rgba8ui_depth_stencil_rbo_depth24_stencil8" />
+<Test name="rbo_rgba8ui_depth_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_srgb8_alpha8_depth_stencil_rbo_depth24_stencil8" />
+<Test name="rbo_srgb8_alpha8_depth_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_rgb10_a2_depth_stencil_rbo_depth24_stencil8" />
+<Test name="rbo_rgb10_a2_depth_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_rgb10_a2ui_depth_stencil_rbo_depth24_stencil8" />
+<Test name="rbo_rgb10_a2ui_depth_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_rgba4_depth_stencil_rbo_depth24_stencil8" />
+<Test name="rbo_rgba4_depth_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_rgb5_a1_depth_stencil_rbo_depth24_stencil8" />
+<Test name="rbo_rgb5_a1_depth_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_rgb8_depth_stencil_rbo_depth24_stencil8" />
+<Test name="rbo_rgb8_depth_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_rgb565_depth_stencil_rbo_depth24_stencil8" />
+<Test name="rbo_rgb565_depth_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_r11f_g11f_b10f_depth_stencil_rbo_depth24_stencil8" />
+<Test name="rbo_r11f_g11f_b10f_depth_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_rg32f_depth_stencil_rbo_depth24_stencil8" />
+<Test name="rbo_rg32f_depth_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_rg32i_depth_stencil_rbo_depth24_stencil8" />
+<Test name="rbo_rg32i_depth_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_rg32ui_depth_stencil_rbo_depth24_stencil8" />
+<Test name="rbo_rg32ui_depth_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_rg16f_depth_stencil_rbo_depth24_stencil8" />
+<Test name="rbo_rg16f_depth_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_rg16i_depth_stencil_rbo_depth24_stencil8" />
+<Test name="rbo_rg16i_depth_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_rg16ui_depth_stencil_rbo_depth24_stencil8" />
+<Test name="rbo_rg16ui_depth_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_rg8_depth_stencil_rbo_depth24_stencil8" />
+<Test name="rbo_rg8_depth_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_rg8i_depth_stencil_rbo_depth24_stencil8" />
+<Test name="rbo_rg8i_depth_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_rg8ui_depth_stencil_rbo_depth24_stencil8" />
+<Test name="rbo_rg8ui_depth_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_r32f_depth_stencil_rbo_depth24_stencil8" />
+<Test name="rbo_r32f_depth_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_r32i_depth_stencil_rbo_depth24_stencil8" />
+<Test name="rbo_r32i_depth_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_r32ui_depth_stencil_rbo_depth24_stencil8" />
+<Test name="rbo_r32ui_depth_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_r16f_depth_stencil_rbo_depth24_stencil8" />
+<Test name="rbo_r16f_depth_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_r16i_depth_stencil_rbo_depth24_stencil8" />
+<Test name="rbo_r16i_depth_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_r16ui_depth_stencil_rbo_depth24_stencil8" />
+<Test name="rbo_r16ui_depth_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_r8_depth_stencil_rbo_depth24_stencil8" />
+<Test name="rbo_r8_depth_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_r8i_depth_stencil_rbo_depth24_stencil8" />
+<Test name="rbo_r8i_depth_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_r8ui_depth_stencil_rbo_depth24_stencil8" />
+<Test name="rbo_r8ui_depth_stencil_rbo_depth24_stencil8" />
+</TestCase>
+<TestCase name="recreate_depth_stencil">
+<Test name="tex2d_rgba8_depth_tex2d_depth_component32f" />
+<Test name="tex2d_rgba8_depth_rbo_depth_component32f" />
+<Test name="tex2d_rgba8_depth_tex2d_depth_component24" />
+<Test name="tex2d_rgba8_depth_rbo_depth_component24" />
+<Test name="tex2d_rgba8_depth_tex2d_depth_component16" />
+<Test name="tex2d_rgba8_depth_rbo_depth_component16" />
+<Test name="tex2d_rgba8_depth_stencil_tex2d_depth32f_stencil8" />
+<Test name="tex2d_rgba8_depth_stencil_rbo_depth32f_stencil8" />
+<Test name="tex2d_rgba8_depth_stencil_tex2d_depth24_stencil8" />
+<Test name="tex2d_rgba8_depth_stencil_rbo_depth24_stencil8" />
+<Test name="tex2d_rgba8_stencil_rbo_stencil_index8" />
+</TestCase>
+</TestSuite>
+<TestSuite name="color">
+<TestCase name="clear">
+<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" />
+</TestCase>
+<TestCase name="tex2d">
+<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>
+<TestCase name="texcube">
+<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>
+<TestCase name="tex2darray">
+<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>
+<TestCase name="tex3d">
+<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>
+<TestCase name="blend">
+<Test name="rgba8_src_over" />
+<Test name="srgb8_alpha8_src_over" />
+<Test name="rgb10_a2_src_over" />
+<Test name="rgba4_src_over" />
+<Test name="rgb5_a1_src_over" />
+<Test name="rgb8_src_over" />
+<Test name="rgb565_src_over" />
+<Test name="rg8_src_over" />
+<Test name="r8_src_over" />
+<Test name="rgba16f_src_over" />
+<Test name="r11f_g11f_b10f_src_over" />
+</TestCase>
+</TestSuite>
+<TestSuite name="depth">
+<TestCase name="basic">
+<Test name="depth_component32f" />
+<Test name="depth_component24" />
+<Test name="depth_component16" />
+<Test name="depth32f_stencil8" />
+<Test name="depth24_stencil8" />
+</TestCase>
+<TestCase name="depth_write_clamp">
+<Test name="depth_component32f" />
+<Test name="depth_component24" />
+<Test name="depth_component16" />
+<Test name="depth32f_stencil8" />
+<Test name="depth24_stencil8" />
+</TestCase>
+<TestCase name="depth_test_clamp">
+<Test name="depth_component32f" />
+<Test name="depth_component24" />
+<Test name="depth_component16" />
+<Test name="depth32f_stencil8" />
+<Test name="depth24_stencil8" />
+</TestCase>
+</TestSuite>
+<TestSuite name="stencil">
+<TestCase name="basic">
+<Test name="depth32f_stencil8" />
+<Test name="depth32f_stencil8_depth" />
+<Test name="depth24_stencil8" />
+<Test name="depth24_stencil8_depth" />
+<Test name="stencil_index8" />
+</TestCase>
+<TestCase name="attach">
+<Test name="depth_only" />
+<Test name="stencil_only" />
+<Test name="depth_stencil_separate" />
+<Test name="depth_stencil_attachment" />
+</TestCase>
+</TestSuite>
+<TestSuite name="blit">
+<TestCase name="rect">
+<Test name="basic_nearest" />
+<Test name="basic_linear" />
+<Test name="basic_reverse_src_x_nearest" />
+<Test name="basic_reverse_src_x_linear" />
+<Test name="basic_reverse_src_y_nearest" />
+<Test name="basic_reverse_src_y_linear" />
+<Test name="basic_reverse_dst_x_nearest" />
+<Test name="basic_reverse_dst_x_linear" />
+<Test name="basic_reverse_dst_y_nearest" />
+<Test name="basic_reverse_dst_y_linear" />
+<Test name="basic_reverse_src_dst_x_nearest" />
+<Test name="basic_reverse_src_dst_x_linear" />
+<Test name="basic_reverse_src_dst_y_nearest" />
+<Test name="basic_reverse_src_dst_y_linear" />
+<Test name="scale_nearest" />
+<Test name="scale_linear" />
+<Test name="scale_reverse_src_x_nearest" />
+<Test name="scale_reverse_src_x_linear" />
+<Test name="scale_reverse_src_y_nearest" />
+<Test name="scale_reverse_src_y_linear" />
+<Test name="scale_reverse_dst_x_nearest" />
+<Test name="scale_reverse_dst_x_linear" />
+<Test name="scale_reverse_dst_y_nearest" />
+<Test name="scale_reverse_dst_y_linear" />
+<Test name="scale_reverse_src_dst_x_nearest" />
+<Test name="scale_reverse_src_dst_x_linear" />
+<Test name="scale_reverse_src_dst_y_nearest" />
+<Test name="scale_reverse_src_dst_y_linear" />
+<Test name="nearest_consistency_mag" />
+<Test name="nearest_consistency_mag_reverse_src_x" />
+<Test name="nearest_consistency_mag_reverse_src_y" />
+<Test name="nearest_consistency_mag_reverse_dst_x" />
+<Test name="nearest_consistency_mag_reverse_dst_y" />
+<Test name="nearest_consistency_mag_reverse_src_dst_x" />
+<Test name="nearest_consistency_mag_reverse_src_dst_y" />
+<Test name="nearest_consistency_min" />
+<Test name="nearest_consistency_min_reverse_src_x" />
+<Test name="nearest_consistency_min_reverse_src_y" />
+<Test name="nearest_consistency_min_reverse_dst_x" />
+<Test name="nearest_consistency_min_reverse_dst_y" />
+<Test name="nearest_consistency_min_reverse_src_dst_x" />
+<Test name="nearest_consistency_min_reverse_src_dst_y" />
+</TestCase>
+<TestCase name="conversion">
+<Test name="rgba32i_to_rgba32i" />
+<Test name="rgba32i_to_rgba16i" />
+<Test name="rgba32i_to_rgba8i" />
+<Test name="rgba32i_to_rg32i" />
+<Test name="rgba32i_to_rg16i" />
+<Test name="rgba32i_to_rg8i" />
+<Test name="rgba32i_to_r32i" />
+<Test name="rgba32i_to_r16i" />
+<Test name="rgba32i_to_r8i" />
+<Test name="rgba32ui_to_rgba32ui" />
+<Test name="rgba32ui_to_rgba16ui" />
+<Test name="rgba32ui_to_rgba8ui" />
+<Test name="rgba32ui_to_rgb10_a2ui" />
+<Test name="rgba32ui_to_rg32ui" />
+<Test name="rgba32ui_to_rg16ui" />
+<Test name="rgba32ui_to_rg8ui" />
+<Test name="rgba32ui_to_r32ui" />
+<Test name="rgba32ui_to_r16ui" />
+<Test name="rgba32ui_to_r8ui" />
+<Test name="rgba16i_to_rgba32i" />
+<Test name="rgba16i_to_rgba16i" />
+<Test name="rgba16i_to_rgba8i" />
+<Test name="rgba16i_to_rg32i" />
+<Test name="rgba16i_to_rg16i" />
+<Test name="rgba16i_to_rg8i" />
+<Test name="rgba16i_to_r32i" />
+<Test name="rgba16i_to_r16i" />
+<Test name="rgba16i_to_r8i" />
+<Test name="rgba16ui_to_rgba32ui" />
+<Test name="rgba16ui_to_rgba16ui" />
+<Test name="rgba16ui_to_rgba8ui" />
+<Test name="rgba16ui_to_rgb10_a2ui" />
+<Test name="rgba16ui_to_rg32ui" />
+<Test name="rgba16ui_to_rg16ui" />
+<Test name="rgba16ui_to_rg8ui" />
+<Test name="rgba16ui_to_r32ui" />
+<Test name="rgba16ui_to_r16ui" />
+<Test name="rgba16ui_to_r8ui" />
+<Test name="rgba8_to_rgba8" />
+<Test name="rgba8_to_srgb8_alpha8" />
+<Test name="rgba8_to_rgb10_a2" />
+<Test name="rgba8_to_rgba4" />
+<Test name="rgba8_to_rgb5_a1" />
+<Test name="rgba8_to_rgb8" />
+<Test name="rgba8_to_rgb565" />
+<Test name="rgba8_to_rg8" />
+<Test name="rgba8_to_r8" />
+<Test name="rgba8_to_rgba32f" />
+<Test name="rgba8_to_rgba16f" />
+<Test name="rgba8_to_rg32f" />
+<Test name="rgba8_to_rg16f" />
+<Test name="rgba8_to_r32f" />
+<Test name="rgba8_to_r16f" />
+<Test name="rgba8i_to_rgba32i" />
+<Test name="rgba8i_to_rgba16i" />
+<Test name="rgba8i_to_rgba8i" />
+<Test name="rgba8i_to_rg32i" />
+<Test name="rgba8i_to_rg16i" />
+<Test name="rgba8i_to_rg8i" />
+<Test name="rgba8i_to_r32i" />
+<Test name="rgba8i_to_r16i" />
+<Test name="rgba8i_to_r8i" />
+<Test name="rgba8ui_to_rgba32ui" />
+<Test name="rgba8ui_to_rgba16ui" />
+<Test name="rgba8ui_to_rgba8ui" />
+<Test name="rgba8ui_to_rgb10_a2ui" />
+<Test name="rgba8ui_to_rg32ui" />
+<Test name="rgba8ui_to_rg16ui" />
+<Test name="rgba8ui_to_rg8ui" />
+<Test name="rgba8ui_to_r32ui" />
+<Test name="rgba8ui_to_r16ui" />
+<Test name="rgba8ui_to_r8ui" />
+<Test name="srgb8_alpha8_to_rgba8" />
+<Test name="srgb8_alpha8_to_srgb8_alpha8" />
+<Test name="srgb8_alpha8_to_rgb10_a2" />
+<Test name="srgb8_alpha8_to_rgba4" />
+<Test name="srgb8_alpha8_to_rgb5_a1" />
+<Test name="srgb8_alpha8_to_rgb8" />
+<Test name="srgb8_alpha8_to_rgb565" />
+<Test name="srgb8_alpha8_to_rg8" />
+<Test name="srgb8_alpha8_to_r8" />
+<Test name="srgb8_alpha8_to_rgba32f" />
+<Test name="srgb8_alpha8_to_rgba16f" />
+<Test name="srgb8_alpha8_to_r11f_g11f_b10f" />
+<Test name="srgb8_alpha8_to_rg32f" />
+<Test name="srgb8_alpha8_to_rg16f" />
+<Test name="srgb8_alpha8_to_r32f" />
+<Test name="srgb8_alpha8_to_r16f" />
+<Test name="rgb10_a2_to_rgba8" />
+<Test name="rgb10_a2_to_srgb8_alpha8" />
+<Test name="rgb10_a2_to_rgb10_a2" />
+<Test name="rgb10_a2_to_rgba4" />
+<Test name="rgb10_a2_to_rgb5_a1" />
+<Test name="rgb10_a2_to_rgb8" />
+<Test name="rgb10_a2_to_rgb565" />
+<Test name="rgb10_a2_to_rg8" />
+<Test name="rgb10_a2_to_r8" />
+<Test name="rgb10_a2_to_rgba32f" />
+<Test name="rgb10_a2_to_rgba16f" />
+<Test name="rgb10_a2_to_rg32f" />
+<Test name="rgb10_a2_to_rg16f" />
+<Test name="rgb10_a2_to_r32f" />
+<Test name="rgb10_a2_to_r16f" />
+<Test name="rgb10_a2ui_to_rgba32ui" />
+<Test name="rgb10_a2ui_to_rgba16ui" />
+<Test name="rgb10_a2ui_to_rgba8ui" />
+<Test name="rgb10_a2ui_to_rgb10_a2ui" />
+<Test name="rgb10_a2ui_to_rg32ui" />
+<Test name="rgb10_a2ui_to_rg16ui" />
+<Test name="rgb10_a2ui_to_rg8ui" />
+<Test name="rgb10_a2ui_to_r32ui" />
+<Test name="rgb10_a2ui_to_r16ui" />
+<Test name="rgb10_a2ui_to_r8ui" />
+<Test name="rgba4_to_rgba8" />
+<Test name="rgba4_to_srgb8_alpha8" />
+<Test name="rgba4_to_rgb10_a2" />
+<Test name="rgba4_to_rgba4" />
+<Test name="rgba4_to_rgb5_a1" />
+<Test name="rgba4_to_rgb8" />
+<Test name="rgba4_to_rgb565" />
+<Test name="rgba4_to_rg8" />
+<Test name="rgba4_to_r8" />
+<Test name="rgba4_to_rgba32f" />
+<Test name="rgba4_to_rgba16f" />
+<Test name="rgba4_to_r11f_g11f_b10f" />
+<Test name="rgba4_to_rg32f" />
+<Test name="rgba4_to_rg16f" />
+<Test name="rgba4_to_r32f" />
+<Test name="rgba4_to_r16f" />
+<Test name="rgb5_a1_to_rgba8" />
+<Test name="rgb5_a1_to_srgb8_alpha8" />
+<Test name="rgb5_a1_to_rgb10_a2" />
+<Test name="rgb5_a1_to_rgba4" />
+<Test name="rgb5_a1_to_rgb5_a1" />
+<Test name="rgb5_a1_to_rgb8" />
+<Test name="rgb5_a1_to_rgb565" />
+<Test name="rgb5_a1_to_rg8" />
+<Test name="rgb5_a1_to_r8" />
+<Test name="rgb5_a1_to_rgba32f" />
+<Test name="rgb5_a1_to_rgba16f" />
+<Test name="rgb5_a1_to_r11f_g11f_b10f" />
+<Test name="rgb5_a1_to_rg32f" />
+<Test name="rgb5_a1_to_rg16f" />
+<Test name="rgb5_a1_to_r32f" />
+<Test name="rgb5_a1_to_r16f" />
+<Test name="rgb8_to_rgba8" />
+<Test name="rgb8_to_srgb8_alpha8" />
+<Test name="rgb8_to_rgb10_a2" />
+<Test name="rgb8_to_rgba4" />
+<Test name="rgb8_to_rgb5_a1" />
+<Test name="rgb8_to_rgb8" />
+<Test name="rgb8_to_rgb565" />
+<Test name="rgb8_to_rg8" />
+<Test name="rgb8_to_r8" />
+<Test name="rgb8_to_rgba32f" />
+<Test name="rgb8_to_rgba16f" />
+<Test name="rgb8_to_rg32f" />
+<Test name="rgb8_to_rg16f" />
+<Test name="rgb8_to_r32f" />
+<Test name="rgb8_to_r16f" />
+<Test name="rgb565_to_rgba8" />
+<Test name="rgb565_to_srgb8_alpha8" />
+<Test name="rgb565_to_rgb10_a2" />
+<Test name="rgb565_to_rgba4" />
+<Test name="rgb565_to_rgb5_a1" />
+<Test name="rgb565_to_rgb8" />
+<Test name="rgb565_to_rgb565" />
+<Test name="rgb565_to_rg8" />
+<Test name="rgb565_to_r8" />
+<Test name="rgb565_to_rgba32f" />
+<Test name="rgb565_to_rgba16f" />
+<Test name="rgb565_to_r11f_g11f_b10f" />
+<Test name="rgb565_to_rg32f" />
+<Test name="rgb565_to_rg16f" />
+<Test name="rgb565_to_r32f" />
+<Test name="rgb565_to_r16f" />
+<Test name="rg32i_to_rgba32i" />
+<Test name="rg32i_to_rgba16i" />
+<Test name="rg32i_to_rgba8i" />
+<Test name="rg32i_to_rg32i" />
+<Test name="rg32i_to_rg16i" />
+<Test name="rg32i_to_rg8i" />
+<Test name="rg32i_to_r32i" />
+<Test name="rg32i_to_r16i" />
+<Test name="rg32i_to_r8i" />
+<Test name="rg32ui_to_rgba32ui" />
+<Test name="rg32ui_to_rgba16ui" />
+<Test name="rg32ui_to_rgba8ui" />
+<Test name="rg32ui_to_rgb10_a2ui" />
+<Test name="rg32ui_to_rg32ui" />
+<Test name="rg32ui_to_rg16ui" />
+<Test name="rg32ui_to_rg8ui" />
+<Test name="rg32ui_to_r32ui" />
+<Test name="rg32ui_to_r16ui" />
+<Test name="rg32ui_to_r8ui" />
+<Test name="rg16i_to_rgba32i" />
+<Test name="rg16i_to_rgba16i" />
+<Test name="rg16i_to_rgba8i" />
+<Test name="rg16i_to_rg32i" />
+<Test name="rg16i_to_rg16i" />
+<Test name="rg16i_to_rg8i" />
+<Test name="rg16i_to_r32i" />
+<Test name="rg16i_to_r16i" />
+<Test name="rg16i_to_r8i" />
+<Test name="rg16ui_to_rgba32ui" />
+<Test name="rg16ui_to_rgba16ui" />
+<Test name="rg16ui_to_rgba8ui" />
+<Test name="rg16ui_to_rgb10_a2ui" />
+<Test name="rg16ui_to_rg32ui" />
+<Test name="rg16ui_to_rg16ui" />
+<Test name="rg16ui_to_rg8ui" />
+<Test name="rg16ui_to_r32ui" />
+<Test name="rg16ui_to_r16ui" />
+<Test name="rg16ui_to_r8ui" />
+<Test name="rg8_to_rgba8" />
+<Test name="rg8_to_srgb8_alpha8" />
+<Test name="rg8_to_rgb10_a2" />
+<Test name="rg8_to_rgba4" />
+<Test name="rg8_to_rgb5_a1" />
+<Test name="rg8_to_rgb8" />
+<Test name="rg8_to_rgb565" />
+<Test name="rg8_to_rg8" />
+<Test name="rg8_to_r8" />
+<Test name="rg8_to_rgba32f" />
+<Test name="rg8_to_rgba16f" />
+<Test name="rg8_to_r11f_g11f_b10f" />
+<Test name="rg8_to_rg32f" />
+<Test name="rg8_to_rg16f" />
+<Test name="rg8_to_r32f" />
+<Test name="rg8_to_r16f" />
+<Test name="rg8i_to_rgba32i" />
+<Test name="rg8i_to_rgba16i" />
+<Test name="rg8i_to_rgba8i" />
+<Test name="rg8i_to_rg32i" />
+<Test name="rg8i_to_rg16i" />
+<Test name="rg8i_to_rg8i" />
+<Test name="rg8i_to_r32i" />
+<Test name="rg8i_to_r16i" />
+<Test name="rg8i_to_r8i" />
+<Test name="rg8ui_to_rgba32ui" />
+<Test name="rg8ui_to_rgba16ui" />
+<Test name="rg8ui_to_rgba8ui" />
+<Test name="rg8ui_to_rgb10_a2ui" />
+<Test name="rg8ui_to_rg32ui" />
+<Test name="rg8ui_to_rg16ui" />
+<Test name="rg8ui_to_rg8ui" />
+<Test name="rg8ui_to_r32ui" />
+<Test name="rg8ui_to_r16ui" />
+<Test name="rg8ui_to_r8ui" />
+<Test name="r32i_to_rgba32i" />
+<Test name="r32i_to_rgba16i" />
+<Test name="r32i_to_rgba8i" />
+<Test name="r32i_to_rg32i" />
+<Test name="r32i_to_rg16i" />
+<Test name="r32i_to_rg8i" />
+<Test name="r32i_to_r32i" />
+<Test name="r32i_to_r16i" />
+<Test name="r32i_to_r8i" />
+<Test name="r32ui_to_rgba32ui" />
+<Test name="r32ui_to_rgba16ui" />
+<Test name="r32ui_to_rgba8ui" />
+<Test name="r32ui_to_rgb10_a2ui" />
+<Test name="r32ui_to_rg32ui" />
+<Test name="r32ui_to_rg16ui" />
+<Test name="r32ui_to_rg8ui" />
+<Test name="r32ui_to_r32ui" />
+<Test name="r32ui_to_r16ui" />
+<Test name="r32ui_to_r8ui" />
+<Test name="r16i_to_rgba32i" />
+<Test name="r16i_to_rgba16i" />
+<Test name="r16i_to_rgba8i" />
+<Test name="r16i_to_rg32i" />
+<Test name="r16i_to_rg16i" />
+<Test name="r16i_to_rg8i" />
+<Test name="r16i_to_r32i" />
+<Test name="r16i_to_r16i" />
+<Test name="r16i_to_r8i" />
+<Test name="r16ui_to_rgba32ui" />
+<Test name="r16ui_to_rgba16ui" />
+<Test name="r16ui_to_rgba8ui" />
+<Test name="r16ui_to_rgb10_a2ui" />
+<Test name="r16ui_to_rg32ui" />
+<Test name="r16ui_to_rg16ui" />
+<Test name="r16ui_to_rg8ui" />
+<Test name="r16ui_to_r32ui" />
+<Test name="r16ui_to_r16ui" />
+<Test name="r16ui_to_r8ui" />
+<Test name="r8_to_rgba8" />
+<Test name="r8_to_srgb8_alpha8" />
+<Test name="r8_to_rgb10_a2" />
+<Test name="r8_to_rgba4" />
+<Test name="r8_to_rgb5_a1" />
+<Test name="r8_to_rgb8" />
+<Test name="r8_to_rgb565" />
+<Test name="r8_to_rg8" />
+<Test name="r8_to_r8" />
+<Test name="r8_to_rgba32f" />
+<Test name="r8_to_rgba16f" />
+<Test name="r8_to_r11f_g11f_b10f" />
+<Test name="r8_to_rg32f" />
+<Test name="r8_to_rg16f" />
+<Test name="r8_to_r32f" />
+<Test name="r8_to_r16f" />
+<Test name="r8i_to_rgba32i" />
+<Test name="r8i_to_rgba16i" />
+<Test name="r8i_to_rgba8i" />
+<Test name="r8i_to_rg32i" />
+<Test name="r8i_to_rg16i" />
+<Test name="r8i_to_rg8i" />
+<Test name="r8i_to_r32i" />
+<Test name="r8i_to_r16i" />
+<Test name="r8i_to_r8i" />
+<Test name="r8ui_to_rgba32ui" />
+<Test name="r8ui_to_rgba16ui" />
+<Test name="r8ui_to_rgba8ui" />
+<Test name="r8ui_to_rgb10_a2ui" />
+<Test name="r8ui_to_rg32ui" />
+<Test name="r8ui_to_rg16ui" />
+<Test name="r8ui_to_rg8ui" />
+<Test name="r8ui_to_r32ui" />
+<Test name="r8ui_to_r16ui" />
+<Test name="r8ui_to_r8ui" />
+<Test name="rgba32f_to_rgba8" />
+<Test name="rgba32f_to_srgb8_alpha8" />
+<Test name="rgba32f_to_rgb10_a2" />
+<Test name="rgba32f_to_rgba4" />
+<Test name="rgba32f_to_rgb5_a1" />
+<Test name="rgba32f_to_rgb8" />
+<Test name="rgba32f_to_rgb565" />
+<Test name="rgba32f_to_rg8" />
+<Test name="rgba32f_to_r8" />
+<Test name="rgba32f_to_rgba32f" />
+<Test name="rgba32f_to_rgba16f" />
+<Test name="rgba32f_to_rg32f" />
+<Test name="rgba32f_to_rg16f" />
+<Test name="rgba32f_to_r32f" />
+<Test name="rgba32f_to_r16f" />
+<Test name="rgba16f_to_rgba8" />
+<Test name="rgba16f_to_srgb8_alpha8" />
+<Test name="rgba16f_to_rgb10_a2" />
+<Test name="rgba16f_to_rgba4" />
+<Test name="rgba16f_to_rgb5_a1" />
+<Test name="rgba16f_to_rgb8" />
+<Test name="rgba16f_to_rgb565" />
+<Test name="rgba16f_to_rg8" />
+<Test name="rgba16f_to_r8" />
+<Test name="rgba16f_to_rgba32f" />
+<Test name="rgba16f_to_rgba16f" />
+<Test name="rgba16f_to_rg32f" />
+<Test name="rgba16f_to_rg16f" />
+<Test name="rgba16f_to_r32f" />
+<Test name="rgba16f_to_r16f" />
+<Test name="r11f_g11f_b10f_to_srgb8_alpha8" />
+<Test name="r11f_g11f_b10f_to_rgba4" />
+<Test name="r11f_g11f_b10f_to_rgb5_a1" />
+<Test name="r11f_g11f_b10f_to_rgb565" />
+<Test name="r11f_g11f_b10f_to_rg8" />
+<Test name="r11f_g11f_b10f_to_r8" />
+<Test name="r11f_g11f_b10f_to_rg16f" />
+<Test name="r11f_g11f_b10f_to_r16f" />
+<Test name="rg32f_to_rgba8" />
+<Test name="rg32f_to_srgb8_alpha8" />
+<Test name="rg32f_to_rgb10_a2" />
+<Test name="rg32f_to_rgba4" />
+<Test name="rg32f_to_rgb5_a1" />
+<Test name="rg32f_to_rgb8" />
+<Test name="rg32f_to_rgb565" />
+<Test name="rg32f_to_rg8" />
+<Test name="rg32f_to_r8" />
+<Test name="rg32f_to_rgba32f" />
+<Test name="rg32f_to_rgba16f" />
+<Test name="rg32f_to_rg32f" />
+<Test name="rg32f_to_rg16f" />
+<Test name="rg32f_to_r32f" />
+<Test name="rg32f_to_r16f" />
+<Test name="rg16f_to_rgba8" />
+<Test name="rg16f_to_srgb8_alpha8" />
+<Test name="rg16f_to_rgb10_a2" />
+<Test name="rg16f_to_rgba4" />
+<Test name="rg16f_to_rgb5_a1" />
+<Test name="rg16f_to_rgb8" />
+<Test name="rg16f_to_rgb565" />
+<Test name="rg16f_to_rg8" />
+<Test name="rg16f_to_r8" />
+<Test name="rg16f_to_rgba32f" />
+<Test name="rg16f_to_rgba16f" />
+<Test name="rg16f_to_r11f_g11f_b10f" />
+<Test name="rg16f_to_rg32f" />
+<Test name="rg16f_to_rg16f" />
+<Test name="rg16f_to_r32f" />
+<Test name="rg16f_to_r16f" />
+<Test name="r32f_to_rgba8" />
+<Test name="r32f_to_srgb8_alpha8" />
+<Test name="r32f_to_rgb10_a2" />
+<Test name="r32f_to_rgba4" />
+<Test name="r32f_to_rgb5_a1" />
+<Test name="r32f_to_rgb8" />
+<Test name="r32f_to_rgb565" />
+<Test name="r32f_to_rg8" />
+<Test name="r32f_to_r8" />
+<Test name="r32f_to_rgba32f" />
+<Test name="r32f_to_rgba16f" />
+<Test name="r32f_to_rg32f" />
+<Test name="r32f_to_rg16f" />
+<Test name="r32f_to_r32f" />
+<Test name="r32f_to_r16f" />
+<Test name="r16f_to_rgba8" />
+<Test name="r16f_to_srgb8_alpha8" />
+<Test name="r16f_to_rgb10_a2" />
+<Test name="r16f_to_rgba4" />
+<Test name="r16f_to_rgb5_a1" />
+<Test name="r16f_to_rgb8" />
+<Test name="r16f_to_rgb565" />
+<Test name="r16f_to_rg8" />
+<Test name="r16f_to_r8" />
+<Test name="r16f_to_rgba32f" />
+<Test name="r16f_to_rgba16f" />
+<Test name="r16f_to_r11f_g11f_b10f" />
+<Test name="r16f_to_rg32f" />
+<Test name="r16f_to_rg16f" />
+<Test name="r16f_to_r32f" />
+<Test name="r16f_to_r16f" />
+</TestCase>
+<TestCase name="depth_stencil">
+<Test name="depth_component32f_basic" />
+<Test name="depth_component32f_scale" />
+<Test name="depth_component24_basic" />
+<Test name="depth_component24_scale" />
+<Test name="depth_component16_basic" />
+<Test name="depth_component16_scale" />
+<Test name="depth32f_stencil8_basic" />
+<Test name="depth32f_stencil8_scale" />
+<Test name="depth32f_stencil8_depth_only" />
+<Test name="depth32f_stencil8_stencil_only" />
+<Test name="depth24_stencil8_basic" />
+<Test name="depth24_stencil8_scale" />
+<Test name="depth24_stencil8_depth_only" />
+<Test name="depth24_stencil8_stencil_only" />
+<Test name="stencil_index8_basic" />
+<Test name="stencil_index8_scale" />
+</TestCase>
+<TestCase name="default_framebuffer">
+<Test name="rgb10_a2" />
+<Test name="rgb5_a1" />
+<Test name="rg8" />
+<Test name="rgba32f" />
+<Test name="rgba16f" />
+<Test name="r11f_g11f_b10f" />
+<Test name="rg32f" />
+<Test name="rg16f" />
+<Test name="r32f" />
+<Test name="r16f" />
+</TestCase>
+</TestSuite>
+<TestSuite name="msaa">
+<TestCase name="2_samples">
+<Test name="rgba8" />
+<Test name="srgb8_alpha8" />
+<Test name="rgb10_a2" />
+<Test name="rgba4" />
+<Test name="rgb5_a1" />
+<Test name="rgb8" />
+<Test name="rgb565" />
+<Test name="rg8" />
+<Test name="r8" />
+<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="depth_component32f" />
+<Test name="depth_component24" />
+<Test name="depth_component16" />
+<Test name="depth32f_stencil8" />
+<Test name="depth24_stencil8" />
+<Test name="stencil_index8" />
+</TestCase>
+<TestCase name="4_samples">
+<Test name="rgba8" />
+<Test name="srgb8_alpha8" />
+<Test name="rgb10_a2" />
+<Test name="rgba4" />
+<Test name="rgb5_a1" />
+<Test name="rgb8" />
+<Test name="rgb565" />
+<Test name="rg8" />
+<Test name="r8" />
+<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="depth_component32f" />
+<Test name="depth_component24" />
+<Test name="depth_component16" />
+<Test name="depth32f_stencil8" />
+<Test name="depth24_stencil8" />
+<Test name="stencil_index8" />
+</TestCase>
+<TestCase name="8_samples">
+<Test name="rgba8" />
+<Test name="srgb8_alpha8" />
+<Test name="rgb10_a2" />
+<Test name="rgba4" />
+<Test name="rgb5_a1" />
+<Test name="rgb8" />
+<Test name="rgb565" />
+<Test name="rg8" />
+<Test name="r8" />
+<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="depth_component32f" />
+<Test name="depth_component24" />
+<Test name="depth_component16" />
+<Test name="depth32f_stencil8" />
+<Test name="depth24_stencil8" />
+<Test name="stencil_index8" />
+</TestCase>
+</TestSuite>
+<TestSuite name="invalidate">
+<TestCase name="default">
+<Test name="render_none" />
+<Test name="render_color" />
+<Test name="render_depth" />
+<Test name="render_stencil" />
+<Test name="render_depth_stencil" />
+<Test name="render_all" />
+<Test name="bind_color" />
+<Test name="bind_depth" />
+<Test name="bind_stencil" />
+<Test name="bind_depth_stencil" />
+<Test name="bind_all" />
+<Test name="sub_render_color" />
+<Test name="sub_render_depth" />
+<Test name="sub_render_stencil" />
+<Test name="sub_render_depth_stencil" />
+<Test name="sub_render_all" />
+<Test name="sub_bind_color" />
+<Test name="sub_bind_depth" />
+<Test name="sub_bind_stencil" />
+<Test name="sub_bind_depth_stencil" />
+<Test name="sub_bind_all" />
+<Test name="draw_framebuffer_color" />
+<Test name="draw_framebuffer_all" />
+<Test name="read_framebuffer_color" />
+<Test name="read_framebuffer_all" />
+</TestCase>
+<TestCase name="whole">
+<Test name="render_none" />
+<Test name="render_color" />
+<Test name="render_depth" />
+<Test name="render_stencil" />
+<Test name="render_depth_stencil" />
+<Test name="render_all" />
+<Test name="unbind_read_color" />
+<Test name="unbind_read_depth" />
+<Test name="unbind_read_stencil" />
+<Test name="unbind_read_depth_stencil" />
+<Test name="unbind_read_color_stencil" />
+<Test name="unbind_blit_color" />
+<Test name="unbind_blit_depth_stencil" />
+<Test name="unbind_blit_msaa_color" />
+<Test name="unbind_blit_msaa_depth_stencil" />
+</TestCase>
+<TestCase name="sub">
+<Test name="render_none" />
+<Test name="render_color" />
+<Test name="render_depth" />
+<Test name="render_stencil" />
+<Test name="render_depth_stencil" />
+<Test name="render_all" />
+<Test name="unbind_read_color" />
+<Test name="unbind_read_depth" />
+<Test name="unbind_read_stencil" />
+<Test name="unbind_read_depth_stencil" />
+<Test name="unbind_read_color_stencil" />
+<Test name="unbind_blit_color" />
+<Test name="unbind_blit_depth" />
+<Test name="unbind_blit_depth_stencil" />
+<Test name="unbind_blit_msaa_color" />
+<Test name="unbind_blit_msaa_depth" />
+<Test name="unbind_blit_msaa_stencil" />
+<Test name="unbind_blit_msaa_depth_stencil" />
+</TestCase>
+<TestCase name="format">
+<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="depth_component32f" />
+<Test name="depth_component24" />
+<Test name="depth_component16" />
+<Test name="depth32f_stencil8" />
+<Test name="depth24_stencil8" />
+<Test name="stencil_index8" />
+</TestCase>
+<TestCase name="target">
+<Test name="framebuffer_framebuffer_color" />
+<Test name="framebuffer_framebuffer_depth_stencil" />
+<Test name="framebuffer_framebuffer_all" />
+<Test name="framebuffer_read_framebuffer_color" />
+<Test name="framebuffer_read_framebuffer_depth_stencil" />
+<Test name="framebuffer_read_framebuffer_all" />
+<Test name="framebuffer_draw_framebuffer_color" />
+<Test name="framebuffer_draw_framebuffer_depth_stencil" />
+<Test name="framebuffer_draw_framebuffer_all" />
+<Test name="read_framebuffer_framebuffer_color" />
+<Test name="read_framebuffer_framebuffer_depth_stencil" />
+<Test name="read_framebuffer_framebuffer_all" />
+<Test name="read_framebuffer_read_framebuffer_color" />
+<Test name="read_framebuffer_read_framebuffer_depth_stencil" />
+<Test name="read_framebuffer_read_framebuffer_all" />
+<Test name="read_framebuffer_draw_framebuffer_color" />
+<Test name="read_framebuffer_draw_framebuffer_depth_stencil" />
+<Test name="read_framebuffer_draw_framebuffer_all" />
+<Test name="draw_framebuffer_framebuffer_color" />
+<Test name="draw_framebuffer_framebuffer_depth_stencil" />
+<Test name="draw_framebuffer_framebuffer_all" />
+<Test name="draw_framebuffer_read_framebuffer_color" />
+<Test name="draw_framebuffer_read_framebuffer_depth_stencil" />
+<Test name="draw_framebuffer_read_framebuffer_all" />
+<Test name="draw_framebuffer_draw_framebuffer_color" />
+<Test name="draw_framebuffer_draw_framebuffer_depth_stencil" />
+<Test name="draw_framebuffer_draw_framebuffer_all" />
+</TestCase>
+</TestSuite>
+</TestSuite>
+<TestSuite name="vertex_arrays">
+<TestSuite name="single_attribute">
+<TestSuite name="strides">
+<TestCase name="float">
+<Test name="user_ptr_stride8_components2_quads1" />
+<Test name="user_ptr_stride17_components2_quads1" />
+<Test name="user_ptr_stride32_components2_quads1" />
+<Test name="user_ptr_stride8_components2_quads256" />
+<Test name="user_ptr_stride17_components2_quads256" />
+<Test name="user_ptr_stride32_components2_quads256" />
+<Test name="user_ptr_stride12_components3_quads1" />
+<Test name="user_ptr_stride17_components3_quads1" />
+<Test name="user_ptr_stride32_components3_quads1" />
+<Test name="user_ptr_stride12_components3_quads256" />
+<Test name="user_ptr_stride17_components3_quads256" />
+<Test name="user_ptr_stride32_components3_quads256" />
+<Test name="user_ptr_stride16_components4_quads1" />
+<Test name="user_ptr_stride17_components4_quads1" />
+<Test name="user_ptr_stride32_components4_quads1" />
+<Test name="user_ptr_stride16_components4_quads256" />
+<Test name="user_ptr_stride17_components4_quads256" />
+<Test name="user_ptr_stride32_components4_quads256" />
+<Test name="buffer_stride8_components2_quads1" />
+<Test name="buffer_stride32_components2_quads1" />
+<Test name="buffer_stride8_components2_quads256" />
+<Test name="buffer_stride32_components2_quads256" />
+<Test name="buffer_stride12_components3_quads1" />
+<Test name="buffer_stride32_components3_quads1" />
+<Test name="buffer_stride12_components3_quads256" />
+<Test name="buffer_stride32_components3_quads256" />
+<Test name="buffer_stride16_components4_quads1" />
+<Test name="buffer_stride32_components4_quads1" />
+<Test name="buffer_stride16_components4_quads256" />
+<Test name="buffer_stride32_components4_quads256" />
+</TestCase>
+<TestCase name="short">
+<Test name="user_ptr_stride4_components2_quads1" />
+<Test name="user_ptr_stride17_components2_quads1" />
+<Test name="user_ptr_stride32_components2_quads1" />
+<Test name="user_ptr_stride4_components2_quads256" />
+<Test name="user_ptr_stride17_components2_quads256" />
+<Test name="user_ptr_stride32_components2_quads256" />
+<Test name="user_ptr_stride6_components3_quads1" />
+<Test name="user_ptr_stride17_components3_quads1" />
+<Test name="user_ptr_stride32_components3_quads1" />
+<Test name="user_ptr_stride6_components3_quads256" />
+<Test name="user_ptr_stride17_components3_quads256" />
+<Test name="user_ptr_stride32_components3_quads256" />
+<Test name="user_ptr_stride8_components4_quads1" />
+<Test name="user_ptr_stride17_components4_quads1" />
+<Test name="user_ptr_stride32_components4_quads1" />
+<Test name="user_ptr_stride8_components4_quads256" />
+<Test name="user_ptr_stride17_components4_quads256" />
+<Test name="user_ptr_stride32_components4_quads256" />
+<Test name="buffer_stride4_components2_quads1" />
+<Test name="buffer_stride32_components2_quads1" />
+<Test name="buffer_stride4_components2_quads256" />
+<Test name="buffer_stride32_components2_quads256" />
+<Test name="buffer_stride6_components3_quads1" />
+<Test name="buffer_stride32_components3_quads1" />
+<Test name="buffer_stride6_components3_quads256" />
+<Test name="buffer_stride32_components3_quads256" />
+<Test name="buffer_stride8_components4_quads1" />
+<Test name="buffer_stride32_components4_quads1" />
+<Test name="buffer_stride8_components4_quads256" />
+<Test name="buffer_stride32_components4_quads256" />
+</TestCase>
+<TestCase name="byte">
+<Test name="user_ptr_stride2_components2_quads1" />
+<Test name="user_ptr_stride17_components2_quads1" />
+<Test name="user_ptr_stride32_components2_quads1" />
+<Test name="user_ptr_stride2_components2_quads256" />
+<Test name="user_ptr_stride17_components2_quads256" />
+<Test name="user_ptr_stride32_components2_quads256" />
+<Test name="user_ptr_stride3_components3_quads1" />
+<Test name="user_ptr_stride17_components3_quads1" />
+<Test name="user_ptr_stride32_components3_quads1" />
+<Test name="user_ptr_stride3_components3_quads256" />
+<Test name="user_ptr_stride17_components3_quads256" />
+<Test name="user_ptr_stride32_components3_quads256" />
+<Test name="user_ptr_stride4_components4_quads1" />
+<Test name="user_ptr_stride17_components4_quads1" />
+<Test name="user_ptr_stride32_components4_quads1" />
+<Test name="user_ptr_stride4_components4_quads256" />
+<Test name="user_ptr_stride17_components4_quads256" />
+<Test name="user_ptr_stride32_components4_quads256" />
+<Test name="buffer_stride2_components2_quads1" />
+<Test name="buffer_stride17_components2_quads1" />
+<Test name="buffer_stride32_components2_quads1" />
+<Test name="buffer_stride2_components2_quads256" />
+<Test name="buffer_stride17_components2_quads256" />
+<Test name="buffer_stride32_components2_quads256" />
+<Test name="buffer_stride3_components3_quads1" />
+<Test name="buffer_stride17_components3_quads1" />
+<Test name="buffer_stride32_components3_quads1" />
+<Test name="buffer_stride3_components3_quads256" />
+<Test name="buffer_stride17_components3_quads256" />
+<Test name="buffer_stride32_components3_quads256" />
+<Test name="buffer_stride4_components4_quads1" />
+<Test name="buffer_stride17_components4_quads1" />
+<Test name="buffer_stride32_components4_quads1" />
+<Test name="buffer_stride4_components4_quads256" />
+<Test name="buffer_stride17_components4_quads256" />
+<Test name="buffer_stride32_components4_quads256" />
+</TestCase>
+<TestCase name="fixed">
+<Test name="user_ptr_stride8_components2_quads1" />
+<Test name="user_ptr_stride17_components2_quads1" />
+<Test name="user_ptr_stride32_components2_quads1" />
+<Test name="user_ptr_stride8_components2_quads256" />
+<Test name="user_ptr_stride17_components2_quads256" />
+<Test name="user_ptr_stride32_components2_quads256" />
+<Test name="user_ptr_stride12_components3_quads1" />
+<Test name="user_ptr_stride17_components3_quads1" />
+<Test name="user_ptr_stride32_components3_quads1" />
+<Test name="user_ptr_stride12_components3_quads256" />
+<Test name="user_ptr_stride17_components3_quads256" />
+<Test name="user_ptr_stride32_components3_quads256" />
+<Test name="user_ptr_stride16_components4_quads1" />
+<Test name="user_ptr_stride17_components4_quads1" />
+<Test name="user_ptr_stride32_components4_quads1" />
+<Test name="user_ptr_stride16_components4_quads256" />
+<Test name="user_ptr_stride17_components4_quads256" />
+<Test name="user_ptr_stride32_components4_quads256" />
+<Test name="buffer_stride8_components2_quads1" />
+<Test name="buffer_stride32_components2_quads1" />
+<Test name="buffer_stride8_components2_quads256" />
+<Test name="buffer_stride32_components2_quads256" />
+<Test name="buffer_stride12_components3_quads1" />
+<Test name="buffer_stride32_components3_quads1" />
+<Test name="buffer_stride12_components3_quads256" />
+<Test name="buffer_stride32_components3_quads256" />
+<Test name="buffer_stride16_components4_quads1" />
+<Test name="buffer_stride32_components4_quads1" />
+<Test name="buffer_stride16_components4_quads256" />
+<Test name="buffer_stride32_components4_quads256" />
+</TestCase>
+<TestCase name="int2_10_10_10">
+<Test name="user_ptr_stride16_components4_quads1" />
+<Test name="user_ptr_stride17_components4_quads1" />
+<Test name="user_ptr_stride32_components4_quads1" />
+<Test name="user_ptr_stride16_components4_quads256" />
+<Test name="user_ptr_stride17_components4_quads256" />
+<Test name="user_ptr_stride32_components4_quads256" />
+<Test name="buffer_stride16_components4_quads1" />
+<Test name="buffer_stride32_components4_quads1" />
+<Test name="buffer_stride16_components4_quads256" />
+<Test name="buffer_stride32_components4_quads256" />
+</TestCase>
+</TestSuite>
+<TestSuite name="normalize">
+<TestCase name="float">
+<Test name="components2_quads1" />
+<Test name="components2_quads256" />
+<Test name="components3_quads1" />
+<Test name="components3_quads256" />
+<Test name="components4_quads1" />
+<Test name="components4_quads256" />
+</TestCase>
+<TestCase name="short">
+<Test name="components2_quads1" />
+<Test name="components2_quads256" />
+<Test name="components3_quads1" />
+<Test name="components3_quads256" />
+<Test name="components4_quads1" />
+<Test name="components4_quads256" />
+</TestCase>
+<TestCase name="byte">
+<Test name="components2_quads1" />
+<Test name="components2_quads256" />
+<Test name="components3_quads1" />
+<Test name="components3_quads256" />
+<Test name="components4_quads1" />
+<Test name="components4_quads256" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="components2_quads1" />
+<Test name="components2_quads256" />
+<Test name="components3_quads1" />
+<Test name="components3_quads256" />
+<Test name="components4_quads1" />
+<Test name="components4_quads256" />
+</TestCase>
+<TestCase name="unsigned_byte">
+<Test name="components2_quads1" />
+<Test name="components2_quads256" />
+<Test name="components3_quads1" />
+<Test name="components3_quads256" />
+<Test name="components4_quads1" />
+<Test name="components4_quads256" />
+</TestCase>
+<TestCase name="fixed">
+<Test name="components2_quads1" />
+<Test name="components2_quads256" />
+<Test name="components3_quads1" />
+<Test name="components3_quads256" />
+<Test name="components4_quads1" />
+<Test name="components4_quads256" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="components2_quads1" />
+<Test name="components2_quads256" />
+<Test name="components3_quads1" />
+<Test name="components3_quads256" />
+<Test name="components4_quads1" />
+<Test name="components4_quads256" />
+</TestCase>
+<TestCase name="int">
+<Test name="components2_quads1" />
+<Test name="components2_quads256" />
+<Test name="components3_quads1" />
+<Test name="components3_quads256" />
+<Test name="components4_quads1" />
+<Test name="components4_quads256" />
+</TestCase>
+<TestCase name="half">
+<Test name="components2_quads1" />
+<Test name="components2_quads256" />
+<Test name="components3_quads1" />
+<Test name="components3_quads256" />
+<Test name="components4_quads1" />
+<Test name="components4_quads256" />
+</TestCase>
+<TestCase name="usigned_int2_10_10_10">
+<Test name="components4_quads1" />
+<Test name="components4_quads256" />
+</TestCase>
+<TestCase name="int2_10_10_10">
+<Test name="components4_quads1" />
+<Test name="components4_quads256" />
+</TestCase>
+</TestSuite>
+<TestSuite name="output_types">
+<TestCase name="float">
+<Test name="components2_vec2_quads1" />
+<Test name="components2_vec2_quads256" />
+<Test name="components3_vec2_quads1" />
+<Test name="components3_vec2_quads256" />
+<Test name="components4_vec2_quads1" />
+<Test name="components4_vec2_quads256" />
+<Test name="components2_vec3_quads1" />
+<Test name="components2_vec3_quads256" />
+<Test name="components3_vec3_quads1" />
+<Test name="components3_vec3_quads256" />
+<Test name="components4_vec3_quads1" />
+<Test name="components4_vec3_quads256" />
+<Test name="components2_vec4_quads1" />
+<Test name="components2_vec4_quads256" />
+<Test name="components3_vec4_quads1" />
+<Test name="components3_vec4_quads256" />
+<Test name="components4_vec4_quads1" />
+<Test name="components4_vec4_quads256" />
+</TestCase>
+<TestCase name="short">
+<Test name="components2_vec2_quads1" />
+<Test name="components2_vec2_quads256" />
+<Test name="components3_vec2_quads1" />
+<Test name="components3_vec2_quads256" />
+<Test name="components4_vec2_quads1" />
+<Test name="components4_vec2_quads256" />
+<Test name="components2_vec3_quads1" />
+<Test name="components2_vec3_quads256" />
+<Test name="components3_vec3_quads1" />
+<Test name="components3_vec3_quads256" />
+<Test name="components4_vec3_quads1" />
+<Test name="components4_vec3_quads256" />
+<Test name="components2_vec4_quads1" />
+<Test name="components2_vec4_quads256" />
+<Test name="components3_vec4_quads1" />
+<Test name="components3_vec4_quads256" />
+<Test name="components4_vec4_quads1" />
+<Test name="components4_vec4_quads256" />
+<Test name="components2_ivec2_quads1" />
+<Test name="components2_ivec2_quads256" />
+<Test name="components3_ivec2_quads1" />
+<Test name="components3_ivec2_quads256" />
+<Test name="components4_ivec2_quads1" />
+<Test name="components4_ivec2_quads256" />
+<Test name="components2_ivec3_quads1" />
+<Test name="components2_ivec3_quads256" />
+<Test name="components3_ivec3_quads1" />
+<Test name="components3_ivec3_quads256" />
+<Test name="components4_ivec3_quads1" />
+<Test name="components4_ivec3_quads256" />
+<Test name="components2_ivec4_quads1" />
+<Test name="components2_ivec4_quads256" />
+<Test name="components3_ivec4_quads1" />
+<Test name="components3_ivec4_quads256" />
+<Test name="components4_ivec4_quads1" />
+<Test name="components4_ivec4_quads256" />
+</TestCase>
+<TestCase name="byte">
+<Test name="components2_vec2_quads1" />
+<Test name="components2_vec2_quads256" />
+<Test name="components3_vec2_quads1" />
+<Test name="components3_vec2_quads256" />
+<Test name="components4_vec2_quads1" />
+<Test name="components4_vec2_quads256" />
+<Test name="components2_vec3_quads1" />
+<Test name="components2_vec3_quads256" />
+<Test name="components3_vec3_quads1" />
+<Test name="components3_vec3_quads256" />
+<Test name="components4_vec3_quads1" />
+<Test name="components4_vec3_quads256" />
+<Test name="components2_vec4_quads1" />
+<Test name="components2_vec4_quads256" />
+<Test name="components3_vec4_quads1" />
+<Test name="components3_vec4_quads256" />
+<Test name="components4_vec4_quads1" />
+<Test name="components4_vec4_quads256" />
+<Test name="components2_ivec2_quads1" />
+<Test name="components2_ivec2_quads256" />
+<Test name="components3_ivec2_quads1" />
+<Test name="components3_ivec2_quads256" />
+<Test name="components4_ivec2_quads1" />
+<Test name="components4_ivec2_quads256" />
+<Test name="components2_ivec3_quads1" />
+<Test name="components2_ivec3_quads256" />
+<Test name="components3_ivec3_quads1" />
+<Test name="components3_ivec3_quads256" />
+<Test name="components4_ivec3_quads1" />
+<Test name="components4_ivec3_quads256" />
+<Test name="components2_ivec4_quads1" />
+<Test name="components2_ivec4_quads256" />
+<Test name="components3_ivec4_quads1" />
+<Test name="components3_ivec4_quads256" />
+<Test name="components4_ivec4_quads1" />
+<Test name="components4_ivec4_quads256" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="components2_vec2_quads1" />
+<Test name="components2_vec2_quads256" />
+<Test name="components3_vec2_quads1" />
+<Test name="components3_vec2_quads256" />
+<Test name="components4_vec2_quads1" />
+<Test name="components4_vec2_quads256" />
+<Test name="components2_vec3_quads1" />
+<Test name="components2_vec3_quads256" />
+<Test name="components3_vec3_quads1" />
+<Test name="components3_vec3_quads256" />
+<Test name="components4_vec3_quads1" />
+<Test name="components4_vec3_quads256" />
+<Test name="components2_vec4_quads1" />
+<Test name="components2_vec4_quads256" />
+<Test name="components3_vec4_quads1" />
+<Test name="components3_vec4_quads256" />
+<Test name="components4_vec4_quads1" />
+<Test name="components4_vec4_quads256" />
+<Test name="components2_uvec2_quads1" />
+<Test name="components2_uvec2_quads256" />
+<Test name="components3_uvec2_quads1" />
+<Test name="components3_uvec2_quads256" />
+<Test name="components4_uvec2_quads1" />
+<Test name="components4_uvec2_quads256" />
+<Test name="components2_uvec3_quads1" />
+<Test name="components2_uvec3_quads256" />
+<Test name="components3_uvec3_quads1" />
+<Test name="components3_uvec3_quads256" />
+<Test name="components4_uvec3_quads1" />
+<Test name="components4_uvec3_quads256" />
+<Test name="components2_uvec4_quads1" />
+<Test name="components2_uvec4_quads256" />
+<Test name="components3_uvec4_quads1" />
+<Test name="components3_uvec4_quads256" />
+<Test name="components4_uvec4_quads1" />
+<Test name="components4_uvec4_quads256" />
+</TestCase>
+<TestCase name="unsigned_byte">
+<Test name="components2_vec2_quads1" />
+<Test name="components2_vec2_quads256" />
+<Test name="components3_vec2_quads1" />
+<Test name="components3_vec2_quads256" />
+<Test name="components4_vec2_quads1" />
+<Test name="components4_vec2_quads256" />
+<Test name="components2_vec3_quads1" />
+<Test name="components2_vec3_quads256" />
+<Test name="components3_vec3_quads1" />
+<Test name="components3_vec3_quads256" />
+<Test name="components4_vec3_quads1" />
+<Test name="components4_vec3_quads256" />
+<Test name="components2_vec4_quads1" />
+<Test name="components2_vec4_quads256" />
+<Test name="components3_vec4_quads1" />
+<Test name="components3_vec4_quads256" />
+<Test name="components4_vec4_quads1" />
+<Test name="components4_vec4_quads256" />
+<Test name="components2_uvec2_quads1" />
+<Test name="components2_uvec2_quads256" />
+<Test name="components3_uvec2_quads1" />
+<Test name="components3_uvec2_quads256" />
+<Test name="components4_uvec2_quads1" />
+<Test name="components4_uvec2_quads256" />
+<Test name="components2_uvec3_quads1" />
+<Test name="components2_uvec3_quads256" />
+<Test name="components3_uvec3_quads1" />
+<Test name="components3_uvec3_quads256" />
+<Test name="components4_uvec3_quads1" />
+<Test name="components4_uvec3_quads256" />
+<Test name="components2_uvec4_quads1" />
+<Test name="components2_uvec4_quads256" />
+<Test name="components3_uvec4_quads1" />
+<Test name="components3_uvec4_quads256" />
+<Test name="components4_uvec4_quads1" />
+<Test name="components4_uvec4_quads256" />
+</TestCase>
+<TestCase name="fixed">
+<Test name="components2_vec2_quads1" />
+<Test name="components2_vec2_quads256" />
+<Test name="components3_vec2_quads1" />
+<Test name="components3_vec2_quads256" />
+<Test name="components4_vec2_quads1" />
+<Test name="components4_vec2_quads256" />
+<Test name="components2_vec3_quads1" />
+<Test name="components2_vec3_quads256" />
+<Test name="components3_vec3_quads1" />
+<Test name="components3_vec3_quads256" />
+<Test name="components4_vec3_quads1" />
+<Test name="components4_vec3_quads256" />
+<Test name="components2_vec4_quads1" />
+<Test name="components2_vec4_quads256" />
+<Test name="components3_vec4_quads1" />
+<Test name="components3_vec4_quads256" />
+<Test name="components4_vec4_quads1" />
+<Test name="components4_vec4_quads256" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="components2_vec2_quads1" />
+<Test name="components2_vec2_quads256" />
+<Test name="components3_vec2_quads1" />
+<Test name="components3_vec2_quads256" />
+<Test name="components4_vec2_quads1" />
+<Test name="components4_vec2_quads256" />
+<Test name="components2_vec3_quads1" />
+<Test name="components2_vec3_quads256" />
+<Test name="components3_vec3_quads1" />
+<Test name="components3_vec3_quads256" />
+<Test name="components4_vec3_quads1" />
+<Test name="components4_vec3_quads256" />
+<Test name="components2_vec4_quads1" />
+<Test name="components2_vec4_quads256" />
+<Test name="components3_vec4_quads1" />
+<Test name="components3_vec4_quads256" />
+<Test name="components4_vec4_quads1" />
+<Test name="components4_vec4_quads256" />
+<Test name="components2_uvec2_quads1" />
+<Test name="components2_uvec2_quads256" />
+<Test name="components3_uvec2_quads1" />
+<Test name="components3_uvec2_quads256" />
+<Test name="components4_uvec2_quads1" />
+<Test name="components4_uvec2_quads256" />
+<Test name="components2_uvec3_quads1" />
+<Test name="components2_uvec3_quads256" />
+<Test name="components3_uvec3_quads1" />
+<Test name="components3_uvec3_quads256" />
+<Test name="components4_uvec3_quads1" />
+<Test name="components4_uvec3_quads256" />
+<Test name="components2_uvec4_quads1" />
+<Test name="components2_uvec4_quads256" />
+<Test name="components3_uvec4_quads1" />
+<Test name="components3_uvec4_quads256" />
+<Test name="components4_uvec4_quads1" />
+<Test name="components4_uvec4_quads256" />
+</TestCase>
+<TestCase name="int">
+<Test name="components2_vec2_quads1" />
+<Test name="components2_vec2_quads256" />
+<Test name="components3_vec2_quads1" />
+<Test name="components3_vec2_quads256" />
+<Test name="components4_vec2_quads1" />
+<Test name="components4_vec2_quads256" />
+<Test name="components2_vec3_quads1" />
+<Test name="components2_vec3_quads256" />
+<Test name="components3_vec3_quads1" />
+<Test name="components3_vec3_quads256" />
+<Test name="components4_vec3_quads1" />
+<Test name="components4_vec3_quads256" />
+<Test name="components2_vec4_quads1" />
+<Test name="components2_vec4_quads256" />
+<Test name="components3_vec4_quads1" />
+<Test name="components3_vec4_quads256" />
+<Test name="components4_vec4_quads1" />
+<Test name="components4_vec4_quads256" />
+<Test name="components2_ivec2_quads1" />
+<Test name="components2_ivec2_quads256" />
+<Test name="components3_ivec2_quads1" />
+<Test name="components3_ivec2_quads256" />
+<Test name="components4_ivec2_quads1" />
+<Test name="components4_ivec2_quads256" />
+<Test name="components2_ivec3_quads1" />
+<Test name="components2_ivec3_quads256" />
+<Test name="components3_ivec3_quads1" />
+<Test name="components3_ivec3_quads256" />
+<Test name="components4_ivec3_quads1" />
+<Test name="components4_ivec3_quads256" />
+<Test name="components2_ivec4_quads1" />
+<Test name="components2_ivec4_quads256" />
+<Test name="components3_ivec4_quads1" />
+<Test name="components3_ivec4_quads256" />
+<Test name="components4_ivec4_quads1" />
+<Test name="components4_ivec4_quads256" />
+</TestCase>
+<TestCase name="half">
+<Test name="components2_vec2_quads1" />
+<Test name="components2_vec2_quads256" />
+<Test name="components3_vec2_quads1" />
+<Test name="components3_vec2_quads256" />
+<Test name="components4_vec2_quads1" />
+<Test name="components4_vec2_quads256" />
+<Test name="components2_vec3_quads1" />
+<Test name="components2_vec3_quads256" />
+<Test name="components3_vec3_quads1" />
+<Test name="components3_vec3_quads256" />
+<Test name="components4_vec3_quads1" />
+<Test name="components4_vec3_quads256" />
+<Test name="components2_vec4_quads1" />
+<Test name="components2_vec4_quads256" />
+<Test name="components3_vec4_quads1" />
+<Test name="components3_vec4_quads256" />
+<Test name="components4_vec4_quads1" />
+<Test name="components4_vec4_quads256" />
+</TestCase>
+<TestCase name="usigned_int2_10_10_10">
+<Test name="components4_vec2_quads1" />
+<Test name="components4_vec2_quads256" />
+<Test name="components4_vec3_quads1" />
+<Test name="components4_vec3_quads256" />
+<Test name="components4_vec4_quads1" />
+<Test name="components4_vec4_quads256" />
+</TestCase>
+<TestCase name="int2_10_10_10">
+<Test name="components4_vec2_quads1" />
+<Test name="components4_vec2_quads256" />
+<Test name="components4_vec3_quads1" />
+<Test name="components4_vec3_quads256" />
+<Test name="components4_vec4_quads1" />
+<Test name="components4_vec4_quads256" />
+</TestCase>
+</TestSuite>
+<TestSuite name="usages">
+<TestCase name="static_draw">
+<Test name="stride0_float_quads1" />
+<Test name="stride8_float_quads1" />
+<Test name="stride32_float_quads1" />
+<Test name="stride0_float_quads256" />
+<Test name="stride8_float_quads256" />
+<Test name="stride32_float_quads256" />
+<Test name="stride0_fixed_quads1" />
+<Test name="stride8_fixed_quads1" />
+<Test name="stride32_fixed_quads1" />
+<Test name="stride0_fixed_quads256" />
+<Test name="stride8_fixed_quads256" />
+<Test name="stride32_fixed_quads256" />
+<Test name="stride0_short_quads1" />
+<Test name="stride4_short_quads1" />
+<Test name="stride32_short_quads1" />
+<Test name="stride0_short_quads256" />
+<Test name="stride4_short_quads256" />
+<Test name="stride32_short_quads256" />
+<Test name="stride0_byte_quads1" />
+<Test name="stride2_byte_quads1" />
+<Test name="stride17_byte_quads1" />
+<Test name="stride32_byte_quads1" />
+<Test name="stride0_byte_quads256" />
+<Test name="stride2_byte_quads256" />
+<Test name="stride17_byte_quads256" />
+<Test name="stride32_byte_quads256" />
+</TestCase>
+<TestCase name="stream_draw">
+<Test name="stride0_float_quads1" />
+<Test name="stride8_float_quads1" />
+<Test name="stride32_float_quads1" />
+<Test name="stride0_float_quads256" />
+<Test name="stride8_float_quads256" />
+<Test name="stride32_float_quads256" />
+<Test name="stride0_fixed_quads1" />
+<Test name="stride8_fixed_quads1" />
+<Test name="stride32_fixed_quads1" />
+<Test name="stride0_fixed_quads256" />
+<Test name="stride8_fixed_quads256" />
+<Test name="stride32_fixed_quads256" />
+<Test name="stride0_short_quads1" />
+<Test name="stride4_short_quads1" />
+<Test name="stride32_short_quads1" />
+<Test name="stride0_short_quads256" />
+<Test name="stride4_short_quads256" />
+<Test name="stride32_short_quads256" />
+<Test name="stride0_byte_quads1" />
+<Test name="stride2_byte_quads1" />
+<Test name="stride17_byte_quads1" />
+<Test name="stride32_byte_quads1" />
+<Test name="stride0_byte_quads256" />
+<Test name="stride2_byte_quads256" />
+<Test name="stride17_byte_quads256" />
+<Test name="stride32_byte_quads256" />
+</TestCase>
+<TestCase name="dynamic_draw">
+<Test name="stride0_float_quads1" />
+<Test name="stride8_float_quads1" />
+<Test name="stride32_float_quads1" />
+<Test name="stride0_float_quads256" />
+<Test name="stride8_float_quads256" />
+<Test name="stride32_float_quads256" />
+<Test name="stride0_fixed_quads1" />
+<Test name="stride8_fixed_quads1" />
+<Test name="stride32_fixed_quads1" />
+<Test name="stride0_fixed_quads256" />
+<Test name="stride8_fixed_quads256" />
+<Test name="stride32_fixed_quads256" />
+<Test name="stride0_short_quads1" />
+<Test name="stride4_short_quads1" />
+<Test name="stride32_short_quads1" />
+<Test name="stride0_short_quads256" />
+<Test name="stride4_short_quads256" />
+<Test name="stride32_short_quads256" />
+<Test name="stride0_byte_quads1" />
+<Test name="stride2_byte_quads1" />
+<Test name="stride17_byte_quads1" />
+<Test name="stride32_byte_quads1" />
+<Test name="stride0_byte_quads256" />
+<Test name="stride2_byte_quads256" />
+<Test name="stride17_byte_quads256" />
+<Test name="stride32_byte_quads256" />
+</TestCase>
+<TestCase name="static_copy">
+<Test name="stride0_float_quads1" />
+<Test name="stride8_float_quads1" />
+<Test name="stride32_float_quads1" />
+<Test name="stride0_float_quads256" />
+<Test name="stride8_float_quads256" />
+<Test name="stride32_float_quads256" />
+<Test name="stride0_fixed_quads1" />
+<Test name="stride8_fixed_quads1" />
+<Test name="stride32_fixed_quads1" />
+<Test name="stride0_fixed_quads256" />
+<Test name="stride8_fixed_quads256" />
+<Test name="stride32_fixed_quads256" />
+<Test name="stride0_short_quads1" />
+<Test name="stride4_short_quads1" />
+<Test name="stride32_short_quads1" />
+<Test name="stride0_short_quads256" />
+<Test name="stride4_short_quads256" />
+<Test name="stride32_short_quads256" />
+<Test name="stride0_byte_quads1" />
+<Test name="stride2_byte_quads1" />
+<Test name="stride17_byte_quads1" />
+<Test name="stride32_byte_quads1" />
+<Test name="stride0_byte_quads256" />
+<Test name="stride2_byte_quads256" />
+<Test name="stride17_byte_quads256" />
+<Test name="stride32_byte_quads256" />
+</TestCase>
+<TestCase name="stream_copy">
+<Test name="stride0_float_quads1" />
+<Test name="stride8_float_quads1" />
+<Test name="stride32_float_quads1" />
+<Test name="stride0_float_quads256" />
+<Test name="stride8_float_quads256" />
+<Test name="stride32_float_quads256" />
+<Test name="stride0_fixed_quads1" />
+<Test name="stride8_fixed_quads1" />
+<Test name="stride32_fixed_quads1" />
+<Test name="stride0_fixed_quads256" />
+<Test name="stride8_fixed_quads256" />
+<Test name="stride32_fixed_quads256" />
+<Test name="stride0_short_quads1" />
+<Test name="stride4_short_quads1" />
+<Test name="stride32_short_quads1" />
+<Test name="stride0_short_quads256" />
+<Test name="stride4_short_quads256" />
+<Test name="stride32_short_quads256" />
+<Test name="stride0_byte_quads1" />
+<Test name="stride2_byte_quads1" />
+<Test name="stride17_byte_quads1" />
+<Test name="stride32_byte_quads1" />
+<Test name="stride0_byte_quads256" />
+<Test name="stride2_byte_quads256" />
+<Test name="stride17_byte_quads256" />
+<Test name="stride32_byte_quads256" />
+</TestCase>
+<TestCase name="dynamic_copy">
+<Test name="stride0_float_quads1" />
+<Test name="stride8_float_quads1" />
+<Test name="stride32_float_quads1" />
+<Test name="stride0_float_quads256" />
+<Test name="stride8_float_quads256" />
+<Test name="stride32_float_quads256" />
+<Test name="stride0_fixed_quads1" />
+<Test name="stride8_fixed_quads1" />
+<Test name="stride32_fixed_quads1" />
+<Test name="stride0_fixed_quads256" />
+<Test name="stride8_fixed_quads256" />
+<Test name="stride32_fixed_quads256" />
+<Test name="stride0_short_quads1" />
+<Test name="stride4_short_quads1" />
+<Test name="stride32_short_quads1" />
+<Test name="stride0_short_quads256" />
+<Test name="stride4_short_quads256" />
+<Test name="stride32_short_quads256" />
+<Test name="stride0_byte_quads1" />
+<Test name="stride2_byte_quads1" />
+<Test name="stride17_byte_quads1" />
+<Test name="stride32_byte_quads1" />
+<Test name="stride0_byte_quads256" />
+<Test name="stride2_byte_quads256" />
+<Test name="stride17_byte_quads256" />
+<Test name="stride32_byte_quads256" />
+</TestCase>
+<TestCase name="static_read">
+<Test name="stride0_float_quads1" />
+<Test name="stride8_float_quads1" />
+<Test name="stride32_float_quads1" />
+<Test name="stride0_float_quads256" />
+<Test name="stride8_float_quads256" />
+<Test name="stride32_float_quads256" />
+<Test name="stride0_fixed_quads1" />
+<Test name="stride8_fixed_quads1" />
+<Test name="stride32_fixed_quads1" />
+<Test name="stride0_fixed_quads256" />
+<Test name="stride8_fixed_quads256" />
+<Test name="stride32_fixed_quads256" />
+<Test name="stride0_short_quads1" />
+<Test name="stride4_short_quads1" />
+<Test name="stride32_short_quads1" />
+<Test name="stride0_short_quads256" />
+<Test name="stride4_short_quads256" />
+<Test name="stride32_short_quads256" />
+<Test name="stride0_byte_quads1" />
+<Test name="stride2_byte_quads1" />
+<Test name="stride17_byte_quads1" />
+<Test name="stride32_byte_quads1" />
+<Test name="stride0_byte_quads256" />
+<Test name="stride2_byte_quads256" />
+<Test name="stride17_byte_quads256" />
+<Test name="stride32_byte_quads256" />
+</TestCase>
+<TestCase name="stream_read">
+<Test name="stride0_float_quads1" />
+<Test name="stride8_float_quads1" />
+<Test name="stride32_float_quads1" />
+<Test name="stride0_float_quads256" />
+<Test name="stride8_float_quads256" />
+<Test name="stride32_float_quads256" />
+<Test name="stride0_fixed_quads1" />
+<Test name="stride8_fixed_quads1" />
+<Test name="stride32_fixed_quads1" />
+<Test name="stride0_fixed_quads256" />
+<Test name="stride8_fixed_quads256" />
+<Test name="stride32_fixed_quads256" />
+<Test name="stride0_short_quads1" />
+<Test name="stride4_short_quads1" />
+<Test name="stride32_short_quads1" />
+<Test name="stride0_short_quads256" />
+<Test name="stride4_short_quads256" />
+<Test name="stride32_short_quads256" />
+<Test name="stride0_byte_quads1" />
+<Test name="stride2_byte_quads1" />
+<Test name="stride17_byte_quads1" />
+<Test name="stride32_byte_quads1" />
+<Test name="stride0_byte_quads256" />
+<Test name="stride2_byte_quads256" />
+<Test name="stride17_byte_quads256" />
+<Test name="stride32_byte_quads256" />
+</TestCase>
+<TestCase name="dynamic_read">
+<Test name="stride0_float_quads1" />
+<Test name="stride8_float_quads1" />
+<Test name="stride32_float_quads1" />
+<Test name="stride0_float_quads256" />
+<Test name="stride8_float_quads256" />
+<Test name="stride32_float_quads256" />
+<Test name="stride0_fixed_quads1" />
+<Test name="stride8_fixed_quads1" />
+<Test name="stride32_fixed_quads1" />
+<Test name="stride0_fixed_quads256" />
+<Test name="stride8_fixed_quads256" />
+<Test name="stride32_fixed_quads256" />
+<Test name="stride0_short_quads1" />
+<Test name="stride4_short_quads1" />
+<Test name="stride32_short_quads1" />
+<Test name="stride0_short_quads256" />
+<Test name="stride4_short_quads256" />
+<Test name="stride32_short_quads256" />
+<Test name="stride0_byte_quads1" />
+<Test name="stride2_byte_quads1" />
+<Test name="stride17_byte_quads1" />
+<Test name="stride32_byte_quads1" />
+<Test name="stride0_byte_quads256" />
+<Test name="stride2_byte_quads256" />
+<Test name="stride17_byte_quads256" />
+<Test name="stride32_byte_quads256" />
+</TestCase>
+</TestSuite>
+<TestSuite name="offset">
+<TestCase name="float">
+<Test name="offset4_stride8_quads1" />
+<Test name="offset4_stride32_quads1" />
+<Test name="offset4_stride8_quads256" />
+<Test name="offset4_stride32_quads256" />
+<Test name="offset32_stride8_quads1" />
+<Test name="offset32_stride32_quads1" />
+<Test name="offset32_stride8_quads256" />
+<Test name="offset32_stride32_quads256" />
+</TestCase>
+<TestCase name="byte">
+<Test name="offset1_stride2_quads1" />
+<Test name="offset1_stride17_quads1" />
+<Test name="offset1_stride32_quads1" />
+<Test name="offset1_stride2_quads256" />
+<Test name="offset1_stride17_quads256" />
+<Test name="offset1_stride32_quads256" />
+<Test name="offset4_stride2_quads1" />
+<Test name="offset4_stride17_quads1" />
+<Test name="offset4_stride32_quads1" />
+<Test name="offset4_stride2_quads256" />
+<Test name="offset4_stride17_quads256" />
+<Test name="offset4_stride32_quads256" />
+<Test name="offset17_stride2_quads1" />
+<Test name="offset17_stride17_quads1" />
+<Test name="offset17_stride32_quads1" />
+<Test name="offset17_stride2_quads256" />
+<Test name="offset17_stride17_quads256" />
+<Test name="offset17_stride32_quads256" />
+<Test name="offset32_stride2_quads1" />
+<Test name="offset32_stride17_quads1" />
+<Test name="offset32_stride32_quads1" />
+<Test name="offset32_stride2_quads256" />
+<Test name="offset32_stride17_quads256" />
+<Test name="offset32_stride32_quads256" />
+</TestCase>
+<TestCase name="int2_10_10_10">
+<Test name="offset4_stride4_quads1" />
+<Test name="offset4_stride32_quads1" />
+<Test name="offset4_stride4_quads256" />
+<Test name="offset4_stride32_quads256" />
+<Test name="offset32_stride4_quads1" />
+<Test name="offset32_stride32_quads1" />
+<Test name="offset32_stride4_quads256" />
+<Test name="offset32_stride32_quads256" />
+</TestCase>
+</TestSuite>
+<TestSuite name="first">
+<TestCase name="float">
+<Test name="first6_offset16_stride8_quads5" />
+<Test name="first24_offset16_stride8_quads5" />
+<Test name="first6_offset16_stride32_quads5" />
+<Test name="first24_offset16_stride32_quads5" />
+<Test name="first6_offset16_stride8_quads256" />
+<Test name="first24_offset16_stride8_quads256" />
+<Test name="first6_offset16_stride32_quads256" />
+<Test name="first24_offset16_stride32_quads256" />
+</TestCase>
+<TestCase name="byte">
+<Test name="first6_offset1_stride2_quads5" />
+<Test name="first24_offset1_stride2_quads5" />
+<Test name="first6_offset1_stride17_quads5" />
+<Test name="first24_offset1_stride17_quads5" />
+<Test name="first6_offset1_stride32_quads5" />
+<Test name="first24_offset1_stride32_quads5" />
+<Test name="first6_offset1_stride2_quads256" />
+<Test name="first24_offset1_stride2_quads256" />
+<Test name="first6_offset1_stride17_quads256" />
+<Test name="first24_offset1_stride17_quads256" />
+<Test name="first6_offset1_stride32_quads256" />
+<Test name="first24_offset1_stride32_quads256" />
+<Test name="first6_offset16_stride2_quads5" />
+<Test name="first24_offset16_stride2_quads5" />
+<Test name="first6_offset16_stride17_quads5" />
+<Test name="first24_offset16_stride17_quads5" />
+<Test name="first6_offset16_stride32_quads5" />
+<Test name="first24_offset16_stride32_quads5" />
+<Test name="first6_offset16_stride2_quads256" />
+<Test name="first24_offset16_stride2_quads256" />
+<Test name="first6_offset16_stride17_quads256" />
+<Test name="first24_offset16_stride17_quads256" />
+<Test name="first6_offset16_stride32_quads256" />
+<Test name="first24_offset16_stride32_quads256" />
+<Test name="first6_offset17_stride2_quads5" />
+<Test name="first24_offset17_stride2_quads5" />
+<Test name="first6_offset17_stride17_quads5" />
+<Test name="first24_offset17_stride17_quads5" />
+<Test name="first6_offset17_stride32_quads5" />
+<Test name="first24_offset17_stride32_quads5" />
+<Test name="first6_offset17_stride2_quads256" />
+<Test name="first24_offset17_stride2_quads256" />
+<Test name="first6_offset17_stride17_quads256" />
+<Test name="first24_offset17_stride17_quads256" />
+<Test name="first6_offset17_stride32_quads256" />
+<Test name="first24_offset17_stride32_quads256" />
+</TestCase>
+<TestCase name="int2_10_10_10">
+<Test name="first6_offset16_stride8_quads5" />
+<Test name="first24_offset16_stride8_quads5" />
+<Test name="first6_offset16_stride32_quads5" />
+<Test name="first24_offset16_stride32_quads5" />
+<Test name="first6_offset16_stride8_quads256" />
+<Test name="first24_offset16_stride8_quads256" />
+<Test name="first6_offset16_stride32_quads256" />
+<Test name="first24_offset16_stride32_quads256" />
+</TestCase>
+</TestSuite>
+</TestSuite>
+<TestSuite name="multiple_attributes">
+<TestCase name="attribute_count">
+<Test name="2" />
+<Test name="3" />
+<Test name="4" />
+<Test name="5" />
+<Test name="6" />
+<Test name="7" />
+<Test name="8" />
+</TestCase>
+<TestCase name="storage">
+<Test name="3_user_ptr_user_ptr_buffer" />
+<Test name="3_user_ptr_buffer_user_ptr" />
+<Test name="3_user_ptr_buffer_buffer" />
+<Test name="3_buffer_user_ptr_user_ptr" />
+<Test name="3_buffer_user_ptr_buffer" />
+<Test name="3_buffer_buffer_user_ptr" />
+<Test name="3_buffer_buffer_buffer" />
+</TestCase>
+<TestCase name="stride">
+<Test name="3_float2_0_float2_0_float2_0" />
+<Test name="3_float2_0_float2_0_float2_8" />
+<Test name="3_float2_0_float2_0_float2_17" />
+<Test name="3_float2_0_float2_0_float2_32" />
+<Test name="3_float2_0_float2_8_float2_0" />
+<Test name="3_float2_0_float2_8_float2_8" />
+<Test name="3_float2_0_float2_8_float2_17" />
+<Test name="3_float2_0_float2_8_float2_32" />
+<Test name="3_float2_0_float2_17_float2_0" />
+<Test name="3_float2_0_float2_17_float2_8" />
+<Test name="3_float2_0_float2_17_float2_17" />
+<Test name="3_float2_0_float2_17_float2_32" />
+<Test name="3_float2_0_float2_32_float2_0" />
+<Test name="3_float2_0_float2_32_float2_8" />
+<Test name="3_float2_0_float2_32_float2_17" />
+<Test name="3_float2_0_float2_32_float2_32" />
+<Test name="3_float2_8_float2_0_float2_0" />
+<Test name="3_float2_8_float2_0_float2_8" />
+<Test name="3_float2_8_float2_0_float2_17" />
+<Test name="3_float2_8_float2_0_float2_32" />
+<Test name="3_float2_8_float2_8_float2_0" />
+<Test name="3_float2_8_float2_8_float2_8" />
+<Test name="3_float2_8_float2_8_float2_17" />
+<Test name="3_float2_8_float2_8_float2_32" />
+<Test name="3_float2_8_float2_17_float2_0" />
+<Test name="3_float2_8_float2_17_float2_8" />
+<Test name="3_float2_8_float2_17_float2_17" />
+<Test name="3_float2_8_float2_17_float2_32" />
+<Test name="3_float2_8_float2_32_float2_0" />
+<Test name="3_float2_8_float2_32_float2_8" />
+<Test name="3_float2_8_float2_32_float2_17" />
+<Test name="3_float2_8_float2_32_float2_32" />
+<Test name="3_float2_17_float2_0_float2_0" />
+<Test name="3_float2_17_float2_0_float2_8" />
+<Test name="3_float2_17_float2_0_float2_17" />
+<Test name="3_float2_17_float2_0_float2_32" />
+<Test name="3_float2_17_float2_8_float2_0" />
+<Test name="3_float2_17_float2_8_float2_8" />
+<Test name="3_float2_17_float2_8_float2_17" />
+<Test name="3_float2_17_float2_8_float2_32" />
+<Test name="3_float2_17_float2_17_float2_0" />
+<Test name="3_float2_17_float2_17_float2_8" />
+<Test name="3_float2_17_float2_17_float2_17" />
+<Test name="3_float2_17_float2_17_float2_32" />
+<Test name="3_float2_17_float2_32_float2_0" />
+<Test name="3_float2_17_float2_32_float2_8" />
+<Test name="3_float2_17_float2_32_float2_17" />
+<Test name="3_float2_17_float2_32_float2_32" />
+<Test name="3_float2_32_float2_0_float2_0" />
+<Test name="3_float2_32_float2_0_float2_8" />
+<Test name="3_float2_32_float2_0_float2_17" />
+<Test name="3_float2_32_float2_0_float2_32" />
+<Test name="3_float2_32_float2_8_float2_0" />
+<Test name="3_float2_32_float2_8_float2_8" />
+<Test name="3_float2_32_float2_8_float2_17" />
+<Test name="3_float2_32_float2_8_float2_32" />
+<Test name="3_float2_32_float2_17_float2_0" />
+<Test name="3_float2_32_float2_17_float2_8" />
+<Test name="3_float2_32_float2_17_float2_17" />
+<Test name="3_float2_32_float2_17_float2_32" />
+<Test name="3_float2_32_float2_32_float2_0" />
+<Test name="3_float2_32_float2_32_float2_8" />
+<Test name="3_float2_32_float2_32_float2_17" />
+<Test name="3_float2_32_float2_32_float2_32" />
+</TestCase>
+<TestCase name="input_types">
+<Test name="3_fixed2_vec2_fixed2_vec2_fixed2_vec2" />
+<Test name="3_fixed2_vec2_fixed2_vec2_byte2_vec2" />
+<Test name="3_fixed2_vec2_fixed2_vec2_short2_vec2" />
+<Test name="3_fixed2_vec2_fixed2_vec2_unsigned_byte2_vec2" />
+<Test name="3_fixed2_vec2_fixed2_vec2_unsigned_short2_vec2" />
+<Test name="3_fixed2_vec2_byte2_vec2_fixed2_vec2" />
+<Test name="3_fixed2_vec2_byte2_vec2_byte2_vec2" />
+<Test name="3_fixed2_vec2_byte2_vec2_short2_vec2" />
+<Test name="3_fixed2_vec2_byte2_vec2_unsigned_byte2_vec2" />
+<Test name="3_fixed2_vec2_byte2_vec2_unsigned_short2_vec2" />
+<Test name="3_fixed2_vec2_short2_vec2_fixed2_vec2" />
+<Test name="3_fixed2_vec2_short2_vec2_byte2_vec2" />
+<Test name="3_fixed2_vec2_short2_vec2_short2_vec2" />
+<Test name="3_fixed2_vec2_short2_vec2_unsigned_byte2_vec2" />
+<Test name="3_fixed2_vec2_short2_vec2_unsigned_short2_vec2" />
+<Test name="3_fixed2_vec2_unsigned_byte2_vec2_fixed2_vec2" />
+<Test name="3_fixed2_vec2_unsigned_byte2_vec2_byte2_vec2" />
+<Test name="3_fixed2_vec2_unsigned_byte2_vec2_short2_vec2" />
+<Test name="3_fixed2_vec2_unsigned_byte2_vec2_unsigned_byte2_vec2" />
+<Test name="3_fixed2_vec2_unsigned_byte2_vec2_unsigned_short2_vec2" />
+<Test name="3_fixed2_vec2_unsigned_short2_vec2_fixed2_vec2" />
+<Test name="3_fixed2_vec2_unsigned_short2_vec2_byte2_vec2" />
+<Test name="3_fixed2_vec2_unsigned_short2_vec2_short2_vec2" />
+<Test name="3_fixed2_vec2_unsigned_short2_vec2_unsigned_byte2_vec2" />
+<Test name="3_fixed2_vec2_unsigned_short2_vec2_unsigned_short2_vec2" />
+<Test name="3_byte2_vec2_fixed2_vec2_fixed2_vec2" />
+<Test name="3_byte2_vec2_fixed2_vec2_byte2_vec2" />
+<Test name="3_byte2_vec2_fixed2_vec2_short2_vec2" />
+<Test name="3_byte2_vec2_fixed2_vec2_unsigned_byte2_vec2" />
+<Test name="3_byte2_vec2_fixed2_vec2_unsigned_short2_vec2" />
+<Test name="3_byte2_vec2_byte2_vec2_fixed2_vec2" />
+<Test name="3_byte2_vec2_byte2_vec2_byte2_vec2" />
+<Test name="3_byte2_vec2_byte2_vec2_short2_vec2" />
+<Test name="3_byte2_vec2_byte2_vec2_unsigned_byte2_vec2" />
+<Test name="3_byte2_vec2_byte2_vec2_unsigned_short2_vec2" />
+<Test name="3_byte2_vec2_short2_vec2_fixed2_vec2" />
+<Test name="3_byte2_vec2_short2_vec2_byte2_vec2" />
+<Test name="3_byte2_vec2_short2_vec2_short2_vec2" />
+<Test name="3_byte2_vec2_short2_vec2_unsigned_byte2_vec2" />
+<Test name="3_byte2_vec2_short2_vec2_unsigned_short2_vec2" />
+<Test name="3_byte2_vec2_unsigned_byte2_vec2_fixed2_vec2" />
+<Test name="3_byte2_vec2_unsigned_byte2_vec2_byte2_vec2" />
+<Test name="3_byte2_vec2_unsigned_byte2_vec2_short2_vec2" />
+<Test name="3_byte2_vec2_unsigned_byte2_vec2_unsigned_byte2_vec2" />
+<Test name="3_byte2_vec2_unsigned_byte2_vec2_unsigned_short2_vec2" />
+<Test name="3_byte2_vec2_unsigned_short2_vec2_fixed2_vec2" />
+<Test name="3_byte2_vec2_unsigned_short2_vec2_byte2_vec2" />
+<Test name="3_byte2_vec2_unsigned_short2_vec2_short2_vec2" />
+<Test name="3_byte2_vec2_unsigned_short2_vec2_unsigned_byte2_vec2" />
+<Test name="3_byte2_vec2_unsigned_short2_vec2_unsigned_short2_vec2" />
+<Test name="3_short2_vec2_fixed2_vec2_fixed2_vec2" />
+<Test name="3_short2_vec2_fixed2_vec2_byte2_vec2" />
+<Test name="3_short2_vec2_fixed2_vec2_short2_vec2" />
+<Test name="3_short2_vec2_fixed2_vec2_unsigned_byte2_vec2" />
+<Test name="3_short2_vec2_fixed2_vec2_unsigned_short2_vec2" />
+<Test name="3_short2_vec2_byte2_vec2_fixed2_vec2" />
+<Test name="3_short2_vec2_byte2_vec2_byte2_vec2" />
+<Test name="3_short2_vec2_byte2_vec2_short2_vec2" />
+<Test name="3_short2_vec2_byte2_vec2_unsigned_byte2_vec2" />
+<Test name="3_short2_vec2_byte2_vec2_unsigned_short2_vec2" />
+<Test name="3_short2_vec2_short2_vec2_fixed2_vec2" />
+<Test name="3_short2_vec2_short2_vec2_byte2_vec2" />
+<Test name="3_short2_vec2_short2_vec2_short2_vec2" />
+<Test name="3_short2_vec2_short2_vec2_unsigned_byte2_vec2" />
+<Test name="3_short2_vec2_short2_vec2_unsigned_short2_vec2" />
+<Test name="3_short2_vec2_unsigned_byte2_vec2_fixed2_vec2" />
+<Test name="3_short2_vec2_unsigned_byte2_vec2_byte2_vec2" />
+<Test name="3_short2_vec2_unsigned_byte2_vec2_short2_vec2" />
+<Test name="3_short2_vec2_unsigned_byte2_vec2_unsigned_byte2_vec2" />
+<Test name="3_short2_vec2_unsigned_byte2_vec2_unsigned_short2_vec2" />
+<Test name="3_short2_vec2_unsigned_short2_vec2_fixed2_vec2" />
+<Test name="3_short2_vec2_unsigned_short2_vec2_byte2_vec2" />
+<Test name="3_short2_vec2_unsigned_short2_vec2_short2_vec2" />
+<Test name="3_short2_vec2_unsigned_short2_vec2_unsigned_byte2_vec2" />
+<Test name="3_short2_vec2_unsigned_short2_vec2_unsigned_short2_vec2" />
+<Test name="3_unsigned_byte2_vec2_fixed2_vec2_fixed2_vec2" />
+<Test name="3_unsigned_byte2_vec2_fixed2_vec2_byte2_vec2" />
+<Test name="3_unsigned_byte2_vec2_fixed2_vec2_short2_vec2" />
+<Test name="3_unsigned_byte2_vec2_fixed2_vec2_unsigned_byte2_vec2" />
+<Test name="3_unsigned_byte2_vec2_fixed2_vec2_unsigned_short2_vec2" />
+<Test name="3_unsigned_byte2_vec2_byte2_vec2_fixed2_vec2" />
+<Test name="3_unsigned_byte2_vec2_byte2_vec2_byte2_vec2" />
+<Test name="3_unsigned_byte2_vec2_byte2_vec2_short2_vec2" />
+<Test name="3_unsigned_byte2_vec2_byte2_vec2_unsigned_byte2_vec2" />
+<Test name="3_unsigned_byte2_vec2_byte2_vec2_unsigned_short2_vec2" />
+<Test name="3_unsigned_byte2_vec2_short2_vec2_fixed2_vec2" />
+<Test name="3_unsigned_byte2_vec2_short2_vec2_byte2_vec2" />
+<Test name="3_unsigned_byte2_vec2_short2_vec2_short2_vec2" />
+<Test name="3_unsigned_byte2_vec2_short2_vec2_unsigned_byte2_vec2" />
+<Test name="3_unsigned_byte2_vec2_short2_vec2_unsigned_short2_vec2" />
+<Test name="3_unsigned_byte2_vec2_unsigned_byte2_vec2_fixed2_vec2" />
+<Test name="3_unsigned_byte2_vec2_unsigned_byte2_vec2_byte2_vec2" />
+<Test name="3_unsigned_byte2_vec2_unsigned_byte2_vec2_short2_vec2" />
+<Test name="3_unsigned_byte2_vec2_unsigned_byte2_vec2_unsigned_byte2_vec2" />
+<Test name="3_unsigned_byte2_vec2_unsigned_byte2_vec2_unsigned_short2_vec2" />
+<Test name="3_unsigned_byte2_vec2_unsigned_short2_vec2_fixed2_vec2" />
+<Test name="3_unsigned_byte2_vec2_unsigned_short2_vec2_byte2_vec2" />
+<Test name="3_unsigned_byte2_vec2_unsigned_short2_vec2_short2_vec2" />
+<Test name="3_unsigned_byte2_vec2_unsigned_short2_vec2_unsigned_byte2_vec2" />
+<Test name="3_unsigned_byte2_vec2_unsigned_short2_vec2_unsigned_short2_vec2" />
+<Test name="3_unsigned_short2_vec2_fixed2_vec2_fixed2_vec2" />
+<Test name="3_unsigned_short2_vec2_fixed2_vec2_byte2_vec2" />
+<Test name="3_unsigned_short2_vec2_fixed2_vec2_short2_vec2" />
+<Test name="3_unsigned_short2_vec2_fixed2_vec2_unsigned_byte2_vec2" />
+<Test name="3_unsigned_short2_vec2_fixed2_vec2_unsigned_short2_vec2" />
+<Test name="3_unsigned_short2_vec2_byte2_vec2_fixed2_vec2" />
+<Test name="3_unsigned_short2_vec2_byte2_vec2_byte2_vec2" />
+<Test name="3_unsigned_short2_vec2_byte2_vec2_short2_vec2" />
+<Test name="3_unsigned_short2_vec2_byte2_vec2_unsigned_byte2_vec2" />
+<Test name="3_unsigned_short2_vec2_byte2_vec2_unsigned_short2_vec2" />
+<Test name="3_unsigned_short2_vec2_short2_vec2_fixed2_vec2" />
+<Test name="3_unsigned_short2_vec2_short2_vec2_byte2_vec2" />
+<Test name="3_unsigned_short2_vec2_short2_vec2_short2_vec2" />
+<Test name="3_unsigned_short2_vec2_short2_vec2_unsigned_byte2_vec2" />
+<Test name="3_unsigned_short2_vec2_short2_vec2_unsigned_short2_vec2" />
+<Test name="3_unsigned_short2_vec2_unsigned_byte2_vec2_fixed2_vec2" />
+<Test name="3_unsigned_short2_vec2_unsigned_byte2_vec2_byte2_vec2" />
+<Test name="3_unsigned_short2_vec2_unsigned_byte2_vec2_short2_vec2" />
+<Test name="3_unsigned_short2_vec2_unsigned_byte2_vec2_unsigned_byte2_vec2" />
+<Test name="3_unsigned_short2_vec2_unsigned_byte2_vec2_unsigned_short2_vec2" />
+<Test name="3_unsigned_short2_vec2_unsigned_short2_vec2_fixed2_vec2" />
+<Test name="3_unsigned_short2_vec2_unsigned_short2_vec2_byte2_vec2" />
+<Test name="3_unsigned_short2_vec2_unsigned_short2_vec2_short2_vec2" />
+<Test name="3_unsigned_short2_vec2_unsigned_short2_vec2_unsigned_byte2_vec2" />
+<Test name="3_unsigned_short2_vec2_unsigned_short2_vec2_unsigned_short2_vec2" />
+</TestCase>
+</TestSuite>
+</TestSuite>
+<TestSuite name="ubo">
+<TestSuite name="single_basic_type">
+<TestCase name="shared">
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="lowp_float_both" />
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="mediump_float_both" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="highp_float_both" />
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="lowp_vec2_both" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="mediump_vec2_both" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="highp_vec2_both" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="lowp_vec3_both" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="mediump_vec3_both" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="highp_vec3_both" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="lowp_vec4_both" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="mediump_vec4_both" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+<Test name="highp_vec4_both" />
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="lowp_int_both" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="mediump_int_both" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="highp_int_both" />
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="lowp_ivec2_both" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="mediump_ivec2_both" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="highp_ivec2_both" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="lowp_ivec3_both" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="mediump_ivec3_both" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="highp_ivec3_both" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="lowp_ivec4_both" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="mediump_ivec4_both" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+<Test name="highp_ivec4_both" />
+<Test name="lowp_uvec2_vertex" />
+<Test name="lowp_uvec2_fragment" />
+<Test name="lowp_uvec2_both" />
+<Test name="mediump_uvec2_vertex" />
+<Test name="mediump_uvec2_fragment" />
+<Test name="mediump_uvec2_both" />
+<Test name="highp_uvec2_vertex" />
+<Test name="highp_uvec2_fragment" />
+<Test name="highp_uvec2_both" />
+<Test name="lowp_uvec3_vertex" />
+<Test name="lowp_uvec3_fragment" />
+<Test name="lowp_uvec3_both" />
+<Test name="mediump_uvec3_vertex" />
+<Test name="mediump_uvec3_fragment" />
+<Test name="mediump_uvec3_both" />
+<Test name="highp_uvec3_vertex" />
+<Test name="highp_uvec3_fragment" />
+<Test name="highp_uvec3_both" />
+<Test name="lowp_uvec4_vertex" />
+<Test name="lowp_uvec4_fragment" />
+<Test name="lowp_uvec4_both" />
+<Test name="mediump_uvec4_vertex" />
+<Test name="mediump_uvec4_fragment" />
+<Test name="mediump_uvec4_both" />
+<Test name="highp_uvec4_vertex" />
+<Test name="highp_uvec4_fragment" />
+<Test name="highp_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="lowp_mat2_vertex" />
+<Test name="lowp_mat2_fragment" />
+<Test name="lowp_mat2_both" />
+<Test name="mediump_mat2_vertex" />
+<Test name="mediump_mat2_fragment" />
+<Test name="mediump_mat2_both" />
+<Test name="highp_mat2_vertex" />
+<Test name="highp_mat2_fragment" />
+<Test name="highp_mat2_both" />
+<Test name="row_major_lowp_mat2_vertex" />
+<Test name="row_major_lowp_mat2_fragment" />
+<Test name="row_major_lowp_mat2_both" />
+<Test name="row_major_mediump_mat2_vertex" />
+<Test name="row_major_mediump_mat2_fragment" />
+<Test name="row_major_mediump_mat2_both" />
+<Test name="row_major_highp_mat2_vertex" />
+<Test name="row_major_highp_mat2_fragment" />
+<Test name="row_major_highp_mat2_both" />
+<Test name="column_major_lowp_mat2_vertex" />
+<Test name="column_major_lowp_mat2_fragment" />
+<Test name="column_major_lowp_mat2_both" />
+<Test name="column_major_mediump_mat2_vertex" />
+<Test name="column_major_mediump_mat2_fragment" />
+<Test name="column_major_mediump_mat2_both" />
+<Test name="column_major_highp_mat2_vertex" />
+<Test name="column_major_highp_mat2_fragment" />
+<Test name="column_major_highp_mat2_both" />
+<Test name="lowp_mat3_vertex" />
+<Test name="lowp_mat3_fragment" />
+<Test name="lowp_mat3_both" />
+<Test name="mediump_mat3_vertex" />
+<Test name="mediump_mat3_fragment" />
+<Test name="mediump_mat3_both" />
+<Test name="highp_mat3_vertex" />
+<Test name="highp_mat3_fragment" />
+<Test name="highp_mat3_both" />
+<Test name="row_major_lowp_mat3_vertex" />
+<Test name="row_major_lowp_mat3_fragment" />
+<Test name="row_major_lowp_mat3_both" />
+<Test name="row_major_mediump_mat3_vertex" />
+<Test name="row_major_mediump_mat3_fragment" />
+<Test name="row_major_mediump_mat3_both" />
+<Test name="row_major_highp_mat3_vertex" />
+<Test name="row_major_highp_mat3_fragment" />
+<Test name="row_major_highp_mat3_both" />
+<Test name="column_major_lowp_mat3_vertex" />
+<Test name="column_major_lowp_mat3_fragment" />
+<Test name="column_major_lowp_mat3_both" />
+<Test name="column_major_mediump_mat3_vertex" />
+<Test name="column_major_mediump_mat3_fragment" />
+<Test name="column_major_mediump_mat3_both" />
+<Test name="column_major_highp_mat3_vertex" />
+<Test name="column_major_highp_mat3_fragment" />
+<Test name="column_major_highp_mat3_both" />
+<Test name="lowp_mat4_vertex" />
+<Test name="lowp_mat4_fragment" />
+<Test name="lowp_mat4_both" />
+<Test name="mediump_mat4_vertex" />
+<Test name="mediump_mat4_fragment" />
+<Test name="mediump_mat4_both" />
+<Test name="highp_mat4_vertex" />
+<Test name="highp_mat4_fragment" />
+<Test name="highp_mat4_both" />
+<Test name="row_major_lowp_mat4_vertex" />
+<Test name="row_major_lowp_mat4_fragment" />
+<Test name="row_major_lowp_mat4_both" />
+<Test name="row_major_mediump_mat4_vertex" />
+<Test name="row_major_mediump_mat4_fragment" />
+<Test name="row_major_mediump_mat4_both" />
+<Test name="row_major_highp_mat4_vertex" />
+<Test name="row_major_highp_mat4_fragment" />
+<Test name="row_major_highp_mat4_both" />
+<Test name="column_major_lowp_mat4_vertex" />
+<Test name="column_major_lowp_mat4_fragment" />
+<Test name="column_major_lowp_mat4_both" />
+<Test name="column_major_mediump_mat4_vertex" />
+<Test name="column_major_mediump_mat4_fragment" />
+<Test name="column_major_mediump_mat4_both" />
+<Test name="column_major_highp_mat4_vertex" />
+<Test name="column_major_highp_mat4_fragment" />
+<Test name="column_major_highp_mat4_both" />
+<Test name="lowp_mat2x3_vertex" />
+<Test name="lowp_mat2x3_fragment" />
+<Test name="lowp_mat2x3_both" />
+<Test name="mediump_mat2x3_vertex" />
+<Test name="mediump_mat2x3_fragment" />
+<Test name="mediump_mat2x3_both" />
+<Test name="highp_mat2x3_vertex" />
+<Test name="highp_mat2x3_fragment" />
+<Test name="highp_mat2x3_both" />
+<Test name="row_major_lowp_mat2x3_vertex" />
+<Test name="row_major_lowp_mat2x3_fragment" />
+<Test name="row_major_lowp_mat2x3_both" />
+<Test name="row_major_mediump_mat2x3_vertex" />
+<Test name="row_major_mediump_mat2x3_fragment" />
+<Test name="row_major_mediump_mat2x3_both" />
+<Test name="row_major_highp_mat2x3_vertex" />
+<Test name="row_major_highp_mat2x3_fragment" />
+<Test name="row_major_highp_mat2x3_both" />
+<Test name="column_major_lowp_mat2x3_vertex" />
+<Test name="column_major_lowp_mat2x3_fragment" />
+<Test name="column_major_lowp_mat2x3_both" />
+<Test name="column_major_mediump_mat2x3_vertex" />
+<Test name="column_major_mediump_mat2x3_fragment" />
+<Test name="column_major_mediump_mat2x3_both" />
+<Test name="column_major_highp_mat2x3_vertex" />
+<Test name="column_major_highp_mat2x3_fragment" />
+<Test name="column_major_highp_mat2x3_both" />
+<Test name="lowp_mat2x4_vertex" />
+<Test name="lowp_mat2x4_fragment" />
+<Test name="lowp_mat2x4_both" />
+<Test name="mediump_mat2x4_vertex" />
+<Test name="mediump_mat2x4_fragment" />
+<Test name="mediump_mat2x4_both" />
+<Test name="highp_mat2x4_vertex" />
+<Test name="highp_mat2x4_fragment" />
+<Test name="highp_mat2x4_both" />
+<Test name="row_major_lowp_mat2x4_vertex" />
+<Test name="row_major_lowp_mat2x4_fragment" />
+<Test name="row_major_lowp_mat2x4_both" />
+<Test name="row_major_mediump_mat2x4_vertex" />
+<Test name="row_major_mediump_mat2x4_fragment" />
+<Test name="row_major_mediump_mat2x4_both" />
+<Test name="row_major_highp_mat2x4_vertex" />
+<Test name="row_major_highp_mat2x4_fragment" />
+<Test name="row_major_highp_mat2x4_both" />
+<Test name="column_major_lowp_mat2x4_vertex" />
+<Test name="column_major_lowp_mat2x4_fragment" />
+<Test name="column_major_lowp_mat2x4_both" />
+<Test name="column_major_mediump_mat2x4_vertex" />
+<Test name="column_major_mediump_mat2x4_fragment" />
+<Test name="column_major_mediump_mat2x4_both" />
+<Test name="column_major_highp_mat2x4_vertex" />
+<Test name="column_major_highp_mat2x4_fragment" />
+<Test name="column_major_highp_mat2x4_both" />
+<Test name="lowp_mat3x2_vertex" />
+<Test name="lowp_mat3x2_fragment" />
+<Test name="lowp_mat3x2_both" />
+<Test name="mediump_mat3x2_vertex" />
+<Test name="mediump_mat3x2_fragment" />
+<Test name="mediump_mat3x2_both" />
+<Test name="highp_mat3x2_vertex" />
+<Test name="highp_mat3x2_fragment" />
+<Test name="highp_mat3x2_both" />
+<Test name="row_major_lowp_mat3x2_vertex" />
+<Test name="row_major_lowp_mat3x2_fragment" />
+<Test name="row_major_lowp_mat3x2_both" />
+<Test name="row_major_mediump_mat3x2_vertex" />
+<Test name="row_major_mediump_mat3x2_fragment" />
+<Test name="row_major_mediump_mat3x2_both" />
+<Test name="row_major_highp_mat3x2_vertex" />
+<Test name="row_major_highp_mat3x2_fragment" />
+<Test name="row_major_highp_mat3x2_both" />
+<Test name="column_major_lowp_mat3x2_vertex" />
+<Test name="column_major_lowp_mat3x2_fragment" />
+<Test name="column_major_lowp_mat3x2_both" />
+<Test name="column_major_mediump_mat3x2_vertex" />
+<Test name="column_major_mediump_mat3x2_fragment" />
+<Test name="column_major_mediump_mat3x2_both" />
+<Test name="column_major_highp_mat3x2_vertex" />
+<Test name="column_major_highp_mat3x2_fragment" />
+<Test name="column_major_highp_mat3x2_both" />
+<Test name="lowp_mat3x4_vertex" />
+<Test name="lowp_mat3x4_fragment" />
+<Test name="lowp_mat3x4_both" />
+<Test name="mediump_mat3x4_vertex" />
+<Test name="mediump_mat3x4_fragment" />
+<Test name="mediump_mat3x4_both" />
+<Test name="highp_mat3x4_vertex" />
+<Test name="highp_mat3x4_fragment" />
+<Test name="highp_mat3x4_both" />
+<Test name="row_major_lowp_mat3x4_vertex" />
+<Test name="row_major_lowp_mat3x4_fragment" />
+<Test name="row_major_lowp_mat3x4_both" />
+<Test name="row_major_mediump_mat3x4_vertex" />
+<Test name="row_major_mediump_mat3x4_fragment" />
+<Test name="row_major_mediump_mat3x4_both" />
+<Test name="row_major_highp_mat3x4_vertex" />
+<Test name="row_major_highp_mat3x4_fragment" />
+<Test name="row_major_highp_mat3x4_both" />
+<Test name="column_major_lowp_mat3x4_vertex" />
+<Test name="column_major_lowp_mat3x4_fragment" />
+<Test name="column_major_lowp_mat3x4_both" />
+<Test name="column_major_mediump_mat3x4_vertex" />
+<Test name="column_major_mediump_mat3x4_fragment" />
+<Test name="column_major_mediump_mat3x4_both" />
+<Test name="column_major_highp_mat3x4_vertex" />
+<Test name="column_major_highp_mat3x4_fragment" />
+<Test name="column_major_highp_mat3x4_both" />
+<Test name="lowp_mat4x2_vertex" />
+<Test name="lowp_mat4x2_fragment" />
+<Test name="lowp_mat4x2_both" />
+<Test name="mediump_mat4x2_vertex" />
+<Test name="mediump_mat4x2_fragment" />
+<Test name="mediump_mat4x2_both" />
+<Test name="highp_mat4x2_vertex" />
+<Test name="highp_mat4x2_fragment" />
+<Test name="highp_mat4x2_both" />
+<Test name="row_major_lowp_mat4x2_vertex" />
+<Test name="row_major_lowp_mat4x2_fragment" />
+<Test name="row_major_lowp_mat4x2_both" />
+<Test name="row_major_mediump_mat4x2_vertex" />
+<Test name="row_major_mediump_mat4x2_fragment" />
+<Test name="row_major_mediump_mat4x2_both" />
+<Test name="row_major_highp_mat4x2_vertex" />
+<Test name="row_major_highp_mat4x2_fragment" />
+<Test name="row_major_highp_mat4x2_both" />
+<Test name="column_major_lowp_mat4x2_vertex" />
+<Test name="column_major_lowp_mat4x2_fragment" />
+<Test name="column_major_lowp_mat4x2_both" />
+<Test name="column_major_mediump_mat4x2_vertex" />
+<Test name="column_major_mediump_mat4x2_fragment" />
+<Test name="column_major_mediump_mat4x2_both" />
+<Test name="column_major_highp_mat4x2_vertex" />
+<Test name="column_major_highp_mat4x2_fragment" />
+<Test name="column_major_highp_mat4x2_both" />
+<Test name="lowp_mat4x3_vertex" />
+<Test name="lowp_mat4x3_fragment" />
+<Test name="lowp_mat4x3_both" />
+<Test name="mediump_mat4x3_vertex" />
+<Test name="mediump_mat4x3_fragment" />
+<Test name="mediump_mat4x3_both" />
+<Test name="highp_mat4x3_vertex" />
+<Test name="highp_mat4x3_fragment" />
+<Test name="highp_mat4x3_both" />
+<Test name="row_major_lowp_mat4x3_vertex" />
+<Test name="row_major_lowp_mat4x3_fragment" />
+<Test name="row_major_lowp_mat4x3_both" />
+<Test name="row_major_mediump_mat4x3_vertex" />
+<Test name="row_major_mediump_mat4x3_fragment" />
+<Test name="row_major_mediump_mat4x3_both" />
+<Test name="row_major_highp_mat4x3_vertex" />
+<Test name="row_major_highp_mat4x3_fragment" />
+<Test name="row_major_highp_mat4x3_both" />
+<Test name="column_major_lowp_mat4x3_vertex" />
+<Test name="column_major_lowp_mat4x3_fragment" />
+<Test name="column_major_lowp_mat4x3_both" />
+<Test name="column_major_mediump_mat4x3_vertex" />
+<Test name="column_major_mediump_mat4x3_fragment" />
+<Test name="column_major_mediump_mat4x3_both" />
+<Test name="column_major_highp_mat4x3_vertex" />
+<Test name="column_major_highp_mat4x3_fragment" />
+<Test name="column_major_highp_mat4x3_both" />
+</TestCase>
+<TestCase name="packed">
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+<Test name="lowp_uvec2_vertex" />
+<Test name="lowp_uvec2_fragment" />
+<Test name="mediump_uvec2_vertex" />
+<Test name="mediump_uvec2_fragment" />
+<Test name="highp_uvec2_vertex" />
+<Test name="highp_uvec2_fragment" />
+<Test name="lowp_uvec3_vertex" />
+<Test name="lowp_uvec3_fragment" />
+<Test name="mediump_uvec3_vertex" />
+<Test name="mediump_uvec3_fragment" />
+<Test name="highp_uvec3_vertex" />
+<Test name="highp_uvec3_fragment" />
+<Test name="lowp_uvec4_vertex" />
+<Test name="lowp_uvec4_fragment" />
+<Test name="mediump_uvec4_vertex" />
+<Test name="mediump_uvec4_fragment" />
+<Test name="highp_uvec4_vertex" />
+<Test name="highp_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="lowp_mat2_vertex" />
+<Test name="lowp_mat2_fragment" />
+<Test name="mediump_mat2_vertex" />
+<Test name="mediump_mat2_fragment" />
+<Test name="highp_mat2_vertex" />
+<Test name="highp_mat2_fragment" />
+<Test name="row_major_lowp_mat2_vertex" />
+<Test name="row_major_lowp_mat2_fragment" />
+<Test name="row_major_mediump_mat2_vertex" />
+<Test name="row_major_mediump_mat2_fragment" />
+<Test name="row_major_highp_mat2_vertex" />
+<Test name="row_major_highp_mat2_fragment" />
+<Test name="column_major_lowp_mat2_vertex" />
+<Test name="column_major_lowp_mat2_fragment" />
+<Test name="column_major_mediump_mat2_vertex" />
+<Test name="column_major_mediump_mat2_fragment" />
+<Test name="column_major_highp_mat2_vertex" />
+<Test name="column_major_highp_mat2_fragment" />
+<Test name="lowp_mat3_vertex" />
+<Test name="lowp_mat3_fragment" />
+<Test name="mediump_mat3_vertex" />
+<Test name="mediump_mat3_fragment" />
+<Test name="highp_mat3_vertex" />
+<Test name="highp_mat3_fragment" />
+<Test name="row_major_lowp_mat3_vertex" />
+<Test name="row_major_lowp_mat3_fragment" />
+<Test name="row_major_mediump_mat3_vertex" />
+<Test name="row_major_mediump_mat3_fragment" />
+<Test name="row_major_highp_mat3_vertex" />
+<Test name="row_major_highp_mat3_fragment" />
+<Test name="column_major_lowp_mat3_vertex" />
+<Test name="column_major_lowp_mat3_fragment" />
+<Test name="column_major_mediump_mat3_vertex" />
+<Test name="column_major_mediump_mat3_fragment" />
+<Test name="column_major_highp_mat3_vertex" />
+<Test name="column_major_highp_mat3_fragment" />
+<Test name="lowp_mat4_vertex" />
+<Test name="lowp_mat4_fragment" />
+<Test name="mediump_mat4_vertex" />
+<Test name="mediump_mat4_fragment" />
+<Test name="highp_mat4_vertex" />
+<Test name="highp_mat4_fragment" />
+<Test name="row_major_lowp_mat4_vertex" />
+<Test name="row_major_lowp_mat4_fragment" />
+<Test name="row_major_mediump_mat4_vertex" />
+<Test name="row_major_mediump_mat4_fragment" />
+<Test name="row_major_highp_mat4_vertex" />
+<Test name="row_major_highp_mat4_fragment" />
+<Test name="column_major_lowp_mat4_vertex" />
+<Test name="column_major_lowp_mat4_fragment" />
+<Test name="column_major_mediump_mat4_vertex" />
+<Test name="column_major_mediump_mat4_fragment" />
+<Test name="column_major_highp_mat4_vertex" />
+<Test name="column_major_highp_mat4_fragment" />
+<Test name="lowp_mat2x3_vertex" />
+<Test name="lowp_mat2x3_fragment" />
+<Test name="mediump_mat2x3_vertex" />
+<Test name="mediump_mat2x3_fragment" />
+<Test name="highp_mat2x3_vertex" />
+<Test name="highp_mat2x3_fragment" />
+<Test name="row_major_lowp_mat2x3_vertex" />
+<Test name="row_major_lowp_mat2x3_fragment" />
+<Test name="row_major_mediump_mat2x3_vertex" />
+<Test name="row_major_mediump_mat2x3_fragment" />
+<Test name="row_major_highp_mat2x3_vertex" />
+<Test name="row_major_highp_mat2x3_fragment" />
+<Test name="column_major_lowp_mat2x3_vertex" />
+<Test name="column_major_lowp_mat2x3_fragment" />
+<Test name="column_major_mediump_mat2x3_vertex" />
+<Test name="column_major_mediump_mat2x3_fragment" />
+<Test name="column_major_highp_mat2x3_vertex" />
+<Test name="column_major_highp_mat2x3_fragment" />
+<Test name="lowp_mat2x4_vertex" />
+<Test name="lowp_mat2x4_fragment" />
+<Test name="mediump_mat2x4_vertex" />
+<Test name="mediump_mat2x4_fragment" />
+<Test name="highp_mat2x4_vertex" />
+<Test name="highp_mat2x4_fragment" />
+<Test name="row_major_lowp_mat2x4_vertex" />
+<Test name="row_major_lowp_mat2x4_fragment" />
+<Test name="row_major_mediump_mat2x4_vertex" />
+<Test name="row_major_mediump_mat2x4_fragment" />
+<Test name="row_major_highp_mat2x4_vertex" />
+<Test name="row_major_highp_mat2x4_fragment" />
+<Test name="column_major_lowp_mat2x4_vertex" />
+<Test name="column_major_lowp_mat2x4_fragment" />
+<Test name="column_major_mediump_mat2x4_vertex" />
+<Test name="column_major_mediump_mat2x4_fragment" />
+<Test name="column_major_highp_mat2x4_vertex" />
+<Test name="column_major_highp_mat2x4_fragment" />
+<Test name="lowp_mat3x2_vertex" />
+<Test name="lowp_mat3x2_fragment" />
+<Test name="mediump_mat3x2_vertex" />
+<Test name="mediump_mat3x2_fragment" />
+<Test name="highp_mat3x2_vertex" />
+<Test name="highp_mat3x2_fragment" />
+<Test name="row_major_lowp_mat3x2_vertex" />
+<Test name="row_major_lowp_mat3x2_fragment" />
+<Test name="row_major_mediump_mat3x2_vertex" />
+<Test name="row_major_mediump_mat3x2_fragment" />
+<Test name="row_major_highp_mat3x2_vertex" />
+<Test name="row_major_highp_mat3x2_fragment" />
+<Test name="column_major_lowp_mat3x2_vertex" />
+<Test name="column_major_lowp_mat3x2_fragment" />
+<Test name="column_major_mediump_mat3x2_vertex" />
+<Test name="column_major_mediump_mat3x2_fragment" />
+<Test name="column_major_highp_mat3x2_vertex" />
+<Test name="column_major_highp_mat3x2_fragment" />
+<Test name="lowp_mat3x4_vertex" />
+<Test name="lowp_mat3x4_fragment" />
+<Test name="mediump_mat3x4_vertex" />
+<Test name="mediump_mat3x4_fragment" />
+<Test name="highp_mat3x4_vertex" />
+<Test name="highp_mat3x4_fragment" />
+<Test name="row_major_lowp_mat3x4_vertex" />
+<Test name="row_major_lowp_mat3x4_fragment" />
+<Test name="row_major_mediump_mat3x4_vertex" />
+<Test name="row_major_mediump_mat3x4_fragment" />
+<Test name="row_major_highp_mat3x4_vertex" />
+<Test name="row_major_highp_mat3x4_fragment" />
+<Test name="column_major_lowp_mat3x4_vertex" />
+<Test name="column_major_lowp_mat3x4_fragment" />
+<Test name="column_major_mediump_mat3x4_vertex" />
+<Test name="column_major_mediump_mat3x4_fragment" />
+<Test name="column_major_highp_mat3x4_vertex" />
+<Test name="column_major_highp_mat3x4_fragment" />
+<Test name="lowp_mat4x2_vertex" />
+<Test name="lowp_mat4x2_fragment" />
+<Test name="mediump_mat4x2_vertex" />
+<Test name="mediump_mat4x2_fragment" />
+<Test name="highp_mat4x2_vertex" />
+<Test name="highp_mat4x2_fragment" />
+<Test name="row_major_lowp_mat4x2_vertex" />
+<Test name="row_major_lowp_mat4x2_fragment" />
+<Test name="row_major_mediump_mat4x2_vertex" />
+<Test name="row_major_mediump_mat4x2_fragment" />
+<Test name="row_major_highp_mat4x2_vertex" />
+<Test name="row_major_highp_mat4x2_fragment" />
+<Test name="column_major_lowp_mat4x2_vertex" />
+<Test name="column_major_lowp_mat4x2_fragment" />
+<Test name="column_major_mediump_mat4x2_vertex" />
+<Test name="column_major_mediump_mat4x2_fragment" />
+<Test name="column_major_highp_mat4x2_vertex" />
+<Test name="column_major_highp_mat4x2_fragment" />
+<Test name="lowp_mat4x3_vertex" />
+<Test name="lowp_mat4x3_fragment" />
+<Test name="mediump_mat4x3_vertex" />
+<Test name="mediump_mat4x3_fragment" />
+<Test name="highp_mat4x3_vertex" />
+<Test name="highp_mat4x3_fragment" />
+<Test name="row_major_lowp_mat4x3_vertex" />
+<Test name="row_major_lowp_mat4x3_fragment" />
+<Test name="row_major_mediump_mat4x3_vertex" />
+<Test name="row_major_mediump_mat4x3_fragment" />
+<Test name="row_major_highp_mat4x3_vertex" />
+<Test name="row_major_highp_mat4x3_fragment" />
+<Test name="column_major_lowp_mat4x3_vertex" />
+<Test name="column_major_lowp_mat4x3_fragment" />
+<Test name="column_major_mediump_mat4x3_vertex" />
+<Test name="column_major_mediump_mat4x3_fragment" />
+<Test name="column_major_highp_mat4x3_vertex" />
+<Test name="column_major_highp_mat4x3_fragment" />
+</TestCase>
+<TestCase name="std140">
+<Test name="lowp_float_vertex" />
+<Test name="lowp_float_fragment" />
+<Test name="lowp_float_both" />
+<Test name="mediump_float_vertex" />
+<Test name="mediump_float_fragment" />
+<Test name="mediump_float_both" />
+<Test name="highp_float_vertex" />
+<Test name="highp_float_fragment" />
+<Test name="highp_float_both" />
+<Test name="lowp_vec2_vertex" />
+<Test name="lowp_vec2_fragment" />
+<Test name="lowp_vec2_both" />
+<Test name="mediump_vec2_vertex" />
+<Test name="mediump_vec2_fragment" />
+<Test name="mediump_vec2_both" />
+<Test name="highp_vec2_vertex" />
+<Test name="highp_vec2_fragment" />
+<Test name="highp_vec2_both" />
+<Test name="lowp_vec3_vertex" />
+<Test name="lowp_vec3_fragment" />
+<Test name="lowp_vec3_both" />
+<Test name="mediump_vec3_vertex" />
+<Test name="mediump_vec3_fragment" />
+<Test name="mediump_vec3_both" />
+<Test name="highp_vec3_vertex" />
+<Test name="highp_vec3_fragment" />
+<Test name="highp_vec3_both" />
+<Test name="lowp_vec4_vertex" />
+<Test name="lowp_vec4_fragment" />
+<Test name="lowp_vec4_both" />
+<Test name="mediump_vec4_vertex" />
+<Test name="mediump_vec4_fragment" />
+<Test name="mediump_vec4_both" />
+<Test name="highp_vec4_vertex" />
+<Test name="highp_vec4_fragment" />
+<Test name="highp_vec4_both" />
+<Test name="lowp_int_vertex" />
+<Test name="lowp_int_fragment" />
+<Test name="lowp_int_both" />
+<Test name="mediump_int_vertex" />
+<Test name="mediump_int_fragment" />
+<Test name="mediump_int_both" />
+<Test name="highp_int_vertex" />
+<Test name="highp_int_fragment" />
+<Test name="highp_int_both" />
+<Test name="lowp_ivec2_vertex" />
+<Test name="lowp_ivec2_fragment" />
+<Test name="lowp_ivec2_both" />
+<Test name="mediump_ivec2_vertex" />
+<Test name="mediump_ivec2_fragment" />
+<Test name="mediump_ivec2_both" />
+<Test name="highp_ivec2_vertex" />
+<Test name="highp_ivec2_fragment" />
+<Test name="highp_ivec2_both" />
+<Test name="lowp_ivec3_vertex" />
+<Test name="lowp_ivec3_fragment" />
+<Test name="lowp_ivec3_both" />
+<Test name="mediump_ivec3_vertex" />
+<Test name="mediump_ivec3_fragment" />
+<Test name="mediump_ivec3_both" />
+<Test name="highp_ivec3_vertex" />
+<Test name="highp_ivec3_fragment" />
+<Test name="highp_ivec3_both" />
+<Test name="lowp_ivec4_vertex" />
+<Test name="lowp_ivec4_fragment" />
+<Test name="lowp_ivec4_both" />
+<Test name="mediump_ivec4_vertex" />
+<Test name="mediump_ivec4_fragment" />
+<Test name="mediump_ivec4_both" />
+<Test name="highp_ivec4_vertex" />
+<Test name="highp_ivec4_fragment" />
+<Test name="highp_ivec4_both" />
+<Test name="lowp_uvec2_vertex" />
+<Test name="lowp_uvec2_fragment" />
+<Test name="lowp_uvec2_both" />
+<Test name="mediump_uvec2_vertex" />
+<Test name="mediump_uvec2_fragment" />
+<Test name="mediump_uvec2_both" />
+<Test name="highp_uvec2_vertex" />
+<Test name="highp_uvec2_fragment" />
+<Test name="highp_uvec2_both" />
+<Test name="lowp_uvec3_vertex" />
+<Test name="lowp_uvec3_fragment" />
+<Test name="lowp_uvec3_both" />
+<Test name="mediump_uvec3_vertex" />
+<Test name="mediump_uvec3_fragment" />
+<Test name="mediump_uvec3_both" />
+<Test name="highp_uvec3_vertex" />
+<Test name="highp_uvec3_fragment" />
+<Test name="highp_uvec3_both" />
+<Test name="lowp_uvec4_vertex" />
+<Test name="lowp_uvec4_fragment" />
+<Test name="lowp_uvec4_both" />
+<Test name="mediump_uvec4_vertex" />
+<Test name="mediump_uvec4_fragment" />
+<Test name="mediump_uvec4_both" />
+<Test name="highp_uvec4_vertex" />
+<Test name="highp_uvec4_fragment" />
+<Test name="highp_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="lowp_mat2_vertex" />
+<Test name="lowp_mat2_fragment" />
+<Test name="lowp_mat2_both" />
+<Test name="mediump_mat2_vertex" />
+<Test name="mediump_mat2_fragment" />
+<Test name="mediump_mat2_both" />
+<Test name="highp_mat2_vertex" />
+<Test name="highp_mat2_fragment" />
+<Test name="highp_mat2_both" />
+<Test name="row_major_lowp_mat2_vertex" />
+<Test name="row_major_lowp_mat2_fragment" />
+<Test name="row_major_lowp_mat2_both" />
+<Test name="row_major_mediump_mat2_vertex" />
+<Test name="row_major_mediump_mat2_fragment" />
+<Test name="row_major_mediump_mat2_both" />
+<Test name="row_major_highp_mat2_vertex" />
+<Test name="row_major_highp_mat2_fragment" />
+<Test name="row_major_highp_mat2_both" />
+<Test name="column_major_lowp_mat2_vertex" />
+<Test name="column_major_lowp_mat2_fragment" />
+<Test name="column_major_lowp_mat2_both" />
+<Test name="column_major_mediump_mat2_vertex" />
+<Test name="column_major_mediump_mat2_fragment" />
+<Test name="column_major_mediump_mat2_both" />
+<Test name="column_major_highp_mat2_vertex" />
+<Test name="column_major_highp_mat2_fragment" />
+<Test name="column_major_highp_mat2_both" />
+<Test name="lowp_mat3_vertex" />
+<Test name="lowp_mat3_fragment" />
+<Test name="lowp_mat3_both" />
+<Test name="mediump_mat3_vertex" />
+<Test name="mediump_mat3_fragment" />
+<Test name="mediump_mat3_both" />
+<Test name="highp_mat3_vertex" />
+<Test name="highp_mat3_fragment" />
+<Test name="highp_mat3_both" />
+<Test name="row_major_lowp_mat3_vertex" />
+<Test name="row_major_lowp_mat3_fragment" />
+<Test name="row_major_lowp_mat3_both" />
+<Test name="row_major_mediump_mat3_vertex" />
+<Test name="row_major_mediump_mat3_fragment" />
+<Test name="row_major_mediump_mat3_both" />
+<Test name="row_major_highp_mat3_vertex" />
+<Test name="row_major_highp_mat3_fragment" />
+<Test name="row_major_highp_mat3_both" />
+<Test name="column_major_lowp_mat3_vertex" />
+<Test name="column_major_lowp_mat3_fragment" />
+<Test name="column_major_lowp_mat3_both" />
+<Test name="column_major_mediump_mat3_vertex" />
+<Test name="column_major_mediump_mat3_fragment" />
+<Test name="column_major_mediump_mat3_both" />
+<Test name="column_major_highp_mat3_vertex" />
+<Test name="column_major_highp_mat3_fragment" />
+<Test name="column_major_highp_mat3_both" />
+<Test name="lowp_mat4_vertex" />
+<Test name="lowp_mat4_fragment" />
+<Test name="lowp_mat4_both" />
+<Test name="mediump_mat4_vertex" />
+<Test name="mediump_mat4_fragment" />
+<Test name="mediump_mat4_both" />
+<Test name="highp_mat4_vertex" />
+<Test name="highp_mat4_fragment" />
+<Test name="highp_mat4_both" />
+<Test name="row_major_lowp_mat4_vertex" />
+<Test name="row_major_lowp_mat4_fragment" />
+<Test name="row_major_lowp_mat4_both" />
+<Test name="row_major_mediump_mat4_vertex" />
+<Test name="row_major_mediump_mat4_fragment" />
+<Test name="row_major_mediump_mat4_both" />
+<Test name="row_major_highp_mat4_vertex" />
+<Test name="row_major_highp_mat4_fragment" />
+<Test name="row_major_highp_mat4_both" />
+<Test name="column_major_lowp_mat4_vertex" />
+<Test name="column_major_lowp_mat4_fragment" />
+<Test name="column_major_lowp_mat4_both" />
+<Test name="column_major_mediump_mat4_vertex" />
+<Test name="column_major_mediump_mat4_fragment" />
+<Test name="column_major_mediump_mat4_both" />
+<Test name="column_major_highp_mat4_vertex" />
+<Test name="column_major_highp_mat4_fragment" />
+<Test name="column_major_highp_mat4_both" />
+<Test name="lowp_mat2x3_vertex" />
+<Test name="lowp_mat2x3_fragment" />
+<Test name="lowp_mat2x3_both" />
+<Test name="mediump_mat2x3_vertex" />
+<Test name="mediump_mat2x3_fragment" />
+<Test name="mediump_mat2x3_both" />
+<Test name="highp_mat2x3_vertex" />
+<Test name="highp_mat2x3_fragment" />
+<Test name="highp_mat2x3_both" />
+<Test name="row_major_lowp_mat2x3_vertex" />
+<Test name="row_major_lowp_mat2x3_fragment" />
+<Test name="row_major_lowp_mat2x3_both" />
+<Test name="row_major_mediump_mat2x3_vertex" />
+<Test name="row_major_mediump_mat2x3_fragment" />
+<Test name="row_major_mediump_mat2x3_both" />
+<Test name="row_major_highp_mat2x3_vertex" />
+<Test name="row_major_highp_mat2x3_fragment" />
+<Test name="row_major_highp_mat2x3_both" />
+<Test name="column_major_lowp_mat2x3_vertex" />
+<Test name="column_major_lowp_mat2x3_fragment" />
+<Test name="column_major_lowp_mat2x3_both" />
+<Test name="column_major_mediump_mat2x3_vertex" />
+<Test name="column_major_mediump_mat2x3_fragment" />
+<Test name="column_major_mediump_mat2x3_both" />
+<Test name="column_major_highp_mat2x3_vertex" />
+<Test name="column_major_highp_mat2x3_fragment" />
+<Test name="column_major_highp_mat2x3_both" />
+<Test name="lowp_mat2x4_vertex" />
+<Test name="lowp_mat2x4_fragment" />
+<Test name="lowp_mat2x4_both" />
+<Test name="mediump_mat2x4_vertex" />
+<Test name="mediump_mat2x4_fragment" />
+<Test name="mediump_mat2x4_both" />
+<Test name="highp_mat2x4_vertex" />
+<Test name="highp_mat2x4_fragment" />
+<Test name="highp_mat2x4_both" />
+<Test name="row_major_lowp_mat2x4_vertex" />
+<Test name="row_major_lowp_mat2x4_fragment" />
+<Test name="row_major_lowp_mat2x4_both" />
+<Test name="row_major_mediump_mat2x4_vertex" />
+<Test name="row_major_mediump_mat2x4_fragment" />
+<Test name="row_major_mediump_mat2x4_both" />
+<Test name="row_major_highp_mat2x4_vertex" />
+<Test name="row_major_highp_mat2x4_fragment" />
+<Test name="row_major_highp_mat2x4_both" />
+<Test name="column_major_lowp_mat2x4_vertex" />
+<Test name="column_major_lowp_mat2x4_fragment" />
+<Test name="column_major_lowp_mat2x4_both" />
+<Test name="column_major_mediump_mat2x4_vertex" />
+<Test name="column_major_mediump_mat2x4_fragment" />
+<Test name="column_major_mediump_mat2x4_both" />
+<Test name="column_major_highp_mat2x4_vertex" />
+<Test name="column_major_highp_mat2x4_fragment" />
+<Test name="column_major_highp_mat2x4_both" />
+<Test name="lowp_mat3x2_vertex" />
+<Test name="lowp_mat3x2_fragment" />
+<Test name="lowp_mat3x2_both" />
+<Test name="mediump_mat3x2_vertex" />
+<Test name="mediump_mat3x2_fragment" />
+<Test name="mediump_mat3x2_both" />
+<Test name="highp_mat3x2_vertex" />
+<Test name="highp_mat3x2_fragment" />
+<Test name="highp_mat3x2_both" />
+<Test name="row_major_lowp_mat3x2_vertex" />
+<Test name="row_major_lowp_mat3x2_fragment" />
+<Test name="row_major_lowp_mat3x2_both" />
+<Test name="row_major_mediump_mat3x2_vertex" />
+<Test name="row_major_mediump_mat3x2_fragment" />
+<Test name="row_major_mediump_mat3x2_both" />
+<Test name="row_major_highp_mat3x2_vertex" />
+<Test name="row_major_highp_mat3x2_fragment" />
+<Test name="row_major_highp_mat3x2_both" />
+<Test name="column_major_lowp_mat3x2_vertex" />
+<Test name="column_major_lowp_mat3x2_fragment" />
+<Test name="column_major_lowp_mat3x2_both" />
+<Test name="column_major_mediump_mat3x2_vertex" />
+<Test name="column_major_mediump_mat3x2_fragment" />
+<Test name="column_major_mediump_mat3x2_both" />
+<Test name="column_major_highp_mat3x2_vertex" />
+<Test name="column_major_highp_mat3x2_fragment" />
+<Test name="column_major_highp_mat3x2_both" />
+<Test name="lowp_mat3x4_vertex" />
+<Test name="lowp_mat3x4_fragment" />
+<Test name="lowp_mat3x4_both" />
+<Test name="mediump_mat3x4_vertex" />
+<Test name="mediump_mat3x4_fragment" />
+<Test name="mediump_mat3x4_both" />
+<Test name="highp_mat3x4_vertex" />
+<Test name="highp_mat3x4_fragment" />
+<Test name="highp_mat3x4_both" />
+<Test name="row_major_lowp_mat3x4_vertex" />
+<Test name="row_major_lowp_mat3x4_fragment" />
+<Test name="row_major_lowp_mat3x4_both" />
+<Test name="row_major_mediump_mat3x4_vertex" />
+<Test name="row_major_mediump_mat3x4_fragment" />
+<Test name="row_major_mediump_mat3x4_both" />
+<Test name="row_major_highp_mat3x4_vertex" />
+<Test name="row_major_highp_mat3x4_fragment" />
+<Test name="row_major_highp_mat3x4_both" />
+<Test name="column_major_lowp_mat3x4_vertex" />
+<Test name="column_major_lowp_mat3x4_fragment" />
+<Test name="column_major_lowp_mat3x4_both" />
+<Test name="column_major_mediump_mat3x4_vertex" />
+<Test name="column_major_mediump_mat3x4_fragment" />
+<Test name="column_major_mediump_mat3x4_both" />
+<Test name="column_major_highp_mat3x4_vertex" />
+<Test name="column_major_highp_mat3x4_fragment" />
+<Test name="column_major_highp_mat3x4_both" />
+<Test name="lowp_mat4x2_vertex" />
+<Test name="lowp_mat4x2_fragment" />
+<Test name="lowp_mat4x2_both" />
+<Test name="mediump_mat4x2_vertex" />
+<Test name="mediump_mat4x2_fragment" />
+<Test name="mediump_mat4x2_both" />
+<Test name="highp_mat4x2_vertex" />
+<Test name="highp_mat4x2_fragment" />
+<Test name="highp_mat4x2_both" />
+<Test name="row_major_lowp_mat4x2_vertex" />
+<Test name="row_major_lowp_mat4x2_fragment" />
+<Test name="row_major_lowp_mat4x2_both" />
+<Test name="row_major_mediump_mat4x2_vertex" />
+<Test name="row_major_mediump_mat4x2_fragment" />
+<Test name="row_major_mediump_mat4x2_both" />
+<Test name="row_major_highp_mat4x2_vertex" />
+<Test name="row_major_highp_mat4x2_fragment" />
+<Test name="row_major_highp_mat4x2_both" />
+<Test name="column_major_lowp_mat4x2_vertex" />
+<Test name="column_major_lowp_mat4x2_fragment" />
+<Test name="column_major_lowp_mat4x2_both" />
+<Test name="column_major_mediump_mat4x2_vertex" />
+<Test name="column_major_mediump_mat4x2_fragment" />
+<Test name="column_major_mediump_mat4x2_both" />
+<Test name="column_major_highp_mat4x2_vertex" />
+<Test name="column_major_highp_mat4x2_fragment" />
+<Test name="column_major_highp_mat4x2_both" />
+<Test name="lowp_mat4x3_vertex" />
+<Test name="lowp_mat4x3_fragment" />
+<Test name="lowp_mat4x3_both" />
+<Test name="mediump_mat4x3_vertex" />
+<Test name="mediump_mat4x3_fragment" />
+<Test name="mediump_mat4x3_both" />
+<Test name="highp_mat4x3_vertex" />
+<Test name="highp_mat4x3_fragment" />
+<Test name="highp_mat4x3_both" />
+<Test name="row_major_lowp_mat4x3_vertex" />
+<Test name="row_major_lowp_mat4x3_fragment" />
+<Test name="row_major_lowp_mat4x3_both" />
+<Test name="row_major_mediump_mat4x3_vertex" />
+<Test name="row_major_mediump_mat4x3_fragment" />
+<Test name="row_major_mediump_mat4x3_both" />
+<Test name="row_major_highp_mat4x3_vertex" />
+<Test name="row_major_highp_mat4x3_fragment" />
+<Test name="row_major_highp_mat4x3_both" />
+<Test name="column_major_lowp_mat4x3_vertex" />
+<Test name="column_major_lowp_mat4x3_fragment" />
+<Test name="column_major_lowp_mat4x3_both" />
+<Test name="column_major_mediump_mat4x3_vertex" />
+<Test name="column_major_mediump_mat4x3_fragment" />
+<Test name="column_major_mediump_mat4x3_both" />
+<Test name="column_major_highp_mat4x3_vertex" />
+<Test name="column_major_highp_mat4x3_fragment" />
+<Test name="column_major_highp_mat4x3_both" />
+</TestCase>
+</TestSuite>
+<TestSuite name="single_basic_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="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="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="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="single_struct">
+<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="single_nested_struct">
+<TestCase name="per_block_buffer">
+<Test name="packed_vertex" />
+<Test name="packed_fragment" />
+<Test name="packed_instance_array_vertex" />
+<Test name="std140_vertex" />
+<Test name="std140_fragment" />
+<Test name="std140_both" />
+<Test name="std140_instance_array_vertex" />
+</TestCase>
+<TestCase name="single_buffer">
+<Test name="packed_instance_array_vertex" />
+<Test name="std140_instance_array_vertex" />
+</TestCase>
+</TestSuite>
+<TestSuite name="instance_array_basic_type">
+<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="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="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="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="multi_basic_types">
+<TestCase name="per_block_buffer">
+<Test name="packed_vertex" />
+<Test name="packed_fragment" />
+<Test name="packed_mixed" />
+<Test name="packed_instance_array_vertex" />
+<Test name="packed_instance_array_fragment" />
+<Test name="packed_instance_array_mixed" />
+<Test name="std140_vertex" />
+<Test name="std140_fragment" />
+<Test name="std140_both" />
+<Test name="std140_mixed" />
+<Test name="std140_instance_array_vertex" />
+<Test name="std140_instance_array_fragment" />
+<Test name="std140_instance_array_both" />
+<Test name="std140_instance_array_mixed" />
+</TestCase>
+<TestCase name="single_buffer">
+<Test name="packed_vertex" />
+<Test name="packed_fragment" />
+<Test name="packed_mixed" />
+<Test name="packed_instance_array_vertex" />
+<Test name="packed_instance_array_fragment" />
+<Test name="packed_instance_array_mixed" />
+<Test name="std140_vertex" />
+<Test name="std140_fragment" />
+<Test name="std140_both" />
+<Test name="std140_mixed" />
+<Test name="std140_instance_array_vertex" />
+<Test name="std140_instance_array_fragment" />
+<Test name="std140_instance_array_both" />
+<Test name="std140_instance_array_mixed" />
+</TestCase>
+</TestSuite>
+<TestSuite name="multi_nested_struct">
+<TestCase name="per_block_buffer">
+<Test name="packed_vertex" />
+<Test name="packed_instance_array_vertex" />
+</TestCase>
+<TestCase name="single_buffer">
+<Test name="packed_vertex" />
+<Test name="packed_instance_array_vertex" />
+</TestCase>
+</TestSuite>
+<TestSuite name="random">
+<TestCase name="scalar_types">
+<Test name="0" />
+<Test name="2" />
+<Test name="3" />
+<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="16" />
+<Test name="18" />
+<Test name="19" />
+<Test name="22" />
+</TestCase>
+<TestCase name="vector_types">
+<Test name="1" />
+<Test name="2" />
+<Test name="4" />
+<Test name="5" />
+<Test name="6" />
+<Test name="9" />
+<Test name="11" />
+<Test name="12" />
+<Test name="13" />
+<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="24" />
+</TestCase>
+<TestCase name="basic_types">
+<Test name="0" />
+<Test name="3" />
+<Test name="4" />
+<Test name="5" />
+<Test name="7" />
+<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="19" />
+<Test name="20" />
+<Test name="21" />
+<Test name="22" />
+<Test name="24" />
+</TestCase>
+<TestCase name="basic_arrays">
+<Test name="0" />
+<Test name="4" />
+<Test name="6" />
+<Test name="7" />
+<Test name="8" />
+<Test name="10" />
+<Test name="16" />
+<Test name="17" />
+<Test name="20" />
+<Test name="22" />
+<Test name="23" />
+<Test name="24" />
+</TestCase>
+<TestCase name="basic_instance_arrays">
+<Test name="3" />
+<Test name="7" />
+<Test name="9" />
+<Test name="10" />
+<Test name="12" />
+<Test name="13" />
+<Test name="16" />
+<Test name="21" />
+<Test name="23" />
+</TestCase>
+<TestCase name="nested_structs">
+<Test name="1" />
+<Test name="5" />
+<Test name="6" />
+<Test name="10" />
+<Test name="13" />
+<Test name="14" />
+<Test name="17" />
+<Test name="18" />
+<Test name="24" />
+</TestCase>
+<TestCase name="nested_structs_arrays">
+<Test name="0" />
+<Test name="4" />
+<Test name="5" />
+<Test name="10" />
+<Test name="16" />
+<Test name="18" />
+<Test name="24" />
+</TestCase>
+<TestCase name="nested_structs_instance_arrays">
+<Test name="1" />
+<Test name="2" />
+<Test name="7" />
+<Test name="9" />
+<Test name="11" />
+<Test name="13" />
+<Test name="16" />
+<Test name="17" />
+<Test name="19" />
+<Test name="20" />
+<Test name="23" />
+</TestCase>
+<TestCase name="nested_structs_arrays_instance_arrays">
+<Test name="0" />
+<Test name="1" />
+<Test name="9" />
+<Test name="12" />
+<Test name="15" />
+<Test name="18" />
+<Test name="23" />
+<Test name="24" />
+</TestCase>
+<TestCase name="all_per_block_buffers">
+<Test name="4" />
+<Test name="5" />
+<Test name="7" />
+<Test name="10" />
+<Test name="12" />
+<Test name="18" />
+<Test name="19" />
+<Test name="20" />
+<Test name="21" />
+<Test name="23" />
+<Test name="29" />
+<Test name="30" />
+<Test name="32" />
+<Test name="34" />
+<Test name="39" />
+<Test name="42" />
+<Test name="45" />
+<Test name="48" />
+<Test name="49" />
+</TestCase>
+<TestCase name="all_shared_buffer">
+<Test name="5" />
+<Test name="7" />
+<Test name="12" />
+<Test name="14" />
+<Test name="15" />
+<Test name="24" />
+<Test name="26" />
+<Test name="29" />
+<Test name="30" />
+<Test name="34" />
+<Test name="36" />
+<Test name="38" />
+<Test name="39" />
+<Test name="42" />
+<Test name="44" />
+<Test name="46" />
+<Test name="47" />
+</TestCase>
+</TestSuite>
+</TestSuite>
+<TestSuite name="uniform_api">
+<TestSuite name="info_query">
+<TestSuite name="active_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="mat2x3_vertex" />
+<Test name="mat2x3_fragment" />
+<Test name="mat2x3_both" />
+<Test name="mat2x4_vertex" />
+<Test name="mat2x4_fragment" />
+<Test name="mat2x4_both" />
+<Test name="mat3x2_vertex" />
+<Test name="mat3x2_fragment" />
+<Test name="mat3x2_both" />
+<Test name="mat3_vertex" />
+<Test name="mat3_fragment" />
+<Test name="mat3_both" />
+<Test name="mat3x4_vertex" />
+<Test name="mat3x4_fragment" />
+<Test name="mat3x4_both" />
+<Test name="mat4x2_vertex" />
+<Test name="mat4x2_fragment" />
+<Test name="mat4x2_both" />
+<Test name="mat4x3_vertex" />
+<Test name="mat4x3_fragment" />
+<Test name="mat4x3_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="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_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="samplerCube_vertex" />
+<Test name="samplerCube_fragment" />
+</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="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_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" />
+</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" />
+</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="bool_bvec4_vertex" />
+<Test name="bool_bvec4_fragment" />
+<Test name="bool_bvec4_both" />
+<Test name="sampler2D_samplerCube_vertex" />
+<Test name="sampler2D_samplerCube_fragment" />
+</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="bool_bvec4_vertex" />
+<Test name="bool_bvec4_fragment" />
+<Test name="bool_bvec4_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="bool_bvec4_vertex" />
+<Test name="bool_bvec4_fragment" />
+<Test name="bool_bvec4_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>
+<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" />
+</TestCase>
+</TestSuite>
+<TestSuite name="indices_active_uniformsiv">
+<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="mat2x3_vertex" />
+<Test name="mat2x3_fragment" />
+<Test name="mat2x3_both" />
+<Test name="mat2x4_vertex" />
+<Test name="mat2x4_fragment" />
+<Test name="mat2x4_both" />
+<Test name="mat3x2_vertex" />
+<Test name="mat3x2_fragment" />
+<Test name="mat3x2_both" />
+<Test name="mat3_vertex" />
+<Test name="mat3_fragment" />
+<Test name="mat3_both" />
+<Test name="mat3x4_vertex" />
+<Test name="mat3x4_fragment" />
+<Test name="mat3x4_both" />
+<Test name="mat4x2_vertex" />
+<Test name="mat4x2_fragment" />
+<Test name="mat4x2_both" />
+<Test name="mat4x3_vertex" />
+<Test name="mat4x3_fragment" />
+<Test name="mat4x3_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="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_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="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_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_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="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_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="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="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="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>
+<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="consistency">
+<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="mat2x3_vertex" />
+<Test name="mat2x3_fragment" />
+<Test name="mat2x3_both" />
+<Test name="mat2x4_vertex" />
+<Test name="mat2x4_fragment" />
+<Test name="mat2x4_both" />
+<Test name="mat3x2_vertex" />
+<Test name="mat3x2_fragment" />
+<Test name="mat3x2_both" />
+<Test name="mat3_vertex" />
+<Test name="mat3_fragment" />
+<Test name="mat3_both" />
+<Test name="mat3x4_vertex" />
+<Test name="mat3x4_fragment" />
+<Test name="mat3x4_both" />
+<Test name="mat4x2_vertex" />
+<Test name="mat4x2_fragment" />
+<Test name="mat4x2_both" />
+<Test name="mat4x3_vertex" />
+<Test name="mat4x3_fragment" />
+<Test name="mat4x3_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="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_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="samplerCube_vertex" />
+<Test name="samplerCube_fragment" />
+</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="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_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" />
+</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" />
+</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="bool_bvec4_vertex" />
+<Test name="bool_bvec4_fragment" />
+<Test name="bool_bvec4_both" />
+<Test name="sampler2D_samplerCube_vertex" />
+<Test name="sampler2D_samplerCube_fragment" />
+</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="bool_bvec4_vertex" />
+<Test name="bool_bvec4_fragment" />
+<Test name="bool_bvec4_both" />
+<Test name="sampler2D_samplerCube_vertex" />
+<Test name="sampler2D_samplerCube_fragment" />
+</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="bool_bvec4_vertex" />
+<Test name="bool_bvec4_fragment" />
+<Test name="bool_bvec4_both" />
+<Test name="sampler2D_samplerCube_vertex" />
+<Test name="sampler2D_samplerCube_fragment" />
+</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>
+<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" />
+</TestCase>
+</TestSuite>
+</TestSuite>
+<TestSuite name="value">
+<TestSuite name="initial">
+<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="mat2x3_vertex" />
+<Test name="mat2x3_fragment" />
+<Test name="mat2x3_both" />
+<Test name="mat2x4_vertex" />
+<Test name="mat2x4_fragment" />
+<Test name="mat2x4_both" />
+<Test name="mat3x2_vertex" />
+<Test name="mat3x2_fragment" />
+<Test name="mat3x2_both" />
+<Test name="mat3_vertex" />
+<Test name="mat3_fragment" />
+<Test name="mat3_both" />
+<Test name="mat3x4_vertex" />
+<Test name="mat3x4_fragment" />
+<Test name="mat3x4_both" />
+<Test name="mat4x2_vertex" />
+<Test name="mat4x2_fragment" />
+<Test name="mat4x2_both" />
+<Test name="mat4x3_vertex" />
+<Test name="mat4x3_fragment" />
+<Test name="mat4x3_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="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="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="int_vertex" />
+<Test name="int_fragment" />
+<Test name="int_both" />
+<Test name="ivec4_vertex" />
+<Test name="ivec4_fragment" />
+<Test name="ivec4_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="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="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="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="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="mat2x3_vertex" />
+<Test name="mat2x3_fragment" />
+<Test name="mat2x3_both" />
+<Test name="mat2x4_vertex" />
+<Test name="mat2x4_fragment" />
+<Test name="mat2x4_both" />
+<Test name="mat3x2_vertex" />
+<Test name="mat3x2_fragment" />
+<Test name="mat3x2_both" />
+<Test name="mat3_vertex" />
+<Test name="mat3_fragment" />
+<Test name="mat3_both" />
+<Test name="mat3x4_vertex" />
+<Test name="mat3x4_fragment" />
+<Test name="mat3x4_both" />
+<Test name="mat4x2_vertex" />
+<Test name="mat4x2_fragment" />
+<Test name="mat4x2_both" />
+<Test name="mat4x3_vertex" />
+<Test name="mat4x3_fragment" />
+<Test name="mat4x3_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="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="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="int_vertex" />
+<Test name="int_fragment" />
+<Test name="int_both" />
+<Test name="ivec4_vertex" />
+<Test name="ivec4_fragment" />
+<Test name="ivec4_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="bool_bvec4_vertex" />
+<Test name="bool_bvec4_fragment" />
+<Test name="bool_bvec4_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="bool_bvec4_vertex" />
+<Test name="bool_bvec4_fragment" />
+<Test name="bool_bvec4_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="bool_bvec4_vertex" />
+<Test name="bool_bvec4_fragment" />
+<Test name="bool_bvec4_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="bool_bvec4_vertex" />
+<Test name="bool_bvec4_fragment" />
+<Test name="bool_bvec4_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="assigned">
+<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_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_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_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="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="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="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>
+</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_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_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="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="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="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>
+</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_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_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_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="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="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="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="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_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_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="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="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="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>
+<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_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" />
+</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="bool_bvec4_vertex" />
+<Test name="bool_bvec4_fragment" />
+<Test name="bool_bvec4_both" />
+<Test name="sampler2D_samplerCube_vertex" />
+<Test name="sampler2D_samplerCube_fragment" />
+</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_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="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>
+<TestCase name="random">
+<Test name="1" />
+<Test name="2" />
+<Test name="5" />
+<Test name="7" />
+<Test name="9" />
+<Test name="10" />
+<Test name="11" />
+<Test name="12" />
+<Test name="13" />
+<Test name="15" />
+<Test name="16" />
+<Test name="18" />
+<Test name="19" />
+<Test name="24" />
+<Test name="25" />
+<Test name="26" />
+<Test name="27" />
+<Test name="28" />
+<Test name="30" />
+<Test name="31" />
+<Test name="32" />
+<Test name="34" />
+<Test name="35" />
+<Test name="36" />
+<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="51" />
+<Test name="52" />
+<Test name="53" />
+<Test name="55" />
+<Test name="56" />
+<Test name="57" />
+<Test name="58" />
+<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="73" />
+<Test name="74" />
+<Test name="76" />
+<Test name="77" />
+<Test name="78" />
+<Test name="79" />
+<Test name="80" />
+<Test name="82" />
+<Test name="84" />
+<Test name="85" />
+<Test name="88" />
+<Test name="89" />
+<Test name="91" />
+<Test name="92" />
+<Test name="94" />
+<Test name="97" />
+<Test name="99" />
+</TestCase>
+</TestSuite>
+<TestSuite name="attribute_location">
+<TestCase name="bind">
+<Test name="float" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
+<Test name="mat2" />
+<Test name="mat3" />
+<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="mat2x2" />
+<Test name="mat2x3" />
+<Test name="mat2x4" />
+<Test name="mat3x2" />
+<Test name="mat3x3" />
+<Test name="mat3x4" />
+<Test name="mat4x2" />
+<Test name="mat4x3" />
+<Test name="mat4x4" />
+</TestCase>
+<TestCase name="bind_max_attributes">
+<Test name="float" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
+<Test name="mat2" />
+<Test name="mat3" />
+<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="mat2x2" />
+<Test name="mat2x3" />
+<Test name="mat2x4" />
+<Test name="mat3x2" />
+<Test name="mat3x3" />
+<Test name="mat3x4" />
+<Test name="mat4x2" />
+<Test name="mat4x3" />
+<Test name="mat4x4" />
+</TestCase>
+<TestCase name="bind_aliasing">
+<Test name="max_inactive_float" />
+<Test name="max_inactive_vec2" />
+<Test name="max_inactive_vec3" />
+<Test name="max_inactive_vec4" />
+<Test name="max_inactive_mat2" />
+<Test name="max_inactive_mat3" />
+<Test name="max_inactive_mat4" />
+</TestCase>
+<TestCase name="bind_hole">
+<Test name="float" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="mat2" />
+<Test name="mat3" />
+<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="mat2x2" />
+<Test name="mat2x3" />
+<Test name="mat2x4" />
+<Test name="mat3x2" />
+<Test name="mat3x3" />
+<Test name="mat3x4" />
+<Test name="mat4x2" />
+<Test name="mat4x3" />
+<Test name="mat4x4" />
+</TestCase>
+<TestCase name="bind_time">
+<Test name="pre_attach" />
+<Test name="pre_link" />
+<Test name="post_link" />
+<Test name="relink" />
+<Test name="reattach" />
+</TestCase>
+<TestCase name="layout">
+<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" />
+</TestCase>
+<TestCase name="layout_max_attributes">
+<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" />
+</TestCase>
+<TestCase name="layout_hole">
+<Test name="float" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
+<Test name="mat2" />
+<Test name="mat3" />
+<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="mat2x2" />
+<Test name="mat2x3" />
+<Test name="mat2x4" />
+<Test name="mat3x2" />
+<Test name="mat3x3" />
+<Test name="mat3x4" />
+<Test name="mat4x2" />
+<Test name="mat4x3" />
+<Test name="mat4x4" />
+</TestCase>
+<TestCase name="mixed">
+<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" />
+</TestCase>
+<TestCase name="mixed_max_attributes">
+<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" />
+</TestCase>
+<TestCase name="mixed_time">
+<Test name="pre_attach" />
+<Test name="pre_link" />
+<Test name="post_link" />
+<Test name="relink" />
+<Test name="reattach" />
+</TestCase>
+<TestCase name="mixed_hole">
+<Test name="float" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
+<Test name="mat2" />
+<Test name="mat3" />
+<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="mat2x2" />
+<Test name="mat2x3" />
+<Test name="mat2x4" />
+<Test name="mat3x2" />
+<Test name="mat3x3" />
+<Test name="mat3x4" />
+<Test name="mat4x2" />
+<Test name="mat4x3" />
+<Test name="mat4x4" />
+</TestCase>
+</TestSuite>
+<TestSuite name="fragment_out">
+<TestSuite name="basic">
+<TestCase name="float">
+<Test name="rgba32f_lowp_float" />
+<Test name="rgba32f_lowp_vec2" />
+<Test name="rgba32f_lowp_vec3" />
+<Test name="rgba32f_lowp_vec4" />
+<Test name="rgba32f_mediump_float" />
+<Test name="rgba32f_mediump_vec2" />
+<Test name="rgba32f_mediump_vec3" />
+<Test name="rgba32f_mediump_vec4" />
+<Test name="rgba32f_highp_float" />
+<Test name="rgba32f_highp_vec2" />
+<Test name="rgba32f_highp_vec3" />
+<Test name="rgba32f_highp_vec4" />
+<Test name="rgba16f_lowp_float" />
+<Test name="rgba16f_lowp_vec2" />
+<Test name="rgba16f_lowp_vec3" />
+<Test name="rgba16f_lowp_vec4" />
+<Test name="rgba16f_mediump_float" />
+<Test name="rgba16f_mediump_vec2" />
+<Test name="rgba16f_mediump_vec3" />
+<Test name="rgba16f_mediump_vec4" />
+<Test name="rgba16f_highp_float" />
+<Test name="rgba16f_highp_vec2" />
+<Test name="rgba16f_highp_vec3" />
+<Test name="rgba16f_highp_vec4" />
+<Test name="r11f_g11f_b10f_lowp_float" />
+<Test name="r11f_g11f_b10f_lowp_vec2" />
+<Test name="r11f_g11f_b10f_lowp_vec3" />
+<Test name="r11f_g11f_b10f_lowp_vec4" />
+<Test name="r11f_g11f_b10f_mediump_float" />
+<Test name="r11f_g11f_b10f_mediump_vec2" />
+<Test name="r11f_g11f_b10f_mediump_vec3" />
+<Test name="r11f_g11f_b10f_mediump_vec4" />
+<Test name="r11f_g11f_b10f_highp_float" />
+<Test name="r11f_g11f_b10f_highp_vec2" />
+<Test name="r11f_g11f_b10f_highp_vec3" />
+<Test name="r11f_g11f_b10f_highp_vec4" />
+<Test name="rg32f_lowp_float" />
+<Test name="rg32f_lowp_vec2" />
+<Test name="rg32f_lowp_vec3" />
+<Test name="rg32f_lowp_vec4" />
+<Test name="rg32f_mediump_float" />
+<Test name="rg32f_mediump_vec2" />
+<Test name="rg32f_mediump_vec3" />
+<Test name="rg32f_mediump_vec4" />
+<Test name="rg32f_highp_float" />
+<Test name="rg32f_highp_vec2" />
+<Test name="rg32f_highp_vec3" />
+<Test name="rg32f_highp_vec4" />
+<Test name="rg16f_lowp_float" />
+<Test name="rg16f_lowp_vec2" />
+<Test name="rg16f_lowp_vec3" />
+<Test name="rg16f_lowp_vec4" />
+<Test name="rg16f_mediump_float" />
+<Test name="rg16f_mediump_vec2" />
+<Test name="rg16f_mediump_vec3" />
+<Test name="rg16f_mediump_vec4" />
+<Test name="rg16f_highp_float" />
+<Test name="rg16f_highp_vec2" />
+<Test name="rg16f_highp_vec3" />
+<Test name="rg16f_highp_vec4" />
+<Test name="r32f_lowp_float" />
+<Test name="r32f_lowp_vec2" />
+<Test name="r32f_lowp_vec3" />
+<Test name="r32f_lowp_vec4" />
+<Test name="r32f_mediump_float" />
+<Test name="r32f_mediump_vec2" />
+<Test name="r32f_mediump_vec3" />
+<Test name="r32f_mediump_vec4" />
+<Test name="r32f_highp_float" />
+<Test name="r32f_highp_vec2" />
+<Test name="r32f_highp_vec3" />
+<Test name="r32f_highp_vec4" />
+<Test name="r16f_lowp_float" />
+<Test name="r16f_lowp_vec2" />
+<Test name="r16f_lowp_vec3" />
+<Test name="r16f_lowp_vec4" />
+<Test name="r16f_mediump_float" />
+<Test name="r16f_mediump_vec2" />
+<Test name="r16f_mediump_vec3" />
+<Test name="r16f_mediump_vec4" />
+<Test name="r16f_highp_float" />
+<Test name="r16f_highp_vec2" />
+<Test name="r16f_highp_vec3" />
+<Test name="r16f_highp_vec4" />
+</TestCase>
+<TestCase name="fixed">
+<Test name="rgba8_lowp_float" />
+<Test name="rgba8_lowp_vec2" />
+<Test name="rgba8_lowp_vec3" />
+<Test name="rgba8_lowp_vec4" />
+<Test name="rgba8_mediump_float" />
+<Test name="rgba8_mediump_vec2" />
+<Test name="rgba8_mediump_vec3" />
+<Test name="rgba8_mediump_vec4" />
+<Test name="rgba8_highp_float" />
+<Test name="rgba8_highp_vec2" />
+<Test name="rgba8_highp_vec3" />
+<Test name="rgba8_highp_vec4" />
+<Test name="srgb8_alpha8_lowp_float" />
+<Test name="srgb8_alpha8_lowp_vec2" />
+<Test name="srgb8_alpha8_lowp_vec3" />
+<Test name="srgb8_alpha8_lowp_vec4" />
+<Test name="srgb8_alpha8_mediump_float" />
+<Test name="srgb8_alpha8_mediump_vec2" />
+<Test name="srgb8_alpha8_mediump_vec3" />
+<Test name="srgb8_alpha8_mediump_vec4" />
+<Test name="srgb8_alpha8_highp_float" />
+<Test name="srgb8_alpha8_highp_vec2" />
+<Test name="srgb8_alpha8_highp_vec3" />
+<Test name="srgb8_alpha8_highp_vec4" />
+<Test name="rgb10_a2_lowp_float" />
+<Test name="rgb10_a2_lowp_vec2" />
+<Test name="rgb10_a2_lowp_vec3" />
+<Test name="rgb10_a2_lowp_vec4" />
+<Test name="rgb10_a2_mediump_float" />
+<Test name="rgb10_a2_mediump_vec2" />
+<Test name="rgb10_a2_mediump_vec3" />
+<Test name="rgb10_a2_mediump_vec4" />
+<Test name="rgb10_a2_highp_float" />
+<Test name="rgb10_a2_highp_vec2" />
+<Test name="rgb10_a2_highp_vec3" />
+<Test name="rgb10_a2_highp_vec4" />
+<Test name="rgba4_lowp_float" />
+<Test name="rgba4_lowp_vec2" />
+<Test name="rgba4_lowp_vec3" />
+<Test name="rgba4_lowp_vec4" />
+<Test name="rgba4_mediump_float" />
+<Test name="rgba4_mediump_vec2" />
+<Test name="rgba4_mediump_vec3" />
+<Test name="rgba4_mediump_vec4" />
+<Test name="rgba4_highp_float" />
+<Test name="rgba4_highp_vec2" />
+<Test name="rgba4_highp_vec3" />
+<Test name="rgba4_highp_vec4" />
+<Test name="rgb5_a1_lowp_float" />
+<Test name="rgb5_a1_lowp_vec2" />
+<Test name="rgb5_a1_lowp_vec3" />
+<Test name="rgb5_a1_lowp_vec4" />
+<Test name="rgb5_a1_mediump_float" />
+<Test name="rgb5_a1_mediump_vec2" />
+<Test name="rgb5_a1_mediump_vec3" />
+<Test name="rgb5_a1_mediump_vec4" />
+<Test name="rgb5_a1_highp_float" />
+<Test name="rgb5_a1_highp_vec2" />
+<Test name="rgb5_a1_highp_vec3" />
+<Test name="rgb5_a1_highp_vec4" />
+<Test name="rgb8_lowp_float" />
+<Test name="rgb8_lowp_vec2" />
+<Test name="rgb8_lowp_vec3" />
+<Test name="rgb8_lowp_vec4" />
+<Test name="rgb8_mediump_float" />
+<Test name="rgb8_mediump_vec2" />
+<Test name="rgb8_mediump_vec3" />
+<Test name="rgb8_mediump_vec4" />
+<Test name="rgb8_highp_float" />
+<Test name="rgb8_highp_vec2" />
+<Test name="rgb8_highp_vec3" />
+<Test name="rgb8_highp_vec4" />
+<Test name="rgb565_lowp_float" />
+<Test name="rgb565_lowp_vec2" />
+<Test name="rgb565_lowp_vec3" />
+<Test name="rgb565_lowp_vec4" />
+<Test name="rgb565_mediump_float" />
+<Test name="rgb565_mediump_vec2" />
+<Test name="rgb565_mediump_vec3" />
+<Test name="rgb565_mediump_vec4" />
+<Test name="rgb565_highp_float" />
+<Test name="rgb565_highp_vec2" />
+<Test name="rgb565_highp_vec3" />
+<Test name="rgb565_highp_vec4" />
+<Test name="rg8_lowp_float" />
+<Test name="rg8_lowp_vec2" />
+<Test name="rg8_lowp_vec3" />
+<Test name="rg8_lowp_vec4" />
+<Test name="rg8_mediump_float" />
+<Test name="rg8_mediump_vec2" />
+<Test name="rg8_mediump_vec3" />
+<Test name="rg8_mediump_vec4" />
+<Test name="rg8_highp_float" />
+<Test name="rg8_highp_vec2" />
+<Test name="rg8_highp_vec3" />
+<Test name="rg8_highp_vec4" />
+<Test name="r8_lowp_float" />
+<Test name="r8_lowp_vec2" />
+<Test name="r8_lowp_vec3" />
+<Test name="r8_lowp_vec4" />
+<Test name="r8_mediump_float" />
+<Test name="r8_mediump_vec2" />
+<Test name="r8_mediump_vec3" />
+<Test name="r8_mediump_vec4" />
+<Test name="r8_highp_float" />
+<Test name="r8_highp_vec2" />
+<Test name="r8_highp_vec3" />
+<Test name="r8_highp_vec4" />
+</TestCase>
+<TestCase name="int">
+<Test name="rgba32i_lowp_int" />
+<Test name="rgba32i_lowp_ivec2" />
+<Test name="rgba32i_lowp_ivec3" />
+<Test name="rgba32i_lowp_ivec4" />
+<Test name="rgba32i_mediump_int" />
+<Test name="rgba32i_mediump_ivec2" />
+<Test name="rgba32i_mediump_ivec3" />
+<Test name="rgba32i_mediump_ivec4" />
+<Test name="rgba32i_highp_int" />
+<Test name="rgba32i_highp_ivec2" />
+<Test name="rgba32i_highp_ivec3" />
+<Test name="rgba32i_highp_ivec4" />
+<Test name="rgba16i_lowp_int" />
+<Test name="rgba16i_lowp_ivec2" />
+<Test name="rgba16i_lowp_ivec3" />
+<Test name="rgba16i_lowp_ivec4" />
+<Test name="rgba16i_mediump_int" />
+<Test name="rgba16i_mediump_ivec2" />
+<Test name="rgba16i_mediump_ivec3" />
+<Test name="rgba16i_mediump_ivec4" />
+<Test name="rgba16i_highp_int" />
+<Test name="rgba16i_highp_ivec2" />
+<Test name="rgba16i_highp_ivec3" />
+<Test name="rgba16i_highp_ivec4" />
+<Test name="rgba8i_lowp_int" />
+<Test name="rgba8i_lowp_ivec2" />
+<Test name="rgba8i_lowp_ivec3" />
+<Test name="rgba8i_lowp_ivec4" />
+<Test name="rgba8i_mediump_int" />
+<Test name="rgba8i_mediump_ivec2" />
+<Test name="rgba8i_mediump_ivec3" />
+<Test name="rgba8i_mediump_ivec4" />
+<Test name="rgba8i_highp_int" />
+<Test name="rgba8i_highp_ivec2" />
+<Test name="rgba8i_highp_ivec3" />
+<Test name="rgba8i_highp_ivec4" />
+<Test name="rg32i_lowp_int" />
+<Test name="rg32i_lowp_ivec2" />
+<Test name="rg32i_lowp_ivec3" />
+<Test name="rg32i_lowp_ivec4" />
+<Test name="rg32i_mediump_int" />
+<Test name="rg32i_mediump_ivec2" />
+<Test name="rg32i_mediump_ivec3" />
+<Test name="rg32i_mediump_ivec4" />
+<Test name="rg32i_highp_int" />
+<Test name="rg32i_highp_ivec2" />
+<Test name="rg32i_highp_ivec3" />
+<Test name="rg32i_highp_ivec4" />
+<Test name="rg16i_lowp_int" />
+<Test name="rg16i_lowp_ivec2" />
+<Test name="rg16i_lowp_ivec3" />
+<Test name="rg16i_lowp_ivec4" />
+<Test name="rg16i_mediump_int" />
+<Test name="rg16i_mediump_ivec2" />
+<Test name="rg16i_mediump_ivec3" />
+<Test name="rg16i_mediump_ivec4" />
+<Test name="rg16i_highp_int" />
+<Test name="rg16i_highp_ivec2" />
+<Test name="rg16i_highp_ivec3" />
+<Test name="rg16i_highp_ivec4" />
+<Test name="rg8i_lowp_int" />
+<Test name="rg8i_lowp_ivec2" />
+<Test name="rg8i_lowp_ivec3" />
+<Test name="rg8i_lowp_ivec4" />
+<Test name="rg8i_mediump_int" />
+<Test name="rg8i_mediump_ivec2" />
+<Test name="rg8i_mediump_ivec3" />
+<Test name="rg8i_mediump_ivec4" />
+<Test name="rg8i_highp_int" />
+<Test name="rg8i_highp_ivec2" />
+<Test name="rg8i_highp_ivec3" />
+<Test name="rg8i_highp_ivec4" />
+<Test name="r32i_lowp_int" />
+<Test name="r32i_lowp_ivec2" />
+<Test name="r32i_lowp_ivec3" />
+<Test name="r32i_lowp_ivec4" />
+<Test name="r32i_mediump_int" />
+<Test name="r32i_mediump_ivec2" />
+<Test name="r32i_mediump_ivec3" />
+<Test name="r32i_mediump_ivec4" />
+<Test name="r32i_highp_int" />
+<Test name="r32i_highp_ivec2" />
+<Test name="r32i_highp_ivec3" />
+<Test name="r32i_highp_ivec4" />
+<Test name="r16i_lowp_int" />
+<Test name="r16i_lowp_ivec2" />
+<Test name="r16i_lowp_ivec3" />
+<Test name="r16i_lowp_ivec4" />
+<Test name="r16i_mediump_int" />
+<Test name="r16i_mediump_ivec2" />
+<Test name="r16i_mediump_ivec3" />
+<Test name="r16i_mediump_ivec4" />
+<Test name="r16i_highp_int" />
+<Test name="r16i_highp_ivec2" />
+<Test name="r16i_highp_ivec3" />
+<Test name="r16i_highp_ivec4" />
+<Test name="r8i_lowp_int" />
+<Test name="r8i_lowp_ivec2" />
+<Test name="r8i_lowp_ivec3" />
+<Test name="r8i_lowp_ivec4" />
+<Test name="r8i_mediump_int" />
+<Test name="r8i_mediump_ivec2" />
+<Test name="r8i_mediump_ivec3" />
+<Test name="r8i_mediump_ivec4" />
+<Test name="r8i_highp_int" />
+<Test name="r8i_highp_ivec2" />
+<Test name="r8i_highp_ivec3" />
+<Test name="r8i_highp_ivec4" />
+</TestCase>
+<TestCase name="uint">
+<Test name="rgba32ui_lowp_uint" />
+<Test name="rgba32ui_lowp_uvec2" />
+<Test name="rgba32ui_lowp_uvec3" />
+<Test name="rgba32ui_lowp_uvec4" />
+<Test name="rgba32ui_mediump_uint" />
+<Test name="rgba32ui_mediump_uvec2" />
+<Test name="rgba32ui_mediump_uvec3" />
+<Test name="rgba32ui_mediump_uvec4" />
+<Test name="rgba32ui_highp_uint" />
+<Test name="rgba32ui_highp_uvec2" />
+<Test name="rgba32ui_highp_uvec3" />
+<Test name="rgba32ui_highp_uvec4" />
+<Test name="rgba16ui_lowp_uint" />
+<Test name="rgba16ui_lowp_uvec2" />
+<Test name="rgba16ui_lowp_uvec3" />
+<Test name="rgba16ui_lowp_uvec4" />
+<Test name="rgba16ui_mediump_uint" />
+<Test name="rgba16ui_mediump_uvec2" />
+<Test name="rgba16ui_mediump_uvec3" />
+<Test name="rgba16ui_mediump_uvec4" />
+<Test name="rgba16ui_highp_uint" />
+<Test name="rgba16ui_highp_uvec2" />
+<Test name="rgba16ui_highp_uvec3" />
+<Test name="rgba16ui_highp_uvec4" />
+<Test name="rgba8ui_lowp_uint" />
+<Test name="rgba8ui_lowp_uvec2" />
+<Test name="rgba8ui_lowp_uvec3" />
+<Test name="rgba8ui_lowp_uvec4" />
+<Test name="rgba8ui_mediump_uint" />
+<Test name="rgba8ui_mediump_uvec2" />
+<Test name="rgba8ui_mediump_uvec3" />
+<Test name="rgba8ui_mediump_uvec4" />
+<Test name="rgba8ui_highp_uint" />
+<Test name="rgba8ui_highp_uvec2" />
+<Test name="rgba8ui_highp_uvec3" />
+<Test name="rgba8ui_highp_uvec4" />
+<Test name="rgb10_a2ui_lowp_uint" />
+<Test name="rgb10_a2ui_lowp_uvec2" />
+<Test name="rgb10_a2ui_lowp_uvec3" />
+<Test name="rgb10_a2ui_lowp_uvec4" />
+<Test name="rgb10_a2ui_mediump_uint" />
+<Test name="rgb10_a2ui_mediump_uvec2" />
+<Test name="rgb10_a2ui_mediump_uvec3" />
+<Test name="rgb10_a2ui_mediump_uvec4" />
+<Test name="rgb10_a2ui_highp_uint" />
+<Test name="rgb10_a2ui_highp_uvec2" />
+<Test name="rgb10_a2ui_highp_uvec3" />
+<Test name="rgb10_a2ui_highp_uvec4" />
+<Test name="rg32ui_lowp_uint" />
+<Test name="rg32ui_lowp_uvec2" />
+<Test name="rg32ui_lowp_uvec3" />
+<Test name="rg32ui_lowp_uvec4" />
+<Test name="rg32ui_mediump_uint" />
+<Test name="rg32ui_mediump_uvec2" />
+<Test name="rg32ui_mediump_uvec3" />
+<Test name="rg32ui_mediump_uvec4" />
+<Test name="rg32ui_highp_uint" />
+<Test name="rg32ui_highp_uvec2" />
+<Test name="rg32ui_highp_uvec3" />
+<Test name="rg32ui_highp_uvec4" />
+<Test name="rg16ui_lowp_uint" />
+<Test name="rg16ui_lowp_uvec2" />
+<Test name="rg16ui_lowp_uvec3" />
+<Test name="rg16ui_lowp_uvec4" />
+<Test name="rg16ui_mediump_uint" />
+<Test name="rg16ui_mediump_uvec2" />
+<Test name="rg16ui_mediump_uvec3" />
+<Test name="rg16ui_mediump_uvec4" />
+<Test name="rg16ui_highp_uint" />
+<Test name="rg16ui_highp_uvec2" />
+<Test name="rg16ui_highp_uvec3" />
+<Test name="rg16ui_highp_uvec4" />
+<Test name="rg8ui_lowp_uint" />
+<Test name="rg8ui_lowp_uvec2" />
+<Test name="rg8ui_lowp_uvec3" />
+<Test name="rg8ui_lowp_uvec4" />
+<Test name="rg8ui_mediump_uint" />
+<Test name="rg8ui_mediump_uvec2" />
+<Test name="rg8ui_mediump_uvec3" />
+<Test name="rg8ui_mediump_uvec4" />
+<Test name="rg8ui_highp_uint" />
+<Test name="rg8ui_highp_uvec2" />
+<Test name="rg8ui_highp_uvec3" />
+<Test name="rg8ui_highp_uvec4" />
+<Test name="r32ui_lowp_uint" />
+<Test name="r32ui_lowp_uvec2" />
+<Test name="r32ui_lowp_uvec3" />
+<Test name="r32ui_lowp_uvec4" />
+<Test name="r32ui_mediump_uint" />
+<Test name="r32ui_mediump_uvec2" />
+<Test name="r32ui_mediump_uvec3" />
+<Test name="r32ui_mediump_uvec4" />
+<Test name="r32ui_highp_uint" />
+<Test name="r32ui_highp_uvec2" />
+<Test name="r32ui_highp_uvec3" />
+<Test name="r32ui_highp_uvec4" />
+<Test name="r16ui_lowp_uint" />
+<Test name="r16ui_lowp_uvec2" />
+<Test name="r16ui_lowp_uvec3" />
+<Test name="r16ui_lowp_uvec4" />
+<Test name="r16ui_mediump_uint" />
+<Test name="r16ui_mediump_uvec2" />
+<Test name="r16ui_mediump_uvec3" />
+<Test name="r16ui_mediump_uvec4" />
+<Test name="r16ui_highp_uint" />
+<Test name="r16ui_highp_uvec2" />
+<Test name="r16ui_highp_uvec3" />
+<Test name="r16ui_highp_uvec4" />
+<Test name="r8ui_lowp_uint" />
+<Test name="r8ui_lowp_uvec2" />
+<Test name="r8ui_lowp_uvec3" />
+<Test name="r8ui_lowp_uvec4" />
+<Test name="r8ui_mediump_uint" />
+<Test name="r8ui_mediump_uvec2" />
+<Test name="r8ui_mediump_uvec3" />
+<Test name="r8ui_mediump_uvec4" />
+<Test name="r8ui_highp_uint" />
+<Test name="r8ui_highp_uvec2" />
+<Test name="r8ui_highp_uvec3" />
+<Test name="r8ui_highp_uvec4" />
+</TestCase>
+</TestSuite>
+<TestSuite name="array">
+<TestCase name="float">
+<Test name="rgba32f_lowp_float" />
+<Test name="rgba32f_lowp_vec2" />
+<Test name="rgba32f_lowp_vec3" />
+<Test name="rgba32f_lowp_vec4" />
+<Test name="rgba32f_mediump_float" />
+<Test name="rgba32f_mediump_vec2" />
+<Test name="rgba32f_mediump_vec3" />
+<Test name="rgba32f_mediump_vec4" />
+<Test name="rgba32f_highp_float" />
+<Test name="rgba32f_highp_vec2" />
+<Test name="rgba32f_highp_vec3" />
+<Test name="rgba32f_highp_vec4" />
+<Test name="rgba16f_lowp_float" />
+<Test name="rgba16f_lowp_vec2" />
+<Test name="rgba16f_lowp_vec3" />
+<Test name="rgba16f_lowp_vec4" />
+<Test name="rgba16f_mediump_float" />
+<Test name="rgba16f_mediump_vec2" />
+<Test name="rgba16f_mediump_vec3" />
+<Test name="rgba16f_mediump_vec4" />
+<Test name="rgba16f_highp_float" />
+<Test name="rgba16f_highp_vec2" />
+<Test name="rgba16f_highp_vec3" />
+<Test name="rgba16f_highp_vec4" />
+<Test name="r11f_g11f_b10f_lowp_float" />
+<Test name="r11f_g11f_b10f_lowp_vec2" />
+<Test name="r11f_g11f_b10f_lowp_vec3" />
+<Test name="r11f_g11f_b10f_lowp_vec4" />
+<Test name="r11f_g11f_b10f_mediump_float" />
+<Test name="r11f_g11f_b10f_mediump_vec2" />
+<Test name="r11f_g11f_b10f_mediump_vec3" />
+<Test name="r11f_g11f_b10f_mediump_vec4" />
+<Test name="r11f_g11f_b10f_highp_float" />
+<Test name="r11f_g11f_b10f_highp_vec2" />
+<Test name="r11f_g11f_b10f_highp_vec3" />
+<Test name="r11f_g11f_b10f_highp_vec4" />
+<Test name="rg32f_lowp_float" />
+<Test name="rg32f_lowp_vec2" />
+<Test name="rg32f_lowp_vec3" />
+<Test name="rg32f_lowp_vec4" />
+<Test name="rg32f_mediump_float" />
+<Test name="rg32f_mediump_vec2" />
+<Test name="rg32f_mediump_vec3" />
+<Test name="rg32f_mediump_vec4" />
+<Test name="rg32f_highp_float" />
+<Test name="rg32f_highp_vec2" />
+<Test name="rg32f_highp_vec3" />
+<Test name="rg32f_highp_vec4" />
+<Test name="rg16f_lowp_float" />
+<Test name="rg16f_lowp_vec2" />
+<Test name="rg16f_lowp_vec3" />
+<Test name="rg16f_lowp_vec4" />
+<Test name="rg16f_mediump_float" />
+<Test name="rg16f_mediump_vec2" />
+<Test name="rg16f_mediump_vec3" />
+<Test name="rg16f_mediump_vec4" />
+<Test name="rg16f_highp_float" />
+<Test name="rg16f_highp_vec2" />
+<Test name="rg16f_highp_vec3" />
+<Test name="rg16f_highp_vec4" />
+<Test name="r32f_lowp_float" />
+<Test name="r32f_lowp_vec2" />
+<Test name="r32f_lowp_vec3" />
+<Test name="r32f_lowp_vec4" />
+<Test name="r32f_mediump_float" />
+<Test name="r32f_mediump_vec2" />
+<Test name="r32f_mediump_vec3" />
+<Test name="r32f_mediump_vec4" />
+<Test name="r32f_highp_float" />
+<Test name="r32f_highp_vec2" />
+<Test name="r32f_highp_vec3" />
+<Test name="r32f_highp_vec4" />
+<Test name="r16f_lowp_float" />
+<Test name="r16f_lowp_vec2" />
+<Test name="r16f_lowp_vec3" />
+<Test name="r16f_lowp_vec4" />
+<Test name="r16f_mediump_float" />
+<Test name="r16f_mediump_vec2" />
+<Test name="r16f_mediump_vec3" />
+<Test name="r16f_mediump_vec4" />
+<Test name="r16f_highp_float" />
+<Test name="r16f_highp_vec2" />
+<Test name="r16f_highp_vec3" />
+<Test name="r16f_highp_vec4" />
+</TestCase>
+<TestCase name="fixed">
+<Test name="rgba8_lowp_float" />
+<Test name="rgba8_lowp_vec2" />
+<Test name="rgba8_lowp_vec3" />
+<Test name="rgba8_lowp_vec4" />
+<Test name="rgba8_mediump_float" />
+<Test name="rgba8_mediump_vec2" />
+<Test name="rgba8_mediump_vec3" />
+<Test name="rgba8_mediump_vec4" />
+<Test name="rgba8_highp_float" />
+<Test name="rgba8_highp_vec2" />
+<Test name="rgba8_highp_vec3" />
+<Test name="rgba8_highp_vec4" />
+<Test name="srgb8_alpha8_lowp_float" />
+<Test name="srgb8_alpha8_lowp_vec2" />
+<Test name="srgb8_alpha8_lowp_vec3" />
+<Test name="srgb8_alpha8_lowp_vec4" />
+<Test name="srgb8_alpha8_mediump_float" />
+<Test name="srgb8_alpha8_mediump_vec2" />
+<Test name="srgb8_alpha8_mediump_vec3" />
+<Test name="srgb8_alpha8_mediump_vec4" />
+<Test name="srgb8_alpha8_highp_float" />
+<Test name="srgb8_alpha8_highp_vec2" />
+<Test name="srgb8_alpha8_highp_vec3" />
+<Test name="srgb8_alpha8_highp_vec4" />
+<Test name="rgb10_a2_lowp_float" />
+<Test name="rgb10_a2_lowp_vec2" />
+<Test name="rgb10_a2_lowp_vec3" />
+<Test name="rgb10_a2_lowp_vec4" />
+<Test name="rgb10_a2_mediump_float" />
+<Test name="rgb10_a2_mediump_vec2" />
+<Test name="rgb10_a2_mediump_vec3" />
+<Test name="rgb10_a2_mediump_vec4" />
+<Test name="rgb10_a2_highp_float" />
+<Test name="rgb10_a2_highp_vec2" />
+<Test name="rgb10_a2_highp_vec3" />
+<Test name="rgb10_a2_highp_vec4" />
+<Test name="rgba4_lowp_float" />
+<Test name="rgba4_lowp_vec2" />
+<Test name="rgba4_lowp_vec3" />
+<Test name="rgba4_lowp_vec4" />
+<Test name="rgba4_mediump_float" />
+<Test name="rgba4_mediump_vec2" />
+<Test name="rgba4_mediump_vec3" />
+<Test name="rgba4_mediump_vec4" />
+<Test name="rgba4_highp_float" />
+<Test name="rgba4_highp_vec2" />
+<Test name="rgba4_highp_vec3" />
+<Test name="rgba4_highp_vec4" />
+<Test name="rgb5_a1_lowp_float" />
+<Test name="rgb5_a1_lowp_vec2" />
+<Test name="rgb5_a1_lowp_vec3" />
+<Test name="rgb5_a1_lowp_vec4" />
+<Test name="rgb5_a1_mediump_float" />
+<Test name="rgb5_a1_mediump_vec2" />
+<Test name="rgb5_a1_mediump_vec3" />
+<Test name="rgb5_a1_mediump_vec4" />
+<Test name="rgb5_a1_highp_float" />
+<Test name="rgb5_a1_highp_vec2" />
+<Test name="rgb5_a1_highp_vec3" />
+<Test name="rgb5_a1_highp_vec4" />
+<Test name="rgb8_lowp_float" />
+<Test name="rgb8_lowp_vec2" />
+<Test name="rgb8_lowp_vec3" />
+<Test name="rgb8_lowp_vec4" />
+<Test name="rgb8_mediump_float" />
+<Test name="rgb8_mediump_vec2" />
+<Test name="rgb8_mediump_vec3" />
+<Test name="rgb8_mediump_vec4" />
+<Test name="rgb8_highp_float" />
+<Test name="rgb8_highp_vec2" />
+<Test name="rgb8_highp_vec3" />
+<Test name="rgb8_highp_vec4" />
+<Test name="rgb565_lowp_float" />
+<Test name="rgb565_lowp_vec2" />
+<Test name="rgb565_lowp_vec3" />
+<Test name="rgb565_lowp_vec4" />
+<Test name="rgb565_mediump_float" />
+<Test name="rgb565_mediump_vec2" />
+<Test name="rgb565_mediump_vec3" />
+<Test name="rgb565_mediump_vec4" />
+<Test name="rgb565_highp_float" />
+<Test name="rgb565_highp_vec2" />
+<Test name="rgb565_highp_vec3" />
+<Test name="rgb565_highp_vec4" />
+<Test name="rg8_lowp_float" />
+<Test name="rg8_lowp_vec2" />
+<Test name="rg8_lowp_vec3" />
+<Test name="rg8_lowp_vec4" />
+<Test name="rg8_mediump_float" />
+<Test name="rg8_mediump_vec2" />
+<Test name="rg8_mediump_vec3" />
+<Test name="rg8_mediump_vec4" />
+<Test name="rg8_highp_float" />
+<Test name="rg8_highp_vec2" />
+<Test name="rg8_highp_vec3" />
+<Test name="rg8_highp_vec4" />
+<Test name="r8_lowp_float" />
+<Test name="r8_lowp_vec2" />
+<Test name="r8_lowp_vec3" />
+<Test name="r8_lowp_vec4" />
+<Test name="r8_mediump_float" />
+<Test name="r8_mediump_vec2" />
+<Test name="r8_mediump_vec3" />
+<Test name="r8_mediump_vec4" />
+<Test name="r8_highp_float" />
+<Test name="r8_highp_vec2" />
+<Test name="r8_highp_vec3" />
+<Test name="r8_highp_vec4" />
+</TestCase>
+<TestCase name="int">
+<Test name="rgba16i_lowp_int" />
+<Test name="rgba16i_lowp_ivec2" />
+<Test name="rgba16i_lowp_ivec3" />
+<Test name="rgba16i_lowp_ivec4" />
+<Test name="rgba16i_mediump_int" />
+<Test name="rgba16i_mediump_ivec2" />
+<Test name="rgba16i_mediump_ivec3" />
+<Test name="rgba16i_mediump_ivec4" />
+<Test name="rgba16i_highp_int" />
+<Test name="rgba16i_highp_ivec2" />
+<Test name="rgba16i_highp_ivec3" />
+<Test name="rgba16i_highp_ivec4" />
+<Test name="rgba8i_lowp_int" />
+<Test name="rgba8i_lowp_ivec2" />
+<Test name="rgba8i_lowp_ivec3" />
+<Test name="rgba8i_lowp_ivec4" />
+<Test name="rgba8i_mediump_int" />
+<Test name="rgba8i_mediump_ivec2" />
+<Test name="rgba8i_mediump_ivec3" />
+<Test name="rgba8i_mediump_ivec4" />
+<Test name="rgba8i_highp_int" />
+<Test name="rgba8i_highp_ivec2" />
+<Test name="rgba8i_highp_ivec3" />
+<Test name="rgba8i_highp_ivec4" />
+<Test name="rg32i_lowp_int" />
+<Test name="rg32i_lowp_ivec2" />
+<Test name="rg32i_lowp_ivec3" />
+<Test name="rg32i_lowp_ivec4" />
+<Test name="rg32i_mediump_int" />
+<Test name="rg32i_mediump_ivec2" />
+<Test name="rg32i_mediump_ivec3" />
+<Test name="rg32i_mediump_ivec4" />
+<Test name="rg32i_highp_int" />
+<Test name="rg32i_highp_ivec2" />
+<Test name="rg32i_highp_ivec3" />
+<Test name="rg32i_highp_ivec4" />
+<Test name="rg16i_lowp_int" />
+<Test name="rg16i_lowp_ivec2" />
+<Test name="rg16i_lowp_ivec3" />
+<Test name="rg16i_lowp_ivec4" />
+<Test name="rg16i_mediump_int" />
+<Test name="rg16i_mediump_ivec2" />
+<Test name="rg16i_mediump_ivec3" />
+<Test name="rg16i_mediump_ivec4" />
+<Test name="rg16i_highp_int" />
+<Test name="rg16i_highp_ivec2" />
+<Test name="rg16i_highp_ivec3" />
+<Test name="rg16i_highp_ivec4" />
+<Test name="rg8i_lowp_int" />
+<Test name="rg8i_lowp_ivec2" />
+<Test name="rg8i_lowp_ivec3" />
+<Test name="rg8i_lowp_ivec4" />
+<Test name="rg8i_mediump_int" />
+<Test name="rg8i_mediump_ivec2" />
+<Test name="rg8i_mediump_ivec3" />
+<Test name="rg8i_mediump_ivec4" />
+<Test name="rg8i_highp_int" />
+<Test name="rg8i_highp_ivec2" />
+<Test name="rg8i_highp_ivec3" />
+<Test name="rg8i_highp_ivec4" />
+<Test name="r32i_lowp_int" />
+<Test name="r32i_lowp_ivec2" />
+<Test name="r32i_lowp_ivec3" />
+<Test name="r32i_lowp_ivec4" />
+<Test name="r32i_mediump_int" />
+<Test name="r32i_mediump_ivec2" />
+<Test name="r32i_mediump_ivec3" />
+<Test name="r32i_mediump_ivec4" />
+<Test name="r32i_highp_int" />
+<Test name="r32i_highp_ivec2" />
+<Test name="r32i_highp_ivec3" />
+<Test name="r32i_highp_ivec4" />
+<Test name="r16i_lowp_int" />
+<Test name="r16i_lowp_ivec2" />
+<Test name="r16i_lowp_ivec3" />
+<Test name="r16i_lowp_ivec4" />
+<Test name="r16i_mediump_int" />
+<Test name="r16i_mediump_ivec2" />
+<Test name="r16i_mediump_ivec3" />
+<Test name="r16i_mediump_ivec4" />
+<Test name="r16i_highp_int" />
+<Test name="r16i_highp_ivec2" />
+<Test name="r16i_highp_ivec3" />
+<Test name="r16i_highp_ivec4" />
+<Test name="r8i_lowp_int" />
+<Test name="r8i_lowp_ivec2" />
+<Test name="r8i_lowp_ivec3" />
+<Test name="r8i_lowp_ivec4" />
+<Test name="r8i_mediump_int" />
+<Test name="r8i_mediump_ivec2" />
+<Test name="r8i_mediump_ivec3" />
+<Test name="r8i_mediump_ivec4" />
+<Test name="r8i_highp_int" />
+<Test name="r8i_highp_ivec2" />
+<Test name="r8i_highp_ivec3" />
+<Test name="r8i_highp_ivec4" />
+</TestCase>
+<TestCase name="uint">
+<Test name="rgba16ui_lowp_uint" />
+<Test name="rgba16ui_lowp_uvec2" />
+<Test name="rgba16ui_lowp_uvec3" />
+<Test name="rgba16ui_lowp_uvec4" />
+<Test name="rgba16ui_mediump_uint" />
+<Test name="rgba16ui_mediump_uvec2" />
+<Test name="rgba16ui_mediump_uvec3" />
+<Test name="rgba16ui_mediump_uvec4" />
+<Test name="rgba16ui_highp_uint" />
+<Test name="rgba16ui_highp_uvec2" />
+<Test name="rgba16ui_highp_uvec3" />
+<Test name="rgba16ui_highp_uvec4" />
+<Test name="rgba8ui_lowp_uint" />
+<Test name="rgba8ui_lowp_uvec2" />
+<Test name="rgba8ui_lowp_uvec3" />
+<Test name="rgba8ui_lowp_uvec4" />
+<Test name="rgba8ui_mediump_uint" />
+<Test name="rgba8ui_mediump_uvec2" />
+<Test name="rgba8ui_mediump_uvec3" />
+<Test name="rgba8ui_mediump_uvec4" />
+<Test name="rgba8ui_highp_uint" />
+<Test name="rgba8ui_highp_uvec2" />
+<Test name="rgba8ui_highp_uvec3" />
+<Test name="rgba8ui_highp_uvec4" />
+<Test name="rgb10_a2ui_lowp_uint" />
+<Test name="rgb10_a2ui_lowp_uvec2" />
+<Test name="rgb10_a2ui_lowp_uvec3" />
+<Test name="rgb10_a2ui_lowp_uvec4" />
+<Test name="rgb10_a2ui_mediump_uint" />
+<Test name="rgb10_a2ui_mediump_uvec2" />
+<Test name="rgb10_a2ui_mediump_uvec3" />
+<Test name="rgb10_a2ui_mediump_uvec4" />
+<Test name="rgb10_a2ui_highp_uint" />
+<Test name="rgb10_a2ui_highp_uvec2" />
+<Test name="rgb10_a2ui_highp_uvec3" />
+<Test name="rgb10_a2ui_highp_uvec4" />
+<Test name="rg32ui_lowp_uint" />
+<Test name="rg32ui_lowp_uvec2" />
+<Test name="rg32ui_lowp_uvec3" />
+<Test name="rg32ui_lowp_uvec4" />
+<Test name="rg32ui_mediump_uint" />
+<Test name="rg32ui_mediump_uvec2" />
+<Test name="rg32ui_mediump_uvec3" />
+<Test name="rg32ui_mediump_uvec4" />
+<Test name="rg32ui_highp_uint" />
+<Test name="rg32ui_highp_uvec2" />
+<Test name="rg32ui_highp_uvec3" />
+<Test name="rg32ui_highp_uvec4" />
+<Test name="rg16ui_lowp_uint" />
+<Test name="rg16ui_lowp_uvec2" />
+<Test name="rg16ui_lowp_uvec3" />
+<Test name="rg16ui_lowp_uvec4" />
+<Test name="rg16ui_mediump_uint" />
+<Test name="rg16ui_mediump_uvec2" />
+<Test name="rg16ui_mediump_uvec3" />
+<Test name="rg16ui_mediump_uvec4" />
+<Test name="rg16ui_highp_uint" />
+<Test name="rg16ui_highp_uvec2" />
+<Test name="rg16ui_highp_uvec3" />
+<Test name="rg16ui_highp_uvec4" />
+<Test name="rg8ui_lowp_uint" />
+<Test name="rg8ui_lowp_uvec2" />
+<Test name="rg8ui_lowp_uvec3" />
+<Test name="rg8ui_lowp_uvec4" />
+<Test name="rg8ui_mediump_uint" />
+<Test name="rg8ui_mediump_uvec2" />
+<Test name="rg8ui_mediump_uvec3" />
+<Test name="rg8ui_mediump_uvec4" />
+<Test name="rg8ui_highp_uint" />
+<Test name="rg8ui_highp_uvec2" />
+<Test name="rg8ui_highp_uvec3" />
+<Test name="rg8ui_highp_uvec4" />
+<Test name="r32ui_lowp_uint" />
+<Test name="r32ui_lowp_uvec2" />
+<Test name="r32ui_lowp_uvec3" />
+<Test name="r32ui_lowp_uvec4" />
+<Test name="r32ui_mediump_uint" />
+<Test name="r32ui_mediump_uvec2" />
+<Test name="r32ui_mediump_uvec3" />
+<Test name="r32ui_mediump_uvec4" />
+<Test name="r32ui_highp_uint" />
+<Test name="r32ui_highp_uvec2" />
+<Test name="r32ui_highp_uvec3" />
+<Test name="r32ui_highp_uvec4" />
+<Test name="r16ui_lowp_uint" />
+<Test name="r16ui_lowp_uvec2" />
+<Test name="r16ui_lowp_uvec3" />
+<Test name="r16ui_lowp_uvec4" />
+<Test name="r16ui_mediump_uint" />
+<Test name="r16ui_mediump_uvec2" />
+<Test name="r16ui_mediump_uvec3" />
+<Test name="r16ui_mediump_uvec4" />
+<Test name="r16ui_highp_uint" />
+<Test name="r16ui_highp_uvec2" />
+<Test name="r16ui_highp_uvec3" />
+<Test name="r16ui_highp_uvec4" />
+<Test name="r8ui_lowp_uint" />
+<Test name="r8ui_lowp_uvec2" />
+<Test name="r8ui_lowp_uvec3" />
+<Test name="r8ui_lowp_uvec4" />
+<Test name="r8ui_mediump_uint" />
+<Test name="r8ui_mediump_uvec2" />
+<Test name="r8ui_mediump_uvec3" />
+<Test name="r8ui_mediump_uvec4" />
+<Test name="r8ui_highp_uint" />
+<Test name="r8ui_highp_uvec2" />
+<Test name="r8ui_highp_uvec3" />
+<Test name="r8ui_highp_uvec4" />
+</TestCase>
+</TestSuite>
+<TestCase name="random">
+<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="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="51" />
+<Test name="52" />
+<Test name="53" />
+<Test name="54" />
+<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="76" />
+<Test name="77" />
+<Test name="78" />
+<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="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" />
+</TestCase>
+</TestSuite>
+<TestSuite name="samplers">
+<TestCase name="single_tex_2d">
+<Test name="diff_wrap_t" />
+<Test name="diff_wrap_s" />
+<Test name="diff_wrap_r" />
+<Test name="diff_min_filter" />
+<Test name="diff_mag_filter" />
+<Test name="diff_max_lod" />
+<Test name="diff_min_lod" />
+</TestCase>
+<TestCase name="multi_tex_2d">
+<Test name="diff_wrap_t" />
+<Test name="diff_wrap_s" />
+<Test name="diff_wrap_r" />
+<Test name="diff_min_filter" />
+<Test name="diff_mag_filter" />
+<Test name="diff_max_lod" />
+<Test name="diff_min_lod" />
+</TestCase>
+<TestCase name="single_tex_3d">
+<Test name="diff_wrap_t" />
+<Test name="diff_wrap_s" />
+<Test name="diff_wrap_r" />
+<Test name="diff_min_filter" />
+<Test name="diff_mag_filter" />
+<Test name="diff_max_lod" />
+<Test name="diff_min_lod" />
+</TestCase>
+<TestCase name="multi_tex_3d">
+<Test name="diff_wrap_t" />
+<Test name="diff_wrap_s" />
+<Test name="diff_wrap_r" />
+<Test name="diff_min_filter" />
+<Test name="diff_mag_filter" />
+<Test name="diff_max_lod" />
+<Test name="diff_min_lod" />
+</TestCase>
+<TestCase name="single_cubemap">
+<Test name="diff_wrap_t" />
+<Test name="diff_wrap_s" />
+<Test name="diff_wrap_r" />
+<Test name="diff_min_filter" />
+<Test name="diff_mag_filter" />
+<Test name="diff_max_lod" />
+<Test name="diff_min_lod" />
+</TestCase>
+<TestCase name="multi_cubemap">
+<Test name="diff_wrap_t" />
+<Test name="diff_wrap_s" />
+<Test name="diff_wrap_r" />
+<Test name="diff_min_filter" />
+<Test name="diff_mag_filter" />
+<Test name="diff_max_lod" />
+<Test name="diff_min_lod" />
+</TestCase>
+</TestSuite>
+<TestSuite name="pbo">
+<TestCase name="native">
+<Test name="clears" />
+<Test name="triangles" />
+</TestCase>
+<TestCase name="renderbuffer">
+<Test name="rgba8_triangles" />
+<Test name="rgba8_clears" />
+<Test name="rgba8i_triangles" />
+<Test name="rgba8i_clears" />
+<Test name="rgba8ui_triangles" />
+<Test name="rgba8ui_clears" />
+<Test name="rgba16f_triangles" />
+<Test name="rgba16f_clears" />
+<Test name="rgba16i_triangles" />
+<Test name="rgba16i_clears" />
+<Test name="rgba16ui_triangles" />
+<Test name="rgba16ui_clears" />
+<Test name="rgba32f_triangles" />
+<Test name="rgba32f_clears" />
+<Test name="rgba32i_triangles" />
+<Test name="rgba32i_clears" />
+<Test name="rgba32ui_triangles" />
+<Test name="rgba32ui_clears" />
+<Test name="srgb8_alpha8_triangles" />
+<Test name="srgb8_alpha8_clears" />
+<Test name="rgb10_a2ui_triangles" />
+<Test name="rgb10_a2ui_clears" />
+<Test name="rgba4_triangles" />
+<Test name="rgba4_clears" />
+<Test name="rgb8_triangles" />
+<Test name="rgb8_clears" />
+<Test name="rgb565_clears" />
+<Test name="r11f_g11f_b10f_triangles" />
+<Test name="r11f_g11f_b10f_clears" />
+<Test name="rg8_triangles" />
+<Test name="rg8_clears" />
+<Test name="rg8i_triangles" />
+<Test name="rg8i_clears" />
+<Test name="rg8ui_triangles" />
+<Test name="rg8ui_clears" />
+<Test name="rg16f_triangles" />
+<Test name="rg16f_clears" />
+<Test name="rg16i_triangles" />
+<Test name="rg16i_clears" />
+<Test name="rg16ui_triangles" />
+<Test name="rg16ui_clears" />
+<Test name="rg32f_triangles" />
+<Test name="rg32f_clears" />
+<Test name="rg32i_triangles" />
+<Test name="rg32i_clears" />
+<Test name="rg32ui_triangles" />
+<Test name="rg32ui_clears" />
+</TestCase>
+</TestSuite>
+<TestSuite name="rasterization">
+<TestCase name="primitives">
+<Test name="triangles" />
+<Test name="triangle_strip" />
+<Test name="triangle_fan" />
+<Test name="lines" />
+<Test name="line_strip" />
+<Test name="line_loop" />
+<Test name="lines_wide" />
+<Test name="line_strip_wide" />
+<Test name="line_loop_wide" />
+<Test name="points" />
+</TestCase>
+<TestCase name="fill_rules">
+<Test name="basic_quad" />
+<Test name="basic_quad_reverse" />
+<Test name="clipped_full" />
+<Test name="clipped_partly" />
+<Test name="projected" />
+</TestCase>
+<TestCase name="culling">
+<Test name="front_triangles" />
+<Test name="front_triangles_reverse" />
+<Test name="front_triangle_strip" />
+<Test name="front_triangle_strip_reverse" />
+<Test name="front_triangle_fan" />
+<Test name="front_triangle_fan_reverse" />
+<Test name="back_triangles" />
+<Test name="back_triangles_reverse" />
+<Test name="back_triangle_strip" />
+<Test name="back_triangle_strip_reverse" />
+<Test name="back_triangle_fan" />
+<Test name="back_triangle_fan_reverse" />
+<Test name="both_triangles" />
+<Test name="both_triangles_reverse" />
+<Test name="both_triangle_strip" />
+<Test name="both_triangle_strip_reverse" />
+<Test name="both_triangle_fan" />
+<Test name="both_triangle_fan_reverse" />
+</TestCase>
+<TestSuite name="interpolation">
+<TestCase name="basic">
+<Test name="triangles" />
+<Test name="triangle_strip" />
+<Test name="triangle_fan" />
+<Test name="lines" />
+<Test name="line_strip" />
+<Test name="line_loop" />
+<Test name="lines_wide" />
+<Test name="line_strip_wide" />
+<Test name="line_loop_wide" />
+</TestCase>
+<TestCase name="projected">
+<Test name="triangles" />
+<Test name="triangle_strip" />
+<Test name="triangle_fan" />
+<Test name="lines" />
+<Test name="line_strip" />
+<Test name="line_loop" />
+<Test name="lines_wide" />
+<Test name="line_strip_wide" />
+<Test name="line_loop_wide" />
+</TestCase>
+</TestSuite>
+<TestCase name="flatshading">
+<Test name="triangles" />
+<Test name="triangle_strip" />
+<Test name="triangle_fan" />
+<Test name="lines" />
+<Test name="line_strip" />
+<Test name="line_loop" />
+<Test name="lines_wide" />
+<Test name="line_strip_wide" />
+<Test name="line_loop_wide" />
+</TestCase>
+</TestSuite>
+<TestCase name="occlusion_query">
+<Test name="scissor" />
+<Test name="depth_write" />
+<Test name="depth_clear" />
+<Test name="stencil_write" />
+<Test name="stencil_clear" />
+<Test name="scissor_depth_write" />
+<Test name="scissor_depth_clear" />
+<Test name="scissor_stencil_write" />
+<Test name="scissor_stencil_clear" />
+<Test name="depth_write_depth_clear" />
+<Test name="depth_write_stencil_write" />
+<Test name="depth_write_stencil_clear" />
+<Test name="depth_clear_stencil_write" />
+<Test name="depth_clear_stencil_clear" />
+<Test name="stencil_write_stencil_clear" />
+<Test name="scissor_depth_write_depth_clear" />
+<Test name="scissor_depth_write_stencil_write" />
+<Test name="scissor_depth_write_stencil_clear" />
+<Test name="scissor_depth_clear_stencil_write" />
+<Test name="scissor_depth_clear_stencil_clear" />
+<Test name="scissor_stencil_write_stencil_clear" />
+<Test name="depth_write_depth_clear_stencil_write" />
+<Test name="depth_write_depth_clear_stencil_clear" />
+<Test name="depth_write_stencil_write_stencil_clear" />
+<Test name="depth_clear_stencil_write_stencil_clear" />
+<Test name="scissor_depth_write_depth_clear_stencil_write" />
+<Test name="scissor_depth_write_depth_clear_stencil_clear" />
+<Test name="scissor_depth_write_stencil_write_stencil_clear" />
+<Test name="scissor_depth_clear_stencil_write_stencil_clear" />
+<Test name="depth_write_depth_clear_stencil_write_stencil_clear" />
+<Test name="all_occluders" />
+<Test name="conservative_scissor" />
+<Test name="conservative_depth_write" />
+<Test name="conservative_depth_clear" />
+<Test name="conservative_stencil_write" />
+<Test name="conservative_stencil_clear" />
+<Test name="conservative_scissor_depth_write" />
+<Test name="conservative_scissor_depth_clear" />
+<Test name="conservative_scissor_stencil_write" />
+<Test name="conservative_scissor_stencil_clear" />
+<Test name="conservative_depth_write_depth_clear" />
+<Test name="conservative_depth_write_stencil_write" />
+<Test name="conservative_depth_write_stencil_clear" />
+<Test name="conservative_depth_clear_stencil_write" />
+<Test name="conservative_depth_clear_stencil_clear" />
+<Test name="conservative_stencil_write_stencil_clear" />
+<Test name="conservative_scissor_depth_write_depth_clear" />
+<Test name="conservative_scissor_depth_write_stencil_write" />
+<Test name="conservative_scissor_depth_write_stencil_clear" />
+<Test name="conservative_scissor_depth_clear_stencil_write" />
+<Test name="conservative_scissor_depth_clear_stencil_clear" />
+<Test name="conservative_scissor_stencil_write_stencil_clear" />
+<Test name="conservative_depth_write_depth_clear_stencil_write" />
+<Test name="conservative_depth_write_depth_clear_stencil_clear" />
+<Test name="conservative_depth_write_stencil_write_stencil_clear" />
+<Test name="conservative_depth_clear_stencil_write_stencil_clear" />
+<Test name="conservative_scissor_depth_write_depth_clear_stencil_write" />
+<Test name="conservative_scissor_depth_write_depth_clear_stencil_clear" />
+<Test name="conservative_scissor_depth_write_stencil_write_stencil_clear" />
+<Test name="conservative_scissor_depth_clear_stencil_write_stencil_clear" />
+<Test name="conservative_depth_write_depth_clear_stencil_write_stencil_clear" />
+<Test name="conservative_all_occluders" />
+</TestCase>
+<TestSuite name="primitive_restart">
+<TestSuite name="basic">
+<TestSuite name="points">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+<TestSuite name="line_strip">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+<TestSuite name="line_loop">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+<TestSuite name="lines">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+<TestSuite name="triangle_strip">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+<TestSuite name="triangle_fan">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+<TestSuite name="triangles">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+</TestSuite>
+<TestSuite name="duplicate_restarts">
+<TestSuite name="line_strip">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+<TestSuite name="line_loop">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+<TestSuite name="lines">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+<TestSuite name="triangle_strip">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+<TestSuite name="triangle_fan">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+<TestSuite name="triangles">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+</TestSuite>
+<TestSuite name="end_restart">
+<TestSuite name="points">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+<TestSuite name="line_strip">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+<TestSuite name="line_loop">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+<TestSuite name="lines">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+<TestSuite name="triangle_strip">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+<TestSuite name="triangle_fan">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+<TestSuite name="triangles">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+</TestSuite>
+<TestSuite name="end_restart_duplicate_restarts">
+<TestSuite name="line_strip">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+<TestSuite name="line_loop">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+<TestSuite name="lines">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+<TestSuite name="triangle_strip">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+<TestSuite name="triangle_fan">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+<TestSuite name="triangles">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+</TestSuite>
+<TestSuite name="begin_restart">
+<TestSuite name="line_strip">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+<TestSuite name="line_loop">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+<TestSuite name="lines">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+<TestSuite name="triangle_strip">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+<TestSuite name="triangle_fan">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+<TestSuite name="triangles">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+</TestSuite>
+<TestSuite name="begin_restart_duplicate_restarts">
+<TestSuite name="line_strip">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+<TestSuite name="line_loop">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+<TestSuite name="lines">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+<TestSuite name="triangle_strip">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+<TestSuite name="triangle_fan">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+<TestSuite name="triangles">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+</TestSuite>
+<TestSuite name="begin_restart_end_restart">
+<TestSuite name="line_strip">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+<TestSuite name="line_loop">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+<TestSuite name="lines">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+<TestSuite name="triangle_strip">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+<TestSuite name="triangle_fan">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+<TestSuite name="triangles">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+</TestSuite>
+<TestSuite name="begin_restart_end_restart_duplicate_restarts">
+<TestSuite name="line_strip">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+<TestSuite name="line_loop">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+<TestSuite name="lines">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+<TestSuite name="triangle_strip">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+<TestSuite name="triangle_fan">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+<TestSuite name="triangles">
+<TestCase name="unsigned_byte">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_short">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+<TestCase name="unsigned_int">
+<Test name="draw_elements" />
+<Test name="draw_elements_instanced" />
+<Test name="draw_range_elements" />
+</TestCase>
+</TestSuite>
+</TestSuite>
+</TestSuite>
+<TestSuite name="instanced">
+<TestSuite name="draw_arrays_instanced">
+<TestCase name="instance_id">
+<Test name="1_instances" />
+<Test name="2_instances" />
+<Test name="4_instances" />
+<Test name="20_instances" />
+</TestCase>
+<TestCase name="attribute_divisor">
+<Test name="1_instances" />
+<Test name="2_instances" />
+<Test name="4_instances" />
+<Test name="20_instances" />
+</TestCase>
+<TestCase name="mixed">
+<Test name="1_instances" />
+<Test name="2_instances" />
+<Test name="4_instances" />
+<Test name="20_instances" />
+</TestCase>
+</TestSuite>
+<TestSuite name="draw_elements_instanced">
+<TestCase name="instance_id">
+<Test name="1_instances" />
+<Test name="2_instances" />
+<Test name="4_instances" />
+<Test name="20_instances" />
+</TestCase>
+<TestCase name="attribute_divisor">
+<Test name="1_instances" />
+<Test name="2_instances" />
+<Test name="4_instances" />
+<Test name="20_instances" />
+</TestCase>
+<TestCase name="mixed">
+<Test name="1_instances" />
+<Test name="2_instances" />
+<Test name="4_instances" />
+<Test name="20_instances" />
+</TestCase>
+</TestSuite>
+<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" />
+</TestCase>
+</TestSuite>
+<TestSuite name="rasterizer_discard">
+<TestCase name="basic">
+<Test name="write_depth_points" />
+<Test name="write_depth_lines" />
+<Test name="write_depth_line_strip" />
+<Test name="write_depth_line_loop" />
+<Test name="write_depth_triangles" />
+<Test name="write_depth_triangle_strip" />
+<Test name="write_depth_triangle_fan" />
+<Test name="write_stencil_points" />
+<Test name="write_stencil_lines" />
+<Test name="write_stencil_line_strip" />
+<Test name="write_stencil_line_loop" />
+<Test name="write_stencil_triangles" />
+<Test name="write_stencil_triangle_strip" />
+<Test name="write_stencil_triangle_fan" />
+<Test name="clear_color" />
+<Test name="clear_depth" />
+<Test name="clear_stencil" />
+</TestCase>
+<TestCase name="scissor">
+<Test name="write_depth_points" />
+<Test name="write_depth_lines" />
+<Test name="write_depth_line_strip" />
+<Test name="write_depth_line_loop" />
+<Test name="write_depth_triangles" />
+<Test name="write_depth_triangle_strip" />
+<Test name="write_depth_triangle_fan" />
+<Test name="write_stencil_points" />
+<Test name="write_stencil_lines" />
+<Test name="write_stencil_line_strip" />
+<Test name="write_stencil_line_loop" />
+<Test name="write_stencil_triangles" />
+<Test name="write_stencil_triangle_strip" />
+<Test name="write_stencil_triangle_fan" />
+<Test name="clear_color" />
+<Test name="clear_depth" />
+<Test name="clear_stencil" />
+</TestCase>
+<TestCase name="fbo">
+<Test name="write_depth_points" />
+<Test name="write_depth_lines" />
+<Test name="write_depth_line_strip" />
+<Test name="write_depth_line_loop" />
+<Test name="write_depth_triangles" />
+<Test name="write_depth_triangle_strip" />
+<Test name="write_depth_triangle_fan" />
+<Test name="write_stencil_points" />
+<Test name="write_stencil_lines" />
+<Test name="write_stencil_line_strip" />
+<Test name="write_stencil_line_loop" />
+<Test name="write_stencil_triangles" />
+<Test name="write_stencil_triangle_strip" />
+<Test name="write_stencil_triangle_fan" />
+<Test name="clear_color" />
+<Test name="clear_depth" />
+<Test name="clear_stencil" />
+</TestCase>
+</TestSuite>
+<TestSuite name="transform_feedback">
+<TestCase name="position">
+<Test name="points_interleaved" />
+<Test name="lines_separate" />
+<Test name="lines_interleaved" />
+<Test name="triangles_separate" />
+<Test name="triangles_interleaved" />
+</TestCase>
+<TestCase name="point_size">
+<Test name="points_separate" />
+<Test name="points_interleaved" />
+<Test name="lines_separate" />
+<Test name="lines_interleaved" />
+<Test name="triangles_separate" />
+<Test name="triangles_interleaved" />
+</TestCase>
+<TestSuite name="basic_types">
+<TestSuite name="separate">
+<TestCase name="points">
+<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="mediump_vec4" />
+<Test name="highp_vec4" />
+<Test name="lowp_mat2x3" />
+<Test name="mediump_mat2x3" />
+<Test name="highp_mat2x3" />
+<Test name="lowp_mat2x4" />
+<Test name="mediump_mat2x4" />
+<Test name="highp_mat2x4" />
+<Test name="lowp_mat3x2" />
+<Test name="mediump_mat3x2" />
+<Test name="highp_mat3x2" />
+<Test name="lowp_mat3" />
+<Test name="mediump_mat3" />
+<Test name="highp_mat3" />
+<Test name="lowp_mat3x4" />
+<Test name="mediump_mat3x4" />
+<Test name="highp_mat3x4" />
+<Test name="lowp_mat4x2" />
+<Test name="mediump_mat4x2" />
+<Test name="highp_mat4x2" />
+<Test name="lowp_mat4x3" />
+<Test name="mediump_mat4x3" />
+<Test name="highp_mat4x3" />
+<Test name="lowp_mat4" />
+<Test name="mediump_mat4" />
+<Test name="highp_mat4" />
+<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" />
+</TestCase>
+<TestCase name="lines">
+<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_mat2x3" />
+<Test name="mediump_mat2x3" />
+<Test name="highp_mat2x3" />
+<Test name="lowp_mat2x4" />
+<Test name="mediump_mat2x4" />
+<Test name="highp_mat2x4" />
+<Test name="lowp_mat3x2" />
+<Test name="mediump_mat3x2" />
+<Test name="highp_mat3x2" />
+<Test name="lowp_mat3" />
+<Test name="mediump_mat3" />
+<Test name="highp_mat3" />
+<Test name="lowp_mat3x4" />
+<Test name="mediump_mat3x4" />
+<Test name="highp_mat3x4" />
+<Test name="lowp_mat4x2" />
+<Test name="mediump_mat4x2" />
+<Test name="highp_mat4x2" />
+<Test name="lowp_mat4x3" />
+<Test name="mediump_mat4x3" />
+<Test name="highp_mat4x3" />
+<Test name="lowp_mat4" />
+<Test name="mediump_mat4" />
+<Test name="highp_mat4" />
+<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="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" />
+</TestCase>
+<TestCase name="triangles">
+<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_vec4" />
+<Test name="mediump_vec4" />
+<Test name="highp_vec4" />
+<Test name="lowp_mat2x3" />
+<Test name="mediump_mat2x3" />
+<Test name="highp_mat2x3" />
+<Test name="lowp_mat2x4" />
+<Test name="mediump_mat2x4" />
+<Test name="highp_mat2x4" />
+<Test name="lowp_mat3x2" />
+<Test name="mediump_mat3x2" />
+<Test name="highp_mat3x2" />
+<Test name="lowp_mat3" />
+<Test name="mediump_mat3" />
+<Test name="highp_mat3" />
+<Test name="lowp_mat3x4" />
+<Test name="mediump_mat3x4" />
+<Test name="highp_mat3x4" />
+<Test name="lowp_mat4x2" />
+<Test name="mediump_mat4x2" />
+<Test name="highp_mat4x2" />
+<Test name="lowp_mat4x3" />
+<Test name="mediump_mat4x3" />
+<Test name="highp_mat4x3" />
+<Test name="lowp_mat4" />
+<Test name="mediump_mat4" />
+<Test name="highp_mat4" />
+<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" />
+</TestCase>
+</TestSuite>
+<TestSuite name="interleaved">
+<TestCase name="points">
+<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_mat2" />
+<Test name="mediump_mat2" />
+<Test name="highp_mat2" />
+<Test name="lowp_mat2x4" />
+<Test name="mediump_mat2x4" />
+<Test name="highp_mat2x4" />
+<Test name="lowp_mat3x2" />
+<Test name="mediump_mat3x2" />
+<Test name="mediump_mat3x4" />
+<Test name="highp_mat3x4" />
+<Test name="lowp_mat4x2" />
+<Test name="mediump_mat4x2" />
+<Test name="highp_mat4x2" />
+<Test name="lowp_mat4x3" />
+<Test name="lowp_mat4" />
+<Test name="mediump_mat4" />
+<Test name="highp_mat4" />
+<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="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" />
+</TestCase>
+<TestCase name="lines">
+<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_mat2" />
+<Test name="mediump_mat2" />
+<Test name="highp_mat2" />
+<Test name="lowp_mat2x3" />
+<Test name="mediump_mat2x3" />
+<Test name="highp_mat2x3" />
+<Test name="lowp_mat2x4" />
+<Test name="mediump_mat2x4" />
+<Test name="highp_mat2x4" />
+<Test name="mediump_mat3x2" />
+<Test name="highp_mat3x2" />
+<Test name="mediump_mat3" />
+<Test name="highp_mat3" />
+<Test name="lowp_mat3x4" />
+<Test name="mediump_mat3x4" />
+<Test name="highp_mat3x4" />
+<Test name="lowp_mat4x2" />
+<Test name="mediump_mat4x2" />
+<Test name="highp_mat4x2" />
+<Test name="lowp_mat4x3" />
+<Test name="mediump_mat4x3" />
+<Test name="highp_mat4x3" />
+<Test name="lowp_mat4" />
+<Test name="mediump_mat4" />
+<Test name="highp_mat4" />
+<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" />
+</TestCase>
+<TestCase name="triangles">
+<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_mat2" />
+<Test name="mediump_mat2" />
+<Test name="highp_mat2" />
+<Test name="highp_mat2x3" />
+<Test name="lowp_mat2x4" />
+<Test name="mediump_mat2x4" />
+<Test name="highp_mat2x4" />
+<Test name="lowp_mat3" />
+<Test name="highp_mat3" />
+<Test name="lowp_mat3x4" />
+<Test name="mediump_mat3x4" />
+<Test name="lowp_mat4x2" />
+<Test name="mediump_mat4x2" />
+<Test name="highp_mat4x2" />
+<Test name="lowp_mat4x3" />
+<Test name="lowp_mat4" />
+<Test name="mediump_mat4" />
+<Test name="highp_mat4" />
+<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" />
+</TestCase>
+</TestSuite>
+</TestSuite>
+<TestSuite name="array">
+<TestSuite name="separate">
+<TestCase name="points">
+<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_mat2" />
+<Test name="mediump_mat2" />
+<Test name="highp_mat2" />
+<Test name="lowp_mat2x3" />
+<Test name="mediump_mat2x3" />
+<Test name="highp_mat2x3" />
+<Test name="lowp_mat2x4" />
+<Test name="mediump_mat2x4" />
+<Test name="highp_mat2x4" />
+<Test name="lowp_mat3x2" />
+<Test name="mediump_mat3x2" />
+<Test name="highp_mat3x2" />
+<Test name="lowp_mat3" />
+<Test name="mediump_mat3" />
+<Test name="highp_mat3" />
+<Test name="lowp_mat3x4" />
+<Test name="mediump_mat3x4" />
+<Test name="highp_mat3x4" />
+<Test name="lowp_mat4x2" />
+<Test name="mediump_mat4x2" />
+<Test name="highp_mat4x2" />
+<Test name="lowp_mat4x3" />
+<Test name="mediump_mat4x3" />
+<Test name="highp_mat4x3" />
+<Test name="lowp_mat4" />
+<Test name="mediump_mat4" />
+<Test name="highp_mat4" />
+<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_uvec3" />
+<Test name="mediump_uvec3" />
+<Test name="highp_uvec3" />
+<Test name="lowp_uvec4" />
+<Test name="mediump_uvec4" />
+<Test name="highp_uvec4" />
+</TestCase>
+<TestCase name="lines">
+<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_mat2" />
+<Test name="mediump_mat2" />
+<Test name="highp_mat2" />
+<Test name="lowp_mat2x3" />
+<Test name="mediump_mat2x3" />
+<Test name="highp_mat2x3" />
+<Test name="lowp_mat2x4" />
+<Test name="mediump_mat2x4" />
+<Test name="highp_mat2x4" />
+<Test name="lowp_mat3x2" />
+<Test name="mediump_mat3x2" />
+<Test name="highp_mat3x2" />
+<Test name="lowp_mat3" />
+<Test name="mediump_mat3" />
+<Test name="highp_mat3" />
+<Test name="lowp_mat3x4" />
+<Test name="mediump_mat3x4" />
+<Test name="highp_mat3x4" />
+<Test name="lowp_mat4x2" />
+<Test name="mediump_mat4x2" />
+<Test name="highp_mat4x2" />
+<Test name="lowp_mat4x3" />
+<Test name="mediump_mat4x3" />
+<Test name="highp_mat4x3" />
+<Test name="lowp_mat4" />
+<Test name="mediump_mat4" />
+<Test name="highp_mat4" />
+<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_uvec3" />
+<Test name="mediump_uvec3" />
+<Test name="highp_uvec3" />
+<Test name="lowp_uvec4" />
+<Test name="mediump_uvec4" />
+<Test name="highp_uvec4" />
+</TestCase>
+<TestCase name="triangles">
+<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_mat2" />
+<Test name="mediump_mat2" />
+<Test name="highp_mat2" />
+<Test name="lowp_mat2x3" />
+<Test name="mediump_mat2x3" />
+<Test name="highp_mat2x3" />
+<Test name="lowp_mat2x4" />
+<Test name="mediump_mat2x4" />
+<Test name="highp_mat2x4" />
+<Test name="lowp_mat3x2" />
+<Test name="mediump_mat3x2" />
+<Test name="highp_mat3x2" />
+<Test name="lowp_mat3" />
+<Test name="mediump_mat3" />
+<Test name="highp_mat3" />
+<Test name="lowp_mat3x4" />
+<Test name="mediump_mat3x4" />
+<Test name="highp_mat3x4" />
+<Test name="lowp_mat4x2" />
+<Test name="mediump_mat4x2" />
+<Test name="highp_mat4x2" />
+<Test name="lowp_mat4x3" />
+<Test name="mediump_mat4x3" />
+<Test name="highp_mat4x3" />
+<Test name="lowp_mat4" />
+<Test name="mediump_mat4" />
+<Test name="highp_mat4" />
+<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_uvec3" />
+<Test name="mediump_uvec3" />
+<Test name="highp_uvec3" />
+<Test name="lowp_uvec4" />
+<Test name="mediump_uvec4" />
+<Test name="highp_uvec4" />
+</TestCase>
+</TestSuite>
+<TestSuite name="interleaved">
+<TestCase name="points">
+<Test name="lowp_mat2" />
+<Test name="mediump_mat2" />
+<Test name="highp_mat2" />
+<Test name="lowp_mat2x3" />
+<Test name="mediump_mat2x3" />
+<Test name="highp_mat2x3" />
+<Test name="lowp_mat2x4" />
+<Test name="mediump_mat2x4" />
+<Test name="highp_mat2x4" />
+<Test name="lowp_mat3x2" />
+<Test name="mediump_mat3x2" />
+<Test name="highp_mat3x2" />
+<Test name="lowp_mat3" />
+<Test name="mediump_mat3" />
+<Test name="highp_mat3" />
+<Test name="lowp_mat3x4" />
+<Test name="mediump_mat3x4" />
+<Test name="highp_mat3x4" />
+<Test name="lowp_mat4x2" />
+<Test name="mediump_mat4x2" />
+<Test name="highp_mat4x2" />
+<Test name="lowp_mat4x3" />
+<Test name="mediump_mat4x3" />
+<Test name="highp_mat4x3" />
+<Test name="lowp_mat4" />
+<Test name="mediump_mat4" />
+<Test name="highp_mat4" />
+</TestCase>
+<TestCase name="lines">
+<Test name="lowp_mat2" />
+<Test name="mediump_mat2" />
+<Test name="highp_mat2" />
+<Test name="lowp_mat2x3" />
+<Test name="mediump_mat2x3" />
+<Test name="highp_mat2x3" />
+<Test name="lowp_mat2x4" />
+<Test name="mediump_mat2x4" />
+<Test name="highp_mat2x4" />
+<Test name="lowp_mat3x2" />
+<Test name="mediump_mat3x2" />
+<Test name="highp_mat3x2" />
+<Test name="lowp_mat3" />
+<Test name="mediump_mat3" />
+<Test name="highp_mat3" />
+<Test name="lowp_mat3x4" />
+<Test name="mediump_mat3x4" />
+<Test name="highp_mat3x4" />
+<Test name="lowp_mat4x2" />
+<Test name="mediump_mat4x2" />
+<Test name="highp_mat4x2" />
+<Test name="lowp_mat4x3" />
+<Test name="mediump_mat4x3" />
+<Test name="highp_mat4x3" />
+<Test name="lowp_mat4" />
+<Test name="mediump_mat4" />
+<Test name="highp_mat4" />
+</TestCase>
+<TestCase name="triangles">
+<Test name="lowp_mat2" />
+<Test name="mediump_mat2" />
+<Test name="highp_mat2" />
+<Test name="lowp_mat2x3" />
+<Test name="mediump_mat2x3" />
+<Test name="highp_mat2x3" />
+<Test name="lowp_mat2x4" />
+<Test name="mediump_mat2x4" />
+<Test name="highp_mat2x4" />
+<Test name="lowp_mat3x2" />
+<Test name="mediump_mat3x2" />
+<Test name="highp_mat3x2" />
+<Test name="lowp_mat3" />
+<Test name="mediump_mat3" />
+<Test name="highp_mat3" />
+<Test name="lowp_mat3x4" />
+<Test name="mediump_mat3x4" />
+<Test name="highp_mat3x4" />
+<Test name="lowp_mat4x2" />
+<Test name="mediump_mat4x2" />
+<Test name="highp_mat4x2" />
+<Test name="lowp_mat4x3" />
+<Test name="mediump_mat4x3" />
+<Test name="highp_mat4x3" />
+<Test name="lowp_mat4" />
+<Test name="mediump_mat4" />
+<Test name="highp_mat4" />
+</TestCase>
+</TestSuite>
+</TestSuite>
+<TestSuite name="array_element">
+<TestSuite name="separate">
+<TestCase name="points">
+<Test name="lowp_mat2x3" />
+<Test name="mediump_mat2x3" />
+<Test name="highp_mat2x3" />
+<Test name="lowp_mat2x4" />
+<Test name="mediump_mat2x4" />
+<Test name="highp_mat2x4" />
+<Test name="lowp_mat3x2" />
+<Test name="mediump_mat3x2" />
+<Test name="highp_mat3x2" />
+<Test name="lowp_mat3" />
+<Test name="mediump_mat3" />
+<Test name="highp_mat3" />
+<Test name="lowp_mat3x4" />
+<Test name="mediump_mat3x4" />
+<Test name="highp_mat3x4" />
+<Test name="lowp_mat4x2" />
+<Test name="mediump_mat4x2" />
+<Test name="highp_mat4x2" />
+<Test name="lowp_mat4x3" />
+<Test name="mediump_mat4x3" />
+<Test name="highp_mat4x3" />
+<Test name="lowp_mat4" />
+<Test name="mediump_mat4" />
+<Test name="highp_mat4" />
+<Test name="lowp_int" />
+<Test name="mediump_int" />
+<Test name="highp_ivec2" />
+<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" />
+</TestCase>
+<TestCase name="lines">
+<Test name="lowp_float" />
+<Test name="mediump_float" />
+<Test name="lowp_vec2" />
+<Test name="mediump_vec2" />
+<Test name="mediump_vec3" />
+<Test name="highp_vec3" />
+<Test name="lowp_vec4" />
+<Test name="mediump_vec4" />
+<Test name="highp_vec4" />
+<Test name="lowp_mat2x3" />
+<Test name="mediump_mat2x3" />
+<Test name="highp_mat2x3" />
+<Test name="lowp_mat2x4" />
+<Test name="mediump_mat2x4" />
+<Test name="highp_mat2x4" />
+<Test name="lowp_mat3x2" />
+<Test name="mediump_mat3x2" />
+<Test name="highp_mat3x2" />
+<Test name="lowp_mat3" />
+<Test name="mediump_mat3" />
+<Test name="highp_mat3" />
+<Test name="lowp_mat3x4" />
+<Test name="mediump_mat3x4" />
+<Test name="highp_mat3x4" />
+<Test name="lowp_mat4x2" />
+<Test name="mediump_mat4x2" />
+<Test name="highp_mat4x2" />
+<Test name="lowp_mat4x3" />
+<Test name="mediump_mat4x3" />
+<Test name="highp_mat4x3" />
+<Test name="lowp_mat4" />
+<Test name="mediump_mat4" />
+<Test name="highp_mat4" />
+<Test name="lowp_int" />
+<Test name="lowp_ivec2" />
+<Test name="lowp_ivec4" />
+<Test name="mediump_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="mediump_uvec3" />
+<Test name="highp_uvec3" />
+<Test name="mediump_uvec4" />
+<Test name="highp_uvec4" />
+</TestCase>
+<TestCase name="triangles">
+<Test name="lowp_float" />
+<Test name="mediump_float" />
+<Test name="highp_float" />
+<Test name="lowp_vec2" />
+<Test name="mediump_vec2" />
+<Test name="lowp_vec3" />
+<Test name="lowp_vec4" />
+<Test name="mediump_vec4" />
+<Test name="highp_vec4" />
+<Test name="lowp_mat2x3" />
+<Test name="mediump_mat2x3" />
+<Test name="highp_mat2x3" />
+<Test name="lowp_mat2x4" />
+<Test name="mediump_mat2x4" />
+<Test name="highp_mat2x4" />
+<Test name="lowp_mat3x2" />
+<Test name="mediump_mat3x2" />
+<Test name="highp_mat3x2" />
+<Test name="lowp_mat3" />
+<Test name="mediump_mat3" />
+<Test name="highp_mat3" />
+<Test name="lowp_mat3x4" />
+<Test name="mediump_mat3x4" />
+<Test name="highp_mat3x4" />
+<Test name="lowp_mat4x2" />
+<Test name="mediump_mat4x2" />
+<Test name="highp_mat4x2" />
+<Test name="lowp_mat4x3" />
+<Test name="mediump_mat4x3" />
+<Test name="highp_mat4x3" />
+<Test name="lowp_mat4" />
+<Test name="mediump_mat4" />
+<Test name="highp_mat4" />
+<Test name="lowp_int" />
+<Test name="mediump_int" />
+<Test name="highp_int" />
+<Test name="mediump_ivec2" />
+<Test name="mediump_ivec3" />
+<Test name="highp_ivec3" />
+<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="highp_uvec3" />
+<Test name="lowp_uvec4" />
+<Test name="mediump_uvec4" />
+<Test name="highp_uvec4" />
+</TestCase>
+</TestSuite>
+<TestSuite name="interleaved">
+<TestCase name="points">
+<Test name="lowp_float" />
+<Test name="mediump_float" />
+<Test name="highp_float" />
+<Test name="lowp_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_mat2" />
+<Test name="highp_mat2" />
+<Test name="lowp_mat2x3" />
+<Test name="mediump_mat2x3" />
+<Test name="highp_mat2x3" />
+<Test name="lowp_mat2x4" />
+<Test name="mediump_mat2x4" />
+<Test name="highp_mat2x4" />
+<Test name="lowp_mat3x2" />
+<Test name="mediump_mat3x2" />
+<Test name="highp_mat3x2" />
+<Test name="lowp_mat3" />
+<Test name="mediump_mat3" />
+<Test name="highp_mat3" />
+<Test name="lowp_mat3x4" />
+<Test name="mediump_mat3x4" />
+<Test name="highp_mat3x4" />
+<Test name="lowp_mat4x2" />
+<Test name="mediump_mat4x2" />
+<Test name="highp_mat4x2" />
+<Test name="lowp_mat4x3" />
+<Test name="mediump_mat4x3" />
+<Test name="highp_mat4x3" />
+<Test name="lowp_mat4" />
+<Test name="mediump_mat4" />
+<Test name="highp_mat4" />
+<Test name="lowp_int" />
+<Test name="mediump_int" />
+<Test name="highp_int" />
+<Test name="lowp_ivec2" />
+<Test name="mediump_ivec2" />
+<Test name="highp_ivec3" />
+<Test name="lowp_ivec4" />
+<Test name="highp_ivec4" />
+<Test name="mediump_uint" />
+<Test name="highp_uint" />
+<Test name="lowp_uvec2" />
+<Test name="mediump_uvec2" />
+<Test name="highp_uvec2" />
+<Test name="mediump_uvec3" />
+<Test name="highp_uvec3" />
+<Test name="lowp_uvec4" />
+<Test name="mediump_uvec4" />
+<Test name="highp_uvec4" />
+</TestCase>
+<TestCase name="lines">
+<Test name="mediump_float" />
+<Test name="lowp_vec2" />
+<Test name="mediump_vec2" />
+<Test name="mediump_vec3" />
+<Test name="highp_vec3" />
+<Test name="lowp_vec4" />
+<Test name="mediump_vec4" />
+<Test name="highp_vec4" />
+<Test name="mediump_mat2" />
+<Test name="highp_mat2" />
+<Test name="lowp_mat2x3" />
+<Test name="highp_mat2x3" />
+<Test name="lowp_mat2x4" />
+<Test name="mediump_mat2x4" />
+<Test name="highp_mat2x4" />
+<Test name="lowp_mat3x2" />
+<Test name="mediump_mat3x2" />
+<Test name="highp_mat3x2" />
+<Test name="lowp_mat3" />
+<Test name="mediump_mat3" />
+<Test name="highp_mat3" />
+<Test name="lowp_mat3x4" />
+<Test name="mediump_mat3x4" />
+<Test name="highp_mat3x4" />
+<Test name="lowp_mat4x2" />
+<Test name="mediump_mat4x2" />
+<Test name="highp_mat4x2" />
+<Test name="lowp_mat4x3" />
+<Test name="mediump_mat4x3" />
+<Test name="highp_mat4x3" />
+<Test name="lowp_mat4" />
+<Test name="mediump_mat4" />
+<Test name="highp_mat4" />
+<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" />
+</TestCase>
+<TestCase name="triangles">
+<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="lowp_mat2" />
+<Test name="mediump_mat2" />
+<Test name="lowp_mat2x3" />
+<Test name="mediump_mat2x3" />
+<Test name="highp_mat2x3" />
+<Test name="lowp_mat2x4" />
+<Test name="mediump_mat2x4" />
+<Test name="highp_mat2x4" />
+<Test name="lowp_mat3x2" />
+<Test name="mediump_mat3x2" />
+<Test name="highp_mat3x2" />
+<Test name="lowp_mat3" />
+<Test name="mediump_mat3" />
+<Test name="highp_mat3" />
+<Test name="lowp_mat3x4" />
+<Test name="mediump_mat3x4" />
+<Test name="highp_mat3x4" />
+<Test name="lowp_mat4x2" />
+<Test name="mediump_mat4x2" />
+<Test name="highp_mat4x2" />
+<Test name="lowp_mat4x3" />
+<Test name="mediump_mat4x3" />
+<Test name="highp_mat4x3" />
+<Test name="lowp_mat4" />
+<Test name="mediump_mat4" />
+<Test name="highp_mat4" />
+<Test name="lowp_int" />
+<Test name="mediump_int" />
+<Test name="highp_int" />
+<Test name="lowp_ivec2" />
+<Test name="highp_ivec2" />
+<Test name="lowp_ivec3" />
+<Test name="mediump_ivec3" />
+<Test name="lowp_ivec4" />
+<Test name="mediump_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="mediump_uvec3" />
+<Test name="highp_uvec3" />
+<Test name="lowp_uvec4" />
+<Test name="mediump_uvec4" />
+<Test name="highp_uvec4" />
+</TestCase>
+</TestSuite>
+</TestSuite>
+<TestSuite name="interpolation">
+<TestCase name="smooth">
+<Test name="lowp_vec4_points_separate" />
+<Test name="lowp_vec4_points_interleaved" />
+<Test name="lowp_vec4_lines_separate" />
+<Test name="lowp_vec4_lines_interleaved" />
+<Test name="lowp_vec4_triangles_interleaved" />
+<Test name="mediump_vec4_points_interleaved" />
+<Test name="mediump_vec4_lines_separate" />
+<Test name="mediump_vec4_lines_interleaved" />
+<Test name="mediump_vec4_triangles_separate" />
+<Test name="mediump_vec4_triangles_interleaved" />
+<Test name="highp_vec4_points_interleaved" />
+<Test name="highp_vec4_lines_separate" />
+<Test name="highp_vec4_lines_interleaved" />
+<Test name="highp_vec4_triangles_separate" />
+<Test name="highp_vec4_triangles_interleaved" />
+</TestCase>
+<TestCase name="flat">
+<Test name="lowp_vec4_points_separate" />
+<Test name="lowp_vec4_points_interleaved" />
+<Test name="lowp_vec4_lines_separate" />
+<Test name="lowp_vec4_lines_interleaved" />
+<Test name="lowp_vec4_triangles_separate" />
+<Test name="lowp_vec4_triangles_interleaved" />
+<Test name="mediump_vec4_points_interleaved" />
+<Test name="mediump_vec4_lines_interleaved" />
+<Test name="mediump_vec4_triangles_separate" />
+<Test name="mediump_vec4_triangles_interleaved" />
+<Test name="highp_vec4_points_interleaved" />
+<Test name="highp_vec4_lines_interleaved" />
+<Test name="highp_vec4_triangles_separate" />
+<Test name="highp_vec4_triangles_interleaved" />
+</TestCase>
+<TestCase name="centroid">
+<Test name="lowp_vec4_points_separate" />
+<Test name="lowp_vec4_points_interleaved" />
+<Test name="lowp_vec4_lines_separate" />
+<Test name="lowp_vec4_lines_interleaved" />
+<Test name="lowp_vec4_triangles_interleaved" />
+<Test name="mediump_vec4_lines_separate" />
+<Test name="mediump_vec4_lines_interleaved" />
+<Test name="highp_vec4_points_separate" />
+<Test name="highp_vec4_points_interleaved" />
+<Test name="highp_vec4_lines_separate" />
+<Test name="highp_vec4_lines_interleaved" />
+<Test name="highp_vec4_triangles_interleaved" />
+</TestCase>
+</TestSuite>
+<TestSuite name="random">
+<TestSuite name="separate">
+<TestCase name="points">
+<Test name="1" />
+<Test name="3" />
+<Test name="5" />
+<Test name="6" />
+<Test name="8" />
+<Test name="9" />
+<Test name="10" />
+</TestCase>
+<TestCase name="lines">
+<Test name="3" />
+<Test name="5" />
+<Test name="6" />
+<Test name="10" />
+</TestCase>
+<TestCase name="triangles">
+<Test name="2" />
+<Test name="3" />
+<Test name="5" />
+<Test name="7" />
+</TestCase>
+</TestSuite>
+<TestSuite name="interleaved">
+<TestCase name="points">
+<Test name="3" />
+<Test name="5" />
+<Test name="6" />
+<Test name="8" />
+<Test name="9" />
+<Test name="10" />
+</TestCase>
+<TestCase name="lines">
+<Test name="2" />
+<Test name="5" />
+<Test name="6" />
+<Test name="8" />
+<Test name="9" />
+<Test name="10" />
+</TestCase>
+<TestCase name="triangles">
+<Test name="1" />
+<Test name="4" />
+<Test name="5" />
+<Test name="6" />
+<Test name="9" />
+</TestCase>
+</TestSuite>
+</TestSuite>
+</TestSuite>
+<TestCase name="fence_sync">
+<Test name="wait_sync_smalldraw" />
+<Test name="client_wait_sync_smalldraw" />
+<Test name="client_wait_sync_timeout_smalldraw" />
+</TestCase>
+<TestSuite name="shader_api">
+<TestCase name="create_delete">
+<Test name="create_vertex_shader" />
+<Test name="create_fragment_shader" />
+<Test name="delete_vertex_fragment" />
+</TestCase>
+<TestCase name="compile_link">
+<Test name="compile_vertex_shader" />
+<Test name="compile_fragment_shader" />
+<Test name="link_vertex_fragment" />
+</TestCase>
+<TestCase name="shader_source">
+<Test name="replace_source_vertex" />
+<Test name="replace_source_fragment" />
+<Test name="split_source_2_null_terminated_vertex" />
+<Test name="split_source_2_null_terminated_fragment" />
+<Test name="split_source_4_null_terminated_vertex" />
+<Test name="split_source_4_null_terminated_fragment" />
+<Test name="split_source_8_null_terminated_vertex" />
+<Test name="split_source_8_null_terminated_fragment" />
+<Test name="split_source_2_specify_lengths_vertex" />
+<Test name="split_source_2_specify_lengths_fragment" />
+<Test name="split_source_4_specify_lengths_vertex" />
+<Test name="split_source_4_specify_lengths_fragment" />
+<Test name="split_source_8_specify_lengths_vertex" />
+<Test name="split_source_8_specify_lengths_fragment" />
+<Test name="split_source_2_random_negative_length_vertex" />
+<Test name="split_source_2_random_negative_length_fragment" />
+<Test name="split_source_4_random_negative_length_vertex" />
+<Test name="split_source_4_random_negative_length_fragment" />
+<Test name="split_source_8_random_negative_length_vertex" />
+<Test name="split_source_8_random_negative_length_fragment" />
+</TestCase>
+<TestCase name="program_state">
+<Test name="detach_shader_vertex" />
+<Test name="detach_shader_fragment" />
+<Test name="reattach_shader_vertex" />
+<Test name="reattach_shader_fragment" />
+<Test name="delete_shader_vertex" />
+<Test name="delete_shader_fragment" />
+<Test name="replace_shader_vertex" />
+<Test name="replace_shader_fragment" />
+<Test name="recompile_shader_vertex" />
+<Test name="recompile_shader_fragment" />
+<Test name="replace_source_vertex" />
+<Test name="replace_source_fragment" />
+</TestCase>
+<TestSuite name="program_binary">
+<TestCase name="simple">
+<Test name="get_program_binary_vertex_fragment" />
+<Test name="uniform_reset_on_binary_load" />
+</TestCase>
+<TestCase name="binary_persistence">
+<Test name="detach_shader_vertex" />
+<Test name="detach_shader_fragment" />
+<Test name="reattach_shader_vertex" />
+<Test name="reattach_shader_fragment" />
+<Test name="delete_shader_vertex" />
+<Test name="delete_shader_fragment" />
+<Test name="replace_shader_vertex" />
+<Test name="replace_shader_fragment" />
+<Test name="recompile_shader_vertex" />
+<Test name="recompile_shader_fragment" />
+<Test name="replace_source_vertex" />
+<Test name="replace_source_fragment" />
+</TestCase>
+</TestSuite>
+</TestSuite>
+<TestSuite name="negative_api">
+<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_format_mismatch" />
+<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_invalid_binding" />
+<Test name="texstorage3d_invalid_binding" />
+</TestCase>
+<TestCase name="shader">
+<Test name="create_shader" />
+<Test name="compile_shader" />
+<Test name="delete_shader" />
+<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_elements_invalid_program" />
+<Test name="draw_arrays_instanced" />
+<Test name="draw_arrays_instanced_invalid_program" />
+<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" />
+<Test name="is_buffer" />
+<Test name="is_framebuffer" />
+<Test name="is_program" />
+<Test name="is_renderbuffer" />
+<Test name="is_shader" />
+<Test name="is_texture" />
+<Test name="is_query" />
+<Test name="is_sampler" />
+<Test name="is_sync" />
+<Test name="is_transform_feedback" />
+<Test name="is_vertex_array" />
+</TestCase>
+</TestSuite>
+<TestSuite name="multisample">
+<TestCase name="default_framebuffer">
+<Test name="num_samples_polygon" />
+<Test name="num_samples_line" />
+<Test name="common_edge_small_quads" />
+<Test name="common_edge_big_quad" />
+<Test name="common_edge_viewport_quad" />
+<Test name="depth" />
+<Test name="stencil" />
+<Test name="sample_coverage_invert" />
+<Test name="proportionality_alpha_to_coverage" />
+<Test name="proportionality_sample_coverage" />
+<Test name="proportionality_sample_coverage_inverted" />
+<Test name="constancy_alpha_to_coverage" />
+<Test name="constancy_sample_coverage" />
+<Test name="constancy_sample_coverage_inverted" />
+<Test name="constancy_both" />
+<Test name="constancy_both_inverted" />
+</TestCase>
+<TestCase name="fbo_4_samples">
+<Test name="num_samples_polygon" />
+<Test name="num_samples_line" />
+<Test name="common_edge_small_quads" />
+<Test name="common_edge_big_quad" />
+<Test name="common_edge_viewport_quad" />
+<Test name="depth" />
+<Test name="sample_coverage_invert" />
+<Test name="proportionality_alpha_to_coverage" />
+<Test name="proportionality_sample_coverage" />
+<Test name="proportionality_sample_coverage_inverted" />
+<Test name="constancy_alpha_to_coverage" />
+<Test name="constancy_sample_coverage" />
+<Test name="constancy_sample_coverage_inverted" />
+<Test name="constancy_both" />
+<Test name="constancy_both_inverted" />
+</TestCase>
+<TestCase name="fbo_8_samples">
+<Test name="num_samples_polygon" />
+<Test name="num_samples_line" />
+<Test name="common_edge_small_quads" />
+<Test name="common_edge_big_quad" />
+<Test name="common_edge_viewport_quad" />
+<Test name="depth" />
+<Test name="stencil" />
+<Test name="sample_coverage_invert" />
+<Test name="proportionality_alpha_to_coverage" />
+<Test name="proportionality_sample_coverage" />
+<Test name="proportionality_sample_coverage_inverted" />
+<Test name="constancy_alpha_to_coverage" />
+<Test name="constancy_sample_coverage" />
+<Test name="constancy_sample_coverage_inverted" />
+<Test name="constancy_both" />
+<Test name="constancy_both_inverted" />
+</TestCase>
+<TestCase name="fbo_max_samples">
+<Test name="num_samples_polygon" />
+<Test name="num_samples_line" />
+<Test name="common_edge_small_quads" />
+<Test name="common_edge_big_quad" />
+<Test name="common_edge_viewport_quad" />
+<Test name="depth" />
+<Test name="sample_coverage_invert" />
+<Test name="proportionality_alpha_to_coverage" />
+<Test name="proportionality_sample_coverage" />
+<Test name="proportionality_sample_coverage_inverted" />
+<Test name="constancy_alpha_to_coverage" />
+<Test name="constancy_sample_coverage" />
+<Test name="constancy_sample_coverage_inverted" />
+<Test name="constancy_both" />
+<Test name="constancy_both_inverted" />
+</TestCase>
+</TestSuite>
+<TestSuite name="read_pixels">
+<TestCase name="alignment">
+<Test name="rgba_ubyte_1" />
+<Test name="rgba_ubyte_2" />
+<Test name="rgba_ubyte_4" />
+<Test name="rgba_ubyte_8" />
+<Test name="rgba_int_1" />
+<Test name="rgba_int_2" />
+<Test name="rgba_int_4" />
+<Test name="rgba_int_8" />
+<Test name="rgba_uint_1" />
+<Test name="rgba_uint_2" />
+<Test name="rgba_uint_4" />
+<Test name="rgba_uint_8" />
+<Test name="choose_1" />
+<Test name="choose_2" />
+<Test name="choose_4" />
+<Test name="choose_8" />
+</TestCase>
+<TestCase name="rowlength">
+<Test name="rgba_ubyte_17" />
+<Test name="rgba_ubyte_19" />
+<Test name="rgba_ubyte_23" />
+<Test name="rgba_ubyte_29" />
+<Test name="rgba_int_17" />
+<Test name="rgba_int_19" />
+<Test name="rgba_int_23" />
+<Test name="rgba_int_29" />
+<Test name="rgba_uint_17" />
+<Test name="rgba_uint_19" />
+<Test name="rgba_uint_23" />
+<Test name="rgba_uint_29" />
+<Test name="choose_17" />
+<Test name="choose_19" />
+<Test name="choose_23" />
+<Test name="choose_29" />
+</TestCase>
+<TestCase name="skip">
+<Test name="rgba_ubyte_0_3" />
+<Test name="rgba_ubyte_3_0" />
+<Test name="rgba_ubyte_3_3" />
+<Test name="rgba_ubyte_3_5" />
+<Test name="rgba_int_0_3" />
+<Test name="rgba_int_3_0" />
+<Test name="rgba_int_3_3" />
+<Test name="rgba_int_3_5" />
+<Test name="rgba_uint_0_3" />
+<Test name="rgba_uint_3_0" />
+<Test name="rgba_uint_3_3" />
+<Test name="rgba_uint_3_5" />
+<Test name="choose_0_3" />
+<Test name="choose_3_0" />
+<Test name="choose_3_3" />
+<Test name="choose_3_5" />
+</TestCase>
+</TestSuite>
+<TestSuite name="dither">
+<TestCase name="disabled">
+<Test name="gradient_white" />
+<Test name="gradient_red" />
+<Test name="gradient_green" />
+<Test name="gradient_blue" />
+<Test name="gradient_alpha" />
+<Test name="unicolored_quad_white" />
+<Test name="unicolored_quad_red" />
+<Test name="unicolored_quad_green" />
+<Test name="unicolored_quad_blue" />
+<Test name="unicolored_quad_alpha" />
+</TestCase>
+<TestCase name="enabled">
+<Test name="gradient_white" />
+<Test name="gradient_red" />
+<Test name="gradient_green" />
+<Test name="gradient_blue" />
+<Test name="gradient_alpha" />
+<Test name="unicolored_quad_white" />
+<Test name="unicolored_quad_red" />
+<Test name="unicolored_quad_green" />
+<Test name="unicolored_quad_blue" />
+<Test name="unicolored_quad_alpha" />
+</TestCase>
+</TestSuite>
+<TestSuite name="state_query">
+<TestCase name="boolean">
+<Test name="primitive_restart_fixed_index_isenabled" />
+<Test name="primitive_restart_fixed_index_getboolean" />
+<Test name="primitive_restart_fixed_index_getinteger" />
+<Test name="primitive_restart_fixed_index_getinteger64" />
+<Test name="primitive_restart_fixed_index_getfloat" />
+<Test name="cull_face_isenabled" />
+<Test name="cull_face_getboolean" />
+<Test name="cull_face_getinteger" />
+<Test name="cull_face_getinteger64" />
+<Test name="cull_face_getfloat" />
+<Test name="polygon_offset_fill_isenabled" />
+<Test name="polygon_offset_fill_getboolean" />
+<Test name="polygon_offset_fill_getinteger" />
+<Test name="polygon_offset_fill_getinteger64" />
+<Test name="polygon_offset_fill_getfloat" />
+<Test name="sample_alpha_to_coverage_isenabled" />
+<Test name="sample_alpha_to_coverage_getboolean" />
+<Test name="sample_alpha_to_coverage_getinteger" />
+<Test name="sample_alpha_to_coverage_getinteger64" />
+<Test name="sample_alpha_to_coverage_getfloat" />
+<Test name="sample_coverage_isenabled" />
+<Test name="sample_coverage_getboolean" />
+<Test name="sample_coverage_getinteger" />
+<Test name="sample_coverage_getinteger64" />
+<Test name="sample_coverage_getfloat" />
+<Test name="scissor_test_isenabled" />
+<Test name="scissor_test_getboolean" />
+<Test name="scissor_test_getinteger" />
+<Test name="scissor_test_getinteger64" />
+<Test name="scissor_test_getfloat" />
+<Test name="stencil_test_isenabled" />
+<Test name="stencil_test_getboolean" />
+<Test name="stencil_test_getinteger" />
+<Test name="stencil_test_getinteger64" />
+<Test name="stencil_test_getfloat" />
+<Test name="depth_test_isenabled" />
+<Test name="depth_test_getboolean" />
+<Test name="depth_test_getinteger" />
+<Test name="depth_test_getinteger64" />
+<Test name="depth_test_getfloat" />
+<Test name="blend_isenabled" />
+<Test name="blend_getboolean" />
+<Test name="blend_getinteger" />
+<Test name="blend_getinteger64" />
+<Test name="blend_getfloat" />
+<Test name="dither_isenabled" />
+<Test name="dither_getboolean" />
+<Test name="dither_getinteger" />
+<Test name="dither_getinteger64" />
+<Test name="dither_getfloat" />
+<Test name="color_writemask_getboolean" />
+<Test name="color_writemask_getinteger" />
+<Test name="color_writemask_getinteger64" />
+<Test name="color_writemask_getfloat" />
+<Test name="depth_writemask_getboolean" />
+<Test name="depth_writemask_getinteger" />
+<Test name="depth_writemask_getinteger64" />
+<Test name="depth_writemask_getfloat" />
+<Test name="sample_coverage_invert_getboolean" />
+<Test name="sample_coverage_invert_getinteger" />
+<Test name="sample_coverage_invert_getinteger64" />
+<Test name="sample_coverage_invert_getfloat" />
+<Test name="shader_compiler_getboolean" />
+<Test name="shader_compiler_getinteger" />
+<Test name="shader_compiler_getinteger64" />
+<Test name="shader_compiler_getfloat" />
+<Test name="transform_feedback_active_initial_getboolean" />
+<Test name="transform_feedback_active_initial_getinteger" />
+<Test name="transform_feedback_active_initial_getinteger64" />
+<Test name="transform_feedback_active_initial_getfloat" />
+<Test name="transform_feedback_paused_initial_getboolean" />
+<Test name="transform_feedback_paused_initial_getinteger" />
+<Test name="transform_feedback_paused_initial_getinteger64" />
+<Test name="transform_feedback_paused_initial_getfloat" />
+<Test name="transform_feedback_getboolean" />
+<Test name="transform_feedback_getinteger" />
+<Test name="transform_feedback_getinteger64" />
+<Test name="transform_feedback_getfloat" />
+<Test name="transform_feedback_implicit_resume_getboolean" />
+<Test name="transform_feedback_implicit_resume_getinteger" />
+<Test name="transform_feedback_implicit_resume_getinteger64" />
+<Test name="transform_feedback_implicit_resume_getfloat" />
+</TestCase>
+<TestCase name="integers">
+<Test name="subpixel_bits_getboolean" />
+<Test name="subpixel_bits_getinteger64" />
+<Test name="subpixel_bits_getfloat" />
+<Test name="max_3d_texture_size_getboolean" />
+<Test name="max_3d_texture_size_getinteger64" />
+<Test name="max_3d_texture_size_getfloat" />
+<Test name="max_texture_size_getboolean" />
+<Test name="max_texture_size_getinteger64" />
+<Test name="max_texture_size_getfloat" />
+<Test name="max_array_texture_layers_getboolean" />
+<Test name="max_array_texture_layers_getinteger64" />
+<Test name="max_array_texture_layers_getfloat" />
+<Test name="max_cube_map_texture_size_getboolean" />
+<Test name="max_cube_map_texture_size_getinteger64" />
+<Test name="max_cube_map_texture_size_getfloat" />
+<Test name="max_renderbuffer_size_getboolean" />
+<Test name="max_renderbuffer_size_getinteger64" />
+<Test name="max_renderbuffer_size_getfloat" />
+<Test name="max_draw_buffers_getboolean" />
+<Test name="max_draw_buffers_getinteger64" />
+<Test name="max_draw_buffers_getfloat" />
+<Test name="max_color_attachments_getboolean" />
+<Test name="max_color_attachments_getinteger64" />
+<Test name="max_color_attachments_getfloat" />
+<Test name="max_elements_indices_getboolean" />
+<Test name="max_elements_indices_getinteger64" />
+<Test name="max_elements_indices_getfloat" />
+<Test name="max_elements_vertices_getboolean" />
+<Test name="max_elements_vertices_getinteger64" />
+<Test name="max_elements_vertices_getfloat" />
+<Test name="num_extensions_getboolean" />
+<Test name="num_extensions_getinteger64" />
+<Test name="num_extensions_getfloat" />
+<Test name="major_version_getboolean" />
+<Test name="major_version_getinteger64" />
+<Test name="major_version_getfloat" />
+<Test name="minor_version_getboolean" />
+<Test name="minor_version_getinteger64" />
+<Test name="minor_version_getfloat" />
+<Test name="max_vertex_attribs_getboolean" />
+<Test name="max_vertex_attribs_getinteger64" />
+<Test name="max_vertex_attribs_getfloat" />
+<Test name="max_vertex_uniform_components_getboolean" />
+<Test name="max_vertex_uniform_components_getinteger64" />
+<Test name="max_vertex_uniform_components_getfloat" />
+<Test name="max_vertex_uniform_vectors_getboolean" />
+<Test name="max_vertex_uniform_vectors_getinteger64" />
+<Test name="max_vertex_uniform_vectors_getfloat" />
+<Test name="max_vertex_uniform_blocks_getboolean" />
+<Test name="max_vertex_uniform_blocks_getinteger64" />
+<Test name="max_vertex_uniform_blocks_getfloat" />
+<Test name="max_vertex_output_components_getboolean" />
+<Test name="max_vertex_output_components_getinteger64" />
+<Test name="max_vertex_output_components_getfloat" />
+<Test name="max_vertex_texture_image_units_getboolean" />
+<Test name="max_vertex_texture_image_units_getinteger64" />
+<Test name="max_vertex_texture_image_units_getfloat" />
+<Test name="max_fragment_uniform_components_getboolean" />
+<Test name="max_fragment_uniform_components_getinteger64" />
+<Test name="max_fragment_uniform_components_getfloat" />
+<Test name="max_fragment_uniform_vectors_getboolean" />
+<Test name="max_fragment_uniform_vectors_getinteger64" />
+<Test name="max_fragment_uniform_vectors_getfloat" />
+<Test name="max_fragment_uniform_blocks_getboolean" />
+<Test name="max_fragment_uniform_blocks_getinteger64" />
+<Test name="max_fragment_uniform_blocks_getfloat" />
+<Test name="max_fragment_input_components_getboolean" />
+<Test name="max_fragment_input_components_getinteger64" />
+<Test name="max_fragment_input_components_getfloat" />
+<Test name="max_texture_image_units_getboolean" />
+<Test name="max_texture_image_units_getinteger64" />
+<Test name="max_texture_image_units_getfloat" />
+<Test name="max_program_texel_offset_getboolean" />
+<Test name="max_program_texel_offset_getinteger64" />
+<Test name="max_program_texel_offset_getfloat" />
+<Test name="max_uniform_buffer_bindings_getboolean" />
+<Test name="max_uniform_buffer_bindings_getinteger64" />
+<Test name="max_uniform_buffer_bindings_getfloat" />
+<Test name="max_combined_uniform_blocks_getboolean" />
+<Test name="max_combined_uniform_blocks_getinteger64" />
+<Test name="max_combined_uniform_blocks_getfloat" />
+<Test name="max_varying_components_getboolean" />
+<Test name="max_varying_components_getinteger64" />
+<Test name="max_varying_components_getfloat" />
+<Test name="max_varying_vectors_getboolean" />
+<Test name="max_varying_vectors_getinteger64" />
+<Test name="max_varying_vectors_getfloat" />
+<Test name="max_combined_texture_image_units_getboolean" />
+<Test name="max_combined_texture_image_units_getinteger64" />
+<Test name="max_combined_texture_image_units_getfloat" />
+<Test name="max_transform_feedback_interleaved_components_getboolean" />
+<Test name="max_transform_feedback_interleaved_components_getinteger64" />
+<Test name="max_transform_feedback_interleaved_components_getfloat" />
+<Test name="max_transform_feedback_separate_attribs_getboolean" />
+<Test name="max_transform_feedback_separate_attribs_getinteger64" />
+<Test name="max_transform_feedback_separate_attribs_getfloat" />
+<Test name="max_transform_feedback_separate_components_getboolean" />
+<Test name="max_transform_feedback_separate_components_getinteger64" />
+<Test name="max_transform_feedback_separate_components_getfloat" />
+<Test name="max_samples_getboolean" />
+<Test name="max_samples_getinteger64" />
+<Test name="max_samples_getfloat" />
+<Test name="red_bits_getboolean" />
+<Test name="red_bits_getinteger64" />
+<Test name="red_bits_getfloat" />
+<Test name="green_bits_getboolean" />
+<Test name="green_bits_getinteger64" />
+<Test name="green_bits_getfloat" />
+<Test name="blue_bits_getboolean" />
+<Test name="blue_bits_getinteger64" />
+<Test name="blue_bits_getfloat" />
+<Test name="alpha_bits_getboolean" />
+<Test name="alpha_bits_getinteger64" />
+<Test name="alpha_bits_getfloat" />
+<Test name="depth_bits_getboolean" />
+<Test name="depth_bits_getinteger64" />
+<Test name="depth_bits_getfloat" />
+<Test name="stencil_bits_getboolean" />
+<Test name="stencil_bits_getinteger64" />
+<Test name="stencil_bits_getfloat" />
+<Test name="min_program_texel_offset_getboolean" />
+<Test name="min_program_texel_offset_getinteger64" />
+<Test name="min_program_texel_offset_getfloat" />
+<Test name="uniform_buffer_offset_alignment_getboolean" />
+<Test name="uniform_buffer_offset_alignment_getinteger64" />
+<Test name="uniform_buffer_offset_alignment_getfloat" />
+<Test name="sample_buffers_getboolean" />
+<Test name="sample_buffers_getinteger64" />
+<Test name="sample_buffers_getfloat" />
+<Test name="samples_getboolean" />
+<Test name="samples_getinteger" />
+<Test name="samples_getinteger64" />
+<Test name="samples_getfloat" />
+<Test name="generate_mipmap_hint_getboolean" />
+<Test name="generate_mipmap_hint_getinteger" />
+<Test name="generate_mipmap_hint_getinteger64" />
+<Test name="generate_mipmap_hint_getfloat" />
+<Test name="fragment_shader_derivative_hint_getboolean" />
+<Test name="fragment_shader_derivative_hint_getinteger" />
+<Test name="fragment_shader_derivative_hint_getinteger64" />
+<Test name="fragment_shader_derivative_hint_getfloat" />
+<Test name="depth_func_getboolean" />
+<Test name="depth_func_getinteger" />
+<Test name="depth_func_getinteger64" />
+<Test name="depth_func_getfloat" />
+<Test name="cull_face_mode_getboolean" />
+<Test name="cull_face_mode_getinteger" />
+<Test name="cull_face_mode_getinteger64" />
+<Test name="cull_face_mode_getfloat" />
+<Test name="front_face_mode_getboolean" />
+<Test name="front_face_mode_getinteger" />
+<Test name="front_face_mode_getinteger64" />
+<Test name="front_face_mode_getfloat" />
+<Test name="viewport_getboolean" />
+<Test name="viewport_getinteger" />
+<Test name="viewport_getinteger64" />
+<Test name="viewport_getfloat" />
+<Test name="scissor_box_getboolean" />
+<Test name="scissor_box_getinteger" />
+<Test name="scissor_box_getinteger64" />
+<Test name="scissor_box_getfloat" />
+<Test name="max_viewport_dims_getboolean" />
+<Test name="max_viewport_dims_getinteger" />
+<Test name="max_viewport_dims_getinteger64" />
+<Test name="max_viewport_dims_getfloat" />
+<Test name="stencil_ref_getboolean" />
+<Test name="stencil_ref_getinteger" />
+<Test name="stencil_ref_getinteger64" />
+<Test name="stencil_ref_getfloat" />
+<Test name="stencil_back_ref_getboolean" />
+<Test name="stencil_back_ref_getinteger" />
+<Test name="stencil_back_ref_getinteger64" />
+<Test name="stencil_back_ref_getfloat" />
+<Test name="stencil_ref_separate_getboolean" />
+<Test name="stencil_ref_separate_getinteger" />
+<Test name="stencil_ref_separate_getinteger64" />
+<Test name="stencil_ref_separate_getfloat" />
+<Test name="stencil_ref_separate_both_getboolean" />
+<Test name="stencil_ref_separate_both_getinteger" />
+<Test name="stencil_ref_separate_both_getinteger64" />
+<Test name="stencil_ref_separate_both_getfloat" />
+<Test name="stencil_back_ref_separate_getboolean" />
+<Test name="stencil_back_ref_separate_getinteger" />
+<Test name="stencil_back_ref_separate_getinteger64" />
+<Test name="stencil_back_ref_separate_getfloat" />
+<Test name="stencil_back_ref_separate_both_getboolean" />
+<Test name="stencil_back_ref_separate_both_getinteger" />
+<Test name="stencil_back_ref_separate_both_getinteger64" />
+<Test name="stencil_back_ref_separate_both_getfloat" />
+<Test name="stencil_fail_getboolean" />
+<Test name="stencil_fail_getinteger" />
+<Test name="stencil_fail_getinteger64" />
+<Test name="stencil_fail_getfloat" />
+<Test name="stencil_back_fail_getboolean" />
+<Test name="stencil_back_fail_getinteger" />
+<Test name="stencil_back_fail_getinteger64" />
+<Test name="stencil_back_fail_getfloat" />
+<Test name="stencil_fail_separate_both_getboolean" />
+<Test name="stencil_fail_separate_both_getinteger" />
+<Test name="stencil_fail_separate_both_getinteger64" />
+<Test name="stencil_fail_separate_both_getfloat" />
+<Test name="stencil_back_fail_separate_both_getboolean" />
+<Test name="stencil_back_fail_separate_both_getinteger" />
+<Test name="stencil_back_fail_separate_both_getinteger64" />
+<Test name="stencil_back_fail_separate_both_getfloat" />
+<Test name="stencil_fail_separate_getboolean" />
+<Test name="stencil_fail_separate_getinteger" />
+<Test name="stencil_fail_separate_getinteger64" />
+<Test name="stencil_fail_separate_getfloat" />
+<Test name="stencil_back_fail_separate_getboolean" />
+<Test name="stencil_back_fail_separate_getinteger" />
+<Test name="stencil_back_fail_separate_getinteger64" />
+<Test name="stencil_back_fail_separate_getfloat" />
+<Test name="stencil_depth_fail_getboolean" />
+<Test name="stencil_depth_fail_getinteger" />
+<Test name="stencil_depth_fail_getinteger64" />
+<Test name="stencil_depth_fail_getfloat" />
+<Test name="stencil_back_depth_fail_getboolean" />
+<Test name="stencil_back_depth_fail_getinteger" />
+<Test name="stencil_back_depth_fail_getinteger64" />
+<Test name="stencil_back_depth_fail_getfloat" />
+<Test name="stencil_depth_fail_separate_both_getboolean" />
+<Test name="stencil_depth_fail_separate_both_getinteger" />
+<Test name="stencil_depth_fail_separate_both_getinteger64" />
+<Test name="stencil_depth_fail_separate_both_getfloat" />
+<Test name="stencil_back_depth_fail_separate_both_getboolean" />
+<Test name="stencil_back_depth_fail_separate_both_getinteger" />
+<Test name="stencil_back_depth_fail_separate_both_getinteger64" />
+<Test name="stencil_back_depth_fail_separate_both_getfloat" />
+<Test name="stencil_depth_fail_separate_getboolean" />
+<Test name="stencil_depth_fail_separate_getinteger" />
+<Test name="stencil_depth_fail_separate_getinteger64" />
+<Test name="stencil_depth_fail_separate_getfloat" />
+<Test name="stencil_back_depth_fail_separate_getboolean" />
+<Test name="stencil_back_depth_fail_separate_getinteger" />
+<Test name="stencil_back_depth_fail_separate_getinteger64" />
+<Test name="stencil_back_depth_fail_separate_getfloat" />
+<Test name="stencil_depth_pass_getboolean" />
+<Test name="stencil_depth_pass_getinteger" />
+<Test name="stencil_depth_pass_getinteger64" />
+<Test name="stencil_depth_pass_getfloat" />
+<Test name="stencil_back_depth_pass_getboolean" />
+<Test name="stencil_back_depth_pass_getinteger" />
+<Test name="stencil_back_depth_pass_getinteger64" />
+<Test name="stencil_back_depth_pass_getfloat" />
+<Test name="stencil_depth_pass_separate_both_getboolean" />
+<Test name="stencil_depth_pass_separate_both_getinteger" />
+<Test name="stencil_depth_pass_separate_both_getinteger64" />
+<Test name="stencil_depth_pass_separate_both_getfloat" />
+<Test name="stencil_back_depth_pass_separate_both_getboolean" />
+<Test name="stencil_back_depth_pass_separate_both_getinteger" />
+<Test name="stencil_back_depth_pass_separate_both_getinteger64" />
+<Test name="stencil_back_depth_pass_separate_both_getfloat" />
+<Test name="stencil_depth_pass_separate_getboolean" />
+<Test name="stencil_depth_pass_separate_getinteger" />
+<Test name="stencil_depth_pass_separate_getinteger64" />
+<Test name="stencil_depth_pass_separate_getfloat" />
+<Test name="stencil_back_depth_pass_separate_getboolean" />
+<Test name="stencil_back_depth_pass_separate_getinteger" />
+<Test name="stencil_back_depth_pass_separate_getinteger64" />
+<Test name="stencil_back_depth_pass_separate_getfloat" />
+<Test name="stencil_func_getboolean" />
+<Test name="stencil_func_getinteger" />
+<Test name="stencil_func_getinteger64" />
+<Test name="stencil_func_getfloat" />
+<Test name="stencil_func_separate_getboolean" />
+<Test name="stencil_func_separate_getinteger" />
+<Test name="stencil_func_separate_getinteger64" />
+<Test name="stencil_func_separate_getfloat" />
+<Test name="stencil_func_separate_both_getboolean" />
+<Test name="stencil_func_separate_both_getinteger" />
+<Test name="stencil_func_separate_both_getinteger64" />
+<Test name="stencil_func_separate_both_getfloat" />
+<Test name="stencil_back_func_separate_getboolean" />
+<Test name="stencil_back_func_separate_getinteger" />
+<Test name="stencil_back_func_separate_getinteger64" />
+<Test name="stencil_back_func_separate_getfloat" />
+<Test name="stencil_back_func_separate_both_getboolean" />
+<Test name="stencil_back_func_separate_both_getinteger" />
+<Test name="stencil_back_func_separate_both_getinteger64" />
+<Test name="stencil_back_func_separate_both_getfloat" />
+<Test name="stencil_value_mask_getboolean" />
+<Test name="stencil_value_mask_getinteger" />
+<Test name="stencil_value_mask_getinteger64" />
+<Test name="stencil_back_value_mask_getboolean" />
+<Test name="stencil_back_value_mask_getinteger" />
+<Test name="stencil_back_value_mask_getinteger64" />
+<Test name="stencil_value_mask_separate_getboolean" />
+<Test name="stencil_value_mask_separate_getinteger" />
+<Test name="stencil_value_mask_separate_getinteger64" />
+<Test name="stencil_value_mask_separate_both_getboolean" />
+<Test name="stencil_value_mask_separate_both_getinteger" />
+<Test name="stencil_value_mask_separate_both_getinteger64" />
+<Test name="stencil_back_value_mask_separate_getboolean" />
+<Test name="stencil_back_value_mask_separate_getinteger" />
+<Test name="stencil_back_value_mask_separate_getinteger64" />
+<Test name="stencil_back_value_mask_separate_both_getboolean" />
+<Test name="stencil_back_value_mask_separate_both_getinteger" />
+<Test name="stencil_back_value_mask_separate_both_getinteger64" />
+<Test name="stencil_writemask_getboolean" />
+<Test name="stencil_writemask_getinteger" />
+<Test name="stencil_writemask_getinteger64" />
+<Test name="stencil_writemask_getfloat" />
+<Test name="stencil_back_writemask_getboolean" />
+<Test name="stencil_back_writemask_getinteger" />
+<Test name="stencil_back_writemask_getinteger64" />
+<Test name="stencil_back_writemask_getfloat" />
+<Test name="stencil_writemask_separate_getboolean" />
+<Test name="stencil_writemask_separate_getinteger" />
+<Test name="stencil_writemask_separate_getinteger64" />
+<Test name="stencil_writemask_separate_getfloat" />
+<Test name="stencil_writemask_separate_both_getboolean" />
+<Test name="stencil_writemask_separate_both_getinteger" />
+<Test name="stencil_writemask_separate_both_getinteger64" />
+<Test name="stencil_writemask_separate_both_getfloat" />
+<Test name="stencil_back_writemask_separate_getboolean" />
+<Test name="stencil_back_writemask_separate_getinteger" />
+<Test name="stencil_back_writemask_separate_getinteger64" />
+<Test name="stencil_back_writemask_separate_getfloat" />
+<Test name="stencil_back_writemask_separate_both_getboolean" />
+<Test name="stencil_back_writemask_separate_both_getinteger" />
+<Test name="stencil_back_writemask_separate_both_getinteger64" />
+<Test name="stencil_back_writemask_separate_both_getfloat" />
+<Test name="unpack_image_height_getboolean" />
+<Test name="unpack_image_height_getinteger" />
+<Test name="unpack_image_height_getinteger64" />
+<Test name="unpack_image_height_getfloat" />
+<Test name="unpack_skip_images_getboolean" />
+<Test name="unpack_skip_images_getinteger" />
+<Test name="unpack_skip_images_getinteger64" />
+<Test name="unpack_skip_images_getfloat" />
+<Test name="unpack_row_length_getboolean" />
+<Test name="unpack_row_length_getinteger" />
+<Test name="unpack_row_length_getinteger64" />
+<Test name="unpack_row_length_getfloat" />
+<Test name="unpack_skip_rows_getboolean" />
+<Test name="unpack_skip_rows_getinteger" />
+<Test name="unpack_skip_rows_getinteger64" />
+<Test name="unpack_skip_rows_getfloat" />
+<Test name="unpack_skip_pixels_getboolean" />
+<Test name="unpack_skip_pixels_getinteger" />
+<Test name="unpack_skip_pixels_getinteger64" />
+<Test name="unpack_skip_pixels_getfloat" />
+<Test name="pack_row_length_getboolean" />
+<Test name="pack_row_length_getinteger" />
+<Test name="pack_row_length_getinteger64" />
+<Test name="pack_row_length_getfloat" />
+<Test name="pack_skip_rows_getboolean" />
+<Test name="pack_skip_rows_getinteger" />
+<Test name="pack_skip_rows_getinteger64" />
+<Test name="pack_skip_rows_getfloat" />
+<Test name="pack_skip_pixels_getboolean" />
+<Test name="pack_skip_pixels_getinteger" />
+<Test name="pack_skip_pixels_getinteger64" />
+<Test name="pack_skip_pixels_getfloat" />
+<Test name="unpack_alignment_getboolean" />
+<Test name="unpack_alignment_getinteger" />
+<Test name="unpack_alignment_getinteger64" />
+<Test name="unpack_alignment_getfloat" />
+<Test name="pack_alignment_getboolean" />
+<Test name="pack_alignment_getinteger" />
+<Test name="pack_alignment_getinteger64" />
+<Test name="pack_alignment_getfloat" />
+<Test name="blend_src_rgb_getboolean" />
+<Test name="blend_src_rgb_getinteger" />
+<Test name="blend_src_rgb_getinteger64" />
+<Test name="blend_src_rgb_getfloat" />
+<Test name="blend_src_rgb_separate_getboolean" />
+<Test name="blend_src_rgb_separate_getinteger" />
+<Test name="blend_src_rgb_separate_getinteger64" />
+<Test name="blend_src_rgb_separate_getfloat" />
+<Test name="blend_src_alpha_getboolean" />
+<Test name="blend_src_alpha_getinteger" />
+<Test name="blend_src_alpha_getinteger64" />
+<Test name="blend_src_alpha_getfloat" />
+<Test name="blend_src_alpha_separate_getboolean" />
+<Test name="blend_src_alpha_separate_getinteger" />
+<Test name="blend_src_alpha_separate_getinteger64" />
+<Test name="blend_src_alpha_separate_getfloat" />
+<Test name="blend_dst_rgb_getboolean" />
+<Test name="blend_dst_rgb_getinteger" />
+<Test name="blend_dst_rgb_getinteger64" />
+<Test name="blend_dst_rgb_getfloat" />
+<Test name="blend_dst_rgb_separate_getboolean" />
+<Test name="blend_dst_rgb_separate_getinteger" />
+<Test name="blend_dst_rgb_separate_getinteger64" />
+<Test name="blend_dst_rgb_separate_getfloat" />
+<Test name="blend_dst_alpha_getboolean" />
+<Test name="blend_dst_alpha_getinteger" />
+<Test name="blend_dst_alpha_getinteger64" />
+<Test name="blend_dst_alpha_getfloat" />
+<Test name="blend_dst_alpha_separate_getboolean" />
+<Test name="blend_dst_alpha_separate_getinteger" />
+<Test name="blend_dst_alpha_separate_getinteger64" />
+<Test name="blend_dst_alpha_separate_getfloat" />
+<Test name="blend_equation_rgb_getboolean" />
+<Test name="blend_equation_rgb_getinteger" />
+<Test name="blend_equation_rgb_getinteger64" />
+<Test name="blend_equation_rgb_getfloat" />
+<Test name="blend_equation_rgb_separate_getboolean" />
+<Test name="blend_equation_rgb_separate_getinteger" />
+<Test name="blend_equation_rgb_separate_getinteger64" />
+<Test name="blend_equation_rgb_separate_getfloat" />
+<Test name="blend_equation_alpha_getboolean" />
+<Test name="blend_equation_alpha_getinteger" />
+<Test name="blend_equation_alpha_getinteger64" />
+<Test name="blend_equation_alpha_getfloat" />
+<Test name="blend_equation_alpha_separate_getboolean" />
+<Test name="blend_equation_alpha_separate_getinteger" />
+<Test name="blend_equation_alpha_separate_getinteger64" />
+<Test name="blend_equation_alpha_separate_getfloat" />
+<Test name="compressed_texture_formats_getboolean" />
+<Test name="compressed_texture_formats_getinteger" />
+<Test name="compressed_texture_formats_getinteger64" />
+<Test name="compressed_texture_formats_getfloat" />
+<Test name="program_binary_formats_getboolean" />
+<Test name="program_binary_formats_getinteger" />
+<Test name="program_binary_formats_getinteger64" />
+<Test name="program_binary_formats_getfloat" />
+<Test name="shader_binary_formats_getboolean" />
+<Test name="shader_binary_formats_getinteger" />
+<Test name="shader_binary_formats_getinteger64" />
+<Test name="shader_binary_formats_getfloat" />
+<Test name="array_buffer_binding_getboolean" />
+<Test name="array_buffer_binding_getinteger" />
+<Test name="array_buffer_binding_getinteger64" />
+<Test name="array_buffer_binding_getfloat" />
+<Test name="pixel_pack_buffer_binding_getboolean" />
+<Test name="pixel_pack_buffer_binding_getinteger" />
+<Test name="pixel_pack_buffer_binding_getinteger64" />
+<Test name="pixel_pack_buffer_binding_getfloat" />
+<Test name="pixel_unpack_buffer_binding_getboolean" />
+<Test name="pixel_unpack_buffer_binding_getinteger" />
+<Test name="pixel_unpack_buffer_binding_getinteger64" />
+<Test name="pixel_unpack_buffer_binding_getfloat" />
+<Test name="copy_read_buffer_binding_getboolean" />
+<Test name="copy_read_buffer_binding_getinteger" />
+<Test name="copy_read_buffer_binding_getinteger64" />
+<Test name="copy_read_buffer_binding_getfloat" />
+<Test name="copy_write_buffer_binding_getboolean" />
+<Test name="copy_write_buffer_binding_getinteger" />
+<Test name="copy_write_buffer_binding_getinteger64" />
+<Test name="copy_write_buffer_binding_getfloat" />
+<Test name="element_array_buffer_binding_getboolean" />
+<Test name="element_array_buffer_binding_getinteger" />
+<Test name="element_array_buffer_binding_getinteger64" />
+<Test name="element_array_buffer_binding_getfloat" />
+<Test name="transform_feedback_binding_getboolean" />
+<Test name="transform_feedback_binding_getinteger" />
+<Test name="transform_feedback_binding_getinteger64" />
+<Test name="transform_feedback_binding_getfloat" />
+<Test name="current_program_binding_getboolean" />
+<Test name="current_program_binding_getinteger" />
+<Test name="current_program_binding_getinteger64" />
+<Test name="current_program_binding_getfloat" />
+<Test name="vertex_array_binding_getboolean" />
+<Test name="vertex_array_binding_getinteger" />
+<Test name="vertex_array_binding_getinteger64" />
+<Test name="vertex_array_binding_getfloat" />
+<Test name="stencil_clear_value_getboolean" />
+<Test name="stencil_clear_value_getinteger" />
+<Test name="stencil_clear_value_getinteger64" />
+<Test name="stencil_clear_value_getfloat" />
+<Test name="active_texture_getboolean" />
+<Test name="active_texture_getinteger" />
+<Test name="active_texture_getinteger64" />
+<Test name="active_texture_getfloat" />
+<Test name="renderbuffer_binding_getboolean" />
+<Test name="renderbuffer_binding_getinteger" />
+<Test name="renderbuffer_binding_getinteger64" />
+<Test name="renderbuffer_binding_getfloat" />
+<Test name="sampler_binding_getboolean" />
+<Test name="sampler_binding_getinteger" />
+<Test name="sampler_binding_getinteger64" />
+<Test name="sampler_binding_getfloat" />
+<Test name="texture_binding_2d_getboolean" />
+<Test name="texture_binding_2d_getinteger" />
+<Test name="texture_binding_2d_getinteger64" />
+<Test name="texture_binding_2d_getfloat" />
+<Test name="texture_binding_3d_getboolean" />
+<Test name="texture_binding_3d_getinteger" />
+<Test name="texture_binding_3d_getinteger64" />
+<Test name="texture_binding_3d_getfloat" />
+<Test name="texture_binding_2d_array_getboolean" />
+<Test name="texture_binding_2d_array_getinteger" />
+<Test name="texture_binding_2d_array_getinteger64" />
+<Test name="texture_binding_2d_array_getfloat" />
+<Test name="texture_binding_cube_map_getboolean" />
+<Test name="texture_binding_cube_map_getinteger" />
+<Test name="texture_binding_cube_map_getinteger64" />
+<Test name="texture_binding_cube_map_getfloat" />
+<Test name="framebuffer_binding_getboolean" />
+<Test name="framebuffer_binding_getinteger" />
+<Test name="framebuffer_binding_getinteger64" />
+<Test name="framebuffer_binding_getfloat" />
+<Test name="implementation_color_read_getboolean" />
+<Test name="implementation_color_read_getinteger" />
+<Test name="implementation_color_read_getinteger64" />
+<Test name="implementation_color_read_getfloat" />
+<Test name="read_buffer_getboolean" />
+<Test name="read_buffer_getinteger" />
+<Test name="read_buffer_getinteger64" />
+<Test name="read_buffer_getfloat" />
+<Test name="draw_buffer_getboolean" />
+<Test name="draw_buffer_getinteger" />
+<Test name="draw_buffer_getinteger64" />
+<Test name="draw_buffer_getfloat" />
+</TestCase>
+<TestCase name="integers64">
+<Test name="max_element_index_getboolean" />
+<Test name="max_element_index_getinteger" />
+<Test name="max_element_index_getfloat" />
+<Test name="max_server_wait_timeout_getboolean" />
+<Test name="max_server_wait_timeout_getinteger" />
+<Test name="max_uniform_block_size_getboolean" />
+<Test name="max_uniform_block_size_getinteger" />
+<Test name="max_uniform_block_size_getfloat" />
+<Test name="max_combined_vertex_uniform_components_getboolean" />
+<Test name="max_combined_vertex_uniform_components_getinteger" />
+<Test name="max_combined_vertex_uniform_components_getfloat" />
+<Test name="max_combined_fragment_uniform_components_getboolean" />
+<Test name="max_combined_fragment_uniform_components_getinteger" />
+<Test name="max_combined_fragment_uniform_components_getfloat" />
+</TestCase>
+<TestCase name="floats">
+<Test name="depth_range_getboolean" />
+<Test name="depth_range_getfloat" />
+<Test name="line_width_getboolean" />
+<Test name="line_width_getfloat" />
+<Test name="polygon_offset_factor_getfloat" />
+<Test name="polygon_offset_units_getfloat" />
+<Test name="sample_coverage_value_getboolean" />
+<Test name="blend_color_getboolean" />
+<Test name="blend_color_getfloat" />
+<Test name="color_clear_value_getboolean" />
+<Test name="color_clear_value_getfloat" />
+<Test name="depth_clear_value_getboolean" />
+<Test name="depth_clear_value_getfloat" />
+<Test name="max_texture_lod_bias_getboolean" />
+<Test name="max_texture_lod_bias_getinteger" />
+<Test name="max_texture_lod_bias_getinteger64" />
+<Test name="max_texture_lod_bias_getfloat" />
+<Test name="aliased_point_size_range_getboolean" />
+<Test name="aliased_point_size_range_getinteger" />
+<Test name="aliased_point_size_range_getinteger64" />
+<Test name="aliased_point_size_range_getfloat" />
+<Test name="aliased_line_width_range_getboolean" />
+<Test name="aliased_line_width_range_getinteger" />
+<Test name="aliased_line_width_range_getinteger64" />
+<Test name="aliased_line_width_range_getfloat" />
+</TestCase>
+<TestCase name="indexed">
+<Test name="transform_feedback_buffer_binding" />
+<Test name="transform_feedback_buffer_start_size" />
+<Test name="uniform_buffer_binding" />
+<Test name="uniform_buffer_start_size" />
+</TestCase>
+<TestCase name="texture">
+<Test name="texture_2d_is_texture" />
+<Test name="texture_2d_texture_swizzle_r_gettexparameteri" />
+<Test name="texture_2d_texture_swizzle_r_gettexparameterf" />
+<Test name="texture_2d_texture_swizzle_g_gettexparameteri" />
+<Test name="texture_2d_texture_swizzle_g_gettexparameterf" />
+<Test name="texture_2d_texture_swizzle_b_gettexparameteri" />
+<Test name="texture_2d_texture_swizzle_b_gettexparameterf" />
+<Test name="texture_2d_texture_swizzle_a_gettexparameteri" />
+<Test name="texture_2d_texture_swizzle_a_gettexparameterf" />
+<Test name="texture_2d_texture_wrap_s_gettexparameteri" />
+<Test name="texture_2d_texture_wrap_s_gettexparameterf" />
+<Test name="texture_2d_texture_wrap_t_gettexparameteri" />
+<Test name="texture_2d_texture_wrap_t_gettexparameterf" />
+<Test name="texture_2d_texture_mag_filter_gettexparameteri" />
+<Test name="texture_2d_texture_mag_filter_gettexparameterf" />
+<Test name="texture_2d_texture_min_filter_gettexparameteri" />
+<Test name="texture_2d_texture_min_filter_gettexparameterf" />
+<Test name="texture_2d_texture_min_lod_gettexparameteri" />
+<Test name="texture_2d_texture_min_lod_gettexparameterf" />
+<Test name="texture_2d_texture_max_lod_gettexparameteri" />
+<Test name="texture_2d_texture_max_lod_gettexparameterf" />
+<Test name="texture_2d_texture_base_level_gettexparameteri" />
+<Test name="texture_2d_texture_base_level_gettexparameterf" />
+<Test name="texture_2d_texture_max_level_gettexparameteri" />
+<Test name="texture_2d_texture_max_level_gettexparameterf" />
+<Test name="texture_2d_texture_compare_mode_gettexparameteri" />
+<Test name="texture_2d_texture_compare_mode_gettexparameterf" />
+<Test name="texture_2d_texture_compare_func_gettexparameteri" />
+<Test name="texture_2d_texture_compare_func_gettexparameterf" />
+<Test name="texture_2d_texture_immutable_format_gettexparameteri" />
+<Test name="texture_2d_texture_immutable_format_gettexparameterf" />
+<Test name="texture_3d_is_texture" />
+<Test name="texture_3d_texture_swizzle_r_gettexparameteri" />
+<Test name="texture_3d_texture_swizzle_r_gettexparameterf" />
+<Test name="texture_3d_texture_swizzle_g_gettexparameteri" />
+<Test name="texture_3d_texture_swizzle_g_gettexparameterf" />
+<Test name="texture_3d_texture_swizzle_b_gettexparameteri" />
+<Test name="texture_3d_texture_swizzle_b_gettexparameterf" />
+<Test name="texture_3d_texture_swizzle_a_gettexparameteri" />
+<Test name="texture_3d_texture_swizzle_a_gettexparameterf" />
+<Test name="texture_3d_texture_wrap_s_gettexparameteri" />
+<Test name="texture_3d_texture_wrap_s_gettexparameterf" />
+<Test name="texture_3d_texture_wrap_t_gettexparameteri" />
+<Test name="texture_3d_texture_wrap_t_gettexparameterf" />
+<Test name="texture_3d_texture_wrap_r_gettexparameteri" />
+<Test name="texture_3d_texture_wrap_r_gettexparameterf" />
+<Test name="texture_3d_texture_mag_filter_gettexparameteri" />
+<Test name="texture_3d_texture_mag_filter_gettexparameterf" />
+<Test name="texture_3d_texture_min_filter_gettexparameteri" />
+<Test name="texture_3d_texture_min_filter_gettexparameterf" />
+<Test name="texture_3d_texture_min_lod_gettexparameteri" />
+<Test name="texture_3d_texture_min_lod_gettexparameterf" />
+<Test name="texture_3d_texture_max_lod_gettexparameteri" />
+<Test name="texture_3d_texture_max_lod_gettexparameterf" />
+<Test name="texture_3d_texture_base_level_gettexparameteri" />
+<Test name="texture_3d_texture_base_level_gettexparameterf" />
+<Test name="texture_3d_texture_max_level_gettexparameteri" />
+<Test name="texture_3d_texture_max_level_gettexparameterf" />
+<Test name="texture_3d_texture_compare_mode_gettexparameteri" />
+<Test name="texture_3d_texture_compare_mode_gettexparameterf" />
+<Test name="texture_3d_texture_compare_func_gettexparameteri" />
+<Test name="texture_3d_texture_compare_func_gettexparameterf" />
+<Test name="texture_3d_texture_immutable_format_gettexparameteri" />
+<Test name="texture_3d_texture_immutable_format_gettexparameterf" />
+<Test name="texture_2d_array_is_texture" />
+<Test name="texture_2d_array_texture_swizzle_r_gettexparameteri" />
+<Test name="texture_2d_array_texture_swizzle_r_gettexparameterf" />
+<Test name="texture_2d_array_texture_swizzle_g_gettexparameteri" />
+<Test name="texture_2d_array_texture_swizzle_g_gettexparameterf" />
+<Test name="texture_2d_array_texture_swizzle_b_gettexparameteri" />
+<Test name="texture_2d_array_texture_swizzle_b_gettexparameterf" />
+<Test name="texture_2d_array_texture_swizzle_a_gettexparameteri" />
+<Test name="texture_2d_array_texture_swizzle_a_gettexparameterf" />
+<Test name="texture_2d_array_texture_wrap_s_gettexparameteri" />
+<Test name="texture_2d_array_texture_wrap_s_gettexparameterf" />
+<Test name="texture_2d_array_texture_mag_filter_gettexparameteri" />
+<Test name="texture_2d_array_texture_mag_filter_gettexparameterf" />
+<Test name="texture_2d_array_texture_min_filter_gettexparameteri" />
+<Test name="texture_2d_array_texture_min_filter_gettexparameterf" />
+<Test name="texture_2d_array_texture_min_lod_gettexparameteri" />
+<Test name="texture_2d_array_texture_min_lod_gettexparameterf" />
+<Test name="texture_2d_array_texture_max_lod_gettexparameteri" />
+<Test name="texture_2d_array_texture_max_lod_gettexparameterf" />
+<Test name="texture_2d_array_texture_base_level_gettexparameteri" />
+<Test name="texture_2d_array_texture_base_level_gettexparameterf" />
+<Test name="texture_2d_array_texture_max_level_gettexparameteri" />
+<Test name="texture_2d_array_texture_max_level_gettexparameterf" />
+<Test name="texture_2d_array_texture_compare_mode_gettexparameteri" />
+<Test name="texture_2d_array_texture_compare_mode_gettexparameterf" />
+<Test name="texture_2d_array_texture_compare_func_gettexparameteri" />
+<Test name="texture_2d_array_texture_compare_func_gettexparameterf" />
+<Test name="texture_2d_array_texture_immutable_format_gettexparameteri" />
+<Test name="texture_2d_array_texture_immutable_format_gettexparameterf" />
+<Test name="texture_cube_map_is_texture" />
+<Test name="texture_cube_map_texture_swizzle_r_gettexparameteri" />
+<Test name="texture_cube_map_texture_swizzle_r_gettexparameterf" />
+<Test name="texture_cube_map_texture_swizzle_g_gettexparameteri" />
+<Test name="texture_cube_map_texture_swizzle_g_gettexparameterf" />
+<Test name="texture_cube_map_texture_swizzle_b_gettexparameteri" />
+<Test name="texture_cube_map_texture_swizzle_b_gettexparameterf" />
+<Test name="texture_cube_map_texture_swizzle_a_gettexparameteri" />
+<Test name="texture_cube_map_texture_swizzle_a_gettexparameterf" />
+<Test name="texture_cube_map_texture_wrap_s_gettexparameteri" />
+<Test name="texture_cube_map_texture_wrap_s_gettexparameterf" />
+<Test name="texture_cube_map_texture_wrap_t_gettexparameteri" />
+<Test name="texture_cube_map_texture_wrap_t_gettexparameterf" />
+<Test name="texture_cube_map_texture_mag_filter_gettexparameteri" />
+<Test name="texture_cube_map_texture_mag_filter_gettexparameterf" />
+<Test name="texture_cube_map_texture_min_filter_gettexparameteri" />
+<Test name="texture_cube_map_texture_min_filter_gettexparameterf" />
+<Test name="texture_cube_map_texture_min_lod_gettexparameteri" />
+<Test name="texture_cube_map_texture_min_lod_gettexparameterf" />
+<Test name="texture_cube_map_texture_max_lod_gettexparameteri" />
+<Test name="texture_cube_map_texture_max_lod_gettexparameterf" />
+<Test name="texture_cube_map_texture_base_level_gettexparameteri" />
+<Test name="texture_cube_map_texture_base_level_gettexparameterf" />
+<Test name="texture_cube_map_texture_max_level_gettexparameteri" />
+<Test name="texture_cube_map_texture_max_level_gettexparameterf" />
+<Test name="texture_cube_map_texture_compare_mode_gettexparameteri" />
+<Test name="texture_cube_map_texture_compare_mode_gettexparameterf" />
+<Test name="texture_cube_map_texture_compare_func_gettexparameteri" />
+<Test name="texture_cube_map_texture_compare_func_gettexparameterf" />
+<Test name="texture_cube_map_texture_immutable_format_gettexparameteri" />
+<Test name="texture_cube_map_texture_immutable_format_gettexparameterf" />
+</TestCase>
+<TestCase name="string">
+<Test name="renderer" />
+<Test name="vendor" />
+<Test name="version" />
+<Test name="shading_language_version" />
+</TestCase>
+<TestCase name="sampler">
+<Test name="sampler_texture_wrap_s_getsamplerparameteri" />
+<Test name="sampler_texture_wrap_s_getsamplerparameterf" />
+<Test name="sampler_texture_wrap_t_getsamplerparameteri" />
+<Test name="sampler_texture_wrap_t_getsamplerparameterf" />
+<Test name="sampler_texture_wrap_r_getsamplerparameteri" />
+<Test name="sampler_texture_wrap_r_getsamplerparameterf" />
+<Test name="sampler_texture_mag_filter_getsamplerparameteri" />
+<Test name="sampler_texture_mag_filter_getsamplerparameterf" />
+<Test name="sampler_texture_min_filter_getsamplerparameteri" />
+<Test name="sampler_texture_min_filter_getsamplerparameterf" />
+<Test name="sampler_texture_compare_mode_getsamplerparameteri" />
+<Test name="sampler_texture_compare_mode_getsamplerparameterf" />
+<Test name="sampler_texture_compare_func_getsamplerparameteri" />
+<Test name="sampler_texture_compare_func_getsamplerparameterf" />
+</TestCase>
+<TestCase name="buffer_object">
+<Test name="buffer_size_getbufferparameteri" />
+<Test name="buffer_size_getbufferparameteri64" />
+<Test name="buffer_usage_getbufferparameteri" />
+<Test name="buffer_usage_getbufferparameteri64" />
+<Test name="buffer_access_flags_getbufferparameteri" />
+<Test name="buffer_access_flags_getbufferparameteri64" />
+<Test name="buffer_mapped_getbufferparameteri" />
+<Test name="buffer_mapped_getbufferparameteri64" />
+<Test name="buffer_map_offset_length_getbufferparameteri" />
+<Test name="buffer_map_offset_length_getbufferparameteri64" />
+<Test name="buffer_pointer" />
+</TestCase>
+<TestCase name="fbo">
+<Test name="framebuffer_attachment_object" />
+<Test name="framebuffer_attachment_texture_level" />
+<Test name="framebuffer_attachment_texture_layer" />
+<Test name="framebuffer_attachment_color_encoding" />
+<Test name="framebuffer_attachment_component_type" />
+<Test name="framebuffer_attachment_x_size_rbo" />
+<Test name="framebuffer_attachment_x_size_texture" />
+<Test name="framebuffer_unspecified_attachment_x_size_texture" />
+</TestCase>
+<TestCase name="rbo">
+<Test name="renderbuffer_component_size_color" />
+<Test name="renderbuffer_component_size_depth" />
+</TestCase>
+<TestCase name="shader">
+<Test name="shader_type" />
+<Test name="shader_compile_status" />
+<Test name="delete_status" />
+<Test name="current_vertex_attrib_initial" />
+<Test name="current_vertex_attrib_float" />
+<Test name="current_vertex_attrib_int" />
+<Test name="current_vertex_attrib_uint" />
+<Test name="current_vertex_attrib_float_to_int" />
+<Test name="program_info_log_length" />
+<Test name="program_validate_status" />
+<Test name="program_attached_shaders" />
+<Test name="program_active_uniform_name" />
+<Test name="program_active_uniform_blocks" />
+<Test name="program_binary" />
+<Test name="transform_feedback" />
+<Test name="active_attributes" />
+<Test name="vertex_attrib_size" />
+<Test name="vertex_attrib_normalized" />
+<Test name="vertex_attrib_array_enabled" />
+<Test name="vertex_attrib_array_divisor" />
+<Test name="vertex_attrib_array_buffer_binding" />
+<Test name="vertex_attrib_pointerv" />
+<Test name="uniform_value_float" />
+<Test name="uniform_value_int" />
+<Test name="uniform_value_uint" />
+<Test name="uniform_value_array" />
+<Test name="uniform_value_matrix" />
+<Test name="precision_vertex_lowp_float" />
+<Test name="precision_vertex_mediump_float" />
+<Test name="precision_vertex_highp_float" />
+<Test name="precision_vertex_lowp_int" />
+<Test name="precision_vertex_mediump_int" />
+<Test name="precision_vertex_highp_int" />
+<Test name="precision_fragment_lowp_float" />
+<Test name="precision_fragment_mediump_float" />
+<Test name="precision_fragment_highp_float" />
+<Test name="precision_fragment_lowp_int" />
+<Test name="precision_fragment_mediump_int" />
+<Test name="precision_fragment_highp_int" />
+</TestCase>
+<TestCase name="internal_format">
+<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="srgb8_alpha8_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" />
+<Test name="rgba8_samples_buffer" />
+</TestCase>
+</TestSuite>
+<TestSuite name="clipping">
+<TestCase name="point">
+<Test name="point_z_clip" />
+<Test name="point_z_clip_viewport_center" />
+<Test name="point_z_clip_viewport_corner" />
+<Test name="wide_point_z_clip" />
+<Test name="wide_point_z_clip_viewport_center" />
+<Test name="wide_point_z_clip_viewport_corner" />
+</TestCase>
+<TestCase name="line">
+<Test name="line_z_clip" />
+<Test name="line_z_clip_viewport_center" />
+<Test name="line_z_clip_viewport_corner" />
+<Test name="wide_line_z_clip" />
+<Test name="wide_line_z_clip_viewport_center" />
+<Test name="wide_line_z_clip_viewport_corner" />
+<Test name="wide_line_clip" />
+<Test name="long_line_clip" />
+<Test name="long_wide_line_clip" />
+<Test name="line_attrib_clip" />
+<Test name="wide_line_attrib_clip" />
+</TestCase>
+<TestCase name="polygon">
+<Test name="poly_clip_viewport_center" />
+<Test name="poly_clip_viewport_corner" />
+<Test name="poly_z_clip_viewport_center" />
+<Test name="poly_z_clip_viewport_corner" />
+<Test name="large_poly_clip_viewport_center" />
+<Test name="large_poly_clip_viewport_corner" />
+<Test name="large_poly_z_clip" />
+<Test name="large_poly_z_clip_viewport_center" />
+<Test name="large_poly_z_clip_viewport_corner" />
+<Test name="poly_attrib_clip" />
+<Test name="poly_attrib_clip_viewport_center" />
+<Test name="poly_attrib_clip_viewport_corner" />
+<Test name="multiple_0" />
+<Test name="multiple_0_viewport_center" />
+<Test name="multiple_0_viewport_corner" />
+<Test name="multiple_1" />
+<Test name="multiple_1_viewport_center" />
+<Test name="multiple_1_viewport_corner" />
+<Test name="multiple_2" />
+<Test name="multiple_2_viewport_center" />
+<Test name="multiple_2_viewport_corner" />
+<Test name="multiple_3" />
+<Test name="multiple_3_viewport_center" />
+<Test name="multiple_3_viewport_corner" />
+<Test name="multiple_4" />
+<Test name="multiple_4_viewport_center" />
+<Test name="multiple_4_viewport_corner" />
+<Test name="multiple_5" />
+<Test name="multiple_5_viewport_center" />
+<Test name="multiple_5_viewport_corner" />
+<Test name="multiple_6" />
+<Test name="multiple_6_viewport_center" />
+<Test name="multiple_6_viewport_corner" />
+<Test name="multiple_7" />
+<Test name="multiple_7_viewport_center" />
+<Test name="multiple_7_viewport_corner" />
+<Test name="multiple_8" />
+<Test name="multiple_8_viewport_center" />
+<Test name="multiple_8_viewport_corner" />
+<Test name="multiple_9" />
+<Test name="multiple_9_viewport_center" />
+<Test name="multiple_9_viewport_corner" />
+<Test name="multiple_10" />
+<Test name="multiple_10_viewport_center" />
+<Test name="multiple_10_viewport_corner" />
+<Test name="multiple_11" />
+<Test name="multiple_11_viewport_center" />
+<Test name="multiple_11_viewport_corner" />
+</TestCase>
+<TestCase name="polygon_edge">
+<Test name="quad_at_origin_0" />
+<Test name="quad_at_origin_1" />
+<Test name="quad_at_origin_2" />
+<Test name="quad_at_origin_3" />
+<Test name="quad_at_origin_4" />
+<Test name="quad_near_edge_0" />
+<Test name="quad_near_edge_1" />
+<Test name="quad_near_edge_2" />
+<Test name="poly_fan" />
+</TestCase>
+<TestSuite name="triangle_vertex">
+<TestCase name="clip_one">
+<Test name="clip_neg_x" />
+<Test name="clip_pos_x" />
+<Test name="clip_pos_y" />
+<Test name="clip_neg_y" />
+<Test name="clip_neg_x_neg_y" />
+<Test name="clip_pos_x_neg_y" />
+<Test name="clip_pos_x_pos_y" />
+<Test name="clip_neg_x_pos_y" />
+<Test name="clip_neg_x_neg_z" />
+<Test name="clip_pos_x_neg_z" />
+<Test name="clip_pos_x_pos_z" />
+<Test name="clip_neg_x_pos_z" />
+<Test name="clip_neg_y_neg_z" />
+<Test name="clip_pos_y_neg_z" />
+<Test name="clip_pos_y_pos_z" />
+<Test name="clip_neg_y_pos_z" />
+<Test name="clip_neg_x_neg_y_pos_z" />
+<Test name="clip_pos_x_neg_y_pos_z" />
+<Test name="clip_pos_x_pos_y_pos_z" />
+<Test name="clip_neg_x_pos_y_pos_z" />
+<Test name="clip_neg_x_neg_y_neg_z" />
+<Test name="clip_pos_x_neg_y_neg_z" />
+<Test name="clip_pos_x_pos_y_neg_z" />
+<Test name="clip_neg_x_pos_y_neg_z" />
+<Test name="clip_pos_z" />
+<Test name="clip_neg_z" />
+</TestCase>
+<TestCase name="clip_two">
+<Test name="clip_neg_x_and_pos_x" />
+<Test name="clip_neg_x_and_pos_y" />
+<Test name="clip_neg_x_and_neg_y" />
+<Test name="clip_neg_x_and_neg_x_neg_y" />
+<Test name="clip_neg_x_and_pos_x_neg_y" />
+<Test name="clip_neg_x_and_pos_x_pos_y" />
+<Test name="clip_neg_x_and_neg_x_pos_y" />
+<Test name="clip_neg_x_and_neg_y_neg_z" />
+<Test name="clip_neg_x_and_pos_y_neg_z" />
+<Test name="clip_neg_x_and_pos_y_pos_z" />
+<Test name="clip_neg_x_and_neg_y_pos_z" />
+<Test name="clip_neg_x_and_neg_x_neg_y_pos_z" />
+<Test name="clip_neg_x_and_pos_x_neg_y_pos_z" />
+<Test name="clip_neg_x_and_pos_x_pos_y_pos_z" />
+<Test name="clip_neg_x_and_neg_x_pos_y_pos_z" />
+<Test name="clip_neg_x_and_neg_x_neg_y_neg_z" />
+<Test name="clip_neg_x_and_pos_x_neg_y_neg_z" />
+<Test name="clip_neg_x_and_pos_x_pos_y_neg_z" />
+<Test name="clip_neg_x_and_neg_x_pos_y_neg_z" />
+<Test name="clip_pos_x_and_pos_y" />
+<Test name="clip_pos_x_and_neg_y" />
+<Test name="clip_pos_x_and_neg_x_neg_y" />
+<Test name="clip_pos_x_and_pos_x_neg_y" />
+<Test name="clip_pos_x_and_pos_x_pos_y" />
+<Test name="clip_pos_x_and_neg_x_pos_y" />
+<Test name="clip_pos_x_and_neg_y_neg_z" />
+<Test name="clip_pos_x_and_pos_y_neg_z" />
+<Test name="clip_pos_x_and_pos_y_pos_z" />
+<Test name="clip_pos_x_and_neg_y_pos_z" />
+<Test name="clip_pos_x_and_neg_x_neg_y_pos_z" />
+<Test name="clip_pos_x_and_pos_x_neg_y_pos_z" />
+<Test name="clip_pos_x_and_pos_x_pos_y_pos_z" />
+<Test name="clip_pos_x_and_neg_x_pos_y_pos_z" />
+<Test name="clip_pos_x_and_neg_x_neg_y_neg_z" />
+<Test name="clip_pos_x_and_pos_x_neg_y_neg_z" />
+<Test name="clip_pos_x_and_pos_x_pos_y_neg_z" />
+<Test name="clip_pos_x_and_neg_x_pos_y_neg_z" />
+<Test name="clip_pos_y_and_neg_y" />
+<Test name="clip_pos_y_and_neg_x_neg_y" />
+<Test name="clip_pos_y_and_pos_x_neg_y" />
+<Test name="clip_pos_y_and_pos_x_pos_y" />
+<Test name="clip_pos_y_and_neg_x_pos_y" />
+<Test name="clip_pos_y_and_neg_x_neg_z" />
+<Test name="clip_pos_y_and_pos_x_neg_z" />
+<Test name="clip_pos_y_and_pos_x_pos_z" />
+<Test name="clip_pos_y_and_neg_x_pos_z" />
+<Test name="clip_pos_y_and_neg_x_neg_y_pos_z" />
+<Test name="clip_pos_y_and_pos_x_neg_y_pos_z" />
+<Test name="clip_pos_y_and_pos_x_pos_y_pos_z" />
+<Test name="clip_pos_y_and_neg_x_pos_y_pos_z" />
+<Test name="clip_pos_y_and_neg_x_neg_y_neg_z" />
+<Test name="clip_pos_y_and_pos_x_neg_y_neg_z" />
+<Test name="clip_pos_y_and_pos_x_pos_y_neg_z" />
+<Test name="clip_pos_y_and_neg_x_pos_y_neg_z" />
+<Test name="clip_neg_y_and_neg_x_neg_y" />
+<Test name="clip_neg_y_and_pos_x_neg_y" />
+<Test name="clip_neg_y_and_pos_x_pos_y" />
+<Test name="clip_neg_y_and_neg_x_pos_y" />
+<Test name="clip_neg_y_and_neg_x_neg_z" />
+<Test name="clip_neg_y_and_pos_x_neg_z" />
+<Test name="clip_neg_y_and_pos_x_pos_z" />
+<Test name="clip_neg_y_and_neg_x_pos_z" />
+<Test name="clip_neg_y_and_neg_x_neg_y_pos_z" />
+<Test name="clip_neg_y_and_pos_x_neg_y_pos_z" />
+<Test name="clip_neg_y_and_pos_x_pos_y_pos_z" />
+<Test name="clip_neg_y_and_neg_x_pos_y_pos_z" />
+<Test name="clip_neg_y_and_neg_x_neg_y_neg_z" />
+<Test name="clip_neg_y_and_pos_x_neg_y_neg_z" />
+<Test name="clip_neg_y_and_pos_x_pos_y_neg_z" />
+<Test name="clip_neg_y_and_neg_x_pos_y_neg_z" />
+<Test name="clip_neg_x_neg_y_and_pos_x_neg_y" />
+<Test name="clip_neg_x_neg_y_and_pos_x_pos_y" />
+<Test name="clip_neg_x_neg_y_and_neg_x_pos_y" />
+<Test name="clip_neg_x_neg_y_and_neg_x_neg_z" />
+<Test name="clip_neg_x_neg_y_and_pos_x_neg_z" />
+<Test name="clip_neg_x_neg_y_and_pos_x_pos_z" />
+<Test name="clip_neg_x_neg_y_and_neg_x_pos_z" />
+<Test name="clip_neg_x_neg_y_and_neg_y_neg_z" />
+<Test name="clip_neg_x_neg_y_and_pos_y_neg_z" />
+<Test name="clip_neg_x_neg_y_and_pos_y_pos_z" />
+<Test name="clip_neg_x_neg_y_and_neg_y_pos_z" />
+<Test name="clip_neg_x_neg_y_and_pos_x_neg_y_pos_z" />
+<Test name="clip_neg_x_neg_y_and_neg_x_pos_y_pos_z" />
+<Test name="clip_neg_x_neg_y_and_pos_x_neg_y_neg_z" />
+<Test name="clip_neg_x_neg_y_and_neg_x_pos_y_neg_z" />
+<Test name="clip_pos_x_neg_y_and_pos_x_pos_y" />
+<Test name="clip_pos_x_neg_y_and_neg_x_pos_y" />
+<Test name="clip_pos_x_neg_y_and_neg_x_neg_z" />
+<Test name="clip_pos_x_neg_y_and_pos_x_neg_z" />
+<Test name="clip_pos_x_neg_y_and_pos_x_pos_z" />
+<Test name="clip_pos_x_neg_y_and_neg_x_pos_z" />
+<Test name="clip_pos_x_neg_y_and_neg_y_neg_z" />
+<Test name="clip_pos_x_neg_y_and_pos_y_neg_z" />
+<Test name="clip_pos_x_neg_y_and_pos_y_pos_z" />
+<Test name="clip_pos_x_neg_y_and_neg_y_pos_z" />
+<Test name="clip_pos_x_neg_y_and_neg_x_neg_y_pos_z" />
+<Test name="clip_pos_x_neg_y_and_pos_x_pos_y_pos_z" />
+<Test name="clip_pos_x_neg_y_and_neg_x_neg_y_neg_z" />
+<Test name="clip_pos_x_neg_y_and_pos_x_pos_y_neg_z" />
+<Test name="clip_pos_x_pos_y_and_neg_x_pos_y" />
+<Test name="clip_pos_x_pos_y_and_neg_x_neg_z" />
+<Test name="clip_pos_x_pos_y_and_pos_x_neg_z" />
+<Test name="clip_pos_x_pos_y_and_pos_x_pos_z" />
+<Test name="clip_pos_x_pos_y_and_neg_x_pos_z" />
+<Test name="clip_pos_x_pos_y_and_neg_y_neg_z" />
+<Test name="clip_pos_x_pos_y_and_pos_y_neg_z" />
+<Test name="clip_pos_x_pos_y_and_pos_y_pos_z" />
+<Test name="clip_pos_x_pos_y_and_neg_y_pos_z" />
+<Test name="clip_pos_x_pos_y_and_pos_x_neg_y_pos_z" />
+<Test name="clip_pos_x_pos_y_and_neg_x_pos_y_pos_z" />
+<Test name="clip_pos_x_pos_y_and_pos_x_neg_y_neg_z" />
+<Test name="clip_pos_x_pos_y_and_neg_x_pos_y_neg_z" />
+<Test name="clip_neg_x_pos_y_and_neg_x_neg_z" />
+<Test name="clip_neg_x_pos_y_and_pos_x_neg_z" />
+<Test name="clip_neg_x_pos_y_and_pos_x_pos_z" />
+<Test name="clip_neg_x_pos_y_and_neg_x_pos_z" />
+<Test name="clip_neg_x_pos_y_and_neg_y_neg_z" />
+<Test name="clip_neg_x_pos_y_and_pos_y_neg_z" />
+<Test name="clip_neg_x_pos_y_and_pos_y_pos_z" />
+<Test name="clip_neg_x_pos_y_and_neg_y_pos_z" />
+<Test name="clip_neg_x_pos_y_and_neg_x_neg_y_pos_z" />
+<Test name="clip_neg_x_pos_y_and_pos_x_pos_y_pos_z" />
+<Test name="clip_neg_x_pos_y_and_neg_x_neg_y_neg_z" />
+<Test name="clip_neg_x_pos_y_and_pos_x_pos_y_neg_z" />
+<Test name="clip_neg_x_neg_z_and_pos_x_pos_z" />
+<Test name="clip_neg_x_neg_z_and_neg_y_neg_z" />
+<Test name="clip_neg_x_neg_z_and_pos_y_neg_z" />
+<Test name="clip_neg_x_neg_z_and_pos_y_pos_z" />
+<Test name="clip_neg_x_neg_z_and_neg_y_pos_z" />
+<Test name="clip_neg_x_neg_z_and_neg_x_neg_y_pos_z" />
+<Test name="clip_neg_x_neg_z_and_pos_x_neg_y_pos_z" />
+<Test name="clip_neg_x_neg_z_and_pos_x_pos_y_pos_z" />
+<Test name="clip_neg_x_neg_z_and_neg_x_pos_y_pos_z" />
+<Test name="clip_neg_x_neg_z_and_neg_x_neg_y_neg_z" />
+<Test name="clip_neg_x_neg_z_and_pos_x_neg_y_neg_z" />
+<Test name="clip_neg_x_neg_z_and_pos_x_pos_y_neg_z" />
+<Test name="clip_neg_x_neg_z_and_neg_x_pos_y_neg_z" />
+<Test name="clip_pos_x_neg_z_and_neg_x_pos_z" />
+<Test name="clip_pos_x_neg_z_and_neg_y_neg_z" />
+<Test name="clip_pos_x_neg_z_and_pos_y_neg_z" />
+<Test name="clip_pos_x_neg_z_and_pos_y_pos_z" />
+<Test name="clip_pos_x_neg_z_and_neg_y_pos_z" />
+<Test name="clip_pos_x_neg_z_and_neg_x_neg_y_pos_z" />
+<Test name="clip_pos_x_neg_z_and_pos_x_neg_y_pos_z" />
+<Test name="clip_pos_x_neg_z_and_pos_x_pos_y_pos_z" />
+<Test name="clip_pos_x_neg_z_and_neg_x_pos_y_pos_z" />
+<Test name="clip_pos_x_neg_z_and_neg_x_neg_y_neg_z" />
+<Test name="clip_pos_x_neg_z_and_pos_x_neg_y_neg_z" />
+<Test name="clip_pos_x_neg_z_and_pos_x_pos_y_neg_z" />
+<Test name="clip_pos_x_neg_z_and_neg_x_pos_y_neg_z" />
+<Test name="clip_pos_x_pos_z_and_neg_y_neg_z" />
+<Test name="clip_pos_x_pos_z_and_pos_y_neg_z" />
+<Test name="clip_pos_x_pos_z_and_pos_y_pos_z" />
+<Test name="clip_pos_x_pos_z_and_neg_y_pos_z" />
+<Test name="clip_pos_x_pos_z_and_neg_x_neg_y_pos_z" />
+<Test name="clip_pos_x_pos_z_and_pos_x_neg_y_pos_z" />
+<Test name="clip_pos_x_pos_z_and_pos_x_pos_y_pos_z" />
+<Test name="clip_pos_x_pos_z_and_neg_x_pos_y_pos_z" />
+<Test name="clip_pos_x_pos_z_and_neg_x_neg_y_neg_z" />
+<Test name="clip_pos_x_pos_z_and_pos_x_neg_y_neg_z" />
+<Test name="clip_pos_x_pos_z_and_pos_x_pos_y_neg_z" />
+<Test name="clip_pos_x_pos_z_and_neg_x_pos_y_neg_z" />
+<Test name="clip_neg_x_pos_z_and_neg_y_neg_z" />
+<Test name="clip_neg_x_pos_z_and_pos_y_neg_z" />
+<Test name="clip_neg_x_pos_z_and_pos_y_pos_z" />
+<Test name="clip_neg_x_pos_z_and_neg_y_pos_z" />
+<Test name="clip_neg_x_pos_z_and_neg_x_neg_y_pos_z" />
+<Test name="clip_neg_x_pos_z_and_pos_x_neg_y_pos_z" />
+<Test name="clip_neg_x_pos_z_and_pos_x_pos_y_pos_z" />
+<Test name="clip_neg_x_pos_z_and_neg_x_pos_y_pos_z" />
+<Test name="clip_neg_x_pos_z_and_neg_x_neg_y_neg_z" />
+<Test name="clip_neg_x_pos_z_and_pos_x_neg_y_neg_z" />
+<Test name="clip_neg_x_pos_z_and_pos_x_pos_y_neg_z" />
+<Test name="clip_neg_x_pos_z_and_neg_x_pos_y_neg_z" />
+<Test name="clip_neg_y_neg_z_and_pos_y_pos_z" />
+<Test name="clip_neg_y_neg_z_and_neg_x_neg_y_pos_z" />
+<Test name="clip_neg_y_neg_z_and_pos_x_neg_y_pos_z" />
+<Test name="clip_neg_y_neg_z_and_pos_x_pos_y_pos_z" />
+<Test name="clip_neg_y_neg_z_and_neg_x_pos_y_pos_z" />
+<Test name="clip_neg_y_neg_z_and_neg_x_neg_y_neg_z" />
+<Test name="clip_neg_y_neg_z_and_pos_x_neg_y_neg_z" />
+<Test name="clip_neg_y_neg_z_and_pos_x_pos_y_neg_z" />
+<Test name="clip_neg_y_neg_z_and_neg_x_pos_y_neg_z" />
+<Test name="clip_pos_y_neg_z_and_neg_y_pos_z" />
+<Test name="clip_pos_y_neg_z_and_neg_x_neg_y_pos_z" />
+<Test name="clip_pos_y_neg_z_and_pos_x_neg_y_pos_z" />
+<Test name="clip_pos_y_neg_z_and_pos_x_pos_y_pos_z" />
+<Test name="clip_pos_y_neg_z_and_neg_x_pos_y_pos_z" />
+<Test name="clip_pos_y_neg_z_and_neg_x_neg_y_neg_z" />
+<Test name="clip_pos_y_neg_z_and_pos_x_neg_y_neg_z" />
+<Test name="clip_pos_y_neg_z_and_pos_x_pos_y_neg_z" />
+<Test name="clip_pos_y_neg_z_and_neg_x_pos_y_neg_z" />
+<Test name="clip_pos_y_pos_z_and_neg_x_neg_y_pos_z" />
+<Test name="clip_pos_y_pos_z_and_pos_x_neg_y_pos_z" />
+<Test name="clip_pos_y_pos_z_and_pos_x_pos_y_pos_z" />
+<Test name="clip_pos_y_pos_z_and_neg_x_pos_y_pos_z" />
+<Test name="clip_pos_y_pos_z_and_neg_x_neg_y_neg_z" />
+<Test name="clip_pos_y_pos_z_and_pos_x_neg_y_neg_z" />
+<Test name="clip_pos_y_pos_z_and_pos_x_pos_y_neg_z" />
+<Test name="clip_pos_y_pos_z_and_neg_x_pos_y_neg_z" />
+<Test name="clip_neg_y_pos_z_and_neg_x_neg_y_pos_z" />
+<Test name="clip_neg_y_pos_z_and_pos_x_neg_y_pos_z" />
+<Test name="clip_neg_y_pos_z_and_pos_x_pos_y_pos_z" />
+<Test name="clip_neg_y_pos_z_and_neg_x_pos_y_pos_z" />
+<Test name="clip_neg_y_pos_z_and_neg_x_neg_y_neg_z" />
+<Test name="clip_neg_y_pos_z_and_pos_x_neg_y_neg_z" />
+<Test name="clip_neg_y_pos_z_and_pos_x_pos_y_neg_z" />
+<Test name="clip_neg_y_pos_z_and_neg_x_pos_y_neg_z" />
+<Test name="clip_neg_x_neg_y_pos_z_and_pos_x_neg_y_pos_z" />
+<Test name="clip_neg_x_neg_y_pos_z_and_neg_x_pos_y_pos_z" />
+<Test name="clip_neg_x_neg_y_pos_z_and_pos_x_neg_y_neg_z" />
+<Test name="clip_neg_x_neg_y_pos_z_and_pos_x_pos_y_neg_z" />
+<Test name="clip_neg_x_neg_y_pos_z_and_neg_x_pos_y_neg_z" />
+<Test name="clip_pos_x_neg_y_pos_z_and_pos_x_pos_y_pos_z" />
+<Test name="clip_pos_x_neg_y_pos_z_and_neg_x_neg_y_neg_z" />
+<Test name="clip_pos_x_neg_y_pos_z_and_pos_x_pos_y_neg_z" />
+<Test name="clip_pos_x_neg_y_pos_z_and_neg_x_pos_y_neg_z" />
+<Test name="clip_pos_x_pos_y_pos_z_and_neg_x_pos_y_pos_z" />
+<Test name="clip_pos_x_pos_y_pos_z_and_neg_x_neg_y_neg_z" />
+<Test name="clip_pos_x_pos_y_pos_z_and_pos_x_neg_y_neg_z" />
+<Test name="clip_pos_x_pos_y_pos_z_and_neg_x_pos_y_neg_z" />
+<Test name="clip_neg_x_pos_y_pos_z_and_neg_x_neg_y_neg_z" />
+<Test name="clip_neg_x_pos_y_pos_z_and_pos_x_neg_y_neg_z" />
+<Test name="clip_neg_x_pos_y_pos_z_and_pos_x_pos_y_neg_z" />
+<Test name="clip_neg_x_neg_y_neg_z_and_pos_x_neg_y_neg_z" />
+<Test name="clip_neg_x_neg_y_neg_z_and_neg_x_pos_y_neg_z" />
+<Test name="clip_pos_x_neg_y_neg_z_and_pos_x_pos_y_neg_z" />
+<Test name="clip_pos_x_pos_y_neg_z_and_neg_x_pos_y_neg_z" />
+</TestCase>
+<TestCase name="clip_three">
+<Test name="clip_neg_x_and_pos_x_and_pos_y" />
+<Test name="clip_neg_x_and_pos_x_and_neg_y" />
+<Test name="clip_neg_x_and_pos_x_and_neg_x_neg_y" />
+<Test name="clip_neg_x_and_pos_x_and_pos_x_neg_y" />
+<Test name="clip_neg_x_and_pos_x_and_pos_x_pos_y" />
+<Test name="clip_neg_x_and_pos_x_and_neg_x_pos_y" />
+<Test name="clip_neg_x_and_pos_x_and_neg_y_neg_z" />
+<Test name="clip_neg_x_and_pos_x_and_pos_y_neg_z" />
+<Test name="clip_neg_x_and_pos_x_and_neg_y_pos_z" />
+<Test name="clip_neg_x_and_pos_x_and_neg_x_neg_y_pos_z" />
+<Test name="clip_neg_x_and_pos_x_and_pos_x_neg_y_pos_z" />
+<Test name="clip_neg_x_and_pos_x_and_pos_x_pos_y_pos_z" />
+<Test name="clip_neg_x_and_pos_x_and_neg_x_neg_y_neg_z" />
+<Test name="clip_neg_x_and_pos_x_and_pos_x_neg_y_neg_z" />
+<Test name="clip_neg_x_and_pos_x_and_neg_x_pos_y_neg_z" />
+<Test name="clip_neg_x_and_pos_y_and_neg_y" />
+<Test name="clip_neg_x_and_pos_y_and_pos_x_neg_y" />
+<Test name="clip_neg_x_and_neg_y_and_pos_x_pos_y" />
+<Test name="clip_neg_x_and_neg_x_neg_y_and_pos_x_pos_y" />
+<Test name="clip_neg_x_and_pos_x_neg_y_and_pos_x_pos_y" />
+<Test name="clip_neg_x_and_pos_x_neg_y_and_neg_x_pos_y" />
+<Test name="clip_neg_x_and_neg_y_neg_z_and_pos_y_pos_z" />
+<Test name="clip_neg_x_and_neg_y_neg_z_and_pos_x_pos_y_pos_z" />
+<Test name="clip_neg_x_and_pos_y_neg_z_and_pos_x_neg_y_pos_z" />
+<Test name="clip_neg_x_and_pos_y_pos_z_and_pos_x_neg_y_neg_z" />
+<Test name="clip_neg_x_and_neg_y_pos_z_and_pos_x_pos_y_neg_z" />
+<Test name="clip_neg_x_and_pos_x_neg_y_pos_z_and_pos_x_pos_y_neg_z" />
+<Test name="clip_neg_x_and_pos_x_neg_y_pos_z_and_neg_x_pos_y_neg_z" />
+<Test name="clip_neg_x_and_pos_x_pos_y_pos_z_and_neg_x_neg_y_neg_z" />
+<Test name="clip_neg_x_and_neg_x_pos_y_pos_z_and_pos_x_neg_y_neg_z" />
+<Test name="clip_pos_x_and_pos_y_and_neg_y" />
+<Test name="clip_pos_x_and_pos_y_and_neg_x_neg_y" />
+<Test name="clip_pos_x_and_neg_y_and_neg_x_pos_y" />
+<Test name="clip_pos_x_and_neg_x_neg_y_and_pos_x_pos_y" />
+<Test name="clip_pos_x_and_neg_x_neg_y_and_neg_x_pos_y" />
+<Test name="clip_pos_x_and_pos_x_neg_y_and_neg_x_pos_y" />
+<Test name="clip_pos_x_and_neg_y_neg_z_and_pos_y_pos_z" />
+<Test name="clip_pos_x_and_neg_y_neg_z_and_neg_x_pos_y_pos_z" />
+<Test name="clip_pos_x_and_pos_y_neg_z_and_neg_x_neg_y_pos_z" />
+<Test name="clip_pos_x_and_pos_y_pos_z_and_neg_x_neg_y_neg_z" />
+<Test name="clip_pos_x_and_neg_y_pos_z_and_neg_x_pos_y_neg_z" />
+<Test name="clip_pos_x_and_neg_x_neg_y_pos_z_and_pos_x_pos_y_neg_z" />
+<Test name="clip_pos_x_and_pos_x_neg_y_pos_z_and_neg_x_pos_y_neg_z" />
+<Test name="clip_pos_x_and_pos_x_pos_y_pos_z_and_neg_x_neg_y_neg_z" />
+<Test name="clip_pos_x_and_neg_x_pos_y_pos_z_and_pos_x_neg_y_neg_z" />
+<Test name="clip_pos_y_and_neg_y_and_neg_x_neg_y" />
+<Test name="clip_pos_y_and_neg_y_and_pos_x_neg_y" />
+<Test name="clip_pos_y_and_neg_y_and_pos_x_pos_y" />
+<Test name="clip_pos_y_and_neg_y_and_neg_x_pos_y" />
+<Test name="clip_pos_y_and_neg_y_and_neg_x_neg_z" />
+<Test name="clip_pos_y_and_neg_y_and_pos_x_neg_z" />
+<Test name="clip_pos_y_and_neg_y_and_pos_x_pos_z" />
+<Test name="clip_pos_y_and_neg_y_and_neg_x_pos_z" />
+<Test name="clip_pos_y_and_neg_y_and_neg_x_neg_y_pos_z" />
+<Test name="clip_pos_y_and_neg_y_and_pos_x_neg_y_pos_z" />
+<Test name="clip_pos_y_and_neg_y_and_pos_x_pos_y_pos_z" />
+<Test name="clip_pos_y_and_neg_y_and_neg_x_pos_y_pos_z" />
+<Test name="clip_pos_y_and_neg_y_and_neg_x_neg_y_neg_z" />
+<Test name="clip_pos_y_and_neg_y_and_pos_x_neg_y_neg_z" />
+<Test name="clip_pos_y_and_neg_y_and_pos_x_pos_y_neg_z" />
+<Test name="clip_pos_y_and_neg_y_and_neg_x_pos_y_neg_z" />
+<Test name="clip_pos_y_and_neg_x_neg_y_and_pos_x_neg_y" />
+<Test name="clip_pos_y_and_neg_x_neg_y_and_pos_x_pos_y" />
+<Test name="clip_pos_y_and_pos_x_neg_y_and_neg_x_pos_y" />
+<Test name="clip_pos_y_and_neg_x_neg_z_and_pos_x_pos_z" />
+<Test name="clip_pos_y_and_neg_x_neg_z_and_pos_x_neg_y_pos_z" />
+<Test name="clip_pos_y_and_pos_x_neg_z_and_neg_x_pos_z" />
+<Test name="clip_pos_y_and_pos_x_neg_z_and_neg_x_neg_y_pos_z" />
+<Test name="clip_pos_y_and_pos_x_pos_z_and_neg_x_neg_y_neg_z" />
+<Test name="clip_pos_y_and_neg_x_pos_z_and_pos_x_neg_y_neg_z" />
+<Test name="clip_pos_y_and_neg_x_neg_y_pos_z_and_pos_x_neg_y_neg_z" />
+<Test name="clip_pos_y_and_neg_x_neg_y_pos_z_and_pos_x_pos_y_neg_z" />
+<Test name="clip_pos_y_and_pos_x_neg_y_pos_z_and_neg_x_neg_y_neg_z" />
+<Test name="clip_pos_y_and_pos_x_neg_y_pos_z_and_neg_x_pos_y_neg_z" />
+<Test name="clip_pos_y_and_pos_x_pos_y_pos_z_and_neg_x_neg_y_neg_z" />
+<Test name="clip_pos_y_and_neg_x_pos_y_pos_z_and_pos_x_neg_y_neg_z" />
+<Test name="clip_neg_y_and_neg_x_neg_y_and_pos_x_pos_y" />
+<Test name="clip_neg_y_and_pos_x_neg_y_and_neg_x_pos_y" />
+<Test name="clip_neg_y_and_pos_x_pos_y_and_neg_x_pos_y" />
+<Test name="clip_neg_y_and_neg_x_neg_z_and_pos_x_pos_z" />
+<Test name="clip_neg_y_and_neg_x_neg_z_and_pos_x_pos_y_pos_z" />
+<Test name="clip_neg_y_and_pos_x_neg_z_and_neg_x_pos_z" />
+<Test name="clip_neg_y_and_pos_x_neg_z_and_neg_x_pos_y_pos_z" />
+<Test name="clip_neg_y_and_pos_x_pos_z_and_neg_x_pos_y_neg_z" />
+<Test name="clip_neg_y_and_neg_x_pos_z_and_pos_x_pos_y_neg_z" />
+<Test name="clip_neg_y_and_neg_x_neg_y_pos_z_and_pos_x_pos_y_neg_z" />
+<Test name="clip_neg_y_and_pos_x_neg_y_pos_z_and_neg_x_pos_y_neg_z" />
+<Test name="clip_neg_y_and_pos_x_pos_y_pos_z_and_neg_x_neg_y_neg_z" />
+<Test name="clip_neg_y_and_pos_x_pos_y_pos_z_and_neg_x_pos_y_neg_z" />
+<Test name="clip_neg_y_and_neg_x_pos_y_pos_z_and_pos_x_neg_y_neg_z" />
+<Test name="clip_neg_y_and_neg_x_pos_y_pos_z_and_pos_x_pos_y_neg_z" />
+<Test name="clip_neg_x_neg_y_and_pos_x_neg_y_and_pos_x_pos_y" />
+<Test name="clip_neg_x_neg_y_and_pos_x_neg_y_and_neg_x_pos_y" />
+<Test name="clip_neg_x_neg_y_and_pos_x_pos_y_and_neg_x_pos_y" />
+<Test name="clip_neg_x_neg_y_and_pos_x_pos_y_and_pos_x_neg_z" />
+<Test name="clip_neg_x_neg_y_and_pos_x_pos_y_and_pos_x_pos_z" />
+<Test name="clip_neg_x_neg_y_and_pos_x_pos_y_and_neg_y_neg_z" />
+<Test name="clip_neg_x_neg_y_and_pos_x_pos_y_and_pos_y_neg_z" />
+<Test name="clip_neg_x_neg_y_and_pos_x_pos_y_and_neg_y_pos_z" />
+<Test name="clip_neg_x_neg_y_and_pos_x_pos_y_and_pos_x_neg_y_pos_z" />
+<Test name="clip_neg_x_neg_y_and_pos_x_pos_y_and_neg_x_pos_y_pos_z" />
+<Test name="clip_neg_x_neg_y_and_pos_x_pos_y_and_pos_x_neg_y_neg_z" />
+<Test name="clip_neg_x_neg_y_and_pos_x_pos_y_and_neg_x_pos_y_neg_z" />
+<Test name="clip_neg_x_neg_y_and_neg_x_neg_z_and_pos_x_pos_z" />
+<Test name="clip_neg_x_neg_y_and_pos_x_neg_z_and_neg_x_pos_z" />
+<Test name="clip_neg_x_neg_y_and_pos_x_neg_z_and_pos_y_pos_z" />
+<Test name="clip_neg_x_neg_y_and_pos_x_pos_z_and_pos_y_neg_z" />
+<Test name="clip_neg_x_neg_y_and_neg_y_neg_z_and_pos_y_pos_z" />
+<Test name="clip_neg_x_neg_y_and_pos_x_neg_y_pos_z_and_neg_x_pos_y_neg_z" />
+<Test name="clip_neg_x_neg_y_and_neg_x_pos_y_pos_z_and_pos_x_neg_y_neg_z" />
+<Test name="clip_pos_x_neg_y_and_pos_x_pos_y_and_neg_x_pos_y" />
+<Test name="clip_pos_x_neg_y_and_neg_x_pos_y_and_neg_x_neg_z" />
+<Test name="clip_pos_x_neg_y_and_neg_x_pos_y_and_pos_x_neg_z" />
+<Test name="clip_pos_x_neg_y_and_neg_x_pos_y_and_pos_x_pos_z" />
+<Test name="clip_pos_x_neg_y_and_neg_x_pos_y_and_pos_y_neg_z" />
+<Test name="clip_pos_x_neg_y_and_neg_x_pos_y_and_neg_y_pos_z" />
+<Test name="clip_pos_x_neg_y_and_neg_x_pos_y_and_neg_x_neg_y_pos_z" />
+<Test name="clip_pos_x_neg_y_and_neg_x_pos_y_and_pos_x_pos_y_pos_z" />
+<Test name="clip_pos_x_neg_y_and_neg_x_pos_y_and_neg_x_neg_y_neg_z" />
+<Test name="clip_pos_x_neg_y_and_neg_x_pos_y_and_pos_x_pos_y_neg_z" />
+<Test name="clip_pos_x_neg_y_and_neg_x_neg_z_and_pos_y_pos_z" />
+<Test name="clip_pos_x_neg_y_and_neg_x_pos_z_and_pos_y_neg_z" />
+<Test name="clip_pos_x_neg_y_and_neg_x_neg_y_pos_z_and_pos_x_pos_y_neg_z" />
+<Test name="clip_pos_x_neg_y_and_pos_x_pos_y_pos_z_and_neg_x_neg_y_neg_z" />
+<Test name="clip_pos_x_pos_y_and_neg_x_neg_z_and_neg_y_pos_z" />
+<Test name="clip_pos_x_pos_y_and_neg_x_pos_z_and_neg_y_neg_z" />
+<Test name="clip_pos_x_pos_y_and_neg_y_neg_z_and_pos_y_pos_z" />
+<Test name="clip_pos_x_pos_y_and_pos_y_neg_z_and_neg_y_pos_z" />
+<Test name="clip_pos_x_pos_y_and_pos_x_neg_y_pos_z_and_neg_x_pos_y_neg_z" />
+<Test name="clip_pos_x_pos_y_and_neg_x_pos_y_pos_z_and_pos_x_neg_y_neg_z" />
+<Test name="clip_neg_x_pos_y_and_pos_x_neg_z_and_neg_x_pos_z" />
+<Test name="clip_neg_x_pos_y_and_pos_x_neg_z_and_neg_y_pos_z" />
+<Test name="clip_neg_x_pos_y_and_pos_x_pos_z_and_neg_y_neg_z" />
+<Test name="clip_neg_x_pos_y_and_neg_x_neg_y_pos_z_and_pos_x_pos_y_neg_z" />
+<Test name="clip_neg_x_pos_y_and_pos_x_pos_y_pos_z_and_neg_x_neg_y_neg_z" />
+<Test name="clip_neg_x_neg_z_and_pos_x_pos_z_and_neg_y_pos_z" />
+<Test name="clip_neg_x_neg_z_and_pos_x_pos_z_and_neg_x_neg_y_pos_z" />
+<Test name="clip_neg_x_neg_z_and_pos_x_pos_z_and_pos_x_neg_y_pos_z" />
+<Test name="clip_neg_x_neg_z_and_pos_x_pos_z_and_pos_x_pos_y_pos_z" />
+<Test name="clip_neg_x_neg_z_and_pos_x_pos_z_and_neg_x_pos_y_pos_z" />
+<Test name="clip_neg_x_neg_z_and_pos_x_pos_z_and_neg_x_neg_y_neg_z" />
+<Test name="clip_neg_x_neg_z_and_pos_x_pos_z_and_pos_x_pos_y_neg_z" />
+<Test name="clip_neg_x_neg_z_and_pos_x_pos_z_and_neg_x_pos_y_neg_z" />
+<Test name="clip_neg_x_neg_z_and_pos_x_neg_y_pos_z_and_pos_x_pos_y_pos_z" />
+<Test name="clip_neg_x_neg_z_and_pos_x_neg_y_pos_z_and_neg_x_pos_y_neg_z" />
+<Test name="clip_neg_x_neg_z_and_pos_x_pos_y_pos_z_and_neg_x_neg_y_neg_z" />
+<Test name="clip_pos_x_neg_z_and_neg_x_pos_z_and_neg_y_neg_z" />
+<Test name="clip_pos_x_neg_z_and_neg_x_pos_z_and_pos_y_neg_z" />
+<Test name="clip_pos_x_neg_z_and_neg_x_pos_z_and_neg_x_neg_y_pos_z" />
+<Test name="clip_pos_x_neg_z_and_neg_x_pos_z_and_neg_x_pos_y_pos_z" />
+<Test name="clip_pos_x_neg_z_and_neg_x_pos_z_and_neg_x_neg_y_neg_z" />
+<Test name="clip_pos_x_neg_z_and_neg_x_pos_z_and_pos_x_neg_y_neg_z" />
+<Test name="clip_pos_x_neg_z_and_neg_x_pos_z_and_pos_x_pos_y_neg_z" />
+<Test name="clip_pos_x_neg_z_and_neg_y_neg_z_and_pos_y_pos_z" />
+<Test name="clip_pos_x_neg_z_and_neg_x_neg_y_pos_z_and_neg_x_pos_y_pos_z" />
+<Test name="clip_pos_x_neg_z_and_neg_x_neg_y_pos_z_and_pos_x_pos_y_neg_z" />
+<Test name="clip_pos_x_neg_z_and_pos_x_pos_y_pos_z_and_neg_x_neg_y_neg_z" />
+<Test name="clip_pos_x_neg_z_and_neg_x_pos_y_pos_z_and_pos_x_neg_y_neg_z" />
+<Test name="clip_pos_x_pos_z_and_neg_y_neg_z_and_pos_y_pos_z" />
+<Test name="clip_pos_x_pos_z_and_pos_y_neg_z_and_neg_y_pos_z" />
+<Test name="clip_pos_x_pos_z_and_neg_x_neg_y_pos_z_and_pos_x_pos_y_neg_z" />
+<Test name="clip_pos_x_pos_z_and_pos_x_neg_y_pos_z_and_neg_x_pos_y_neg_z" />
+<Test name="clip_pos_x_pos_z_and_pos_x_pos_y_pos_z_and_neg_x_neg_y_neg_z" />
+<Test name="clip_pos_x_pos_z_and_neg_x_neg_y_neg_z_and_neg_x_pos_y_neg_z" />
+<Test name="clip_neg_x_pos_z_and_pos_y_neg_z_and_neg_y_pos_z" />
+<Test name="clip_neg_x_pos_z_and_neg_x_neg_y_pos_z_and_pos_x_pos_y_neg_z" />
+<Test name="clip_neg_x_pos_z_and_pos_x_neg_y_pos_z_and_neg_x_pos_y_neg_z" />
+<Test name="clip_neg_x_pos_z_and_neg_x_pos_y_pos_z_and_pos_x_neg_y_neg_z" />
+<Test name="clip_neg_x_pos_z_and_pos_x_neg_y_neg_z_and_pos_x_pos_y_neg_z" />
+<Test name="clip_neg_y_neg_z_and_pos_y_pos_z_and_pos_x_neg_y_pos_z" />
+<Test name="clip_neg_y_neg_z_and_pos_y_pos_z_and_pos_x_pos_y_pos_z" />
+<Test name="clip_neg_y_neg_z_and_pos_y_pos_z_and_neg_x_pos_y_pos_z" />
+<Test name="clip_neg_y_neg_z_and_pos_y_pos_z_and_pos_x_neg_y_neg_z" />
+<Test name="clip_neg_y_neg_z_and_pos_y_pos_z_and_pos_x_pos_y_neg_z" />
+<Test name="clip_neg_y_neg_z_and_neg_x_neg_y_pos_z_and_pos_x_pos_y_neg_z" />
+<Test name="clip_neg_y_neg_z_and_pos_x_neg_y_pos_z_and_neg_x_pos_y_neg_z" />
+<Test name="clip_neg_y_neg_z_and_pos_x_pos_y_pos_z_and_neg_x_pos_y_pos_z" />
+<Test name="clip_neg_y_neg_z_and_pos_x_pos_y_pos_z_and_neg_x_neg_y_neg_z" />
+<Test name="clip_neg_y_neg_z_and_neg_x_pos_y_pos_z_and_pos_x_neg_y_neg_z" />
+<Test name="clip_pos_y_neg_z_and_neg_y_pos_z_and_neg_x_neg_y_pos_z" />
+<Test name="clip_pos_y_neg_z_and_neg_y_pos_z_and_pos_x_neg_y_pos_z" />
+<Test name="clip_pos_y_neg_z_and_neg_y_pos_z_and_pos_x_pos_y_pos_z" />
+<Test name="clip_pos_y_neg_z_and_neg_y_pos_z_and_neg_x_neg_y_neg_z" />
+<Test name="clip_pos_y_pos_z_and_neg_x_neg_y_pos_z_and_pos_x_pos_y_neg_z" />
+<Test name="clip_pos_y_pos_z_and_neg_x_neg_y_neg_z_and_pos_x_neg_y_neg_z" />
+<Test name="clip_neg_y_pos_z_and_neg_x_neg_y_pos_z_and_pos_x_pos_y_neg_z" />
+<Test name="clip_neg_y_pos_z_and_pos_x_neg_y_pos_z_and_neg_x_pos_y_neg_z" />
+<Test name="clip_neg_y_pos_z_and_pos_x_pos_y_pos_z_and_neg_x_neg_y_neg_z" />
+<Test name="clip_neg_y_pos_z_and_neg_x_pos_y_pos_z_and_pos_x_neg_y_neg_z" />
+<Test name="clip_neg_y_pos_z_and_pos_x_pos_y_neg_z_and_neg_x_pos_y_neg_z" />
+<Test name="clip_neg_x_neg_y_pos_z_and_pos_x_neg_y_pos_z_and_pos_x_pos_y_neg_z" />
+<Test name="clip_neg_x_neg_y_pos_z_and_pos_x_neg_y_pos_z_and_neg_x_pos_y_neg_z" />
+<Test name="clip_neg_x_neg_y_pos_z_and_neg_x_pos_y_pos_z_and_pos_x_neg_y_neg_z" />
+<Test name="clip_neg_x_neg_y_pos_z_and_neg_x_pos_y_pos_z_and_pos_x_pos_y_neg_z" />
+<Test name="clip_neg_x_neg_y_pos_z_and_pos_x_neg_y_neg_z_and_pos_x_pos_y_neg_z" />
+<Test name="clip_pos_x_neg_y_pos_z_and_pos_x_pos_y_pos_z_and_neg_x_neg_y_neg_z" />
+<Test name="clip_pos_x_neg_y_pos_z_and_pos_x_pos_y_pos_z_and_neg_x_pos_y_neg_z" />
+<Test name="clip_pos_x_neg_y_pos_z_and_neg_x_neg_y_neg_z_and_neg_x_pos_y_neg_z" />
+<Test name="clip_pos_x_pos_y_pos_z_and_neg_x_pos_y_pos_z_and_neg_x_neg_y_neg_z" />
+<Test name="clip_pos_x_pos_y_pos_z_and_neg_x_pos_y_pos_z_and_pos_x_neg_y_neg_z" />
+<Test name="clip_pos_x_pos_y_pos_z_and_neg_x_neg_y_neg_z_and_pos_x_neg_y_neg_z" />
+<Test name="clip_pos_x_pos_y_pos_z_and_neg_x_neg_y_neg_z_and_neg_x_pos_y_neg_z" />
+<Test name="clip_neg_x_pos_y_pos_z_and_neg_x_neg_y_neg_z_and_pos_x_neg_y_neg_z" />
+<Test name="clip_neg_x_pos_y_pos_z_and_pos_x_neg_y_neg_z_and_pos_x_pos_y_neg_z" />
+</TestCase>
+</TestSuite>
+</TestSuite>
+<TestCase name="polygon_offset">
+<Test name="default_enable" />
+<Test name="default_render_with_factor" />
+<Test name="default_factor_0_slope" />
+<Test name="fixed16_enable" />
+<Test name="fixed16_render_with_factor" />
+<Test name="fixed16_factor_0_slope" />
+<Test name="fixed24_enable" />
+<Test name="fixed24_render_with_factor" />
+<Test name="fixed24_factor_0_slope" />
+<Test name="float32_enable" />
+<Test name="float32_render_with_units" />
+<Test name="float32_render_with_factor" />
+<Test name="float32_factor_0_slope" />
+</TestCase>
+<TestSuite name="draw">
+<TestSuite name="draw_arrays">
+<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">
+<TestSuite name="indices">
+<TestCase name="user_ptr">
+<Test name="index_byte" />
+<Test name="index_short" />
+<Test name="index_int" />
+</TestCase>
+<TestCase name="unaligned_user_ptr">
+<Test name="index_short" />
+</TestCase>
+<TestCase name="buffer">
+<Test name="index_byte" />
+<Test name="index_short" />
+<Test name="index_int" />
+</TestCase>
+</TestSuite>
+<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="texture_functions">
-<TestCase name="textureproj">
-<Test name="sampler2d_vec3_bias_float_fragment" />
-<Test name="sampler2d_vec4_bias_fixed_fragment" />
-<Test name="usampler3d_vertex" />
-<Test name="sampler2d_vec4_bias_float_fragment" />
-<Test name="isampler2d_vec4_bias_fragment" />
-<Test name="sampler2dshadow_fragment" />
-<Test name="isampler3d_fragment" />
-<Test name="isampler2d_vec4_fragment" />
-<Test name="sampler2dshadow_vertex" />
-<Test name="isampler2d_vec4_vertex" />
-<Test name="isampler2d_vec3_vertex" />
-<Test name="usampler3d_fragment" />
-<Test name="isampler3d_bias_fragment" />
-<Test name="sampler2dshadow_bias_fragment" />
-<Test name="sampler3d_fixed_vertex" />
-<Test name="sampler3d_fixed_fragment" />
-<Test name="sampler2d_vec3_float_fragment" />
-<Test name="isampler2d_vec3_fragment" />
-<Test name="sampler3d_float_vertex" />
-<Test name="sampler3d_bias_float_fragment" />
-<Test name="sampler2d_vec3_float_vertex" />
-<Test name="sampler2d_vec3_bias_fixed_fragment" />
-<Test name="usampler2d_vec4_bias_fragment" />
-<Test name="sampler2d_vec4_float_fragment" />
-<Test name="sampler2d_vec4_float_vertex" />
-<Test name="usampler2d_vec3_bias_fragment" />
-<Test name="sampler3d_float_fragment" />
-<Test name="sampler3d_bias_fixed_fragment" />
-<Test name="sampler2d_vec4_fixed_fragment" />
-<Test name="usampler3d_bias_fragment" />
-<Test name="isampler3d_vertex" />
-<Test name="sampler2d_vec4_fixed_vertex" />
-<Test name="isampler2d_vec3_bias_fragment" />
-<Test name="sampler2d_vec3_fixed_vertex" />
-<Test name="usampler2d_vec4_fragment" />
-<Test name="sampler2d_vec3_fixed_fragment" />
-<Test name="usampler2d_vec3_fragment" />
-<Test name="usampler2d_vec4_vertex" />
-<Test name="usampler2d_vec3_vertex" />
+<TestSuite name="draw_arrays_instanced">
+<TestCase name="first">
+<Test name="first_1" />
+<Test name="first_3" />
+<Test name="first_17" />
 </TestCase>
-<TestCase name="texture">
-<Test name="samplercubeshadow_vertex" />
-<Test name="sampler2d_bias_fixed_fragment" />
-<Test name="usampler2darray_vertex" />
-<Test name="sampler2darrayshadow_fragment" />
-<Test name="isampler3d_fragment" />
-<Test name="usampler3d_vertex" />
-<Test name="sampler2darray_float_vertex" />
-<Test name="sampler2dshadow_fragment" />
-<Test name="isampler2darray_bias_fragment" />
-<Test name="samplercube_fixed_vertex" />
-<Test name="samplercube_float_fragment" />
-<Test name="sampler2d_float_fragment" />
-<Test name="sampler2dshadow_vertex" />
-<Test name="sampler2d_float_vertex" />
-<Test name="isamplercube_bias_fragment" />
-<Test name="isampler2darray_vertex" />
-<Test name="isamplercube_fragment" />
-<Test name="sampler2d_fixed_fragment" />
-<Test name="usampler3d_fragment" />
-<Test name="sampler2darray_fixed_fragment" />
-<Test name="isampler3d_bias_fragment" />
-<Test name="samplercubeshadow_bias_fragment" />
-<Test name="sampler2dshadow_bias_fragment" />
-<Test name="sampler3d_fixed_vertex" />
-<Test name="usamplercube_fragment" />
-<Test name="usamplercube_vertex" />
-<Test name="sampler3d_fixed_fragment" />
-<Test name="sampler3d_float_vertex" />
-<Test name="sampler3d_bias_float_fragment" />
-<Test name="sampler2d_bias_float_fragment" />
-<Test name="samplercube_bias_fixed_fragment" />
-<Test name="usampler2d_vertex" />
-<Test name="sampler2darray_bias_float_fragment" />
-<Test name="isampler2d_bias_fragment" />
-<Test name="isampler2darray_fragment" />
-<Test name="samplercubeshadow_fragment" />
-<Test name="usampler2darray_bias_fragment" />
-<Test name="sampler2darray_float_fragment" />
-<Test name="usamplercube_bias_fragment" />
-<Test name="sampler3d_bias_fixed_fragment" />
-<Test name="sampler2darray_bias_fixed_fragment" />
-<Test name="usampler2darray_fragment" />
-<Test name="sampler2darray_fixed_vertex" />
-<Test name="usampler3d_bias_fragment" />
-<Test name="usampler2d_bias_fragment" />
-<Test name="isampler3d_vertex" />
-<Test name="usampler2d_fragment" />
-<Test name="samplercube_float_vertex" />
-<Test name="sampler3d_float_fragment" />
-<Test name="isamplercube_vertex" />
-<Test name="isampler2d_fragment" />
-<Test name="sampler2d_fixed_vertex" />
-<Test name="samplercube_bias_float_fragment" />
-<Test name="isampler2d_vertex" />
-<Test name="samplercube_fixed_fragment" />
+<TestCase name="points">
+<Test name="single_attribute" />
+<Test name="multiple_attributes" />
+<Test name="instanced_attributes" />
+<Test name="default_attribute" />
 </TestCase>
-<TestCase name="textureprojgrad">
-<Test name="sampler2d_vec3_float_vertex" />
-<Test name="sampler3d_float_vertex" />
-<Test name="sampler2d_vec4_fixed_vertex" />
-<Test name="sampler2d_vec3_float_fragment" />
-<Test name="sampler2d_vec3_fixed_vertex" />
-<Test name="sampler2dshadow_fragment" />
-<Test name="sampler2d_vec4_float_fragment" />
-<Test name="sampler3d_fixed_fragment" />
-<Test name="sampler2d_vec4_float_vertex" />
-<Test name="sampler2d_vec3_fixed_fragment" />
-<Test name="sampler2dshadow_vertex" />
-<Test name="sampler3d_float_fragment" />
-<Test name="sampler2d_vec4_fixed_fragment" />
-<Test name="sampler3d_fixed_vertex" />
+<TestCase name="triangles">
+<Test name="single_attribute" />
+<Test name="multiple_attributes" />
+<Test name="instanced_attributes" />
+<Test name="default_attribute" />
 </TestCase>
-<TestCase name="texturelod">
-<Test name="usampler2darray_vertex" />
-<Test name="usampler3d_vertex" />
-<Test name="sampler2darray_float_vertex" />
-<Test name="sampler2dshadow_fragment" />
-<Test name="isampler3d_fragment" />
-<Test name="samplercube_fixed_vertex" />
-<Test name="sampler2d_float_fragment" />
-<Test name="sampler2dshadow_vertex" />
-<Test name="sampler2d_float_vertex" />
-<Test name="sampler3d_float_fragment" />
-<Test name="sampler2darray_fixed_fragment" />
-<Test name="sampler2d_fixed_fragment" />
-<Test name="sampler3d_fixed_vertex" />
-<Test name="usamplercube_fragment" />
-<Test name="isampler2darray_vertex" />
-<Test name="usamplercube_vertex" />
-<Test name="sampler3d_fixed_fragment" />
-<Test name="sampler3d_float_vertex" />
-<Test name="usampler3d_fragment" />
-<Test name="usampler2d_vertex" />
-<Test name="isampler2darray_fragment" />
-<Test name="sampler2darray_float_fragment" />
-<Test name="usampler2darray_fragment" />
-<Test name="sampler2darray_fixed_vertex" />
-<Test name="isamplercube_fragment" />
-<Test name="isampler3d_vertex" />
-<Test name="usampler2d_fragment" />
-<Test name="isamplercube_vertex" />
-<Test name="isampler2d_fragment" />
-<Test name="sampler2d_fixed_vertex" />
-<Test name="isampler2d_vertex" />
-<Test name="samplercube_fixed_fragment" />
+<TestCase name="triangle_fan">
+<Test name="single_attribute" />
+<Test name="multiple_attributes" />
+<Test name="instanced_attributes" />
+<Test name="default_attribute" />
 </TestCase>
-<TestCase name="texelfetchoffset">
-<Test name="usampler2d_fragment" />
-<Test name="usampler2d_vertex" />
+<TestCase name="triangle_strip">
+<Test name="single_attribute" />
+<Test name="multiple_attributes" />
+<Test name="instanced_attributes" />
+<Test name="default_attribute" />
 </TestCase>
-<TestCase name="textureprojlod">
-<Test name="usampler3d_vertex" />
-<Test name="sampler2dshadow_fragment" />
-<Test name="isampler3d_fragment" />
-<Test name="isampler2d_vec4_fragment" />
-<Test name="sampler2dshadow_vertex" />
-<Test name="isampler2d_vec4_vertex" />
-<Test name="isampler2d_vec3_vertex" />
-<Test name="sampler3d_fixed_vertex" />
-<Test name="sampler3d_fixed_fragment" />
-<Test name="sampler2d_vec3_float_fragment" />
-<Test name="isampler2d_vec3_fragment" />
-<Test name="sampler3d_float_vertex" />
-<Test name="usampler3d_fragment" />
-<Test name="sampler2d_vec3_float_vertex" />
-<Test name="sampler2d_vec4_float_fragment" />
-<Test name="sampler2d_vec4_float_vertex" />
-<Test name="sampler3d_float_fragment" />
-<Test name="sampler2d_vec4_fixed_fragment" />
-<Test name="isampler3d_vertex" />
-<Test name="sampler2d_vec4_fixed_vertex" />
-<Test name="sampler2d_vec3_fixed_vertex" />
-<Test name="usampler2d_vec4_fragment" />
-<Test name="sampler2d_vec3_fixed_fragment" />
-<Test name="usampler2d_vec3_fragment" />
-<Test name="usampler2d_vec4_vertex" />
-<Test name="usampler2d_vec3_vertex" />
+<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_instanced">
+<TestSuite name="indices">
+<TestCase name="user_ptr">
+<Test name="index_byte" />
+<Test name="index_short" />
+<Test name="index_int" />
+</TestCase>
+<TestCase name="unaligned_user_ptr">
+<Test name="index_short" />
+</TestCase>
+<TestCase name="buffer">
+<Test name="index_byte" />
+<Test name="index_short" />
+<Test name="index_int" />
+</TestCase>
+</TestSuite>
+<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_range_elements">
+<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_instanced_grid_2x2" />
+<Test name="draw_arrays_instanced_grid_5x5" />
+<Test name="draw_arrays_instanced_grid_10x10" />
+<Test name="draw_arrays_instanced_grid_32x32" />
+<Test name="draw_arrays_instanced_grid_100x100" />
+<Test name="draw_elements_instanced_grid_2x2" />
+<Test name="draw_elements_instanced_grid_5x5" />
+<Test name="draw_elements_instanced_grid_10x10" />
+<Test name="draw_elements_instanced_grid_32x32" />
+<Test name="draw_elements_instanced_grid_100x100" />
+</TestCase>
+<TestCase name="random">
+<Test name="0" />
+<Test name="2" />
+<Test name="5" />
+<Test name="7" />
+<Test name="9" />
+<Test name="11" />
+<Test name="12" />
+<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="23" />
+<Test name="25" />
+<Test name="27" />
+<Test name="29" />
+<Test name="30" />
+<Test name="31" />
+<Test name="32" />
+<Test name="33" />
+<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="48" />
+<Test name="49" />
+<Test name="51" />
+<Test name="52" />
+<Test name="55" />
+<Test name="56" />
+<Test name="57" />
+<Test name="58" />
+<Test name="60" />
+<Test name="61" />
+<Test name="63" />
+<Test name="68" />
+<Test name="69" />
+<Test name="70" />
+<Test name="71" />
+<Test name="72" />
+<Test name="74" />
+<Test name="78" />
+<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="101" />
+<Test name="103" />
+<Test name="104" />
+<Test name="105" />
+<Test name="106" />
+<Test name="107" />
+<Test name="108" />
+<Test name="109" />
+<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="124" />
+<Test name="125" />
+<Test name="126" />
+<Test name="127" />
+<Test name="129" />
+<Test name="131" />
+<Test name="132" />
+<Test name="135" />
+<Test name="136" />
+<Test name="138" />
+<Test name="140" />
+<Test name="141" />
+<Test name="142" />
+<Test name="143" />
+<Test name="144" />
+<Test name="145" />
+<Test name="146" />
+<Test name="148" />
+<Test name="149" />
+<Test name="150" />
+<Test name="151" />
+<Test name="154" />
+<Test name="155" />
+<Test name="156" />
+<Test name="158" />
+<Test name="159" />
+<Test name="161" />
+<Test name="162" />
+<Test name="164" />
+<Test name="165" />
+<Test name="166" />
+<Test name="167" />
+<Test name="169" />
+<Test name="170" />
+<Test name="171" />
+<Test name="173" />
+<Test name="174" />
+<Test name="175" />
+<Test name="177" />
+<Test name="178" />
+<Test name="179" />
+<Test name="180" />
+<Test name="181" />
+<Test name="183" />
+<Test name="184" />
+<Test name="185" />
+<Test name="186" />
+<Test name="187" />
+<Test name="188" />
+<Test name="191" />
+<Test name="192" />
+<Test name="196" />
+<Test name="197" />
+<Test name="198" />
+<Test name="200" />
+<Test name="202" />
+<Test name="204" />
+<Test name="205" />
+<Test name="206" />
+<Test name="207" />
+<Test name="208" />
+<Test name="209" />
+<Test name="210" />
+</TestCase>
+</TestSuite>
+<TestCase name="flush_finish">
+<Test name="wait" />
+</TestCase>
+<TestSuite name="default_vertex_attrib">
+<TestCase name="float">
+<Test name="vertex_attrib_1f" />
+<Test name="vertex_attrib_2f" />
+<Test name="vertex_attrib_3f" />
+<Test name="vertex_attrib_4f" />
+<Test name="vertex_attrib_1fv" />
+<Test name="vertex_attrib_2fv" />
+<Test name="vertex_attrib_3fv" />
+<Test name="vertex_attrib_4fv" />
 </TestCase>
-<TestCase name="invalid">
-<Test name="textureprojlod_sampler2darray_vec4_float_fragment" />
-<Test name="textureoffset_isamplercube_vec3_ivec3_fragment" />
-<Test name="textureoffset_isamplercube_vec3_ivec3_vertex" />
-<Test name="textureprojgrad_samplercube_vec4_vec3_vec3_fragment" />
-<Test name="texturelod_sampler2darrayshadow_vec4_float_fragment" />
-<Test name="textureproj_samplercube_vec4_float_vertex" />
-<Test name="texture_sampler3dshadow_vec4_vertex" />
-<Test name="texturegradoffset_samplercubeshadow_vec4_vec3_vec3_ivec2_fragment" />
-<Test name="texturegradoffset_samplercube_vec3_vec3_vec3_ivec3_fragment" />
-<Test name="texturelod_sampler2darrayshadow_vec4_float_vertex" />
-<Test name="textureoffset_samplercube_vec3_ivec3_fragment" />
-<Test name="texturegradoffset_samplercubeshadow_vec4_vec3_vec3_ivec3_vertex" />
-<Test name="texturegrad_sampler2darray_vec3_vec3_vec3_vertex" />
-<Test name="textureoffset_sampler2darray_vec3_ivec3_float_vertex" />
-<Test name="textureprojlod_samplercube_vec4_float_vertex" />
-<Test name="textureproj_samplercube_vec4_vertex" />
-<Test name="texturelodoffset_sampler2darrayshadow_vec3_float_ivec2_fragment" />
-<Test name="texelfetch_samplercube_ivec3_int_fragment" />
-<Test name="texturegradoffset_samplercube_vec3_vec3_vec3_ivec2_fragment" />
-<Test name="texelfetch_usamplercube_ivec3_int_fragment" />
-<Test name="texelfetch_samplercubeshadow_ivec3_int_vertex" />
-<Test name="textureproj_isamplercube_vec4_vertex" />
-<Test name="textureoffset_samplercube_vec3_ivec3_vertex" />
-<Test name="texturelodoffset_samplercube_vec3_float_ivec3_fragment" />
-<Test name="textureoffset_isamplercube_vec3_ivec2_vertex" />
-<Test name="texelfetch_sampler2darrayshadow_ivec3_int_vertex" />
-<Test name="textureproj_sampler2darrayshadow_vec4_vertex" />
-<Test name="texelfetch_samplercube_ivec3_int_vertex" />
-<Test name="textureprojgradoffset_samplercube_vec4_vec3_vec3_ivec3_fragment" />
-<Test name="textureproj_isamplercube_vec4_fragment" />
-<Test name="textureprojlod_sampler2darrayshadow_vec4_float_fragment" />
-<Test name="texturegradoffset_samplercube_vec3_vec3_vec3_ivec3_vertex" />
-<Test name="textureprojgradoffset_sampler2darray_vec4_vec2_vec2_ivec3_fragment" />
-<Test name="textureoffset_samplercube_vec3_ivec3_float_fragment" />
-<Test name="textureprojoffset_samplercube_vec4_ivec2_fragment" />
-<Test name="textureprojoffset_samplercubeshadow_vec4_ivec3_vertex" />
-<Test name="textureproj_usamplercube_vec4_fragment" />
-<Test name="textureproj_sampler2darrayshadow_vec4_float_fragment" />
-<Test name="textureoffset_usamplercube_vec3_ivec2_fragment" />
-<Test name="textureoffset_samplercubeshadow_vec4_ivec2_fragment" />
-<Test name="texturelod_samplercubeshadow_vec4_float_fragment" />
-<Test name="textureproj_isamplercube_vec4_float_fragment" />
-<Test name="textureproj_sampler2darrayshadow_vec4_float_vertex" />
-<Test name="texelfetch_sampler2darrayshadow_ivec3_int_fragment" />
-<Test name="textureprojoffset_sampler2darrayshadow_vec4_ivec2_fragment" />
-<Test name="texturelodoffset_sampler2darrayshadow_vec3_float_ivec2_vertex" />
-<Test name="texelfetch_samplercubeshadow_ivec3_int_fragment" />
-<Test name="textureproj_sampler2darrayshadow_vec4_fragment" />
-<Test name="textureoffset_isamplercube_vec3_ivec2_fragment" />
-<Test name="textureoffset_samplercube_vec3_ivec2_vertex" />
-<Test name="texelfetch_isamplercube_ivec3_int_vertex" />
-<Test name="texturelodoffset_samplercube_vec3_float_ivec3_vertex" />
-<Test name="textureoffset_samplercube_vec3_ivec2_float_fragment" />
-<Test name="texelfetch_sampler2dshadow_ivec2_int_ivec2_vertex" />
-<Test name="textureprojgradoffset_samplercube_vec4_vec3_vec3_ivec2_vertex" />
-<Test name="texelfetch_sampler2dshadow_ivec2_int_ivec2_fragment" />
-<Test name="texturelodoffset_samplercubeshadow_vec3_float_ivec3_fragment" />
-<Test name="texelfetch_samplercubeshadow_ivec3_int_ivec3_vertex" />
-<Test name="textureoffset_sampler2darray_vec3_ivec3_float_fragment" />
-<Test name="textureoffset_sampler2darray_vec3_ivec3_vertex" />
-<Test name="textureprojgradoffset_sampler2darray_vec4_vec2_vec2_ivec2_vertex" />
-<Test name="textureproj_samplercube_vec4_fragment" />
-<Test name="texelfetch_sampler2darrayshadow_ivec3_int_ivec3_vertex" />
-<Test name="texturegradoffset_samplercubeshadow_vec4_vec3_vec3_ivec3_fragment" />
-<Test name="textureoffset_samplercube_vec3_ivec2_float_vertex" />
-<Test name="textureprojgradoffset_sampler2darray_vec4_vec2_vec2_ivec3_vertex" />
-<Test name="textureoffset_usamplercube_vec3_ivec3_fragment" />
-<Test name="textureprojlod_sampler2darray_vec4_float_vertex" />
-<Test name="textureproj_samplercube_vec4_float_fragment" />
-<Test name="textureproj_usamplercube_vec4_vertex" />
-<Test name="texturelodoffset_samplercube_vec3_float_ivec2_vertex" />
-<Test name="texelfetch_usamplercube_ivec3_int_vertex" />
-<Test name="textureoffset_sampler2darrayshadow_vec4_ivec2_float_vertex" />
-<Test name="textureoffset_samplercubeshadow_vec4_ivec3_fragment" />
-<Test name="texelfetch_sampler2darrayshadow_ivec3_int_ivec3_fragment" />
-<Test name="texelfetch_samplercube_ivec3_int_ivec3_fragment" />
-<Test name="textureproj_isamplercube_vec4_float_vertex" />
-<Test name="texture_sampler3dshadow_vec4_fragment" />
-<Test name="textureoffset_usamplercube_vec3_ivec2_vertex" />
-<Test name="textureoffset_usamplercube_vec3_ivec3_vertex" />
-<Test name="textureprojgrad_sampler2darray_vec4_vec2_vec2_fragment" />
-<Test name="textureprojoffset_sampler2darrayshadow_vec4_ivec3_vertex" />
-<Test name="textureprojoffset_sampler2darrayshadow_vec4_ivec3_fragment" />
-<Test name="textureprojlod_sampler2darrayshadow_vec4_float_vertex" />
-<Test name="textureoffset_samplercube_vec3_ivec2_fragment" />
-<Test name="textureprojgradoffset_samplercube_vec4_vec3_vec3_ivec3_vertex" />
-<Test name="textureprojoffset_samplercube_vec4_ivec3_fragment" />
-<Test name="textureprojgrad_sampler2darray_vec4_vec2_vec2_vertex" />
-<Test name="texelfetch_isamplercube_ivec3_int_fragment" />
-<Test name="texelfetch_samplercubeshadow_ivec3_int_ivec3_fragment" />
-<Test name="textureoffset_sampler2darrayshadow_vec4_ivec2_float_fragment" />
-<Test name="textureprojgradoffset_sampler2darray_vec4_vec2_vec2_ivec2_fragment" />
-<Test name="textureoffset_samplercubeshadow_vec4_ivec3_vertex" />
-<Test name="textureoffset_samplercubeshadow_vec4_ivec2_vertex" />
-<Test name="texelfetch_samplercube_ivec3_int_ivec3_vertex" />
-<Test name="texturegradoffset_samplercube_vec3_vec3_vec3_ivec2_vertex" />
-<Test name="texturelodoffset_samplercube_vec3_float_ivec2_fragment" />
-<Test name="textureprojlod_samplercube_vec4_float_fragment" />
-<Test name="texelfetch_sampler2dshadow_ivec2_int_fragment" />
-<Test name="texturegradoffset_samplercubeshadow_vec4_vec3_vec3_ivec2_vertex" />
-<Test name="textureoffset_sampler2darray_vec3_ivec3_fragment" />
-<Test name="texturelod_samplercubeshadow_vec4_float_vertex" />
-<Test name="textureproj_usamplercube_vec4_float_fragment" />
-<Test name="texturelodoffset_sampler2darrayshadow_vec3_float_ivec3_fragment" />
-<Test name="textureprojoffset_samplercube_vec4_ivec3_vertex" />
-<Test name="texturelodoffset_sampler2darrayshadow_vec3_float_ivec3_vertex" />
-<Test name="textureprojgradoffset_samplercube_vec4_vec3_vec3_ivec2_fragment" />
-<Test name="textureproj_usamplercube_vec4_float_vertex" />
-<Test name="textureoffset_samplercube_vec3_ivec3_float_vertex" />
-<Test name="textureprojoffset_sampler2darrayshadow_vec4_ivec2_vertex" />
-<Test name="textureprojgrad_samplercube_vec4_vec3_vec3_vertex" />
-<Test name="texelfetch_sampler2dshadow_ivec2_int_vertex" />
-<Test name="texturelodoffset_samplercubeshadow_vec3_float_ivec3_vertex" />
-<Test name="textureprojoffset_samplercube_vec4_ivec2_vertex" />
-<Test name="texturegrad_sampler2darray_vec3_vec3_vec3_fragment" />
-<Test name="textureprojoffset_samplercubeshadow_vec4_ivec3_fragment" />
+<TestCase name="vec2">
+<Test name="vertex_attrib_1f" />
+<Test name="vertex_attrib_4f" />
+<Test name="vertex_attrib_1fv" />
+<Test name="vertex_attrib_4fv" />
 </TestCase>
-<TestCase name="texturegrad">
-<Test name="sampler2darray_fixed_vertex" />
-<Test name="sampler2d_fixed_fragment" />
-<Test name="sampler3d_float_vertex" />
-<Test name="sampler2darrayshadow_fragment" />
-<Test name="sampler2darray_fixed_fragment" />
-<Test name="sampler2darrayshadow_vertex" />
-<Test name="sampler2darray_float_fragment" />
-<Test name="samplercube_float_vertex" />
-<Test name="sampler2darray_float_vertex" />
-<Test name="sampler2dshadow_fragment" />
-<Test name="samplercube_fixed_fragment" />
-<Test name="sampler2d_fixed_vertex" />
-<Test name="samplercube_fixed_vertex" />
-<Test name="samplercube_float_fragment" />
-<Test name="sampler2d_float_fragment" />
-<Test name="sampler2dshadow_vertex" />
-<Test name="sampler3d_float_fragment" />
-<Test name="sampler2d_float_vertex" />
-<Test name="sampler3d_fixed_fragment" />
-<Test name="sampler3d_fixed_vertex" />
+<TestCase name="vec3">
+<Test name="vertex_attrib_1f" />
+<Test name="vertex_attrib_4f" />
+<Test name="vertex_attrib_1fv" />
+<Test name="vertex_attrib_4fv" />
 </TestCase>
-<TestCase name="texelfetch">
-<Test name="usampler2d_fragment" />
-<Test name="usampler2d_vertex" />
-<Test name="sampler2d_fixed_fragment" />
-<Test name="isampler2d_fragment" />
-<Test name="sampler2d_fixed_vertex" />
-<Test name="sampler2d_float_fragment" />
-<Test name="isampler2d_vertex" />
-<Test name="sampler2d_float_vertex" />
+<TestCase name="vec4">
+<Test name="vertex_attrib_1f" />
+<Test name="vertex_attrib_2f" />
+<Test name="vertex_attrib_3f" />
+<Test name="vertex_attrib_4f" />
+<Test name="vertex_attrib_1fv" />
+<Test name="vertex_attrib_2fv" />
+<Test name="vertex_attrib_3fv" />
+<Test name="vertex_attrib_4fv" />
 </TestCase>
-</TestSuite>
-<TestSuite name="arrays">
-<TestCase name="return">
-<Test name="int_vertex" />
-<Test name="bool_mat3_vertex" />
-<Test name="float_mat3_vertex" />
-<Test name="bool_vec3_fragment" />
-<Test name="int_vec3_fragment" />
-<Test name="float_vec3_vertex" />
-<Test name="float_vertex" />
-<Test name="bool_vec3_vertex" />
-<Test name="float_vec3_fragment" />
-<Test name="float_fragment" />
-<Test name="bool_vertex" />
-<Test name="bool_mat3_fragment" />
-<Test name="int_fragment" />
-<Test name="float_mat3_fragment" />
-<Test name="int_mat3_vertex" />
-<Test name="bool_fragment" />
-<Test name="int_vec3_vertex" />
-<Test name="int_mat3_fragment" />
+<TestCase name="mat2">
+<Test name="vertex_attrib_1f" />
+<Test name="vertex_attrib_4f" />
+<Test name="vertex_attrib_1fv" />
+<Test name="vertex_attrib_4fv" />
 </TestCase>
-<TestCase name="constructor">
-<Test name="struct3_fragment" />
-<Test name="float3_vertex" />
-<Test name="float4_vertex" />
-<Test name="float_vec3_fragment" />
-<Test name="struct4_vertex" />
-<Test name="int_vec3_fragment" />
-<Test name="bool3_fragment" />
-<Test name="bool3_vertex" />
-<Test name="int4_vertex" />
-<Test name="int3_vertex" />
-<Test name="bool4_vertex" />
-<Test name="bool_vec3_fragment" />
-<Test name="float3_fragment" />
-<Test name="int4_fragment" />
-<Test name="struct3_vertex" />
-<Test name="float4_fragment" />
-<Test name="int_vec3_vertex" />
-<Test name="struct4_fragment" />
-<Test name="int3_fragment" />
-<Test name="bool4_fragment" />
-<Test name="bool_vec3_vertex" />
-<Test name="float_vec3_vertex" />
+<TestCase name="mat2x3">
+<Test name="vertex_attrib_1f" />
+<Test name="vertex_attrib_4f" />
+<Test name="vertex_attrib_1fv" />
+<Test name="vertex_attrib_4fv" />
 </TestCase>
-<TestCase name="invalid">
-<Test name="dynamic_expression_array_size_fragment" />
-<Test name="multidimensional_array1_fragment" />
-<Test name="multidimensional_uniform_array_fragment" />
-<Test name="constructor_c-style2_fragment" />
-<Test name="multidimensional_array_in_uniform_block_fragment" />
-<Test name="multidimensional_uniform_array_vertex" />
-<Test name="multidimensional_array1_vertex" />
-<Test name="multidimensional_array2_fragment" />
-<Test name="dynamic_expression_array_size_vertex" />
-<Test name="multidimensional_array_in_uniform_block_vertex" />
-<Test name="multidimensional_array2_vertex" />
-<Test name="constructor_c-style1_fragment" />
-<Test name="constructor_c-style2_vertex" />
-<Test name="constructor_c-style1_vertex" />
+<TestCase name="mat2x4">
+<Test name="vertex_attrib_1f" />
+<Test name="vertex_attrib_4f" />
+<Test name="vertex_attrib_1fv" />
+<Test name="vertex_attrib_4fv" />
 </TestCase>
-<TestCase name="length">
-<Test name="int_vertex" />
-<Test name="bool_vertex" />
-<Test name="int_fragment" />
-<Test name="float_vertex" />
-<Test name="struct_fragment" />
-<Test name="bool_fragment" />
-<Test name="float_fragment" />
-<Test name="struct_vertex" />
+<TestCase name="mat3">
+<Test name="vertex_attrib_1f" />
+<Test name="vertex_attrib_4f" />
+<Test name="vertex_attrib_1fv" />
+<Test name="vertex_attrib_4fv" />
 </TestCase>
-<TestCase name="declaration">
-<Test name="implicit_size_float_fragment" />
-<Test name="implicit_size_bool_vertex" />
-<Test name="constant_expression_array_access_fragment" />
-<Test name="implicit_size_float_vertex" />
-<Test name="constant_expression_array_access_vertex" />
-<Test name="implicit_size_int_ivec3_vertex" />
-<Test name="implicit_size_float_vec3_vertex" />
-<Test name="implicit_size_bool_bvec3_fragment" />
-<Test name="implicit_size_struct_vertex" />
-<Test name="implicit_size_bool_fragment" />
-<Test name="implicit_size_bool_bvec3_vertex" />
-<Test name="implicit_size_int_fragment" />
-<Test name="constant_expression_array_size_fragment" />
-<Test name="implicit_size_int_ivec3_fragment" />
-<Test name="implicit_size_float_vec3_fragment" />
-<Test name="implicit_size_struct_fragment" />
-<Test name="implicit_size_int_vertex" />
-<Test name="constant_expression_array_size_vertex" />
+<TestCase name="mat3x2">
+<Test name="vertex_attrib_1f" />
+<Test name="vertex_attrib_4f" />
+<Test name="vertex_attrib_1fv" />
+<Test name="vertex_attrib_4fv" />
 </TestCase>
-<TestCase name="unnamed_parameter">
-<Test name="int_vertex" />
-<Test name="bool_mat3_vertex" />
-<Test name="float_mat3_vertex" />
-<Test name="bool_vec3_fragment" />
-<Test name="int_vec3_fragment" />
-<Test name="float_vec3_vertex" />
-<Test name="float_vertex" />
-<Test name="bool_vec3_vertex" />
-<Test name="float_vec3_fragment" />
-<Test name="float_fragment" />
-<Test name="bool_vertex" />
-<Test name="bool_mat3_fragment" />
-<Test name="int_fragment" />
-<Test name="float_mat3_fragment" />
-<Test name="int_mat3_vertex" />
-<Test name="bool_fragment" />
-<Test name="int_vec3_vertex" />
-<Test name="int_mat3_fragment" />
+<TestCase name="mat3x4">
+<Test name="vertex_attrib_1f" />
+<Test name="vertex_attrib_4f" />
+<Test name="vertex_attrib_1fv" />
+<Test name="vertex_attrib_4fv" />
 </TestCase>
-</TestSuite>
-<TestSuite name="fragdepth">
-<TestCase name="write">
-<Test name="no_write" />
+<TestCase name="mat4">
+<Test name="vertex_attrib_1f" />
+<Test name="vertex_attrib_2f" />
+<Test name="vertex_attrib_3f" />
+<Test name="vertex_attrib_4f" />
+<Test name="vertex_attrib_1fv" />
+<Test name="vertex_attrib_2fv" />
+<Test name="vertex_attrib_3fv" />
+<Test name="vertex_attrib_4fv" />
 </TestCase>
-<TestCase name="compare">
-<Test name="const" />
-<Test name="dynamic_conditional_write" />
-<Test name="uniform_conditional_write" />
-<Test name="dynamic" />
-<Test name="no_write" />
-<Test name="uniform" />
-<Test name="fragcoord_z" />
-<Test name="write_in_function" />
-<Test name="uniform_loop_write" />
+<TestCase name="mat4x2">
+<Test name="vertex_attrib_1f" />
+<Test name="vertex_attrib_4f" />
+<Test name="vertex_attrib_1fv" />
+<Test name="vertex_attrib_4fv" />
 </TestCase>
-</TestSuite>
-<TestCase name="switch">
-<Test name="double_default_1_fragment" />
-<Test name="while_loop_in_switch_uniform_fragment" />
-<Test name="while_loop_in_switch_uniform_vertex" />
-<Test name="default_not_last_static_vertex" />
-<Test name="missing_opening_brace_vertex" />
-<Test name="do_while_loop_in_switch_dynamic_fragment" />
-<Test name="conditional_fall_through_static_fragment" />
-<Test name="do_while_loop_in_switch_dynamic_vertex" />
-<Test name="default_label_uniform_fragment" />
-<Test name="if_in_switch_static_vertex" />
-<Test name="conditional_fall_through_2_static_vertex" />
-<Test name="case_in_do_while_loop_fragment" />
-<Test name="missing_colon_fragment" />
-<Test name="condition_float_vertex" />
-<Test name="for_loop_in_switch_dynamic_vertex" />
-<Test name="empty_condition_vertex" />
-<Test name="switch_in_if_static_vertex" />
-<Test name="missing_colon_vertex" />
-<Test name="conditional_fall_through_uniform_vertex" />
-<Test name="default_not_last_static_fragment" />
-<Test name="scope_static_fragment" />
-<Test name="condition_ivec2_fragment" />
-<Test name="default_in_while_loop_vertex" />
-<Test name="default_in_while_loop_fragment" />
-<Test name="fall_through_default_uniform_fragment" />
-<Test name="duplicate_label_fragment" />
-<Test name="float_label_vertex" />
-<Test name="default_not_last_uniform_fragment" />
-<Test name="for_loop_in_switch_uniform_vertex" />
-<Test name="condition_struct_vertex" />
-<Test name="do_while_loop_in_switch_uniform_vertex" />
-<Test name="statement_before_default_label_vertex" />
-<Test name="statement_before_default_label_fragment" />
-<Test name="default_in_if_vertex" />
-<Test name="const_expr_in_label_uniform_vertex" />
-<Test name="case_in_if_fragment" />
-<Test name="default_label_dynamic_vertex" />
-<Test name="condition_ivec2_vertex" />
-<Test name="switch_in_for_loop_uniform_fragment" />
-<Test name="non_const_int_label_vertex" />
-<Test name="conditional_fall_through_2_dynamic_vertex" />
-<Test name="default_in_if_fragment" />
-<Test name="if_in_switch_uniform_fragment" />
-<Test name="fall_through_default_static_vertex" />
-<Test name="basic_dynamic_vertex" />
-<Test name="no_statement_after_default_label_vertex" />
-<Test name="const_expr_in_label_static_fragment" />
-<Test name="no_default_label_uniform_vertex" />
-<Test name="case_in_for_loop_fragment" />
-<Test name="double_case_fragment" />
-<Test name="missing_closing_brace_vertex" />
-<Test name="switch_in_for_loop_static_vertex" />
-<Test name="condition_bool_fragment" />
-<Test name="if_in_switch_dynamic_vertex" />
-<Test name="for_loop_in_switch_uniform_fragment" />
-<Test name="default_in_do_while_loop_vertex" />
-<Test name="switch_in_while_loop_uniform_vertex" />
-<Test name="while_loop_in_switch_dynamic_fragment" />
-<Test name="for_loop_in_switch_static_fragment" />
-<Test name="no_default_label_uniform_fragment" />
-<Test name="switch_in_for_loop_uniform_vertex" />
-<Test name="switch_in_do_while_loop_uniform_vertex" />
-<Test name="case_in_while_loop_vertex" />
-<Test name="default_not_last_dynamic_fragment" />
-<Test name="switch_in_if_uniform_fragment" />
-<Test name="switch_in_if_uniform_vertex" />
-<Test name="switch_in_do_while_loop_static_vertex" />
-<Test name="missing_closing_brace_fragment" />
-<Test name="conditional_fall_through_dynamic_vertex" />
-<Test name="switch_in_for_loop_dynamic_fragment" />
-<Test name="double_case_vertex" />
-<Test name="condition_struct_fragment" />
-<Test name="scope_uniform_vertex" />
-<Test name="while_loop_in_switch_static_fragment" />
-<Test name="empty_condition_fragment" />
-<Test name="conditional_fall_through_dynamic_fragment" />
-<Test name="fall_through_default_dynamic_fragment" />
-<Test name="switch_in_while_loop_uniform_fragment" />
-<Test name="if_in_switch_uniform_vertex" />
-<Test name="non_const_int_label_fragment" />
-<Test name="while_loop_in_switch_dynamic_vertex" />
-<Test name="switch_in_while_loop_static_vertex" />
-<Test name="fall_through_uniform_vertex" />
-<Test name="fall_through_default_static_fragment" />
-<Test name="conditional_fall_through_2_dynamic_fragment" />
-<Test name="switch_in_for_loop_dynamic_vertex" />
-<Test name="switch_in_switch_static_vertex" />
-<Test name="do_while_loop_in_switch_static_vertex" />
-<Test name="case_in_while_loop_fragment" />
-<Test name="fall_through_default_uniform_vertex" />
-<Test name="double_default_2_vertex" />
-<Test name="fall_through_dynamic_fragment" />
-<Test name="fall_through_dynamic_vertex" />
-<Test name="switch_in_for_loop_static_fragment" />
-<Test name="default_in_do_while_loop_fragment" />
-<Test name="condition_float_fragment" />
-<Test name="basic_uniform_vertex" />
-<Test name="const_expr_in_label_uniform_fragment" />
-<Test name="statement_before_label_vertex" />
-<Test name="missing_opening_brace_fragment" />
-<Test name="default_not_last_dynamic_vertex" />
-<Test name="default_label_uniform_vertex" />
-<Test name="switch_in_if_dynamic_vertex" />
-<Test name="double_default_1_vertex" />
-<Test name="no_default_label_static_fragment" />
-<Test name="fall_through_static_fragment" />
-<Test name="scope_dynamic_fragment" />
-<Test name="no_default_label_dynamic_fragment" />
-<Test name="default_label_static_fragment" />
-<Test name="basic_dynamic_fragment" />
-<Test name="const_expr_in_label_dynamic_vertex" />
-<Test name="if_in_switch_static_fragment" />
-<Test name="scope_uniform_fragment" />
-<Test name="default_in_for_loop_vertex" />
-<Test name="conditional_fall_through_static_vertex" />
-<Test name="default_label_dynamic_fragment" />
-<Test name="if_in_switch_dynamic_fragment" />
-<Test name="conditional_fall_through_2_static_fragment" />
-<Test name="duplicate_label_vertex" />
-<Test name="const_expr_in_label_static_vertex" />
-<Test name="default_label_static_vertex" />
-<Test name="switch_in_do_while_loop_static_fragment" />
-<Test name="for_loop_in_switch_static_vertex" />
-<Test name="do_while_loop_in_switch_static_fragment" />
-<Test name="case_in_do_while_loop_vertex" />
-<Test name="conditional_fall_through_2_uniform_fragment" />
-<Test name="scope_dynamic_vertex" />
-<Test name="while_loop_in_switch_static_vertex" />
-<Test name="float_label_fragment" />
-<Test name="no_statement_after_label_fragment" />
-<Test name="fall_through_default_dynamic_vertex" />
-<Test name="for_loop_in_switch_dynamic_fragment" />
-<Test name="default_not_last_uniform_vertex" />
-<Test name="switch_in_switch_dynamic_fragment" />
-<Test name="switch_in_if_dynamic_fragment" />
-<Test name="switch_in_while_loop_static_fragment" />
-<Test name="switch_in_do_while_loop_uniform_fragment" />
-<Test name="fall_through_static_vertex" />
-<Test name="switch_in_switch_static_fragment" />
-<Test name="switch_in_if_static_fragment" />
-<Test name="conditional_fall_through_uniform_fragment" />
-<Test name="no_statement_after_default_label_fragment" />
-<Test name="switch_in_do_while_loop_dynamic_vertex" />
-<Test name="case_in_for_loop_vertex" />
-<Test name="switch_in_while_loop_dynamic_vertex" />
-<Test name="switch_in_switch_dynamic_vertex" />
-<Test name="condition_bool_vertex" />
-<Test name="basic_static_fragment" />
-<Test name="double_default_2_fragment" />
-<Test name="switch_in_while_loop_dynamic_fragment" />
-<Test name="default_in_for_loop_fragment" />
-<Test name="no_statement_after_label_vertex" />
-<Test name="basic_uniform_fragment" />
-<Test name="basic_static_vertex" />
-<Test name="case_in_if_vertex" />
-<Test name="fall_through_uniform_fragment" />
-<Test name="scope_static_vertex" />
-<Test name="switch_in_do_while_loop_dynamic_fragment" />
-<Test name="no_default_label_static_vertex" />
-<Test name="const_expr_in_label_dynamic_fragment" />
-<Test name="statement_before_label_fragment" />
-<Test name="no_default_label_dynamic_vertex" />
+<TestCase name="mat4x3">
+<Test name="vertex_attrib_1f" />
+<Test name="vertex_attrib_4f" />
+<Test name="vertex_attrib_1fv" />
+<Test name="vertex_attrib_4fv" />
+</TestCase>
+<TestCase name="int">
+<Test name="vertex_attribi_4i" />
+<Test name="vertex_attribi_4iv" />
+</TestCase>
+<TestCase name="ivec2">
+<Test name="vertex_attribi_4i" />
+<Test name="vertex_attribi_4iv" />
+</TestCase>
+<TestCase name="ivec3">
+<Test name="vertex_attribi_4i" />
+<Test name="vertex_attribi_4iv" />
 </TestCase>
-<TestSuite name="keywords">
-<TestCase name="keywords">
-<Test name="false_vertex" />
-<Test name="isamplerCube_vertex" />
-<Test name="bool_vertex" />
-<Test name="return_fragment" />
-<Test name="uvec4_fragment" />
-<Test name="struct_vertex" />
-<Test name="isampler2DArray_vertex" />
-<Test name="lowp_fragment" />
-<Test name="discard_vertex" />
-<Test name="break_vertex" />
-<Test name="mat3_vertex" />
-<Test name="void_vertex" />
-<Test name="mat3x3_vertex" />
-<Test name="if_fragment" />
-<Test name="bvec4_fragment" />
-<Test name="bvec2_vertex" />
-<Test name="default_vertex" />
-<Test name="isampler2D_fragment" />
-<Test name="samplerCubeShadow_fragment" />
-<Test name="in_vertex" />
-<Test name="for_vertex" />
-<Test name="uvec3_fragment" />
-<Test name="true_fragment" />
-<Test name="switch_fragment" />
-<Test name="mat3x4_vertex" />
-<Test name="precision_vertex" />
-<Test name="mat2x2_fragment" />
-<Test name="continue_fragment" />
-<Test name="samplerCubeShadow_vertex" />
-<Test name="while_fragment" />
-<Test name="samplerCube_vertex" />
-<Test name="sampler2DArray_fragment" />
-<Test name="uvec2_vertex" />
-<Test name="mat4x3_fragment" />
-<Test name="while_vertex" />
-<Test name="bool_fragment" />
-<Test name="samplerCube_fragment" />
-<Test name="mat4x3_vertex" />
-<Test name="mat2x3_fragment" />
-<Test name="int_fragment" />
-<Test name="sampler2D_vertex" />
-<Test name="layout_vertex" />
-<Test name="invariant_vertex" />
-<Test name="continue_vertex" />
-<Test name="vec2_fragment" />
-<Test name="uvec4_vertex" />
-<Test name="const_fragment" />
-<Test name="mat2x4_fragment" />
-<Test name="sampler2DArray_vertex" />
-<Test name="sampler2DShadow_fragment" />
-<Test name="centroid_fragment" />
-<Test name="vec2_vertex" />
-<Test name="smooth_vertex" />
-<Test name="ivec3_vertex" />
-<Test name="inout_fragment" />
-<Test name="case_vertex" />
-<Test name="mat2x2_vertex" />
-<Test name="mat4x2_vertex" />
-<Test name="vec4_fragment" />
-<Test name="mat2x3_vertex" />
-<Test name="void_fragment" />
-<Test name="mat2x4_vertex" />
-<Test name="do_fragment" />
-<Test name="centroid_vertex" />
-<Test name="sampler3D_vertex" />
-<Test name="uniform_vertex" />
-<Test name="ivec2_fragment" />
-<Test name="bvec3_vertex" />
-<Test name="sampler3D_fragment" />
-<Test name="if_vertex" />
-<Test name="highp_fragment" />
-<Test name="highp_vertex" />
-<Test name="return_vertex" />
-<Test name="mat3x2_fragment" />
-<Test name="out_vertex" />
-<Test name="flat_fragment" />
-<Test name="mat2_vertex" />
-<Test name="usampler2DArray_fragment" />
-<Test name="lowp_vertex" />
-<Test name="case_fragment" />
-<Test name="usampler3D_vertex" />
-<Test name="else_fragment" />
-<Test name="inout_vertex" />
-<Test name="mat3x3_fragment" />
-<Test name="for_fragment" />
-<Test name="mat3x4_fragment" />
-<Test name="mat4_fragment" />
-<Test name="isamplerCube_fragment" />
-<Test name="else_vertex" />
-<Test name="isampler3D_vertex" />
-<Test name="mediump_fragment" />
-<Test name="flat_vertex" />
-<Test name="isampler3D_fragment" />
-<Test name="precision_fragment" />
-<Test name="usamplerCube_vertex" />
-<Test name="false_fragment" />
-<Test name="mat4x4_vertex" />
-<Test name="const_vertex" />
-<Test name="usampler2D_vertex" />
-<Test name="vec3_fragment" />
-<Test name="default_fragment" />
-<Test name="do_vertex" />
-<Test name="uint_fragment" />
-<Test name="uvec2_fragment" />
-<Test name="ivec4_fragment" />
-<Test name="mat3_fragment" />
-<Test name="int_vertex" />
-<Test name="invariant_fragment" />
-<Test name="usampler2D_fragment" />
-<Test name="uint_vertex" />
-<Test name="usampler2DArray_vertex" />
-<Test name="mat4x4_fragment" />
-<Test name="bvec4_vertex" />
-<Test name="struct_fragment" />
-<Test name="mat3x2_vertex" />
-<Test name="uniform_fragment" />
-<Test name="mediump_vertex" />
-<Test name="sampler2D_fragment" />
-<Test name="ivec3_fragment" />
-<Test name="break_fragment" />
-<Test name="layout_fragment" />
-<Test name="switch_vertex" />
-<Test name="float_fragment" />
-<Test name="bvec2_fragment" />
-<Test name="mat4_vertex" />
-<Test name="mat2_fragment" />
-<Test name="ivec2_vertex" />
-<Test name="ivec4_vertex" />
-<Test name="sampler2DShadow_vertex" />
-<Test name="usamplerCube_fragment" />
-<Test name="isampler2D_vertex" />
-<Test name="vec3_vertex" />
-<Test name="sampler2DArrayShadow_fragment" />
-<Test name="usampler3D_fragment" />
-<Test name="sampler2DArrayShadow_vertex" />
-<Test name="in_fragment" />
-<Test name="smooth_fragment" />
-<Test name="out_fragment" />
-<Test name="uvec3_vertex" />
-<Test name="isampler2DArray_fragment" />
-<Test name="bvec3_fragment" />
-<Test name="discard_fragment" />
-<Test name="true_vertex" />
-<Test name="float_vertex" />
-<Test name="mat4x2_fragment" />
+<TestCase name="ivec4">
+<Test name="vertex_attribi_4i" />
+<Test name="vertex_attribi_4iv" />
 </TestCase>
-<TestCase name="reserved_keywords">
-<Test name="extern_fragment" />
-<Test name="varying_vertex" />
-<Test name="isampler2DRect_vertex" />
-<Test name="public_vertex" />
-<Test name="sampler1DArrayShadow_fragment" />
-<Test name="half_fragment" />
-<Test name="namespace_fragment" />
-<Test name="usampler1D_vertex" />
-<Test name="isampler1DArray_vertex" />
-<Test name="template_fragment" />
-<Test name="sampler2DRectShadow_vertex" />
-<Test name="short_fragment" />
-<Test name="extern_vertex" />
-<Test name="noinline_fragment" />
-<Test name="hvec4_fragment" />
-<Test name="goto_vertex" />
-<Test name="cast_fragment" />
-<Test name="noinline_vertex" />
-<Test name="goto_fragment" />
-<Test name="isampler2DMS_fragment" />
-<Test name="sampler1DShadow_fragment" />
-<Test name="fixed_fragment" />
-<Test name="dvec3_fragment" />
-<Test name="sampler3DRect_fragment" />
-<Test name="enum_vertex" />
-<Test name="usampler2DRect_vertex" />
-<Test name="namespace_vertex" />
-<Test name="fvec2_fragment" />
-<Test name="cast_vertex" />
-<Test name="hvec3_vertex" />
-<Test name="interface_vertex" />
-<Test name="sampler2DMSArray_fragment" />
-<Test name="fvec3_fragment" />
-<Test name="public_fragment" />
-<Test name="usampler2DRect_fragment" />
-<Test name="fixed_vertex" />
-<Test name="hvec3_fragment" />
-<Test name="using_fragment" />
-<Test name="hvec2_vertex" />
-<Test name="sampler3DRect_vertex" />
-<Test name="attribute_fragment" />
-<Test name="inline_vertex" />
-<Test name="fvec4_fragment" />
-<Test name="short_vertex" />
-<Test name="volatile_fragment" />
-<Test name="dvec2_vertex" />
-<Test name="isampler1D_fragment" />
-<Test name="dvec4_vertex" />
-<Test name="attribute_vertex" />
-<Test name="dvec3_vertex" />
-<Test name="usampler2DMS_fragment" />
-<Test name="this_vertex" />
-<Test name="fvec2_vertex" />
-<Test name="sampler1DArray_fragment" />
-<Test name="sampler2DMS_vertex" />
-<Test name="sampler1DArray_vertex" />
-<Test name="typedef_vertex" />
-<Test name="superp_vertex" />
-<Test name="fvec4_vertex" />
-<Test name="volatile_vertex" />
-<Test name="sampler2DRectShadow_fragment" />
-<Test name="sampler1D_vertex" />
-<Test name="usampler1D_fragment" />
-<Test name="external_fragment" />
-<Test name="sizeof_vertex" />
-<Test name="sampler2DMSArray_vertex" />
-<Test name="isampler2DMSArray_vertex" />
-<Test name="interface_fragment" />
-<Test name="hvec2_fragment" />
-<Test name="sampler2DMS_fragment" />
-<Test name="unsigned_fragment" />
-<Test name="usampler2DMS_vertex" />
-<Test name="half_vertex" />
-<Test name="input_fragment" />
-<Test name="dvec2_fragment" />
-<Test name="union_fragment" />
-<Test name="enum_fragment" />
-<Test name="union_vertex" />
-<Test name="static_vertex" />
-<Test name="noperspective_fragment" />
-<Test name="varying_fragment" />
-<Test name="class_vertex" />
-<Test name="usampler2DMSArray_fragment" />
-<Test name="usampler1DArray_vertex" />
-<Test name="input_vertex" />
-<Test name="usampler2DMSArray_vertex" />
-<Test name="asm_fragment" />
-<Test name="hvec4_vertex" />
-<Test name="inline_fragment" />
-<Test name="long_vertex" />
-<Test name="sampler1DShadow_vertex" />
-<Test name="typedef_fragment" />
-<Test name="isampler2DMSArray_fragment" />
-<Test name="sampler2DRect_fragment" />
-<Test name="isampler2DMS_vertex" />
-<Test name="usampler1DArray_fragment" />
-<Test name="long_fragment" />
-<Test name="asm_vertex" />
-<Test name="sampler2DRect_vertex" />
-<Test name="fvec3_vertex" />
-<Test name="unsigned_vertex" />
-<Test name="noperspective_vertex" />
-<Test name="sampler1DArrayShadow_vertex" />
-<Test name="output_vertex" />
-<Test name="external_vertex" />
-<Test name="isampler2DRect_fragment" />
-<Test name="using_vertex" />
-<Test name="template_vertex" />
-<Test name="dvec4_fragment" />
-<Test name="sampler1D_fragment" />
-<Test name="sizeof_fragment" />
-<Test name="static_fragment" />
-<Test name="isampler1D_vertex" />
-<Test name="class_fragment" />
-<Test name="this_fragment" />
-<Test name="superp_fragment" />
-<Test name="output_fragment" />
-<Test name="isampler1DArray_fragment" />
+<TestCase name="uint">
+<Test name="vertex_attribi_4ui" />
+<Test name="vertex_attribi_4uiv" />
 </TestCase>
-<TestCase name="invalid_identifiers">
-<Test name="two_underscores_begin_fragment" />
-<Test name="digit_begin_vertex" />
-<Test name="digit_vertex" />
-<Test name="two_underscores_middle_fragment" />
-<Test name="two_underscores_end_fragment" />
-<Test name="two_underscores_begin_vertex" />
-<Test name="digit_begin_fragment" />
-<Test name="digit_fragment" />
-<Test name="gl_begin_vertex" />
-<Test name="two_underscores_middle_vertex" />
-<Test name="two_underscores_end_vertex" />
-<Test name="gl_begin_fragment" />
+<TestCase name="uvec2">
+<Test name="vertex_attribi_4ui" />
+<Test name="vertex_attribi_4uiv" />
+</TestCase>
+<TestCase name="uvec3">
+<Test name="vertex_attribi_4ui" />
+<Test name="vertex_attribi_4uiv" />
+</TestCase>
+<TestCase name="uvec4">
+<Test name="vertex_attribi_4ui" />
+<Test name="vertex_attribi_4uiv" />
 </TestCase>
 </TestSuite>
-<TestCase name="discard">
-<Test name="function_uniform" />
-<Test name="dynamic_loop_uniform" />
-<Test name="function_never" />
-<Test name="static_loop_never" />
-<Test name="dynamic_loop_never" />
-<Test name="static_loop_texture" />
-<Test name="basic_texture" />
-<Test name="dynamic_loop_always" />
-<Test name="basic_always" />
-<Test name="function_always" />
-<Test name="function_static_loop_always" />
-<Test name="function_static_loop_never" />
-<Test name="basic_never" />
-<Test name="static_loop_always" />
-<Test name="basic_uniform" />
-<Test name="function_static_loop_uniform" />
-<Test name="function_static_loop_dynamic" />
-<Test name="static_loop_uniform" />
-<Test name="function_static_loop_texture" />
-<Test name="static_loop_dynamic" />
-<Test name="dynamic_loop_texture" />
-<Test name="function_dynamic" />
-<Test name="function_texture" />
-<Test name="basic_dynamic" />
-<Test name="dynamic_loop_dynamic" />
+<TestSuite name="lifetime">
+<TestCase name="gen">
+<Test name="buffer" />
+<Test name="texture" />
+<Test name="renderbuffer" />
+<Test name="framebuffer" />
+<Test name="shader" />
+<Test name="program" />
+<Test name="query" />
+<Test name="transform_feedback" />
+<Test name="vertex_array" />
+<Test name="sampler" />
 </TestCase>
-<TestSuite name="conditionals">
-<TestCase name="invalid_if">
-<Test name="missing_parenthesis_fragment" />
-<Test name="float_one_condition_fragment" />
-<Test name="unclosed_parenthesis_vertex" />
-<Test name="int_uniform_condition_vertex" />
-<Test name="unclosed_parenthesis_fragment" />
-<Test name="float_condition_fragment" />
-<Test name="missing_parenthesis_vertex" />
-<Test name="float_condition_vertex" />
-<Test name="float_one_condition_vertex" />
-<Test name="int_one_condition_fragment" />
-<Test name="int_zero_condition_vertex" />
-<Test name="int_one_condition_vertex" />
-<Test name="float_zero_condition_vertex" />
-<Test name="sampler_condition_fragment" />
-<Test name="int_condition_fragment" />
-<Test name="sampler_condition_vertex" />
-<Test name="int_zero_condition_fragment" />
-<Test name="float_zero_condition_fragment" />
-<Test name="int_condition_vertex" />
-<Test name="int_uniform_condition_fragment" />
+<TestCase name="delete">
+<Test name="buffer" />
+<Test name="texture" />
+<Test name="renderbuffer" />
+<Test name="framebuffer" />
+<Test name="shader" />
+<Test name="program" />
+<Test name="query" />
+<Test name="transform_feedback" />
+<Test name="vertex_array" />
+<Test name="sampler" />
 </TestCase>
-<TestCase name="if">
-<Test name="complex_condition_vertex" />
-<Test name="if_else_fragment" />
-<Test name="sequence_statements_fragment" />
-<Test name="single_statement_vertex" />
-<Test name="if_elseif_else_vertex" />
-<Test name="sequence_statements_vertex" />
-<Test name="single_statement_fragment" />
-<Test name="compound_statement_vertex" />
-<Test name="complex_condition_fragment" />
-<Test name="mixed_if_elseif_else_vertex" />
-<Test name="compound_statement_fragment" />
-<Test name="if_elseif_vertex" />
-<Test name="if_elseif_else_fragment" />
-<Test name="sequence_condition_fragment" />
-<Test name="if_elseif_fragment" />
-<Test name="mixed_if_elseif_else_fragment" />
-<Test name="if_else_vertex" />
-<Test name="sequence_condition_vertex" />
+<TestCase name="bind">
+<Test name="buffer" />
+<Test name="texture" />
+<Test name="renderbuffer" />
+<Test name="framebuffer" />
+<Test name="query" />
+<Test name="transform_feedback" />
+<Test name="vertex_array" />
+<Test name="sampler" />
 </TestCase>
-</TestSuite>
-</TestSuite>
-<TestSuite name="pbo">
-<TestCase name="renderbuffer">
-<Test name="rgba32i_triangles" />
-<Test name="rgba8ui_clears" />
-<Test name="rg16f_triangles" />
-<Test name="rgb10_a2ui_triangles" />
-<Test name="rgba32f_triangles" />
-<Test name="rgba8i_clears" />
-<Test name="rg8ui_triangles" />
-<Test name="rg8_clears" />
-<Test name="rg32ui_triangles" />
-<Test name="srgb8_alpha8_clears" />
-<Test name="rg16i_triangles" />
-<Test name="rg32f_clears" />
-<Test name="rg16f_clears" />
-<Test name="rgba32i_clears" />
-<Test name="srgb8_alpha8_triangles" />
-<Test name="rg32f_triangles" />
-<Test name="rgba8ui_triangles" />
-<Test name="rg32ui_clears" />
-<Test name="rg16ui_clears" />
-<Test name="rgba32ui_triangles" />
-<Test name="rgba16ui_clears" />
-<Test name="rg32i_triangles" />
-<Test name="rgba4_clears" />
-<Test name="rg8_triangles" />
-<Test name="rgb8_triangles" />
-<Test name="rgba32f_clears" />
-<Test name="rgba16i_triangles" />
-<Test name="rg16ui_triangles" />
-<Test name="rgba16ui_triangles" />
-<Test name="r11f_g11f_b10f_clears" />
-<Test name="rgba8_triangles" />
-<Test name="rgba32ui_clears" />
-<Test name="rgba16f_triangles" />
-<Test name="rg16i_clears" />
-<Test name="rgba8i_triangles" />
-<Test name="rg8i_clears" />
-<Test name="rgb8_clears" />
-<Test name="rgba8_clears" />
-<Test name="r11f_g11f_b10f_triangles" />
-<Test name="rgba4_triangles" />
-<Test name="rg32i_clears" />
-<Test name="rgb10_a2ui_clears" />
-<Test name="rgb565_clears" />
-<Test name="rg8ui_clears" />
-<Test name="rgba16i_clears" />
-<Test name="rg8i_triangles" />
-<Test name="rgba16f_clears" />
+<TestCase name="delete_bound">
+<Test name="buffer" />
+<Test name="texture" />
+<Test name="renderbuffer" />
+<Test name="framebuffer" />
+<Test name="query" />
+<Test name="transform_feedback" />
+<Test name="vertex_array" />
+<Test name="sampler" />
 </TestCase>
-<TestCase name="native">
-<Test name="clears" />
-<Test name="triangles" />
+<TestCase name="bind_no_gen">
+<Test name="buffer" />
+<Test name="texture" />
+<Test name="renderbuffer" />
+<Test name="framebuffer" />
+<Test name="query" />
+<Test name="transform_feedback" />
+<Test name="vertex_array" />
+<Test name="sampler" />
 </TestCase>
-</TestSuite>
-<TestCase name="depth_stencil_clear">
-<Test name="stencil" />
-<Test name="depth_stencil_scissored" />
-<Test name="depth_scissored" />
-<Test name="depth" />
-<Test name="depth_scissored_masked" />
-<Test name="stencil_scissored" />
-<Test name="depth_stencil" />
+<TestCase name="delete_used">
+<Test name="program" />
 </TestCase>
-<TestSuite name="dither">
-<TestCase name="disabled">
-<Test name="unicolored_quad_white" />
-<Test name="unicolored_quad_alpha" />
-<Test name="unicolored_quad_green" />
-<Test name="unicolored_quad_red" />
-<Test name="unicolored_quad_blue" />
-<Test name="gradient_green" />
-<Test name="gradient_alpha" />
-<Test name="gradient_red" />
-<Test name="gradient_white" />
-<Test name="gradient_blue" />
+<TestSuite name="attach">
+<TestCase name="deleted_name">
+<Test name="shader_program" />
 </TestCase>
-<TestCase name="enabled">
-<Test name="unicolored_quad_white" />
-<Test name="unicolored_quad_alpha" />
-<Test name="unicolored_quad_green" />
-<Test name="unicolored_quad_red" />
-<Test name="unicolored_quad_blue" />
-<Test name="gradient_green" />
-<Test name="gradient_alpha" />
-<Test name="gradient_red" />
-<Test name="gradient_white" />
-<Test name="gradient_blue" />
+<TestCase name="deleted_input">
+<Test name="texture_framebuffer" />
+<Test name="renderbuffer_framebuffer" />
+<Test name="shader_program" />
+</TestCase>
+<TestCase name="deleted_output">
+<Test name="texture_framebuffer" />
+<Test name="renderbuffer_framebuffer" />
+</TestCase>
+</TestSuite>
+<TestCase name="delete_active">
+<Test name="transform_feedback" />
 </TestCase>
 </TestSuite>
 </TestSuite>
index 83631cf..447c86d 100644 (file)
 <TestPackage name="dEQP-GLES31" targetBinaryName="com.drawelements.deqp" appPackageName="com.drawelements.deqp.gles31" testType="deqpTest">
 <TestSuite name="dEQP-GLES31">
 <TestCase name="info">
-<Test name="vendor" />
-<Test name="render_target" />
-<Test name="version" />
-<Test name="extensions" />
 <Test name="renderer" />
+<Test name="version" />
 <Test name="shading_language_version" />
+<Test name="extensions" />
+<Test name="render_target" />
 </TestCase>
 <TestSuite name="functional">
-<TestSuite name="draw_indirect">
-<TestSuite name="draw_arrays_indirect">
-<TestCase name="line_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_loop">
-<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="points">
-<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="triangles">
-<Test name="single_attribute" />
-<Test name="multiple_attributes" />
-<Test name="instanced_attributes" />
-<Test name="default_attribute" />
-</TestCase>
-<TestCase name="first">
-<Test name="first_17" />
-<Test name="first_1" />
-<Test name="first_3" />
+<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="compute_interop">
-<TestCase name="large">
-<Test name="drawarrays_separate_grid_200x200_drawcount_8" />
-<Test name="drawelements_separate_grid_1200x1200_drawcount_8" />
-<Test name="drawarrays_combined_grid_200x200_drawcount_8" />
-<Test name="drawarrays_separate_grid_200x200_drawcount_1" />
-<Test name="drawarrays_combined_grid_500x500_drawcount_2500" />
-<Test name="drawarrays_combined_grid_100x100_drawcount_200" />
-<Test name="drawarrays_combined_grid_200x200_drawcount_800" />
-<Test name="drawarrays_combined_grid_200x200_drawcount_1" />
-<Test name="drawelements_combined_grid_500x500_drawcount_2500" />
-<Test name="drawarrays_combined_grid_1200x1200_drawcount_1" />
-<Test name="drawarrays_separate_grid_1000x1000_drawcount_8" />
-<Test name="drawelements_separate_grid_100x100_drawcount_200" />
-<Test name="drawarrays_separate_grid_1000x1000_drawcount_5000" />
-<Test name="drawelements_combined_grid_200x200_drawcount_8" />
-<Test name="drawelements_separate_grid_200x200_drawcount_800" />
-<Test name="drawelements_combined_grid_100x100_drawcount_200" />
-<Test name="drawarrays_separate_grid_1200x1200_drawcount_8" />
-<Test name="drawelements_combined_grid_1500x1500_drawcount_8" />
-<Test name="drawarrays_combined_grid_1200x1200_drawcount_8" />
-<Test name="drawarrays_combined_grid_1500x1500_drawcount_8" />
-<Test name="drawelements_combined_grid_200x200_drawcount_1" />
-<Test name="drawarrays_combined_grid_500x500_drawcount_8" />
-<Test name="drawarrays_separate_grid_1200x1200_drawcount_1" />
-<Test name="drawelements_separate_grid_1000x1000_drawcount_8" />
-<Test name="drawelements_combined_grid_1500x1500_drawcount_1" />
-<Test name="drawelements_combined_grid_100x100_drawcount_8" />
-<Test name="drawarrays_separate_grid_100x100_drawcount_8" />
-<Test name="drawarrays_separate_grid_1500x1500_drawcount_8" />
-<Test name="drawelements_separate_grid_100x100_drawcount_8" />
-<Test name="drawarrays_separate_grid_100x100_drawcount_1" />
-<Test name="drawelements_combined_grid_100x100_drawcount_1" />
-<Test name="drawarrays_separate_grid_1500x1500_drawcount_1" />
-<Test name="drawarrays_separate_grid_200x200_drawcount_800" />
-<Test name="drawarrays_separate_grid_100x100_drawcount_200" />
-<Test name="drawelements_separate_grid_1000x1000_drawcount_5000" />
-<Test name="drawelements_combined_grid_1200x1200_drawcount_1" />
-<Test name="drawelements_separate_grid_200x200_drawcount_1" />
-<Test name="drawarrays_combined_grid_1500x1500_drawcount_1" />
-<Test name="drawelements_combined_grid_1200x1200_drawcount_8" />
-<Test name="drawelements_combined_grid_200x200_drawcount_800" />
-<Test name="drawarrays_separate_grid_500x500_drawcount_8" />
-<Test name="drawarrays_combined_grid_1000x1000_drawcount_8" />
-<Test name="drawarrays_combined_grid_500x500_drawcount_1" />
-<Test name="drawelements_separate_grid_200x200_drawcount_8" />
-<Test name="drawelements_separate_grid_100x100_drawcount_1" />
-<Test name="drawarrays_combined_grid_1000x1000_drawcount_1" />
-<Test name="drawelements_separate_grid_500x500_drawcount_8" />
-<Test name="drawelements_separate_grid_1200x1200_drawcount_1" />
-<Test name="drawelements_combined_grid_500x500_drawcount_8" />
-<Test name="drawelements_combined_grid_1000x1000_drawcount_5000" />
-<Test name="drawelements_separate_grid_500x500_drawcount_2500" />
-<Test name="drawarrays_separate_grid_1000x1000_drawcount_1" />
-<Test name="drawarrays_combined_grid_1000x1000_drawcount_5000" />
-<Test name="drawarrays_separate_grid_500x500_drawcount_1" />
-<Test name="drawelements_combined_grid_500x500_drawcount_1" />
-<Test name="drawelements_separate_grid_500x500_drawcount_1" />
-<Test name="drawelements_separate_grid_1000x1000_drawcount_1" />
-<Test name="drawarrays_separate_grid_500x500_drawcount_2500" />
-<Test name="drawelements_separate_grid_1500x1500_drawcount_8" />
-<Test name="drawelements_combined_grid_1000x1000_drawcount_8" />
-<Test name="drawarrays_combined_grid_100x100_drawcount_8" />
-<Test name="drawelements_separate_grid_1500x1500_drawcount_1" />
-<Test name="drawelements_combined_grid_1000x1000_drawcount_1" />
-<Test name="drawarrays_combined_grid_100x100_drawcount_1" />
-</TestCase>
-<TestCase name="combined">
-<Test name="drawelements_compute_cmd_and_data" />
-<Test name="drawarrays_compute_cmd_and_data" />
-<Test name="drawelements_compute_cmd_and_indices" />
-<Test name="drawelements_compute_cmd_and_data_and_indices" />
-<Test name="drawelements_compute_data_and_indices" />
-</TestCase>
-<TestCase name="separate">
-<Test name="drawelements_compute_cmd" />
-<Test name="drawelements_compute_data" />
-<Test name="drawelements_compute_cmd_and_data" />
-<Test name="drawelements_compute_cmd_and_data_and_indices" />
-<Test name="drawarrays_compute_cmd" />
-<Test name="drawarrays_compute_data" />
-<Test name="drawarrays_compute_cmd_and_data" />
-<Test name="drawelements_compute_indices" />
-<Test name="drawelements_compute_cmd_and_indices" />
-<Test name="drawelements_compute_data_and_indices" />
+<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>
-</TestSuite>
-<TestCase name="random">
-<Test name="30" />
-<Test name="28" />
-<Test name="29" />
-<Test name="61" />
-<Test name="35" />
-<Test name="32" />
-<Test name="24" />
-<Test name="25" />
-<Test name="27" />
-<Test name="20" />
-<Test name="21" />
-<Test name="48" />
-<Test name="49" />
-<Test name="46" />
-<Test name="47" />
-<Test name="44" />
-<Test name="45" />
-<Test name="42" />
-<Test name="43" />
-<Test name="40" />
-<Test name="0" />
-<Test name="3" />
-<Test name="2" />
-<Test name="5" />
-<Test name="4" />
-<Test name="7" />
-<Test name="6" />
-<Test name="8" />
-<Test name="13" />
-<Test name="12" />
-<Test name="14" />
-<Test name="11" />
-<Test name="10" />
-<Test name="39" />
-<Test name="38" />
-<Test name="15" />
-<Test name="22" />
-<Test name="17" />
-<Test name="19" />
-<Test name="54" />
-<Test name="31" />
-<Test name="56" />
-<Test name="51" />
-<Test name="36" />
-<Test name="53" />
-<Test name="52" />
-<Test name="55" />
-<Test name="37" />
-<Test name="18" />
-<Test name="57" />
-<Test name="50" />
-</TestCase>
-<TestCase name="negative">
-<Test name="invalid_type_draw_elements" />
-<Test name="command_bad_alignment_2" />
-<Test name="command_bad_alignment_3" />
-<Test name="client_command_array" />
-<Test name="command_offset_not_in_buffer" />
-<Test name="default_vao" />
-<Test name="command_offset_not_in_buffer_unsigned32_wrap" />
-<Test name="invalid_mode_draw_arrays" />
-<Test name="invalid_mode_draw_elements" />
-<Test name="command_offset_partially_in_buffer" />
-<Test name="command_bad_alignment_1" />
-<Test name="client_vertex_attrib_array" />
-</TestCase>
-<TestSuite name="draw_elements_indirect">
-<TestCase name="line_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_loop">
-<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="points">
-<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="indices">
-<Test name="index_short" />
-<Test name="index_byte" />
-<Test name="index_int" />
+<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="triangles">
-<Test name="single_attribute" />
-<Test name="multiple_attributes" />
-<Test name="instanced_attributes" />
-<Test name="default_attribute" />
+<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="base_vertex">
-<Test name="index_short" />
-<Test name="index_int" />
-<Test name="index_byte" />
-<Test name="index_neg_short" />
-<Test name="index_neg_byte" />
-<Test name="index_neg_int" />
-</TestCase>
-</TestSuite>
-<TestCase name="instancing">
-<Test name="draw_elements_indirect_grid_5x5" />
-<Test name="draw_arrays_indirect_grid_32x32" />
-<Test name="draw_arrays_indirect_grid_10x10" />
-<Test name="draw_elements_indirect_grid_2x2" />
-<Test name="draw_arrays_indirect_grid_100x100" />
-<Test name="draw_elements_indirect_grid_32x32" />
-<Test name="draw_elements_indirect_grid_10x10" />
-<Test name="draw_elements_indirect_grid_100x100" />
-<Test name="draw_arrays_indirect_grid_2x2" />
-<Test name="draw_arrays_indirect_grid_5x5" />
-</TestCase>
-</TestSuite>
-<TestSuite name="stencil_texturing">
-<TestCase name="misc">
-<Test name="compare_mode_effect" />
-<Test name="base_level" />
+<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="render">
-<Test name="depth32f_stencil8_clear" />
-<Test name="depth32f_stencil8_draw" />
-<Test name="depth24_stencil8_clear" />
-<Test name="depth24_stencil8_draw" />
+<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="format">
-<Test name="stencil_index8_2d" />
-<Test name="depth24_stencil8_2d_array" />
-<Test name="depth32f_stencil8_2d" />
-<Test name="depth24_stencil8_2d" />
-<Test name="depth24_stencil8_cube" />
-<Test name="stencil_index8_2d_array" />
-<Test name="depth32f_stencil8_cube" />
-<Test name="depth32f_stencil8_2d_array" />
-<Test name="stencil_index8_cube" />
+<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>
-</TestSuite>
-<TestSuite name="geometry_shading">
-<TestCase name="conversion">
-<Test name="triangles_to_lines" />
-<Test name="lines_to_points" />
-<Test name="points_to_triangles" />
-<Test name="lines_to_triangles" />
-<Test name="triangles_to_points" />
-<Test name="points_to_lines" />
+<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="instanced">
-<Test name="geometry_2_invocations" />
-<Test name="invocation_per_layer_2d_multisample_array" />
-<Test name="invocation_output_vary_by_uniform" />
-<Test name="draw_4_instances_geometry_8_invocations" />
-<Test name="multiple_layers_per_invocation_3d" />
-<Test name="multiple_layers_per_invocation_2d_multisample_array" />
-<Test name="geometry_8_invocations" />
-<Test name="invocation_output_vary_by_texture" />
-<Test name="geometry_32_invocations" />
-<Test name="draw_8_instances_geometry_2_invocations" />
-<Test name="geometry_output_different_8_invocations" />
-<Test name="geometry_max_invocations" />
-<Test name="invocation_per_layer_cubemap" />
-<Test name="multiple_layers_per_invocation_2d_array" />
-<Test name="draw_8_instances_geometry_8_invocations" />
-<Test name="geometry_output_different_32_invocations" />
-<Test name="invocation_per_layer_2d_array" />
-<Test name="invocation_per_layer_3d" />
-<Test name="draw_2_instances_geometry_8_invocations" />
-<Test name="geometry_output_different_max_invocations" />
-<Test name="multiple_layers_per_invocation_cubemap" />
-<Test name="geometry_1_invocations" />
-<Test name="draw_2_instances_geometry_2_invocations" />
-<Test name="draw_4_instances_geometry_2_invocations" />
-<Test name="geometry_output_different_2_invocations" />
-<Test name="invocation_output_vary_by_attribute" />
-</TestCase>
-<TestCase name="varying">
-<Test name="vertex_out_0_geometry_out_2" />
-<Test name="vertex_out_1_geometry_out_0" />
-<Test name="vertex_out_1_geometry_out_2" />
-<Test name="vertex_no_op_geometry_out_1" />
-<Test name="vertex_out_0_geometry_out_1" />
-</TestCase>
-<TestCase name="negative">
-<Test name="type_triangles_adjacency_primitive_triangle_strip" />
-<Test name="type_lines_adjacency_primitive_triangle_fan" />
-<Test name="type_lines_primitive_triangle_strip" />
-<Test name="type_triangles_primitive_triangles_adjacency" />
-<Test name="type_triangles_primitive_points" />
-<Test name="type_lines_adjacency_primitive_triangle_strip" />
-<Test name="type_points_primitive_line_loop" />
-<Test name="type_triangles_primitive_lines_adjacency" />
-<Test name="type_triangles_adjacency_primitive_line_strip_adjacency" />
-<Test name="type_points_primitive_line_strip" />
-<Test name="type_lines_adjacency_primitive_lines" />
-<Test name="type_triangles_primitive_triangle_strip_adjacency" />
-<Test name="type_lines_primitive_points" />
-<Test name="type_triangles_primitive_line_strip" />
-<Test name="type_points_primitive_line_strip_adjacency" />
-<Test name="type_triangles_adjacency_primitive_line_loop" />
-<Test name="type_lines_primitive_triangle_fan" />
-<Test name="type_points_primitive_triangles" />
-<Test name="type_triangles_adjacency_primitive_lines_adjacency" />
-<Test name="type_points_primitive_triangle_strip" />
-<Test name="type_lines_adjacency_primitive_points" />
-<Test name="type_triangles_adjacency_primitive_points" />
-<Test name="type_triangles_adjacency_primitive_triangle_fan" />
-<Test name="type_triangles_primitive_line_strip_adjacency" />
-<Test name="type_lines_primitive_triangles_adjacency" />
-<Test name="type_triangles_adjacency_primitive_triangles" />
-<Test name="type_lines_primitive_triangle_strip_adjacency" />
-<Test name="type_points_primitive_triangle_strip_adjacency" />
-<Test name="type_lines_primitive_lines_adjacency" />
-<Test name="type_lines_primitive_triangles" />
-<Test name="type_lines_adjacency_primitive_line_loop" />
-<Test name="type_lines_adjacency_primitive_triangles_adjacency" />
-<Test name="type_lines_adjacency_primitive_line_strip" />
-<Test name="type_triangles_primitive_lines" />
-<Test name="type_lines_adjacency_primitive_triangles" />
-<Test name="type_points_primitive_triangle_fan" />
-<Test name="type_triangles_adjacency_primitive_line_strip" />
-<Test name="type_triangles_adjacency_primitive_lines" />
-<Test name="type_triangles_primitive_line_loop" />
-<Test name="type_lines_primitive_line_strip_adjacency" />
-<Test name="type_lines_adjacency_primitive_triangle_strip_adjacency" />
-<Test name="type_points_primitive_triangles_adjacency" />
-<Test name="type_points_primitive_lines_adjacency" />
-<Test name="type_points_primitive_lines" />
+<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="vertex_transform_feedback">
-<Test name="capture_vertex_draw_elements_instanced" />
-<Test name="capture_vertex_draw_elements" />
-<Test name="capture_vertex_draw_elements_indirect" />
-<Test name="capture_vertex_line_loop" />
-<Test name="capture_vertex_draw_elements_overflow_single_buffer" />
-<Test name="capture_vertex_draw_arrays" />
-<Test name="capture_vertex_draw_arrays_instanced" />
-<Test name="capture_vertex_triangle_strip" />
-<Test name="capture_vertex_draw_arrays_indirect" />
-<Test name="capture_vertex_triangle_fan" />
-<Test name="capture_vertex_line_strip" />
-<Test name="capture_vertex_draw_arrays_overflow_single_buffer" />
+<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="layered">
-<Test name="render_to_one_cubemap" />
-<Test name="render_different_to_3d" />
-<Test name="layer_provoking_vertex_cubemap" />
-<Test name="render_to_all_cubemap" />
-<Test name="render_to_all_2d_multisample_array" />
-<Test name="fragment_layer_cubemap" />
-<Test name="render_with_default_layer_2d_multisample_array" />
-<Test name="render_to_one_2d_multisample_array" />
-<Test name="render_with_default_layer_cubemap" />
-<Test name="layer_provoking_vertex_2d_array" />
-<Test name="render_to_one_2d_array" />
-<Test name="fragment_layer_2d_multisample_array" />
-<Test name="render_with_default_layer_2d_array" />
-<Test name="render_with_default_layer_3d" />
-<Test name="render_different_to_cubemap" />
-<Test name="render_to_one_3d" />
-<Test name="fragment_layer_3d" />
-<Test name="render_different_to_2d_multisample_array" />
-<Test name="fragment_layer_2d_array" />
-<Test name="render_different_to_2d_array" />
-<Test name="render_to_all_3d" />
-<Test name="layer_provoking_vertex_2d_multisample_array" />
-<Test name="render_to_all_2d_array" />
-<Test name="layer_provoking_vertex_3d" />
+<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="query">
-<Test name="geometry_linked_vertices_out" />
-<Test name="max_geometry_output_components" />
-<Test name="max_geometry_shader_invocations" />
-<Test name="max_geometry_total_output_components" />
-<Test name="layer_provoking_vertex" />
-<Test name="primitives_generated_no_amplification" />
-<Test name="max_geometry_image_uniforms" />
-<Test name="primitives_generated_partial_primitives" />
-<Test name="framebuffer_attachment_layered" />
-<Test name="primitives_generated_amplification" />
-<Test name="max_geometry_input_components" />
-<Test name="framebuffer_incomplete_layer_targets" />
-<Test name="max_geometry_uniform_blocks" />
-<Test name="primitives_generated_instanced" />
-<Test name="referenced_by_geometry_shader" />
-<Test name="primitives_generated_no_geometry" />
-<Test name="max_geometry_shader_storage_blocks" />
-<Test name="max_framebuffer_layers" />
-<Test name="max_geometry_output_vertices" />
-<Test name="geometry_shader_invocations" />
-<Test name="geometry_linked_input_type" />
-<Test name="max_geometry_texture_image_units" />
-<Test name="max_geometry_uniform_components" />
-<Test name="geometry_linked_output_type" />
-<Test name="framebuffer_default_layers" />
-</TestCase>
-<TestCase name="basic">
-<Test name="output_vary_by_texture" />
-<Test name="output_100_and_10" />
-<Test name="point_size" />
-<Test name="output_256" />
-<Test name="output_0_and_128" />
-<Test name="output_vary_by_attribute" />
-<Test name="output_max" />
-<Test name="primitive_id" />
-<Test name="primitive_id_in" />
-<Test name="output_128" />
-<Test name="output_vary_by_uniform" />
-<Test name="output_10_and_100" />
-<Test name="output_10" />
-<Test name="output_128_and_0" />
-<Test name="primitive_id_in_restarted" />
-</TestCase>
-<TestSuite name="input">
-<TestCase name="triangle_strip_adjacency">
-<Test name="vertex_count_5" />
-<Test name="vertex_count_4" />
-<Test name="vertex_count_9" />
-<Test name="vertex_count_8" />
-<Test name="vertex_count_6" />
-<Test name="vertex_count_1" />
-<Test name="vertex_count_0" />
-<Test name="vertex_count_3" />
-<Test name="vertex_count_2" />
-<Test name="vertex_count_11" />
-<Test name="vertex_count_10" />
-<Test name="vertex_count_7" />
-<Test name="vertex_count_12" />
+<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="basic_primitive">
-<Test name="triangles_adjacency" />
-<Test name="line_strip" />
-<Test name="lines_adjacency" />
-<Test name="lines" />
-<Test name="line_loop" />
-<Test name="triangle_strip" />
-<Test name="points" />
-<Test name="triangle_fan" />
-<Test name="line_strip_adjacency" />
-<Test name="triangles" />
+<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>
-</TestSuite>
-<TestCase name="emit">
-<Test name="triangle_strip_emit_1_end_2" />
-<Test name="triangle_strip_emit_1_end_1" />
-<Test name="triangle_strip_emit_3_end_2_emit_3_end_0" />
-<Test name="points_emit_1_end_1" />
-<Test name="points_emit_1_end_2" />
-<Test name="triangle_strip_emit_3_end_1" />
-<Test name="triangle_strip_emit_3_end_2" />
-<Test name="line_strip_emit_2_end_2" />
-<Test name="triangle_strip_emit_2_end_1" />
-<Test name="triangle_strip_emit_2_end_2" />
-<Test name="line_strip_emit_2_end_1" />
-<Test name="line_strip_emit_1_end_1" />
-<Test name="line_strip_emit_1_end_2" />
-<Test name="line_strip_emit_2_end_2_emit_2_end_0" />
+<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>
-</TestSuite>
-<TestSuite name="fbo">
-<TestSuite name="color">
-<TestCase name="texcubearray">
-<Test name="rgb5_a1" />
-<Test name="rg8i" />
-<Test name="r32ui" />
-<Test name="r8ui" />
-<Test name="r16ui" />
-<Test name="srgb8_alpha8" />
-<Test name="r8i" />
-<Test name="rgba16i" />
-<Test name="rgba16f" />
-<Test name="rgba8" />
-<Test name="rgb10_a2ui" />
-<Test name="rgba4" />
-<Test name="rg8ui" />
-<Test name="r32f" />
-<Test name="r32i" />
-<Test name="rgb565" />
-<Test name="rgba32ui" />
-<Test name="r11f_g11f_b10f" />
-<Test name="rgb16f" />
-<Test name="rgba8ui" />
-<Test name="rgba16ui" />
-<Test name="rgb10_a2" />
-<Test name="rg32i" />
-<Test name="rg16i" />
-<Test name="rg16ui" />
-<Test name="r16i" />
-<Test name="rgba8i" />
-<Test name="rg32ui" />
-<Test name="rg8" />
-<Test name="r16f" />
-<Test name="r8" />
-<Test name="rgb8" />
-<Test name="rg16f" />
-<Test name="rgba32f" />
-<Test name="rgba32i" />
-<Test name="rg32f" />
-</TestCase>
-</TestSuite>
-<TestSuite name="no_attachments">
-<TestCase name="interaction">
-<Test name="127x127ms0_default_129x129ms0" />
-<Test name="256x256ms2_default_128x512ms0" />
-<Test name="2048x2048ms4_default_1x1ms0" />
-<Test name="17x512ms4_default_16x16ms2" />
-<Test name="1x1ms0_default_2048x2048ms4" />
-<Test name="256x256ms0_default_128x128ms1" />
-<Test name="256x256ms1_default_128x128ms0" />
-<Test name="256x256ms0_default_512x512ms2" />
+<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="maximums">
-<Test name="width" />
-<Test name="height" />
-<Test name="samples" />
-<Test name="size" />
+<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="random">
-<Test name="11" />
-<Test name="10" />
-<Test name="13" />
-<Test name="12" />
-<Test name="15" />
-<Test name="14" />
-<Test name="1" />
-<Test name="0" />
-<Test name="3" />
-<Test name="2" />
-<Test name="5" />
-<Test name="4" />
-<Test name="7" />
-<Test name="6" />
-<Test name="9" />
-<Test name="8" />
+<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="npot_size">
-<Test name="3x3" />
-<Test name="17x17" />
-<Test name="1023x1023" />
-<Test name="2047x1025" />
-<Test name="15x511" />
-<Test name="257x257" />
-<Test name="31x31" />
-<Test name="63x63" />
-<Test name="65x65" />
-<Test name="255x255" />
-<Test name="2047x2047" />
-<Test name="15x15" />
-<Test name="127x127" />
-<Test name="127x15" />
-<Test name="511x511" />
-<Test name="513x513" />
-<Test name="129x127" />
-<Test name="511x127" />
-<Test name="33x33" />
-<Test name="1025x1025" />
-<Test name="129x129" />
-<Test name="1x1" />
-</TestCase>
-<TestCase name="multisample">
-<Test name="samples3" />
-<Test name="samples2" />
-<Test name="samples1" />
-<Test name="samples0" />
-<Test name="samples4" />
-</TestCase>
-<TestCase name="size">
-<Test name="16x256" />
-<Test name="16x64" />
-<Test name="256x16" />
-<Test name="64x1024" />
-<Test name="1024x16" />
-<Test name="64x16" />
-<Test name="16x16" />
-<Test name="16x1024" />
-<Test name="64x64" />
-<Test name="64x256" />
-<Test name="1024x256" />
-<Test name="256x256" />
-<Test name="256x1024" />
-<Test name="256x64" />
-<Test name="1024x64" />
-<Test name="1024x1024" />
+<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>
-</TestSuite>
-<TestCase name="completeness">
-<Test name="no_attachments" />
+<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>
-<TestSuite name="state_query">
-<TestSuite name="multisample_interpolation">
-<TestCase name="fragment_interpolation_offset_bits">
-<Test name="get_integer" />
-<Test name="get_boolean" />
-<Test name="get_integer64" />
-<Test name="get_float" />
-</TestCase>
-<TestCase name="max_fragment_interpolation_offset">
-<Test name="get_integer" />
-<Test name="get_boolean" />
-<Test name="get_integer64" />
-<Test name="get_float" />
-</TestCase>
-<TestCase name="min_fragment_interpolation_offset">
-<Test name="get_integer" />
-<Test name="get_boolean" />
-<Test name="get_integer64" />
-<Test name="get_float" />
+<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>
-<TestSuite name="texture_level">
-<TestCase name="integer">
-<Test name="texture_green_type" />
-<Test name="texture_fixed_sample_locations" />
-<Test name="texture_blue_type" />
-<Test name="texture_depth" />
-<Test name="texture_red_type" />
-<Test name="texture_samples" />
-<Test name="texture_height" />
-<Test name="texture_depth_type" />
-<Test name="texture_green_size" />
-<Test name="texture_depth_size" />
-<Test name="texture_width" />
-<Test name="texture_compressed" />
-<Test name="texture_stencil_size" />
-<Test name="texture_red_size" />
-<Test name="texture_shared_size" />
-<Test name="texture_blue_size" />
-<Test name="texture_alpha_size" />
-<Test name="texture_alpha_type" />
+<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="float">
-<Test name="texture_green_type" />
-<Test name="texture_fixed_sample_locations" />
-<Test name="texture_blue_type" />
-<Test name="texture_depth" />
-<Test name="texture_red_type" />
-<Test name="texture_samples" />
-<Test name="texture_height" />
-<Test name="texture_depth_type" />
-<Test name="texture_green_size" />
-<Test name="texture_depth_size" />
-<Test name="texture_width" />
-<Test name="texture_compressed" />
-<Test name="texture_stencil_size" />
-<Test name="texture_red_size" />
-<Test name="texture_shared_size" />
-<Test name="texture_blue_size" />
-<Test name="texture_alpha_size" />
-<Test name="texture_alpha_type" />
-</TestCase>
-</TestSuite>
-<TestSuite name="internal_format">
-<TestCase name="texture_2d_multisample">
-<Test name="rgba32i_samples" />
-<Test name="rgba16i_samples" />
-<Test name="rg16ui_samples" />
-<Test name="rg32i_samples" />
-<Test name="depth_component24_samples" />
-<Test name="r32i_samples" />
-<Test name="srgb8_alpha8_samples" />
-<Test name="rg16i_samples" />
-<Test name="stencil_index8_samples" />
-<Test name="r8i_samples" />
-<Test name="r16ui_samples" />
-<Test name="rgba32ui_samples" />
-<Test name="rg8i_samples" />
-<Test name="rgb10_a2_samples" />
-<Test name="rgba8ui_samples" />
-<Test name="rg8_samples" />
-<Test name="r8_samples" />
-<Test name="rgb565_samples" />
-<Test name="rg8ui_samples" />
-<Test name="r16i_samples" />
-<Test name="rg32ui_samples" />
-<Test name="depth24_stencil8_samples" />
-<Test name="rgb10_a2ui_samples" />
-<Test name="depth_component32f_samples" />
-<Test name="depth_component16_samples" />
-<Test name="rgba4_samples" />
-<Test name="rgb8_samples" />
-<Test name="rgb5_a1_samples" />
-<Test name="rgba8i_samples" />
-<Test name="depth32f_stencil8_samples" />
-<Test name="r8ui_samples" />
-<Test name="rgba8_samples" />
-<Test name="rgba16ui_samples" />
-<Test name="r32ui_samples" />
-</TestCase>
-<TestCase name="texture_2d_multisample_array">
-<Test name="rgba32i_samples" />
-<Test name="rgba16i_samples" />
-<Test name="rg16ui_samples" />
-<Test name="rg32i_samples" />
-<Test name="depth_component24_samples" />
-<Test name="r32i_samples" />
-<Test name="srgb8_alpha8_samples" />
-<Test name="rg16i_samples" />
-<Test name="stencil_index8_samples" />
-<Test name="r8i_samples" />
-<Test name="r16ui_samples" />
-<Test name="rgba32ui_samples" />
-<Test name="rg8i_samples" />
-<Test name="rgb10_a2_samples" />
-<Test name="rgba8ui_samples" />
-<Test name="rg8_samples" />
-<Test name="r8_samples" />
-<Test name="rgb565_samples" />
-<Test name="rg8ui_samples" />
-<Test name="r16i_samples" />
-<Test name="rg32ui_samples" />
-<Test name="depth24_stencil8_samples" />
-<Test name="rgb10_a2ui_samples" />
-<Test name="depth_component32f_samples" />
-<Test name="depth_component16_samples" />
-<Test name="rgba4_samples" />
-<Test name="rgb8_samples" />
-<Test name="rgb5_a1_samples" />
-<Test name="rgba8i_samples" />
-<Test name="depth32f_stencil8_samples" />
-<Test name="r8ui_samples" />
-<Test name="rgba8_samples" />
-<Test name="rgba16ui_samples" />
-<Test name="r32ui_samples" />
-</TestCase>
-</TestSuite>
-<TestCase name="shader">
-<Test name="sampler_type" />
-</TestCase>
-<TestCase name="integer">
-<Test name="texture_binding_2d_multisample_array_getboolean" />
-<Test name="max_depth_texture_samples_getboolean" />
-<Test name="texture_binding_2d_multisample_getinteger" />
-<Test name="max_vertex_attrib_stride_getboolean" />
-<Test name="texture_binding_2d_multisample_getfloat" />
-<Test name="max_color_texture_samples_getboolean" />
-<Test name="shader_storage_buffer_offset_alignment_getinteger" />
-<Test name="texture_binding_2d_multisample_getinteger64" />
-<Test name="shader_storage_buffer_offset_alignment_getinteger64" />
-<Test name="max_integer_samples_getinteger" />
-<Test name="max_color_texture_samples_getfloat" />
-<Test name="max_vertex_attrib_bindings_getinteger64" />
-<Test name="max_vertex_attrib_relative_offset_getinteger" />
-<Test name="max_vertex_attrib_stride_getinteger" />
-<Test name="texture_binding_2d_multisample_array_getfloat" />
-<Test name="sample_mask_value" />
-<Test name="max_vertex_attrib_stride_getinteger64" />
-<Test name="max_integer_samples_getfloat" />
-<Test name="shader_storage_buffer_offset_alignment_getboolean" />
-<Test name="max_color_texture_samples_getinteger" />
-<Test name="max_depth_texture_samples_getinteger64" />
-<Test name="max_depth_texture_samples_getfloat" />
-<Test name="max_vertex_attrib_relative_offset_getfloat" />
-<Test name="max_integer_samples_getinteger64" />
-<Test name="max_vertex_attrib_relative_offset_getinteger64" />
-<Test name="max_vertex_attrib_bindings_getfloat" />
-<Test name="texture_binding_2d_multisample_array_getinteger" />
-<Test name="shader_storage_buffer_offset_alignment_getfloat" />
-<Test name="max_vertex_attrib_bindings_getboolean" />
-<Test name="max_color_texture_samples_getinteger64" />
-<Test name="max_depth_texture_samples_getinteger" />
-<Test name="max_integer_samples_getboolean" />
-<Test name="texture_binding_2d_multisample_getboolean" />
-<Test name="max_vertex_attrib_relative_offset_getboolean" />
-<Test name="texture_binding_2d_multisample_array_getinteger64" />
-<Test name="max_vertex_attrib_stride_getfloat" />
-<Test name="max_vertex_attrib_bindings_getinteger" />
-</TestCase>
-<TestSuite name="vertex_attribute_binding">
-<TestCase name="vertex_attrib">
-<Test name="vertex_attrib_relative_offset" />
-<Test name="vertex_attrib_binding" />
+<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="indexed">
-<Test name="vertex_binding_offset_mixed" />
-<Test name="vertex_binding_stride_mixed" />
-<Test name="vertex_binding_divisor_getintegeri" />
-<Test name="vertex_binding_buffer_mixed" />
-<Test name="vertex_binding_divisor_getintegeri64" />
-<Test name="vertex_binding_divisor_mixed" />
+<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>
-</TestSuite>
-</TestSuite>
-<TestSuite name="tessellation_geometry_interaction">
-<TestCase name="point_size">
-<Test name="vertex_set" />
-<Test name="vertex_set_control_set" />
-<Test name="vertex_set_eval_default" />
-<Test name="vertex_set_evaluation_set" />
-<Test name="vertex_set_geometry_set" />
-<Test name="vertex_set_evaluation_set_geometry_set" />
-<Test name="vertex_set_evaluation_set_geometry_default" />
-<Test name="geometry_set" />
-<Test name="evaluation_set" />
-<Test name="vertex_set_control_pass_eval_add_geometry_add" />
+<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="feedback">
-<Test name="record_variable_selection" />
-<Test name="tessellation_output_quads_point_mode_geometry_output_lines" />
-<Test name="tessellation_output_quads_geometry_output_points" />
-<Test name="tessellation_output_isolines_point_mode_geometry_output_triangles" />
-<Test name="tessellation_output_isolines_geometry_output_points" />
-<Test name="tessellation_output_triangles_geometry_output_points" />
-<Test name="tessellation_output_triangles_point_mode_geometry_output_lines" />
-</TestCase>
-<TestSuite name="render">
-<TestCase name="passthrough">
-<Test name="tessellate_isolines_passthrough_geometry_no_change" />
-<Test name="tessellate_quads_passthrough_geometry_no_change" />
-<Test name="passthrough_tessellation_geometry_shade_lines_no_change" />
-<Test name="tessellate_tris_passthrough_geometry_no_change" />
-<Test name="passthrough_tessellation_geometry_shade_triangles_no_change" />
-</TestCase>
-<TestCase name="scatter">
-<Test name="geometry_scatter_layers" />
-<Test name="geometry_scatter_instances" />
-<Test name="geometry_scatter_primitives" />
-</TestCase>
-<TestCase name="limits">
-<Test name="output_implementation_max_invocations" />
-<Test name="output_required_max_geometry" />
-<Test name="output_implementation_max_tessellation" />
-<Test name="output_required_max_invocations" />
-<Test name="output_implementation_max_geometry" />
-<Test name="output_required_max_tessellation" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-<TestSuite name="blend_equation_advanced">
-<TestCase name="coherent_msaa">
-<Test name="colordodge" />
-<Test name="darken" />
-<Test name="exclusion" />
-<Test name="overlay" />
-<Test name="lighten" />
-<Test name="screen" />
-<Test name="hsl_color" />
-<Test name="colorburn" />
-<Test name="hardlight" />
-<Test name="multiply" />
-<Test name="difference" />
-<Test name="hsl_hue" />
-<Test name="hsl_saturation" />
-<Test name="hsl_luminosity" />
-</TestCase>
-<TestCase name="barrier">
-<Test name="colordodge" />
-<Test name="darken" />
-<Test name="exclusion" />
-<Test name="overlay" />
-<Test name="lighten" />
-<Test name="screen" />
-<Test name="hsl_color" />
-<Test name="colorburn" />
-<Test name="hardlight" />
-<Test name="multiply" />
-<Test name="difference" />
-<Test name="hsl_hue" />
-<Test name="hsl_saturation" />
-<Test name="hsl_luminosity" />
-</TestCase>
-<TestCase name="coherent">
-<Test name="colordodge" />
-<Test name="darken" />
-<Test name="exclusion" />
-<Test name="overlay" />
-<Test name="lighten" />
-<Test name="screen" />
-<Test name="hsl_color" />
-<Test name="colorburn" />
-<Test name="hardlight" />
-<Test name="multiply" />
-<Test name="difference" />
-<Test name="hsl_hue" />
-<Test name="hsl_saturation" />
-<Test name="hsl_luminosity" />
-</TestCase>
-<TestCase name="msaa">
-<Test name="colordodge" />
-<Test name="darken" />
-<Test name="exclusion" />
-<Test name="overlay" />
-<Test name="lighten" />
-<Test name="screen" />
-<Test name="hsl_color" />
-<Test name="colorburn" />
-<Test name="hardlight" />
-<Test name="multiply" />
-<Test name="difference" />
-<Test name="hsl_hue" />
-<Test name="hsl_saturation" />
-<Test name="hsl_luminosity" />
-</TestCase>
-<TestCase name="srgb">
-<Test name="colordodge" />
-<Test name="darken" />
-<Test name="exclusion" />
-<Test name="overlay" />
-<Test name="lighten" />
-<Test name="screen" />
-<Test name="hsl_color" />
-<Test name="colorburn" />
-<Test name="hardlight" />
-<Test name="multiply" />
-<Test name="difference" />
-<Test name="hsl_hue" />
-<Test name="hsl_saturation" />
-<Test name="hsl_luminosity" />
-</TestCase>
-<TestCase name="basic">
-<Test name="colordodge" />
-<Test name="darken" />
-<Test name="exclusion" />
-<Test name="overlay" />
-<Test name="lighten" />
-<Test name="screen" />
-<Test name="hsl_color" />
-<Test name="colorburn" />
-<Test name="hardlight" />
-<Test name="multiply" />
-<Test name="difference" />
-<Test name="hsl_hue" />
-<Test name="hsl_saturation" />
-<Test name="hsl_luminosity" />
-</TestCase>
-</TestSuite>
-<TestSuite name="texture">
-<TestSuite name="filtering">
-<TestSuite name="cube_array">
-<TestCase name="combinations">
-<Test name="linear_mipmap_linear_nearest_clamp_repeat" />
-<Test name="linear_mipmap_linear_linear_mirror_mirror" />
-<Test name="nearest_mipmap_linear_linear_mirror_clamp" />
-<Test name="nearest_nearest_repeat_repeat" />
-<Test name="nearest_linear_clamp_mirror" />
-<Test name="nearest_mipmap_linear_nearest_repeat_repeat" />
-<Test name="nearest_mipmap_nearest_linear_mirror_repeat" />
-<Test name="nearest_mipmap_nearest_linear_clamp_repeat" />
-<Test name="nearest_nearest_clamp_repeat" />
-<Test name="nearest_mipmap_nearest_nearest_mirror_repeat" />
-<Test name="nearest_mipmap_nearest_linear_mirror_clamp" />
-<Test name="linear_linear_repeat_clamp" />
-<Test name="linear_linear_repeat_mirror" />
-<Test name="linear_mipmap_linear_linear_repeat_clamp" />
-<Test name="nearest_mipmap_linear_nearest_clamp_mirror" />
-<Test name="linear_mipmap_linear_nearest_mirror_repeat" />
-<Test name="linear_linear_clamp_clamp" />
-<Test name="nearest_mipmap_linear_linear_repeat_repeat" />
-<Test name="nearest_mipmap_nearest_linear_repeat_mirror" />
-<Test name="nearest_mipmap_nearest_linear_repeat_clamp" />
-<Test name="nearest_nearest_repeat_mirror" />
-<Test name="nearest_nearest_mirror_clamp" />
-<Test name="linear_mipmap_nearest_linear_mirror_mirror" />
-<Test name="nearest_nearest_mirror_repeat" />
-<Test name="nearest_linear_mirror_clamp" />
-<Test name="linear_nearest_repeat_mirror" />
-<Test name="nearest_mipmap_linear_linear_repeat_mirror" />
-<Test name="linear_nearest_repeat_repeat" />
-<Test name="nearest_mipmap_nearest_nearest_mirror_mirror" />
-<Test name="nearest_mipmap_linear_nearest_mirror_repeat" />
-<Test name="linear_mipmap_linear_nearest_clamp_clamp" />
-<Test name="linear_mipmap_nearest_nearest_mirror_clamp" />
-<Test name="nearest_linear_clamp_repeat" />
-<Test name="linear_linear_mirror_clamp" />
-<Test name="nearest_nearest_clamp_mirror" />
-<Test name="linear_mipmap_nearest_linear_mirror_repeat" />
-<Test name="nearest_mipmap_nearest_nearest_mirror_clamp" />
-<Test name="linear_mipmap_nearest_nearest_clamp_clamp" />
-<Test name="linear_nearest_mirror_clamp" />
-<Test name="nearest_mipmap_linear_nearest_clamp_clamp" />
-<Test name="linear_nearest_clamp_repeat" />
-<Test name="linear_mipmap_linear_nearest_repeat_clamp" />
-<Test name="nearest_mipmap_linear_nearest_repeat_mirror" />
-<Test name="nearest_linear_mirror_mirror" />
-<Test name="nearest_linear_repeat_repeat" />
-<Test name="nearest_mipmap_linear_linear_clamp_clamp" />
-<Test name="nearest_mipmap_nearest_nearest_clamp_repeat" />
-<Test name="nearest_linear_repeat_clamp" />
-<Test name="linear_mipmap_linear_linear_repeat_repeat" />
-<Test name="linear_mipmap_nearest_nearest_repeat_mirror" />
-<Test name="nearest_mipmap_nearest_nearest_clamp_clamp" />
-<Test name="linear_mipmap_linear_linear_repeat_mirror" />
-<Test name="nearest_nearest_repeat_clamp" />
-<Test name="nearest_mipmap_linear_linear_mirror_mirror" />
-<Test name="linear_linear_mirror_repeat" />
-<Test name="nearest_mipmap_nearest_nearest_clamp_mirror" />
-<Test name="linear_nearest_mirror_repeat" />
-<Test name="nearest_nearest_mirror_mirror" />
-<Test name="linear_mipmap_linear_linear_clamp_clamp" />
-<Test name="linear_mipmap_nearest_linear_clamp_repeat" />
-<Test name="linear_linear_mirror_mirror" />
-<Test name="linear_mipmap_nearest_nearest_clamp_mirror" />
-<Test name="linear_mipmap_nearest_linear_repeat_clamp" />
-<Test name="linear_mipmap_linear_nearest_mirror_mirror" />
-<Test name="nearest_linear_clamp_clamp" />
-<Test name="nearest_mipmap_linear_linear_clamp_repeat" />
-<Test name="nearest_nearest_clamp_clamp" />
-<Test name="nearest_mipmap_linear_nearest_mirror_mirror" />
-<Test name="linear_mipmap_linear_linear_mirror_clamp" />
-<Test name="nearest_mipmap_nearest_linear_repeat_repeat" />
-<Test name="linear_nearest_repeat_clamp" />
-<Test name="linear_mipmap_nearest_linear_repeat_repeat" />
-<Test name="linear_nearest_clamp_clamp" />
-<Test name="nearest_mipmap_nearest_linear_mirror_mirror" />
-<Test name="nearest_mipmap_linear_linear_clamp_mirror" />
-<Test name="linear_mipmap_nearest_linear_repeat_mirror" />
-<Test name="linear_mipmap_nearest_nearest_repeat_repeat" />
-<Test name="nearest_mipmap_linear_nearest_mirror_clamp" />
-<Test name="nearest_linear_repeat_mirror" />
-<Test name="linear_mipmap_nearest_nearest_mirror_repeat" />
-<Test name="nearest_mipmap_nearest_linear_clamp_clamp" />
-<Test name="nearest_mipmap_linear_linear_repeat_clamp" />
-<Test name="linear_linear_clamp_repeat" />
-<Test name="nearest_mipmap_nearest_linear_clamp_mirror" />
-<Test name="linear_mipmap_nearest_nearest_mirror_mirror" />
-<Test name="nearest_linear_mirror_repeat" />
-<Test name="linear_mipmap_nearest_linear_mirror_clamp" />
-<Test name="nearest_mipmap_linear_linear_mirror_repeat" />
-<Test name="nearest_mipmap_nearest_nearest_repeat_repeat" />
-<Test name="linear_mipmap_linear_linear_clamp_mirror" />
-<Test name="nearest_mipmap_nearest_nearest_repeat_clamp" />
-<Test name="linear_mipmap_linear_nearest_clamp_mirror" />
-<Test name="linear_mipmap_linear_nearest_repeat_repeat" />
-<Test name="linear_mipmap_linear_linear_mirror_repeat" />
-<Test name="linear_mipmap_linear_linear_clamp_repeat" />
-<Test name="nearest_mipmap_nearest_nearest_repeat_mirror" />
-<Test name="linear_mipmap_nearest_linear_clamp_mirror" />
-<Test name="nearest_mipmap_linear_nearest_clamp_repeat" />
-<Test name="linear_linear_clamp_mirror" />
-<Test name="linear_mipmap_nearest_nearest_repeat_clamp" />
-<Test name="linear_mipmap_linear_nearest_mirror_clamp" />
-<Test name="linear_nearest_clamp_mirror" />
-<Test name="linear_linear_repeat_repeat" />
-<Test name="linear_mipmap_nearest_linear_clamp_clamp" />
-<Test name="nearest_mipmap_linear_nearest_repeat_clamp" />
-<Test name="linear_mipmap_nearest_nearest_clamp_repeat" />
-<Test name="linear_nearest_mirror_mirror" />
-<Test name="linear_mipmap_linear_nearest_repeat_mirror" />
-</TestCase>
-<TestCase name="no_edges_visible">
-<Test name="nearest" />
-<Test name="linear" />
-</TestCase>
-<TestCase name="formats">
-<Test name="rgb565_linear_mipmap_linear" />
-<Test name="srgb8_alpha8_linear" />
-<Test name="rgb9_e5_linear" />
-<Test name="srgb8_alpha8_linear_mipmap_nearest" />
-<Test name="rgb10_a2_linear" />
-<Test name="rgba16f_linear" />
-<Test name="srgb8_alpha8_nearest" />
-<Test name="rgb9_e5_nearest_mipmap_nearest" />
-<Test name="rgba4_linear_mipmap_nearest" />
-<Test name="rgb5_a1_linear_mipmap_linear" />
-<Test name="rgba16f_nearest" />
-<Test name="rgba16f_linear_mipmap_linear" />
-<Test name="rgba8_snorm_nearest_mipmap_linear" />
-<Test name="rgba16f_linear_mipmap_nearest" />
-<Test name="rgb10_a2_nearest" />
-<Test name="r11f_g11f_b10f_nearest_mipmap_nearest" />
-<Test name="rgba8_snorm_linear_mipmap_linear" />
-<Test name="rgb9_e5_linear_mipmap_nearest" />
-<Test name="srgb8_alpha8_nearest_mipmap_nearest" />
-<Test name="rgba16f_nearest_mipmap_linear" />
-<Test name="rgba8_linear" />
-<Test name="rgba8_nearest_mipmap_linear" />
-<Test name="rgb565_nearest" />
-<Test name="rgba4_linear_mipmap_linear" />
-<Test name="r11f_g11f_b10f_nearest" />
-<Test name="rgb5_a1_nearest" />
-<Test name="rgba8_nearest" />
-<Test name="srgb8_alpha8_linear_mipmap_linear" />
-<Test name="rgba8_snorm_nearest_mipmap_nearest" />
-<Test name="rgb5_a1_nearest_mipmap_linear" />
-<Test name="rgba8_linear_mipmap_nearest" />
-<Test name="rgba16f_nearest_mipmap_nearest" />
-<Test name="rgb9_e5_nearest_mipmap_linear" />
-<Test name="rgb10_a2_nearest_mipmap_nearest" />
-<Test name="r11f_g11f_b10f_linear_mipmap_linear" />
-<Test name="rgba8_snorm_nearest" />
-<Test name="rgb10_a2_nearest_mipmap_linear" />
-<Test name="r11f_g11f_b10f_linear" />
-<Test name="rgba4_nearest_mipmap_nearest" />
-<Test name="r11f_g11f_b10f_nearest_mipmap_linear" />
-<Test name="rgb565_linear_mipmap_nearest" />
-<Test name="rgba8_snorm_linear" />
-<Test name="rgb9_e5_nearest" />
-<Test name="rgba4_nearest" />
-<Test name="rgba4_linear" />
-<Test name="rgba8_linear_mipmap_linear" />
-<Test name="rgb565_linear" />
-<Test name="rgba8_nearest_mipmap_nearest" />
-<Test name="rgb10_a2_linear_mipmap_nearest" />
-<Test name="rgb565_nearest_mipmap_nearest" />
-<Test name="rgba8_snorm_linear_mipmap_nearest" />
-<Test name="rgb5_a1_nearest_mipmap_nearest" />
-<Test name="rgba4_nearest_mipmap_linear" />
-<Test name="rgb5_a1_linear" />
-<Test name="rgb10_a2_linear_mipmap_linear" />
-<Test name="rgb565_nearest_mipmap_linear" />
-<Test name="rgb9_e5_linear_mipmap_linear" />
-<Test name="r11f_g11f_b10f_linear_mipmap_nearest" />
-<Test name="srgb8_alpha8_nearest_mipmap_linear" />
-<Test name="rgb5_a1_linear_mipmap_nearest" />
-</TestCase>
-<TestCase name="sizes">
-<Test name="7x7x12_linear" />
-<Test name="64x64x12_linear" />
-<Test name="64x64x12_nearest_mipmap_linear" />
-<Test name="7x7x12_nearest_mipmap_nearest" />
-<Test name="8x8x6_nearest" />
-<Test name="128x128x12_nearest_mipmap_nearest" />
-<Test name="128x128x12_linear_mipmap_linear" />
-<Test name="7x7x12_linear_mipmap_linear" />
-<Test name="64x64x12_nearest_mipmap_nearest" />
-<Test name="128x128x12_nearest" />
-<Test name="128x128x12_linear_mipmap_nearest" />
-<Test name="63x63x18_linear_mipmap_nearest" />
-<Test name="8x8x6_nearest_mipmap_linear" />
-<Test name="8x8x6_nearest_mipmap_nearest" />
-<Test name="63x63x18_nearest" />
-<Test name="63x63x18_nearest_mipmap_nearest" />
-<Test name="7x7x12_nearest_mipmap_linear" />
-<Test name="7x7x12_nearest" />
-<Test name="64x64x12_linear_mipmap_nearest" />
-<Test name="8x8x6_linear" />
-<Test name="64x64x12_linear_mipmap_linear" />
-<Test name="8x8x6_linear_mipmap_nearest" />
-<Test name="128x128x12_linear" />
-<Test name="8x8x6_linear_mipmap_linear" />
-<Test name="63x63x18_linear_mipmap_linear" />
-<Test name="63x63x18_nearest_mipmap_linear" />
-<Test name="64x64x12_nearest" />
-<Test name="7x7x12_linear_mipmap_nearest" />
-<Test name="128x128x12_nearest_mipmap_linear" />
-<Test name="63x63x18_linear" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-<TestSuite name="format">
-<TestSuite name="sized">
-<TestCase name="cube_array">
-<Test name="r8_npot" />
-<Test name="rgb8ui_pot" />
-<Test name="rg16f_npot" />
-<Test name="r32f_pot" />
-<Test name="rgba4_pot" />
-<Test name="rgb8_snorm_pot" />
-<Test name="rgba32ui_npot" />
-<Test name="rg32f_npot" />
-<Test name="rgb10_a2_npot" />
-<Test name="rgba32i_npot" />
-<Test name="rgb8i_pot" />
-<Test name="srgb8_alpha8_pot" />
-<Test name="r16i_pot" />
-<Test name="rgb32ui_pot" />
-<Test name="r32i_pot" />
-<Test name="rgba16f_npot" />
-<Test name="rgb9_e5_pot" />
-<Test name="rgb32f_pot" />
-<Test name="r8i_pot" />
-<Test name="rgb8_snorm_npot" />
-<Test name="rgba16ui_pot" />
-<Test name="rg8_pot" />
-<Test name="rgba8i_npot" />
-<Test name="r8ui_pot" />
-<Test name="depth_component32f_npot" />
-<Test name="depth_component24_npot" />
-<Test name="r11f_g11f_b10f_pot" />
-<Test name="rgb8i_npot" />
-<Test name="depth32f_stencil8_pot" />
-<Test name="depth_component16_npot" />
-<Test name="rgba16i_pot" />
-<Test name="rgba32i_pot" />
-<Test name="r32f_npot" />
-<Test name="rgba32ui_pot" />
-<Test name="rgb16f_pot" />
-<Test name="r8_pot" />
-<Test name="r16ui_npot" />
-<Test name="rg8_npot" />
-<Test name="r8i_npot" />
-<Test name="rgb32i_pot" />
-<Test name="rgb32i_npot" />
-<Test name="rg8i_pot" />
-<Test name="rg32i_pot" />
-<Test name="rg32ui_npot" />
-<Test name="depth_component32f_pot" />
-<Test name="rg32ui_pot" />
-<Test name="rgba16ui_npot" />
-<Test name="rg8_snorm_npot" />
-<Test name="srgb8_pot" />
-<Test name="rgb16ui_pot" />
-<Test name="rgb16i_pot" />
-<Test name="r16f_pot" />
-<Test name="rgba4_npot" />
-<Test name="rgb8_pot" />
-<Test name="rg16ui_npot" />
-<Test name="rgba8_snorm_pot" />
-<Test name="r32i_npot" />
-<Test name="rgb10_a2ui_pot" />
-<Test name="r16f_npot" />
-<Test name="r11f_g11f_b10f_npot" />
-<Test name="rg8ui_npot" />
-<Test name="rgb9_e5_npot" />
-<Test name="depth_component24_pot" />
-<Test name="rgba16f_pot" />
-<Test name="rgb10_a2ui_npot" />
-<Test name="rgba8ui_pot" />
-<Test name="rg32i_npot" />
-<Test name="r8_snorm_pot" />
-<Test name="r16i_npot" />
-<Test name="rgb32ui_npot" />
-<Test name="r32ui_pot" />
-<Test name="r8_snorm_npot" />
-<Test name="srgb8_alpha8_npot" />
-<Test name="depth24_stencil8_npot" />
-<Test name="rgba8_pot" />
-<Test name="rgb565_pot" />
-<Test name="rgba32f_pot" />
-<Test name="rgb16i_npot" />
-<Test name="depth_component16_pot" />
-<Test name="rgb16ui_npot" />
-<Test name="depth32f_stencil8_npot" />
-<Test name="rgba32f_npot" />
-<Test name="rgba16i_npot" />
-<Test name="r8ui_npot" />
-<Test name="srgb8_npot" />
-<Test name="rg8ui_pot" />
-<Test name="rgb16f_npot" />
-<Test name="rg8_snorm_pot" />
-<Test name="rgb32f_npot" />
-<Test name="rg16i_pot" />
-<Test name="rg16ui_pot" />
-<Test name="rgb5_a1_npot" />
-<Test name="rgb10_a2_pot" />
-<Test name="depth24_stencil8_pot" />
-<Test name="rg32f_pot" />
-<Test name="rg16i_npot" />
-<Test name="r32ui_npot" />
-<Test name="rgba8_npot" />
-<Test name="rgba8ui_npot" />
-<Test name="rgb5_a1_pot" />
-<Test name="rg8i_npot" />
-<Test name="rgb565_npot" />
-<Test name="rgb8ui_npot" />
-<Test name="rg16f_pot" />
-<Test name="rgba8i_pot" />
-<Test name="rgba8_snorm_npot" />
-<Test name="r16ui_pot" />
-<Test name="rgb8_npot" />
-</TestCase>
-</TestSuite>
-<TestCase name="unsized">
-<Test name="rgba_unsigned_byte_cube_array_pot" />
-<Test name="rgba_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="rgb_unsigned_short_5_6_5_cube_array_pot" />
-<Test name="alpha_cube_array_pot" />
-<Test name="rgba_unsigned_short_5_5_5_1_cube_array_pot" />
-<Test name="luminance_cube_array_npot" />
-<Test name="rgb_unsigned_short_5_6_5_cube_array_npot" />
-<Test name="luminance_cube_array_pot" />
-<Test name="rgba_unsigned_short_5_5_5_1_cube_array_npot" />
-<Test name="luminance_alpha_cube_array_pot" />
-<Test name="rgb_unsigned_byte_cube_array_npot" />
-<Test name="alpha_cube_array_npot" />
-<Test name="rgb_unsigned_byte_cube_array_pot" />
-<Test name="luminance_alpha_cube_array_npot" />
-</TestCase>
-<TestCase name="buffer">
-<Test name="rg8ui_pot" />
-<Test name="r8_npot" />
-<Test name="rg16f_npot" />
-<Test name="r32f_pot" />
-<Test name="rgba16f_pot" />
-<Test name="rgba32ui_npot" />
-<Test name="r32f_npot" />
-<Test name="rgba8ui_pot" />
-<Test name="rgba32i_npot" />
-<Test name="rg32i_npot" />
-<Test name="rg16i_pot" />
-<Test name="rg32i_pot" />
-<Test name="r8i_npot" />
-<Test name="rg16ui_pot" />
-<Test name="r16i_npot" />
-<Test name="rg32ui_npot" />
-<Test name="r16i_pot" />
-<Test name="rgba32f_pot" />
-<Test name="rg32ui_pot" />
-<Test name="rg8i_pot" />
-<Test name="r32i_pot" />
-<Test name="rgba16f_npot" />
-<Test name="rg8_npot" />
-<Test name="rgba16ui_npot" />
-<Test name="rg32f_pot" />
-<Test name="r8i_pot" />
-<Test name="rgba8_pot" />
-<Test name="rgba16ui_pot" />
-<Test name="r16ui_npot" />
-<Test name="rg8_pot" />
-<Test name="r32ui_npot" />
-<Test name="rgba8i_npot" />
-<Test name="rg16i_npot" />
-<Test name="r16f_pot" />
-<Test name="rgba8_npot" />
-<Test name="r8ui_pot" />
-<Test name="r16ui_pot" />
-<Test name="rg16ui_npot" />
-<Test name="rgba32f_npot" />
-<Test name="rg8i_npot" />
-<Test name="r32i_npot" />
-<Test name="rgba16i_npot" />
-<Test name="r8ui_npot" />
-<Test name="rgba16i_pot" />
-<Test name="r16f_npot" />
-<Test name="rgba32i_pot" />
-<Test name="rg32f_npot" />
-<Test name="rgba32ui_pot" />
-<Test name="rg16f_pot" />
-<Test name="r8_pot" />
-<Test name="rgba8i_pot" />
-<Test name="rgba8ui_npot" />
-<Test name="r32ui_pot" />
-<Test name="rg8ui_npot" />
-</TestCase>
-</TestSuite>
-<TestSuite name="specification">
-<TestCase name="texsubimage3d_depth">
-<Test name="depth24_stencil8_cube_array" />
-<Test name="depth32f_stencil8_cube_array" />
-<Test name="depth_component16_cube_array" />
-<Test name="depth_component24_cube_array" />
-<Test name="depth_component32f_cube_array" />
-</TestCase>
-<TestSuite name="texstorage3d">
-<TestCase name="format">
-<Test name="rgb10_a2_cube_array" />
-<Test name="rgb8_snorm_cube_array" />
-<Test name="rgb32f_cube_array" />
-<Test name="rgba16ui_cube_array" />
-<Test name="depth_component32f_cube_array" />
-<Test name="srgb8_alpha8_cube_array" />
-<Test name="rgba8_cube_array" />
-<Test name="rg32f_cube_array" />
-<Test name="r32f_cube_array" />
-<Test name="rgba16i_cube_array" />
-<Test name="rgb16i_cube_array" />
-<Test name="r32i_cube_array" />
-<Test name="rgb8_cube_array" />
-<Test name="rg16i_cube_array" />
-<Test name="rgb8ui_cube_array" />
-<Test name="rg8ui_cube_array" />
-<Test name="rgba32ui_cube_array" />
-<Test name="rgb10_a2ui_cube_array" />
-<Test name="r16f_cube_array" />
-<Test name="r8_snorm_cube_array" />
-<Test name="rg32i_cube_array" />
-<Test name="r8ui_cube_array" />
-<Test name="rgba8i_cube_array" />
-<Test name="rgb565_cube_array" />
-<Test name="depth_component16_cube_array" />
-<Test name="r16ui_cube_array" />
-<Test name="rgba4_cube_array" />
-<Test name="rgba8ui_cube_array" />
-<Test name="r11f_g11f_b10f_cube_array" />
-<Test name="r16i_cube_array" />
-<Test name="rgb32ui_cube_array" />
-<Test name="r8_cube_array" />
-<Test name="rg32ui_cube_array" />
-<Test name="rg16f_cube_array" />
-<Test name="rgb16f_cube_array" />
-<Test name="r8i_cube_array" />
-<Test name="rg8_cube_array" />
-<Test name="srgb8_cube_array" />
-<Test name="rgba16f_cube_array" />
-<Test name="rgba32i_cube_array" />
-<Test name="rg16ui_cube_array" />
-<Test name="r32ui_cube_array" />
-<Test name="rg8i_cube_array" />
-<Test name="rgb16ui_cube_array" />
-<Test name="depth32f_stencil8_cube_array" />
-<Test name="depth24_stencil8_cube_array" />
-<Test name="rgba8_snorm_cube_array" />
-<Test name="rgb32i_cube_array" />
-<Test name="rgba32f_cube_array" />
-<Test name="rg8_snorm_cube_array" />
-<Test name="rgb9_e5_cube_array" />
-<Test name="rgb8i_cube_array" />
-<Test name="rgb5_a1_cube_array" />
-<Test name="depth_component24_cube_array" />
-</TestCase>
-<TestCase name="size">
-<Test name="cube_array_57x57x12_2_levels" />
-<Test name="cube_array_32x32x6_3_levels" />
-<Test name="cube_array_57x57x12_6_levels" />
-<Test name="cube_array_1x1x6_1_levels" />
-<Test name="cube_array_57x57x12_1_levels" />
-<Test name="cube_array_64x64x6_4_levels" />
-<Test name="cube_array_2x2x6_2_levels" />
-</TestCase>
-</TestSuite>
-<TestCase name="basic_teximage3d">
-<Test name="rgba16f_cube_array" />
-<Test name="rgb8_snorm_cube_array" />
-<Test name="rgb32f_cube_array" />
-<Test name="rgba16ui_cube_array" />
-<Test name="rgb10_a2_cube_array" />
-<Test name="srgb8_alpha8_cube_array" />
-<Test name="rgba8_cube_array" />
-<Test name="rg32f_cube_array" />
-<Test name="r32f_cube_array" />
-<Test name="rgba16i_cube_array" />
-<Test name="rgb16i_cube_array" />
-<Test name="r32i_cube_array" />
-<Test name="rgb8_cube_array" />
-<Test name="rg16i_cube_array" />
-<Test name="rgb8ui_cube_array" />
-<Test name="rg8ui_cube_array" />
-<Test name="rgba32ui_cube_array" />
-<Test name="rgb10_a2ui_cube_array" />
-<Test name="rgba8ui_cube_array" />
-<Test name="r8_snorm_cube_array" />
-<Test name="rg32i_cube_array" />
-<Test name="r8ui_cube_array" />
-<Test name="rgba8i_cube_array" />
-<Test name="rgb565_cube_array" />
-<Test name="r16ui_cube_array" />
-<Test name="rgba4_cube_array" />
-<Test name="r11f_g11f_b10f_cube_array" />
-<Test name="r16i_cube_array" />
-<Test name="rgb32ui_cube_array" />
-<Test name="r8_cube_array" />
-<Test name="rg32ui_cube_array" />
-<Test name="rg16f_cube_array" />
-<Test name="rgb16f_cube_array" />
-<Test name="r8i_cube_array" />
-<Test name="rg8_cube_array" />
-<Test name="srgb8_cube_array" />
-<Test name="r16f_cube_array" />
-<Test name="rgba32i_cube_array" />
-<Test name="rg16ui_cube_array" />
-<Test name="r32ui_cube_array" />
-<Test name="rg8i_cube_array" />
-<Test name="rgb16ui_cube_array" />
-<Test name="rgba8_snorm_cube_array" />
-<Test name="rgb32i_cube_array" />
-<Test name="rgba32f_cube_array" />
-<Test name="rg8_snorm_cube_array" />
-<Test name="rgb9_e5_cube_array" />
-<Test name="rgb8i_cube_array" />
-<Test name="rgb5_a1_cube_array" />
-</TestCase>
-<TestCase name="texsubimage3d_pbo">
-<Test name="rgba16f_cube_array" />
-<Test name="rgb8_snorm_cube_array" />
-<Test name="rgb32f_cube_array" />
-<Test name="rgba16ui_cube_array" />
-<Test name="rgb10_a2_cube_array" />
-<Test name="srgb8_alpha8_cube_array" />
-<Test name="rgba8_cube_array" />
-<Test name="rg32f_cube_array" />
-<Test name="r32f_cube_array" />
-<Test name="rgba16i_cube_array" />
-<Test name="rgb8_cube_array" />
-<Test name="r32i_cube_array" />
-<Test name="rgb8_offset_cube_array" />
-<Test name="rg16i_cube_array" />
-<Test name="rgb8ui_cube_array" />
-<Test name="rg8ui_cube_array" />
-<Test name="rgb8_skip_pixels_cube_array" />
-<Test name="rgba32ui_cube_array" />
-<Test name="rgb10_a2ui_cube_array" />
-<Test name="rgba8ui_cube_array" />
-<Test name="r8_snorm_cube_array" />
-<Test name="r8i_cube_array" />
-<Test name="rg32i_cube_array" />
-<Test name="r8ui_cube_array" />
-<Test name="rgba8i_cube_array" />
-<Test name="rgb565_cube_array" />
-<Test name="r16ui_cube_array" />
-<Test name="rgba4_cube_array" />
-<Test name="rgb8_skip_images_cube_array" />
-<Test name="r16i_cube_array" />
-<Test name="r11f_g11f_b10f_cube_array" />
-<Test name="rgb32ui_cube_array" />
-<Test name="r8_cube_array" />
-<Test name="rg32ui_cube_array" />
-<Test name="rg16f_cube_array" />
-<Test name="rgb16f_cube_array" />
-<Test name="rgb16i_cube_array" />
-<Test name="rg8_cube_array" />
-<Test name="srgb8_cube_array" />
-<Test name="rgb8_row_length_cube_array" />
-<Test name="r16f_cube_array" />
-<Test name="rgba32i_cube_array" />
-<Test name="rg16ui_cube_array" />
-<Test name="r32ui_cube_array" />
-<Test name="rg8i_cube_array" />
-<Test name="rgb16ui_cube_array" />
-<Test name="rgb8_image_height_cube_array" />
-<Test name="rgba8_snorm_cube_array" />
-<Test name="rgb32i_cube_array" />
-<Test name="rgba32f_cube_array" />
-<Test name="rgb8_skip_rows_cube_array" />
-<Test name="rg8_snorm_cube_array" />
-<Test name="rgb9_e5_cube_array" />
-<Test name="rgb8i_cube_array" />
-<Test name="rgb5_a1_cube_array" />
-</TestCase>
-<TestCase name="teximage3d_depth">
-<Test name="depth24_stencil8_cube_array" />
-<Test name="depth32f_stencil8_cube_array" />
-<Test name="depth_component16_cube_array" />
-<Test name="depth_component24_cube_array" />
-<Test name="depth_component32f_cube_array" />
-</TestCase>
-<TestCase name="teximage3d_depth_pbo">
-<Test name="depth24_stencil8_cube_array" />
-<Test name="depth32f_stencil8_cube_array" />
-<Test name="depth_component16_cube_array" />
-<Test name="depth_component24_cube_array" />
-<Test name="depth_component32f_cube_array" />
-</TestCase>
-<TestCase name="teximage3d_pbo">
-<Test name="rgba16f_cube_array" />
-<Test name="rgb8_snorm_cube_array" />
-<Test name="rgb32f_cube_array" />
-<Test name="rgba16ui_cube_array" />
-<Test name="rgb10_a2_cube_array" />
-<Test name="srgb8_alpha8_cube_array" />
-<Test name="rgba8_cube_array" />
-<Test name="rg32f_cube_array" />
-<Test name="r32f_cube_array" />
-<Test name="rgba16i_cube_array" />
-<Test name="rgb8_cube_array" />
-<Test name="r32i_cube_array" />
-<Test name="rgb8_offset_cube_array" />
-<Test name="rg16i_cube_array" />
-<Test name="rgb8ui_cube_array" />
-<Test name="rg8ui_cube_array" />
-<Test name="rgb8_skip_pixels_cube_array" />
-<Test name="rgba32ui_cube_array" />
-<Test name="rgb10_a2ui_cube_array" />
-<Test name="rgba8ui_cube_array" />
-<Test name="r8_snorm_cube_array" />
-<Test name="r8i_cube_array" />
-<Test name="rg32i_cube_array" />
-<Test name="r8ui_cube_array" />
-<Test name="rgba8i_cube_array" />
-<Test name="rgb565_cube_array" />
-<Test name="rgb8_alignment_cube_array" />
-<Test name="r16ui_cube_array" />
-<Test name="rgba4_cube_array" />
-<Test name="rgb8_skip_images_cube_array" />
-<Test name="r16i_cube_array" />
-<Test name="r11f_g11f_b10f_cube_array" />
-<Test name="rgb32ui_cube_array" />
-<Test name="r8_cube_array" />
-<Test name="rg32ui_cube_array" />
-<Test name="rg16f_cube_array" />
-<Test name="rgb16f_cube_array" />
-<Test name="rgb16i_cube_array" />
-<Test name="rg8_cube_array" />
-<Test name="srgb8_cube_array" />
-<Test name="rgb8_row_length_cube_array" />
-<Test name="r16f_cube_array" />
-<Test name="rgba32i_cube_array" />
-<Test name="rg16ui_cube_array" />
-<Test name="r32ui_cube_array" />
-<Test name="rg8i_cube_array" />
-<Test name="rgb16ui_cube_array" />
-<Test name="rgb8_image_height_cube_array" />
-<Test name="rgba8_snorm_cube_array" />
-<Test name="rgb32i_cube_array" />
-<Test name="rgba32f_cube_array" />
-<Test name="rgb8_skip_rows_cube_array" />
-<Test name="rg8_snorm_cube_array" />
-<Test name="rgb9_e5_cube_array" />
-<Test name="rgb8i_cube_array" />
-<Test name="rgb5_a1_cube_array" />
-</TestCase>
-</TestSuite>
-<TestSuite name="gather">
-<TestSuite name="basic">
-<TestSuite name="2d">
-<TestSuite name="rgba8ui">
-<TestCase name="texture_swizzle">
-<Test name="zero_one_red_green" />
-<Test name="alpha_zero_one_red" />
-<Test name="green_blue_alpha_zero" />
-<Test name="blue_alpha_zero_one" />
-<Test name="one_red_green_blue" />
-</TestCase>
-<TestCase name="filter_mode">
-<Test name="min_nearest_mipmap_nearest_mag_nearest" />
-</TestCase>
-<TestCase name="size_npot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="base_level">
-<Test name="level_1" />
-<Test name="level_2" />
-</TestCase>
-<TestCase name="size_pot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="rgba8">
-<TestCase name="texture_swizzle">
-<Test name="zero_one_red_green" />
-<Test name="alpha_zero_one_red" />
-<Test name="green_blue_alpha_zero" />
-<Test name="blue_alpha_zero_one" />
-<Test name="one_red_green_blue" />
-</TestCase>
-<TestCase name="size_npot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="base_level">
-<Test name="level_1" />
-<Test name="level_2" />
-</TestCase>
-<TestCase name="filter_mode">
-<Test name="min_linear_mipmap_nearest_mag_linear" />
-<Test name="min_nearest_mipmap_linear_mag_linear" />
-<Test name="min_linear_mipmap_linear_mag_linear" />
-<Test name="min_linear_mag_linear" />
-<Test name="min_nearest_mipmap_nearest_mag_linear" />
-</TestCase>
-<TestCase name="incomplete">
-<Test name="mipmap_incomplete" />
-</TestCase>
-<TestCase name="size_pot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="rgba8i">
-<TestCase name="texture_swizzle">
-<Test name="zero_one_red_green" />
-<Test name="alpha_zero_one_red" />
-<Test name="green_blue_alpha_zero" />
-<Test name="blue_alpha_zero_one" />
-<Test name="one_red_green_blue" />
-</TestCase>
-<TestCase name="filter_mode">
-<Test name="min_nearest_mipmap_nearest_mag_nearest" />
-</TestCase>
-<TestCase name="size_npot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="base_level">
-<Test name="level_1" />
-<Test name="level_2" />
-</TestCase>
-<TestCase name="size_pot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="depth32f">
-<TestCase name="filter_mode">
-<Test name="min_linear_mipmap_nearest_mag_linear" />
-<Test name="min_nearest_mipmap_linear_mag_linear" />
-<Test name="min_linear_mipmap_linear_mag_linear" />
-<Test name="min_linear_mag_linear" />
-<Test name="min_nearest_mipmap_nearest_mag_linear" />
-</TestCase>
-<TestSuite name="size_npot">
-<TestCase name="compare_greater">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="compare_less">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestCase name="base_level">
-<Test name="level_1" />
-<Test name="level_2" />
-</TestCase>
-<TestSuite name="size_pot">
-<TestCase name="compare_greater">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="compare_less">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-</TestSuite>
-<TestSuite name="2d_array">
-<TestSuite name="rgba8ui">
-<TestCase name="texture_swizzle">
-<Test name="zero_one_red_green" />
-<Test name="alpha_zero_one_red" />
-<Test name="green_blue_alpha_zero" />
-<Test name="blue_alpha_zero_one" />
-<Test name="one_red_green_blue" />
-</TestCase>
-<TestCase name="filter_mode">
-<Test name="min_nearest_mipmap_nearest_mag_nearest" />
-</TestCase>
-<TestCase name="size_npot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="base_level">
-<Test name="level_1" />
-<Test name="level_2" />
-</TestCase>
-<TestCase name="size_pot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="rgba8">
-<TestCase name="texture_swizzle">
-<Test name="zero_one_red_green" />
-<Test name="alpha_zero_one_red" />
-<Test name="green_blue_alpha_zero" />
-<Test name="blue_alpha_zero_one" />
-<Test name="one_red_green_blue" />
-</TestCase>
-<TestCase name="size_npot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="base_level">
-<Test name="level_1" />
-<Test name="level_2" />
-</TestCase>
-<TestCase name="filter_mode">
-<Test name="min_linear_mipmap_nearest_mag_linear" />
-<Test name="min_nearest_mipmap_linear_mag_linear" />
-<Test name="min_linear_mipmap_linear_mag_linear" />
-<Test name="min_linear_mag_linear" />
-<Test name="min_nearest_mipmap_nearest_mag_linear" />
-</TestCase>
-<TestCase name="incomplete">
-<Test name="mipmap_incomplete" />
-</TestCase>
-<TestCase name="size_pot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="rgba8i">
-<TestCase name="texture_swizzle">
-<Test name="zero_one_red_green" />
-<Test name="alpha_zero_one_red" />
-<Test name="green_blue_alpha_zero" />
-<Test name="blue_alpha_zero_one" />
-<Test name="one_red_green_blue" />
-</TestCase>
-<TestCase name="filter_mode">
-<Test name="min_nearest_mipmap_nearest_mag_nearest" />
-</TestCase>
-<TestCase name="size_npot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="base_level">
-<Test name="level_1" />
-<Test name="level_2" />
-</TestCase>
-<TestCase name="size_pot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="depth32f">
-<TestCase name="filter_mode">
-<Test name="min_linear_mipmap_nearest_mag_linear" />
-<Test name="min_nearest_mipmap_linear_mag_linear" />
-<Test name="min_linear_mipmap_linear_mag_linear" />
-<Test name="min_linear_mag_linear" />
-<Test name="min_nearest_mipmap_nearest_mag_linear" />
-</TestCase>
-<TestSuite name="size_npot">
-<TestCase name="compare_greater">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="compare_less">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestCase name="base_level">
-<Test name="level_1" />
-<Test name="level_2" />
-</TestCase>
-<TestSuite name="size_pot">
-<TestCase name="compare_greater">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="compare_less">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-</TestSuite>
-<TestSuite name="cube">
-<TestSuite name="rgba8ui">
-<TestCase name="texture_swizzle">
-<Test name="zero_one_red_green" />
-<Test name="alpha_zero_one_red" />
-<Test name="green_blue_alpha_zero" />
-<Test name="blue_alpha_zero_one" />
-<Test name="one_red_green_blue" />
-</TestCase>
-<TestCase name="filter_mode">
-<Test name="min_nearest_mipmap_nearest_mag_nearest" />
-</TestCase>
-<TestCase name="size_npot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="base_level">
-<Test name="level_1" />
-<Test name="level_2" />
-</TestCase>
-<TestCase name="size_pot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="rgba8">
-<TestCase name="texture_swizzle">
-<Test name="zero_one_red_green" />
-<Test name="alpha_zero_one_red" />
-<Test name="green_blue_alpha_zero" />
-<Test name="blue_alpha_zero_one" />
-<Test name="one_red_green_blue" />
-</TestCase>
-<TestCase name="filter_mode">
-<Test name="min_linear_mipmap_nearest_mag_linear" />
-<Test name="min_nearest_mipmap_linear_mag_linear" />
-<Test name="min_linear_mipmap_linear_mag_linear" />
-<Test name="min_linear_mag_linear" />
-<Test name="min_nearest_mipmap_nearest_mag_linear" />
-</TestCase>
-<TestCase name="size_npot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="base_level">
-<Test name="level_1" />
-<Test name="level_2" />
-</TestCase>
-<TestCase name="size_pot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="rgba8i">
-<TestCase name="texture_swizzle">
-<Test name="zero_one_red_green" />
-<Test name="alpha_zero_one_red" />
-<Test name="green_blue_alpha_zero" />
-<Test name="blue_alpha_zero_one" />
-<Test name="one_red_green_blue" />
-</TestCase>
-<TestCase name="filter_mode">
-<Test name="min_nearest_mipmap_nearest_mag_nearest" />
-</TestCase>
-<TestCase name="size_npot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="base_level">
-<Test name="level_1" />
-<Test name="level_2" />
-</TestCase>
-<TestCase name="size_pot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="depth32f">
-<TestCase name="filter_mode">
-<Test name="min_linear_mipmap_nearest_mag_linear" />
-<Test name="min_nearest_mipmap_linear_mag_linear" />
-<Test name="min_linear_mipmap_linear_mag_linear" />
-<Test name="min_linear_mag_linear" />
-<Test name="min_nearest_mipmap_nearest_mag_linear" />
-</TestCase>
-<TestSuite name="size_npot">
-<TestCase name="compare_greater">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="compare_less">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestCase name="base_level">
-<Test name="level_1" />
-<Test name="level_2" />
-</TestCase>
-<TestSuite name="size_pot">
-<TestCase name="compare_greater">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="compare_less">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-</TestSuite>
-</TestSuite>
-<TestSuite name="offset_dynamic">
-<TestSuite name="min_required_offset">
-<TestSuite name="2d">
-<TestSuite name="rgba8ui">
-<TestCase name="size_npot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="size_pot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="rgba8">
-<TestCase name="size_npot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="size_pot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="rgba8i">
-<TestCase name="size_npot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="size_pot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="depth32f">
-<TestSuite name="size_npot">
-<TestCase name="compare_greater">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="compare_less">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="size_pot">
-<TestCase name="compare_greater">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="compare_less">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-</TestSuite>
-<TestSuite name="2d_array">
-<TestSuite name="rgba8ui">
-<TestCase name="size_npot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="size_pot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="rgba8">
-<TestCase name="size_npot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="size_pot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="rgba8i">
-<TestCase name="size_npot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="size_pot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="depth32f">
-<TestSuite name="size_npot">
-<TestCase name="compare_greater">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="compare_less">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="size_pot">
-<TestCase name="compare_greater">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="compare_less">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-</TestSuite>
-</TestSuite>
-<TestSuite name="implementation_offset">
-<TestSuite name="2d">
-<TestSuite name="rgba8ui">
-<TestCase name="texture_swizzle">
-<Test name="zero_one_red_green" />
-<Test name="alpha_zero_one_red" />
-<Test name="green_blue_alpha_zero" />
-<Test name="blue_alpha_zero_one" />
-<Test name="one_red_green_blue" />
-</TestCase>
-<TestCase name="filter_mode">
-<Test name="min_nearest_mipmap_nearest_mag_nearest" />
-</TestCase>
-<TestCase name="size_npot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="base_level">
-<Test name="level_1" />
-<Test name="level_2" />
-</TestCase>
-<TestCase name="size_pot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="rgba8">
-<TestCase name="texture_swizzle">
-<Test name="zero_one_red_green" />
-<Test name="alpha_zero_one_red" />
-<Test name="green_blue_alpha_zero" />
-<Test name="blue_alpha_zero_one" />
-<Test name="one_red_green_blue" />
-</TestCase>
-<TestCase name="size_npot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="base_level">
-<Test name="level_1" />
-<Test name="level_2" />
-</TestCase>
-<TestCase name="filter_mode">
-<Test name="min_linear_mipmap_nearest_mag_linear" />
-<Test name="min_nearest_mipmap_linear_mag_linear" />
-<Test name="min_linear_mipmap_linear_mag_linear" />
-<Test name="min_linear_mag_linear" />
-<Test name="min_nearest_mipmap_nearest_mag_linear" />
-</TestCase>
-<TestCase name="incomplete">
-<Test name="mipmap_incomplete" />
-</TestCase>
-<TestCase name="size_pot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="rgba8i">
-<TestCase name="texture_swizzle">
-<Test name="zero_one_red_green" />
-<Test name="alpha_zero_one_red" />
-<Test name="green_blue_alpha_zero" />
-<Test name="blue_alpha_zero_one" />
-<Test name="one_red_green_blue" />
-</TestCase>
-<TestCase name="filter_mode">
-<Test name="min_nearest_mipmap_nearest_mag_nearest" />
-</TestCase>
-<TestCase name="size_npot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="base_level">
-<Test name="level_1" />
-<Test name="level_2" />
-</TestCase>
-<TestCase name="size_pot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="depth32f">
-<TestCase name="filter_mode">
-<Test name="min_linear_mipmap_nearest_mag_linear" />
-<Test name="min_nearest_mipmap_linear_mag_linear" />
-<Test name="min_linear_mipmap_linear_mag_linear" />
-<Test name="min_linear_mag_linear" />
-<Test name="min_nearest_mipmap_nearest_mag_linear" />
-</TestCase>
-<TestSuite name="size_npot">
-<TestCase name="compare_greater">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="compare_less">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestCase name="base_level">
-<Test name="level_1" />
-<Test name="level_2" />
-</TestCase>
-<TestSuite name="size_pot">
-<TestCase name="compare_greater">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="compare_less">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-</TestSuite>
-<TestSuite name="2d_array">
-<TestSuite name="rgba8ui">
-<TestCase name="texture_swizzle">
-<Test name="zero_one_red_green" />
-<Test name="alpha_zero_one_red" />
-<Test name="green_blue_alpha_zero" />
-<Test name="blue_alpha_zero_one" />
-<Test name="one_red_green_blue" />
-</TestCase>
-<TestCase name="filter_mode">
-<Test name="min_nearest_mipmap_nearest_mag_nearest" />
-</TestCase>
-<TestCase name="size_npot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="base_level">
-<Test name="level_1" />
-<Test name="level_2" />
-</TestCase>
-<TestCase name="size_pot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="rgba8">
-<TestCase name="texture_swizzle">
-<Test name="zero_one_red_green" />
-<Test name="alpha_zero_one_red" />
-<Test name="green_blue_alpha_zero" />
-<Test name="blue_alpha_zero_one" />
-<Test name="one_red_green_blue" />
-</TestCase>
-<TestCase name="size_npot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="base_level">
-<Test name="level_1" />
-<Test name="level_2" />
-</TestCase>
-<TestCase name="filter_mode">
-<Test name="min_linear_mipmap_nearest_mag_linear" />
-<Test name="min_nearest_mipmap_linear_mag_linear" />
-<Test name="min_linear_mipmap_linear_mag_linear" />
-<Test name="min_linear_mag_linear" />
-<Test name="min_nearest_mipmap_nearest_mag_linear" />
-</TestCase>
-<TestCase name="incomplete">
-<Test name="mipmap_incomplete" />
-</TestCase>
-<TestCase name="size_pot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="rgba8i">
-<TestCase name="texture_swizzle">
-<Test name="zero_one_red_green" />
-<Test name="alpha_zero_one_red" />
-<Test name="green_blue_alpha_zero" />
-<Test name="blue_alpha_zero_one" />
-<Test name="one_red_green_blue" />
-</TestCase>
-<TestCase name="filter_mode">
-<Test name="min_nearest_mipmap_nearest_mag_nearest" />
-</TestCase>
-<TestCase name="size_npot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="base_level">
-<Test name="level_1" />
-<Test name="level_2" />
-</TestCase>
-<TestCase name="size_pot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="depth32f">
-<TestCase name="filter_mode">
-<Test name="min_linear_mipmap_nearest_mag_linear" />
-<Test name="min_nearest_mipmap_linear_mag_linear" />
-<Test name="min_linear_mipmap_linear_mag_linear" />
-<Test name="min_linear_mag_linear" />
-<Test name="min_nearest_mipmap_nearest_mag_linear" />
-</TestCase>
-<TestSuite name="size_npot">
-<TestCase name="compare_greater">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="compare_less">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestCase name="base_level">
-<Test name="level_1" />
-<Test name="level_2" />
-</TestCase>
-<TestSuite name="size_pot">
-<TestCase name="compare_greater">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="compare_less">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-</TestSuite>
-</TestSuite>
-</TestSuite>
-<TestSuite name="offsets">
-<TestSuite name="min_required_offset">
-<TestSuite name="2d">
-<TestSuite name="rgba8ui">
-<TestCase name="size_npot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="size_pot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="rgba8">
-<TestCase name="size_npot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="size_pot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="rgba8i">
-<TestCase name="size_npot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="size_pot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="depth32f">
-<TestSuite name="size_npot">
-<TestCase name="compare_greater">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="compare_less">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="size_pot">
-<TestCase name="compare_greater">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="compare_less">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-</TestSuite>
-<TestSuite name="2d_array">
-<TestSuite name="rgba8ui">
-<TestCase name="size_npot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="size_pot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="rgba8">
-<TestCase name="size_npot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="size_pot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="rgba8i">
-<TestCase name="size_npot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="size_pot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="depth32f">
-<TestSuite name="size_npot">
-<TestCase name="compare_greater">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="compare_less">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="size_pot">
-<TestCase name="compare_greater">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="compare_less">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-</TestSuite>
-</TestSuite>
-<TestSuite name="implementation_offset">
-<TestSuite name="2d">
-<TestSuite name="rgba8ui">
-<TestCase name="texture_swizzle">
-<Test name="zero_one_red_green" />
-<Test name="alpha_zero_one_red" />
-<Test name="green_blue_alpha_zero" />
-<Test name="blue_alpha_zero_one" />
-<Test name="one_red_green_blue" />
-</TestCase>
-<TestCase name="filter_mode">
-<Test name="min_nearest_mipmap_nearest_mag_nearest" />
-</TestCase>
-<TestCase name="size_npot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="base_level">
-<Test name="level_1" />
-<Test name="level_2" />
-</TestCase>
-<TestCase name="size_pot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="rgba8">
-<TestCase name="texture_swizzle">
-<Test name="zero_one_red_green" />
-<Test name="alpha_zero_one_red" />
-<Test name="green_blue_alpha_zero" />
-<Test name="blue_alpha_zero_one" />
-<Test name="one_red_green_blue" />
-</TestCase>
-<TestCase name="size_npot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="base_level">
-<Test name="level_1" />
-<Test name="level_2" />
-</TestCase>
-<TestCase name="filter_mode">
-<Test name="min_linear_mipmap_nearest_mag_linear" />
-<Test name="min_nearest_mipmap_linear_mag_linear" />
-<Test name="min_linear_mipmap_linear_mag_linear" />
-<Test name="min_linear_mag_linear" />
-<Test name="min_nearest_mipmap_nearest_mag_linear" />
-</TestCase>
-<TestCase name="incomplete">
-<Test name="mipmap_incomplete" />
-</TestCase>
-<TestCase name="size_pot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="rgba8i">
-<TestCase name="texture_swizzle">
-<Test name="zero_one_red_green" />
-<Test name="alpha_zero_one_red" />
-<Test name="green_blue_alpha_zero" />
-<Test name="blue_alpha_zero_one" />
-<Test name="one_red_green_blue" />
-</TestCase>
-<TestCase name="filter_mode">
-<Test name="min_nearest_mipmap_nearest_mag_nearest" />
-</TestCase>
-<TestCase name="size_npot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="base_level">
-<Test name="level_1" />
-<Test name="level_2" />
-</TestCase>
-<TestCase name="size_pot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="depth32f">
-<TestCase name="filter_mode">
-<Test name="min_linear_mipmap_nearest_mag_linear" />
-<Test name="min_nearest_mipmap_linear_mag_linear" />
-<Test name="min_linear_mipmap_linear_mag_linear" />
-<Test name="min_linear_mag_linear" />
-<Test name="min_nearest_mipmap_nearest_mag_linear" />
-</TestCase>
-<TestSuite name="size_npot">
-<TestCase name="compare_greater">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="compare_less">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestCase name="base_level">
-<Test name="level_1" />
-<Test name="level_2" />
-</TestCase>
-<TestSuite name="size_pot">
-<TestCase name="compare_greater">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="compare_less">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-</TestSuite>
-<TestSuite name="2d_array">
-<TestSuite name="rgba8ui">
-<TestCase name="texture_swizzle">
-<Test name="zero_one_red_green" />
-<Test name="alpha_zero_one_red" />
-<Test name="green_blue_alpha_zero" />
-<Test name="blue_alpha_zero_one" />
-<Test name="one_red_green_blue" />
-</TestCase>
-<TestCase name="filter_mode">
-<Test name="min_nearest_mipmap_nearest_mag_nearest" />
-</TestCase>
-<TestCase name="size_npot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="base_level">
-<Test name="level_1" />
-<Test name="level_2" />
-</TestCase>
-<TestCase name="size_pot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="rgba8">
-<TestCase name="texture_swizzle">
-<Test name="zero_one_red_green" />
-<Test name="alpha_zero_one_red" />
-<Test name="green_blue_alpha_zero" />
-<Test name="blue_alpha_zero_one" />
-<Test name="one_red_green_blue" />
-</TestCase>
-<TestCase name="size_npot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="base_level">
-<Test name="level_1" />
-<Test name="level_2" />
-</TestCase>
-<TestCase name="filter_mode">
-<Test name="min_linear_mipmap_nearest_mag_linear" />
-<Test name="min_nearest_mipmap_linear_mag_linear" />
-<Test name="min_linear_mipmap_linear_mag_linear" />
-<Test name="min_linear_mag_linear" />
-<Test name="min_nearest_mipmap_nearest_mag_linear" />
-</TestCase>
-<TestCase name="incomplete">
-<Test name="mipmap_incomplete" />
-</TestCase>
-<TestCase name="size_pot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="rgba8i">
-<TestCase name="texture_swizzle">
-<Test name="zero_one_red_green" />
-<Test name="alpha_zero_one_red" />
-<Test name="green_blue_alpha_zero" />
-<Test name="blue_alpha_zero_one" />
-<Test name="one_red_green_blue" />
-</TestCase>
-<TestCase name="filter_mode">
-<Test name="min_nearest_mipmap_nearest_mag_nearest" />
-</TestCase>
-<TestCase name="size_npot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="base_level">
-<Test name="level_1" />
-<Test name="level_2" />
-</TestCase>
-<TestCase name="size_pot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="depth32f">
-<TestCase name="filter_mode">
-<Test name="min_linear_mipmap_nearest_mag_linear" />
-<Test name="min_nearest_mipmap_linear_mag_linear" />
-<Test name="min_linear_mipmap_linear_mag_linear" />
-<Test name="min_linear_mag_linear" />
-<Test name="min_nearest_mipmap_nearest_mag_linear" />
-</TestCase>
-<TestSuite name="size_npot">
-<TestCase name="compare_greater">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="compare_less">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestCase name="base_level">
-<Test name="level_1" />
-<Test name="level_2" />
-</TestCase>
-<TestSuite name="size_pot">
-<TestCase name="compare_greater">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="compare_less">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-</TestSuite>
-</TestSuite>
-</TestSuite>
-<TestSuite name="offset">
-<TestSuite name="min_required_offset">
-<TestSuite name="2d">
-<TestSuite name="rgba8ui">
-<TestCase name="size_npot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="size_pot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="rgba8">
-<TestCase name="size_npot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="size_pot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="rgba8i">
-<TestCase name="size_npot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="size_pot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="depth32f">
-<TestSuite name="size_npot">
-<TestCase name="compare_greater">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="compare_less">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="size_pot">
-<TestCase name="compare_greater">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="compare_less">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-</TestSuite>
-<TestSuite name="2d_array">
-<TestSuite name="rgba8ui">
-<TestCase name="size_npot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="size_pot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="rgba8">
-<TestCase name="size_npot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="size_pot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="rgba8i">
-<TestCase name="size_npot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="size_pot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="depth32f">
-<TestSuite name="size_npot">
-<TestCase name="compare_greater">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="compare_less">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="size_pot">
-<TestCase name="compare_greater">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="compare_less">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-</TestSuite>
-</TestSuite>
-<TestSuite name="implementation_offset">
-<TestSuite name="2d">
-<TestSuite name="rgba8ui">
-<TestCase name="texture_swizzle">
-<Test name="zero_one_red_green" />
-<Test name="alpha_zero_one_red" />
-<Test name="green_blue_alpha_zero" />
-<Test name="blue_alpha_zero_one" />
-<Test name="one_red_green_blue" />
-</TestCase>
-<TestCase name="filter_mode">
-<Test name="min_nearest_mipmap_nearest_mag_nearest" />
-</TestCase>
-<TestCase name="size_npot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="base_level">
-<Test name="level_1" />
-<Test name="level_2" />
-</TestCase>
-<TestCase name="size_pot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="rgba8">
-<TestCase name="texture_swizzle">
-<Test name="zero_one_red_green" />
-<Test name="alpha_zero_one_red" />
-<Test name="green_blue_alpha_zero" />
-<Test name="blue_alpha_zero_one" />
-<Test name="one_red_green_blue" />
-</TestCase>
-<TestCase name="size_npot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="base_level">
-<Test name="level_1" />
-<Test name="level_2" />
-</TestCase>
-<TestCase name="filter_mode">
-<Test name="min_linear_mipmap_nearest_mag_linear" />
-<Test name="min_nearest_mipmap_linear_mag_linear" />
-<Test name="min_linear_mipmap_linear_mag_linear" />
-<Test name="min_linear_mag_linear" />
-<Test name="min_nearest_mipmap_nearest_mag_linear" />
-</TestCase>
-<TestCase name="incomplete">
-<Test name="mipmap_incomplete" />
-</TestCase>
-<TestCase name="size_pot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="rgba8i">
-<TestCase name="texture_swizzle">
-<Test name="zero_one_red_green" />
-<Test name="alpha_zero_one_red" />
-<Test name="green_blue_alpha_zero" />
-<Test name="blue_alpha_zero_one" />
-<Test name="one_red_green_blue" />
-</TestCase>
-<TestCase name="filter_mode">
-<Test name="min_nearest_mipmap_nearest_mag_nearest" />
-</TestCase>
-<TestCase name="size_npot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="base_level">
-<Test name="level_1" />
-<Test name="level_2" />
-</TestCase>
-<TestCase name="size_pot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="depth32f">
-<TestCase name="filter_mode">
-<Test name="min_linear_mipmap_nearest_mag_linear" />
-<Test name="min_nearest_mipmap_linear_mag_linear" />
-<Test name="min_linear_mipmap_linear_mag_linear" />
-<Test name="min_linear_mag_linear" />
-<Test name="min_nearest_mipmap_nearest_mag_linear" />
-</TestCase>
-<TestSuite name="size_npot">
-<TestCase name="compare_greater">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="compare_less">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestCase name="base_level">
-<Test name="level_1" />
-<Test name="level_2" />
-</TestCase>
-<TestSuite name="size_pot">
-<TestCase name="compare_greater">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="compare_less">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-</TestSuite>
-<TestSuite name="2d_array">
-<TestSuite name="rgba8ui">
-<TestCase name="texture_swizzle">
-<Test name="zero_one_red_green" />
-<Test name="alpha_zero_one_red" />
-<Test name="green_blue_alpha_zero" />
-<Test name="blue_alpha_zero_one" />
-<Test name="one_red_green_blue" />
-</TestCase>
-<TestCase name="filter_mode">
-<Test name="min_nearest_mipmap_nearest_mag_nearest" />
-</TestCase>
-<TestCase name="size_npot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-<TestCase name="base_level">
-<Test name="level_1" />
-<Test name="level_2" />
-</TestCase>
-<TestCase name="size_pot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
-</TestCase>
-</TestSuite>
-<TestSuite name="rgba8">
-<TestCase name="texture_swizzle">
-<Test name="zero_one_red_green" />
-<Test name="alpha_zero_one_red" />
-<Test name="green_blue_alpha_zero" />
-<Test name="blue_alpha_zero_one" />
-<Test name="one_red_green_blue" />
-</TestCase>
-<TestCase name="size_npot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
+<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="base_level">
-<Test name="level_1" />
-<Test name="level_2" />
+<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="filter_mode">
-<Test name="min_linear_mipmap_nearest_mag_linear" />
-<Test name="min_nearest_mipmap_linear_mag_linear" />
-<Test name="min_linear_mipmap_linear_mag_linear" />
-<Test name="min_linear_mag_linear" />
-<Test name="min_nearest_mipmap_nearest_mag_linear" />
+<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="incomplete">
-<Test name="mipmap_incomplete" />
+<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="size_pot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
+<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>
-<TestSuite name="rgba8i">
-<TestCase name="texture_swizzle">
-<Test name="zero_one_red_green" />
-<Test name="alpha_zero_one_red" />
-<Test name="green_blue_alpha_zero" />
-<Test name="blue_alpha_zero_one" />
-<Test name="one_red_green_blue" />
-</TestCase>
-<TestCase name="filter_mode">
-<Test name="min_nearest_mipmap_nearest_mag_nearest" />
+<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>
-<TestCase name="size_npot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
+<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="base_level">
-<Test name="level_1" />
-<Test name="level_2" />
+<TestCase name="mediump_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="size_pot">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
+<TestCase name="highp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
 </TestSuite>
-<TestSuite name="depth32f">
-<TestCase name="filter_mode">
-<Test name="min_linear_mipmap_nearest_mag_linear" />
-<Test name="min_nearest_mipmap_linear_mag_linear" />
-<Test name="min_linear_mipmap_linear_mag_linear" />
-<Test name="min_linear_mag_linear" />
-<Test name="min_nearest_mipmap_nearest_mag_linear" />
+<TestSuite name="sub">
+<TestCase name="lowp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestSuite name="size_npot">
-<TestCase name="compare_greater">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
+<TestCase name="mediump_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="compare_less">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
+<TestCase name="highp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
 </TestSuite>
-<TestCase name="base_level">
-<Test name="level_1" />
-<Test name="level_2" />
+<TestSuite name="mul">
+<TestCase name="lowp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestSuite name="size_pot">
-<TestCase name="compare_greater">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
+<TestCase name="mediump_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="compare_less">
-<Test name="mirrored_repeat_clamp_to_edge" />
-<Test name="clamp_to_edge_repeat" />
-<Test name="repeat_mirrored_repeat" />
+<TestCase name="highp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
 </TestSuite>
-</TestSuite>
-</TestSuite>
-</TestSuite>
-</TestSuite>
-</TestSuite>
-<TestSuite name="multisample">
-<TestCase name="samples_16">
-<Test name="use_texture_depth_2d_array" />
-<Test name="sample_mask_and_sample_coverage" />
-<Test name="sample_mask_and_sample_coverage_and_alpha_to_coverage" />
-<Test name="sample_mask_only" />
-<Test name="use_texture_uint_2d_array" />
-<Test name="sample_mask_and_alpha_to_coverage" />
-<Test name="use_texture_color_2d_array" />
-<Test name="sample_position" />
-<Test name="sample_mask_non_effective_bits" />
-<Test name="use_texture_color_2d" />
-<Test name="use_texture_int_2d_array" />
-<Test name="use_texture_depth_2d" />
-<Test name="use_texture_uint_2d" />
-<Test name="use_texture_int_2d" />
+<TestSuite name="div">
+<TestCase name="lowp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="samples_10">
-<Test name="use_texture_depth_2d_array" />
-<Test name="sample_mask_and_sample_coverage" />
-<Test name="sample_mask_and_sample_coverage_and_alpha_to_coverage" />
-<Test name="sample_mask_only" />
-<Test name="use_texture_uint_2d_array" />
-<Test name="sample_mask_and_alpha_to_coverage" />
-<Test name="use_texture_color_2d_array" />
-<Test name="sample_position" />
-<Test name="sample_mask_non_effective_bits" />
-<Test name="use_texture_color_2d" />
-<Test name="use_texture_int_2d_array" />
-<Test name="use_texture_depth_2d" />
-<Test name="use_texture_uint_2d" />
-<Test name="use_texture_int_2d" />
+<TestCase name="mediump_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="samples_13">
-<Test name="use_texture_depth_2d_array" />
-<Test name="sample_mask_and_sample_coverage" />
-<Test name="sample_mask_and_sample_coverage_and_alpha_to_coverage" />
-<Test name="sample_mask_only" />
-<Test name="use_texture_uint_2d_array" />
-<Test name="sample_mask_and_alpha_to_coverage" />
-<Test name="use_texture_color_2d_array" />
-<Test name="sample_position" />
-<Test name="sample_mask_non_effective_bits" />
-<Test name="use_texture_color_2d" />
-<Test name="use_texture_int_2d_array" />
-<Test name="use_texture_depth_2d" />
-<Test name="use_texture_uint_2d" />
-<Test name="use_texture_int_2d" />
+<TestCase name="highp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="samples_12">
-<Test name="use_texture_depth_2d_array" />
-<Test name="sample_mask_and_sample_coverage" />
-<Test name="sample_mask_and_sample_coverage_and_alpha_to_coverage" />
-<Test name="sample_mask_only" />
-<Test name="use_texture_uint_2d_array" />
-<Test name="sample_mask_and_alpha_to_coverage" />
-<Test name="use_texture_color_2d_array" />
-<Test name="sample_position" />
-<Test name="sample_mask_non_effective_bits" />
-<Test name="use_texture_color_2d" />
-<Test name="use_texture_int_2d_array" />
-<Test name="use_texture_depth_2d" />
-<Test name="use_texture_uint_2d" />
-<Test name="use_texture_int_2d" />
+</TestSuite>
+<TestSuite name="radians">
+<TestCase name="lowp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="samples_64">
-<Test name="use_texture_depth_2d_array" />
-<Test name="sample_mask_and_sample_coverage" />
-<Test name="sample_mask_and_sample_coverage_and_alpha_to_coverage" />
-<Test name="sample_mask_only" />
-<Test name="use_texture_uint_2d_array" />
-<Test name="sample_mask_and_alpha_to_coverage" />
-<Test name="use_texture_color_2d_array" />
-<Test name="sample_position" />
-<Test name="sample_mask_non_effective_bits" />
-<Test name="use_texture_color_2d" />
-<Test name="use_texture_int_2d_array" />
-<Test name="use_texture_depth_2d" />
-<Test name="use_texture_uint_2d" />
-<Test name="use_texture_int_2d" />
+<TestCase name="mediump_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="negative">
-<Test name="fbo_attach_non_zero_level" />
-<Test name="fbo_attach_different_sample_count_tex_rbo" />
-<Test name="texture_wrap_s" />
-<Test name="texture_wrap_r" />
-<Test name="texture_high_sample_count" />
-<Test name="fbo_attach_different_sample_count_tex_tex" />
-<Test name="texture_wrap_t" />
-<Test name="texture_mag_filter" />
-<Test name="texture_compare_mode" />
-<Test name="texture_base_level" />
-<Test name="fbo_attach_different_fixed_state_tex_rbo" />
-<Test name="texture_min_filter" />
-<Test name="texture_max_lod" />
-<Test name="texture_compare_func" />
-<Test name="texture_min_lod" />
-<Test name="texture_zero_sample_count" />
-<Test name="fbo_attach_different_fixed_state_tex_tex" />
+<TestCase name="highp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="samples_8">
-<Test name="use_texture_depth_2d_array" />
-<Test name="sample_mask_and_sample_coverage" />
-<Test name="sample_mask_and_sample_coverage_and_alpha_to_coverage" />
-<Test name="sample_mask_only" />
-<Test name="use_texture_uint_2d_array" />
-<Test name="sample_mask_and_alpha_to_coverage" />
-<Test name="use_texture_color_2d_array" />
-<Test name="sample_position" />
-<Test name="sample_mask_non_effective_bits" />
-<Test name="use_texture_color_2d" />
-<Test name="use_texture_int_2d_array" />
-<Test name="use_texture_depth_2d" />
-<Test name="use_texture_uint_2d" />
-<Test name="use_texture_int_2d" />
+</TestSuite>
+<TestSuite name="degrees">
+<TestCase name="lowp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="samples_4">
-<Test name="use_texture_depth_2d_array" />
-<Test name="sample_mask_and_sample_coverage" />
-<Test name="sample_mask_and_sample_coverage_and_alpha_to_coverage" />
-<Test name="sample_mask_only" />
-<Test name="use_texture_uint_2d_array" />
-<Test name="sample_mask_and_alpha_to_coverage" />
-<Test name="use_texture_color_2d_array" />
-<Test name="sample_position" />
-<Test name="sample_mask_non_effective_bits" />
-<Test name="use_texture_color_2d" />
-<Test name="use_texture_int_2d_array" />
-<Test name="use_texture_depth_2d" />
-<Test name="use_texture_uint_2d" />
-<Test name="use_texture_int_2d" />
+<TestCase name="mediump_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="samples_1">
-<Test name="use_texture_depth_2d_array" />
-<Test name="sample_mask_and_sample_coverage" />
-<Test name="sample_mask_and_sample_coverage_and_alpha_to_coverage" />
-<Test name="sample_mask_only" />
-<Test name="use_texture_uint_2d_array" />
-<Test name="sample_mask_and_alpha_to_coverage" />
-<Test name="use_texture_color_2d_array" />
-<Test name="sample_position" />
-<Test name="sample_mask_non_effective_bits" />
-<Test name="use_texture_color_2d" />
-<Test name="use_texture_int_2d_array" />
-<Test name="use_texture_depth_2d" />
-<Test name="use_texture_uint_2d" />
-<Test name="use_texture_int_2d" />
+<TestCase name="highp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="samples_3">
-<Test name="use_texture_depth_2d_array" />
-<Test name="sample_mask_and_sample_coverage" />
-<Test name="sample_mask_and_sample_coverage_and_alpha_to_coverage" />
-<Test name="sample_mask_only" />
-<Test name="use_texture_uint_2d_array" />
-<Test name="sample_mask_and_alpha_to_coverage" />
-<Test name="use_texture_color_2d_array" />
-<Test name="sample_position" />
-<Test name="sample_mask_non_effective_bits" />
-<Test name="use_texture_color_2d" />
-<Test name="use_texture_int_2d_array" />
-<Test name="use_texture_depth_2d" />
-<Test name="use_texture_uint_2d" />
-<Test name="use_texture_int_2d" />
+</TestSuite>
+<TestSuite name="sin">
+<TestCase name="lowp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="samples_2">
-<Test name="use_texture_depth_2d_array" />
-<Test name="sample_mask_and_sample_coverage" />
-<Test name="sample_mask_and_sample_coverage_and_alpha_to_coverage" />
-<Test name="sample_mask_only" />
-<Test name="use_texture_uint_2d_array" />
-<Test name="sample_mask_and_alpha_to_coverage" />
-<Test name="use_texture_color_2d_array" />
-<Test name="sample_position" />
-<Test name="sample_mask_non_effective_bits" />
-<Test name="use_texture_color_2d" />
-<Test name="use_texture_int_2d_array" />
-<Test name="use_texture_depth_2d" />
-<Test name="use_texture_uint_2d" />
-<Test name="use_texture_int_2d" />
+<TestCase name="highp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
 </TestSuite>
-<TestSuite name="texture_buffer">
-<TestSuite name="modify_render">
-<TestCase name="mapbuffer_write">
-<Test name="as_vertex_array" />
-<Test name="as_vertex_array_as_index_array_as_vertex_texture_as_fragment_texture" />
-<Test name="as_index_array_as_fragment_texture" />
-<Test name="as_vertex_texture" />
-<Test name="as_vertex_texture_as_fragment_texture" />
-<Test name="as_vertex_array_as_index_array" />
-<Test name="as_vertex_array_as_vertex_texture_as_fragment_texture" />
-<Test name="as_fragment_texture" />
-<Test name="as_vertex_array_as_fragment_texture" />
-<Test name="as_vertex_array_as_vertex_texture" />
-<Test name="as_vertex_array_as_index_array_as_fragment_texture" />
-<Test name="as_index_array_as_vertex_texture_as_fragment_texture" />
-<Test name="as_index_array_as_vertex_texture" />
-<Test name="as_index_array" />
-<Test name="as_vertex_array_as_index_array_as_vertex_texture" />
+<TestSuite name="cos">
+<TestCase name="lowp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="bufferdata">
-<Test name="as_vertex_array" />
-<Test name="as_vertex_array_as_index_array_as_vertex_texture_as_fragment_texture" />
-<Test name="as_index_array_as_fragment_texture" />
-<Test name="as_vertex_texture" />
-<Test name="as_vertex_texture_as_fragment_texture" />
-<Test name="as_vertex_array_as_index_array" />
-<Test name="as_vertex_array_as_vertex_texture_as_fragment_texture" />
-<Test name="as_fragment_texture" />
-<Test name="as_vertex_array_as_fragment_texture" />
-<Test name="as_vertex_array_as_vertex_texture" />
-<Test name="as_vertex_array_as_index_array_as_fragment_texture" />
-<Test name="as_index_array_as_vertex_texture_as_fragment_texture" />
-<Test name="as_index_array_as_vertex_texture" />
-<Test name="as_index_array" />
-<Test name="as_vertex_array_as_index_array_as_vertex_texture" />
+<TestCase name="highp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="buffersubdata">
-<Test name="as_vertex_array" />
-<Test name="as_vertex_array_as_index_array_as_vertex_texture_as_fragment_texture" />
-<Test name="as_index_array_as_fragment_texture" />
-<Test name="as_vertex_texture" />
-<Test name="as_vertex_texture_as_fragment_texture" />
-<Test name="as_vertex_array_as_index_array" />
-<Test name="as_vertex_array_as_vertex_texture_as_fragment_texture" />
-<Test name="as_fragment_texture" />
-<Test name="as_vertex_array_as_fragment_texture" />
-<Test name="as_vertex_array_as_vertex_texture" />
-<Test name="as_vertex_array_as_index_array_as_fragment_texture" />
-<Test name="as_index_array_as_vertex_texture_as_fragment_texture" />
-<Test name="as_index_array_as_vertex_texture" />
-<Test name="as_index_array" />
-<Test name="as_vertex_array_as_index_array_as_vertex_texture" />
+</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="mapbuffer_readwrite">
-<Test name="as_vertex_array" />
-<Test name="as_vertex_array_as_index_array_as_vertex_texture_as_fragment_texture" />
-<Test name="as_index_array_as_fragment_texture" />
-<Test name="as_vertex_texture" />
-<Test name="as_vertex_texture_as_fragment_texture" />
-<Test name="as_vertex_array_as_index_array" />
-<Test name="as_vertex_array_as_vertex_texture_as_fragment_texture" />
-<Test name="as_fragment_texture" />
-<Test name="as_vertex_array_as_fragment_texture" />
-<Test name="as_vertex_array_as_vertex_texture" />
-<Test name="as_vertex_array_as_index_array_as_fragment_texture" />
-<Test name="as_index_array_as_vertex_texture_as_fragment_texture" />
-<Test name="as_index_array_as_vertex_texture" />
-<Test name="as_index_array" />
-<Test name="as_vertex_array_as_index_array_as_vertex_texture" />
+<TestCase name="mediump_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
 </TestSuite>
-<TestSuite name="modify">
-<TestCase name="mapbuffer_write">
-<Test name="buffer_size_131071" />
-<Test name="offset_1_alignments" />
-<Test name="range_size_512" />
-<Test name="range_size_513" />
-<Test name="buffer_size_65537" />
-<Test name="buffer_size_65536" />
-<Test name="buffer_size_512" />
-<Test name="buffer_size_513" />
-<Test name="range_size_65537" />
-<Test name="offset_7_alignments" />
-<Test name="range_size_98304" />
+<TestSuite name="atan">
+<TestCase name="lowp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="bufferdata">
-<Test name="buffer_size_131071" />
-<Test name="offset_1_alignments" />
-<Test name="range_size_512" />
-<Test name="range_size_513" />
-<Test name="buffer_size_65537" />
-<Test name="buffer_size_65536" />
-<Test name="buffer_size_512" />
-<Test name="buffer_size_513" />
-<Test name="range_size_65537" />
-<Test name="offset_7_alignments" />
-<Test name="range_size_98304" />
+<TestCase name="mediump_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="buffersubdata">
-<Test name="buffer_size_131071" />
-<Test name="offset_1_alignments" />
-<Test name="range_size_512" />
-<Test name="range_size_513" />
-<Test name="buffer_size_65537" />
-<Test name="buffer_size_65536" />
-<Test name="buffer_size_512" />
-<Test name="buffer_size_513" />
-<Test name="range_size_65537" />
-<Test name="offset_7_alignments" />
-<Test name="range_size_98304" />
+</TestSuite>
+<TestSuite name="sinh">
+<TestCase name="lowp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="mapbuffer_readwrite">
-<Test name="buffer_size_131071" />
-<Test name="offset_1_alignments" />
-<Test name="range_size_512" />
-<Test name="range_size_513" />
-<Test name="buffer_size_65537" />
-<Test name="buffer_size_65536" />
-<Test name="buffer_size_512" />
-<Test name="buffer_size_513" />
-<Test name="range_size_65537" />
-<Test name="offset_7_alignments" />
-<Test name="range_size_98304" />
+<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="render_modify">
-<TestCase name="as_vertex_array">
-<Test name="mapbuffer_write" />
-<Test name="bufferdata" />
-<Test name="buffersubdata" />
-<Test name="mapbuffer_readwrite" />
+<TestSuite name="cosh">
+<TestCase name="lowp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="as_vertex_array_as_index_array_as_vertex_texture_as_fragment_texture">
-<Test name="mapbuffer_write" />
-<Test name="bufferdata" />
-<Test name="buffersubdata" />
-<Test name="mapbuffer_readwrite" />
+<TestCase name="mediump_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="as_index_array_as_fragment_texture">
-<Test name="mapbuffer_write" />
-<Test name="bufferdata" />
-<Test name="buffersubdata" />
-<Test name="mapbuffer_readwrite" />
+<TestCase name="highp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="as_vertex_texture">
-<Test name="mapbuffer_write" />
-<Test name="bufferdata" />
-<Test name="buffersubdata" />
-<Test name="mapbuffer_readwrite" />
+</TestSuite>
+<TestSuite name="tanh">
+<TestCase name="lowp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="as_vertex_texture_as_fragment_texture">
-<Test name="mapbuffer_write" />
-<Test name="bufferdata" />
-<Test name="buffersubdata" />
-<Test name="mapbuffer_readwrite" />
+<TestCase name="mediump_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="as_vertex_array_as_index_array">
-<Test name="mapbuffer_write" />
-<Test name="bufferdata" />
-<Test name="buffersubdata" />
-<Test name="mapbuffer_readwrite" />
+</TestSuite>
+<TestSuite name="asinh">
+<TestCase name="lowp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="as_vertex_array_as_vertex_texture_as_fragment_texture">
-<Test name="mapbuffer_write" />
-<Test name="bufferdata" />
-<Test name="buffersubdata" />
-<Test name="mapbuffer_readwrite" />
+<TestCase name="mediump_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="as_fragment_texture">
-<Test name="mapbuffer_write" />
-<Test name="bufferdata" />
-<Test name="buffersubdata" />
-<Test name="mapbuffer_readwrite" />
+<TestCase name="highp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="as_vertex_array_as_fragment_texture">
-<Test name="mapbuffer_write" />
-<Test name="bufferdata" />
-<Test name="buffersubdata" />
-<Test name="mapbuffer_readwrite" />
+</TestSuite>
+<TestSuite name="acosh">
+<TestCase name="lowp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="as_vertex_array_as_vertex_texture">
-<Test name="mapbuffer_write" />
-<Test name="bufferdata" />
-<Test name="buffersubdata" />
-<Test name="mapbuffer_readwrite" />
+<TestCase name="mediump_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="as_vertex_array_as_index_array_as_fragment_texture">
-<Test name="mapbuffer_write" />
-<Test name="bufferdata" />
-<Test name="buffersubdata" />
-<Test name="mapbuffer_readwrite" />
+</TestSuite>
+<TestSuite name="atanh">
+<TestCase name="lowp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="as_index_array_as_vertex_texture_as_fragment_texture">
-<Test name="mapbuffer_write" />
-<Test name="bufferdata" />
-<Test name="buffersubdata" />
-<Test name="mapbuffer_readwrite" />
+<TestCase name="mediump_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="as_index_array_as_vertex_texture">
-<Test name="mapbuffer_write" />
-<Test name="bufferdata" />
-<Test name="buffersubdata" />
-<Test name="mapbuffer_readwrite" />
+</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>
-<TestCase name="as_index_array">
-<Test name="mapbuffer_write" />
-<Test name="bufferdata" />
-<Test name="buffersubdata" />
-<Test name="mapbuffer_readwrite" />
+</TestSuite>
+<TestSuite name="exp">
+<TestCase name="lowp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="as_vertex_array_as_index_array_as_vertex_texture">
-<Test name="mapbuffer_write" />
-<Test name="bufferdata" />
-<Test name="buffersubdata" />
-<Test name="mapbuffer_readwrite" />
+<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="render">
-<TestCase name="as_vertex_array">
-<Test name="buffer_size_131071" />
-<Test name="offset_1_alignments" />
-<Test name="range_size_512" />
-<Test name="range_size_513" />
-<Test name="buffer_size_65537" />
-<Test name="buffer_size_65536" />
-<Test name="buffer_size_512" />
-<Test name="buffer_size_513" />
-<Test name="range_size_65537" />
-<Test name="offset_7_alignments" />
-<Test name="range_size_98304" />
+<TestSuite name="log">
+<TestCase name="lowp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="as_vertex_array_as_index_array_as_vertex_texture_as_fragment_texture">
-<Test name="buffer_size_131071" />
-<Test name="offset_1_alignments" />
-<Test name="range_size_512" />
-<Test name="range_size_513" />
-<Test name="buffer_size_65537" />
-<Test name="buffer_size_65536" />
-<Test name="buffer_size_512" />
-<Test name="buffer_size_513" />
-<Test name="range_size_65537" />
-<Test name="offset_7_alignments" />
-<Test name="range_size_98304" />
+<TestCase name="mediump_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="as_index_array_as_fragment_texture">
-<Test name="buffer_size_131071" />
-<Test name="offset_1_alignments" />
-<Test name="range_size_512" />
-<Test name="range_size_513" />
-<Test name="buffer_size_65537" />
-<Test name="buffer_size_65536" />
-<Test name="buffer_size_512" />
-<Test name="buffer_size_513" />
-<Test name="range_size_65537" />
-<Test name="offset_7_alignments" />
-<Test name="range_size_98304" />
+<TestCase name="highp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="as_vertex_texture">
-<Test name="buffer_size_131071" />
-<Test name="offset_1_alignments" />
-<Test name="range_size_512" />
-<Test name="range_size_513" />
-<Test name="buffer_size_65537" />
-<Test name="buffer_size_65536" />
-<Test name="buffer_size_512" />
-<Test name="buffer_size_513" />
-<Test name="range_size_65537" />
-<Test name="offset_7_alignments" />
-<Test name="range_size_98304" />
+</TestSuite>
+<TestSuite name="exp2">
+<TestCase name="lowp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="as_vertex_texture_as_fragment_texture">
-<Test name="buffer_size_131071" />
-<Test name="offset_1_alignments" />
-<Test name="range_size_512" />
-<Test name="range_size_513" />
-<Test name="buffer_size_65537" />
-<Test name="buffer_size_65536" />
-<Test name="buffer_size_512" />
-<Test name="buffer_size_513" />
-<Test name="range_size_65537" />
-<Test name="offset_7_alignments" />
-<Test name="range_size_98304" />
+<TestCase name="mediump_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="as_vertex_array_as_index_array">
-<Test name="buffer_size_131071" />
-<Test name="offset_1_alignments" />
-<Test name="range_size_512" />
-<Test name="range_size_513" />
-<Test name="buffer_size_65537" />
-<Test name="buffer_size_65536" />
-<Test name="buffer_size_512" />
-<Test name="buffer_size_513" />
-<Test name="range_size_65537" />
-<Test name="offset_7_alignments" />
-<Test name="range_size_98304" />
+<TestCase name="highp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="as_vertex_array_as_vertex_texture_as_fragment_texture">
-<Test name="buffer_size_131071" />
-<Test name="offset_1_alignments" />
-<Test name="range_size_512" />
-<Test name="range_size_513" />
-<Test name="buffer_size_65537" />
-<Test name="buffer_size_65536" />
-<Test name="buffer_size_512" />
-<Test name="buffer_size_513" />
-<Test name="range_size_65537" />
-<Test name="offset_7_alignments" />
-<Test name="range_size_98304" />
+</TestSuite>
+<TestSuite name="log2">
+<TestCase name="lowp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="as_fragment_texture">
-<Test name="buffer_size_131071" />
-<Test name="offset_1_alignments" />
-<Test name="range_size_512" />
-<Test name="range_size_513" />
-<Test name="buffer_size_65537" />
-<Test name="buffer_size_65536" />
-<Test name="buffer_size_512" />
-<Test name="buffer_size_513" />
-<Test name="range_size_65537" />
-<Test name="offset_7_alignments" />
-<Test name="range_size_98304" />
+<TestCase name="mediump_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="as_vertex_array_as_fragment_texture">
-<Test name="buffer_size_131071" />
-<Test name="offset_1_alignments" />
-<Test name="range_size_512" />
-<Test name="range_size_513" />
-<Test name="buffer_size_65537" />
-<Test name="buffer_size_65536" />
-<Test name="buffer_size_512" />
-<Test name="buffer_size_513" />
-<Test name="range_size_65537" />
-<Test name="offset_7_alignments" />
-<Test name="range_size_98304" />
+<TestCase name="highp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="as_vertex_array_as_vertex_texture">
-<Test name="buffer_size_131071" />
-<Test name="offset_1_alignments" />
-<Test name="range_size_512" />
-<Test name="range_size_513" />
-<Test name="buffer_size_65537" />
-<Test name="buffer_size_65536" />
-<Test name="buffer_size_512" />
-<Test name="buffer_size_513" />
-<Test name="range_size_65537" />
-<Test name="offset_7_alignments" />
-<Test name="range_size_98304" />
+</TestSuite>
+<TestSuite name="sqrt">
+<TestCase name="lowp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="as_vertex_array_as_index_array_as_fragment_texture">
-<Test name="buffer_size_131071" />
-<Test name="offset_1_alignments" />
-<Test name="range_size_512" />
-<Test name="range_size_513" />
-<Test name="buffer_size_65537" />
-<Test name="buffer_size_65536" />
-<Test name="buffer_size_512" />
-<Test name="buffer_size_513" />
-<Test name="range_size_65537" />
-<Test name="offset_7_alignments" />
-<Test name="range_size_98304" />
+<TestCase name="mediump_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="as_index_array_as_vertex_texture_as_fragment_texture">
-<Test name="buffer_size_131071" />
-<Test name="offset_1_alignments" />
-<Test name="range_size_512" />
-<Test name="range_size_513" />
-<Test name="buffer_size_65537" />
-<Test name="buffer_size_65536" />
-<Test name="buffer_size_512" />
-<Test name="buffer_size_513" />
-<Test name="range_size_65537" />
-<Test name="offset_7_alignments" />
-<Test name="range_size_98304" />
+<TestCase name="highp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="as_index_array_as_vertex_texture">
-<Test name="buffer_size_131071" />
-<Test name="offset_1_alignments" />
-<Test name="range_size_512" />
-<Test name="range_size_513" />
-<Test name="buffer_size_65537" />
-<Test name="buffer_size_65536" />
-<Test name="buffer_size_512" />
-<Test name="buffer_size_513" />
-<Test name="range_size_65537" />
-<Test name="offset_7_alignments" />
-<Test name="range_size_98304" />
+</TestSuite>
+<TestSuite name="inversesqrt">
+<TestCase name="lowp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="as_index_array">
-<Test name="buffer_size_131071" />
-<Test name="offset_1_alignments" />
-<Test name="range_size_512" />
-<Test name="range_size_513" />
-<Test name="buffer_size_65537" />
-<Test name="buffer_size_65536" />
-<Test name="buffer_size_512" />
-<Test name="buffer_size_513" />
-<Test name="range_size_65537" />
-<Test name="offset_7_alignments" />
-<Test name="range_size_98304" />
+<TestCase name="mediump_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="as_vertex_array_as_index_array_as_vertex_texture">
-<Test name="buffer_size_131071" />
-<Test name="offset_1_alignments" />
-<Test name="range_size_512" />
-<Test name="range_size_513" />
-<Test name="buffer_size_65537" />
-<Test name="buffer_size_65536" />
-<Test name="buffer_size_512" />
-<Test name="buffer_size_513" />
-<Test name="range_size_65537" />
-<Test name="offset_7_alignments" />
-<Test name="range_size_98304" />
+<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="program_uniform">
-<TestSuite name="basic_array_assign_partial">
-<TestCase name="array_in_struct">
-<Test name="sampler2D_samplerCube_both" />
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="mat4_mat2_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="uint_uvec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="mat4_mat2_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="uint_uvec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bvec4_both" />
-<Test name="mat4_mat2_both" />
-<Test name="int_ivec4_both" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
+<TestSuite name="floor">
+<TestCase name="lowp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="basic_array">
-<Test name="ivec4_fragment" />
-<Test name="mat4_fragment" />
-<Test name="int_vertex" />
-<Test name="vec4_both" />
-<Test name="uint_vertex" />
-<Test name="ivec4_both" />
-<Test name="float_both" />
-<Test name="bvec4_vertex" />
-<Test name="bool_fragment" />
-<Test name="uvec4_fragment" />
-<Test name="int_both" />
-<Test name="sampler2D_fragment" />
-<Test name="bool_vertex" />
-<Test name="sampler2D_vertex" />
-<Test name="float_fragment" />
-<Test name="mat4_both" />
-<Test name="uvec4_vertex" />
-<Test name="bvec4_both" />
-<Test name="mat4_vertex" />
-<Test name="bvec4_fragment" />
-<Test name="float_vertex" />
-<Test name="ivec4_vertex" />
-<Test name="uvec4_both" />
-<Test name="uint_both" />
-<Test name="sampler2D_both" />
-<Test name="vec4_fragment" />
-<Test name="int_fragment" />
-<Test name="bool_both" />
-<Test name="vec4_vertex" />
-<Test name="uint_fragment" />
+<TestCase name="mediump_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="multiple_basic_array">
-<Test name="fragment" />
-<Test name="both" />
-<Test name="vertex" />
+<TestCase name="highp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
 </TestSuite>
-<TestSuite name="by_pointer">
-<TestSuite name="get_uniform">
-<TestCase name="multiple_basic">
-<Test name="fragment" />
-<Test name="both" />
-<Test name="vertex" />
+<TestSuite name="trunc">
+<TestCase name="lowp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="basic_struct">
-<Test name="sampler2D_samplerCube_both" />
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="mat4_mat2_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="uint_uvec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="mat4_mat2_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="uint_uvec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bvec4_both" />
-<Test name="mat4_mat2_both" />
-<Test name="int_ivec4_both" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
+<TestCase name="mediump_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="basic_array">
-<Test name="ivec4_fragment" />
-<Test name="bvec4_api_uint_vertex" />
-<Test name="int_vertex" />
-<Test name="bool_api_uint_fragment" />
-<Test name="mat4_row_major_vertex" />
-<Test name="bvec4_api_int_vertex" />
-<Test name="vec4_both" />
-<Test name="uint_vertex" />
-<Test name="bvec4_api_uint_fragment" />
-<Test name="ivec4_both" />
-<Test name="float_both" />
-<Test name="bvec4_api_float_both" />
-<Test name="bool_api_float_both" />
-<Test name="uvec4_fragment" />
-<Test name="bvec4_api_float_fragment" />
-<Test name="mat4_row_major_fragment" />
-<Test name="sampler2D_fragment" />
-<Test name="int_fragment" />
-<Test name="sampler2D_vertex" />
-<Test name="bool_api_uint_vertex" />
-<Test name="float_fragment" />
-<Test name="mat4_both" />
-<Test name="uvec4_vertex" />
-<Test name="bool_api_float_fragment" />
-<Test name="bool_api_int_fragment" />
-<Test name="bvec4_api_float_vertex" />
-<Test name="mat4_vertex" />
-<Test name="bvec4_api_int_both" />
-<Test name="mat4_row_major_both" />
-<Test name="int_both" />
-<Test name="ivec4_vertex" />
-<Test name="uvec4_both" />
-<Test name="uint_both" />
-<Test name="bvec4_api_int_fragment" />
-<Test name="bool_api_int_both" />
-<Test name="mat4_fragment" />
-<Test name="sampler2D_both" />
-<Test name="bool_api_int_vertex" />
-<Test name="bool_api_uint_both" />
-<Test name="vec4_fragment" />
-<Test name="bool_api_float_vertex" />
-<Test name="bvec4_api_uint_both" />
-<Test name="float_vertex" />
-<Test name="vec4_vertex" />
-<Test name="uint_fragment" />
+<TestCase name="highp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="array_in_struct">
-<Test name="sampler2D_samplerCube_both" />
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="mat4_mat2_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="uint_uvec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="mat4_mat2_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="uint_uvec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bvec4_both" />
-<Test name="mat4_mat2_both" />
-<Test name="int_ivec4_both" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
+</TestSuite>
+<TestSuite name="round">
+<TestCase name="lowp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="nested_structs_arrays">
-<Test name="sampler2D_samplerCube_both" />
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="mat4_mat2_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="uint_uvec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="mat4_mat2_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="uint_uvec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bvec4_both" />
-<Test name="mat4_mat2_both" />
-<Test name="int_ivec4_both" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
+<TestCase name="mediump_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="basic">
-<Test name="mat4x3_row_major_vertex" />
-<Test name="mat4_row_major_vertex" />
-<Test name="bvec4_api_uint_fragment" />
-<Test name="uvec3_both" />
-<Test name="bool_api_float_both" />
-<Test name="uvec4_fragment" />
-<Test name="mat2x4_row_major_fragment" />
-<Test name="mat3_vertex" />
-<Test name="bvec2_api_int_both" />
-<Test name="mat4x3_row_major_fragment" />
-<Test name="mat3x4_both" />
-<Test name="bvec3_api_uint_vertex" />
-<Test name="bvec3_api_int_fragment" />
-<Test name="mat4x2_row_major_vertex" />
-<Test name="samplerCube_both" />
-<Test name="vec3_both" />
-<Test name="mat4_row_major_both" />
-<Test name="mat4x2_row_major_fragment" />
-<Test name="uvec4_both" />
-<Test name="bvec3_api_uint_both" />
-<Test name="bool_api_int_both" />
-<Test name="mat3x4_row_major_both" />
-<Test name="uvec3_fragment" />
-<Test name="int_fragment" />
-<Test name="mat3x4_vertex" />
-<Test name="mat3_row_major_vertex" />
-<Test name="bool_api_uint_fragment" />
-<Test name="samplerCube_vertex" />
-<Test name="ivec2_both" />
-<Test name="mat2x3_row_major_both" />
-<Test name="vec4_both" />
-<Test name="mat3x2_row_major_both" />
-<Test name="mat4x3_fragment" />
-<Test name="bvec3_api_float_both" />
-<Test name="samplerCube_fragment" />
-<Test name="mat4x3_vertex" />
-<Test name="mat2x3_fragment" />
-<Test name="vec3_fragment" />
-<Test name="sampler2D_vertex" />
-<Test name="ivec3_both" />
-<Test name="mat3x2_both" />
-<Test name="bvec2_api_uint_vertex" />
-<Test name="vec2_fragment" />
-<Test name="uvec4_vertex" />
-<Test name="bool_api_float_fragment" />
-<Test name="bvec2_api_int_vertex" />
-<Test name="mat2_both" />
-<Test name="mat2_row_major_both" />
-<Test name="mat2x4_fragment" />
-<Test name="bvec2_api_int_fragment" />
-<Test name="mat2x3_row_major_vertex" />
-<Test name="vec2_vertex" />
-<Test name="bvec2_api_float_both" />
-<Test name="mat2_row_major_fragment" />
-<Test name="ivec3_vertex" />
-<Test name="uvec2_vertex" />
-<Test name="uvec2_fragment" />
-<Test name="mat4x2_vertex" />
-<Test name="vec4_fragment" />
-<Test name="bvec4_api_uint_both" />
-<Test name="mat2x3_vertex" />
-<Test name="bvec3_api_float_vertex" />
-<Test name="mat2x4_vertex" />
-<Test name="mat4x2_row_major_both" />
-<Test name="ivec2_fragment" />
-<Test name="mat3_fragment" />
-<Test name="bool_api_int_fragment" />
-<Test name="mat2_row_major_vertex" />
-<Test name="bool_api_float_vertex" />
-<Test name="mat4_fragment" />
-<Test name="bvec4_api_float_both" />
-<Test name="mat3x2_fragment" />
-<Test name="bvec3_api_float_fragment" />
-<Test name="bvec4_api_float_fragment" />
-<Test name="mat2_vertex" />
-<Test name="mat4x2_both" />
-<Test name="mat4_row_major_fragment" />
-<Test name="bvec3_api_int_both" />
-<Test name="mat3_row_major_fragment" />
-<Test name="bool_api_int_vertex" />
-<Test name="mat3_row_major_both" />
-<Test name="bvec4_api_uint_vertex" />
-<Test name="mat3x4_row_major_vertex" />
-<Test name="bvec4_api_int_both" />
-<Test name="mat2x4_row_major_vertex" />
-<Test name="uint_both" />
-<Test name="bvec4_api_int_fragment" />
-<Test name="bvec4_api_float_vertex" />
-<Test name="uvec2_both" />
-<Test name="mat3x2_row_major_fragment" />
-<Test name="bool_api_uint_both" />
-<Test name="mat4x3_row_major_both" />
-<Test name="bvec3_api_int_vertex" />
-<Test name="mat2x4_row_major_both" />
-<Test name="mat3_both" />
-<Test name="uint_fragment" />
-<Test name="mat3x4_fragment" />
-<Test name="mat3x2_row_major_vertex" />
-<Test name="ivec4_fragment" />
-<Test name="mat3x4_row_major_fragment" />
-<Test name="int_vertex" />
-<Test name="bvec4_api_int_vertex" />
-<Test name="uint_vertex" />
-<Test name="ivec4_both" />
-<Test name="float_both" />
-<Test name="vec2_both" />
-<Test name="mat3x2_vertex" />
-<Test name="bvec2_api_float_vertex" />
-<Test name="int_both" />
-<Test name="sampler2D_fragment" />
-<Test name="ivec3_fragment" />
-<Test name="mat2x3_row_major_fragment" />
-<Test name="mat2x3_both" />
-<Test name="bool_api_uint_vertex" />
-<Test name="bvec3_api_uint_fragment" />
-<Test name="float_fragment" />
-<Test name="mat4_both" />
-<Test name="mat4_vertex" />
-<Test name="mat2_fragment" />
-<Test name="ivec2_vertex" />
-<Test name="mat2x4_both" />
-<Test name="bvec2_api_uint_fragment" />
-<Test name="bvec2_api_float_fragment" />
-<Test name="ivec4_vertex" />
-<Test name="vec3_vertex" />
-<Test name="sampler2D_both" />
-<Test name="bvec2_api_uint_both" />
-<Test name="uvec3_vertex" />
-<Test name="mat4x3_both" />
-<Test name="float_vertex" />
-<Test name="vec4_vertex" />
-<Test name="mat4x2_fragment" />
+<TestCase name="highp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="basic_array_first_elem_without_brackets">
-<Test name="ivec4_fragment" />
-<Test name="bvec4_api_uint_vertex" />
-<Test name="int_vertex" />
-<Test name="bool_api_uint_fragment" />
-<Test name="mat4_row_major_vertex" />
-<Test name="bvec4_api_int_vertex" />
-<Test name="vec4_both" />
-<Test name="uint_vertex" />
-<Test name="bvec4_api_uint_fragment" />
-<Test name="ivec4_both" />
-<Test name="float_both" />
-<Test name="bvec4_api_float_both" />
-<Test name="bool_api_float_both" />
-<Test name="uvec4_fragment" />
-<Test name="bvec4_api_float_fragment" />
-<Test name="mat4_row_major_fragment" />
-<Test name="sampler2D_fragment" />
-<Test name="int_fragment" />
-<Test name="sampler2D_vertex" />
-<Test name="bool_api_uint_vertex" />
-<Test name="float_fragment" />
-<Test name="mat4_both" />
-<Test name="uvec4_vertex" />
-<Test name="bool_api_float_fragment" />
-<Test name="bool_api_int_fragment" />
-<Test name="bvec4_api_float_vertex" />
-<Test name="mat4_vertex" />
-<Test name="bvec4_api_int_both" />
-<Test name="mat4_row_major_both" />
-<Test name="int_both" />
-<Test name="ivec4_vertex" />
-<Test name="uvec4_both" />
-<Test name="uint_both" />
-<Test name="bvec4_api_int_fragment" />
-<Test name="bool_api_int_both" />
-<Test name="mat4_fragment" />
-<Test name="sampler2D_both" />
-<Test name="bool_api_int_vertex" />
-<Test name="bool_api_uint_both" />
-<Test name="vec4_fragment" />
-<Test name="bool_api_float_vertex" />
-<Test name="bvec4_api_uint_both" />
-<Test name="float_vertex" />
-<Test name="vec4_vertex" />
-<Test name="uint_fragment" />
+</TestSuite>
+<TestSuite name="roundeven">
+<TestCase name="lowp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="struct_in_array">
-<Test name="sampler2D_samplerCube_both" />
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="mat4_mat2_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="uint_uvec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="mat4_mat2_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="uint_uvec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bvec4_both" />
-<Test name="mat4_mat2_both" />
-<Test name="int_ivec4_both" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
+<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="multiple_nested_structs_arrays">
-<Test name="fragment" />
-<Test name="both" />
-<Test name="vertex" />
+<TestCase name="mediump_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="multiple_basic_array">
-<Test name="fragment" />
-<Test name="both" />
-<Test name="vertex" />
+<TestCase name="highp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
 </TestSuite>
-<TestSuite name="render">
-<TestCase name="multiple_basic">
-<Test name="fragment" />
-<Test name="both" />
-<Test name="vertex" />
-</TestCase>
-<TestCase name="basic_struct">
-<Test name="sampler2D_samplerCube_both" />
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="mat4_mat2_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="uint_uvec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="mat4_mat2_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="uint_uvec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bvec4_both" />
-<Test name="mat4_mat2_both" />
-<Test name="int_ivec4_both" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
+<TestSuite name="fract">
+<TestCase name="lowp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="basic_array">
-<Test name="ivec4_fragment" />
-<Test name="mat4_fragment" />
-<Test name="int_vertex" />
-<Test name="mat4_row_major_vertex" />
-<Test name="vec4_both" />
-<Test name="uint_vertex" />
-<Test name="ivec4_both" />
-<Test name="float_both" />
-<Test name="bvec4_vertex" />
-<Test name="bool_fragment" />
-<Test name="uvec4_fragment" />
-<Test name="mat4_row_major_fragment" />
-<Test name="sampler2D_fragment" />
-<Test name="bool_vertex" />
-<Test name="sampler2D_vertex" />
-<Test name="float_fragment" />
-<Test name="mat4_both" />
-<Test name="uvec4_vertex" />
-<Test name="bvec4_both" />
-<Test name="mat4_vertex" />
-<Test name="bvec4_fragment" />
-<Test name="mat4_row_major_both" />
-<Test name="float_vertex" />
-<Test name="int_both" />
-<Test name="ivec4_vertex" />
-<Test name="uvec4_both" />
-<Test name="uint_both" />
-<Test name="sampler2D_both" />
-<Test name="vec4_fragment" />
-<Test name="int_fragment" />
-<Test name="bool_both" />
-<Test name="vec4_vertex" />
-<Test name="uint_fragment" />
+<TestCase name="mediump_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="array_in_struct">
-<Test name="sampler2D_samplerCube_both" />
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="mat4_mat2_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="uint_uvec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="mat4_mat2_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="uint_uvec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bvec4_both" />
-<Test name="mat4_mat2_both" />
-<Test name="int_ivec4_both" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
+<TestCase name="highp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="nested_structs_arrays">
-<Test name="sampler2D_samplerCube_both" />
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="mat4_mat2_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="uint_uvec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="mat4_mat2_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="uint_uvec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bvec4_both" />
-<Test name="mat4_mat2_both" />
-<Test name="int_ivec4_both" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
+</TestSuite>
+<TestSuite name="mod">
+<TestCase name="lowp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="basic">
-<Test name="mat4x3_row_major_vertex" />
-<Test name="mat4_row_major_vertex" />
-<Test name="mat2x3_row_major_fragment" />
-<Test name="uvec4_fragment" />
-<Test name="mat2x4_row_major_fragment" />
-<Test name="mat3_vertex" />
-<Test name="mat4x3_row_major_fragment" />
-<Test name="mat3x4_both" />
-<Test name="mat4x2_row_major_vertex" />
-<Test name="samplerCube_both" />
-<Test name="vec3_both" />
-<Test name="bvec4_fragment" />
-<Test name="mat4_row_major_both" />
-<Test name="bvec2_vertex" />
-<Test name="mat4x2_row_major_fragment" />
-<Test name="uvec4_both" />
-<Test name="mat3x4_row_major_both" />
-<Test name="uvec3_fragment" />
-<Test name="int_fragment" />
-<Test name="mat3x4_vertex" />
-<Test name="mat3_row_major_vertex" />
-<Test name="samplerCube_vertex" />
-<Test name="ivec2_both" />
-<Test name="mat2x3_row_major_both" />
-<Test name="vec4_both" />
-<Test name="mat3x2_row_major_both" />
-<Test name="mat4x3_fragment" />
-<Test name="bool_fragment" />
-<Test name="samplerCube_fragment" />
-<Test name="mat4x3_vertex" />
-<Test name="mat2x3_fragment" />
-<Test name="sampler2D_vertex" />
-<Test name="ivec3_both" />
-<Test name="mat3x2_both" />
-<Test name="vec2_fragment" />
-<Test name="uvec4_vertex" />
-<Test name="uvec2_vertex" />
-<Test name="mat2_both" />
-<Test name="mat2_row_major_both" />
-<Test name="mat2x4_fragment" />
-<Test name="mat2x3_row_major_vertex" />
-<Test name="vec2_vertex" />
-<Test name="mat2_row_major_fragment" />
-<Test name="ivec3_vertex" />
-<Test name="mat3x2_row_major_vertex" />
-<Test name="mat4x2_vertex" />
-<Test name="vec4_fragment" />
-<Test name="mat2x3_vertex" />
-<Test name="mat2x4_vertex" />
-<Test name="mat4x2_row_major_both" />
-<Test name="ivec2_fragment" />
-<Test name="mat3_fragment" />
-<Test name="bvec3_vertex" />
-<Test name="mat2_row_major_vertex" />
-<Test name="mat3x2_fragment" />
-<Test name="mat2_vertex" />
-<Test name="mat4x2_both" />
-<Test name="mat4_row_major_fragment" />
-<Test name="bvec3_both" />
-<Test name="mat3_row_major_fragment" />
-<Test name="mat3_row_major_both" />
-<Test name="mat4_fragment" />
-<Test name="bvec4_both" />
-<Test name="mat3x4_row_major_vertex" />
-<Test name="mat2x4_row_major_vertex" />
-<Test name="uint_both" />
-<Test name="uvec2_both" />
-<Test name="mat3x2_row_major_fragment" />
-<Test name="mat4x3_row_major_both" />
-<Test name="vec3_fragment" />
-<Test name="mat2x4_row_major_both" />
-<Test name="bvec2_both" />
-<Test name="bool_both" />
-<Test name="mat3_both" />
-<Test name="uint_fragment" />
-<Test name="mat3x4_fragment" />
-<Test name="uvec2_fragment" />
-<Test name="ivec4_fragment" />
-<Test name="mat3x4_row_major_fragment" />
-<Test name="int_vertex" />
-<Test name="uvec3_both" />
-<Test name="uint_vertex" />
-<Test name="ivec4_both" />
-<Test name="float_both" />
-<Test name="vec2_both" />
-<Test name="bvec4_vertex" />
-<Test name="mat3x2_vertex" />
-<Test name="int_both" />
-<Test name="sampler2D_fragment" />
-<Test name="ivec3_fragment" />
-<Test name="bool_vertex" />
-<Test name="mat2x3_both" />
-<Test name="float_fragment" />
-<Test name="mat4_both" />
-<Test name="bvec2_fragment" />
-<Test name="mat4_vertex" />
-<Test name="mat2_fragment" />
-<Test name="ivec2_vertex" />
-<Test name="mat2x4_both" />
-<Test name="ivec4_vertex" />
-<Test name="vec3_vertex" />
-<Test name="sampler2D_both" />
-<Test name="uvec3_vertex" />
-<Test name="bvec3_fragment" />
-<Test name="mat4x3_both" />
-<Test name="float_vertex" />
-<Test name="vec4_vertex" />
-<Test name="mat4x2_fragment" />
+<TestCase name="mediump_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="struct_in_array">
-<Test name="sampler2D_samplerCube_both" />
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="mat4_mat2_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="uint_uvec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="mat4_mat2_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="uint_uvec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bvec4_both" />
-<Test name="mat4_mat2_both" />
-<Test name="int_ivec4_both" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
+<TestCase name="highp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="multiple_nested_structs_arrays">
-<Test name="fragment" />
-<Test name="both" />
-<Test name="vertex" />
+</TestSuite>
+<TestSuite name="min">
+<TestCase name="lowp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="multiple_basic_array">
-<Test name="fragment" />
-<Test name="both" />
-<Test name="vertex" />
+<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="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>
+<TestCase name="highp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
+</TestCase>
 </TestSuite>
-<TestCase name="unused_uniforms">
-<Test name="sampler2D_samplerCube_both" />
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="mat4_mat2_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="uint_uvec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="mat4_mat2_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="uint_uvec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bvec4_both" />
-<Test name="mat4_mat2_both" />
-<Test name="int_ivec4_both" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
+<TestSuite name="clamp">
+<TestCase name="lowp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestSuite name="by_value">
-<TestSuite name="get_uniform">
-<TestCase name="basic_struct">
-<Test name="sampler2D_samplerCube_both" />
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="uint_uvec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="uint_uvec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bvec4_both" />
-<Test name="int_ivec4_both" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
+<TestCase name="mediump_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="basic_array">
-<Test name="ivec4_fragment" />
-<Test name="bool_api_uint_fragment" />
-<Test name="int_vertex" />
-<Test name="bool_api_int_fragment" />
-<Test name="bvec4_api_int_vertex" />
-<Test name="vec4_both" />
-<Test name="uint_vertex" />
-<Test name="bvec4_api_uint_fragment" />
-<Test name="ivec4_both" />
-<Test name="float_both" />
-<Test name="bvec4_api_float_both" />
-<Test name="bool_api_float_both" />
-<Test name="uvec4_fragment" />
-<Test name="bvec4_api_float_fragment" />
-<Test name="int_both" />
-<Test name="sampler2D_fragment" />
-<Test name="sampler2D_vertex" />
-<Test name="bool_api_uint_vertex" />
-<Test name="bool_api_int_vertex" />
-<Test name="bvec4_api_uint_vertex" />
-<Test name="bool_api_float_fragment" />
-<Test name="bvec4_api_int_both" />
-<Test name="ivec4_vertex" />
-<Test name="bool_api_float_vertex" />
-<Test name="uint_both" />
-<Test name="bvec4_api_int_fragment" />
-<Test name="bool_api_int_both" />
-<Test name="bvec4_api_float_vertex" />
-<Test name="sampler2D_both" />
-<Test name="float_fragment" />
-<Test name="bool_api_uint_both" />
-<Test name="vec4_fragment" />
-<Test name="int_fragment" />
-<Test name="bvec4_api_uint_both" />
-<Test name="uvec4_vertex" />
-<Test name="float_vertex" />
-<Test name="vec4_vertex" />
-<Test name="uint_fragment" />
-<Test name="uvec4_both" />
+<TestCase name="highp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="array_in_struct">
-<Test name="sampler2D_samplerCube_both" />
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="uint_uvec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="uint_uvec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bvec4_both" />
-<Test name="int_ivec4_both" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
+</TestSuite>
+<TestSuite name="step">
+<TestCase name="lowp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="nested_structs_arrays">
-<Test name="sampler2D_samplerCube_both" />
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="uint_uvec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="uint_uvec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bvec4_both" />
-<Test name="int_ivec4_both" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
+<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>
+<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="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="basic">
-<Test name="ivec4_fragment" />
-<Test name="bool_api_uint_fragment" />
-<Test name="int_vertex" />
-<Test name="bvec2_api_float_both" />
-<Test name="ivec2_fragment" />
-<Test name="ivec2_both" />
-<Test name="int_fragment" />
-<Test name="bool_api_int_fragment" />
-<Test name="uvec3_both" />
-<Test name="vec4_both" />
-<Test name="uint_vertex" />
-<Test name="bvec4_api_uint_fragment" />
-<Test name="ivec4_both" />
-<Test name="float_both" />
-<Test name="vec2_both" />
-<Test name="bvec4_api_float_both" />
-<Test name="sampler2D_vertex" />
-<Test name="uvec4_fragment" />
-<Test name="bvec3_api_float_both" />
-<Test name="bvec2_api_uint_vertex" />
-<Test name="bvec2_api_float_vertex" />
-<Test name="int_both" />
-<Test name="vec3_fragment" />
-<Test name="samplerCube_vertex" />
-<Test name="bvec4_api_int_fragment" />
-<Test name="bvec3_api_int_vertex" />
-<Test name="bvec3_api_float_fragment" />
-<Test name="sampler2D_fragment" />
-<Test name="bvec3_api_int_both" />
-<Test name="ivec3_fragment" />
-<Test name="ivec3_vertex" />
-<Test name="bool_api_float_both" />
-<Test name="ivec3_both" />
-<Test name="bool_api_uint_vertex" />
-<Test name="samplerCube_fragment" />
-<Test name="bvec3_api_uint_fragment" />
-<Test name="vec2_fragment" />
-<Test name="bool_api_int_vertex" />
-<Test name="bvec3_api_uint_vertex" />
-<Test name="bvec4_api_uint_vertex" />
-<Test name="bvec3_api_int_fragment" />
-<Test name="bool_api_float_fragment" />
-<Test name="bvec4_api_float_fragment" />
-<Test name="bvec2_api_int_vertex" />
-<Test name="samplerCube_both" />
-<Test name="vec3_both" />
-<Test name="bvec4_api_int_vertex" />
-<Test name="uvec3_fragment" />
-<Test name="vec2_vertex" />
-<Test name="bvec2_api_int_fragment" />
-<Test name="vec4_vertex" />
-<Test name="bvec2_api_uint_fragment" />
-<Test name="bvec2_api_float_fragment" />
-<Test name="ivec4_vertex" />
-<Test name="uvec4_both" />
-<Test name="bvec3_api_uint_both" />
-<Test name="uint_both" />
-<Test name="ivec2_vertex" />
-<Test name="bvec2_api_int_both" />
-<Test name="bool_api_int_both" />
-<Test name="vec3_vertex" />
-<Test name="sampler2D_both" />
-<Test name="bvec2_api_uint_both" />
-<Test name="float_fragment" />
-<Test name="uvec2_vertex" />
-<Test name="bvec4_api_float_vertex" />
-<Test name="uvec2_fragment" />
-<Test name="bool_api_uint_both" />
-<Test name="bvec4_api_int_both" />
-<Test name="vec4_fragment" />
-<Test name="uvec3_vertex" />
-<Test name="bool_api_float_vertex" />
-<Test name="uvec2_both" />
-<Test name="uvec4_vertex" />
-<Test name="float_vertex" />
-<Test name="bvec3_api_float_vertex" />
-<Test name="uint_fragment" />
-<Test name="bvec4_api_uint_both" />
+<TestCase name="mediump_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="basic_array_first_elem_without_brackets">
-<Test name="ivec4_fragment" />
-<Test name="bool_api_uint_fragment" />
-<Test name="int_vertex" />
-<Test name="bool_api_int_fragment" />
-<Test name="bvec4_api_int_vertex" />
-<Test name="vec4_both" />
-<Test name="uint_vertex" />
-<Test name="bvec4_api_uint_fragment" />
-<Test name="ivec4_both" />
-<Test name="float_both" />
-<Test name="bvec4_api_float_both" />
-<Test name="bool_api_float_both" />
-<Test name="uvec4_fragment" />
-<Test name="bvec4_api_float_fragment" />
-<Test name="int_both" />
-<Test name="sampler2D_fragment" />
-<Test name="sampler2D_vertex" />
-<Test name="bool_api_uint_vertex" />
-<Test name="bool_api_int_vertex" />
-<Test name="bvec4_api_uint_vertex" />
-<Test name="bool_api_float_fragment" />
-<Test name="bvec4_api_int_both" />
-<Test name="ivec4_vertex" />
-<Test name="bool_api_float_vertex" />
-<Test name="uint_both" />
-<Test name="bvec4_api_int_fragment" />
-<Test name="bool_api_int_both" />
-<Test name="bvec4_api_float_vertex" />
-<Test name="sampler2D_both" />
-<Test name="float_fragment" />
-<Test name="bool_api_uint_both" />
-<Test name="vec4_fragment" />
-<Test name="int_fragment" />
-<Test name="bvec4_api_uint_both" />
-<Test name="uvec4_vertex" />
-<Test name="float_vertex" />
-<Test name="vec4_vertex" />
-<Test name="uint_fragment" />
-<Test name="uvec4_both" />
+<TestCase name="highp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="struct_in_array">
-<Test name="sampler2D_samplerCube_both" />
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="uint_uvec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="uint_uvec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bvec4_both" />
-<Test name="int_ivec4_both" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
+</TestSuite>
+<TestSuite name="dot">
+<TestCase name="lowp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="multiple_nested_structs_arrays">
-<Test name="fragment" />
-<Test name="both" />
-<Test name="vertex" />
+<TestCase name="mediump_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="multiple_basic_array">
-<Test name="fragment" />
-<Test name="both" />
-<Test name="vertex" />
+<TestCase name="highp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
 </TestSuite>
-<TestSuite name="render">
-<TestCase name="basic_struct">
-<Test name="sampler2D_samplerCube_both" />
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="uint_uvec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="uint_uvec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bvec4_both" />
-<Test name="int_ivec4_both" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
+<TestCase name="cross">
+<Test name="lowp_compute" />
+<Test name="mediump_compute" />
+<Test name="highp_compute" />
 </TestCase>
-<TestCase name="basic_array">
-<Test name="ivec4_fragment" />
-<Test name="int_vertex" />
-<Test name="vec4_both" />
-<Test name="uint_vertex" />
-<Test name="ivec4_both" />
-<Test name="float_both" />
-<Test name="bvec4_vertex" />
-<Test name="bool_fragment" />
-<Test name="uvec4_fragment" />
-<Test name="int_both" />
-<Test name="sampler2D_fragment" />
-<Test name="bool_vertex" />
-<Test name="sampler2D_vertex" />
-<Test name="float_fragment" />
-<Test name="uvec4_vertex" />
-<Test name="bvec4_both" />
-<Test name="bvec4_fragment" />
-<Test name="bool_both" />
-<Test name="ivec4_vertex" />
-<Test name="uvec4_both" />
-<Test name="uint_both" />
-<Test name="sampler2D_both" />
-<Test name="vec4_fragment" />
-<Test name="int_fragment" />
-<Test name="float_vertex" />
-<Test name="vec4_vertex" />
-<Test name="uint_fragment" />
+<TestSuite name="normalize">
+<TestCase name="lowp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="array_in_struct">
-<Test name="sampler2D_samplerCube_both" />
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="uint_uvec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="uint_uvec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bvec4_both" />
-<Test name="int_ivec4_both" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
+<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>
-<TestCase name="nested_structs_arrays">
-<Test name="sampler2D_samplerCube_both" />
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="uint_uvec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="uint_uvec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bvec4_both" />
-<Test name="int_ivec4_both" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
+</TestSuite>
+<TestSuite name="faceforward">
+<TestCase name="lowp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="basic">
-<Test name="ivec4_fragment" />
-<Test name="int_vertex" />
-<Test name="samplerCube_vertex" />
-<Test name="ivec2_both" />
-<Test name="bvec3_vertex" />
-<Test name="uvec3_both" />
-<Test name="vec4_both" />
-<Test name="uint_vertex" />
-<Test name="bvec3_both" />
-<Test name="ivec4_both" />
-<Test name="float_both" />
-<Test name="vec2_both" />
-<Test name="bvec4_vertex" />
-<Test name="bool_fragment" />
-<Test name="uvec4_fragment" />
-<Test name="samplerCube_fragment" />
-<Test name="int_both" />
-<Test name="ivec2_fragment" />
-<Test name="vec3_fragment" />
-<Test name="sampler2D_fragment" />
-<Test name="ivec3_fragment" />
-<Test name="bool_vertex" />
-<Test name="sampler2D_vertex" />
-<Test name="ivec3_both" />
-<Test name="vec2_fragment" />
-<Test name="float_fragment" />
-<Test name="bvec2_both" />
-<Test name="uvec4_vertex" />
-<Test name="uvec2_vertex" />
-<Test name="bvec2_fragment" />
-<Test name="bvec4_both" />
-<Test name="samplerCube_both" />
-<Test name="vec3_both" />
-<Test name="bvec4_fragment" />
-<Test name="float_vertex" />
-<Test name="vec2_vertex" />
-<Test name="bvec2_vertex" />
-<Test name="ivec3_vertex" />
-<Test name="ivec4_vertex" />
-<Test name="uvec4_both" />
-<Test name="uint_both" />
-<Test name="ivec2_vertex" />
-<Test name="vec3_vertex" />
-<Test name="sampler2D_both" />
-<Test name="uvec2_both" />
-<Test name="uvec2_fragment" />
-<Test name="vec4_fragment" />
-<Test name="uvec3_vertex" />
-<Test name="int_fragment" />
-<Test name="bvec3_fragment" />
-<Test name="bool_both" />
-<Test name="vec4_vertex" />
-<Test name="uint_fragment" />
-<Test name="uvec3_fragment" />
+<TestCase name="mediump_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="struct_in_array">
-<Test name="sampler2D_samplerCube_both" />
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="uint_uvec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="uint_uvec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bvec4_both" />
-<Test name="int_ivec4_both" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
+<TestCase name="highp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="multiple_nested_structs_arrays">
-<Test name="fragment" />
-<Test name="both" />
-<Test name="vertex" />
+</TestSuite>
+<TestSuite name="reflect">
+<TestCase name="lowp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="multiple_basic_array">
-<Test name="fragment" />
-<Test name="both" />
-<Test name="vertex" />
+<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="basic_array_assign_full">
-<TestCase name="array_in_struct">
-<Test name="sampler2D_samplerCube_both" />
-<Test name="float_vec4_fragment" />
-<Test name="int_ivec4_fragment" />
-<Test name="uint_uvec4_fragment" />
-<Test name="mat4_mat2_fragment" />
-<Test name="bool_bvec4_fragment" />
-<Test name="uint_uvec4_vertex" />
-<Test name="sampler2D_samplerCube_vertex" />
-<Test name="mat4_mat2_vertex" />
-<Test name="bool_bvec4_vertex" />
-<Test name="float_vec4_both" />
-<Test name="uint_uvec4_both" />
-<Test name="float_vec4_vertex" />
-<Test name="bool_bvec4_both" />
-<Test name="mat4_mat2_both" />
-<Test name="int_ivec4_both" />
-<Test name="int_ivec4_vertex" />
-<Test name="sampler2D_samplerCube_fragment" />
+<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="basic_array">
-<Test name="ivec4_fragment" />
-<Test name="mat4_fragment" />
-<Test name="int_vertex" />
-<Test name="vec4_both" />
-<Test name="uint_vertex" />
-<Test name="ivec4_both" />
-<Test name="float_both" />
-<Test name="bvec4_vertex" />
-<Test name="bool_fragment" />
-<Test name="uvec4_fragment" />
-<Test name="int_both" />
-<Test name="sampler2D_fragment" />
-<Test name="bool_vertex" />
-<Test name="sampler2D_vertex" />
-<Test name="float_fragment" />
-<Test name="mat4_both" />
-<Test name="uvec4_vertex" />
-<Test name="bvec4_both" />
-<Test name="mat4_vertex" />
-<Test name="bvec4_fragment" />
-<Test name="float_vertex" />
-<Test name="ivec4_vertex" />
-<Test name="uvec4_both" />
-<Test name="uint_both" />
-<Test name="sampler2D_both" />
-<Test name="vec4_fragment" />
-<Test name="int_fragment" />
-<Test name="bool_both" />
-<Test name="vec4_vertex" />
-<Test name="uint_fragment" />
+<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="multiple_basic_array">
-<Test name="fragment" />
-<Test name="both" />
-<Test name="vertex" />
+<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>
-<TestSuite name="uniform_location">
-<TestCase name="nested_struct">
-<Test name="case_4" />
-<Test name="case_9" />
-<Test name="case_8" />
-<Test name="case_7" />
-<Test name="case_6" />
-<Test name="case_5" />
-<Test name="case_14" />
-<Test name="case_3" />
-<Test name="case_2" />
-<Test name="case_1" />
-<Test name="case_0" />
-<Test name="case_12" />
-<Test name="case_11" />
-<Test name="case_10" />
-<Test name="case_15" />
-<Test name="case_13" />
-</TestCase>
-<TestCase name="struct">
-<Test name="case_4" />
-<Test name="case_9" />
-<Test name="case_8" />
-<Test name="case_7" />
-<Test name="case_6" />
-<Test name="case_5" />
-<Test name="case_14" />
-<Test name="case_3" />
-<Test name="case_2" />
-<Test name="case_1" />
-<Test name="case_0" />
-<Test name="case_12" />
-<Test name="case_11" />
-<Test name="case_10" />
-<Test name="case_15" />
-<Test name="case_13" />
+<TestSuite name="determinant">
+<TestCase name="lowp_compute">
+<Test name="mat2" />
 </TestCase>
-<TestCase name="nested_array">
-<Test name="ivec4_fragment" />
-<Test name="mat3_fragment" />
-<Test name="int_vertex" />
-<Test name="ivec2_fragment" />
-<Test name="usampler2D_fragment" />
-<Test name="bvec3_vertex" />
-<Test name="uvec4_vertex" />
-<Test name="uint_vertex" />
-<Test name="ivec3_fragment" />
-<Test name="mat4x3_fragment" />
-<Test name="mat3x2_fragment" />
-<Test name="bool_fragment" />
-<Test name="uvec4_fragment" />
-<Test name="mat3x2_vertex" />
-<Test name="mat2_vertex" />
-<Test name="mat4x3_vertex" />
-<Test name="mat2x3_fragment" />
-<Test name="uvec3_fragment" />
-<Test name="sampler2D_fragment" />
-<Test name="mat3_vertex" />
-<Test name="bool_vertex" />
-<Test name="sampler2D_vertex" />
-<Test name="vec2_fragment" />
-<Test name="float_fragment" />
-<Test name="mat3x4_fragment" />
-<Test name="mat4_fragment" />
-<Test name="uvec2_vertex" />
-<Test name="bvec2_fragment" />
-<Test name="mat4_vertex" />
-<Test name="bvec4_fragment" />
-<Test name="mat2_fragment" />
-<Test name="float_vertex" />
-<Test name="mat2x4_fragment" />
-<Test name="vec2_vertex" />
-<Test name="bvec2_vertex" />
-<Test name="ivec3_vertex" />
-<Test name="isampler2D_fragment" />
-<Test name="ivec4_vertex" />
-<Test name="ivec2_vertex" />
-<Test name="isampler2D_vertex" />
-<Test name="vec3_vertex" />
-<Test name="bvec4_vertex" />
-<Test name="uvec3_vertex" />
-<Test name="mat2x4_vertex" />
-<Test name="uvec2_fragment" />
-<Test name="mat4x2_vertex" />
-<Test name="usampler2D_vertex" />
-<Test name="vec4_fragment" />
-<Test name="vec3_fragment" />
-<Test name="int_fragment" />
-<Test name="bvec3_fragment" />
-<Test name="mat2x3_vertex" />
-<Test name="mat3x4_vertex" />
-<Test name="vec4_vertex" />
-<Test name="uint_fragment" />
-<Test name="mat4x2_fragment" />
+<TestCase name="mediump_compute">
+<Test name="mat2" />
 </TestCase>
-<TestCase name="min_max">
-<Test name="ivec4_fragment_min" />
-<Test name="ivec3_vertex_min" />
-<Test name="isampler2D_vertex_min" />
-<Test name="uvec2_fragment_max" />
-<Test name="uvec2_fragment_min" />
-<Test name="bvec2_vertex_max" />
-<Test name="ivec2_vertex_min" />
-<Test name="int_fragment_min" />
-<Test name="float_fragment_min" />
-<Test name="bvec3_fragment_max" />
-<Test name="uvec4_fragment_min" />
-<Test name="bvec4_fragment_max" />
-<Test name="uvec4_fragment_max" />
-<Test name="bvec3_fragment_min" />
-<Test name="uvec2_vertex_max" />
-<Test name="ivec2_vertex_max" />
-<Test name="bvec2_vertex_min" />
-<Test name="float_fragment_max" />
-<Test name="int_fragment_max" />
-<Test name="float_vertex_min" />
-<Test name="bvec4_fragment_min" />
-<Test name="ivec2_fragment_min" />
-<Test name="vec3_fragment_max" />
-<Test name="uvec4_vertex_min" />
-<Test name="mat4_fragment_min" />
-<Test name="sampler2D_fragment_min" />
-<Test name="mat4x2_vertex_max" />
-<Test name="mat4x2_vertex_min" />
-<Test name="mat4x3_fragment_max" />
-<Test name="vec4_vertex_max" />
-<Test name="mat2x4_fragment_max" />
-<Test name="ivec2_fragment_max" />
-<Test name="uvec4_vertex_max" />
-<Test name="mat3x4_vertex_max" />
-<Test name="mat4x3_vertex_min" />
-<Test name="mat4x2_fragment_max" />
-<Test name="mat4x3_vertex_max" />
-<Test name="mat4x2_fragment_min" />
-<Test name="mat3x4_vertex_min" />
-<Test name="mat2_vertex_min" />
-<Test name="mat4x3_fragment_min" />
-<Test name="mat2x4_fragment_min" />
-<Test name="ivec3_fragment_max" />
-<Test name="vec3_vertex_max" />
-<Test name="uint_vertex_min" />
-<Test name="vec4_vertex_min" />
-<Test name="sampler2D_vertex_min" />
-<Test name="mat3x2_vertex_min" />
-<Test name="mat2_vertex_max" />
-<Test name="ivec3_vertex_max" />
-<Test name="mat3x2_vertex_max" />
-<Test name="sampler2D_vertex_max" />
-<Test name="ivec3_fragment_min" />
-<Test name="bool_fragment_max" />
-<Test name="uvec3_vertex_max" />
-<Test name="vec3_vertex_min" />
-<Test name="uvec3_vertex_min" />
-<Test name="uint_vertex_max" />
-<Test name="bvec3_vertex_min" />
-<Test name="mat3x2_fragment_max" />
-<Test name="ivec4_vertex_min" />
-<Test name="bvec2_fragment_min" />
-<Test name="ivec4_fragment_max" />
-<Test name="uint_fragment_max" />
-<Test name="isampler2D_fragment_min" />
-<Test name="vec2_vertex_max" />
-<Test name="usampler2D_fragment_min" />
-<Test name="vec2_vertex_min" />
-<Test name="uint_fragment_min" />
-<Test name="int_vertex_min" />
-<Test name="mat3x2_fragment_min" />
-<Test name="int_vertex_max" />
-<Test name="bool_vertex_max" />
-<Test name="usampler2D_vertex_min" />
-<Test name="bool_vertex_min" />
-<Test name="isampler2D_fragment_max" />
-<Test name="bvec2_fragment_max" />
-<Test name="mat2x3_vertex_max" />
-<Test name="mat3x4_fragment_min" />
-<Test name="mat3_fragment_min" />
-<Test name="vec2_fragment_max" />
-<Test name="bvec4_vertex_min" />
-<Test name="usampler2D_vertex_max" />
-<Test name="vec2_fragment_min" />
-<Test name="mat4_fragment_max" />
-<Test name="mat2x3_vertex_min" />
-<Test name="mat3_fragment_max" />
-<Test name="vec3_fragment_min" />
-<Test name="bvec4_vertex_max" />
-<Test name="isampler2D_vertex_max" />
-<Test name="uvec2_vertex_min" />
-<Test name="float_vertex_max" />
-<Test name="uvec3_fragment_min" />
-<Test name="uvec3_fragment_max" />
-<Test name="sampler2D_fragment_max" />
-<Test name="mat3x4_fragment_max" />
-<Test name="mat4_vertex_max" />
-<Test name="mat2_fragment_max" />
-<Test name="mat2x4_vertex_max" />
-<Test name="mat4_vertex_min" />
-<Test name="mat2x3_fragment_min" />
-<Test name="ivec4_vertex_max" />
-<Test name="mat3_vertex_min" />
-<Test name="usampler2D_fragment_max" />
-<Test name="mat2x4_vertex_min" />
-<Test name="mat3_vertex_max" />
-<Test name="mat2x3_fragment_max" />
-<Test name="mat2_fragment_min" />
-<Test name="vec4_fragment_max" />
-<Test name="bool_fragment_min" />
-<Test name="vec4_fragment_min" />
-<Test name="bvec3_vertex_max" />
+<TestCase name="highp_compute">
+<Test name="mat2" />
 </TestCase>
-<TestCase name="negative">
-<Test name="array_overlap_fragment" />
-<Test name="duplicate_location_unused_fragment" />
-<Test name="array_overlap_vertex" />
-<Test name="struct_overlap_vertex" />
-<Test name="complex_overlap_vertex" />
-<Test name="struct_overlap_unused_fragment" />
-<Test name="array_overlap_unused_vertex" />
-<Test name="duplicate_location_split" />
-<Test name="duplicate_location_fragment" />
-<Test name="struct_overlap_split" />
-<Test name="duplicate_location_unused_vertex" />
-<Test name="struct_overlap_fragment" />
-<Test name="duplicate_location_vertex" />
-<Test name="struct_overlap_unused_vertex" />
-<Test name="complex_overlap_fragment" />
-<Test name="array_overlap_unused_fragment" />
-<Test name="array_overlap_split" />
+</TestSuite>
+<TestSuite name="inverse">
+<TestCase name="lowp_compute">
+<Test name="mat2" />
 </TestCase>
-<TestCase name="link">
-<Test name="case_9" />
-<Test name="case_8" />
-<Test name="case_7" />
-<Test name="case_6" />
-<Test name="case_5" />
-<Test name="case_4" />
-<Test name="case_3" />
-<Test name="case_2" />
-<Test name="case_1" />
-<Test name="case_0" />
+<TestCase name="mediump_compute">
+<Test name="mat2" />
 </TestCase>
-<TestCase name="basic">
-<Test name="ivec4_fragment" />
-<Test name="mat3_fragment" />
-<Test name="int_vertex" />
-<Test name="ivec2_fragment" />
-<Test name="usampler2D_fragment" />
-<Test name="bvec3_vertex" />
-<Test name="uvec4_vertex" />
-<Test name="uint_vertex" />
-<Test name="ivec3_fragment" />
-<Test name="mat4x3_fragment" />
-<Test name="mat3x2_fragment" />
-<Test name="bool_fragment" />
-<Test name="uvec4_fragment" />
-<Test name="mat3x2_vertex" />
-<Test name="mat2_vertex" />
-<Test name="mat4x3_vertex" />
-<Test name="mat2x3_fragment" />
-<Test name="uvec3_fragment" />
-<Test name="sampler2D_fragment" />
-<Test name="mat3_vertex" />
-<Test name="bool_vertex" />
-<Test name="sampler2D_vertex" />
-<Test name="vec2_fragment" />
-<Test name="float_fragment" />
-<Test name="mat3x4_fragment" />
-<Test name="mat4_fragment" />
-<Test name="uvec2_vertex" />
-<Test name="bvec2_fragment" />
-<Test name="mat4_vertex" />
-<Test name="bvec4_fragment" />
-<Test name="mat2_fragment" />
-<Test name="float_vertex" />
-<Test name="mat2x4_fragment" />
-<Test name="vec2_vertex" />
-<Test name="bvec2_vertex" />
-<Test name="ivec3_vertex" />
-<Test name="isampler2D_fragment" />
-<Test name="ivec4_vertex" />
-<Test name="ivec2_vertex" />
-<Test name="isampler2D_vertex" />
-<Test name="vec3_vertex" />
-<Test name="bvec4_vertex" />
-<Test name="uvec3_vertex" />
-<Test name="mat2x4_vertex" />
-<Test name="uvec2_fragment" />
-<Test name="mat4x2_vertex" />
-<Test name="usampler2D_vertex" />
-<Test name="vec4_fragment" />
-<Test name="vec3_fragment" />
-<Test name="int_fragment" />
-<Test name="bvec3_fragment" />
-<Test name="mat2x3_vertex" />
-<Test name="mat3x4_vertex" />
-<Test name="vec4_vertex" />
-<Test name="uint_fragment" />
-<Test name="mat4x2_fragment" />
+<TestCase name="highp_compute">
+<Test name="mat2" />
 </TestCase>
-<TestCase name="array">
-<Test name="ivec4_fragment" />
-<Test name="mat3_fragment" />
-<Test name="int_vertex" />
-<Test name="ivec2_fragment" />
-<Test name="usampler2D_fragment" />
-<Test name="bvec3_vertex" />
-<Test name="uvec4_vertex" />
-<Test name="uint_vertex" />
-<Test name="ivec3_fragment" />
-<Test name="mat4x3_fragment" />
-<Test name="mat3x2_fragment" />
-<Test name="bool_fragment" />
-<Test name="uvec4_fragment" />
-<Test name="mat3x2_vertex" />
-<Test name="mat2_vertex" />
-<Test name="mat4x3_vertex" />
-<Test name="mat2x3_fragment" />
-<Test name="uvec3_fragment" />
-<Test name="sampler2D_fragment" />
-<Test name="mat3_vertex" />
-<Test name="bool_vertex" />
-<Test name="sampler2D_vertex" />
-<Test name="vec2_fragment" />
-<Test name="float_fragment" />
-<Test name="mat3x4_fragment" />
-<Test name="mat4_fragment" />
-<Test name="uvec2_vertex" />
-<Test name="bvec2_fragment" />
-<Test name="mat4_vertex" />
-<Test name="bvec4_fragment" />
-<Test name="mat2_fragment" />
-<Test name="float_vertex" />
-<Test name="mat2x4_fragment" />
-<Test name="vec2_vertex" />
-<Test name="bvec2_vertex" />
-<Test name="ivec3_vertex" />
-<Test name="isampler2D_fragment" />
-<Test name="ivec4_vertex" />
-<Test name="ivec2_vertex" />
-<Test name="isampler2D_vertex" />
-<Test name="vec3_vertex" />
-<Test name="bvec4_vertex" />
-<Test name="uvec3_vertex" />
-<Test name="mat2x4_vertex" />
-<Test name="uvec2_fragment" />
-<Test name="mat4x2_vertex" />
-<Test name="usampler2D_vertex" />
-<Test name="vec4_fragment" />
-<Test name="vec3_fragment" />
-<Test name="int_fragment" />
-<Test name="bvec3_fragment" />
-<Test name="mat2x3_vertex" />
-<Test name="mat3x4_vertex" />
-<Test name="vec4_vertex" />
-<Test name="uint_fragment" />
-<Test name="mat4x2_fragment" />
+</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="synchronization">
-<TestCase name="in_invocation">
-<Test name="image_read_write" />
-<Test name="ssbo_overwrite" />
-<Test name="ssbo_alias_overwrite" />
-<Test name="ssbo_atomic_overwrite" />
-<Test name="ssbo_atomic_write_read" />
-<Test name="image_atomic_overwrite" />
-<Test name="image_overwrite" />
-<Test name="ssbo_alias_write" />
-<Test name="image_atomic_write_read" />
-<Test name="image_atomic_alias_overwrite" />
-<Test name="ssbo_atomic_alias_overwrite" />
-<Test name="image_alias_write" />
-<Test name="ssbo_read_write" />
-<Test name="ssbo_atomic_alias_write" />
-<Test name="image_write_read" />
-<Test name="image_atomic_alias_write" />
-<Test name="image_alias_overwrite" />
-<Test name="image_atomic_read_write" />
-<Test name="ssbo_atomic_read_write" />
-<Test name="ssbo_write_read" />
+<TestSuite name="ldexp">
+<TestCase name="lowp_vertex">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestSuite name="inter_call">
-<TestCase name="without_memory_barrier">
-<Test name="atomic_counter_dispatch_5_calls_32_invocations" />
-<Test name="image_atomic_dispatch_100_calls_128x128_invocations" />
-<Test name="atomic_counter_dispatch_100_calls_32_invocations" />
-<Test name="ssbo_atomic_dispatch_5_calls_1k_invocations" />
-<Test name="image_atomic_dispatch_2_calls_32x32_invocations" />
-<Test name="atomic_counter_dispatch_2_calls_32_invocations" />
-<Test name="ssbo_atomic_dispatch_100_calls_1k_invocations" />
-<Test name="ssbo_atomic_counter_mixed_dispatch_2_calls_128_invocations" />
-<Test name="ssbo_atomic_counter_mixed_dispatch_2_calls_1k_invocations" />
-<Test name="atomic_counter_dispatch_100_calls_1k_invocations" />
-<Test name="ssbo_atomic_counter_mixed_dispatch_5_calls_128_invocations" />
-<Test name="ssbo_atomic_dispatch_2_calls_1k_invocations" />
-<Test name="ssbo_atomic_dispatch_2_calls_32k_invocations" />
-<Test name="ssbo_atomic_counter_mixed_dispatch_5_calls_32_invocations" />
-<Test name="atomic_counter_dispatch_5_calls_128_invocations" />
-<Test name="ssbo_atomic_dispatch_100_calls_32k_invocations" />
-<Test name="image_atomic_dispatch_2_calls_8x8_invocations" />
-<Test name="ssbo_atomic_counter_mixed_dispatch_100_calls_32_invocations" />
-<Test name="image_atomic_dispatch_2_calls_128x128_invocations" />
-<Test name="ssbo_atomic_dispatch_2_calls_4k_invocations" />
-<Test name="ssbo_atomic_counter_mixed_dispatch_100_calls_1k_invocations" />
-<Test name="ssbo_atomic_dispatch_5_calls_4k_invocations" />
-<Test name="ssbo_atomic_dispatch_5_calls_32k_invocations" />
-<Test name="image_atomic_dispatch_100_calls_8x8_invocations" />
-<Test name="atomic_counter_dispatch_5_calls_1k_invocations" />
-<Test name="image_atomic_dispatch_5_calls_32x32_invocations" />
-<Test name="atomic_counter_dispatch_100_calls_128_invocations" />
-<Test name="atomic_counter_dispatch_2_calls_128_invocations" />
-<Test name="image_atomic_dispatch_5_calls_8x8_invocations" />
-<Test name="ssbo_atomic_dispatch_100_calls_4k_invocations" />
-<Test name="image_atomic_dispatch_100_calls_32x32_invocations" />
-<Test name="image_atomic_dispatch_5_calls_128x128_invocations" />
-<Test name="ssbo_atomic_counter_mixed_dispatch_100_calls_128_invocations" />
-<Test name="atomic_counter_dispatch_2_calls_1k_invocations" />
-<Test name="ssbo_atomic_counter_mixed_dispatch_5_calls_1k_invocations" />
-<Test name="ssbo_atomic_counter_mixed_dispatch_2_calls_32_invocations" />
+<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="with_memory_barrier">
-<Test name="ssbo_multiple_unrelated_write_read_ordered" />
-<Test name="image_atomic_multiple_unrelated_write_read_ordered" />
-<Test name="image_atomic_multiple_write_read" />
-<Test name="image_multiple_write_read" />
-<Test name="ssbo_atomic_multiple_interleaved_write_read" />
-<Test name="ssbo_multiple_interleaved_write_read" />
-<Test name="image_multiple_unrelated_write_read_ordered" />
-<Test name="image_atomic_multiple_interleaved_write_read" />
-<Test name="ssbo_multiple_unrelated_write_read_non_ordered" />
-<Test name="ssbo_read_write" />
-<Test name="ssbo_atomic_read_write" />
-<Test name="image_atomic_read_write" />
-<Test name="ssbo_atomic_multiple_write_read" />
-<Test name="image_write_read" />
-<Test name="ssbo_atomic_write_read" />
-<Test name="image_atomic_write_read" />
-<Test name="image_atomic_overwrite" />
-<Test name="ssbo_atomic_overwrite" />
-<Test name="ssbo_atomic_multiple_unrelated_write_read_ordered" />
-<Test name="image_multiple_unrelated_write_read_non_ordered" />
-<Test name="image_read_write" />
-<Test name="ssbo_overwrite" />
-<Test name="ssbo_multiple_write_read" />
-<Test name="image_atomic_multiple_unrelated_write_read_non_ordered" />
-<Test name="image_multiple_interleaved_write_read" />
-<Test name="ssbo_atomic_multiple_unrelated_write_read_non_ordered" />
-<Test name="image_overwrite" />
-<Test name="ssbo_write_read" />
+<TestCase name="highp_fragment">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-</TestSuite>
-<TestCase name="inter_invocation">
-<Test name="image_read_write" />
-<Test name="ssbo_overwrite" />
-<Test name="ssbo_alias_overwrite" />
-<Test name="ssbo_atomic_overwrite" />
-<Test name="ssbo_atomic_write_read" />
-<Test name="image_atomic_overwrite" />
-<Test name="image_overwrite" />
-<Test name="ssbo_alias_write" />
-<Test name="image_atomic_write_read" />
-<Test name="image_atomic_alias_overwrite" />
-<Test name="ssbo_atomic_alias_overwrite" />
-<Test name="image_alias_write" />
-<Test name="ssbo_read_write" />
-<Test name="ssbo_atomic_alias_write" />
-<Test name="image_write_read" />
-<Test name="image_atomic_alias_write" />
-<Test name="image_alias_overwrite" />
-<Test name="image_atomic_read_write" />
-<Test name="ssbo_atomic_read_write" />
-<Test name="ssbo_write_read" />
+<TestCase name="highp_compute">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
 </TestSuite>
-<TestSuite name="multisample">
-<TestCase name="default_framebuffer">
-<Test name="sample_mask_sum_of_inverses" />
-<Test name="constancy_alpha_to_coverage_sample_mask" />
-<Test name="constancy_sample_mask" />
-<Test name="constancy_alpha_to_coverage_sample_coverage_sample_mask" />
-<Test name="constancy_sample_coverage_sample_mask" />
-<Test name="proportionality_sample_mask" />
-<Test name="sample_position" />
-<Test name="sample_mask_non_effective_bits" />
+<TestSuite name="fma">
+<TestCase name="lowp_vertex">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-</TestSuite>
-<TestSuite name="separate_shader">
-<TestCase name="pipeline">
-<Test name="different_uniform_single_program" />
-<Test name="same_constant_separate_programs" />
-<Test name="same_uniform_separate_programs_add_both" />
-<Test name="different_uniform_separate_programs_add_vertex" />
-<Test name="different_constant_separate_programs" />
-<Test name="different_uniform_separate_programs_add_both" />
-<Test name="different_constant_single_program_add_both" />
-<Test name="different_constant_single_program" />
-<Test name="different_uniform_separate_programs_add_fragment" />
-<Test name="different_constant_separate_programs_add_fragment" />
-<Test name="same_constant_separate_programs_add_both" />
-<Test name="same_constant_separate_programs_add_vertex" />
-<Test name="different_constant_separate_programs_add_both" />
-<Test name="same_constant_separate_programs_add_fragment" />
-<Test name="same_uniform_separate_programs_add_vertex" />
-<Test name="same_uniform_separate_programs_add_fragment" />
-<Test name="different_uniform_single_program_add_both" />
-<Test name="different_constant_separate_programs_add_vertex" />
-<Test name="same_uniform_separate_programs" />
-<Test name="different_uniform_separate_programs" />
+<TestCase name="lowp_fragment">
+<Test name="scalar" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="random">
-<Test name="41" />
-<Test name="24" />
-<Test name="25" />
-<Test name="26" />
-<Test name="27" />
-<Test name="20" />
-<Test name="21" />
-<Test name="22" />
-<Test name="23" />
-<Test name="28" />
-<Test name="29" />
-<Test name="0" />
-<Test name="4" />
-<Test name="8" />
-<Test name="120" />
-<Test name="121" />
-<Test name="122" />
-<Test name="123" />
-<Test name="124" />
-<Test name="125" />
-<Test name="126" />
-<Test name="127" />
-<Test name="59" />
-<Test name="58" />
-<Test name="55" />
-<Test name="54" />
-<Test name="57" />
-<Test name="56" />
-<Test name="51" />
-<Test name="50" />
-<Test name="53" />
-<Test name="52" />
-<Test name="115" />
-<Test name="114" />
-<Test name="88" />
-<Test name="89" />
-<Test name="111" />
-<Test name="110" />
-<Test name="113" />
-<Test name="112" />
-<Test name="82" />
-<Test name="83" />
-<Test name="80" />
-<Test name="81" />
-<Test name="119" />
-<Test name="118" />
-<Test name="84" />
-<Test name="85" />
-<Test name="3" />
-<Test name="7" />
-<Test name="108" />
-<Test name="109" />
-<Test name="102" />
-<Test name="103" />
-<Test name="100" />
-<Test name="101" />
-<Test name="106" />
-<Test name="107" />
-<Test name="104" />
-<Test name="105" />
-<Test name="39" />
-<Test name="38" />
-<Test name="33" />
-<Test name="32" />
-<Test name="31" />
-<Test name="30" />
-<Test name="37" />
-<Test name="36" />
-<Test name="35" />
-<Test name="34" />
-<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="2" />
-<Test name="6" />
-<Test name="99" />
-<Test name="98" />
-<Test name="91" />
-<Test name="90" />
-<Test name="93" />
-<Test name="92" />
-<Test name="95" />
-<Test name="94" />
-<Test name="97" />
-<Test name="96" />
-<Test name="11" />
-<Test name="10" />
-<Test name="13" />
-<Test name="12" />
-<Test name="15" />
-<Test name="14" />
-<Test name="17" />
-<Test name="16" />
-<Test name="19" />
-<Test name="18" />
-<Test name="117" />
-<Test name="116" />
-<Test name="48" />
-<Test name="49" />
-<Test name="46" />
-<Test name="86" />
-<Test name="44" />
-<Test name="45" />
-<Test name="42" />
-<Test name="43" />
-<Test name="40" />
-<Test name="87" />
-<Test name="1" />
-<Test name="5" />
-<Test name="9" />
-<Test name="77" />
-<Test name="76" />
-<Test name="75" />
-<Test name="74" />
-<Test name="73" />
-<Test name="72" />
-<Test name="71" />
-<Test name="70" />
-<Test name="79" />
-<Test name="78" />
-<Test name="47" />
+<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="create_shader_program">
-<Test name="separate_programs_add_fragment" />
-<Test name="separate_programs_add_both" />
-<Test name="separate_programs" />
-<Test name="separate_programs_add_vertex" />
-<Test name="single_program_add_both" />
+</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="program_uniform">
-<Test name="separate_programs_add_fragment" />
-<Test name="separate_programs" />
-<Test name="single_program_add_both" />
-<Test name="separate_programs_add_vertex" />
-<Test name="single_program" />
-<Test name="separate_programs_add_both" />
+<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="api">
-<Test name="pipeline_active" />
-<Test name="current_program_priority" />
-<Test name="active_program_uniform" />
-<Test name="pipeline_programs" />
+<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>
-<TestCase name="interface">
-<Test name="same_location_vertex_flat" />
-<Test name="same_name_vertex_centroid_fragment_centroid" />
-<Test name="same_location_vertex_smooth_fragment_smooth" />
-<Test name="same_name_vertex_flat_fragment_flat" />
-<Test name="same_name" />
-<Test name="same_name_vertex_smooth_fragment_flat" />
-<Test name="same_location_vertex_flat_fragment_smooth" />
-<Test name="same_location_fragment_flat" />
-<Test name="same_location_vertex_flat_fragment_centroid" />
-<Test name="same_location_vertex_smooth_fragment_flat" />
-<Test name="same_name_vertex_smooth" />
-<Test name="same_location_fragment_smooth" />
-<Test name="same_location_vertex_smooth" />
-<Test name="same_location_vertex_centroid_fragment_flat" />
-<Test name="same_name_fragment_smooth" />
-<Test name="same_name_vertex_flat_fragment_centroid" />
-<Test name="same_location" />
-<Test name="same_location_vertex_centroid_fragment_smooth" />
-<Test name="same_name_fragment_flat" />
-<Test name="same_name_vertex_centroid" />
-<Test name="same_name_vertex_centroid_fragment_flat" />
-<Test name="same_name_vertex_centroid_fragment_smooth" />
-<Test name="same_location_vertex_centroid" />
-<Test name="same_location_vertex_flat_fragment_flat" />
-<Test name="same_name_vertex_smooth_fragment_centroid" />
-<Test name="same_name_vertex_flat" />
-<Test name="same_name_vertex_smooth_fragment_smooth" />
-<Test name="same_location_fragment_centroid" />
-<Test name="same_name_vertex_flat_fragment_smooth" />
-<Test name="same_location_vertex_centroid_fragment_centroid" />
-<Test name="same_location_vertex_smooth_fragment_centroid" />
-<Test name="same_name_fragment_centroid" />
+<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>
-<TestSuite name="validation">
-<TestCase name="io_blocks">
-<Test name="mismatch_member_struct_member_type" />
-<Test name="mismatch_member_order" />
-<Test name="match_different_member_struct_names" />
-<Test name="match_different_member_interpolation" />
-<Test name="mismatch_number_of_declarations" />
-<Test name="missing_input" />
-<Test name="mismatch_member_name" />
-<Test name="mismatch_variable_and_block_member_1" />
-<Test name="mismatch_member_struct_member_order" />
-<Test name="mismatch_variable_and_block_member_2" />
-<Test name="mismatch_member_type" />
-<Test name="mismatch_member_precision" />
-<Test name="mismatch_member_struct_member_precision" />
-<Test name="mismatch_array_size" />
-<Test name="missing_output" />
-<Test name="mismatch_member_struct_member_name" />
-<Test name="mismatch_member_array_size" />
+<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="varying">
-<Test name="mismatch_struct_member_name" />
-<Test name="mismatch_precision" />
-<Test name="mismatch_implicit_explicit_location_1" />
-<Test name="mismatch_explicit_location_type" />
-<Test name="mismatch_implicit_explicit_location_3" />
-<Test name="mismatch_implicit_explicit_location_2" />
-<Test name="missing_input" />
-<Test name="mismatch_array_precision" />
-<Test name="mismatch_struct_member_precision" />
-<Test name="mismatch_explicit_location" />
-<Test name="mismatch_explicit_location_precision" />
-<Test name="mismatch_type" />
-<Test name="mismatch_array_length" />
-<Test name="mismatch_struct_member_order" />
-<Test name="missing_output" />
-<Test name="mismatch_struct_member_type" />
-<Test name="mismatch_array_element_type" />
-<Test name="match_different_struct_names" />
+<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="ubo">
-<TestSuite name="2_level_struct_array">
-<TestCase name="single_buffer">
-<Test name="std140_instance_array_vertex" />
-<Test name="packed_instance_array_fragment" />
-<Test name="shared_instance_array_vertex" />
-<Test name="shared_instance_array_both" />
-<Test name="std140_instance_array_both" />
-<Test name="std140_instance_array_fragment" />
-<Test name="shared_instance_array_fragment" />
-<Test name="packed_instance_array_vertex" />
-</TestCase>
-<TestCase name="per_block_buffer">
-<Test name="shared_vertex" />
-<Test name="std140_instance_array_vertex" />
-<Test name="std140_vertex" />
-<Test name="std140_both" />
-<Test name="packed_instance_array_fragment" />
-<Test name="shared_fragment" />
-<Test name="packed_vertex" />
-<Test name="shared_instance_array_vertex" />
-<Test name="shared_instance_array_both" />
-<Test name="std140_instance_array_both" />
-<Test name="std140_instance_array_fragment" />
-<Test name="shared_both" />
-<Test name="shared_instance_array_fragment" />
-<Test name="packed_fragment" />
-<Test name="packed_instance_array_vertex" />
-<Test name="std140_fragment" />
+<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>
-<TestSuite name="random">
-<TestCase name="basic_type_arrays">
-<Test name="24" />
-<Test name="20" />
-<Test name="21" />
-<Test name="22" />
-<Test name="23" />
-<Test name="1" />
-<Test name="0" />
-<Test name="3" />
-<Test name="2" />
-<Test name="5" />
-<Test name="4" />
-<Test name="7" />
-<Test name="6" />
-<Test name="9" />
-<Test name="8" />
-<Test name="11" />
-<Test name="10" />
-<Test name="13" />
-<Test name="12" />
-<Test name="15" />
-<Test name="14" />
-<Test name="17" />
-<Test name="16" />
-<Test name="19" />
-<Test name="18" />
+<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="all_shared_buffer">
-<Test name="30" />
-<Test name="28" />
-<Test name="29" />
-<Test name="24" />
-<Test name="25" />
-<Test name="26" />
-<Test name="27" />
-<Test name="20" />
-<Test name="21" />
-<Test name="48" />
-<Test name="49" />
-<Test name="46" />
-<Test name="47" />
-<Test name="44" />
-<Test name="45" />
-<Test name="42" />
-<Test name="43" />
-<Test name="40" />
-<Test name="41" />
-<Test name="1" />
-<Test name="0" />
-<Test name="3" />
-<Test name="2" />
-<Test name="5" />
-<Test name="4" />
-<Test name="7" />
-<Test name="6" />
-<Test name="9" />
-<Test name="8" />
-<Test name="13" />
-<Test name="12" />
-<Test name="14" />
-<Test name="11" />
-<Test name="10" />
-<Test name="39" />
-<Test name="38" />
-<Test name="15" />
-<Test name="22" />
-<Test name="17" />
-<Test name="16" />
-<Test name="19" />
-<Test name="18" />
-<Test name="31" />
-<Test name="23" />
-<Test name="37" />
-<Test name="36" />
-<Test name="35" />
-<Test name="34" />
-<Test name="33" />
-<Test name="32" />
+<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="all_per_block_buffers">
-<Test name="30" />
-<Test name="28" />
-<Test name="29" />
-<Test name="24" />
-<Test name="25" />
-<Test name="26" />
-<Test name="27" />
-<Test name="20" />
-<Test name="21" />
-<Test name="48" />
-<Test name="49" />
-<Test name="46" />
-<Test name="47" />
-<Test name="44" />
-<Test name="45" />
-<Test name="42" />
-<Test name="43" />
-<Test name="40" />
-<Test name="41" />
-<Test name="1" />
-<Test name="0" />
-<Test name="3" />
-<Test name="2" />
-<Test name="5" />
-<Test name="4" />
-<Test name="7" />
-<Test name="6" />
-<Test name="9" />
-<Test name="8" />
-<Test name="13" />
-<Test name="12" />
-<Test name="14" />
-<Test name="11" />
-<Test name="10" />
-<Test name="39" />
-<Test name="38" />
-<Test name="15" />
-<Test name="22" />
-<Test name="17" />
-<Test name="16" />
-<Test name="19" />
-<Test name="18" />
-<Test name="31" />
-<Test name="23" />
-<Test name="37" />
-<Test name="36" />
-<Test name="35" />
-<Test name="34" />
-<Test name="33" />
-<Test name="32" />
+<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="2_level_array">
-<TestCase name="shared">
-<Test name="row_major_mat2x4_vertex" />
-<Test name="column_major_mat3_vertex" />
-<Test name="row_major_mat4x2_fragment" />
-<Test name="uvec4_fragment" />
-<Test name="column_major_mat2_both" />
-<Test name="row_major_mat2x3_vertex" />
-<Test name="row_major_mat4_vertex" />
-<Test name="row_major_mat3x2_both" />
-<Test name="mat3_vertex" />
-<Test name="column_major_mat3_fragment" />
-<Test name="bvec2_both" />
-<Test name="vec3_both" />
-<Test name="bvec4_fragment" />
-<Test name="row_major_mat3x2_fragment" />
-<Test name="bvec2_vertex" />
-<Test name="uvec2_both" />
-<Test name="uvec4_both" />
-<Test name="row_major_mat3x4_fragment" />
-<Test name="row_major_mat2_vertex" />
-<Test name="row_major_mat4x3_fragment" />
-<Test name="column_major_mat3x4_fragment" />
-<Test name="row_major_mat4_both" />
-<Test name="uvec3_fragment" />
-<Test name="int_fragment" />
-<Test name="column_major_mat4x2_both" />
-<Test name="ivec2_both" />
-<Test name="row_major_mat3x2_vertex" />
-<Test name="vec4_both" />
-<Test name="mat4x3_fragment" />
-<Test name="bool_fragment" />
-<Test name="column_major_mat3x2_fragment" />
-<Test name="column_major_mat2x3_both" />
-<Test name="mat4x3_vertex" />
-<Test name="mat2x3_fragment" />
-<Test name="row_major_mat2x4_fragment" />
-<Test name="row_major_mat2_fragment" />
-<Test name="ivec3_both" />
-<Test name="row_major_mat4x2_vertex" />
-<Test name="column_major_mat4x2_fragment" />
-<Test name="vec2_fragment" />
-<Test name="mat2_fragment" />
-<Test name="uvec4_vertex" />
-<Test name="uvec2_vertex" />
-<Test name="column_major_mat4x3_both" />
-<Test name="row_major_mat2_both" />
-<Test name="mat2_both" />
-<Test name="mat3x2_both" />
-<Test name="mat3x4_vertex" />
-<Test name="mat2x4_fragment" />
-<Test name="row_major_mat2x3_both" />
-<Test name="vec2_vertex" />
-<Test name="ivec3_vertex" />
-<Test name="column_major_mat2x3_vertex" />
-<Test name="uvec2_fragment" />
-<Test name="mat4x2_vertex" />
-<Test name="column_major_mat2_vertex" />
-<Test name="mat2x3_vertex" />
-<Test name="mat2x4_vertex" />
-<Test name="mat4x2_both" />
-<Test name="ivec2_fragment" />
-<Test name="bvec3_vertex" />
-<Test name="int_vertex" />
-<Test name="column_major_mat2x4_fragment" />
-<Test name="row_major_mat3_both" />
-<Test name="mat3x2_fragment" />
-<Test name="row_major_mat3_fragment" />
-<Test name="mat2_vertex" />
-<Test name="column_major_mat4x3_vertex" />
-<Test name="row_major_mat3x4_both" />
-<Test name="row_major_mat2x3_fragment" />
-<Test name="column_major_mat4_both" />
-<Test name="bvec3_both" />
-<Test name="mat3x4_fragment" />
-<Test name="mat4_fragment" />
-<Test name="bvec4_both" />
-<Test name="column_major_mat2x4_both" />
-<Test name="uint_both" />
-<Test name="row_major_mat4x3_both" />
-<Test name="column_major_mat2x3_fragment" />
-<Test name="column_major_mat3x4_both" />
-<Test name="column_major_mat3_both" />
-<Test name="vec3_fragment" />
-<Test name="mat3x4_both" />
-<Test name="bool_both" />
-<Test name="mat3_both" />
-<Test name="uint_fragment" />
-<Test name="ivec4_fragment" />
-<Test name="mat3_fragment" />
-<Test name="row_major_mat4x3_vertex" />
-<Test name="float_both" />
-<Test name="uvec3_both" />
-<Test name="uint_vertex" />
-<Test name="ivec4_both" />
-<Test name="row_major_mat2x4_both" />
-<Test name="column_major_mat3x2_both" />
-<Test name="vec2_both" />
-<Test name="bvec4_vertex" />
-<Test name="mat3x2_vertex" />
-<Test name="vec4_fragment" />
-<Test name="int_both" />
-<Test name="ivec3_fragment" />
-<Test name="bool_vertex" />
-<Test name="mat2x3_both" />
-<Test name="float_fragment" />
-<Test name="mat4_both" />
-<Test name="column_major_mat3x4_vertex" />
-<Test name="column_major_mat4_fragment" />
-<Test name="bvec2_fragment" />
-<Test name="column_major_mat2_fragment" />
-<Test name="row_major_mat4_fragment" />
-<Test name="mat4_vertex" />
-<Test name="column_major_mat4_vertex" />
-<Test name="ivec2_vertex" />
-<Test name="column_major_mat3x2_vertex" />
-<Test name="mat2x4_both" />
-<Test name="ivec4_vertex" />
-<Test name="column_major_mat2x4_vertex" />
-<Test name="row_major_mat3x4_vertex" />
-<Test name="row_major_mat3_vertex" />
-<Test name="vec3_vertex" />
-<Test name="row_major_mat4x2_both" />
-<Test name="column_major_mat4x2_vertex" />
-<Test name="column_major_mat4x3_fragment" />
-<Test name="uvec3_vertex" />
-<Test name="bvec3_fragment" />
-<Test name="mat4x3_both" />
-<Test name="float_vertex" />
-<Test name="vec4_vertex" />
-<Test name="mat4x2_fragment" />
+<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>
-<TestCase name="std140">
-<Test name="row_major_mat2x4_vertex" />
-<Test name="column_major_mat3_vertex" />
-<Test name="row_major_mat4x2_fragment" />
-<Test name="uvec4_fragment" />
-<Test name="column_major_mat2_both" />
-<Test name="row_major_mat2x3_vertex" />
-<Test name="row_major_mat4_vertex" />
-<Test name="row_major_mat3x2_both" />
-<Test name="mat3_vertex" />
-<Test name="column_major_mat3_fragment" />
-<Test name="bvec2_both" />
-<Test name="vec3_both" />
-<Test name="bvec4_fragment" />
-<Test name="row_major_mat3x2_fragment" />
-<Test name="bvec2_vertex" />
-<Test name="uvec2_both" />
-<Test name="uvec4_both" />
-<Test name="row_major_mat3x4_fragment" />
-<Test name="row_major_mat2_vertex" />
-<Test name="row_major_mat4x3_fragment" />
-<Test name="column_major_mat3x4_fragment" />
-<Test name="row_major_mat4_both" />
-<Test name="uvec3_fragment" />
-<Test name="int_fragment" />
-<Test name="column_major_mat4x2_both" />
-<Test name="ivec2_both" />
-<Test name="row_major_mat3x2_vertex" />
-<Test name="vec4_both" />
-<Test name="mat4x3_fragment" />
-<Test name="bool_fragment" />
-<Test name="column_major_mat3x2_fragment" />
-<Test name="column_major_mat2x3_both" />
-<Test name="mat4x3_vertex" />
-<Test name="mat2x3_fragment" />
-<Test name="row_major_mat2x4_fragment" />
-<Test name="row_major_mat2_fragment" />
-<Test name="ivec3_both" />
-<Test name="row_major_mat4x2_vertex" />
-<Test name="column_major_mat4x2_fragment" />
-<Test name="vec2_fragment" />
-<Test name="mat2_fragment" />
-<Test name="uvec4_vertex" />
-<Test name="uvec2_vertex" />
-<Test name="column_major_mat4x3_both" />
-<Test name="row_major_mat2_both" />
-<Test name="mat2_both" />
-<Test name="mat3x2_both" />
-<Test name="mat3x4_vertex" />
-<Test name="mat2x4_fragment" />
-<Test name="row_major_mat2x3_both" />
-<Test name="vec2_vertex" />
-<Test name="ivec3_vertex" />
-<Test name="column_major_mat2x3_vertex" />
-<Test name="uvec2_fragment" />
-<Test name="mat4x2_vertex" />
-<Test name="column_major_mat2_vertex" />
-<Test name="mat2x3_vertex" />
-<Test name="mat2x4_vertex" />
-<Test name="mat4x2_both" />
-<Test name="ivec2_fragment" />
-<Test name="bvec3_vertex" />
-<Test name="int_vertex" />
-<Test name="column_major_mat2x4_fragment" />
-<Test name="row_major_mat3_both" />
-<Test name="mat3x2_fragment" />
-<Test name="row_major_mat3_fragment" />
-<Test name="mat2_vertex" />
-<Test name="column_major_mat4x3_vertex" />
-<Test name="row_major_mat3x4_both" />
-<Test name="row_major_mat2x3_fragment" />
-<Test name="column_major_mat4_both" />
-<Test name="bvec3_both" />
-<Test name="mat3x4_fragment" />
-<Test name="mat4_fragment" />
-<Test name="bvec4_both" />
-<Test name="column_major_mat2x4_both" />
-<Test name="uint_both" />
-<Test name="row_major_mat4x3_both" />
-<Test name="column_major_mat2x3_fragment" />
-<Test name="column_major_mat3x4_both" />
-<Test name="column_major_mat3_both" />
-<Test name="vec3_fragment" />
-<Test name="mat3x4_both" />
-<Test name="bool_both" />
-<Test name="mat3_both" />
-<Test name="uint_fragment" />
-<Test name="ivec4_fragment" />
-<Test name="mat3_fragment" />
-<Test name="row_major_mat4x3_vertex" />
-<Test name="float_both" />
-<Test name="uvec3_both" />
-<Test name="uint_vertex" />
-<Test name="ivec4_both" />
-<Test name="row_major_mat2x4_both" />
-<Test name="column_major_mat3x2_both" />
-<Test name="vec2_both" />
-<Test name="bvec4_vertex" />
-<Test name="mat3x2_vertex" />
-<Test name="vec4_fragment" />
-<Test name="int_both" />
-<Test name="ivec3_fragment" />
-<Test name="bool_vertex" />
-<Test name="mat2x3_both" />
-<Test name="float_fragment" />
-<Test name="mat4_both" />
-<Test name="column_major_mat3x4_vertex" />
-<Test name="column_major_mat4_fragment" />
-<Test name="bvec2_fragment" />
-<Test name="column_major_mat2_fragment" />
-<Test name="row_major_mat4_fragment" />
-<Test name="mat4_vertex" />
-<Test name="column_major_mat4_vertex" />
-<Test name="ivec2_vertex" />
-<Test name="column_major_mat3x2_vertex" />
-<Test name="mat2x4_both" />
-<Test name="ivec4_vertex" />
-<Test name="column_major_mat2x4_vertex" />
-<Test name="row_major_mat3x4_vertex" />
-<Test name="row_major_mat3_vertex" />
-<Test name="vec3_vertex" />
-<Test name="row_major_mat4x2_both" />
-<Test name="column_major_mat4x2_vertex" />
-<Test name="column_major_mat4x3_fragment" />
-<Test name="uvec3_vertex" />
-<Test name="bvec3_fragment" />
-<Test name="mat4x3_both" />
-<Test name="float_vertex" />
-<Test name="vec4_vertex" />
-<Test name="mat4x2_fragment" />
+</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="packed">
-<Test name="row_major_mat2x4_vertex" />
-<Test name="column_major_mat3_vertex" />
-<Test name="row_major_mat4x2_fragment" />
-<Test name="uvec4_fragment" />
-<Test name="row_major_mat2x3_vertex" />
-<Test name="row_major_mat4_vertex" />
-<Test name="mat3_vertex" />
-<Test name="column_major_mat3_fragment" />
-<Test name="bvec4_fragment" />
-<Test name="row_major_mat3x2_fragment" />
-<Test name="bvec2_vertex" />
-<Test name="row_major_mat3x4_fragment" />
-<Test name="row_major_mat2_vertex" />
-<Test name="row_major_mat4x3_fragment" />
-<Test name="uvec3_fragment" />
-<Test name="int_fragment" />
-<Test name="mat3x4_vertex" />
-<Test name="row_major_mat3x2_vertex" />
-<Test name="mat4x3_fragment" />
-<Test name="bool_fragment" />
-<Test name="column_major_mat3x2_fragment" />
-<Test name="mat4x3_vertex" />
-<Test name="mat2x3_fragment" />
-<Test name="row_major_mat2x4_fragment" />
-<Test name="row_major_mat4x2_vertex" />
-<Test name="mat2_vertex" />
-<Test name="vec2_fragment" />
-<Test name="mat2_fragment" />
-<Test name="uvec4_vertex" />
-<Test name="uvec2_vertex" />
-<Test name="mat2x4_fragment" />
-<Test name="vec2_vertex" />
-<Test name="ivec3_vertex" />
-<Test name="column_major_mat2x3_vertex" />
-<Test name="uvec2_fragment" />
-<Test name="mat4x2_vertex" />
-<Test name="vec4_fragment" />
-<Test name="mat2x3_vertex" />
-<Test name="mat2x4_vertex" />
-<Test name="ivec2_fragment" />
-<Test name="bvec3_vertex" />
-<Test name="int_vertex" />
-<Test name="column_major_mat2x4_fragment" />
-<Test name="column_major_mat3x4_fragment" />
-<Test name="mat3x2_fragment" />
-<Test name="row_major_mat3_fragment" />
-<Test name="column_major_mat4x2_fragment" />
-<Test name="column_major_mat4x3_vertex" />
-<Test name="row_major_mat2x3_fragment" />
-<Test name="mat3x4_fragment" />
-<Test name="mat4_fragment" />
-<Test name="column_major_mat2_vertex" />
-<Test name="column_major_mat2x3_fragment" />
-<Test name="vec3_fragment" />
-<Test name="uint_fragment" />
-<Test name="ivec4_fragment" />
-<Test name="mat3_fragment" />
-<Test name="row_major_mat4x3_vertex" />
-<Test name="uint_vertex" />
-<Test name="bvec4_vertex" />
-<Test name="column_major_mat3x4_vertex" />
-<Test name="mat3x2_vertex" />
-<Test name="row_major_mat4_fragment" />
-<Test name="ivec3_fragment" />
-<Test name="bool_vertex" />
-<Test name="float_fragment" />
-<Test name="column_major_mat4_fragment" />
-<Test name="bvec2_fragment" />
-<Test name="column_major_mat2_fragment" />
-<Test name="row_major_mat2_fragment" />
-<Test name="mat4_vertex" />
-<Test name="column_major_mat4_vertex" />
-<Test name="ivec2_vertex" />
-<Test name="column_major_mat3x2_vertex" />
-<Test name="ivec4_vertex" />
-<Test name="column_major_mat2x4_vertex" />
-<Test name="row_major_mat3x4_vertex" />
-<Test name="row_major_mat3_vertex" />
-<Test name="vec3_vertex" />
-<Test name="column_major_mat4x2_vertex" />
-<Test name="column_major_mat4x3_fragment" />
-<Test name="uvec3_vertex" />
-<Test name="bvec3_fragment" />
-<Test name="float_vertex" />
-<Test name="vec4_vertex" />
-<Test name="mat4x2_fragment" />
+<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="3_level_array">
-<TestCase name="shared">
-<Test name="row_major_mat2x4_vertex" />
-<Test name="column_major_mat3_vertex" />
-<Test name="row_major_mat4x2_fragment" />
-<Test name="uvec4_fragment" />
-<Test name="column_major_mat2_both" />
-<Test name="row_major_mat2x3_vertex" />
-<Test name="row_major_mat4_vertex" />
-<Test name="row_major_mat3x2_both" />
-<Test name="mat3_vertex" />
-<Test name="column_major_mat3_fragment" />
-<Test name="bvec2_both" />
-<Test name="vec3_both" />
-<Test name="bvec4_fragment" />
-<Test name="row_major_mat3x2_fragment" />
-<Test name="bvec2_vertex" />
-<Test name="uvec2_both" />
-<Test name="uvec4_both" />
-<Test name="row_major_mat3x4_fragment" />
-<Test name="row_major_mat2_vertex" />
-<Test name="row_major_mat4x3_fragment" />
-<Test name="column_major_mat3x4_fragment" />
-<Test name="row_major_mat4_both" />
-<Test name="uvec3_fragment" />
-<Test name="int_fragment" />
-<Test name="column_major_mat4x2_both" />
-<Test name="ivec2_both" />
-<Test name="row_major_mat3x2_vertex" />
-<Test name="vec4_both" />
-<Test name="mat4x3_fragment" />
-<Test name="bool_fragment" />
-<Test name="column_major_mat3x2_fragment" />
-<Test name="column_major_mat2x3_both" />
-<Test name="mat4x3_vertex" />
-<Test name="mat2x3_fragment" />
-<Test name="row_major_mat2x4_fragment" />
-<Test name="row_major_mat2_fragment" />
-<Test name="ivec3_both" />
-<Test name="row_major_mat4x2_vertex" />
-<Test name="column_major_mat4x2_fragment" />
-<Test name="vec2_fragment" />
-<Test name="mat2_fragment" />
-<Test name="uvec4_vertex" />
-<Test name="uvec2_vertex" />
-<Test name="column_major_mat4x3_both" />
-<Test name="row_major_mat2_both" />
-<Test name="mat2_both" />
-<Test name="mat3x2_both" />
-<Test name="mat3x4_vertex" />
-<Test name="mat2x4_fragment" />
-<Test name="row_major_mat2x3_both" />
-<Test name="vec2_vertex" />
-<Test name="ivec3_vertex" />
-<Test name="column_major_mat2x3_vertex" />
-<Test name="uvec2_fragment" />
-<Test name="mat4x2_vertex" />
-<Test name="column_major_mat2_vertex" />
-<Test name="mat2x3_vertex" />
-<Test name="mat2x4_vertex" />
-<Test name="mat4x2_both" />
-<Test name="ivec2_fragment" />
-<Test name="bvec3_vertex" />
-<Test name="int_vertex" />
-<Test name="column_major_mat2x4_fragment" />
-<Test name="row_major_mat3_both" />
-<Test name="mat3x2_fragment" />
-<Test name="row_major_mat3_fragment" />
-<Test name="mat2_vertex" />
-<Test name="column_major_mat4x3_vertex" />
-<Test name="row_major_mat3x4_both" />
-<Test name="row_major_mat2x3_fragment" />
-<Test name="column_major_mat4_both" />
-<Test name="bvec3_both" />
-<Test name="mat3x4_fragment" />
-<Test name="mat4_fragment" />
-<Test name="bvec4_both" />
-<Test name="column_major_mat2x4_both" />
-<Test name="uint_both" />
-<Test name="row_major_mat4x3_both" />
-<Test name="column_major_mat2x3_fragment" />
-<Test name="column_major_mat3x4_both" />
-<Test name="column_major_mat3_both" />
-<Test name="vec3_fragment" />
-<Test name="mat3x4_both" />
-<Test name="bool_both" />
-<Test name="mat3_both" />
-<Test name="uint_fragment" />
-<Test name="ivec4_fragment" />
-<Test name="mat3_fragment" />
-<Test name="row_major_mat4x3_vertex" />
-<Test name="float_both" />
-<Test name="uvec3_both" />
-<Test name="uint_vertex" />
-<Test name="ivec4_both" />
-<Test name="row_major_mat2x4_both" />
-<Test name="column_major_mat3x2_both" />
-<Test name="vec2_both" />
-<Test name="bvec4_vertex" />
-<Test name="mat3x2_vertex" />
-<Test name="vec4_fragment" />
-<Test name="int_both" />
-<Test name="ivec3_fragment" />
-<Test name="bool_vertex" />
-<Test name="mat2x3_both" />
-<Test name="float_fragment" />
-<Test name="mat4_both" />
-<Test name="column_major_mat3x4_vertex" />
-<Test name="column_major_mat4_fragment" />
-<Test name="bvec2_fragment" />
-<Test name="column_major_mat2_fragment" />
-<Test name="row_major_mat4_fragment" />
-<Test name="mat4_vertex" />
-<Test name="column_major_mat4_vertex" />
-<Test name="ivec2_vertex" />
-<Test name="column_major_mat3x2_vertex" />
-<Test name="mat2x4_both" />
-<Test name="ivec4_vertex" />
-<Test name="column_major_mat2x4_vertex" />
-<Test name="row_major_mat3x4_vertex" />
-<Test name="row_major_mat3_vertex" />
-<Test name="vec3_vertex" />
-<Test name="row_major_mat4x2_both" />
-<Test name="column_major_mat4x2_vertex" />
-<Test name="column_major_mat4x3_fragment" />
-<Test name="uvec3_vertex" />
-<Test name="bvec3_fragment" />
-<Test name="mat4x3_both" />
-<Test name="float_vertex" />
-<Test name="vec4_vertex" />
-<Test name="mat4x2_fragment" />
+<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="std140">
-<Test name="row_major_mat2x4_vertex" />
-<Test name="column_major_mat3_vertex" />
-<Test name="row_major_mat4x2_fragment" />
-<Test name="uvec4_fragment" />
-<Test name="column_major_mat2_both" />
-<Test name="row_major_mat2x3_vertex" />
-<Test name="row_major_mat4_vertex" />
-<Test name="row_major_mat3x2_both" />
-<Test name="mat3_vertex" />
-<Test name="column_major_mat3_fragment" />
-<Test name="bvec2_both" />
-<Test name="vec3_both" />
-<Test name="bvec4_fragment" />
-<Test name="row_major_mat3x2_fragment" />
-<Test name="bvec2_vertex" />
-<Test name="uvec2_both" />
-<Test name="uvec4_both" />
-<Test name="row_major_mat3x4_fragment" />
-<Test name="row_major_mat2_vertex" />
-<Test name="row_major_mat4x3_fragment" />
-<Test name="column_major_mat3x4_fragment" />
-<Test name="row_major_mat4_both" />
-<Test name="uvec3_fragment" />
-<Test name="int_fragment" />
-<Test name="column_major_mat4x2_both" />
-<Test name="ivec2_both" />
-<Test name="row_major_mat3x2_vertex" />
-<Test name="vec4_both" />
-<Test name="mat4x3_fragment" />
-<Test name="bool_fragment" />
-<Test name="column_major_mat3x2_fragment" />
-<Test name="column_major_mat2x3_both" />
-<Test name="mat4x3_vertex" />
-<Test name="mat2x3_fragment" />
-<Test name="row_major_mat2x4_fragment" />
-<Test name="row_major_mat2_fragment" />
-<Test name="ivec3_both" />
-<Test name="row_major_mat4x2_vertex" />
-<Test name="column_major_mat4x2_fragment" />
-<Test name="vec2_fragment" />
-<Test name="mat2_fragment" />
-<Test name="uvec4_vertex" />
-<Test name="uvec2_vertex" />
-<Test name="column_major_mat4x3_both" />
-<Test name="row_major_mat2_both" />
-<Test name="mat2_both" />
-<Test name="mat3x2_both" />
-<Test name="mat3x4_vertex" />
-<Test name="mat2x4_fragment" />
-<Test name="row_major_mat2x3_both" />
-<Test name="vec2_vertex" />
-<Test name="ivec3_vertex" />
-<Test name="column_major_mat2x3_vertex" />
-<Test name="uvec2_fragment" />
-<Test name="mat4x2_vertex" />
-<Test name="column_major_mat2_vertex" />
-<Test name="mat2x3_vertex" />
-<Test name="mat2x4_vertex" />
-<Test name="mat4x2_both" />
-<Test name="ivec2_fragment" />
-<Test name="bvec3_vertex" />
-<Test name="int_vertex" />
-<Test name="column_major_mat2x4_fragment" />
-<Test name="row_major_mat3_both" />
-<Test name="mat3x2_fragment" />
-<Test name="row_major_mat3_fragment" />
-<Test name="mat2_vertex" />
-<Test name="column_major_mat4x3_vertex" />
-<Test name="row_major_mat3x4_both" />
-<Test name="row_major_mat2x3_fragment" />
-<Test name="column_major_mat4_both" />
-<Test name="bvec3_both" />
-<Test name="mat3x4_fragment" />
-<Test name="mat4_fragment" />
-<Test name="bvec4_both" />
-<Test name="column_major_mat2x4_both" />
-<Test name="uint_both" />
-<Test name="row_major_mat4x3_both" />
-<Test name="column_major_mat2x3_fragment" />
-<Test name="column_major_mat3x4_both" />
-<Test name="column_major_mat3_both" />
-<Test name="vec3_fragment" />
-<Test name="mat3x4_both" />
-<Test name="bool_both" />
-<Test name="mat3_both" />
-<Test name="uint_fragment" />
-<Test name="ivec4_fragment" />
-<Test name="mat3_fragment" />
-<Test name="row_major_mat4x3_vertex" />
-<Test name="float_both" />
-<Test name="uvec3_both" />
-<Test name="uint_vertex" />
-<Test name="ivec4_both" />
-<Test name="row_major_mat2x4_both" />
-<Test name="column_major_mat3x2_both" />
-<Test name="vec2_both" />
-<Test name="bvec4_vertex" />
-<Test name="mat3x2_vertex" />
-<Test name="vec4_fragment" />
-<Test name="int_both" />
-<Test name="ivec3_fragment" />
-<Test name="bool_vertex" />
-<Test name="mat2x3_both" />
-<Test name="float_fragment" />
-<Test name="mat4_both" />
-<Test name="column_major_mat3x4_vertex" />
-<Test name="column_major_mat4_fragment" />
-<Test name="bvec2_fragment" />
-<Test name="column_major_mat2_fragment" />
-<Test name="row_major_mat4_fragment" />
-<Test name="mat4_vertex" />
-<Test name="column_major_mat4_vertex" />
-<Test name="ivec2_vertex" />
-<Test name="column_major_mat3x2_vertex" />
-<Test name="mat2x4_both" />
-<Test name="ivec4_vertex" />
-<Test name="column_major_mat2x4_vertex" />
-<Test name="row_major_mat3x4_vertex" />
-<Test name="row_major_mat3_vertex" />
-<Test name="vec3_vertex" />
-<Test name="row_major_mat4x2_both" />
-<Test name="column_major_mat4x2_vertex" />
-<Test name="column_major_mat4x3_fragment" />
-<Test name="uvec3_vertex" />
-<Test name="bvec3_fragment" />
-<Test name="mat4x3_both" />
-<Test name="float_vertex" />
-<Test name="vec4_vertex" />
-<Test name="mat4x2_fragment" />
+<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="packed">
-<Test name="row_major_mat2x4_vertex" />
-<Test name="column_major_mat3_vertex" />
-<Test name="row_major_mat4x2_fragment" />
-<Test name="uvec4_fragment" />
-<Test name="row_major_mat2x3_vertex" />
-<Test name="row_major_mat4_vertex" />
-<Test name="mat3_vertex" />
-<Test name="column_major_mat3_fragment" />
-<Test name="bvec4_fragment" />
-<Test name="row_major_mat3x2_fragment" />
-<Test name="bvec2_vertex" />
-<Test name="row_major_mat3x4_fragment" />
-<Test name="row_major_mat2_vertex" />
-<Test name="row_major_mat4x3_fragment" />
-<Test name="uvec3_fragment" />
-<Test name="int_fragment" />
-<Test name="mat3x4_vertex" />
-<Test name="row_major_mat3x2_vertex" />
-<Test name="mat4x3_fragment" />
-<Test name="bool_fragment" />
-<Test name="column_major_mat3x2_fragment" />
-<Test name="mat4x3_vertex" />
-<Test name="mat2x3_fragment" />
-<Test name="row_major_mat2x4_fragment" />
-<Test name="row_major_mat4x2_vertex" />
-<Test name="mat2_vertex" />
-<Test name="vec2_fragment" />
-<Test name="mat2_fragment" />
-<Test name="uvec4_vertex" />
-<Test name="uvec2_vertex" />
-<Test name="mat2x4_fragment" />
-<Test name="vec2_vertex" />
-<Test name="ivec3_vertex" />
-<Test name="column_major_mat2x3_vertex" />
-<Test name="uvec2_fragment" />
-<Test name="mat4x2_vertex" />
-<Test name="vec4_fragment" />
-<Test name="mat2x3_vertex" />
-<Test name="mat2x4_vertex" />
-<Test name="ivec2_fragment" />
-<Test name="bvec3_vertex" />
-<Test name="int_vertex" />
-<Test name="column_major_mat2x4_fragment" />
-<Test name="column_major_mat3x4_fragment" />
-<Test name="mat3x2_fragment" />
-<Test name="row_major_mat3_fragment" />
-<Test name="column_major_mat4x2_fragment" />
-<Test name="column_major_mat4x3_vertex" />
-<Test name="row_major_mat2x3_fragment" />
-<Test name="mat3x4_fragment" />
-<Test name="mat4_fragment" />
-<Test name="column_major_mat2_vertex" />
-<Test name="column_major_mat2x3_fragment" />
-<Test name="vec3_fragment" />
-<Test name="uint_fragment" />
-<Test name="ivec4_fragment" />
-<Test name="mat3_fragment" />
-<Test name="row_major_mat4x3_vertex" />
-<Test name="uint_vertex" />
-<Test name="bvec4_vertex" />
-<Test name="column_major_mat3x4_vertex" />
-<Test name="mat3x2_vertex" />
-<Test name="row_major_mat4_fragment" />
-<Test name="ivec3_fragment" />
-<Test name="bool_vertex" />
-<Test name="float_fragment" />
-<Test name="column_major_mat4_fragment" />
-<Test name="bvec2_fragment" />
-<Test name="column_major_mat2_fragment" />
-<Test name="row_major_mat2_fragment" />
-<Test name="mat4_vertex" />
-<Test name="column_major_mat4_vertex" />
-<Test name="ivec2_vertex" />
-<Test name="column_major_mat3x2_vertex" />
-<Test name="ivec4_vertex" />
-<Test name="column_major_mat2x4_vertex" />
-<Test name="row_major_mat3x4_vertex" />
-<Test name="row_major_mat3_vertex" />
-<Test name="vec3_vertex" />
-<Test name="column_major_mat4x2_vertex" />
-<Test name="column_major_mat4x3_fragment" />
-<Test name="uvec3_vertex" />
-<Test name="bvec3_fragment" />
-<Test name="float_vertex" />
-<Test name="vec4_vertex" />
-<Test name="mat4x2_fragment" />
+<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="sample_shading">
-<TestCase name="min_sample_shading">
-<Test name="multisample_texture_samples_4_discard" />
-<Test name="multisample_renderbuffer_samples_2_color" />
-<Test name="multisample_texture_samples_8_discard" />
-<Test name="multisample_renderbuffer_samples_8_discard" />
-<Test name="default_framebuffer_discard" />
-<Test name="multisample_renderbuffer_samples_4_color" />
-<Test name="multisample_texture_samples_2_discard" />
-<Test name="multisample_texture_samples_8_color" />
-<Test name="multisample_renderbuffer_samples_2_discard" />
-<Test name="multisample_texture_samples_2_color" />
-<Test name="multisample_renderbuffer_samples_4_discard" />
-<Test name="default_framebuffer_color" />
-<Test name="multisample_renderbuffer_samples_8_color" />
-<Test name="multisample_texture_samples_4_color" />
+<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="state_query">
-<Test name="min_sample_shading_value_get_boolean" />
-<Test name="sample_shading_get_integer" />
-<Test name="sample_shading_is_enabled" />
-<Test name="min_sample_shading_value_get_integer64" />
-<Test name="min_sample_shading_value_get_integer" />
-<Test name="sample_shading_get_integer64" />
-<Test name="sample_shading_get_boolean" />
-<Test name="sample_shading_get_float" />
-<Test name="min_sample_shading_value_get_float" />
-<Test name="min_sample_shading_value_clamping" />
+<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>
-<TestSuite name="compute">
-<TestSuite name="indirect_dispatch">
-<TestCase name="upload_buffer">
-<Test name="large_offset_multiple_invocations" />
-<Test name="multi_dispatch_reuse_command" />
-<Test name="multiple_groups" />
-<Test name="small_offset" />
-<Test name="multiple_groups_multiple_invocations" />
-<Test name="empty_command" />
-<Test name="single_invocation" />
-<Test name="large_offset" />
-<Test name="multi_dispatch" />
+<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>
-<TestCase name="gen_in_compute">
-<Test name="multi_dispatch_reuse_command" />
-<Test name="multiple_groups" />
-<Test name="small_offset" />
-<Test name="multiple_groups_multiple_invocations" />
-<Test name="empty_command" />
-<Test name="single_invocation" />
-<Test name="multi_dispatch" />
+<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>
-</TestSuite>
-<TestSuite name="shared_var">
-<TestCase name="basic_type">
-<Test name="uint_lowp" />
-<Test name="mat4x3_lowp" />
-<Test name="mat4_mediump" />
-<Test name="float_lowp" />
-<Test name="vec2_highp" />
-<Test name="mat3x4_lowp" />
-<Test name="ivec3_highp" />
-<Test name="mat3_mediump" />
-<Test name="mat4_lowp" />
-<Test name="mat2_lowp" />
-<Test name="mat2_mediump" />
-<Test name="mat3x2_lowp" />
-<Test name="mat4x3_mediump" />
-<Test name="uvec2_highp" />
-<Test name="float_mediump" />
-<Test name="ivec2_highp" />
-<Test name="vec2_mediump" />
-<Test name="mat2x3_lowp" />
-<Test name="vec3_mediump" />
-<Test name="mat4x3_highp" />
-<Test name="mat2x4_highp" />
-<Test name="mat2_highp" />
-<Test name="mat3x4_highp" />
-<Test name="mat3_highp" />
-<Test name="bool" />
-<Test name="uvec4_lowp" />
-<Test name="ivec3_lowp" />
-<Test name="ivec4_highp" />
-<Test name="uint_highp" />
-<Test name="vec3_highp" />
-<Test name="uvec2_mediump" />
-<Test name="vec2_lowp" />
-<Test name="mat3x4_mediump" />
-<Test name="ivec4_mediump" />
-<Test name="mat3x2_highp" />
-<Test name="mat4x2_lowp" />
-<Test name="uvec2_lowp" />
-<Test name="uint_mediump" />
-<Test name="uvec3_mediump" />
-<Test name="vec4_highp" />
-<Test name="int_mediump" />
-<Test name="vec4_mediump" />
-<Test name="mat2x4_lowp" />
-<Test name="ivec3_mediump" />
-<Test name="float_highp" />
-<Test name="mat4x2_highp" />
-<Test name="mat2x3_highp" />
-<Test name="mat3x2_mediump" />
-<Test name="uvec4_mediump" />
-<Test name="mat4_highp" />
-<Test name="bvec3" />
-<Test name="bvec2" />
-<Test name="bvec4" />
-<Test name="mat2x3_mediump" />
-<Test name="ivec2_mediump" />
-<Test name="int_highp" />
-<Test name="vec3_lowp" />
-<Test name="ivec2_lowp" />
-<Test name="int_lowp" />
-<Test name="mat2x4_mediump" />
-<Test name="uvec3_highp" />
-<Test name="uvec3_lowp" />
-<Test name="ivec4_lowp" />
-<Test name="mat4x2_mediump" />
-<Test name="uvec4_highp" />
-<Test name="vec4_lowp" />
-<Test name="mat3_lowp" />
+<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 name="atomic">
-<TestCase name="and">
-<Test name="mediump_uint" />
-<Test name="lowp_uint" />
-<Test name="highp_int" />
-<Test name="lowp_int" />
-<Test name="mediump_int" />
-<Test name="highp_uint" />
+</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="xor">
-<Test name="mediump_uint" />
-<Test name="lowp_uint" />
-<Test name="highp_int" />
-<Test name="lowp_int" />
-<Test name="mediump_int" />
-<Test name="highp_uint" />
+<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>
-<TestCase name="exchange">
-<Test name="mediump_uint" />
-<Test name="lowp_uint" />
-<Test name="highp_int" />
-<Test name="lowp_int" />
-<Test name="mediump_int" />
-<Test name="highp_uint" />
+<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="max">
-<Test name="mediump_uint" />
-<Test name="lowp_uint" />
-<Test name="highp_int" />
-<Test name="lowp_int" />
-<Test name="mediump_int" />
-<Test name="highp_uint" />
+<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>
-<TestCase name="min">
-<Test name="mediump_uint" />
-<Test name="lowp_uint" />
-<Test name="highp_int" />
-<Test name="lowp_int" />
-<Test name="mediump_int" />
-<Test name="highp_uint" />
+</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>
-<TestCase name="add">
-<Test name="mediump_uint" />
-<Test name="lowp_uint" />
-<Test name="highp_int" />
-<Test name="lowp_int" />
-<Test name="mediump_int" />
-<Test name="highp_uint" />
+</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="compswap">
-<Test name="mediump_uint" />
-<Test name="lowp_uint" />
-<Test name="highp_int" />
-<Test name="lowp_int" />
-<Test name="mediump_int" />
-<Test name="highp_uint" />
+<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="or">
-<Test name="mediump_uint" />
-<Test name="lowp_uint" />
-<Test name="highp_int" />
-<Test name="lowp_int" />
-<Test name="mediump_int" />
-<Test name="highp_uint" />
+<TestCase name="qualifiers">
+<Test name="smooth" />
+<Test name="flat" />
+<Test name="centroid" />
+<Test name="sample" />
 </TestCase>
 </TestSuite>
-<TestCase name="work_group_size">
-<Test name="vec4_64_1_1" />
-<Test name="float_64_1_1" />
-<Test name="vec4_1_64_1" />
-<Test name="float_1_1_1" />
-<Test name="float_13_2_4" />
-<Test name="mat4_13_2_4" />
-<Test name="mat4_1_1_1" />
-<Test name="float_1_64_1" />
-<Test name="mat4_1_1_64" />
-<Test name="float_1_128_1" />
-<Test name="float_128_1_1" />
-<Test name="vec4_1_128_1" />
-<Test name="mat4_64_1_1" />
-<Test name="float_1_1_64" />
-<Test name="vec4_128_1_1" />
-<Test name="mat4_1_128_1" />
-<Test name="mat4_1_64_1" />
-<Test name="vec4_1_1_64" />
-<Test name="vec4_13_2_4" />
-<Test name="vec4_1_1_1" />
-<Test name="mat4_128_1_1" />
+<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>
-</TestSuite>
-<TestCase name="basic">
-<Test name="write_multiple_unsized_arr_multiple_groups" />
-<Test name="copy_image_to_ssbo_small" />
-<Test name="image_barrier_single" />
-<Test name="write_multiple_arr_multiple_groups" />
-<Test name="ssbo_unsized_arr_multiple_groups" />
-<Test name="ubo_to_ssbo_multiple_groups" />
-<Test name="shared_atomic_op_single_invocation" />
-<Test name="copy_ssbo_multiple_invocations" />
-<Test name="shared_var_multiple_invocations" />
-<Test name="shared_atomic_op_single_group" />
-<Test name="ssbo_cmd_barrier_single" />
-<Test name="ubo_to_ssbo_single_group" />
-<Test name="atomic_counter_single_group" />
-<Test name="ssbo_local_barrier_single_invocation" />
-<Test name="empty" />
-<Test name="shared_var_single_invocation" />
-<Test name="image_atomic_op_local_size_8" />
-<Test name="shared_atomic_op_multiple_groups" />
-<Test name="copy_ssbo_to_image_small" />
-<Test name="write_multiple_arr_single_invocation" />
-<Test name="ssbo_rw_multiple_groups" />
-<Test name="ubo_to_ssbo_multiple_invocations" />
-<Test name="ubo_to_ssbo_single_invocation" />
-<Test name="ssbo_unsized_arr_single_invocation" />
-<Test name="image_atomic_op_local_size_1" />
-<Test name="copy_ssbo_multiple_groups" />
-<Test name="ssbo_cmd_barrier_multiple" />
-<Test name="ssbo_local_barrier_single_group" />
-<Test name="atomic_counter_multiple_invocations" />
-<Test name="shared_var_single_group" />
-<Test name="atomic_counter_single_invocation" />
-<Test name="image_barrier_multiple" />
-<Test name="shared_atomic_op_multiple_invocations" />
-<Test name="ssbo_local_barrier_multiple_groups" />
-<Test name="ssbo_rw_single_invocation" />
-<Test name="write_multiple_unsized_arr_single_invocation" />
-<Test name="atomic_counter_multiple_groups" />
-<Test name="copy_ssbo_single_invocation" />
-<Test name="shared_var_multiple_groups" />
+<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="user_defined_io">
-<TestSuite name="per_patch">
-<TestCase name="vertex_io_array_size_shader_builtin">
-<Test name="quads" />
-<Test name="isolines" />
-<Test name="triangles" />
+<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="vertex_io_array_size_query">
-<Test name="quads" />
-<Test name="isolines" />
-<Test name="triangles" />
+<TestCase name="qualifiers">
+<Test name="smooth" />
+<Test name="flat" />
+<Test name="centroid" />
+<Test name="sample" />
+<Test name="patch" />
 </TestCase>
-<TestCase name="vertex_io_array_size_implicit">
-<Test name="quads" />
-<Test name="isolines" />
-<Test name="triangles" />
+<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="per_vertex_block">
-<TestCase name="vertex_io_array_size_shader_builtin">
-<Test name="quads" />
-<Test name="isolines" />
-<Test name="triangles" />
+<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="vertex_io_array_size_query">
-<Test name="quads" />
-<Test name="isolines" />
-<Test name="triangles" />
+<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="vertex_io_array_size_implicit">
-<Test name="quads" />
-<Test name="isolines" />
-<Test name="triangles" />
+</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="common_edge">
-<Test name="triangles_fractional_odd_spacing" />
-<Test name="quads_fractional_odd_spacing" />
-<Test name="triangles_fractional_even_spacing" />
-<Test name="triangles_equal_spacing" />
-<Test name="quads_fractional_even_spacing" />
-<Test name="quads_equal_spacing" />
-</TestCase>
-<TestCase name="primitive_discard">
-<Test name="isolines_equal_spacing_cw" />
-<Test name="isolines_fractional_odd_spacing_ccw_point_mode" />
-<Test name="quads_fractional_even_spacing_ccw" />
-<Test name="triangles_equal_spacing_cw_point_mode" />
-<Test name="triangles_fractional_even_spacing_cw" />
-<Test name="isolines_fractional_even_spacing_cw" />
-<Test name="quads_fractional_odd_spacing_ccw" />
-<Test name="quads_fractional_odd_spacing_cw" />
-<Test name="isolines_equal_spacing_ccw_point_mode" />
-<Test name="isolines_fractional_odd_spacing_ccw" />
-<Test name="triangles_fractional_even_spacing_ccw" />
-<Test name="triangles_equal_spacing_cw" />
-<Test name="quads_fractional_even_spacing_ccw_point_mode" />
-<Test name="isolines_fractional_odd_spacing_cw_point_mode" />
-<Test name="isolines_fractional_odd_spacing_cw" />
-<Test name="triangles_fractional_odd_spacing_cw_point_mode" />
-<Test name="isolines_fractional_even_spacing_ccw_point_mode" />
-<Test name="isolines_equal_spacing_cw_point_mode" />
-<Test name="quads_fractional_even_spacing_cw" />
-<Test name="triangles_equal_spacing_ccw" />
-<Test name="quads_fractional_odd_spacing_cw_point_mode" />
-<Test name="quads_fractional_even_spacing_cw_point_mode" />
-<Test name="isolines_equal_spacing_ccw" />
-<Test name="quads_equal_spacing_cw_point_mode" />
-<Test name="triangles_fractional_even_spacing_cw_point_mode" />
-<Test name="triangles_fractional_odd_spacing_cw" />
-<Test name="quads_equal_spacing_cw" />
-<Test name="quads_equal_spacing_ccw_point_mode" />
-<Test name="isolines_fractional_even_spacing_cw_point_mode" />
-<Test name="triangles_fractional_odd_spacing_ccw_point_mode" />
-<Test name="quads_fractional_odd_spacing_ccw_point_mode" />
-<Test name="triangles_fractional_odd_spacing_ccw" />
-<Test name="quads_equal_spacing_ccw" />
-<Test name="triangles_fractional_even_spacing_ccw_point_mode" />
-<Test name="isolines_fractional_even_spacing_ccw" />
-<Test name="triangles_equal_spacing_ccw_point_mode" />
-</TestCase>
-<TestCase name="fractional_spacing">
-<Test name="even" />
-<Test name="odd" />
+<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="shader_input_output">
-<Test name="primitive_id_tes" />
-<Test name="patch_vertices_in_tcs" />
-<Test name="patch_vertices_5_in_10_out" />
-<Test name="tess_level_inner_0_tes" />
-<Test name="tess_level_outer_2_tes" />
-<Test name="gl_position_vs_to_tcs" />
-<Test name="patch_vertices_in_tes" />
-<Test name="tess_level_outer_1_tes" />
-<Test name="tess_level_inner_1_tes" />
-<Test name="primitive_id_tcs" />
-<Test name="patch_vertices_10_in_5_out" />
-<Test name="gl_position_tcs_to_tes" />
-<Test name="tess_level_outer_0_tes" />
-<Test name="tess_level_outer_3_tes" />
-<Test name="gl_position_vs_to_tcs_to_tes" />
+<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>
-<TestCase name="winding">
-<Test name="quads_ccw" />
-<Test name="triangles_cw" />
-<Test name="triangles_ccw" />
-<Test name="quads_cw" />
+</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="tesscoord">
-<Test name="triangles_fractional_odd_spacing" />
-<Test name="quads_fractional_odd_spacing" />
-<Test name="triangles_fractional_even_spacing" />
-<Test name="isolines_fractional_even_spacing" />
-<Test name="isolines_fractional_odd_spacing" />
-<Test name="isolines_equal_spacing" />
-<Test name="quads_fractional_even_spacing" />
-<Test name="quads_equal_spacing" />
+<TestCase name="sample_variables">
+<Test name="max_samples" />
 </TestCase>
-<TestCase name="misc_draw">
-<Test name="fill_overlap_triangles_fractional_even_spacing" />
-<Test name="fill_cover_quads_equal_spacing" />
-<Test name="fill_cover_triangles_equal_spacing" />
-<Test name="fill_cover_triangles_fractional_even_spacing" />
-<Test name="fill_cover_quads_fractional_odd_spacing" />
-<Test name="isolines_equal_spacing" />
-<Test name="fill_overlap_quads_fractional_even_spacing" />
-<Test name="fill_cover_triangles_fractional_odd_spacing" />
-<Test name="fill_overlap_quads_equal_spacing" />
-<Test name="isolines_fractional_odd_spacing" />
-<Test name="fill_overlap_triangles_equal_spacing" />
-<Test name="isolines_fractional_even_spacing" />
-<Test name="fill_overlap_triangles_fractional_odd_spacing" />
-<Test name="fill_cover_quads_fractional_even_spacing" />
-<Test name="fill_overlap_quads_fractional_odd_spacing" />
+<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 name="invariance">
-<TestCase name="outer_edge_symmetry">
-<Test name="isolines_equal_spacing_cw" />
-<Test name="isolines_fractional_odd_spacing_ccw_point_mode" />
-<Test name="quads_fractional_even_spacing_ccw" />
-<Test name="triangles_equal_spacing_cw_point_mode" />
-<Test name="triangles_fractional_even_spacing_cw" />
-<Test name="isolines_fractional_even_spacing_cw" />
-<Test name="quads_fractional_odd_spacing_ccw" />
-<Test name="quads_fractional_odd_spacing_cw" />
-<Test name="isolines_equal_spacing_ccw_point_mode" />
-<Test name="isolines_fractional_odd_spacing_ccw" />
-<Test name="triangles_fractional_even_spacing_ccw" />
-<Test name="triangles_equal_spacing_cw" />
-<Test name="quads_fractional_even_spacing_ccw_point_mode" />
-<Test name="isolines_fractional_odd_spacing_cw_point_mode" />
-<Test name="isolines_fractional_odd_spacing_cw" />
-<Test name="triangles_fractional_odd_spacing_cw_point_mode" />
-<Test name="isolines_fractional_even_spacing_ccw_point_mode" />
-<Test name="isolines_equal_spacing_cw_point_mode" />
-<Test name="quads_fractional_even_spacing_cw" />
-<Test name="triangles_equal_spacing_ccw" />
-<Test name="quads_fractional_odd_spacing_cw_point_mode" />
-<Test name="quads_fractional_even_spacing_cw_point_mode" />
-<Test name="isolines_equal_spacing_ccw" />
-<Test name="quads_equal_spacing_cw_point_mode" />
-<Test name="triangles_fractional_even_spacing_cw_point_mode" />
-<Test name="triangles_fractional_odd_spacing_cw" />
-<Test name="quads_equal_spacing_cw" />
-<Test name="quads_equal_spacing_ccw_point_mode" />
-<Test name="isolines_fractional_even_spacing_cw_point_mode" />
-<Test name="triangles_fractional_odd_spacing_ccw_point_mode" />
-<Test name="quads_fractional_odd_spacing_ccw_point_mode" />
-<Test name="triangles_fractional_odd_spacing_ccw" />
-<Test name="quads_equal_spacing_ccw" />
-<Test name="triangles_fractional_even_spacing_ccw_point_mode" />
-<Test name="isolines_fractional_even_spacing_ccw" />
-<Test name="triangles_equal_spacing_ccw_point_mode" />
+</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="primitive_set">
-<Test name="isolines_equal_spacing_cw" />
-<Test name="isolines_fractional_odd_spacing_ccw_point_mode" />
-<Test name="quads_fractional_even_spacing_ccw" />
-<Test name="triangles_equal_spacing_cw_point_mode" />
-<Test name="triangles_fractional_even_spacing_cw" />
-<Test name="isolines_fractional_even_spacing_cw" />
-<Test name="quads_fractional_odd_spacing_ccw" />
-<Test name="quads_fractional_odd_spacing_cw" />
-<Test name="isolines_equal_spacing_ccw_point_mode" />
-<Test name="isolines_fractional_odd_spacing_ccw" />
-<Test name="triangles_fractional_even_spacing_ccw" />
-<Test name="triangles_equal_spacing_cw" />
-<Test name="quads_fractional_even_spacing_ccw_point_mode" />
-<Test name="isolines_fractional_odd_spacing_cw_point_mode" />
-<Test name="isolines_fractional_odd_spacing_cw" />
-<Test name="triangles_fractional_odd_spacing_cw_point_mode" />
-<Test name="isolines_fractional_even_spacing_ccw_point_mode" />
-<Test name="isolines_equal_spacing_cw_point_mode" />
-<Test name="quads_fractional_even_spacing_cw" />
-<Test name="triangles_equal_spacing_ccw" />
-<Test name="quads_fractional_odd_spacing_cw_point_mode" />
-<Test name="quads_fractional_even_spacing_cw_point_mode" />
-<Test name="isolines_equal_spacing_ccw" />
-<Test name="quads_equal_spacing_cw_point_mode" />
-<Test name="triangles_fractional_even_spacing_cw_point_mode" />
-<Test name="triangles_fractional_odd_spacing_cw" />
-<Test name="quads_equal_spacing_cw" />
-<Test name="quads_equal_spacing_ccw_point_mode" />
-<Test name="isolines_fractional_even_spacing_cw_point_mode" />
-<Test name="triangles_fractional_odd_spacing_ccw_point_mode" />
-<Test name="quads_fractional_odd_spacing_ccw_point_mode" />
-<Test name="triangles_fractional_odd_spacing_ccw" />
-<Test name="quads_equal_spacing_ccw" />
-<Test name="triangles_fractional_even_spacing_ccw_point_mode" />
-<Test name="isolines_fractional_even_spacing_ccw" />
-<Test name="triangles_equal_spacing_ccw_point_mode" />
+<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="wide_lines_4_samples_dfdx" />
+<Test name="wide_lines_4_samples_dfdy" />
+<Test name="wide_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="wide_lines_8_samples_dfdx" />
+<Test name="wide_lines_8_samples_dfdy" />
+<Test name="wide_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="wide_lines_max_samples_dfdx" />
+<Test name="wide_lines_max_samples_dfdy" />
+<Test name="wide_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>
-<TestCase name="one_minus_tess_coord_component">
-<Test name="isolines_equal_spacing_cw" />
-<Test name="isolines_fractional_odd_spacing_ccw_point_mode" />
-<Test name="quads_fractional_even_spacing_ccw" />
-<Test name="triangles_equal_spacing_cw_point_mode" />
-<Test name="triangles_fractional_even_spacing_cw" />
-<Test name="isolines_fractional_even_spacing_cw" />
-<Test name="quads_fractional_odd_spacing_ccw" />
-<Test name="quads_fractional_odd_spacing_cw" />
-<Test name="isolines_equal_spacing_ccw_point_mode" />
-<Test name="isolines_fractional_odd_spacing_ccw" />
-<Test name="triangles_fractional_even_spacing_ccw" />
-<Test name="triangles_equal_spacing_cw" />
-<Test name="quads_fractional_even_spacing_ccw_point_mode" />
-<Test name="isolines_fractional_odd_spacing_cw_point_mode" />
-<Test name="isolines_fractional_odd_spacing_cw" />
-<Test name="triangles_fractional_odd_spacing_cw_point_mode" />
-<Test name="isolines_fractional_even_spacing_ccw_point_mode" />
-<Test name="isolines_equal_spacing_cw_point_mode" />
-<Test name="quads_fractional_even_spacing_cw" />
-<Test name="triangles_equal_spacing_ccw" />
-<Test name="quads_fractional_odd_spacing_cw_point_mode" />
-<Test name="quads_fractional_even_spacing_cw_point_mode" />
-<Test name="isolines_equal_spacing_ccw" />
-<Test name="quads_equal_spacing_cw_point_mode" />
-<Test name="triangles_fractional_even_spacing_cw_point_mode" />
-<Test name="triangles_fractional_odd_spacing_cw" />
-<Test name="quads_equal_spacing_cw" />
-<Test name="quads_equal_spacing_ccw_point_mode" />
-<Test name="isolines_fractional_even_spacing_cw_point_mode" />
-<Test name="triangles_fractional_odd_spacing_ccw_point_mode" />
-<Test name="quads_fractional_odd_spacing_ccw_point_mode" />
-<Test name="triangles_fractional_odd_spacing_ccw" />
-<Test name="quads_equal_spacing_ccw" />
-<Test name="triangles_fractional_even_spacing_ccw_point_mode" />
-<Test name="isolines_fractional_even_spacing_ccw" />
-<Test name="triangles_equal_spacing_ccw_point_mode" />
+</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="outer_triangle_set">
-<Test name="triangles_fractional_odd_spacing" />
-<Test name="quads_fractional_odd_spacing" />
-<Test name="triangles_fractional_even_spacing" />
-<Test name="triangles_equal_spacing" />
-<Test name="quads_fractional_even_spacing" />
-<Test name="quads_equal_spacing" />
+<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="outer_edge_division">
-<Test name="triangles_fractional_odd_spacing" />
-<Test name="quads_fractional_odd_spacing" />
-<Test name="triangles_fractional_even_spacing" />
-<Test name="triangles_equal_spacing" />
-<Test name="quads_fractional_even_spacing" />
-<Test name="quads_equal_spacing" />
+<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>
-<TestCase name="tess_coord_component_range">
-<Test name="isolines_equal_spacing_cw" />
-<Test name="isolines_fractional_odd_spacing_ccw_point_mode" />
-<Test name="quads_fractional_even_spacing_ccw" />
-<Test name="triangles_equal_spacing_cw_point_mode" />
-<Test name="triangles_fractional_even_spacing_cw" />
-<Test name="isolines_fractional_even_spacing_cw" />
-<Test name="quads_fractional_odd_spacing_ccw" />
-<Test name="quads_fractional_odd_spacing_cw" />
-<Test name="isolines_equal_spacing_ccw_point_mode" />
-<Test name="isolines_fractional_odd_spacing_ccw" />
-<Test name="triangles_fractional_even_spacing_ccw" />
-<Test name="triangles_equal_spacing_cw" />
-<Test name="quads_fractional_even_spacing_ccw_point_mode" />
-<Test name="isolines_fractional_odd_spacing_cw_point_mode" />
-<Test name="isolines_fractional_odd_spacing_cw" />
-<Test name="triangles_fractional_odd_spacing_cw_point_mode" />
-<Test name="isolines_fractional_even_spacing_ccw_point_mode" />
-<Test name="isolines_equal_spacing_cw_point_mode" />
-<Test name="quads_fractional_even_spacing_cw" />
-<Test name="triangles_equal_spacing_ccw" />
-<Test name="quads_fractional_odd_spacing_cw_point_mode" />
-<Test name="quads_fractional_even_spacing_cw_point_mode" />
-<Test name="isolines_equal_spacing_ccw" />
-<Test name="quads_equal_spacing_cw_point_mode" />
-<Test name="triangles_fractional_even_spacing_cw_point_mode" />
-<Test name="triangles_fractional_odd_spacing_cw" />
-<Test name="quads_equal_spacing_cw" />
-<Test name="quads_equal_spacing_ccw_point_mode" />
-<Test name="isolines_fractional_even_spacing_cw_point_mode" />
-<Test name="triangles_fractional_odd_spacing_ccw_point_mode" />
-<Test name="quads_fractional_odd_spacing_ccw_point_mode" />
-<Test name="triangles_fractional_odd_spacing_ccw" />
-<Test name="quads_equal_spacing_ccw" />
-<Test name="triangles_fractional_even_spacing_ccw_point_mode" />
-<Test name="isolines_fractional_even_spacing_ccw" />
-<Test name="triangles_equal_spacing_ccw_point_mode" />
+</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="triangle_set">
-<Test name="triangles_fractional_odd_spacing" />
-<Test name="quads_fractional_odd_spacing" />
-<Test name="triangles_fractional_even_spacing" />
-<Test name="triangles_equal_spacing" />
-<Test name="quads_fractional_even_spacing" />
-<Test name="quads_equal_spacing" />
+<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="outer_edge_index_independence">
-<Test name="quads_fractional_even_spacing_ccw" />
-<Test name="triangles_equal_spacing_cw_point_mode" />
-<Test name="triangles_fractional_even_spacing_cw" />
-<Test name="quads_fractional_odd_spacing_ccw" />
-<Test name="quads_equal_spacing_ccw_point_mode" />
-<Test name="quads_fractional_odd_spacing_cw" />
-<Test name="triangles_fractional_odd_spacing_ccw_point_mode" />
-<Test name="triangles_equal_spacing_cw" />
-<Test name="quads_fractional_even_spacing_ccw_point_mode" />
-<Test name="quads_fractional_even_spacing_cw" />
-<Test name="triangles_equal_spacing_ccw" />
-<Test name="quads_fractional_odd_spacing_cw_point_mode" />
-<Test name="quads_fractional_even_spacing_cw_point_mode" />
-<Test name="triangles_fractional_odd_spacing_cw_point_mode" />
-<Test name="quads_equal_spacing_cw_point_mode" />
-<Test name="triangles_fractional_even_spacing_cw_point_mode" />
-<Test name="triangles_fractional_odd_spacing_cw" />
-<Test name="quads_equal_spacing_cw" />
-<Test name="triangles_fractional_even_spacing_ccw" />
-<Test name="quads_fractional_odd_spacing_ccw_point_mode" />
-<Test name="triangles_fractional_odd_spacing_ccw" />
-<Test name="quads_equal_spacing_ccw" />
-<Test name="triangles_fractional_even_spacing_ccw_point_mode" />
-<Test name="triangles_equal_spacing_ccw_point_mode" />
+<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="inner_triangle_set">
-<Test name="triangles_fractional_odd_spacing" />
-<Test name="quads_fractional_odd_spacing" />
-<Test name="triangles_fractional_even_spacing" />
-<Test name="triangles_equal_spacing" />
-<Test name="quads_fractional_even_spacing" />
-<Test name="quads_equal_spacing" />
+<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="atomic_counter">
-<TestCase name="get_branch">
-<Test name="1_counter_5_calls_10_threads" />
-<Test name="8_counters_100_calls_1_thread" />
-<Test name="1_counter_5_calls_1_thread" />
-<Test name="4_counters_5_calls_1_thread" />
-<Test name="8_counters_5_calls_10_threads" />
-<Test name="8_counters_5_calls_1_thread" />
-<Test name="4_counters_1_call_10_threads" />
-<Test name="4_counters_100_calls_1_thread" />
-<Test name="4_counters_100_calls_10_threads" />
-<Test name="1_counter_1_call_5000_threads" />
-<Test name="1_counter_100_calls_10_threads" />
-<Test name="8_counters_1_call_10_threads" />
-<Test name="1_counter_1_call_10_threads" />
-<Test name="1_counter_100_calls_1_thread" />
-<Test name="4_counters_5_calls_10_threads" />
-<Test name="8_counters_100_calls_10_threads" />
-</TestCase>
-<TestCase name="get_inc_branch">
-<Test name="1_counter_5_calls_10_threads" />
-<Test name="8_counters_100_calls_1_thread" />
-<Test name="1_counter_5_calls_1_thread" />
-<Test name="4_counters_5_calls_1_thread" />
-<Test name="8_counters_5_calls_10_threads" />
-<Test name="8_counters_5_calls_1_thread" />
-<Test name="4_counters_1_call_10_threads" />
-<Test name="4_counters_100_calls_1_thread" />
-<Test name="4_counters_100_calls_10_threads" />
-<Test name="1_counter_1_call_5000_threads" />
-<Test name="1_counter_100_calls_10_threads" />
-<Test name="8_counters_1_call_10_threads" />
-<Test name="1_counter_1_call_10_threads" />
-<Test name="1_counter_100_calls_1_thread" />
-<Test name="4_counters_5_calls_10_threads" />
-<Test name="8_counters_100_calls_10_threads" />
-</TestCase>
-<TestSuite name="layout">
-<TestSuite name="first_offset_set">
-<TestCase name="inc_dec">
-<Test name="8_counters_5_calls_1_thread" />
-<Test name="8_counters_5_calls_1000_threads" />
-<Test name="8_counters_1_call_1_thread" />
-<Test name="8_counters_1_call_1000_threads" />
+<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="get_inc">
-<Test name="8_counters_5_calls_1_thread" />
-<Test name="8_counters_5_calls_1000_threads" />
-<Test name="8_counters_1_call_1_thread" />
-<Test name="8_counters_1_call_1000_threads" />
+<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>
-</TestSuite>
-<TestSuite name="default_offset_set">
-<TestCase name="inc_dec">
-<Test name="8_counters_5_calls_1_thread" />
-<Test name="8_counters_5_calls_1000_threads" />
-<Test name="8_counters_1_call_1_thread" />
-<Test name="8_counters_1_call_1000_threads" />
+<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="get_inc">
-<Test name="8_counters_5_calls_1_thread" />
-<Test name="8_counters_5_calls_1000_threads" />
-<Test name="8_counters_1_call_1_thread" />
-<Test name="8_counters_1_call_1000_threads" />
+<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>
-</TestSuite>
-<TestSuite name="reverse_offset">
-<TestCase name="inc_dec">
-<Test name="8_counters_5_calls_1_thread" />
-<Test name="8_counters_5_calls_1000_threads" />
-<Test name="8_counters_1_call_1_thread" />
-<Test name="8_counters_1_call_1000_threads" />
+<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="get_inc">
-<Test name="8_counters_5_calls_1_thread" />
-<Test name="8_counters_5_calls_1000_threads" />
-<Test name="8_counters_1_call_1_thread" />
-<Test name="8_counters_1_call_1000_threads" />
+<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>
-<TestCase name="invalid">
-<Test name="invalid_binding" />
-<Test name="invalid_default_offset" />
-<Test name="invalid_default_binding" />
-<Test name="invalid_offset_align" />
-<Test name="invalid_offset_overlap" />
+<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>
-<TestSuite name="reset_default_offset">
-<TestCase name="inc_dec">
-<Test name="8_counters_5_calls_1_thread" />
-<Test name="8_counters_5_calls_1000_threads" />
-<Test name="8_counters_1_call_1_thread" />
-<Test name="8_counters_1_call_1000_threads" />
+<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="get_inc">
-<Test name="8_counters_5_calls_1_thread" />
-<Test name="8_counters_5_calls_1000_threads" />
-<Test name="8_counters_1_call_1_thread" />
-<Test name="8_counters_1_call_1000_threads" />
+<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>
-</TestSuite>
-</TestSuite>
-<TestCase name="get">
-<Test name="1_counter_5_calls_10_threads" />
-<Test name="8_counters_100_calls_1_thread" />
-<Test name="1_counter_5_calls_1_thread" />
-<Test name="4_counters_5_calls_1_thread" />
-<Test name="1_counter_1_call_1_thread" />
-<Test name="4_counters_1_call_1_thread" />
-<Test name="8_counters_5_calls_10_threads" />
-<Test name="8_counters_5_calls_1_thread" />
-<Test name="4_counters_1_call_10_threads" />
-<Test name="4_counters_100_calls_1_thread" />
-<Test name="4_counters_100_calls_10_threads" />
-<Test name="1_counter_1_call_5000_threads" />
-<Test name="1_counter_100_calls_10_threads" />
-<Test name="8_counters_1_call_10_threads" />
-<Test name="1_counter_1_call_10_threads" />
-<Test name="1_counter_100_calls_1_thread" />
-<Test name="8_counters_1_call_1_thread" />
-<Test name="4_counters_5_calls_10_threads" />
-<Test name="8_counters_100_calls_10_threads" />
+<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="inc_branch">
-<Test name="1_counter_5_calls_10_threads" />
-<Test name="8_counters_100_calls_1_thread" />
-<Test name="1_counter_5_calls_1_thread" />
-<Test name="4_counters_5_calls_1_thread" />
-<Test name="8_counters_5_calls_10_threads" />
-<Test name="8_counters_5_calls_1_thread" />
-<Test name="4_counters_1_call_10_threads" />
-<Test name="4_counters_100_calls_1_thread" />
-<Test name="4_counters_100_calls_10_threads" />
-<Test name="1_counter_1_call_5000_threads" />
-<Test name="1_counter_100_calls_10_threads" />
-<Test name="8_counters_1_call_10_threads" />
-<Test name="1_counter_1_call_10_threads" />
-<Test name="1_counter_100_calls_1_thread" />
-<Test name="4_counters_5_calls_10_threads" />
-<Test name="8_counters_100_calls_10_threads" />
+<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="get_inc_dec">
-<Test name="1_counter_5_calls_10_threads" />
-<Test name="8_counters_100_calls_1_thread" />
-<Test name="1_counter_5_calls_1_thread" />
-<Test name="4_counters_5_calls_1_thread" />
-<Test name="1_counter_1_call_1_thread" />
-<Test name="4_counters_1_call_1_thread" />
-<Test name="8_counters_5_calls_10_threads" />
-<Test name="8_counters_5_calls_1_thread" />
-<Test name="4_counters_1_call_10_threads" />
-<Test name="4_counters_100_calls_1_thread" />
-<Test name="4_counters_100_calls_10_threads" />
-<Test name="1_counter_1_call_5000_threads" />
-<Test name="1_counter_100_calls_10_threads" />
-<Test name="8_counters_1_call_10_threads" />
-<Test name="1_counter_1_call_10_threads" />
-<Test name="1_counter_100_calls_1_thread" />
-<Test name="8_counters_1_call_1_thread" />
-<Test name="4_counters_5_calls_10_threads" />
-<Test name="8_counters_100_calls_10_threads" />
+<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>
-<TestCase name="get_dec">
-<Test name="1_counter_1_call_10_threads" />
-<Test name="1_counter_1_call_5000_threads" />
-<Test name="1_counter_1_call_1_thread" />
+</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="get_inc">
-<Test name="1_counter_5_calls_10_threads" />
-<Test name="8_counters_100_calls_1_thread" />
-<Test name="1_counter_5_calls_1_thread" />
-<Test name="4_counters_5_calls_1_thread" />
-<Test name="1_counter_1_call_1_thread" />
-<Test name="4_counters_1_call_1_thread" />
-<Test name="8_counters_5_calls_10_threads" />
-<Test name="8_counters_5_calls_1_thread" />
-<Test name="4_counters_1_call_10_threads" />
-<Test name="4_counters_100_calls_1_thread" />
-<Test name="4_counters_100_calls_10_threads" />
-<Test name="1_counter_1_call_5000_threads" />
-<Test name="1_counter_100_calls_10_threads" />
-<Test name="8_counters_1_call_10_threads" />
-<Test name="1_counter_1_call_10_threads" />
-<Test name="1_counter_100_calls_1_thread" />
-<Test name="8_counters_1_call_1_thread" />
-<Test name="4_counters_5_calls_10_threads" />
-<Test name="8_counters_100_calls_10_threads" />
+<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>
-<TestCase name="inc_dec_branch">
-<Test name="1_counter_5_calls_10_threads" />
-<Test name="8_counters_100_calls_1_thread" />
-<Test name="1_counter_5_calls_1_thread" />
-<Test name="4_counters_5_calls_1_thread" />
-<Test name="8_counters_5_calls_10_threads" />
-<Test name="8_counters_5_calls_1_thread" />
-<Test name="4_counters_1_call_10_threads" />
-<Test name="4_counters_100_calls_1_thread" />
-<Test name="4_counters_100_calls_10_threads" />
-<Test name="1_counter_1_call_5000_threads" />
-<Test name="1_counter_100_calls_10_threads" />
-<Test name="8_counters_1_call_10_threads" />
-<Test name="1_counter_1_call_10_threads" />
-<Test name="1_counter_100_calls_1_thread" />
-<Test name="4_counters_5_calls_10_threads" />
-<Test name="8_counters_100_calls_10_threads" />
+</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>
-<TestCase name="get_inc_dec_branch">
-<Test name="1_counter_5_calls_10_threads" />
-<Test name="8_counters_100_calls_1_thread" />
-<Test name="1_counter_5_calls_1_thread" />
-<Test name="4_counters_5_calls_1_thread" />
-<Test name="8_counters_5_calls_10_threads" />
-<Test name="8_counters_5_calls_1_thread" />
-<Test name="4_counters_1_call_10_threads" />
-<Test name="4_counters_100_calls_1_thread" />
-<Test name="4_counters_100_calls_10_threads" />
-<Test name="1_counter_1_call_5000_threads" />
-<Test name="1_counter_100_calls_10_threads" />
-<Test name="8_counters_1_call_10_threads" />
-<Test name="1_counter_1_call_10_threads" />
-<Test name="1_counter_100_calls_1_thread" />
-<Test name="4_counters_5_calls_10_threads" />
-<Test name="8_counters_100_calls_10_threads" />
+<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="inc_dec">
-<Test name="1_counter_5_calls_10_threads" />
-<Test name="8_counters_100_calls_1_thread" />
-<Test name="1_counter_5_calls_1_thread" />
-<Test name="4_counters_5_calls_1_thread" />
-<Test name="1_counter_1_call_1_thread" />
-<Test name="4_counters_1_call_1_thread" />
-<Test name="8_counters_5_calls_10_threads" />
-<Test name="8_counters_5_calls_1_thread" />
-<Test name="4_counters_1_call_10_threads" />
-<Test name="4_counters_100_calls_1_thread" />
-<Test name="4_counters_100_calls_10_threads" />
-<Test name="1_counter_1_call_5000_threads" />
-<Test name="1_counter_100_calls_10_threads" />
-<Test name="8_counters_1_call_10_threads" />
-<Test name="1_counter_1_call_10_threads" />
-<Test name="1_counter_100_calls_1_thread" />
-<Test name="8_counters_1_call_1_thread" />
-<Test name="4_counters_5_calls_10_threads" />
-<Test name="8_counters_100_calls_10_threads" />
+<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>
-<TestCase name="dec">
-<Test name="1_counter_5_calls_10_threads" />
-<Test name="8_counters_100_calls_1_thread" />
-<Test name="1_counter_5_calls_1_thread" />
-<Test name="4_counters_5_calls_1_thread" />
-<Test name="1_counter_1_call_1_thread" />
-<Test name="4_counters_1_call_1_thread" />
-<Test name="8_counters_5_calls_10_threads" />
-<Test name="8_counters_5_calls_1_thread" />
-<Test name="4_counters_1_call_10_threads" />
-<Test name="4_counters_100_calls_1_thread" />
-<Test name="4_counters_100_calls_10_threads" />
-<Test name="1_counter_1_call_5000_threads" />
-<Test name="1_counter_100_calls_10_threads" />
-<Test name="8_counters_1_call_10_threads" />
-<Test name="1_counter_1_call_10_threads" />
-<Test name="1_counter_100_calls_1_thread" />
-<Test name="8_counters_1_call_1_thread" />
-<Test name="4_counters_5_calls_10_threads" />
-<Test name="8_counters_100_calls_10_threads" />
+</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="dec_branch">
-<Test name="1_counter_5_calls_10_threads" />
-<Test name="8_counters_100_calls_1_thread" />
-<Test name="1_counter_5_calls_1_thread" />
-<Test name="4_counters_5_calls_1_thread" />
-<Test name="8_counters_5_calls_10_threads" />
-<Test name="8_counters_5_calls_1_thread" />
-<Test name="4_counters_1_call_10_threads" />
-<Test name="4_counters_100_calls_1_thread" />
-<Test name="4_counters_100_calls_10_threads" />
-<Test name="1_counter_1_call_5000_threads" />
-<Test name="1_counter_100_calls_10_threads" />
-<Test name="8_counters_1_call_10_threads" />
-<Test name="1_counter_1_call_10_threads" />
-<Test name="1_counter_100_calls_1_thread" />
-<Test name="4_counters_5_calls_10_threads" />
-<Test name="8_counters_100_calls_10_threads" />
+<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>
-<TestCase name="get_dec_branch">
-<Test name="1_counter_5_calls_10_threads" />
-<Test name="8_counters_100_calls_1_thread" />
-<Test name="1_counter_5_calls_1_thread" />
-<Test name="4_counters_5_calls_1_thread" />
-<Test name="8_counters_5_calls_10_threads" />
-<Test name="8_counters_5_calls_1_thread" />
-<Test name="4_counters_1_call_10_threads" />
-<Test name="4_counters_100_calls_1_thread" />
-<Test name="4_counters_100_calls_10_threads" />
-<Test name="1_counter_1_call_5000_threads" />
-<Test name="1_counter_100_calls_10_threads" />
-<Test name="8_counters_1_call_10_threads" />
-<Test name="1_counter_1_call_10_threads" />
-<Test name="1_counter_100_calls_1_thread" />
-<Test name="4_counters_5_calls_10_threads" />
-<Test name="8_counters_100_calls_10_threads" />
+</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="inc">
-<Test name="1_counter_5_calls_10_threads" />
-<Test name="8_counters_100_calls_1_thread" />
-<Test name="1_counter_5_calls_1_thread" />
-<Test name="4_counters_5_calls_1_thread" />
-<Test name="1_counter_1_call_1_thread" />
-<Test name="4_counters_1_call_1_thread" />
-<Test name="8_counters_5_calls_10_threads" />
-<Test name="8_counters_5_calls_1_thread" />
-<Test name="4_counters_1_call_10_threads" />
-<Test name="4_counters_100_calls_1_thread" />
-<Test name="4_counters_100_calls_10_threads" />
-<Test name="1_counter_1_call_5000_threads" />
-<Test name="1_counter_100_calls_10_threads" />
-<Test name="8_counters_1_call_10_threads" />
-<Test name="1_counter_1_call_10_threads" />
-<Test name="1_counter_100_calls_1_thread" />
-<Test name="8_counters_1_call_1_thread" />
-<Test name="4_counters_5_calls_10_threads" />
-<Test name="8_counters_100_calls_10_threads" />
+<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="layout_binding">
-<TestSuite name="sampler">
-<TestCase name="sampler2d">
-<Test name="vertex_binding_multiple" />
-<Test name="fragment_binding_multiple" />
-<Test name="vertex_binding_array" />
-<Test name="fragment_binding_single" />
-<Test name="fragment_binding_max_array" />
-<Test name="vertex_binding_max" />
-<Test name="fragment_binding_max" />
-<Test name="vertex_binding_single" />
-<Test name="fragment_binding_array" />
-<Test name="vertex_binding_max_array" />
+</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="sampler3d">
-<Test name="vertex_binding_multiple" />
-<Test name="fragment_binding_multiple" />
-<Test name="vertex_binding_array" />
-<Test name="fragment_binding_single" />
-<Test name="fragment_binding_max_array" />
-<Test name="vertex_binding_max" />
-<Test name="fragment_binding_max" />
-<Test name="vertex_binding_single" />
-<Test name="fragment_binding_array" />
-<Test name="vertex_binding_max_array" />
+<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 name="image">
-<TestCase name="image3d">
-<Test name="vertex_binding_multiple" />
-<Test name="fragment_binding_multiple" />
-<Test name="vertex_binding_array" />
-<Test name="fragment_binding_single" />
-<Test name="fragment_binding_max_array" />
-<Test name="vertex_binding_max" />
-<Test name="fragment_binding_max" />
-<Test name="vertex_binding_single" />
-<Test name="fragment_binding_array" />
-<Test name="vertex_binding_max_array" />
-</TestCase>
-<TestCase name="image2d">
-<Test name="vertex_binding_multiple" />
-<Test name="fragment_binding_multiple" />
-<Test name="vertex_binding_array" />
-<Test name="fragment_binding_single" />
-<Test name="fragment_binding_max_array" />
-<Test name="vertex_binding_max" />
-<Test name="fragment_binding_max" />
-<Test name="vertex_binding_single" />
-<Test name="fragment_binding_array" />
-<Test name="vertex_binding_max_array" />
-</TestCase>
 </TestSuite>
-<TestCase name="ubo">
-<Test name="vertex_binding_multiple" />
-<Test name="fragment_binding_multiple" />
-<Test name="vertex_binding_array" />
-<Test name="fragment_binding_single" />
-<Test name="fragment_binding_max_array" />
-<Test name="vertex_binding_max" />
-<Test name="fragment_binding_max" />
-<Test name="vertex_binding_single" />
-<Test name="fragment_binding_array" />
-<Test name="vertex_binding_max_array" />
-</TestCase>
-<TestSuite name="negative">
-<TestSuite name="sampler">
-<TestCase name="sampler2d">
-<Test name="fragment_binding_neg" />
-<Test name="binding_contradictory" />
-<Test name="vertex_binding_neg" />
-<Test name="binding_contradictory_array" />
-<Test name="vertex_binding_over_max_array" />
-<Test name="vertex_binding_neg_array" />
-<Test name="fragment_binding_over_max_array" />
-<Test name="vertex_binding_over_max" />
-<Test name="fragment_binding_over_max" />
-<Test name="fragment_binding_neg_array" />
-</TestCase>
-<TestCase name="sampler3d">
-<Test name="fragment_binding_neg" />
-<Test name="binding_contradictory" />
-<Test name="vertex_binding_neg" />
-<Test name="binding_contradictory_array" />
-<Test name="vertex_binding_over_max_array" />
-<Test name="vertex_binding_neg_array" />
-<Test name="fragment_binding_over_max_array" />
-<Test name="vertex_binding_over_max" />
-<Test name="fragment_binding_over_max" />
-<Test name="fragment_binding_neg_array" />
-</TestCase>
 </TestSuite>
-<TestSuite name="image">
-<TestCase name="image3d">
-<Test name="fragment_binding_neg" />
-<Test name="binding_contradictory" />
-<Test name="vertex_binding_neg" />
-<Test name="binding_contradictory_array" />
-<Test name="vertex_binding_over_max_array" />
-<Test name="vertex_binding_neg_array" />
-<Test name="fragment_binding_over_max_array" />
-<Test name="vertex_binding_over_max" />
-<Test name="fragment_binding_over_max" />
-<Test name="fragment_binding_neg_array" />
+<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>
-<TestCase name="image2d">
-<Test name="fragment_binding_neg" />
-<Test name="binding_contradictory" />
-<Test name="vertex_binding_neg" />
-<Test name="binding_contradictory_array" />
-<Test name="vertex_binding_over_max_array" />
-<Test name="vertex_binding_neg_array" />
-<Test name="fragment_binding_over_max_array" />
-<Test name="vertex_binding_over_max" />
-<Test name="fragment_binding_over_max" />
-<Test name="fragment_binding_neg_array" />
+<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>
-</TestSuite>
-<TestCase name="ubo">
-<Test name="fragment_binding_neg" />
-<Test name="binding_contradictory" />
-<Test name="vertex_binding_neg" />
-<Test name="binding_contradictory_array" />
-<Test name="vertex_binding_over_max_array" />
-<Test name="vertex_binding_neg_array" />
-<Test name="fragment_binding_over_max_array" />
-<Test name="vertex_binding_over_max" />
-<Test name="fragment_binding_over_max" />
-<Test name="fragment_binding_neg_array" />
+<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>
-<TestCase name="ssbo">
-<Test name="fragment_binding_neg" />
-<Test name="binding_contradictory" />
-<Test name="vertex_binding_neg" />
-<Test name="binding_contradictory_array" />
-<Test name="vertex_binding_over_max_array" />
-<Test name="vertex_binding_neg_array" />
-<Test name="fragment_binding_over_max_array" />
-<Test name="vertex_binding_over_max" />
-<Test name="fragment_binding_over_max" />
-<Test name="fragment_binding_neg_array" />
+<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>
-</TestSuite>
-<TestCase name="ssbo">
-<Test name="vertex_binding_multiple" />
-<Test name="fragment_binding_multiple" />
-<Test name="vertex_binding_array" />
-<Test name="fragment_binding_single" />
-<Test name="fragment_binding_max_array" />
-<Test name="vertex_binding_max" />
-<Test name="fragment_binding_max" />
-<Test name="vertex_binding_single" />
-<Test name="fragment_binding_array" />
-<Test name="vertex_binding_max_array" />
+<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>
-</TestSuite>
-<TestSuite name="shaders">
-<TestSuite name="functions">
-<TestCase name="overloading">
-<Test name="arrays_of_arrays_size_vertex" />
-<Test name="arrays_of_arrays_size_fragment" />
+<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>
-</TestSuite>
-<TestSuite name="multisample_interpolation">
-<TestSuite name="interpolate_at_sample">
-<TestCase name="at_sample_id">
-<Test name="multisample_texture_1" />
-<Test name="multisample_texture_2" />
-<Test name="singlesample_rbo" />
-<Test name="multisample_texture_4" />
-<Test name="multisample_texture_8" />
-<Test name="multisample_rbo_1" />
-<Test name="multisample_rbo_4" />
-<Test name="multisample_rbo_8" />
-<Test name="multisample_rbo_16" />
-<Test name="multisample_rbo_2" />
-<Test name="singlesample_texture" />
-<Test name="default_framebuffer" />
-<Test name="multisample_texture_16" />
+<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="static_sample_number">
-<Test name="multisample_texture_1" />
-<Test name="multisample_texture_2" />
-<Test name="singlesample_rbo" />
-<Test name="multisample_texture_4" />
-<Test name="multisample_texture_8" />
-<Test name="multisample_rbo_1" />
-<Test name="multisample_rbo_4" />
-<Test name="multisample_rbo_8" />
-<Test name="multisample_rbo_16" />
-<Test name="multisample_rbo_2" />
-<Test name="singlesample_texture" />
-<Test name="default_framebuffer" />
-<Test name="multisample_texture_16" />
+<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="non_multisample_buffer">
-<Test name="sample_0_singlesample_rbo" />
-<Test name="sample_n_singlesample_rbo" />
-<Test name="sample_n_default_framebuffer" />
-<Test name="sample_0_default_framebuffer" />
-<Test name="sample_n_singlesample_texture" />
-<Test name="sample_0_singlesample_texture" />
+<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="dynamic_sample_number">
-<Test name="multisample_texture_1" />
-<Test name="multisample_texture_2" />
-<Test name="singlesample_rbo" />
-<Test name="multisample_texture_4" />
-<Test name="multisample_texture_8" />
-<Test name="multisample_rbo_1" />
-<Test name="multisample_rbo_4" />
-<Test name="multisample_rbo_8" />
-<Test name="multisample_rbo_16" />
-<Test name="multisample_rbo_2" />
-<Test name="singlesample_texture" />
-<Test name="default_framebuffer" />
-<Test name="multisample_texture_16" />
+<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>
-<TestCase name="centroid_qualified">
-<Test name="multisample_texture_1" />
-<Test name="multisample_texture_2" />
-<Test name="singlesample_rbo" />
-<Test name="multisample_texture_4" />
-<Test name="multisample_texture_8" />
-<Test name="multisample_rbo_1" />
-<Test name="multisample_rbo_4" />
-<Test name="multisample_rbo_8" />
-<Test name="multisample_rbo_16" />
-<Test name="multisample_rbo_2" />
-<Test name="singlesample_texture" />
-<Test name="default_framebuffer" />
-<Test name="multisample_texture_16" />
+</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>
-<TestCase name="sample_qualifier">
-<Test name="multisample_texture_1" />
-<Test name="multisample_texture_2" />
-<Test name="singlesample_rbo" />
-<Test name="multisample_texture_4" />
-<Test name="multisample_texture_8" />
-<Test name="multisample_rbo_1" />
-<Test name="multisample_rbo_4" />
-<Test name="multisample_rbo_8" />
-<Test name="multisample_rbo_16" />
-<Test name="multisample_rbo_2" />
-<Test name="singlesample_texture" />
-<Test name="default_framebuffer" />
-<Test name="multisample_texture_16" />
+</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>
-<TestSuite name="interpolate_at_offset">
-<TestCase name="at_sample_position">
-<Test name="multisample_texture_1" />
-<Test name="multisample_texture_2" />
-<Test name="singlesample_rbo" />
-<Test name="multisample_texture_4" />
-<Test name="multisample_texture_8" />
-<Test name="multisample_rbo_1" />
-<Test name="multisample_rbo_4" />
-<Test name="multisample_rbo_8" />
-<Test name="multisample_rbo_2" />
-<Test name="singlesample_texture" />
-<Test name="default_framebuffer" />
+<TestCase name="points">
+<Test name="single_attribute" />
+<Test name="multiple_attributes" />
+<Test name="instanced_attributes" />
+<Test name="default_attribute" />
 </TestCase>
-<TestCase name="sample_qualifier">
-<Test name="multisample_texture_1" />
-<Test name="multisample_texture_2" />
-<Test name="singlesample_rbo" />
-<Test name="multisample_texture_4" />
-<Test name="multisample_texture_8" />
-<Test name="multisample_rbo_1" />
-<Test name="multisample_rbo_4" />
-<Test name="multisample_rbo_8" />
-<Test name="multisample_rbo_2" />
-<Test name="singlesample_texture" />
-<Test name="default_framebuffer" />
+<TestCase name="triangles">
+<Test name="single_attribute" />
+<Test name="multiple_attributes" />
+<Test name="instanced_attributes" />
+<Test name="default_attribute" />
 </TestCase>
-<TestCase name="no_qualifiers">
-<Test name="multisample_texture_1" />
-<Test name="multisample_texture_2" />
-<Test name="singlesample_rbo" />
-<Test name="multisample_texture_4" />
-<Test name="multisample_texture_8" />
-<Test name="multisample_rbo_1" />
-<Test name="multisample_rbo_4" />
-<Test name="multisample_rbo_8" />
-<Test name="multisample_rbo_2" />
-<Test name="singlesample_texture" />
-<Test name="default_framebuffer" />
+<TestCase name="triangle_fan">
+<Test name="single_attribute" />
+<Test name="multiple_attributes" />
+<Test name="instanced_attributes" />
+<Test name="default_attribute" />
 </TestCase>
-<TestCase name="centroid_qualifier">
-<Test name="multisample_texture_1" />
-<Test name="multisample_texture_2" />
-<Test name="singlesample_rbo" />
-<Test name="multisample_texture_4" />
-<Test name="multisample_texture_8" />
-<Test name="multisample_rbo_1" />
-<Test name="multisample_rbo_4" />
-<Test name="multisample_rbo_8" />
-<Test name="multisample_rbo_2" />
-<Test name="singlesample_texture" />
-<Test name="default_framebuffer" />
+<TestCase name="triangle_strip">
+<Test name="single_attribute" />
+<Test name="multiple_attributes" />
+<Test name="instanced_attributes" />
+<Test name="default_attribute" />
 </TestCase>
-<TestCase name="array_element">
-<Test name="multisample_texture_1" />
-<Test name="multisample_texture_2" />
-<Test name="singlesample_rbo" />
-<Test name="multisample_texture_4" />
-<Test name="multisample_texture_8" />
-<Test name="multisample_rbo_1" />
-<Test name="multisample_rbo_4" />
-<Test name="multisample_rbo_8" />
-<Test name="multisample_rbo_2" />
-<Test name="singlesample_texture" />
-<Test name="default_framebuffer" />
+<TestCase name="lines">
+<Test name="single_attribute" />
+<Test name="multiple_attributes" />
+<Test name="instanced_attributes" />
+<Test name="default_attribute" />
 </TestCase>
-</TestSuite>
-<TestSuite name="interpolate_at_centroid">
-<TestCase name="consistency">
-<Test name="multisample_texture_1" />
-<Test name="multisample_texture_2" />
-<Test name="singlesample_rbo" />
-<Test name="multisample_texture_4" />
-<Test name="multisample_texture_8" />
-<Test name="multisample_rbo_1" />
-<Test name="multisample_rbo_4" />
-<Test name="multisample_rbo_8" />
-<Test name="multisample_rbo_16" />
-<Test name="multisample_rbo_2" />
-<Test name="singlesample_texture" />
-<Test name="default_framebuffer" />
-<Test name="multisample_texture_16" />
+<TestCase name="line_strip">
+<Test name="single_attribute" />
+<Test name="multiple_attributes" />
+<Test name="instanced_attributes" />
+<Test name="default_attribute" />
 </TestCase>
-<TestCase name="array_element">
-<Test name="multisample_texture_1" />
-<Test name="multisample_texture_2" />
-<Test name="singlesample_rbo" />
-<Test name="multisample_texture_4" />
-<Test name="multisample_texture_8" />
-<Test name="multisample_rbo_1" />
-<Test name="multisample_rbo_4" />
-<Test name="multisample_rbo_8" />
-<Test name="multisample_rbo_16" />
-<Test name="multisample_rbo_2" />
-<Test name="singlesample_texture" />
-<Test name="default_framebuffer" />
-<Test name="multisample_texture_16" />
+<TestCase name="line_loop">
+<Test name="single_attribute" />
+<Test name="multiple_attributes" />
+<Test name="instanced_attributes" />
+<Test name="default_attribute" />
 </TestCase>
 </TestSuite>
-</TestSuite>
-<TestSuite name="builtin_constants">
-<TestCase name="sample_variables">
-<Test name="max_samples" />
+<TestSuite name="draw_elements_indirect">
+<TestCase name="indices">
+<Test name="index_byte" />
+<Test name="index_short" />
+<Test name="index_int" />
 </TestCase>
-<TestCase name="core">
-<Test name="max_compute_work_group_count" />
-<Test name="max_compute_texture_image_units" />
-<Test name="max_atomic_counter_bindings" />
-<Test name="max_vertex_atomic_counters" />
-<Test name="min_program_texel_offset" />
-<Test name="max_vertex_output_vectors" />
-<Test name="max_fragment_atomic_counters" />
-<Test name="max_vertex_texture_image_units" />
-<Test name="max_image_units" />
-<Test name="max_combined_texture_image_units" />
-<Test name="max_fragment_image_uniforms" />
-<Test name="max_compute_uniform_components" />
-<Test name="max_combined_shader_output_resources" />
-<Test name="max_compute_image_uniforms" />
-<Test name="max_program_texel_offset" />
-<Test name="max_compute_atomic_counter_buffers" />
-<Test name="max_combined_image_uniforms" />
-<Test name="max_vertex_uniform_vectors" />
-<Test name="max_texture_image_units" />
-<Test name="max_fragment_input_vectors" />
-<Test name="max_combined_atomic_counters" />
-<Test name="max_compute_work_group_size" />
-<Test name="max_vertex_image_uniforms" />
-<Test name="max_fragment_uniform_vectors" />
-<Test name="max_vertex_attribs" />
-<Test name="max_compute_atomic_counters" />
-<Test name="max_draw_buffers" />
-<Test name="max_fragment_atomic_counter_buffers" />
+<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="geometry_shader">
-<Test name="max_geometry_output_components" />
-<Test name="max_geometry_image_uniforms" />
-<Test name="max_geometry_total_output_components" />
-<Test name="max_geometry_texture_image_units" />
-<Test name="max_geometry_uniform_components" />
-<Test name="max_geometry_atomic_counter_buffers" />
-<Test name="max_geometry_input_components" />
-<Test name="max_geometry_atomic_counters" />
-<Test name="max_geometry_output_vertices" />
+<TestCase name="points">
+<Test name="single_attribute" />
+<Test name="multiple_attributes" />
+<Test name="instanced_attributes" />
+<Test name="default_attribute" />
 </TestCase>
-</TestSuite>
-<TestSuite name="arrays_of_arrays">
-<TestSuite name="return">
-<TestCase name="explicit">
-<Test name="bool_3x2x3_fragment" />
-<Test name="struct_3x1x3_vertex" />
-<Test name="bool_3x2x3_vertex" />
-<Test name="mat3_3x2_vertex" />
-<Test name="mat3_3x3x3_fragment" />
-<Test name="float_3x3_fragment" />
-<Test name="bvec4_4x2_vertex" />
-<Test name="struct_3x1x3_fragment" />
-<Test name="int_2x2x2_vertex" />
-<Test name="int_2x2x2_fragment" />
-<Test name="mat3_3x2_fragment" />
-<Test name="float_3x3_vertex" />
-<Test name="ivec3_3x3_fragment" />
-<Test name="mat3_3x4_fragment" />
-<Test name="vec3_2x3_fragment" />
-<Test name="mat3_3x4_vertex" />
-<Test name="bvec4_4x2_fragment" />
-<Test name="mat3_3x3x3_vertex" />
-<Test name="ivec3_3x3_vertex" />
-<Test name="vec3_2x3_vertex" />
+<TestCase name="triangles">
+<Test name="single_attribute" />
+<Test name="multiple_attributes" />
+<Test name="instanced_attributes" />
+<Test name="default_attribute" />
 </TestCase>
-<TestCase name="implicit">
-<Test name="bool_3x2x3_fragment" />
-<Test name="struct_3x1x3_vertex" />
-<Test name="bool_3x2x3_vertex" />
-<Test name="mat3_3x2_vertex" />
-<Test name="mat3_3x3x3_fragment" />
-<Test name="float_3x3_fragment" />
-<Test name="bvec4_4x2_vertex" />
-<Test name="struct_3x1x3_fragment" />
-<Test name="int_2x2x2_vertex" />
-<Test name="int_2x2x2_fragment" />
-<Test name="mat3_3x2_fragment" />
-<Test name="float_3x3_vertex" />
-<Test name="ivec3_3x3_fragment" />
-<Test name="mat3_3x4_fragment" />
-<Test name="vec3_2x3_fragment" />
-<Test name="mat3_3x4_vertex" />
-<Test name="bvec4_4x2_fragment" />
-<Test name="mat3_3x3x3_vertex" />
-<Test name="ivec3_3x3_vertex" />
-<Test name="vec3_2x3_vertex" />
+<TestCase name="triangle_fan">
+<Test name="single_attribute" />
+<Test name="multiple_attributes" />
+<Test name="instanced_attributes" />
+<Test name="default_attribute" />
 </TestCase>
-</TestSuite>
-<TestSuite name="assignment">
-<TestCase name="implicit_to_explicit">
-<Test name="struct_5x5x4_fragment" />
-<Test name="bvec3_3x1_fragment" />
-<Test name="ivec3_3x1x3_fragment" />
-<Test name="mat3_3x2_vertex" />
-<Test name="mat3_3x3x3_fragment" />
-<Test name="float_3x3_fragment" />
-<Test name="vec3_1x3_vertex" />
-<Test name="int_2x3_vertex" />
-<Test name="mat3_3x4_vertex" />
-<Test name="bvec3_3x1_vertex" />
-<Test name="bool_3x3x3_vertex" />
-<Test name="float_3x3_vertex" />
-<Test name="int_2x3_fragment" />
-<Test name="mat3_3x4_fragment" />
-<Test name="mat3_3x2_fragment" />
-<Test name="struct_5x5x4_vertex" />
-<Test name="vec3_1x3_fragment" />
-<Test name="mat3_3x3x3_vertex" />
-<Test name="bool_3x3x3_fragment" />
-<Test name="ivec3_3x1x3_vertex" />
+<TestCase name="triangle_strip">
+<Test name="single_attribute" />
+<Test name="multiple_attributes" />
+<Test name="instanced_attributes" />
+<Test name="default_attribute" />
 </TestCase>
-<TestCase name="explicit_to_explicit">
-<Test name="struct_5x5x4_fragment" />
-<Test name="bvec3_3x1_fragment" />
-<Test name="ivec3_3x1x3_fragment" />
-<Test name="mat3_3x2_vertex" />
-<Test name="mat3_3x3x3_fragment" />
-<Test name="float_3x3_fragment" />
-<Test name="vec3_1x3_vertex" />
-<Test name="int_2x3_vertex" />
-<Test name="mat3_3x4_vertex" />
-<Test name="bvec3_3x1_vertex" />
-<Test name="bool_3x3x3_vertex" />
-<Test name="float_3x3_vertex" />
-<Test name="int_2x3_fragment" />
-<Test name="mat3_3x4_fragment" />
-<Test name="mat3_3x2_fragment" />
-<Test name="struct_5x5x4_vertex" />
-<Test name="vec3_1x3_fragment" />
-<Test name="mat3_3x3x3_vertex" />
-<Test name="bool_3x3x3_fragment" />
-<Test name="ivec3_3x1x3_vertex" />
+<TestCase name="lines">
+<Test name="single_attribute" />
+<Test name="multiple_attributes" />
+<Test name="instanced_attributes" />
+<Test name="default_attribute" />
 </TestCase>
-</TestSuite>
-<TestCase name="invalid">
-<Test name="dynamic_expression_array_size_fragment" />
-<Test name="storage_block_fragment" />
-<Test name="uniform_block_vertex" />
-<Test name="uniform_block_fragment" />
-<Test name="dynamic_expression_array_size_vertex" />
-<Test name="empty_declaration_with_var_name_fragment" />
-<Test name="empty_declaration_with_var_name_vertex" />
-<Test name="storage_block_vertex" />
+<TestCase name="line_strip">
+<Test name="single_attribute" />
+<Test name="multiple_attributes" />
+<Test name="instanced_attributes" />
+<Test name="default_attribute" />
 </TestCase>
-<TestCase name="length">
-<Test name="mat3_fragment" />
-<Test name="int_vertex" />
-<Test name="constant_expression_fragment" />
-<Test name="constant_expression_vertex" />
-<Test name="mat3_vertex" />
-<Test name="bool_vertex" />
-<Test name="int_fragment" />
-<Test name="float_vertex" />
-<Test name="struct_fragment" />
-<Test name="bool_fragment" />
-<Test name="float_fragment" />
-<Test name="struct_vertex" />
+<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>
-<TestCase name="implicit_size">
-<Test name="struct_5x5x4_fragment" />
-<Test name="bvec3_3x1_fragment" />
-<Test name="ivec3_3x1x3_fragment" />
-<Test name="mat3_3x2_vertex" />
-<Test name="mat3_3x3x3_fragment" />
-<Test name="float_3x3_fragment" />
-<Test name="vec3_1x3_vertex" />
-<Test name="int_2x3_vertex" />
-<Test name="mat3_3x4_vertex" />
-<Test name="bvec3_3x1_vertex" />
-<Test name="bool_3x3x3_vertex" />
-<Test name="float_3x3_vertex" />
-<Test name="int_2x3_fragment" />
-<Test name="mat3_3x4_fragment" />
-<Test name="mat3_3x2_fragment" />
-<Test name="struct_5x5x4_vertex" />
-<Test name="vec3_1x3_fragment" />
-<Test name="mat3_3x3x3_vertex" />
-<Test name="bool_3x3x3_fragment" />
-<Test name="ivec3_3x1x3_vertex" />
+<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>
-<TestSuite name="constructor">
-<TestCase name="explicit">
-<Test name="bvec3_1x2x3_fragment" />
-<Test name="mat3_3x2_vertex" />
-<Test name="vec3_4x3_vertex" />
-<Test name="float_3x3_fragment" />
-<Test name="struct_4x1x4_vertex" />
-<Test name="mat3_3x3x3_fragment" />
-<Test name="struct_3x2_vertex" />
-<Test name="bool_3x3x3_vertex" />
-<Test name="ivec3_3x2x1_fragment" />
-<Test name="int_3x1_fragment" />
-<Test name="bool_3x3x3_fragment" />
-<Test name="float_3x4_vertex" />
-<Test name="int_4x4x4_fragment" />
-<Test name="mat3_3x4_vertex" />
-<Test name="int_3x1_vertex" />
-<Test name="float_3x3_vertex" />
-<Test name="ivec3_3x2x1_vertex" />
-<Test name="high_dimensional_array_fragment" />
-<Test name="bvec3_1x2x3_vertex" />
-<Test name="high_dimensional_array_vertex" />
-<Test name="struct_3x2_fragment" />
-<Test name="struct_4x1x4_fragment" />
-<Test name="mat3_3x3x3_vertex" />
-<Test name="mat3_3x2_fragment" />
-<Test name="int_4x4x4_vertex" />
-<Test name="vec3_4x3_fragment" />
-<Test name="float_3x4_fragment" />
-<Test name="mat3_3x4_fragment" />
-<Test name="bool_2x1x4_fragment" />
-<Test name="bool_2x1x4_vertex" />
+<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="implicit">
-<Test name="bvec3_1x2x3_fragment" />
-<Test name="mat3_3x2_vertex" />
-<Test name="vec3_4x3_vertex" />
-<Test name="float_3x3_fragment" />
-<Test name="struct_4x1x4_vertex" />
-<Test name="mat3_3x3x3_fragment" />
-<Test name="struct_3x2_vertex" />
-<Test name="bool_3x3x3_vertex" />
-<Test name="ivec3_3x2x1_fragment" />
-<Test name="int_3x1_fragment" />
-<Test name="bool_3x3x3_fragment" />
-<Test name="float_3x4_vertex" />
-<Test name="int_4x4x4_fragment" />
-<Test name="mat3_3x4_vertex" />
-<Test name="int_3x1_vertex" />
-<Test name="float_3x3_vertex" />
-<Test name="ivec3_3x2x1_vertex" />
-<Test name="int_high_dimensional_array_vertex" />
-<Test name="bvec3_1x2x3_vertex" />
-<Test name="struct_3x2_fragment" />
-<Test name="struct_4x1x4_fragment" />
-<Test name="mat3_3x3x3_vertex" />
-<Test name="mat3_3x2_fragment" />
-<Test name="int_4x4x4_vertex" />
-<Test name="vec3_4x3_fragment" />
-<Test name="float_3x4_fragment" />
-<Test name="int_high_dimensional_array_fragment" />
-<Test name="mat3_3x4_fragment" />
-<Test name="bool_2x1x4_fragment" />
-<Test name="bool_2x1x4_vertex" />
+<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_1000x1000_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_1000x1000_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_separate_grid_1000x1000_drawcount_5000" />
+<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_1000x1000_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_1000x1000_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="drawarrays_combined_grid_1000x1000_drawcount_5000" />
+<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_1500x1500_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_1500x1500_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_separate_grid_1000x1000_drawcount_5000" />
+<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_1500x1500_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_1500x1500_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" />
+<Test name="drawelements_combined_grid_1000x1000_drawcount_5000" />
 </TestCase>
 </TestSuite>
-<TestSuite name="parameter">
-<TestCase name="unnamed">
-<Test name="bool_3x2x3_fragment" />
-<Test name="struct_3x1x3_vertex" />
-<Test name="bool_3x2x3_vertex" />
-<Test name="mat3_3x2_vertex" />
-<Test name="mat3_3x3x3_fragment" />
-<Test name="float_3x3_fragment" />
-<Test name="bvec4_4x2_vertex" />
-<Test name="struct_3x1x3_fragment" />
-<Test name="int_2x2x2_vertex" />
-<Test name="int_2x2x2_fragment" />
-<Test name="mat3_3x2_fragment" />
-<Test name="float_3x3_vertex" />
-<Test name="ivec3_3x3_fragment" />
-<Test name="mat3_3x4_fragment" />
-<Test name="vec3_2x3_fragment" />
-<Test name="mat3_3x4_vertex" />
-<Test name="bvec4_4x2_fragment" />
-<Test name="mat3_3x3x3_vertex" />
-<Test name="ivec3_3x3_vertex" />
-<Test name="vec3_2x3_vertex" />
-</TestCase>
-<TestCase name="in">
-<Test name="bool_3x2x3_fragment" />
-<Test name="struct_3x1x3_vertex" />
-<Test name="bool_3x2x3_vertex" />
-<Test name="mat3_3x2_vertex" />
-<Test name="mat3_3x3x3_fragment" />
-<Test name="float_3x3_fragment" />
-<Test name="bvec4_4x2_vertex" />
-<Test name="struct_3x1x3_fragment" />
-<Test name="int_2x2x2_vertex" />
-<Test name="int_2x2x2_fragment" />
-<Test name="mat3_3x2_fragment" />
-<Test name="float_3x3_vertex" />
-<Test name="ivec3_3x3_fragment" />
-<Test name="mat3_3x4_fragment" />
-<Test name="vec3_2x3_fragment" />
-<Test name="mat3_3x4_vertex" />
-<Test name="bvec4_4x2_fragment" />
-<Test name="mat3_3x3x3_vertex" />
-<Test name="ivec3_3x3_vertex" />
-<Test name="vec3_2x3_vertex" />
+<TestCase name="random">
+<Test name="0" />
+<Test name="2" />
+<Test name="3" />
+<Test name="4" />
+<Test name="5" />
+<Test name="6" />
+<Test name="7" />
+<Test name="8" />
+<Test name="10" />
+<Test name="11" />
+<Test name="12" />
+<Test name="13" />
+<Test name="14" />
+<Test name="15" />
+<Test name="17" />
+<Test name="18" />
+<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="out">
-<Test name="bool_3x2x3_fragment" />
-<Test name="struct_3x1x3_vertex" />
-<Test name="bool_3x2x3_vertex" />
-<Test name="mat3_3x2_vertex" />
-<Test name="mat3_3x3x3_fragment" />
-<Test name="float_3x3_fragment" />
-<Test name="bvec4_4x2_vertex" />
-<Test name="struct_3x1x3_fragment" />
-<Test name="int_2x2x2_vertex" />
-<Test name="int_2x2x2_fragment" />
-<Test name="mat3_3x2_fragment" />
-<Test name="float_3x3_vertex" />
-<Test name="ivec3_3x3_fragment" />
-<Test name="mat3_3x4_fragment" />
-<Test name="vec3_2x3_fragment" />
-<Test name="mat3_3x4_vertex" />
-<Test name="bvec4_4x2_fragment" />
-<Test name="mat3_3x3x3_vertex" />
-<Test name="ivec3_3x3_vertex" />
-<Test name="vec3_2x3_vertex" />
+<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="command_offset_not_in_buffer_unsigned32_wrap" />
+<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>
-<TestCase name="array_access">
-<Test name="constant_expression_access_vertex" />
-<Test name="dynamic_expression_access_vertex" />
-<Test name="dynamic_expression_access_fragment" />
-<Test name="constant_expression_access_fragment" />
+<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>
-<TestSuite name="single_statement_multiple_declarations">
-<TestCase name="implicit_constructor">
-<Test name="float_2_dimensions_fragment" />
-<Test name="int_3_dimensions_vertex" />
-<Test name="float_2_dimensions_vertex" />
-<Test name="int_3_dimensions_fragment" />
+<TestCase name="winding">
+<Test name="triangles_ccw" />
+<Test name="triangles_cw" />
+<Test name="quads_ccw" />
+<Test name="quads_cw" />
 </TestCase>
-<TestCase name="explicit_constructor">
-<Test name="float_2_dimensions_fragment" />
-<Test name="int_3_dimensions_vertex" />
-<Test name="float_2_dimensions_vertex" />
-<Test name="int_3_dimensions_fragment" />
+<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>
-</TestSuite>
-</TestSuite>
-<TestSuite name="builtin_var">
-<TestCase name="compute">
-<Test name="num_work_groups" />
-<Test name="work_group_id" />
-<Test name="local_invocation_index" />
-<Test name="local_invocation_id" />
-<Test name="global_invocation_id" />
-<Test name="work_group_size" />
+<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>
-</TestSuite>
-<TestSuite name="sample_variables">
-<TestCase name="max_samples">
-<Test name="multisample_texture_1" />
-<Test name="multisample_texture_2" />
-<Test name="singlesample_rbo" />
-<Test name="multisample_texture_4" />
-<Test name="multisample_texture_8" />
-<Test name="multisample_rbo_1" />
-<Test name="multisample_rbo_4" />
-<Test name="multisample_rbo_8" />
-<Test name="multisample_rbo_16" />
-<Test name="multisample_rbo_2" />
-<Test name="singlesample_texture" />
-<Test name="default_framebuffer" />
-<Test name="multisample_texture_16" />
+<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>
-<TestSuite name="sample_mask_in">
-<TestCase name="bits_unique_per_two_samples">
-<Test name="multisample_texture_1" />
-<Test name="singlesample_texture" />
-<Test name="multisample_texture_2" />
+<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="bit_count_per_sample">
-<Test name="default_framebuffer" />
-<Test name="singlesample_texture" />
-<Test name="singlesample_rbo" />
+<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="bit_count_per_pixel">
-<Test name="multisample_texture_1" />
-<Test name="multisample_texture_2" />
-<Test name="singlesample_rbo" />
-<Test name="multisample_texture_4" />
-<Test name="multisample_texture_8" />
-<Test name="multisample_rbo_1" />
-<Test name="multisample_rbo_4" />
-<Test name="multisample_rbo_8" />
-<Test name="multisample_rbo_16" />
-<Test name="multisample_rbo_2" />
-<Test name="singlesample_texture" />
-<Test name="default_framebuffer" />
-<Test name="multisample_texture_16" />
+<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="bits_unique_per_sample">
-<Test name="singlesample_texture" />
+<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="sample_mask">
-<Test name="multisample_texture_1" />
-<Test name="multisample_texture_2" />
-<Test name="singlesample_rbo" />
-<Test name="multisample_texture_4" />
-<Test name="multisample_texture_8" />
-<Test name="multisample_rbo_1" />
-<Test name="multisample_rbo_4" />
-<Test name="multisample_rbo_8" />
-<Test name="multisample_rbo_16" />
-<Test name="multisample_rbo_2" />
-<Test name="singlesample_texture" />
-<Test name="default_framebuffer" />
-<Test name="multisample_texture_16" />
+<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="bit_count_per_two_samples">
-<Test name="default_framebuffer" />
-<Test name="singlesample_texture" />
-<Test name="singlesample_rbo" />
-<Test name="multisample_rbo_16" />
-<Test name="multisample_texture_16" />
+<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="sample_pos">
-<TestCase name="distribution">
-<Test name="multisample_texture_1" />
-<Test name="multisample_texture_2" />
-<Test name="singlesample_rbo" />
-<Test name="multisample_texture_4" />
-<Test name="multisample_texture_8" />
-<Test name="multisample_rbo_1" />
-<Test name="multisample_rbo_4" />
-<Test name="multisample_rbo_8" />
-<Test name="multisample_rbo_16" />
-<Test name="multisample_rbo_2" />
-<Test name="singlesample_texture" />
-<Test name="default_framebuffer" />
-</TestCase>
-<TestCase name="correctness">
-<Test name="multisample_texture_1" />
-<Test name="multisample_texture_2" />
-<Test name="singlesample_rbo" />
-<Test name="multisample_texture_4" />
-<Test name="multisample_texture_8" />
-<Test name="multisample_rbo_1" />
-<Test name="multisample_rbo_4" />
-<Test name="multisample_rbo_8" />
-<Test name="multisample_rbo_2" />
-<Test name="singlesample_texture" />
-<Test name="default_framebuffer" />
+<TestSuite name="user_defined_io">
+<TestSuite name="per_patch">
+<TestCase name="vertex_io_array_size_implicit">
+<Test name="triangles" />
+<Test name="quads" />
+<Test name="isolines" />
 </TestCase>
-</TestSuite>
-<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_rbo_1" />
-<Test name="multisample_rbo_4" />
-<Test name="multisample_rbo_8" />
-<Test name="multisample_rbo_16" />
-<Test name="multisample_rbo_2" />
-<Test name="multisample_texture_16" />
+<TestCase name="vertex_io_array_size_shader_builtin">
+<Test name="triangles" />
+<Test name="quads" />
+<Test name="isolines" />
 </TestCase>
-<TestCase name="sample_id">
-<Test name="multisample_texture_1" />
-<Test name="multisample_texture_2" />
-<Test name="singlesample_rbo" />
-<Test name="multisample_texture_4" />
-<Test name="multisample_texture_8" />
-<Test name="multisample_rbo_1" />
-<Test name="multisample_rbo_4" />
-<Test name="multisample_rbo_8" />
-<Test name="multisample_rbo_2" />
-<Test name="singlesample_texture" />
-<Test name="default_framebuffer" />
+<TestCase name="vertex_io_array_size_query">
+<Test name="triangles" />
+<Test name="quads" />
+<Test name="isolines" />
 </TestCase>
-<TestSuite name="sample_mask">
-<TestCase name="discard_half_per_two_samples">
-<Test name="multisample_texture_1" />
-<Test name="multisample_texture_2" />
-<Test name="singlesample_rbo" />
-<Test name="multisample_texture_4" />
-<Test name="multisample_texture_8" />
-<Test name="multisample_rbo_1" />
-<Test name="multisample_rbo_4" />
-<Test name="multisample_rbo_8" />
-<Test name="multisample_rbo_16" />
-<Test name="multisample_rbo_2" />
-<Test name="singlesample_texture" />
-<Test name="default_framebuffer" />
-<Test name="multisample_texture_16" />
+</TestSuite>
+<TestSuite name="per_vertex_block">
+<TestCase name="vertex_io_array_size_implicit">
+<Test name="triangles" />
+<Test name="quads" />
+<Test name="isolines" />
 </TestCase>
-<TestCase name="discard_half_per_pixel">
-<Test name="multisample_texture_1" />
-<Test name="multisample_texture_2" />
-<Test name="singlesample_rbo" />
-<Test name="multisample_texture_4" />
-<Test name="multisample_texture_8" />
-<Test name="multisample_rbo_1" />
-<Test name="multisample_rbo_4" />
-<Test name="multisample_rbo_8" />
-<Test name="multisample_rbo_16" />
-<Test name="multisample_rbo_2" />
-<Test name="singlesample_texture" />
-<Test name="default_framebuffer" />
-<Test name="multisample_texture_16" />
+<TestCase name="vertex_io_array_size_shader_builtin">
+<Test name="triangles" />
+<Test name="quads" />
+<Test name="isolines" />
 </TestCase>
-<TestCase name="inverse_per_two_samples">
-<Test name="multisample_texture_1" />
-<Test name="multisample_texture_2" />
-<Test name="singlesample_rbo" />
-<Test name="multisample_texture_4" />
-<Test name="multisample_texture_8" />
-<Test name="multisample_rbo_1" />
-<Test name="multisample_rbo_4" />
-<Test name="multisample_rbo_8" />
-<Test name="multisample_rbo_16" />
-<Test name="multisample_rbo_2" />
-<Test name="singlesample_texture" />
-<Test name="default_framebuffer" />
-<Test name="multisample_texture_16" />
+<TestCase name="vertex_io_array_size_query">
+<Test name="triangles" />
+<Test name="quads" />
+<Test name="isolines" />
 </TestCase>
-<TestCase name="inverse_per_pixel">
-<Test name="multisample_texture_1" />
-<Test name="multisample_texture_2" />
-<Test name="singlesample_rbo" />
-<Test name="multisample_texture_4" />
-<Test name="multisample_texture_8" />
-<Test name="multisample_rbo_1" />
-<Test name="multisample_rbo_4" />
-<Test name="multisample_rbo_8" />
-<Test name="multisample_rbo_16" />
-<Test name="multisample_rbo_2" />
-<Test name="singlesample_texture" />
-<Test name="default_framebuffer" />
-<Test name="multisample_texture_16" />
+</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="inverse_per_sample">
-<Test name="multisample_texture_1" />
-<Test name="multisample_texture_2" />
-<Test name="singlesample_rbo" />
-<Test name="multisample_texture_4" />
-<Test name="multisample_texture_8" />
-<Test name="multisample_rbo_1" />
-<Test name="multisample_rbo_4" />
-<Test name="multisample_rbo_8" />
-<Test name="multisample_rbo_16" />
-<Test name="multisample_rbo_2" />
-<Test name="singlesample_texture" />
-<Test name="default_framebuffer" />
-<Test name="multisample_texture_16" />
+<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="discard_half_per_sample">
-<Test name="multisample_texture_1" />
-<Test name="multisample_texture_2" />
-<Test name="singlesample_rbo" />
-<Test name="multisample_texture_4" />
-<Test name="multisample_texture_8" />
-<Test name="multisample_rbo_1" />
-<Test name="multisample_rbo_4" />
-<Test name="multisample_rbo_8" />
-<Test name="multisample_rbo_16" />
-<Test name="multisample_rbo_2" />
-<Test name="singlesample_texture" />
-<Test name="default_framebuffer" />
-<Test name="multisample_texture_16" />
+<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>
-<TestSuite name="opaque_type_indexing">
-<TestCase name="atomic_counter">
-<Test name="const_expression_fragment" />
-<Test name="dynamically_uniform_compute" />
-<Test name="const_literal_compute" />
-<Test name="uniform_vertex" />
-<Test name="const_expression_compute" />
-<Test name="dynamically_uniform_fragment" />
-<Test name="const_expression_vertex" />
-<Test name="const_literal_vertex" />
-<Test name="const_literal_fragment" />
-<Test name="uniform_compute" />
-<Test name="dynamically_uniform_vertex" />
-<Test name="uniform_fragment" />
-</TestCase>
-<TestSuite name="sampler">
-<TestSuite name="const_expression">
-<TestCase name="fragment">
-<Test name="isamplercube" />
-<Test name="isampler3d" />
-<Test name="sampler2darray" />
-<Test name="sampler3d" />
-<Test name="sampler2darrayshadow" />
-<Test name="samplercubeshadow" />
-<Test name="sampler2d" />
-<Test name="isampler2darray" />
-<Test name="usampler2darray" />
-<Test name="usampler2d" />
-<Test name="usamplercube" />
-<Test name="usampler3d" />
-<Test name="samplercube" />
-<Test name="sampler2dshadow" />
-<Test name="isampler2d" />
-</TestCase>
-<TestCase name="vertex">
-<Test name="isamplercube" />
-<Test name="isampler3d" />
-<Test name="sampler2darray" />
-<Test name="sampler3d" />
-<Test name="sampler2darrayshadow" />
-<Test name="samplercubeshadow" />
-<Test name="sampler2d" />
-<Test name="isampler2darray" />
-<Test name="usampler2darray" />
-<Test name="usampler2d" />
-<Test name="usamplercube" />
-<Test name="usampler3d" />
-<Test name="samplercube" />
-<Test name="sampler2dshadow" />
-<Test name="isampler2d" />
-</TestCase>
-<TestCase name="compute">
-<Test name="isamplercube" />
-<Test name="isampler3d" />
-<Test name="sampler2darray" />
-<Test name="sampler3d" />
-<Test name="sampler2darrayshadow" />
-<Test name="samplercubeshadow" />
-<Test name="sampler2d" />
-<Test name="isampler2darray" />
-<Test name="usampler2darray" />
-<Test name="usampler2d" />
-<Test name="usamplercube" />
-<Test name="usampler3d" />
-<Test name="samplercube" />
-<Test name="sampler2dshadow" />
-<Test name="isampler2d" />
+<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>
-</TestSuite>
-<TestSuite name="uniform">
-<TestCase name="fragment">
-<Test name="isamplercube" />
-<Test name="isampler3d" />
-<Test name="sampler2darray" />
-<Test name="sampler3d" />
-<Test name="sampler2darrayshadow" />
-<Test name="samplercubeshadow" />
-<Test name="sampler2d" />
-<Test name="isampler2darray" />
-<Test name="usampler2darray" />
-<Test name="usampler2d" />
-<Test name="usamplercube" />
-<Test name="usampler3d" />
-<Test name="samplercube" />
-<Test name="sampler2dshadow" />
-<Test name="isampler2d" />
+<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="vertex">
-<Test name="isamplercube" />
-<Test name="isampler3d" />
-<Test name="sampler2darray" />
-<Test name="sampler3d" />
-<Test name="sampler2darrayshadow" />
-<Test name="samplercubeshadow" />
-<Test name="sampler2d" />
-<Test name="isampler2darray" />
-<Test name="usampler2darray" />
-<Test name="usampler2d" />
-<Test name="usamplercube" />
-<Test name="usampler3d" />
-<Test name="samplercube" />
-<Test name="sampler2dshadow" />
-<Test name="isampler2d" />
+<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="compute">
-<Test name="isamplercube" />
-<Test name="isampler3d" />
-<Test name="sampler2darray" />
-<Test name="sampler3d" />
-<Test name="sampler2darrayshadow" />
-<Test name="samplercubeshadow" />
-<Test name="sampler2d" />
-<Test name="isampler2darray" />
-<Test name="usampler2darray" />
-<Test name="usampler2d" />
-<Test name="usamplercube" />
-<Test name="usampler3d" />
-<Test name="samplercube" />
-<Test name="sampler2dshadow" />
-<Test name="isampler2d" />
+<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="const_literal">
-<TestCase name="fragment">
-<Test name="isamplercube" />
-<Test name="isampler3d" />
-<Test name="sampler2darray" />
-<Test name="sampler3d" />
-<Test name="sampler2darrayshadow" />
-<Test name="samplercubeshadow" />
-<Test name="sampler2d" />
-<Test name="isampler2darray" />
-<Test name="usampler2darray" />
-<Test name="usampler2d" />
-<Test name="usamplercube" />
-<Test name="usampler3d" />
-<Test name="samplercube" />
-<Test name="sampler2dshadow" />
-<Test name="isampler2d" />
+<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="vertex">
-<Test name="isamplercube" />
-<Test name="isampler3d" />
-<Test name="sampler2darray" />
-<Test name="sampler3d" />
-<Test name="sampler2darrayshadow" />
-<Test name="samplercubeshadow" />
-<Test name="sampler2d" />
-<Test name="isampler2darray" />
-<Test name="usampler2darray" />
-<Test name="usampler2d" />
-<Test name="usamplercube" />
-<Test name="usampler3d" />
-<Test name="samplercube" />
-<Test name="sampler2dshadow" />
-<Test name="isampler2d" />
+<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="compute">
-<Test name="isamplercube" />
-<Test name="isampler3d" />
-<Test name="sampler2darray" />
-<Test name="sampler3d" />
-<Test name="sampler2darrayshadow" />
-<Test name="samplercubeshadow" />
-<Test name="sampler2d" />
-<Test name="isampler2darray" />
-<Test name="usampler2darray" />
-<Test name="usampler2d" />
-<Test name="usamplercube" />
-<Test name="usampler3d" />
-<Test name="samplercube" />
-<Test name="sampler2dshadow" />
-<Test name="isampler2d" />
+<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="dynamically_uniform">
-<TestCase name="fragment">
-<Test name="isamplercube" />
-<Test name="isampler3d" />
-<Test name="sampler2darray" />
-<Test name="sampler3d" />
-<Test name="sampler2darrayshadow" />
-<Test name="samplercubeshadow" />
-<Test name="sampler2d" />
-<Test name="isampler2darray" />
-<Test name="usampler2darray" />
-<Test name="usampler2d" />
-<Test name="usamplercube" />
-<Test name="usampler3d" />
-<Test name="samplercube" />
-<Test name="sampler2dshadow" />
-<Test name="isampler2d" />
+<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="vertex">
-<Test name="isamplercube" />
-<Test name="isampler3d" />
-<Test name="sampler2darray" />
-<Test name="sampler3d" />
-<Test name="sampler2darrayshadow" />
-<Test name="samplercubeshadow" />
-<Test name="sampler2d" />
-<Test name="isampler2darray" />
-<Test name="usampler2darray" />
-<Test name="usampler2d" />
-<Test name="usamplercube" />
-<Test name="usampler3d" />
-<Test name="samplercube" />
-<Test name="sampler2dshadow" />
-<Test name="isampler2d" />
+<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="compute">
-<Test name="isamplercube" />
-<Test name="isampler3d" />
-<Test name="sampler2darray" />
-<Test name="sampler3d" />
-<Test name="sampler2darrayshadow" />
-<Test name="samplercubeshadow" />
-<Test name="sampler2d" />
-<Test name="isampler2darray" />
-<Test name="usampler2darray" />
-<Test name="usampler2d" />
-<Test name="usamplercube" />
-<Test name="usampler3d" />
-<Test name="samplercube" />
-<Test name="sampler2dshadow" />
-<Test name="isampler2d" />
+<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>
-<TestCase name="ubo">
-<Test name="const_expression_fragment" />
-<Test name="dynamically_uniform_compute" />
-<Test name="const_literal_compute" />
-<Test name="uniform_vertex" />
-<Test name="const_expression_compute" />
-<Test name="dynamically_uniform_fragment" />
-<Test name="const_expression_vertex" />
-<Test name="const_literal_vertex" />
-<Test name="const_literal_fragment" />
-<Test name="uniform_compute" />
-<Test name="dynamically_uniform_vertex" />
-<Test name="uniform_fragment" />
+<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="ssbo">
-<Test name="const_expression_fragment" />
-<Test name="const_literal_compute" />
-<Test name="const_expression_compute" />
-<Test name="const_expression_vertex" />
-<Test name="const_literal_vertex" />
-<Test name="const_literal_fragment" />
+<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>
-</TestSuite>
-<TestSuite name="helper_invocation">
-<TestCase name="derivate">
-<Test name="triangles_4_samples_fwidth" />
-<Test name="lines_8_samples_dfdy" />
-<Test name="lines_8_samples_dfdx" />
-<Test name="wide_points_fwidth" />
-<Test name="points_8_samples_fwidth" />
-<Test name="wide_lines_8_samples_fwidth" />
-<Test name="wide_lines_fwidth" />
-<Test name="wide_lines_max_samples_dfdx" />
-<Test name="wide_lines_max_samples_dfdy" />
-<Test name="points_fwidth" />
-<Test name="points_max_samples_dfdx" />
-<Test name="points_max_samples_dfdy" />
-<Test name="points_dfdy" />
-<Test name="points_dfdx" />
-<Test name="wide_lines_4_samples_dfdy" />
-<Test name="wide_points_max_samples_dfdy" />
-<Test name="wide_points_max_samples_dfdx" />
-<Test name="points_4_samples_dfdx" />
-<Test name="points_4_samples_dfdy" />
-<Test name="lines_dfdx" />
-<Test name="lines_dfdy" />
-<Test name="triangles_8_samples_dfdy" />
-<Test name="triangles_8_samples_dfdx" />
-<Test name="triangles_dfdx" />
-<Test name="wide_points_8_samples_fwidth" />
-<Test name="points_max_samples_fwidth" />
-<Test name="triangles_dfdy" />
-<Test name="wide_lines_4_samples_fwidth" />
-<Test name="wide_lines_8_samples_dfdx" />
-<Test name="wide_lines_8_samples_dfdy" />
-<Test name="wide_points_4_samples_dfdy" />
-<Test name="wide_points_4_samples_dfdx" />
-<Test name="wide_lines_dfdy" />
-<Test name="wide_lines_dfdx" />
-<Test name="lines_8_samples_fwidth" />
-<Test name="wide_lines_max_samples_fwidth" />
-<Test name="triangles_8_samples_fwidth" />
-<Test name="wide_lines_4_samples_dfdx" />
-<Test name="wide_points_4_samples_fwidth" />
-<Test name="wide_points_8_samples_dfdy" />
-<Test name="triangles_4_samples_dfdx" />
-<Test name="triangles_max_samples_fwidth" />
-<Test name="wide_points_8_samples_dfdx" />
-<Test name="wide_points_dfdx" />
-<Test name="wide_points_dfdy" />
-<Test name="lines_4_samples_dfdy" />
-<Test name="lines_4_samples_dfdx" />
-<Test name="triangles_fwidth" />
-<Test name="points_4_samples_fwidth" />
-<Test name="lines_fwidth" />
-<Test name="wide_points_max_samples_fwidth" />
-<Test name="lines_4_samples_fwidth" />
-<Test name="lines_max_samples_dfdy" />
-<Test name="lines_max_samples_dfdx" />
-<Test name="triangles_max_samples_dfdy" />
-<Test name="triangles_max_samples_dfdx" />
-<Test name="lines_max_samples_fwidth" />
-<Test name="points_8_samples_dfdx" />
-<Test name="points_8_samples_dfdy" />
-<Test name="triangles_4_samples_dfdy" />
+<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="value">
-<Test name="wide_lines_4_samples" />
-<Test name="lines_4_samples" />
-<Test name="wide_lines_8_samples" />
-<Test name="wide_points_4_samples" />
-<Test name="points_8_samples" />
-<Test name="wide_lines_max_samples" />
-<Test name="triangles_4_samples" />
-<Test name="points" />
-<Test name="lines" />
-<Test name="wide_points_max_samples" />
-<Test name="wide_points" />
-<Test name="triangles_8_samples" />
-<Test name="points_4_samples" />
-<Test name="wide_points_8_samples" />
-<Test name="wide_lines" />
-<Test name="points_max_samples" />
-<Test name="triangles_max_samples" />
-<Test name="lines_8_samples" />
-<Test name="triangles" />
-<Test name="lines_max_samples" />
+<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="builtin_functions">
-<TestSuite name="integer">
-<TestCase name="bitcount">
-<Test name="uint_mediump_tess_eval" />
-<Test name="uint_highp_tess_control" />
-<Test name="uint_lowp_fragment" />
-<Test name="uvec4_highp_vertex" />
-<Test name="uint_mediump_tess_control" />
-<Test name="uvec4_mediump_fragment" />
-<Test name="uint_lowp_tess_control" />
-<Test name="ivec3_highp_vertex" />
-<Test name="int_lowp_fragment" />
-<Test name="ivec3_highp_geometry" />
-<Test name="ivec4_highp_tess_control" />
-<Test name="ivec3_lowp_tess_eval" />
-<Test name="uvec2_mediump_fragment" />
-<Test name="uvec2_highp_fragment" />
-<Test name="uvec3_mediump_compute" />
-<Test name="uvec4_mediump_vertex" />
-<Test name="uvec4_mediump_tess_control" />
-<Test name="ivec2_lowp_tess_eval" />
-<Test name="uvec4_highp_tess_control" />
-<Test name="ivec2_mediump_compute" />
-<Test name="uvec4_highp_fragment" />
-<Test name="uvec4_lowp_compute" />
-<Test name="ivec4_mediump_compute" />
-<Test name="uvec3_mediump_vertex" />
-<Test name="ivec2_lowp_tess_control" />
-<Test name="int_highp_compute" />
-<Test name="uvec4_lowp_fragment" />
-<Test name="uvec4_highp_geometry" />
-<Test name="ivec4_highp_tess_eval" />
-<Test name="uvec2_mediump_compute" />
-<Test name="uvec4_lowp_geometry" />
-<Test name="ivec4_lowp_tess_control" />
-<Test name="uvec4_lowp_vertex" />
-<Test name="uint_highp_tess_eval" />
-<Test name="uvec2_lowp_compute" />
-<Test name="ivec2_mediump_fragment" />
-<Test name="int_mediump_tess_eval" />
-<Test name="ivec4_highp_vertex" />
-<Test name="uvec3_lowp_geometry" />
-<Test name="uvec4_lowp_tess_control" />
-<Test name="ivec3_lowp_vertex" />
-<Test name="uint_mediump_geometry" />
-<Test name="uint_lowp_tess_eval" />
-<Test name="uvec3_highp_fragment" />
-<Test name="int_highp_geometry" />
-<Test name="int_lowp_compute" />
-<Test name="uvec3_highp_geometry" />
-<Test name="ivec4_mediump_geometry" />
-<Test name="ivec4_lowp_compute" />
-<Test name="uvec3_lowp_fragment" />
-<Test name="uvec3_lowp_compute" />
-<Test name="uvec2_lowp_geometry" />
-<Test name="uvec2_mediump_geometry" />
-<Test name="int_lowp_tess_eval" />
-<Test name="uvec2_highp_tess_eval" />
-<Test name="int_mediump_compute" />
-<Test name="uvec3_highp_tess_control" />
-<Test name="ivec3_lowp_fragment" />
-<Test name="ivec4_mediump_tess_eval" />
-<Test name="uint_mediump_fragment" />
-<Test name="ivec3_lowp_geometry" />
-<Test name="ivec2_mediump_tess_eval" />
-<Test name="uvec3_lowp_vertex" />
-<Test name="ivec2_highp_vertex" />
-<Test name="ivec3_highp_tess_control" />
-<Test name="int_highp_tess_eval" />
-<Test name="uvec3_highp_tess_eval" />
-<Test name="uvec4_highp_compute" />
-<Test name="ivec3_highp_tess_eval" />
-<Test name="uvec2_lowp_tess_control" />
-<Test name="ivec2_lowp_geometry" />
-<Test name="int_highp_fragment" />
-<Test name="int_highp_vertex" />
-<Test name="uvec2_highp_tess_control" />
-<Test name="ivec4_lowp_vertex" />
-<Test name="ivec2_lowp_compute" />
-<Test name="uvec2_mediump_tess_control" />
-<Test name="ivec3_lowp_tess_control" />
-<Test name="ivec2_highp_tess_eval" />
-<Test name="ivec4_mediump_vertex" />
-<Test name="uint_lowp_compute" />
-<Test name="uvec2_highp_geometry" />
-<Test name="uint_mediump_vertex" />
-<Test name="ivec3_mediump_tess_eval" />
-<Test name="uvec4_lowp_tess_eval" />
-<Test name="ivec3_mediump_compute" />
-<Test name="ivec2_lowp_fragment" />
-<Test name="ivec3_lowp_compute" />
-<Test name="uvec2_lowp_vertex" />
-<Test name="uvec3_highp_vertex" />
-<Test name="uvec3_mediump_tess_eval" />
-<Test name="ivec4_mediump_fragment" />
-<Test name="ivec4_mediump_tess_control" />
-<Test name="uvec3_mediump_fragment" />
-<Test name="ivec2_highp_fragment" />
-<Test name="ivec3_mediump_vertex" />
-<Test name="uint_lowp_geometry" />
-<Test name="uvec2_highp_vertex" />
-<Test name="int_lowp_vertex" />
-<Test name="ivec4_highp_fragment" />
-<Test name="uvec2_mediump_tess_eval" />
-<Test name="uvec2_lowp_tess_eval" />
-<Test name="ivec4_lowp_tess_eval" />
-<Test name="ivec2_highp_compute" />
-<Test name="ivec3_highp_compute" />
-<Test name="int_lowp_tess_control" />
-<Test name="int_mediump_tess_control" />
-<Test name="uvec3_mediump_tess_control" />
-<Test name="uint_highp_fragment" />
-<Test name="ivec3_highp_fragment" />
-<Test name="ivec4_highp_compute" />
-<Test name="ivec3_mediump_geometry" />
-<Test name="ivec2_mediump_vertex" />
-<Test name="uint_highp_compute" />
-<Test name="uint_highp_geometry" />
-<Test name="ivec2_mediump_tess_control" />
-<Test name="ivec4_lowp_geometry" />
-<Test name="int_highp_tess_control" />
-<Test name="uvec3_mediump_geometry" />
-<Test name="uvec2_highp_compute" />
-<Test name="ivec3_mediump_tess_control" />
-<Test name="uvec4_mediump_tess_eval" />
-<Test name="ivec2_lowp_vertex" />
-<Test name="uvec4_mediump_compute" />
-<Test name="ivec2_mediump_geometry" />
-<Test name="ivec2_highp_geometry" />
-<Test name="ivec4_lowp_fragment" />
-<Test name="uvec3_lowp_tess_control" />
-<Test name="ivec3_mediump_fragment" />
-<Test name="uint_mediump_compute" />
-<Test name="int_lowp_geometry" />
-<Test name="uvec3_lowp_tess_eval" />
-<Test name="ivec4_highp_geometry" />
-<Test name="int_mediump_vertex" />
-<Test name="uvec4_highp_tess_eval" />
-<Test name="int_mediump_geometry" />
-<Test name="uvec2_lowp_fragment" />
-<Test name="uvec3_highp_compute" />
-<Test name="uint_lowp_vertex" />
-<Test name="int_mediump_fragment" />
-<Test name="uvec2_mediump_vertex" />
-<Test name="ivec2_highp_tess_control" />
-<Test name="uint_highp_vertex" />
-<Test name="uvec4_mediump_geometry" />
+<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="findmsb">
-<Test name="uint_mediump_tess_eval" />
-<Test name="uint_highp_tess_control" />
-<Test name="uint_lowp_fragment" />
-<Test name="uvec4_highp_vertex" />
-<Test name="uint_mediump_tess_control" />
-<Test name="uvec4_mediump_fragment" />
-<Test name="uint_lowp_tess_control" />
-<Test name="ivec3_highp_vertex" />
-<Test name="int_lowp_fragment" />
-<Test name="ivec3_highp_geometry" />
-<Test name="ivec4_highp_tess_control" />
-<Test name="ivec3_lowp_tess_eval" />
-<Test name="uvec2_mediump_fragment" />
-<Test name="uvec2_highp_fragment" />
-<Test name="uvec3_mediump_compute" />
-<Test name="uvec4_mediump_vertex" />
-<Test name="uvec4_mediump_tess_control" />
-<Test name="ivec2_lowp_tess_eval" />
-<Test name="uvec4_highp_tess_control" />
-<Test name="ivec2_mediump_compute" />
-<Test name="uvec4_highp_fragment" />
-<Test name="uvec4_lowp_compute" />
-<Test name="ivec4_mediump_compute" />
-<Test name="uvec3_mediump_vertex" />
-<Test name="ivec2_lowp_tess_control" />
-<Test name="int_highp_compute" />
-<Test name="uvec4_lowp_fragment" />
-<Test name="uvec4_highp_geometry" />
-<Test name="ivec4_highp_tess_eval" />
-<Test name="uvec2_mediump_compute" />
-<Test name="uvec4_lowp_geometry" />
-<Test name="ivec4_lowp_tess_control" />
-<Test name="uvec4_lowp_vertex" />
-<Test name="uint_highp_tess_eval" />
-<Test name="uvec2_lowp_compute" />
-<Test name="ivec2_mediump_fragment" />
-<Test name="int_mediump_tess_eval" />
-<Test name="ivec4_highp_vertex" />
-<Test name="uvec3_lowp_geometry" />
-<Test name="uvec4_lowp_tess_control" />
-<Test name="ivec3_lowp_vertex" />
-<Test name="uint_mediump_geometry" />
-<Test name="uint_lowp_tess_eval" />
-<Test name="uvec3_highp_fragment" />
-<Test name="int_highp_geometry" />
-<Test name="int_lowp_compute" />
-<Test name="uvec3_highp_geometry" />
-<Test name="ivec4_mediump_geometry" />
-<Test name="ivec4_lowp_compute" />
-<Test name="uvec3_lowp_fragment" />
-<Test name="uvec3_lowp_compute" />
-<Test name="uvec2_lowp_geometry" />
-<Test name="uvec2_mediump_geometry" />
-<Test name="int_lowp_tess_eval" />
-<Test name="uvec2_highp_tess_eval" />
-<Test name="int_mediump_compute" />
-<Test name="uvec3_highp_tess_control" />
-<Test name="ivec3_lowp_fragment" />
-<Test name="ivec4_mediump_tess_eval" />
-<Test name="uint_mediump_fragment" />
-<Test name="ivec3_lowp_geometry" />
-<Test name="ivec2_mediump_tess_eval" />
-<Test name="uvec3_lowp_vertex" />
-<Test name="ivec2_highp_vertex" />
-<Test name="ivec3_highp_tess_control" />
-<Test name="int_highp_tess_eval" />
-<Test name="uvec3_highp_tess_eval" />
-<Test name="uvec4_highp_compute" />
-<Test name="ivec3_highp_tess_eval" />
-<Test name="uvec2_lowp_tess_control" />
-<Test name="ivec2_lowp_geometry" />
-<Test name="int_highp_fragment" />
-<Test name="int_highp_vertex" />
-<Test name="uvec2_highp_tess_control" />
-<Test name="ivec4_lowp_vertex" />
-<Test name="ivec2_lowp_compute" />
-<Test name="uvec2_mediump_tess_control" />
-<Test name="ivec3_lowp_tess_control" />
-<Test name="ivec2_highp_tess_eval" />
-<Test name="ivec4_mediump_vertex" />
-<Test name="uint_lowp_compute" />
-<Test name="uvec2_highp_geometry" />
-<Test name="uint_mediump_vertex" />
-<Test name="ivec3_mediump_tess_eval" />
-<Test name="uvec4_lowp_tess_eval" />
-<Test name="ivec3_mediump_compute" />
-<Test name="ivec2_lowp_fragment" />
-<Test name="ivec3_lowp_compute" />
-<Test name="uvec2_lowp_vertex" />
-<Test name="uvec3_highp_vertex" />
-<Test name="uvec3_mediump_tess_eval" />
-<Test name="ivec4_mediump_fragment" />
-<Test name="ivec4_mediump_tess_control" />
-<Test name="uvec3_mediump_fragment" />
-<Test name="ivec2_highp_fragment" />
-<Test name="ivec3_mediump_vertex" />
-<Test name="uint_lowp_geometry" />
-<Test name="uvec2_highp_vertex" />
-<Test name="int_lowp_vertex" />
-<Test name="ivec4_highp_fragment" />
-<Test name="uvec2_mediump_tess_eval" />
-<Test name="uvec2_lowp_tess_eval" />
-<Test name="ivec4_lowp_tess_eval" />
-<Test name="ivec2_highp_compute" />
-<Test name="ivec3_highp_compute" />
-<Test name="int_lowp_tess_control" />
-<Test name="int_mediump_tess_control" />
-<Test name="uvec3_mediump_tess_control" />
-<Test name="uint_highp_fragment" />
-<Test name="ivec3_highp_fragment" />
-<Test name="ivec4_highp_compute" />
-<Test name="ivec3_mediump_geometry" />
-<Test name="ivec2_mediump_vertex" />
-<Test name="uint_highp_compute" />
-<Test name="uint_highp_geometry" />
-<Test name="ivec2_mediump_tess_control" />
-<Test name="ivec4_lowp_geometry" />
-<Test name="int_highp_tess_control" />
-<Test name="uvec3_mediump_geometry" />
-<Test name="uvec2_highp_compute" />
-<Test name="ivec3_mediump_tess_control" />
-<Test name="uvec4_mediump_tess_eval" />
-<Test name="ivec2_lowp_vertex" />
-<Test name="uvec4_mediump_compute" />
-<Test name="ivec2_mediump_geometry" />
-<Test name="ivec2_highp_geometry" />
-<Test name="ivec4_lowp_fragment" />
-<Test name="uvec3_lowp_tess_control" />
-<Test name="ivec3_mediump_fragment" />
-<Test name="uint_mediump_compute" />
-<Test name="int_lowp_geometry" />
-<Test name="uvec3_lowp_tess_eval" />
-<Test name="ivec4_highp_geometry" />
-<Test name="int_mediump_vertex" />
-<Test name="uvec4_highp_tess_eval" />
-<Test name="int_mediump_geometry" />
-<Test name="uvec2_lowp_fragment" />
-<Test name="uvec3_highp_compute" />
-<Test name="uint_lowp_vertex" />
-<Test name="int_mediump_fragment" />
-<Test name="uvec2_mediump_vertex" />
-<Test name="ivec2_highp_tess_control" />
-<Test name="uint_highp_vertex" />
-<Test name="uvec4_mediump_geometry" />
+<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>
-<TestCase name="bitfieldreverse">
-<Test name="uint_mediump_tess_eval" />
-<Test name="uint_highp_tess_control" />
-<Test name="uint_lowp_fragment" />
-<Test name="uvec4_highp_vertex" />
-<Test name="uint_mediump_tess_control" />
-<Test name="uvec4_mediump_fragment" />
-<Test name="uint_lowp_tess_control" />
-<Test name="ivec3_highp_vertex" />
-<Test name="int_lowp_fragment" />
-<Test name="ivec3_highp_geometry" />
-<Test name="ivec4_highp_tess_control" />
-<Test name="ivec3_lowp_tess_eval" />
-<Test name="uvec2_mediump_fragment" />
-<Test name="uvec2_highp_fragment" />
-<Test name="uvec3_mediump_compute" />
-<Test name="uvec4_mediump_vertex" />
-<Test name="uvec4_mediump_tess_control" />
-<Test name="ivec2_lowp_tess_eval" />
-<Test name="uvec4_highp_tess_control" />
-<Test name="ivec2_mediump_compute" />
-<Test name="uvec4_highp_fragment" />
-<Test name="uvec4_lowp_compute" />
-<Test name="ivec4_mediump_compute" />
-<Test name="uvec3_mediump_vertex" />
-<Test name="ivec2_lowp_tess_control" />
-<Test name="int_highp_compute" />
-<Test name="uvec4_lowp_fragment" />
-<Test name="uvec4_highp_geometry" />
-<Test name="ivec4_highp_tess_eval" />
-<Test name="uvec2_mediump_compute" />
-<Test name="uvec4_lowp_geometry" />
-<Test name="ivec4_lowp_tess_control" />
-<Test name="uvec4_lowp_vertex" />
-<Test name="uint_highp_tess_eval" />
-<Test name="uvec2_lowp_compute" />
-<Test name="ivec2_mediump_fragment" />
-<Test name="int_mediump_tess_eval" />
-<Test name="ivec4_highp_vertex" />
-<Test name="uvec3_lowp_geometry" />
-<Test name="uvec4_lowp_tess_control" />
-<Test name="ivec3_lowp_vertex" />
-<Test name="uint_mediump_geometry" />
-<Test name="uint_lowp_tess_eval" />
-<Test name="uvec3_highp_fragment" />
-<Test name="int_highp_geometry" />
-<Test name="int_lowp_compute" />
-<Test name="uvec3_highp_geometry" />
-<Test name="ivec4_mediump_geometry" />
-<Test name="ivec4_lowp_compute" />
-<Test name="uvec3_lowp_fragment" />
-<Test name="uvec3_lowp_compute" />
-<Test name="uvec2_lowp_geometry" />
-<Test name="uvec2_mediump_geometry" />
-<Test name="int_lowp_tess_eval" />
-<Test name="uvec2_highp_tess_eval" />
-<Test name="int_mediump_compute" />
-<Test name="uvec3_highp_tess_control" />
-<Test name="ivec3_lowp_fragment" />
-<Test name="ivec4_mediump_tess_eval" />
-<Test name="uint_mediump_fragment" />
-<Test name="ivec3_lowp_geometry" />
-<Test name="ivec2_mediump_tess_eval" />
-<Test name="uvec3_lowp_vertex" />
-<Test name="ivec2_highp_vertex" />
-<Test name="ivec3_highp_tess_control" />
-<Test name="int_highp_tess_eval" />
-<Test name="uvec3_highp_tess_eval" />
-<Test name="uvec4_highp_compute" />
-<Test name="ivec3_highp_tess_eval" />
-<Test name="uvec2_lowp_tess_control" />
-<Test name="ivec2_lowp_geometry" />
-<Test name="int_highp_fragment" />
-<Test name="int_highp_vertex" />
-<Test name="uvec2_highp_tess_control" />
-<Test name="ivec4_lowp_vertex" />
-<Test name="ivec2_lowp_compute" />
-<Test name="uvec2_mediump_tess_control" />
-<Test name="ivec3_lowp_tess_control" />
-<Test name="ivec2_highp_tess_eval" />
-<Test name="ivec4_mediump_vertex" />
-<Test name="uint_lowp_compute" />
-<Test name="uvec2_highp_geometry" />
-<Test name="uint_mediump_vertex" />
-<Test name="ivec3_mediump_tess_eval" />
-<Test name="uvec4_lowp_tess_eval" />
-<Test name="ivec3_mediump_compute" />
-<Test name="ivec2_lowp_fragment" />
-<Test name="ivec3_lowp_compute" />
-<Test name="uvec2_lowp_vertex" />
-<Test name="uvec3_highp_vertex" />
-<Test name="uvec3_mediump_tess_eval" />
-<Test name="ivec4_mediump_fragment" />
-<Test name="ivec4_mediump_tess_control" />
-<Test name="uvec3_mediump_fragment" />
-<Test name="ivec2_highp_fragment" />
-<Test name="ivec3_mediump_vertex" />
-<Test name="uint_lowp_geometry" />
-<Test name="uvec2_highp_vertex" />
-<Test name="int_lowp_vertex" />
-<Test name="ivec4_highp_fragment" />
-<Test name="uvec2_mediump_tess_eval" />
-<Test name="uvec2_lowp_tess_eval" />
-<Test name="ivec4_lowp_tess_eval" />
-<Test name="ivec2_highp_compute" />
-<Test name="ivec3_highp_compute" />
-<Test name="int_lowp_tess_control" />
-<Test name="int_mediump_tess_control" />
-<Test name="uvec3_mediump_tess_control" />
-<Test name="uint_highp_fragment" />
-<Test name="ivec3_highp_fragment" />
-<Test name="ivec4_highp_compute" />
-<Test name="ivec3_mediump_geometry" />
-<Test name="ivec2_mediump_vertex" />
-<Test name="uint_highp_compute" />
-<Test name="uint_highp_geometry" />
-<Test name="ivec2_mediump_tess_control" />
-<Test name="ivec4_lowp_geometry" />
-<Test name="int_highp_tess_control" />
-<Test name="uvec3_mediump_geometry" />
-<Test name="uvec2_highp_compute" />
-<Test name="ivec3_mediump_tess_control" />
-<Test name="uvec4_mediump_tess_eval" />
-<Test name="ivec2_lowp_vertex" />
-<Test name="uvec4_mediump_compute" />
-<Test name="ivec2_mediump_geometry" />
-<Test name="ivec2_highp_geometry" />
-<Test name="ivec4_lowp_fragment" />
-<Test name="uvec3_lowp_tess_control" />
-<Test name="ivec3_mediump_fragment" />
-<Test name="uint_mediump_compute" />
-<Test name="int_lowp_geometry" />
-<Test name="uvec3_lowp_tess_eval" />
-<Test name="ivec4_highp_geometry" />
-<Test name="int_mediump_vertex" />
-<Test name="uvec4_highp_tess_eval" />
-<Test name="int_mediump_geometry" />
-<Test name="uvec2_lowp_fragment" />
-<Test name="uvec3_highp_compute" />
-<Test name="uint_lowp_vertex" />
-<Test name="int_mediump_fragment" />
-<Test name="uvec2_mediump_vertex" />
-<Test name="ivec2_highp_tess_control" />
-<Test name="uint_highp_vertex" />
-<Test name="uvec4_mediump_geometry" />
+</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="usubborrow">
-<Test name="uint_mediump_tess_eval" />
-<Test name="uint_highp_tess_control" />
-<Test name="uint_lowp_compute" />
-<Test name="uvec4_mediump_tess_control" />
-<Test name="uint_mediump_vertex" />
-<Test name="uint_mediump_tess_control" />
-<Test name="uvec3_highp_geometry" />
-<Test name="uvec4_lowp_tess_eval" />
-<Test name="uint_lowp_tess_control" />
-<Test name="uint_highp_compute" />
-<Test name="uint_highp_geometry" />
-<Test name="uvec4_highp_vertex" />
-<Test name="uvec3_lowp_compute" />
-<Test name="uvec2_lowp_geometry" />
-<Test name="uvec3_highp_vertex" />
-<Test name="uvec2_mediump_geometry" />
-<Test name="uvec2_highp_compute" />
-<Test name="uvec2_lowp_vertex" />
-<Test name="uvec2_highp_geometry" />
-<Test name="uvec2_highp_tess_control" />
-<Test name="uint_highp_vertex" />
-<Test name="uvec2_highp_tess_eval" />
-<Test name="uvec4_mediump_tess_eval" />
-<Test name="uvec3_highp_tess_control" />
-<Test name="uvec3_mediump_tess_eval" />
-<Test name="uvec3_lowp_vertex" />
-<Test name="uvec4_mediump_compute" />
-<Test name="uvec4_lowp_compute" />
-<Test name="uvec3_lowp_tess_control" />
-<Test name="uvec3_mediump_vertex" />
-<Test name="uint_mediump_compute" />
-<Test name="uvec4_highp_geometry" />
-<Test name="uvec2_lowp_tess_eval" />
-<Test name="uvec3_lowp_tess_eval" />
-<Test name="uvec3_highp_compute" />
-<Test name="uint_lowp_geometry" />
-<Test name="uvec2_highp_vertex" />
-<Test name="uvec2_mediump_compute" />
-<Test name="uvec4_lowp_geometry" />
-<Test name="uvec4_mediump_vertex" />
-<Test name="uvec3_mediump_compute" />
-<Test name="uvec4_lowp_vertex" />
-<Test name="uvec2_mediump_tess_eval" />
-<Test name="uvec4_highp_compute" />
-<Test name="uvec2_lowp_tess_control" />
-<Test name="uint_highp_tess_eval" />
-<Test name="uvec2_lowp_compute" />
-<Test name="uvec3_highp_tess_eval" />
-<Test name="uint_lowp_vertex" />
-<Test name="uvec3_lowp_geometry" />
-<Test name="uvec4_lowp_tess_control" />
-<Test name="uvec3_mediump_tess_control" />
-<Test name="uvec3_mediump_geometry" />
-<Test name="uvec2_mediump_vertex" />
-<Test name="uint_mediump_geometry" />
-<Test name="uvec2_mediump_tess_control" />
-<Test name="uvec4_highp_tess_eval" />
-<Test name="uint_lowp_tess_eval" />
-<Test name="uvec4_highp_tess_control" />
-<Test name="uvec4_mediump_geometry" />
+<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="bitfieldinsert">
-<Test name="uint_mediump_tess_eval" />
-<Test name="uint_highp_tess_control" />
-<Test name="uint_lowp_fragment" />
-<Test name="uvec4_highp_vertex" />
-<Test name="uint_mediump_tess_control" />
-<Test name="uvec4_mediump_fragment" />
-<Test name="uint_lowp_tess_control" />
-<Test name="ivec3_highp_vertex" />
-<Test name="int_lowp_fragment" />
-<Test name="ivec3_highp_geometry" />
-<Test name="ivec4_highp_tess_control" />
-<Test name="ivec3_lowp_tess_eval" />
-<Test name="uvec2_mediump_fragment" />
-<Test name="uvec2_highp_fragment" />
-<Test name="uvec3_mediump_compute" />
-<Test name="uvec4_mediump_vertex" />
-<Test name="uvec4_mediump_tess_control" />
-<Test name="ivec2_lowp_tess_eval" />
-<Test name="uvec4_highp_tess_control" />
-<Test name="ivec2_mediump_compute" />
-<Test name="uvec4_highp_fragment" />
-<Test name="uvec4_lowp_compute" />
-<Test name="ivec4_mediump_compute" />
-<Test name="uvec3_mediump_vertex" />
-<Test name="ivec2_lowp_tess_control" />
-<Test name="int_highp_compute" />
-<Test name="uvec4_lowp_fragment" />
-<Test name="uvec4_highp_geometry" />
-<Test name="ivec4_highp_tess_eval" />
-<Test name="uvec2_mediump_compute" />
-<Test name="uvec4_lowp_geometry" />
-<Test name="ivec4_lowp_tess_control" />
-<Test name="uvec4_lowp_vertex" />
-<Test name="uint_highp_tess_eval" />
-<Test name="uvec2_lowp_compute" />
-<Test name="ivec2_mediump_fragment" />
-<Test name="int_mediump_tess_eval" />
-<Test name="ivec4_highp_vertex" />
-<Test name="uvec3_lowp_geometry" />
-<Test name="uvec4_lowp_tess_control" />
-<Test name="ivec3_lowp_vertex" />
-<Test name="uint_mediump_geometry" />
-<Test name="uint_lowp_tess_eval" />
-<Test name="uvec3_highp_fragment" />
-<Test name="int_highp_geometry" />
-<Test name="int_lowp_compute" />
-<Test name="uvec3_highp_geometry" />
-<Test name="ivec4_mediump_geometry" />
-<Test name="ivec4_lowp_compute" />
-<Test name="uvec3_lowp_fragment" />
-<Test name="uvec3_lowp_compute" />
-<Test name="uvec2_lowp_geometry" />
-<Test name="uvec2_mediump_geometry" />
-<Test name="int_lowp_tess_eval" />
-<Test name="uvec2_highp_tess_eval" />
-<Test name="int_mediump_compute" />
-<Test name="uvec3_highp_tess_control" />
-<Test name="ivec3_lowp_fragment" />
-<Test name="ivec4_mediump_tess_eval" />
-<Test name="uint_mediump_fragment" />
-<Test name="ivec3_lowp_geometry" />
-<Test name="ivec2_mediump_tess_eval" />
-<Test name="uvec3_lowp_vertex" />
-<Test name="ivec2_highp_vertex" />
-<Test name="ivec3_highp_tess_control" />
-<Test name="int_highp_tess_eval" />
-<Test name="uvec3_highp_tess_eval" />
-<Test name="uvec4_highp_compute" />
-<Test name="ivec3_highp_tess_eval" />
-<Test name="uvec2_lowp_tess_control" />
-<Test name="ivec2_lowp_geometry" />
-<Test name="int_highp_fragment" />
-<Test name="int_highp_vertex" />
-<Test name="uvec2_highp_tess_control" />
-<Test name="ivec4_lowp_vertex" />
-<Test name="ivec2_lowp_compute" />
-<Test name="uvec2_mediump_tess_control" />
-<Test name="ivec3_lowp_tess_control" />
-<Test name="ivec2_highp_tess_eval" />
-<Test name="ivec4_mediump_vertex" />
-<Test name="uint_lowp_compute" />
-<Test name="uvec2_highp_geometry" />
-<Test name="uint_mediump_vertex" />
-<Test name="ivec3_mediump_tess_eval" />
-<Test name="uvec4_lowp_tess_eval" />
-<Test name="ivec3_mediump_compute" />
-<Test name="ivec2_lowp_fragment" />
-<Test name="ivec3_lowp_compute" />
-<Test name="uvec2_lowp_vertex" />
-<Test name="uvec3_highp_vertex" />
-<Test name="uvec3_mediump_tess_eval" />
-<Test name="ivec4_mediump_fragment" />
-<Test name="ivec4_mediump_tess_control" />
-<Test name="uvec3_mediump_fragment" />
-<Test name="ivec2_highp_fragment" />
-<Test name="ivec3_mediump_vertex" />
-<Test name="uint_lowp_geometry" />
-<Test name="uvec2_highp_vertex" />
-<Test name="int_lowp_vertex" />
-<Test name="ivec4_highp_fragment" />
-<Test name="uvec2_mediump_tess_eval" />
-<Test name="uvec2_lowp_tess_eval" />
-<Test name="ivec4_lowp_tess_eval" />
-<Test name="ivec2_highp_compute" />
-<Test name="ivec3_highp_compute" />
-<Test name="int_lowp_tess_control" />
-<Test name="int_mediump_tess_control" />
-<Test name="uvec3_mediump_tess_control" />
-<Test name="uint_highp_fragment" />
-<Test name="ivec3_highp_fragment" />
-<Test name="ivec4_highp_compute" />
-<Test name="ivec3_mediump_geometry" />
-<Test name="ivec2_mediump_vertex" />
-<Test name="uint_highp_compute" />
-<Test name="uint_highp_geometry" />
-<Test name="ivec2_mediump_tess_control" />
-<Test name="ivec4_lowp_geometry" />
-<Test name="int_highp_tess_control" />
-<Test name="uvec3_mediump_geometry" />
-<Test name="uvec2_highp_compute" />
-<Test name="ivec3_mediump_tess_control" />
-<Test name="uvec4_mediump_tess_eval" />
-<Test name="ivec2_lowp_vertex" />
-<Test name="uvec4_mediump_compute" />
-<Test name="ivec2_mediump_geometry" />
-<Test name="ivec2_highp_geometry" />
-<Test name="ivec4_lowp_fragment" />
-<Test name="uvec3_lowp_tess_control" />
-<Test name="ivec3_mediump_fragment" />
-<Test name="uint_mediump_compute" />
-<Test name="int_lowp_geometry" />
-<Test name="uvec3_lowp_tess_eval" />
-<Test name="ivec4_highp_geometry" />
-<Test name="int_mediump_vertex" />
-<Test name="uvec4_highp_tess_eval" />
-<Test name="int_mediump_geometry" />
-<Test name="uvec2_lowp_fragment" />
-<Test name="uvec3_highp_compute" />
-<Test name="uint_lowp_vertex" />
-<Test name="int_mediump_fragment" />
-<Test name="uvec2_mediump_vertex" />
-<Test name="ivec2_highp_tess_control" />
-<Test name="uint_highp_vertex" />
-<Test name="uvec4_mediump_geometry" />
+<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>
-<TestCase name="uaddcarry">
-<Test name="uint_mediump_tess_eval" />
-<Test name="uint_highp_tess_control" />
-<Test name="uint_lowp_compute" />
-<Test name="uvec4_mediump_tess_control" />
-<Test name="uint_mediump_vertex" />
-<Test name="uint_mediump_tess_control" />
-<Test name="uvec3_highp_geometry" />
-<Test name="uvec4_lowp_tess_eval" />
-<Test name="uint_lowp_tess_control" />
-<Test name="uint_highp_compute" />
-<Test name="uint_highp_geometry" />
-<Test name="uvec4_highp_vertex" />
-<Test name="uvec3_lowp_compute" />
-<Test name="uvec2_lowp_geometry" />
-<Test name="uvec3_highp_vertex" />
-<Test name="uvec2_mediump_geometry" />
-<Test name="uvec2_highp_compute" />
-<Test name="uvec2_lowp_vertex" />
-<Test name="uvec2_highp_geometry" />
-<Test name="uvec2_highp_tess_control" />
-<Test name="uint_highp_vertex" />
-<Test name="uvec2_highp_tess_eval" />
-<Test name="uvec4_mediump_tess_eval" />
-<Test name="uvec3_highp_tess_control" />
-<Test name="uvec3_mediump_tess_eval" />
-<Test name="uvec3_lowp_vertex" />
-<Test name="uvec4_mediump_compute" />
-<Test name="uvec4_lowp_compute" />
-<Test name="uvec3_lowp_tess_control" />
-<Test name="uvec3_mediump_vertex" />
-<Test name="uint_mediump_compute" />
-<Test name="uvec4_highp_geometry" />
-<Test name="uvec2_lowp_tess_eval" />
-<Test name="uvec3_lowp_tess_eval" />
-<Test name="uvec3_highp_compute" />
-<Test name="uint_lowp_geometry" />
-<Test name="uvec2_highp_vertex" />
-<Test name="uvec2_mediump_compute" />
-<Test name="uvec4_lowp_geometry" />
-<Test name="uvec4_mediump_vertex" />
-<Test name="uvec3_mediump_compute" />
-<Test name="uvec4_lowp_vertex" />
-<Test name="uvec2_mediump_tess_eval" />
-<Test name="uvec4_highp_compute" />
-<Test name="uvec2_lowp_tess_control" />
-<Test name="uint_highp_tess_eval" />
-<Test name="uvec2_lowp_compute" />
-<Test name="uvec3_highp_tess_eval" />
-<Test name="uint_lowp_vertex" />
-<Test name="uvec3_lowp_geometry" />
-<Test name="uvec4_lowp_tess_control" />
-<Test name="uvec3_mediump_tess_control" />
-<Test name="uvec3_mediump_geometry" />
-<Test name="uvec2_mediump_vertex" />
-<Test name="uint_mediump_geometry" />
-<Test name="uvec2_mediump_tess_control" />
-<Test name="uvec4_highp_tess_eval" />
-<Test name="uint_lowp_tess_eval" />
-<Test name="uvec4_highp_tess_control" />
-<Test name="uvec4_mediump_geometry" />
+</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="umulextended">
-<Test name="uvec4_highp_vertex" />
-<Test name="uint_highp_tess_control" />
-<Test name="uvec4_highp_compute" />
-<Test name="uvec2_highp_compute" />
-<Test name="uvec2_highp_geometry" />
-<Test name="uvec3_highp_compute" />
-<Test name="uvec3_highp_tess_eval" />
-<Test name="uvec3_highp_geometry" />
-<Test name="uvec3_highp_vertex" />
-<Test name="uvec2_highp_tess_eval" />
-<Test name="uint_highp_compute" />
-<Test name="uvec2_highp_tess_control" />
-<Test name="uint_highp_geometry" />
-<Test name="uvec3_highp_tess_control" />
-<Test name="uvec4_highp_geometry" />
-<Test name="uvec2_highp_vertex" />
-<Test name="uint_highp_tess_eval" />
-<Test name="uvec4_highp_tess_eval" />
-<Test name="uint_highp_vertex" />
-<Test name="uvec4_highp_tess_control" />
+<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>
-<TestCase name="findlsb">
-<Test name="uint_mediump_tess_eval" />
-<Test name="uint_highp_tess_control" />
-<Test name="uint_lowp_fragment" />
-<Test name="uvec4_highp_vertex" />
-<Test name="uint_mediump_tess_control" />
-<Test name="uvec4_mediump_fragment" />
-<Test name="uint_lowp_tess_control" />
-<Test name="ivec3_highp_vertex" />
-<Test name="int_lowp_fragment" />
-<Test name="ivec3_highp_geometry" />
-<Test name="ivec4_highp_tess_control" />
-<Test name="ivec3_lowp_tess_eval" />
-<Test name="uvec2_mediump_fragment" />
-<Test name="uvec2_highp_fragment" />
-<Test name="uvec3_mediump_compute" />
-<Test name="uvec4_mediump_vertex" />
-<Test name="uvec4_mediump_tess_control" />
-<Test name="ivec2_lowp_tess_eval" />
-<Test name="uvec4_highp_tess_control" />
-<Test name="ivec2_mediump_compute" />
-<Test name="uvec4_highp_fragment" />
-<Test name="uvec4_lowp_compute" />
-<Test name="ivec4_mediump_compute" />
-<Test name="uvec3_mediump_vertex" />
-<Test name="ivec2_lowp_tess_control" />
-<Test name="int_highp_compute" />
-<Test name="uvec4_lowp_fragment" />
-<Test name="uvec4_highp_geometry" />
-<Test name="ivec4_highp_tess_eval" />
-<Test name="uvec2_mediump_compute" />
-<Test name="uvec4_lowp_geometry" />
-<Test name="ivec4_lowp_tess_control" />
-<Test name="uvec4_lowp_vertex" />
-<Test name="uint_highp_tess_eval" />
-<Test name="uvec2_lowp_compute" />
-<Test name="ivec2_mediump_fragment" />
-<Test name="int_mediump_tess_eval" />
-<Test name="ivec4_highp_vertex" />
-<Test name="uvec3_lowp_geometry" />
-<Test name="uvec4_lowp_tess_control" />
-<Test name="ivec3_lowp_vertex" />
-<Test name="uint_mediump_geometry" />
-<Test name="uint_lowp_tess_eval" />
-<Test name="uvec3_highp_fragment" />
-<Test name="int_highp_geometry" />
-<Test name="int_lowp_compute" />
-<Test name="uvec3_highp_geometry" />
-<Test name="ivec4_mediump_geometry" />
-<Test name="ivec4_lowp_compute" />
-<Test name="uvec3_lowp_fragment" />
-<Test name="uvec3_lowp_compute" />
-<Test name="uvec2_lowp_geometry" />
-<Test name="uvec2_mediump_geometry" />
-<Test name="int_lowp_tess_eval" />
-<Test name="uvec2_highp_tess_eval" />
-<Test name="int_mediump_compute" />
-<Test name="uvec3_highp_tess_control" />
-<Test name="ivec3_lowp_fragment" />
-<Test name="ivec4_mediump_tess_eval" />
-<Test name="uint_mediump_fragment" />
-<Test name="ivec3_lowp_geometry" />
-<Test name="ivec2_mediump_tess_eval" />
-<Test name="uvec3_lowp_vertex" />
-<Test name="ivec2_highp_vertex" />
-<Test name="ivec3_highp_tess_control" />
-<Test name="int_highp_tess_eval" />
-<Test name="uvec3_highp_tess_eval" />
-<Test name="uvec4_highp_compute" />
-<Test name="ivec3_highp_tess_eval" />
-<Test name="uvec2_lowp_tess_control" />
-<Test name="ivec2_lowp_geometry" />
-<Test name="int_highp_fragment" />
-<Test name="int_highp_vertex" />
-<Test name="uvec2_highp_tess_control" />
-<Test name="ivec4_lowp_vertex" />
-<Test name="ivec2_lowp_compute" />
-<Test name="uvec2_mediump_tess_control" />
-<Test name="ivec3_lowp_tess_control" />
-<Test name="ivec2_highp_tess_eval" />
-<Test name="ivec4_mediump_vertex" />
-<Test name="uint_lowp_compute" />
-<Test name="uvec2_highp_geometry" />
-<Test name="uint_mediump_vertex" />
-<Test name="ivec3_mediump_tess_eval" />
-<Test name="uvec4_lowp_tess_eval" />
-<Test name="ivec3_mediump_compute" />
-<Test name="ivec2_lowp_fragment" />
-<Test name="ivec3_lowp_compute" />
-<Test name="uvec2_lowp_vertex" />
-<Test name="uvec3_highp_vertex" />
-<Test name="uvec3_mediump_tess_eval" />
-<Test name="ivec4_mediump_fragment" />
-<Test name="ivec4_mediump_tess_control" />
-<Test name="uvec3_mediump_fragment" />
-<Test name="ivec2_highp_fragment" />
-<Test name="ivec3_mediump_vertex" />
-<Test name="uint_lowp_geometry" />
-<Test name="uvec2_highp_vertex" />
-<Test name="int_lowp_vertex" />
-<Test name="ivec4_highp_fragment" />
-<Test name="uvec2_mediump_tess_eval" />
-<Test name="uvec2_lowp_tess_eval" />
-<Test name="ivec4_lowp_tess_eval" />
-<Test name="ivec2_highp_compute" />
-<Test name="ivec3_highp_compute" />
-<Test name="int_lowp_tess_control" />
-<Test name="int_mediump_tess_control" />
-<Test name="uvec3_mediump_tess_control" />
-<Test name="uint_highp_fragment" />
-<Test name="ivec3_highp_fragment" />
-<Test name="ivec4_highp_compute" />
-<Test name="ivec3_mediump_geometry" />
-<Test name="ivec2_mediump_vertex" />
-<Test name="uint_highp_compute" />
-<Test name="uint_highp_geometry" />
-<Test name="ivec2_mediump_tess_control" />
-<Test name="ivec4_lowp_geometry" />
-<Test name="int_highp_tess_control" />
-<Test name="uvec3_mediump_geometry" />
-<Test name="uvec2_highp_compute" />
-<Test name="ivec3_mediump_tess_control" />
-<Test name="uvec4_mediump_tess_eval" />
-<Test name="ivec2_lowp_vertex" />
-<Test name="uvec4_mediump_compute" />
-<Test name="ivec2_mediump_geometry" />
-<Test name="ivec2_highp_geometry" />
-<Test name="ivec4_lowp_fragment" />
-<Test name="uvec3_lowp_tess_control" />
-<Test name="ivec3_mediump_fragment" />
-<Test name="uint_mediump_compute" />
-<Test name="int_lowp_geometry" />
-<Test name="uvec3_lowp_tess_eval" />
-<Test name="ivec4_highp_geometry" />
-<Test name="int_mediump_vertex" />
-<Test name="uvec4_highp_tess_eval" />
-<Test name="int_mediump_geometry" />
-<Test name="uvec2_lowp_fragment" />
-<Test name="uvec3_highp_compute" />
-<Test name="uint_lowp_vertex" />
-<Test name="int_mediump_fragment" />
-<Test name="uvec2_mediump_vertex" />
-<Test name="ivec2_highp_tess_control" />
-<Test name="uint_highp_vertex" />
-<Test name="uvec4_mediump_geometry" />
+</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="imulextended">
-<Test name="int_highp_tess_eval" />
-<Test name="int_highp_tess_control" />
-<Test name="int_highp_geometry" />
-<Test name="ivec3_highp_tess_eval" />
-<Test name="ivec2_highp_compute" />
-<Test name="ivec2_highp_vertex" />
-<Test name="ivec3_highp_compute" />
-<Test name="int_highp_compute" />
-<Test name="ivec2_highp_tess_control" />
-<Test name="int_highp_vertex" />
-<Test name="ivec2_highp_geometry" />
-<Test name="ivec3_highp_vertex" />
-<Test name="ivec4_highp_geometry" />
-<Test name="ivec4_highp_tess_eval" />
-<Test name="ivec3_highp_tess_control" />
-<Test name="ivec3_highp_geometry" />
-<Test name="ivec2_highp_tess_eval" />
-<Test name="ivec4_highp_tess_control" />
-<Test name="ivec4_highp_vertex" />
-<Test name="ivec4_highp_compute" />
+<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="bitfieldextract">
-<Test name="uint_mediump_tess_eval" />
-<Test name="uint_highp_tess_control" />
-<Test name="uint_lowp_fragment" />
-<Test name="uvec4_highp_vertex" />
-<Test name="uint_mediump_tess_control" />
-<Test name="uvec4_mediump_fragment" />
-<Test name="uint_lowp_tess_control" />
-<Test name="ivec3_highp_vertex" />
-<Test name="int_lowp_fragment" />
-<Test name="ivec3_highp_geometry" />
-<Test name="ivec4_highp_tess_control" />
-<Test name="ivec3_lowp_tess_eval" />
-<Test name="uvec2_mediump_fragment" />
-<Test name="uvec2_highp_fragment" />
-<Test name="uvec3_mediump_compute" />
-<Test name="uvec4_mediump_vertex" />
-<Test name="uvec4_mediump_tess_control" />
-<Test name="ivec2_lowp_tess_eval" />
-<Test name="uvec4_highp_tess_control" />
-<Test name="ivec2_mediump_compute" />
-<Test name="uvec4_highp_fragment" />
-<Test name="uvec4_lowp_compute" />
-<Test name="ivec4_mediump_compute" />
-<Test name="uvec3_mediump_vertex" />
-<Test name="ivec2_lowp_tess_control" />
-<Test name="int_highp_compute" />
-<Test name="uvec4_lowp_fragment" />
-<Test name="uvec4_highp_geometry" />
-<Test name="ivec4_highp_tess_eval" />
-<Test name="uvec2_mediump_compute" />
-<Test name="uvec4_lowp_geometry" />
-<Test name="ivec4_lowp_tess_control" />
-<Test name="uvec4_lowp_vertex" />
-<Test name="uint_highp_tess_eval" />
-<Test name="uvec2_lowp_compute" />
-<Test name="ivec2_mediump_fragment" />
-<Test name="int_mediump_tess_eval" />
-<Test name="ivec4_highp_vertex" />
-<Test name="uvec3_lowp_geometry" />
-<Test name="uvec4_lowp_tess_control" />
-<Test name="ivec3_lowp_vertex" />
-<Test name="uint_mediump_geometry" />
-<Test name="uint_lowp_tess_eval" />
-<Test name="uvec3_highp_fragment" />
-<Test name="int_highp_geometry" />
-<Test name="int_lowp_compute" />
-<Test name="uvec3_highp_geometry" />
-<Test name="ivec4_mediump_geometry" />
-<Test name="ivec4_lowp_compute" />
-<Test name="uvec3_lowp_fragment" />
-<Test name="uvec3_lowp_compute" />
-<Test name="uvec2_lowp_geometry" />
-<Test name="uvec2_mediump_geometry" />
-<Test name="int_lowp_tess_eval" />
-<Test name="uvec2_highp_tess_eval" />
-<Test name="int_mediump_compute" />
-<Test name="uvec3_highp_tess_control" />
-<Test name="ivec3_lowp_fragment" />
-<Test name="ivec4_mediump_tess_eval" />
-<Test name="uint_mediump_fragment" />
-<Test name="ivec3_lowp_geometry" />
-<Test name="ivec2_mediump_tess_eval" />
-<Test name="uvec3_lowp_vertex" />
-<Test name="ivec2_highp_vertex" />
-<Test name="ivec3_highp_tess_control" />
-<Test name="int_highp_tess_eval" />
-<Test name="uvec3_highp_tess_eval" />
-<Test name="uvec4_highp_compute" />
-<Test name="ivec3_highp_tess_eval" />
-<Test name="uvec2_lowp_tess_control" />
-<Test name="ivec2_lowp_geometry" />
-<Test name="int_highp_fragment" />
-<Test name="int_highp_vertex" />
-<Test name="uvec2_highp_tess_control" />
-<Test name="ivec4_lowp_vertex" />
-<Test name="ivec2_lowp_compute" />
-<Test name="uvec2_mediump_tess_control" />
-<Test name="ivec3_lowp_tess_control" />
-<Test name="ivec2_highp_tess_eval" />
-<Test name="ivec4_mediump_vertex" />
-<Test name="uint_lowp_compute" />
-<Test name="uvec2_highp_geometry" />
-<Test name="uint_mediump_vertex" />
-<Test name="ivec3_mediump_tess_eval" />
-<Test name="uvec4_lowp_tess_eval" />
-<Test name="ivec3_mediump_compute" />
-<Test name="ivec2_lowp_fragment" />
-<Test name="ivec3_lowp_compute" />
-<Test name="uvec2_lowp_vertex" />
-<Test name="uvec3_highp_vertex" />
-<Test name="uvec3_mediump_tess_eval" />
-<Test name="ivec4_mediump_fragment" />
-<Test name="ivec4_mediump_tess_control" />
-<Test name="uvec3_mediump_fragment" />
-<Test name="ivec2_highp_fragment" />
-<Test name="ivec3_mediump_vertex" />
-<Test name="uint_lowp_geometry" />
-<Test name="uvec2_highp_vertex" />
-<Test name="int_lowp_vertex" />
-<Test name="ivec4_highp_fragment" />
-<Test name="uvec2_mediump_tess_eval" />
-<Test name="uvec2_lowp_tess_eval" />
-<Test name="ivec4_lowp_tess_eval" />
-<Test name="ivec2_highp_compute" />
-<Test name="ivec3_highp_compute" />
-<Test name="int_lowp_tess_control" />
-<Test name="int_mediump_tess_control" />
-<Test name="uvec3_mediump_tess_control" />
-<Test name="uint_highp_fragment" />
-<Test name="ivec3_highp_fragment" />
-<Test name="ivec4_highp_compute" />
-<Test name="ivec3_mediump_geometry" />
-<Test name="ivec2_mediump_vertex" />
-<Test name="uint_highp_compute" />
-<Test name="uint_highp_geometry" />
-<Test name="ivec2_mediump_tess_control" />
-<Test name="ivec4_lowp_geometry" />
-<Test name="int_highp_tess_control" />
-<Test name="uvec3_mediump_geometry" />
-<Test name="uvec2_highp_compute" />
-<Test name="ivec3_mediump_tess_control" />
-<Test name="uvec4_mediump_tess_eval" />
-<Test name="ivec2_lowp_vertex" />
-<Test name="uvec4_mediump_compute" />
-<Test name="ivec2_mediump_geometry" />
-<Test name="ivec2_highp_geometry" />
-<Test name="ivec4_lowp_fragment" />
-<Test name="uvec3_lowp_tess_control" />
-<Test name="ivec3_mediump_fragment" />
-<Test name="uint_mediump_compute" />
-<Test name="int_lowp_geometry" />
-<Test name="uvec3_lowp_tess_eval" />
-<Test name="ivec4_highp_geometry" />
-<Test name="int_mediump_vertex" />
-<Test name="uvec4_highp_tess_eval" />
-<Test name="int_mediump_geometry" />
-<Test name="uvec2_lowp_fragment" />
-<Test name="uvec3_highp_compute" />
-<Test name="uint_lowp_vertex" />
-<Test name="int_mediump_fragment" />
-<Test name="uvec2_mediump_vertex" />
-<Test name="ivec2_highp_tess_control" />
-<Test name="uint_highp_vertex" />
-<Test name="uvec4_mediump_geometry" />
+<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>
-<TestCase name="pack_unpack">
-<Test name="packsnorm4x8_mediump_compute" />
-<Test name="packunorm4x8_mediump_fragment" />
-<Test name="packunorm4x8_highp_tess_control" />
-<Test name="packunorm4x8_mediump_vertex" />
-<Test name="unpackunorm4x8_vertex" />
-<Test name="unpacksnorm4x8_tess_control" />
-<Test name="packsnorm4x8_mediump_vertex" />
-<Test name="unpackhalf2x16_compute" />
-<Test name="packsnorm4x8_mediump_geometry" />
-<Test name="packsnorm4x8_highp_tess_control" />
-<Test name="packunorm4x8_lowp_tess_eval" />
-<Test name="unpackunorm4x8_compute" />
-<Test name="unpacksnorm2x16_compute" />
-<Test name="unpacksnorm2x16_geometry" />
-<Test name="unpacksnorm4x8_tess_eval" />
-<Test name="unpacksnorm4x8_geometry" />
-<Test name="packsnorm4x8_highp_geometry" />
-<Test name="packunorm4x8_lowp_vertex" />
-<Test name="packunorm4x8_mediump_compute" />
-<Test name="packsnorm4x8_highp_vertex" />
-<Test name="packunorm4x8_lowp_fragment" />
-<Test name="packsnorm2x16_lowp_compute" />
-<Test name="packunorm2x16_lowp_geometry" />
-<Test name="unpacksnorm4x8_fragment" />
-<Test name="unpackunorm4x8_fragment" />
-<Test name="packunorm4x8_mediump_geometry" />
-<Test name="unpackunorm4x8_geometry" />
-<Test name="unpackhalf2x16_geometry" />
-<Test name="packunorm4x8_lowp_geometry" />
-<Test name="packsnorm4x8_mediump_tess_eval" />
-<Test name="packsnorm4x8_lowp_fragment" />
-<Test name="packsnorm4x8_lowp_tess_control" />
-<Test name="unpackunorm4x8_tess_control" />
-<Test name="packsnorm2x16_mediump_compute" />
-<Test name="packsnorm4x8_highp_fragment" />
-<Test name="packunorm4x8_lowp_compute" />
-<Test name="packunorm2x16_mediump_compute" />
-<Test name="packsnorm4x8_lowp_vertex" />
-<Test name="unpackunorm2x16_compute" />
-<Test name="unpackunorm2x16_geometry" />
-<Test name="unpackunorm4x8_tess_eval" />
-<Test name="packunorm4x8_highp_geometry" />
-<Test name="packunorm4x8_highp_tess_eval" />
-<Test name="packunorm4x8_mediump_tess_control" />
-<Test name="packsnorm2x16_lowp_geometry" />
-<Test name="packsnorm4x8_lowp_tess_eval" />
-<Test name="packsnorm2x16_highp_geometry" />
-<Test name="packunorm2x16_highp_geometry" />
-<Test name="packunorm4x8_highp_vertex" />
-<Test name="packunorm2x16_highp_compute" />
-<Test name="packunorm4x8_mediump_tess_eval" />
-<Test name="packunorm4x8_highp_fragment" />
-<Test name="packunorm2x16_mediump_geometry" />
-<Test name="unpacksnorm4x8_vertex" />
-<Test name="packsnorm4x8_mediump_fragment" />
-<Test name="packsnorm2x16_highp_compute" />
-<Test name="packsnorm4x8_mediump_tess_control" />
-<Test name="packunorm2x16_lowp_compute" />
-<Test name="unpacksnorm4x8_compute" />
-<Test name="packsnorm4x8_lowp_compute" />
-<Test name="packsnorm4x8_highp_compute" />
-<Test name="packsnorm2x16_mediump_geometry" />
-<Test name="packunorm4x8_lowp_tess_control" />
-<Test name="packhalf2x16_compute" />
-<Test name="packhalf2x16_geometry" />
-<Test name="packsnorm4x8_lowp_geometry" />
-<Test name="packsnorm4x8_highp_tess_eval" />
-<Test name="packunorm4x8_highp_compute" />
+<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="texture_size">
-<Test name="samples_4_texture_2d" />
-<Test name="samples_1_texture_uint_2d_array" />
-<Test name="samples_1_texture_2d" />
-<Test name="samples_1_texture_2d_array" />
-<Test name="samples_4_texture_uint_2d_array" />
-<Test name="samples_4_texture_uint_2d" />
-<Test name="samples_1_texture_int_2d_array" />
-<Test name="samples_4_texture_2d_array" />
-<Test name="samples_1_texture_uint_2d" />
-<Test name="samples_4_texture_int_2d" />
-<Test name="samples_1_texture_int_2d" />
-<Test name="samples_4_texture_int_2d_array" />
+<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>
-<TestSuite name="common">
-<TestCase name="frexp">
-<Test name="vec3_mediump_compute" />
-<Test name="float_highp_tess_eval" />
-<Test name="vec4_lowp_vertex" />
-<Test name="float_mediump_geometry" />
-<Test name="float_highp_geometry" />
-<Test name="vec4_lowp_tess_control" />
-<Test name="vec4_mediump_tess_eval" />
-<Test name="vec2_mediump_compute" />
-<Test name="vec3_lowp_tess_control" />
-<Test name="vec3_mediump_geometry" />
-<Test name="vec3_mediump_tess_control" />
-<Test name="vec4_lowp_geometry" />
-<Test name="vec2_lowp_geometry" />
-<Test name="vec4_mediump_compute" />
-<Test name="float_highp_tess_control" />
-<Test name="float_lowp_tess_eval" />
-<Test name="vec4_lowp_compute" />
-<Test name="float_mediump_compute" />
-<Test name="float_lowp_tess_control" />
-<Test name="vec4_highp_tess_control" />
-<Test name="float_lowp_vertex" />
-<Test name="vec2_lowp_vertex" />
-<Test name="vec4_lowp_tess_eval" />
-<Test name="float_mediump_tess_eval" />
-<Test name="vec4_mediump_geometry" />
-<Test name="vec2_mediump_tess_control" />
-<Test name="vec2_mediump_geometry" />
-<Test name="vec4_highp_geometry" />
-<Test name="vec2_lowp_tess_eval" />
-<Test name="float_highp_compute" />
-<Test name="vec2_mediump_tess_eval" />
-<Test name="vec2_highp_tess_control" />
-<Test name="vec2_lowp_compute" />
-<Test name="vec3_lowp_geometry" />
-<Test name="vec2_mediump_vertex" />
-<Test name="vec4_highp_vertex" />
-<Test name="float_lowp_compute" />
-<Test name="vec3_lowp_tess_eval" />
-<Test name="vec2_lowp_tess_control" />
-<Test name="vec2_highp_compute" />
-<Test name="float_highp_vertex" />
-<Test name="vec2_highp_geometry" />
-<Test name="vec4_highp_compute" />
-<Test name="vec2_highp_tess_eval" />
-<Test name="vec3_highp_vertex" />
-<Test name="float_lowp_geometry" />
-<Test name="vec3_mediump_vertex" />
-<Test name="vec2_highp_vertex" />
-<Test name="vec3_highp_tess_control" />
-<Test name="float_mediump_vertex" />
-<Test name="vec3_mediump_tess_eval" />
-<Test name="vec4_mediump_vertex" />
-<Test name="vec3_highp_geometry" />
-<Test name="float_mediump_tess_control" />
-<Test name="vec3_lowp_compute" />
-<Test name="vec3_lowp_vertex" />
-<Test name="vec3_highp_tess_eval" />
-<Test name="vec4_highp_tess_eval" />
-<Test name="vec4_mediump_tess_control" />
-<Test name="vec3_highp_compute" />
+<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="isnan">
-<Test name="vec3_mediump_compute" />
-<Test name="float_highp_tess_eval" />
-<Test name="float_mediump_geometry" />
-<Test name="float_highp_geometry" />
-<Test name="vec4_lowp_tess_control" />
-<Test name="vec4_mediump_tess_eval" />
-<Test name="vec2_mediump_compute" />
-<Test name="vec3_lowp_tess_control" />
-<Test name="vec3_mediump_geometry" />
-<Test name="vec3_mediump_tess_control" />
-<Test name="vec4_lowp_geometry" />
-<Test name="vec2_lowp_geometry" />
-<Test name="vec4_mediump_compute" />
-<Test name="float_highp_tess_control" />
-<Test name="float_lowp_tess_eval" />
-<Test name="vec4_lowp_compute" />
-<Test name="float_mediump_compute" />
-<Test name="float_lowp_tess_control" />
-<Test name="vec4_highp_tess_control" />
-<Test name="vec4_lowp_tess_eval" />
-<Test name="float_mediump_tess_eval" />
-<Test name="vec4_mediump_geometry" />
-<Test name="vec2_mediump_geometry" />
-<Test name="vec4_highp_geometry" />
-<Test name="vec2_lowp_tess_eval" />
-<Test name="float_highp_compute" />
-<Test name="vec2_mediump_tess_eval" />
-<Test name="vec2_highp_tess_control" />
-<Test name="vec2_lowp_compute" />
-<Test name="vec3_lowp_geometry" />
-<Test name="vec2_mediump_tess_control" />
-<Test name="float_lowp_compute" />
-<Test name="vec3_lowp_tess_eval" />
-<Test name="vec2_lowp_tess_control" />
-<Test name="vec2_highp_compute" />
-<Test name="vec2_highp_geometry" />
-<Test name="vec4_highp_compute" />
-<Test name="vec2_highp_tess_eval" />
-<Test name="float_lowp_geometry" />
-<Test name="vec3_highp_tess_control" />
-<Test name="vec3_mediump_tess_eval" />
-<Test name="vec3_highp_geometry" />
-<Test name="float_mediump_tess_control" />
-<Test name="vec3_lowp_compute" />
-<Test name="vec3_highp_tess_eval" />
-<Test name="vec4_highp_tess_eval" />
-<Test name="vec4_mediump_tess_control" />
-<Test name="vec3_highp_compute" />
+<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="intbitstofloat">
-<Test name="int_highp_tess_eval" />
-<Test name="int_highp_tess_control" />
-<Test name="int_highp_geometry" />
-<Test name="ivec3_highp_tess_eval" />
-<Test name="ivec2_highp_compute" />
-<Test name="ivec3_highp_compute" />
-<Test name="int_highp_compute" />
-<Test name="ivec2_highp_geometry" />
-<Test name="ivec2_highp_tess_eval" />
-<Test name="ivec2_highp_tess_control" />
-<Test name="ivec3_highp_geometry" />
-<Test name="ivec3_highp_tess_control" />
+<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="roundeven">
-<Test name="vec3_mediump_compute" />
-<Test name="float_highp_tess_eval" />
-<Test name="float_mediump_geometry" />
-<Test name="float_highp_geometry" />
-<Test name="vec4_lowp_tess_control" />
-<Test name="vec4_mediump_tess_eval" />
-<Test name="vec2_mediump_compute" />
-<Test name="vec3_lowp_tess_control" />
-<Test name="vec3_mediump_geometry" />
-<Test name="vec3_mediump_tess_control" />
-<Test name="vec4_lowp_geometry" />
-<Test name="vec2_lowp_geometry" />
-<Test name="vec4_mediump_compute" />
-<Test name="float_highp_tess_control" />
-<Test name="float_lowp_tess_eval" />
-<Test name="vec4_lowp_compute" />
-<Test name="float_mediump_compute" />
-<Test name="float_lowp_tess_control" />
-<Test name="vec4_highp_tess_control" />
-<Test name="vec4_lowp_tess_eval" />
-<Test name="float_mediump_tess_eval" />
-<Test name="vec4_mediump_geometry" />
-<Test name="vec2_mediump_geometry" />
-<Test name="vec4_highp_geometry" />
-<Test name="vec2_lowp_tess_eval" />
-<Test name="float_highp_compute" />
-<Test name="vec2_mediump_tess_eval" />
-<Test name="vec2_highp_tess_control" />
-<Test name="vec2_lowp_compute" />
-<Test name="vec3_lowp_geometry" />
-<Test name="vec2_mediump_tess_control" />
-<Test name="float_lowp_compute" />
-<Test name="vec3_lowp_tess_eval" />
-<Test name="vec2_lowp_tess_control" />
-<Test name="vec2_highp_compute" />
-<Test name="vec2_highp_geometry" />
-<Test name="vec4_highp_compute" />
-<Test name="vec2_highp_tess_eval" />
-<Test name="float_lowp_geometry" />
-<Test name="vec3_highp_tess_control" />
-<Test name="vec3_mediump_tess_eval" />
-<Test name="vec3_highp_geometry" />
-<Test name="float_mediump_tess_control" />
-<Test name="vec3_lowp_compute" />
-<Test name="vec3_highp_tess_eval" />
-<Test name="vec4_highp_tess_eval" />
-<Test name="vec4_mediump_tess_control" />
-<Test name="vec3_highp_compute" />
+<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="floatbitstoint">
-<Test name="vec3_mediump_compute" />
-<Test name="float_highp_tess_eval" />
-<Test name="float_mediump_geometry" />
-<Test name="float_highp_geometry" />
-<Test name="vec4_lowp_tess_control" />
-<Test name="vec4_mediump_tess_eval" />
-<Test name="vec2_mediump_compute" />
-<Test name="vec3_lowp_tess_control" />
-<Test name="vec3_mediump_geometry" />
-<Test name="vec3_mediump_tess_control" />
-<Test name="vec4_lowp_geometry" />
-<Test name="vec2_lowp_geometry" />
-<Test name="vec4_mediump_compute" />
-<Test name="float_highp_tess_control" />
-<Test name="float_lowp_tess_eval" />
-<Test name="vec4_lowp_compute" />
-<Test name="float_mediump_compute" />
-<Test name="float_lowp_tess_control" />
-<Test name="vec4_highp_tess_control" />
-<Test name="vec4_lowp_tess_eval" />
-<Test name="float_mediump_tess_eval" />
-<Test name="vec4_mediump_geometry" />
-<Test name="vec2_mediump_geometry" />
-<Test name="vec4_highp_geometry" />
-<Test name="vec2_lowp_tess_eval" />
-<Test name="float_highp_compute" />
-<Test name="vec2_mediump_tess_eval" />
-<Test name="vec2_highp_tess_control" />
-<Test name="vec2_lowp_compute" />
-<Test name="vec3_lowp_geometry" />
-<Test name="vec2_mediump_tess_control" />
-<Test name="float_lowp_compute" />
-<Test name="vec3_lowp_tess_eval" />
-<Test name="vec2_lowp_tess_control" />
-<Test name="vec2_highp_compute" />
-<Test name="vec2_highp_geometry" />
-<Test name="vec4_highp_compute" />
-<Test name="vec2_highp_tess_eval" />
-<Test name="float_lowp_geometry" />
-<Test name="vec3_highp_tess_control" />
-<Test name="vec3_mediump_tess_eval" />
-<Test name="vec3_highp_geometry" />
-<Test name="float_mediump_tess_control" />
-<Test name="vec3_lowp_compute" />
-<Test name="vec3_highp_tess_eval" />
-<Test name="vec4_highp_tess_eval" />
-<Test name="vec4_mediump_tess_control" />
-<Test name="vec3_highp_compute" />
+<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="floor">
-<Test name="vec3_mediump_compute" />
-<Test name="float_highp_tess_eval" />
-<Test name="float_mediump_geometry" />
-<Test name="float_highp_geometry" />
-<Test name="vec4_lowp_tess_control" />
-<Test name="vec4_mediump_tess_eval" />
-<Test name="vec2_mediump_compute" />
-<Test name="vec3_lowp_tess_control" />
-<Test name="vec3_mediump_geometry" />
-<Test name="vec3_mediump_tess_control" />
-<Test name="vec4_lowp_geometry" />
-<Test name="vec2_lowp_geometry" />
-<Test name="vec4_mediump_compute" />
-<Test name="float_highp_tess_control" />
-<Test name="float_lowp_tess_eval" />
-<Test name="vec4_lowp_compute" />
-<Test name="float_mediump_compute" />
-<Test name="float_lowp_tess_control" />
-<Test name="vec4_highp_tess_control" />
-<Test name="vec4_lowp_tess_eval" />
-<Test name="float_mediump_tess_eval" />
-<Test name="vec4_mediump_geometry" />
-<Test name="vec2_mediump_geometry" />
-<Test name="vec4_highp_geometry" />
-<Test name="vec2_lowp_tess_eval" />
-<Test name="float_highp_compute" />
-<Test name="vec2_mediump_tess_eval" />
-<Test name="vec2_highp_tess_control" />
-<Test name="vec2_lowp_compute" />
-<Test name="vec3_lowp_geometry" />
-<Test name="vec2_mediump_tess_control" />
-<Test name="float_lowp_compute" />
-<Test name="vec3_lowp_tess_eval" />
-<Test name="vec2_lowp_tess_control" />
-<Test name="vec2_highp_compute" />
-<Test name="vec2_highp_geometry" />
-<Test name="vec4_highp_compute" />
-<Test name="vec2_highp_tess_eval" />
-<Test name="float_lowp_geometry" />
-<Test name="vec3_highp_tess_control" />
-<Test name="vec3_mediump_tess_eval" />
-<Test name="vec3_highp_geometry" />
-<Test name="float_mediump_tess_control" />
-<Test name="vec3_lowp_compute" />
-<Test name="vec3_highp_tess_eval" />
-<Test name="vec4_highp_tess_eval" />
-<Test name="vec4_mediump_tess_control" />
-<Test name="vec3_highp_compute" />
+<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="trunc">
-<Test name="vec3_mediump_compute" />
-<Test name="float_highp_tess_eval" />
-<Test name="float_mediump_geometry" />
-<Test name="float_highp_geometry" />
-<Test name="vec4_lowp_tess_control" />
-<Test name="vec4_mediump_tess_eval" />
-<Test name="vec2_mediump_compute" />
-<Test name="vec3_lowp_tess_control" />
-<Test name="vec3_mediump_geometry" />
-<Test name="vec3_mediump_tess_control" />
-<Test name="vec4_lowp_geometry" />
-<Test name="vec2_lowp_geometry" />
-<Test name="vec4_mediump_compute" />
-<Test name="float_highp_tess_control" />
-<Test name="float_lowp_tess_eval" />
-<Test name="vec4_lowp_compute" />
-<Test name="float_mediump_compute" />
-<Test name="float_lowp_tess_control" />
-<Test name="vec4_highp_tess_control" />
-<Test name="vec4_lowp_tess_eval" />
-<Test name="float_mediump_tess_eval" />
-<Test name="vec4_mediump_geometry" />
-<Test name="vec2_mediump_geometry" />
-<Test name="vec4_highp_geometry" />
-<Test name="vec2_lowp_tess_eval" />
-<Test name="float_highp_compute" />
-<Test name="vec2_mediump_tess_eval" />
-<Test name="vec2_highp_tess_control" />
-<Test name="vec2_lowp_compute" />
-<Test name="vec3_lowp_geometry" />
-<Test name="vec2_mediump_tess_control" />
-<Test name="float_lowp_compute" />
-<Test name="vec3_lowp_tess_eval" />
-<Test name="vec2_lowp_tess_control" />
-<Test name="vec2_highp_compute" />
-<Test name="vec2_highp_geometry" />
-<Test name="vec4_highp_compute" />
-<Test name="vec2_highp_tess_eval" />
-<Test name="float_lowp_geometry" />
-<Test name="vec3_highp_tess_control" />
-<Test name="vec3_mediump_tess_eval" />
-<Test name="vec3_highp_geometry" />
-<Test name="float_mediump_tess_control" />
-<Test name="vec3_lowp_compute" />
-<Test name="vec3_highp_tess_eval" />
-<Test name="vec4_highp_tess_eval" />
-<Test name="vec4_mediump_tess_control" />
-<Test name="vec3_highp_compute" />
+<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="sign">
-<Test name="vec3_mediump_compute" />
-<Test name="float_mediump_geometry" />
-<Test name="vec3_mediump_tess_control" />
-<Test name="int_lowp_compute" />
-<Test name="ivec3_highp_geometry" />
-<Test name="ivec4_highp_tess_control" />
-<Test name="ivec3_lowp_tess_eval" />
-<Test name="float_lowp_tess_control" />
-<Test name="vec4_highp_tess_control" />
-<Test name="ivec2_lowp_tess_eval" />
-<Test name="ivec2_mediump_compute" />
-<Test name="ivec4_mediump_compute" />
-<Test name="vec2_lowp_compute" />
-<Test name="vec3_lowp_geometry" />
-<Test name="vec2_mediump_tess_control" />
-<Test name="ivec2_lowp_tess_control" />
-<Test name="vec3_lowp_tess_eval" />
-<Test name="int_highp_compute" />
-<Test name="ivec4_highp_tess_eval" />
-<Test name="float_lowp_geometry" />
-<Test name="int_mediump_tess_eval" />
-<Test name="float_highp_tess_eval" />
-<Test name="float_highp_geometry" />
-<Test name="vec3_lowp_tess_control" />
-<Test name="ivec4_mediump_geometry" />
-<Test name="vec2_lowp_geometry" />
-<Test name="vec4_mediump_compute" />
-<Test name="float_mediump_compute" />
-<Test name="int_lowp_tess_eval" />
-<Test name="vec2_highp_tess_eval" />
-<Test name="int_mediump_compute" />
-<Test name="vec2_mediump_geometry" />
-<Test name="vec2_lowp_tess_eval" />
-<Test name="ivec4_mediump_tess_eval" />
-<Test name="vec4_lowp_compute" />
-<Test name="ivec2_mediump_tess_eval" />
-<Test name="ivec3_lowp_geometry" />
-<Test name="vec2_highp_compute" />
-<Test name="ivec3_highp_tess_control" />
-<Test name="int_highp_tess_eval" />
-<Test name="ivec3_highp_tess_eval" />
-<Test name="ivec2_lowp_geometry" />
-<Test name="vec3_lowp_compute" />
-<Test name="ivec2_lowp_compute" />
-<Test name="vec3_highp_tess_eval" />
-<Test name="ivec3_lowp_tess_control" />
-<Test name="vec4_mediump_tess_control" />
-<Test name="vec4_lowp_tess_control" />
-<Test name="vec2_mediump_compute" />
-<Test name="ivec4_lowp_tess_control" />
-<Test name="ivec3_mediump_compute" />
-<Test name="int_highp_geometry" />
-<Test name="vec4_lowp_geometry" />
-<Test name="vec4_mediump_geometry" />
-<Test name="vec3_highp_geometry" />
-<Test name="ivec3_lowp_compute" />
-<Test name="vec4_highp_geometry" />
-<Test name="vec2_mediump_tess_eval" />
-<Test name="ivec4_mediump_tess_control" />
-<Test name="vec2_lowp_tess_control" />
-<Test name="ivec3_mediump_tess_eval" />
-<Test name="vec3_mediump_geometry" />
-<Test name="ivec2_highp_compute" />
-<Test name="ivec3_highp_compute" />
-<Test name="int_lowp_tess_control" />
-<Test name="int_mediump_tess_control" />
-<Test name="vec4_highp_tess_eval" />
-<Test name="ivec4_highp_compute" />
-<Test name="vec4_mediump_tess_eval" />
-<Test name="vec2_highp_tess_control" />
-<Test name="ivec3_mediump_geometry" />
-<Test name="ivec4_lowp_tess_eval" />
-<Test name="float_highp_tess_control" />
-<Test name="ivec2_mediump_tess_control" />
-<Test name="float_lowp_tess_eval" />
-<Test name="ivec4_lowp_geometry" />
-<Test name="int_highp_tess_control" />
-<Test name="ivec3_mediump_tess_control" />
-<Test name="vec4_lowp_tess_eval" />
-<Test name="float_mediump_tess_eval" />
-<Test name="float_highp_compute" />
-<Test name="ivec2_mediump_geometry" />
-<Test name="ivec2_highp_geometry" />
-<Test name="ivec4_lowp_compute" />
-<Test name="float_lowp_compute" />
-<Test name="vec3_highp_compute" />
-<Test name="int_lowp_geometry" />
-<Test name="vec2_highp_geometry" />
-<Test name="ivec2_highp_tess_eval" />
-<Test name="ivec4_highp_geometry" />
-<Test name="vec4_highp_compute" />
-<Test name="int_mediump_geometry" />
-<Test name="vec3_highp_tess_control" />
-<Test name="vec3_mediump_tess_eval" />
-<Test name="float_mediump_tess_control" />
-<Test name="ivec2_highp_tess_control" />
+<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="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>
-<TestCase name="ldexp">
-<Test name="vec2_mediump_fragment" />
-<Test name="vec3_mediump_compute" />
-<Test name="float_highp_tess_eval" />
-<Test name="vec4_lowp_vertex" />
-<Test name="float_mediump_geometry" />
-<Test name="float_highp_geometry" />
-<Test name="vec4_lowp_tess_control" />
-<Test name="vec4_mediump_tess_eval" />
-<Test name="vec2_mediump_compute" />
-<Test name="vec3_lowp_tess_control" />
-<Test name="vec3_mediump_geometry" />
-<Test name="float_highp_fragment" />
-<Test name="vec4_lowp_geometry" />
-<Test name="vec2_lowp_geometry" />
-<Test name="vec4_lowp_fragment" />
-<Test name="vec4_mediump_compute" />
-<Test name="float_highp_tess_control" />
-<Test name="vec4_highp_fragment" />
-<Test name="float_lowp_tess_eval" />
-<Test name="vec4_lowp_compute" />
-<Test name="float_mediump_fragment" />
-<Test name="float_mediump_compute" />
-<Test name="vec2_lowp_fragment" />
-<Test name="float_lowp_tess_control" />
-<Test name="vec3_highp_vertex" />
-<Test name="vec4_highp_tess_control" />
-<Test name="float_lowp_vertex" />
-<Test name="vec2_lowp_vertex" />
-<Test name="vec4_lowp_tess_eval" />
-<Test name="float_mediump_tess_eval" />
-<Test name="vec2_highp_fragment" />
-<Test name="vec4_mediump_geometry" />
-<Test name="float_lowp_fragment" />
-<Test name="vec2_mediump_tess_control" />
-<Test name="vec2_mediump_geometry" />
-<Test name="vec4_highp_geometry" />
-<Test name="vec2_lowp_tess_eval" />
-<Test name="float_highp_compute" />
-<Test name="vec2_mediump_tess_eval" />
-<Test name="vec2_highp_tess_control" />
-<Test name="float_lowp_compute" />
-<Test name="vec2_lowp_compute" />
-<Test name="vec3_lowp_geometry" />
-<Test name="vec2_mediump_vertex" />
-<Test name="vec4_highp_vertex" />
-<Test name="vec3_mediump_fragment" />
-<Test name="vec3_lowp_tess_eval" />
-<Test name="vec2_lowp_tess_control" />
-<Test name="vec2_highp_compute" />
-<Test name="float_highp_vertex" />
-<Test name="vec2_highp_geometry" />
-<Test name="vec4_highp_compute" />
-<Test name="vec2_highp_tess_eval" />
-<Test name="vec3_highp_fragment" />
-<Test name="float_lowp_geometry" />
-<Test name="vec3_lowp_fragment" />
-<Test name="vec3_mediump_vertex" />
-<Test name="vec2_highp_vertex" />
-<Test name="vec3_highp_tess_control" />
-<Test name="float_mediump_vertex" />
-<Test name="vec3_mediump_tess_eval" />
-<Test name="vec4_mediump_fragment" />
-<Test name="vec3_mediump_tess_control" />
-<Test name="vec4_mediump_vertex" />
-<Test name="vec3_highp_geometry" />
-<Test name="float_mediump_tess_control" />
-<Test name="vec3_lowp_compute" />
-<Test name="vec3_lowp_vertex" />
-<Test name="vec3_highp_tess_eval" />
-<Test name="vec4_highp_tess_eval" />
-<Test name="vec4_mediump_tess_control" />
-<Test name="vec3_highp_compute" />
+<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>
-<TestCase name="fract">
-<Test name="vec3_mediump_compute" />
-<Test name="float_highp_tess_eval" />
-<Test name="float_mediump_geometry" />
-<Test name="float_highp_geometry" />
-<Test name="vec4_lowp_tess_control" />
-<Test name="vec4_mediump_tess_eval" />
-<Test name="vec2_mediump_compute" />
-<Test name="vec3_lowp_tess_control" />
-<Test name="vec3_mediump_geometry" />
-<Test name="vec3_mediump_tess_control" />
-<Test name="vec4_lowp_geometry" />
-<Test name="vec2_lowp_geometry" />
-<Test name="vec4_mediump_compute" />
-<Test name="float_highp_tess_control" />
-<Test name="float_lowp_tess_eval" />
-<Test name="vec4_lowp_compute" />
-<Test name="float_mediump_compute" />
-<Test name="float_lowp_tess_control" />
-<Test name="vec4_highp_tess_control" />
-<Test name="vec4_lowp_tess_eval" />
-<Test name="float_mediump_tess_eval" />
-<Test name="vec4_mediump_geometry" />
-<Test name="vec2_mediump_geometry" />
-<Test name="vec4_highp_geometry" />
-<Test name="vec2_lowp_tess_eval" />
-<Test name="float_highp_compute" />
-<Test name="vec2_mediump_tess_eval" />
-<Test name="vec2_highp_tess_control" />
-<Test name="vec2_lowp_compute" />
-<Test name="vec3_lowp_geometry" />
-<Test name="vec2_mediump_tess_control" />
-<Test name="float_lowp_compute" />
-<Test name="vec3_lowp_tess_eval" />
-<Test name="vec2_lowp_tess_control" />
-<Test name="vec2_highp_compute" />
-<Test name="vec2_highp_geometry" />
-<Test name="vec4_highp_compute" />
-<Test name="vec2_highp_tess_eval" />
-<Test name="float_lowp_geometry" />
-<Test name="vec3_highp_tess_control" />
-<Test name="vec3_mediump_tess_eval" />
-<Test name="vec3_highp_geometry" />
-<Test name="float_mediump_tess_control" />
-<Test name="vec3_lowp_compute" />
-<Test name="vec3_highp_tess_eval" />
-<Test name="vec4_highp_tess_eval" />
-<Test name="vec4_mediump_tess_control" />
-<Test name="vec3_highp_compute" />
+</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="floatbitstouint">
-<Test name="vec3_mediump_compute" />
-<Test name="float_highp_tess_eval" />
-<Test name="float_mediump_geometry" />
-<Test name="float_highp_geometry" />
-<Test name="vec4_lowp_tess_control" />
-<Test name="vec4_mediump_tess_eval" />
-<Test name="vec2_mediump_compute" />
-<Test name="vec3_lowp_tess_control" />
-<Test name="vec3_mediump_geometry" />
-<Test name="vec3_mediump_tess_control" />
-<Test name="vec4_lowp_geometry" />
-<Test name="vec2_lowp_geometry" />
-<Test name="vec4_mediump_compute" />
-<Test name="float_highp_tess_control" />
-<Test name="float_lowp_tess_eval" />
-<Test name="vec4_lowp_compute" />
-<Test name="float_mediump_compute" />
-<Test name="float_lowp_tess_control" />
-<Test name="vec4_highp_tess_control" />
-<Test name="vec4_lowp_tess_eval" />
-<Test name="float_mediump_tess_eval" />
-<Test name="vec4_mediump_geometry" />
-<Test name="vec2_mediump_geometry" />
-<Test name="vec4_highp_geometry" />
-<Test name="vec2_lowp_tess_eval" />
-<Test name="float_highp_compute" />
-<Test name="vec2_mediump_tess_eval" />
-<Test name="vec2_highp_tess_control" />
-<Test name="vec2_lowp_compute" />
-<Test name="vec3_lowp_geometry" />
-<Test name="vec2_mediump_tess_control" />
-<Test name="float_lowp_compute" />
-<Test name="vec3_lowp_tess_eval" />
-<Test name="vec2_lowp_tess_control" />
-<Test name="vec2_highp_compute" />
-<Test name="vec2_highp_geometry" />
-<Test name="vec4_highp_compute" />
-<Test name="vec2_highp_tess_eval" />
-<Test name="float_lowp_geometry" />
-<Test name="vec3_highp_tess_control" />
-<Test name="vec3_mediump_tess_eval" />
-<Test name="vec3_highp_geometry" />
-<Test name="float_mediump_tess_control" />
-<Test name="vec3_lowp_compute" />
-<Test name="vec3_highp_tess_eval" />
-<Test name="vec4_highp_tess_eval" />
-<Test name="vec4_mediump_tess_control" />
-<Test name="vec3_highp_compute" />
+<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="abs">
-<Test name="vec3_mediump_compute" />
-<Test name="float_mediump_geometry" />
-<Test name="vec3_mediump_tess_control" />
-<Test name="int_lowp_compute" />
-<Test name="ivec3_highp_geometry" />
-<Test name="ivec4_highp_tess_control" />
-<Test name="ivec3_lowp_tess_eval" />
-<Test name="float_lowp_tess_control" />
-<Test name="vec4_highp_tess_control" />
-<Test name="ivec2_lowp_tess_eval" />
-<Test name="ivec2_mediump_compute" />
-<Test name="ivec4_mediump_compute" />
-<Test name="vec2_lowp_compute" />
-<Test name="vec3_lowp_geometry" />
-<Test name="vec2_mediump_tess_control" />
-<Test name="ivec2_lowp_tess_control" />
-<Test name="vec3_lowp_tess_eval" />
-<Test name="int_highp_compute" />
-<Test name="ivec4_highp_tess_eval" />
-<Test name="float_lowp_geometry" />
-<Test name="int_mediump_tess_eval" />
-<Test name="float_highp_tess_eval" />
-<Test name="float_highp_geometry" />
-<Test name="vec3_lowp_tess_control" />
-<Test name="ivec4_mediump_geometry" />
-<Test name="vec2_lowp_geometry" />
-<Test name="vec4_mediump_compute" />
-<Test name="float_mediump_compute" />
-<Test name="int_lowp_tess_eval" />
-<Test name="vec2_highp_tess_eval" />
-<Test name="int_mediump_compute" />
-<Test name="vec2_mediump_geometry" />
-<Test name="vec2_lowp_tess_eval" />
-<Test name="ivec4_mediump_tess_eval" />
-<Test name="vec4_lowp_compute" />
-<Test name="ivec2_mediump_tess_eval" />
-<Test name="ivec3_lowp_geometry" />
-<Test name="vec2_highp_compute" />
-<Test name="ivec3_highp_tess_control" />
-<Test name="int_highp_tess_eval" />
-<Test name="ivec3_highp_tess_eval" />
-<Test name="ivec2_lowp_geometry" />
-<Test name="vec3_lowp_compute" />
-<Test name="ivec2_lowp_compute" />
-<Test name="vec3_highp_tess_eval" />
-<Test name="ivec3_lowp_tess_control" />
-<Test name="vec4_mediump_tess_control" />
-<Test name="vec4_lowp_tess_control" />
-<Test name="vec2_mediump_compute" />
-<Test name="ivec4_lowp_tess_control" />
-<Test name="ivec3_mediump_compute" />
-<Test name="int_highp_geometry" />
-<Test name="vec4_lowp_geometry" />
-<Test name="vec4_mediump_geometry" />
-<Test name="vec3_highp_geometry" />
-<Test name="ivec3_lowp_compute" />
-<Test name="vec4_highp_geometry" />
-<Test name="vec2_mediump_tess_eval" />
-<Test name="ivec4_mediump_tess_control" />
-<Test name="vec2_lowp_tess_control" />
-<Test name="ivec3_mediump_tess_eval" />
-<Test name="vec3_mediump_geometry" />
-<Test name="ivec2_highp_compute" />
-<Test name="ivec3_highp_compute" />
-<Test name="int_lowp_tess_control" />
-<Test name="int_mediump_tess_control" />
-<Test name="vec4_highp_tess_eval" />
-<Test name="ivec4_highp_compute" />
-<Test name="vec4_mediump_tess_eval" />
-<Test name="vec2_highp_tess_control" />
-<Test name="ivec3_mediump_geometry" />
-<Test name="ivec4_lowp_tess_eval" />
-<Test name="float_highp_tess_control" />
-<Test name="ivec2_mediump_tess_control" />
-<Test name="float_lowp_tess_eval" />
-<Test name="ivec4_lowp_geometry" />
-<Test name="int_highp_tess_control" />
-<Test name="ivec3_mediump_tess_control" />
-<Test name="vec4_lowp_tess_eval" />
-<Test name="float_mediump_tess_eval" />
-<Test name="float_highp_compute" />
-<Test name="ivec2_mediump_geometry" />
-<Test name="ivec2_highp_geometry" />
-<Test name="ivec4_lowp_compute" />
-<Test name="float_lowp_compute" />
-<Test name="vec3_highp_compute" />
-<Test name="int_lowp_geometry" />
-<Test name="vec2_highp_geometry" />
-<Test name="ivec2_highp_tess_eval" />
-<Test name="ivec4_highp_geometry" />
-<Test name="vec4_highp_compute" />
-<Test name="int_mediump_geometry" />
-<Test name="vec3_highp_tess_control" />
-<Test name="vec3_mediump_tess_eval" />
-<Test name="float_mediump_tess_control" />
-<Test name="ivec2_highp_tess_control" />
+<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="isinf">
-<Test name="vec3_mediump_compute" />
-<Test name="float_highp_tess_eval" />
-<Test name="float_mediump_geometry" />
-<Test name="float_highp_geometry" />
-<Test name="vec4_lowp_tess_control" />
-<Test name="vec4_mediump_tess_eval" />
-<Test name="vec2_mediump_compute" />
-<Test name="vec3_lowp_tess_control" />
-<Test name="vec3_mediump_geometry" />
-<Test name="vec3_mediump_tess_control" />
-<Test name="vec4_lowp_geometry" />
-<Test name="vec2_lowp_geometry" />
-<Test name="vec4_mediump_compute" />
-<Test name="float_highp_tess_control" />
-<Test name="float_lowp_tess_eval" />
-<Test name="vec4_lowp_compute" />
-<Test name="float_mediump_compute" />
-<Test name="float_lowp_tess_control" />
-<Test name="vec4_highp_tess_control" />
-<Test name="vec4_lowp_tess_eval" />
-<Test name="float_mediump_tess_eval" />
-<Test name="vec4_mediump_geometry" />
-<Test name="vec2_mediump_geometry" />
-<Test name="vec4_highp_geometry" />
-<Test name="vec2_lowp_tess_eval" />
-<Test name="float_highp_compute" />
-<Test name="vec2_mediump_tess_eval" />
-<Test name="vec2_highp_tess_control" />
-<Test name="vec2_lowp_compute" />
-<Test name="vec3_lowp_geometry" />
-<Test name="vec2_mediump_tess_control" />
-<Test name="float_lowp_compute" />
-<Test name="vec3_lowp_tess_eval" />
-<Test name="vec2_lowp_tess_control" />
-<Test name="vec2_highp_compute" />
-<Test name="vec2_highp_geometry" />
-<Test name="vec4_highp_compute" />
-<Test name="vec2_highp_tess_eval" />
-<Test name="float_lowp_geometry" />
-<Test name="vec3_highp_tess_control" />
-<Test name="vec3_mediump_tess_eval" />
-<Test name="vec3_highp_geometry" />
-<Test name="float_mediump_tess_control" />
-<Test name="vec3_lowp_compute" />
-<Test name="vec3_highp_tess_eval" />
-<Test name="vec4_highp_tess_eval" />
-<Test name="vec4_mediump_tess_control" />
-<Test name="vec3_highp_compute" />
+<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="modf">
-<Test name="vec3_mediump_compute" />
-<Test name="float_highp_tess_eval" />
-<Test name="float_mediump_geometry" />
-<Test name="float_highp_geometry" />
-<Test name="vec4_lowp_tess_control" />
-<Test name="vec4_mediump_tess_eval" />
-<Test name="vec2_mediump_compute" />
-<Test name="vec3_lowp_tess_control" />
-<Test name="vec3_mediump_geometry" />
-<Test name="vec3_mediump_tess_control" />
-<Test name="vec4_lowp_geometry" />
-<Test name="vec2_lowp_geometry" />
-<Test name="vec4_mediump_compute" />
-<Test name="float_highp_tess_control" />
-<Test name="float_lowp_tess_eval" />
-<Test name="vec4_lowp_compute" />
-<Test name="float_mediump_compute" />
-<Test name="float_lowp_tess_control" />
-<Test name="vec4_highp_tess_control" />
-<Test name="vec4_lowp_tess_eval" />
-<Test name="float_mediump_tess_eval" />
-<Test name="vec4_mediump_geometry" />
-<Test name="vec2_mediump_geometry" />
-<Test name="vec4_highp_geometry" />
-<Test name="vec2_lowp_tess_eval" />
-<Test name="float_highp_compute" />
-<Test name="vec2_mediump_tess_eval" />
-<Test name="vec2_highp_tess_control" />
-<Test name="vec2_lowp_compute" />
-<Test name="vec3_lowp_geometry" />
-<Test name="vec2_mediump_tess_control" />
-<Test name="float_lowp_compute" />
-<Test name="vec3_lowp_tess_eval" />
-<Test name="vec2_lowp_tess_control" />
-<Test name="vec2_highp_compute" />
-<Test name="vec2_highp_geometry" />
-<Test name="vec4_highp_compute" />
-<Test name="vec2_highp_tess_eval" />
-<Test name="float_lowp_geometry" />
-<Test name="vec3_highp_tess_control" />
-<Test name="vec3_mediump_tess_eval" />
-<Test name="vec3_highp_geometry" />
-<Test name="float_mediump_tess_control" />
-<Test name="vec3_lowp_compute" />
-<Test name="vec3_highp_tess_eval" />
-<Test name="vec4_highp_tess_eval" />
-<Test name="vec4_mediump_tess_control" />
-<Test name="vec3_highp_compute" />
+<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="ceil">
-<Test name="vec3_mediump_compute" />
-<Test name="float_highp_tess_eval" />
-<Test name="float_mediump_geometry" />
-<Test name="float_highp_geometry" />
-<Test name="vec4_lowp_tess_control" />
-<Test name="vec4_mediump_tess_eval" />
-<Test name="vec2_mediump_compute" />
-<Test name="vec3_lowp_tess_control" />
-<Test name="vec3_mediump_geometry" />
-<Test name="vec3_mediump_tess_control" />
-<Test name="vec4_lowp_geometry" />
-<Test name="vec2_lowp_geometry" />
-<Test name="vec4_mediump_compute" />
-<Test name="float_highp_tess_control" />
-<Test name="float_lowp_tess_eval" />
-<Test name="vec4_lowp_compute" />
-<Test name="float_mediump_compute" />
-<Test name="float_lowp_tess_control" />
-<Test name="vec4_highp_tess_control" />
-<Test name="vec4_lowp_tess_eval" />
-<Test name="float_mediump_tess_eval" />
-<Test name="vec4_mediump_geometry" />
-<Test name="vec2_mediump_geometry" />
-<Test name="vec4_highp_geometry" />
-<Test name="vec2_lowp_tess_eval" />
-<Test name="float_highp_compute" />
-<Test name="vec2_mediump_tess_eval" />
-<Test name="vec2_highp_tess_control" />
-<Test name="vec2_lowp_compute" />
-<Test name="vec3_lowp_geometry" />
-<Test name="vec2_mediump_tess_control" />
-<Test name="float_lowp_compute" />
-<Test name="vec3_lowp_tess_eval" />
-<Test name="vec2_lowp_tess_control" />
-<Test name="vec2_highp_compute" />
-<Test name="vec2_highp_geometry" />
-<Test name="vec4_highp_compute" />
-<Test name="vec2_highp_tess_eval" />
-<Test name="float_lowp_geometry" />
-<Test name="vec3_highp_tess_control" />
-<Test name="vec3_mediump_tess_eval" />
-<Test name="vec3_highp_geometry" />
-<Test name="float_mediump_tess_control" />
-<Test name="vec3_lowp_compute" />
-<Test name="vec3_highp_tess_eval" />
-<Test name="vec4_highp_tess_eval" />
-<Test name="vec4_mediump_tess_control" />
-<Test name="vec3_highp_compute" />
+<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>
-<TestCase name="uintbitstofloat">
-<Test name="uint_highp_compute" />
-<Test name="uvec3_highp_tess_eval" />
-<Test name="uint_highp_tess_control" />
-<Test name="uvec2_highp_compute" />
-<Test name="uvec2_highp_geometry" />
-<Test name="uvec3_highp_compute" />
-<Test name="uvec3_highp_geometry" />
-<Test name="uvec2_highp_tess_eval" />
-<Test name="uint_highp_tess_eval" />
-<Test name="uvec2_highp_tess_control" />
-<Test name="uint_highp_geometry" />
-<Test name="uvec3_highp_tess_control" />
+</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="round">
-<Test name="vec3_mediump_compute" />
-<Test name="float_highp_tess_eval" />
-<Test name="float_mediump_geometry" />
-<Test name="float_highp_geometry" />
-<Test name="vec4_lowp_tess_control" />
-<Test name="vec4_mediump_tess_eval" />
-<Test name="vec2_mediump_compute" />
-<Test name="vec3_lowp_tess_control" />
-<Test name="vec3_mediump_geometry" />
-<Test name="vec3_mediump_tess_control" />
-<Test name="vec4_lowp_geometry" />
-<Test name="vec2_lowp_geometry" />
-<Test name="vec4_mediump_compute" />
-<Test name="float_highp_tess_control" />
-<Test name="float_lowp_tess_eval" />
-<Test name="vec4_lowp_compute" />
-<Test name="float_mediump_compute" />
-<Test name="float_lowp_tess_control" />
-<Test name="vec4_highp_tess_control" />
-<Test name="vec4_lowp_tess_eval" />
-<Test name="float_mediump_tess_eval" />
-<Test name="vec4_mediump_geometry" />
-<Test name="vec2_mediump_geometry" />
-<Test name="vec4_highp_geometry" />
-<Test name="vec2_lowp_tess_eval" />
-<Test name="float_highp_compute" />
-<Test name="vec2_mediump_tess_eval" />
-<Test name="vec2_highp_tess_control" />
-<Test name="vec2_lowp_compute" />
-<Test name="vec3_lowp_geometry" />
-<Test name="vec2_mediump_tess_control" />
-<Test name="float_lowp_compute" />
-<Test name="vec3_lowp_tess_eval" />
-<Test name="vec2_lowp_tess_control" />
-<Test name="vec2_highp_compute" />
-<Test name="vec2_highp_geometry" />
-<Test name="vec4_highp_compute" />
-<Test name="vec2_highp_tess_eval" />
-<Test name="float_lowp_geometry" />
-<Test name="vec3_highp_tess_control" />
-<Test name="vec3_mediump_tess_eval" />
-<Test name="vec3_highp_geometry" />
-<Test name="float_mediump_tess_control" />
-<Test name="vec3_lowp_compute" />
-<Test name="vec3_highp_tess_eval" />
-<Test name="vec4_highp_tess_eval" />
-<Test name="vec4_mediump_tess_control" />
-<Test name="vec3_highp_compute" />
+<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="fma">
-<Test name="vec2_mediump_fragment" />
-<Test name="vec3_mediump_compute" />
-<Test name="float_highp_tess_eval" />
-<Test name="vec4_lowp_vertex" />
-<Test name="float_mediump_geometry" />
-<Test name="float_highp_geometry" />
-<Test name="vec4_lowp_tess_control" />
-<Test name="vec4_mediump_tess_eval" />
-<Test name="vec2_mediump_compute" />
-<Test name="vec3_lowp_tess_control" />
-<Test name="vec3_mediump_geometry" />
-<Test name="float_highp_fragment" />
-<Test name="vec4_lowp_geometry" />
-<Test name="vec2_lowp_geometry" />
-<Test name="vec4_lowp_fragment" />
-<Test name="vec4_mediump_compute" />
-<Test name="float_highp_tess_control" />
-<Test name="vec4_highp_fragment" />
-<Test name="float_lowp_tess_eval" />
-<Test name="vec4_lowp_compute" />
-<Test name="float_mediump_fragment" />
-<Test name="float_mediump_compute" />
-<Test name="vec2_lowp_fragment" />
-<Test name="float_lowp_tess_control" />
-<Test name="vec3_highp_vertex" />
-<Test name="vec4_highp_tess_control" />
-<Test name="float_lowp_vertex" />
-<Test name="vec2_lowp_vertex" />
-<Test name="vec4_lowp_tess_eval" />
-<Test name="float_mediump_tess_eval" />
-<Test name="vec2_highp_fragment" />
-<Test name="vec4_mediump_geometry" />
-<Test name="float_lowp_fragment" />
-<Test name="vec2_mediump_tess_control" />
-<Test name="vec2_mediump_geometry" />
-<Test name="vec4_highp_geometry" />
-<Test name="vec2_lowp_tess_eval" />
-<Test name="float_highp_compute" />
-<Test name="vec2_mediump_tess_eval" />
-<Test name="vec2_highp_tess_control" />
-<Test name="float_lowp_compute" />
-<Test name="vec2_lowp_compute" />
-<Test name="vec3_lowp_geometry" />
-<Test name="vec2_mediump_vertex" />
-<Test name="vec4_highp_vertex" />
-<Test name="vec3_mediump_fragment" />
-<Test name="vec3_lowp_tess_eval" />
-<Test name="vec2_lowp_tess_control" />
-<Test name="vec2_highp_compute" />
-<Test name="float_highp_vertex" />
-<Test name="vec2_highp_geometry" />
-<Test name="vec4_highp_compute" />
-<Test name="vec2_highp_tess_eval" />
-<Test name="vec3_highp_fragment" />
-<Test name="float_lowp_geometry" />
-<Test name="vec3_lowp_fragment" />
-<Test name="vec3_mediump_vertex" />
-<Test name="vec2_highp_vertex" />
-<Test name="vec3_highp_tess_control" />
-<Test name="float_mediump_vertex" />
-<Test name="vec3_mediump_tess_eval" />
-<Test name="vec4_mediump_fragment" />
-<Test name="vec3_mediump_tess_control" />
-<Test name="vec4_mediump_vertex" />
-<Test name="vec3_highp_geometry" />
-<Test name="float_mediump_tess_control" />
-<Test name="vec3_lowp_compute" />
-<Test name="vec3_lowp_vertex" />
-<Test name="vec3_highp_tess_eval" />
-<Test name="vec4_highp_tess_eval" />
-<Test name="vec4_mediump_tess_control" />
-<Test name="vec3_highp_compute" />
+<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="precision">
-<TestSuite name="clamp">
-<TestCase name="lowp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="mediump_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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>
-<TestCase name="highp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+</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="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>
+<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 name="pow">
-<TestCase name="lowp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+</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="mediump_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="highp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="comp_swap_r32ui_return_value" />
+<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" />
+<Test name="comp_swap_r32i_return_value" />
 </TestCase>
-</TestSuite>
-<TestSuite name="determinant">
-<TestCase name="lowp_compute">
-<Test name="mat2" />
+<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="mediump_compute">
-<Test name="mat2" />
+<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="highp_compute">
-<Test name="mat2" />
+<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="cosh">
-<TestCase name="lowp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="mediump_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="highp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="comp_swap_r32ui_return_value" />
+<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" />
+<Test name="comp_swap_r32i_return_value" />
 </TestCase>
-</TestSuite>
-<TestSuite name="ldexp">
-<TestCase name="lowp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="mediump_vertex">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="lowp_fragment">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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>
-<TestCase name="mediump_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+</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="mediump_fragment">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="highp_vertex">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="comp_swap_r32ui_return_value" />
+<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" />
+<Test name="comp_swap_r32i_return_value" />
 </TestCase>
-<TestCase name="lowp_vertex">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="highp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="highp_fragment">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="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>
-<TestCase name="highp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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>
-</TestSuite>
-<TestSuite name="tan">
-<TestCase name="lowp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="highp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="comp_swap_r32ui_return_value" />
+<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" />
+<Test name="comp_swap_r32i_return_value" />
 </TestCase>
-</TestSuite>
-<TestSuite name="normalize">
-<TestCase name="lowp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="mediump_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="highp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="asin">
-<TestCase name="lowp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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>
-</TestSuite>
-<TestSuite name="inverse">
-<TestCase name="lowp_compute">
-<Test name="mat2" />
+<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="mediump_compute">
-<Test name="mat2" />
+<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="comp_swap_r32ui_return_value" />
+<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" />
+<Test name="comp_swap_r32i_return_value" />
 </TestCase>
-<TestCase name="highp_compute">
-<Test name="mat2" />
+<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>
-</TestSuite>
-<TestSuite name="roundeven">
-<TestCase name="lowp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="mediump_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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>
-<TestCase name="highp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+</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="floor">
-<TestCase name="lowp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="mediump_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="highp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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>
-</TestSuite>
-<TestSuite name="exp2">
-<TestCase name="lowp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="mediump_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="highp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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>
-</TestSuite>
-<TestSuite name="atanh">
-<TestCase name="lowp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="mediump_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="highp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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>
-</TestSuite>
-<TestSuite name="fract">
-<TestCase name="lowp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="mediump_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="highp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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>
-</TestSuite>
-<TestSuite name="sqrt">
-<TestCase name="lowp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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>
-<TestCase name="mediump_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="highp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="acos">
-<TestCase name="lowp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="mediump_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="frexp">
-<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="lowp_vertex">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="mediump_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="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" />
+<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="highp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="add">
-<TestCase name="lowp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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>
-<TestCase name="mediump_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+</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="highp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="abs">
-<TestCase name="lowp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="mediump_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="highp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<TestCase name="no_edges_visible">
+<Test name="nearest" />
+<Test name="linear" />
 </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>
-<TestCase name="cross">
-<Test name="lowp_compute" />
-<Test name="mediump_compute" />
-<Test name="highp_compute" />
-</TestCase>
-<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" />
+<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>
-<TestCase name="highp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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>
-<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 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="fma">
-<TestCase name="lowp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="mediump_vertex">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="lowp_vertex">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="mediump_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="mediump_fragment">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="lowp_fragment">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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 name="matrixcompmult">
-<TestCase name="lowp_compute">
-<Test name="mat4" />
-<Test name="mat3x4" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x2" />
-<Test name="mat4x3" />
-<Test name="mat2x4" />
-<Test name="mat2x3" />
-<Test name="mat3x2" />
-</TestCase>
-<TestCase name="mediump_compute">
-<Test name="mat4" />
-<Test name="mat3x4" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x2" />
-<Test name="mat4x3" />
-<Test name="mat2x4" />
-<Test name="mat2x3" />
-<Test name="mat3x2" />
-</TestCase>
-<TestCase name="highp_compute">
-<Test name="mat4" />
-<Test name="mat3x4" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x2" />
-<Test name="mat4x3" />
-<Test name="mat2x4" />
-<Test name="mat2x3" />
-<Test name="mat3x2" />
-</TestCase>
 </TestSuite>
-<TestSuite name="log2">
-<TestCase name="lowp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<TestSuite name="multisample">
+<TestCase name="samples_1">
+<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="mediump_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="highp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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>
-</TestSuite>
-<TestSuite name="exp">
-<TestCase name="lowp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="mediump_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="highp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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>
-</TestSuite>
-<TestSuite name="atan">
-<TestCase name="lowp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="mediump_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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>
-</TestSuite>
-<TestSuite name="max">
-<TestCase name="lowp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="mediump_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="highp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="transpose">
-<TestCase name="lowp_compute">
-<Test name="mat4" />
-<Test name="mat3x4" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x2" />
-<Test name="mat4x3" />
-<Test name="mat2x4" />
-<Test name="mat2x3" />
-<Test name="mat3x2" />
+<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="mediump_compute">
-<Test name="mat4" />
-<Test name="mat3x4" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x2" />
-<Test name="mat4x3" />
-<Test name="mat2x4" />
-<Test name="mat2x3" />
-<Test name="mat3x2" />
+<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="highp_compute">
-<Test name="mat4" />
-<Test name="mat3x4" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x2" />
-<Test name="mat4x3" />
-<Test name="mat2x4" />
-<Test name="mat2x3" />
-<Test name="mat3x2" />
+<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>
-</TestSuite>
-<TestSuite name="ceil">
-<TestCase name="lowp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="mediump_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<TestCase name="base_level">
+<Test name="level_1" />
+<Test name="level_2" />
 </TestCase>
-<TestCase name="highp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<TestCase name="incomplete">
+<Test name="mipmap_incomplete" />
 </TestCase>
 </TestSuite>
-<TestSuite name="reflect">
-<TestCase name="lowp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="mediump_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="step">
-<TestCase name="lowp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="mediump_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<TestCase name="filter_mode">
+<Test name="min_nearest_mipmap_nearest_mag_nearest" />
 </TestCase>
-<TestCase name="highp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<TestCase name="base_level">
+<Test name="level_1" />
+<Test name="level_2" />
 </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" />
+<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="highp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="sinh">
-<TestCase name="lowp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="mediump_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<TestCase name="filter_mode">
+<Test name="min_nearest_mipmap_nearest_mag_nearest" />
 </TestCase>
-<TestCase name="highp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<TestCase name="base_level">
+<Test name="level_1" />
+<Test name="level_2" />
 </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" />
+<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="highp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="sign">
-<TestCase name="lowp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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>
-<TestCase name="mediump_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+</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="highp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<TestCase name="base_level">
+<Test name="level_1" />
+<Test name="level_2" />
 </TestCase>
 </TestSuite>
-<TestSuite name="inversesqrt">
-<TestCase name="lowp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+</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="mediump_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="highp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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>
-</TestSuite>
-<TestSuite name="sub">
-<TestCase name="lowp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="mediump_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<TestCase name="base_level">
+<Test name="level_1" />
+<Test name="level_2" />
 </TestCase>
-<TestCase name="highp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<TestCase name="incomplete">
+<Test name="mipmap_incomplete" />
 </TestCase>
 </TestSuite>
-<TestSuite name="distance">
-<TestCase name="lowp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="mediump_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="highp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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>
-</TestSuite>
-<TestSuite name="cos">
-<TestCase name="lowp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<TestCase name="filter_mode">
+<Test name="min_nearest_mipmap_nearest_mag_nearest" />
 </TestCase>
-<TestCase name="highp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<TestCase name="base_level">
+<Test name="level_1" />
+<Test name="level_2" />
 </TestCase>
 </TestSuite>
-<TestSuite name="tanh">
-<TestCase name="lowp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="mediump_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="min">
-<TestCase name="lowp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="mediump_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<TestCase name="filter_mode">
+<Test name="min_nearest_mipmap_nearest_mag_nearest" />
 </TestCase>
-<TestCase name="highp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<TestCase name="base_level">
+<Test name="level_1" />
+<Test name="level_2" />
 </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" />
+<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="highp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="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" />
+<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="highp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="smoothstep">
-<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 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="highp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<TestCase name="base_level">
+<Test name="level_1" />
+<Test name="level_2" />
 </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" />
+</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="highp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="mod">
-<TestCase name="lowp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="mediump_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="highp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<TestCase name="base_level">
+<Test name="level_1" />
+<Test name="level_2" />
 </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" />
+<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="highp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="round">
-<TestCase name="lowp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="mediump_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<TestCase name="filter_mode">
+<Test name="min_nearest_mipmap_nearest_mag_nearest" />
 </TestCase>
-<TestCase name="highp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<TestCase name="base_level">
+<Test name="level_1" />
+<Test name="level_2" />
 </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" />
+<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="highp_compute">
-<Test name="scalar" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="vec4" />
+<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="outerproduct">
-<TestCase name="lowp_compute">
-<Test name="mat4" />
-<Test name="mat3x4" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x2" />
-<Test name="mat4x3" />
-<Test name="mat2x4" />
-<Test name="mat2x3" />
-<Test name="mat3x2" />
+<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="mediump_compute">
-<Test name="mat4" />
-<Test name="mat3x4" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x2" />
-<Test name="mat4x3" />
-<Test name="mat2x4" />
-<Test name="mat2x3" />
-<Test name="mat3x2" />
+<TestCase name="filter_mode">
+<Test name="min_nearest_mipmap_nearest_mag_nearest" />
 </TestCase>
-<TestCase name="highp_compute">
-<Test name="mat4" />
-<Test name="mat3x4" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x2" />
-<Test name="mat4x3" />
-<Test name="mat2x4" />
-<Test name="mat2x3" />
-<Test name="mat3x2" />
+<TestCase name="base_level">
+<Test name="level_1" />
+<Test name="level_2" />
 </TestCase>
 </TestSuite>
-</TestSuite>
-</TestSuite>
-<TestSuite name="linkage">
-<TestSuite name="geometry">
-<TestSuite name="varying">
-<TestCase name="rules">
-<Test name="access_more_than_available_input_vertices" />
-<Test name="input_superfluous_declaration" />
-<Test name="output_superfluous_declaration" />
-<Test name="output_type_mismatch" />
-<Test name="input_block" />
-<Test name="output_different_precision" />
-<Test name="input_non_array" />
-<Test name="output_block" />
-<Test name="output_block_array" />
-<Test name="input_array_explicit_size" />
-<Test name="input_block_explicit_size" />
-<Test name="input_block_non_array" />
-<Test name="input_type_mismatch" />
-<Test name="unspecified_input_primitive_type" />
-<Test name="input_different_precision" />
-<Test name="unspecified_output_primitive_type" />
+<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="qualifiers">
-<Test name="sample" />
-<Test name="flat" />
-<Test name="centroid" />
-<Test name="smooth" />
+<TestCase name="compare_greater">
+<Test name="clamp_to_edge_repeat" />
+<Test name="repeat_mirrored_repeat" />
+<Test name="mirrored_repeat_clamp_to_edge" />
 </TestCase>
-<TestCase name="types">
-<Test name="int" />
-<Test name="float" />
-<Test name="vec4" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="mat3x4" />
-<Test name="mat3x2" />
-<Test name="float_array" />
-<Test name="mat2x4" />
-<Test name="mat2x3" />
-<Test name="uint" />
-<Test name="ivec2" />
-<Test name="ivec3" />
-<Test name="uvec4" />
-<Test name="uvec2" />
-<Test name="uvec3" />
-<Test name="ivec4" />
-<Test name="mat4" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x2" />
-<Test name="mat4x3" />
-<Test name="float_struct" />
+</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 name="uniform">
-<TestCase name="rules">
-<Test name="type_mismatch_2" />
-<Test name="type_mismatch_1" />
-<Test name="struct_partial_usage" />
-<Test name="precision_mismatch" />
+<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="types">
-<Test name="int" />
-<Test name="float" />
-<Test name="vec4" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="mat3x4" />
-<Test name="mat3x2" />
-<Test name="mat2x4" />
-<Test name="mat2x3" />
-<Test name="uint" />
-<Test name="ivec2" />
-<Test name="ivec3" />
-<Test name="uvec4" />
-<Test name="uvec2" />
-<Test name="uvec3" />
-<Test name="ivec4" />
-<Test name="mat4" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x2" />
-<Test name="mat4x3" />
-<Test name="float_struct" />
+<TestCase name="base_level">
+<Test name="level_1" />
+<Test name="level_2" />
 </TestCase>
 </TestSuite>
 </TestSuite>
-<TestCase name="io_block">
-<Test name="mismatch_number_of_declarations" />
-<Test name="mismatch_type" />
-<Test name="mismatch_order" />
-<Test name="ambiguous_variable_name_2" />
-<Test name="ambiguous_variable_name_1" />
-<Test name="mismatch_member_array_size" />
+</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>
-<TestSuite name="tessellation_geometry">
-<TestSuite name="varying">
-<TestCase name="rules">
-<Test name="vertex_geometry_same_varying_name_1" />
-<Test name="different_precision" />
-<Test name="superfluous_output_declaration" />
-<Test name="vertex_geometry_same_varying_name_2" />
-<Test name="array_in_io_block" />
-<Test name="io_block" />
-<Test name="type_mismatch" />
+<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="types">
-<Test name="int" />
-<Test name="float" />
-<Test name="vec4" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="mat3x4" />
-<Test name="mat3x2" />
-<Test name="float_array" />
-<Test name="mat2x4" />
-<Test name="mat2x3" />
-<Test name="uint" />
-<Test name="ivec2" />
-<Test name="ivec3" />
-<Test name="uvec4" />
-<Test name="uvec2" />
-<Test name="uvec3" />
-<Test name="ivec4" />
-<Test name="mat4" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x2" />
-<Test name="mat4x3" />
-<Test name="float_struct" />
+</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="uniform">
-<TestCase name="rules">
-<Test name="precision_mismatch_1" />
-<Test name="type_mismatch_1" />
-<Test name="struct_partial_usage" />
+<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="tessellation">
-<TestSuite name="varying">
-<TestCase name="rules">
-<Test name="vertex_fragment_same_varying_name_1" />
-<Test name="input_superfluous_declaration" />
-<Test name="vertex_fragment_same_varying_name_2" />
-<Test name="input_array_size_mismatch" />
-<Test name="internal_different_precision" />
-<Test name="output_block_array" />
-<Test name="internal_array_size_mismatch" />
-<Test name="input_block_array_size_mismatch" />
-<Test name="input_block" />
-<Test name="output_different_precision" />
-<Test name="input_block_non_array" />
-<Test name="invalid_vertex_index" />
-<Test name="output_block" />
-<Test name="unspecified_vertex_count" />
-<Test name="output_superfluous_declaration" />
-<Test name="input_type_mismatch" />
-<Test name="per_patch_qualifier_mismatch_1" />
-<Test name="unspecified_primitive_mode" />
-<Test name="output_type_mismatch" />
-<Test name="internal_superfluous_declaration" />
-<Test name="input_non_array" />
-<Test name="internal_type_mismatch" />
-<Test name="input_different_precision" />
+<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="qualifiers">
-<Test name="sample" />
-<Test name="flat" />
-<Test name="centroid" />
-<Test name="smooth" />
-<Test name="patch" />
+<TestCase name="compare_greater">
+<Test name="clamp_to_edge_repeat" />
+<Test name="repeat_mirrored_repeat" />
+<Test name="mirrored_repeat_clamp_to_edge" />
 </TestCase>
-<TestCase name="types">
-<Test name="int" />
-<Test name="float" />
-<Test name="vec4" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="mat3x4" />
-<Test name="mat3x2" />
-<Test name="float_array" />
-<Test name="mat2x4" />
-<Test name="mat2x3" />
-<Test name="uint" />
-<Test name="ivec2" />
-<Test name="ivec3" />
-<Test name="uvec4" />
-<Test name="uvec2" />
-<Test name="uvec3" />
-<Test name="ivec4" />
-<Test name="mat4" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x2" />
-<Test name="mat4x3" />
-<Test name="float_struct" />
+</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="uniform">
-<TestCase name="rules">
-<Test name="struct_partial_usage" />
-<Test name="precision_mismatch_2" />
-<Test name="type_mismatch_4" />
-<Test name="precision_mismatch_1" />
-<Test name="type_mismatch_1" />
-<Test name="type_mismatch_3" />
-<Test name="type_mismatch_2" />
+<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="types">
-<Test name="int" />
-<Test name="float" />
-<Test name="vec4" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="mat3x4" />
-<Test name="mat3x2" />
-<Test name="mat2x4" />
-<Test name="mat2x3" />
-<Test name="uint" />
-<Test name="ivec2" />
-<Test name="ivec3" />
-<Test name="uvec4" />
-<Test name="uvec2" />
-<Test name="uvec3" />
-<Test name="ivec4" />
-<Test name="mat4" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x2" />
-<Test name="mat4x3" />
-<Test name="float_struct" />
+<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>
-</TestSuite>
-</TestSuite>
-<TestCase name="shader_storage_block">
-<Test name="mismatch_member_unsized_sized_array" />
-<Test name="mismatch_number_of_declarations" />
-<Test name="mismatch_member_name" />
-<Test name="mismatch_block_array_size" />
-<Test name="mismatch_type" />
-<Test name="mismatch_order" />
-<Test name="mismatch_with_and_without_instance_name" />
-<Test name="ambiguous_variable_name_2" />
-<Test name="ambiguous_variable_name_1" />
-<Test name="mismatch_member_array_size" />
+<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="implicit_conversions">
-<TestCase name="functions">
-<Test name="ivec4_to_vec4_fragment" />
-<Test name="int_to_uint_vertex" />
-<Test name="ivec3_to_vec3_vertex" />
-<Test name="uvec3_to_vec3_vertex" />
-<Test name="int_to_float_vertex" />
-<Test name="ivec4_to_uvec4_vertex" />
-<Test name="uvec2_to_vec2_vertex" />
-<Test name="ivec4_to_vec4_vertex" />
-<Test name="uint_to_float_fragment" />
-<Test name="uvec4_to_vec4_vertex" />
-<Test name="uvec4_to_vec4_fragment" />
-<Test name="ivec3_to_vec3_fragment" />
-<Test name="ivec4_to_uvec4_fragment" />
-<Test name="ivec2_to_uvec2_vertex" />
-<Test name="ivec3_to_uvec3_vertex" />
-<Test name="int_to_float_fragment" />
-<Test name="int_to_uint_fragment" />
-<Test name="ivec2_to_vec2_vertex" />
-<Test name="uint_to_float_vertex" />
-<Test name="ivec2_to_vec2_fragment" />
-<Test name="ivec3_to_uvec3_fragment" />
-<Test name="uvec3_to_vec3_fragment" />
-<Test name="uvec2_to_vec2_fragment" />
-<Test name="ivec2_to_uvec2_fragment" />
+<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>
-<TestSuite name="struct_fields">
-<TestCase name="input_before_field">
-<Test name="uvec4_to_vec4_vertex" />
-<Test name="uint_to_vec4_fragment" />
-<Test name="int_to_uint_vertex" />
-<Test name="uint_to_vec2_vertex" />
-<Test name="uint_to_vec3_fragment" />
-<Test name="int_to_uvec2_vertex" />
-<Test name="ivec3_to_vec3_vertex" />
-<Test name="int_to_vec4_vertex" />
-<Test name="int_to_vec2_fragment" />
-<Test name="int_to_uint_fragment" />
-<Test name="ivec4_to_uvec4_vertex" />
-<Test name="int_to_float_vertex" />
-<Test name="int_to_vec4_fragment" />
-<Test name="uvec2_to_vec2_vertex" />
-<Test name="int_to_uvec2_fragment" />
-<Test name="ivec4_to_vec4_vertex" />
-<Test name="uint_to_float_fragment" />
-<Test name="ivec4_to_vec4_fragment" />
-<Test name="uvec4_to_vec4_fragment" />
-<Test name="ivec2_to_uvec2_vertex" />
-<Test name="uvec2_to_vec2_fragment" />
-<Test name="uint_to_vec3_vertex" />
-<Test name="ivec3_to_vec3_fragment" />
-<Test name="ivec4_to_uvec4_fragment" />
-<Test name="int_to_vec2_vertex" />
-<Test name="uint_to_vec4_vertex" />
-<Test name="ivec3_to_uvec3_vertex" />
-<Test name="int_to_uvec4_vertex" />
-<Test name="int_to_float_fragment" />
-<Test name="ivec3_to_uvec3_fragment" />
-<Test name="int_to_vec3_fragment" />
-<Test name="int_to_uvec3_fragment" />
-<Test name="ivec2_to_vec2_vertex" />
-<Test name="uint_to_float_vertex" />
-<Test name="int_to_uvec3_vertex" />
-<Test name="ivec2_to_vec2_fragment" />
-<Test name="uint_to_vec2_fragment" />
-<Test name="uvec3_to_vec3_fragment" />
-<Test name="uvec3_to_vec3_vertex" />
-<Test name="int_to_vec3_vertex" />
-<Test name="ivec2_to_uvec2_fragment" />
-<Test name="int_to_uvec4_fragment" />
+<TestCase name="compare_greater">
+<Test name="clamp_to_edge_repeat" />
+<Test name="repeat_mirrored_repeat" />
+<Test name="mirrored_repeat_clamp_to_edge" />
 </TestCase>
-<TestCase name="field_before_input">
-<Test name="uvec4_to_vec4_vertex" />
-<Test name="uint_to_vec4_fragment" />
-<Test name="int_to_uint_vertex" />
-<Test name="uint_to_vec2_vertex" />
-<Test name="uint_to_vec3_fragment" />
-<Test name="int_to_uvec2_vertex" />
-<Test name="ivec3_to_vec3_vertex" />
-<Test name="int_to_vec4_vertex" />
-<Test name="int_to_vec2_fragment" />
-<Test name="int_to_uint_fragment" />
-<Test name="ivec4_to_uvec4_vertex" />
-<Test name="int_to_float_vertex" />
-<Test name="int_to_vec4_fragment" />
-<Test name="uvec2_to_vec2_vertex" />
-<Test name="int_to_uvec2_fragment" />
-<Test name="ivec4_to_vec4_vertex" />
-<Test name="uint_to_float_fragment" />
-<Test name="ivec4_to_vec4_fragment" />
-<Test name="uvec4_to_vec4_fragment" />
-<Test name="ivec2_to_uvec2_vertex" />
-<Test name="uvec2_to_vec2_fragment" />
-<Test name="uint_to_vec3_vertex" />
-<Test name="ivec3_to_vec3_fragment" />
-<Test name="ivec4_to_uvec4_fragment" />
-<Test name="int_to_vec2_vertex" />
-<Test name="uint_to_vec4_vertex" />
-<Test name="ivec3_to_uvec3_vertex" />
-<Test name="int_to_uvec4_vertex" />
-<Test name="int_to_float_fragment" />
-<Test name="ivec3_to_uvec3_fragment" />
-<Test name="int_to_vec3_fragment" />
-<Test name="int_to_uvec3_fragment" />
-<Test name="ivec2_to_vec2_vertex" />
-<Test name="uint_to_float_vertex" />
-<Test name="int_to_uvec3_vertex" />
-<Test name="ivec2_to_vec2_fragment" />
-<Test name="uint_to_vec2_fragment" />
-<Test name="uvec3_to_vec3_fragment" />
-<Test name="uvec3_to_vec3_vertex" />
-<Test name="int_to_vec3_vertex" />
-<Test name="ivec2_to_uvec2_fragment" />
-<Test name="int_to_uvec4_fragment" />
+</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 name="array_subscripts">
-<TestCase name="subscript_before_input">
-<Test name="uvec4_to_vec4_vertex" />
-<Test name="uint_to_vec4_fragment" />
-<Test name="int_to_uint_vertex" />
-<Test name="uint_to_vec2_vertex" />
-<Test name="uint_to_vec3_fragment" />
-<Test name="int_to_uvec2_vertex" />
-<Test name="ivec3_to_vec3_vertex" />
-<Test name="int_to_vec4_vertex" />
-<Test name="int_to_vec2_fragment" />
-<Test name="int_to_uint_fragment" />
-<Test name="ivec4_to_uvec4_vertex" />
-<Test name="int_to_float_vertex" />
-<Test name="int_to_vec4_fragment" />
-<Test name="uvec2_to_vec2_vertex" />
-<Test name="int_to_uvec2_fragment" />
-<Test name="ivec4_to_vec4_vertex" />
-<Test name="uint_to_float_fragment" />
-<Test name="ivec4_to_vec4_fragment" />
-<Test name="uvec4_to_vec4_fragment" />
-<Test name="ivec2_to_uvec2_vertex" />
-<Test name="uvec2_to_vec2_fragment" />
-<Test name="uint_to_vec3_vertex" />
-<Test name="ivec3_to_vec3_fragment" />
-<Test name="ivec4_to_uvec4_fragment" />
-<Test name="int_to_vec2_vertex" />
-<Test name="uint_to_vec4_vertex" />
-<Test name="ivec3_to_uvec3_vertex" />
-<Test name="int_to_uvec4_vertex" />
-<Test name="int_to_float_fragment" />
-<Test name="ivec3_to_uvec3_fragment" />
-<Test name="int_to_vec3_fragment" />
-<Test name="int_to_uvec3_fragment" />
-<Test name="ivec2_to_vec2_vertex" />
-<Test name="uint_to_float_vertex" />
-<Test name="int_to_uvec3_vertex" />
-<Test name="ivec2_to_vec2_fragment" />
-<Test name="uint_to_vec2_fragment" />
-<Test name="uvec3_to_vec3_fragment" />
-<Test name="uvec3_to_vec3_vertex" />
-<Test name="int_to_vec3_vertex" />
-<Test name="ivec2_to_uvec2_fragment" />
-<Test name="int_to_uvec4_fragment" />
+</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="input_before_subscript">
-<Test name="uvec4_to_vec4_vertex" />
-<Test name="uint_to_vec4_fragment" />
-<Test name="int_to_uint_vertex" />
-<Test name="uint_to_vec2_vertex" />
-<Test name="uint_to_vec3_fragment" />
-<Test name="int_to_uvec2_vertex" />
-<Test name="ivec3_to_vec3_vertex" />
-<Test name="int_to_vec4_vertex" />
-<Test name="int_to_vec2_fragment" />
-<Test name="int_to_uint_fragment" />
-<Test name="ivec4_to_uvec4_vertex" />
-<Test name="int_to_float_vertex" />
-<Test name="int_to_vec4_fragment" />
-<Test name="uvec2_to_vec2_vertex" />
-<Test name="int_to_uvec2_fragment" />
-<Test name="ivec4_to_vec4_vertex" />
-<Test name="uint_to_float_fragment" />
-<Test name="ivec4_to_vec4_fragment" />
-<Test name="uvec4_to_vec4_fragment" />
-<Test name="ivec2_to_uvec2_vertex" />
-<Test name="uvec2_to_vec2_fragment" />
-<Test name="uint_to_vec3_vertex" />
-<Test name="ivec3_to_vec3_fragment" />
-<Test name="ivec4_to_uvec4_fragment" />
-<Test name="int_to_vec2_vertex" />
-<Test name="uint_to_vec4_vertex" />
-<Test name="ivec3_to_uvec3_vertex" />
-<Test name="int_to_uvec4_vertex" />
-<Test name="int_to_float_fragment" />
-<Test name="ivec3_to_uvec3_fragment" />
-<Test name="int_to_vec3_fragment" />
-<Test name="int_to_uvec3_fragment" />
-<Test name="ivec2_to_vec2_vertex" />
-<Test name="uint_to_float_vertex" />
-<Test name="int_to_uvec3_vertex" />
-<Test name="ivec2_to_vec2_fragment" />
-<Test name="uint_to_vec2_fragment" />
-<Test name="uvec3_to_vec3_fragment" />
-<Test name="uvec3_to_vec3_vertex" />
-<Test name="int_to_vec3_vertex" />
-<Test name="ivec2_to_uvec2_fragment" />
-<Test name="int_to_uvec4_fragment" />
+<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>
-</TestSuite>
-<TestSuite name="invalid">
-<TestCase name="arrays">
-<Test name="ivec4_to_vec4_fragment" />
-<Test name="int_to_uint_vertex" />
-<Test name="ivec3_to_vec3_vertex" />
-<Test name="uvec3_to_vec3_vertex" />
-<Test name="int_to_float_vertex" />
-<Test name="ivec4_to_uvec4_vertex" />
-<Test name="uvec2_to_vec2_vertex" />
-<Test name="ivec4_to_vec4_vertex" />
-<Test name="uint_to_float_fragment" />
-<Test name="uvec4_to_vec4_vertex" />
-<Test name="uvec4_to_vec4_fragment" />
-<Test name="ivec3_to_vec3_fragment" />
-<Test name="ivec4_to_uvec4_fragment" />
-<Test name="ivec2_to_uvec2_vertex" />
-<Test name="ivec3_to_uvec3_vertex" />
-<Test name="int_to_float_fragment" />
-<Test name="int_to_uint_fragment" />
-<Test name="ivec2_to_vec2_vertex" />
-<Test name="uint_to_float_vertex" />
-<Test name="ivec2_to_vec2_fragment" />
-<Test name="ivec3_to_uvec3_fragment" />
-<Test name="uvec3_to_vec3_fragment" />
-<Test name="uvec2_to_vec2_fragment" />
-<Test name="ivec2_to_uvec2_fragment" />
+<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="variables">
-<Test name="uvec3_to_int_vertex" />
-<Test name="ivec4_to_ivec3_vertex" />
-<Test name="uvec2_to_int_fragment" />
-<Test name="uvec3_to_int_fragment" />
-<Test name="vec2_to_vec4_vertex" />
-<Test name="ivec3_to_vec4_vertex" />
-<Test name="vec3_to_vec4_fragment" />
-<Test name="vec2_to_uvec2_fragment" />
-<Test name="uvec2_to_ivec3_vertex" />
-<Test name="vec2_to_ivec4_vertex" />
-<Test name="uint_to_ivec3_fragment" />
-<Test name="uvec3_to_ivec3_vertex" />
-<Test name="uvec4_to_ivec4_fragment" />
-<Test name="uvec4_to_vec3_fragment" />
-<Test name="ivec2_to_ivec4_fragment" />
-<Test name="ivec4_to_uvec3_vertex" />
-<Test name="uvec2_to_vec4_fragment" />
-<Test name="vec3_to_ivec4_vertex" />
-<Test name="ivec2_to_ivec3_fragment" />
-<Test name="ivec2_to_vec3_fragment" />
-<Test name="uvec3_to_ivec3_fragment" />
-<Test name="ivec3_to_ivec4_vertex" />
-<Test name="vec3_to_uint_fragment" />
-<Test name="vec2_to_ivec2_vertex" />
-<Test name="float_to_ivec2_vertex" />
-<Test name="uvec2_to_int_vertex" />
-<Test name="uint_to_ivec2_fragment" />
-<Test name="uint_to_ivec4_vertex" />
-<Test name="uvec3_to_vec2_fragment" />
-<Test name="ivec4_to_ivec2_fragment" />
-<Test name="vec4_to_uvec3_vertex" />
-<Test name="ivec4_to_vec2_fragment" />
-<Test name="uvec4_to_ivec3_fragment" />
-<Test name="uvec3_to_uvec2_fragment" />
-<Test name="vec3_to_int_vertex" />
-<Test name="vec2_to_ivec3_vertex" />
-<Test name="uvec2_to_ivec4_vertex" />
-<Test name="float_to_ivec4_vertex" />
-<Test name="vec4_to_uvec3_fragment" />
-<Test name="uvec4_to_vec2_fragment" />
-<Test name="vec2_to_uvec3_fragment" />
-<Test name="vec4_to_ivec3_fragment" />
-<Test name="vec4_to_uint_vertex" />
-<Test name="ivec4_to_vec3_vertex" />
-<Test name="uvec2_to_uvec3_fragment" />
-<Test name="vec3_to_uint_vertex" />
-<Test name="float_to_uvec3_vertex" />
-<Test name="uvec3_to_vec2_vertex" />
-<Test name="vec4_to_uint_fragment" />
-<Test name="ivec4_to_vec2_vertex" />
-<Test name="vec3_to_ivec2_fragment" />
-<Test name="uvec3_to_uvec4_fragment" />
-<Test name="uvec4_to_int_vertex" />
-<Test name="vec3_to_vec2_fragment" />
-<Test name="uvec4_to_int_fragment" />
-<Test name="vec3_to_uvec2_fragment" />
-<Test name="vec4_to_uvec4_fragment" />
-<Test name="ivec4_to_uvec2_vertex" />
-<Test name="ivec4_to_uvec3_fragment" />
-<Test name="uvec2_to_ivec2_fragment" />
-<Test name="vec4_to_ivec2_fragment" />
-<Test name="uint_to_ivec3_vertex" />
-<Test name="float_to_uvec3_fragment" />
-<Test name="vec3_to_int_fragment" />
-<Test name="float_to_int_fragment" />
-<Test name="uvec4_to_uvec3_vertex" />
-<Test name="vec3_to_uvec4_fragment" />
-<Test name="vec2_to_vec3_vertex" />
-<Test name="vec3_to_uvec3_vertex" />
-<Test name="ivec3_to_uvec4_vertex" />
-<Test name="vec4_to_int_vertex" />
-<Test name="float_to_uvec2_vertex" />
-<Test name="uvec4_to_ivec4_vertex" />
-<Test name="vec2_to_uint_vertex" />
-<Test name="uvec3_to_vec4_fragment" />
-<Test name="uvec2_to_ivec2_vertex" />
-<Test name="uvec3_to_uvec2_vertex" />
-<Test name="vec4_to_uvec2_fragment" />
-<Test name="uint_to_ivec4_fragment" />
-<Test name="uvec3_to_ivec2_vertex" />
-<Test name="uvec4_to_ivec2_fragment" />
-<Test name="ivec3_to_vec2_fragment" />
-<Test name="vec4_to_vec2_fragment" />
-<Test name="ivec2_to_ivec3_vertex" />
-<Test name="uint_to_int_fragment" />
-<Test name="ivec3_to_uvec2_fragment" />
-<Test name="vec4_to_ivec3_vertex" />
-<Test name="float_to_ivec3_fragment" />
-<Test name="ivec3_to_ivec2_vertex" />
-<Test name="ivec3_to_uvec4_fragment" />
-<Test name="vec3_to_uvec4_vertex" />
-<Test name="vec3_to_vec2_vertex" />
-<Test name="vec2_to_ivec2_fragment" />
-<Test name="ivec4_to_ivec2_vertex" />
-<Test name="float_to_uvec4_vertex" />
-<Test name="uvec3_to_ivec4_vertex" />
-<Test name="uvec4_to_uvec2_fragment" />
-<Test name="ivec3_to_vec4_fragment" />
-<Test name="uvec4_to_ivec2_vertex" />
-<Test name="vec3_to_uvec2_vertex" />
-<Test name="vec2_to_uvec2_vertex" />
-<Test name="uvec2_to_uvec4_vertex" />
-<Test name="ivec4_to_vec3_fragment" />
-<Test name="ivec2_to_vec4_vertex" />
-<Test name="uvec2_to_uvec4_fragment" />
-<Test name="vec3_to_uvec3_fragment" />
-<Test name="vec2_to_uvec4_vertex" />
-<Test name="float_to_uint_fragment" />
-<Test name="float_to_ivec3_vertex" />
-<Test name="ivec3_to_ivec4_fragment" />
-<Test name="vec2_to_int_fragment" />
-<Test name="ivec2_to_uvec3_fragment" />
-<Test name="vec2_to_uvec3_vertex" />
-<Test name="vec3_to_vec4_vertex" />
-<Test name="vec4_to_int_fragment" />
-<Test name="vec3_to_ivec3_vertex" />
-<Test name="vec4_to_vec3_fragment" />
-<Test name="vec3_to_ivec3_fragment" />
-<Test name="float_to_ivec4_fragment" />
-<Test name="vec3_to_ivec2_vertex" />
-<Test name="uvec3_to_uvec4_vertex" />
-<Test name="uvec4_to_vec3_vertex" />
-<Test name="uvec4_to_vec2_vertex" />
-<Test name="ivec2_to_vec3_vertex" />
-<Test name="float_to_ivec2_fragment" />
-<Test name="uint_to_ivec2_vertex" />
-<Test name="float_to_uvec2_fragment" />
-<Test name="vec4_to_vec2_vertex" />
-<Test name="vec2_to_int_vertex" />
-<Test name="ivec2_to_uvec4_vertex" />
-<Test name="ivec3_to_ivec2_fragment" />
-<Test name="vec3_to_ivec4_fragment" />
-<Test name="ivec2_to_uvec3_vertex" />
-<Test name="uvec2_to_vec3_vertex" />
-<Test name="uvec3_to_vec4_vertex" />
-<Test name="float_to_uvec4_fragment" />
-<Test name="uvec2_to_ivec3_fragment" />
-<Test name="vec2_to_ivec4_fragment" />
-<Test name="vec2_to_uvec4_fragment" />
-<Test name="uvec2_to_vec4_vertex" />
-<Test name="vec4_to_ivec2_vertex" />
-<Test name="ivec2_to_vec4_fragment" />
-<Test name="ivec3_to_uvec2_vertex" />
-<Test name="uvec4_to_uvec3_fragment" />
-<Test name="uint_to_int_vertex" />
-<Test name="ivec4_to_ivec3_fragment" />
-<Test name="vec4_to_ivec4_vertex" />
-<Test name="float_to_uint_vertex" />
-<Test name="ivec2_to_ivec4_vertex" />
-<Test name="uvec2_to_vec3_fragment" />
-<Test name="vec2_to_vec4_fragment" />
-<Test name="vec4_to_vec3_vertex" />
-<Test name="ivec3_to_vec2_vertex" />
-<Test name="vec2_to_vec3_fragment" />
-<Test name="vec4_to_uvec4_vertex" />
-<Test name="uvec3_to_ivec4_fragment" />
-<Test name="ivec2_to_uvec4_fragment" />
-<Test name="uvec4_to_uvec2_vertex" />
-<Test name="vec2_to_ivec3_fragment" />
-<Test name="uvec2_to_ivec4_fragment" />
-<Test name="ivec4_to_uvec2_fragment" />
-<Test name="uvec2_to_uvec3_vertex" />
-<Test name="vec4_to_uvec2_vertex" />
-<Test name="uvec4_to_ivec3_vertex" />
-<Test name="vec4_to_ivec4_fragment" />
-<Test name="uvec3_to_ivec2_fragment" />
-<Test name="float_to_int_vertex" />
-<Test name="vec2_to_uint_fragment" />
+<TestCase name="base_level">
+<Test name="level_1" />
+<Test name="level_2" />
 </TestCase>
-<TestCase name="structs">
-<Test name="ivec4_to_vec4_fragment" />
-<Test name="int_to_uint_vertex" />
-<Test name="ivec3_to_vec3_vertex" />
-<Test name="uvec3_to_vec3_vertex" />
-<Test name="int_to_float_vertex" />
-<Test name="ivec4_to_uvec4_vertex" />
-<Test name="uvec2_to_vec2_vertex" />
-<Test name="ivec4_to_vec4_vertex" />
-<Test name="uint_to_float_fragment" />
-<Test name="uvec4_to_vec4_vertex" />
-<Test name="uvec4_to_vec4_fragment" />
-<Test name="ivec3_to_vec3_fragment" />
-<Test name="ivec4_to_uvec4_fragment" />
-<Test name="ivec2_to_uvec2_vertex" />
-<Test name="ivec3_to_uvec3_vertex" />
-<Test name="int_to_float_fragment" />
-<Test name="int_to_uint_fragment" />
-<Test name="ivec2_to_vec2_vertex" />
-<Test name="uint_to_float_vertex" />
-<Test name="ivec2_to_vec2_fragment" />
-<Test name="ivec3_to_uvec3_fragment" />
-<Test name="uvec3_to_vec3_fragment" />
-<Test name="uvec2_to_vec2_fragment" />
-<Test name="ivec2_to_uvec2_fragment" />
+<TestCase name="incomplete">
+<Test name="mipmap_incomplete" />
 </TestCase>
 </TestSuite>
-<TestSuite name="comparisons">
-<TestSuite name="literal_before_input">
-<TestCase name="not_equal">
-<Test name="uvec4_to_vec4_vertex" />
-<Test name="int_to_uint_vertex" />
-<Test name="uvec3_to_vec3_fragment" />
-<Test name="uvec4_to_vec4_fragment" />
-<Test name="int_to_float_fragment" />
-<Test name="uvec3_to_vec3_vertex" />
-<Test name="int_to_uint_fragment" />
-<Test name="int_to_float_vertex" />
-<Test name="uvec2_to_vec2_fragment" />
-<Test name="uvec2_to_vec2_vertex" />
-</TestCase>
-<TestCase name="less_or_equal">
-<Test name="int_to_float_fragment" />
-<Test name="int_to_float_vertex" />
-<Test name="int_to_uint_fragment" />
-<Test name="int_to_uint_vertex" />
+<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="less">
-<Test name="int_to_float_fragment" />
-<Test name="int_to_float_vertex" />
-<Test name="int_to_uint_fragment" />
-<Test name="int_to_uint_vertex" />
+<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="greater_or_equal">
-<Test name="int_to_float_fragment" />
-<Test name="int_to_float_vertex" />
-<Test name="int_to_uint_fragment" />
-<Test name="int_to_uint_vertex" />
+<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="equal">
-<Test name="uvec4_to_vec4_vertex" />
-<Test name="int_to_uint_vertex" />
-<Test name="uvec3_to_vec3_fragment" />
-<Test name="uvec4_to_vec4_fragment" />
-<Test name="int_to_float_fragment" />
-<Test name="uvec3_to_vec3_vertex" />
-<Test name="int_to_uint_fragment" />
-<Test name="int_to_float_vertex" />
-<Test name="uvec2_to_vec2_fragment" />
-<Test name="uvec2_to_vec2_vertex" />
+<TestCase name="filter_mode">
+<Test name="min_nearest_mipmap_nearest_mag_nearest" />
 </TestCase>
-<TestCase name="greater">
-<Test name="int_to_float_fragment" />
-<Test name="int_to_float_vertex" />
-<Test name="int_to_uint_fragment" />
-<Test name="int_to_uint_vertex" />
+<TestCase name="base_level">
+<Test name="level_1" />
+<Test name="level_2" />
 </TestCase>
 </TestSuite>
-<TestSuite name="input_before_literal">
-<TestCase name="not_equal">
-<Test name="uvec4_to_vec4_vertex" />
-<Test name="int_to_uint_vertex" />
-<Test name="uvec3_to_vec3_fragment" />
-<Test name="uvec4_to_vec4_fragment" />
-<Test name="int_to_float_fragment" />
-<Test name="uvec3_to_vec3_vertex" />
-<Test name="int_to_uint_fragment" />
-<Test name="int_to_float_vertex" />
-<Test name="uvec2_to_vec2_fragment" />
-<Test name="uvec2_to_vec2_vertex" />
-</TestCase>
-<TestCase name="less_or_equal">
-<Test name="int_to_float_fragment" />
-<Test name="int_to_float_vertex" />
-<Test name="int_to_uint_fragment" />
-<Test name="int_to_uint_vertex" />
+<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="less">
-<Test name="int_to_float_fragment" />
-<Test name="int_to_float_vertex" />
-<Test name="int_to_uint_fragment" />
-<Test name="int_to_uint_vertex" />
+<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="greater_or_equal">
-<Test name="int_to_float_fragment" />
-<Test name="int_to_float_vertex" />
-<Test name="int_to_uint_fragment" />
-<Test name="int_to_uint_vertex" />
+<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="equal">
-<Test name="uvec4_to_vec4_vertex" />
-<Test name="int_to_uint_vertex" />
-<Test name="uvec3_to_vec3_fragment" />
-<Test name="uvec4_to_vec4_fragment" />
-<Test name="int_to_float_fragment" />
-<Test name="uvec3_to_vec3_vertex" />
-<Test name="int_to_uint_fragment" />
-<Test name="int_to_float_vertex" />
-<Test name="uvec2_to_vec2_fragment" />
-<Test name="uvec2_to_vec2_vertex" />
+<TestCase name="filter_mode">
+<Test name="min_nearest_mipmap_nearest_mag_nearest" />
 </TestCase>
-<TestCase name="greater">
-<Test name="int_to_float_fragment" />
-<Test name="int_to_float_vertex" />
-<Test name="int_to_uint_fragment" />
-<Test name="int_to_uint_vertex" />
+<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="arithmetic">
-<TestSuite name="literal_before_input">
-<TestCase name="mul">
-<Test name="uvec4_to_vec4_vertex" />
-<Test name="uint_to_vec4_fragment" />
-<Test name="int_to_uint_vertex" />
-<Test name="uint_to_vec2_vertex" />
-<Test name="uint_to_vec3_fragment" />
-<Test name="int_to_uvec2_vertex" />
-<Test name="ivec3_to_vec3_vertex" />
-<Test name="int_to_vec4_vertex" />
-<Test name="int_to_vec2_fragment" />
-<Test name="int_to_uint_fragment" />
-<Test name="ivec4_to_uvec4_vertex" />
-<Test name="int_to_float_vertex" />
-<Test name="int_to_vec4_fragment" />
-<Test name="uvec2_to_vec2_vertex" />
-<Test name="int_to_uvec2_fragment" />
-<Test name="ivec4_to_vec4_vertex" />
-<Test name="ivec4_to_vec4_fragment" />
-<Test name="uvec4_to_vec4_fragment" />
-<Test name="ivec2_to_uvec2_vertex" />
-<Test name="uvec2_to_vec2_fragment" />
-<Test name="uint_to_vec3_vertex" />
-<Test name="ivec3_to_vec3_fragment" />
-<Test name="ivec4_to_uvec4_fragment" />
-<Test name="int_to_vec2_vertex" />
-<Test name="uint_to_vec4_vertex" />
-<Test name="ivec3_to_uvec3_vertex" />
-<Test name="int_to_uvec4_vertex" />
-<Test name="int_to_float_fragment" />
-<Test name="ivec3_to_uvec3_fragment" />
-<Test name="int_to_vec3_fragment" />
-<Test name="int_to_uvec3_fragment" />
-<Test name="ivec2_to_vec2_vertex" />
-<Test name="int_to_uvec3_vertex" />
-<Test name="ivec2_to_vec2_fragment" />
-<Test name="uint_to_vec2_fragment" />
-<Test name="uvec3_to_vec3_fragment" />
-<Test name="uvec3_to_vec3_vertex" />
-<Test name="int_to_vec3_vertex" />
-<Test name="ivec2_to_uvec2_fragment" />
-<Test name="int_to_uvec4_fragment" />
+<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="add">
-<Test name="uvec4_to_vec4_vertex" />
-<Test name="uint_to_vec4_fragment" />
-<Test name="int_to_uint_vertex" />
-<Test name="uint_to_vec2_vertex" />
-<Test name="uint_to_vec3_fragment" />
-<Test name="int_to_uvec2_vertex" />
-<Test name="ivec3_to_vec3_vertex" />
-<Test name="int_to_vec4_vertex" />
-<Test name="int_to_vec2_fragment" />
-<Test name="int_to_uint_fragment" />
-<Test name="ivec4_to_uvec4_vertex" />
-<Test name="int_to_float_vertex" />
-<Test name="int_to_vec4_fragment" />
-<Test name="uvec2_to_vec2_vertex" />
-<Test name="int_to_uvec2_fragment" />
-<Test name="ivec4_to_vec4_vertex" />
-<Test name="ivec4_to_vec4_fragment" />
-<Test name="uvec4_to_vec4_fragment" />
-<Test name="ivec2_to_uvec2_vertex" />
-<Test name="uvec2_to_vec2_fragment" />
-<Test name="uint_to_vec3_vertex" />
-<Test name="ivec3_to_vec3_fragment" />
-<Test name="ivec4_to_uvec4_fragment" />
-<Test name="int_to_vec2_vertex" />
-<Test name="uint_to_vec4_vertex" />
-<Test name="ivec3_to_uvec3_vertex" />
-<Test name="int_to_uvec4_vertex" />
-<Test name="int_to_float_fragment" />
-<Test name="ivec3_to_uvec3_fragment" />
-<Test name="int_to_vec3_fragment" />
-<Test name="int_to_uvec3_fragment" />
-<Test name="ivec2_to_vec2_vertex" />
-<Test name="int_to_uvec3_vertex" />
-<Test name="ivec2_to_vec2_fragment" />
-<Test name="uint_to_vec2_fragment" />
-<Test name="uvec3_to_vec3_fragment" />
-<Test name="uvec3_to_vec3_vertex" />
-<Test name="int_to_vec3_vertex" />
-<Test name="ivec2_to_uvec2_fragment" />
-<Test name="int_to_uvec4_fragment" />
+<TestCase name="compare_greater">
+<Test name="clamp_to_edge_repeat" />
+<Test name="repeat_mirrored_repeat" />
+<Test name="mirrored_repeat_clamp_to_edge" />
 </TestCase>
-<TestCase name="div">
-<Test name="uvec4_to_vec4_vertex" />
-<Test name="uint_to_vec4_fragment" />
-<Test name="int_to_uint_vertex" />
-<Test name="uint_to_vec2_vertex" />
-<Test name="uint_to_vec3_fragment" />
-<Test name="int_to_uvec2_vertex" />
-<Test name="ivec3_to_vec3_vertex" />
-<Test name="int_to_vec4_vertex" />
-<Test name="int_to_vec2_fragment" />
-<Test name="int_to_uint_fragment" />
-<Test name="ivec4_to_uvec4_vertex" />
-<Test name="int_to_float_vertex" />
-<Test name="int_to_vec4_fragment" />
-<Test name="uvec2_to_vec2_vertex" />
-<Test name="int_to_uvec2_fragment" />
-<Test name="ivec4_to_vec4_vertex" />
-<Test name="ivec4_to_vec4_fragment" />
-<Test name="uvec4_to_vec4_fragment" />
-<Test name="ivec2_to_uvec2_vertex" />
-<Test name="uvec2_to_vec2_fragment" />
-<Test name="uint_to_vec3_vertex" />
-<Test name="ivec3_to_vec3_fragment" />
-<Test name="ivec4_to_uvec4_fragment" />
-<Test name="int_to_vec2_vertex" />
-<Test name="uint_to_vec4_vertex" />
-<Test name="ivec3_to_uvec3_vertex" />
-<Test name="int_to_uvec4_vertex" />
-<Test name="int_to_float_fragment" />
-<Test name="ivec3_to_uvec3_fragment" />
-<Test name="int_to_vec3_fragment" />
-<Test name="int_to_uvec3_fragment" />
-<Test name="ivec2_to_vec2_vertex" />
-<Test name="int_to_uvec3_vertex" />
-<Test name="ivec2_to_vec2_fragment" />
-<Test name="uint_to_vec2_fragment" />
-<Test name="uvec3_to_vec3_fragment" />
-<Test name="uvec3_to_vec3_vertex" />
-<Test name="int_to_vec3_vertex" />
-<Test name="ivec2_to_uvec2_fragment" />
-<Test name="int_to_uvec4_fragment" />
+</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="sub">
-<Test name="uvec4_to_vec4_vertex" />
-<Test name="uint_to_vec4_fragment" />
-<Test name="uvec3_to_vec3_fragment" />
-<Test name="uint_to_vec3_fragment" />
-<Test name="ivec3_to_vec3_vertex" />
-<Test name="int_to_vec4_vertex" />
-<Test name="int_to_vec2_fragment" />
-<Test name="int_to_float_vertex" />
-<Test name="int_to_vec4_fragment" />
-<Test name="uvec2_to_vec2_vertex" />
-<Test name="ivec4_to_vec4_vertex" />
-<Test name="ivec4_to_vec4_fragment" />
-<Test name="uvec4_to_vec4_fragment" />
-<Test name="uvec2_to_vec2_fragment" />
-<Test name="uint_to_vec3_vertex" />
-<Test name="ivec3_to_vec3_fragment" />
-<Test name="int_to_vec2_vertex" />
-<Test name="uint_to_vec4_vertex" />
-<Test name="int_to_float_fragment" />
-<Test name="uint_to_vec2_vertex" />
-<Test name="int_to_vec3_fragment" />
-<Test name="ivec2_to_vec2_vertex" />
-<Test name="ivec2_to_vec2_fragment" />
-<Test name="uint_to_vec2_fragment" />
-<Test name="uvec3_to_vec3_vertex" />
-<Test name="int_to_vec3_vertex" />
+<TestCase name="base_level">
+<Test name="level_1" />
+<Test name="level_2" />
 </TestCase>
 </TestSuite>
-<TestSuite name="input_before_literal">
-<TestCase name="mul">
-<Test name="uvec4_to_vec4_vertex" />
-<Test name="uint_to_vec4_fragment" />
-<Test name="int_to_uint_vertex" />
-<Test name="uint_to_vec2_vertex" />
-<Test name="uint_to_vec3_fragment" />
-<Test name="int_to_uvec2_vertex" />
-<Test name="ivec3_to_vec3_vertex" />
-<Test name="int_to_vec4_vertex" />
-<Test name="int_to_vec2_fragment" />
-<Test name="int_to_uint_fragment" />
-<Test name="ivec4_to_uvec4_vertex" />
-<Test name="int_to_float_vertex" />
-<Test name="int_to_vec4_fragment" />
-<Test name="uvec2_to_vec2_vertex" />
-<Test name="int_to_uvec2_fragment" />
-<Test name="ivec4_to_vec4_vertex" />
-<Test name="ivec4_to_vec4_fragment" />
-<Test name="uvec4_to_vec4_fragment" />
-<Test name="ivec2_to_uvec2_vertex" />
-<Test name="uvec2_to_vec2_fragment" />
-<Test name="uint_to_vec3_vertex" />
-<Test name="ivec3_to_vec3_fragment" />
-<Test name="ivec4_to_uvec4_fragment" />
-<Test name="int_to_vec2_vertex" />
-<Test name="uint_to_vec4_vertex" />
-<Test name="ivec3_to_uvec3_vertex" />
-<Test name="int_to_uvec4_vertex" />
-<Test name="int_to_float_fragment" />
-<Test name="ivec3_to_uvec3_fragment" />
-<Test name="int_to_vec3_fragment" />
-<Test name="int_to_uvec3_fragment" />
-<Test name="ivec2_to_vec2_vertex" />
-<Test name="int_to_uvec3_vertex" />
-<Test name="ivec2_to_vec2_fragment" />
-<Test name="uint_to_vec2_fragment" />
-<Test name="uvec3_to_vec3_fragment" />
-<Test name="uvec3_to_vec3_vertex" />
-<Test name="int_to_vec3_vertex" />
-<Test name="ivec2_to_uvec2_fragment" />
-<Test name="int_to_uvec4_fragment" />
+</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="add">
-<Test name="uvec4_to_vec4_vertex" />
-<Test name="uint_to_vec4_fragment" />
-<Test name="int_to_uint_vertex" />
-<Test name="uint_to_vec2_vertex" />
-<Test name="uint_to_vec3_fragment" />
-<Test name="int_to_uvec2_vertex" />
-<Test name="ivec3_to_vec3_vertex" />
-<Test name="int_to_vec4_vertex" />
-<Test name="int_to_vec2_fragment" />
-<Test name="int_to_uint_fragment" />
-<Test name="ivec4_to_uvec4_vertex" />
-<Test name="int_to_float_vertex" />
-<Test name="int_to_vec4_fragment" />
-<Test name="uvec2_to_vec2_vertex" />
-<Test name="int_to_uvec2_fragment" />
-<Test name="ivec4_to_vec4_vertex" />
-<Test name="ivec4_to_vec4_fragment" />
-<Test name="uvec4_to_vec4_fragment" />
-<Test name="ivec2_to_uvec2_vertex" />
-<Test name="uvec2_to_vec2_fragment" />
-<Test name="uint_to_vec3_vertex" />
-<Test name="ivec3_to_vec3_fragment" />
-<Test name="ivec4_to_uvec4_fragment" />
-<Test name="int_to_vec2_vertex" />
-<Test name="uint_to_vec4_vertex" />
-<Test name="ivec3_to_uvec3_vertex" />
-<Test name="int_to_uvec4_vertex" />
-<Test name="int_to_float_fragment" />
-<Test name="ivec3_to_uvec3_fragment" />
-<Test name="int_to_vec3_fragment" />
-<Test name="int_to_uvec3_fragment" />
-<Test name="ivec2_to_vec2_vertex" />
-<Test name="int_to_uvec3_vertex" />
-<Test name="ivec2_to_vec2_fragment" />
-<Test name="uint_to_vec2_fragment" />
-<Test name="uvec3_to_vec3_fragment" />
-<Test name="uvec3_to_vec3_vertex" />
-<Test name="int_to_vec3_vertex" />
-<Test name="ivec2_to_uvec2_fragment" />
-<Test name="int_to_uvec4_fragment" />
+<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="div">
-<Test name="uvec4_to_vec4_vertex" />
-<Test name="uint_to_vec4_fragment" />
-<Test name="int_to_uint_vertex" />
-<Test name="uint_to_vec2_vertex" />
-<Test name="uint_to_vec3_fragment" />
-<Test name="int_to_uvec2_vertex" />
-<Test name="ivec3_to_vec3_vertex" />
-<Test name="int_to_vec4_vertex" />
-<Test name="int_to_vec2_fragment" />
-<Test name="int_to_uint_fragment" />
-<Test name="ivec4_to_uvec4_vertex" />
-<Test name="int_to_float_vertex" />
-<Test name="int_to_vec4_fragment" />
-<Test name="uvec2_to_vec2_vertex" />
-<Test name="int_to_uvec2_fragment" />
-<Test name="ivec4_to_vec4_vertex" />
-<Test name="ivec4_to_vec4_fragment" />
-<Test name="uvec4_to_vec4_fragment" />
-<Test name="ivec2_to_uvec2_vertex" />
-<Test name="uvec2_to_vec2_fragment" />
-<Test name="uint_to_vec3_vertex" />
-<Test name="ivec3_to_vec3_fragment" />
-<Test name="ivec4_to_uvec4_fragment" />
-<Test name="int_to_vec2_vertex" />
-<Test name="uint_to_vec4_vertex" />
-<Test name="ivec3_to_uvec3_vertex" />
-<Test name="int_to_uvec4_vertex" />
-<Test name="int_to_float_fragment" />
-<Test name="ivec3_to_uvec3_fragment" />
-<Test name="int_to_vec3_fragment" />
-<Test name="int_to_uvec3_fragment" />
-<Test name="ivec2_to_vec2_vertex" />
-<Test name="int_to_uvec3_vertex" />
-<Test name="ivec2_to_vec2_fragment" />
-<Test name="uint_to_vec2_fragment" />
-<Test name="uvec3_to_vec3_fragment" />
-<Test name="uvec3_to_vec3_vertex" />
-<Test name="int_to_vec3_vertex" />
-<Test name="ivec2_to_uvec2_fragment" />
-<Test name="int_to_uvec4_fragment" />
+<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="sub">
-<Test name="uvec4_to_vec4_vertex" />
-<Test name="uint_to_vec4_fragment" />
-<Test name="uvec3_to_vec3_fragment" />
-<Test name="uint_to_vec3_fragment" />
-<Test name="ivec3_to_vec3_vertex" />
-<Test name="int_to_vec4_vertex" />
-<Test name="int_to_vec2_fragment" />
-<Test name="int_to_float_vertex" />
-<Test name="int_to_vec4_fragment" />
-<Test name="uvec2_to_vec2_vertex" />
-<Test name="ivec4_to_vec4_vertex" />
-<Test name="ivec4_to_vec4_fragment" />
-<Test name="uvec4_to_vec4_fragment" />
-<Test name="uvec2_to_vec2_fragment" />
-<Test name="uint_to_vec3_vertex" />
-<Test name="ivec3_to_vec3_fragment" />
-<Test name="int_to_vec2_vertex" />
-<Test name="uint_to_vec4_vertex" />
-<Test name="int_to_float_fragment" />
-<Test name="uint_to_vec2_vertex" />
-<Test name="int_to_vec3_fragment" />
-<Test name="ivec2_to_vec2_vertex" />
-<Test name="ivec2_to_vec2_fragment" />
-<Test name="uint_to_vec2_fragment" />
-<Test name="uvec3_to_vec3_vertex" />
-<Test name="int_to_vec3_vertex" />
+<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="parenthesized_expressions">
-<TestSuite name="literal_before_paren_expr">
-<TestCase name="input_outside_parens">
-<Test name="uvec4_to_vec4_vertex" />
-<Test name="uint_to_vec4_fragment" />
-<Test name="int_to_uint_vertex" />
-<Test name="uint_to_vec2_vertex" />
-<Test name="uint_to_vec3_fragment" />
-<Test name="int_to_uvec2_vertex" />
-<Test name="ivec3_to_vec3_vertex" />
-<Test name="int_to_vec4_vertex" />
-<Test name="int_to_vec2_fragment" />
-<Test name="int_to_uint_fragment" />
-<Test name="ivec4_to_uvec4_vertex" />
-<Test name="int_to_float_vertex" />
-<Test name="int_to_vec4_fragment" />
-<Test name="uvec2_to_vec2_vertex" />
-<Test name="int_to_uvec2_fragment" />
-<Test name="ivec4_to_vec4_vertex" />
-<Test name="ivec4_to_vec4_fragment" />
-<Test name="uvec4_to_vec4_fragment" />
-<Test name="ivec2_to_uvec2_vertex" />
-<Test name="uvec2_to_vec2_fragment" />
-<Test name="uint_to_vec3_vertex" />
-<Test name="ivec3_to_vec3_fragment" />
-<Test name="ivec4_to_uvec4_fragment" />
-<Test name="int_to_vec2_vertex" />
-<Test name="uint_to_vec4_vertex" />
-<Test name="ivec3_to_uvec3_vertex" />
-<Test name="int_to_uvec4_vertex" />
-<Test name="int_to_float_fragment" />
-<Test name="ivec3_to_uvec3_fragment" />
-<Test name="int_to_vec3_fragment" />
-<Test name="int_to_uvec3_fragment" />
-<Test name="ivec2_to_vec2_vertex" />
-<Test name="int_to_uvec3_vertex" />
-<Test name="ivec2_to_vec2_fragment" />
-<Test name="uint_to_vec2_fragment" />
-<Test name="uvec3_to_vec3_fragment" />
-<Test name="uvec3_to_vec3_vertex" />
-<Test name="int_to_vec3_vertex" />
-<Test name="ivec2_to_uvec2_fragment" />
-<Test name="int_to_uvec4_fragment" />
+<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="input_in_parens">
-<Test name="uvec4_to_vec4_vertex" />
-<Test name="uint_to_vec4_fragment" />
-<Test name="int_to_uint_vertex" />
-<Test name="uint_to_vec2_vertex" />
-<Test name="uint_to_vec3_fragment" />
-<Test name="int_to_uvec2_vertex" />
-<Test name="ivec3_to_vec3_vertex" />
-<Test name="int_to_vec4_vertex" />
-<Test name="int_to_vec2_fragment" />
-<Test name="int_to_uint_fragment" />
-<Test name="ivec4_to_uvec4_vertex" />
-<Test name="int_to_float_vertex" />
-<Test name="int_to_vec4_fragment" />
-<Test name="uvec2_to_vec2_vertex" />
-<Test name="int_to_uvec2_fragment" />
-<Test name="ivec4_to_vec4_vertex" />
-<Test name="ivec4_to_vec4_fragment" />
-<Test name="uvec4_to_vec4_fragment" />
-<Test name="ivec2_to_uvec2_vertex" />
-<Test name="uvec2_to_vec2_fragment" />
-<Test name="uint_to_vec3_vertex" />
-<Test name="ivec3_to_vec3_fragment" />
-<Test name="ivec4_to_uvec4_fragment" />
-<Test name="int_to_vec2_vertex" />
-<Test name="uint_to_vec4_vertex" />
-<Test name="ivec3_to_uvec3_vertex" />
-<Test name="int_to_uvec4_vertex" />
-<Test name="int_to_float_fragment" />
-<Test name="ivec3_to_uvec3_fragment" />
-<Test name="int_to_vec3_fragment" />
-<Test name="int_to_uvec3_fragment" />
-<Test name="ivec2_to_vec2_vertex" />
-<Test name="int_to_uvec3_vertex" />
-<Test name="ivec2_to_vec2_fragment" />
-<Test name="uint_to_vec2_fragment" />
-<Test name="uvec3_to_vec3_fragment" />
-<Test name="uvec3_to_vec3_vertex" />
-<Test name="int_to_vec3_vertex" />
-<Test name="ivec2_to_uvec2_fragment" />
-<Test name="int_to_uvec4_fragment" />
+<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="paren_expr_before_literal">
-<TestCase name="input_outside_parens">
-<Test name="uvec4_to_vec4_vertex" />
-<Test name="uint_to_vec4_fragment" />
-<Test name="int_to_uint_vertex" />
-<Test name="uint_to_vec2_vertex" />
-<Test name="uint_to_vec3_fragment" />
-<Test name="int_to_uvec2_vertex" />
-<Test name="ivec3_to_vec3_vertex" />
-<Test name="int_to_vec4_vertex" />
-<Test name="int_to_vec2_fragment" />
-<Test name="int_to_uint_fragment" />
-<Test name="ivec4_to_uvec4_vertex" />
-<Test name="int_to_float_vertex" />
-<Test name="int_to_vec4_fragment" />
-<Test name="uvec2_to_vec2_vertex" />
-<Test name="int_to_uvec2_fragment" />
-<Test name="ivec4_to_vec4_vertex" />
-<Test name="ivec4_to_vec4_fragment" />
-<Test name="uvec4_to_vec4_fragment" />
-<Test name="ivec2_to_uvec2_vertex" />
-<Test name="uvec2_to_vec2_fragment" />
-<Test name="uint_to_vec3_vertex" />
-<Test name="ivec3_to_vec3_fragment" />
-<Test name="ivec4_to_uvec4_fragment" />
-<Test name="int_to_vec2_vertex" />
-<Test name="uint_to_vec4_vertex" />
-<Test name="ivec3_to_uvec3_vertex" />
-<Test name="int_to_uvec4_vertex" />
-<Test name="int_to_float_fragment" />
-<Test name="ivec3_to_uvec3_fragment" />
-<Test name="int_to_vec3_fragment" />
-<Test name="int_to_uvec3_fragment" />
-<Test name="ivec2_to_vec2_vertex" />
-<Test name="int_to_uvec3_vertex" />
-<Test name="ivec2_to_vec2_fragment" />
-<Test name="uint_to_vec2_fragment" />
-<Test name="uvec3_to_vec3_fragment" />
-<Test name="uvec3_to_vec3_vertex" />
-<Test name="int_to_vec3_vertex" />
-<Test name="ivec2_to_uvec2_fragment" />
-<Test name="int_to_uvec4_fragment" />
+<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="input_in_parens">
-<Test name="uvec4_to_vec4_vertex" />
-<Test name="uint_to_vec4_fragment" />
-<Test name="int_to_uint_vertex" />
-<Test name="uint_to_vec2_vertex" />
-<Test name="uint_to_vec3_fragment" />
-<Test name="int_to_uvec2_vertex" />
-<Test name="ivec3_to_vec3_vertex" />
-<Test name="int_to_vec4_vertex" />
-<Test name="int_to_vec2_fragment" />
-<Test name="int_to_uint_fragment" />
-<Test name="ivec4_to_uvec4_vertex" />
-<Test name="int_to_float_vertex" />
-<Test name="int_to_vec4_fragment" />
-<Test name="uvec2_to_vec2_vertex" />
-<Test name="int_to_uvec2_fragment" />
-<Test name="ivec4_to_vec4_vertex" />
-<Test name="ivec4_to_vec4_fragment" />
-<Test name="uvec4_to_vec4_fragment" />
-<Test name="ivec2_to_uvec2_vertex" />
-<Test name="uvec2_to_vec2_fragment" />
-<Test name="uint_to_vec3_vertex" />
-<Test name="ivec3_to_vec3_fragment" />
-<Test name="ivec4_to_uvec4_fragment" />
-<Test name="int_to_vec2_vertex" />
-<Test name="uint_to_vec4_vertex" />
-<Test name="ivec3_to_uvec3_vertex" />
-<Test name="int_to_uvec4_vertex" />
-<Test name="int_to_float_fragment" />
-<Test name="ivec3_to_uvec3_fragment" />
-<Test name="int_to_vec3_fragment" />
-<Test name="int_to_uvec3_fragment" />
-<Test name="ivec2_to_vec2_vertex" />
-<Test name="int_to_uvec3_vertex" />
-<Test name="ivec2_to_vec2_fragment" />
-<Test name="uint_to_vec2_fragment" />
-<Test name="uvec3_to_vec3_fragment" />
-<Test name="uvec3_to_vec3_vertex" />
-<Test name="int_to_vec3_vertex" />
-<Test name="ivec2_to_uvec2_fragment" />
-<Test name="int_to_uvec4_fragment" />
+<TestCase name="base_level">
+<Test name="level_1" />
+<Test name="level_2" />
 </TestCase>
 </TestSuite>
 </TestSuite>
 </TestSuite>
 </TestSuite>
-<TestSuite name="debug">
-<TestCase name="object_labels">
-<Test name="renderbuffer" />
-<Test name="buffer" />
-<Test name="shader" />
-<Test name="texture" />
-<Test name="program_pipeline" />
-<Test name="transform_feedback" />
-<Test name="program" />
-<Test name="sampler" />
-<Test name="query" />
-<Test name="framebuffer" />
-</TestCase>
-<TestCase name="error_filters">
-<Test name="case_9" />
-<Test name="case_7" />
-<Test name="case_6" />
-<Test name="case_5" />
-<Test name="case_4" />
-<Test name="case_2" />
-<Test name="case_1" />
-<Test name="case_31" />
-<Test name="case_30" />
-<Test name="case_15" />
-<Test name="case_14" />
-<Test name="case_13" />
-<Test name="case_12" />
-<Test name="case_11" />
-<Test name="case_10" />
-<Test name="case_27" />
-<Test name="case_24" />
-<Test name="case_25" />
-<Test name="case_22" />
-<Test name="case_23" />
-<Test name="case_21" />
-<Test name="case_28" />
-<Test name="case_29" />
-</TestCase>
-<TestCase name="externally_generated">
-<Test name="application_messages" />
-<Test name="third_party_messages" />
-<Test name="push_pop_consistency" />
-<Test name="push_pop_stack" />
+<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="async">
-<Test name="case_0_log" />
-<Test name="case_10_log" />
-<Test name="case_4_log" />
-<Test name="case_9_callback" />
-<Test name="case_7_callback" />
-<Test name="case_2_log" />
-<Test name="case_3_callback" />
-<Test name="case_1_callback" />
-<Test name="case_6_log" />
-<Test name="case_11_callback" />
-<Test name="case_15_callback" />
-<Test name="case_8_log" />
-<Test name="case_5_callback" />
-<Test name="case_14_log" />
-<Test name="case_12_log" />
-<Test name="case_13_callback" />
+<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="error_groups">
-<Test name="case_4" />
-<Test name="case_7" />
-<Test name="case_6" />
-<Test name="case_5" />
-<Test name="case_14" />
-<Test name="case_2" />
-<Test name="case_1" />
-<Test name="case_12" />
+</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>
-<TestSuite name="negative_coverage">
-<TestSuite name="callbacks">
-<TestCase name="buffer">
-<Test name="delete_renderbuffers" />
-<Test name="flush_mapped_buffer_range" />
-<Test name="bind_buffer_range" />
-<Test name="bind_buffer" />
-<Test name="framebuffer_renderbuffer" />
-<Test name="clear_bufferiv" />
-<Test name="check_framebuffer_status" />
-<Test name="delete_buffers" />
-<Test name="bind_buffer_base" />
-<Test name="clear_bufferfi" />
-<Test name="buffer_data" />
-<Test name="clear_bufferuiv" />
-<Test name="draw_buffers" />
-<Test name="read_buffer" />
-<Test name="read_pixels_format_mismatch" />
-<Test name="framebuffer_texture_layer" />
-<Test name="buffer_sub_data_size_offset" />
-<Test name="unmap_buffer" />
-<Test name="blit_framebuffer_multisample" />
-<Test name="gen_framebuffers" />
-<Test name="gen_buffers" />
-<Test name="framebuffer_texture2d" />
-<Test name="clear_bufferfv" />
-<Test name="gen_renderbuffers" />
-<Test name="renderbuffer_storage_multisample" />
-<Test name="blit_framebuffer" />
-<Test name="read_pixels" />
-<Test name="bind_renderbuffer" />
-<Test name="clear" />
-<Test name="buffer_sub_data" />
-<Test name="read_pixels_fbo_format_mismatch" />
-<Test name="copy_buffer_sub_data" />
-<Test name="renderbuffer_storage" />
-<Test name="bind_framebuffer" />
-<Test name="map_buffer_range" />
-<Test name="delete_framebuffers" />
+<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="shader">
-<Test name="uniformfv_incompatible_type" />
-<Test name="uniformui_incompatible_type" />
-<Test name="delete_program" />
-<Test name="uniformf_invalid_program" />
-<Test name="get_attrib_location" />
-<Test name="uniformuiv_invalid_program" />
-<Test name="uniformfv_invalid_location" />
-<Test name="uniformiv_incompatible_type" />
-<Test name="uniformui_invalid_program" />
-<Test name="program_parameteri" />
-<Test name="validate_program" />
-<Test name="shader_source" />
-<Test name="compile_shader" />
-<Test name="transform_feedback_varyings" />
-<Test name="sampler_parameterf" />
-<Test name="bind_attrib_location" />
-<Test name="gen_samplers" />
-<Test name="bind_sampler" />
-<Test name="sampler_parameteriv" />
-<Test name="uniformuiv_incompatible_type" />
-<Test name="begin_transform_feedback" />
-<Test name="shader_binary" />
-<Test name="get_sampler_parameterfv" />
-<Test name="delete_transform_feedbacks" />
-<Test name="bind_transform_feedback" />
-<Test name="uniformi_incompatible_type" />
-<Test name="create_shader" />
-<Test name="uniformfv_invalid_program" />
-<Test name="uniformuiv_invalid_location" />
-<Test name="resume_transform_feedback" />
-<Test name="uniform_matrixfv_invalid_location" />
-<Test name="uniformiv_invalid_count" />
-<Test name="uniformf_invalid_location" />
-<Test name="uniformfv_invalid_count" />
-<Test name="uniformiv_invalid_program" />
-<Test name="delete_shader" />
-<Test name="sampler_parameteri" />
-<Test name="gen_transform_feedbacks" />
-<Test name="end_transform_feedback" />
-<Test name="uniform_matrixfv_invalid_count" />
-<Test name="sampler_parameterfv" />
-<Test name="attach_shader" />
-<Test name="uniformiv_invalid_location" />
-<Test name="uniform_matrixfv_incompatible_type" />
-<Test name="get_transform_feedback_varying" />
-<Test name="uniformf_incompatible_type" />
-<Test name="delete_samplers" />
-<Test name="pause_transform_feedback" />
-<Test name="uniformi_invalid_location" />
-<Test name="uniform_block_binding" />
-<Test name="detach_shader" />
-<Test name="uniformuiv_invalid_count" />
-<Test name="get_uniform_location" />
-<Test name="uniform_matrixfv_invalid_program" />
-<Test name="program_binary" />
-<Test name="uniformi_invalid_program" />
-<Test name="get_program_binary" />
-<Test name="get_sampler_parameteriv" />
-<Test name="uniformui_invalid_location" />
+</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="texture">
-<Test name="compressedteximage2d_invalid_buffer_target" />
-<Test name="copyteximage2d_invalid_border" />
-<Test name="texsubimage2d_invalid_offset" />
-<Test name="texsubimage3d_neg_width_height" />
-<Test name="texsubimage3d_invalid_buffer_target" />
-<Test name="copytexsubimage2d_incomplete_framebuffer" />
-<Test name="texsubimage3d" />
-<Test name="texsubimage2d_neg_offset" />
-<Test name="compressedteximage3d_invalid_buffer_target" />
-<Test name="activetexture" />
-<Test name="teximage3d_invalid_buffer_target" />
-<Test name="texsubimage2d_neg_width_height" />
-<Test name="texstorage3d" />
-<Test name="texsubimage3d_neg_level" />
-<Test name="compressedtexsubimage3d_max_level" />
-<Test name="teximage3d_invalid_border" />
-<Test name="copytexsubimage2d_neg_level" />
-<Test name="copytexsubimage3d" />
-<Test name="texstorage2d_invalid_binding" />
-<Test name="copyteximage2d_max_level" />
-<Test name="compressedteximage3d_invalid_border" />
-<Test name="copytexsubimage3d_neg_offset" />
-<Test name="copytexsubimage2d_max_level" />
-<Test name="teximage3d_max_level" />
-<Test name="compressedtexsubimage3d_neg_level" />
-<Test name="copytexsubimage3d_neg_level" />
-<Test name="compressedtexsubimage2d_neg_width_height" />
-<Test name="texsubimage3d_neg_offset" />
-<Test name="copytexsubimage3d_invalid_offset" />
-<Test name="texsubimage2d" />
-<Test name="compressedteximage3d" />
-<Test name="compressedteximage2d_max_width_height" />
-<Test name="copytexsubimage2d_invalid_target" />
-<Test name="texstorage2d" />
-<Test name="texsubimage3d_max_level" />
-<Test name="compressedtexsubimage3d_invalid_size" />
-<Test name="compressedtexsubimage2d_neg_level" />
-<Test name="compressedteximage2d_invalid_format" />
-<Test name="teximage3d_max_width_height_depth" />
-<Test name="copyteximage2d_invalid_target" />
-<Test name="compressedtexsubimage2d_invalid_size" />
-<Test name="compressedtexsubimage2d_invalid_buffer_target" />
-<Test name="teximage2d_invalid_border" />
-<Test name="compressedtexsubimage2d_neg_offset" />
-<Test name="compressedtexsubimage3d" />
-<Test name="compressedteximage2d_invalid_border" />
-<Test name="teximage3d_neg_level" />
-<Test name="copytexsubimage2d_neg_width_height" />
-<Test name="compressedteximage3d_invalid_size" />
-<Test name="teximage2d_invalid_buffer_target" />
-<Test name="texparameterfv" />
-<Test name="copytexsubimage3d_incomplete_framebuffer" />
-<Test name="compressedtexsubimage2d_max_level" />
-<Test name="compressedteximage3d_max_width_height_depth" />
-<Test name="copytexsubimage2d_neg_offset" />
-<Test name="bindtexture" />
-<Test name="generatemipmap" />
-<Test name="compressedteximage2d_invalid_target" />
-<Test name="teximage2d_max_width_height" />
-<Test name="compressedteximage2d_neg_level" />
-<Test name="copyteximage2d_invalid_format" />
-<Test name="teximage2d_inequal_width_height_cube" />
-<Test name="compressedteximage2d_invalid_size" />
-<Test name="compressedtexsubimage3d_invalid_buffer_target" />
-<Test name="texsubimage3d_invalid_offset" />
-<Test name="texparameteriv" />
-<Test name="texsubimage2d_max_level" />
-<Test name="texstorage3d_invalid_binding" />
-<Test name="texparameterf" />
-<Test name="texparameteri" />
-<Test name="teximage2d_max_level" />
-<Test name="copyteximage2d_neg_width_height" />
-<Test name="teximage2d_neg_width_height" />
-<Test name="compressedtexsubimage2d_invalid_offset" />
-<Test name="texstorage2d_invalid_levels" />
-<Test name="teximage2d_neg_level" />
-<Test name="compressedteximage3d_neg_width_height_depth" />
-<Test name="compressedteximage3d_max_level" />
-<Test name="pixelstorei" />
-<Test name="texsubimage2d_neg_level" />
-<Test name="teximage3d" />
-<Test name="copyteximage2d_incomplete_framebuffer" />
-<Test name="compressedteximage3d_neg_level" />
-<Test name="copytexsubimage3d_max_level" />
-<Test name="texstorage3d_invalid_levels" />
-<Test name="copyteximage2d_inequal_width_height_cube" />
-<Test name="copytexsubimage3d_neg_width_height" />
-<Test name="copyteximage2d_neg_level" />
-<Test name="compressedteximage2d_max_level" />
-<Test name="gentextures" />
-<Test name="teximage2d" />
-<Test name="texsubimage2d_invalid_buffer_target" />
-<Test name="copyteximage2d_max_width_height" />
-<Test name="compressedtexsubimage3d_invalid_offset" />
-<Test name="compressedteximage2d_neg_width_height" />
-<Test name="copytexsubimage2d_invalid_offset" />
-<Test name="teximage3d_neg_width_height_depth" />
-<Test name="deletetextures" />
-<Test name="compressedtexsubimage2d" />
-<Test name="compressedtexsubimage3d_neg_width_height_depth" />
-<Test name="compressedtexsubimage3d_neg_offset" />
+<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="fragment">
-<Test name="wait_sync" />
-<Test name="stencil_func" />
-<Test name="depth_func" />
-<Test name="blend_func" />
-<Test name="blend_equation_separate" />
-<Test name="gen_queries" />
-<Test name="blend_equation" />
-<Test name="stencil_op_separate" />
-<Test name="delete_queries" />
-<Test name="blend_func_separate" />
-<Test name="stencil_func_separate" />
-<Test name="front_face" />
-<Test name="delete_sync" />
-<Test name="begin_query" />
-<Test name="stencil_op" />
-<Test name="fence_sync" />
-<Test name="client_wait_sync" />
-<Test name="viewport" />
-<Test name="line_width" />
-<Test name="cull_face" />
-<Test name="end_query" />
-<Test name="scissor" />
-<Test name="stencil_mask_separate" />
+</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="state">
-<Test name="get_active_uniform_blockiv" />
-<Test name="get_integer64v" />
-<Test name="get_stringi" />
-<Test name="get_uniformuiv" />
-<Test name="get_synciv" />
-<Test name="get_vertex_attribfv" />
-<Test name="get_active_uniform_block_name" />
-<Test name="get_queryiv" />
-<Test name="get_tex_parameteriv" />
-<Test name="get_integerv" />
-<Test name="get_active_uniformsiv" />
-<Test name="get_uniformfv" />
-<Test name="get_programiv" />
-<Test name="get_integer64i_v" />
-<Test name="get_shader_precision_format" />
-<Test name="get_buffer_parameteriv" />
-<Test name="get_integeri_v" />
-<Test name="hint" />
-<Test name="get_query_objectuiv" />
-<Test name="get_booleanv" />
-<Test name="get_vertex_attribi_iv" />
-<Test name="get_shader_source" />
-<Test name="get_active_uniform" />
-<Test name="get_floatv" />
-<Test name="get_uniformiv" />
-<Test name="get_vertex_attribiv" />
-<Test name="get_string" />
-<Test name="get_buffer_parameteri64v" />
-<Test name="is_enabled" />
-<Test name="enable" />
-<Test name="get_shaderiv" />
-<Test name="get_vertex_attribi_uiv" />
-<Test name="disable" />
-<Test name="get_buffer_pointerv" />
-<Test name="get_frag_data_location" />
-<Test name="get_framebuffer_attachment_parameteriv" />
-<Test name="get_attached_shaders" />
-<Test name="get_tex_parameterfv" />
-<Test name="get_internalformativ" />
-<Test name="get_active_attrib" />
-<Test name="get_renderbuffer_parameteriv" />
-<Test name="get_program_info_log" />
-<Test name="get_uniform_indices" />
-<Test name="get_vertex_attrib_pointerv" />
-<Test name="get_shader_info_log" />
+<TestCase name="compare_greater">
+<Test name="clamp_to_edge_repeat" />
+<Test name="repeat_mirrored_repeat" />
+<Test name="mirrored_repeat_clamp_to_edge" />
 </TestCase>
-<TestCase name="vertex_array">
-<Test name="draw_elements_instanced_incomplete_primitive" />
-<Test name="vertex_attrib_i_pointer" />
-<Test name="draw_arrays" />
-<Test name="draw_elements_incomplete_primitive" />
-<Test name="draw_elements_instanced_invalid_program" />
-<Test name="draw_elements_instanced" />
-<Test name="vertex_attribi4" />
-<Test name="disable_vertex_attrib_array" />
-<Test name="draw_arrays_instanced" />
-<Test name="draw_arrays_invalid_program" />
-<Test name="enable_vertex_attrib_array" />
-<Test name="bind_vertex_array" />
-<Test name="draw_range_elements_invalid_program" />
-<Test name="draw_elements_invalid_program" />
-<Test name="vertex_attrib_divisor" />
-<Test name="vertex_attribfv" />
-<Test name="draw_range_elements" />
-<Test name="draw_arrays_instanced_incomplete_primitive" />
-<Test name="draw_elements" />
-<Test name="gen_vertex_arrays" />
-<Test name="vertex_attribf" />
-<Test name="draw_arrays_instanced_invalid_program" />
-<Test name="delete_vertex_arrays" />
-<Test name="vertex_attribi4v" />
-<Test name="draw_arrays_incomplete_primitive" />
-<Test name="vertex_attrib_pointer" />
-<Test name="draw_range_elements_incomplete_primitive" />
+</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 name="log">
-<TestCase name="buffer">
-<Test name="delete_renderbuffers" />
-<Test name="flush_mapped_buffer_range" />
-<Test name="bind_buffer_range" />
-<Test name="bind_buffer" />
-<Test name="framebuffer_renderbuffer" />
-<Test name="clear_bufferiv" />
-<Test name="check_framebuffer_status" />
-<Test name="delete_buffers" />
-<Test name="bind_buffer_base" />
-<Test name="clear_bufferfi" />
-<Test name="buffer_data" />
-<Test name="clear_bufferuiv" />
-<Test name="draw_buffers" />
-<Test name="read_buffer" />
-<Test name="read_pixels_format_mismatch" />
-<Test name="framebuffer_texture_layer" />
-<Test name="buffer_sub_data_size_offset" />
-<Test name="unmap_buffer" />
-<Test name="blit_framebuffer_multisample" />
-<Test name="gen_framebuffers" />
-<Test name="gen_buffers" />
-<Test name="framebuffer_texture2d" />
-<Test name="clear_bufferfv" />
-<Test name="gen_renderbuffers" />
-<Test name="renderbuffer_storage_multisample" />
-<Test name="blit_framebuffer" />
-<Test name="read_pixels" />
-<Test name="bind_renderbuffer" />
-<Test name="clear" />
-<Test name="buffer_sub_data" />
-<Test name="read_pixels_fbo_format_mismatch" />
-<Test name="copy_buffer_sub_data" />
-<Test name="renderbuffer_storage" />
-<Test name="bind_framebuffer" />
-<Test name="map_buffer_range" />
-<Test name="delete_framebuffers" />
+</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>
-<TestCase name="shader">
-<Test name="uniformfv_incompatible_type" />
-<Test name="uniformui_incompatible_type" />
-<Test name="delete_program" />
-<Test name="uniformf_invalid_program" />
-<Test name="get_attrib_location" />
-<Test name="uniformuiv_invalid_program" />
-<Test name="uniformfv_invalid_location" />
-<Test name="uniformiv_incompatible_type" />
-<Test name="uniformui_invalid_program" />
-<Test name="program_parameteri" />
-<Test name="validate_program" />
-<Test name="shader_source" />
-<Test name="compile_shader" />
-<Test name="transform_feedback_varyings" />
-<Test name="sampler_parameterf" />
-<Test name="bind_attrib_location" />
-<Test name="gen_samplers" />
-<Test name="bind_sampler" />
-<Test name="sampler_parameteriv" />
-<Test name="uniformuiv_incompatible_type" />
-<Test name="begin_transform_feedback" />
-<Test name="shader_binary" />
-<Test name="get_sampler_parameterfv" />
-<Test name="delete_transform_feedbacks" />
-<Test name="bind_transform_feedback" />
-<Test name="uniformi_incompatible_type" />
-<Test name="create_shader" />
-<Test name="uniformfv_invalid_program" />
-<Test name="uniformuiv_invalid_location" />
-<Test name="resume_transform_feedback" />
-<Test name="uniform_matrixfv_invalid_location" />
-<Test name="uniformiv_invalid_count" />
-<Test name="uniformf_invalid_location" />
-<Test name="uniformfv_invalid_count" />
-<Test name="uniformiv_invalid_program" />
-<Test name="delete_shader" />
-<Test name="sampler_parameteri" />
-<Test name="gen_transform_feedbacks" />
-<Test name="end_transform_feedback" />
-<Test name="uniform_matrixfv_invalid_count" />
-<Test name="sampler_parameterfv" />
-<Test name="attach_shader" />
-<Test name="uniformiv_invalid_location" />
-<Test name="uniform_matrixfv_incompatible_type" />
-<Test name="get_transform_feedback_varying" />
-<Test name="uniformf_incompatible_type" />
-<Test name="delete_samplers" />
-<Test name="pause_transform_feedback" />
-<Test name="uniformi_invalid_location" />
-<Test name="uniform_block_binding" />
-<Test name="detach_shader" />
-<Test name="uniformuiv_invalid_count" />
-<Test name="get_uniform_location" />
-<Test name="uniform_matrixfv_invalid_program" />
-<Test name="program_binary" />
-<Test name="uniformi_invalid_program" />
-<Test name="get_program_binary" />
-<Test name="get_sampler_parameteriv" />
-<Test name="uniformui_invalid_location" />
+</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="texture">
-<Test name="compressedteximage2d_invalid_buffer_target" />
-<Test name="copyteximage2d_invalid_border" />
-<Test name="texsubimage2d_invalid_offset" />
-<Test name="texsubimage3d_neg_width_height" />
-<Test name="texsubimage3d_invalid_buffer_target" />
-<Test name="copytexsubimage2d_incomplete_framebuffer" />
-<Test name="texsubimage3d" />
-<Test name="texsubimage2d_neg_offset" />
-<Test name="compressedteximage3d_invalid_buffer_target" />
-<Test name="activetexture" />
-<Test name="teximage3d_invalid_buffer_target" />
-<Test name="texsubimage2d_neg_width_height" />
-<Test name="texstorage3d" />
-<Test name="texsubimage3d_neg_level" />
-<Test name="compressedtexsubimage3d_max_level" />
-<Test name="teximage3d_invalid_border" />
-<Test name="copytexsubimage2d_neg_level" />
-<Test name="copytexsubimage3d" />
-<Test name="texstorage2d_invalid_binding" />
-<Test name="copyteximage2d_max_level" />
-<Test name="compressedteximage3d_invalid_border" />
-<Test name="copytexsubimage3d_neg_offset" />
-<Test name="copytexsubimage2d_max_level" />
-<Test name="teximage3d_max_level" />
-<Test name="compressedtexsubimage3d_neg_level" />
-<Test name="copytexsubimage3d_neg_level" />
-<Test name="compressedtexsubimage2d_neg_width_height" />
-<Test name="texsubimage3d_neg_offset" />
-<Test name="copytexsubimage3d_invalid_offset" />
-<Test name="texsubimage2d" />
-<Test name="compressedteximage3d" />
-<Test name="compressedteximage2d_max_width_height" />
-<Test name="copytexsubimage2d_invalid_target" />
-<Test name="texstorage2d" />
-<Test name="texsubimage3d_max_level" />
-<Test name="compressedtexsubimage3d_invalid_size" />
-<Test name="compressedtexsubimage2d_neg_level" />
-<Test name="compressedteximage2d_invalid_format" />
-<Test name="teximage3d_max_width_height_depth" />
-<Test name="copyteximage2d_invalid_target" />
-<Test name="compressedtexsubimage2d_invalid_size" />
-<Test name="compressedtexsubimage2d_invalid_buffer_target" />
-<Test name="teximage2d_invalid_border" />
-<Test name="compressedtexsubimage2d_neg_offset" />
-<Test name="compressedtexsubimage3d" />
-<Test name="compressedteximage2d_invalid_border" />
-<Test name="teximage3d_neg_level" />
-<Test name="copytexsubimage2d_neg_width_height" />
-<Test name="compressedteximage3d_invalid_size" />
-<Test name="teximage2d_invalid_buffer_target" />
-<Test name="texparameterfv" />
-<Test name="copytexsubimage3d_incomplete_framebuffer" />
-<Test name="compressedtexsubimage2d_max_level" />
-<Test name="compressedteximage3d_max_width_height_depth" />
-<Test name="copytexsubimage2d_neg_offset" />
-<Test name="bindtexture" />
-<Test name="generatemipmap" />
-<Test name="compressedteximage2d_invalid_target" />
-<Test name="teximage2d_max_width_height" />
-<Test name="compressedteximage2d_neg_level" />
-<Test name="copyteximage2d_invalid_format" />
-<Test name="teximage2d_inequal_width_height_cube" />
-<Test name="compressedteximage2d_invalid_size" />
-<Test name="compressedtexsubimage3d_invalid_buffer_target" />
-<Test name="texsubimage3d_invalid_offset" />
-<Test name="texparameteriv" />
-<Test name="texsubimage2d_max_level" />
-<Test name="texstorage3d_invalid_binding" />
-<Test name="texparameterf" />
-<Test name="texparameteri" />
-<Test name="teximage2d_max_level" />
-<Test name="copyteximage2d_neg_width_height" />
-<Test name="teximage2d_neg_width_height" />
-<Test name="compressedtexsubimage2d_invalid_offset" />
-<Test name="texstorage2d_invalid_levels" />
-<Test name="teximage2d_neg_level" />
-<Test name="compressedteximage3d_neg_width_height_depth" />
-<Test name="compressedteximage3d_max_level" />
-<Test name="pixelstorei" />
-<Test name="texsubimage2d_neg_level" />
-<Test name="teximage3d" />
-<Test name="copyteximage2d_incomplete_framebuffer" />
-<Test name="compressedteximage3d_neg_level" />
-<Test name="copytexsubimage3d_max_level" />
-<Test name="texstorage3d_invalid_levels" />
-<Test name="copyteximage2d_inequal_width_height_cube" />
-<Test name="copytexsubimage3d_neg_width_height" />
-<Test name="copyteximage2d_neg_level" />
-<Test name="compressedteximage2d_max_level" />
-<Test name="gentextures" />
-<Test name="teximage2d" />
-<Test name="texsubimage2d_invalid_buffer_target" />
-<Test name="copyteximage2d_max_width_height" />
-<Test name="compressedtexsubimage3d_invalid_offset" />
-<Test name="compressedteximage2d_neg_width_height" />
-<Test name="copytexsubimage2d_invalid_offset" />
-<Test name="teximage3d_neg_width_height_depth" />
-<Test name="deletetextures" />
-<Test name="compressedtexsubimage2d" />
-<Test name="compressedtexsubimage3d_neg_width_height_depth" />
-<Test name="compressedtexsubimage3d_neg_offset" />
+<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="fragment">
-<Test name="wait_sync" />
-<Test name="stencil_func" />
-<Test name="depth_func" />
-<Test name="blend_func" />
-<Test name="blend_equation_separate" />
-<Test name="gen_queries" />
-<Test name="blend_equation" />
-<Test name="stencil_op_separate" />
-<Test name="delete_queries" />
-<Test name="blend_func_separate" />
-<Test name="stencil_func_separate" />
-<Test name="front_face" />
-<Test name="delete_sync" />
-<Test name="begin_query" />
-<Test name="stencil_op" />
-<Test name="fence_sync" />
-<Test name="client_wait_sync" />
-<Test name="viewport" />
-<Test name="line_width" />
-<Test name="cull_face" />
-<Test name="end_query" />
-<Test name="scissor" />
-<Test name="stencil_mask_separate" />
+<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="state">
-<Test name="get_active_uniform_blockiv" />
-<Test name="get_integer64v" />
-<Test name="get_stringi" />
-<Test name="get_uniformuiv" />
-<Test name="get_synciv" />
-<Test name="get_vertex_attribfv" />
-<Test name="get_active_uniform_block_name" />
-<Test name="get_queryiv" />
-<Test name="get_tex_parameteriv" />
-<Test name="get_integerv" />
-<Test name="get_active_uniformsiv" />
-<Test name="get_uniformfv" />
-<Test name="get_programiv" />
-<Test name="get_integer64i_v" />
-<Test name="get_shader_precision_format" />
-<Test name="get_buffer_parameteriv" />
-<Test name="get_integeri_v" />
-<Test name="hint" />
-<Test name="get_query_objectuiv" />
-<Test name="get_booleanv" />
-<Test name="get_vertex_attribi_iv" />
-<Test name="get_shader_source" />
-<Test name="get_active_uniform" />
-<Test name="get_floatv" />
-<Test name="get_uniformiv" />
-<Test name="get_vertex_attribiv" />
-<Test name="get_string" />
-<Test name="get_buffer_parameteri64v" />
-<Test name="is_enabled" />
-<Test name="enable" />
-<Test name="get_shaderiv" />
-<Test name="get_vertex_attribi_uiv" />
-<Test name="disable" />
-<Test name="get_buffer_pointerv" />
-<Test name="get_frag_data_location" />
-<Test name="get_framebuffer_attachment_parameteriv" />
-<Test name="get_attached_shaders" />
-<Test name="get_tex_parameterfv" />
-<Test name="get_internalformativ" />
-<Test name="get_active_attrib" />
-<Test name="get_renderbuffer_parameteriv" />
-<Test name="get_program_info_log" />
-<Test name="get_uniform_indices" />
-<Test name="get_vertex_attrib_pointerv" />
-<Test name="get_shader_info_log" />
+<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>
-<TestCase name="vertex_array">
-<Test name="draw_elements_instanced_incomplete_primitive" />
-<Test name="vertex_attrib_i_pointer" />
-<Test name="draw_arrays" />
-<Test name="draw_elements_incomplete_primitive" />
-<Test name="draw_elements_instanced_invalid_program" />
-<Test name="draw_elements_instanced" />
-<Test name="vertex_attribi4" />
-<Test name="disable_vertex_attrib_array" />
-<Test name="draw_arrays_instanced" />
-<Test name="draw_arrays_invalid_program" />
-<Test name="enable_vertex_attrib_array" />
-<Test name="bind_vertex_array" />
-<Test name="draw_range_elements_invalid_program" />
-<Test name="draw_elements_invalid_program" />
-<Test name="vertex_attrib_divisor" />
-<Test name="vertex_attribfv" />
-<Test name="draw_range_elements" />
-<Test name="draw_arrays_instanced_incomplete_primitive" />
-<Test name="draw_elements" />
-<Test name="gen_vertex_arrays" />
-<Test name="vertex_attribf" />
-<Test name="draw_arrays_instanced_invalid_program" />
-<Test name="delete_vertex_arrays" />
-<Test name="vertex_attribi4v" />
-<Test name="draw_arrays_incomplete_primitive" />
-<Test name="vertex_attrib_pointer" />
-<Test name="draw_range_elements_incomplete_primitive" />
+</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="get_error">
-<TestCase name="buffer">
-<Test name="delete_renderbuffers" />
-<Test name="flush_mapped_buffer_range" />
-<Test name="bind_buffer_range" />
-<Test name="bind_buffer" />
-<Test name="framebuffer_renderbuffer" />
-<Test name="clear_bufferiv" />
-<Test name="check_framebuffer_status" />
-<Test name="delete_buffers" />
-<Test name="bind_buffer_base" />
-<Test name="clear_bufferfi" />
-<Test name="buffer_data" />
-<Test name="clear_bufferuiv" />
-<Test name="copy_buffer_sub_data" />
-<Test name="read_pixels_format_mismatch" />
-<Test name="buffer_sub_data_size_offset" />
-<Test name="unmap_buffer" />
-<Test name="gen_framebuffers" />
-<Test name="gen_buffers" />
-<Test name="clear_bufferfv" />
-<Test name="gen_renderbuffers" />
-<Test name="blit_framebuffer" />
-<Test name="read_pixels" />
-<Test name="bind_renderbuffer" />
-<Test name="buffer_sub_data" />
-<Test name="read_pixels_fbo_format_mismatch" />
-<Test name="bind_framebuffer" />
-<Test name="map_buffer_range" />
-<Test name="delete_framebuffers" />
+<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="shader">
-<Test name="uniformfv_incompatible_type" />
-<Test name="uniformui_incompatible_type" />
-<Test name="delete_program" />
-<Test name="uniformf_invalid_program" />
-<Test name="get_attrib_location" />
-<Test name="uniformfv_invalid_location" />
-<Test name="uniformiv_incompatible_type" />
-<Test name="uniformui_invalid_program" />
-<Test name="uniformuiv_invalid_program" />
-<Test name="link_program" />
-<Test name="validate_program" />
-<Test name="shader_source" />
-<Test name="compile_shader" />
-<Test name="transform_feedback_varyings" />
-<Test name="sampler_parameterf" />
-<Test name="bind_attrib_location" />
-<Test name="gen_samplers" />
-<Test name="bind_sampler" />
-<Test name="sampler_parameteriv" />
-<Test name="uniformuiv_incompatible_type" />
-<Test name="begin_transform_feedback" />
-<Test name="shader_binary" />
-<Test name="get_sampler_parameterfv" />
-<Test name="delete_transform_feedbacks" />
-<Test name="bind_transform_feedback" />
-<Test name="uniformi_incompatible_type" />
-<Test name="create_shader" />
-<Test name="use_program" />
-<Test name="uniformfv_invalid_program" />
-<Test name="uniformuiv_invalid_location" />
-<Test name="resume_transform_feedback" />
-<Test name="uniform_matrixfv_invalid_location" />
-<Test name="uniformiv_invalid_count" />
-<Test name="uniformf_invalid_location" />
-<Test name="uniformfv_invalid_count" />
-<Test name="uniformiv_invalid_program" />
-<Test name="delete_shader" />
-<Test name="sampler_parameteri" />
-<Test name="gen_transform_feedbacks" />
-<Test name="end_transform_feedback" />
-<Test name="uniform_matrixfv_invalid_count" />
-<Test name="sampler_parameterfv" />
-<Test name="attach_shader" />
-<Test name="uniformiv_invalid_location" />
-<Test name="uniform_matrixfv_incompatible_type" />
-<Test name="get_transform_feedback_varying" />
-<Test name="uniformf_incompatible_type" />
-<Test name="delete_samplers" />
-<Test name="pause_transform_feedback" />
-<Test name="uniformi_invalid_location" />
-<Test name="uniform_block_binding" />
-<Test name="detach_shader" />
-<Test name="uniformuiv_invalid_count" />
-<Test name="get_uniform_location" />
-<Test name="uniform_matrixfv_invalid_program" />
-<Test name="uniformi_invalid_program" />
-<Test name="get_program_binary" />
-<Test name="get_sampler_parameteriv" />
-<Test name="uniformui_invalid_location" />
+<TestCase name="compare_greater">
+<Test name="clamp_to_edge_repeat" />
+<Test name="repeat_mirrored_repeat" />
+<Test name="mirrored_repeat_clamp_to_edge" />
 </TestCase>
-<TestCase name="texture">
-<Test name="compressedteximage2d_invalid_buffer_target" />
-<Test name="copyteximage2d_invalid_border" />
-<Test name="texsubimage2d_invalid_offset" />
-<Test name="texsubimage3d_neg_width_height" />
-<Test name="texsubimage3d_invalid_buffer_target" />
-<Test name="copytexsubimage2d_incomplete_framebuffer" />
-<Test name="texsubimage3d" />
-<Test name="texsubimage2d_neg_offset" />
-<Test name="compressedteximage3d_invalid_buffer_target" />
-<Test name="activetexture" />
-<Test name="teximage3d_invalid_buffer_target" />
-<Test name="texsubimage2d_neg_width_height" />
-<Test name="texstorage3d" />
-<Test name="texsubimage3d_neg_level" />
-<Test name="teximage3d_invalid_border" />
-<Test name="copytexsubimage2d_neg_level" />
-<Test name="copytexsubimage3d" />
-<Test name="texstorage2d_invalid_binding" />
-<Test name="copyteximage2d_max_level" />
-<Test name="compressedteximage3d_invalid_border" />
-<Test name="copytexsubimage3d_neg_offset" />
-<Test name="copytexsubimage2d_max_level" />
-<Test name="teximage3d_max_level" />
-<Test name="compressedtexsubimage3d_neg_level" />
-<Test name="copytexsubimage3d_neg_level" />
-<Test name="compressedtexsubimage2d_neg_width_height" />
-<Test name="texsubimage3d_neg_offset" />
-<Test name="copytexsubimage3d_invalid_offset" />
-<Test name="texsubimage2d" />
-<Test name="compressedteximage3d" />
-<Test name="compressedteximage2d_max_width_height" />
-<Test name="copytexsubimage2d_invalid_target" />
-<Test name="texstorage2d" />
-<Test name="texsubimage3d_max_level" />
-<Test name="compressedtexsubimage3d_invalid_size" />
-<Test name="compressedtexsubimage2d_neg_level" />
-<Test name="compressedteximage2d_invalid_format" />
-<Test name="teximage3d_max_width_height_depth" />
-<Test name="copyteximage2d_invalid_target" />
-<Test name="compressedtexsubimage2d_invalid_size" />
-<Test name="compressedtexsubimage2d_invalid_buffer_target" />
-<Test name="teximage2d_invalid_border" />
-<Test name="compressedtexsubimage2d_neg_offset" />
-<Test name="compressedtexsubimage3d" />
-<Test name="compressedteximage2d_invalid_border" />
-<Test name="teximage3d_neg_level" />
-<Test name="copytexsubimage2d_neg_width_height" />
-<Test name="compressedteximage3d_invalid_size" />
-<Test name="teximage2d_invalid_buffer_target" />
-<Test name="texparameterfv" />
-<Test name="copytexsubimage3d_incomplete_framebuffer" />
-<Test name="compressedteximage3d_max_width_height_depth" />
-<Test name="copytexsubimage2d_neg_offset" />
-<Test name="bindtexture" />
-<Test name="compressedteximage2d_invalid_target" />
-<Test name="teximage2d_max_width_height" />
-<Test name="compressedteximage2d_neg_level" />
-<Test name="copyteximage2d_invalid_format" />
-<Test name="teximage2d_inequal_width_height_cube" />
-<Test name="compressedteximage2d_invalid_size" />
-<Test name="texsubimage3d_invalid_offset" />
-<Test name="texparameteriv" />
-<Test name="texsubimage2d_max_level" />
-<Test name="texstorage3d_invalid_binding" />
-<Test name="texparameterf" />
-<Test name="texparameteri" />
-<Test name="teximage2d_max_level" />
-<Test name="copyteximage2d_neg_width_height" />
-<Test name="teximage2d_neg_width_height" />
-<Test name="compressedtexsubimage2d_invalid_offset" />
-<Test name="texstorage2d_invalid_levels" />
-<Test name="teximage2d_neg_level" />
-<Test name="compressedteximage3d_neg_width_height_depth" />
-<Test name="compressedtexsubimage2d" />
-<Test name="pixelstorei" />
-<Test name="texsubimage2d_neg_level" />
-<Test name="copyteximage2d_incomplete_framebuffer" />
-<Test name="compressedteximage3d_neg_level" />
-<Test name="copytexsubimage3d_max_level" />
-<Test name="texstorage3d_invalid_levels" />
-<Test name="copyteximage2d_inequal_width_height_cube" />
-<Test name="copytexsubimage3d_neg_width_height" />
-<Test name="copyteximage2d_neg_level" />
-<Test name="compressedteximage2d_max_level" />
-<Test name="gentextures" />
-<Test name="teximage2d" />
-<Test name="texsubimage2d_invalid_buffer_target" />
-<Test name="copyteximage2d_max_width_height" />
-<Test name="compressedtexsubimage3d_invalid_offset" />
-<Test name="compressedteximage2d_neg_width_height" />
-<Test name="copytexsubimage2d_invalid_offset" />
-<Test name="teximage3d_neg_width_height_depth" />
-<Test name="deletetextures" />
-<Test name="compressedtexsubimage3d_neg_width_height_depth" />
-<Test name="compressedtexsubimage3d_neg_offset" />
+</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>
-<TestCase name="fragment">
-<Test name="wait_sync" />
-<Test name="stencil_func" />
-<Test name="depth_func" />
-<Test name="blend_func" />
-<Test name="blend_equation_separate" />
-<Test name="gen_queries" />
-<Test name="blend_equation" />
-<Test name="stencil_op_separate" />
-<Test name="delete_queries" />
-<Test name="blend_func_separate" />
-<Test name="stencil_func_separate" />
-<Test name="front_face" />
-<Test name="delete_sync" />
-<Test name="begin_query" />
-<Test name="stencil_op" />
-<Test name="fence_sync" />
-<Test name="client_wait_sync" />
-<Test name="viewport" />
-<Test name="line_width" />
-<Test name="cull_face" />
-<Test name="end_query" />
-<Test name="scissor" />
-<Test name="stencil_mask_separate" />
+</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="state">
-<Test name="get_active_uniform_blockiv" />
-<Test name="get_integer64v" />
-<Test name="get_stringi" />
-<Test name="get_uniformuiv" />
-<Test name="get_synciv" />
-<Test name="get_vertex_attribfv" />
-<Test name="get_active_uniform_block_name" />
-<Test name="get_queryiv" />
-<Test name="get_tex_parameteriv" />
-<Test name="get_integerv" />
-<Test name="get_active_uniformsiv" />
-<Test name="get_uniformfv" />
-<Test name="get_programiv" />
-<Test name="get_integer64i_v" />
-<Test name="get_shader_precision_format" />
-<Test name="get_buffer_parameteriv" />
-<Test name="get_integeri_v" />
-<Test name="hint" />
-<Test name="get_query_objectuiv" />
-<Test name="get_booleanv" />
-<Test name="get_vertex_attribi_iv" />
-<Test name="get_shader_source" />
-<Test name="get_active_uniform" />
-<Test name="get_floatv" />
-<Test name="get_uniformiv" />
-<Test name="get_vertex_attribiv" />
-<Test name="get_string" />
-<Test name="get_buffer_parameteri64v" />
-<Test name="is_enabled" />
-<Test name="enable" />
-<Test name="get_shaderiv" />
-<Test name="get_vertex_attribi_uiv" />
-<Test name="disable" />
-<Test name="get_buffer_pointerv" />
-<Test name="get_frag_data_location" />
-<Test name="get_framebuffer_attachment_parameteriv" />
-<Test name="get_attached_shaders" />
-<Test name="get_tex_parameterfv" />
-<Test name="get_active_attrib" />
-<Test name="get_renderbuffer_parameteriv" />
-<Test name="get_program_info_log" />
-<Test name="get_uniform_indices" />
-<Test name="get_vertex_attrib_pointerv" />
-<Test name="get_shader_info_log" />
+<TestCase name="base_level">
+<Test name="level_1" />
+<Test name="level_2" />
 </TestCase>
-<TestCase name="vertex_array">
-<Test name="bind_vertex_array" />
-<Test name="vertex_attribi4" />
-<Test name="draw_arrays_instanced_invalid_program" />
-<Test name="disable_vertex_attrib_array" />
-<Test name="vertex_attrib_i_pointer" />
-<Test name="draw_arrays_invalid_program" />
-<Test name="vertex_attribfv" />
-<Test name="delete_vertex_arrays" />
-<Test name="draw_arrays" />
-<Test name="enable_vertex_attrib_array" />
-<Test name="draw_arrays_incomplete_primitive" />
-<Test name="draw_arrays_instanced" />
-<Test name="draw_elements_instanced_invalid_program" />
-<Test name="vertex_attribi4v" />
-<Test name="draw_arrays_instanced_incomplete_primitive" />
-<Test name="vertex_attrib_pointer" />
-<Test name="gen_vertex_arrays" />
-<Test name="vertex_attrib_divisor" />
-<Test name="vertex_attribf" />
-<Test name="draw_elements_invalid_program" />
-<Test name="draw_range_elements_invalid_program" />
+</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="program_interface_query">
-<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" />
+<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="name_length">
-<Test name="named_block" />
-<Test name="unnamed_block" />
-<Test name="block_array" />
-<Test name="block_array_single_element" />
+<TestCase name="compare_greater">
+<Test name="clamp_to_edge_repeat" />
+<Test name="repeat_mirrored_repeat" />
+<Test name="mirrored_repeat_clamp_to_edge" />
 </TestCase>
-<TestCase name="buffer_binding">
-<Test name="named_block" />
-<Test name="named_block_explicit_binding" />
-<Test name="block_array_explicit_binding" />
-<Test name="unnamed_block" />
-<Test name="unnamed_block_explicit_binding" />
-<Test name="block_array" />
+</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>
-<TestCase name="active_variables">
-<Test name="named_block" />
-<Test name="block_array" />
-<Test name="unnamed_block" />
+</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="buffer_data_size">
-<Test name="named_block" />
-<Test name="block_array" />
-<Test name="unnamed_block" />
+<TestCase name="size_npot">
+<Test name="clamp_to_edge_repeat" />
+<Test name="repeat_mirrored_repeat" />
+<Test name="mirrored_repeat_clamp_to_edge" />
 </TestCase>
-<TestSuite name="referenced_by">
-<TestCase name="compute">
-<Test name="named_block" />
-<Test name="block_array" />
-<Test name="unnamed_block" />
+</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="separable_fragment">
-<Test name="named_block" />
-<Test name="block_array" />
-<Test name="unnamed_block" />
+<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="vertex_fragment_only_vertex">
-<Test name="named_block" />
-<Test name="block_array" />
-<Test name="unnamed_block" />
+</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="separable_vertex">
-<Test name="named_block" />
-<Test name="block_array" />
-<Test name="unnamed_block" />
+<TestCase name="compare_greater">
+<Test name="clamp_to_edge_repeat" />
+<Test name="repeat_mirrored_repeat" />
+<Test name="mirrored_repeat_clamp_to_edge" />
 </TestCase>
-<TestCase name="vertex_fragment">
-<Test name="named_block" />
-<Test name="block_array" />
-<Test name="unnamed_block" />
+</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="vertex_fragment_only_fragment">
-<Test name="named_block" />
-<Test name="block_array" />
-<Test name="unnamed_block" />
+<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 name="program_input">
-<TestSuite name="resource_list">
-<TestCase name="vertex_fragment">
-<Test name="var" />
-<Test name="empty" />
-</TestCase>
-<TestCase name="separable_vertex">
-<Test name="var" />
-<Test name="empty" />
+</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="separable_fragment">
-<Test name="var" />
-<Test name="var_array" />
-<Test name="empty" />
-<Test name="var_struct" />
+<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="name_length">
-<TestCase name="vertex_fragment">
-<Test name="var" />
+<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="separable_vertex">
-<Test name="var" />
+<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="separable_fragment">
-<Test name="var" />
-<Test name="var_array" />
-<Test name="var_struct" />
+</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="array_size">
-<TestCase name="vertex_fragment">
-<Test name="var" />
+<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="separable_vertex">
-<Test name="var" />
+<TestCase name="compare_greater">
+<Test name="clamp_to_edge_repeat" />
+<Test name="repeat_mirrored_repeat" />
+<Test name="mirrored_repeat_clamp_to_edge" />
 </TestCase>
-<TestCase name="separable_fragment">
-<Test name="var" />
-<Test name="var_array" />
-<Test name="var_struct" />
+</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 name="location">
-<TestCase name="vertex_fragment">
-<Test name="var" />
-<Test name="var_explicit_location" />
+</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="separable_vertex">
-<Test name="var" />
-<Test name="var_explicit_location" />
+<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="separable_fragment">
-<Test name="var_array_explicit_location" />
-<Test name="var_struct_explicit_location" />
-<Test name="var_explicit_location" />
+<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>
-</TestSuite>
-<TestSuite name="type">
-<TestCase name="vertex_fragment">
-<Test name="mat4" />
-<Test name="mat3x4" />
-<Test name="mat2" />
-<Test name="mat3x2" />
-<Test name="int" />
-<Test name="uvec2" />
-<Test name="mat4x2" />
-<Test name="float" />
-<Test name="uint" />
-<Test name="uvec3" />
-<Test name="vec4" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="ivec2" />
-<Test name="ivec3" />
-<Test name="mat2x4" />
-<Test name="mat4x3" />
-<Test name="uvec4" />
-<Test name="mat2x3" />
-<Test name="ivec4" />
-<Test name="mat3" />
+<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="separable_vertex">
-<Test name="mat4" />
-<Test name="mat3x4" />
-<Test name="mat2" />
-<Test name="mat3x2" />
-<Test name="int" />
-<Test name="uvec2" />
-<Test name="mat4x2" />
-<Test name="float" />
-<Test name="uint" />
-<Test name="uvec3" />
-<Test name="vec4" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="ivec2" />
-<Test name="ivec3" />
-<Test name="mat2x4" />
-<Test name="mat4x3" />
-<Test name="uvec4" />
-<Test name="mat2x3" />
-<Test name="ivec4" />
-<Test name="mat3" />
+<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>
-<TestSuite name="separable_fragment">
-<TestCase name="array">
-<Test name="mat4" />
-<Test name="mat3x4" />
-<Test name="mat2" />
-<Test name="mat3x2" />
-<Test name="int" />
-<Test name="uvec2" />
-<Test name="mat4x2" />
-<Test name="float" />
-<Test name="uint" />
-<Test name="uvec3" />
-<Test name="vec4" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="ivec2" />
-<Test name="ivec3" />
-<Test name="mat2x4" />
-<Test name="mat4x3" />
-<Test name="uvec4" />
-<Test name="mat2x3" />
-<Test name="ivec4" />
-<Test name="mat3" />
+<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="basic_type">
-<Test name="mat4" />
-<Test name="mat3x4" />
-<Test name="mat2" />
-<Test name="mat3x2" />
-<Test name="int" />
-<Test name="uvec2" />
-<Test name="mat4x2" />
-<Test name="float" />
-<Test name="uint" />
-<Test name="uvec3" />
-<Test name="vec4" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="ivec2" />
-<Test name="ivec3" />
-<Test name="mat2x4" />
-<Test name="mat4x3" />
-<Test name="uvec4" />
-<Test name="mat2x3" />
-<Test name="ivec4" />
-<Test name="mat3" />
+<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="struct">
-<Test name="mat4" />
-<Test name="mat3x4" />
-<Test name="mat2" />
-<Test name="mat3x2" />
-<Test name="int" />
-<Test name="uvec2" />
-<Test name="mat4x2" />
-<Test name="float" />
-<Test name="uint" />
-<Test name="uvec3" />
-<Test name="vec4" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="ivec2" />
-<Test name="ivec3" />
-<Test name="mat2x4" />
-<Test name="mat4x3" />
-<Test name="uvec4" />
-<Test name="mat2x3" />
-<Test name="ivec4" />
-<Test name="mat3" />
+<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>
-<TestCase name="referenced_by">
-<Test name="referenced_by_separable_vertex" />
-<Test name="referenced_by_separable_fragment" />
-<Test name="referenced_by_vertex_fragment" />
+<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="buffer_variable">
-<TestSuite name="resource_list">
-<TestCase name="named_block">
-<Test name="var_array_array_struct_array" />
-<Test name="var_array_struct" />
-<Test name="var_struct_array_array_array" />
-<Test name="var_struct_struct_struct_struct" />
-<Test name="var_array_struct_struct" />
-<Test name="var_array_struct_struct_struct" />
-<Test name="var_array_array_array" />
-<Test name="var_array_struct_array_array" />
-<Test name="var_struct_struct_array" />
-<Test name="var" />
-<Test name="var_struct_struct_array_array" />
-<Test name="var_array" />
-<Test name="var_array_struct_array" />
-<Test name="var_array_array" />
-<Test name="var_struct_struct_struct_array" />
-<Test name="var_array_struct_struct_array" />
-<Test name="var_struct" />
-<Test name="var_array_array_array_array" />
-<Test name="var_struct_struct_struct" />
-<Test name="var_struct_struct" />
-<Test name="var_struct_array" />
-<Test name="var_struct_array_array" />
-<Test name="var_struct_array_struct_array" />
+<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="block_array">
-<Test name="var_struct_array_array_array" />
-<Test name="var_struct_array_array_array_array" />
-<Test name="var_struct_array_struct_array_array" />
-<Test name="var_array_struct_struct_struct_array" />
-<Test name="var_array_array_array" />
-<Test name="var_array_struct_array_array" />
-<Test name="var_struct_struct_array" />
-<Test name="var_array_struct_array_array_array" />
-<Test name="var_array_array_array_array_array" />
-<Test name="var_struct_struct_array_array" />
-<Test name="var_array_struct_struct_array_array" />
-<Test name="var_struct_struct_struct_struct_array" />
-<Test name="var_struct_struct_array_array_array" />
-<Test name="var_array" />
-<Test name="var_array_struct_array" />
-<Test name="var_array_array" />
-<Test name="var_struct_struct_struct_array" />
-<Test name="var_array_struct_struct_array" />
-<Test name="var_array_array_array_array" />
-<Test name="var_array_array_struct_array_array" />
-<Test name="var_struct_array" />
-<Test name="var_struct_array_array" />
-<Test name="var_struct_struct_struct_array_array" />
+<TestCase name="compare_greater">
+<Test name="clamp_to_edge_repeat" />
+<Test name="repeat_mirrored_repeat" />
+<Test name="mirrored_repeat_clamp_to_edge" />
 </TestCase>
-<TestCase name="unnamed_block">
-<Test name="var_array_array_struct_array" />
-<Test name="var_array_struct" />
-<Test name="var_struct_array_array_array" />
-<Test name="var_struct_struct_struct_struct" />
-<Test name="var_array_struct_struct" />
-<Test name="var_array_struct_struct_struct" />
-<Test name="var_array_array_array" />
-<Test name="var_array_struct_array_array" />
-<Test name="var_struct_struct_array" />
-<Test name="var" />
-<Test name="var_struct_struct_array_array" />
-<Test name="var_array" />
-<Test name="var_array_struct_array" />
-<Test name="var_array_array" />
-<Test name="var_struct_struct_struct_array" />
-<Test name="var_array_struct_struct_array" />
-<Test name="var_struct" />
-<Test name="var_array_array_array_array" />
-<Test name="var_struct_struct_struct" />
-<Test name="var_struct_struct" />
-<Test name="var_struct_array" />
-<Test name="var_struct_array_array" />
-<Test name="var_struct_array_struct_array" />
+</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 name="name_length">
-<TestSuite name="named_block">
-<TestCase name="sized">
-<Test name="var_array_struct_array" />
-<Test name="var_struct_struct_struct" />
-<Test name="var_array_struct_struct" />
-<Test name="var_array_array_array" />
-<Test name="var_array_struct" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_struct_array_array" />
-<Test name="var_array_array" />
-<Test name="var_struct_struct_array" />
-<Test name="var" />
-<Test name="var_struct_array" />
-<Test name="var_struct" />
+</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="unsized">
-<Test name="var_struct_array" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array" />
-<Test name="var" />
-<Test name="var_array_struct" />
-<Test name="var_struct" />
+<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>
-</TestSuite>
-<TestSuite name="block_array">
-<TestCase name="sized">
-<Test name="var_array_struct_array" />
-<Test name="var_struct_struct_struct" />
-<Test name="var_array_struct_struct" />
-<Test name="var_array_array_array" />
-<Test name="var_array_struct" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_struct_array_array" />
-<Test name="var_array_array" />
-<Test name="var_struct_struct_array" />
-<Test name="var" />
-<Test name="var_struct_array" />
-<Test name="var_struct" />
+<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="unsized">
-<Test name="var_struct_array" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array" />
-<Test name="var" />
-<Test name="var_array_struct" />
-<Test name="var_struct" />
+<TestCase name="base_level">
+<Test name="level_1" />
+<Test name="level_2" />
+</TestCase>
+<TestCase name="incomplete">
+<Test name="mipmap_incomplete" />
 </TestCase>
 </TestSuite>
-<TestSuite name="unnamed_block">
-<TestCase name="sized">
-<Test name="var_array_struct_array" />
-<Test name="var_struct_struct_struct" />
-<Test name="var_array_struct_struct" />
-<Test name="var_array_array_array" />
-<Test name="var_array_struct" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_struct_array_array" />
-<Test name="var_array_array" />
-<Test name="var_struct_struct_array" />
-<Test name="var" />
-<Test name="var_struct_array" />
-<Test name="var_struct" />
+<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="unsized">
-<Test name="var_struct_array" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array" />
-<Test name="var" />
-<Test name="var_array_struct" />
-<Test name="var_struct" />
+<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>
-<TestSuite name="top_level_array_size">
-<TestCase name="named_block">
-<Test name="var_array_struct_unsized_array" />
-<Test name="var_array_struct_array" />
-<Test name="var_struct_struct_struct" />
-<Test name="var_struct_struct_unsized_array" />
-<Test name="var_array_array_array" />
-<Test name="var_struct_array" />
-<Test name="var_struct_array_unsized_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array_unsized_array" />
-<Test name="var_struct_unsized_array" />
-<Test name="var_struct_array_array" />
-<Test name="var_struct_struct_array" />
-<Test name="var_array_unsized_array" />
-<Test name="var" />
-<Test name="var_array_array" />
-<Test name="var_struct" />
+<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="block_array">
-<Test name="var_array_struct_unsized_array" />
-<Test name="var_array_struct_array" />
-<Test name="var_struct_struct_struct" />
-<Test name="var_struct_struct_unsized_array" />
-<Test name="var_array_array_array" />
-<Test name="var_struct_array" />
-<Test name="var_struct_array_unsized_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array_unsized_array" />
-<Test name="var_struct_unsized_array" />
-<Test name="var_struct_array_array" />
-<Test name="var_struct_struct_array" />
-<Test name="var_array_unsized_array" />
-<Test name="var" />
-<Test name="var_array_array" />
-<Test name="var_struct" />
+<TestCase name="filter_mode">
+<Test name="min_nearest_mipmap_nearest_mag_nearest" />
 </TestCase>
-<TestCase name="unnamed_block">
-<Test name="var_array_struct_unsized_array" />
-<Test name="var_array_struct_array" />
-<Test name="var_struct_struct_struct" />
-<Test name="var_struct_struct_unsized_array" />
-<Test name="var_array_array_array" />
-<Test name="var_struct_array" />
-<Test name="var_struct_array_unsized_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array_unsized_array" />
-<Test name="var_struct_unsized_array" />
-<Test name="var_struct_array_array" />
-<Test name="var_struct_struct_array" />
-<Test name="var_array_unsized_array" />
-<Test name="var" />
-<Test name="var_array_array" />
-<Test name="var_struct" />
+<TestCase name="base_level">
+<Test name="level_1" />
+<Test name="level_2" />
 </TestCase>
 </TestSuite>
-<TestSuite name="array_size">
-<TestSuite name="named_block">
-<TestSuite name="sized">
-<TestCase name="aggregates">
-<Test name="float_array_array" />
-<Test name="float_struct_struct" />
-<Test name="bvec3_struct" />
-<Test name="ivec2_struct" />
-<Test name="vec4_struct" />
-<Test name="float_array" />
-<Test name="bvec3_struct_array" />
-<Test name="ivec2_array_struct" />
-<Test name="float_struct" />
-<Test name="vec4_array" />
-<Test name="bvec3_array_struct" />
-<Test name="float_struct_array" />
-<Test name="ivec2_struct_array" />
-<Test name="bvec3_struct_struct" />
-<Test name="vec4_array_struct" />
-<Test name="vec4_array_array" />
-<Test name="bool_array" />
-<Test name="vec4_struct_array" />
-<Test name="bool_struct" />
-<Test name="vec4_struct_struct" />
-<Test name="bvec3_array" />
-<Test name="bvec3_array_array" />
-<Test name="ivec2_array" />
-<Test name="ivec2_struct_struct" />
-<Test name="float_array_struct" />
-<Test name="ivec2_array_array" />
+<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="types">
-<Test name="bvec3" />
-<Test name="mat2" />
-<Test name="mat3x2" />
-<Test name="int" />
-<Test name="mat4x2" />
-<Test name="float" />
-<Test name="uint" />
-<Test name="mat4" />
-<Test name="vec4" />
-<Test name="bool" />
-<Test name="vec3" />
-<Test name="ivec3" />
-<Test name="uvec3" />
-<Test name="mat3" />
+<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="unsized">
-<TestCase name="aggregates">
-<Test name="bvec3_struct" />
-<Test name="bvec3_array" />
-<Test name="ivec2_struct" />
-<Test name="vec4_struct" />
-<Test name="ivec2_array" />
-<Test name="float_array" />
-<Test name="vec4_array" />
-<Test name="bool" />
-<Test name="float_struct" />
+<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="types">
-<Test name="int" />
-<Test name="float" />
-<Test name="vec4" />
-<Test name="uint" />
-<Test name="vec3" />
-<Test name="bool" />
+<TestCase name="filter_mode">
+<Test name="min_nearest_mipmap_nearest_mag_nearest" />
 </TestCase>
-</TestSuite>
-<TestCase name="non_array">
-<Test name="int" />
-<Test name="float" />
-<Test name="vec4" />
-<Test name="uint" />
-<Test name="vec3" />
-<Test name="bool" />
+<TestCase name="base_level">
+<Test name="level_1" />
+<Test name="level_2" />
 </TestCase>
 </TestSuite>
-<TestSuite name="block_array">
-<TestCase name="sized">
-<Test name="bvec3" />
-<Test name="bvec3_struct" />
-<Test name="bvec3_array" />
-<Test name="ivec2_struct" />
-<Test name="vec4_struct" />
-<Test name="float" />
-<Test name="ivec2_array" />
-<Test name="float_array" />
-<Test name="vec4_array" />
-<Test name="vec4" />
-<Test name="bool" />
-<Test name="float_struct" />
-<Test name="ivec2" />
+<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="unsized">
-<Test name="bvec3" />
-<Test name="bvec3_struct" />
-<Test name="bvec3_array" />
-<Test name="ivec2_struct" />
-<Test name="vec4_struct" />
-<Test name="float" />
-<Test name="ivec2_array" />
-<Test name="float_array" />
-<Test name="vec4_array" />
-<Test name="vec4" />
-<Test name="bool" />
-<Test name="float_struct" />
-<Test name="ivec2" />
+<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="unnamed_block">
-<TestCase name="sized">
-<Test name="bvec3" />
-<Test name="bvec3_struct" />
-<Test name="bvec3_array" />
-<Test name="ivec2_struct" />
-<Test name="vec4_struct" />
-<Test name="float" />
-<Test name="ivec2_array" />
-<Test name="float_array" />
-<Test name="vec4_array" />
-<Test name="vec4" />
-<Test name="bool" />
-<Test name="float_struct" />
-<Test name="ivec2" />
+<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="unsized">
-<Test name="bvec3" />
-<Test name="bvec3_struct" />
-<Test name="bvec3_array" />
-<Test name="ivec2_struct" />
-<Test name="vec4_struct" />
-<Test name="float" />
-<Test name="ivec2_array" />
-<Test name="float_array" />
-<Test name="vec4_array" />
-<Test name="vec4" />
-<Test name="bool" />
-<Test name="float_struct" />
-<Test name="ivec2" />
+<TestCase name="base_level">
+<Test name="level_1" />
+<Test name="level_2" />
 </TestCase>
 </TestSuite>
 </TestSuite>
-<TestCase name="random">
-<Test name="24" />
-<Test name="26" />
-<Test name="21" />
-<Test name="23" />
-<Test name="28" />
-<Test name="29" />
-<Test name="0" />
-<Test name="3" />
-<Test name="4" />
-<Test name="7" />
-<Test name="6" />
-<Test name="8" />
-<Test name="11" />
-<Test name="10" />
-<Test name="39" />
-<Test name="12" />
-<Test name="15" />
-<Test name="14" />
-<Test name="17" />
-<Test name="16" />
-<Test name="33" />
-<Test name="18" />
-<Test name="31" />
-<Test name="37" />
-<Test name="35" />
-<Test name="34" />
-<Test name="32" />
+</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>
-<TestSuite name="top_level_array_stride">
-<TestCase name="named_block">
-<Test name="var_array_struct_unsized_array" />
-<Test name="var_array_struct_array" />
-<Test name="var_struct_struct_struct" />
-<Test name="var_struct_struct_unsized_array" />
-<Test name="var_array_array_array" />
-<Test name="var_struct_array" />
-<Test name="var_struct_array_unsized_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array_unsized_array" />
-<Test name="var_struct_unsized_array" />
-<Test name="var_struct_array_array" />
-<Test name="var_struct_struct_array" />
-<Test name="var_array_unsized_array" />
-<Test name="var" />
-<Test name="var_array_array" />
-<Test name="var_struct" />
+<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="block_array">
-<Test name="var_array_struct_unsized_array" />
-<Test name="var_array_struct_array" />
-<Test name="var_struct_struct_struct" />
-<Test name="var_struct_struct_unsized_array" />
-<Test name="var_array_array_array" />
-<Test name="var_struct_array" />
-<Test name="var_struct_array_unsized_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array_unsized_array" />
-<Test name="var_struct_unsized_array" />
-<Test name="var_struct_array_array" />
-<Test name="var_struct_struct_array" />
-<Test name="var_array_unsized_array" />
-<Test name="var" />
-<Test name="var_array_array" />
-<Test name="var_struct" />
+<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="unnamed_block">
-<Test name="var_array_struct_unsized_array" />
-<Test name="var_array_struct_array" />
-<Test name="var_struct_struct_struct" />
-<Test name="var_struct_struct_unsized_array" />
-<Test name="var_array_array_array" />
-<Test name="var_struct_array" />
-<Test name="var_struct_array_unsized_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array_unsized_array" />
-<Test name="var_struct_unsized_array" />
-<Test name="var_struct_array_array" />
-<Test name="var_struct_struct_array" />
-<Test name="var_array_unsized_array" />
-<Test name="var" />
-<Test name="var_array_array" />
-<Test name="var_struct" />
+<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>
-</TestSuite>
-<TestSuite name="is_row_major">
-<TestSuite name="unnamed_block_row_major">
-<TestCase name="no_qualifier">
-<Test name="var_array_struct" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array" />
-<Test name="var" />
-<Test name="var_struct" />
-<Test name="var_struct_array" />
-<Test name="var_unsized_array" />
+<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="column_major">
-<Test name="var_array_struct" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array" />
-<Test name="var" />
-<Test name="var_struct" />
-<Test name="var_struct_array" />
-<Test name="var_unsized_array" />
+<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="row_major">
-<Test name="var_array_struct" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array" />
-<Test name="var" />
-<Test name="var_struct" />
-<Test name="var_struct_array" />
-<Test name="var_unsized_array" />
+<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>
-</TestSuite>
-<TestSuite name="unnamed_block_col_major">
-<TestCase name="no_qualifier">
-<Test name="var_array_struct" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array" />
-<Test name="var" />
-<Test name="var_struct" />
-<Test name="var_struct_array" />
-<Test name="var_unsized_array" />
+<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="column_major">
-<Test name="var_array_struct" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array" />
-<Test name="var" />
-<Test name="var_struct" />
-<Test name="var_struct_array" />
-<Test name="var_unsized_array" />
+<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="row_major">
-<Test name="var_array_struct" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array" />
-<Test name="var" />
-<Test name="var_struct" />
-<Test name="var_struct_array" />
-<Test name="var_unsized_array" />
+<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="named_block">
-<TestCase name="no_qualifier">
-<Test name="var_array_struct" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array" />
-<Test name="var" />
-<Test name="var_struct" />
-<Test name="var_struct_array" />
-<Test name="var_unsized_array" />
+<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="column_major">
-<Test name="var_array_struct" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array" />
-<Test name="var" />
-<Test name="var_struct" />
-<Test name="var_struct_array" />
-<Test name="var_unsized_array" />
+<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="row_major">
-<Test name="var_array_struct" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array" />
-<Test name="var" />
-<Test name="var_struct" />
-<Test name="var_struct_array" />
-<Test name="var_unsized_array" />
+<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="types">
-<Test name="mat4" />
-<Test name="mat3x4" />
-<Test name="mat2" />
-<Test name="mat3x2" />
-<Test name="mat4x2" />
-<Test name="float" />
-<Test name="ivec3" />
-<Test name="mat2x4" />
-<Test name="mat4x3" />
-<Test name="mat2x3" />
-<Test name="mat3" />
+<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="unnamed_block">
-<TestCase name="no_qualifier">
-<Test name="var_array_struct" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array" />
-<Test name="var" />
-<Test name="var_struct" />
-<Test name="var_struct_array" />
-<Test name="var_unsized_array" />
+<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="column_major">
-<Test name="var_array_struct" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array" />
-<Test name="var" />
-<Test name="var_struct" />
-<Test name="var_struct_array" />
-<Test name="var_unsized_array" />
+<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="row_major">
-<Test name="var_array_struct" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array" />
-<Test name="var" />
-<Test name="var_struct" />
-<Test name="var_struct_array" />
-<Test name="var_unsized_array" />
+<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="named_block_row_major">
-<TestCase name="no_qualifier">
-<Test name="var_array_struct" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array" />
-<Test name="var" />
-<Test name="var_struct" />
-<Test name="var_struct_array" />
-<Test name="var_unsized_array" />
+<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="column_major">
-<Test name="var_array_struct" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array" />
-<Test name="var" />
-<Test name="var_struct" />
-<Test name="var_struct_array" />
-<Test name="var_unsized_array" />
+<TestCase name="as_index_array">
+<Test name="bufferdata" />
+<Test name="buffersubdata" />
+<Test name="mapbuffer_write" />
+<Test name="mapbuffer_readwrite" />
 </TestCase>
-<TestCase name="row_major">
-<Test name="var_array_struct" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array" />
-<Test name="var" />
-<Test name="var_struct" />
-<Test name="var_struct_array" />
-<Test name="var_unsized_array" />
+<TestCase name="as_vertex_array_as_index_array">
+<Test name="bufferdata" />
+<Test name="buffersubdata" />
+<Test name="mapbuffer_write" />
+<Test name="mapbuffer_readwrite" />
 </TestCase>
-</TestSuite>
-<TestSuite name="named_block_col_major">
-<TestCase name="no_qualifier">
-<Test name="var_array_struct" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array" />
-<Test name="var" />
-<Test name="var_struct" />
-<Test name="var_struct_array" />
-<Test name="var_unsized_array" />
+<TestCase name="as_vertex_texture">
+<Test name="bufferdata" />
+<Test name="buffersubdata" />
+<Test name="mapbuffer_write" />
+<Test name="mapbuffer_readwrite" />
 </TestCase>
-<TestCase name="column_major">
-<Test name="var_array_struct" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array" />
-<Test name="var" />
-<Test name="var_struct" />
-<Test name="var_struct_array" />
-<Test name="var_unsized_array" />
+<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="row_major">
-<Test name="var_array_struct" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array" />
-<Test name="var" />
-<Test name="var_struct" />
-<Test name="var_struct_array" />
-<Test name="var_unsized_array" />
+<TestCase name="as_index_array_as_vertex_texture">
+<Test name="bufferdata" />
+<Test name="buffersubdata" />
+<Test name="mapbuffer_write" />
+<Test name="mapbuffer_readwrite" />
 </TestCase>
-</TestSuite>
-</TestSuite>
-<TestCase name="block_index">
-<Test name="named_block" />
-<Test name="block_array" />
-<Test name="unnamed_block" />
+<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>
-<TestSuite name="array_stride">
-<TestSuite name="named_block">
-<TestSuite name="sized">
-<TestCase name="aggregates">
-<Test name="float_array_array" />
-<Test name="float_struct_struct" />
-<Test name="bvec3_struct" />
-<Test name="ivec2_struct" />
-<Test name="vec4_struct" />
-<Test name="float_array" />
-<Test name="bvec3_struct_array" />
-<Test name="ivec2_array_struct" />
-<Test name="float_struct" />
-<Test name="vec4_array" />
-<Test name="bvec3_array_struct" />
-<Test name="float_struct_array" />
-<Test name="ivec2_struct_array" />
-<Test name="bvec3_struct_struct" />
-<Test name="vec4_array_struct" />
-<Test name="vec4_array_array" />
-<Test name="bool_array" />
-<Test name="vec4_struct_array" />
-<Test name="bool_struct" />
-<Test name="vec4_struct_struct" />
-<Test name="bvec3_array" />
-<Test name="bvec3_array_array" />
-<Test name="ivec2_array" />
-<Test name="ivec2_struct_struct" />
-<Test name="float_array_struct" />
-<Test name="ivec2_array_array" />
+<TestCase name="as_fragment_texture">
+<Test name="bufferdata" />
+<Test name="buffersubdata" />
+<Test name="mapbuffer_write" />
+<Test name="mapbuffer_readwrite" />
 </TestCase>
-<TestCase name="types">
-<Test name="bvec3" />
-<Test name="mat2" />
-<Test name="mat3x2" />
-<Test name="int" />
-<Test name="mat4x2" />
-<Test name="float" />
-<Test name="uint" />
-<Test name="mat4" />
-<Test name="vec4" />
-<Test name="bool" />
-<Test name="vec3" />
-<Test name="ivec3" />
-<Test name="uvec3" />
-<Test name="mat3" />
+<TestCase name="as_vertex_array_as_fragment_texture">
+<Test name="bufferdata" />
+<Test name="buffersubdata" />
+<Test name="mapbuffer_write" />
+<Test name="mapbuffer_readwrite" />
 </TestCase>
-</TestSuite>
-<TestSuite name="unsized">
-<TestCase name="aggregates">
-<Test name="bvec3_struct" />
-<Test name="bvec3_array" />
-<Test name="ivec2_struct" />
-<Test name="vec4_struct" />
-<Test name="ivec2_array" />
-<Test name="float_array" />
-<Test name="vec4_array" />
-<Test name="bool" />
-<Test name="float_struct" />
+<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="types">
-<Test name="int" />
-<Test name="float" />
-<Test name="vec4" />
-<Test name="uint" />
-<Test name="vec3" />
-<Test name="bool" />
+<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>
-</TestSuite>
-<TestCase name="non_array">
-<Test name="int" />
-<Test name="float" />
-<Test name="vec4" />
-<Test name="uint" />
-<Test name="vec3" />
-<Test name="bool" />
+<TestCase name="as_vertex_texture_as_fragment_texture">
+<Test name="bufferdata" />
+<Test name="buffersubdata" />
+<Test name="mapbuffer_write" />
+<Test name="mapbuffer_readwrite" />
 </TestCase>
-</TestSuite>
-<TestSuite name="block_array">
-<TestCase name="sized">
-<Test name="bvec3" />
-<Test name="bvec3_struct" />
-<Test name="bvec3_array" />
-<Test name="ivec2_struct" />
-<Test name="vec4_struct" />
-<Test name="float" />
-<Test name="ivec2_array" />
-<Test name="float_array" />
-<Test name="vec4_array" />
-<Test name="vec4" />
-<Test name="bool" />
-<Test name="float_struct" />
-<Test name="ivec2" />
+<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="unsized">
-<Test name="bvec3" />
-<Test name="bvec3_struct" />
-<Test name="bvec3_array" />
-<Test name="ivec2_struct" />
-<Test name="vec4_struct" />
-<Test name="float" />
-<Test name="ivec2_array" />
-<Test name="float_array" />
-<Test name="vec4_array" />
-<Test name="vec4" />
-<Test name="bool" />
-<Test name="float_struct" />
-<Test name="ivec2" />
+<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 name="unnamed_block">
-<TestCase name="sized">
-<Test name="bvec3" />
-<Test name="bvec3_struct" />
-<Test name="bvec3_array" />
-<Test name="ivec2_struct" />
-<Test name="vec4_struct" />
-<Test name="float" />
-<Test name="ivec2_array" />
-<Test name="float_array" />
-<Test name="vec4_array" />
-<Test name="vec4" />
-<Test name="bool" />
-<Test name="float_struct" />
-<Test name="ivec2" />
+</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>
-<TestCase name="unsized">
-<Test name="bvec3" />
-<Test name="bvec3_struct" />
-<Test name="bvec3_array" />
-<Test name="ivec2_struct" />
-<Test name="vec4_struct" />
-<Test name="float" />
-<Test name="ivec2_array" />
-<Test name="float_array" />
-<Test name="vec4_array" />
-<Test name="vec4" />
-<Test name="bool" />
-<Test name="float_struct" />
-<Test name="ivec2" />
+<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>
-</TestSuite>
-<TestSuite name="offset">
-<TestSuite name="named_block">
-<TestCase name="sized">
-<Test name="var_array_struct_array" />
-<Test name="var_struct_struct_struct" />
-<Test name="var_array_struct_struct" />
-<Test name="var_array_array_array" />
-<Test name="var_array_struct" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_struct_array_array" />
-<Test name="var_array_array" />
-<Test name="var_struct_struct_array" />
-<Test name="var" />
-<Test name="var_struct_array" />
-<Test name="var_struct" />
+<TestCase name="shader">
+<Test name="sampler_type" />
 </TestCase>
-<TestCase name="unsized">
-<Test name="var_struct_array" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array" />
-<Test name="var" />
-<Test name="var_array_struct" />
-<Test name="var_struct" />
+<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="block_array">
-<TestCase name="sized">
-<Test name="var_array_struct_array" />
-<Test name="var_struct_struct_struct" />
-<Test name="var_array_struct_struct" />
-<Test name="var_array_array_array" />
-<Test name="var_array_struct" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_struct_array_array" />
-<Test name="var_array_array" />
-<Test name="var_struct_struct_array" />
-<Test name="var" />
-<Test name="var_struct_array" />
-<Test name="var_struct" />
+<TestSuite name="vertex_attribute_binding">
+<TestCase name="vertex_attrib">
+<Test name="vertex_attrib_binding" />
+<Test name="vertex_attrib_relative_offset" />
 </TestCase>
-<TestCase name="unsized">
-<Test name="var_struct_array" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array" />
-<Test name="var" />
-<Test name="var_array_struct" />
-<Test name="var_struct" />
+<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_offset_mixed" />
+<Test name="vertex_binding_stride_mixed" />
+<Test name="vertex_binding_buffer_mixed" />
 </TestCase>
 </TestSuite>
-<TestSuite name="unnamed_block">
-<TestCase name="sized">
-<Test name="var_array_struct_array" />
-<Test name="var_struct_struct_struct" />
-<Test name="var_array_struct_struct" />
-<Test name="var_array_array_array" />
-<Test name="var_array_struct" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_struct_array_array" />
-<Test name="var_array_array" />
-<Test name="var_struct_struct_array" />
-<Test name="var" />
-<Test name="var_struct_array" />
-<Test name="var_struct" />
+<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="unsized">
-<Test name="var_struct_array" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array" />
-<Test name="var" />
-<Test name="var_array_struct" />
-<Test name="var_struct" />
+<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="matrix_stride">
-<TestSuite name="unnamed_block_row_major">
-<TestCase name="no_qualifier">
-<Test name="var_array_struct" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array" />
-<Test name="var" />
-<Test name="var_struct" />
-<Test name="var_struct_array" />
-<Test name="var_unsized_array" />
+<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>
-<TestCase name="column_major">
-<Test name="var_array_struct" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array" />
-<Test name="var" />
-<Test name="var_struct" />
-<Test name="var_struct_array" />
-<Test name="var_unsized_array" />
+</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_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>
-<TestCase name="row_major">
-<Test name="var_array_struct" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array" />
-<Test name="var" />
-<Test name="var_struct" />
-<Test name="var_struct_array" />
-<Test name="var_unsized_array" />
+<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>
-</TestSuite>
-<TestSuite name="unnamed_block_col_major">
-<TestCase name="no_qualifier">
-<Test name="var_array_struct" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array" />
-<Test name="var" />
-<Test name="var_struct" />
-<Test name="var_struct_array" />
-<Test name="var_unsized_array" />
+<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>
-<TestCase name="column_major">
-<Test name="var_array_struct" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array" />
-<Test name="var" />
-<Test name="var_struct" />
-<Test name="var_struct_array" />
-<Test name="var_unsized_array" />
+<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="row_major">
-<Test name="var_array_struct" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array" />
-<Test name="var" />
-<Test name="var_struct" />
-<Test name="var_struct_array" />
-<Test name="var_unsized_array" />
+<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>
-<TestSuite name="named_block">
-<TestCase name="no_qualifier">
-<Test name="var_array_struct" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array" />
-<Test name="var" />
-<Test name="var_struct" />
-<Test name="var_struct_array" />
-<Test name="var_unsized_array" />
+<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="column_major">
-<Test name="var_array_struct" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array" />
-<Test name="var" />
-<Test name="var_struct" />
-<Test name="var_struct_array" />
-<Test name="var_unsized_array" />
+<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="row_major">
-<Test name="var_array_struct" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array" />
-<Test name="var" />
-<Test name="var_struct" />
-<Test name="var_struct_array" />
-<Test name="var_unsized_array" />
+<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="types">
-<Test name="mat4" />
-<Test name="mat3x4" />
-<Test name="mat2" />
-<Test name="mat3x2" />
-<Test name="mat4x2" />
-<Test name="float" />
-<Test name="ivec3" />
-<Test name="mat2x4" />
-<Test name="mat4x3" />
-<Test name="mat2x3" />
-<Test name="mat3" />
+<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>
-</TestSuite>
-<TestSuite name="unnamed_block">
-<TestCase name="no_qualifier">
-<Test name="var_array_struct" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array" />
-<Test name="var" />
-<Test name="var_struct" />
-<Test name="var_struct_array" />
-<Test name="var_unsized_array" />
+<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="column_major">
-<Test name="var_array_struct" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array" />
-<Test name="var" />
-<Test name="var_struct" />
-<Test name="var_struct_array" />
-<Test name="var_unsized_array" />
+<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="row_major">
-<Test name="var_array_struct" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array" />
-<Test name="var" />
-<Test name="var_struct" />
-<Test name="var_struct_array" />
-<Test name="var_unsized_array" />
+<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="named_block_row_major">
-<TestCase name="no_qualifier">
-<Test name="var_array_struct" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array" />
-<Test name="var" />
-<Test name="var_struct" />
-<Test name="var_struct_array" />
-<Test name="var_unsized_array" />
-</TestCase>
-<TestCase name="column_major">
-<Test name="var_array_struct" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array" />
-<Test name="var" />
-<Test name="var_struct" />
-<Test name="var_struct_array" />
-<Test name="var_unsized_array" />
+<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="row_major">
-<Test name="var_array_struct" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array" />
-<Test name="var" />
-<Test name="var_struct" />
-<Test name="var_struct_array" />
-<Test name="var_unsized_array" />
+<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="named_block_col_major">
-<TestCase name="no_qualifier">
-<Test name="var_array_struct" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array" />
-<Test name="var" />
-<Test name="var_struct" />
-<Test name="var_struct_array" />
-<Test name="var_unsized_array" />
+<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="column_major">
-<Test name="var_array_struct" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array" />
-<Test name="var" />
-<Test name="var_struct" />
-<Test name="var_struct_array" />
-<Test name="var_unsized_array" />
+<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="row_major">
-<Test name="var_array_struct" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array" />
-<Test name="var" />
-<Test name="var_struct" />
-<Test name="var_struct_array" />
-<Test name="var_unsized_array" />
+<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>
-</TestSuite>
-<TestSuite name="type">
-<TestSuite name="array">
-<TestSuite name="array">
-<TestCase name="array">
-<Test name="float" />
-</TestCase>
-<TestCase name="basic_type">
-<Test name="int" />
-<Test name="float" />
-<Test name="vec4" />
-<Test name="uint" />
-<Test name="vec3" />
-<Test name="bool" />
-</TestCase>
-<TestCase name="struct">
-<Test name="float" />
+<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>
-<TestCase name="basic_type">
-<Test name="bvec3" />
-<Test name="mat2" />
-<Test name="mat3x2" />
-<Test name="int" />
-<Test name="mat4x2" />
-<Test name="float" />
-<Test name="uint" />
-<Test name="mat4" />
-<Test name="vec4" />
-<Test name="bool" />
-<Test name="vec3" />
-<Test name="ivec3" />
-<Test name="uvec3" />
-<Test name="mat3" />
-</TestCase>
-<TestSuite name="struct">
-<TestCase name="array">
-<Test name="float" />
+<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_type">
-<Test name="int" />
-<Test name="float" />
-<Test name="vec4" />
-<Test name="uint" />
-<Test name="vec3" />
-<Test name="bool" />
+<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="struct">
-<Test name="float" />
+<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>
-</TestSuite>
-</TestSuite>
-<TestCase name="basic_type">
-<Test name="int" />
-<Test name="float" />
-<Test name="vec4" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="mat3x4" />
-<Test name="mat3x2" />
-<Test name="bool" />
-<Test name="mat2x4" />
-<Test name="mat2x3" />
-<Test name="bvec3" />
-<Test name="uint" />
-<Test name="ivec2" />
-<Test name="ivec3" />
-<Test name="uvec4" />
-<Test name="uvec2" />
-<Test name="uvec3" />
-<Test name="ivec4" />
-<Test name="bvec4" />
-<Test name="mat4" />
-<Test name="bvec2" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x2" />
-<Test name="mat4x3" />
+<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>
-<TestSuite name="struct">
-<TestSuite name="array">
-<TestCase name="basic_type">
-<Test name="int" />
-<Test name="float" />
-<Test name="vec4" />
-<Test name="uint" />
-<Test name="vec3" />
-<Test name="bool" />
+<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>
-</TestSuite>
-<TestCase name="basic_type">
-<Test name="bvec3" />
-<Test name="mat2" />
-<Test name="mat3x2" />
-<Test name="int" />
-<Test name="mat4x2" />
-<Test name="float" />
-<Test name="uint" />
-<Test name="mat4" />
-<Test name="vec4" />
-<Test name="bool" />
-<Test name="vec3" />
-<Test name="ivec3" />
-<Test name="uvec3" />
-<Test name="mat3" />
+<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>
-<TestSuite name="struct">
-<TestCase name="array">
-<Test name="float" />
+<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="basic_type">
-<Test name="int" />
-<Test name="float" />
-<Test name="vec4" />
-<Test name="uint" />
-<Test name="vec3" />
-<Test name="bool" />
+<TestCase name="multiple_basic">
+<Test name="vertex" />
+<Test name="fragment" />
+<Test name="both" />
 </TestCase>
-<TestCase name="struct">
-<Test name="float" />
+<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>
-<TestSuite name="referenced_by">
-<TestSuite name="compute">
-<TestCase name="named_block">
-<Test name="float_struct" />
-<Test name="float" />
-<Test name="float_array" />
-<Test name="float_array_struct" />
-<Test name="float_array_array" />
-<Test name="float_struct_array" />
-<Test name="float_unsized_array" />
-<Test name="float_struct_struct" />
+<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="block_array">
-<Test name="float" />
-<Test name="float_struct" />
-<Test name="float_array" />
+<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="unnamed_block">
-<Test name="float" />
-<Test name="float_struct" />
-<Test name="float_array" />
+<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>
-</TestSuite>
-<TestSuite name="separable_fragment">
-<TestCase name="named_block">
-<Test name="float_struct" />
-<Test name="float" />
-<Test name="float_array" />
-<Test name="float_array_struct" />
-<Test name="float_array_array" />
-<Test name="float_struct_array" />
-<Test name="float_unsized_array" />
-<Test name="float_struct_struct" />
+<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="block_array">
-<Test name="float" />
-<Test name="float_struct" />
-<Test name="float_array" />
+<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="unnamed_block">
-<Test name="float" />
-<Test name="float_struct" />
-<Test name="float_array" />
+<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>
-</TestSuite>
-<TestSuite name="vertex_fragment_only_vertex">
-<TestCase name="named_block">
-<Test name="float" />
-<Test name="float_struct" />
-<Test name="float_array" />
+<TestCase name="multiple_basic">
+<Test name="vertex" />
+<Test name="fragment" />
+<Test name="both" />
 </TestCase>
-<TestCase name="block_array">
-<Test name="float" />
-<Test name="float_struct" />
-<Test name="float_array" />
+<TestCase name="multiple_basic_array">
+<Test name="vertex" />
+<Test name="fragment" />
+<Test name="both" />
 </TestCase>
-<TestCase name="unnamed_block">
-<Test name="float" />
-<Test name="float_struct" />
-<Test name="float_array" />
+<TestCase name="multiple_nested_structs_arrays">
+<Test name="vertex" />
+<Test name="fragment" />
+<Test name="both" />
 </TestCase>
 </TestSuite>
-<TestSuite name="separable_vertex">
-<TestCase name="named_block">
-<Test name="float_struct" />
-<Test name="float" />
-<Test name="float_array" />
-<Test name="float_array_struct" />
-<Test name="float_array_array" />
-<Test name="float_struct_array" />
-<Test name="float_unsized_array" />
-<Test name="float_struct_struct" />
+</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="block_array">
-<Test name="float" />
-<Test name="float_struct" />
-<Test name="float_array" />
+<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="unnamed_block">
-<Test name="float" />
-<Test name="float_struct" />
-<Test name="float_array" />
+<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>
-</TestSuite>
-<TestSuite name="vertex_fragment">
-<TestCase name="named_block">
-<Test name="float" />
-<Test name="float_struct" />
-<Test name="float_array" />
+<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="block_array">
-<Test name="float" />
-<Test name="float_struct" />
-<Test name="float_array" />
+<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="unnamed_block">
-<Test name="float" />
-<Test name="float_struct" />
-<Test name="float_array" />
+<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>
-</TestSuite>
-<TestSuite name="vertex_fragment_only_fragment">
-<TestCase name="named_block">
-<Test name="float" />
-<Test name="float_struct" />
-<Test name="float_array" />
+<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="block_array">
-<Test name="float" />
-<Test name="float_struct" />
-<Test name="float_array" />
+<TestCase name="multiple_basic_array">
+<Test name="vertex" />
+<Test name="fragment" />
+<Test name="both" />
 </TestCase>
-<TestCase name="unnamed_block">
-<Test name="float" />
-<Test name="float_struct" />
-<Test name="float_array" />
+<TestCase name="multiple_nested_structs_arrays">
+<Test name="vertex" />
+<Test name="fragment" />
+<Test name="both" />
 </TestCase>
 </TestSuite>
-</TestSuite>
-</TestSuite>
-<TestSuite name="uniform">
-<TestSuite name="resource_list">
-<TestCase name="named_block">
-<Test name="var_array_array_struct_array" />
-<Test name="var_array_array_array_struct" />
-<Test name="var_array_struct" />
-<Test name="var_struct_struct" />
-<Test name="var_struct_struct_struct_struct" />
-<Test name="var_array_struct_struct" />
-<Test name="var_array_struct_struct_struct" />
-<Test name="var_array_array_struct" />
-<Test name="var_array_array_array" />
-<Test name="var_struct_array_array_struct" />
-<Test name="var_struct_array_array" />
-<Test name="var_struct_array_struct" />
-<Test name="var" />
-<Test name="var_struct_array_struct_struct" />
-<Test name="var_array_array_struct_struct" />
-<Test name="var_struct_struct_array" />
-<Test name="var_array_struct_array_struct" />
-<Test name="var_array" />
-<Test name="var_array_struct_array" />
-<Test name="var_array_array" />
-<Test name="var_struct_struct_array_struct" />
-<Test name="var_struct_struct_struct_array" />
-<Test name="var_array_struct_struct_array" />
-<Test name="var_struct" />
-<Test name="var_array_array_array_array" />
-<Test name="var_struct_struct_struct" />
-<Test name="var_struct_array" />
-<Test name="var_struct_array_array_array" />
-<Test name="var_array_struct_array_array" />
-<Test name="var_struct_struct_array_array" />
-<Test name="var_struct_array_struct_array" />
+<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="default_block">
-<Test name="var_array_array_struct_array" />
-<Test name="var_array_array_array_struct" />
-<Test name="var_array_struct" />
-<Test name="var_struct_struct" />
-<Test name="var_struct_struct_struct_struct" />
-<Test name="var_array_struct_struct" />
-<Test name="var_array_struct_struct_struct" />
-<Test name="var_array_array_struct" />
-<Test name="var_array_array_array" />
-<Test name="var_struct_array_array_struct" />
-<Test name="var_struct_array_array" />
-<Test name="var_struct_array_struct" />
-<Test name="var" />
-<Test name="var_struct_array_struct_struct" />
-<Test name="var_array_array_struct_struct" />
-<Test name="var_struct_struct_array" />
-<Test name="var_array_struct_array_struct" />
-<Test name="var_array" />
-<Test name="var_array_struct_array" />
-<Test name="var_array_array" />
-<Test name="var_struct_struct_array_struct" />
-<Test name="var_struct_struct_struct_array" />
-<Test name="var_array_struct_struct_array" />
-<Test name="var_struct" />
-<Test name="var_array_array_array_array" />
-<Test name="var_struct_struct_struct" />
-<Test name="var_struct_array" />
-<Test name="var_struct_array_array_array" />
-<Test name="var_array_struct_array_array" />
-<Test name="var_struct_struct_array_array" />
-<Test name="var_struct_array_struct_array" />
+<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="block_array">
-<Test name="var_array_array_struct_array" />
-<Test name="var_array_array_array_struct_array" />
-<Test name="var_struct_struct_array_struct_array" />
-<Test name="var_struct_array_array_array_array" />
-<Test name="var_array_array_struct_struct_array" />
-<Test name="var_array_struct_struct_struct_array" />
-<Test name="var_array_array_array" />
-<Test name="var_struct_array_array_struct_array" />
-<Test name="var_struct_array_array" />
-<Test name="var_struct_struct_array" />
-<Test name="var_array_struct_array_array_array" />
-<Test name="var_array_array_array_array_array" />
-<Test name="var_struct_array_struct_array" />
-<Test name="var_array_struct_struct_array_array" />
-<Test name="var_struct_struct_struct_struct_array" />
-<Test name="var_struct_array_struct_array_array" />
-<Test name="var_array" />
-<Test name="var_array_struct_array_struct_array" />
-<Test name="var_struct_array_array_array" />
-<Test name="var_array_array" />
-<Test name="var_array_struct_array" />
-<Test name="var_struct_struct_struct_array" />
-<Test name="var_array_struct_struct_array" />
-<Test name="var_struct_struct_array_array_array" />
-<Test name="var_array_array_array_array" />
-<Test name="var_array_array_struct_array_array" />
-<Test name="var_struct_array" />
-<Test name="var_array_struct_array_array" />
-<Test name="var_struct_struct_array_array" />
-<Test name="var_struct_struct_struct_array_array" />
-<Test name="var_struct_array_struct_struct_array" />
+<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="unnamed_block">
-<Test name="var_array_array_struct_array" />
-<Test name="var_array_array_array_struct" />
-<Test name="var_array_struct" />
-<Test name="var_struct_struct" />
-<Test name="var_struct_struct_struct_struct" />
-<Test name="var_array_struct_struct" />
-<Test name="var_array_struct_struct_struct" />
-<Test name="var_array_array_struct" />
-<Test name="var_array_array_array" />
-<Test name="var_struct_array_array_struct" />
-<Test name="var_struct_array_array" />
-<Test name="var_struct_array_struct" />
-<Test name="var" />
-<Test name="var_struct_array_struct_struct" />
-<Test name="var_array_array_struct_struct" />
-<Test name="var_struct_struct_array" />
-<Test name="var_array_struct_array_struct" />
-<Test name="var_array" />
-<Test name="var_array_struct_array" />
-<Test name="var_array_array" />
-<Test name="var_struct_struct_array_struct" />
-<Test name="var_struct_struct_struct_array" />
-<Test name="var_array_struct_struct_array" />
-<Test name="var_struct" />
-<Test name="var_array_array_array_array" />
-<Test name="var_struct_struct_struct" />
-<Test name="var_struct_array" />
-<Test name="var_struct_array_array_array" />
-<Test name="var_array_struct_array_array" />
-<Test name="var_struct_struct_array_array" />
-<Test name="var_struct_array_struct_array" />
+<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>
-</TestSuite>
-<TestSuite name="name_length">
-<TestCase name="named_block">
-<Test name="var_struct_array" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array" />
-<Test name="var" />
-<Test name="var_array_struct" />
-<Test name="var_struct" />
+<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="default_block">
-<Test name="var_struct_array" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array" />
-<Test name="var" />
-<Test name="var_array_struct" />
-<Test name="var_struct" />
+<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="block_array">
-<Test name="var" />
-<Test name="var_array" />
-<Test name="var_struct" />
+<TestCase name="multiple_basic_array">
+<Test name="vertex" />
+<Test name="fragment" />
+<Test name="both" />
 </TestCase>
-<TestCase name="unnamed_block">
-<Test name="var" />
-<Test name="var_array" />
-<Test name="var_struct" />
+<TestCase name="multiple_nested_structs_arrays">
+<Test name="vertex" />
+<Test name="fragment" />
+<Test name="both" />
 </TestCase>
 </TestSuite>
-<TestSuite name="atomic_counter_buffer_index">
-<TestCase name="named_block">
-<Test name="int" />
-<Test name="float" />
-<Test name="vec4" />
-<Test name="uint" />
-<Test name="vec3" />
-<Test name="bool" />
-</TestCase>
-<TestSuite name="default_block">
-<TestCase name="array">
-<Test name="var_array" />
-<Test name="var_array_array" />
+</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="basic_type">
-<Test name="int" />
-<Test name="float" />
-<Test name="vec4" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="mat3x4" />
-<Test name="mat3x2" />
-<Test name="bool" />
-<Test name="mat2x4" />
-<Test name="mat2x3" />
-<Test name="bvec3" />
-<Test name="uint" />
-<Test name="ivec2" />
-<Test name="ivec3" />
-<Test name="uvec4" />
-<Test name="uvec2" />
-<Test name="uvec3" />
-<Test name="ivec4" />
-<Test name="bvec4" />
-<Test name="mat4" />
-<Test name="bvec2" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x2" />
-<Test name="mat4x3" />
+<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="opaque_type">
-<Test name="image_2d" />
-<Test name="usampler_2d_array" />
-<Test name="isampler_cube" />
-<Test name="image_2d_array" />
-<Test name="uimage_3d" />
-<Test name="isampler_2d_ms" />
-<Test name="iimage_cube" />
-<Test name="uimage_2d_array" />
-<Test name="iimage_2d" />
-<Test name="iimage_2d_array" />
-<Test name="usampler_2d_ms" />
-<Test name="sampler_2d_array" />
-<Test name="usampler_cube" />
-<Test name="sampler_2d_ms" />
-<Test name="usampler_2d" />
-<Test name="sampler_3d" />
-<Test name="isampler_3d" />
-<Test name="image_3d" />
-<Test name="uimage_2d" />
-<Test name="isampler_2d_array" />
-<Test name="sampler_cube_shadow" />
-<Test name="uimage_cube" />
-<Test name="sampler_2d_array_shadow" />
-<Test name="sampler_cube" />
-<Test name="iimage_3d" />
-<Test name="sampler_2d_shadow" />
-<Test name="usampler_3d" />
-<Test name="atomic_uint" />
-<Test name="sampler_2d" />
-<Test name="image_cube" />
-<Test name="isampler_2d" />
+<TestCase name="multiple_basic_array">
+<Test name="vertex" />
+<Test name="fragment" />
+<Test name="both" />
 </TestCase>
 </TestSuite>
-</TestSuite>
-<TestSuite name="array_size">
-<TestSuite name="named_block">
-<TestCase name="aggregates">
-<Test name="var_array_struct_array" />
-<Test name="var_array_array_struct" />
-<Test name="var_struct_struct_struct" />
-<Test name="var_array_struct_struct" />
-<Test name="var_array_array_array" />
-<Test name="var_array_struct" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_struct_array_array" />
-<Test name="var_array_array" />
-<Test name="var_struct_array_struct" />
-<Test name="var_struct_array" />
-<Test name="var" />
-<Test name="var_struct_struct_array" />
-<Test name="var_struct" />
+<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="types">
-<Test name="bvec3" />
-<Test name="mat2" />
-<Test name="mat3x2" />
-<Test name="int" />
-<Test name="mat4x2" />
-<Test name="float" />
-<Test name="uint" />
-<Test name="mat4" />
-<Test name="vec4" />
-<Test name="bool" />
-<Test name="vec3" />
-<Test name="ivec3" />
-<Test name="uvec3" />
-<Test name="mat3" />
+<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>
-</TestSuite>
-<TestSuite name="default_block">
-<TestCase name="aggregates">
-<Test name="var_array_struct_array" />
-<Test name="var_array_array_struct" />
-<Test name="var_struct_struct_struct" />
-<Test name="var_array_struct_struct" />
-<Test name="var_array_array_array" />
-<Test name="var_array_struct" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_struct_array_array" />
-<Test name="var_array_array" />
-<Test name="var_struct_array_struct" />
-<Test name="var_struct_array" />
-<Test name="var" />
-<Test name="var_struct_struct_array" />
-<Test name="var_struct" />
+<TestCase name="multiple_basic_array">
+<Test name="vertex" />
+<Test name="fragment" />
+<Test name="both" />
 </TestCase>
-<TestCase name="types">
-<Test name="image_2d" />
-<Test name="int" />
-<Test name="float" />
-<Test name="isampler_2d_ms" />
-<Test name="vec4" />
-<Test name="vec3" />
-<Test name="iimage_2d_array" />
-<Test name="mat3x2" />
-<Test name="sampler_2d_array" />
-<Test name="sampler_2d_ms" />
-<Test name="usampler_2d" />
-<Test name="sampler_3d" />
-<Test name="bool" />
-<Test name="uimage_2d" />
-<Test name="bvec3" />
-<Test name="sampler_cube" />
-<Test name="ivec3" />
-<Test name="uvec3" />
-<Test name="mat4" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="sampler_2d_shadow" />
-<Test name="mat4x2" />
-<Test name="atomic_uint" />
-<Test name="sampler_2d" />
-<Test name="uint" />
-<Test name="isampler_2d" />
+</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>
-<TestCase name="block_array">
-<Test name="var_struct_array" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array" />
-<Test name="var" />
-<Test name="var_array_struct" />
-<Test name="var_struct" />
+<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="unnamed_block">
-<Test name="var_struct_array" />
-<Test name="var_array" />
-<Test name="var_struct_struct" />
-<Test name="var_array_array" />
-<Test name="var" />
-<Test name="var_array_struct" />
-<Test name="var_struct" />
+<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>
-</TestSuite>
-<TestSuite name="matrix_row_major">
-<TestSuite name="unnamed_block_row_major">
-<TestCase name="no_qualifier">
-<Test name="var" />
-<Test name="var_array" />
-<Test name="var_struct" />
+<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="column_major">
-<Test name="var" />
-<Test name="var_array" />
-<Test name="var_struct" />
+<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="row_major">
-<Test name="var" />
-<Test name="var_array" />
-<Test name="var_struct" />
+<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="unnamed_block_col_major">
-<TestCase name="no_qualifier">
-<Test name="var" />
-<Test name="var_array" />
-<Test name="var_struct" />
-</TestCase>
-<TestCase name="column_major">
-<Test name="var" />
-<Test name="var_array" />
-<Test name="var_struct" />
-</TestCase>
-<TestCase name="row_major">
-<Test name="var" />
-<Test name="var_array" />
-<Test name="var_struct" />
+<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>
-</TestSuite>
-<TestSuite name="named_block">
-<TestSuite name="no_qualifier">
-<TestCase name="aggregates">
-<Test name="var" />
-<Test name="var_array" />
-<Test name="var_struct" />
+<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="types">
-<Test name="mat4" />
-<Test name="mat3x4" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="int" />
-<Test name="float" />
-<Test name="vec4" />
-<Test name="bool" />
-<Test name="vec3" />
-<Test name="uint" />
-<Test name="mat4x3" />
-<Test name="mat2x3" />
+<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>
-</TestSuite>
-<TestCase name="column_major">
-<Test name="var" />
-<Test name="var_array" />
-<Test name="var_struct" />
+<TestCase name="interface">
+<Test name="same_name_vertex_smooth_fragment_smooth" />
+<Test name="same_name_vertex_smooth_fragment_flat" />
+<Test name="same_name_vertex_smooth_fragment_centroid" />
+<Test name="same_name_vertex_smooth" />
+<Test name="same_name_vertex_flat_fragment_smooth" />
+<Test name="same_name_vertex_flat_fragment_flat" />
+<Test name="same_name_vertex_flat_fragment_centroid" />
+<Test name="same_name_vertex_flat" />
+<Test name="same_name_vertex_centroid_fragment_smooth" />
+<Test name="same_name_vertex_centroid_fragment_flat" />
+<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_flat" />
+<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_flat" />
+<Test name="same_location_vertex_smooth_fragment_centroid" />
+<Test name="same_location_vertex_smooth" />
+<Test name="same_location_vertex_flat_fragment_smooth" />
+<Test name="same_location_vertex_flat_fragment_flat" />
+<Test name="same_location_vertex_flat_fragment_centroid" />
+<Test name="same_location_vertex_flat" />
+<Test name="same_location_vertex_centroid_fragment_smooth" />
+<Test name="same_location_vertex_centroid_fragment_flat" />
+<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_flat" />
+<Test name="same_location_fragment_centroid" />
+<Test name="same_location" />
 </TestCase>
-<TestCase name="row_major">
-<Test name="var" />
-<Test name="var_array" />
-<Test name="var_struct" />
+<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>
-</TestSuite>
-<TestSuite name="unnamed_block">
-<TestCase name="no_qualifier">
-<Test name="var" />
-<Test name="var_array" />
-<Test name="var_struct" />
+<TestCase name="api">
+<Test name="current_program_priority" />
+<Test name="active_program_uniform" />
+<Test name="pipeline_programs" />
+<Test name="pipeline_active" />
 </TestCase>
-<TestCase name="column_major">
-<Test name="var" />
-<Test name="var_array" />
-<Test name="var_struct" />
+<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="row_major">
-<Test name="var" />
-<Test name="var_array" />
-<Test name="var_struct" />
+<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 name="named_block_row_major">
-<TestCase name="no_qualifier">
-<Test name="var" />
-<Test name="var_array" />
-<Test name="var_struct" />
-</TestCase>
-<TestCase name="column_major">
-<Test name="var" />
-<Test name="var_array" />
-<Test name="var_struct" />
-</TestCase>
-<TestCase name="row_major">
-<Test name="var" />
-<Test name="var_array" />
-<Test name="var_struct" />
-</TestCase>
 </TestSuite>
-<TestSuite name="named_block_col_major">
-<TestCase name="no_qualifier">
-<Test name="var" />
-<Test name="var_array" />
-<Test name="var_struct" />
+<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="column_major">
-<Test name="var" />
-<Test name="var_array" />
-<Test name="var_struct" />
+<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="row_major">
-<Test name="var" />
-<Test name="var_array" />
-<Test name="var_struct" />
+<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>
-</TestSuite>
-<TestSuite name="default_block">
-<TestSuite name="no_qualifier">
-<TestCase name="aggregates">
-<Test name="var" />
-<Test name="var_array" />
-<Test name="var_struct" />
+<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="types">
-<Test name="image_2d" />
-<Test name="int" />
-<Test name="float" />
-<Test name="isampler_2d_ms" />
-<Test name="vec4" />
-<Test name="vec3" />
-<Test name="mat3x4" />
-<Test name="iimage_2d_array" />
-<Test name="sampler_2d_array" />
-<Test name="sampler_2d_ms" />
-<Test name="usampler_2d" />
-<Test name="sampler_3d" />
-<Test name="bool" />
-<Test name="mat2x3" />
-<Test name="uimage_2d" />
-<Test name="sampler_cube" />
-<Test name="mat4" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="sampler_2d_shadow" />
-<Test name="mat4x3" />
-<Test name="atomic_uint" />
-<Test name="sampler_2d" />
-<Test name="uint" />
-<Test name="isampler_2d" />
+<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>
-</TestSuite>
-</TestSuite>
-</TestSuite>
-<TestCase name="random">
-<Test name="24" />
-<Test name="25" />
-<Test name="26" />
-<Test name="27" />
-<Test name="20" />
-<Test name="21" />
-<Test name="22" />
-<Test name="23" />
-<Test name="28" />
-<Test name="29" />
-<Test name="1" />
-<Test name="0" />
-<Test name="3" />
-<Test name="2" />
-<Test name="5" />
-<Test name="4" />
-<Test name="7" />
-<Test name="6" />
-<Test name="9" />
-<Test name="8" />
-<Test name="13" />
-<Test name="12" />
-<Test name="11" />
-<Test name="10" />
-<Test name="39" />
-<Test name="38" />
-<Test name="15" />
-<Test name="14" />
-<Test name="17" />
-<Test name="16" />
-<Test name="19" />
-<Test name="18" />
-<Test name="31" />
-<Test name="30" />
-<Test name="37" />
-<Test name="36" />
-<Test name="35" />
-<Test name="34" />
-<Test name="33" />
-<Test name="32" />
+<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="block_index">
-<Test name="named_block" />
-<Test name="default_block" />
-<Test name="block_array" />
-<Test name="unnamed_block" />
+<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>
-<TestSuite name="location">
-<TestCase name="named_block">
-<Test name="int" />
-<Test name="float" />
-<Test name="vec4" />
-<Test name="uint" />
-<Test name="vec3" />
-<Test name="bool" />
+<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 name="default_block">
-<TestSuite name="array">
-<TestCase name="array">
-<Test name="image_2d" />
-<Test name="float" />
-<Test name="iimage_2d_array" />
-<Test name="int" />
-<Test name="sampler_2d_array" />
-<Test name="uint" />
-<Test name="atomic_uint" />
-<Test name="vec4" />
-<Test name="sampler_2d" />
-<Test name="sampler_3d" />
-<Test name="vec3" />
-<Test name="bool" />
-<Test name="isampler_2d" />
+</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="basic_type">
-<Test name="bvec3" />
-<Test name="mat2" />
-<Test name="mat3x2" />
-<Test name="int" />
-<Test name="mat4x2" />
-<Test name="float" />
-<Test name="uint" />
-<Test name="mat4" />
-<Test name="vec4" />
-<Test name="bool" />
-<Test name="vec3" />
-<Test name="ivec3" />
-<Test name="uvec3" />
-<Test name="mat3" />
+<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="struct">
-<Test name="sampler_2d_array" />
-<Test name="int" />
-<Test name="float" />
-<Test name="uint" />
-<Test name="vec4" />
-<Test name="sampler_2d" />
-<Test name="sampler_3d" />
-<Test name="vec3" />
-<Test name="bool" />
-<Test name="isampler_2d" />
+<TestCase name="scatter">
+<Test name="geometry_scatter_instances" />
+<Test name="geometry_scatter_primitives" />
+<Test name="geometry_scatter_layers" />
 </TestCase>
-<TestCase name="opaque_type">
-<Test name="image_2d" />
-<Test name="sampler_2d" />
-<Test name="iimage_2d_array" />
-<Test name="atomic_uint" />
-<Test name="sampler_2d_shadow" />
-<Test name="sampler_2d_array" />
-<Test name="sampler_2d_ms" />
-<Test name="isampler_2d_ms" />
-<Test name="usampler_2d" />
-<Test name="sampler_3d" />
-<Test name="sampler_cube" />
-<Test name="uimage_2d" />
-<Test name="isampler_2d" />
+</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" />
+<Test name="record_variable_selection" />
+</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>
-<TestCase name="basic_type">
-<Test name="int" />
-<Test name="float" />
-<Test name="vec4" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="mat3x4" />
-<Test name="mat3x2" />
-<Test name="bool" />
-<Test name="mat2x4" />
-<Test name="mat2x3" />
-<Test name="bvec3" />
-<Test name="uint" />
-<Test name="ivec2" />
-<Test name="ivec3" />
-<Test name="uvec4" />
-<Test name="uvec2" />
-<Test name="uvec3" />
-<Test name="ivec4" />
-<Test name="bvec4" />
-<Test name="mat4" />
-<Test name="bvec2" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x2" />
-<Test name="mat4x3" />
+<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>
-<TestSuite name="struct">
-<TestCase name="array">
-<Test name="sampler_2d_array" />
-<Test name="int" />
-<Test name="float" />
-<Test name="uint" />
-<Test name="vec4" />
-<Test name="sampler_2d" />
-<Test name="sampler_3d" />
-<Test name="vec3" />
-<Test name="bool" />
-<Test name="isampler_2d" />
+<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="basic_type">
-<Test name="bvec3" />
-<Test name="mat2" />
-<Test name="mat3x2" />
-<Test name="int" />
-<Test name="mat4x2" />
-<Test name="float" />
-<Test name="uint" />
-<Test name="mat4" />
-<Test name="vec4" />
-<Test name="bool" />
-<Test name="vec3" />
-<Test name="ivec3" />
-<Test name="uvec3" />
-<Test name="mat3" />
+<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="struct">
-<Test name="sampler_2d_array" />
-<Test name="int" />
-<Test name="float" />
-<Test name="uint" />
-<Test name="vec4" />
-<Test name="sampler_2d" />
-<Test name="sampler_3d" />
-<Test name="vec3" />
-<Test name="bool" />
-<Test name="isampler_2d" />
+<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="opaque_type">
-<Test name="usampler_2d" />
-<Test name="sampler_2d_shadow" />
-<Test name="sampler_2d_array" />
-<Test name="sampler_2d_ms" />
-<Test name="isampler_2d_ms" />
-<Test name="sampler_2d" />
-<Test name="sampler_3d" />
-<Test name="sampler_cube" />
-<Test name="isampler_2d" />
+<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>
-<TestCase name="opaque_type">
-<Test name="image_2d" />
-<Test name="usampler_2d_array" />
-<Test name="isampler_cube" />
-<Test name="image_2d_array" />
-<Test name="uimage_3d" />
-<Test name="isampler_2d_ms" />
-<Test name="iimage_cube" />
-<Test name="uimage_2d_array" />
-<Test name="iimage_2d" />
-<Test name="iimage_2d_array" />
-<Test name="usampler_2d_ms" />
-<Test name="sampler_2d_array" />
-<Test name="usampler_cube" />
-<Test name="sampler_2d_ms" />
-<Test name="usampler_2d" />
-<Test name="sampler_3d" />
-<Test name="isampler_3d" />
-<Test name="image_3d" />
-<Test name="uimage_2d" />
-<Test name="isampler_2d_array" />
-<Test name="sampler_cube_shadow" />
-<Test name="uimage_cube" />
-<Test name="sampler_2d_array_shadow" />
-<Test name="sampler_cube" />
-<Test name="iimage_3d" />
-<Test name="sampler_2d_shadow" />
-<Test name="usampler_3d" />
-<Test name="atomic_uint" />
-<Test name="sampler_2d" />
-<Test name="image_cube" />
-<Test name="isampler_2d" />
+<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>
-</TestSuite>
-<TestCase name="unnamed_block">
-<Test name="int" />
-<Test name="float" />
-<Test name="vec4" />
-<Test name="uint" />
-<Test name="vec3" />
-<Test name="bool" />
+<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>
-</TestSuite>
-<TestSuite name="offset">
-<TestSuite name="named_block">
-<TestCase name="aggregates">
-<Test name="float_struct" />
-<Test name="float_array" />
+<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="types">
-<Test name="int" />
-<Test name="float" />
-<Test name="vec4" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="mat3x4" />
-<Test name="mat3x2" />
-<Test name="bool" />
-<Test name="mat2x4" />
-<Test name="mat2x3" />
-<Test name="bvec3" />
-<Test name="uint" />
-<Test name="ivec2" />
-<Test name="ivec3" />
-<Test name="uvec4" />
-<Test name="uvec2" />
-<Test name="uvec3" />
-<Test name="ivec4" />
-<Test name="bvec4" />
-<Test name="mat4" />
-<Test name="bvec2" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x2" />
-<Test name="mat4x3" />
+<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>
-</TestSuite>
-<TestSuite name="default_block">
-<TestCase name="aggregates">
-<Test name="atomic_uint_array" />
-<Test name="float_struct" />
-<Test name="float_array" />
+<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="types">
-<Test name="image_2d" />
-<Test name="usampler_2d_array" />
-<Test name="isampler_cube" />
-<Test name="image_2d_array" />
-<Test name="float" />
-<Test name="isampler_2d_ms" />
-<Test name="vec4" />
-<Test name="iimage_cube" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="uimage_2d_array" />
-<Test name="isampler_2d" />
-<Test name="iimage_2d" />
-<Test name="mat3x4" />
-<Test name="iimage_2d_array" />
-<Test name="usampler_2d_ms" />
-<Test name="image_3d" />
-<Test name="sampler_2d_array" />
-<Test name="usampler_cube" />
-<Test name="sampler_2d_ms" />
-<Test name="int" />
-<Test name="usampler_2d" />
-<Test name="bool" />
-<Test name="sampler_3d" />
-<Test name="mat2x4" />
-<Test name="isampler_3d" />
-<Test name="mat2x3" />
-<Test name="uimage_3d" />
-<Test name="uimage_2d" />
-<Test name="isampler_2d_array" />
-<Test name="sampler_cube_shadow" />
-<Test name="bvec3" />
-<Test name="uimage_cube" />
-<Test name="sampler_2d_array_shadow" />
-<Test name="uint" />
-<Test name="ivec2" />
-<Test name="ivec3" />
-<Test name="uvec4" />
-<Test name="uvec2" />
-<Test name="uvec3" />
-<Test name="ivec4" />
-<Test name="mat3x2" />
-<Test name="mat4" />
-<Test name="bvec2" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="iimage_3d" />
-<Test name="sampler_2d_shadow" />
-<Test name="mat4x2" />
-<Test name="mat4x3" />
-<Test name="usampler_3d" />
-<Test name="atomic_uint" />
-<Test name="sampler_2d" />
-<Test name="sampler_cube" />
-<Test name="image_cube" />
-<Test name="bvec4" />
+<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="block_array">
-<TestCase name="array">
-<Test name="int" />
-<Test name="float" />
-<Test name="vec4" />
-<Test name="uint" />
-<Test name="vec3" />
-<Test name="bool" />
+<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="basic_type">
-<Test name="int" />
-<Test name="float" />
-<Test name="vec4" />
-<Test name="uint" />
-<Test name="vec3" />
-<Test name="bool" />
+<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="struct">
-<Test name="int" />
-<Test name="float" />
-<Test name="vec4" />
-<Test name="uint" />
-<Test name="vec3" />
-<Test name="bool" />
+<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>
-</TestSuite>
-<TestSuite name="unnamed_block">
-<TestCase name="array">
-<Test name="int" />
-<Test name="float" />
-<Test name="vec4" />
-<Test name="uint" />
-<Test name="vec3" />
-<Test name="bool" />
+<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="basic_type">
-<Test name="int" />
-<Test name="float" />
-<Test name="vec4" />
-<Test name="uint" />
-<Test name="vec3" />
-<Test name="bool" />
+<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="struct">
-<Test name="int" />
-<Test name="float" />
-<Test name="vec4" />
-<Test name="uint" />
-<Test name="vec3" />
-<Test name="bool" />
+<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_queryiv" />
+<Test name="get_query_objectuiv" />
+<Test name="get_synciv" />
+<Test name="is_enabled" />
+<Test name="hint" />
 </TestCase>
 </TestSuite>
 </TestSuite>
-<TestSuite name="matrix_stride">
-<TestSuite name="unnamed_block_row_major">
-<TestCase name="no_qualifier">
-<Test name="var" />
-<Test name="var_array" />
-<Test name="var_struct" />
-</TestCase>
-<TestCase name="column_major">
-<Test name="var" />
-<Test name="var_array" />
-<Test name="var_struct" />
+<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="row_major">
-<Test name="var" />
-<Test name="var_array" />
-<Test name="var_struct" />
+<TestCase name="error_filters">
+<Test name="case_1" />
+<Test name="case_2" />
+<Test name="case_4" />
+<Test name="case_5" />
+<Test name="case_6" />
+<Test name="case_7" />
+<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" />
+<Test name="case_21" />
+<Test name="case_22" />
+<Test name="case_23" />
+<Test name="case_24" />
+<Test name="case_25" />
+<Test name="case_27" />
+<Test name="case_28" />
+<Test name="case_29" />
+<Test name="case_30" />
+<Test name="case_31" />
 </TestCase>
-</TestSuite>
-<TestSuite name="unnamed_block_col_major">
-<TestCase name="no_qualifier">
-<Test name="var" />
-<Test name="var_array" />
-<Test name="var_struct" />
+<TestCase name="error_groups">
+<Test name="case_1" />
+<Test name="case_2" />
+<Test name="case_4" />
+<Test name="case_5" />
+<Test name="case_6" />
+<Test name="case_7" />
+<Test name="case_12" />
+<Test name="case_14" />
 </TestCase>
-<TestCase name="column_major">
-<Test name="var" />
-<Test name="var_array" />
-<Test name="var_struct" />
+<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="row_major">
-<Test name="var" />
-<Test name="var_array" />
-<Test name="var_struct" />
+<TestCase name="object_labels">
+<Test name="buffer" />
+<Test name="shader" />
+<Test name="program" />
+<Test name="query" />
+<Test name="program_pipeline" />
+<Test name="transform_feedback" />
+<Test name="sampler" />
+<Test name="texture" />
+<Test name="renderbuffer" />
+<Test name="framebuffer" />
 </TestCase>
 </TestSuite>
-<TestSuite name="named_block">
-<TestSuite name="no_qualifier">
-<TestCase name="aggregates">
-<Test name="var" />
-<Test name="var_array" />
-<Test name="var_struct" />
-</TestCase>
-<TestCase name="types">
-<Test name="mat4" />
-<Test name="mat3x4" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="int" />
-<Test name="float" />
-<Test name="vec4" />
-<Test name="bool" />
-<Test name="vec3" />
-<Test name="uint" />
-<Test name="mat4x3" />
-<Test name="mat2x3" />
+<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="column_major">
-<TestCase name="aggregates">
-<Test name="var" />
-<Test name="var_array" />
-<Test name="var_struct" />
-</TestCase>
-<TestCase name="matrix">
-<Test name="mat4" />
-<Test name="mat3x4" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x3" />
-<Test name="mat2x3" />
+<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>
-</TestSuite>
-<TestSuite name="row_major">
-<TestCase name="aggregates">
-<Test name="var" />
-<Test name="var_array" />
-<Test name="var_struct" />
+<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="matrix">
-<Test name="mat4" />
-<Test name="mat3x4" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x3" />
-<Test name="mat2x3" />
+<TestCase name="multisample">
+<Test name="samples0" />
+<Test name="samples1" />
+<Test name="samples2" />
+<Test name="samples3" />
+<Test name="samples4" />
 </TestCase>
-</TestSuite>
-</TestSuite>
-<TestSuite name="unnamed_block">
-<TestCase name="no_qualifier">
-<Test name="var" />
-<Test name="var_array" />
-<Test name="var_struct" />
+<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="column_major">
-<Test name="var" />
-<Test name="var_array" />
-<Test name="var_struct" />
+<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="row_major">
-<Test name="var" />
-<Test name="var_array" />
-<Test name="var_struct" />
+<TestCase name="maximums">
+<Test name="width" />
+<Test name="height" />
+<Test name="size" />
+<Test name="samples" />
 </TestCase>
 </TestSuite>
-<TestSuite name="named_block_row_major">
-<TestCase name="no_qualifier">
-<Test name="var" />
-<Test name="var_array" />
-<Test name="var_struct" />
+<TestCase name="completeness">
+<Test name="no_attachments" />
 </TestCase>
-<TestCase name="column_major">
-<Test name="var" />
-<Test name="var_array" />
-<Test name="var_struct" />
+</TestSuite>
+<TestSuite name="program_interface_query">
+<TestCase name="buffer_limited_query">
+<Test name="resource_name_query" />
+<Test name="resource_query" />
 </TestCase>
-<TestCase name="row_major">
+<TestSuite name="uniform">
+<TestSuite name="resource_list">
+<TestCase name="default_block">
 <Test name="var" />
-<Test name="var_array" />
 <Test name="var_struct" />
-</TestCase>
-</TestSuite>
-<TestSuite name="named_block_col_major">
-<TestCase name="no_qualifier">
-<Test name="var" />
+<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" />
+<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="column_major">
+<TestCase name="named_block">
 <Test name="var" />
-<Test name="var_array" />
 <Test name="var_struct" />
-</TestCase>
-<TestCase name="row_major">
-<Test name="var" />
+<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" />
+<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>
-</TestSuite>
-<TestSuite name="default_block">
-<TestSuite name="no_qualifier">
-<TestCase name="aggregates">
+<TestCase name="unnamed_block">
 <Test name="var" />
-<Test name="var_array" />
 <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="types">
-<Test name="image_2d" />
-<Test name="int" />
-<Test name="float" />
-<Test name="isampler_2d_ms" />
-<Test name="vec4" />
-<Test name="vec3" />
-<Test name="mat3x4" />
-<Test name="iimage_2d_array" />
-<Test name="sampler_2d_array" />
-<Test name="sampler_2d_ms" />
-<Test name="usampler_2d" />
-<Test name="sampler_3d" />
-<Test name="bool" />
-<Test name="mat2x3" />
-<Test name="uimage_2d" />
-<Test name="sampler_cube" />
-<Test name="mat4" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="sampler_2d_shadow" />
-<Test name="mat4x3" />
-<Test name="atomic_uint" />
-<Test name="sampler_2d" />
-<Test name="uint" />
-<Test name="isampler_2d" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-</TestSuite>
-<TestSuite name="type">
-<TestSuite name="named_block">
-<TestCase name="array">
-<Test name="int" />
-<Test name="float" />
-<Test name="vec4" />
-<Test name="uint" />
-<Test name="vec3" />
-<Test name="bool" />
-</TestCase>
-<TestCase name="struct">
-<Test name="int" />
-<Test name="float" />
-<Test name="vec4" />
-<Test name="uint" />
-<Test name="vec3" />
-<Test name="bool" />
-</TestCase>
-<TestCase name="types">
-<Test name="int" />
-<Test name="float" />
-<Test name="vec4" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="mat3x4" />
-<Test name="mat3x2" />
-<Test name="bool" />
-<Test name="mat2x4" />
-<Test name="mat2x3" />
-<Test name="bvec3" />
-<Test name="uint" />
-<Test name="ivec2" />
-<Test name="ivec3" />
-<Test name="uvec4" />
-<Test name="uvec2" />
-<Test name="uvec3" />
-<Test name="ivec4" />
-<Test name="bvec4" />
-<Test name="mat4" />
-<Test name="bvec2" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x2" />
-<Test name="mat4x3" />
+<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="array">
-<Test name="image_2d" />
+<TestCase name="types">
 <Test name="float" />
-<Test name="iimage_2d_array" />
 <Test name="int" />
-<Test name="sampler_2d_array" />
 <Test name="uint" />
-<Test name="atomic_uint" />
-<Test name="vec4" />
-<Test name="sampler_2d" />
-<Test name="sampler_3d" />
-<Test name="vec3" />
 <Test name="bool" />
-<Test name="isampler_2d" />
-</TestCase>
-<TestCase name="struct">
-<Test name="sampler_2d_array" />
-<Test name="int" />
-<Test name="float" />
-<Test name="uint" />
-<Test name="vec4" />
-<Test name="sampler_2d" />
-<Test name="sampler_3d" />
 <Test name="vec3" />
-<Test name="bool" />
-<Test name="isampler_2d" />
-</TestCase>
-<TestCase name="types">
-<Test name="image_2d" />
-<Test name="usampler_2d_array" />
-<Test name="isampler_cube" />
-<Test name="image_2d_array" />
-<Test name="float" />
-<Test name="isampler_2d_ms" />
 <Test name="vec4" />
-<Test name="iimage_cube" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="uimage_2d_array" />
-<Test name="isampler_2d" />
-<Test name="iimage_2d" />
-<Test name="mat3x4" />
-<Test name="iimage_2d_array" />
-<Test name="usampler_2d_ms" />
-<Test name="image_3d" />
-<Test name="sampler_2d_array" />
-<Test name="usampler_cube" />
-<Test name="sampler_2d_ms" />
-<Test name="int" />
-<Test name="usampler_2d" />
-<Test name="bool" />
-<Test name="sampler_3d" />
-<Test name="mat2x4" />
-<Test name="isampler_3d" />
-<Test name="mat2x3" />
-<Test name="uimage_3d" />
-<Test name="uimage_2d" />
-<Test name="isampler_2d_array" />
-<Test name="sampler_cube_shadow" />
-<Test name="bvec3" />
-<Test name="uimage_cube" />
-<Test name="sampler_2d_array_shadow" />
-<Test name="uint" />
-<Test name="ivec2" />
 <Test name="ivec3" />
-<Test name="uvec4" />
-<Test name="uvec2" />
 <Test name="uvec3" />
-<Test name="ivec4" />
-<Test name="mat3x2" />
-<Test name="mat4" />
-<Test name="bvec2" />
+<Test name="bvec3" />
 <Test name="mat2" />
+<Test name="mat3x2" />
 <Test name="mat3" />
-<Test name="iimage_3d" />
-<Test name="sampler_2d_shadow" />
 <Test name="mat4x2" />
-<Test name="mat4x3" />
-<Test name="usampler_3d" />
-<Test name="atomic_uint" />
+<Test name="mat4" />
 <Test name="sampler_2d" />
 <Test name="sampler_cube" />
-<Test name="image_cube" />
-<Test name="bvec4" />
-</TestCase>
-</TestSuite>
-<TestSuite name="block_array">
-<TestCase name="array">
-<Test name="int" />
-<Test name="float" />
-<Test name="vec4" />
-<Test name="uint" />
-<Test name="vec3" />
-<Test name="bool" />
-</TestCase>
-<TestCase name="basic_type">
-<Test name="int" />
-<Test name="float" />
-<Test name="vec4" />
-<Test name="uint" />
-<Test name="vec3" />
-<Test name="bool" />
+<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="struct">
-<Test name="int" />
-<Test name="float" />
-<Test name="vec4" />
-<Test name="uint" />
-<Test name="vec3" />
-<Test name="bool" />
+<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="unnamed_block">
-<TestCase name="array">
-<Test name="int" />
+<TestSuite name="named_block">
+<TestCase name="types">
 <Test name="float" />
-<Test name="vec4" />
-<Test name="uint" />
-<Test name="vec3" />
-<Test name="bool" />
-</TestCase>
-<TestCase name="basic_type">
 <Test name="int" />
-<Test name="float" />
-<Test name="vec4" />
 <Test name="uint" />
-<Test name="vec3" />
 <Test name="bool" />
-</TestCase>
-<TestCase name="struct">
-<Test name="int" />
-<Test name="float" />
-<Test name="vec4" />
-<Test name="uint" />
 <Test name="vec3" />
-<Test name="bool" />
-</TestCase>
-</TestSuite>
-</TestSuite>
-<TestSuite name="referenced_by_shader">
-<TestSuite name="compute">
-<TestCase name="block_array">
-<Test name="float" />
-<Test name="float_struct" />
-<Test name="float_array" />
-</TestCase>
-<TestCase name="uniform_block">
-<Test name="float_struct" />
-<Test name="float" />
-<Test name="float_array" />
-<Test name="float_array_struct" />
-<Test name="float_array_array" />
-<Test name="float_struct_array" />
-<Test name="float_struct_struct" />
-</TestCase>
-<TestCase name="default_block">
-<Test name="float_struct" />
-<Test name="sampler_struct" />
-<Test name="sampler_array" />
-<Test name="sampler" />
-<Test name="float" />
-<Test name="float_array" />
-<Test name="atomic_uint" />
-<Test name="float_array_struct" />
-<Test name="float_array_array" />
-<Test name="atomic_uint_array" />
-<Test name="float_struct_array" />
-<Test name="float_struct_struct" />
+<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="unnamed_block">
-<Test name="float" />
-<Test name="float_struct" />
-<Test name="float_array" />
+<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="separable_fragment">
-<TestCase name="block_array">
-<Test name="float" />
-<Test name="float_struct" />
-<Test name="float_array" />
-</TestCase>
-<TestCase name="uniform_block">
-<Test name="float_struct" />
-<Test name="float" />
-<Test name="float_array" />
-<Test name="float_array_struct" />
-<Test name="float_array_array" />
-<Test name="float_struct_array" />
-<Test name="float_struct_struct" />
-</TestCase>
-<TestCase name="default_block">
-<Test name="float_struct" />
-<Test name="sampler_struct" />
-<Test name="sampler_array" />
-<Test name="sampler" />
-<Test name="float" />
-<Test name="float_array" />
-<Test name="atomic_uint" />
-<Test name="float_array_struct" />
-<Test name="float_array_array" />
-<Test name="atomic_uint_array" />
-<Test name="float_struct_array" />
-<Test name="float_struct_struct" />
-</TestCase>
 <TestCase name="unnamed_block">
-<Test name="float" />
-<Test name="float_struct" />
-<Test name="float_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="vertex_fragment_only_vertex">
 <TestCase name="block_array">
-<Test name="float" />
-<Test name="float_struct" />
-<Test name="float_array" />
-</TestCase>
-<TestCase name="uniform_block">
-<Test name="float" />
-<Test name="float_struct" />
-<Test name="float_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>
-<TestCase name="default_block">
-<Test name="sampler_struct" />
-<Test name="sampler_array" />
+</TestSuite>
+<TestSuite name="array_stride">
+<TestSuite name="default_block">
+<TestCase name="types">
 <Test name="float" />
-<Test name="float_array" />
+<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" />
-<Test name="float_struct" />
-<Test name="sampler" />
-<Test name="atomic_uint_array" />
 </TestCase>
-<TestCase name="unnamed_block">
-<Test name="float" />
+<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="separable_vertex">
-<TestCase name="block_array">
+<TestSuite name="named_block">
+<TestCase name="types">
 <Test name="float" />
-<Test name="float_struct" />
-<Test name="float_array" />
+<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="uniform_block">
+<TestCase name="aggregates">
 <Test name="float_struct" />
-<Test name="float" />
-<Test name="float_array" />
-<Test name="float_array_struct" />
-<Test name="float_array_array" />
-<Test name="float_struct_array" />
 <Test name="float_struct_struct" />
-</TestCase>
-<TestCase name="default_block">
-<Test name="float_struct" />
-<Test name="sampler_struct" />
-<Test name="sampler_array" />
-<Test name="sampler" />
-<Test name="float" />
+<Test name="float_struct_array" />
 <Test name="float_array" />
-<Test name="atomic_uint" />
 <Test name="float_array_struct" />
 <Test name="float_array_array" />
-<Test name="atomic_uint_array" />
-<Test name="float_struct_array" />
-<Test name="float_struct_struct" />
-</TestCase>
-<TestCase name="unnamed_block">
-<Test name="float" />
-<Test name="float_struct" />
-<Test name="float_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="vertex_fragment">
-<TestCase name="block_array">
+<TestSuite name="unnamed_block">
+<TestCase name="basic_type">
 <Test name="float" />
-<Test name="float_struct" />
-<Test name="float_array" />
+<Test name="int" />
+<Test name="uint" />
+<Test name="bool" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="uniform_block">
+<TestCase name="array">
 <Test name="float" />
-<Test name="float_struct" />
-<Test name="float_array" />
+<Test name="int" />
+<Test name="uint" />
+<Test name="bool" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="default_block">
-<Test name="sampler_struct" />
-<Test name="sampler_array" />
+<TestCase name="struct">
 <Test name="float" />
-<Test name="float_array" />
-<Test name="atomic_uint" />
-<Test name="float_struct" />
-<Test name="sampler" />
-<Test name="atomic_uint_array" />
+<Test name="int" />
+<Test name="uint" />
+<Test name="bool" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="unnamed_block">
+</TestSuite>
+<TestSuite name="block_array">
+<TestCase name="basic_type">
 <Test name="float" />
-<Test name="float_struct" />
-<Test name="float_array" />
+<Test name="int" />
+<Test name="uint" />
+<Test name="bool" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-</TestSuite>
-<TestSuite name="vertex_fragment_only_fragment">
-<TestCase name="block_array">
+<TestCase name="array">
 <Test name="float" />
-<Test name="float_struct" />
-<Test name="float_array" />
+<Test name="int" />
+<Test name="uint" />
+<Test name="bool" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="uniform_block">
+<TestCase name="struct">
 <Test name="float" />
-<Test name="float_struct" />
-<Test name="float_array" />
+<Test name="int" />
+<Test name="uint" />
+<Test name="bool" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="default_block">
-<Test name="sampler_struct" />
-<Test name="sampler_array" />
+</TestSuite>
+</TestSuite>
+<TestSuite name="atomic_counter_buffer_index">
+<TestSuite name="default_block">
+<TestCase name="basic_type">
 <Test name="float" />
-<Test name="float_array" />
+<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" />
-<Test name="float_struct" />
-<Test name="sampler" />
-<Test name="atomic_uint_array" />
 </TestCase>
-<TestCase name="unnamed_block">
-<Test name="float" />
-<Test name="float_struct" />
-<Test name="float_array" />
+<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>
-<TestSuite name="array_stride">
-<TestSuite name="named_block">
-<TestCase name="aggregates">
-<Test name="vec3_struct_struct" />
-<Test name="float_array_array" />
-<Test name="float_struct_struct" />
-<Test name="bvec3_struct" />
-<Test name="ivec3_struct_array" />
-<Test name="float_array" />
-<Test name="ivec3_array_struct" />
-<Test name="bvec3_struct_array" />
-<Test name="vec3_struct" />
-<Test name="float_struct" />
-<Test name="bvec3_array_struct" />
-<Test name="ivec3_struct_struct" />
-<Test name="ivec3_array" />
-<Test name="vec3_array" />
-<Test name="float_struct_array" />
-<Test name="bvec3_struct_struct" />
-<Test name="bool_array" />
-<Test name="vec3_array_array" />
-<Test name="bool_struct" />
-<Test name="ivec3_array_array" />
-<Test name="bvec3_array_array" />
-<Test name="vec3_struct_array" />
-<Test name="bvec3_array" />
-<Test name="ivec3_struct" />
-<Test name="float_array_struct" />
-<Test name="vec3_array_struct" />
+<TestCase name="block_index">
+<Test name="default_block" />
+<Test name="named_block" />
+<Test name="unnamed_block" />
+<Test name="block_array" />
 </TestCase>
-<TestCase name="types">
+<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="int" />
+<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="mat4" />
-<Test name="vec4" />
 <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>
-<TestSuite name="default_block">
-<TestCase name="aggregates">
-<Test name="vec3_struct_struct" />
-<Test name="float_array_array" />
-<Test name="float_struct_struct" />
-<Test name="bvec3_array_array" />
-<Test name="bvec3_struct" />
-<Test name="ivec3_struct_array" />
-<Test name="float_array" />
-<Test name="ivec3_array_struct" />
-<Test name="bvec3_struct_array" />
-<Test name="vec3_struct" />
-<Test name="float_array_struct" />
-<Test name="bvec3_array_struct" />
-<Test name="ivec3_struct_struct" />
-<Test name="ivec3_array" />
-<Test name="atomic_uint_array" />
-<Test name="vec3_array" />
-<Test name="float_struct_array" />
-<Test name="bvec3_struct_struct" />
-<Test name="bool_array" />
-<Test name="vec3_array_array" />
-<Test name="bool_struct" />
-<Test name="ivec3_array_array" />
-<Test name="sampler2D_struct" />
-<Test name="vec3_struct_array" />
-<Test name="bvec3_array" />
-<Test name="ivec3_struct" />
-<Test name="float_struct" />
-<Test name="vec3_array_struct" />
-<Test name="sampler2D_array" />
-</TestCase>
-<TestCase name="types">
+<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="int" />
+<Test name="iimage_2d_array" />
+<Test name="uimage_2d" />
+<Test name="atomic_uint" />
+</TestCase>
+<TestCase name="array">
 <Test name="float" />
-<Test name="isampler_2d_ms" />
-<Test name="vec4" />
+<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="mat3x2" />
+<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_2d_ms" />
-<Test name="usampler_2d" />
 <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="uimage_2d" />
-<Test name="bvec3" />
-<Test name="sampler_cube" />
+<Test name="vec3" />
+<Test name="vec4" />
 <Test name="ivec3" />
 <Test name="uvec3" />
-<Test name="mat4" />
+<Test name="bvec3" />
 <Test name="mat2" />
+<Test name="mat3x2" />
 <Test name="mat3" />
-<Test name="sampler_2d_shadow" />
 <Test name="mat4x2" />
-<Test name="atomic_uint" />
+<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 name="block_array">
-<TestCase name="array">
-<Test name="int" />
+</TestSuite>
+<TestCase name="named_block">
 <Test name="float" />
-<Test name="vec4" />
-<Test name="uint" />
-<Test name="vec3" />
-<Test name="bool" />
-</TestCase>
-<TestCase name="basic_type">
 <Test name="int" />
-<Test name="float" />
-<Test name="vec4" />
 <Test name="uint" />
-<Test name="vec3" />
 <Test name="bool" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="struct">
-<Test name="int" />
+<TestCase name="unnamed_block">
 <Test name="float" />
-<Test name="vec4" />
+<Test name="int" />
 <Test name="uint" />
-<Test name="vec3" />
 <Test name="bool" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
 </TestSuite>
-<TestSuite name="unnamed_block">
-<TestCase name="array">
-<Test name="int" />
+<TestSuite name="matrix_row_major">
+<TestSuite name="default_block">
+<TestSuite name="no_qualifier">
+<TestCase name="types">
 <Test name="float" />
-<Test name="vec4" />
-<Test name="uint" />
-<Test name="vec3" />
-<Test name="bool" />
-</TestCase>
-<TestCase name="basic_type">
 <Test name="int" />
-<Test name="float" />
-<Test name="vec4" />
 <Test name="uint" />
-<Test name="vec3" />
 <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="struct">
-<Test name="int" />
+<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="vec4" />
+<Test name="int" />
 <Test name="uint" />
-<Test name="vec3" />
 <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="transform_feedback_varying">
-<TestSuite name="resource_list">
-<TestCase name="vertex_fragment">
-<Test name="default_block_array_element" />
-<Test name="builtin_gl_position" />
-<Test name="default_block_basic_type" />
+<TestSuite name="named_block_col_major">
+<TestCase name="no_qualifier">
+<Test name="var" />
+<Test name="var_struct" />
+<Test name="var_array" />
 </TestCase>
-<TestCase name="separable_vertex">
-<Test name="default_block_array_element" />
-<Test name="builtin_gl_position" />
-<Test name="default_block_basic_type" />
+<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="name_length">
-<TestCase name="vertex_fragment">
-<Test name="default_block_array_element" />
-<Test name="builtin_gl_position" />
-<Test name="default_block_basic_type" />
+<TestSuite name="unnamed_block">
+<TestCase name="no_qualifier">
+<Test name="var" />
+<Test name="var_struct" />
+<Test name="var_array" />
 </TestCase>
-<TestCase name="separable_vertex">
-<Test name="default_block_array_element" />
-<Test name="builtin_gl_position" />
-<Test name="default_block_basic_type" />
+<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="type">
-<TestSuite name="vertex_fragment">
-<TestCase name="array">
-<Test name="mat4" />
-<Test name="mat3x4" />
-<Test name="mat2" />
-<Test name="mat3x2" />
-<Test name="int" />
-<Test name="uvec2" />
-<Test name="mat4x2" />
+<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="uvec3" />
-<Test name="vec4" />
-<Test name="vec2" />
+<Test name="bool" />
 <Test name="vec3" />
-<Test name="ivec2" />
-<Test name="ivec3" />
-<Test name="mat2x4" />
-<Test name="mat4x3" />
-<Test name="uvec4" />
+<Test name="vec4" />
+<Test name="mat2" />
 <Test name="mat2x3" />
-<Test name="ivec4" />
 <Test name="mat3" />
-</TestCase>
-<TestCase name="basic_type">
-<Test name="mat4" />
 <Test name="mat3x4" />
-<Test name="mat2" />
-<Test name="mat3x2" />
-<Test name="int" />
-<Test name="uvec2" />
-<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="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="uvec3" />
-<Test name="vec4" />
-<Test name="vec2" />
+<Test name="bool" />
 <Test name="vec3" />
-<Test name="ivec2" />
-<Test name="ivec3" />
-<Test name="mat2x4" />
-<Test name="mat4x3" />
-<Test name="uvec4" />
+<Test name="vec4" />
+<Test name="mat2" />
 <Test name="mat2x3" />
-<Test name="ivec4" />
 <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="separable_vertex">
-<TestCase name="array">
-<Test name="mat4" />
-<Test name="mat3x4" />
+<TestSuite name="row_major">
+<TestCase name="matrix">
 <Test name="mat2" />
-<Test name="mat3x2" />
-<Test name="int" />
-<Test name="uvec2" />
-<Test name="mat4x2" />
-<Test name="float" />
-<Test name="uint" />
-<Test name="uvec3" />
-<Test name="vec4" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="ivec2" />
-<Test name="ivec3" />
-<Test name="mat2x4" />
-<Test name="mat4x3" />
-<Test name="uvec4" />
 <Test name="mat2x3" />
-<Test name="ivec4" />
 <Test name="mat3" />
-</TestCase>
-<TestCase name="basic_type">
-<Test name="mat4" />
 <Test name="mat3x4" />
-<Test name="mat2" />
-<Test name="mat3x2" />
-<Test name="int" />
-<Test name="uvec2" />
-<Test name="mat4x2" />
-<Test name="float" />
-<Test name="uint" />
-<Test name="uvec3" />
-<Test name="vec4" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="ivec2" />
-<Test name="ivec3" />
-<Test name="mat2x4" />
 <Test name="mat4x3" />
-<Test name="uvec4" />
-<Test name="mat2x3" />
-<Test name="ivec4" />
-<Test name="mat3" />
+<Test name="mat4" />
+</TestCase>
+<TestCase name="aggregates">
+<Test name="var" />
+<Test name="var_struct" />
+<Test name="var_array" />
 </TestCase>
 </TestSuite>
-</TestSuite>
-<TestSuite name="array_size">
-<TestCase name="vertex_fragment">
-<Test name="default_block_array_element" />
-<Test name="builtin_gl_position" />
-<Test name="default_block_basic_type" />
+<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="separable_vertex">
-<Test name="default_block_array_element" />
-<Test name="builtin_gl_position" />
-<Test name="default_block_basic_type" />
+<TestCase name="aggregates">
+<Test name="var" />
+<Test name="var_struct" />
+<Test name="var_array" />
 </TestCase>
 </TestSuite>
 </TestSuite>
-<TestCase name="atomic_counter_buffer">
-<Test name="resource_list" />
-<Test name="buffer_data_size" />
-<Test name="referenced_by_vertex_fragment_only_fragment" />
-<Test name="referenced_by_separable_fragment" />
-<Test name="buffer_binding" />
-<Test name="active_variables" />
-<Test name="referenced_by_compute" />
-<Test name="referenced_by_vertex_fragment_only_vertex" />
-<Test name="referenced_by_vertex_fragment" />
-<Test name="referenced_by_separable_vertex" />
-</TestCase>
-<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="name_length">
-<Test name="named_block" />
-<Test name="unnamed_block" />
-<Test name="block_array" />
-<Test name="block_array_single_element" />
-</TestCase>
-<TestCase name="buffer_binding">
-<Test name="named_block" />
-<Test name="named_block_explicit_binding" />
-<Test name="block_array_explicit_binding" />
-<Test name="unnamed_block" />
-<Test name="unnamed_block_explicit_binding" />
-<Test name="block_array" />
-</TestCase>
-<TestCase name="active_variables">
-<Test name="named_block" />
-<Test name="block_array" />
-<Test name="unnamed_block" />
-</TestCase>
-<TestCase name="buffer_data_size">
-<Test name="named_block" />
-<Test name="block_array" />
-<Test name="unnamed_block" />
-</TestCase>
-<TestSuite name="referenced_by">
-<TestCase name="compute">
-<Test name="named_block" />
-<Test name="block_array" />
-<Test name="unnamed_block" />
-</TestCase>
-<TestCase name="separable_fragment">
-<Test name="named_block" />
-<Test name="block_array" />
-<Test name="unnamed_block" />
-</TestCase>
-<TestCase name="vertex_fragment_only_vertex">
-<Test name="named_block" />
-<Test name="block_array" />
-<Test name="unnamed_block" />
-</TestCase>
-<TestCase name="separable_vertex">
-<Test name="named_block" />
-<Test name="block_array" />
-<Test name="unnamed_block" />
+<TestSuite name="named_block_row_major">
+<TestCase name="no_qualifier">
+<Test name="var" />
+<Test name="var_struct" />
+<Test name="var_array" />
 </TestCase>
-<TestCase name="vertex_fragment">
-<Test name="named_block" />
-<Test name="block_array" />
-<Test name="unnamed_block" />
+<TestCase name="row_major">
+<Test name="var" />
+<Test name="var_struct" />
+<Test name="var_array" />
 </TestCase>
-<TestCase name="vertex_fragment_only_fragment">
-<Test name="named_block" />
-<Test name="block_array" />
-<Test name="unnamed_block" />
+<TestCase name="column_major">
+<Test name="var" />
+<Test name="var_struct" />
+<Test name="var_array" />
 </TestCase>
 </TestSuite>
-</TestSuite>
-<TestCase name="buffer_limited_query">
-<Test name="resource_query" />
-<Test name="resource_name_query" />
+<TestSuite name="named_block_col_major">
+<TestCase name="no_qualifier">
+<Test name="var" />
+<Test name="var_struct" />
+<Test name="var_array" />
 </TestCase>
-<TestSuite name="program_output">
-<TestSuite name="resource_list">
-<TestCase name="vertex_fragment">
+<TestCase name="row_major">
 <Test name="var" />
+<Test name="var_struct" />
 <Test name="var_array" />
-<Test name="empty" />
 </TestCase>
-<TestCase name="compute">
-<Test name="empty" />
+<TestCase name="column_major">
+<Test name="var" />
+<Test name="var_struct" />
+<Test name="var_array" />
 </TestCase>
-<TestCase name="separable_vertex">
+</TestSuite>
+<TestSuite name="unnamed_block">
+<TestCase name="no_qualifier">
 <Test name="var" />
+<Test name="var_struct" />
 <Test name="var_array" />
-<Test name="empty" />
+</TestCase>
+<TestCase name="row_major">
+<Test name="var" />
 <Test name="var_struct" />
+<Test name="var_array" />
 </TestCase>
-<TestCase name="separable_fragment">
+<TestCase name="column_major">
 <Test name="var" />
+<Test name="var_struct" />
 <Test name="var_array" />
-<Test name="empty" />
 </TestCase>
 </TestSuite>
-<TestSuite name="name_length">
-<TestCase name="vertex_fragment">
+<TestSuite name="unnamed_block_row_major">
+<TestCase name="no_qualifier">
 <Test name="var" />
+<Test name="var_struct" />
 <Test name="var_array" />
 </TestCase>
-<TestCase name="separable_vertex">
+<TestCase name="row_major">
 <Test name="var" />
-<Test name="var_array" />
 <Test name="var_struct" />
+<Test name="var_array" />
 </TestCase>
-<TestCase name="separable_fragment">
+<TestCase name="column_major">
 <Test name="var" />
+<Test name="var_struct" />
 <Test name="var_array" />
 </TestCase>
 </TestSuite>
-<TestSuite name="array_size">
-<TestCase name="vertex_fragment">
+<TestSuite name="unnamed_block_col_major">
+<TestCase name="no_qualifier">
 <Test name="var" />
+<Test name="var_struct" />
 <Test name="var_array" />
 </TestCase>
-<TestCase name="separable_vertex">
+<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>
-<TestCase name="separable_fragment">
+</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>
-</TestSuite>
-<TestSuite name="location">
-<TestCase name="vertex_fragment">
+<TestCase name="unnamed_block">
 <Test name="var" />
+<Test name="var_struct" />
 <Test name="var_array" />
-<Test name="var_explicit_location" />
-<Test name="var_array_explicit_location" />
-</TestCase>
-<TestCase name="separable_vertex">
-<Test name="var_array_explicit_location" />
-<Test name="var_struct_explicit_location" />
-<Test name="var_explicit_location" />
 </TestCase>
-<TestCase name="separable_fragment">
+<TestCase name="block_array">
 <Test name="var" />
+<Test name="var_struct" />
 <Test name="var_array" />
-<Test name="var_explicit_location" />
-<Test name="var_array_explicit_location" />
 </TestCase>
 </TestSuite>
-<TestSuite name="type">
-<TestSuite name="vertex_fragment">
-<TestCase name="array">
-<Test name="int" />
+<TestSuite name="offset">
+<TestSuite name="default_block">
+<TestCase name="types">
 <Test name="float" />
+<Test name="int" />
 <Test name="uint" />
-<Test name="vec4" />
+<Test name="bool" />
 <Test name="vec2" />
 <Test name="vec3" />
+<Test name="vec4" />
 <Test name="ivec2" />
 <Test name="ivec3" />
-<Test name="uvec4" />
+<Test name="ivec4" />
 <Test name="uvec2" />
 <Test name="uvec3" />
-<Test name="ivec4" />
+<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="basic_type">
-<Test name="int" />
+<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="vec4" />
+<Test name="bool" />
 <Test name="vec2" />
 <Test name="vec3" />
+<Test name="vec4" />
 <Test name="ivec2" />
 <Test name="ivec3" />
-<Test name="uvec4" />
+<Test name="ivec4" />
 <Test name="uvec2" />
 <Test name="uvec3" />
-<Test name="ivec4" />
-</TestCase>
-</TestSuite>
-<TestSuite name="separable_vertex">
-<TestCase name="array">
-<Test name="mat4" />
-<Test name="mat3x4" />
+<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="int" />
-<Test name="uvec2" />
+<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="uvec3" />
+<Test name="bool" />
+<Test name="vec3" />
 <Test name="vec4" />
-<Test name="vec2" />
+</TestCase>
+<TestCase name="array">
+<Test name="float" />
+<Test name="int" />
+<Test name="uint" />
+<Test name="bool" />
 <Test name="vec3" />
-<Test name="ivec2" />
-<Test name="ivec3" />
-<Test name="mat2x4" />
-<Test name="mat4x3" />
-<Test name="uvec4" />
-<Test name="mat2x3" />
-<Test name="ivec4" />
-<Test name="mat3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="basic_type">
-<Test name="mat4" />
-<Test name="mat3x4" />
-<Test name="mat2" />
-<Test name="mat3x2" />
+<TestCase name="struct">
+<Test name="float" />
 <Test name="int" />
-<Test name="uvec2" />
-<Test name="mat4x2" />
+<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="uvec3" />
+<Test name="bool" />
+<Test name="vec3" />
 <Test name="vec4" />
-<Test name="vec2" />
+</TestCase>
+<TestCase name="array">
+<Test name="float" />
+<Test name="int" />
+<Test name="uint" />
+<Test name="bool" />
 <Test name="vec3" />
-<Test name="ivec2" />
-<Test name="ivec3" />
-<Test name="mat2x4" />
-<Test name="mat4x3" />
-<Test name="uvec4" />
-<Test name="mat2x3" />
-<Test name="ivec4" />
-<Test name="mat3" />
+<Test name="vec4" />
 </TestCase>
 <TestCase name="struct">
-<Test name="mat4" />
-<Test name="mat3x4" />
-<Test name="mat2" />
-<Test name="mat3x2" />
+<Test name="float" />
 <Test name="int" />
-<Test name="uvec2" />
-<Test name="mat4x2" />
+<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="uint" />
-<Test name="uvec3" />
-<Test name="vec4" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="ivec2" />
-<Test name="ivec3" />
-<Test name="mat2x4" />
-<Test name="mat4x3" />
-<Test name="uvec4" />
-<Test name="mat2x3" />
-<Test name="ivec4" />
-<Test name="mat3" />
+<Test name="float_array" />
+<Test name="float_struct" />
 </TestCase>
 </TestSuite>
 <TestSuite name="separable_fragment">
-<TestCase name="array">
-<Test name="int" />
+<TestCase name="default_block">
 <Test name="float" />
-<Test name="uint" />
-<Test name="vec4" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="ivec2" />
-<Test name="ivec3" />
-<Test name="uvec4" />
-<Test name="uvec2" />
-<Test name="uvec3" />
-<Test name="ivec4" />
+<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="basic_type">
-<Test name="int" />
+<TestCase name="uniform_block">
 <Test name="float" />
-<Test name="uint" />
-<Test name="vec4" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="ivec2" />
-<Test name="ivec3" />
-<Test name="uvec4" />
-<Test name="uvec2" />
-<Test name="uvec3" />
-<Test name="ivec4" />
+<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>
-</TestSuite>
-</TestSuite>
-<TestCase name="referenced_by">
-<Test name="referenced_by_separable_vertex" />
-<Test name="referenced_by_separable_fragment" />
-<Test name="referenced_by_vertex_fragment" />
+<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="image_load_store">
-<TestSuite name="cube">
-<TestCase name="load_store">
-<Test name="rgba16f_single_layer" />
-<Test name="rgba8" />
-<Test name="rgba8_snorm" />
-<Test name="r32ui" />
-<Test name="r32i_single_layer" />
-<Test name="rgba32ui_single_layer" />
-<Test name="rgba16i" />
-<Test name="rgba16f" />
-<Test name="r32f_single_layer" />
-<Test name="r32f" />
-<Test name="rgba8_snorm_single_layer" />
-<Test name="r32i" />
-<Test name="rgba32ui" />
-<Test name="rgba32i_single_layer" />
-<Test name="rgba8ui" />
-<Test name="rgba16ui" />
-<Test name="rgba16i_single_layer" />
-<Test name="rgba16ui_single_layer" />
-<Test name="rgba8_single_layer" />
-<Test name="rgba8i_single_layer" />
-<Test name="rgba8i" />
-<Test name="r32ui_single_layer" />
-<Test name="rgba8ui_single_layer" />
-<Test name="rgba32f_single_layer" />
-<Test name="rgba32f" />
-<Test name="rgba32i" />
+<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="format_reinterpret">
-<Test name="rgba32ui_rgba32i" />
-<Test name="r32f_r32i" />
-<Test name="r32f_rgba8ui" />
-<Test name="rgba32i_rgba32ui" />
-<Test name="rgba16f_rgba16i" />
-<Test name="rgba8i_rgba8" />
-<Test name="rgba8_snorm_rgba8" />
-<Test name="r32ui_rgba8" />
-<Test name="rgba16f_rgba16ui" />
-<Test name="rgba8i_r32i" />
-<Test name="rgba8i_rgba8ui" />
-<Test name="rgba8ui_rgba8" />
-<Test name="r32i_rgba8" />
-<Test name="rgba16i_rgba16ui" />
-<Test name="r32f_rgba8i" />
-<Test name="r32f_rgba8" />
-<Test name="r32f_r32ui" />
-<Test name="rgba8ui_rgba8_snorm" />
-<Test name="rgba8i_r32f" />
-<Test name="rgba32f_rgba32ui" />
-<Test name="r32ui_r32i" />
-<Test name="rgba8_rgba8ui" />
-<Test name="r32f_rgba8_snorm" />
-<Test name="rgba8_r32ui" />
-<Test name="r32i_rgba8_snorm" />
-<Test name="r32i_rgba8ui" />
-<Test name="rgba8_snorm_r32ui" />
-<Test name="rgba8_r32f" />
-<Test name="r32ui_r32f" />
-<Test name="rgba8_r32i" />
-<Test name="rgba8_snorm_rgba8ui" />
-<Test name="r32ui_rgba8_snorm" />
-<Test name="rgba8_rgba8_snorm" />
-<Test name="rgba8i_rgba8_snorm" />
-<Test name="r32i_r32f" />
-<Test name="rgba32f_rgba32i" />
-<Test name="rgba8ui_r32f" />
-<Test name="rgba16ui_rgba16f" />
-<Test name="rgba16ui_rgba16i" />
-<Test name="rgba8ui_r32i" />
-<Test name="rgba32ui_rgba32f" />
-<Test name="rgba8_rgba8i" />
-<Test name="r32ui_rgba8i" />
-<Test name="rgba8i_r32ui" />
-<Test name="rgba8_snorm_rgba8i" />
-<Test name="r32i_r32ui" />
-<Test name="rgba8_snorm_r32i" />
-<Test name="r32i_rgba8i" />
-<Test name="rgba8ui_rgba8i" />
-<Test name="rgba32i_rgba32f" />
-<Test name="r32ui_rgba8ui" />
-<Test name="rgba8_snorm_r32f" />
-<Test name="rgba16i_rgba16f" />
-<Test name="rgba8ui_r32ui" />
+<TestCase name="uniform_block">
+<Test name="float" />
+<Test name="float_array" />
+<Test name="float_struct" />
 </TestCase>
-<TestCase name="atomic">
-<Test name="add_r32i_result" />
-<Test name="xor_r32i_return_value" />
-<Test name="add_r32i_return_value" />
-<Test name="xor_r32ui_result" />
-<Test name="min_r32ui_return_value" />
-<Test name="comp_swap_r32i_result" />
-<Test name="exchange_r32f_result" />
-<Test name="exchange_r32ui_result" />
-<Test name="min_r32i_return_value" />
-<Test name="and_r32ui_return_value" />
-<Test name="add_r32ui_return_value" />
-<Test name="comp_swap_r32i_return_value" />
-<Test name="xor_r32i_result" />
-<Test name="xor_r32ui_return_value" />
-<Test name="max_r32i_return_value" />
-<Test name="max_r32ui_result" />
-<Test name="comp_swap_r32ui_return_value" />
-<Test name="exchange_r32i_return_value" />
-<Test name="min_r32ui_result" />
-<Test name="or_r32ui_result" />
-<Test name="add_r32ui_result" />
-<Test name="or_r32i_result" />
-<Test name="or_r32i_return_value" />
-<Test name="exchange_r32i_result" />
-<Test name="and_r32i_return_value" />
-<Test name="comp_swap_r32ui_result" />
-<Test name="exchange_r32f_return_value" />
-<Test name="and_r32i_result" />
-<Test name="exchange_r32ui_return_value" />
-<Test name="max_r32i_result" />
-<Test name="min_r32i_result" />
-<Test name="and_r32ui_result" />
-<Test name="or_r32ui_return_value" />
-<Test name="max_r32ui_return_value" />
+<TestCase name="unnamed_block">
+<Test name="float" />
+<Test name="float_array" />
+<Test name="float_struct" />
 </TestCase>
-<TestCase name="image_size">
-<Test name="readonly_writeonly_32x32" />
-<Test name="readonly_7x7" />
-<Test name="readonly_writeonly_1x1" />
-<Test name="readonly_12x12" />
-<Test name="writeonly_32x32" />
-<Test name="readonly_writeonly_7x7" />
-<Test name="writeonly_1x1" />
-<Test name="readonly_1x1" />
-<Test name="readonly_writeonly_12x12" />
-<Test name="readonly_32x32" />
-<Test name="writeonly_12x12" />
-<Test name="writeonly_7x7" />
+<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="qualifiers">
-<Test name="volatile_r32i" />
-<Test name="coherent_r32i" />
-<Test name="coherent_r32f" />
-<Test name="volatile_r32f" />
-<Test name="restrict" />
-<Test name="volatile_r32ui" />
-<Test name="coherent_r32ui" />
+<TestCase name="uniform_block">
+<Test name="float" />
+<Test name="float_array" />
+<Test name="float_struct" />
 </TestCase>
-<TestCase name="store">
-<Test name="rgba16f_single_layer" />
-<Test name="rgba8" />
-<Test name="rgba8_snorm" />
-<Test name="r32ui" />
-<Test name="r32i_single_layer" />
-<Test name="rgba32ui_single_layer" />
-<Test name="rgba16i" />
-<Test name="rgba16f" />
-<Test name="r32f_single_layer" />
-<Test name="r32f" />
-<Test name="rgba8_snorm_single_layer" />
-<Test name="r32i" />
-<Test name="rgba32ui" />
-<Test name="rgba32i_single_layer" />
-<Test name="rgba8ui" />
-<Test name="rgba16ui" />
-<Test name="rgba16i_single_layer" />
-<Test name="rgba16ui_single_layer" />
-<Test name="rgba8_single_layer" />
-<Test name="rgba8i_single_layer" />
-<Test name="rgba8i" />
-<Test name="r32ui_single_layer" />
-<Test name="rgba8ui_single_layer" />
-<Test name="rgba32f_single_layer" />
-<Test name="rgba32f" />
-<Test name="rgba32i" />
+<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="2d_array">
-<TestCase name="load_store">
-<Test name="rgba16f_single_layer" />
-<Test name="rgba8" />
-<Test name="rgba8_snorm" />
-<Test name="r32ui" />
-<Test name="r32i_single_layer" />
-<Test name="rgba32ui_single_layer" />
-<Test name="rgba16i" />
-<Test name="rgba16f" />
-<Test name="r32f_single_layer" />
-<Test name="r32f" />
-<Test name="rgba8_snorm_single_layer" />
-<Test name="r32i" />
-<Test name="rgba32ui" />
-<Test name="rgba32i_single_layer" />
-<Test name="rgba8ui" />
-<Test name="rgba16ui" />
-<Test name="rgba16i_single_layer" />
-<Test name="rgba16ui_single_layer" />
-<Test name="rgba8_single_layer" />
-<Test name="rgba8i_single_layer" />
-<Test name="rgba8i" />
-<Test name="r32ui_single_layer" />
-<Test name="rgba8ui_single_layer" />
-<Test name="rgba32f_single_layer" />
-<Test name="rgba32f" />
-<Test name="rgba32i" />
+</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="format_reinterpret">
-<Test name="rgba32ui_rgba32i" />
-<Test name="r32f_r32i" />
-<Test name="r32f_rgba8ui" />
-<Test name="rgba32i_rgba32ui" />
-<Test name="rgba16f_rgba16i" />
-<Test name="rgba8i_rgba8" />
-<Test name="rgba8_snorm_rgba8" />
-<Test name="r32ui_rgba8" />
-<Test name="rgba16f_rgba16ui" />
-<Test name="rgba8i_r32i" />
-<Test name="rgba8i_rgba8ui" />
-<Test name="rgba8ui_rgba8" />
-<Test name="r32i_rgba8" />
-<Test name="rgba16i_rgba16ui" />
-<Test name="r32f_rgba8i" />
-<Test name="r32f_rgba8" />
-<Test name="r32f_r32ui" />
-<Test name="rgba8ui_rgba8_snorm" />
-<Test name="rgba8i_r32f" />
-<Test name="rgba32f_rgba32ui" />
-<Test name="r32ui_r32i" />
-<Test name="rgba8_rgba8ui" />
-<Test name="r32f_rgba8_snorm" />
-<Test name="rgba8_r32ui" />
-<Test name="r32i_rgba8_snorm" />
-<Test name="r32i_rgba8ui" />
-<Test name="rgba8_snorm_r32ui" />
-<Test name="rgba8_r32f" />
-<Test name="r32ui_r32f" />
-<Test name="rgba8_r32i" />
-<Test name="rgba8_snorm_rgba8ui" />
-<Test name="r32ui_rgba8_snorm" />
-<Test name="rgba8_rgba8_snorm" />
-<Test name="rgba8i_rgba8_snorm" />
-<Test name="r32i_r32f" />
-<Test name="rgba32f_rgba32i" />
-<Test name="rgba8ui_r32f" />
-<Test name="rgba16ui_rgba16f" />
-<Test name="rgba16ui_rgba16i" />
-<Test name="rgba8ui_r32i" />
-<Test name="rgba32ui_rgba32f" />
-<Test name="rgba8_rgba8i" />
-<Test name="r32ui_rgba8i" />
-<Test name="rgba8i_r32ui" />
-<Test name="rgba8_snorm_rgba8i" />
-<Test name="r32i_r32ui" />
-<Test name="rgba8_snorm_r32i" />
-<Test name="r32i_rgba8i" />
-<Test name="rgba8ui_rgba8i" />
-<Test name="rgba32i_rgba32f" />
-<Test name="r32ui_rgba8ui" />
-<Test name="rgba8_snorm_r32f" />
-<Test name="rgba16i_rgba16f" />
-<Test name="rgba8ui_r32ui" />
+<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="atomic">
-<Test name="add_r32i_result" />
-<Test name="xor_r32i_return_value" />
-<Test name="add_r32i_return_value" />
-<Test name="xor_r32ui_result" />
-<Test name="min_r32ui_return_value" />
-<Test name="comp_swap_r32i_result" />
-<Test name="exchange_r32f_result" />
-<Test name="exchange_r32ui_result" />
-<Test name="min_r32i_return_value" />
-<Test name="and_r32ui_return_value" />
-<Test name="add_r32ui_return_value" />
-<Test name="comp_swap_r32i_return_value" />
-<Test name="xor_r32i_result" />
-<Test name="xor_r32ui_return_value" />
-<Test name="max_r32i_return_value" />
-<Test name="max_r32ui_result" />
-<Test name="comp_swap_r32ui_return_value" />
-<Test name="exchange_r32i_return_value" />
-<Test name="min_r32ui_result" />
-<Test name="or_r32ui_result" />
-<Test name="add_r32ui_result" />
-<Test name="or_r32i_result" />
-<Test name="or_r32i_return_value" />
-<Test name="exchange_r32i_result" />
-<Test name="and_r32i_return_value" />
-<Test name="comp_swap_r32ui_result" />
-<Test name="exchange_r32f_return_value" />
-<Test name="and_r32i_result" />
-<Test name="exchange_r32ui_return_value" />
-<Test name="max_r32i_result" />
-<Test name="min_r32i_result" />
-<Test name="and_r32ui_result" />
-<Test name="or_r32ui_return_value" />
-<Test name="max_r32ui_return_value" />
+<TestCase name="array">
+<Test name="float" />
+<Test name="int" />
+<Test name="uint" />
+<Test name="bool" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="image_size">
-<Test name="readonly_7x1x1" />
-<Test name="readonly_32x32x32" />
-<Test name="readonly_writeonly_1x1x1" />
-<Test name="writeonly_1x1x1" />
-<Test name="writeonly_12x34x56" />
-<Test name="readonly_writeonly_32x32x32" />
-<Test name="readonly_12x34x56" />
-<Test name="readonly_1x1x1" />
-<Test name="writeonly_32x32x32" />
-<Test name="readonly_writeonly_7x1x1" />
-<Test name="writeonly_7x1x1" />
-<Test name="readonly_writeonly_12x34x56" />
+<TestCase name="struct">
+<Test name="float" />
+<Test name="int" />
+<Test name="uint" />
+<Test name="bool" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="qualifiers">
-<Test name="volatile_r32i" />
-<Test name="coherent_r32i" />
-<Test name="coherent_r32f" />
-<Test name="volatile_r32f" />
-<Test name="restrict" />
-<Test name="volatile_r32ui" />
-<Test name="coherent_r32ui" />
+</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="store">
-<Test name="rgba16f_single_layer" />
-<Test name="rgba8" />
-<Test name="rgba8_snorm" />
-<Test name="r32ui" />
-<Test name="r32i_single_layer" />
-<Test name="rgba32ui_single_layer" />
-<Test name="rgba16i" />
-<Test name="rgba16f" />
-<Test name="r32f_single_layer" />
-<Test name="r32f" />
-<Test name="rgba8_snorm_single_layer" />
-<Test name="r32i" />
-<Test name="rgba32ui" />
-<Test name="rgba32i_single_layer" />
-<Test name="rgba8ui" />
-<Test name="rgba16ui" />
-<Test name="rgba16i_single_layer" />
-<Test name="rgba16ui_single_layer" />
-<Test name="rgba8_single_layer" />
-<Test name="rgba8i_single_layer" />
-<Test name="rgba8i" />
-<Test name="r32ui_single_layer" />
-<Test name="rgba8ui_single_layer" />
-<Test name="rgba32f_single_layer" />
-<Test name="rgba32f" />
-<Test name="rgba32i" />
+<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>
-<TestCase name="early_fragment_tests">
-<Test name="no_early_fragment_tests_stencil" />
-<Test name="early_fragment_tests_depth" />
-<Test name="early_fragment_tests_stencil" />
-<Test name="no_early_fragment_tests_depth" />
+<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>
-<TestSuite name="2d">
-<TestCase name="load_store">
-<Test name="rgba16i" />
-<Test name="rgba8_snorm" />
-<Test name="rgba32ui" />
-<Test name="rgba16f" />
-<Test name="r32ui" />
-<Test name="rgba8" />
-<Test name="rgba8ui" />
-<Test name="rgba16ui" />
-<Test name="rgba32f" />
-<Test name="rgba32i" />
-<Test name="r32i" />
-<Test name="r32f" />
-<Test name="rgba8i" />
+<TestCase name="array">
+<Test name="float" />
+<Test name="int" />
+<Test name="uint" />
+<Test name="bool" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="format_reinterpret">
-<Test name="rgba32ui_rgba32i" />
-<Test name="r32f_r32i" />
-<Test name="r32f_rgba8ui" />
-<Test name="rgba32i_rgba32ui" />
-<Test name="rgba16f_rgba16i" />
-<Test name="rgba8i_rgba8" />
-<Test name="rgba8_snorm_rgba8" />
-<Test name="r32ui_rgba8" />
-<Test name="rgba16f_rgba16ui" />
-<Test name="rgba8i_r32i" />
-<Test name="rgba8i_rgba8ui" />
-<Test name="rgba8ui_rgba8" />
-<Test name="r32i_rgba8" />
-<Test name="rgba16i_rgba16ui" />
-<Test name="r32f_rgba8i" />
-<Test name="r32f_rgba8" />
-<Test name="r32f_r32ui" />
-<Test name="rgba8ui_rgba8_snorm" />
-<Test name="rgba8i_r32f" />
-<Test name="rgba32f_rgba32ui" />
-<Test name="r32ui_r32i" />
-<Test name="rgba8_rgba8ui" />
-<Test name="r32f_rgba8_snorm" />
-<Test name="rgba8_r32ui" />
-<Test name="r32i_rgba8_snorm" />
-<Test name="r32i_rgba8ui" />
-<Test name="rgba8_snorm_r32ui" />
-<Test name="rgba8_r32f" />
-<Test name="r32ui_r32f" />
-<Test name="rgba8_r32i" />
-<Test name="rgba8_snorm_rgba8ui" />
-<Test name="r32ui_rgba8_snorm" />
-<Test name="rgba8_rgba8_snorm" />
-<Test name="rgba8i_rgba8_snorm" />
-<Test name="r32i_r32f" />
-<Test name="rgba32f_rgba32i" />
-<Test name="rgba8ui_r32f" />
-<Test name="rgba16ui_rgba16f" />
-<Test name="rgba16ui_rgba16i" />
-<Test name="rgba8ui_r32i" />
-<Test name="rgba32ui_rgba32f" />
-<Test name="rgba8_rgba8i" />
-<Test name="r32ui_rgba8i" />
-<Test name="rgba8i_r32ui" />
-<Test name="rgba8_snorm_rgba8i" />
-<Test name="r32i_r32ui" />
-<Test name="rgba8_snorm_r32i" />
-<Test name="r32i_rgba8i" />
-<Test name="rgba8ui_rgba8i" />
-<Test name="rgba32i_rgba32f" />
-<Test name="r32ui_rgba8ui" />
-<Test name="rgba8_snorm_r32f" />
-<Test name="rgba16i_rgba16f" />
-<Test name="rgba8ui_r32ui" />
+<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>
-<TestCase name="atomic">
-<Test name="add_r32i_result" />
-<Test name="xor_r32i_return_value" />
-<Test name="add_r32i_return_value" />
-<Test name="xor_r32ui_result" />
-<Test name="min_r32ui_return_value" />
-<Test name="comp_swap_r32i_result" />
-<Test name="exchange_r32f_result" />
-<Test name="exchange_r32ui_result" />
-<Test name="min_r32i_return_value" />
-<Test name="and_r32ui_return_value" />
-<Test name="add_r32ui_return_value" />
-<Test name="comp_swap_r32i_return_value" />
-<Test name="xor_r32i_result" />
-<Test name="xor_r32ui_return_value" />
-<Test name="max_r32i_return_value" />
-<Test name="max_r32ui_result" />
-<Test name="comp_swap_r32ui_return_value" />
-<Test name="exchange_r32i_return_value" />
-<Test name="min_r32ui_result" />
-<Test name="or_r32ui_result" />
-<Test name="add_r32ui_result" />
-<Test name="or_r32i_result" />
-<Test name="or_r32i_return_value" />
-<Test name="exchange_r32i_result" />
-<Test name="and_r32i_return_value" />
-<Test name="comp_swap_r32ui_result" />
-<Test name="exchange_r32f_return_value" />
-<Test name="and_r32i_result" />
-<Test name="exchange_r32ui_return_value" />
-<Test name="max_r32i_result" />
-<Test name="min_r32i_result" />
-<Test name="and_r32ui_result" />
-<Test name="or_r32ui_return_value" />
-<Test name="max_r32ui_return_value" />
+</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="image_size">
-<Test name="readonly_7x1" />
-<Test name="writeonly_32x32" />
-<Test name="readonly_1x1" />
-<Test name="readonly_12x34" />
-<Test name="writeonly_12x34" />
-<Test name="writeonly_7x1" />
-<Test name="readonly_writeonly_32x32" />
-<Test name="writeonly_1x1" />
-<Test name="readonly_writeonly_7x1" />
-<Test name="readonly_32x32" />
-<Test name="readonly_writeonly_1x1" />
-<Test name="readonly_writeonly_12x34" />
+<TestCase name="active_variables">
+<Test name="named_block" />
+<Test name="unnamed_block" />
+<Test name="block_array" />
 </TestCase>
-<TestCase name="qualifiers">
-<Test name="volatile_r32i" />
-<Test name="coherent_r32i" />
-<Test name="coherent_r32f" />
-<Test name="volatile_r32f" />
-<Test name="restrict" />
-<Test name="volatile_r32ui" />
-<Test name="coherent_r32ui" />
+<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="store">
-<Test name="rgba16i" />
-<Test name="rgba8_snorm" />
-<Test name="rgba32ui" />
-<Test name="rgba16f" />
-<Test name="r32ui" />
-<Test name="rgba8" />
-<Test name="rgba8ui" />
-<Test name="rgba16ui" />
-<Test name="rgba32f" />
-<Test name="rgba32i" />
-<Test name="r32i" />
-<Test name="r32f" />
-<Test name="rgba8i" />
+<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 name="buffer">
-<TestCase name="load_store">
-<Test name="rgba32ui" />
-<Test name="rgba8i" />
-<Test name="rgba16i" />
-<Test name="rgba16f" />
-<Test name="r32ui" />
-<Test name="rgba8" />
-<Test name="rgba8ui" />
-<Test name="rgba16ui" />
-<Test name="rgba32f" />
-<Test name="rgba32i" />
-<Test name="r32i" />
-<Test name="r32f" />
+</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>
-<TestCase name="format_reinterpret">
-<Test name="rgba32ui_rgba32i" />
-<Test name="r32f_r32i" />
-<Test name="r32f_rgba8ui" />
-<Test name="rgba32i_rgba32ui" />
-<Test name="rgba16f_rgba16i" />
-<Test name="rgba8i_rgba8" />
-<Test name="r32ui_rgba8" />
-<Test name="rgba16f_rgba16ui" />
-<Test name="rgba8i_r32i" />
-<Test name="rgba8ui_rgba8" />
-<Test name="r32i_rgba8" />
-<Test name="rgba16i_rgba16ui" />
-<Test name="rgba8i_r32f" />
-<Test name="r32f_rgba8" />
-<Test name="r32f_r32ui" />
-<Test name="rgba8ui_rgba8_snorm" />
-<Test name="r32f_rgba8i" />
-<Test name="rgba32f_rgba32ui" />
-<Test name="r32ui_r32i" />
-<Test name="rgba8_rgba8ui" />
-<Test name="r32f_rgba8_snorm" />
-<Test name="rgba8_r32ui" />
-<Test name="r32i_rgba8_snorm" />
-<Test name="r32i_rgba8ui" />
-<Test name="rgba8_r32f" />
-<Test name="r32ui_r32f" />
-<Test name="rgba8_r32i" />
-<Test name="rgba8i_rgba8ui" />
-<Test name="r32ui_rgba8_snorm" />
-<Test name="rgba8_rgba8_snorm" />
-<Test name="rgba8i_rgba8_snorm" />
-<Test name="r32i_r32f" />
-<Test name="rgba32f_rgba32i" />
-<Test name="rgba8ui_r32f" />
-<Test name="rgba16ui_rgba16f" />
-<Test name="rgba16ui_rgba16i" />
-<Test name="rgba8ui_r32i" />
-<Test name="rgba32ui_rgba32f" />
-<Test name="rgba8_rgba8i" />
-<Test name="r32ui_rgba8i" />
-<Test name="rgba8i_r32ui" />
-<Test name="r32i_r32ui" />
-<Test name="r32i_rgba8i" />
-<Test name="rgba8ui_rgba8i" />
-<Test name="rgba32i_rgba32f" />
-<Test name="r32ui_rgba8ui" />
-<Test name="rgba16i_rgba16f" />
-<Test name="rgba8ui_r32ui" />
+<TestSuite name="program_input">
+<TestSuite name="resource_list">
+<TestCase name="vertex_fragment">
+<Test name="empty" />
+<Test name="var" />
 </TestCase>
-<TestCase name="atomic">
-<Test name="add_r32i_result" />
-<Test name="xor_r32i_return_value" />
-<Test name="add_r32i_return_value" />
-<Test name="xor_r32ui_result" />
-<Test name="min_r32ui_return_value" />
-<Test name="comp_swap_r32i_result" />
-<Test name="exchange_r32f_result" />
-<Test name="exchange_r32ui_result" />
-<Test name="min_r32i_return_value" />
-<Test name="and_r32ui_return_value" />
-<Test name="add_r32ui_return_value" />
-<Test name="comp_swap_r32i_return_value" />
-<Test name="xor_r32i_result" />
-<Test name="xor_r32ui_return_value" />
-<Test name="max_r32i_return_value" />
-<Test name="max_r32ui_result" />
-<Test name="comp_swap_r32ui_return_value" />
-<Test name="exchange_r32i_return_value" />
-<Test name="min_r32ui_result" />
-<Test name="or_r32ui_result" />
-<Test name="add_r32ui_result" />
-<Test name="or_r32i_result" />
-<Test name="or_r32i_return_value" />
-<Test name="exchange_r32i_result" />
-<Test name="and_r32i_return_value" />
-<Test name="comp_swap_r32ui_result" />
-<Test name="exchange_r32f_return_value" />
-<Test name="and_r32i_result" />
-<Test name="exchange_r32ui_return_value" />
-<Test name="max_r32i_result" />
-<Test name="min_r32i_result" />
-<Test name="and_r32ui_result" />
-<Test name="or_r32ui_return_value" />
-<Test name="max_r32ui_return_value" />
+<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>
-<TestCase name="image_size">
-<Test name="readonly_writeonly_12" />
-<Test name="readonly_1" />
-<Test name="readonly_writeonly_32" />
-<Test name="readonly_7" />
-<Test name="writeonly_12" />
-<Test name="writeonly_1" />
-<Test name="writeonly_32" />
-<Test name="writeonly_7" />
-<Test name="readonly_writeonly_1" />
-<Test name="readonly_32" />
-<Test name="readonly_writeonly_7" />
-<Test name="readonly_12" />
+</TestSuite>
+<TestSuite name="array_size">
+<TestCase name="vertex_fragment">
+<Test name="var" />
 </TestCase>
-<TestCase name="qualifiers">
-<Test name="volatile_r32i" />
-<Test name="coherent_r32i" />
-<Test name="coherent_r32f" />
-<Test name="volatile_r32f" />
-<Test name="restrict" />
-<Test name="volatile_r32ui" />
-<Test name="coherent_r32ui" />
+<TestCase name="separable_vertex">
+<Test name="var" />
 </TestCase>
-<TestCase name="store">
-<Test name="rgba32ui" />
-<Test name="rgba8i" />
-<Test name="rgba16i" />
-<Test name="rgba16f" />
-<Test name="r32ui" />
-<Test name="rgba8" />
-<Test name="rgba8ui" />
-<Test name="rgba16ui" />
-<Test name="rgba32f" />
-<Test name="rgba32i" />
-<Test name="r32i" />
-<Test name="r32f" />
+<TestCase name="separable_fragment">
+<Test name="var" />
+<Test name="var_struct" />
+<Test name="var_array" />
 </TestCase>
 </TestSuite>
-<TestSuite name="3d">
-<TestCase name="load_store">
-<Test name="rgba16f_single_layer" />
-<Test name="rgba8" />
-<Test name="rgba8_snorm" />
-<Test name="r32ui" />
-<Test name="r32i_single_layer" />
-<Test name="rgba32ui_single_layer" />
-<Test name="rgba16i" />
-<Test name="rgba16f" />
-<Test name="r32f_single_layer" />
-<Test name="r32f" />
-<Test name="rgba8_snorm_single_layer" />
-<Test name="r32i" />
-<Test name="rgba32ui" />
-<Test name="rgba32i_single_layer" />
-<Test name="rgba8ui" />
-<Test name="rgba16ui" />
-<Test name="rgba16i_single_layer" />
-<Test name="rgba16ui_single_layer" />
-<Test name="rgba8_single_layer" />
-<Test name="rgba8i_single_layer" />
-<Test name="rgba8i" />
-<Test name="r32ui_single_layer" />
-<Test name="rgba8ui_single_layer" />
-<Test name="rgba32f_single_layer" />
-<Test name="rgba32f" />
-<Test name="rgba32i" />
+<TestSuite name="location">
+<TestCase name="vertex_fragment">
+<Test name="var" />
+<Test name="var_explicit_location" />
 </TestCase>
-<TestCase name="format_reinterpret">
-<Test name="rgba32ui_rgba32i" />
-<Test name="r32f_r32i" />
-<Test name="r32f_rgba8ui" />
-<Test name="rgba32i_rgba32ui" />
-<Test name="rgba16f_rgba16i" />
-<Test name="rgba8i_rgba8" />
-<Test name="rgba8_snorm_rgba8" />
-<Test name="r32ui_rgba8" />
-<Test name="rgba16f_rgba16ui" />
-<Test name="rgba8i_r32i" />
-<Test name="rgba8i_rgba8ui" />
-<Test name="rgba8ui_rgba8" />
-<Test name="r32i_rgba8" />
-<Test name="rgba16i_rgba16ui" />
-<Test name="r32f_rgba8i" />
-<Test name="r32f_rgba8" />
-<Test name="r32f_r32ui" />
-<Test name="rgba8ui_rgba8_snorm" />
-<Test name="rgba8i_r32f" />
-<Test name="rgba32f_rgba32ui" />
-<Test name="r32ui_r32i" />
-<Test name="rgba8_rgba8ui" />
-<Test name="r32f_rgba8_snorm" />
-<Test name="rgba8_r32ui" />
-<Test name="r32i_rgba8_snorm" />
-<Test name="r32i_rgba8ui" />
-<Test name="rgba8_snorm_r32ui" />
-<Test name="rgba8_r32f" />
-<Test name="r32ui_r32f" />
-<Test name="rgba8_r32i" />
-<Test name="rgba8_snorm_rgba8ui" />
-<Test name="r32ui_rgba8_snorm" />
-<Test name="rgba8_rgba8_snorm" />
-<Test name="rgba8i_rgba8_snorm" />
-<Test name="r32i_r32f" />
-<Test name="rgba32f_rgba32i" />
-<Test name="rgba8ui_r32f" />
-<Test name="rgba16ui_rgba16f" />
-<Test name="rgba16ui_rgba16i" />
-<Test name="rgba8ui_r32i" />
-<Test name="rgba32ui_rgba32f" />
-<Test name="rgba8_rgba8i" />
-<Test name="r32ui_rgba8i" />
-<Test name="rgba8i_r32ui" />
-<Test name="rgba8_snorm_rgba8i" />
-<Test name="r32i_r32ui" />
-<Test name="rgba8_snorm_r32i" />
-<Test name="r32i_rgba8i" />
-<Test name="rgba8ui_rgba8i" />
-<Test name="rgba32i_rgba32f" />
-<Test name="r32ui_rgba8ui" />
-<Test name="rgba8_snorm_r32f" />
-<Test name="rgba16i_rgba16f" />
-<Test name="rgba8ui_r32ui" />
+<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>
-<TestCase name="atomic">
-<Test name="add_r32i_result" />
-<Test name="xor_r32i_return_value" />
-<Test name="add_r32i_return_value" />
-<Test name="xor_r32ui_result" />
-<Test name="min_r32ui_return_value" />
-<Test name="comp_swap_r32i_result" />
-<Test name="exchange_r32f_result" />
-<Test name="exchange_r32ui_result" />
-<Test name="min_r32i_return_value" />
-<Test name="and_r32ui_return_value" />
-<Test name="add_r32ui_return_value" />
-<Test name="comp_swap_r32i_return_value" />
-<Test name="xor_r32i_result" />
-<Test name="xor_r32ui_return_value" />
-<Test name="max_r32i_return_value" />
-<Test name="max_r32ui_result" />
-<Test name="comp_swap_r32ui_return_value" />
-<Test name="exchange_r32i_return_value" />
-<Test name="min_r32ui_result" />
-<Test name="or_r32ui_result" />
-<Test name="add_r32ui_result" />
-<Test name="or_r32i_result" />
-<Test name="or_r32i_return_value" />
-<Test name="exchange_r32i_result" />
-<Test name="and_r32i_return_value" />
-<Test name="comp_swap_r32ui_result" />
-<Test name="exchange_r32f_return_value" />
-<Test name="and_r32i_result" />
-<Test name="exchange_r32ui_return_value" />
-<Test name="max_r32i_result" />
-<Test name="min_r32i_result" />
-<Test name="and_r32ui_result" />
-<Test name="or_r32ui_return_value" />
-<Test name="max_r32ui_return_value" />
+</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="image_size">
-<Test name="readonly_7x1x1" />
-<Test name="readonly_32x32x32" />
-<Test name="readonly_writeonly_1x1x1" />
-<Test name="writeonly_1x1x1" />
-<Test name="writeonly_12x34x56" />
-<Test name="readonly_writeonly_32x32x32" />
-<Test name="readonly_12x34x56" />
-<Test name="readonly_1x1x1" />
-<Test name="writeonly_32x32x32" />
-<Test name="readonly_writeonly_7x1x1" />
-<Test name="writeonly_7x1x1" />
-<Test name="readonly_writeonly_12x34x56" />
+<TestCase name="separable_vertex">
+<Test name="empty" />
+<Test name="var" />
+<Test name="var_struct" />
+<Test name="var_array" />
 </TestCase>
-<TestCase name="qualifiers">
-<Test name="volatile_r32i" />
-<Test name="coherent_r32i" />
-<Test name="coherent_r32f" />
-<Test name="volatile_r32f" />
-<Test name="restrict" />
-<Test name="volatile_r32ui" />
-<Test name="coherent_r32ui" />
+<TestCase name="separable_fragment">
+<Test name="empty" />
+<Test name="var" />
+<Test name="var_array" />
 </TestCase>
-<TestCase name="store">
-<Test name="rgba16f_single_layer" />
-<Test name="rgba8" />
-<Test name="rgba8_snorm" />
-<Test name="r32ui" />
-<Test name="r32i_single_layer" />
-<Test name="rgba32ui_single_layer" />
-<Test name="rgba16i" />
-<Test name="rgba16f" />
-<Test name="r32f_single_layer" />
-<Test name="r32f" />
-<Test name="rgba8_snorm_single_layer" />
-<Test name="r32i" />
-<Test name="rgba32ui" />
-<Test name="rgba32i_single_layer" />
-<Test name="rgba8ui" />
-<Test name="rgba16ui" />
-<Test name="rgba16i_single_layer" />
-<Test name="rgba16ui_single_layer" />
-<Test name="rgba8_single_layer" />
-<Test name="rgba8i_single_layer" />
-<Test name="rgba8i" />
-<Test name="r32ui_single_layer" />
-<Test name="rgba8ui_single_layer" />
-<Test name="rgba32f_single_layer" />
-<Test name="rgba32f" />
-<Test name="rgba32i" />
+<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="vertex_attribute_binding">
-<TestSuite name="usage">
-<TestCase name="single_binding">
-<Test name="elements_1" />
-<Test name="elements_2" />
-<Test name="unaligned_offset_elements_1_aligned_elements" />
-<Test name="offset_elements_2" />
-<Test name="offset_elements_1" />
-<Test name="offset_elements_2_share_elements" />
-<Test name="elements_2_share_elements" />
+<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="multiple_bindings">
-<Test name="instanced" />
-<Test name="basic" />
-<Test name="aliasing_buffer_zero_stride" />
-<Test name="aliasing_buffer_instanced" />
-<Test name="zero_stride" />
+<TestCase name="separable_vertex">
+<Test name="var_explicit_location" />
+<Test name="var_struct_explicit_location" />
+<Test name="var_array_explicit_location" />
 </TestCase>
-<TestCase name="mixed_usage">
-<Test name="mixed_attribs_instanced_binding" />
-<Test name="mixed_api_change_buffer" />
-<Test name="mixed_api_change_binding_point" />
-<Test name="mixed_api_change_buffer_stride" />
-<Test name="mixed_attribs_instanced_attrib" />
-<Test name="mixed_api_change_buffer_offset" />
-<Test name="mixed_attribs_basic" />
+<TestCase name="separable_fragment">
+<Test name="var" />
+<Test name="var_explicit_location" />
+<Test name="var_array" />
+<Test name="var_array_explicit_location" />
 </TestCase>
 </TestSuite>
-<TestCase name="negative">
-<Test name="vertex_attrib_binding_invalid_binding" />
-<Test name="default_vao_bind_vertex_buffer" />
-<Test name="default_vao_vertex_attrib_i_format" />
-<Test name="vertex_attrib_binding_invalid_attr" />
-<Test name="bind_create_new_buffer" />
-<Test name="default_vao_vertex_attrib_format" />
-<Test name="default_vao_vertex_attrib_binding" />
-<Test name="default_vao_vertex_binding_divisor" />
-<Test name="vertex_attrib_format_large_offset" />
+<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>
-<TestSuite name="ssbo">
-<TestCase name="array_length">
-<Test name="sized_array" />
-<Test name="unsized_array" />
-<Test name="sized_readonly_array" />
-<Test name="unsized_readonly_array" />
-<Test name="sized_writeonly_array" />
+<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="layout">
-<TestSuite name="3_level_unsized_array">
-<TestCase name="shared">
-<Test name="int" />
-<Test name="row_major_mat3" />
+<TestSuite name="type">
+<TestSuite name="vertex_fragment">
+<TestCase name="basic_type">
 <Test name="float" />
-<Test name="row_major_mat4" />
+<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="mat3x4" />
-<Test name="mat3x2" />
+<Test name="vec4" />
+<Test name="ivec2" />
+<Test name="ivec3" />
+<Test name="ivec4" />
 <Test name="uvec2" />
 <Test name="uvec3" />
-<Test name="column_major_mat3x2" />
-<Test name="bool" />
-<Test name="column_major_mat3x4" />
-<Test name="column_major_mat2" />
-<Test name="column_major_mat3" />
-<Test name="column_major_mat4" />
-<Test name="mat2x3" />
-<Test name="row_major_mat2x4" />
-<Test name="row_major_mat2" />
-<Test name="row_major_mat2x3" />
-<Test name="column_major_mat2x3" />
-<Test name="column_major_mat2x4" />
-<Test name="bvec3" />
+<Test name="uvec4" />
+</TestCase>
+</TestSuite>
+<TestSuite name="separable_vertex">
+<TestCase name="basic_type">
+<Test name="float" />
+<Test name="int" />
 <Test name="uint" />
-<Test name="mat2x4" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 <Test name="ivec2" />
 <Test name="ivec3" />
-<Test name="uvec4" />
-<Test name="column_major_mat4x2" />
-<Test name="column_major_mat4x3" />
 <Test name="ivec4" />
-<Test name="bvec4" />
-<Test name="mat4" />
-<Test name="bvec2" />
+<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="row_major_mat4x3" />
-<Test name="row_major_mat4x2" />
-<Test name="row_major_mat3x4" />
-<Test name="row_major_mat3x2" />
+<Test name="mat4" />
 </TestCase>
-<TestCase name="std140">
-<Test name="int" />
-<Test name="row_major_mat3" />
+<TestCase name="array">
 <Test name="float" />
-<Test name="row_major_mat4" />
-<Test name="vec4" />
+<Test name="int" />
+<Test name="uint" />
 <Test name="vec2" />
 <Test name="vec3" />
-<Test name="mat3x4" />
-<Test name="mat3x2" />
-<Test name="uvec2" />
-<Test name="uvec3" />
-<Test name="column_major_mat3x2" />
-<Test name="bool" />
-<Test name="column_major_mat3x4" />
-<Test name="column_major_mat2" />
-<Test name="column_major_mat3" />
-<Test name="column_major_mat4" />
-<Test name="mat2x3" />
-<Test name="row_major_mat2x4" />
-<Test name="row_major_mat2" />
-<Test name="row_major_mat2x3" />
-<Test name="column_major_mat2x3" />
-<Test name="column_major_mat2x4" />
-<Test name="bvec3" />
-<Test name="uint" />
-<Test name="mat2x4" />
+<Test name="vec4" />
 <Test name="ivec2" />
 <Test name="ivec3" />
-<Test name="uvec4" />
-<Test name="column_major_mat4x2" />
-<Test name="column_major_mat4x3" />
 <Test name="ivec4" />
-<Test name="bvec4" />
-<Test name="mat4" />
-<Test name="bvec2" />
+<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="row_major_mat4x3" />
-<Test name="row_major_mat4x2" />
-<Test name="row_major_mat3x4" />
-<Test name="row_major_mat3x2" />
+<Test name="mat4" />
 </TestCase>
-<TestCase name="std430">
-<Test name="int" />
-<Test name="row_major_mat3" />
+<TestCase name="struct">
 <Test name="float" />
-<Test name="row_major_mat4" />
-<Test name="vec4" />
+<Test name="int" />
+<Test name="uint" />
 <Test name="vec2" />
 <Test name="vec3" />
-<Test name="mat3x4" />
-<Test name="mat3x2" />
-<Test name="uvec2" />
-<Test name="uvec3" />
-<Test name="column_major_mat3x2" />
-<Test name="bool" />
-<Test name="column_major_mat3x4" />
-<Test name="column_major_mat2" />
-<Test name="column_major_mat3" />
-<Test name="column_major_mat4" />
-<Test name="mat2x3" />
-<Test name="row_major_mat2x4" />
-<Test name="row_major_mat2" />
-<Test name="row_major_mat2x3" />
-<Test name="column_major_mat2x3" />
-<Test name="column_major_mat2x4" />
-<Test name="bvec3" />
-<Test name="uint" />
-<Test name="mat2x4" />
+<Test name="vec4" />
 <Test name="ivec2" />
 <Test name="ivec3" />
-<Test name="uvec4" />
-<Test name="column_major_mat4x2" />
-<Test name="column_major_mat4x3" />
 <Test name="ivec4" />
-<Test name="bvec4" />
-<Test name="mat4" />
-<Test name="bvec2" />
+<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="row_major_mat4x3" />
-<Test name="row_major_mat4x2" />
-<Test name="row_major_mat3x4" />
-<Test name="row_major_mat3x2" />
+<Test name="mat4" />
 </TestCase>
-<TestCase name="packed">
-<Test name="int" />
-<Test name="row_major_mat3" />
+</TestSuite>
+<TestSuite name="separable_fragment">
+<TestCase name="basic_type">
 <Test name="float" />
-<Test name="row_major_mat4" />
-<Test name="vec4" />
+<Test name="int" />
+<Test name="uint" />
 <Test name="vec2" />
 <Test name="vec3" />
-<Test name="mat3x4" />
-<Test name="mat3x2" />
+<Test name="vec4" />
+<Test name="ivec2" />
+<Test name="ivec3" />
+<Test name="ivec4" />
 <Test name="uvec2" />
 <Test name="uvec3" />
-<Test name="column_major_mat3x2" />
-<Test name="bool" />
-<Test name="column_major_mat3x4" />
-<Test name="column_major_mat2" />
-<Test name="column_major_mat3" />
-<Test name="column_major_mat4" />
-<Test name="mat2x3" />
-<Test name="row_major_mat2x4" />
-<Test name="row_major_mat2" />
-<Test name="row_major_mat2x3" />
-<Test name="column_major_mat2x3" />
-<Test name="column_major_mat2x4" />
-<Test name="bvec3" />
+<Test name="uvec4" />
+</TestCase>
+<TestCase name="array">
+<Test name="float" />
+<Test name="int" />
 <Test name="uint" />
-<Test name="mat2x4" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 <Test name="ivec2" />
 <Test name="ivec3" />
-<Test name="uvec4" />
-<Test name="column_major_mat4x2" />
-<Test name="column_major_mat4x3" />
 <Test name="ivec4" />
-<Test name="bvec4" />
-<Test name="mat4" />
-<Test name="bvec2" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x2" />
-<Test name="mat4x3" />
-<Test name="row_major_mat4x3" />
-<Test name="row_major_mat4x2" />
-<Test name="row_major_mat3x4" />
-<Test name="row_major_mat3x2" />
+<Test name="uvec2" />
+<Test name="uvec3" />
+<Test name="uvec4" />
 </TestCase>
 </TestSuite>
-<TestSuite name="2_level_unsized_struct_array">
-<TestCase name="single_buffer">
-<Test name="packed_instance_array" />
-<Test name="shared_instance_array" />
-<Test name="std140_instance_array" />
-<Test name="std430_instance_array" />
+</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="per_block_buffer">
-<Test name="std140" />
-<Test name="shared_instance_array" />
-<Test name="std140_instance_array" />
-<Test name="shared" />
-<Test name="packed_instance_array" />
-<Test name="std430" />
-<Test name="std430_instance_array" />
-<Test name="packed" />
+<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="single_basic_array">
-<TestCase name="shared">
-<Test name="int" />
-<Test name="row_major_mat3" />
+<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="row_major_mat4" />
-<Test name="vec4" />
+<Test name="int" />
+<Test name="uint" />
 <Test name="vec2" />
 <Test name="vec3" />
-<Test name="mat3x4" />
-<Test name="mat3x2" />
-<Test name="uvec2" />
-<Test name="uvec3" />
-<Test name="column_major_mat3x2" />
-<Test name="bool" />
-<Test name="column_major_mat3x4" />
-<Test name="column_major_mat2" />
-<Test name="column_major_mat3" />
-<Test name="column_major_mat4" />
-<Test name="mat2x3" />
-<Test name="row_major_mat2x4" />
-<Test name="row_major_mat2" />
-<Test name="row_major_mat2x3" />
-<Test name="column_major_mat2x3" />
-<Test name="column_major_mat2x4" />
-<Test name="bvec3" />
-<Test name="uint" />
-<Test name="mat2x4" />
+<Test name="vec4" />
 <Test name="ivec2" />
 <Test name="ivec3" />
-<Test name="uvec4" />
-<Test name="column_major_mat4x2" />
-<Test name="column_major_mat4x3" />
 <Test name="ivec4" />
-<Test name="bvec4" />
-<Test name="mat4" />
-<Test name="bvec2" />
+<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="row_major_mat4x3" />
-<Test name="row_major_mat4x2" />
-<Test name="row_major_mat3x4" />
-<Test name="row_major_mat3x2" />
+<Test name="mat4" />
 </TestCase>
-<TestCase name="std140">
-<Test name="int" />
-<Test name="row_major_mat3" />
+<TestCase name="array">
 <Test name="float" />
-<Test name="row_major_mat4" />
-<Test name="vec4" />
+<Test name="int" />
+<Test name="uint" />
 <Test name="vec2" />
 <Test name="vec3" />
-<Test name="mat3x4" />
-<Test name="mat3x2" />
-<Test name="uvec2" />
-<Test name="uvec3" />
-<Test name="column_major_mat3x2" />
-<Test name="bool" />
-<Test name="column_major_mat3x4" />
-<Test name="column_major_mat2" />
-<Test name="column_major_mat3" />
-<Test name="column_major_mat4" />
-<Test name="mat2x3" />
-<Test name="row_major_mat2x4" />
-<Test name="row_major_mat2" />
-<Test name="row_major_mat2x3" />
-<Test name="column_major_mat2x3" />
-<Test name="column_major_mat2x4" />
-<Test name="bvec3" />
-<Test name="uint" />
-<Test name="mat2x4" />
+<Test name="vec4" />
 <Test name="ivec2" />
 <Test name="ivec3" />
-<Test name="uvec4" />
-<Test name="column_major_mat4x2" />
-<Test name="column_major_mat4x3" />
 <Test name="ivec4" />
-<Test name="bvec4" />
-<Test name="mat4" />
-<Test name="bvec2" />
+<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="row_major_mat4x3" />
-<Test name="row_major_mat4x2" />
-<Test name="row_major_mat3x4" />
-<Test name="row_major_mat3x2" />
+<Test name="mat4" />
 </TestCase>
-<TestCase name="std430">
-<Test name="int" />
-<Test name="row_major_mat3" />
+</TestSuite>
+<TestSuite name="separable_vertex">
+<TestCase name="basic_type">
 <Test name="float" />
-<Test name="row_major_mat4" />
-<Test name="vec4" />
+<Test name="int" />
+<Test name="uint" />
 <Test name="vec2" />
 <Test name="vec3" />
-<Test name="mat3x4" />
-<Test name="mat3x2" />
+<Test name="vec4" />
+<Test name="ivec2" />
+<Test name="ivec3" />
+<Test name="ivec4" />
 <Test name="uvec2" />
 <Test name="uvec3" />
-<Test name="column_major_mat3x2" />
-<Test name="bool" />
-<Test name="column_major_mat3x4" />
-<Test name="column_major_mat2" />
-<Test name="column_major_mat3" />
-<Test name="column_major_mat4" />
+<Test name="uvec4" />
+<Test name="mat2" />
 <Test name="mat2x3" />
-<Test name="row_major_mat2x4" />
-<Test name="row_major_mat2" />
-<Test name="row_major_mat2x3" />
-<Test name="column_major_mat2x3" />
-<Test name="column_major_mat2x4" />
-<Test name="bvec3" />
-<Test name="uint" />
 <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="uvec4" />
-<Test name="column_major_mat4x2" />
-<Test name="column_major_mat4x3" />
 <Test name="ivec4" />
-<Test name="bvec4" />
-<Test name="mat4" />
-<Test name="bvec2" />
+<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="row_major_mat4x3" />
-<Test name="row_major_mat4x2" />
-<Test name="row_major_mat3x4" />
-<Test name="row_major_mat3x2" />
+<Test name="mat4" />
 </TestCase>
-<TestCase name="packed">
-<Test name="int" />
-<Test name="row_major_mat3" />
+</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="row_major_mat4" />
+<Test name="int" />
+<Test name="uint" />
+<Test name="bool" />
+<Test name="vec3" />
 <Test name="vec4" />
-<Test name="vec2" />
+</TestCase>
+<TestSuite name="sized">
+<TestCase name="types">
+<Test name="float" />
+<Test name="int" />
+<Test name="uint" />
+<Test name="bool" />
 <Test name="vec3" />
-<Test name="mat3x4" />
-<Test name="mat3x2" />
-<Test name="uvec2" />
+<Test name="vec4" />
+<Test name="ivec3" />
 <Test name="uvec3" />
-<Test name="column_major_mat3x2" />
-<Test name="bool" />
-<Test name="column_major_mat3x4" />
-<Test name="column_major_mat2" />
-<Test name="column_major_mat3" />
-<Test name="column_major_mat4" />
-<Test name="mat2x3" />
-<Test name="row_major_mat2x4" />
-<Test name="row_major_mat2" />
-<Test name="row_major_mat2x3" />
-<Test name="column_major_mat2x3" />
-<Test name="column_major_mat2x4" />
 <Test name="bvec3" />
-<Test name="uint" />
-<Test name="mat2x4" />
-<Test name="ivec2" />
-<Test name="ivec3" />
-<Test name="uvec4" />
-<Test name="column_major_mat4x2" />
-<Test name="column_major_mat4x3" />
-<Test name="ivec4" />
-<Test name="bvec4" />
-<Test name="mat4" />
-<Test name="bvec2" />
 <Test name="mat2" />
+<Test name="mat3x2" />
 <Test name="mat3" />
 <Test name="mat4x2" />
-<Test name="mat4x3" />
-<Test name="row_major_mat4x3" />
-<Test name="row_major_mat4x2" />
-<Test name="row_major_mat3x4" />
-<Test name="row_major_mat3x2" />
-</TestCase>
-</TestSuite>
-<TestSuite name="unsized_struct_array">
-<TestCase name="single_buffer">
-<Test name="packed_instance_array" />
-<Test name="shared_instance_array" />
-<Test name="std140_instance_array" />
-<Test name="std430_instance_array" />
+<Test name="mat4" />
 </TestCase>
-<TestCase name="per_block_buffer">
-<Test name="std140" />
-<Test name="shared_instance_array" />
-<Test name="std140_instance_array" />
-<Test name="shared" />
-<Test name="packed_instance_array" />
-<Test name="std430" />
-<Test name="std430_instance_array" />
-<Test name="packed" />
+<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="single_struct_array">
-<TestCase name="single_buffer">
-<Test name="packed_instance_array" />
-<Test name="shared_instance_array" />
-<Test name="std140_instance_array" />
-<Test name="std430_instance_array" />
+<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="per_block_buffer">
-<Test name="std140" />
-<Test name="shared_instance_array" />
-<Test name="std140_instance_array" />
-<Test name="shared" />
-<Test name="packed_instance_array" />
-<Test name="std430" />
-<Test name="std430_instance_array" />
-<Test name="packed" />
+<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 name="single_nested_struct_array">
-<TestCase name="single_buffer">
-<Test name="packed_instance_array" />
-<Test name="shared_instance_array" />
-<Test name="std140_instance_array" />
-<Test name="std430_instance_array" />
+</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="per_block_buffer">
-<Test name="std140" />
-<Test name="shared_instance_array" />
-<Test name="std140_instance_array" />
-<Test name="shared" />
-<Test name="packed_instance_array" />
-<Test name="std430" />
-<Test name="std430_instance_array" />
-<Test name="packed" />
+<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="single_basic_type">
-<TestCase name="shared">
-<Test name="mediump_ivec2" />
-<Test name="mediump_ivec3" />
-<Test name="mediump_ivec4" />
-<Test name="lowp_mat3x2" />
-<Test name="lowp_mat4x2" />
-<Test name="lowp_mat4x3" />
-<Test name="lowp_vec4" />
-<Test name="lowp_mat3x4" />
-<Test name="lowp_vec2" />
-<Test name="lowp_vec3" />
-<Test name="highp_vec3" />
-<Test name="highp_vec2" />
-<Test name="highp_vec4" />
-<Test name="lowp_mat4" />
-<Test name="row_major_highp_mat2x3" />
-<Test name="row_major_highp_mat2x4" />
-<Test name="lowp_mat3" />
-<Test name="highp_mat3x4" />
-<Test name="row_major_highp_mat3x2" />
-<Test name="highp_mat3x2" />
-<Test name="row_major_highp_mat3x4" />
-<Test name="column_major_lowp_mat4x2" />
-<Test name="highp_uint" />
-<Test name="bvec3" />
-<Test name="bvec2" />
-<Test name="column_major_highp_mat3x4" />
-<Test name="column_major_highp_mat3x2" />
-<Test name="bvec4" />
-<Test name="column_major_highp_mat3" />
-<Test name="column_major_highp_mat2" />
-<Test name="column_major_highp_mat4" />
-<Test name="mediump_mat3x2" />
-<Test name="highp_ivec3" />
-<Test name="highp_ivec2" />
-<Test name="highp_ivec4" />
-<Test name="highp_int" />
-<Test name="lowp_ivec4" />
-<Test name="column_major_mediump_mat2" />
-<Test name="lowp_ivec3" />
-<Test name="column_major_highp_mat4x3" />
-<Test name="column_major_highp_mat4x2" />
-<Test name="row_major_highp_mat2" />
-<Test name="row_major_highp_mat3" />
-<Test name="row_major_highp_mat4" />
-<Test name="column_major_lowp_mat4" />
-<Test name="column_major_lowp_mat2" />
-<Test name="column_major_lowp_mat3" />
-<Test name="column_major_mediump_mat2x4" />
-<Test name="row_major_mediump_mat4" />
-<Test name="row_major_mediump_mat3" />
-<Test name="row_major_mediump_mat2" />
-<Test name="highp_mat2x4" />
-<Test name="highp_mat2x3" />
-<Test name="row_major_lowp_mat2x4" />
-<Test name="column_major_lowp_mat2x4" />
-<Test name="mediump_mat3x4" />
-<Test name="row_major_mediump_mat4x3" />
-<Test name="row_major_mediump_mat4x2" />
-<Test name="row_major_lowp_mat3" />
-<Test name="row_major_lowp_mat2" />
-<Test name="mediump_mat2x3" />
-<Test name="mediump_mat2x4" />
-<Test name="row_major_lowp_mat4" />
-<Test name="mediump_int" />
-<Test name="column_major_mediump_mat4x2" />
-<Test name="column_major_mediump_mat4x3" />
-<Test name="lowp_mat2" />
-<Test name="lowp_float" />
+<TestSuite name="block_array">
+<TestCase name="sized">
+<Test name="float" />
+<Test name="float_struct" />
+<Test name="float_array" />
 <Test name="bool" />
-<Test name="row_major_highp_mat4x2" />
-<Test name="row_major_highp_mat4x3" />
-<Test name="mediump_uint" />
-<Test name="mediump_mat3" />
-<Test name="mediump_mat4" />
-<Test name="highp_float" />
-<Test name="mediump_mat4x2" />
-<Test name="mediump_mat4x3" />
-<Test name="column_major_highp_mat2x4" />
-<Test name="column_major_highp_mat2x3" />
-<Test name="mediump_uvec4" />
-<Test name="mediump_uvec2" />
-<Test name="mediump_uvec3" />
-<Test name="column_major_lowp_mat2x3" />
-<Test name="row_major_lowp_mat2x3" />
-<Test name="mediump_mat2" />
-<Test name="mediump_vec2" />
-<Test name="mediump_vec3" />
-<Test name="mediump_vec4" />
-<Test name="lowp_mat2x4" />
-<Test name="lowp_mat2x3" />
-<Test name="row_major_lowp_mat4x3" />
-<Test name="row_major_lowp_mat4x2" />
-<Test name="row_major_mediump_mat2x3" />
-<Test name="row_major_mediump_mat2x4" />
-<Test name="column_major_mediump_mat4" />
-<Test name="lowp_uvec2" />
-<Test name="lowp_ivec2" />
-<Test name="lowp_uvec4" />
-<Test name="column_major_mediump_mat3" />
-<Test name="lowp_uint" />
-<Test name="lowp_int" />
-<Test name="column_major_lowp_mat4x3" />
-<Test name="highp_uvec4" />
-<Test name="row_major_lowp_mat3x4" />
-<Test name="row_major_lowp_mat3x2" />
-<Test name="highp_uvec3" />
-<Test name="highp_uvec2" />
-<Test name="row_major_mediump_mat3x2" />
-<Test name="highp_mat4x3" />
-<Test name="highp_mat4x2" />
-<Test name="column_major_mediump_mat2x3" />
-<Test name="row_major_mediump_mat3x4" />
-<Test name="mediump_float" />
-<Test name="column_major_mediump_mat3x4" />
-<Test name="column_major_mediump_mat3x2" />
-<Test name="lowp_uvec3" />
-<Test name="highp_mat3" />
-<Test name="highp_mat2" />
-<Test name="column_major_lowp_mat3x2" />
-<Test name="column_major_lowp_mat3x4" />
-<Test name="highp_mat4" />
+<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="std140">
-<Test name="mediump_ivec2" />
-<Test name="mediump_ivec3" />
-<Test name="mediump_ivec4" />
-<Test name="lowp_mat3x2" />
-<Test name="lowp_mat4x2" />
-<Test name="lowp_mat4x3" />
-<Test name="lowp_vec4" />
-<Test name="lowp_mat3x4" />
-<Test name="lowp_vec2" />
-<Test name="lowp_vec3" />
-<Test name="highp_vec3" />
-<Test name="highp_vec2" />
-<Test name="highp_vec4" />
-<Test name="lowp_mat4" />
-<Test name="row_major_highp_mat2x3" />
-<Test name="row_major_highp_mat2x4" />
-<Test name="lowp_mat3" />
-<Test name="highp_mat3x4" />
-<Test name="row_major_highp_mat3x2" />
-<Test name="highp_mat3x2" />
-<Test name="row_major_highp_mat3x4" />
-<Test name="column_major_lowp_mat4x2" />
-<Test name="highp_uint" />
+<TestCase name="unsized">
+<Test name="float" />
+<Test name="float_struct" />
+<Test name="float_array" />
+<Test name="bool" />
 <Test name="bvec3" />
-<Test name="bvec2" />
-<Test name="column_major_highp_mat3x4" />
-<Test name="column_major_highp_mat3x2" />
-<Test name="bvec4" />
-<Test name="column_major_highp_mat3" />
-<Test name="column_major_highp_mat2" />
-<Test name="column_major_highp_mat4" />
-<Test name="mediump_mat3x2" />
-<Test name="highp_ivec3" />
-<Test name="highp_ivec2" />
-<Test name="highp_ivec4" />
-<Test name="highp_int" />
-<Test name="lowp_ivec4" />
-<Test name="column_major_mediump_mat2" />
-<Test name="lowp_ivec3" />
-<Test name="column_major_highp_mat4x3" />
-<Test name="column_major_highp_mat4x2" />
-<Test name="row_major_highp_mat2" />
-<Test name="row_major_highp_mat3" />
-<Test name="row_major_highp_mat4" />
-<Test name="column_major_lowp_mat4" />
-<Test name="column_major_lowp_mat2" />
-<Test name="column_major_lowp_mat3" />
-<Test name="column_major_mediump_mat2x4" />
-<Test name="row_major_mediump_mat4" />
-<Test name="row_major_mediump_mat3" />
-<Test name="row_major_mediump_mat2" />
-<Test name="highp_mat2x4" />
-<Test name="highp_mat2x3" />
-<Test name="row_major_lowp_mat2x4" />
-<Test name="column_major_lowp_mat2x4" />
-<Test name="mediump_mat3x4" />
-<Test name="row_major_mediump_mat4x3" />
-<Test name="row_major_mediump_mat4x2" />
-<Test name="row_major_lowp_mat3" />
-<Test name="row_major_lowp_mat2" />
-<Test name="mediump_mat2x3" />
-<Test name="mediump_mat2x4" />
-<Test name="row_major_lowp_mat4" />
-<Test name="mediump_int" />
-<Test name="column_major_mediump_mat4x2" />
-<Test name="column_major_mediump_mat4x3" />
-<Test name="lowp_mat2" />
-<Test name="lowp_float" />
+<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="row_major_highp_mat4x2" />
-<Test name="row_major_highp_mat4x3" />
-<Test name="mediump_uint" />
-<Test name="mediump_mat3" />
-<Test name="mediump_mat4" />
-<Test name="highp_float" />
-<Test name="mediump_mat4x2" />
-<Test name="mediump_mat4x3" />
-<Test name="column_major_highp_mat2x4" />
-<Test name="column_major_highp_mat2x3" />
-<Test name="mediump_uvec4" />
-<Test name="mediump_uvec2" />
-<Test name="mediump_uvec3" />
-<Test name="column_major_lowp_mat2x3" />
-<Test name="row_major_lowp_mat2x3" />
-<Test name="mediump_mat2" />
-<Test name="mediump_vec2" />
-<Test name="mediump_vec3" />
-<Test name="mediump_vec4" />
-<Test name="lowp_mat2x4" />
-<Test name="lowp_mat2x3" />
-<Test name="row_major_lowp_mat4x3" />
-<Test name="row_major_lowp_mat4x2" />
-<Test name="row_major_mediump_mat2x3" />
-<Test name="row_major_mediump_mat2x4" />
-<Test name="column_major_mediump_mat4" />
-<Test name="lowp_uvec2" />
-<Test name="lowp_ivec2" />
-<Test name="lowp_uvec4" />
-<Test name="column_major_mediump_mat3" />
-<Test name="lowp_uint" />
-<Test name="lowp_int" />
-<Test name="column_major_lowp_mat4x3" />
-<Test name="highp_uvec4" />
-<Test name="row_major_lowp_mat3x4" />
-<Test name="row_major_lowp_mat3x2" />
-<Test name="highp_uvec3" />
-<Test name="highp_uvec2" />
-<Test name="row_major_mediump_mat3x2" />
-<Test name="highp_mat4x3" />
-<Test name="highp_mat4x2" />
-<Test name="column_major_mediump_mat2x3" />
-<Test name="row_major_mediump_mat3x4" />
-<Test name="mediump_float" />
-<Test name="column_major_mediump_mat3x4" />
-<Test name="column_major_mediump_mat3x2" />
-<Test name="lowp_uvec3" />
-<Test name="highp_mat3" />
-<Test name="highp_mat2" />
-<Test name="column_major_lowp_mat3x2" />
-<Test name="column_major_lowp_mat3x4" />
-<Test name="highp_mat4" />
+<Test name="vec3" />
+<Test name="vec4" />
 </TestCase>
-<TestCase name="std430">
-<Test name="mediump_ivec2" />
-<Test name="mediump_ivec3" />
-<Test name="mediump_ivec4" />
-<Test name="lowp_mat3x2" />
-<Test name="lowp_mat4x2" />
-<Test name="lowp_mat4x3" />
-<Test name="lowp_vec4" />
-<Test name="lowp_mat3x4" />
-<Test name="lowp_vec2" />
-<Test name="lowp_vec3" />
-<Test name="highp_vec3" />
-<Test name="highp_vec2" />
-<Test name="highp_vec4" />
-<Test name="lowp_mat4" />
-<Test name="row_major_highp_mat2x3" />
-<Test name="row_major_highp_mat2x4" />
-<Test name="lowp_mat3" />
-<Test name="highp_mat3x4" />
-<Test name="row_major_highp_mat3x2" />
-<Test name="highp_mat3x2" />
-<Test name="row_major_highp_mat3x4" />
-<Test name="column_major_lowp_mat4x2" />
-<Test name="highp_uint" />
+<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="bvec2" />
-<Test name="column_major_highp_mat3x4" />
-<Test name="column_major_highp_mat3x2" />
-<Test name="bvec4" />
-<Test name="column_major_highp_mat3" />
-<Test name="column_major_highp_mat2" />
-<Test name="column_major_highp_mat4" />
-<Test name="mediump_mat3x2" />
-<Test name="highp_ivec3" />
-<Test name="highp_ivec2" />
-<Test name="highp_ivec4" />
-<Test name="highp_int" />
-<Test name="lowp_ivec4" />
-<Test name="column_major_mediump_mat2" />
-<Test name="lowp_ivec3" />
-<Test name="column_major_highp_mat4x3" />
-<Test name="column_major_highp_mat4x2" />
-<Test name="row_major_highp_mat2" />
-<Test name="row_major_highp_mat3" />
-<Test name="row_major_highp_mat4" />
-<Test name="column_major_lowp_mat4" />
-<Test name="column_major_lowp_mat2" />
-<Test name="column_major_lowp_mat3" />
-<Test name="column_major_mediump_mat2x4" />
-<Test name="row_major_mediump_mat4" />
-<Test name="row_major_mediump_mat3" />
-<Test name="row_major_mediump_mat2" />
-<Test name="highp_mat2x4" />
-<Test name="highp_mat2x3" />
-<Test name="row_major_lowp_mat2x4" />
-<Test name="column_major_lowp_mat2x4" />
-<Test name="mediump_mat3x4" />
-<Test name="row_major_mediump_mat4x3" />
-<Test name="row_major_mediump_mat4x2" />
-<Test name="row_major_lowp_mat3" />
-<Test name="row_major_lowp_mat2" />
-<Test name="mediump_mat2x3" />
-<Test name="mediump_mat2x4" />
-<Test name="row_major_lowp_mat4" />
-<Test name="mediump_int" />
-<Test name="column_major_mediump_mat4x2" />
-<Test name="column_major_mediump_mat4x3" />
-<Test name="lowp_mat2" />
-<Test name="lowp_float" />
+<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="row_major_highp_mat4x2" />
-<Test name="row_major_highp_mat4x3" />
-<Test name="mediump_uint" />
-<Test name="mediump_mat3" />
-<Test name="mediump_mat4" />
-<Test name="highp_float" />
-<Test name="mediump_mat4x2" />
-<Test name="mediump_mat4x3" />
-<Test name="column_major_highp_mat2x4" />
-<Test name="column_major_highp_mat2x3" />
-<Test name="mediump_uvec4" />
-<Test name="mediump_uvec2" />
-<Test name="mediump_uvec3" />
-<Test name="column_major_lowp_mat2x3" />
-<Test name="row_major_lowp_mat2x3" />
-<Test name="mediump_mat2" />
-<Test name="mediump_vec2" />
-<Test name="mediump_vec3" />
-<Test name="mediump_vec4" />
-<Test name="lowp_mat2x4" />
-<Test name="lowp_mat2x3" />
-<Test name="row_major_lowp_mat4x3" />
-<Test name="row_major_lowp_mat4x2" />
-<Test name="row_major_mediump_mat2x3" />
-<Test name="row_major_mediump_mat2x4" />
-<Test name="column_major_mediump_mat4" />
-<Test name="lowp_uvec2" />
-<Test name="lowp_ivec2" />
-<Test name="lowp_uvec4" />
-<Test name="column_major_mediump_mat3" />
-<Test name="lowp_uint" />
-<Test name="lowp_int" />
-<Test name="column_major_lowp_mat4x3" />
-<Test name="highp_uvec4" />
-<Test name="row_major_lowp_mat3x4" />
-<Test name="row_major_lowp_mat3x2" />
-<Test name="highp_uvec3" />
-<Test name="highp_uvec2" />
-<Test name="row_major_mediump_mat3x2" />
-<Test name="highp_mat4x3" />
-<Test name="highp_mat4x2" />
-<Test name="column_major_mediump_mat2x3" />
-<Test name="row_major_mediump_mat3x4" />
-<Test name="mediump_float" />
-<Test name="column_major_mediump_mat3x4" />
-<Test name="column_major_mediump_mat3x2" />
-<Test name="lowp_uvec3" />
-<Test name="highp_mat3" />
-<Test name="highp_mat2" />
-<Test name="column_major_lowp_mat3x2" />
-<Test name="column_major_lowp_mat3x4" />
-<Test name="highp_mat4" />
+<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>
-<TestCase name="packed">
-<Test name="mediump_ivec2" />
-<Test name="mediump_ivec3" />
-<Test name="mediump_ivec4" />
-<Test name="lowp_mat3x2" />
-<Test name="lowp_mat4x2" />
-<Test name="lowp_mat4x3" />
-<Test name="lowp_vec4" />
-<Test name="lowp_mat3x4" />
-<Test name="lowp_vec2" />
-<Test name="lowp_vec3" />
-<Test name="highp_vec3" />
-<Test name="highp_vec2" />
-<Test name="highp_vec4" />
-<Test name="lowp_mat4" />
-<Test name="row_major_highp_mat2x3" />
-<Test name="row_major_highp_mat2x4" />
-<Test name="lowp_mat3" />
-<Test name="highp_mat3x4" />
-<Test name="row_major_highp_mat3x2" />
-<Test name="highp_mat3x2" />
-<Test name="row_major_highp_mat3x4" />
-<Test name="column_major_lowp_mat4x2" />
-<Test name="highp_uint" />
-<Test name="bvec3" />
-<Test name="bvec2" />
-<Test name="column_major_highp_mat3x4" />
-<Test name="column_major_highp_mat3x2" />
-<Test name="bvec4" />
-<Test name="column_major_highp_mat3" />
-<Test name="column_major_highp_mat2" />
-<Test name="column_major_highp_mat4" />
-<Test name="mediump_mat3x2" />
-<Test name="highp_ivec3" />
-<Test name="highp_ivec2" />
-<Test name="highp_ivec4" />
-<Test name="highp_int" />
-<Test name="lowp_ivec4" />
-<Test name="column_major_mediump_mat2" />
-<Test name="lowp_ivec3" />
-<Test name="column_major_highp_mat4x3" />
-<Test name="column_major_highp_mat4x2" />
-<Test name="row_major_highp_mat2" />
-<Test name="row_major_highp_mat3" />
-<Test name="row_major_highp_mat4" />
-<Test name="column_major_lowp_mat4" />
-<Test name="column_major_lowp_mat2" />
-<Test name="column_major_lowp_mat3" />
-<Test name="column_major_mediump_mat2x4" />
-<Test name="row_major_mediump_mat4" />
-<Test name="row_major_mediump_mat3" />
-<Test name="row_major_mediump_mat2" />
-<Test name="highp_mat2x4" />
-<Test name="highp_mat2x3" />
-<Test name="row_major_lowp_mat2x4" />
-<Test name="column_major_lowp_mat2x4" />
-<Test name="mediump_mat3x4" />
-<Test name="row_major_mediump_mat4x3" />
-<Test name="row_major_mediump_mat4x2" />
-<Test name="row_major_lowp_mat3" />
-<Test name="row_major_lowp_mat2" />
-<Test name="mediump_mat2x3" />
-<Test name="mediump_mat2x4" />
-<Test name="row_major_lowp_mat4" />
-<Test name="mediump_int" />
-<Test name="column_major_mediump_mat4x2" />
-<Test name="column_major_mediump_mat4x3" />
-<Test name="lowp_mat2" />
-<Test name="lowp_float" />
-<Test name="bool" />
-<Test name="row_major_highp_mat4x2" />
-<Test name="row_major_highp_mat4x3" />
-<Test name="mediump_uint" />
-<Test name="mediump_mat3" />
-<Test name="mediump_mat4" />
-<Test name="highp_float" />
-<Test name="mediump_mat4x2" />
-<Test name="mediump_mat4x3" />
-<Test name="column_major_highp_mat2x4" />
-<Test name="column_major_highp_mat2x3" />
-<Test name="mediump_uvec4" />
-<Test name="mediump_uvec2" />
-<Test name="mediump_uvec3" />
-<Test name="column_major_lowp_mat2x3" />
-<Test name="row_major_lowp_mat2x3" />
-<Test name="mediump_mat2" />
-<Test name="mediump_vec2" />
-<Test name="mediump_vec3" />
-<Test name="mediump_vec4" />
-<Test name="lowp_mat2x4" />
-<Test name="lowp_mat2x3" />
-<Test name="row_major_lowp_mat4x3" />
-<Test name="row_major_lowp_mat4x2" />
-<Test name="row_major_mediump_mat2x3" />
-<Test name="row_major_mediump_mat2x4" />
-<Test name="column_major_mediump_mat4" />
-<Test name="lowp_uvec2" />
-<Test name="lowp_ivec2" />
-<Test name="lowp_uvec4" />
-<Test name="column_major_mediump_mat3" />
-<Test name="lowp_uint" />
-<Test name="lowp_int" />
-<Test name="column_major_lowp_mat4x3" />
-<Test name="highp_uvec4" />
-<Test name="row_major_lowp_mat3x4" />
-<Test name="row_major_lowp_mat3x2" />
-<Test name="highp_uvec3" />
-<Test name="highp_uvec2" />
-<Test name="row_major_mediump_mat3x2" />
-<Test name="highp_mat4x3" />
-<Test name="highp_mat4x2" />
-<Test name="column_major_mediump_mat2x3" />
-<Test name="row_major_mediump_mat3x4" />
-<Test name="mediump_float" />
-<Test name="column_major_mediump_mat3x4" />
-<Test name="column_major_mediump_mat3x2" />
-<Test name="lowp_uvec3" />
-<Test name="highp_mat3" />
-<Test name="highp_mat2" />
-<Test name="column_major_lowp_mat3x2" />
-<Test name="column_major_lowp_mat3x4" />
-<Test name="highp_mat4" />
+</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="random">
-<TestCase name="basic_instance_arrays">
-<Test name="24" />
-<Test name="20" />
-<Test name="21" />
-<Test name="22" />
-<Test name="23" />
-<Test name="1" />
-<Test name="0" />
-<Test name="3" />
-<Test name="2" />
-<Test name="5" />
-<Test name="4" />
-<Test name="7" />
-<Test name="6" />
-<Test name="9" />
-<Test name="8" />
-<Test name="11" />
-<Test name="10" />
-<Test name="13" />
-<Test name="12" />
-<Test name="15" />
-<Test name="14" />
-<Test name="17" />
-<Test name="16" />
-<Test name="19" />
-<Test name="18" />
+<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="arrays_of_arrays">
-<Test name="24" />
-<Test name="20" />
-<Test name="21" />
-<Test name="22" />
-<Test name="23" />
-<Test name="1" />
-<Test name="0" />
-<Test name="3" />
-<Test name="2" />
-<Test name="5" />
-<Test name="4" />
-<Test name="7" />
-<Test name="6" />
-<Test name="9" />
-<Test name="8" />
-<Test name="11" />
-<Test name="10" />
-<Test name="13" />
-<Test name="12" />
-<Test name="15" />
-<Test name="14" />
-<Test name="17" />
-<Test name="16" />
-<Test name="19" />
-<Test name="18" />
+<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="nested_structs_arrays_instance_arrays">
-<Test name="24" />
-<Test name="20" />
-<Test name="21" />
-<Test name="22" />
-<Test name="23" />
-<Test name="1" />
-<Test name="0" />
-<Test name="3" />
-<Test name="2" />
-<Test name="5" />
-<Test name="4" />
-<Test name="7" />
-<Test name="6" />
-<Test name="9" />
-<Test name="8" />
-<Test name="11" />
-<Test name="10" />
-<Test name="13" />
-<Test name="12" />
-<Test name="15" />
-<Test name="14" />
-<Test name="17" />
-<Test name="16" />
-<Test name="19" />
-<Test name="18" />
+<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>
-<TestCase name="all_per_block_buffers">
-<Test name="30" />
-<Test name="28" />
-<Test name="29" />
-<Test name="24" />
-<Test name="25" />
-<Test name="26" />
-<Test name="27" />
-<Test name="20" />
-<Test name="21" />
-<Test name="48" />
-<Test name="49" />
-<Test name="46" />
-<Test name="47" />
-<Test name="44" />
-<Test name="45" />
-<Test name="42" />
-<Test name="43" />
-<Test name="40" />
-<Test name="41" />
-<Test name="1" />
-<Test name="0" />
-<Test name="3" />
-<Test name="2" />
-<Test name="5" />
-<Test name="4" />
-<Test name="7" />
-<Test name="6" />
-<Test name="9" />
-<Test name="8" />
-<Test name="13" />
-<Test name="12" />
-<Test name="14" />
-<Test name="11" />
-<Test name="10" />
-<Test name="39" />
-<Test name="38" />
-<Test name="15" />
-<Test name="22" />
-<Test name="17" />
-<Test name="16" />
-<Test name="19" />
-<Test name="18" />
-<Test name="31" />
-<Test name="23" />
-<Test name="37" />
-<Test name="36" />
-<Test name="35" />
-<Test name="34" />
-<Test name="33" />
-<Test name="32" />
+</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="nested_structs_instance_arrays">
-<Test name="24" />
-<Test name="20" />
-<Test name="21" />
-<Test name="22" />
-<Test name="23" />
-<Test name="1" />
-<Test name="0" />
-<Test name="3" />
-<Test name="2" />
-<Test name="5" />
-<Test name="4" />
-<Test name="7" />
-<Test name="6" />
-<Test name="9" />
-<Test name="8" />
-<Test name="11" />
-<Test name="10" />
-<Test name="13" />
-<Test name="12" />
-<Test name="15" />
-<Test name="14" />
-<Test name="17" />
-<Test name="16" />
-<Test name="19" />
-<Test name="18" />
+<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="nested_structs">
-<Test name="24" />
-<Test name="20" />
-<Test name="21" />
-<Test name="22" />
-<Test name="23" />
-<Test name="1" />
-<Test name="0" />
-<Test name="3" />
-<Test name="2" />
-<Test name="5" />
-<Test name="4" />
-<Test name="7" />
-<Test name="6" />
-<Test name="9" />
-<Test name="8" />
-<Test name="11" />
-<Test name="10" />
-<Test name="13" />
-<Test name="12" />
-<Test name="15" />
-<Test name="14" />
-<Test name="17" />
-<Test name="16" />
-<Test name="19" />
-<Test name="18" />
+<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="vector_types">
-<Test name="24" />
-<Test name="20" />
-<Test name="21" />
-<Test name="22" />
-<Test name="23" />
-<Test name="1" />
-<Test name="0" />
-<Test name="3" />
-<Test name="2" />
-<Test name="5" />
-<Test name="4" />
-<Test name="7" />
-<Test name="6" />
-<Test name="9" />
-<Test name="8" />
-<Test name="11" />
-<Test name="10" />
-<Test name="13" />
-<Test name="12" />
-<Test name="15" />
-<Test name="14" />
-<Test name="17" />
-<Test name="16" />
-<Test name="19" />
-<Test name="18" />
+<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="unsized_arrays">
-<Test name="24" />
-<Test name="20" />
-<Test name="21" />
-<Test name="22" />
-<Test name="23" />
-<Test name="1" />
-<Test name="0" />
-<Test name="3" />
-<Test name="2" />
-<Test name="5" />
-<Test name="4" />
-<Test name="7" />
-<Test name="6" />
-<Test name="9" />
-<Test name="8" />
-<Test name="11" />
-<Test name="10" />
-<Test name="13" />
-<Test name="12" />
-<Test name="15" />
-<Test name="14" />
-<Test name="17" />
-<Test name="16" />
-<Test name="19" />
-<Test name="18" />
+<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>
-<TestCase name="nested_structs_arrays">
-<Test name="24" />
-<Test name="20" />
-<Test name="21" />
-<Test name="22" />
-<Test name="23" />
-<Test name="1" />
-<Test name="0" />
-<Test name="3" />
-<Test name="2" />
-<Test name="5" />
-<Test name="4" />
-<Test name="7" />
-<Test name="6" />
-<Test name="9" />
-<Test name="8" />
-<Test name="11" />
-<Test name="10" />
-<Test name="13" />
-<Test name="12" />
-<Test name="15" />
-<Test name="14" />
-<Test name="17" />
-<Test name="16" />
-<Test name="19" />
-<Test name="18" />
+</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="basic_types">
-<Test name="24" />
-<Test name="20" />
-<Test name="21" />
-<Test name="22" />
-<Test name="23" />
-<Test name="1" />
-<Test name="0" />
-<Test name="3" />
-<Test name="2" />
-<Test name="5" />
-<Test name="4" />
-<Test name="7" />
-<Test name="6" />
-<Test name="9" />
-<Test name="8" />
-<Test name="11" />
-<Test name="10" />
-<Test name="13" />
-<Test name="12" />
-<Test name="15" />
-<Test name="14" />
-<Test name="17" />
-<Test name="16" />
-<Test name="19" />
-<Test name="18" />
+<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="all_shared_buffer">
-<Test name="30" />
-<Test name="28" />
-<Test name="29" />
-<Test name="24" />
-<Test name="25" />
-<Test name="26" />
-<Test name="27" />
-<Test name="20" />
-<Test name="21" />
-<Test name="48" />
-<Test name="49" />
-<Test name="46" />
-<Test name="47" />
-<Test name="44" />
-<Test name="45" />
-<Test name="42" />
-<Test name="43" />
-<Test name="40" />
-<Test name="41" />
-<Test name="1" />
-<Test name="0" />
-<Test name="3" />
-<Test name="2" />
-<Test name="5" />
-<Test name="4" />
-<Test name="7" />
-<Test name="6" />
-<Test name="9" />
-<Test name="8" />
-<Test name="13" />
-<Test name="12" />
-<Test name="14" />
-<Test name="11" />
-<Test name="10" />
-<Test name="39" />
-<Test name="38" />
-<Test name="15" />
-<Test name="22" />
-<Test name="17" />
-<Test name="16" />
-<Test name="19" />
-<Test name="18" />
-<Test name="31" />
-<Test name="23" />
-<Test name="37" />
-<Test name="36" />
-<Test name="35" />
-<Test name="34" />
-<Test name="33" />
-<Test name="32" />
+<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>
-<TestCase name="scalar_types">
-<Test name="24" />
-<Test name="20" />
-<Test name="21" />
-<Test name="22" />
-<Test name="23" />
-<Test name="1" />
-<Test name="0" />
-<Test name="3" />
-<Test name="2" />
-<Test name="5" />
-<Test name="4" />
-<Test name="7" />
-<Test name="6" />
-<Test name="9" />
-<Test name="8" />
-<Test name="11" />
-<Test name="10" />
-<Test name="13" />
-<Test name="12" />
-<Test name="15" />
-<Test name="14" />
-<Test name="17" />
-<Test name="16" />
-<Test name="19" />
-<Test name="18" />
+</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="basic_arrays">
-<Test name="24" />
-<Test name="20" />
-<Test name="21" />
-<Test name="22" />
-<Test name="23" />
-<Test name="1" />
-<Test name="0" />
-<Test name="3" />
-<Test name="2" />
-<Test name="5" />
-<Test name="4" />
-<Test name="7" />
-<Test name="6" />
-<Test name="9" />
-<Test name="8" />
-<Test name="11" />
-<Test name="10" />
-<Test name="13" />
-<Test name="12" />
-<Test name="15" />
-<Test name="14" />
-<Test name="17" />
-<Test name="16" />
-<Test name="19" />
-<Test name="18" />
+<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="basic_unsized_array">
-<TestCase name="shared">
-<Test name="int" />
-<Test name="row_major_mat3" />
-<Test name="float" />
-<Test name="row_major_mat4" />
-<Test name="vec4" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="mat3x4" />
-<Test name="mat3x2" />
-<Test name="uvec2" />
-<Test name="uvec3" />
-<Test name="column_major_mat3x2" />
-<Test name="bool" />
-<Test name="column_major_mat3x4" />
-<Test name="column_major_mat2" />
-<Test name="column_major_mat3" />
-<Test name="column_major_mat4" />
-<Test name="mat2x3" />
-<Test name="row_major_mat2x4" />
-<Test name="row_major_mat2" />
-<Test name="row_major_mat2x3" />
-<Test name="column_major_mat2x3" />
-<Test name="column_major_mat2x4" />
-<Test name="bvec3" />
-<Test name="uint" />
-<Test name="mat2x4" />
-<Test name="ivec2" />
-<Test name="ivec3" />
-<Test name="uvec4" />
-<Test name="column_major_mat4x2" />
-<Test name="column_major_mat4x3" />
-<Test name="ivec4" />
-<Test name="bvec4" />
-<Test name="mat4" />
-<Test name="bvec2" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x2" />
-<Test name="mat4x3" />
-<Test name="row_major_mat4x3" />
-<Test name="row_major_mat4x2" />
-<Test name="row_major_mat3x4" />
-<Test name="row_major_mat3x2" />
+</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="std140">
-<Test name="int" />
-<Test name="row_major_mat3" />
-<Test name="float" />
-<Test name="row_major_mat4" />
-<Test name="vec4" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="mat3x4" />
-<Test name="mat3x2" />
-<Test name="uvec2" />
-<Test name="uvec3" />
-<Test name="column_major_mat3x2" />
-<Test name="bool" />
-<Test name="column_major_mat3x4" />
-<Test name="column_major_mat2" />
-<Test name="column_major_mat3" />
-<Test name="column_major_mat4" />
-<Test name="mat2x3" />
-<Test name="row_major_mat2x4" />
-<Test name="row_major_mat2" />
-<Test name="row_major_mat2x3" />
-<Test name="column_major_mat2x3" />
-<Test name="column_major_mat2x4" />
-<Test name="bvec3" />
-<Test name="uint" />
-<Test name="mat2x4" />
-<Test name="ivec2" />
-<Test name="ivec3" />
-<Test name="uvec4" />
-<Test name="column_major_mat4x2" />
-<Test name="column_major_mat4x3" />
-<Test name="ivec4" />
-<Test name="bvec4" />
-<Test name="mat4" />
-<Test name="bvec2" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x2" />
-<Test name="mat4x3" />
-<Test name="row_major_mat4x3" />
-<Test name="row_major_mat4x2" />
-<Test name="row_major_mat3x4" />
-<Test name="row_major_mat3x2" />
+<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>
-<TestCase name="std430">
-<Test name="int" />
-<Test name="row_major_mat3" />
-<Test name="float" />
-<Test name="row_major_mat4" />
-<Test name="vec4" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="mat3x4" />
-<Test name="mat3x2" />
-<Test name="uvec2" />
-<Test name="uvec3" />
-<Test name="column_major_mat3x2" />
-<Test name="bool" />
-<Test name="column_major_mat3x4" />
-<Test name="column_major_mat2" />
-<Test name="column_major_mat3" />
-<Test name="column_major_mat4" />
-<Test name="mat2x3" />
-<Test name="row_major_mat2x4" />
-<Test name="row_major_mat2" />
-<Test name="row_major_mat2x3" />
-<Test name="column_major_mat2x3" />
-<Test name="column_major_mat2x4" />
-<Test name="bvec3" />
-<Test name="uint" />
-<Test name="mat2x4" />
-<Test name="ivec2" />
-<Test name="ivec3" />
-<Test name="uvec4" />
-<Test name="column_major_mat4x2" />
-<Test name="column_major_mat4x3" />
-<Test name="ivec4" />
-<Test name="bvec4" />
-<Test name="mat4" />
-<Test name="bvec2" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x2" />
-<Test name="mat4x3" />
-<Test name="row_major_mat4x3" />
-<Test name="row_major_mat4x2" />
-<Test name="row_major_mat3x4" />
-<Test name="row_major_mat3x2" />
+</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="packed">
-<Test name="int" />
-<Test name="row_major_mat3" />
-<Test name="float" />
-<Test name="row_major_mat4" />
-<Test name="vec4" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="mat3x4" />
-<Test name="mat3x2" />
-<Test name="uvec2" />
-<Test name="uvec3" />
-<Test name="column_major_mat3x2" />
-<Test name="bool" />
-<Test name="column_major_mat3x4" />
-<Test name="column_major_mat2" />
-<Test name="column_major_mat3" />
-<Test name="column_major_mat4" />
-<Test name="mat2x3" />
-<Test name="row_major_mat2x4" />
-<Test name="row_major_mat2" />
-<Test name="row_major_mat2x3" />
-<Test name="column_major_mat2x3" />
-<Test name="column_major_mat2x4" />
-<Test name="bvec3" />
-<Test name="uint" />
-<Test name="mat2x4" />
-<Test name="ivec2" />
-<Test name="ivec3" />
-<Test name="uvec4" />
-<Test name="column_major_mat4x2" />
-<Test name="column_major_mat4x3" />
-<Test name="ivec4" />
-<Test name="bvec4" />
-<Test name="mat4" />
-<Test name="bvec2" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x2" />
-<Test name="mat4x3" />
-<Test name="row_major_mat4x3" />
-<Test name="row_major_mat4x2" />
-<Test name="row_major_mat3x4" />
-<Test name="row_major_mat3x2" />
+<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="single_nested_struct">
-<TestCase name="single_buffer">
-<Test name="packed_instance_array" />
-<Test name="shared_instance_array" />
-<Test name="std140_instance_array" />
-<Test name="std430_instance_array" />
+<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="per_block_buffer">
-<Test name="std140" />
-<Test name="shared_instance_array" />
-<Test name="std140_instance_array" />
-<Test name="shared" />
-<Test name="packed_instance_array" />
-<Test name="std430" />
-<Test name="std430_instance_array" />
-<Test name="packed" />
+<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="multi_basic_types">
-<TestCase name="single_buffer">
-<Test name="std140" />
-<Test name="shared_instance_array" />
-<Test name="std140_instance_array" />
-<Test name="shared" />
-<Test name="packed_instance_array" />
-<Test name="std430" />
-<Test name="std430_instance_array" />
-<Test name="packed" />
+</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="per_block_buffer">
-<Test name="std140" />
-<Test name="shared_instance_array" />
-<Test name="std140_instance_array" />
-<Test name="shared" />
-<Test name="packed_instance_array" />
-<Test name="std430" />
-<Test name="std430_instance_array" />
-<Test name="packed" />
+<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="unsized_nested_struct_array">
-<TestCase name="single_buffer">
-<Test name="packed_instance_array" />
-<Test name="shared_instance_array" />
-<Test name="std140_instance_array" />
-<Test name="std430_instance_array" />
+<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="per_block_buffer">
-<Test name="std140" />
-<Test name="shared_instance_array" />
-<Test name="std140_instance_array" />
-<Test name="shared" />
-<Test name="packed_instance_array" />
-<Test name="std430" />
-<Test name="std430_instance_array" />
-<Test name="packed" />
+<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="2_level_array">
-<TestCase name="shared">
-<Test name="int" />
-<Test name="row_major_mat3" />
+<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="row_major_mat4" />
-<Test name="vec4" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="mat3x4" />
-<Test name="mat3x2" />
-<Test name="uvec2" />
-<Test name="uvec3" />
-<Test name="column_major_mat3x2" />
-<Test name="bool" />
-<Test name="column_major_mat3x4" />
-<Test name="column_major_mat2" />
-<Test name="column_major_mat3" />
-<Test name="column_major_mat4" />
-<Test name="mat2x3" />
-<Test name="row_major_mat2x4" />
-<Test name="row_major_mat2" />
-<Test name="row_major_mat2x3" />
-<Test name="column_major_mat2x3" />
-<Test name="column_major_mat2x4" />
-<Test name="bvec3" />
-<Test name="uint" />
-<Test name="mat2x4" />
-<Test name="ivec2" />
-<Test name="ivec3" />
-<Test name="uvec4" />
-<Test name="column_major_mat4x2" />
-<Test name="column_major_mat4x3" />
-<Test name="ivec4" />
-<Test name="bvec4" />
-<Test name="mat4" />
-<Test name="bvec2" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x2" />
-<Test name="mat4x3" />
-<Test name="row_major_mat4x3" />
-<Test name="row_major_mat4x2" />
-<Test name="row_major_mat3x4" />
-<Test name="row_major_mat3x2" />
+<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="std140">
-<Test name="int" />
-<Test name="row_major_mat3" />
+<TestCase name="unnamed_block">
 <Test name="float" />
-<Test name="row_major_mat4" />
-<Test name="vec4" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="mat3x4" />
-<Test name="mat3x2" />
-<Test name="uvec2" />
-<Test name="uvec3" />
-<Test name="column_major_mat3x2" />
-<Test name="bool" />
-<Test name="column_major_mat3x4" />
-<Test name="column_major_mat2" />
-<Test name="column_major_mat3" />
-<Test name="column_major_mat4" />
-<Test name="mat2x3" />
-<Test name="row_major_mat2x4" />
-<Test name="row_major_mat2" />
-<Test name="row_major_mat2x3" />
-<Test name="column_major_mat2x3" />
-<Test name="column_major_mat2x4" />
-<Test name="bvec3" />
-<Test name="uint" />
-<Test name="mat2x4" />
-<Test name="ivec2" />
-<Test name="ivec3" />
-<Test name="uvec4" />
-<Test name="column_major_mat4x2" />
-<Test name="column_major_mat4x3" />
-<Test name="ivec4" />
-<Test name="bvec4" />
-<Test name="mat4" />
-<Test name="bvec2" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x2" />
-<Test name="mat4x3" />
-<Test name="row_major_mat4x3" />
-<Test name="row_major_mat4x2" />
-<Test name="row_major_mat3x4" />
-<Test name="row_major_mat3x2" />
+<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>
-<TestCase name="std430">
-<Test name="int" />
-<Test name="row_major_mat3" />
+</TestSuite>
+<TestSuite name="separable_vertex">
+<TestCase name="named_block">
 <Test name="float" />
-<Test name="row_major_mat4" />
-<Test name="vec4" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="mat3x4" />
-<Test name="mat3x2" />
-<Test name="uvec2" />
-<Test name="uvec3" />
-<Test name="column_major_mat3x2" />
-<Test name="bool" />
-<Test name="column_major_mat3x4" />
-<Test name="column_major_mat2" />
-<Test name="column_major_mat3" />
-<Test name="column_major_mat4" />
-<Test name="mat2x3" />
-<Test name="row_major_mat2x4" />
-<Test name="row_major_mat2" />
-<Test name="row_major_mat2x3" />
-<Test name="column_major_mat2x3" />
-<Test name="column_major_mat2x4" />
-<Test name="bvec3" />
-<Test name="uint" />
-<Test name="mat2x4" />
-<Test name="ivec2" />
-<Test name="ivec3" />
-<Test name="uvec4" />
-<Test name="column_major_mat4x2" />
-<Test name="column_major_mat4x3" />
-<Test name="ivec4" />
-<Test name="bvec4" />
-<Test name="mat4" />
-<Test name="bvec2" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x2" />
-<Test name="mat4x3" />
-<Test name="row_major_mat4x3" />
-<Test name="row_major_mat4x2" />
-<Test name="row_major_mat3x4" />
-<Test name="row_major_mat3x2" />
+<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="packed">
-<Test name="int" />
-<Test name="row_major_mat3" />
+<TestCase name="unnamed_block">
 <Test name="float" />
-<Test name="row_major_mat4" />
-<Test name="vec4" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="mat3x4" />
-<Test name="mat3x2" />
-<Test name="uvec2" />
-<Test name="uvec3" />
-<Test name="column_major_mat3x2" />
-<Test name="bool" />
-<Test name="column_major_mat3x4" />
-<Test name="column_major_mat2" />
-<Test name="column_major_mat3" />
-<Test name="column_major_mat4" />
-<Test name="mat2x3" />
-<Test name="row_major_mat2x4" />
-<Test name="row_major_mat2" />
-<Test name="row_major_mat2x3" />
-<Test name="column_major_mat2x3" />
-<Test name="column_major_mat2x4" />
-<Test name="bvec3" />
-<Test name="uint" />
-<Test name="mat2x4" />
-<Test name="ivec2" />
-<Test name="ivec3" />
-<Test name="uvec4" />
-<Test name="column_major_mat4x2" />
-<Test name="column_major_mat4x3" />
-<Test name="ivec4" />
-<Test name="bvec4" />
-<Test name="mat4" />
-<Test name="bvec2" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x2" />
-<Test name="mat4x3" />
-<Test name="row_major_mat4x3" />
-<Test name="row_major_mat4x2" />
-<Test name="row_major_mat3x4" />
-<Test name="row_major_mat3x2" />
+<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="3_level_array">
-<TestCase name="shared">
-<Test name="int" />
-<Test name="row_major_mat3" />
+<TestSuite name="separable_fragment">
+<TestCase name="named_block">
 <Test name="float" />
-<Test name="row_major_mat4" />
-<Test name="vec4" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="mat3x4" />
-<Test name="mat3x2" />
-<Test name="uvec2" />
-<Test name="uvec3" />
-<Test name="column_major_mat3x2" />
-<Test name="bool" />
-<Test name="column_major_mat3x4" />
-<Test name="column_major_mat2" />
-<Test name="column_major_mat3" />
-<Test name="column_major_mat4" />
-<Test name="mat2x3" />
-<Test name="row_major_mat2x4" />
-<Test name="row_major_mat2" />
-<Test name="row_major_mat2x3" />
-<Test name="column_major_mat2x3" />
-<Test name="column_major_mat2x4" />
-<Test name="bvec3" />
-<Test name="uint" />
-<Test name="mat2x4" />
-<Test name="ivec2" />
-<Test name="ivec3" />
-<Test name="uvec4" />
-<Test name="column_major_mat4x2" />
-<Test name="column_major_mat4x3" />
-<Test name="ivec4" />
-<Test name="bvec4" />
-<Test name="mat4" />
-<Test name="bvec2" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x2" />
-<Test name="mat4x3" />
-<Test name="row_major_mat4x3" />
-<Test name="row_major_mat4x2" />
-<Test name="row_major_mat3x4" />
-<Test name="row_major_mat3x2" />
+<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="std140">
-<Test name="int" />
-<Test name="row_major_mat3" />
+<TestCase name="unnamed_block">
 <Test name="float" />
-<Test name="row_major_mat4" />
-<Test name="vec4" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="mat3x4" />
-<Test name="mat3x2" />
-<Test name="uvec2" />
-<Test name="uvec3" />
-<Test name="column_major_mat3x2" />
-<Test name="bool" />
-<Test name="column_major_mat3x4" />
-<Test name="column_major_mat2" />
-<Test name="column_major_mat3" />
-<Test name="column_major_mat4" />
-<Test name="mat2x3" />
-<Test name="row_major_mat2x4" />
-<Test name="row_major_mat2" />
-<Test name="row_major_mat2x3" />
-<Test name="column_major_mat2x3" />
-<Test name="column_major_mat2x4" />
-<Test name="bvec3" />
-<Test name="uint" />
-<Test name="mat2x4" />
-<Test name="ivec2" />
-<Test name="ivec3" />
-<Test name="uvec4" />
-<Test name="column_major_mat4x2" />
-<Test name="column_major_mat4x3" />
-<Test name="ivec4" />
-<Test name="bvec4" />
-<Test name="mat4" />
-<Test name="bvec2" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x2" />
-<Test name="mat4x3" />
-<Test name="row_major_mat4x3" />
-<Test name="row_major_mat4x2" />
-<Test name="row_major_mat3x4" />
-<Test name="row_major_mat3x2" />
+<Test name="float_array" />
+<Test name="float_struct" />
 </TestCase>
-<TestCase name="std430">
-<Test name="int" />
-<Test name="row_major_mat3" />
+<TestCase name="block_array">
 <Test name="float" />
-<Test name="row_major_mat4" />
-<Test name="vec4" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="mat3x4" />
-<Test name="mat3x2" />
-<Test name="uvec2" />
-<Test name="uvec3" />
-<Test name="column_major_mat3x2" />
-<Test name="bool" />
-<Test name="column_major_mat3x4" />
-<Test name="column_major_mat2" />
-<Test name="column_major_mat3" />
-<Test name="column_major_mat4" />
-<Test name="mat2x3" />
-<Test name="row_major_mat2x4" />
-<Test name="row_major_mat2" />
-<Test name="row_major_mat2x3" />
-<Test name="column_major_mat2x3" />
-<Test name="column_major_mat2x4" />
-<Test name="bvec3" />
-<Test name="uint" />
-<Test name="mat2x4" />
-<Test name="ivec2" />
-<Test name="ivec3" />
-<Test name="uvec4" />
-<Test name="column_major_mat4x2" />
-<Test name="column_major_mat4x3" />
-<Test name="ivec4" />
-<Test name="bvec4" />
-<Test name="mat4" />
-<Test name="bvec2" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x2" />
-<Test name="mat4x3" />
-<Test name="row_major_mat4x3" />
-<Test name="row_major_mat4x2" />
-<Test name="row_major_mat3x4" />
-<Test name="row_major_mat3x2" />
+<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="packed">
-<Test name="int" />
-<Test name="row_major_mat3" />
+<TestCase name="unnamed_block">
 <Test name="float" />
-<Test name="row_major_mat4" />
-<Test name="vec4" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="mat3x4" />
-<Test name="mat3x2" />
-<Test name="uvec2" />
-<Test name="uvec3" />
-<Test name="column_major_mat3x2" />
-<Test name="bool" />
-<Test name="column_major_mat3x4" />
-<Test name="column_major_mat2" />
-<Test name="column_major_mat3" />
-<Test name="column_major_mat4" />
-<Test name="mat2x3" />
-<Test name="row_major_mat2x4" />
-<Test name="row_major_mat2" />
-<Test name="row_major_mat2x3" />
-<Test name="column_major_mat2x3" />
-<Test name="column_major_mat2x4" />
-<Test name="bvec3" />
-<Test name="uint" />
-<Test name="mat2x4" />
-<Test name="ivec2" />
-<Test name="ivec3" />
-<Test name="uvec4" />
-<Test name="column_major_mat4x2" />
-<Test name="column_major_mat4x3" />
-<Test name="ivec4" />
-<Test name="bvec4" />
-<Test name="mat4" />
-<Test name="bvec2" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x2" />
-<Test name="mat4x3" />
-<Test name="row_major_mat4x3" />
-<Test name="row_major_mat4x2" />
-<Test name="row_major_mat3x4" />
-<Test name="row_major_mat3x2" />
+<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="single_struct">
-<TestCase name="single_buffer">
-<Test name="packed_instance_array" />
-<Test name="shared_instance_array" />
-<Test name="std140_instance_array" />
-<Test name="std430_instance_array" />
+<TestSuite name="vertex_fragment_only_fragment">
+<TestCase name="named_block">
+<Test name="float" />
+<Test name="float_array" />
+<Test name="float_struct" />
 </TestCase>
-<TestCase name="per_block_buffer">
-<Test name="std140" />
-<Test name="shared_instance_array" />
-<Test name="std140_instance_array" />
-<Test name="shared" />
-<Test name="packed_instance_array" />
-<Test name="std430" />
-<Test name="std430_instance_array" />
-<Test name="packed" />
+<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="multi_nested_struct">
-<TestCase name="single_buffer">
-<Test name="std140" />
-<Test name="shared_instance_array" />
-<Test name="std140_instance_array" />
-<Test name="shared" />
-<Test name="packed_instance_array" />
-<Test name="std430" />
-<Test name="std430_instance_array" />
-<Test name="packed" />
+<TestSuite name="vertex_fragment_only_vertex">
+<TestCase name="named_block">
+<Test name="float" />
+<Test name="float_array" />
+<Test name="float_struct" />
 </TestCase>
-<TestCase name="per_block_buffer">
-<Test name="std140" />
-<Test name="shared_instance_array" />
-<Test name="std140_instance_array" />
-<Test name="shared" />
-<Test name="packed_instance_array" />
-<Test name="std430" />
-<Test name="std430_instance_array" />
-<Test name="packed" />
+<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="instance_array_basic_type">
-<TestCase name="shared">
-<Test name="int" />
-<Test name="row_major_mat3" />
+</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="row_major_mat4" />
-<Test name="vec4" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="mat3x4" />
-<Test name="mat3x2" />
-<Test name="uvec2" />
-<Test name="uvec3" />
-<Test name="column_major_mat3x2" />
-<Test name="bool" />
-<Test name="column_major_mat3x4" />
-<Test name="column_major_mat2" />
-<Test name="column_major_mat3" />
-<Test name="column_major_mat4" />
-<Test name="mat2x3" />
-<Test name="row_major_mat2x4" />
-<Test name="row_major_mat2" />
-<Test name="row_major_mat2x3" />
-<Test name="column_major_mat2x3" />
-<Test name="column_major_mat2x4" />
-<Test name="bvec3" />
+<Test name="int" />
 <Test name="uint" />
-<Test name="mat2x4" />
+<Test name="bool" />
+<Test name="vec2" />
+<Test name="vec3" />
+<Test name="vec4" />
 <Test name="ivec2" />
 <Test name="ivec3" />
-<Test name="uvec4" />
-<Test name="column_major_mat4x2" />
-<Test name="column_major_mat4x3" />
 <Test name="ivec4" />
-<Test name="bvec4" />
-<Test name="mat4" />
+<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="row_major_mat4x3" />
-<Test name="row_major_mat4x2" />
-<Test name="row_major_mat3x4" />
-<Test name="row_major_mat3x2" />
+<Test name="mat4" />
 </TestCase>
-<TestCase name="std140">
-<Test name="int" />
-<Test name="row_major_mat3" />
+<TestSuite name="array">
+<TestCase name="basic_type">
 <Test name="float" />
-<Test name="row_major_mat4" />
-<Test name="vec4" />
-<Test name="vec2" />
+<Test name="int" />
+<Test name="uint" />
+<Test name="bool" />
 <Test name="vec3" />
-<Test name="mat3x4" />
-<Test name="mat3x2" />
-<Test name="uvec2" />
+<Test name="vec4" />
+<Test name="ivec3" />
 <Test name="uvec3" />
-<Test name="column_major_mat3x2" />
-<Test name="bool" />
-<Test name="column_major_mat3x4" />
-<Test name="column_major_mat2" />
-<Test name="column_major_mat3" />
-<Test name="column_major_mat4" />
-<Test name="mat2x3" />
-<Test name="row_major_mat2x4" />
-<Test name="row_major_mat2" />
-<Test name="row_major_mat2x3" />
-<Test name="column_major_mat2x3" />
-<Test name="column_major_mat2x4" />
 <Test name="bvec3" />
-<Test name="uint" />
-<Test name="mat2x4" />
-<Test name="ivec2" />
-<Test name="ivec3" />
-<Test name="uvec4" />
-<Test name="column_major_mat4x2" />
-<Test name="column_major_mat4x3" />
-<Test name="ivec4" />
-<Test name="bvec4" />
-<Test name="mat4" />
-<Test name="bvec2" />
 <Test name="mat2" />
+<Test name="mat3x2" />
 <Test name="mat3" />
 <Test name="mat4x2" />
-<Test name="mat4x3" />
-<Test name="row_major_mat4x3" />
-<Test name="row_major_mat4x2" />
-<Test name="row_major_mat3x4" />
-<Test name="row_major_mat3x2" />
+<Test name="mat4" />
 </TestCase>
-<TestCase name="std430">
+<TestSuite name="array">
+<TestCase name="basic_type">
+<Test name="float" />
 <Test name="int" />
-<Test name="row_major_mat3" />
+<Test name="uint" />
+<Test name="bool" />
+<Test name="vec3" />
+<Test name="vec4" />
+</TestCase>
+<TestCase name="array">
 <Test name="float" />
-<Test name="row_major_mat4" />
+</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" />
-<Test name="vec2" />
+</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="mat3x4" />
-<Test name="mat3x2" />
-<Test name="uvec2" />
+<Test name="vec4" />
+<Test name="ivec3" />
 <Test name="uvec3" />
-<Test name="column_major_mat3x2" />
-<Test name="bool" />
-<Test name="column_major_mat3x4" />
-<Test name="column_major_mat2" />
-<Test name="column_major_mat3" />
-<Test name="column_major_mat4" />
-<Test name="mat2x3" />
-<Test name="row_major_mat2x4" />
-<Test name="row_major_mat2" />
-<Test name="row_major_mat2x3" />
-<Test name="column_major_mat2x3" />
-<Test name="column_major_mat2x4" />
 <Test name="bvec3" />
-<Test name="uint" />
-<Test name="mat2x4" />
-<Test name="ivec2" />
-<Test name="ivec3" />
-<Test name="uvec4" />
-<Test name="column_major_mat4x2" />
-<Test name="column_major_mat4x3" />
-<Test name="ivec4" />
-<Test name="bvec4" />
-<Test name="mat4" />
-<Test name="bvec2" />
 <Test name="mat2" />
+<Test name="mat3x2" />
 <Test name="mat3" />
 <Test name="mat4x2" />
-<Test name="mat4x3" />
-<Test name="row_major_mat4x3" />
-<Test name="row_major_mat4x2" />
-<Test name="row_major_mat3x4" />
-<Test name="row_major_mat3x2" />
+<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="packed">
-<Test name="int" />
-<Test name="row_major_mat3" />
-<Test name="float" />
-<Test name="row_major_mat4" />
-<Test name="vec4" />
-<Test name="vec2" />
-<Test name="vec3" />
-<Test name="mat3x4" />
-<Test name="mat3x2" />
-<Test name="uvec2" />
-<Test name="uvec3" />
-<Test name="column_major_mat3x2" />
-<Test name="bool" />
-<Test name="column_major_mat3x4" />
-<Test name="column_major_mat2" />
-<Test name="column_major_mat3" />
-<Test name="column_major_mat4" />
-<Test name="mat2x3" />
-<Test name="row_major_mat2x4" />
-<Test name="row_major_mat2" />
-<Test name="row_major_mat2x3" />
-<Test name="column_major_mat2x3" />
-<Test name="column_major_mat2x4" />
-<Test name="bvec3" />
-<Test name="uint" />
-<Test name="mat2x4" />
-<Test name="ivec2" />
-<Test name="ivec3" />
-<Test name="uvec4" />
-<Test name="column_major_mat4x2" />
-<Test name="column_major_mat4x3" />
-<Test name="ivec4" />
-<Test name="bvec4" />
-<Test name="mat4" />
-<Test name="bvec2" />
-<Test name="mat2" />
-<Test name="mat3" />
-<Test name="mat4x2" />
-<Test name="mat4x3" />
-<Test name="row_major_mat4x3" />
-<Test name="row_major_mat4x2" />
-<Test name="row_major_mat3x4" />
-<Test name="row_major_mat3x2" />
+<TestCase name="vertex_fragment_only_vertex">
+<Test name="named_block" />
+<Test name="unnamed_block" />
+<Test name="block_array" />
 </TestCase>
 </TestSuite>
 </TestSuite>
-<TestSuite name="atomic">
-<TestCase name="and">
-<Test name="mediump_uint" />
-<Test name="lowp_uint" />
-<Test name="highp_int" />
-<Test name="lowp_int" />
-<Test name="mediump_int" />
-<Test name="highp_uint" />
+</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="xor">
-<Test name="mediump_uint" />
-<Test name="lowp_uint" />
-<Test name="highp_int" />
-<Test name="lowp_int" />
-<Test name="mediump_int" />
-<Test name="highp_uint" />
+<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>
-<TestCase name="exchange">
-<Test name="mediump_uint" />
-<Test name="lowp_uint" />
-<Test name="highp_int" />
-<Test name="lowp_int" />
-<Test name="mediump_int" />
-<Test name="highp_uint" />
+</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="max">
-<Test name="mediump_uint" />
-<Test name="lowp_uint" />
-<Test name="highp_int" />
-<Test name="lowp_int" />
-<Test name="mediump_int" />
-<Test name="highp_uint" />
+<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>
-<TestCase name="min">
-<Test name="mediump_uint" />
-<Test name="lowp_uint" />
-<Test name="highp_int" />
-<Test name="lowp_int" />
-<Test name="mediump_int" />
-<Test name="highp_uint" />
+<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="add">
-<Test name="mediump_uint" />
-<Test name="lowp_uint" />
-<Test name="highp_int" />
-<Test name="lowp_int" />
-<Test name="mediump_int" />
-<Test name="highp_uint" />
+<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>
-<TestCase name="compswap">
-<Test name="mediump_uint" />
-<Test name="lowp_uint" />
-<Test name="highp_int" />
-<Test name="lowp_int" />
-<Test name="mediump_int" />
-<Test name="highp_uint" />
+</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="or">
-<Test name="mediump_uint" />
-<Test name="lowp_uint" />
-<Test name="highp_int" />
-<Test name="lowp_int" />
-<Test name="mediump_int" />
-<Test name="highp_uint" />
+<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>
@@ -836,8 +836,6 @@ dEQP-GLES3.functional.shaders.preprocessor.object_redefinitions.redefine_object_
 dEQP-GLES3.functional.shaders.preprocessor.object_redefinitions.redefine_object_comment_fragment
 dEQP-GLES3.functional.shaders.preprocessor.object_redefinitions.redefine_object_multiline_comment_vertex
 dEQP-GLES3.functional.shaders.preprocessor.object_redefinitions.redefine_object_multiline_comment_fragment
-dEQP-GLES3.functional.shaders.preprocessor.invalid_redefinitions.invalid_identifier_1_vertex
-dEQP-GLES3.functional.shaders.preprocessor.invalid_redefinitions.invalid_identifier_1_fragment
 dEQP-GLES3.functional.shaders.preprocessor.invalid_redefinitions.invalid_identifier_2_vertex
 dEQP-GLES3.functional.shaders.preprocessor.invalid_redefinitions.invalid_identifier_2_fragment
 dEQP-GLES3.functional.shaders.preprocessor.comments.multiline_comment_define_vertex
@@ -4037,12 +4035,6 @@ dEQP-GLES3.functional.shaders.keywords.reserved_keywords.namespace_vertex
 dEQP-GLES3.functional.shaders.keywords.reserved_keywords.namespace_fragment
 dEQP-GLES3.functional.shaders.keywords.reserved_keywords.using_vertex
 dEQP-GLES3.functional.shaders.keywords.reserved_keywords.using_fragment
-dEQP-GLES3.functional.shaders.keywords.invalid_identifiers.two_underscores_begin_vertex
-dEQP-GLES3.functional.shaders.keywords.invalid_identifiers.two_underscores_begin_fragment
-dEQP-GLES3.functional.shaders.keywords.invalid_identifiers.two_underscores_middle_vertex
-dEQP-GLES3.functional.shaders.keywords.invalid_identifiers.two_underscores_middle_fragment
-dEQP-GLES3.functional.shaders.keywords.invalid_identifiers.two_underscores_end_vertex
-dEQP-GLES3.functional.shaders.keywords.invalid_identifiers.two_underscores_end_fragment
 dEQP-GLES3.functional.shaders.keywords.invalid_identifiers.gl_begin_vertex
 dEQP-GLES3.functional.shaders.keywords.invalid_identifiers.gl_begin_fragment
 dEQP-GLES3.functional.shaders.keywords.invalid_identifiers.digit_vertex
@@ -14440,8 +14432,6 @@ dEQP-GLES3.functional.shaders.texture_functions.texturelod.isampler2d_vertex
 dEQP-GLES3.functional.shaders.texture_functions.texturelod.isampler2d_fragment
 dEQP-GLES3.functional.shaders.texture_functions.texturelod.usampler2d_vertex
 dEQP-GLES3.functional.shaders.texture_functions.texturelod.usampler2d_fragment
-dEQP-GLES3.functional.shaders.texture_functions.texturelod.samplercube_fixed_vertex
-dEQP-GLES3.functional.shaders.texture_functions.texturelod.samplercube_fixed_fragment
 dEQP-GLES3.functional.shaders.texture_functions.texturelod.isamplercube_vertex
 dEQP-GLES3.functional.shaders.texture_functions.texturelod.isamplercube_fragment
 dEQP-GLES3.functional.shaders.texture_functions.texturelod.usamplercube_vertex
@@ -15750,10 +15740,6 @@ dEQP-GLES3.functional.shaders.builtin_functions.precision.min.mediump_fragment.s
 dEQP-GLES3.functional.shaders.builtin_functions.precision.min.mediump_fragment.vec2
 dEQP-GLES3.functional.shaders.builtin_functions.precision.min.mediump_fragment.vec3
 dEQP-GLES3.functional.shaders.builtin_functions.precision.min.mediump_fragment.vec4
-dEQP-GLES3.functional.shaders.builtin_functions.precision.min.highp_vertex.scalar
-dEQP-GLES3.functional.shaders.builtin_functions.precision.min.highp_vertex.vec2
-dEQP-GLES3.functional.shaders.builtin_functions.precision.min.highp_vertex.vec3
-dEQP-GLES3.functional.shaders.builtin_functions.precision.min.highp_vertex.vec4
 dEQP-GLES3.functional.shaders.builtin_functions.precision.max.lowp_vertex.scalar
 dEQP-GLES3.functional.shaders.builtin_functions.precision.max.lowp_vertex.vec2
 dEQP-GLES3.functional.shaders.builtin_functions.precision.max.lowp_vertex.vec3
@@ -2230,10 +2230,6 @@ dEQP-GLES31.functional.shaders.builtin_functions.precision.acosh.mediump_compute
 dEQP-GLES31.functional.shaders.builtin_functions.precision.acosh.mediump_compute.vec2
 dEQP-GLES31.functional.shaders.builtin_functions.precision.acosh.mediump_compute.vec3
 dEQP-GLES31.functional.shaders.builtin_functions.precision.acosh.mediump_compute.vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.acosh.highp_compute.scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.acosh.highp_compute.vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.acosh.highp_compute.vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.acosh.highp_compute.vec4
 dEQP-GLES31.functional.shaders.builtin_functions.precision.atanh.lowp_compute.scalar
 dEQP-GLES31.functional.shaders.builtin_functions.precision.atanh.lowp_compute.vec2
 dEQP-GLES31.functional.shaders.builtin_functions.precision.atanh.lowp_compute.vec3
@@ -2242,10 +2238,6 @@ dEQP-GLES31.functional.shaders.builtin_functions.precision.atanh.mediump_compute
 dEQP-GLES31.functional.shaders.builtin_functions.precision.atanh.mediump_compute.vec2
 dEQP-GLES31.functional.shaders.builtin_functions.precision.atanh.mediump_compute.vec3
 dEQP-GLES31.functional.shaders.builtin_functions.precision.atanh.mediump_compute.vec4
-dEQP-GLES31.functional.shaders.builtin_functions.precision.atanh.highp_compute.scalar
-dEQP-GLES31.functional.shaders.builtin_functions.precision.atanh.highp_compute.vec2
-dEQP-GLES31.functional.shaders.builtin_functions.precision.atanh.highp_compute.vec3
-dEQP-GLES31.functional.shaders.builtin_functions.precision.atanh.highp_compute.vec4
 dEQP-GLES31.functional.shaders.builtin_functions.precision.pow.lowp_compute.scalar
 dEQP-GLES31.functional.shaders.builtin_functions.precision.pow.lowp_compute.vec2
 dEQP-GLES31.functional.shaders.builtin_functions.precision.pow.lowp_compute.vec3
diff --git a/android/scripts/GenAndroidCTSXMLFromTestList.py b/android/scripts/GenAndroidCTSXMLFromTestList.py
new file mode 100644 (file)
index 0000000..5025ee8
--- /dev/null
@@ -0,0 +1,159 @@
+import argparse
+import string
+
+class TestGroup:
+       def __init__(self, name, parent = None):
+               self.parent = parent
+               self.name = name
+               self.testGroups = []
+               self.testCases = []
+
+               if parent:
+                       assert not parent.hasGroup(name)
+                       parent.testGroups.append(self)
+
+       def getName (self):
+               return self.name
+
+       def getPath (self):
+               if self.parent:
+                       return self.parent.getPath() + "." + self.name
+               else:
+                       return self.name
+
+       def hasGroup(self, groupName):
+               for group in self.testGroups:
+                       if group.getName() == groupName:
+                               return True
+               return False
+
+       def getGroup(self, groupName):
+               for group in self.testGroups:
+                       if group.getName() == groupName:
+                               return group
+               assert False
+
+       def hasTest(self, testName):
+               for test in self.testCases:
+                       if test.getName() == testName:
+                               return True
+               return False
+
+       def getTest(self, testName):
+               for test in self.testCases:
+                       if test.getName() == testName:
+                               return test
+               assert False
+
+       def hasTestCases(self):
+               return len(self.testCases) != 0
+
+       def hasTestGroups(self):
+               return len(self.testGroups) != 0
+
+       def getTestCases(self):
+               return self.testCases
+
+       def getTestGroups(self):
+               return self.testGroups
+
+class TestCase:
+       def __init__(self, name, parent):
+               self.name = name
+               self.parent = parent
+
+               assert not parent.hasTest(name)
+               self.parent.testCases.append(self)
+
+       def getPath (self):
+               return self.parent.getPath() + "." + self.name
+
+       def getName(self):
+               return self.name
+
+def addTestToHierarchy(rootGroup, path):
+       pathComponents = string.split(path, ".")
+       currentGroup = rootGroup
+
+       assert pathComponents[0] == rootGroup.getName()
+
+       for i in range(1, len(pathComponents)):
+               component = pathComponents[i]
+
+               if i == len(pathComponents) - 1:
+                       TestCase(component, currentGroup)
+               else:
+                       if currentGroup.hasGroup(component):
+                               currentGroup = currentGroup.getGroup(component)
+                       else:
+                               currentGroup = TestGroup(component, parent=currentGroup)
+
+def loadTestHierarchy (input, packageName):
+       line = input.readline()
+       rootGroup = None
+
+       if line.startswith(packageName + "."):
+               groupName       = packageName
+               rootGroup       = TestGroup(groupName)
+       else:
+               print(line)
+               assert False
+
+       for line in input:
+               addTestToHierarchy(rootGroup, line.strip());
+
+       return rootGroup
+
+def writeAndroidCTSTest(test, output):
+       output.write('<Test name="%s" />\n' % test.getName())
+
+def writeAndroidCTSTestCase(group, output):
+       assert group.hasTestCases()
+       assert not group.hasTestGroups()
+
+       output.write('<TestCase name="%s">\n' % group.getName())
+
+       for testCase in group.getTestCases():
+               writeAndroidCTSTest(testCase, output)
+
+       output.write('</TestCase>\n')
+
+def writeAndroidCTSTestSuite(group, output):
+       if group.getName() == "performance":
+               return;
+
+       output.write('<TestSuite name="%s">\n' % group.getName())
+
+       for childGroup in group.getTestGroups():
+               if group.getName() == "performance":
+                       continue;
+
+               if childGroup.hasTestCases():
+                       assert not childGroup.hasTestGroups()
+                       writeAndroidCTSTestCase(childGroup, output)
+               elif childGroup.hasTestGroups():
+                       writeAndroidCTSTestSuite(childGroup, output)
+               # \note Skips groups without testcases or child groups
+
+       output.write('</TestSuite>\n')
+
+def writeAndroidCTSFile(rootGroup, output, name, targetBinaryName, appPackageName):
+       output.write('<?xml version="1.0" encoding="UTF-8"?>\n')
+       output.write('<TestPackage name="%s" targetBinaryName="%s" appPackageName="%s" testType="deqpTest">\n' % (name, targetBinaryName, appPackageName))
+
+       writeAndroidCTSTestSuite(rootGroup, output)
+
+       output.write('</TestPackage>\n')
+
+if __name__ == "__main__":
+       parser = argparse.ArgumentParser()
+       parser.add_argument('input',                      type=argparse.FileType('r'),    help="Input file containing dEQP test names.")
+       parser.add_argument('output',                     type=argparse.FileType('w'),    help="Output file for Android CTS test file.")
+        parser.add_argument('--name',     dest="name",    type=str,                       required=True, help="Name of the test package")
+        parser.add_argument('--binary',   dest="binary",  type=str,   default="com.drawelements.deqp",   help="Target binary name")
+        parser.add_argument('--package',  dest="package", type=str,                       required=True, help="Name of the app package")
+
+       args = parser.parse_args()
+
+       rootGroup = loadTestHierarchy(args.input, args.name)
+       writeAndroidCTSFile(rootGroup, args.output, name=args.name, targetBinaryName=args.binary, appPackageName=args.package)