// Copyright 2015 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.

// Globally disable Metal testing for now
4235 METAL : dEQP-EGL.* = SKIP

// Only Vulkan supports multithreading
3916 OPENGL : dEQP-EGL.functional.sharing.gles2.multithread.* = SKIP
3916 OPENGL : dEQP-EGL.functional.multithread.* = SKIP
3916 OPENGL : dEQP-EGL.functional.render.multi_thread.* = SKIP
3916 OPENGL : dEQP-EGL.functional.color_clears.multi_thread.* = SKIP
3916 GLES : dEQP-EGL.functional.sharing.gles2.multithread.* = SKIP
3916 GLES : dEQP-EGL.functional.multithread.* = SKIP
3916 GLES : dEQP-EGL.functional.render.multi_thread.* = SKIP
3916 GLES : dEQP-EGL.functional.color_clears.multi_thread.* = SKIP
3916 D3D11 : dEQP-EGL.functional.sharing.gles2.multithread.* = SKIP
3916 D3D11 : dEQP-EGL.functional.multithread.* = SKIP
3916 D3D11 : dEQP-EGL.functional.render.multi_thread.* = SKIP
3916 D3D11 : dEQP-EGL.functional.color_clears.multi_thread.* = SKIP
3916 D3D9 : dEQP-EGL.functional.sharing.gles2.multithread.* = SKIP
3916 D3D9 : dEQP-EGL.functional.multithread.* = SKIP
3916 D3D9 : dEQP-EGL.functional.render.multi_thread.* = SKIP
3916 D3D9 : dEQP-EGL.functional.color_clears.multi_thread.* = SKIP

// Seems to time out on Linux.
4031916 VULKAN : dEQP-EGL.functional.multithread.* = SKIP

// These tests require pixmap surfaces. On many platforms they are unsupported.
3917 ANDROID VULKAN : dEQP-EGL.functional.render.multi_thread.* = FAIL
3917 ANDROID VULKAN : dEQP-EGL.functional.color_clears.multi_thread.* = FAIL

// dEQP doesn't handle configs created for extensions
1662 WIN : dEQP-EGL.functional.color_clears.single_context.gles2.other = FAIL
1662 WIN : dEQP-EGL.functional.color_clears.single_context.gles3.other = FAIL
1662 WIN : dEQP-EGL.functional.color_clears.multi_context.gles2.other = FAIL
1662 WIN : dEQP-EGL.functional.color_clears.multi_context.gles3.other = FAIL
1662 WIN : dEQP-EGL.functional.render.single_context.gles2.other = FAIL
1662 WIN : dEQP-EGL.functional.render.single_context.gles3.other = FAIL
1662 WIN : dEQP-EGL.functional.render.multi_context.gles2.other = FAIL
1662 WIN : dEQP-EGL.functional.render.multi_context.gles3.other = FAIL
1662 WIN : dEQP-EGL.functional.render.multi_context.gles2_gles3.other = FAIL
1662 WIN : dEQP-EGL.functional.native_coord_mapping.native_window.other_clear = FAIL
1662 WIN : dEQP-EGL.functional.native_coord_mapping.native_window.other_render = FAIL
1662 WIN : dEQP-EGL.functional.query_context.get_current_context.other = FAIL
1662 WIN : dEQP-EGL.functional.query_context.get_current_surface.other = FAIL
1662 WIN : dEQP-EGL.functional.query_context.get_current_display.other = FAIL
1662 WIN : dEQP-EGL.functional.query_context.query_context.other = FAIL
1662 WIN : dEQP-EGL.functional.native_color_mapping.native_window.other_clear = SKIP
1662 WIN : dEQP-EGL.functional.native_color_mapping.native_window.other_render = SKIP

// Intentionally causes TDRs that eventually blacklist the application
2319 : dEQP-EGL.functional.robustness.reset_context.shaders.infinite_loop.* = SKIP

////////////////////////////////////////////////////////////////////////////////
//
//  Temprory entries: they should be removed once the bugs are fixed.
//
////////////////////////////////////////////////////////////////////////////////

// Flaky since we enabled depth/stencil backbuffer in all tests.
2429 WIN NVIDIA : dEQP-EGL.functional.query_context.query_context.rgba8888_window = FAIL

// TODO(jmadill): Triage these into permananent and temporary failures.
1340 WIN : dEQP-EGL.functional.query_config.get_configs.get_configs_bounds = FAIL
3270 WIN : dEQP-EGL.functional.choose_config.simple.selection_only.config_id = FAIL
3270 WIN : dEQP-EGL.functional.choose_config.simple.selection_and_sort.config_id = FAIL
1340 WIN : dEQP-EGL.functional.render.single_context.gles2.rgba5551_window = FAIL
1340 WIN : dEQP-EGL.functional.render.single_context.gles2.rgba5551_pbuffer = FAIL
1340 WIN : dEQP-EGL.functional.render.single_context.gles3.rgba5551_window = FAIL
1340 WIN : dEQP-EGL.functional.render.single_context.gles3.rgba5551_pbuffer = FAIL
1340 WIN : dEQP-EGL.functional.render.multi_context.gles2.rgba5551_window = FAIL
1340 WIN : dEQP-EGL.functional.render.multi_context.gles2.rgba5551_pbuffer = FAIL
1340 WIN : dEQP-EGL.functional.render.multi_context.gles3.rgba5551_window = FAIL
1340 WIN : dEQP-EGL.functional.render.multi_context.gles3.rgba5551_pbuffer = FAIL
1340 WIN : dEQP-EGL.functional.render.multi_context.gles2_gles3.rgba5551_window = FAIL
1340 WIN : dEQP-EGL.functional.render.multi_context.gles2_gles3.rgba5551_pbuffer = FAIL
1340 WIN : dEQP-EGL.functional.negative_api.choose_config = SKIP
1340 WIN : dEQP-EGL.functional.negative_api.surface_attrib = SKIP
1340 WIN : dEQP-EGL.functional.negative_api.swap_interval = FAIL
2382 WIN : dEQP-EGL.functional.native_color_mapping.native_window.* = SKIP
1340 WIN : dEQP-EGL.functional.native_coord_mapping.native_window.* = FAIL
2716 WIN : dEQP-EGL.functional.preserve_swap.preserve.no_read_before_swap.* = SKIP
2716 WIN : dEQP-EGL.functional.preserve_swap.preserve.read_before_swap.* = SKIP
1340 WIN : dEQP-EGL.functional.resize.back_buffer.* = SKIP
1340 WIN : dEQP-EGL.functional.resize.pixel_density.* = SKIP

// Windows OpenGL failures
2546 WIN : dEQP-EGL.functional.query_surface.simple.pbuffer.rgba8888_depth_stencil = FAIL
2546 WIN : dEQP-EGL.functional.thread_cleanup.* = SKIP

// Windows Vulkan failures
2635 WIN VULKAN : dEQP-EGL.functional.multicontext.non_shared_clear = FAIL
2635 WIN VULKAN : dEQP-EGL.functional.multicontext.non_shared_make_current = FAIL
2635 WIN VULKAN : dEQP-EGL.functional.multicontext.shared_clear = FAIL
2635 WIN VULKAN : dEQP-EGL.functional.multicontext.shared_make_current = FAIL
2635 WIN VULKAN : dEQP-EGL.functional.query_surface.set_attribute.pbuffer.rgba8888_depth_stencil = FAIL
2635 WIN VULKAN : dEQP-EGL.functional.query_surface.set_attribute.pbuffer.rgba8888_no_depth_no_stencil = FAIL
2715 WIN VULKAN : dEQP-EGL.functional.query_surface.simple.pbuffer.rgb888_depth_no_stencil = FAIL
2715 WIN VULKAN : dEQP-EGL.functional.query_surface.simple.pbuffer.rgb888_depth_stencil = FAIL
2715 WIN VULKAN : dEQP-EGL.functional.query_surface.simple.pbuffer.rgb888_no_depth_no_stencil = FAIL
2715 WIN VULKAN : dEQP-EGL.functional.query_surface.simple.pbuffer.rgba8888_depth_no_stencil = FAIL
2715 WIN VULKAN : dEQP-EGL.functional.query_surface.simple.pbuffer.rgba8888_no_depth_no_stencil = FAIL
2716 WIN VULKAN : dEQP-EGL.functional.preserve_swap.no_preserve.* = FAIL

// Linux failures
2546 LINUX : dEQP-EGL.functional.negative_api.copy_buffers = SKIP
2546 LINUX : dEQP-EGL.functional.render.multi_context.* = SKIP
2546 LINUX : dEQP-EGL.functional.thread_cleanup.* = SKIP
2546 LINUX : dEQP-EGL.functional.native_color_mapping.native_window.* = FAIL
2546 LINUX : dEQP-EGL.functional.native_coord_mapping.native_window.* = FAIL
2546 LINUX : dEQP-EGL.functional.negative_api.choose_config = FAIL
2546 LINUX : dEQP-EGL.functional.negative_api.swap_interval = FAIL
2546 LINUX : dEQP-EGL.functional.query_surface.simple.pbuffer.rgba8888_depth_stencil = FAIL
2546 LINUX : dEQP-EGL.functional.query_surface.simple.pbuffer.rgba8888_no_depth_no_stencil = FAIL

// Linux Vulkan failures
2635 LINUX VULKAN : dEQP-EGL.functional.query_surface.set_attribute.pbuffer.rgba8888_depth_stencil = FAIL
2635 LINUX VULKAN : dEQP-EGL.functional.query_surface.set_attribute.pbuffer.rgba8888_no_depth_no_stencil = FAIL
2715 LINUX VULKAN : dEQP-EGL.functional.query_surface.simple.pbuffer.rgb888_depth_stencil = FAIL
2715 LINUX VULKAN : dEQP-EGL.functional.query_surface.simple.pbuffer.rgb888_no_depth_no_stencil = FAIL
2716 LINUX VULKAN : dEQP-EGL.functional.preserve_swap.no_preserve.* = FAIL

// Mac failures
2546 MAC : dEQP-EGL.functional.native_color_mapping.native_window.* = FAIL
2546 MAC : dEQP-EGL.functional.native_coord_mapping.native_window.* = FAIL
2546 MAC : dEQP-EGL.functional.negative_api.choose_config = FAIL
2546 MAC : dEQP-EGL.functional.negative_api.copy_buffers = FAIL
2546 MAC : dEQP-EGL.functional.negative_api.swap_interval = FAIL
2546 MAC : dEQP-EGL.functional.query_surface.simple.pbuffer.rgba8888_depth_stencil = FAIL
2546 MAC : dEQP-EGL.functional.thread_cleanup.* = SKIP

// Android GLES-only failues
2567 ANDROID GLES : dEQP-EGL.functional.image.api.create_image_gles2_tex2d_red = FAIL
2567 ANDROID GLES : dEQP-EGL.functional.image.api.create_image_gles2_tex2d_rg = FAIL
2716 ANDROID GLES : dEQP-EGL.functional.preserve_swap.preserve.* = FAIL

// Android failures
2546 ANDROID : dEQP-EGL.functional.buffer_age.* = FAIL
3270 ANDROID : dEQP-EGL.functional.choose_config.simple.selection_only.transparent_red_value = FAIL
3270 ANDROID : dEQP-EGL.functional.choose_config.simple.selection_only.transparent_green_value = FAIL
3270 ANDROID : dEQP-EGL.functional.choose_config.simple.selection_only.transparent_blue_value = FAIL
3270 ANDROID : dEQP-EGL.functional.choose_config.simple.selection_and_sort.transparent_red_value = FAIL
3270 ANDROID : dEQP-EGL.functional.choose_config.simple.selection_and_sort.transparent_green_value = FAIL
3270 ANDROID : dEQP-EGL.functional.choose_config.simple.selection_and_sort.transparent_blue_value = FAIL
2546 ANDROID : dEQP-EGL.functional.color_clears.multi_context.* = SKIP
2546 ANDROID : dEQP-EGL.functional.color_clears.single_context.* = SKIP
2546 ANDROID : dEQP-EGL.functional.native_color_mapping.native_window.* = SKIP
2546 ANDROID : dEQP-EGL.functional.native_coord_mapping.native_window.* = SKIP
2546 ANDROID : dEQP-EGL.functional.negative_api.copy_buffers = FAIL
2546 ANDROID : dEQP-EGL.functional.partial_update.odd_clear_* = FAIL
2546 ANDROID : dEQP-EGL.functional.partial_update.odd_render_* = FAIL
2546 ANDROID : dEQP-EGL.functional.partial_update.render_* = FAIL
2546 ANDROID : dEQP-EGL.functional.render.multi_context.* = SKIP
2546 ANDROID : dEQP-EGL.functional.render.single_context.* = SKIP
2546 ANDROID : dEQP-EGL.functional.thread_cleanup.multi_context_* = SKIP
2546 ANDROID : dEQP-EGL.functional.thread_cleanup.single_context_* = FAIL

// Vulkan
3081 VULKAN : dEQP-EGL.functional.image.create.gles2_renderbuffer_depth16_depth_buffer = SKIP
3081 VULKAN : dEQP-EGL.functional.image.create.gles2_renderbuffer_stencil_stencil_buffer = SKIP
3081 VULKAN : dEQP-EGL.functional.image.modify.renderbuffer_depth16_renderbuffer_clear_depth = SKIP
3081 VULKAN : dEQP-EGL.functional.image.modify.renderbuffer_stencil_renderbuffer_clear_stencil = SKIP
3081 VULKAN : dEQP-EGL.functional.image.render_multiple_contexts.gles2_renderbuffer_depth16_depth_buffer = SKIP
3081 VULKAN : dEQP-EGL.functional.image.render_multiple_contexts.gles2_renderbuffer_stencil_stencil_buffer = SKIP

// Android Vulkan
2546 ANDROID VULKAN : dEQP-EGL.functional.create_surface.window.other = SKIP
2546 ANDROID VULKAN : dEQP-EGL.functional.query_context.get_current_surface.other = SKIP
2546 ANDROID VULKAN : dEQP-EGL.functional.query_surface.set_attribute.window.other = SKIP
2546 ANDROID VULKAN : dEQP-EGL.functional.query_surface.simple.window.other = SKIP
2546 ANDROID VULKAN : dEQP-EGL.functional.resize.pixel_density.* = SKIP

// Robustness failures on multiple platforms
3711 : dEQP-EGL.functional.robustness.reset_context.shaders.out_of_bounds.reset_status.reads.* = FAIL
3711 : dEQP-EGL.functional.robustness.reset_context.shaders.out_of_bounds.reset_status.writes.* = FAIL

// ES 1 tests
2306 WIN : dEQP-EGL.functional.color_clears.single_context.gles1* = FAIL
2306 WIN : dEQP-EGL.functional.color_clears.multi_context.gles1* = FAIL
2306 MAC : dEQP-EGL.functional.color_clears.single_context.gles1* = FAIL
2306 MAC : dEQP-EGL.functional.color_clears.multi_context.gles1* = FAIL
2306 LINUX : dEQP-EGL.functional.color_clears.single_context.gles1* = FAIL
2306 LINUX : dEQP-EGL.functional.color_clears.multi_context.gles1* = FAIL

// Tests failing since the Jan 2018 roll of dEQP
2341 : dEQP-EGL.functional.swap_buffers.* = SKIP
2330 : dEQP-EGL.functional.robustness.create_context.no_reset_notification = SKIP
2330 : dEQP-EGL.functional.robustness.create_context.lose_context_on_reset = SKIP
2330 : dEQP-EGL.functional.robustness.reset_context.fixed_function_pipeline.reset_status.index_buffer_out_of_bounds = SKIP
2330 : dEQP-EGL.functional.robustness.reset_context.fixed_function_pipeline.reset_status.vertex_buffer_out_of_bounds = SKIP

// Tests were being hidden by flakiness (anglebug.com/3271)
3325 : dEQP-EGL.functional.fence_sync.* = SKIP
3325 : dEQP-EGL.functional.reusable_sync.* = SKIP

// Nexus 5x
2546 NEXUS5X : dEQP-EGL.functional.query_context.get_current_context.* = SKIP
2546 NEXUS5X : dEQP-EGL.functional.query_context.get_current_display.* = SKIP
2546 NEXUS5X : dEQP-EGL.functional.query_context.get_current_surface.r* = FAIL
2546 NEXUS5X : dEQP-EGL.functional.query_context.query_context.* = SKIP

// SwANGLE bots
4495 WIN SWIFTSHADER : dEQP-EGL.functional.sharing.gles2.multithread.random_egl_server_sync.shaders.compile.9 = SKIP

// EGL images with the GL back-ends are not supported
4606 OPENGL : dEQP-EGL.functional.image.api.create_image_gles2_* = FAIL
4606 GLES : dEQP-EGL.functional.image.api.create_image_gles2_* = FAIL
