From 1d2752d84f497c8012af1f54b1b3ec52f9b5cc92 Mon Sep 17 00:00:00 2001 From: Alex Gough Date: Tue, 26 Oct 2021 11:41:58 -0700 Subject: [PATCH] disable cfguards for all deqp tests Previous attempt[0] to fix this was too precise, this now disables cfguards for angle tests at the angle_deqp (source_set, shared_library, test) level. See crbug.com/1260874 - This works around a codegen bug for Windows x86 that is blocking us landing CFG. Following now all pass: PASS: .\out\swangle\angle_deqp_gles2_tests.exe --use-angle=swiftshader --gtest_filter=dEQP.GLES2/functional_multisample_common_edge_big_quad --bot-mode PASS: .\out\swangle\angle_deqp_egl_tests.exe --use-angle=swiftshader --gtest_filter=dEQP.EGL/functional_color_clears_multi_thread_gles1_other --bot-mode PASS: .\out\swangle\angle_deqp_gles31_tests.exe --use-angle=swiftshader --gtest_filter=dEQP.GLES31/functional_state_query_texture_texture_2d_multisample_texture_swizzle_g_pure_int --bot-mode [0] https://chromium-review.googlesource.com/c/angle/angle/+/3241703 Test: CQ plus above Bug: angleproject:6617 Change-Id: I6d2647340592d3b9b5f2430d4fd077835528ef0b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3244256 Commit-Queue: Shahbaz Youssefi Reviewed-by: Shahbaz Youssefi --- src/tests/BUILD.gn | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/tests/BUILD.gn b/src/tests/BUILD.gn index 354a731b0..2833492f0 100644 --- a/src/tests/BUILD.gn +++ b/src/tests/BUILD.gn @@ -942,6 +942,14 @@ if (build_angle_gles1_conform_tests) { ### dEQP tests ###----------------------------------------------------- +config("win_x86_disable_guards_cfg_compiler") { + if (is_win && target_cpu == "x86" && win_enable_cfg_guards) { + # See crbug.com/1260874 avoid bad unwinding of exceptions when + # compiled with cfg guards for x86. + configs = [ "//build/config/win:disable_guards_cfg_compiler" ] + } +} + if (build_angle_deqp_tests && !is_fuchsia) { import("deqp_support/deqp.gni") import("deqp_support/deqp_data_autogen.gni") @@ -1057,7 +1065,7 @@ if (build_angle_deqp_tests && !is_fuchsia) { testonly = true forward_variables_from(invoker, "*") suppressed_configs += deqp_undefine_configs - + configs += [ ":win_x86_disable_guards_cfg_compiler" ] if (is_clang) { cflags += [ # Suppress a spurious header warning. http://crbug.com/995046 @@ -1258,11 +1266,6 @@ if (build_angle_deqp_tests && !is_fuchsia) { ":angle_deqp_libtester_config", "${angle_root}:libANGLE_config", ] - if (is_win && target_cpu == "x86" && win_enable_cfg_guards) { - # See crbug.com/1260874 tcuRandomOrderExecutor produces bad - # unwinding if compiled with cfg guards for x86. - configs += [ "//build/config/win:disable_guards_cfg_compiler" ] - } sources = deqp_libtester_sources if (is_android) { libs = [ "log" ] @@ -1301,7 +1304,7 @@ if (build_angle_deqp_tests && !is_fuchsia) { "$angle_root/util:angle_test_utils", "$angle_root/util:angle_util", ] - + configs += [ ":win_x86_disable_guards_cfg_compiler" ] suppressed_configs += deqp_undefine_configs public_configs += [ ":$config_name" ] @@ -1341,6 +1344,7 @@ if (build_angle_deqp_tests && !is_fuchsia) { "deqp_support/${expectations_file}", "${invoker.mustpass_dir}/${invoker.mustpass_name}", ] + configs += [ ":win_x86_disable_guards_cfg_compiler" ] } }