1# dEQP Support 2 3ANGLE integrates dEQP (i.e. the OpenGL CTS) for conformance testing. It uses gtest to run tests, 4and provides the means for dEQP to use ANGLE. 5 6## Overriding dEQP files 7 8Occasionally, ANGLE overrides certain dEQP files by copying them to this directory, adding the 9`_override` suffix, and modifying them. `deqp.gni` is used to select these override files to be 10built with dEQP instead of the original files. 11 12This is primarily done to fix tests until they are fixed upstream. 13 14## Expectation files format 15 16For every set of dEQP tests, for example GLES3 tests on the Vulkan backend, an expectations file 17exists to let the test harness know which tests it should skip (as they are known to crash), or 18expect to see failed. Warnings are generated if a test unexpectedly passes, but an unexpected 19failure is an error. This let's ANGLE ensure there are no regressions. 20 21While developing a feature, or testing on a new platform, the expectations files can be modified to 22reflect the reality of the situation. The expected format for every line in these files is: 23 24 {BUG#} {MODIFIERS} : {TEST_NAME} = {PASS,FAIL,FLAKY,TIMEOUT,SKIP} 25 26`MODIFIERS` can be a combination of the below list, combined with a logical AND: 27 28 WIN XP VISTA WIN7 WIN8 WIN10 29 MAC LEOPARD SNOWLEOPARD LION MOUNTAINLION MAVERICKS YOSEMITE ELCAPITAN SIERRA HIGHSIERRA MOJAVE 30 LINUX CHROMEOS ANDROID 31 NVIDIA AMD INTEL 32 DEBUG RELEASE 33 D3D9 D3D11 OPENGL GLES VULKAN 34 NEXUS5X PIXEL2ORXL 35 QUADROP400 36 SWIFTSHADER 37 PREROTATION PREROTATION90 PREROTATION180 PREROTATION270 38 39`TEST_NAME` can be a specific test name, or set of test names using `'*'` as wildcard anywhere in 40the name. Examples: 41 42 // Disabled everywhere as is too slow: 43 3445 : dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer.48 = SKIP 44 45 // Crashes on both D3D11 and OPENGL: 46 1442 OPENGL : dEQP-GLES31.functional.separate_shader.* = SKIP 47 1442 D3D11 : dEQP-GLES31.functional.separate_shader.* = SKIP 48 49 // Unsupported feature: 50 3726 VULKAN ANDROID : dEQP-GLES31.functional.synchronization.inter_call.without_memory_barrier.*atomic_counter* = FAIL 51 52 // Failing test in Nvidia's OpenGL implementation on windows: 53 1665 WIN NVIDIA OPENGL : dEQP-GLES31.functional.draw_indirect.negative.command_offset_not_in_buffer_unsigned32_wrap = FAIL 54 55 // Failing when emulated pre-rotation is enabled, no matter which angle: 56 1234 PREROTATION : dEQP-GLES3.*blit* = FAIL 57 58 // Failing when emulated pre-rotation is enabled with 270 degree angle: 59 1234 PREROTATION270 : dEQP-GLES3.*blit* = FAIL 60