Commit aba14ff5 by Geoff Lang Committed by Commit Bot

Add GLES1 conformance tests.

BUG=angleproject:2303 Change-Id: I5955485e2392c573125bd8785ece103a9607f7d1 Reviewed-on: https://chromium-review.googlesource.com/867311 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Reviewed-by: 's avatarLingfeng Yang <lfy@google.com>
parent 2d8e432a
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
/testing /testing
/third_party/cherry /third_party/cherry
/third_party/deqp/src /third_party/deqp/src
/third_party/gles1_conform
/third_party/glslang-angle/src /third_party/glslang-angle/src
/third_party/googletest/src /third_party/googletest/src
/third_party/gyp /third_party/gyp
......
...@@ -17,6 +17,7 @@ unittests_gypi = exec_script("//build/gypi_to_gn.py", ...@@ -17,6 +17,7 @@ unittests_gypi = exec_script("//build/gypi_to_gn.py",
declare_args() { declare_args() {
# Don't build dEQP by default. # Don't build dEQP by default.
build_angle_deqp_tests = false build_angle_deqp_tests = false
build_angle_gles1_conform_tests = false
} }
if (build_with_chromium) { if (build_with_chromium) {
...@@ -81,6 +82,9 @@ if (build_with_chromium) { ...@@ -81,6 +82,9 @@ if (build_with_chromium) {
"//src/tests:angle_deqp_gles3_tests", "//src/tests:angle_deqp_gles3_tests",
] ]
} }
if (build_angle_gles1_conform_tests) {
deps += [ "//src/tests:angle_gles1_conformance_tests" ]
}
} }
} }
...@@ -276,6 +280,212 @@ if (is_win || is_linux || is_android || is_mac) { ...@@ -276,6 +280,212 @@ if (is_win || is_linux || is_android || is_mac) {
} }
###----------------------------------------------------- ###-----------------------------------------------------
### ES 1 conformance tests
###-----------------------------------------------------
if (build_angle_gles1_conform_tests) {
gles1_conform_root = "//third_party/gles1_conform"
config("angle_gles1_conform_support") {
include_dirs = [
"$gles1_conform_root",
"$gles1_conform_root/conform/conform",
"$gles1_conform_root/conform/conformshell",
"$gles1_conform_root/ctk",
"$gles1_conform_root/fixed",
"$gles1_conform_root/include",
"$gles1_conform_root/platform",
]
defines = [
"COMMON",
"CONFORM_ALTERNATE_MAIN",
"NULLWS",
]
cflags = []
if (is_clang) {
# Remove when crbug.com/428099 is resolved.
cflags += [
"-Wno-implicit-function-declaration",
"-Wno-self-assign",
"-Wno-sign-compare",
"-Wno-unused-const-variable",
"-Wno-unused-variable",
"-Wno-int-to-pointer-cast",
]
}
}
static_library("angle_gles1_conformance_no_gtest") {
configs += [ ":angle_gles1_conform_support" ]
sources = [
"$gles1_conform_root/conform/conform/apfunc.c",
"$gles1_conform_root/conform/conform/appl.c",
"$gles1_conform_root/conform/conform/bclear.c",
"$gles1_conform_root/conform/conform/bcolor.c",
"$gles1_conform_root/conform/conform/bcorner.c",
"$gles1_conform_root/conform/conform/blend.c",
"$gles1_conform_root/conform/conform/bufobj.c",
"$gles1_conform_root/conform/conform/clip.c",
"$gles1_conform_root/conform/conform/colramp.c",
"$gles1_conform_root/conform/conform/copytex.c",
"$gles1_conform_root/conform/conform/dither.c",
"$gles1_conform_root/conform/conform/divzero.c",
"$gles1_conform_root/conform/conform/drawtex.c",
"$gles1_conform_root/conform/conform/fogexp.c",
"$gles1_conform_root/conform/conform/foglin.c",
"$gles1_conform_root/conform/conform/gets.c",
"$gles1_conform_root/conform/conform/l_ac.c",
"$gles1_conform_root/conform/conform/l_al.c",
"$gles1_conform_root/conform/conform/l_am.c",
"$gles1_conform_root/conform/conform/l_ap.c",
"$gles1_conform_root/conform/conform/l_as.c",
"$gles1_conform_root/conform/conform/l_dl.c",
"$gles1_conform_root/conform/conform/l_dm.c",
"$gles1_conform_root/conform/conform/l_dmn.c",
"$gles1_conform_root/conform/conform/l_dmp.c",
"$gles1_conform_root/conform/conform/l_em.c",
"$gles1_conform_root/conform/conform/l_se.c",
"$gles1_conform_root/conform/conform/l_sed.c",
"$gles1_conform_root/conform/conform/l_sen.c",
"$gles1_conform_root/conform/conform/l_sep.c",
"$gles1_conform_root/conform/conform/l_sl.c",
"$gles1_conform_root/conform/conform/l_sm.c",
"$gles1_conform_root/conform/conform/l_sn.c",
"$gles1_conform_root/conform/conform/l_sp.c",
"$gles1_conform_root/conform/conform/lineaa.c",
"$gles1_conform_root/conform/conform/linehv.c",
"$gles1_conform_root/conform/conform/linerast.c",
"$gles1_conform_root/conform/conform/logicop.c",
"$gles1_conform_root/conform/conform/mask.c",
"$gles1_conform_root/conform/conform/mget.c",
"$gles1_conform_root/conform/conform/mipgen.c",
"$gles1_conform_root/conform/conform/miplevels.c",
"$gles1_conform_root/conform/conform/miplin.c",
"$gles1_conform_root/conform/conform/mipsel.c",
"$gles1_conform_root/conform/conform/mpalette.c",
"$gles1_conform_root/conform/conform/mquery.c",
"$gles1_conform_root/conform/conform/mstack.c",
"$gles1_conform_root/conform/conform/multitex.c",
"$gles1_conform_root/conform/conform/mustpass.c",
"$gles1_conform_root/conform/conform/packpix.c",
"$gles1_conform_root/conform/conform/pntaa.c",
"$gles1_conform_root/conform/conform/pntrast.c",
"$gles1_conform_root/conform/conform/pntsprt.c",
"$gles1_conform_root/conform/conform/pntszary.c",
"$gles1_conform_root/conform/conform/polycull.c",
"$gles1_conform_root/conform/conform/readfmt.c",
"$gles1_conform_root/conform/conform/rescalen.c",
"$gles1_conform_root/conform/conform/scissor.c",
"$gles1_conform_root/conform/conform/spclear.c",
"$gles1_conform_root/conform/conform/spcorner.c",
"$gles1_conform_root/conform/conform/spfunc.c",
"$gles1_conform_root/conform/conform/spop.c",
"$gles1_conform_root/conform/conform/tests.c",
"$gles1_conform_root/conform/conform/texcombine.c",
"$gles1_conform_root/conform/conform/texdecal.c",
"$gles1_conform_root/conform/conform/texedge.c",
"$gles1_conform_root/conform/conform/texpalet.c",
"$gles1_conform_root/conform/conform/trirast.c",
"$gles1_conform_root/conform/conform/tritile.c",
"$gles1_conform_root/conform/conform/userclip.c",
"$gles1_conform_root/conform/conform/vorder.c",
"$gles1_conform_root/conform/conform/vpclamp.c",
"$gles1_conform_root/conform/conform/xform.c",
"$gles1_conform_root/conform/conform/xformmix.c",
"$gles1_conform_root/conform/conform/xformn.c",
"$gles1_conform_root/conform/conform/xformvp.c",
"$gles1_conform_root/conform/conform/xformw.c",
"$gles1_conform_root/conform/conform/zbclear.c",
"$gles1_conform_root/conform/conform/zbfunc.c",
"$gles1_conform_root/conform/conformshell/conform.h",
"$gles1_conform_root/conform/conformshell/driver.c",
"$gles1_conform_root/conform/conformshell/driver.h",
"$gles1_conform_root/conform/conformshell/path.c",
"$gles1_conform_root/conform/conformshell/path.h",
"$gles1_conform_root/conform/conformshell/pathdata.c",
"$gles1_conform_root/conform/conformshell/pathdata.h",
"$gles1_conform_root/conform/conformshell/paths.c",
"$gles1_conform_root/conform/conformshell/shell.c",
"$gles1_conform_root/conform/conformshell/util.c",
"$gles1_conform_root/conform/conformshell/util.h",
"$gles1_conform_root/conform/conformshell/utilg.c",
"$gles1_conform_root/conform/conformshell/utilg.h",
"$gles1_conform_root/conform/conformshell/utilm.c",
"$gles1_conform_root/conform/conformshell/utilm.h",
"$gles1_conform_root/conform/conformshell/utilp.c",
"$gles1_conform_root/conform/conformshell/utilp.h",
"$gles1_conform_root/conform/conformshell/utilru.c",
"$gles1_conform_root/conform/conformshell/utilru.h",
"$gles1_conform_root/conform/conformshell/utils.c",
"$gles1_conform_root/conform/conformshell/utils.h",
"$gles1_conform_root/conform/conformshell/utilt.c",
"$gles1_conform_root/conform/conformshell/utilt.h",
"$gles1_conform_root/ctk/ctk.h",
"$gles1_conform_root/ctk/ctkn.c",
"$gles1_conform_root/ctk/glext.c",
"$gles1_conform_root/fixed/fixed.c",
"$gles1_conform_root/fixed/float64.c",
"$gles1_conform_root/fixed/int32.c",
"$gles1_conform_root/fixed/int64.c",
"$gles1_conform_root/platform/gl_fixed_point.h",
"$gles1_conform_root/platform/gl_single_precision.h",
"$gles1_conform_root/platform/math_fixed.h",
"$gles1_conform_root/platform/math_float.h",
"$gles1_conform_root/platform/platform.h",
"$gles1_conform_root/platform/platform_gl.h",
"$gles1_conform_root/platform/platform_random.h",
"$gles1_conform_root/platform/platform_stdlib.h",
"$gles1_conform_root/platform/platform_types.h",
"$gles1_conform_root/platform/printf_fixed.h",
"$gles1_conform_root/platform/printf_float.h",
"$gles1_conform_root/platform/random.c",
"$gles1_conform_root/platform/stdlib_ansi.h",
]
}
test("angle_gles1_conformance_tests") {
deps = googletest_deps + [
":angle_gles1_conformance_no_gtest",
angle_root + ":angle_common",
angle_root + ":angle_util",
angle_root + ":libEGL",
angle_root + ":libGLESv1_CM",
angle_root + ":libGLESv2",
]
include_dirs = [
"../../src/tests",
"../../util",
]
sources = [
"gles1_conformance_tests/ConformanceTests.cpp",
"test_utils/ANGLETest.cpp",
"test_utils/ANGLETest.h",
"test_utils/angle_test_configs.cpp",
"test_utils/angle_test_configs.h",
"test_utils/angle_test_instantiate.cpp",
"test_utils/angle_test_instantiate.h",
"test_utils/gl_raii.h",
]
configs += [
angle_root + ":internal_config",
angle_root + ":libANGLE_config",
]
if (build_with_chromium) {
sources += [ "//gpu/angle_end2end_tests_main.cc" ]
} else {
sources += [ "angle_end2end_tests_main.cpp" ]
}
}
}
###-----------------------------------------------------
### dEQP tests ### dEQP tests
###----------------------------------------------------- ###-----------------------------------------------------
......
...@@ -370,6 +370,11 @@ EGLPlatformParameters VULKAN() ...@@ -370,6 +370,11 @@ EGLPlatformParameters VULKAN()
} // namespace egl_platform } // namespace egl_platform
// ANGLE tests platforms // ANGLE tests platforms
PlatformParameters ES1_D3D9()
{
return PlatformParameters(1, 0, egl_platform::D3D9());
}
PlatformParameters ES2_D3D9() PlatformParameters ES2_D3D9()
{ {
return PlatformParameters(2, 0, egl_platform::D3D9()); return PlatformParameters(2, 0, egl_platform::D3D9());
...@@ -380,6 +385,11 @@ PlatformParameters ES2_D3D9_REFERENCE() ...@@ -380,6 +385,11 @@ PlatformParameters ES2_D3D9_REFERENCE()
return PlatformParameters(2, 0, egl_platform::D3D9_REFERENCE()); return PlatformParameters(2, 0, egl_platform::D3D9_REFERENCE());
} }
PlatformParameters ES1_D3D11()
{
return PlatformParameters(1, 0, egl_platform::D3D11());
}
PlatformParameters ES2_D3D11() PlatformParameters ES2_D3D11()
{ {
return PlatformParameters(2, 0, egl_platform::D3D11()); return PlatformParameters(2, 0, egl_platform::D3D11());
...@@ -535,6 +545,11 @@ PlatformParameters ES3_D3D11_FL10_1_REFERENCE() ...@@ -535,6 +545,11 @@ PlatformParameters ES3_D3D11_FL10_1_REFERENCE()
return PlatformParameters(3, 0, egl_platform::D3D11_FL10_1_REFERENCE()); return PlatformParameters(3, 0, egl_platform::D3D11_FL10_1_REFERENCE());
} }
PlatformParameters ES1_OPENGLES()
{
return PlatformParameters(1, 0, egl_platform::OPENGLES());
}
PlatformParameters ES2_OPENGLES() PlatformParameters ES2_OPENGLES()
{ {
return PlatformParameters(2, 0, egl_platform::OPENGLES()); return PlatformParameters(2, 0, egl_platform::OPENGLES());
...@@ -565,6 +580,11 @@ PlatformParameters ES31_OPENGLES(EGLint major, EGLint minor) ...@@ -565,6 +580,11 @@ PlatformParameters ES31_OPENGLES(EGLint major, EGLint minor)
return PlatformParameters(3, 1, egl_platform::OPENGLES(major, minor)); return PlatformParameters(3, 1, egl_platform::OPENGLES(major, minor));
} }
PlatformParameters ES1_OPENGL()
{
return PlatformParameters(1, 0, egl_platform::OPENGL());
}
PlatformParameters ES2_OPENGL() PlatformParameters ES2_OPENGL()
{ {
return PlatformParameters(2, 0, egl_platform::OPENGL()); return PlatformParameters(2, 0, egl_platform::OPENGL());
...@@ -595,6 +615,11 @@ PlatformParameters ES31_OPENGL(EGLint major, EGLint minor) ...@@ -595,6 +615,11 @@ PlatformParameters ES31_OPENGL(EGLint major, EGLint minor)
return PlatformParameters(3, 1, egl_platform::OPENGL(major, minor)); return PlatformParameters(3, 1, egl_platform::OPENGL(major, minor));
} }
PlatformParameters ES1_NULL()
{
return PlatformParameters(1, 0, EGLPlatformParameters(EGL_PLATFORM_ANGLE_TYPE_NULL_ANGLE));
}
PlatformParameters ES2_NULL() PlatformParameters ES2_NULL()
{ {
return PlatformParameters(2, 0, EGLPlatformParameters(EGL_PLATFORM_ANGLE_TYPE_NULL_ANGLE)); return PlatformParameters(2, 0, EGLPlatformParameters(EGL_PLATFORM_ANGLE_TYPE_NULL_ANGLE));
...@@ -610,6 +635,11 @@ PlatformParameters ES31_NULL() ...@@ -610,6 +635,11 @@ PlatformParameters ES31_NULL()
return PlatformParameters(3, 1, EGLPlatformParameters(EGL_PLATFORM_ANGLE_TYPE_NULL_ANGLE)); return PlatformParameters(3, 1, EGLPlatformParameters(EGL_PLATFORM_ANGLE_TYPE_NULL_ANGLE));
} }
PlatformParameters ES1_VULKAN()
{
return PlatformParameters(1, 0, egl_platform::VULKAN());
}
PlatformParameters ES2_VULKAN() PlatformParameters ES2_VULKAN()
{ {
return PlatformParameters(2, 0, egl_platform::VULKAN()); return PlatformParameters(2, 0, egl_platform::VULKAN());
......
...@@ -90,9 +90,11 @@ EGLPlatformParameters VULKAN(); ...@@ -90,9 +90,11 @@ EGLPlatformParameters VULKAN();
} // namespace egl_platform } // namespace egl_platform
// ANGLE tests platforms // ANGLE tests platforms
PlatformParameters ES1_D3D9();
PlatformParameters ES2_D3D9(); PlatformParameters ES2_D3D9();
PlatformParameters ES2_D3D9_REFERENCE(); PlatformParameters ES2_D3D9_REFERENCE();
PlatformParameters ES1_D3D11();
PlatformParameters ES2_D3D11(); PlatformParameters ES2_D3D11();
PlatformParameters ES2_D3D11(EGLenum presentPath); PlatformParameters ES2_D3D11(EGLenum presentPath);
PlatformParameters ES2_D3D11_FL11_0(); PlatformParameters ES2_D3D11_FL11_0();
...@@ -130,6 +132,7 @@ PlatformParameters ES3_D3D11_FL11_1_REFERENCE(); ...@@ -130,6 +132,7 @@ PlatformParameters ES3_D3D11_FL11_1_REFERENCE();
PlatformParameters ES3_D3D11_FL11_0_REFERENCE(); PlatformParameters ES3_D3D11_FL11_0_REFERENCE();
PlatformParameters ES3_D3D11_FL10_1_REFERENCE(); PlatformParameters ES3_D3D11_FL10_1_REFERENCE();
PlatformParameters ES1_OPENGL();
PlatformParameters ES2_OPENGL(); PlatformParameters ES2_OPENGL();
PlatformParameters ES2_OPENGL(EGLint major, EGLint minor); PlatformParameters ES2_OPENGL(EGLint major, EGLint minor);
PlatformParameters ES3_OPENGL(); PlatformParameters ES3_OPENGL();
...@@ -137,6 +140,7 @@ PlatformParameters ES3_OPENGL(EGLint major, EGLint minor); ...@@ -137,6 +140,7 @@ PlatformParameters ES3_OPENGL(EGLint major, EGLint minor);
PlatformParameters ES31_OPENGL(); PlatformParameters ES31_OPENGL();
PlatformParameters ES31_OPENGL(EGLint major, EGLint minor); PlatformParameters ES31_OPENGL(EGLint major, EGLint minor);
PlatformParameters ES1_OPENGLES();
PlatformParameters ES2_OPENGLES(); PlatformParameters ES2_OPENGLES();
PlatformParameters ES2_OPENGLES(EGLint major, EGLint minor); PlatformParameters ES2_OPENGLES(EGLint major, EGLint minor);
PlatformParameters ES3_OPENGLES(); PlatformParameters ES3_OPENGLES();
...@@ -144,10 +148,12 @@ PlatformParameters ES3_OPENGLES(EGLint major, EGLint minor); ...@@ -144,10 +148,12 @@ PlatformParameters ES3_OPENGLES(EGLint major, EGLint minor);
PlatformParameters ES31_OPENGLES(); PlatformParameters ES31_OPENGLES();
PlatformParameters ES31_OPENGLES(EGLint major, EGLint minor); PlatformParameters ES31_OPENGLES(EGLint major, EGLint minor);
PlatformParameters ES1_NULL();
PlatformParameters ES2_NULL(); PlatformParameters ES2_NULL();
PlatformParameters ES3_NULL(); PlatformParameters ES3_NULL();
PlatformParameters ES31_NULL(); PlatformParameters ES31_NULL();
PlatformParameters ES1_VULKAN();
PlatformParameters ES2_VULKAN(); PlatformParameters ES2_VULKAN();
} // namespace angle } // namespace angle
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment