aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Knyazev <lexa.knyazev@gmail.com>2023-12-07 00:00:00 +0000
committerAngle LUCI CQ <angle-scoped@luci-project-accounts.iam.gserviceaccount.com>2023-12-09 04:02:38 +0000
commitede15b8533cf84a7ebef5380ad726d7abdd4cfca (patch)
treeb6d3873807fa98ca1ef217ac2cb428ea6f3c266e
parentd0eb968d1fe415c20304748b913fa188ba95b97f (diff)
downloadangle-ede15b8533cf84a7ebef5380ad726d7abdd4cfca.tar.gz
Metal: Run multi draw tests
Added ANGLE_INSTANTIATE_TEST_COMBINE_3. Used the new macro for multi draw and BVBI tests. Bug: angleproject:6963 Change-Id: If05800f92f670bf21b7ff889a2fb8bb30f62a488 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5106508 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
-rw-r--r--src/tests/gl_tests/DrawBaseVertexBaseInstanceTest.cpp35
-rw-r--r--src/tests/gl_tests/MultiDrawTest.cpp71
-rw-r--r--src/tests/test_utils/angle_test_instantiate.h8
3 files changed, 49 insertions, 65 deletions
diff --git a/src/tests/gl_tests/DrawBaseVertexBaseInstanceTest.cpp b/src/tests/gl_tests/DrawBaseVertexBaseInstanceTest.cpp
index 63a9bddcf8..ea26fcc09a 100644
--- a/src/tests/gl_tests/DrawBaseVertexBaseInstanceTest.cpp
+++ b/src/tests/gl_tests/DrawBaseVertexBaseInstanceTest.cpp
@@ -1181,29 +1181,22 @@ TEST_P(DrawBaseInstanceTest, DrawElementsInstancedBaseVertexBaseInstance)
checkDrawResult(true, true);
}
-const angle::PlatformParameters platforms[] = {
- ES3_D3D11(), ES3_METAL(), ES3_OPENGL(), ES3_OPENGLES(), ES3_VULKAN(),
-};
-
GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(DrawBaseVertexBaseInstanceTest);
-INSTANTIATE_TEST_SUITE_P(
- ,
+
+ANGLE_INSTANTIATE_TEST_COMBINE_3(
DrawBaseVertexBaseInstanceTest,
- testing::Combine(
- testing::ValuesIn(::angle::FilterTestParams(platforms, ArraySize(platforms))),
- testing::Values(BaseVertexOption::NoBaseVertex, BaseVertexOption::UseBaseVertex),
- testing::Values(BaseInstanceOption::NoBaseInstance, BaseInstanceOption::UseBaseInstance),
- testing::Values(BufferDataUsageOption::StaticDraw, BufferDataUsageOption::DynamicDraw)),
- PrintToStringParamName());
-
-INSTANTIATE_TEST_SUITE_P(
- ,
+ PrintToStringParamName(),
+ testing::Values(BaseVertexOption::NoBaseVertex, BaseVertexOption::UseBaseVertex),
+ testing::Values(BaseInstanceOption::NoBaseInstance, BaseInstanceOption::UseBaseInstance),
+ testing::Values(BufferDataUsageOption::StaticDraw, BufferDataUsageOption::DynamicDraw),
+ ANGLE_ALL_TEST_PLATFORMS_ES3);
+
+ANGLE_INSTANTIATE_TEST_COMBINE_3(
DrawBaseInstanceTest,
- testing::Combine(
- testing::ValuesIn(::angle::FilterTestParams(platforms, ArraySize(platforms))),
- testing::Values(BaseVertexOption::NoBaseVertex, BaseVertexOption::UseBaseVertex),
- testing::Values(BaseInstanceOption::NoBaseInstance, BaseInstanceOption::UseBaseInstance),
- testing::Values(BufferDataUsageOption::StaticDraw, BufferDataUsageOption::DynamicDraw)),
- PrintToStringParamName());
+ PrintToStringParamName(),
+ testing::Values(BaseVertexOption::NoBaseVertex, BaseVertexOption::UseBaseVertex),
+ testing::Values(BaseInstanceOption::NoBaseInstance, BaseInstanceOption::UseBaseInstance),
+ testing::Values(BufferDataUsageOption::StaticDraw, BufferDataUsageOption::DynamicDraw),
+ ANGLE_ALL_TEST_PLATFORMS_ES3);
} // namespace
diff --git a/src/tests/gl_tests/MultiDrawTest.cpp b/src/tests/gl_tests/MultiDrawTest.cpp
index b827b9f539..b11d3e5357 100644
--- a/src/tests/gl_tests/MultiDrawTest.cpp
+++ b/src/tests/gl_tests/MultiDrawTest.cpp
@@ -178,8 +178,7 @@ varying vec4 color;
void main()
{
int id = )" << (IsDrawIDTest() ? "gl_DrawID" : "0")
- << ";"
- << R"(
+ << ";" << R"(
float quad_id = float(id / 2);
float color_id = quad_id - (3.0 * floor(quad_id / 3.0));
if (color_id == 0.0) {
@@ -1247,48 +1246,32 @@ TEST_P(MultiDrawNoInstancingSupportTest, InvalidOperation)
EXPECT_GL_ERROR(GL_INVALID_OPERATION);
}
-const angle::PlatformParameters platforms[] = {
- ES2_D3D9(), ES2_OPENGL(), ES2_OPENGLES(), ES2_VULKAN(), ES3_D3D11(), ES3_OPENGL(),
- ES3_OPENGLES(), ES3_VULKAN(), ES3_VULKAN_SWIFTSHADER(),
-};
-
-const angle::PlatformParameters es2_platforms[] = {
- ES2_D3D9(), ES2_OPENGL(), ES2_OPENGLES(), ES2_VULKAN(), ES2_VULKAN_SWIFTSHADER(),
-};
-
-const angle::PlatformParameters es3_platforms[] = {
- ES3_D3D11(), ES3_OPENGL(), ES3_OPENGLES(), ES3_VULKAN(), ES3_VULKAN_SWIFTSHADER(),
-};
-
-INSTANTIATE_TEST_SUITE_P(
- ,
- MultiDrawTest,
- testing::Combine(
- testing::ValuesIn(::angle::FilterTestParams(platforms, ArraySize(platforms))),
- testing::Values(DrawIDOption::NoDrawID, DrawIDOption::UseDrawID),
- testing::Values(InstancingOption::NoInstancing, InstancingOption::UseInstancing),
- testing::Values(BufferDataUsageOption::StaticDraw, BufferDataUsageOption::DynamicDraw)),
- PrintToStringParamName());
-
-INSTANTIATE_TEST_SUITE_P(
- ,
- MultiDrawNoInstancingSupportTest,
- testing::Combine(
- testing::ValuesIn(::angle::FilterTestParams(es2_platforms, ArraySize(es2_platforms))),
- testing::Values(DrawIDOption::NoDrawID, DrawIDOption::UseDrawID),
- testing::Values(InstancingOption::UseInstancing),
- testing::Values(BufferDataUsageOption::StaticDraw, BufferDataUsageOption::DynamicDraw)),
- PrintToStringParamName());
-
-INSTANTIATE_TEST_SUITE_P(
- ,
- MultiDrawTestES3,
- testing::Combine(
- testing::ValuesIn(::angle::FilterTestParams(es3_platforms, ArraySize(es3_platforms))),
- testing::Values(DrawIDOption::NoDrawID, DrawIDOption::UseDrawID),
- testing::Values(InstancingOption::NoInstancing, InstancingOption::UseInstancing),
- testing::Values(BufferDataUsageOption::StaticDraw, BufferDataUsageOption::DynamicDraw)),
- PrintToStringParamName());
+ANGLE_INSTANTIATE_TEST_COMBINE_3(MultiDrawTest,
+ PrintToStringParamName(),
+ testing::Values(DrawIDOption::NoDrawID, DrawIDOption::UseDrawID),
+ testing::Values(InstancingOption::NoInstancing,
+ InstancingOption::UseInstancing),
+ testing::Values(BufferDataUsageOption::StaticDraw,
+ BufferDataUsageOption::DynamicDraw),
+ ANGLE_ALL_TEST_PLATFORMS_ES2,
+ ANGLE_ALL_TEST_PLATFORMS_ES3);
+
+ANGLE_INSTANTIATE_TEST_COMBINE_3(MultiDrawNoInstancingSupportTest,
+ PrintToStringParamName(),
+ testing::Values(DrawIDOption::NoDrawID, DrawIDOption::UseDrawID),
+ testing::Values(InstancingOption::UseInstancing),
+ testing::Values(BufferDataUsageOption::StaticDraw,
+ BufferDataUsageOption::DynamicDraw),
+ ANGLE_ALL_TEST_PLATFORMS_ES2);
+
+ANGLE_INSTANTIATE_TEST_COMBINE_3(MultiDrawTestES3,
+ PrintToStringParamName(),
+ testing::Values(DrawIDOption::NoDrawID, DrawIDOption::UseDrawID),
+ testing::Values(InstancingOption::NoInstancing,
+ InstancingOption::UseInstancing),
+ testing::Values(BufferDataUsageOption::StaticDraw,
+ BufferDataUsageOption::DynamicDraw),
+ ANGLE_ALL_TEST_PLATFORMS_ES3);
GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(MultiDrawIndirectTest);
ANGLE_INSTANTIATE_TEST_ES31_AND(MultiDrawIndirectTest,
diff --git a/src/tests/test_utils/angle_test_instantiate.h b/src/tests/test_utils/angle_test_instantiate.h
index 684bc4640b..7e2a0fd27f 100644
--- a/src/tests/test_utils/angle_test_instantiate.h
+++ b/src/tests/test_utils/angle_test_instantiate.h
@@ -296,6 +296,14 @@ struct CombinedPrintToStringParamName
##__VA_ARGS__}; \
INSTANTIATE_TEST_SUITE_P( \
, testName, testing::Combine(ANGLE_INSTANTIATE_TEST_PLATFORMS(testName), combine1), print)
+#define ANGLE_INSTANTIATE_TEST_COMBINE_3(testName, print, combine1, combine2, combine3, first, \
+ ...) \
+ const std::remove_reference<decltype(first)>::type testName##params[] = {first, \
+ ##__VA_ARGS__}; \
+ INSTANTIATE_TEST_SUITE_P(, testName, \
+ testing::Combine(ANGLE_INSTANTIATE_TEST_PLATFORMS(testName), \
+ combine1, combine2, combine3), \
+ print)
#define ANGLE_INSTANTIATE_TEST_COMBINE_4(testName, print, combine1, combine2, combine3, combine4, \
first, ...) \
const std::remove_reference<decltype(first)>::type testName##params[] = {first, \