Switch from Android dEQP to Khronos GL CTS.
We now mirror from the public Khronos Github
github.com/KhronosGroup/VK-GL-CTS
This includes a number of text fixes for GLES 2.0 conformance.

Bug: angleproject:3914
Bug: angleproject:1656
Change-Id: I4cccd33e47752742cb989127c5883c0afd075b9e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1879579
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
This commit is contained in:
Courtney Goeltzenleuchter 2019-10-28 10:54:03 -06:00 коммит произвёл Commit Bot
Родитель 287b0a670f
Коммит febdcf511c
10 изменённых файлов: 40 добавлений и 45 удалений

2
.gitignore поставляемый
Просмотреть файл

@ -27,7 +27,6 @@
/src/tests/third_party/gles_conformance_tests /src/tests/third_party/gles_conformance_tests
/testing /testing
/third_party/cherry /third_party/cherry
/third_party/deqp/src
/third_party/fuchsia-sdk /third_party/fuchsia-sdk
/third_party/gles1_conform /third_party/gles1_conform
/third_party/glmark2/src /third_party/glmark2/src
@ -44,6 +43,7 @@
/third_party/spirv-headers/src /third_party/spirv-headers/src
/third_party/spirv-tools/src /third_party/spirv-tools/src
/third_party/SwiftShader /third_party/SwiftShader
/third_party/VK-GL-CTS/src
/third_party/vulkan-headers/src /third_party/vulkan-headers/src
/third_party/vulkan-loader/src /third_party/vulkan-loader/src
/third_party/vulkan-tools/src /third_party/vulkan-tools/src

10
DEPS
Просмотреть файл

@ -23,8 +23,8 @@ vars = {
# Version of Chromium our Chromium-based DEPS are mirrored from. # Version of Chromium our Chromium-based DEPS are mirrored from.
'chromium_revision': '5fe256ab5e5eb3d73d23ab52c69ba113145d921b', 'chromium_revision': '5fe256ab5e5eb3d73d23ab52c69ba113145d921b',
# Current revision of dEQP. # Current revision of VK-GL-CTS (a.k.a dEQP).
'deqp_revision': 'd3eef28e67ce6795ba3a2124aaa977819729d45f', 'vk_gl_cts_revision': '54ec6f2b1390bf33ea10424dca610f8bcbfefa06',
# Current revision of glslang, the Khronos SPIRV compiler. # Current revision of glslang, the Khronos SPIRV compiler.
'glslang_revision': 'b131630e7c749a5dc19faa458024260c71fb170f', 'glslang_revision': 'b131630e7c749a5dc19faa458024260c71fb170f',
@ -77,14 +77,14 @@ deps = {
'condition': 'not build_with_chromium', 'condition': 'not build_with_chromium',
}, },
# Cherry is a dEQP management GUI written in Go. We use it for viewing test results. # Cherry is a dEQP/VK-GL-CTS management GUI written in Go. We use it for viewing test results.
'third_party/cherry': { 'third_party/cherry': {
'url': '{android_git}/platform/external/cherry@4f8fb08d33ca5ff05a1c638f04c85bbb8d8b52cc', 'url': '{android_git}/platform/external/cherry@4f8fb08d33ca5ff05a1c638f04c85bbb8d8b52cc',
'condition': 'not build_with_chromium', 'condition': 'not build_with_chromium',
}, },
'third_party/deqp/src': { 'third_party/VK-GL-CTS/src': {
'url': '{chromium_git}/external/deqp@{deqp_revision}', 'url': '{chromium_git}/external/github.com/KhronosGroup/VK-GL-CTS@{vk_gl_cts_revision}',
}, },
'third_party/fuchsia-sdk': { 'third_party/fuchsia-sdk': {

Просмотреть файл

@ -256,6 +256,7 @@ if (is_win || is_linux || is_android || is_mac || is_fuchsia) {
"${angle_root}:angle_system_utils", "${angle_root}:angle_system_utils",
"${angle_root}:angle_util", "${angle_root}:angle_util",
"${angle_root}:angle_util_loader_headers", "${angle_root}:angle_util_loader_headers",
"${angle_spirv_tools_dir}:spvtools_val",
] ]
data_deps = [ data_deps = [
@ -575,6 +576,7 @@ if (build_angle_deqp_tests && !is_fuchsia) {
"-Wno-string-conversion", # implicit conversion turns string literal into bool "-Wno-string-conversion", # implicit conversion turns string literal into bool
"-Wno-unused-local-typedef", "-Wno-unused-local-typedef",
"-Wno-unused-result", # ignoring return value of function declared with 'nodiscard' attribute "-Wno-unused-result", # ignoring return value of function declared with 'nodiscard' attribute
"-Wno-unused-function",
] ]
} }
@ -948,6 +950,8 @@ if (build_angle_deqp_tests && !is_fuchsia) {
public_deps = [ public_deps = [
":angle_deqp_framework_egl", ":angle_deqp_framework_egl",
":angle_deqp_glshared", ":angle_deqp_glshared",
"${angle_glslang_dir}:glslang_sources",
"${angle_spirv_tools_dir}:spvtools_val",
] ]
public_configs = [ ":angle_deqp_khr_common_config" ] public_configs = [ ":angle_deqp_khr_common_config" ]

Просмотреть файл

@ -2,7 +2,8 @@
# Use of this source code is governed by a BSD-style license that can be # Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file. # found in the LICENSE file.
deqp_path = "../../third_party/deqp/src" import("../../gni/angle.gni")
deqp_path = "../../third_party/VK-GL-CTS/src"
deqp_include_dirs = [ deqp_include_dirs = [
"$deqp_path/executor", "$deqp_path/executor",
@ -24,6 +25,8 @@ deqp_include_dirs = [
"$deqp_path/modules/gles31/functional", "$deqp_path/modules/gles31/functional",
"$deqp_path/modules/gles31/stress", "$deqp_path/modules/gles31/stress",
"$deqp_path/modules/glusecases", "$deqp_path/modules/glusecases",
"${angle_glslang_dir}",
"${angle_spirv_tools_dir}",
] ]
deqp_gles2_sources = [ deqp_gles2_sources = [
@ -49,6 +52,8 @@ deqp_gles2_sources = [
"$deqp_path/modules/gles2/functional/es2fBufferTestUtil.hpp", "$deqp_path/modules/gles2/functional/es2fBufferTestUtil.hpp",
"$deqp_path/modules/gles2/functional/es2fBufferWriteTests.cpp", "$deqp_path/modules/gles2/functional/es2fBufferWriteTests.cpp",
"$deqp_path/modules/gles2/functional/es2fBufferWriteTests.hpp", "$deqp_path/modules/gles2/functional/es2fBufferWriteTests.hpp",
"$deqp_path/modules/gles2/functional/es2fClipControlTests.cpp",
"$deqp_path/modules/gles2/functional/es2fClipControlTests.hpp",
"$deqp_path/modules/gles2/functional/es2fClippingTests.cpp", "$deqp_path/modules/gles2/functional/es2fClippingTests.cpp",
"$deqp_path/modules/gles2/functional/es2fClippingTests.hpp", "$deqp_path/modules/gles2/functional/es2fClippingTests.hpp",
"$deqp_path/modules/gles2/functional/es2fColorClearTest.cpp", "$deqp_path/modules/gles2/functional/es2fColorClearTest.cpp",
@ -976,6 +981,7 @@ deqp_khr_test_module_headers = [
"$deqp_path/external/openglcts/modules/glesext/texture_border_clamp/esextcTextureBorderClampTests.hpp", "$deqp_path/external/openglcts/modules/glesext/texture_border_clamp/esextcTextureBorderClampTests.hpp",
"$deqp_path/external/openglcts/modules/glesext/texture_buffer/esextcTextureBufferTests.hpp", "$deqp_path/external/openglcts/modules/glesext/texture_buffer/esextcTextureBufferTests.hpp",
"$deqp_path/external/openglcts/modules/glesext/texture_cube_map_array/esextcTextureCubeMapArrayTests.hpp", "$deqp_path/external/openglcts/modules/glesext/texture_cube_map_array/esextcTextureCubeMapArrayTests.hpp",
"$deqp_path/external/openglcts/modules/glesext/texture_shadow_lod/esextcTextureShadowLodFunctionsTest.hpp",
"$deqp_path/external/openglcts/modules/glesext/draw_buffers_indexed/esextcDrawBuffersIndexedTests.hpp", "$deqp_path/external/openglcts/modules/glesext/draw_buffers_indexed/esextcDrawBuffersIndexedTests.hpp",
"$deqp_path/modules/gles2/tes2Context.hpp", "$deqp_path/modules/gles2/tes2Context.hpp",
"$deqp_path/modules/gles2/tes2TestPackage.hpp", "$deqp_path/modules/gles2/tes2TestPackage.hpp",
@ -1365,6 +1371,7 @@ deqp_khr_glesext_sources = [
"$deqp_path/external/openglcts/modules/glesext/texture_cube_map_array/esextcTextureCubeMapArrayTests.cpp", "$deqp_path/external/openglcts/modules/glesext/texture_cube_map_array/esextcTextureCubeMapArrayTests.cpp",
"$deqp_path/external/openglcts/modules/glesext/texture_cube_map_array/esextcTextureCubeMapArrayTex3DValidation.cpp", "$deqp_path/external/openglcts/modules/glesext/texture_cube_map_array/esextcTextureCubeMapArrayTex3DValidation.cpp",
"$deqp_path/external/openglcts/modules/glesext/texture_cube_map_array/esextcTextureCubeMapArrayTex3DValidation.hpp", "$deqp_path/external/openglcts/modules/glesext/texture_cube_map_array/esextcTextureCubeMapArrayTex3DValidation.hpp",
"$deqp_path/external/openglcts/modules/glesext/texture_shadow_lod/esextcTextureShadowLodFunctionsTest.cpp",
] ]
deqp_framework_debase_sources = [ deqp_framework_debase_sources = [

Просмотреть файл

@ -58,9 +58,9 @@ std::string DrawElementsToGoogleTestName(const std::string &dEQPName)
} }
const char *gCaseListSearchPaths[] = { const char *gCaseListSearchPaths[] = {
"/../../sdcard/chromium_tests_root/third_party/angle/third_party/deqp/src", "/../../sdcard/chromium_tests_root/third_party/angle/third_party/VK-GL-CTS/src",
"/../../third_party/deqp/src", "/../../third_party/VK-GL-CTS/src",
"/../../third_party/angle/third_party/deqp/src", "/../../third_party/angle/third_party/VK-GL-CTS/src",
}; };
const char *gTestExpectationsSearchPaths[] = { const char *gTestExpectationsSearchPaths[] = {

Просмотреть файл

@ -38,10 +38,10 @@ tcu::RandomOrderExecutor *g_executor = nullptr;
const char *kDataPaths[] = { const char *kDataPaths[] = {
".", ".",
"../../sdcard/chromium_tests_root", "../../sdcard/chromium_tests_root",
"../../sdcard/chromium_tests_root/third_party/angle/third_party/deqp/src", "../../sdcard/chromium_tests_root/third_party/angle/third_party/VK-GL-CTS/src",
"../../third_party/angle/third_party/deqp/src", "../../third_party/angle/third_party/VK-GL-CTS/src",
"../../third_party/deqp/src", "../../third_party/VK-GL-CTS/src",
"third_party/deqp/src", "third_party/VK-GL-CTS/src",
}; };
bool FindDataDir(std::string *dataDirOut) bool FindDataDir(std::string *dataDirOut)

Просмотреть файл

@ -69,11 +69,6 @@
// //
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// dEQP bugs
1028 : dEQP-GLES2.functional.fbo.completeness.renderable.texture.color0.srgb8 = FAIL
1028 : dEQP-GLES2.functional.fbo.completeness.renderable.texture.stencil.srgb8 = FAIL
1028 : dEQP-GLES2.functional.fbo.completeness.renderable.texture.depth.srgb8 = FAIL
// Vertex attribute aliasing is not supported on D3D // Vertex attribute aliasing is not supported on D3D
3467 D3D9 : dEQP-GLES2.functional.attribute_location.bind_aliasing.cond* = FAIL 3467 D3D9 : dEQP-GLES2.functional.attribute_location.bind_aliasing.cond* = FAIL
3467 D3D9 : dEQP-GLES2.functional.attribute_location.bind_aliasing.max_cond* = FAIL 3467 D3D9 : dEQP-GLES2.functional.attribute_location.bind_aliasing.max_cond* = FAIL

Просмотреть файл

@ -31,16 +31,3 @@
// Depth/stencil related failures. // Depth/stencil related failures.
3457 VULKAN : KHR-GLES2.core.internalformat.texture2d.depth_stencil_unsigned_int_24_8_depth_stencil = FAIL 3457 VULKAN : KHR-GLES2.core.internalformat.texture2d.depth_stencil_unsigned_int_24_8_depth_stencil = FAIL
// Test bug, use of sized internal format. Passes with patch from bug.
3797 VULKAN : KHR-GLES2.texture_3d.framebuffer_texture.rgba8 = SKIP
// GL_RGBA8 is not supported in GLES2
// GL_OES_rgb8_rgba8 only enables GL_RGBA8 for render buffers (not textures)
3797 VULKAN : KHR-GLES2.texture_3d.copy_sub_image.rgba8 = FAIL
// Bug in dEQP uses an incorrect enum (GL_HALF_FLOAT instead of GL_HALF_FLOAT_OES)
3451 : KHR-GLES2.core.internalformat.texture2d.rgb_half_float_rgb16f = FAIL
3451 : KHR-GLES2.core.internalformat.texture2d.rgba_half_float_rgba16f = FAIL
3451 : KHR-GLES2.core.internalformat.texture2d.rgb_half_float_rgb16f_linear = FAIL
3451 : KHR-GLES2.core.internalformat.texture2d.rgba_half_float_rgba16f_linear = FAIL

15
third_party/VK-GL-CTS/README.angle поставляемый Normal file
Просмотреть файл

@ -0,0 +1,15 @@
Name: Khronos dEQP / CTS
Short Name: VK-GL-CTS
Version: 1.0
URL: https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS
SOURCE CODE: git clone -b VK-GL-CTS https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS
Date: 20/06/2016
Revision: f4f3d8079e7a37d7675ab93583e6438d0bca0e58
Security Critical: no
License: Apache 2.0
License File: LICENSE
Description:
VK-GL-CTS (formally dEQP) is a set of tests and testing tools for GPUs and their drivers. It
currently supports OpenGL ES 2.0 - 3.1 & AEP, EGL and Vulkan (though ANGLE only uses the GLES
pieces). The dEQP has been part of the Android CTS since the L release.

13
third_party/deqp/README.angle поставляемый
Просмотреть файл

@ -1,13 +0,0 @@
Name: drawElements Quality Program
Short Name: dEQP
Version: 1.0
URL: https://source.android.com/devices/graphics/testing.html
SOURCE CODE: git clone -b deqp-dev https://android.googlesource.com/platform/external/deqp/
Date: 20/06/2016
Revision: f4f3d8079e7a37d7675ab93583e6438d0bca0e58
Security Critical: no
License: Apache 2.0
License File: LICENSE
Description:
dEQP is a set of tests and testing tools for GPUs and their drivers. It currently supports OpenGL ES 2.0 - 3.1 & AEP and EGL. The dEQP has been part of the Android CTS since the L release.