Move two GL groups to single config

Move enhanced_layouts and arrays_of_arrays_gl to the single config group
since these tests do not depend on the default framebuffer

Components: OpenGL

VK-GL-CTS issue: 2969

Removed tests:
KHR-GL*.arrays_of_arrays_gl.*
KHR-GL*.enhanced_layouts.*

Added tests:
KHR-Single-GL*.arrays_of_arrays_gl.*
KHR-Single-GL*.enhanced_layouts.*

Change-Id: I2ae554c0d92c9959d71232052c3f177265a715a7
diff --git a/external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.0.x/gl43-master.txt b/external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.0.x/gl43-master.txt
index e7e75e9..84ef860 100644
--- a/external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.0.x/gl43-master.txt
+++ b/external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.0.x/gl43-master.txt
@@ -3922,85 +3922,6 @@
 KHR-GL43.texture_view.coherency
 KHR-GL43.texture_view.base_and_max_levels
 KHR-GL43.texture_view.reference_counting
-KHR-GL43.arrays_of_arrays_gl.SizedDeclarationsPrimitive
-KHR-GL43.arrays_of_arrays_gl.SizedDeclarationsStructTypes1
-KHR-GL43.arrays_of_arrays_gl.SizedDeclarationsStructTypes2
-KHR-GL43.arrays_of_arrays_gl.SizedDeclarationsStructTypes3
-KHR-GL43.arrays_of_arrays_gl.SizedDeclarationsStructTypes4
-KHR-GL43.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle1
-KHR-GL43.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle2
-KHR-GL43.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle3
-KHR-GL43.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle4
-KHR-GL43.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle5
-KHR-GL43.arrays_of_arrays_gl.SizedDeclarationsFunctionParams
-KHR-GL43.arrays_of_arrays_gl.sized_declarations_invalid_sizes1
-KHR-GL43.arrays_of_arrays_gl.sized_declarations_invalid_sizes2
-KHR-GL43.arrays_of_arrays_gl.sized_declarations_invalid_sizes3
-KHR-GL43.arrays_of_arrays_gl.sized_declarations_invalid_sizes4
-KHR-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructors1
-KHR-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructors2
-KHR-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedConstructors
-KHR-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConst
-KHR-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors1
-KHR-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors2
-KHR-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors3
-KHR-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors4
-KHR-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructorSizing1
-KHR-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructorSizing2
-KHR-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclStructConstructors
-KHR-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays1
-KHR-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays2
-KHR-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays3
-KHR-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays4
-KHR-GL43.arrays_of_arrays_gl.ExpressionsAssignment1
-KHR-GL43.arrays_of_arrays_gl.ExpressionsAssignment2
-KHR-GL43.arrays_of_arrays_gl.ExpressionsAssignment3
-KHR-GL43.arrays_of_arrays_gl.ExpressionsTypeRestrictions1
-KHR-GL43.arrays_of_arrays_gl.ExpressionsTypeRestrictions2
-KHR-GL43.arrays_of_arrays_gl.ExpressionsIndexingScalar1
-KHR-GL43.arrays_of_arrays_gl.ExpressionsIndexingScalar2
-KHR-GL43.arrays_of_arrays_gl.ExpressionsIndexingScalar3
-KHR-GL43.arrays_of_arrays_gl.ExpressionsIndexingScalar4
-KHR-GL43.arrays_of_arrays_gl.ExpressionsIndexingArray1
-KHR-GL43.arrays_of_arrays_gl.ExpressionsIndexingArray2
-KHR-GL43.arrays_of_arrays_gl.ExpressionsIndexingArray3
-KHR-GL43.arrays_of_arrays_gl.ExpressionsDynamicIndexing1
-KHR-GL43.arrays_of_arrays_gl.ExpressionsDynamicIndexing2
-KHR-GL43.arrays_of_arrays_gl.ExpressionsEquality1
-KHR-GL43.arrays_of_arrays_gl.ExpressionsEquality2
-KHR-GL43.arrays_of_arrays_gl.ExpressionsLength1
-KHR-GL43.arrays_of_arrays_gl.ExpressionsLength2
-KHR-GL43.arrays_of_arrays_gl.ExpressionsLength3
-KHR-GL43.arrays_of_arrays_gl.ExpressionsInvalid1
-KHR-GL43.arrays_of_arrays_gl.ExpressionsInvalid2
-KHR-GL43.arrays_of_arrays_gl.InteractionFunctionCalls1
-KHR-GL43.arrays_of_arrays_gl.InteractionFunctionCalls2
-KHR-GL43.arrays_of_arrays_gl.InteractionArgumentAliasing1
-KHR-GL43.arrays_of_arrays_gl.InteractionArgumentAliasing2
-KHR-GL43.arrays_of_arrays_gl.InteractionArgumentAliasing3
-KHR-GL43.arrays_of_arrays_gl.InteractionArgumentAliasing4
-KHR-GL43.arrays_of_arrays_gl.InteractionArgumentAliasing5
-KHR-GL43.arrays_of_arrays_gl.InteractionArgumentAliasing6
-KHR-GL43.arrays_of_arrays_gl.InteractionUniforms1
-KHR-GL43.arrays_of_arrays_gl.InteractionUniforms2
-KHR-GL43.arrays_of_arrays_gl.InteractionUniformBuffers1
-KHR-GL43.arrays_of_arrays_gl.InteractionUniformBuffers2
-KHR-GL43.arrays_of_arrays_gl.InteractionUniformBuffers3
-KHR-GL43.arrays_of_arrays_gl.InteractionInterfaceArrays1
-KHR-GL43.arrays_of_arrays_gl.InteractionInterfaceArrays2
-KHR-GL43.arrays_of_arrays_gl.InteractionInterfaceArrays3
-KHR-GL43.arrays_of_arrays_gl.InteractionInterfaceArrays4
-KHR-GL43.arrays_of_arrays_gl.InteractionStorageBuffers1
-KHR-GL43.arrays_of_arrays_gl.InteractionStorageBuffers2
-KHR-GL43.arrays_of_arrays_gl.InteractionStorageBuffers3
-KHR-GL43.arrays_of_arrays_gl.AtomicDeclaration
-KHR-GL43.arrays_of_arrays_gl.AtomicUsage
-KHR-GL43.arrays_of_arrays_gl.SubroutineFunctionCalls1
-KHR-GL43.arrays_of_arrays_gl.SubroutineFunctionCalls2
-KHR-GL43.arrays_of_arrays_gl.SubroutineArgumentAliasing1
-KHR-GL43.arrays_of_arrays_gl.SubroutineArgumentAliasing2
-KHR-GL43.arrays_of_arrays_gl.SubroutineArgumentAliasing3
-KHR-GL43.arrays_of_arrays_gl.SubroutineArgumentAliasing4
 KHR-GL43.copy_image.functional
 KHR-GL43.copy_image.incomplete_tex
 KHR-GL43.copy_image.invalid_object
diff --git a/external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.0.x/gl44-master.txt b/external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.0.x/gl44-master.txt
index 54fe326..5340303 100644
--- a/external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.0.x/gl44-master.txt
+++ b/external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.0.x/gl44-master.txt
@@ -3922,85 +3922,6 @@
 KHR-GL44.texture_view.coherency
 KHR-GL44.texture_view.base_and_max_levels
 KHR-GL44.texture_view.reference_counting
-KHR-GL44.arrays_of_arrays_gl.SizedDeclarationsPrimitive
-KHR-GL44.arrays_of_arrays_gl.SizedDeclarationsStructTypes1
-KHR-GL44.arrays_of_arrays_gl.SizedDeclarationsStructTypes2
-KHR-GL44.arrays_of_arrays_gl.SizedDeclarationsStructTypes3
-KHR-GL44.arrays_of_arrays_gl.SizedDeclarationsStructTypes4
-KHR-GL44.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle1
-KHR-GL44.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle2
-KHR-GL44.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle3
-KHR-GL44.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle4
-KHR-GL44.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle5
-KHR-GL44.arrays_of_arrays_gl.SizedDeclarationsFunctionParams
-KHR-GL44.arrays_of_arrays_gl.sized_declarations_invalid_sizes1
-KHR-GL44.arrays_of_arrays_gl.sized_declarations_invalid_sizes2
-KHR-GL44.arrays_of_arrays_gl.sized_declarations_invalid_sizes3
-KHR-GL44.arrays_of_arrays_gl.sized_declarations_invalid_sizes4
-KHR-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructors1
-KHR-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructors2
-KHR-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedConstructors
-KHR-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConst
-KHR-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors1
-KHR-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors2
-KHR-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors3
-KHR-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors4
-KHR-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructorSizing1
-KHR-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructorSizing2
-KHR-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclStructConstructors
-KHR-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays1
-KHR-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays2
-KHR-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays3
-KHR-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays4
-KHR-GL44.arrays_of_arrays_gl.ExpressionsAssignment1
-KHR-GL44.arrays_of_arrays_gl.ExpressionsAssignment2
-KHR-GL44.arrays_of_arrays_gl.ExpressionsAssignment3
-KHR-GL44.arrays_of_arrays_gl.ExpressionsTypeRestrictions1
-KHR-GL44.arrays_of_arrays_gl.ExpressionsTypeRestrictions2
-KHR-GL44.arrays_of_arrays_gl.ExpressionsIndexingScalar1
-KHR-GL44.arrays_of_arrays_gl.ExpressionsIndexingScalar2
-KHR-GL44.arrays_of_arrays_gl.ExpressionsIndexingScalar3
-KHR-GL44.arrays_of_arrays_gl.ExpressionsIndexingScalar4
-KHR-GL44.arrays_of_arrays_gl.ExpressionsIndexingArray1
-KHR-GL44.arrays_of_arrays_gl.ExpressionsIndexingArray2
-KHR-GL44.arrays_of_arrays_gl.ExpressionsIndexingArray3
-KHR-GL44.arrays_of_arrays_gl.ExpressionsDynamicIndexing1
-KHR-GL44.arrays_of_arrays_gl.ExpressionsDynamicIndexing2
-KHR-GL44.arrays_of_arrays_gl.ExpressionsEquality1
-KHR-GL44.arrays_of_arrays_gl.ExpressionsEquality2
-KHR-GL44.arrays_of_arrays_gl.ExpressionsLength1
-KHR-GL44.arrays_of_arrays_gl.ExpressionsLength2
-KHR-GL44.arrays_of_arrays_gl.ExpressionsLength3
-KHR-GL44.arrays_of_arrays_gl.ExpressionsInvalid1
-KHR-GL44.arrays_of_arrays_gl.ExpressionsInvalid2
-KHR-GL44.arrays_of_arrays_gl.InteractionFunctionCalls1
-KHR-GL44.arrays_of_arrays_gl.InteractionFunctionCalls2
-KHR-GL44.arrays_of_arrays_gl.InteractionArgumentAliasing1
-KHR-GL44.arrays_of_arrays_gl.InteractionArgumentAliasing2
-KHR-GL44.arrays_of_arrays_gl.InteractionArgumentAliasing3
-KHR-GL44.arrays_of_arrays_gl.InteractionArgumentAliasing4
-KHR-GL44.arrays_of_arrays_gl.InteractionArgumentAliasing5
-KHR-GL44.arrays_of_arrays_gl.InteractionArgumentAliasing6
-KHR-GL44.arrays_of_arrays_gl.InteractionUniforms1
-KHR-GL44.arrays_of_arrays_gl.InteractionUniforms2
-KHR-GL44.arrays_of_arrays_gl.InteractionUniformBuffers1
-KHR-GL44.arrays_of_arrays_gl.InteractionUniformBuffers2
-KHR-GL44.arrays_of_arrays_gl.InteractionUniformBuffers3
-KHR-GL44.arrays_of_arrays_gl.InteractionInterfaceArrays1
-KHR-GL44.arrays_of_arrays_gl.InteractionInterfaceArrays2
-KHR-GL44.arrays_of_arrays_gl.InteractionInterfaceArrays3
-KHR-GL44.arrays_of_arrays_gl.InteractionInterfaceArrays4
-KHR-GL44.arrays_of_arrays_gl.InteractionStorageBuffers1
-KHR-GL44.arrays_of_arrays_gl.InteractionStorageBuffers2
-KHR-GL44.arrays_of_arrays_gl.InteractionStorageBuffers3
-KHR-GL44.arrays_of_arrays_gl.AtomicDeclaration
-KHR-GL44.arrays_of_arrays_gl.AtomicUsage
-KHR-GL44.arrays_of_arrays_gl.SubroutineFunctionCalls1
-KHR-GL44.arrays_of_arrays_gl.SubroutineFunctionCalls2
-KHR-GL44.arrays_of_arrays_gl.SubroutineArgumentAliasing1
-KHR-GL44.arrays_of_arrays_gl.SubroutineArgumentAliasing2
-KHR-GL44.arrays_of_arrays_gl.SubroutineArgumentAliasing3
-KHR-GL44.arrays_of_arrays_gl.SubroutineArgumentAliasing4
 KHR-GL44.copy_image.functional
 KHR-GL44.copy_image.incomplete_tex
 KHR-GL44.copy_image.invalid_object
@@ -6231,69 +6152,6 @@
 KHR-GL44.buffer_storage.map_persistent_dispatch
 KHR-GL44.buffer_storage.map_persistent_flush
 KHR-GL44.buffer_storage.map_persistent_draw
-KHR-GL44.enhanced_layouts.api_constant_values
-KHR-GL44.enhanced_layouts.api_errors
-KHR-GL44.enhanced_layouts.glsl_contant_values
-KHR-GL44.enhanced_layouts.glsl_contant_immutablity
-KHR-GL44.enhanced_layouts.glsl_constant_integral_expression
-KHR-GL44.enhanced_layouts.uniform_block_layout_qualifier_conflict
-KHR-GL44.enhanced_layouts.ssb_member_invalid_offset_alignment
-KHR-GL44.enhanced_layouts.ssb_member_overlapping_offsets
-KHR-GL44.enhanced_layouts.varying_exceeding_components
-KHR-GL44.enhanced_layouts.varying_component_of_invalid_type
-KHR-GL44.enhanced_layouts.output_component_aliasing
-KHR-GL44.enhanced_layouts.vertex_attrib_location_api
-KHR-GL44.enhanced_layouts.xfb_input
-KHR-GL44.enhanced_layouts.xfb_all_stages
-KHR-GL44.enhanced_layouts.xfb_capture_inactive_output_variable
-KHR-GL44.enhanced_layouts.xfb_capture_inactive_output_component
-KHR-GL44.enhanced_layouts.xfb_capture_inactive_output_block_member
-KHR-GL44.enhanced_layouts.xfb_stride
-KHR-GL44.enhanced_layouts.uniform_block_member_offset_and_align
-KHR-GL44.enhanced_layouts.uniform_block_member_invalid_offset_alignment
-KHR-GL44.enhanced_layouts.uniform_block_member_overlapping_offsets
-KHR-GL44.enhanced_layouts.uniform_block_member_align_non_power_of_2
-KHR-GL44.enhanced_layouts.ssb_layout_qualifier_conflict
-KHR-GL44.enhanced_layouts.ssb_member_align_non_power_of_2
-KHR-GL44.enhanced_layouts.ssb_alignment
-KHR-GL44.enhanced_layouts.varying_structure_member_location
-KHR-GL44.enhanced_layouts.varying_block_automatic_member_locations
-KHR-GL44.enhanced_layouts.varying_component_without_location
-KHR-GL44.enhanced_layouts.input_component_aliasing
-KHR-GL44.enhanced_layouts.varying_location_aliasing_with_mixed_types
-KHR-GL44.enhanced_layouts.varying_location_aliasing_with_mixed_interpolation
-KHR-GL44.enhanced_layouts.varying_location_aliasing_with_mixed_auxiliary_storage
-KHR-GL44.enhanced_layouts.xfb_stride_of_empty_list
-KHR-GL44.enhanced_layouts.xfb_stride_of_empty_list_and_api
-KHR-GL44.enhanced_layouts.xfb_too_small_stride
-KHR-GL44.enhanced_layouts.xfb_block_member_stride
-KHR-GL44.enhanced_layouts.xfb_duplicated_stride
-KHR-GL44.enhanced_layouts.xfb_get_program_resource_api
-KHR-GL44.enhanced_layouts.xfb_multiple_vertex_streams
-KHR-GL44.enhanced_layouts.xfb_exceed_buffer_limit
-KHR-GL44.enhanced_layouts.xfb_exceed_offset_limit
-KHR-GL44.enhanced_layouts.xfb_block_member_buffer
-KHR-GL44.enhanced_layouts.xfb_output_overlapping
-KHR-GL44.enhanced_layouts.xfb_invalid_offset_alignment
-KHR-GL44.enhanced_layouts.xfb_capture_struct
-KHR-GL44.enhanced_layouts.xfb_capture_unsized_array
-KHR-GL44.enhanced_layouts.uniform_block_alignment
-KHR-GL44.enhanced_layouts.ssb_member_offset_and_align
-KHR-GL44.enhanced_layouts.vertex_attrib_locations
-KHR-GL44.enhanced_layouts.varying_locations
-KHR-GL44.enhanced_layouts.varying_array_locations
-KHR-GL44.enhanced_layouts.varying_structure_locations
-KHR-GL44.enhanced_layouts.varying_block_locations
-KHR-GL44.enhanced_layouts.varying_block_member_locations
-KHR-GL44.enhanced_layouts.xfb_variable_stride
-KHR-GL44.enhanced_layouts.xfb_block_stride
-KHR-GL44.enhanced_layouts.xfb_override_qualifiers_with_api
-KHR-GL44.enhanced_layouts.xfb_vertex_streams
-KHR-GL44.enhanced_layouts.xfb_global_buffer
-KHR-GL44.enhanced_layouts.fragment_data_location_api
-KHR-GL44.enhanced_layouts.varying_location_limit
-KHR-GL44.enhanced_layouts.varying_components
-KHR-GL44.enhanced_layouts.varying_array_components
 KHR-GL44.layout_binding.sampler2D_layout_binding_texture_ComputeShader
 KHR-GL44.layout_binding.sampler3D_layout_binding_texture_ComputeShader
 KHR-GL44.layout_binding.sampler2DArray_layout_binding_texture_ComputeShader
diff --git a/external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.0.x/gl45-master.txt b/external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.0.x/gl45-master.txt
index 7569293..9da887f 100644
--- a/external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.0.x/gl45-master.txt
+++ b/external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.0.x/gl45-master.txt
@@ -3923,85 +3923,6 @@
 KHR-GL45.texture_view.coherency
 KHR-GL45.texture_view.base_and_max_levels
 KHR-GL45.texture_view.reference_counting
-KHR-GL45.arrays_of_arrays_gl.SizedDeclarationsPrimitive
-KHR-GL45.arrays_of_arrays_gl.SizedDeclarationsStructTypes1
-KHR-GL45.arrays_of_arrays_gl.SizedDeclarationsStructTypes2
-KHR-GL45.arrays_of_arrays_gl.SizedDeclarationsStructTypes3
-KHR-GL45.arrays_of_arrays_gl.SizedDeclarationsStructTypes4
-KHR-GL45.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle1
-KHR-GL45.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle2
-KHR-GL45.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle3
-KHR-GL45.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle4
-KHR-GL45.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle5
-KHR-GL45.arrays_of_arrays_gl.SizedDeclarationsFunctionParams
-KHR-GL45.arrays_of_arrays_gl.sized_declarations_invalid_sizes1
-KHR-GL45.arrays_of_arrays_gl.sized_declarations_invalid_sizes2
-KHR-GL45.arrays_of_arrays_gl.sized_declarations_invalid_sizes3
-KHR-GL45.arrays_of_arrays_gl.sized_declarations_invalid_sizes4
-KHR-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructors1
-KHR-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructors2
-KHR-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedConstructors
-KHR-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConst
-KHR-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors1
-KHR-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors2
-KHR-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors3
-KHR-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors4
-KHR-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructorSizing1
-KHR-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructorSizing2
-KHR-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclStructConstructors
-KHR-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays1
-KHR-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays2
-KHR-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays3
-KHR-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays4
-KHR-GL45.arrays_of_arrays_gl.ExpressionsAssignment1
-KHR-GL45.arrays_of_arrays_gl.ExpressionsAssignment2
-KHR-GL45.arrays_of_arrays_gl.ExpressionsAssignment3
-KHR-GL45.arrays_of_arrays_gl.ExpressionsTypeRestrictions1
-KHR-GL45.arrays_of_arrays_gl.ExpressionsTypeRestrictions2
-KHR-GL45.arrays_of_arrays_gl.ExpressionsIndexingScalar1
-KHR-GL45.arrays_of_arrays_gl.ExpressionsIndexingScalar2
-KHR-GL45.arrays_of_arrays_gl.ExpressionsIndexingScalar3
-KHR-GL45.arrays_of_arrays_gl.ExpressionsIndexingScalar4
-KHR-GL45.arrays_of_arrays_gl.ExpressionsIndexingArray1
-KHR-GL45.arrays_of_arrays_gl.ExpressionsIndexingArray2
-KHR-GL45.arrays_of_arrays_gl.ExpressionsIndexingArray3
-KHR-GL45.arrays_of_arrays_gl.ExpressionsDynamicIndexing1
-KHR-GL45.arrays_of_arrays_gl.ExpressionsDynamicIndexing2
-KHR-GL45.arrays_of_arrays_gl.ExpressionsEquality1
-KHR-GL45.arrays_of_arrays_gl.ExpressionsEquality2
-KHR-GL45.arrays_of_arrays_gl.ExpressionsLength1
-KHR-GL45.arrays_of_arrays_gl.ExpressionsLength2
-KHR-GL45.arrays_of_arrays_gl.ExpressionsLength3
-KHR-GL45.arrays_of_arrays_gl.ExpressionsInvalid1
-KHR-GL45.arrays_of_arrays_gl.ExpressionsInvalid2
-KHR-GL45.arrays_of_arrays_gl.InteractionFunctionCalls1
-KHR-GL45.arrays_of_arrays_gl.InteractionFunctionCalls2
-KHR-GL45.arrays_of_arrays_gl.InteractionArgumentAliasing1
-KHR-GL45.arrays_of_arrays_gl.InteractionArgumentAliasing2
-KHR-GL45.arrays_of_arrays_gl.InteractionArgumentAliasing3
-KHR-GL45.arrays_of_arrays_gl.InteractionArgumentAliasing4
-KHR-GL45.arrays_of_arrays_gl.InteractionArgumentAliasing5
-KHR-GL45.arrays_of_arrays_gl.InteractionArgumentAliasing6
-KHR-GL45.arrays_of_arrays_gl.InteractionUniforms1
-KHR-GL45.arrays_of_arrays_gl.InteractionUniforms2
-KHR-GL45.arrays_of_arrays_gl.InteractionUniformBuffers1
-KHR-GL45.arrays_of_arrays_gl.InteractionUniformBuffers2
-KHR-GL45.arrays_of_arrays_gl.InteractionUniformBuffers3
-KHR-GL45.arrays_of_arrays_gl.InteractionInterfaceArrays1
-KHR-GL45.arrays_of_arrays_gl.InteractionInterfaceArrays2
-KHR-GL45.arrays_of_arrays_gl.InteractionInterfaceArrays3
-KHR-GL45.arrays_of_arrays_gl.InteractionInterfaceArrays4
-KHR-GL45.arrays_of_arrays_gl.InteractionStorageBuffers1
-KHR-GL45.arrays_of_arrays_gl.InteractionStorageBuffers2
-KHR-GL45.arrays_of_arrays_gl.InteractionStorageBuffers3
-KHR-GL45.arrays_of_arrays_gl.AtomicDeclaration
-KHR-GL45.arrays_of_arrays_gl.AtomicUsage
-KHR-GL45.arrays_of_arrays_gl.SubroutineFunctionCalls1
-KHR-GL45.arrays_of_arrays_gl.SubroutineFunctionCalls2
-KHR-GL45.arrays_of_arrays_gl.SubroutineArgumentAliasing1
-KHR-GL45.arrays_of_arrays_gl.SubroutineArgumentAliasing2
-KHR-GL45.arrays_of_arrays_gl.SubroutineArgumentAliasing3
-KHR-GL45.arrays_of_arrays_gl.SubroutineArgumentAliasing4
 KHR-GL45.copy_image.functional
 KHR-GL45.copy_image.incomplete_tex
 KHR-GL45.copy_image.invalid_object
@@ -6232,69 +6153,6 @@
 KHR-GL45.buffer_storage.map_persistent_dispatch
 KHR-GL45.buffer_storage.map_persistent_flush
 KHR-GL45.buffer_storage.map_persistent_draw
-KHR-GL45.enhanced_layouts.api_constant_values
-KHR-GL45.enhanced_layouts.api_errors
-KHR-GL45.enhanced_layouts.glsl_contant_values
-KHR-GL45.enhanced_layouts.glsl_contant_immutablity
-KHR-GL45.enhanced_layouts.glsl_constant_integral_expression
-KHR-GL45.enhanced_layouts.uniform_block_layout_qualifier_conflict
-KHR-GL45.enhanced_layouts.ssb_member_invalid_offset_alignment
-KHR-GL45.enhanced_layouts.ssb_member_overlapping_offsets
-KHR-GL45.enhanced_layouts.varying_exceeding_components
-KHR-GL45.enhanced_layouts.varying_component_of_invalid_type
-KHR-GL45.enhanced_layouts.output_component_aliasing
-KHR-GL45.enhanced_layouts.vertex_attrib_location_api
-KHR-GL45.enhanced_layouts.xfb_input
-KHR-GL45.enhanced_layouts.xfb_all_stages
-KHR-GL45.enhanced_layouts.xfb_capture_inactive_output_variable
-KHR-GL45.enhanced_layouts.xfb_capture_inactive_output_component
-KHR-GL45.enhanced_layouts.xfb_capture_inactive_output_block_member
-KHR-GL45.enhanced_layouts.xfb_stride
-KHR-GL45.enhanced_layouts.uniform_block_member_offset_and_align
-KHR-GL45.enhanced_layouts.uniform_block_member_invalid_offset_alignment
-KHR-GL45.enhanced_layouts.uniform_block_member_overlapping_offsets
-KHR-GL45.enhanced_layouts.uniform_block_member_align_non_power_of_2
-KHR-GL45.enhanced_layouts.ssb_layout_qualifier_conflict
-KHR-GL45.enhanced_layouts.ssb_member_align_non_power_of_2
-KHR-GL45.enhanced_layouts.ssb_alignment
-KHR-GL45.enhanced_layouts.varying_structure_member_location
-KHR-GL45.enhanced_layouts.varying_block_automatic_member_locations
-KHR-GL45.enhanced_layouts.varying_component_without_location
-KHR-GL45.enhanced_layouts.input_component_aliasing
-KHR-GL45.enhanced_layouts.varying_location_aliasing_with_mixed_types
-KHR-GL45.enhanced_layouts.varying_location_aliasing_with_mixed_interpolation
-KHR-GL45.enhanced_layouts.varying_location_aliasing_with_mixed_auxiliary_storage
-KHR-GL45.enhanced_layouts.xfb_stride_of_empty_list
-KHR-GL45.enhanced_layouts.xfb_stride_of_empty_list_and_api
-KHR-GL45.enhanced_layouts.xfb_too_small_stride
-KHR-GL45.enhanced_layouts.xfb_block_member_stride
-KHR-GL45.enhanced_layouts.xfb_duplicated_stride
-KHR-GL45.enhanced_layouts.xfb_get_program_resource_api
-KHR-GL45.enhanced_layouts.xfb_multiple_vertex_streams
-KHR-GL45.enhanced_layouts.xfb_exceed_buffer_limit
-KHR-GL45.enhanced_layouts.xfb_exceed_offset_limit
-KHR-GL45.enhanced_layouts.xfb_block_member_buffer
-KHR-GL45.enhanced_layouts.xfb_output_overlapping
-KHR-GL45.enhanced_layouts.xfb_invalid_offset_alignment
-KHR-GL45.enhanced_layouts.xfb_capture_struct
-KHR-GL45.enhanced_layouts.xfb_capture_unsized_array
-KHR-GL45.enhanced_layouts.uniform_block_alignment
-KHR-GL45.enhanced_layouts.ssb_member_offset_and_align
-KHR-GL45.enhanced_layouts.vertex_attrib_locations
-KHR-GL45.enhanced_layouts.varying_locations
-KHR-GL45.enhanced_layouts.varying_array_locations
-KHR-GL45.enhanced_layouts.varying_structure_locations
-KHR-GL45.enhanced_layouts.varying_block_locations
-KHR-GL45.enhanced_layouts.varying_block_member_locations
-KHR-GL45.enhanced_layouts.xfb_variable_stride
-KHR-GL45.enhanced_layouts.xfb_block_stride
-KHR-GL45.enhanced_layouts.xfb_override_qualifiers_with_api
-KHR-GL45.enhanced_layouts.xfb_vertex_streams
-KHR-GL45.enhanced_layouts.xfb_global_buffer
-KHR-GL45.enhanced_layouts.fragment_data_location_api
-KHR-GL45.enhanced_layouts.varying_location_limit
-KHR-GL45.enhanced_layouts.varying_components
-KHR-GL45.enhanced_layouts.varying_array_components
 KHR-GL45.layout_binding.sampler2D_layout_binding_texture_ComputeShader
 KHR-GL45.layout_binding.sampler3D_layout_binding_texture_ComputeShader
 KHR-GL45.layout_binding.sampler2DArray_layout_binding_texture_ComputeShader
diff --git a/external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.0.x/gl46-master.txt b/external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.0.x/gl46-master.txt
index f6ba4fc..7a71efe 100644
--- a/external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.0.x/gl46-master.txt
+++ b/external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.0.x/gl46-master.txt
@@ -3923,85 +3923,6 @@
 KHR-GL46.texture_view.coherency
 KHR-GL46.texture_view.base_and_max_levels
 KHR-GL46.texture_view.reference_counting
-KHR-GL46.arrays_of_arrays_gl.SizedDeclarationsPrimitive
-KHR-GL46.arrays_of_arrays_gl.SizedDeclarationsStructTypes1
-KHR-GL46.arrays_of_arrays_gl.SizedDeclarationsStructTypes2
-KHR-GL46.arrays_of_arrays_gl.SizedDeclarationsStructTypes3
-KHR-GL46.arrays_of_arrays_gl.SizedDeclarationsStructTypes4
-KHR-GL46.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle1
-KHR-GL46.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle2
-KHR-GL46.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle3
-KHR-GL46.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle4
-KHR-GL46.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle5
-KHR-GL46.arrays_of_arrays_gl.SizedDeclarationsFunctionParams
-KHR-GL46.arrays_of_arrays_gl.sized_declarations_invalid_sizes1
-KHR-GL46.arrays_of_arrays_gl.sized_declarations_invalid_sizes2
-KHR-GL46.arrays_of_arrays_gl.sized_declarations_invalid_sizes3
-KHR-GL46.arrays_of_arrays_gl.sized_declarations_invalid_sizes4
-KHR-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructors1
-KHR-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructors2
-KHR-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedConstructors
-KHR-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConst
-KHR-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors1
-KHR-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors2
-KHR-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors3
-KHR-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors4
-KHR-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructorSizing1
-KHR-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructorSizing2
-KHR-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclStructConstructors
-KHR-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays1
-KHR-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays2
-KHR-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays3
-KHR-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays4
-KHR-GL46.arrays_of_arrays_gl.ExpressionsAssignment1
-KHR-GL46.arrays_of_arrays_gl.ExpressionsAssignment2
-KHR-GL46.arrays_of_arrays_gl.ExpressionsAssignment3
-KHR-GL46.arrays_of_arrays_gl.ExpressionsTypeRestrictions1
-KHR-GL46.arrays_of_arrays_gl.ExpressionsTypeRestrictions2
-KHR-GL46.arrays_of_arrays_gl.ExpressionsIndexingScalar1
-KHR-GL46.arrays_of_arrays_gl.ExpressionsIndexingScalar2
-KHR-GL46.arrays_of_arrays_gl.ExpressionsIndexingScalar3
-KHR-GL46.arrays_of_arrays_gl.ExpressionsIndexingScalar4
-KHR-GL46.arrays_of_arrays_gl.ExpressionsIndexingArray1
-KHR-GL46.arrays_of_arrays_gl.ExpressionsIndexingArray2
-KHR-GL46.arrays_of_arrays_gl.ExpressionsIndexingArray3
-KHR-GL46.arrays_of_arrays_gl.ExpressionsDynamicIndexing1
-KHR-GL46.arrays_of_arrays_gl.ExpressionsDynamicIndexing2
-KHR-GL46.arrays_of_arrays_gl.ExpressionsEquality1
-KHR-GL46.arrays_of_arrays_gl.ExpressionsEquality2
-KHR-GL46.arrays_of_arrays_gl.ExpressionsLength1
-KHR-GL46.arrays_of_arrays_gl.ExpressionsLength2
-KHR-GL46.arrays_of_arrays_gl.ExpressionsLength3
-KHR-GL46.arrays_of_arrays_gl.ExpressionsInvalid1
-KHR-GL46.arrays_of_arrays_gl.ExpressionsInvalid2
-KHR-GL46.arrays_of_arrays_gl.InteractionFunctionCalls1
-KHR-GL46.arrays_of_arrays_gl.InteractionFunctionCalls2
-KHR-GL46.arrays_of_arrays_gl.InteractionArgumentAliasing1
-KHR-GL46.arrays_of_arrays_gl.InteractionArgumentAliasing2
-KHR-GL46.arrays_of_arrays_gl.InteractionArgumentAliasing3
-KHR-GL46.arrays_of_arrays_gl.InteractionArgumentAliasing4
-KHR-GL46.arrays_of_arrays_gl.InteractionArgumentAliasing5
-KHR-GL46.arrays_of_arrays_gl.InteractionArgumentAliasing6
-KHR-GL46.arrays_of_arrays_gl.InteractionUniforms1
-KHR-GL46.arrays_of_arrays_gl.InteractionUniforms2
-KHR-GL46.arrays_of_arrays_gl.InteractionUniformBuffers1
-KHR-GL46.arrays_of_arrays_gl.InteractionUniformBuffers2
-KHR-GL46.arrays_of_arrays_gl.InteractionUniformBuffers3
-KHR-GL46.arrays_of_arrays_gl.InteractionInterfaceArrays1
-KHR-GL46.arrays_of_arrays_gl.InteractionInterfaceArrays2
-KHR-GL46.arrays_of_arrays_gl.InteractionInterfaceArrays3
-KHR-GL46.arrays_of_arrays_gl.InteractionInterfaceArrays4
-KHR-GL46.arrays_of_arrays_gl.InteractionStorageBuffers1
-KHR-GL46.arrays_of_arrays_gl.InteractionStorageBuffers2
-KHR-GL46.arrays_of_arrays_gl.InteractionStorageBuffers3
-KHR-GL46.arrays_of_arrays_gl.AtomicDeclaration
-KHR-GL46.arrays_of_arrays_gl.AtomicUsage
-KHR-GL46.arrays_of_arrays_gl.SubroutineFunctionCalls1
-KHR-GL46.arrays_of_arrays_gl.SubroutineFunctionCalls2
-KHR-GL46.arrays_of_arrays_gl.SubroutineArgumentAliasing1
-KHR-GL46.arrays_of_arrays_gl.SubroutineArgumentAliasing2
-KHR-GL46.arrays_of_arrays_gl.SubroutineArgumentAliasing3
-KHR-GL46.arrays_of_arrays_gl.SubroutineArgumentAliasing4
 KHR-GL46.copy_image.functional
 KHR-GL46.copy_image.incomplete_tex
 KHR-GL46.copy_image.invalid_object
@@ -6232,69 +6153,6 @@
 KHR-GL46.buffer_storage.map_persistent_dispatch
 KHR-GL46.buffer_storage.map_persistent_flush
 KHR-GL46.buffer_storage.map_persistent_draw
-KHR-GL46.enhanced_layouts.api_constant_values
-KHR-GL46.enhanced_layouts.api_errors
-KHR-GL46.enhanced_layouts.glsl_contant_values
-KHR-GL46.enhanced_layouts.glsl_contant_immutablity
-KHR-GL46.enhanced_layouts.glsl_constant_integral_expression
-KHR-GL46.enhanced_layouts.uniform_block_layout_qualifier_conflict
-KHR-GL46.enhanced_layouts.ssb_member_invalid_offset_alignment
-KHR-GL46.enhanced_layouts.ssb_member_overlapping_offsets
-KHR-GL46.enhanced_layouts.varying_exceeding_components
-KHR-GL46.enhanced_layouts.varying_component_of_invalid_type
-KHR-GL46.enhanced_layouts.output_component_aliasing
-KHR-GL46.enhanced_layouts.vertex_attrib_location_api
-KHR-GL46.enhanced_layouts.xfb_input
-KHR-GL46.enhanced_layouts.xfb_all_stages
-KHR-GL46.enhanced_layouts.xfb_capture_inactive_output_variable
-KHR-GL46.enhanced_layouts.xfb_capture_inactive_output_component
-KHR-GL46.enhanced_layouts.xfb_capture_inactive_output_block_member
-KHR-GL46.enhanced_layouts.xfb_stride
-KHR-GL46.enhanced_layouts.uniform_block_member_offset_and_align
-KHR-GL46.enhanced_layouts.uniform_block_member_invalid_offset_alignment
-KHR-GL46.enhanced_layouts.uniform_block_member_overlapping_offsets
-KHR-GL46.enhanced_layouts.uniform_block_member_align_non_power_of_2
-KHR-GL46.enhanced_layouts.ssb_layout_qualifier_conflict
-KHR-GL46.enhanced_layouts.ssb_member_align_non_power_of_2
-KHR-GL46.enhanced_layouts.ssb_alignment
-KHR-GL46.enhanced_layouts.varying_structure_member_location
-KHR-GL46.enhanced_layouts.varying_block_automatic_member_locations
-KHR-GL46.enhanced_layouts.varying_component_without_location
-KHR-GL46.enhanced_layouts.input_component_aliasing
-KHR-GL46.enhanced_layouts.varying_location_aliasing_with_mixed_types
-KHR-GL46.enhanced_layouts.varying_location_aliasing_with_mixed_interpolation
-KHR-GL46.enhanced_layouts.varying_location_aliasing_with_mixed_auxiliary_storage
-KHR-GL46.enhanced_layouts.xfb_stride_of_empty_list
-KHR-GL46.enhanced_layouts.xfb_stride_of_empty_list_and_api
-KHR-GL46.enhanced_layouts.xfb_too_small_stride
-KHR-GL46.enhanced_layouts.xfb_block_member_stride
-KHR-GL46.enhanced_layouts.xfb_duplicated_stride
-KHR-GL46.enhanced_layouts.xfb_get_program_resource_api
-KHR-GL46.enhanced_layouts.xfb_multiple_vertex_streams
-KHR-GL46.enhanced_layouts.xfb_exceed_buffer_limit
-KHR-GL46.enhanced_layouts.xfb_exceed_offset_limit
-KHR-GL46.enhanced_layouts.xfb_block_member_buffer
-KHR-GL46.enhanced_layouts.xfb_output_overlapping
-KHR-GL46.enhanced_layouts.xfb_invalid_offset_alignment
-KHR-GL46.enhanced_layouts.xfb_capture_struct
-KHR-GL46.enhanced_layouts.xfb_capture_unsized_array
-KHR-GL46.enhanced_layouts.uniform_block_alignment
-KHR-GL46.enhanced_layouts.ssb_member_offset_and_align
-KHR-GL46.enhanced_layouts.vertex_attrib_locations
-KHR-GL46.enhanced_layouts.varying_locations
-KHR-GL46.enhanced_layouts.varying_array_locations
-KHR-GL46.enhanced_layouts.varying_structure_locations
-KHR-GL46.enhanced_layouts.varying_block_locations
-KHR-GL46.enhanced_layouts.varying_block_member_locations
-KHR-GL46.enhanced_layouts.xfb_variable_stride
-KHR-GL46.enhanced_layouts.xfb_block_stride
-KHR-GL46.enhanced_layouts.xfb_override_qualifiers_with_api
-KHR-GL46.enhanced_layouts.xfb_vertex_streams
-KHR-GL46.enhanced_layouts.xfb_global_buffer
-KHR-GL46.enhanced_layouts.fragment_data_location_api
-KHR-GL46.enhanced_layouts.varying_location_limit
-KHR-GL46.enhanced_layouts.varying_components
-KHR-GL46.enhanced_layouts.varying_array_components
 KHR-GL46.layout_binding.sampler2D_layout_binding_texture_ComputeShader
 KHR-GL46.layout_binding.sampler3D_layout_binding_texture_ComputeShader
 KHR-GL46.layout_binding.sampler2DArray_layout_binding_texture_ComputeShader
diff --git a/external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.0.x/src/gl43-master.txt b/external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.0.x/src/gl43-master.txt
index e7e75e9..84ef860 100644
--- a/external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.0.x/src/gl43-master.txt
+++ b/external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.0.x/src/gl43-master.txt
@@ -3922,85 +3922,6 @@
 KHR-GL43.texture_view.coherency
 KHR-GL43.texture_view.base_and_max_levels
 KHR-GL43.texture_view.reference_counting
-KHR-GL43.arrays_of_arrays_gl.SizedDeclarationsPrimitive
-KHR-GL43.arrays_of_arrays_gl.SizedDeclarationsStructTypes1
-KHR-GL43.arrays_of_arrays_gl.SizedDeclarationsStructTypes2
-KHR-GL43.arrays_of_arrays_gl.SizedDeclarationsStructTypes3
-KHR-GL43.arrays_of_arrays_gl.SizedDeclarationsStructTypes4
-KHR-GL43.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle1
-KHR-GL43.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle2
-KHR-GL43.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle3
-KHR-GL43.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle4
-KHR-GL43.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle5
-KHR-GL43.arrays_of_arrays_gl.SizedDeclarationsFunctionParams
-KHR-GL43.arrays_of_arrays_gl.sized_declarations_invalid_sizes1
-KHR-GL43.arrays_of_arrays_gl.sized_declarations_invalid_sizes2
-KHR-GL43.arrays_of_arrays_gl.sized_declarations_invalid_sizes3
-KHR-GL43.arrays_of_arrays_gl.sized_declarations_invalid_sizes4
-KHR-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructors1
-KHR-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructors2
-KHR-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedConstructors
-KHR-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConst
-KHR-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors1
-KHR-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors2
-KHR-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors3
-KHR-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors4
-KHR-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructorSizing1
-KHR-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructorSizing2
-KHR-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclStructConstructors
-KHR-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays1
-KHR-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays2
-KHR-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays3
-KHR-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays4
-KHR-GL43.arrays_of_arrays_gl.ExpressionsAssignment1
-KHR-GL43.arrays_of_arrays_gl.ExpressionsAssignment2
-KHR-GL43.arrays_of_arrays_gl.ExpressionsAssignment3
-KHR-GL43.arrays_of_arrays_gl.ExpressionsTypeRestrictions1
-KHR-GL43.arrays_of_arrays_gl.ExpressionsTypeRestrictions2
-KHR-GL43.arrays_of_arrays_gl.ExpressionsIndexingScalar1
-KHR-GL43.arrays_of_arrays_gl.ExpressionsIndexingScalar2
-KHR-GL43.arrays_of_arrays_gl.ExpressionsIndexingScalar3
-KHR-GL43.arrays_of_arrays_gl.ExpressionsIndexingScalar4
-KHR-GL43.arrays_of_arrays_gl.ExpressionsIndexingArray1
-KHR-GL43.arrays_of_arrays_gl.ExpressionsIndexingArray2
-KHR-GL43.arrays_of_arrays_gl.ExpressionsIndexingArray3
-KHR-GL43.arrays_of_arrays_gl.ExpressionsDynamicIndexing1
-KHR-GL43.arrays_of_arrays_gl.ExpressionsDynamicIndexing2
-KHR-GL43.arrays_of_arrays_gl.ExpressionsEquality1
-KHR-GL43.arrays_of_arrays_gl.ExpressionsEquality2
-KHR-GL43.arrays_of_arrays_gl.ExpressionsLength1
-KHR-GL43.arrays_of_arrays_gl.ExpressionsLength2
-KHR-GL43.arrays_of_arrays_gl.ExpressionsLength3
-KHR-GL43.arrays_of_arrays_gl.ExpressionsInvalid1
-KHR-GL43.arrays_of_arrays_gl.ExpressionsInvalid2
-KHR-GL43.arrays_of_arrays_gl.InteractionFunctionCalls1
-KHR-GL43.arrays_of_arrays_gl.InteractionFunctionCalls2
-KHR-GL43.arrays_of_arrays_gl.InteractionArgumentAliasing1
-KHR-GL43.arrays_of_arrays_gl.InteractionArgumentAliasing2
-KHR-GL43.arrays_of_arrays_gl.InteractionArgumentAliasing3
-KHR-GL43.arrays_of_arrays_gl.InteractionArgumentAliasing4
-KHR-GL43.arrays_of_arrays_gl.InteractionArgumentAliasing5
-KHR-GL43.arrays_of_arrays_gl.InteractionArgumentAliasing6
-KHR-GL43.arrays_of_arrays_gl.InteractionUniforms1
-KHR-GL43.arrays_of_arrays_gl.InteractionUniforms2
-KHR-GL43.arrays_of_arrays_gl.InteractionUniformBuffers1
-KHR-GL43.arrays_of_arrays_gl.InteractionUniformBuffers2
-KHR-GL43.arrays_of_arrays_gl.InteractionUniformBuffers3
-KHR-GL43.arrays_of_arrays_gl.InteractionInterfaceArrays1
-KHR-GL43.arrays_of_arrays_gl.InteractionInterfaceArrays2
-KHR-GL43.arrays_of_arrays_gl.InteractionInterfaceArrays3
-KHR-GL43.arrays_of_arrays_gl.InteractionInterfaceArrays4
-KHR-GL43.arrays_of_arrays_gl.InteractionStorageBuffers1
-KHR-GL43.arrays_of_arrays_gl.InteractionStorageBuffers2
-KHR-GL43.arrays_of_arrays_gl.InteractionStorageBuffers3
-KHR-GL43.arrays_of_arrays_gl.AtomicDeclaration
-KHR-GL43.arrays_of_arrays_gl.AtomicUsage
-KHR-GL43.arrays_of_arrays_gl.SubroutineFunctionCalls1
-KHR-GL43.arrays_of_arrays_gl.SubroutineFunctionCalls2
-KHR-GL43.arrays_of_arrays_gl.SubroutineArgumentAliasing1
-KHR-GL43.arrays_of_arrays_gl.SubroutineArgumentAliasing2
-KHR-GL43.arrays_of_arrays_gl.SubroutineArgumentAliasing3
-KHR-GL43.arrays_of_arrays_gl.SubroutineArgumentAliasing4
 KHR-GL43.copy_image.functional
 KHR-GL43.copy_image.incomplete_tex
 KHR-GL43.copy_image.invalid_object
diff --git a/external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.0.x/src/gl44-master.txt b/external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.0.x/src/gl44-master.txt
index 54fe326..5340303 100644
--- a/external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.0.x/src/gl44-master.txt
+++ b/external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.0.x/src/gl44-master.txt
@@ -3922,85 +3922,6 @@
 KHR-GL44.texture_view.coherency
 KHR-GL44.texture_view.base_and_max_levels
 KHR-GL44.texture_view.reference_counting
-KHR-GL44.arrays_of_arrays_gl.SizedDeclarationsPrimitive
-KHR-GL44.arrays_of_arrays_gl.SizedDeclarationsStructTypes1
-KHR-GL44.arrays_of_arrays_gl.SizedDeclarationsStructTypes2
-KHR-GL44.arrays_of_arrays_gl.SizedDeclarationsStructTypes3
-KHR-GL44.arrays_of_arrays_gl.SizedDeclarationsStructTypes4
-KHR-GL44.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle1
-KHR-GL44.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle2
-KHR-GL44.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle3
-KHR-GL44.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle4
-KHR-GL44.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle5
-KHR-GL44.arrays_of_arrays_gl.SizedDeclarationsFunctionParams
-KHR-GL44.arrays_of_arrays_gl.sized_declarations_invalid_sizes1
-KHR-GL44.arrays_of_arrays_gl.sized_declarations_invalid_sizes2
-KHR-GL44.arrays_of_arrays_gl.sized_declarations_invalid_sizes3
-KHR-GL44.arrays_of_arrays_gl.sized_declarations_invalid_sizes4
-KHR-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructors1
-KHR-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructors2
-KHR-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedConstructors
-KHR-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConst
-KHR-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors1
-KHR-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors2
-KHR-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors3
-KHR-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors4
-KHR-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructorSizing1
-KHR-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructorSizing2
-KHR-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclStructConstructors
-KHR-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays1
-KHR-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays2
-KHR-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays3
-KHR-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays4
-KHR-GL44.arrays_of_arrays_gl.ExpressionsAssignment1
-KHR-GL44.arrays_of_arrays_gl.ExpressionsAssignment2
-KHR-GL44.arrays_of_arrays_gl.ExpressionsAssignment3
-KHR-GL44.arrays_of_arrays_gl.ExpressionsTypeRestrictions1
-KHR-GL44.arrays_of_arrays_gl.ExpressionsTypeRestrictions2
-KHR-GL44.arrays_of_arrays_gl.ExpressionsIndexingScalar1
-KHR-GL44.arrays_of_arrays_gl.ExpressionsIndexingScalar2
-KHR-GL44.arrays_of_arrays_gl.ExpressionsIndexingScalar3
-KHR-GL44.arrays_of_arrays_gl.ExpressionsIndexingScalar4
-KHR-GL44.arrays_of_arrays_gl.ExpressionsIndexingArray1
-KHR-GL44.arrays_of_arrays_gl.ExpressionsIndexingArray2
-KHR-GL44.arrays_of_arrays_gl.ExpressionsIndexingArray3
-KHR-GL44.arrays_of_arrays_gl.ExpressionsDynamicIndexing1
-KHR-GL44.arrays_of_arrays_gl.ExpressionsDynamicIndexing2
-KHR-GL44.arrays_of_arrays_gl.ExpressionsEquality1
-KHR-GL44.arrays_of_arrays_gl.ExpressionsEquality2
-KHR-GL44.arrays_of_arrays_gl.ExpressionsLength1
-KHR-GL44.arrays_of_arrays_gl.ExpressionsLength2
-KHR-GL44.arrays_of_arrays_gl.ExpressionsLength3
-KHR-GL44.arrays_of_arrays_gl.ExpressionsInvalid1
-KHR-GL44.arrays_of_arrays_gl.ExpressionsInvalid2
-KHR-GL44.arrays_of_arrays_gl.InteractionFunctionCalls1
-KHR-GL44.arrays_of_arrays_gl.InteractionFunctionCalls2
-KHR-GL44.arrays_of_arrays_gl.InteractionArgumentAliasing1
-KHR-GL44.arrays_of_arrays_gl.InteractionArgumentAliasing2
-KHR-GL44.arrays_of_arrays_gl.InteractionArgumentAliasing3
-KHR-GL44.arrays_of_arrays_gl.InteractionArgumentAliasing4
-KHR-GL44.arrays_of_arrays_gl.InteractionArgumentAliasing5
-KHR-GL44.arrays_of_arrays_gl.InteractionArgumentAliasing6
-KHR-GL44.arrays_of_arrays_gl.InteractionUniforms1
-KHR-GL44.arrays_of_arrays_gl.InteractionUniforms2
-KHR-GL44.arrays_of_arrays_gl.InteractionUniformBuffers1
-KHR-GL44.arrays_of_arrays_gl.InteractionUniformBuffers2
-KHR-GL44.arrays_of_arrays_gl.InteractionUniformBuffers3
-KHR-GL44.arrays_of_arrays_gl.InteractionInterfaceArrays1
-KHR-GL44.arrays_of_arrays_gl.InteractionInterfaceArrays2
-KHR-GL44.arrays_of_arrays_gl.InteractionInterfaceArrays3
-KHR-GL44.arrays_of_arrays_gl.InteractionInterfaceArrays4
-KHR-GL44.arrays_of_arrays_gl.InteractionStorageBuffers1
-KHR-GL44.arrays_of_arrays_gl.InteractionStorageBuffers2
-KHR-GL44.arrays_of_arrays_gl.InteractionStorageBuffers3
-KHR-GL44.arrays_of_arrays_gl.AtomicDeclaration
-KHR-GL44.arrays_of_arrays_gl.AtomicUsage
-KHR-GL44.arrays_of_arrays_gl.SubroutineFunctionCalls1
-KHR-GL44.arrays_of_arrays_gl.SubroutineFunctionCalls2
-KHR-GL44.arrays_of_arrays_gl.SubroutineArgumentAliasing1
-KHR-GL44.arrays_of_arrays_gl.SubroutineArgumentAliasing2
-KHR-GL44.arrays_of_arrays_gl.SubroutineArgumentAliasing3
-KHR-GL44.arrays_of_arrays_gl.SubroutineArgumentAliasing4
 KHR-GL44.copy_image.functional
 KHR-GL44.copy_image.incomplete_tex
 KHR-GL44.copy_image.invalid_object
@@ -6231,69 +6152,6 @@
 KHR-GL44.buffer_storage.map_persistent_dispatch
 KHR-GL44.buffer_storage.map_persistent_flush
 KHR-GL44.buffer_storage.map_persistent_draw
-KHR-GL44.enhanced_layouts.api_constant_values
-KHR-GL44.enhanced_layouts.api_errors
-KHR-GL44.enhanced_layouts.glsl_contant_values
-KHR-GL44.enhanced_layouts.glsl_contant_immutablity
-KHR-GL44.enhanced_layouts.glsl_constant_integral_expression
-KHR-GL44.enhanced_layouts.uniform_block_layout_qualifier_conflict
-KHR-GL44.enhanced_layouts.ssb_member_invalid_offset_alignment
-KHR-GL44.enhanced_layouts.ssb_member_overlapping_offsets
-KHR-GL44.enhanced_layouts.varying_exceeding_components
-KHR-GL44.enhanced_layouts.varying_component_of_invalid_type
-KHR-GL44.enhanced_layouts.output_component_aliasing
-KHR-GL44.enhanced_layouts.vertex_attrib_location_api
-KHR-GL44.enhanced_layouts.xfb_input
-KHR-GL44.enhanced_layouts.xfb_all_stages
-KHR-GL44.enhanced_layouts.xfb_capture_inactive_output_variable
-KHR-GL44.enhanced_layouts.xfb_capture_inactive_output_component
-KHR-GL44.enhanced_layouts.xfb_capture_inactive_output_block_member
-KHR-GL44.enhanced_layouts.xfb_stride
-KHR-GL44.enhanced_layouts.uniform_block_member_offset_and_align
-KHR-GL44.enhanced_layouts.uniform_block_member_invalid_offset_alignment
-KHR-GL44.enhanced_layouts.uniform_block_member_overlapping_offsets
-KHR-GL44.enhanced_layouts.uniform_block_member_align_non_power_of_2
-KHR-GL44.enhanced_layouts.ssb_layout_qualifier_conflict
-KHR-GL44.enhanced_layouts.ssb_member_align_non_power_of_2
-KHR-GL44.enhanced_layouts.ssb_alignment
-KHR-GL44.enhanced_layouts.varying_structure_member_location
-KHR-GL44.enhanced_layouts.varying_block_automatic_member_locations
-KHR-GL44.enhanced_layouts.varying_component_without_location
-KHR-GL44.enhanced_layouts.input_component_aliasing
-KHR-GL44.enhanced_layouts.varying_location_aliasing_with_mixed_types
-KHR-GL44.enhanced_layouts.varying_location_aliasing_with_mixed_interpolation
-KHR-GL44.enhanced_layouts.varying_location_aliasing_with_mixed_auxiliary_storage
-KHR-GL44.enhanced_layouts.xfb_stride_of_empty_list
-KHR-GL44.enhanced_layouts.xfb_stride_of_empty_list_and_api
-KHR-GL44.enhanced_layouts.xfb_too_small_stride
-KHR-GL44.enhanced_layouts.xfb_block_member_stride
-KHR-GL44.enhanced_layouts.xfb_duplicated_stride
-KHR-GL44.enhanced_layouts.xfb_get_program_resource_api
-KHR-GL44.enhanced_layouts.xfb_multiple_vertex_streams
-KHR-GL44.enhanced_layouts.xfb_exceed_buffer_limit
-KHR-GL44.enhanced_layouts.xfb_exceed_offset_limit
-KHR-GL44.enhanced_layouts.xfb_block_member_buffer
-KHR-GL44.enhanced_layouts.xfb_output_overlapping
-KHR-GL44.enhanced_layouts.xfb_invalid_offset_alignment
-KHR-GL44.enhanced_layouts.xfb_capture_struct
-KHR-GL44.enhanced_layouts.xfb_capture_unsized_array
-KHR-GL44.enhanced_layouts.uniform_block_alignment
-KHR-GL44.enhanced_layouts.ssb_member_offset_and_align
-KHR-GL44.enhanced_layouts.vertex_attrib_locations
-KHR-GL44.enhanced_layouts.varying_locations
-KHR-GL44.enhanced_layouts.varying_array_locations
-KHR-GL44.enhanced_layouts.varying_structure_locations
-KHR-GL44.enhanced_layouts.varying_block_locations
-KHR-GL44.enhanced_layouts.varying_block_member_locations
-KHR-GL44.enhanced_layouts.xfb_variable_stride
-KHR-GL44.enhanced_layouts.xfb_block_stride
-KHR-GL44.enhanced_layouts.xfb_override_qualifiers_with_api
-KHR-GL44.enhanced_layouts.xfb_vertex_streams
-KHR-GL44.enhanced_layouts.xfb_global_buffer
-KHR-GL44.enhanced_layouts.fragment_data_location_api
-KHR-GL44.enhanced_layouts.varying_location_limit
-KHR-GL44.enhanced_layouts.varying_components
-KHR-GL44.enhanced_layouts.varying_array_components
 KHR-GL44.layout_binding.sampler2D_layout_binding_texture_ComputeShader
 KHR-GL44.layout_binding.sampler3D_layout_binding_texture_ComputeShader
 KHR-GL44.layout_binding.sampler2DArray_layout_binding_texture_ComputeShader
diff --git a/external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.0.x/src/gl45-master.txt b/external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.0.x/src/gl45-master.txt
index 7569293..9da887f 100644
--- a/external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.0.x/src/gl45-master.txt
+++ b/external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.0.x/src/gl45-master.txt
@@ -3923,85 +3923,6 @@
 KHR-GL45.texture_view.coherency
 KHR-GL45.texture_view.base_and_max_levels
 KHR-GL45.texture_view.reference_counting
-KHR-GL45.arrays_of_arrays_gl.SizedDeclarationsPrimitive
-KHR-GL45.arrays_of_arrays_gl.SizedDeclarationsStructTypes1
-KHR-GL45.arrays_of_arrays_gl.SizedDeclarationsStructTypes2
-KHR-GL45.arrays_of_arrays_gl.SizedDeclarationsStructTypes3
-KHR-GL45.arrays_of_arrays_gl.SizedDeclarationsStructTypes4
-KHR-GL45.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle1
-KHR-GL45.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle2
-KHR-GL45.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle3
-KHR-GL45.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle4
-KHR-GL45.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle5
-KHR-GL45.arrays_of_arrays_gl.SizedDeclarationsFunctionParams
-KHR-GL45.arrays_of_arrays_gl.sized_declarations_invalid_sizes1
-KHR-GL45.arrays_of_arrays_gl.sized_declarations_invalid_sizes2
-KHR-GL45.arrays_of_arrays_gl.sized_declarations_invalid_sizes3
-KHR-GL45.arrays_of_arrays_gl.sized_declarations_invalid_sizes4
-KHR-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructors1
-KHR-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructors2
-KHR-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedConstructors
-KHR-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConst
-KHR-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors1
-KHR-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors2
-KHR-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors3
-KHR-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors4
-KHR-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructorSizing1
-KHR-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructorSizing2
-KHR-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclStructConstructors
-KHR-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays1
-KHR-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays2
-KHR-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays3
-KHR-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays4
-KHR-GL45.arrays_of_arrays_gl.ExpressionsAssignment1
-KHR-GL45.arrays_of_arrays_gl.ExpressionsAssignment2
-KHR-GL45.arrays_of_arrays_gl.ExpressionsAssignment3
-KHR-GL45.arrays_of_arrays_gl.ExpressionsTypeRestrictions1
-KHR-GL45.arrays_of_arrays_gl.ExpressionsTypeRestrictions2
-KHR-GL45.arrays_of_arrays_gl.ExpressionsIndexingScalar1
-KHR-GL45.arrays_of_arrays_gl.ExpressionsIndexingScalar2
-KHR-GL45.arrays_of_arrays_gl.ExpressionsIndexingScalar3
-KHR-GL45.arrays_of_arrays_gl.ExpressionsIndexingScalar4
-KHR-GL45.arrays_of_arrays_gl.ExpressionsIndexingArray1
-KHR-GL45.arrays_of_arrays_gl.ExpressionsIndexingArray2
-KHR-GL45.arrays_of_arrays_gl.ExpressionsIndexingArray3
-KHR-GL45.arrays_of_arrays_gl.ExpressionsDynamicIndexing1
-KHR-GL45.arrays_of_arrays_gl.ExpressionsDynamicIndexing2
-KHR-GL45.arrays_of_arrays_gl.ExpressionsEquality1
-KHR-GL45.arrays_of_arrays_gl.ExpressionsEquality2
-KHR-GL45.arrays_of_arrays_gl.ExpressionsLength1
-KHR-GL45.arrays_of_arrays_gl.ExpressionsLength2
-KHR-GL45.arrays_of_arrays_gl.ExpressionsLength3
-KHR-GL45.arrays_of_arrays_gl.ExpressionsInvalid1
-KHR-GL45.arrays_of_arrays_gl.ExpressionsInvalid2
-KHR-GL45.arrays_of_arrays_gl.InteractionFunctionCalls1
-KHR-GL45.arrays_of_arrays_gl.InteractionFunctionCalls2
-KHR-GL45.arrays_of_arrays_gl.InteractionArgumentAliasing1
-KHR-GL45.arrays_of_arrays_gl.InteractionArgumentAliasing2
-KHR-GL45.arrays_of_arrays_gl.InteractionArgumentAliasing3
-KHR-GL45.arrays_of_arrays_gl.InteractionArgumentAliasing4
-KHR-GL45.arrays_of_arrays_gl.InteractionArgumentAliasing5
-KHR-GL45.arrays_of_arrays_gl.InteractionArgumentAliasing6
-KHR-GL45.arrays_of_arrays_gl.InteractionUniforms1
-KHR-GL45.arrays_of_arrays_gl.InteractionUniforms2
-KHR-GL45.arrays_of_arrays_gl.InteractionUniformBuffers1
-KHR-GL45.arrays_of_arrays_gl.InteractionUniformBuffers2
-KHR-GL45.arrays_of_arrays_gl.InteractionUniformBuffers3
-KHR-GL45.arrays_of_arrays_gl.InteractionInterfaceArrays1
-KHR-GL45.arrays_of_arrays_gl.InteractionInterfaceArrays2
-KHR-GL45.arrays_of_arrays_gl.InteractionInterfaceArrays3
-KHR-GL45.arrays_of_arrays_gl.InteractionInterfaceArrays4
-KHR-GL45.arrays_of_arrays_gl.InteractionStorageBuffers1
-KHR-GL45.arrays_of_arrays_gl.InteractionStorageBuffers2
-KHR-GL45.arrays_of_arrays_gl.InteractionStorageBuffers3
-KHR-GL45.arrays_of_arrays_gl.AtomicDeclaration
-KHR-GL45.arrays_of_arrays_gl.AtomicUsage
-KHR-GL45.arrays_of_arrays_gl.SubroutineFunctionCalls1
-KHR-GL45.arrays_of_arrays_gl.SubroutineFunctionCalls2
-KHR-GL45.arrays_of_arrays_gl.SubroutineArgumentAliasing1
-KHR-GL45.arrays_of_arrays_gl.SubroutineArgumentAliasing2
-KHR-GL45.arrays_of_arrays_gl.SubroutineArgumentAliasing3
-KHR-GL45.arrays_of_arrays_gl.SubroutineArgumentAliasing4
 KHR-GL45.copy_image.functional
 KHR-GL45.copy_image.incomplete_tex
 KHR-GL45.copy_image.invalid_object
@@ -6232,69 +6153,6 @@
 KHR-GL45.buffer_storage.map_persistent_dispatch
 KHR-GL45.buffer_storage.map_persistent_flush
 KHR-GL45.buffer_storage.map_persistent_draw
-KHR-GL45.enhanced_layouts.api_constant_values
-KHR-GL45.enhanced_layouts.api_errors
-KHR-GL45.enhanced_layouts.glsl_contant_values
-KHR-GL45.enhanced_layouts.glsl_contant_immutablity
-KHR-GL45.enhanced_layouts.glsl_constant_integral_expression
-KHR-GL45.enhanced_layouts.uniform_block_layout_qualifier_conflict
-KHR-GL45.enhanced_layouts.ssb_member_invalid_offset_alignment
-KHR-GL45.enhanced_layouts.ssb_member_overlapping_offsets
-KHR-GL45.enhanced_layouts.varying_exceeding_components
-KHR-GL45.enhanced_layouts.varying_component_of_invalid_type
-KHR-GL45.enhanced_layouts.output_component_aliasing
-KHR-GL45.enhanced_layouts.vertex_attrib_location_api
-KHR-GL45.enhanced_layouts.xfb_input
-KHR-GL45.enhanced_layouts.xfb_all_stages
-KHR-GL45.enhanced_layouts.xfb_capture_inactive_output_variable
-KHR-GL45.enhanced_layouts.xfb_capture_inactive_output_component
-KHR-GL45.enhanced_layouts.xfb_capture_inactive_output_block_member
-KHR-GL45.enhanced_layouts.xfb_stride
-KHR-GL45.enhanced_layouts.uniform_block_member_offset_and_align
-KHR-GL45.enhanced_layouts.uniform_block_member_invalid_offset_alignment
-KHR-GL45.enhanced_layouts.uniform_block_member_overlapping_offsets
-KHR-GL45.enhanced_layouts.uniform_block_member_align_non_power_of_2
-KHR-GL45.enhanced_layouts.ssb_layout_qualifier_conflict
-KHR-GL45.enhanced_layouts.ssb_member_align_non_power_of_2
-KHR-GL45.enhanced_layouts.ssb_alignment
-KHR-GL45.enhanced_layouts.varying_structure_member_location
-KHR-GL45.enhanced_layouts.varying_block_automatic_member_locations
-KHR-GL45.enhanced_layouts.varying_component_without_location
-KHR-GL45.enhanced_layouts.input_component_aliasing
-KHR-GL45.enhanced_layouts.varying_location_aliasing_with_mixed_types
-KHR-GL45.enhanced_layouts.varying_location_aliasing_with_mixed_interpolation
-KHR-GL45.enhanced_layouts.varying_location_aliasing_with_mixed_auxiliary_storage
-KHR-GL45.enhanced_layouts.xfb_stride_of_empty_list
-KHR-GL45.enhanced_layouts.xfb_stride_of_empty_list_and_api
-KHR-GL45.enhanced_layouts.xfb_too_small_stride
-KHR-GL45.enhanced_layouts.xfb_block_member_stride
-KHR-GL45.enhanced_layouts.xfb_duplicated_stride
-KHR-GL45.enhanced_layouts.xfb_get_program_resource_api
-KHR-GL45.enhanced_layouts.xfb_multiple_vertex_streams
-KHR-GL45.enhanced_layouts.xfb_exceed_buffer_limit
-KHR-GL45.enhanced_layouts.xfb_exceed_offset_limit
-KHR-GL45.enhanced_layouts.xfb_block_member_buffer
-KHR-GL45.enhanced_layouts.xfb_output_overlapping
-KHR-GL45.enhanced_layouts.xfb_invalid_offset_alignment
-KHR-GL45.enhanced_layouts.xfb_capture_struct
-KHR-GL45.enhanced_layouts.xfb_capture_unsized_array
-KHR-GL45.enhanced_layouts.uniform_block_alignment
-KHR-GL45.enhanced_layouts.ssb_member_offset_and_align
-KHR-GL45.enhanced_layouts.vertex_attrib_locations
-KHR-GL45.enhanced_layouts.varying_locations
-KHR-GL45.enhanced_layouts.varying_array_locations
-KHR-GL45.enhanced_layouts.varying_structure_locations
-KHR-GL45.enhanced_layouts.varying_block_locations
-KHR-GL45.enhanced_layouts.varying_block_member_locations
-KHR-GL45.enhanced_layouts.xfb_variable_stride
-KHR-GL45.enhanced_layouts.xfb_block_stride
-KHR-GL45.enhanced_layouts.xfb_override_qualifiers_with_api
-KHR-GL45.enhanced_layouts.xfb_vertex_streams
-KHR-GL45.enhanced_layouts.xfb_global_buffer
-KHR-GL45.enhanced_layouts.fragment_data_location_api
-KHR-GL45.enhanced_layouts.varying_location_limit
-KHR-GL45.enhanced_layouts.varying_components
-KHR-GL45.enhanced_layouts.varying_array_components
 KHR-GL45.layout_binding.sampler2D_layout_binding_texture_ComputeShader
 KHR-GL45.layout_binding.sampler3D_layout_binding_texture_ComputeShader
 KHR-GL45.layout_binding.sampler2DArray_layout_binding_texture_ComputeShader
diff --git a/external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.0.x/src/gl46-master.txt b/external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.0.x/src/gl46-master.txt
index f6ba4fc..7a71efe 100644
--- a/external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.0.x/src/gl46-master.txt
+++ b/external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.0.x/src/gl46-master.txt
@@ -3923,85 +3923,6 @@
 KHR-GL46.texture_view.coherency
 KHR-GL46.texture_view.base_and_max_levels
 KHR-GL46.texture_view.reference_counting
-KHR-GL46.arrays_of_arrays_gl.SizedDeclarationsPrimitive
-KHR-GL46.arrays_of_arrays_gl.SizedDeclarationsStructTypes1
-KHR-GL46.arrays_of_arrays_gl.SizedDeclarationsStructTypes2
-KHR-GL46.arrays_of_arrays_gl.SizedDeclarationsStructTypes3
-KHR-GL46.arrays_of_arrays_gl.SizedDeclarationsStructTypes4
-KHR-GL46.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle1
-KHR-GL46.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle2
-KHR-GL46.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle3
-KHR-GL46.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle4
-KHR-GL46.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle5
-KHR-GL46.arrays_of_arrays_gl.SizedDeclarationsFunctionParams
-KHR-GL46.arrays_of_arrays_gl.sized_declarations_invalid_sizes1
-KHR-GL46.arrays_of_arrays_gl.sized_declarations_invalid_sizes2
-KHR-GL46.arrays_of_arrays_gl.sized_declarations_invalid_sizes3
-KHR-GL46.arrays_of_arrays_gl.sized_declarations_invalid_sizes4
-KHR-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructors1
-KHR-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructors2
-KHR-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedConstructors
-KHR-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConst
-KHR-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors1
-KHR-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors2
-KHR-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors3
-KHR-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors4
-KHR-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructorSizing1
-KHR-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructorSizing2
-KHR-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclStructConstructors
-KHR-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays1
-KHR-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays2
-KHR-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays3
-KHR-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays4
-KHR-GL46.arrays_of_arrays_gl.ExpressionsAssignment1
-KHR-GL46.arrays_of_arrays_gl.ExpressionsAssignment2
-KHR-GL46.arrays_of_arrays_gl.ExpressionsAssignment3
-KHR-GL46.arrays_of_arrays_gl.ExpressionsTypeRestrictions1
-KHR-GL46.arrays_of_arrays_gl.ExpressionsTypeRestrictions2
-KHR-GL46.arrays_of_arrays_gl.ExpressionsIndexingScalar1
-KHR-GL46.arrays_of_arrays_gl.ExpressionsIndexingScalar2
-KHR-GL46.arrays_of_arrays_gl.ExpressionsIndexingScalar3
-KHR-GL46.arrays_of_arrays_gl.ExpressionsIndexingScalar4
-KHR-GL46.arrays_of_arrays_gl.ExpressionsIndexingArray1
-KHR-GL46.arrays_of_arrays_gl.ExpressionsIndexingArray2
-KHR-GL46.arrays_of_arrays_gl.ExpressionsIndexingArray3
-KHR-GL46.arrays_of_arrays_gl.ExpressionsDynamicIndexing1
-KHR-GL46.arrays_of_arrays_gl.ExpressionsDynamicIndexing2
-KHR-GL46.arrays_of_arrays_gl.ExpressionsEquality1
-KHR-GL46.arrays_of_arrays_gl.ExpressionsEquality2
-KHR-GL46.arrays_of_arrays_gl.ExpressionsLength1
-KHR-GL46.arrays_of_arrays_gl.ExpressionsLength2
-KHR-GL46.arrays_of_arrays_gl.ExpressionsLength3
-KHR-GL46.arrays_of_arrays_gl.ExpressionsInvalid1
-KHR-GL46.arrays_of_arrays_gl.ExpressionsInvalid2
-KHR-GL46.arrays_of_arrays_gl.InteractionFunctionCalls1
-KHR-GL46.arrays_of_arrays_gl.InteractionFunctionCalls2
-KHR-GL46.arrays_of_arrays_gl.InteractionArgumentAliasing1
-KHR-GL46.arrays_of_arrays_gl.InteractionArgumentAliasing2
-KHR-GL46.arrays_of_arrays_gl.InteractionArgumentAliasing3
-KHR-GL46.arrays_of_arrays_gl.InteractionArgumentAliasing4
-KHR-GL46.arrays_of_arrays_gl.InteractionArgumentAliasing5
-KHR-GL46.arrays_of_arrays_gl.InteractionArgumentAliasing6
-KHR-GL46.arrays_of_arrays_gl.InteractionUniforms1
-KHR-GL46.arrays_of_arrays_gl.InteractionUniforms2
-KHR-GL46.arrays_of_arrays_gl.InteractionUniformBuffers1
-KHR-GL46.arrays_of_arrays_gl.InteractionUniformBuffers2
-KHR-GL46.arrays_of_arrays_gl.InteractionUniformBuffers3
-KHR-GL46.arrays_of_arrays_gl.InteractionInterfaceArrays1
-KHR-GL46.arrays_of_arrays_gl.InteractionInterfaceArrays2
-KHR-GL46.arrays_of_arrays_gl.InteractionInterfaceArrays3
-KHR-GL46.arrays_of_arrays_gl.InteractionInterfaceArrays4
-KHR-GL46.arrays_of_arrays_gl.InteractionStorageBuffers1
-KHR-GL46.arrays_of_arrays_gl.InteractionStorageBuffers2
-KHR-GL46.arrays_of_arrays_gl.InteractionStorageBuffers3
-KHR-GL46.arrays_of_arrays_gl.AtomicDeclaration
-KHR-GL46.arrays_of_arrays_gl.AtomicUsage
-KHR-GL46.arrays_of_arrays_gl.SubroutineFunctionCalls1
-KHR-GL46.arrays_of_arrays_gl.SubroutineFunctionCalls2
-KHR-GL46.arrays_of_arrays_gl.SubroutineArgumentAliasing1
-KHR-GL46.arrays_of_arrays_gl.SubroutineArgumentAliasing2
-KHR-GL46.arrays_of_arrays_gl.SubroutineArgumentAliasing3
-KHR-GL46.arrays_of_arrays_gl.SubroutineArgumentAliasing4
 KHR-GL46.copy_image.functional
 KHR-GL46.copy_image.incomplete_tex
 KHR-GL46.copy_image.invalid_object
@@ -6232,69 +6153,6 @@
 KHR-GL46.buffer_storage.map_persistent_dispatch
 KHR-GL46.buffer_storage.map_persistent_flush
 KHR-GL46.buffer_storage.map_persistent_draw
-KHR-GL46.enhanced_layouts.api_constant_values
-KHR-GL46.enhanced_layouts.api_errors
-KHR-GL46.enhanced_layouts.glsl_contant_values
-KHR-GL46.enhanced_layouts.glsl_contant_immutablity
-KHR-GL46.enhanced_layouts.glsl_constant_integral_expression
-KHR-GL46.enhanced_layouts.uniform_block_layout_qualifier_conflict
-KHR-GL46.enhanced_layouts.ssb_member_invalid_offset_alignment
-KHR-GL46.enhanced_layouts.ssb_member_overlapping_offsets
-KHR-GL46.enhanced_layouts.varying_exceeding_components
-KHR-GL46.enhanced_layouts.varying_component_of_invalid_type
-KHR-GL46.enhanced_layouts.output_component_aliasing
-KHR-GL46.enhanced_layouts.vertex_attrib_location_api
-KHR-GL46.enhanced_layouts.xfb_input
-KHR-GL46.enhanced_layouts.xfb_all_stages
-KHR-GL46.enhanced_layouts.xfb_capture_inactive_output_variable
-KHR-GL46.enhanced_layouts.xfb_capture_inactive_output_component
-KHR-GL46.enhanced_layouts.xfb_capture_inactive_output_block_member
-KHR-GL46.enhanced_layouts.xfb_stride
-KHR-GL46.enhanced_layouts.uniform_block_member_offset_and_align
-KHR-GL46.enhanced_layouts.uniform_block_member_invalid_offset_alignment
-KHR-GL46.enhanced_layouts.uniform_block_member_overlapping_offsets
-KHR-GL46.enhanced_layouts.uniform_block_member_align_non_power_of_2
-KHR-GL46.enhanced_layouts.ssb_layout_qualifier_conflict
-KHR-GL46.enhanced_layouts.ssb_member_align_non_power_of_2
-KHR-GL46.enhanced_layouts.ssb_alignment
-KHR-GL46.enhanced_layouts.varying_structure_member_location
-KHR-GL46.enhanced_layouts.varying_block_automatic_member_locations
-KHR-GL46.enhanced_layouts.varying_component_without_location
-KHR-GL46.enhanced_layouts.input_component_aliasing
-KHR-GL46.enhanced_layouts.varying_location_aliasing_with_mixed_types
-KHR-GL46.enhanced_layouts.varying_location_aliasing_with_mixed_interpolation
-KHR-GL46.enhanced_layouts.varying_location_aliasing_with_mixed_auxiliary_storage
-KHR-GL46.enhanced_layouts.xfb_stride_of_empty_list
-KHR-GL46.enhanced_layouts.xfb_stride_of_empty_list_and_api
-KHR-GL46.enhanced_layouts.xfb_too_small_stride
-KHR-GL46.enhanced_layouts.xfb_block_member_stride
-KHR-GL46.enhanced_layouts.xfb_duplicated_stride
-KHR-GL46.enhanced_layouts.xfb_get_program_resource_api
-KHR-GL46.enhanced_layouts.xfb_multiple_vertex_streams
-KHR-GL46.enhanced_layouts.xfb_exceed_buffer_limit
-KHR-GL46.enhanced_layouts.xfb_exceed_offset_limit
-KHR-GL46.enhanced_layouts.xfb_block_member_buffer
-KHR-GL46.enhanced_layouts.xfb_output_overlapping
-KHR-GL46.enhanced_layouts.xfb_invalid_offset_alignment
-KHR-GL46.enhanced_layouts.xfb_capture_struct
-KHR-GL46.enhanced_layouts.xfb_capture_unsized_array
-KHR-GL46.enhanced_layouts.uniform_block_alignment
-KHR-GL46.enhanced_layouts.ssb_member_offset_and_align
-KHR-GL46.enhanced_layouts.vertex_attrib_locations
-KHR-GL46.enhanced_layouts.varying_locations
-KHR-GL46.enhanced_layouts.varying_array_locations
-KHR-GL46.enhanced_layouts.varying_structure_locations
-KHR-GL46.enhanced_layouts.varying_block_locations
-KHR-GL46.enhanced_layouts.varying_block_member_locations
-KHR-GL46.enhanced_layouts.xfb_variable_stride
-KHR-GL46.enhanced_layouts.xfb_block_stride
-KHR-GL46.enhanced_layouts.xfb_override_qualifiers_with_api
-KHR-GL46.enhanced_layouts.xfb_vertex_streams
-KHR-GL46.enhanced_layouts.xfb_global_buffer
-KHR-GL46.enhanced_layouts.fragment_data_location_api
-KHR-GL46.enhanced_layouts.varying_location_limit
-KHR-GL46.enhanced_layouts.varying_components
-KHR-GL46.enhanced_layouts.varying_array_components
 KHR-GL46.layout_binding.sampler2D_layout_binding_texture_ComputeShader
 KHR-GL46.layout_binding.sampler3D_layout_binding_texture_ComputeShader
 KHR-GL46.layout_binding.sampler2DArray_layout_binding_texture_ComputeShader
diff --git a/external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.1.x/gl43-master.txt b/external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.1.x/gl43-master.txt
index 2aaf500..bf50fb7 100644
--- a/external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.1.x/gl43-master.txt
+++ b/external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.1.x/gl43-master.txt
@@ -5516,85 +5516,6 @@
 KHR-GL43.texture_view.reference_counting
 KHR-GL43.shaders42.declarations.declarations.layout_qualifier_on_image_function_parameter_vertex
 KHR-GL43.shaders42.declarations.declarations.layout_qualifier_on_image_function_parameter_fragment
-KHR-GL43.arrays_of_arrays_gl.SizedDeclarationsPrimitive
-KHR-GL43.arrays_of_arrays_gl.SizedDeclarationsStructTypes1
-KHR-GL43.arrays_of_arrays_gl.SizedDeclarationsStructTypes2
-KHR-GL43.arrays_of_arrays_gl.SizedDeclarationsStructTypes3
-KHR-GL43.arrays_of_arrays_gl.SizedDeclarationsStructTypes4
-KHR-GL43.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle1
-KHR-GL43.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle2
-KHR-GL43.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle3
-KHR-GL43.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle4
-KHR-GL43.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle5
-KHR-GL43.arrays_of_arrays_gl.SizedDeclarationsFunctionParams
-KHR-GL43.arrays_of_arrays_gl.sized_declarations_invalid_sizes1
-KHR-GL43.arrays_of_arrays_gl.sized_declarations_invalid_sizes2
-KHR-GL43.arrays_of_arrays_gl.sized_declarations_invalid_sizes3
-KHR-GL43.arrays_of_arrays_gl.sized_declarations_invalid_sizes4
-KHR-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructors1
-KHR-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructors2
-KHR-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedConstructors
-KHR-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConst
-KHR-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors1
-KHR-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors2
-KHR-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors3
-KHR-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors4
-KHR-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructorSizing1
-KHR-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructorSizing2
-KHR-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclStructConstructors
-KHR-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays1
-KHR-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays2
-KHR-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays3
-KHR-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays4
-KHR-GL43.arrays_of_arrays_gl.ExpressionsAssignment1
-KHR-GL43.arrays_of_arrays_gl.ExpressionsAssignment2
-KHR-GL43.arrays_of_arrays_gl.ExpressionsAssignment3
-KHR-GL43.arrays_of_arrays_gl.ExpressionsTypeRestrictions1
-KHR-GL43.arrays_of_arrays_gl.ExpressionsTypeRestrictions2
-KHR-GL43.arrays_of_arrays_gl.ExpressionsIndexingScalar1
-KHR-GL43.arrays_of_arrays_gl.ExpressionsIndexingScalar2
-KHR-GL43.arrays_of_arrays_gl.ExpressionsIndexingScalar3
-KHR-GL43.arrays_of_arrays_gl.ExpressionsIndexingScalar4
-KHR-GL43.arrays_of_arrays_gl.ExpressionsIndexingArray1
-KHR-GL43.arrays_of_arrays_gl.ExpressionsIndexingArray2
-KHR-GL43.arrays_of_arrays_gl.ExpressionsIndexingArray3
-KHR-GL43.arrays_of_arrays_gl.ExpressionsDynamicIndexing1
-KHR-GL43.arrays_of_arrays_gl.ExpressionsDynamicIndexing2
-KHR-GL43.arrays_of_arrays_gl.ExpressionsEquality1
-KHR-GL43.arrays_of_arrays_gl.ExpressionsEquality2
-KHR-GL43.arrays_of_arrays_gl.ExpressionsLength1
-KHR-GL43.arrays_of_arrays_gl.ExpressionsLength2
-KHR-GL43.arrays_of_arrays_gl.ExpressionsLength3
-KHR-GL43.arrays_of_arrays_gl.ExpressionsInvalid1
-KHR-GL43.arrays_of_arrays_gl.ExpressionsInvalid2
-KHR-GL43.arrays_of_arrays_gl.InteractionFunctionCalls1
-KHR-GL43.arrays_of_arrays_gl.InteractionFunctionCalls2
-KHR-GL43.arrays_of_arrays_gl.InteractionArgumentAliasing1
-KHR-GL43.arrays_of_arrays_gl.InteractionArgumentAliasing2
-KHR-GL43.arrays_of_arrays_gl.InteractionArgumentAliasing3
-KHR-GL43.arrays_of_arrays_gl.InteractionArgumentAliasing4
-KHR-GL43.arrays_of_arrays_gl.InteractionArgumentAliasing5
-KHR-GL43.arrays_of_arrays_gl.InteractionArgumentAliasing6
-KHR-GL43.arrays_of_arrays_gl.InteractionUniforms1
-KHR-GL43.arrays_of_arrays_gl.InteractionUniforms2
-KHR-GL43.arrays_of_arrays_gl.InteractionUniformBuffers1
-KHR-GL43.arrays_of_arrays_gl.InteractionUniformBuffers2
-KHR-GL43.arrays_of_arrays_gl.InteractionUniformBuffers3
-KHR-GL43.arrays_of_arrays_gl.InteractionInterfaceArrays1
-KHR-GL43.arrays_of_arrays_gl.InteractionInterfaceArrays2
-KHR-GL43.arrays_of_arrays_gl.InteractionInterfaceArrays3
-KHR-GL43.arrays_of_arrays_gl.InteractionInterfaceArrays4
-KHR-GL43.arrays_of_arrays_gl.InteractionStorageBuffers1
-KHR-GL43.arrays_of_arrays_gl.InteractionStorageBuffers2
-KHR-GL43.arrays_of_arrays_gl.InteractionStorageBuffers3
-KHR-GL43.arrays_of_arrays_gl.AtomicDeclaration
-KHR-GL43.arrays_of_arrays_gl.AtomicUsage
-KHR-GL43.arrays_of_arrays_gl.SubroutineFunctionCalls1
-KHR-GL43.arrays_of_arrays_gl.SubroutineFunctionCalls2
-KHR-GL43.arrays_of_arrays_gl.SubroutineArgumentAliasing1
-KHR-GL43.arrays_of_arrays_gl.SubroutineArgumentAliasing2
-KHR-GL43.arrays_of_arrays_gl.SubroutineArgumentAliasing3
-KHR-GL43.arrays_of_arrays_gl.SubroutineArgumentAliasing4
 KHR-GL43.copy_image.functional
 KHR-GL43.copy_image.incomplete_tex
 KHR-GL43.copy_image.invalid_object
diff --git a/external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.1.x/gl44-master.txt b/external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.1.x/gl44-master.txt
index 69cd591..b65e276 100644
--- a/external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.1.x/gl44-master.txt
+++ b/external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.1.x/gl44-master.txt
@@ -5516,85 +5516,6 @@
 KHR-GL44.texture_view.reference_counting
 KHR-GL44.shaders42.declarations.declarations.layout_qualifier_on_image_function_parameter_vertex
 KHR-GL44.shaders42.declarations.declarations.layout_qualifier_on_image_function_parameter_fragment
-KHR-GL44.arrays_of_arrays_gl.SizedDeclarationsPrimitive
-KHR-GL44.arrays_of_arrays_gl.SizedDeclarationsStructTypes1
-KHR-GL44.arrays_of_arrays_gl.SizedDeclarationsStructTypes2
-KHR-GL44.arrays_of_arrays_gl.SizedDeclarationsStructTypes3
-KHR-GL44.arrays_of_arrays_gl.SizedDeclarationsStructTypes4
-KHR-GL44.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle1
-KHR-GL44.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle2
-KHR-GL44.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle3
-KHR-GL44.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle4
-KHR-GL44.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle5
-KHR-GL44.arrays_of_arrays_gl.SizedDeclarationsFunctionParams
-KHR-GL44.arrays_of_arrays_gl.sized_declarations_invalid_sizes1
-KHR-GL44.arrays_of_arrays_gl.sized_declarations_invalid_sizes2
-KHR-GL44.arrays_of_arrays_gl.sized_declarations_invalid_sizes3
-KHR-GL44.arrays_of_arrays_gl.sized_declarations_invalid_sizes4
-KHR-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructors1
-KHR-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructors2
-KHR-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedConstructors
-KHR-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConst
-KHR-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors1
-KHR-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors2
-KHR-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors3
-KHR-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors4
-KHR-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructorSizing1
-KHR-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructorSizing2
-KHR-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclStructConstructors
-KHR-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays1
-KHR-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays2
-KHR-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays3
-KHR-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays4
-KHR-GL44.arrays_of_arrays_gl.ExpressionsAssignment1
-KHR-GL44.arrays_of_arrays_gl.ExpressionsAssignment2
-KHR-GL44.arrays_of_arrays_gl.ExpressionsAssignment3
-KHR-GL44.arrays_of_arrays_gl.ExpressionsTypeRestrictions1
-KHR-GL44.arrays_of_arrays_gl.ExpressionsTypeRestrictions2
-KHR-GL44.arrays_of_arrays_gl.ExpressionsIndexingScalar1
-KHR-GL44.arrays_of_arrays_gl.ExpressionsIndexingScalar2
-KHR-GL44.arrays_of_arrays_gl.ExpressionsIndexingScalar3
-KHR-GL44.arrays_of_arrays_gl.ExpressionsIndexingScalar4
-KHR-GL44.arrays_of_arrays_gl.ExpressionsIndexingArray1
-KHR-GL44.arrays_of_arrays_gl.ExpressionsIndexingArray2
-KHR-GL44.arrays_of_arrays_gl.ExpressionsIndexingArray3
-KHR-GL44.arrays_of_arrays_gl.ExpressionsDynamicIndexing1
-KHR-GL44.arrays_of_arrays_gl.ExpressionsDynamicIndexing2
-KHR-GL44.arrays_of_arrays_gl.ExpressionsEquality1
-KHR-GL44.arrays_of_arrays_gl.ExpressionsEquality2
-KHR-GL44.arrays_of_arrays_gl.ExpressionsLength1
-KHR-GL44.arrays_of_arrays_gl.ExpressionsLength2
-KHR-GL44.arrays_of_arrays_gl.ExpressionsLength3
-KHR-GL44.arrays_of_arrays_gl.ExpressionsInvalid1
-KHR-GL44.arrays_of_arrays_gl.ExpressionsInvalid2
-KHR-GL44.arrays_of_arrays_gl.InteractionFunctionCalls1
-KHR-GL44.arrays_of_arrays_gl.InteractionFunctionCalls2
-KHR-GL44.arrays_of_arrays_gl.InteractionArgumentAliasing1
-KHR-GL44.arrays_of_arrays_gl.InteractionArgumentAliasing2
-KHR-GL44.arrays_of_arrays_gl.InteractionArgumentAliasing3
-KHR-GL44.arrays_of_arrays_gl.InteractionArgumentAliasing4
-KHR-GL44.arrays_of_arrays_gl.InteractionArgumentAliasing5
-KHR-GL44.arrays_of_arrays_gl.InteractionArgumentAliasing6
-KHR-GL44.arrays_of_arrays_gl.InteractionUniforms1
-KHR-GL44.arrays_of_arrays_gl.InteractionUniforms2
-KHR-GL44.arrays_of_arrays_gl.InteractionUniformBuffers1
-KHR-GL44.arrays_of_arrays_gl.InteractionUniformBuffers2
-KHR-GL44.arrays_of_arrays_gl.InteractionUniformBuffers3
-KHR-GL44.arrays_of_arrays_gl.InteractionInterfaceArrays1
-KHR-GL44.arrays_of_arrays_gl.InteractionInterfaceArrays2
-KHR-GL44.arrays_of_arrays_gl.InteractionInterfaceArrays3
-KHR-GL44.arrays_of_arrays_gl.InteractionInterfaceArrays4
-KHR-GL44.arrays_of_arrays_gl.InteractionStorageBuffers1
-KHR-GL44.arrays_of_arrays_gl.InteractionStorageBuffers2
-KHR-GL44.arrays_of_arrays_gl.InteractionStorageBuffers3
-KHR-GL44.arrays_of_arrays_gl.AtomicDeclaration
-KHR-GL44.arrays_of_arrays_gl.AtomicUsage
-KHR-GL44.arrays_of_arrays_gl.SubroutineFunctionCalls1
-KHR-GL44.arrays_of_arrays_gl.SubroutineFunctionCalls2
-KHR-GL44.arrays_of_arrays_gl.SubroutineArgumentAliasing1
-KHR-GL44.arrays_of_arrays_gl.SubroutineArgumentAliasing2
-KHR-GL44.arrays_of_arrays_gl.SubroutineArgumentAliasing3
-KHR-GL44.arrays_of_arrays_gl.SubroutineArgumentAliasing4
 KHR-GL44.copy_image.functional
 KHR-GL44.copy_image.incomplete_tex
 KHR-GL44.copy_image.invalid_object
@@ -7825,72 +7746,6 @@
 KHR-GL44.buffer_storage.map_persistent_dispatch
 KHR-GL44.buffer_storage.map_persistent_flush
 KHR-GL44.buffer_storage.map_persistent_draw
-KHR-GL44.enhanced_layouts.api_constant_values
-KHR-GL44.enhanced_layouts.api_errors
-KHR-GL44.enhanced_layouts.glsl_contant_values
-KHR-GL44.enhanced_layouts.glsl_contant_immutablity
-KHR-GL44.enhanced_layouts.glsl_constant_integral_expression
-KHR-GL44.enhanced_layouts.uniform_block_layout_qualifier_conflict
-KHR-GL44.enhanced_layouts.ssb_member_invalid_offset_alignment
-KHR-GL44.enhanced_layouts.ssb_member_overlapping_offsets
-KHR-GL44.enhanced_layouts.varying_invalid_value_component
-KHR-GL44.enhanced_layouts.varying_exceeding_components
-KHR-GL44.enhanced_layouts.varying_component_of_invalid_type
-KHR-GL44.enhanced_layouts.output_component_aliasing
-KHR-GL44.enhanced_layouts.vertex_attrib_location_api
-KHR-GL44.enhanced_layouts.xfb_input
-KHR-GL44.enhanced_layouts.xfb_all_stages
-KHR-GL44.enhanced_layouts.xfb_capture_inactive_output_variable
-KHR-GL44.enhanced_layouts.xfb_capture_inactive_output_component
-KHR-GL44.enhanced_layouts.xfb_capture_inactive_output_block_member
-KHR-GL44.enhanced_layouts.xfb_stride
-KHR-GL44.enhanced_layouts.uniform_block_member_offset_and_align
-KHR-GL44.enhanced_layouts.uniform_block_member_invalid_offset_alignment
-KHR-GL44.enhanced_layouts.uniform_block_member_overlapping_offsets
-KHR-GL44.enhanced_layouts.uniform_block_member_align_non_power_of_2
-KHR-GL44.enhanced_layouts.ssb_layout_qualifier_conflict
-KHR-GL44.enhanced_layouts.ssb_member_align_non_power_of_2
-KHR-GL44.enhanced_layouts.ssb_alignment
-KHR-GL44.enhanced_layouts.varying_structure_member_location
-KHR-GL44.enhanced_layouts.varying_block_automatic_member_locations
-KHR-GL44.enhanced_layouts.varying_component_without_location
-KHR-GL44.enhanced_layouts.input_component_aliasing
-KHR-GL44.enhanced_layouts.varying_location_aliasing_with_mixed_types
-KHR-GL44.enhanced_layouts.varying_location_aliasing_with_mixed_interpolation
-KHR-GL44.enhanced_layouts.varying_location_aliasing_with_mixed_auxiliary_storage
-KHR-GL44.enhanced_layouts.xfb_stride_of_empty_list
-KHR-GL44.enhanced_layouts.xfb_stride_of_empty_list_and_api
-KHR-GL44.enhanced_layouts.xfb_too_small_stride
-KHR-GL44.enhanced_layouts.xfb_block_member_stride
-KHR-GL44.enhanced_layouts.xfb_duplicated_stride
-KHR-GL44.enhanced_layouts.xfb_get_program_resource_api
-KHR-GL44.enhanced_layouts.xfb_multiple_vertex_streams
-KHR-GL44.enhanced_layouts.xfb_exceed_buffer_limit
-KHR-GL44.enhanced_layouts.xfb_exceed_offset_limit
-KHR-GL44.enhanced_layouts.xfb_block_member_buffer
-KHR-GL44.enhanced_layouts.xfb_output_overlapping
-KHR-GL44.enhanced_layouts.xfb_invalid_offset_alignment
-KHR-GL44.enhanced_layouts.xfb_capture_struct
-KHR-GL44.enhanced_layouts.xfb_capture_unsized_array
-KHR-GL44.enhanced_layouts.uniform_block_alignment
-KHR-GL44.enhanced_layouts.ssb_member_offset_and_align
-KHR-GL44.enhanced_layouts.vertex_attrib_locations
-KHR-GL44.enhanced_layouts.varying_locations
-KHR-GL44.enhanced_layouts.varying_array_locations
-KHR-GL44.enhanced_layouts.varying_structure_locations
-KHR-GL44.enhanced_layouts.varying_block_locations
-KHR-GL44.enhanced_layouts.varying_block_member_locations
-KHR-GL44.enhanced_layouts.xfb_variable_stride
-KHR-GL44.enhanced_layouts.xfb_block_stride
-KHR-GL44.enhanced_layouts.xfb_override_qualifiers_with_api
-KHR-GL44.enhanced_layouts.xfb_vertex_streams
-KHR-GL44.enhanced_layouts.xfb_global_buffer
-KHR-GL44.enhanced_layouts.xfb_explicit_location
-KHR-GL44.enhanced_layouts.xfb_struct_explicit_location
-KHR-GL44.enhanced_layouts.fragment_data_location_api
-KHR-GL44.enhanced_layouts.varying_location_limit
-KHR-GL44.enhanced_layouts.varying_components
-KHR-GL44.enhanced_layouts.varying_array_components
 KHR-GL44.layout_binding.sampler2D_layout_binding_texture_ComputeShader
 KHR-GL44.layout_binding.sampler3D_layout_binding_texture_ComputeShader
 KHR-GL44.layout_binding.sampler2DArray_layout_binding_texture_ComputeShader
diff --git a/external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.1.x/gl45-master.txt b/external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.1.x/gl45-master.txt
index ae2be58..174b1d2 100644
--- a/external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.1.x/gl45-master.txt
+++ b/external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.1.x/gl45-master.txt
@@ -5517,85 +5517,6 @@
 KHR-GL45.texture_view.reference_counting
 KHR-GL45.shaders42.declarations.declarations.layout_qualifier_on_image_function_parameter_vertex
 KHR-GL45.shaders42.declarations.declarations.layout_qualifier_on_image_function_parameter_fragment
-KHR-GL45.arrays_of_arrays_gl.SizedDeclarationsPrimitive
-KHR-GL45.arrays_of_arrays_gl.SizedDeclarationsStructTypes1
-KHR-GL45.arrays_of_arrays_gl.SizedDeclarationsStructTypes2
-KHR-GL45.arrays_of_arrays_gl.SizedDeclarationsStructTypes3
-KHR-GL45.arrays_of_arrays_gl.SizedDeclarationsStructTypes4
-KHR-GL45.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle1
-KHR-GL45.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle2
-KHR-GL45.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle3
-KHR-GL45.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle4
-KHR-GL45.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle5
-KHR-GL45.arrays_of_arrays_gl.SizedDeclarationsFunctionParams
-KHR-GL45.arrays_of_arrays_gl.sized_declarations_invalid_sizes1
-KHR-GL45.arrays_of_arrays_gl.sized_declarations_invalid_sizes2
-KHR-GL45.arrays_of_arrays_gl.sized_declarations_invalid_sizes3
-KHR-GL45.arrays_of_arrays_gl.sized_declarations_invalid_sizes4
-KHR-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructors1
-KHR-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructors2
-KHR-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedConstructors
-KHR-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConst
-KHR-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors1
-KHR-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors2
-KHR-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors3
-KHR-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors4
-KHR-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructorSizing1
-KHR-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructorSizing2
-KHR-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclStructConstructors
-KHR-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays1
-KHR-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays2
-KHR-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays3
-KHR-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays4
-KHR-GL45.arrays_of_arrays_gl.ExpressionsAssignment1
-KHR-GL45.arrays_of_arrays_gl.ExpressionsAssignment2
-KHR-GL45.arrays_of_arrays_gl.ExpressionsAssignment3
-KHR-GL45.arrays_of_arrays_gl.ExpressionsTypeRestrictions1
-KHR-GL45.arrays_of_arrays_gl.ExpressionsTypeRestrictions2
-KHR-GL45.arrays_of_arrays_gl.ExpressionsIndexingScalar1
-KHR-GL45.arrays_of_arrays_gl.ExpressionsIndexingScalar2
-KHR-GL45.arrays_of_arrays_gl.ExpressionsIndexingScalar3
-KHR-GL45.arrays_of_arrays_gl.ExpressionsIndexingScalar4
-KHR-GL45.arrays_of_arrays_gl.ExpressionsIndexingArray1
-KHR-GL45.arrays_of_arrays_gl.ExpressionsIndexingArray2
-KHR-GL45.arrays_of_arrays_gl.ExpressionsIndexingArray3
-KHR-GL45.arrays_of_arrays_gl.ExpressionsDynamicIndexing1
-KHR-GL45.arrays_of_arrays_gl.ExpressionsDynamicIndexing2
-KHR-GL45.arrays_of_arrays_gl.ExpressionsEquality1
-KHR-GL45.arrays_of_arrays_gl.ExpressionsEquality2
-KHR-GL45.arrays_of_arrays_gl.ExpressionsLength1
-KHR-GL45.arrays_of_arrays_gl.ExpressionsLength2
-KHR-GL45.arrays_of_arrays_gl.ExpressionsLength3
-KHR-GL45.arrays_of_arrays_gl.ExpressionsInvalid1
-KHR-GL45.arrays_of_arrays_gl.ExpressionsInvalid2
-KHR-GL45.arrays_of_arrays_gl.InteractionFunctionCalls1
-KHR-GL45.arrays_of_arrays_gl.InteractionFunctionCalls2
-KHR-GL45.arrays_of_arrays_gl.InteractionArgumentAliasing1
-KHR-GL45.arrays_of_arrays_gl.InteractionArgumentAliasing2
-KHR-GL45.arrays_of_arrays_gl.InteractionArgumentAliasing3
-KHR-GL45.arrays_of_arrays_gl.InteractionArgumentAliasing4
-KHR-GL45.arrays_of_arrays_gl.InteractionArgumentAliasing5
-KHR-GL45.arrays_of_arrays_gl.InteractionArgumentAliasing6
-KHR-GL45.arrays_of_arrays_gl.InteractionUniforms1
-KHR-GL45.arrays_of_arrays_gl.InteractionUniforms2
-KHR-GL45.arrays_of_arrays_gl.InteractionUniformBuffers1
-KHR-GL45.arrays_of_arrays_gl.InteractionUniformBuffers2
-KHR-GL45.arrays_of_arrays_gl.InteractionUniformBuffers3
-KHR-GL45.arrays_of_arrays_gl.InteractionInterfaceArrays1
-KHR-GL45.arrays_of_arrays_gl.InteractionInterfaceArrays2
-KHR-GL45.arrays_of_arrays_gl.InteractionInterfaceArrays3
-KHR-GL45.arrays_of_arrays_gl.InteractionInterfaceArrays4
-KHR-GL45.arrays_of_arrays_gl.InteractionStorageBuffers1
-KHR-GL45.arrays_of_arrays_gl.InteractionStorageBuffers2
-KHR-GL45.arrays_of_arrays_gl.InteractionStorageBuffers3
-KHR-GL45.arrays_of_arrays_gl.AtomicDeclaration
-KHR-GL45.arrays_of_arrays_gl.AtomicUsage
-KHR-GL45.arrays_of_arrays_gl.SubroutineFunctionCalls1
-KHR-GL45.arrays_of_arrays_gl.SubroutineFunctionCalls2
-KHR-GL45.arrays_of_arrays_gl.SubroutineArgumentAliasing1
-KHR-GL45.arrays_of_arrays_gl.SubroutineArgumentAliasing2
-KHR-GL45.arrays_of_arrays_gl.SubroutineArgumentAliasing3
-KHR-GL45.arrays_of_arrays_gl.SubroutineArgumentAliasing4
 KHR-GL45.copy_image.functional
 KHR-GL45.copy_image.incomplete_tex
 KHR-GL45.copy_image.invalid_object
@@ -7826,72 +7747,6 @@
 KHR-GL45.buffer_storage.map_persistent_dispatch
 KHR-GL45.buffer_storage.map_persistent_flush
 KHR-GL45.buffer_storage.map_persistent_draw
-KHR-GL45.enhanced_layouts.api_constant_values
-KHR-GL45.enhanced_layouts.api_errors
-KHR-GL45.enhanced_layouts.glsl_contant_values
-KHR-GL45.enhanced_layouts.glsl_contant_immutablity
-KHR-GL45.enhanced_layouts.glsl_constant_integral_expression
-KHR-GL45.enhanced_layouts.uniform_block_layout_qualifier_conflict
-KHR-GL45.enhanced_layouts.ssb_member_invalid_offset_alignment
-KHR-GL45.enhanced_layouts.ssb_member_overlapping_offsets
-KHR-GL45.enhanced_layouts.varying_invalid_value_component
-KHR-GL45.enhanced_layouts.varying_exceeding_components
-KHR-GL45.enhanced_layouts.varying_component_of_invalid_type
-KHR-GL45.enhanced_layouts.output_component_aliasing
-KHR-GL45.enhanced_layouts.vertex_attrib_location_api
-KHR-GL45.enhanced_layouts.xfb_input
-KHR-GL45.enhanced_layouts.xfb_all_stages
-KHR-GL45.enhanced_layouts.xfb_capture_inactive_output_variable
-KHR-GL45.enhanced_layouts.xfb_capture_inactive_output_component
-KHR-GL45.enhanced_layouts.xfb_capture_inactive_output_block_member
-KHR-GL45.enhanced_layouts.xfb_stride
-KHR-GL45.enhanced_layouts.uniform_block_member_offset_and_align
-KHR-GL45.enhanced_layouts.uniform_block_member_invalid_offset_alignment
-KHR-GL45.enhanced_layouts.uniform_block_member_overlapping_offsets
-KHR-GL45.enhanced_layouts.uniform_block_member_align_non_power_of_2
-KHR-GL45.enhanced_layouts.ssb_layout_qualifier_conflict
-KHR-GL45.enhanced_layouts.ssb_member_align_non_power_of_2
-KHR-GL45.enhanced_layouts.ssb_alignment
-KHR-GL45.enhanced_layouts.varying_structure_member_location
-KHR-GL45.enhanced_layouts.varying_block_automatic_member_locations
-KHR-GL45.enhanced_layouts.varying_component_without_location
-KHR-GL45.enhanced_layouts.input_component_aliasing
-KHR-GL45.enhanced_layouts.varying_location_aliasing_with_mixed_types
-KHR-GL45.enhanced_layouts.varying_location_aliasing_with_mixed_interpolation
-KHR-GL45.enhanced_layouts.varying_location_aliasing_with_mixed_auxiliary_storage
-KHR-GL45.enhanced_layouts.xfb_stride_of_empty_list
-KHR-GL45.enhanced_layouts.xfb_stride_of_empty_list_and_api
-KHR-GL45.enhanced_layouts.xfb_too_small_stride
-KHR-GL45.enhanced_layouts.xfb_block_member_stride
-KHR-GL45.enhanced_layouts.xfb_duplicated_stride
-KHR-GL45.enhanced_layouts.xfb_get_program_resource_api
-KHR-GL45.enhanced_layouts.xfb_multiple_vertex_streams
-KHR-GL45.enhanced_layouts.xfb_exceed_buffer_limit
-KHR-GL45.enhanced_layouts.xfb_exceed_offset_limit
-KHR-GL45.enhanced_layouts.xfb_block_member_buffer
-KHR-GL45.enhanced_layouts.xfb_output_overlapping
-KHR-GL45.enhanced_layouts.xfb_invalid_offset_alignment
-KHR-GL45.enhanced_layouts.xfb_capture_struct
-KHR-GL45.enhanced_layouts.xfb_capture_unsized_array
-KHR-GL45.enhanced_layouts.uniform_block_alignment
-KHR-GL45.enhanced_layouts.ssb_member_offset_and_align
-KHR-GL45.enhanced_layouts.vertex_attrib_locations
-KHR-GL45.enhanced_layouts.varying_locations
-KHR-GL45.enhanced_layouts.varying_array_locations
-KHR-GL45.enhanced_layouts.varying_structure_locations
-KHR-GL45.enhanced_layouts.varying_block_locations
-KHR-GL45.enhanced_layouts.varying_block_member_locations
-KHR-GL45.enhanced_layouts.xfb_variable_stride
-KHR-GL45.enhanced_layouts.xfb_block_stride
-KHR-GL45.enhanced_layouts.xfb_override_qualifiers_with_api
-KHR-GL45.enhanced_layouts.xfb_vertex_streams
-KHR-GL45.enhanced_layouts.xfb_global_buffer
-KHR-GL45.enhanced_layouts.xfb_explicit_location
-KHR-GL45.enhanced_layouts.xfb_struct_explicit_location
-KHR-GL45.enhanced_layouts.fragment_data_location_api
-KHR-GL45.enhanced_layouts.varying_location_limit
-KHR-GL45.enhanced_layouts.varying_components
-KHR-GL45.enhanced_layouts.varying_array_components
 KHR-GL45.layout_binding.sampler2D_layout_binding_texture_ComputeShader
 KHR-GL45.layout_binding.sampler3D_layout_binding_texture_ComputeShader
 KHR-GL45.layout_binding.sampler2DArray_layout_binding_texture_ComputeShader
diff --git a/external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.1.x/gl46-master.txt b/external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.1.x/gl46-master.txt
index d22ac90..0f36a95 100644
--- a/external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.1.x/gl46-master.txt
+++ b/external/openglcts/data/mustpass/gl/khronos_mustpass/4.6.1.x/gl46-master.txt
@@ -5517,85 +5517,6 @@
 KHR-GL46.texture_view.reference_counting
 KHR-GL46.shaders42.declarations.declarations.layout_qualifier_on_image_function_parameter_vertex
 KHR-GL46.shaders42.declarations.declarations.layout_qualifier_on_image_function_parameter_fragment
-KHR-GL46.arrays_of_arrays_gl.SizedDeclarationsPrimitive
-KHR-GL46.arrays_of_arrays_gl.SizedDeclarationsStructTypes1
-KHR-GL46.arrays_of_arrays_gl.SizedDeclarationsStructTypes2
-KHR-GL46.arrays_of_arrays_gl.SizedDeclarationsStructTypes3
-KHR-GL46.arrays_of_arrays_gl.SizedDeclarationsStructTypes4
-KHR-GL46.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle1
-KHR-GL46.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle2
-KHR-GL46.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle3
-KHR-GL46.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle4
-KHR-GL46.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle5
-KHR-GL46.arrays_of_arrays_gl.SizedDeclarationsFunctionParams
-KHR-GL46.arrays_of_arrays_gl.sized_declarations_invalid_sizes1
-KHR-GL46.arrays_of_arrays_gl.sized_declarations_invalid_sizes2
-KHR-GL46.arrays_of_arrays_gl.sized_declarations_invalid_sizes3
-KHR-GL46.arrays_of_arrays_gl.sized_declarations_invalid_sizes4
-KHR-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructors1
-KHR-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructors2
-KHR-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedConstructors
-KHR-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConst
-KHR-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors1
-KHR-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors2
-KHR-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors3
-KHR-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors4
-KHR-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructorSizing1
-KHR-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructorSizing2
-KHR-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclStructConstructors
-KHR-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays1
-KHR-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays2
-KHR-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays3
-KHR-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays4
-KHR-GL46.arrays_of_arrays_gl.ExpressionsAssignment1
-KHR-GL46.arrays_of_arrays_gl.ExpressionsAssignment2
-KHR-GL46.arrays_of_arrays_gl.ExpressionsAssignment3
-KHR-GL46.arrays_of_arrays_gl.ExpressionsTypeRestrictions1
-KHR-GL46.arrays_of_arrays_gl.ExpressionsTypeRestrictions2
-KHR-GL46.arrays_of_arrays_gl.ExpressionsIndexingScalar1
-KHR-GL46.arrays_of_arrays_gl.ExpressionsIndexingScalar2
-KHR-GL46.arrays_of_arrays_gl.ExpressionsIndexingScalar3
-KHR-GL46.arrays_of_arrays_gl.ExpressionsIndexingScalar4
-KHR-GL46.arrays_of_arrays_gl.ExpressionsIndexingArray1
-KHR-GL46.arrays_of_arrays_gl.ExpressionsIndexingArray2
-KHR-GL46.arrays_of_arrays_gl.ExpressionsIndexingArray3
-KHR-GL46.arrays_of_arrays_gl.ExpressionsDynamicIndexing1
-KHR-GL46.arrays_of_arrays_gl.ExpressionsDynamicIndexing2
-KHR-GL46.arrays_of_arrays_gl.ExpressionsEquality1
-KHR-GL46.arrays_of_arrays_gl.ExpressionsEquality2
-KHR-GL46.arrays_of_arrays_gl.ExpressionsLength1
-KHR-GL46.arrays_of_arrays_gl.ExpressionsLength2
-KHR-GL46.arrays_of_arrays_gl.ExpressionsLength3
-KHR-GL46.arrays_of_arrays_gl.ExpressionsInvalid1
-KHR-GL46.arrays_of_arrays_gl.ExpressionsInvalid2
-KHR-GL46.arrays_of_arrays_gl.InteractionFunctionCalls1
-KHR-GL46.arrays_of_arrays_gl.InteractionFunctionCalls2
-KHR-GL46.arrays_of_arrays_gl.InteractionArgumentAliasing1
-KHR-GL46.arrays_of_arrays_gl.InteractionArgumentAliasing2
-KHR-GL46.arrays_of_arrays_gl.InteractionArgumentAliasing3
-KHR-GL46.arrays_of_arrays_gl.InteractionArgumentAliasing4
-KHR-GL46.arrays_of_arrays_gl.InteractionArgumentAliasing5
-KHR-GL46.arrays_of_arrays_gl.InteractionArgumentAliasing6
-KHR-GL46.arrays_of_arrays_gl.InteractionUniforms1
-KHR-GL46.arrays_of_arrays_gl.InteractionUniforms2
-KHR-GL46.arrays_of_arrays_gl.InteractionUniformBuffers1
-KHR-GL46.arrays_of_arrays_gl.InteractionUniformBuffers2
-KHR-GL46.arrays_of_arrays_gl.InteractionUniformBuffers3
-KHR-GL46.arrays_of_arrays_gl.InteractionInterfaceArrays1
-KHR-GL46.arrays_of_arrays_gl.InteractionInterfaceArrays2
-KHR-GL46.arrays_of_arrays_gl.InteractionInterfaceArrays3
-KHR-GL46.arrays_of_arrays_gl.InteractionInterfaceArrays4
-KHR-GL46.arrays_of_arrays_gl.InteractionStorageBuffers1
-KHR-GL46.arrays_of_arrays_gl.InteractionStorageBuffers2
-KHR-GL46.arrays_of_arrays_gl.InteractionStorageBuffers3
-KHR-GL46.arrays_of_arrays_gl.AtomicDeclaration
-KHR-GL46.arrays_of_arrays_gl.AtomicUsage
-KHR-GL46.arrays_of_arrays_gl.SubroutineFunctionCalls1
-KHR-GL46.arrays_of_arrays_gl.SubroutineFunctionCalls2
-KHR-GL46.arrays_of_arrays_gl.SubroutineArgumentAliasing1
-KHR-GL46.arrays_of_arrays_gl.SubroutineArgumentAliasing2
-KHR-GL46.arrays_of_arrays_gl.SubroutineArgumentAliasing3
-KHR-GL46.arrays_of_arrays_gl.SubroutineArgumentAliasing4
 KHR-GL46.copy_image.functional
 KHR-GL46.copy_image.incomplete_tex
 KHR-GL46.copy_image.invalid_object
@@ -7826,72 +7747,6 @@
 KHR-GL46.buffer_storage.map_persistent_dispatch
 KHR-GL46.buffer_storage.map_persistent_flush
 KHR-GL46.buffer_storage.map_persistent_draw
-KHR-GL46.enhanced_layouts.api_constant_values
-KHR-GL46.enhanced_layouts.api_errors
-KHR-GL46.enhanced_layouts.glsl_contant_values
-KHR-GL46.enhanced_layouts.glsl_contant_immutablity
-KHR-GL46.enhanced_layouts.glsl_constant_integral_expression
-KHR-GL46.enhanced_layouts.uniform_block_layout_qualifier_conflict
-KHR-GL46.enhanced_layouts.ssb_member_invalid_offset_alignment
-KHR-GL46.enhanced_layouts.ssb_member_overlapping_offsets
-KHR-GL46.enhanced_layouts.varying_invalid_value_component
-KHR-GL46.enhanced_layouts.varying_exceeding_components
-KHR-GL46.enhanced_layouts.varying_component_of_invalid_type
-KHR-GL46.enhanced_layouts.output_component_aliasing
-KHR-GL46.enhanced_layouts.vertex_attrib_location_api
-KHR-GL46.enhanced_layouts.xfb_input
-KHR-GL46.enhanced_layouts.xfb_all_stages
-KHR-GL46.enhanced_layouts.xfb_capture_inactive_output_variable
-KHR-GL46.enhanced_layouts.xfb_capture_inactive_output_component
-KHR-GL46.enhanced_layouts.xfb_capture_inactive_output_block_member
-KHR-GL46.enhanced_layouts.xfb_stride
-KHR-GL46.enhanced_layouts.uniform_block_member_offset_and_align
-KHR-GL46.enhanced_layouts.uniform_block_member_invalid_offset_alignment
-KHR-GL46.enhanced_layouts.uniform_block_member_overlapping_offsets
-KHR-GL46.enhanced_layouts.uniform_block_member_align_non_power_of_2
-KHR-GL46.enhanced_layouts.ssb_layout_qualifier_conflict
-KHR-GL46.enhanced_layouts.ssb_member_align_non_power_of_2
-KHR-GL46.enhanced_layouts.ssb_alignment
-KHR-GL46.enhanced_layouts.varying_structure_member_location
-KHR-GL46.enhanced_layouts.varying_block_automatic_member_locations
-KHR-GL46.enhanced_layouts.varying_component_without_location
-KHR-GL46.enhanced_layouts.input_component_aliasing
-KHR-GL46.enhanced_layouts.varying_location_aliasing_with_mixed_types
-KHR-GL46.enhanced_layouts.varying_location_aliasing_with_mixed_interpolation
-KHR-GL46.enhanced_layouts.varying_location_aliasing_with_mixed_auxiliary_storage
-KHR-GL46.enhanced_layouts.xfb_stride_of_empty_list
-KHR-GL46.enhanced_layouts.xfb_stride_of_empty_list_and_api
-KHR-GL46.enhanced_layouts.xfb_too_small_stride
-KHR-GL46.enhanced_layouts.xfb_block_member_stride
-KHR-GL46.enhanced_layouts.xfb_duplicated_stride
-KHR-GL46.enhanced_layouts.xfb_get_program_resource_api
-KHR-GL46.enhanced_layouts.xfb_multiple_vertex_streams
-KHR-GL46.enhanced_layouts.xfb_exceed_buffer_limit
-KHR-GL46.enhanced_layouts.xfb_exceed_offset_limit
-KHR-GL46.enhanced_layouts.xfb_block_member_buffer
-KHR-GL46.enhanced_layouts.xfb_output_overlapping
-KHR-GL46.enhanced_layouts.xfb_invalid_offset_alignment
-KHR-GL46.enhanced_layouts.xfb_capture_struct
-KHR-GL46.enhanced_layouts.xfb_capture_unsized_array
-KHR-GL46.enhanced_layouts.uniform_block_alignment
-KHR-GL46.enhanced_layouts.ssb_member_offset_and_align
-KHR-GL46.enhanced_layouts.vertex_attrib_locations
-KHR-GL46.enhanced_layouts.varying_locations
-KHR-GL46.enhanced_layouts.varying_array_locations
-KHR-GL46.enhanced_layouts.varying_structure_locations
-KHR-GL46.enhanced_layouts.varying_block_locations
-KHR-GL46.enhanced_layouts.varying_block_member_locations
-KHR-GL46.enhanced_layouts.xfb_variable_stride
-KHR-GL46.enhanced_layouts.xfb_block_stride
-KHR-GL46.enhanced_layouts.xfb_override_qualifiers_with_api
-KHR-GL46.enhanced_layouts.xfb_vertex_streams
-KHR-GL46.enhanced_layouts.xfb_global_buffer
-KHR-GL46.enhanced_layouts.xfb_explicit_location
-KHR-GL46.enhanced_layouts.xfb_struct_explicit_location
-KHR-GL46.enhanced_layouts.fragment_data_location_api
-KHR-GL46.enhanced_layouts.varying_location_limit
-KHR-GL46.enhanced_layouts.varying_components
-KHR-GL46.enhanced_layouts.varying_array_components
 KHR-GL46.layout_binding.sampler2D_layout_binding_texture_ComputeShader
 KHR-GL46.layout_binding.sampler3D_layout_binding_texture_ComputeShader
 KHR-GL46.layout_binding.sampler2DArray_layout_binding_texture_ComputeShader
diff --git a/external/openglcts/data/mustpass/gl/khronos_mustpass_single/4.6.1.x/gl43-khr-single.txt b/external/openglcts/data/mustpass/gl/khronos_mustpass_single/4.6.1.x/gl43-khr-single.txt
new file mode 100644
index 0000000..069d43d
--- /dev/null
+++ b/external/openglcts/data/mustpass/gl/khronos_mustpass_single/4.6.1.x/gl43-khr-single.txt
@@ -0,0 +1,79 @@
+KHR-Single-GL43.arrays_of_arrays_gl.SizedDeclarationsPrimitive
+KHR-Single-GL43.arrays_of_arrays_gl.SizedDeclarationsStructTypes1
+KHR-Single-GL43.arrays_of_arrays_gl.SizedDeclarationsStructTypes2
+KHR-Single-GL43.arrays_of_arrays_gl.SizedDeclarationsStructTypes3
+KHR-Single-GL43.arrays_of_arrays_gl.SizedDeclarationsStructTypes4
+KHR-Single-GL43.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle1
+KHR-Single-GL43.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle2
+KHR-Single-GL43.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle3
+KHR-Single-GL43.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle4
+KHR-Single-GL43.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle5
+KHR-Single-GL43.arrays_of_arrays_gl.SizedDeclarationsFunctionParams
+KHR-Single-GL43.arrays_of_arrays_gl.sized_declarations_invalid_sizes1
+KHR-Single-GL43.arrays_of_arrays_gl.sized_declarations_invalid_sizes2
+KHR-Single-GL43.arrays_of_arrays_gl.sized_declarations_invalid_sizes3
+KHR-Single-GL43.arrays_of_arrays_gl.sized_declarations_invalid_sizes4
+KHR-Single-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructors1
+KHR-Single-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructors2
+KHR-Single-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedConstructors
+KHR-Single-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConst
+KHR-Single-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors1
+KHR-Single-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors2
+KHR-Single-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors3
+KHR-Single-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors4
+KHR-Single-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructorSizing1
+KHR-Single-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructorSizing2
+KHR-Single-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclStructConstructors
+KHR-Single-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays1
+KHR-Single-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays2
+KHR-Single-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays3
+KHR-Single-GL43.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays4
+KHR-Single-GL43.arrays_of_arrays_gl.ExpressionsAssignment1
+KHR-Single-GL43.arrays_of_arrays_gl.ExpressionsAssignment2
+KHR-Single-GL43.arrays_of_arrays_gl.ExpressionsAssignment3
+KHR-Single-GL43.arrays_of_arrays_gl.ExpressionsTypeRestrictions1
+KHR-Single-GL43.arrays_of_arrays_gl.ExpressionsTypeRestrictions2
+KHR-Single-GL43.arrays_of_arrays_gl.ExpressionsIndexingScalar1
+KHR-Single-GL43.arrays_of_arrays_gl.ExpressionsIndexingScalar2
+KHR-Single-GL43.arrays_of_arrays_gl.ExpressionsIndexingScalar3
+KHR-Single-GL43.arrays_of_arrays_gl.ExpressionsIndexingScalar4
+KHR-Single-GL43.arrays_of_arrays_gl.ExpressionsIndexingArray1
+KHR-Single-GL43.arrays_of_arrays_gl.ExpressionsIndexingArray2
+KHR-Single-GL43.arrays_of_arrays_gl.ExpressionsIndexingArray3
+KHR-Single-GL43.arrays_of_arrays_gl.ExpressionsDynamicIndexing1
+KHR-Single-GL43.arrays_of_arrays_gl.ExpressionsDynamicIndexing2
+KHR-Single-GL43.arrays_of_arrays_gl.ExpressionsEquality1
+KHR-Single-GL43.arrays_of_arrays_gl.ExpressionsEquality2
+KHR-Single-GL43.arrays_of_arrays_gl.ExpressionsLength1
+KHR-Single-GL43.arrays_of_arrays_gl.ExpressionsLength2
+KHR-Single-GL43.arrays_of_arrays_gl.ExpressionsLength3
+KHR-Single-GL43.arrays_of_arrays_gl.ExpressionsInvalid1
+KHR-Single-GL43.arrays_of_arrays_gl.ExpressionsInvalid2
+KHR-Single-GL43.arrays_of_arrays_gl.InteractionFunctionCalls1
+KHR-Single-GL43.arrays_of_arrays_gl.InteractionFunctionCalls2
+KHR-Single-GL43.arrays_of_arrays_gl.InteractionArgumentAliasing1
+KHR-Single-GL43.arrays_of_arrays_gl.InteractionArgumentAliasing2
+KHR-Single-GL43.arrays_of_arrays_gl.InteractionArgumentAliasing3
+KHR-Single-GL43.arrays_of_arrays_gl.InteractionArgumentAliasing4
+KHR-Single-GL43.arrays_of_arrays_gl.InteractionArgumentAliasing5
+KHR-Single-GL43.arrays_of_arrays_gl.InteractionArgumentAliasing6
+KHR-Single-GL43.arrays_of_arrays_gl.InteractionUniforms1
+KHR-Single-GL43.arrays_of_arrays_gl.InteractionUniforms2
+KHR-Single-GL43.arrays_of_arrays_gl.InteractionUniformBuffers1
+KHR-Single-GL43.arrays_of_arrays_gl.InteractionUniformBuffers2
+KHR-Single-GL43.arrays_of_arrays_gl.InteractionUniformBuffers3
+KHR-Single-GL43.arrays_of_arrays_gl.InteractionInterfaceArrays1
+KHR-Single-GL43.arrays_of_arrays_gl.InteractionInterfaceArrays2
+KHR-Single-GL43.arrays_of_arrays_gl.InteractionInterfaceArrays3
+KHR-Single-GL43.arrays_of_arrays_gl.InteractionInterfaceArrays4
+KHR-Single-GL43.arrays_of_arrays_gl.InteractionStorageBuffers1
+KHR-Single-GL43.arrays_of_arrays_gl.InteractionStorageBuffers2
+KHR-Single-GL43.arrays_of_arrays_gl.InteractionStorageBuffers3
+KHR-Single-GL43.arrays_of_arrays_gl.AtomicDeclaration
+KHR-Single-GL43.arrays_of_arrays_gl.AtomicUsage
+KHR-Single-GL43.arrays_of_arrays_gl.SubroutineFunctionCalls1
+KHR-Single-GL43.arrays_of_arrays_gl.SubroutineFunctionCalls2
+KHR-Single-GL43.arrays_of_arrays_gl.SubroutineArgumentAliasing1
+KHR-Single-GL43.arrays_of_arrays_gl.SubroutineArgumentAliasing2
+KHR-Single-GL43.arrays_of_arrays_gl.SubroutineArgumentAliasing3
+KHR-Single-GL43.arrays_of_arrays_gl.SubroutineArgumentAliasing4
diff --git a/external/openglcts/data/mustpass/gl/khronos_mustpass_single/4.6.1.x/gl44-khr-single.txt b/external/openglcts/data/mustpass/gl/khronos_mustpass_single/4.6.1.x/gl44-khr-single.txt
new file mode 100644
index 0000000..efd5ea1
--- /dev/null
+++ b/external/openglcts/data/mustpass/gl/khronos_mustpass_single/4.6.1.x/gl44-khr-single.txt
@@ -0,0 +1,145 @@
+KHR-Single-GL44.arrays_of_arrays_gl.SizedDeclarationsPrimitive
+KHR-Single-GL44.arrays_of_arrays_gl.SizedDeclarationsStructTypes1
+KHR-Single-GL44.arrays_of_arrays_gl.SizedDeclarationsStructTypes2
+KHR-Single-GL44.arrays_of_arrays_gl.SizedDeclarationsStructTypes3
+KHR-Single-GL44.arrays_of_arrays_gl.SizedDeclarationsStructTypes4
+KHR-Single-GL44.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle1
+KHR-Single-GL44.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle2
+KHR-Single-GL44.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle3
+KHR-Single-GL44.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle4
+KHR-Single-GL44.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle5
+KHR-Single-GL44.arrays_of_arrays_gl.SizedDeclarationsFunctionParams
+KHR-Single-GL44.arrays_of_arrays_gl.sized_declarations_invalid_sizes1
+KHR-Single-GL44.arrays_of_arrays_gl.sized_declarations_invalid_sizes2
+KHR-Single-GL44.arrays_of_arrays_gl.sized_declarations_invalid_sizes3
+KHR-Single-GL44.arrays_of_arrays_gl.sized_declarations_invalid_sizes4
+KHR-Single-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructors1
+KHR-Single-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructors2
+KHR-Single-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedConstructors
+KHR-Single-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConst
+KHR-Single-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors1
+KHR-Single-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors2
+KHR-Single-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors3
+KHR-Single-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors4
+KHR-Single-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructorSizing1
+KHR-Single-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructorSizing2
+KHR-Single-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclStructConstructors
+KHR-Single-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays1
+KHR-Single-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays2
+KHR-Single-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays3
+KHR-Single-GL44.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays4
+KHR-Single-GL44.arrays_of_arrays_gl.ExpressionsAssignment1
+KHR-Single-GL44.arrays_of_arrays_gl.ExpressionsAssignment2
+KHR-Single-GL44.arrays_of_arrays_gl.ExpressionsAssignment3
+KHR-Single-GL44.arrays_of_arrays_gl.ExpressionsTypeRestrictions1
+KHR-Single-GL44.arrays_of_arrays_gl.ExpressionsTypeRestrictions2
+KHR-Single-GL44.arrays_of_arrays_gl.ExpressionsIndexingScalar1
+KHR-Single-GL44.arrays_of_arrays_gl.ExpressionsIndexingScalar2
+KHR-Single-GL44.arrays_of_arrays_gl.ExpressionsIndexingScalar3
+KHR-Single-GL44.arrays_of_arrays_gl.ExpressionsIndexingScalar4
+KHR-Single-GL44.arrays_of_arrays_gl.ExpressionsIndexingArray1
+KHR-Single-GL44.arrays_of_arrays_gl.ExpressionsIndexingArray2
+KHR-Single-GL44.arrays_of_arrays_gl.ExpressionsIndexingArray3
+KHR-Single-GL44.arrays_of_arrays_gl.ExpressionsDynamicIndexing1
+KHR-Single-GL44.arrays_of_arrays_gl.ExpressionsDynamicIndexing2
+KHR-Single-GL44.arrays_of_arrays_gl.ExpressionsEquality1
+KHR-Single-GL44.arrays_of_arrays_gl.ExpressionsEquality2
+KHR-Single-GL44.arrays_of_arrays_gl.ExpressionsLength1
+KHR-Single-GL44.arrays_of_arrays_gl.ExpressionsLength2
+KHR-Single-GL44.arrays_of_arrays_gl.ExpressionsLength3
+KHR-Single-GL44.arrays_of_arrays_gl.ExpressionsInvalid1
+KHR-Single-GL44.arrays_of_arrays_gl.ExpressionsInvalid2
+KHR-Single-GL44.arrays_of_arrays_gl.InteractionFunctionCalls1
+KHR-Single-GL44.arrays_of_arrays_gl.InteractionFunctionCalls2
+KHR-Single-GL44.arrays_of_arrays_gl.InteractionArgumentAliasing1
+KHR-Single-GL44.arrays_of_arrays_gl.InteractionArgumentAliasing2
+KHR-Single-GL44.arrays_of_arrays_gl.InteractionArgumentAliasing3
+KHR-Single-GL44.arrays_of_arrays_gl.InteractionArgumentAliasing4
+KHR-Single-GL44.arrays_of_arrays_gl.InteractionArgumentAliasing5
+KHR-Single-GL44.arrays_of_arrays_gl.InteractionArgumentAliasing6
+KHR-Single-GL44.arrays_of_arrays_gl.InteractionUniforms1
+KHR-Single-GL44.arrays_of_arrays_gl.InteractionUniforms2
+KHR-Single-GL44.arrays_of_arrays_gl.InteractionUniformBuffers1
+KHR-Single-GL44.arrays_of_arrays_gl.InteractionUniformBuffers2
+KHR-Single-GL44.arrays_of_arrays_gl.InteractionUniformBuffers3
+KHR-Single-GL44.arrays_of_arrays_gl.InteractionInterfaceArrays1
+KHR-Single-GL44.arrays_of_arrays_gl.InteractionInterfaceArrays2
+KHR-Single-GL44.arrays_of_arrays_gl.InteractionInterfaceArrays3
+KHR-Single-GL44.arrays_of_arrays_gl.InteractionInterfaceArrays4
+KHR-Single-GL44.arrays_of_arrays_gl.InteractionStorageBuffers1
+KHR-Single-GL44.arrays_of_arrays_gl.InteractionStorageBuffers2
+KHR-Single-GL44.arrays_of_arrays_gl.InteractionStorageBuffers3
+KHR-Single-GL44.arrays_of_arrays_gl.AtomicDeclaration
+KHR-Single-GL44.arrays_of_arrays_gl.AtomicUsage
+KHR-Single-GL44.arrays_of_arrays_gl.SubroutineFunctionCalls1
+KHR-Single-GL44.arrays_of_arrays_gl.SubroutineFunctionCalls2
+KHR-Single-GL44.arrays_of_arrays_gl.SubroutineArgumentAliasing1
+KHR-Single-GL44.arrays_of_arrays_gl.SubroutineArgumentAliasing2
+KHR-Single-GL44.arrays_of_arrays_gl.SubroutineArgumentAliasing3
+KHR-Single-GL44.arrays_of_arrays_gl.SubroutineArgumentAliasing4
+KHR-Single-GL44.enhanced_layouts.api_constant_values
+KHR-Single-GL44.enhanced_layouts.api_errors
+KHR-Single-GL44.enhanced_layouts.glsl_contant_values
+KHR-Single-GL44.enhanced_layouts.glsl_contant_immutablity
+KHR-Single-GL44.enhanced_layouts.glsl_constant_integral_expression
+KHR-Single-GL44.enhanced_layouts.uniform_block_layout_qualifier_conflict
+KHR-Single-GL44.enhanced_layouts.ssb_member_invalid_offset_alignment
+KHR-Single-GL44.enhanced_layouts.ssb_member_overlapping_offsets
+KHR-Single-GL44.enhanced_layouts.varying_invalid_value_component
+KHR-Single-GL44.enhanced_layouts.varying_exceeding_components
+KHR-Single-GL44.enhanced_layouts.varying_component_of_invalid_type
+KHR-Single-GL44.enhanced_layouts.output_component_aliasing
+KHR-Single-GL44.enhanced_layouts.vertex_attrib_location_api
+KHR-Single-GL44.enhanced_layouts.xfb_input
+KHR-Single-GL44.enhanced_layouts.xfb_all_stages
+KHR-Single-GL44.enhanced_layouts.xfb_capture_inactive_output_variable
+KHR-Single-GL44.enhanced_layouts.xfb_capture_inactive_output_component
+KHR-Single-GL44.enhanced_layouts.xfb_capture_inactive_output_block_member
+KHR-Single-GL44.enhanced_layouts.xfb_stride
+KHR-Single-GL44.enhanced_layouts.uniform_block_member_offset_and_align
+KHR-Single-GL44.enhanced_layouts.uniform_block_member_invalid_offset_alignment
+KHR-Single-GL44.enhanced_layouts.uniform_block_member_overlapping_offsets
+KHR-Single-GL44.enhanced_layouts.uniform_block_member_align_non_power_of_2
+KHR-Single-GL44.enhanced_layouts.ssb_layout_qualifier_conflict
+KHR-Single-GL44.enhanced_layouts.ssb_member_align_non_power_of_2
+KHR-Single-GL44.enhanced_layouts.ssb_alignment
+KHR-Single-GL44.enhanced_layouts.varying_structure_member_location
+KHR-Single-GL44.enhanced_layouts.varying_block_automatic_member_locations
+KHR-Single-GL44.enhanced_layouts.varying_component_without_location
+KHR-Single-GL44.enhanced_layouts.input_component_aliasing
+KHR-Single-GL44.enhanced_layouts.varying_location_aliasing_with_mixed_types
+KHR-Single-GL44.enhanced_layouts.varying_location_aliasing_with_mixed_interpolation
+KHR-Single-GL44.enhanced_layouts.varying_location_aliasing_with_mixed_auxiliary_storage
+KHR-Single-GL44.enhanced_layouts.xfb_stride_of_empty_list
+KHR-Single-GL44.enhanced_layouts.xfb_stride_of_empty_list_and_api
+KHR-Single-GL44.enhanced_layouts.xfb_too_small_stride
+KHR-Single-GL44.enhanced_layouts.xfb_block_member_stride
+KHR-Single-GL44.enhanced_layouts.xfb_duplicated_stride
+KHR-Single-GL44.enhanced_layouts.xfb_get_program_resource_api
+KHR-Single-GL44.enhanced_layouts.xfb_multiple_vertex_streams
+KHR-Single-GL44.enhanced_layouts.xfb_exceed_buffer_limit
+KHR-Single-GL44.enhanced_layouts.xfb_exceed_offset_limit
+KHR-Single-GL44.enhanced_layouts.xfb_block_member_buffer
+KHR-Single-GL44.enhanced_layouts.xfb_output_overlapping
+KHR-Single-GL44.enhanced_layouts.xfb_invalid_offset_alignment
+KHR-Single-GL44.enhanced_layouts.xfb_capture_struct
+KHR-Single-GL44.enhanced_layouts.xfb_capture_unsized_array
+KHR-Single-GL44.enhanced_layouts.uniform_block_alignment
+KHR-Single-GL44.enhanced_layouts.ssb_member_offset_and_align
+KHR-Single-GL44.enhanced_layouts.vertex_attrib_locations
+KHR-Single-GL44.enhanced_layouts.varying_locations
+KHR-Single-GL44.enhanced_layouts.varying_array_locations
+KHR-Single-GL44.enhanced_layouts.varying_structure_locations
+KHR-Single-GL44.enhanced_layouts.varying_block_locations
+KHR-Single-GL44.enhanced_layouts.varying_block_member_locations
+KHR-Single-GL44.enhanced_layouts.xfb_variable_stride
+KHR-Single-GL44.enhanced_layouts.xfb_block_stride
+KHR-Single-GL44.enhanced_layouts.xfb_override_qualifiers_with_api
+KHR-Single-GL44.enhanced_layouts.xfb_vertex_streams
+KHR-Single-GL44.enhanced_layouts.xfb_global_buffer
+KHR-Single-GL44.enhanced_layouts.xfb_explicit_location
+KHR-Single-GL44.enhanced_layouts.xfb_struct_explicit_location
+KHR-Single-GL44.enhanced_layouts.fragment_data_location_api
+KHR-Single-GL44.enhanced_layouts.varying_location_limit
+KHR-Single-GL44.enhanced_layouts.varying_components
+KHR-Single-GL44.enhanced_layouts.varying_array_components
diff --git a/external/openglcts/data/mustpass/gl/khronos_mustpass_single/4.6.1.x/gl45-khr-single.txt b/external/openglcts/data/mustpass/gl/khronos_mustpass_single/4.6.1.x/gl45-khr-single.txt
index 4b944c3..8758596 100644
--- a/external/openglcts/data/mustpass/gl/khronos_mustpass_single/4.6.1.x/gl45-khr-single.txt
+++ b/external/openglcts/data/mustpass/gl/khronos_mustpass_single/4.6.1.x/gl45-khr-single.txt
@@ -1,3 +1,148 @@
+KHR-Single-GL45.arrays_of_arrays_gl.SizedDeclarationsPrimitive
+KHR-Single-GL45.arrays_of_arrays_gl.SizedDeclarationsStructTypes1
+KHR-Single-GL45.arrays_of_arrays_gl.SizedDeclarationsStructTypes2
+KHR-Single-GL45.arrays_of_arrays_gl.SizedDeclarationsStructTypes3
+KHR-Single-GL45.arrays_of_arrays_gl.SizedDeclarationsStructTypes4
+KHR-Single-GL45.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle1
+KHR-Single-GL45.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle2
+KHR-Single-GL45.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle3
+KHR-Single-GL45.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle4
+KHR-Single-GL45.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle5
+KHR-Single-GL45.arrays_of_arrays_gl.SizedDeclarationsFunctionParams
+KHR-Single-GL45.arrays_of_arrays_gl.sized_declarations_invalid_sizes1
+KHR-Single-GL45.arrays_of_arrays_gl.sized_declarations_invalid_sizes2
+KHR-Single-GL45.arrays_of_arrays_gl.sized_declarations_invalid_sizes3
+KHR-Single-GL45.arrays_of_arrays_gl.sized_declarations_invalid_sizes4
+KHR-Single-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructors1
+KHR-Single-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructors2
+KHR-Single-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedConstructors
+KHR-Single-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConst
+KHR-Single-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors1
+KHR-Single-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors2
+KHR-Single-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors3
+KHR-Single-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors4
+KHR-Single-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructorSizing1
+KHR-Single-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructorSizing2
+KHR-Single-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclStructConstructors
+KHR-Single-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays1
+KHR-Single-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays2
+KHR-Single-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays3
+KHR-Single-GL45.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays4
+KHR-Single-GL45.arrays_of_arrays_gl.ExpressionsAssignment1
+KHR-Single-GL45.arrays_of_arrays_gl.ExpressionsAssignment2
+KHR-Single-GL45.arrays_of_arrays_gl.ExpressionsAssignment3
+KHR-Single-GL45.arrays_of_arrays_gl.ExpressionsTypeRestrictions1
+KHR-Single-GL45.arrays_of_arrays_gl.ExpressionsTypeRestrictions2
+KHR-Single-GL45.arrays_of_arrays_gl.ExpressionsIndexingScalar1
+KHR-Single-GL45.arrays_of_arrays_gl.ExpressionsIndexingScalar2
+KHR-Single-GL45.arrays_of_arrays_gl.ExpressionsIndexingScalar3
+KHR-Single-GL45.arrays_of_arrays_gl.ExpressionsIndexingScalar4
+KHR-Single-GL45.arrays_of_arrays_gl.ExpressionsIndexingArray1
+KHR-Single-GL45.arrays_of_arrays_gl.ExpressionsIndexingArray2
+KHR-Single-GL45.arrays_of_arrays_gl.ExpressionsIndexingArray3
+KHR-Single-GL45.arrays_of_arrays_gl.ExpressionsDynamicIndexing1
+KHR-Single-GL45.arrays_of_arrays_gl.ExpressionsDynamicIndexing2
+KHR-Single-GL45.arrays_of_arrays_gl.ExpressionsEquality1
+KHR-Single-GL45.arrays_of_arrays_gl.ExpressionsEquality2
+KHR-Single-GL45.arrays_of_arrays_gl.ExpressionsLength1
+KHR-Single-GL45.arrays_of_arrays_gl.ExpressionsLength2
+KHR-Single-GL45.arrays_of_arrays_gl.ExpressionsLength3
+KHR-Single-GL45.arrays_of_arrays_gl.ExpressionsInvalid1
+KHR-Single-GL45.arrays_of_arrays_gl.ExpressionsInvalid2
+KHR-Single-GL45.arrays_of_arrays_gl.InteractionFunctionCalls1
+KHR-Single-GL45.arrays_of_arrays_gl.InteractionFunctionCalls2
+KHR-Single-GL45.arrays_of_arrays_gl.InteractionArgumentAliasing1
+KHR-Single-GL45.arrays_of_arrays_gl.InteractionArgumentAliasing2
+KHR-Single-GL45.arrays_of_arrays_gl.InteractionArgumentAliasing3
+KHR-Single-GL45.arrays_of_arrays_gl.InteractionArgumentAliasing4
+KHR-Single-GL45.arrays_of_arrays_gl.InteractionArgumentAliasing5
+KHR-Single-GL45.arrays_of_arrays_gl.InteractionArgumentAliasing6
+KHR-Single-GL45.arrays_of_arrays_gl.InteractionUniforms1
+KHR-Single-GL45.arrays_of_arrays_gl.InteractionUniforms2
+KHR-Single-GL45.arrays_of_arrays_gl.InteractionUniformBuffers1
+KHR-Single-GL45.arrays_of_arrays_gl.InteractionUniformBuffers2
+KHR-Single-GL45.arrays_of_arrays_gl.InteractionUniformBuffers3
+KHR-Single-GL45.arrays_of_arrays_gl.InteractionInterfaceArrays1
+KHR-Single-GL45.arrays_of_arrays_gl.InteractionInterfaceArrays2
+KHR-Single-GL45.arrays_of_arrays_gl.InteractionInterfaceArrays3
+KHR-Single-GL45.arrays_of_arrays_gl.InteractionInterfaceArrays4
+KHR-Single-GL45.arrays_of_arrays_gl.InteractionStorageBuffers1
+KHR-Single-GL45.arrays_of_arrays_gl.InteractionStorageBuffers2
+KHR-Single-GL45.arrays_of_arrays_gl.InteractionStorageBuffers3
+KHR-Single-GL45.arrays_of_arrays_gl.AtomicDeclaration
+KHR-Single-GL45.arrays_of_arrays_gl.AtomicUsage
+KHR-Single-GL45.arrays_of_arrays_gl.SubroutineFunctionCalls1
+KHR-Single-GL45.arrays_of_arrays_gl.SubroutineFunctionCalls2
+KHR-Single-GL45.arrays_of_arrays_gl.SubroutineArgumentAliasing1
+KHR-Single-GL45.arrays_of_arrays_gl.SubroutineArgumentAliasing2
+KHR-Single-GL45.arrays_of_arrays_gl.SubroutineArgumentAliasing3
+KHR-Single-GL45.arrays_of_arrays_gl.SubroutineArgumentAliasing4
+KHR-Single-GL45.enhanced_layouts.api_constant_values
+KHR-Single-GL45.enhanced_layouts.api_errors
+KHR-Single-GL45.enhanced_layouts.glsl_contant_values
+KHR-Single-GL45.enhanced_layouts.glsl_contant_immutablity
+KHR-Single-GL45.enhanced_layouts.glsl_constant_integral_expression
+KHR-Single-GL45.enhanced_layouts.uniform_block_layout_qualifier_conflict
+KHR-Single-GL45.enhanced_layouts.ssb_member_invalid_offset_alignment
+KHR-Single-GL45.enhanced_layouts.ssb_member_overlapping_offsets
+KHR-Single-GL45.enhanced_layouts.varying_invalid_value_component
+KHR-Single-GL45.enhanced_layouts.varying_exceeding_components
+KHR-Single-GL45.enhanced_layouts.varying_component_of_invalid_type
+KHR-Single-GL45.enhanced_layouts.output_component_aliasing
+KHR-Single-GL45.enhanced_layouts.vertex_attrib_location_api
+KHR-Single-GL45.enhanced_layouts.xfb_input
+KHR-Single-GL45.enhanced_layouts.xfb_all_stages
+KHR-Single-GL45.enhanced_layouts.xfb_capture_inactive_output_variable
+KHR-Single-GL45.enhanced_layouts.xfb_capture_inactive_output_component
+KHR-Single-GL45.enhanced_layouts.xfb_capture_inactive_output_block_member
+KHR-Single-GL45.enhanced_layouts.xfb_stride
+KHR-Single-GL45.enhanced_layouts.uniform_block_member_offset_and_align
+KHR-Single-GL45.enhanced_layouts.uniform_block_member_invalid_offset_alignment
+KHR-Single-GL45.enhanced_layouts.uniform_block_member_overlapping_offsets
+KHR-Single-GL45.enhanced_layouts.uniform_block_member_align_non_power_of_2
+KHR-Single-GL45.enhanced_layouts.ssb_layout_qualifier_conflict
+KHR-Single-GL45.enhanced_layouts.ssb_member_align_non_power_of_2
+KHR-Single-GL45.enhanced_layouts.ssb_alignment
+KHR-Single-GL45.enhanced_layouts.varying_structure_member_location
+KHR-Single-GL45.enhanced_layouts.varying_block_automatic_member_locations
+KHR-Single-GL45.enhanced_layouts.varying_component_without_location
+KHR-Single-GL45.enhanced_layouts.input_component_aliasing
+KHR-Single-GL45.enhanced_layouts.varying_location_aliasing_with_mixed_types
+KHR-Single-GL45.enhanced_layouts.varying_location_aliasing_with_mixed_interpolation
+KHR-Single-GL45.enhanced_layouts.varying_location_aliasing_with_mixed_auxiliary_storage
+KHR-Single-GL45.enhanced_layouts.xfb_stride_of_empty_list
+KHR-Single-GL45.enhanced_layouts.xfb_stride_of_empty_list_and_api
+KHR-Single-GL45.enhanced_layouts.xfb_too_small_stride
+KHR-Single-GL45.enhanced_layouts.xfb_block_member_stride
+KHR-Single-GL45.enhanced_layouts.xfb_duplicated_stride
+KHR-Single-GL45.enhanced_layouts.xfb_get_program_resource_api
+KHR-Single-GL45.enhanced_layouts.xfb_multiple_vertex_streams
+KHR-Single-GL45.enhanced_layouts.xfb_exceed_buffer_limit
+KHR-Single-GL45.enhanced_layouts.xfb_exceed_offset_limit
+KHR-Single-GL45.enhanced_layouts.xfb_block_member_buffer
+KHR-Single-GL45.enhanced_layouts.xfb_output_overlapping
+KHR-Single-GL45.enhanced_layouts.xfb_invalid_offset_alignment
+KHR-Single-GL45.enhanced_layouts.xfb_capture_struct
+KHR-Single-GL45.enhanced_layouts.xfb_capture_unsized_array
+KHR-Single-GL45.enhanced_layouts.uniform_block_alignment
+KHR-Single-GL45.enhanced_layouts.ssb_member_offset_and_align
+KHR-Single-GL45.enhanced_layouts.vertex_attrib_locations
+KHR-Single-GL45.enhanced_layouts.varying_locations
+KHR-Single-GL45.enhanced_layouts.varying_array_locations
+KHR-Single-GL45.enhanced_layouts.varying_structure_locations
+KHR-Single-GL45.enhanced_layouts.varying_block_locations
+KHR-Single-GL45.enhanced_layouts.varying_block_member_locations
+KHR-Single-GL45.enhanced_layouts.xfb_variable_stride
+KHR-Single-GL45.enhanced_layouts.xfb_block_stride
+KHR-Single-GL45.enhanced_layouts.xfb_override_qualifiers_with_api
+KHR-Single-GL45.enhanced_layouts.xfb_vertex_streams
+KHR-Single-GL45.enhanced_layouts.xfb_global_buffer
+KHR-Single-GL45.enhanced_layouts.xfb_explicit_location
+KHR-Single-GL45.enhanced_layouts.xfb_struct_explicit_location
+KHR-Single-GL45.enhanced_layouts.fragment_data_location_api
+KHR-Single-GL45.enhanced_layouts.varying_location_limit
+KHR-Single-GL45.enhanced_layouts.varying_components
+KHR-Single-GL45.enhanced_layouts.varying_array_components
 KHR-Single-GL45.subgroups.builtin_var.graphics.subgroupsize
 KHR-Single-GL45.subgroups.builtin_var.graphics.subgroupinvocationid
 KHR-Single-GL45.subgroups.builtin_var.compute.subgroupsize_compute
diff --git a/external/openglcts/data/mustpass/gl/khronos_mustpass_single/4.6.1.x/gl46-khr-single.txt b/external/openglcts/data/mustpass/gl/khronos_mustpass_single/4.6.1.x/gl46-khr-single.txt
index a0a128a..98505f1 100644
--- a/external/openglcts/data/mustpass/gl/khronos_mustpass_single/4.6.1.x/gl46-khr-single.txt
+++ b/external/openglcts/data/mustpass/gl/khronos_mustpass_single/4.6.1.x/gl46-khr-single.txt
@@ -1,3 +1,148 @@
+KHR-Single-GL46.arrays_of_arrays_gl.SizedDeclarationsPrimitive
+KHR-Single-GL46.arrays_of_arrays_gl.SizedDeclarationsStructTypes1
+KHR-Single-GL46.arrays_of_arrays_gl.SizedDeclarationsStructTypes2
+KHR-Single-GL46.arrays_of_arrays_gl.SizedDeclarationsStructTypes3
+KHR-Single-GL46.arrays_of_arrays_gl.SizedDeclarationsStructTypes4
+KHR-Single-GL46.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle1
+KHR-Single-GL46.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle2
+KHR-Single-GL46.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle3
+KHR-Single-GL46.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle4
+KHR-Single-GL46.arrays_of_arrays_gl.SizedDeclarationsTypenameStyle5
+KHR-Single-GL46.arrays_of_arrays_gl.SizedDeclarationsFunctionParams
+KHR-Single-GL46.arrays_of_arrays_gl.sized_declarations_invalid_sizes1
+KHR-Single-GL46.arrays_of_arrays_gl.sized_declarations_invalid_sizes2
+KHR-Single-GL46.arrays_of_arrays_gl.sized_declarations_invalid_sizes3
+KHR-Single-GL46.arrays_of_arrays_gl.sized_declarations_invalid_sizes4
+KHR-Single-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructors1
+KHR-Single-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructors2
+KHR-Single-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedConstructors
+KHR-Single-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConst
+KHR-Single-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors1
+KHR-Single-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors2
+KHR-Single-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors3
+KHR-Single-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclInvalidConstructors4
+KHR-Single-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructorSizing1
+KHR-Single-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclConstructorSizing2
+KHR-Single-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclStructConstructors
+KHR-Single-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays1
+KHR-Single-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays2
+KHR-Single-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays3
+KHR-Single-GL46.arrays_of_arrays_gl.ConstructorsAndUnsizedDeclUnsizedArrays4
+KHR-Single-GL46.arrays_of_arrays_gl.ExpressionsAssignment1
+KHR-Single-GL46.arrays_of_arrays_gl.ExpressionsAssignment2
+KHR-Single-GL46.arrays_of_arrays_gl.ExpressionsAssignment3
+KHR-Single-GL46.arrays_of_arrays_gl.ExpressionsTypeRestrictions1
+KHR-Single-GL46.arrays_of_arrays_gl.ExpressionsTypeRestrictions2
+KHR-Single-GL46.arrays_of_arrays_gl.ExpressionsIndexingScalar1
+KHR-Single-GL46.arrays_of_arrays_gl.ExpressionsIndexingScalar2
+KHR-Single-GL46.arrays_of_arrays_gl.ExpressionsIndexingScalar3
+KHR-Single-GL46.arrays_of_arrays_gl.ExpressionsIndexingScalar4
+KHR-Single-GL46.arrays_of_arrays_gl.ExpressionsIndexingArray1
+KHR-Single-GL46.arrays_of_arrays_gl.ExpressionsIndexingArray2
+KHR-Single-GL46.arrays_of_arrays_gl.ExpressionsIndexingArray3
+KHR-Single-GL46.arrays_of_arrays_gl.ExpressionsDynamicIndexing1
+KHR-Single-GL46.arrays_of_arrays_gl.ExpressionsDynamicIndexing2
+KHR-Single-GL46.arrays_of_arrays_gl.ExpressionsEquality1
+KHR-Single-GL46.arrays_of_arrays_gl.ExpressionsEquality2
+KHR-Single-GL46.arrays_of_arrays_gl.ExpressionsLength1
+KHR-Single-GL46.arrays_of_arrays_gl.ExpressionsLength2
+KHR-Single-GL46.arrays_of_arrays_gl.ExpressionsLength3
+KHR-Single-GL46.arrays_of_arrays_gl.ExpressionsInvalid1
+KHR-Single-GL46.arrays_of_arrays_gl.ExpressionsInvalid2
+KHR-Single-GL46.arrays_of_arrays_gl.InteractionFunctionCalls1
+KHR-Single-GL46.arrays_of_arrays_gl.InteractionFunctionCalls2
+KHR-Single-GL46.arrays_of_arrays_gl.InteractionArgumentAliasing1
+KHR-Single-GL46.arrays_of_arrays_gl.InteractionArgumentAliasing2
+KHR-Single-GL46.arrays_of_arrays_gl.InteractionArgumentAliasing3
+KHR-Single-GL46.arrays_of_arrays_gl.InteractionArgumentAliasing4
+KHR-Single-GL46.arrays_of_arrays_gl.InteractionArgumentAliasing5
+KHR-Single-GL46.arrays_of_arrays_gl.InteractionArgumentAliasing6
+KHR-Single-GL46.arrays_of_arrays_gl.InteractionUniforms1
+KHR-Single-GL46.arrays_of_arrays_gl.InteractionUniforms2
+KHR-Single-GL46.arrays_of_arrays_gl.InteractionUniformBuffers1
+KHR-Single-GL46.arrays_of_arrays_gl.InteractionUniformBuffers2
+KHR-Single-GL46.arrays_of_arrays_gl.InteractionUniformBuffers3
+KHR-Single-GL46.arrays_of_arrays_gl.InteractionInterfaceArrays1
+KHR-Single-GL46.arrays_of_arrays_gl.InteractionInterfaceArrays2
+KHR-Single-GL46.arrays_of_arrays_gl.InteractionInterfaceArrays3
+KHR-Single-GL46.arrays_of_arrays_gl.InteractionInterfaceArrays4
+KHR-Single-GL46.arrays_of_arrays_gl.InteractionStorageBuffers1
+KHR-Single-GL46.arrays_of_arrays_gl.InteractionStorageBuffers2
+KHR-Single-GL46.arrays_of_arrays_gl.InteractionStorageBuffers3
+KHR-Single-GL46.arrays_of_arrays_gl.AtomicDeclaration
+KHR-Single-GL46.arrays_of_arrays_gl.AtomicUsage
+KHR-Single-GL46.arrays_of_arrays_gl.SubroutineFunctionCalls1
+KHR-Single-GL46.arrays_of_arrays_gl.SubroutineFunctionCalls2
+KHR-Single-GL46.arrays_of_arrays_gl.SubroutineArgumentAliasing1
+KHR-Single-GL46.arrays_of_arrays_gl.SubroutineArgumentAliasing2
+KHR-Single-GL46.arrays_of_arrays_gl.SubroutineArgumentAliasing3
+KHR-Single-GL46.arrays_of_arrays_gl.SubroutineArgumentAliasing4
+KHR-Single-GL46.enhanced_layouts.api_constant_values
+KHR-Single-GL46.enhanced_layouts.api_errors
+KHR-Single-GL46.enhanced_layouts.glsl_contant_values
+KHR-Single-GL46.enhanced_layouts.glsl_contant_immutablity
+KHR-Single-GL46.enhanced_layouts.glsl_constant_integral_expression
+KHR-Single-GL46.enhanced_layouts.uniform_block_layout_qualifier_conflict
+KHR-Single-GL46.enhanced_layouts.ssb_member_invalid_offset_alignment
+KHR-Single-GL46.enhanced_layouts.ssb_member_overlapping_offsets
+KHR-Single-GL46.enhanced_layouts.varying_invalid_value_component
+KHR-Single-GL46.enhanced_layouts.varying_exceeding_components
+KHR-Single-GL46.enhanced_layouts.varying_component_of_invalid_type
+KHR-Single-GL46.enhanced_layouts.output_component_aliasing
+KHR-Single-GL46.enhanced_layouts.vertex_attrib_location_api
+KHR-Single-GL46.enhanced_layouts.xfb_input
+KHR-Single-GL46.enhanced_layouts.xfb_all_stages
+KHR-Single-GL46.enhanced_layouts.xfb_capture_inactive_output_variable
+KHR-Single-GL46.enhanced_layouts.xfb_capture_inactive_output_component
+KHR-Single-GL46.enhanced_layouts.xfb_capture_inactive_output_block_member
+KHR-Single-GL46.enhanced_layouts.xfb_stride
+KHR-Single-GL46.enhanced_layouts.uniform_block_member_offset_and_align
+KHR-Single-GL46.enhanced_layouts.uniform_block_member_invalid_offset_alignment
+KHR-Single-GL46.enhanced_layouts.uniform_block_member_overlapping_offsets
+KHR-Single-GL46.enhanced_layouts.uniform_block_member_align_non_power_of_2
+KHR-Single-GL46.enhanced_layouts.ssb_layout_qualifier_conflict
+KHR-Single-GL46.enhanced_layouts.ssb_member_align_non_power_of_2
+KHR-Single-GL46.enhanced_layouts.ssb_alignment
+KHR-Single-GL46.enhanced_layouts.varying_structure_member_location
+KHR-Single-GL46.enhanced_layouts.varying_block_automatic_member_locations
+KHR-Single-GL46.enhanced_layouts.varying_component_without_location
+KHR-Single-GL46.enhanced_layouts.input_component_aliasing
+KHR-Single-GL46.enhanced_layouts.varying_location_aliasing_with_mixed_types
+KHR-Single-GL46.enhanced_layouts.varying_location_aliasing_with_mixed_interpolation
+KHR-Single-GL46.enhanced_layouts.varying_location_aliasing_with_mixed_auxiliary_storage
+KHR-Single-GL46.enhanced_layouts.xfb_stride_of_empty_list
+KHR-Single-GL46.enhanced_layouts.xfb_stride_of_empty_list_and_api
+KHR-Single-GL46.enhanced_layouts.xfb_too_small_stride
+KHR-Single-GL46.enhanced_layouts.xfb_block_member_stride
+KHR-Single-GL46.enhanced_layouts.xfb_duplicated_stride
+KHR-Single-GL46.enhanced_layouts.xfb_get_program_resource_api
+KHR-Single-GL46.enhanced_layouts.xfb_multiple_vertex_streams
+KHR-Single-GL46.enhanced_layouts.xfb_exceed_buffer_limit
+KHR-Single-GL46.enhanced_layouts.xfb_exceed_offset_limit
+KHR-Single-GL46.enhanced_layouts.xfb_block_member_buffer
+KHR-Single-GL46.enhanced_layouts.xfb_output_overlapping
+KHR-Single-GL46.enhanced_layouts.xfb_invalid_offset_alignment
+KHR-Single-GL46.enhanced_layouts.xfb_capture_struct
+KHR-Single-GL46.enhanced_layouts.xfb_capture_unsized_array
+KHR-Single-GL46.enhanced_layouts.uniform_block_alignment
+KHR-Single-GL46.enhanced_layouts.ssb_member_offset_and_align
+KHR-Single-GL46.enhanced_layouts.vertex_attrib_locations
+KHR-Single-GL46.enhanced_layouts.varying_locations
+KHR-Single-GL46.enhanced_layouts.varying_array_locations
+KHR-Single-GL46.enhanced_layouts.varying_structure_locations
+KHR-Single-GL46.enhanced_layouts.varying_block_locations
+KHR-Single-GL46.enhanced_layouts.varying_block_member_locations
+KHR-Single-GL46.enhanced_layouts.xfb_variable_stride
+KHR-Single-GL46.enhanced_layouts.xfb_block_stride
+KHR-Single-GL46.enhanced_layouts.xfb_override_qualifiers_with_api
+KHR-Single-GL46.enhanced_layouts.xfb_vertex_streams
+KHR-Single-GL46.enhanced_layouts.xfb_global_buffer
+KHR-Single-GL46.enhanced_layouts.xfb_explicit_location
+KHR-Single-GL46.enhanced_layouts.xfb_struct_explicit_location
+KHR-Single-GL46.enhanced_layouts.fragment_data_location_api
+KHR-Single-GL46.enhanced_layouts.varying_location_limit
+KHR-Single-GL46.enhanced_layouts.varying_components
+KHR-Single-GL46.enhanced_layouts.varying_array_components
 KHR-Single-GL46.subgroups.builtin_var.graphics.subgroupsize
 KHR-Single-GL46.subgroups.builtin_var.graphics.subgroupinvocationid
 KHR-Single-GL46.subgroups.builtin_var.compute.subgroupsize_compute
diff --git a/external/openglcts/data/mustpass/gl/khronos_mustpass_single/4.6.1.x/mustpass.xml b/external/openglcts/data/mustpass/gl/khronos_mustpass_single/4.6.1.x/mustpass.xml
index 59886db..1a7bfbe 100644
--- a/external/openglcts/data/mustpass/gl/khronos_mustpass_single/4.6.1.x/mustpass.xml
+++ b/external/openglcts/data/mustpass/gl/khronos_mustpass_single/4.6.1.x/mustpass.xml
@@ -18,6 +18,8 @@
  * be lost! Modify the generating script instead.
  */-->
 	<TestPackage name="Khronos Mustpass GL Single Config">
+		<Configuration caseListFile="gl43-khr-single.txt" commandLine="--deqp-screen-rotation=unspecified --deqp-surface-width=64 --deqp-surface-height=64 --deqp-base-seed=1 --deqp-watchdog=disable" name="khr-single" os="any" useForFirstEGLConfig="True"/>
+		<Configuration caseListFile="gl44-khr-single.txt" commandLine="--deqp-screen-rotation=unspecified --deqp-surface-width=64 --deqp-surface-height=64 --deqp-base-seed=1 --deqp-watchdog=disable" name="khr-single" os="any" useForFirstEGLConfig="True"/>
 		<Configuration caseListFile="gl45-khr-single.txt" commandLine="--deqp-screen-rotation=unspecified --deqp-surface-width=64 --deqp-surface-height=64 --deqp-base-seed=1 --deqp-watchdog=disable" name="khr-single" os="any" useForFirstEGLConfig="True"/>
 		<Configuration caseListFile="gl46-khr-single.txt" commandLine="--deqp-screen-rotation=unspecified --deqp-surface-width=64 --deqp-surface-height=64 --deqp-base-seed=1 --deqp-watchdog=disable" name="khr-single" os="any" useForFirstEGLConfig="True"/>
 	</TestPackage>
diff --git a/external/openglcts/data/mustpass/gl/khronos_mustpass_single/4.6.1.x/src/gl43-khr-single.txt b/external/openglcts/data/mustpass/gl/khronos_mustpass_single/4.6.1.x/src/gl43-khr-single.txt
new file mode 100644
index 0000000..1fa64b4
--- /dev/null
+++ b/external/openglcts/data/mustpass/gl/khronos_mustpass_single/4.6.1.x/src/gl43-khr-single.txt
@@ -0,0 +1 @@
+KHR-Single-GL43.*
diff --git a/external/openglcts/data/mustpass/gl/khronos_mustpass_single/4.6.1.x/src/gl44-khr-single.txt b/external/openglcts/data/mustpass/gl/khronos_mustpass_single/4.6.1.x/src/gl44-khr-single.txt
new file mode 100644
index 0000000..9a774a4
--- /dev/null
+++ b/external/openglcts/data/mustpass/gl/khronos_mustpass_single/4.6.1.x/src/gl44-khr-single.txt
@@ -0,0 +1 @@
+KHR-Single-GL44.*
diff --git a/external/openglcts/modules/common/CMakeLists.txt b/external/openglcts/modules/common/CMakeLists.txt
index 85a4840..b267cd9 100644
--- a/external/openglcts/modules/common/CMakeLists.txt
+++ b/external/openglcts/modules/common/CMakeLists.txt
@@ -6,6 +6,7 @@
 endif ()
 
 add_subdirectory(subgroups)
+include_directories(subgroups)
 
 set(GLCTS_COMMON_SRCS
 	glcAggressiveShaderOptimizationsTests.cpp
diff --git a/external/openglcts/modules/common/glcSingleConfigTestPackage.cpp b/external/openglcts/modules/common/glcSingleConfigTestPackage.cpp
index 24d2583..3349f89 100644
--- a/external/openglcts/modules/common/glcSingleConfigTestPackage.cpp
+++ b/external/openglcts/modules/common/glcSingleConfigTestPackage.cpp
@@ -30,7 +30,9 @@
 #include "tcuTestLog.hpp"
 #include "tcuWaiverUtil.hpp"
 
-#include "subgroups/glcSubgroupsTests.hpp"
+#include "glcSubgroupsTests.hpp"
+#include "gl4cEnhancedLayoutsTests.hpp"
+#include "../gles31/es31cArrayOfArraysTests.hpp"
 
 namespace glcts
 {
@@ -38,7 +40,7 @@
 class TestCaseWrapper : public tcu::TestCaseExecutor
 {
 public:
-	TestCaseWrapper(SingleConfigTestPackage& package, de::SharedPtr<tcu::WaiverUtil> waiverMechanism);
+	TestCaseWrapper(deqp::TestPackage& package, de::SharedPtr<tcu::WaiverUtil> waiverMechanism);
 	~TestCaseWrapper(void);
 
 	void init(tcu::TestCase* testCase, const std::string& path);
@@ -46,11 +48,11 @@
 	tcu::TestNode::IterateResult iterate(tcu::TestCase* testCase);
 
 private:
-	SingleConfigTestPackage& m_testPackage;
+	deqp::TestPackage& m_testPackage;
 	de::SharedPtr<tcu::WaiverUtil> m_waiverMechanism;
 };
 
-TestCaseWrapper::TestCaseWrapper(SingleConfigTestPackage& package, de::SharedPtr<tcu::WaiverUtil> waiverMechanism)
+TestCaseWrapper::TestCaseWrapper(deqp::TestPackage& package, de::SharedPtr<tcu::WaiverUtil> waiverMechanism)
 	: m_testPackage(package)
 	, m_waiverMechanism(waiverMechanism)
 {
@@ -109,19 +111,138 @@
 	}
 }
 
-SingleConfigTestPackage::SingleConfigTestPackage(tcu::TestContext& testCtx, const char* packageName,
+SingleConfigGL43TestPackage::SingleConfigGL43TestPackage(tcu::TestContext& testCtx, const char* packageName, const char* description,
 												 glu::ContextType renderContextType)
-	: deqp::TestPackage(testCtx, packageName, "CTS Single Config Package",
-						renderContextType, "gl_cts/data/")
+	: deqp::TestPackage(testCtx, packageName, description, renderContextType, "gl_cts/data/")
 {
 }
 
-SingleConfigTestPackage::~SingleConfigTestPackage(void)
+SingleConfigGL43TestPackage::~SingleConfigGL43TestPackage(void)
 {
-	deqp::TestPackage::deinit();
+
 }
 
-void SingleConfigTestPackage::init(void)
+void SingleConfigGL43TestPackage::init(void)
+{
+	// Call init() in parent - this creates context.
+	deqp::TestPackage::init();
+
+	try
+	{
+		// Add main test groups
+		addChild(new glcts::ArrayOfArraysTestGroupGL(getContext()));
+	}
+	catch (...)
+	{
+		// Destroy context.
+		deqp::TestPackage::deinit();
+		throw;
+	}
+}
+
+tcu::TestCaseExecutor* SingleConfigGL43TestPackage::createExecutor(void) const
+{
+	return new TestCaseWrapper(const_cast<SingleConfigGL43TestPackage&>(*this), m_waiverMechanism);
+}
+
+SingleConfigGL44TestPackage::SingleConfigGL44TestPackage(tcu::TestContext& testCtx, const char* packageName, const char* description,
+												 glu::ContextType renderContextType)
+	: SingleConfigGL43TestPackage(testCtx, packageName, description, renderContextType)
+{
+}
+
+SingleConfigGL44TestPackage::~SingleConfigGL44TestPackage(void)
+{
+
+}
+
+void SingleConfigGL44TestPackage::init(void)
+{
+	// Call init() in parent - this creates context.
+	SingleConfigGL43TestPackage::init();
+
+	try
+	{
+		// Add main test groups
+		addChild(new gl4cts::EnhancedLayoutsTests(getContext()));
+	}
+	catch (...)
+	{
+		// Destroy context.
+		deqp::TestPackage::deinit();
+		throw;
+	}
+}
+
+SingleConfigGL45TestPackage::SingleConfigGL45TestPackage(tcu::TestContext& testCtx, const char* packageName, const char* description,
+												 glu::ContextType renderContextType)
+	: SingleConfigGL44TestPackage(testCtx, packageName, description, renderContextType)
+{
+}
+
+SingleConfigGL45TestPackage::~SingleConfigGL45TestPackage(void)
+{
+
+}
+
+void SingleConfigGL45TestPackage::init(void)
+{
+	// Call init() in parent - this creates context.
+	SingleConfigGL44TestPackage::init();
+
+	try
+	{
+		// Add main test groups
+		addChild(new glc::subgroups::GlSubgroupTests(getContext()));
+	}
+	catch (...)
+	{
+		// Destroy context.
+		deqp::TestPackage::deinit();
+		throw;
+	}
+}
+
+SingleConfigGL46TestPackage::SingleConfigGL46TestPackage(tcu::TestContext& testCtx, const char* packageName, const char* description,
+												 glu::ContextType renderContextType)
+	: SingleConfigGL45TestPackage(testCtx, packageName, description, renderContextType)
+{
+}
+
+SingleConfigGL46TestPackage::~SingleConfigGL46TestPackage(void)
+{
+
+}
+
+void SingleConfigGL46TestPackage::init(void)
+{
+	// Call init() in parent - this creates context.
+	SingleConfigGL45TestPackage::init();
+
+	try
+	{
+		// Add main test groups
+	}
+	catch (...)
+	{
+		// Destroy context.
+		deqp::TestPackage::deinit();
+		throw;
+	}
+}
+
+SingleConfigES32TestPackage::SingleConfigES32TestPackage(tcu::TestContext& testCtx, const char* packageName, const char* description,
+												 glu::ContextType renderContextType)
+	: deqp::TestPackage(testCtx, packageName, description, renderContextType, "gl_cts/data/")
+{
+}
+
+SingleConfigES32TestPackage::~SingleConfigES32TestPackage(void)
+{
+
+}
+
+void SingleConfigES32TestPackage::init(void)
 {
 	// Call init() in parent - this creates context.
 	deqp::TestPackage::init();
@@ -139,9 +260,9 @@
 	}
 }
 
-tcu::TestCaseExecutor* SingleConfigTestPackage::createExecutor(void) const
+tcu::TestCaseExecutor* SingleConfigES32TestPackage::createExecutor(void) const
 {
-	return new TestCaseWrapper(const_cast<SingleConfigTestPackage&>(*this), m_waiverMechanism);
+	return new TestCaseWrapper(const_cast<SingleConfigES32TestPackage&>(*this), m_waiverMechanism);
 }
 
 } // glcts
diff --git a/external/openglcts/modules/common/glcSingleConfigTestPackage.hpp b/external/openglcts/modules/common/glcSingleConfigTestPackage.hpp
index 7bca6b2..f760c1c 100644
--- a/external/openglcts/modules/common/glcSingleConfigTestPackage.hpp
+++ b/external/openglcts/modules/common/glcSingleConfigTestPackage.hpp
@@ -31,22 +31,86 @@
 namespace glcts
 {
 
-class SingleConfigTestPackage : public deqp::TestPackage
+class SingleConfigGL43TestPackage : public deqp::TestPackage
 {
 public:
-	SingleConfigTestPackage(tcu::TestContext& testCtx, const char* packageName,
-							glu::ContextType renderContextType);
-	~SingleConfigTestPackage(void);
+	SingleConfigGL43TestPackage(tcu::TestContext& testCtx, const char* packageName,
+							const char* description = "CTS Single Config GL43 Package",
+							glu::ContextType renderContextType = glu::ContextType(glu::ApiType::core(4, 3)));
+	~SingleConfigGL43TestPackage(void);
 
 	void init(void);
 
 	virtual tcu::TestCaseExecutor* createExecutor(void) const;
 
 private:
-	SingleConfigTestPackage(const SingleConfigTestPackage& other);
-	SingleConfigTestPackage& operator=(const SingleConfigTestPackage& other);
+	SingleConfigGL43TestPackage(const SingleConfigGL43TestPackage& other);
+	SingleConfigGL43TestPackage& operator=(const SingleConfigGL43TestPackage& other);
 };
 
+class SingleConfigGL44TestPackage : public SingleConfigGL43TestPackage
+{
+public:
+	SingleConfigGL44TestPackage(tcu::TestContext& testCtx, const char* packageName,
+							const char* description = "CTS Single Config GL44 Package",
+							glu::ContextType renderContextType = glu::ContextType(glu::ApiType::core(4, 4)));
+	~SingleConfigGL44TestPackage(void);
+
+	void init(void);
+
+private:
+	SingleConfigGL44TestPackage(const SingleConfigGL44TestPackage& other);
+	SingleConfigGL44TestPackage& operator=(const SingleConfigGL44TestPackage& other);
+};
+
+class SingleConfigGL45TestPackage : public SingleConfigGL44TestPackage
+{
+public:
+	SingleConfigGL45TestPackage(tcu::TestContext& testCtx, const char* packageName,
+							const char* description = "CTS Single Config GL45 Package",
+							glu::ContextType renderContextType = glu::ContextType(glu::ApiType::core(4, 5)));
+	~SingleConfigGL45TestPackage(void);
+
+	void init(void);
+
+private:
+	SingleConfigGL45TestPackage(const SingleConfigGL45TestPackage& other);
+	SingleConfigGL45TestPackage& operator=(const SingleConfigGL45TestPackage& other);
+};
+
+class SingleConfigGL46TestPackage : public SingleConfigGL45TestPackage
+{
+public:
+	SingleConfigGL46TestPackage(tcu::TestContext& testCtx, const char* packageName,
+							const char* description = "CTS Single Config GL46 Package",
+							glu::ContextType renderContextType = glu::ContextType(glu::ApiType::core(4, 6)));
+	~SingleConfigGL46TestPackage(void);
+
+	void init(void);
+
+private:
+	SingleConfigGL46TestPackage(const SingleConfigGL46TestPackage& other);
+	SingleConfigGL46TestPackage& operator=(const SingleConfigGL46TestPackage& other);
+};
+
+class SingleConfigES32TestPackage : public deqp::TestPackage
+{
+public:
+	SingleConfigES32TestPackage(tcu::TestContext& testCtx, const char* packageName,
+							const char* description = "CTS Single Config ES32 Package",
+							glu::ContextType renderContextType = glu::ContextType(glu::ApiType::es(3, 2)));
+	~SingleConfigES32TestPackage(void);
+
+	void init(void);
+
+	virtual tcu::TestCaseExecutor* createExecutor(void) const;
+
+private:
+	SingleConfigES32TestPackage(const SingleConfigES32TestPackage& other);
+	SingleConfigES32TestPackage& operator=(const SingleConfigES32TestPackage& other);
+};
+
+
 } // glcts
 
 #endif // _GLCSINGLECONFIGTESTPACKAGE_HPP
diff --git a/external/openglcts/modules/gl/gl4cTestPackages.cpp b/external/openglcts/modules/gl/gl4cTestPackages.cpp
index 4c2a547..3d5bea1 100644
--- a/external/openglcts/modules/gl/gl4cTestPackages.cpp
+++ b/external/openglcts/modules/gl/gl4cTestPackages.cpp
@@ -32,7 +32,6 @@
 #include "gl4cCopyImageTests.hpp"
 #include "gl4cDirectStateAccessTests.hpp"
 #include "gl4cES31CompatibilityTests.hpp"
-#include "gl4cEnhancedLayoutsTests.hpp"
 #include "gl4cGPUShaderFP64Tests.hpp"
 #include "gl4cGetTextureSubImageTests.hpp"
 #include "gl4cGlSpirvTests.hpp"
@@ -86,7 +85,6 @@
 #include "glcViewportArrayTests.hpp"
 #include "glcPixelStorageModesTests.hpp"
 
-#include "../gles31/es31cArrayOfArraysTests.hpp"
 #include "../gles31/es31cDrawIndirectTests.hpp"
 #include "../gles31/es31cExplicitUniformLocationTest.hpp"
 #include "../gles31/es31cLayoutBindingTests.hpp"
@@ -293,7 +291,6 @@
 
 	try
 	{
-		addChild(new glcts::ArrayOfArraysTestGroupGL(getContext()));
 		addChild(new gl4cts::CopyImageTests(getContext()));
 		addChild(new glcts::DrawIndirectTestsGL43(getContext()));
 		addChild(new gl4cts::ProgramInterfaceQueryTests(getContext()));
@@ -356,7 +353,6 @@
 	{
 		addChild(new GL44ShaderTests(getContext()));
 		addChild(new gl4cts::BufferStorageTests(getContext()));
-		addChild(new gl4cts::EnhancedLayoutsTests(getContext()));
 		addChild(new glcts::LayoutBindingTests(getContext(), glu::GLSL_VERSION_440));
 		addChild(new gl4cts::MultiBindTests(getContext()));
 		addChild(new glcts::SeparateShaderObjsTests(getContext(), glu::GLSL_VERSION_440));
diff --git a/external/openglcts/modules/glcTestPackageRegistry.cpp b/external/openglcts/modules/glcTestPackageRegistry.cpp
index 1429a2e..09b55a0 100644
--- a/external/openglcts/modules/glcTestPackageRegistry.cpp
+++ b/external/openglcts/modules/glcTestPackageRegistry.cpp
@@ -160,18 +160,25 @@
 {
 	return new glcts::NoDefaultContextPackage(testCtx, "KHR-NoContext");
 }
-
+static tcu::TestPackage* createSingleConfigGL43TestPackage(tcu::TestContext& testCtx)
+{
+	return new glcts::SingleConfigGL43TestPackage(testCtx, "KHR-Single-GL43");
+}
+static tcu::TestPackage* createSingleConfigGL44TestPackage(tcu::TestContext& testCtx)
+{
+	return new glcts::SingleConfigGL44TestPackage(testCtx, "KHR-Single-GL44");
+}
 static tcu::TestPackage* createSingleConfigGL45TestPackage(tcu::TestContext& testCtx)
 {
-	return new glcts::SingleConfigTestPackage(testCtx, "KHR-Single-GL45", glu::ContextType(glu::ApiType::core(4, 5)));
+	return new glcts::SingleConfigGL45TestPackage(testCtx, "KHR-Single-GL45");
 }
 static tcu::TestPackage* createSingleConfigGL46TestPackage(tcu::TestContext& testCtx)
 {
-	return new glcts::SingleConfigTestPackage(testCtx, "KHR-Single-GL46", glu::ContextType(glu::ApiType::core(4, 6)));
+	return new glcts::SingleConfigGL45TestPackage(testCtx, "KHR-Single-GL46");
 }
 static tcu::TestPackage* createSingleConfigES32TestPackage(tcu::TestContext& testCtx)
 {
-	return new glcts::SingleConfigTestPackage(testCtx, "KHR-Single-GLES32", glu::ContextType(glu::ApiType::es(3, 2)));
+	return new glcts::SingleConfigES32TestPackage(testCtx, "KHR-Single-GLES32");
 }
 
 static tcu::TestPackage* createGL30Package(tcu::TestContext& testCtx)
@@ -313,7 +320,8 @@
 	registry->registerPackage("KHR-GLES32", createES32Package);
 
 	registry->registerPackage("KHR-NoContext", createNoDefaultCustomContextPackage);
-
+	registry->registerPackage("KHR-Single-GL43", createSingleConfigGL43TestPackage);
+	registry->registerPackage("KHR-Single-GL44", createSingleConfigGL44TestPackage);
 	registry->registerPackage("KHR-Single-GL45", createSingleConfigGL45TestPackage);
 	registry->registerPackage("KHR-Single-GL46", createSingleConfigGL46TestPackage);
 	registry->registerPackage("KHR-Single-GLES32", createSingleConfigES32TestPackage);
diff --git a/external/openglcts/modules/runner/glcKhronosMustpassGlSingleConfig.hpp b/external/openglcts/modules/runner/glcKhronosMustpassGlSingleConfig.hpp
index 00c9c37..97bf87f 100644
--- a/external/openglcts/modules/runner/glcKhronosMustpassGlSingleConfig.hpp
+++ b/external/openglcts/modules/runner/glcKhronosMustpassGlSingleConfig.hpp
@@ -22,6 +22,8 @@
 const char* mustpassDir = "gl_cts/data/mustpass/gl/khronos_mustpass_single/4.6.1.x/";
 
 static const RunParams khronos_mustpass_gl_single_config_first_cfg[] = {
+	{ glu::ApiType::core(4, 3), "khr-single", DE_NULL, "unspecified", 1, DE_NULL, 64, 64 },
+	{ glu::ApiType::core(4, 4), "khr-single", DE_NULL, "unspecified", 1, DE_NULL, 64, 64 },
 	{ glu::ApiType::core(4, 5), "khr-single", DE_NULL, "unspecified", 1, DE_NULL, 64, 64 },
 	{ glu::ApiType::core(4, 6), "khr-single", DE_NULL, "unspecified", 1, DE_NULL, 64, 64 },
 };
diff --git a/external/openglcts/scripts/build_caselists.py b/external/openglcts/scripts/build_caselists.py
index a1ad8a9..3392a06 100644
--- a/external/openglcts/scripts/build_caselists.py
+++ b/external/openglcts/scripts/build_caselists.py
@@ -81,6 +81,8 @@
 	Module("KHR-NOCTX-GL40","GL40"),
 	Module("KHR-NOCTX-GL43","GL43"),
 	Module("KHR-NOCTX-GL45","GL45"),
+	Module("KHR-Single-GL43","GL43"),
+	Module("KHR-Single-GL44","GL44"),
 	Module("KHR-Single-GL45","GL45"),
 	Module("KHR-Single-GL46","GL46"),
 	Module("KHR-Single-GLES32","GLES32"),
diff --git a/external/openglcts/scripts/build_mustpass.py b/external/openglcts/scripts/build_mustpass.py
index fde5b69..f2f777a 100644
--- a/external/openglcts/scripts/build_mustpass.py
+++ b/external/openglcts/scripts/build_mustpass.py
@@ -1111,6 +1111,8 @@
 NOCTX_GL40_KHR_MODULE			= getModuleByName("KHR-NOCTX-GL40")
 NOCTX_GL43_KHR_MODULE			= getModuleByName("KHR-NOCTX-GL43")
 NOCTX_GL45_KHR_MODULE			= getModuleByName("KHR-NOCTX-GL45")
+SINGLE_GL43_KHR_MODULE			= getModuleByName("KHR-Single-GL43")
+SINGLE_GL44_KHR_MODULE			= getModuleByName("KHR-Single-GL44")
 SINGLE_GL45_KHR_MODULE			= getModuleByName("KHR-Single-GL45")
 SINGLE_GL46_KHR_MODULE			= getModuleByName("KHR-Single-GL46")
 
@@ -1150,6 +1152,24 @@
 					filters			= [include("gl45-khr-master.txt")]),
 	])
 
+GLCTS_SINGLE_GL43_KHR_PKG			= Package(module = SINGLE_GL43_KHR_MODULE, configurations = [
+		# Master
+		Configuration(name			= "khr-single",
+					surfacewidth	= "64",
+					surfaceheight	= "64",
+					baseseed		= "1",
+					filters			= [include("gl43-khr-single.txt")]),
+	])
+
+GLCTS_SINGLE_GL44_KHR_PKG			= Package(module = SINGLE_GL44_KHR_MODULE, configurations = [
+		# Master
+		Configuration(name			= "khr-single",
+					surfacewidth	= "64",
+					surfaceheight	= "64",
+					baseseed		= "1",
+					filters			= [include("gl44-khr-single.txt")]),
+	])
+
 GLCTS_SINGLE_GL45_KHR_PKG			= Package(module = SINGLE_GL45_KHR_MODULE, configurations = [
 		# Master
 		Configuration(name			= "khr-single",
@@ -1208,7 +1228,7 @@
 					Mustpass(project = GL_CTS_NOCTX_PROJECT, version = "4.6.0.x", isCurrent=False, packages = [GLCTS_NOCTX_GL30_KHR_PKG, GLCTS_NOCTX_GL40_KHR_PKG, GLCTS_NOCTX_GL43_KHR_PKG, GLCTS_NOCTX_GL45_KHR_PKG]),
 				    Mustpass(project = GL_CTS_KHR_MP_PROJECT, version = "4.6.1.x", isCurrent=True, packages = gl_packages),
                     Mustpass(project = GL_CTS_NOCTX_PROJECT, version = "4.6.1.x", isCurrent=True, packages = [GLCTS_NOCTX_GL30_KHR_PKG, GLCTS_NOCTX_GL40_KHR_PKG, GLCTS_NOCTX_GL43_KHR_PKG, GLCTS_NOCTX_GL45_KHR_PKG]),
-                    Mustpass(project = GL_CTS_KHR_SINGLE_PROJECT, version = "4.6.1.x", isCurrent=True, packages = [GLCTS_SINGLE_GL45_KHR_PKG, GLCTS_SINGLE_GL46_KHR_PKG]),
+                    Mustpass(project = GL_CTS_KHR_SINGLE_PROJECT, version = "4.6.1.x", isCurrent=True, packages = [GLCTS_SINGLE_GL43_KHR_PKG, GLCTS_SINGLE_GL44_KHR_PKG, GLCTS_SINGLE_GL45_KHR_PKG, GLCTS_SINGLE_GL46_KHR_PKG]),
                     Mustpass(project = GL_CTS_GLES_PROJECT, version = "4.6.1.x", isCurrent=True, packages = [MASTER_GL_ES31_PKG]),
 					]
 		return mustpass