// Copyright (c) 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// This file contains a list of defective GLES2 conformance tests. The expected
// format is:
//  {BUG#} {MODIFIERS} : {TEST_NAME} = {PASS,FAIL,FLAKY,TIMEOUT,SKIP}
//
// MODIFIERS can be a combination of the below list:
//  WIN XP VISTA WIN7 MAC LEOPARD SNOWLEOPARD LION LINUX CHROMEOS MOUNTAINLION
//  MAVERICKS
//  NVIDIA AMD INTEL
//  0x**** (this is a gpu's PCI device ID)
//  DEBUG RELEASE
//
// TEST_NAME can be a specific test name, or have a '*' in the end, which
// indicates a prefix matching.
//
// Any tests whose expectations are not PASS will be skipped on the bots.
//
// Examples:
//  91530 MAC WIN LINUX : context_lost_restored = TIMEOUT
//  91533 WIN : gl_min_uniforms = FAIL
//  91531 MAC WIN LINUX : conformance_more_* = SKIP
//  91532 MAC NVIDIA 0x0640 : tex_image_and_sub_image_2d_with_video = PASS FAIL

253674 LION INTEL : GL2ExtensionTests_dFdy_input_run = FAIL
253674 LION INTEL : GL2FixedTests_point_sprites_input_run = FAIL
253674 LION INTEL : GL_control_flow_input_run = FAIL
253674 LION INTEL : GL_dot_input_run = FAIL
253674 LION INTEL : GL_faceforward_input_run = FAIL
253674 LION INTEL : GL_length_input_run = FAIL
253674 LION INTEL : GL_normalize_input_run = FAIL
253674 LION INTEL : GL_reflect_input_run = FAIL
253674 LION INTEL : GL_refract_input_run = FAIL
253674 LION INTEL : GL_tan_input_run = FAIL

253674 LION AMD : GL2FixedTests_point_sprites_input_run = FAIL
253674 LION AMD : GL_dot_input_run = FAIL
253674 LION AMD : GL_length_input_run = FAIL

// See also crbug.com/306485 for non-Lion instances.
253674 MAC AMD : GL_distance_input_run = FAIL

253674 MOUNTAINLION AMD : GL2ExtensionTests_dFdy_input_run = FAIL
253674 MOUNTAINLION AMD : GL2FixedTests_point_sprites_input_run = FAIL
253674 MOUNTAINLION AMD : GL_control_flow_input_run = FAIL
253674 MOUNTAINLION AMD : GL_operators_input_run = FAIL

253674 MOUNTAINLION INTEL : GL2ExtensionTests_dFdy_input_run = FAIL
253674 MOUNTAINLION INTEL : GL2FixedTests_point_sprites_input_run = FAIL
253674 MOUNTAINLION INTEL : GL_control_flow_input_run = FAIL
253674 MOUNTAINLION INTEL : GL_operators_input_run = FAIL

339911 MOUNTAINLION INTEL : GL2FixedTests_blend_input_run = FAIL

253674 MAC : GL2Tests_glUniform_input_run = FAIL
253674 MAC : GL2Tests_three_uniforms_input_run = FAIL

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

