# Excluded sparse version of texture function tests according to the Android GLES3 issue list
dEQP-VK.glsl.texture_functions.texturegrad.sparse_samplercubeshadow_fragment
dEQP-VK.glsl.texture_functions.texturegrad.sparse_samplercubeshadow_vertex

# Excluded Amber example tests
dEQP-VK.amber-example.*

#VK-GL-CTS 1274
dEQP-VK.rasterization.interpolation.basic.lines_wide
dEQP-VK.rasterization.interpolation.projected.line_strip_wide
dEQP-VK.rasterization.flatshading.lines_wide

dEQP-VK.pipeline.multisample.*.primitive_point_1px
dEQP-VK.pipeline.multisample.*.primitive_point_1px_sparse

# VK-GL-CTS 1829
# Test shader length is excessive, excluding until such time as the test case can be re-visited.
dEQP-VK.ssbo.layout.random.scalar.75

# VK-GL-CTS 1024
dEQP-VK.rasterization.interpolation_multisample_16_bit.lines_wide
dEQP-VK.rasterization.interpolation_multisample_16_bit.non_strict_lines_wide
dEQP-VK.rasterization.primitives_multisample_16_bit.no_stipple.non_strict_lines_wide
