// Copyright 2019 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// See README.md for format.

// For now we only log Vulkan test expectations. More back-ends can follow as we need them.

////
//// Failures blocking an official GLES 3.1 conformance run on SwiftShader
////

// Image related failures

4315 VULKAN : KHR-GLES31.core.shader_image_load_store.advanced-memory-order-vsfs = FAIL

// Failing on SwiftShader
4414 SWIFTSHADER : KHR-GLES31.core.shader_image_load_store.advanced-allMips-cs = SKIP
4414 SWIFTSHADER : KHR-GLES31.core.shader_image_load_store.advanced-allMips-fs = SKIP

////
//// General Vulkan expectations
////

// Framebuffer without attachments:
3579 VULKAN : KHR-GLES31.core.framebuffer_no_attachments.api = FAIL

// Blend equations:
3586 VULKAN : KHR-GLES31.core.blend_equation_advanced.* = SKIP

// No known implementation supports STORAGE_TEXEL_BUFFER support for RGB32 formats
3573 VULKAN : KHR-GLES31.core.texture_buffer.texture_buffer_texture_buffer_range = SKIP

// Dispatch indirect:
3726 VULKAN PIXEL2ORXL : KHR-GLES31.core.compute_shader.pipeline-compute-chain = FAIL
4194 VULKAN PIXEL2ORXL : KHR-GLES31.core.compute_shader.resource-ubo = FAIL
4194 VULKAN PIXEL2ORXL : KHR-GLES31.core.compute_shader.built-in-variables = FAIL

// XFB array elements capture:
// These tests only fail with VK_EXT_transform_feedback
4723 VULKAN NVIDIA : KHR-GLES31.core.vertex_attrib_binding.basic-input-case1 = SKIP
4723 VULKAN NVIDIA : KHR-GLES31.core.vertex_attrib_binding.basic-input-case2 = SKIP
4723 VULKAN NVIDIA : KHR-GLES31.core.vertex_attrib_binding.basic-input-case3 = SKIP
4723 VULKAN NVIDIA : KHR-GLES31.core.vertex_attrib_binding.basic-input-case4 = SKIP
4723 VULKAN NVIDIA : KHR-GLES31.core.vertex_attrib_binding.basic-input-case5 = SKIP
4723 VULKAN NVIDIA : KHR-GLES31.core.vertex_attrib_binding.basic-input-case6 = SKIP
4723 VULKAN NVIDIA : KHR-GLES31.core.vertex_attrib_binding.basic-input-case8 = SKIP
4723 VULKAN NVIDIA : KHR-GLES31.core.vertex_attrib_binding.basic-input-case9 = SKIP
4723 VULKAN NVIDIA : KHR-GLES31.core.vertex_attrib_binding.basic-input-case11 = SKIP
4723 VULKAN NVIDIA : KHR-GLES31.core.vertex_attrib_binding.basic-input-case12 = SKIP
4723 VULKAN NVIDIA : KHR-GLES31.core.vertex_attrib_binding.basic-inputI-case1 = SKIP
4723 VULKAN NVIDIA : KHR-GLES31.core.vertex_attrib_binding.basic-inputI-case2 = SKIP
4723 VULKAN NVIDIA : KHR-GLES31.core.vertex_attrib_binding.basic-inputI-case3 = SKIP
4723 VULKAN NVIDIA : KHR-GLES31.core.shader_image_size.basic-nonMS-vs-float = SKIP
4723 VULKAN NVIDIA : KHR-GLES31.core.shader_image_size.basic-nonMS-vs-int = SKIP
4723 VULKAN NVIDIA : KHR-GLES31.core.shader_image_size.basic-nonMS-vs-uint = SKIP
4723 VULKAN NVIDIA : KHR-GLES31.core.shader_image_size.advanced-nonMS-vs-float = SKIP
4723 VULKAN NVIDIA : KHR-GLES31.core.shader_image_size.advanced-nonMS-vs-int = SKIP
4723 VULKAN NVIDIA : KHR-GLES31.core.shader_image_size.advanced-nonMS-vs-uint = SKIP
4723 VULKAN NVIDIA : KHR-GLES31.core.program_interface_query.transform-feedback-types = SKIP

// Incompatible between incomplete texture and sampler format (isampler2D or usampler2D):
3588 VULKAN : KHR-GLES31.core.sample_variables.mask.rgba8*i.* = FAIL

// Geometry shader support
5406 VULKAN : KHR-GLES31.core.draw_indirect.basic-mode-*adjacency = SKIP
3571 VULKAN : KHR-GLES31.core.draw_indirect.negative-xfb = SKIP

////
//// Desktop Vulkan expectations
////

// Crashes in libnvidia-glvkspirv.so, fixed in newer drivers
4128 VULKAN NVIDIA : KHR-GLES31.core.shader_storage_buffer_object.advanced-unsizedArrayLength-cs-*-matC* = SKIP
4128 VULKAN NVIDIA : KHR-GLES31.core.shader_storage_buffer_object.advanced-unsizedArrayLength-vs-*-matC* = SKIP
4128 VULKAN NVIDIA : KHR-GLES31.core.shader_storage_buffer_object.advanced-unsizedArrayLength-fs-*-matC* = SKIP
4128 VULKAN NVIDIA : KHR-GLES31.core.shader_storage_buffer_object.advanced-unsizedArrayLength-cs-*-struct* = SKIP
4128 VULKAN NVIDIA : KHR-GLES31.core.shader_storage_buffer_object.advanced-unsizedArrayLength-vs-*-struct* = SKIP
4128 VULKAN NVIDIA : KHR-GLES31.core.shader_storage_buffer_object.advanced-unsizedArrayLength-fs-*-struct* = SKIP
4128 VULKAN NVIDIA : KHR-GLES31.core.shader_storage_buffer_object.advanced-unsizedArrayLength-cs-*-matR* = SKIP
4128 VULKAN NVIDIA : KHR-GLES31.core.shader_storage_buffer_object.advanced-unsizedArrayLength-vs-*-matR* = SKIP
4128 VULKAN NVIDIA : KHR-GLES31.core.shader_storage_buffer_object.advanced-unsizedArrayLength-fs-*-matR* = SKIP


////
//// Android (i.e. Pixel*) Vulkan expectations
////

// Crashes on Android
4107 VULKAN ANDROID : KHR-GLES31.core.shader_storage_buffer_object.advanced-unsizedArrayLength* = SKIP

// Passing on recent drivers:
3726 VULKAN ANDROID : KHR-GLES31.core.shader_atomic_counters.* = FAIL
3726 VULKAN ANDROID : KHR-GLES31.core.shader_atomic_counters.advanced-usage-* = SKIP

// Explicit uniform locations:
4219 VULKAN PIXEL2ORXL : KHR-GLES31.core.explicit_uniform_location.uniform-loc-mix-with-implicit-max = FAIL
4219 VULKAN PIXEL2ORXL : KHR-GLES31.core.explicit_uniform_location.uniform-loc-mix-with-implicit-max-array = FAIL

// Fails on Pixel2 and Pixel2 XL
4159 VULKAN PIXEL2ORXL : KHR-GLES31.core.draw_indirect.advanced-twoPass-transformFeedback-elements = FAIL
4159 VULKAN PIXEL2ORXL : KHR-GLES31.core.draw_indirect.advanced-twoPass-transformFeedback-arrays = FAIL

// Fails to link the shader program on Pixel2 and Pixel2 XL
3588 VULKAN PIXEL2ORXL : KHR-GLES31.core.sample_variables.mask.rgba8.samples_*.mask_* = FAIL

// Android uses "old" sampler rewrite that doesn't support array of arrays
2703 VULKAN ANDROID : KHR-GLES31.core.arrays_of_arrays.* = SKIP

// Failing on Android with SwiftShader
4300 SWIFTSHADER ANDROID : KHR-GLES31.core.shader_integer_mix.mix-bvec4 = FAIL
4300 SWIFTSHADER ANDROID : KHR-GLES31.core.shader_integer_mix.mix-ivec4 = FAIL
4300 SWIFTSHADER ANDROID : KHR-GLES31.core.shader_integer_mix.mix-uvec4 = FAIL

// Crashing on Android with SwiftShader
4108 SWIFTSHADER ANDROID : KHR-GLES31.core.shader_image_size.basic-nonMS* = SKIP
4108 SWIFTSHADER ANDROID : KHR-GLES31.core.shader_image_size.advanced-nonMS* = SKIP

// Crashing on Android with SwiftShader
4188 SWIFTSHADER ANDROID : KHR-GLES31.core.compute_shader.resource-image = SKIP

// Crashing on Android with SwiftShader
4190 SWIFTSHADER ANDROID : KHR-GLES31.core.compute_shader.pipeline-compute-chain = SKIP

// Crashing on Android with SwiftShader
4240 SWIFTSHADER ANDROID : KHR-GLES31.core.texture_storage_multisample.FunctionalTests.blitting_multisampled_depth_attachment = SKIP

// New failures with latest dEQP roll (2020-04-28)
4593 SWIFTSHADER : KHR-GLES31.core.nearest_edge.offset_left = FAIL
