1*8975f5c5SAndroid Build Coastguard Worker# Copyright 2015 The ANGLE Project Authors. All rights reserved. 2*8975f5c5SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be 3*8975f5c5SAndroid Build Coastguard Worker# found in the LICENSE file. 4*8975f5c5SAndroid Build Coastguard Worker 5*8975f5c5SAndroid Build Coastguard Workerimport("//testing/test.gni") 6*8975f5c5SAndroid Build Coastguard Workerimport("../../gni/angle.gni") 7*8975f5c5SAndroid Build Coastguard Workerimport("angle_unittests.gni") 8*8975f5c5SAndroid Build Coastguard Worker 9*8975f5c5SAndroid Build Coastguard Workerdeclare_args() { 10*8975f5c5SAndroid Build Coastguard Worker build_angle_gles1_conform_tests = checkout_angle_internal 11*8975f5c5SAndroid Build Coastguard Worker build_angle_trace_perf_tests = false 12*8975f5c5SAndroid Build Coastguard Worker build_angle_perftests = 13*8975f5c5SAndroid Build Coastguard Worker is_win || is_linux || is_chromeos || is_android || is_apple || is_fuchsia 14*8975f5c5SAndroid Build Coastguard Worker} 15*8975f5c5SAndroid Build Coastguard Worker 16*8975f5c5SAndroid Build Coastguard Workerdeclare_args() { 17*8975f5c5SAndroid Build Coastguard Worker build_angle_trace_tests = is_clang && (build_angle_trace_perf_tests || 18*8975f5c5SAndroid Build Coastguard Worker checkout_angle_restricted_traces) 19*8975f5c5SAndroid Build Coastguard Worker if (!build_with_chromium && is_android) { 20*8975f5c5SAndroid Build Coastguard Worker assert( 21*8975f5c5SAndroid Build Coastguard Worker !is_official_build, 22*8975f5c5SAndroid Build Coastguard Worker "is_official_build not supported by ANGLE for Android (https://anglebug.com/42265853)") 23*8975f5c5SAndroid Build Coastguard Worker } 24*8975f5c5SAndroid Build Coastguard Worker} 25*8975f5c5SAndroid Build Coastguard Worker 26*8975f5c5SAndroid Build Coastguard Workerif (is_android) { 27*8975f5c5SAndroid Build Coastguard Worker android_library("native_test_java") { 28*8975f5c5SAndroid Build Coastguard Worker testonly = true 29*8975f5c5SAndroid Build Coastguard Worker sources = [ 30*8975f5c5SAndroid Build Coastguard Worker "test_utils/runner/android/java/src/com/android/angle/test/AngleNativeTest.java", 31*8975f5c5SAndroid Build Coastguard Worker "test_utils/runner/android/java/src/com/android/angle/test/AngleUnitTestActivity.java", 32*8975f5c5SAndroid Build Coastguard Worker "test_utils/runner/android/java/src/com/android/angle/test/TestStatusReporter.java", 33*8975f5c5SAndroid Build Coastguard Worker ] 34*8975f5c5SAndroid Build Coastguard Worker 35*8975f5c5SAndroid Build Coastguard Worker deps = [ 36*8975f5c5SAndroid Build Coastguard Worker "//build/android:build_java", 37*8975f5c5SAndroid Build Coastguard Worker "//build/android/gtest_apk:native_test_instrumentation_test_runner_java", 38*8975f5c5SAndroid Build Coastguard Worker ] 39*8975f5c5SAndroid Build Coastguard Worker } 40*8975f5c5SAndroid Build Coastguard Worker 41*8975f5c5SAndroid Build Coastguard Worker angle_source_set("native_test_support_android") { 42*8975f5c5SAndroid Build Coastguard Worker testonly = true 43*8975f5c5SAndroid Build Coastguard Worker sources = [ "test_utils/runner/android/AngleNativeTest.cpp" ] 44*8975f5c5SAndroid Build Coastguard Worker deps = [ "$angle_root:angle_common" ] 45*8975f5c5SAndroid Build Coastguard Worker } 46*8975f5c5SAndroid Build Coastguard Worker} 47*8975f5c5SAndroid Build Coastguard Worker 48*8975f5c5SAndroid Build Coastguard Workerangle_test("test_utils_unittest_helper") { 49*8975f5c5SAndroid Build Coastguard Worker sources = [ 50*8975f5c5SAndroid Build Coastguard Worker "../../util/test_utils_unittest_helper.cpp", 51*8975f5c5SAndroid Build Coastguard Worker "../../util/test_utils_unittest_helper.h", 52*8975f5c5SAndroid Build Coastguard Worker "test_utils/angle_test_instantiate.h", 53*8975f5c5SAndroid Build Coastguard Worker "test_utils/runner/TestSuite_unittest.cpp", 54*8975f5c5SAndroid Build Coastguard Worker ] 55*8975f5c5SAndroid Build Coastguard Worker} 56*8975f5c5SAndroid Build Coastguard Worker 57*8975f5c5SAndroid Build Coastguard Workertest_expectations_sources = [ 58*8975f5c5SAndroid Build Coastguard Worker "test_expectations/GPUTestConfig.cpp", 59*8975f5c5SAndroid Build Coastguard Worker "test_expectations/GPUTestConfig.h", 60*8975f5c5SAndroid Build Coastguard Worker "test_expectations/GPUTestExpectationsParser.cpp", 61*8975f5c5SAndroid Build Coastguard Worker "test_expectations/GPUTestExpectationsParser.h", 62*8975f5c5SAndroid Build Coastguard Worker] 63*8975f5c5SAndroid Build Coastguard Workerif (is_mac) { 64*8975f5c5SAndroid Build Coastguard Worker test_expectations_sources_mac = [ 65*8975f5c5SAndroid Build Coastguard Worker "test_expectations/GPUTestConfig_mac.mm", 66*8975f5c5SAndroid Build Coastguard Worker "test_expectations/GPUTestConfig_mac.h", 67*8975f5c5SAndroid Build Coastguard Worker ] 68*8975f5c5SAndroid Build Coastguard Worker} 69*8975f5c5SAndroid Build Coastguard Workerif (is_ios) { 70*8975f5c5SAndroid Build Coastguard Worker test_expectation_sources_ios = [ 71*8975f5c5SAndroid Build Coastguard Worker "test_expectations/GPUTestConfig_ios.mm", 72*8975f5c5SAndroid Build Coastguard Worker "test_expectations/GPUTestConfig_ios.h", 73*8975f5c5SAndroid Build Coastguard Worker ] 74*8975f5c5SAndroid Build Coastguard Worker} 75*8975f5c5SAndroid Build Coastguard Worker 76*8975f5c5SAndroid Build Coastguard Workerangle_static_library("angle_test_expectations") { 77*8975f5c5SAndroid Build Coastguard Worker public_deps = [ 78*8975f5c5SAndroid Build Coastguard Worker "$angle_root:angle_common", 79*8975f5c5SAndroid Build Coastguard Worker "$angle_root:angle_gpu_info_util", 80*8975f5c5SAndroid Build Coastguard Worker ] 81*8975f5c5SAndroid Build Coastguard Worker sources = test_expectations_sources 82*8975f5c5SAndroid Build Coastguard Worker if (is_mac) { 83*8975f5c5SAndroid Build Coastguard Worker sources += test_expectations_sources_mac 84*8975f5c5SAndroid Build Coastguard Worker frameworks = [ "Cocoa.framework" ] 85*8975f5c5SAndroid Build Coastguard Worker } 86*8975f5c5SAndroid Build Coastguard Worker if (is_ios) { 87*8975f5c5SAndroid Build Coastguard Worker sources += test_expectation_sources_ios 88*8975f5c5SAndroid Build Coastguard Worker frameworks = [ "Foundation.framework" ] 89*8975f5c5SAndroid Build Coastguard Worker } 90*8975f5c5SAndroid Build Coastguard Worker} 91*8975f5c5SAndroid Build Coastguard Worker 92*8975f5c5SAndroid Build Coastguard Workerconfig("angle_common_test_utils_config") { 93*8975f5c5SAndroid Build Coastguard Worker include_dirs = [ "." ] 94*8975f5c5SAndroid Build Coastguard Worker defines = [] 95*8975f5c5SAndroid Build Coastguard Worker if (angle_enable_swiftshader) { 96*8975f5c5SAndroid Build Coastguard Worker defines += [ "ANGLE_ENABLE_SWIFTSHADER" ] 97*8975f5c5SAndroid Build Coastguard Worker } 98*8975f5c5SAndroid Build Coastguard Worker} 99*8975f5c5SAndroid Build Coastguard Worker 100*8975f5c5SAndroid Build Coastguard Workertemplate("angle_common_test_utils") { 101*8975f5c5SAndroid Build Coastguard Worker assert(defined(invoker.angle_util)) 102*8975f5c5SAndroid Build Coastguard Worker angle_source_set(target_name) { 103*8975f5c5SAndroid Build Coastguard Worker testonly = true 104*8975f5c5SAndroid Build Coastguard Worker if (is_ios) { 105*8975f5c5SAndroid Build Coastguard Worker # shared libraries are hidden inside ios_framework_bundle, but we include headers from them 106*8975f5c5SAndroid Build Coastguard Worker check_includes = false 107*8975f5c5SAndroid Build Coastguard Worker } 108*8975f5c5SAndroid Build Coastguard Worker public_configs = [ 109*8975f5c5SAndroid Build Coastguard Worker ":angle_common_test_utils_config", 110*8975f5c5SAndroid Build Coastguard Worker "$angle_root:library_name_config", 111*8975f5c5SAndroid Build Coastguard Worker ] 112*8975f5c5SAndroid Build Coastguard Worker public_deps = [ 113*8975f5c5SAndroid Build Coastguard Worker "$angle_root:angle_common", 114*8975f5c5SAndroid Build Coastguard Worker "$angle_root:angle_gpu_info_util", 115*8975f5c5SAndroid Build Coastguard Worker "$angle_root/util:${invoker.angle_util}", 116*8975f5c5SAndroid Build Coastguard Worker "//testing/gmock", 117*8975f5c5SAndroid Build Coastguard Worker "//testing/gtest", 118*8975f5c5SAndroid Build Coastguard Worker "//third_party/googletest:gmock", 119*8975f5c5SAndroid Build Coastguard Worker "//third_party/googletest:gtest", 120*8975f5c5SAndroid Build Coastguard Worker ] 121*8975f5c5SAndroid Build Coastguard Worker sources = [ 122*8975f5c5SAndroid Build Coastguard Worker "$angle_root/third_party/renderdoc/src/renderdoc_app.h", 123*8975f5c5SAndroid Build Coastguard Worker "test_utils/MultiThreadSteps.cpp", 124*8975f5c5SAndroid Build Coastguard Worker "test_utils/MultiThreadSteps.h", 125*8975f5c5SAndroid Build Coastguard Worker "test_utils/RenderDoc.cpp", 126*8975f5c5SAndroid Build Coastguard Worker "test_utils/RenderDoc.h", 127*8975f5c5SAndroid Build Coastguard Worker "test_utils/angle_test_configs.cpp", 128*8975f5c5SAndroid Build Coastguard Worker "test_utils/angle_test_configs.h", 129*8975f5c5SAndroid Build Coastguard Worker "test_utils/angle_test_instantiate.cpp", 130*8975f5c5SAndroid Build Coastguard Worker "test_utils/angle_test_instantiate.h", 131*8975f5c5SAndroid Build Coastguard Worker "test_utils/angle_test_platform.cpp", 132*8975f5c5SAndroid Build Coastguard Worker "test_utils/angle_test_platform.h", 133*8975f5c5SAndroid Build Coastguard Worker "test_utils/gl_raii.h", 134*8975f5c5SAndroid Build Coastguard Worker ] 135*8975f5c5SAndroid Build Coastguard Worker if (is_apple) { 136*8975f5c5SAndroid Build Coastguard Worker sources += [ 137*8975f5c5SAndroid Build Coastguard Worker "test_utils/angle_test_instantiate_apple.h", 138*8975f5c5SAndroid Build Coastguard Worker "test_utils/angle_test_instantiate_apple.mm", 139*8975f5c5SAndroid Build Coastguard Worker ] 140*8975f5c5SAndroid Build Coastguard Worker } 141*8975f5c5SAndroid Build Coastguard Worker data_deps = [] 142*8975f5c5SAndroid Build Coastguard Worker if (angle_enable_vulkan_validation_layers) { 143*8975f5c5SAndroid Build Coastguard Worker data_deps += [ "$angle_root/src/common/vulkan:vulkan_validation_layers" ] 144*8975f5c5SAndroid Build Coastguard Worker } 145*8975f5c5SAndroid Build Coastguard Worker if (angle_enable_vulkan_api_dump_layer) { 146*8975f5c5SAndroid Build Coastguard Worker data_deps += [ "$angle_root/src/common/vulkan:lunarg_vulkantools" ] 147*8975f5c5SAndroid Build Coastguard Worker } 148*8975f5c5SAndroid Build Coastguard Worker } 149*8975f5c5SAndroid Build Coastguard Worker} 150*8975f5c5SAndroid Build Coastguard Worker 151*8975f5c5SAndroid Build Coastguard Workerangle_common_test_utils("angle_common_test_utils_shared") { 152*8975f5c5SAndroid Build Coastguard Worker angle_util = "angle_util" 153*8975f5c5SAndroid Build Coastguard Worker} 154*8975f5c5SAndroid Build Coastguard Worker 155*8975f5c5SAndroid Build Coastguard Workerangle_common_test_utils("angle_common_test_utils_static") { 156*8975f5c5SAndroid Build Coastguard Worker angle_util = "angle_util_static" 157*8975f5c5SAndroid Build Coastguard Worker} 158*8975f5c5SAndroid Build Coastguard Worker 159*8975f5c5SAndroid Build Coastguard Worker# We use this in the restricted trace tests to load driver info. 160*8975f5c5SAndroid Build Coastguard Workerangle_test("angle_system_info_test") { 161*8975f5c5SAndroid Build Coastguard Worker sources = [ "angle_system_info_tests_main.cpp" ] 162*8975f5c5SAndroid Build Coastguard Worker deps = [ 163*8975f5c5SAndroid Build Coastguard Worker "$angle_root:angle_gpu_info_util", 164*8975f5c5SAndroid Build Coastguard Worker "$angle_root:angle_static", 165*8975f5c5SAndroid Build Coastguard Worker "$angle_root/util:angle_util_static", 166*8975f5c5SAndroid Build Coastguard Worker ] 167*8975f5c5SAndroid Build Coastguard Worker} 168*8975f5c5SAndroid Build Coastguard Worker 169*8975f5c5SAndroid Build Coastguard Workerangle_test("angle_unittests") { 170*8975f5c5SAndroid Build Coastguard Worker sources = angle_unittests_sources + [ "angle_unittest_main.cpp" ] 171*8975f5c5SAndroid Build Coastguard Worker 172*8975f5c5SAndroid Build Coastguard Worker # Compiler tests frequently require either TranslatorGLSL or TranslatorESSL. Build them only if 173*8975f5c5SAndroid Build Coastguard Worker # both are enabled. 174*8975f5c5SAndroid Build Coastguard Worker if (angle_enable_essl && angle_enable_glsl) { 175*8975f5c5SAndroid Build Coastguard Worker sources += angle_unittests_compiler_tests_sources 176*8975f5c5SAndroid Build Coastguard Worker 177*8975f5c5SAndroid Build Coastguard Worker if (is_apple) { 178*8975f5c5SAndroid Build Coastguard Worker sources += angle_unittests_glsl_mac_sources 179*8975f5c5SAndroid Build Coastguard Worker } 180*8975f5c5SAndroid Build Coastguard Worker if (angle_enable_metal) { 181*8975f5c5SAndroid Build Coastguard Worker sources += angle_unittests_msl_sources 182*8975f5c5SAndroid Build Coastguard Worker } 183*8975f5c5SAndroid Build Coastguard Worker } 184*8975f5c5SAndroid Build Coastguard Worker 185*8975f5c5SAndroid Build Coastguard Worker defines = [] 186*8975f5c5SAndroid Build Coastguard Worker 187*8975f5c5SAndroid Build Coastguard Worker if (angle_enable_hlsl) { 188*8975f5c5SAndroid Build Coastguard Worker sources += angle_unittests_hlsl_sources 189*8975f5c5SAndroid Build Coastguard Worker defines += [ "ANGLE_ENABLE_HLSL" ] 190*8975f5c5SAndroid Build Coastguard Worker } 191*8975f5c5SAndroid Build Coastguard Worker 192*8975f5c5SAndroid Build Coastguard Worker if (angle_enable_gl) { 193*8975f5c5SAndroid Build Coastguard Worker sources += angle_unittests_gl_sources 194*8975f5c5SAndroid Build Coastguard Worker } 195*8975f5c5SAndroid Build Coastguard Worker 196*8975f5c5SAndroid Build Coastguard Worker if (angle_enable_wgpu) { 197*8975f5c5SAndroid Build Coastguard Worker sources += angle_unittests_wgsl_sources 198*8975f5c5SAndroid Build Coastguard Worker } 199*8975f5c5SAndroid Build Coastguard Worker 200*8975f5c5SAndroid Build Coastguard Worker deps = [ 201*8975f5c5SAndroid Build Coastguard Worker ":angle_test_expectations", 202*8975f5c5SAndroid Build Coastguard Worker "$angle_root:angle_static", 203*8975f5c5SAndroid Build Coastguard Worker "$angle_root:libfeature_support", 204*8975f5c5SAndroid Build Coastguard Worker "$angle_root/util:angle_util_static", 205*8975f5c5SAndroid Build Coastguard Worker ] 206*8975f5c5SAndroid Build Coastguard Worker 207*8975f5c5SAndroid Build Coastguard Worker if (angle_has_rapidjson) { 208*8975f5c5SAndroid Build Coastguard Worker deps += [ "$angle_root:angle_json_serializer" ] 209*8975f5c5SAndroid Build Coastguard Worker } 210*8975f5c5SAndroid Build Coastguard Worker 211*8975f5c5SAndroid Build Coastguard Worker if (angle_enable_vulkan) { 212*8975f5c5SAndroid Build Coastguard Worker sources += [ "compiler_tests/Precise_test.cpp" ] 213*8975f5c5SAndroid Build Coastguard Worker deps += [ 214*8975f5c5SAndroid Build Coastguard Worker "$angle_root/src/common/spirv:angle_spirv_base", 215*8975f5c5SAndroid Build Coastguard Worker "$angle_root/src/common/spirv:angle_spirv_headers", 216*8975f5c5SAndroid Build Coastguard Worker "$angle_root/src/common/spirv:angle_spirv_parser", 217*8975f5c5SAndroid Build Coastguard Worker "${angle_spirv_headers_dir}:spv_headers", 218*8975f5c5SAndroid Build Coastguard Worker ] 219*8975f5c5SAndroid Build Coastguard Worker } 220*8975f5c5SAndroid Build Coastguard Worker 221*8975f5c5SAndroid Build Coastguard Worker if (!is_android && !is_fuchsia && !is_ios) { 222*8975f5c5SAndroid Build Coastguard Worker # SystemUtils.RunApp, the only unittest using a helper binary, is not supported on these 223*8975f5c5SAndroid Build Coastguard Worker # platforms yet. 224*8975f5c5SAndroid Build Coastguard Worker data_deps = [ ":test_utils_unittest_helper" ] 225*8975f5c5SAndroid Build Coastguard Worker } 226*8975f5c5SAndroid Build Coastguard Worker 227*8975f5c5SAndroid Build Coastguard Worker if (is_android) { 228*8975f5c5SAndroid Build Coastguard Worker data += [ "$angle_root/src/tests/angle_android_test_runner.py" ] 229*8975f5c5SAndroid Build Coastguard Worker } 230*8975f5c5SAndroid Build Coastguard Worker 231*8975f5c5SAndroid Build Coastguard Worker if (angle_has_rapidjson) { 232*8975f5c5SAndroid Build Coastguard Worker sources += [ "../common/serializer/JsonSerializer_unittest.cpp" ] 233*8975f5c5SAndroid Build Coastguard Worker } 234*8975f5c5SAndroid Build Coastguard Worker} 235*8975f5c5SAndroid Build Coastguard Worker 236*8975f5c5SAndroid Build Coastguard Workerif (is_ios) { 237*8975f5c5SAndroid Build Coastguard Worker bundle_data("angle_end2end_tests_bundle_data") { 238*8975f5c5SAndroid Build Coastguard Worker testonly = true 239*8975f5c5SAndroid Build Coastguard Worker sources = [ "angle_end2end_tests_expectations.txt" ] 240*8975f5c5SAndroid Build Coastguard Worker outputs = [ "{{bundle_resources_dir}}/" + 241*8975f5c5SAndroid Build Coastguard Worker "{{source_root_relative_dir}}/{{source_file_part}}" ] 242*8975f5c5SAndroid Build Coastguard Worker } 243*8975f5c5SAndroid Build Coastguard Worker} 244*8975f5c5SAndroid Build Coastguard Worker 245*8975f5c5SAndroid Build Coastguard Workerif (is_win || is_linux || is_chromeos || is_android || is_fuchsia || is_apple) { 246*8975f5c5SAndroid Build Coastguard Worker import("angle_end2end_tests.gni") 247*8975f5c5SAndroid Build Coastguard Worker 248*8975f5c5SAndroid Build Coastguard Worker angle_test("angle_end2end_tests") { 249*8975f5c5SAndroid Build Coastguard Worker include_dirs = [ "." ] 250*8975f5c5SAndroid Build Coastguard Worker 251*8975f5c5SAndroid Build Coastguard Worker sources = angle_end2end_tests_sources + [ "angle_end2end_tests_main.cpp" ] 252*8975f5c5SAndroid Build Coastguard Worker libs = [] 253*8975f5c5SAndroid Build Coastguard Worker defines = [] 254*8975f5c5SAndroid Build Coastguard Worker configs += [ "${angle_root}:libANGLE_config" ] 255*8975f5c5SAndroid Build Coastguard Worker 256*8975f5c5SAndroid Build Coastguard Worker if (is_ios) { 257*8975f5c5SAndroid Build Coastguard Worker sources += angle_end2end_tests_ios_sources 258*8975f5c5SAndroid Build Coastguard Worker frameworks = [ "IOSurface.framework" ] 259*8975f5c5SAndroid Build Coastguard Worker } 260*8975f5c5SAndroid Build Coastguard Worker if (is_mac) { 261*8975f5c5SAndroid Build Coastguard Worker sources += angle_end2end_tests_mac_sources 262*8975f5c5SAndroid Build Coastguard Worker frameworks = [ 263*8975f5c5SAndroid Build Coastguard Worker "CoreFoundation.framework", 264*8975f5c5SAndroid Build Coastguard Worker "IOSurface.framework", 265*8975f5c5SAndroid Build Coastguard Worker ] 266*8975f5c5SAndroid Build Coastguard Worker ldflags = [ 267*8975f5c5SAndroid Build Coastguard Worker "-weak_framework", 268*8975f5c5SAndroid Build Coastguard Worker "Metal", 269*8975f5c5SAndroid Build Coastguard Worker ] 270*8975f5c5SAndroid Build Coastguard Worker cflags_objcc = [ 271*8975f5c5SAndroid Build Coastguard Worker "-Wno-nullability-completeness", 272*8975f5c5SAndroid Build Coastguard Worker "-Wno-unguarded-availability", 273*8975f5c5SAndroid Build Coastguard Worker ] 274*8975f5c5SAndroid Build Coastguard Worker } 275*8975f5c5SAndroid Build Coastguard Worker if (is_win) { 276*8975f5c5SAndroid Build Coastguard Worker sources += angle_end2end_tests_win_sources 277*8975f5c5SAndroid Build Coastguard Worker } 278*8975f5c5SAndroid Build Coastguard Worker if (angle_use_x11) { 279*8975f5c5SAndroid Build Coastguard Worker sources += [ "egl_tests/EGLX11VisualTest.cpp" ] 280*8975f5c5SAndroid Build Coastguard Worker } 281*8975f5c5SAndroid Build Coastguard Worker if (angle_use_wayland) { 282*8975f5c5SAndroid Build Coastguard Worker sources += [ "egl_tests/EGLWaylandTest.cpp" ] 283*8975f5c5SAndroid Build Coastguard Worker } 284*8975f5c5SAndroid Build Coastguard Worker 285*8975f5c5SAndroid Build Coastguard Worker deps = [ 286*8975f5c5SAndroid Build Coastguard Worker ":angle_common_test_utils_shared", 287*8975f5c5SAndroid Build Coastguard Worker "$angle_root:angle_gl_enum_utils", 288*8975f5c5SAndroid Build Coastguard Worker "$angle_root:angle_image_util", 289*8975f5c5SAndroid Build Coastguard Worker "$angle_root:translator", 290*8975f5c5SAndroid Build Coastguard Worker ] 291*8975f5c5SAndroid Build Coastguard Worker 292*8975f5c5SAndroid Build Coastguard Worker if (is_ios) { 293*8975f5c5SAndroid Build Coastguard Worker deps += [ ":angle_end2end_tests_bundle_data" ] 294*8975f5c5SAndroid Build Coastguard Worker } else { 295*8975f5c5SAndroid Build Coastguard Worker data = [ "angle_end2end_tests_expectations.txt" ] 296*8975f5c5SAndroid Build Coastguard Worker } 297*8975f5c5SAndroid Build Coastguard Worker 298*8975f5c5SAndroid Build Coastguard Worker if (angle_has_rapidjson) { 299*8975f5c5SAndroid Build Coastguard Worker deps += [ "$angle_root:angle_json_serializer" ] 300*8975f5c5SAndroid Build Coastguard Worker } 301*8975f5c5SAndroid Build Coastguard Worker 302*8975f5c5SAndroid Build Coastguard Worker if (build_angle_end2end_tests_aosp) { 303*8975f5c5SAndroid Build Coastguard Worker # AOSP end2end tests builds don't bundle ANGLE libs or Vulkan tests and don't need the NDK path 304*8975f5c5SAndroid Build Coastguard Worker } else { 305*8975f5c5SAndroid Build Coastguard Worker if (is_android) { 306*8975f5c5SAndroid Build Coastguard Worker include_dirs += [ "${android_ndk_root}/sysroot/usr/includes" ] 307*8975f5c5SAndroid Build Coastguard Worker } 308*8975f5c5SAndroid Build Coastguard Worker 309*8975f5c5SAndroid Build Coastguard Worker data_deps = [ "$angle_root:angle" ] 310*8975f5c5SAndroid Build Coastguard Worker 311*8975f5c5SAndroid Build Coastguard Worker if (angle_enable_vulkan) { 312*8975f5c5SAndroid Build Coastguard Worker sources += [ 313*8975f5c5SAndroid Build Coastguard Worker "gl_tests/VulkanExternalImageTest.cpp", 314*8975f5c5SAndroid Build Coastguard Worker "gl_tests/VulkanImageTest.cpp", 315*8975f5c5SAndroid Build Coastguard Worker "test_utils/VulkanHelper.cpp", 316*8975f5c5SAndroid Build Coastguard Worker "test_utils/VulkanHelper.h", 317*8975f5c5SAndroid Build Coastguard Worker ] 318*8975f5c5SAndroid Build Coastguard Worker deps += [ "$angle_root/src/common/vulkan" ] 319*8975f5c5SAndroid Build Coastguard Worker } 320*8975f5c5SAndroid Build Coastguard Worker } 321*8975f5c5SAndroid Build Coastguard Worker 322*8975f5c5SAndroid Build Coastguard Worker if (is_android) { 323*8975f5c5SAndroid Build Coastguard Worker android_test_runner_script = 324*8975f5c5SAndroid Build Coastguard Worker "$angle_root/src/tests/angle_android_test_runner.py" 325*8975f5c5SAndroid Build Coastguard Worker data += [ "$android_test_runner_script" ] 326*8975f5c5SAndroid Build Coastguard Worker } 327*8975f5c5SAndroid Build Coastguard Worker 328*8975f5c5SAndroid Build Coastguard Worker if (angle_build_mesa) { 329*8975f5c5SAndroid Build Coastguard Worker data_deps += [ "$angle_root/third_party/mesa" ] 330*8975f5c5SAndroid Build Coastguard Worker } 331*8975f5c5SAndroid Build Coastguard Worker 332*8975f5c5SAndroid Build Coastguard Worker if (is_fuchsia) { 333*8975f5c5SAndroid Build Coastguard Worker # TODO(crbug.com/1185811): Investigate removing the requirement for 334*8975f5c5SAndroid Build Coastguard Worker # job_policy_ambient_mark_vmo_exec. 335*8975f5c5SAndroid Build Coastguard Worker test_runner_shard = "//build/config/fuchsia/test/elf_test_ambient_exec_runner.shard.test-cml" 336*8975f5c5SAndroid Build Coastguard Worker additional_manifest_fragments = [ 337*8975f5c5SAndroid Build Coastguard Worker "//build/config/fuchsia/test/present_view.shard.test-cml", 338*8975f5c5SAndroid Build Coastguard Worker "//third_party/fuchsia-sdk/sdk/pkg/vulkan/client.shard.cml", 339*8975f5c5SAndroid Build Coastguard Worker ] 340*8975f5c5SAndroid Build Coastguard Worker } 341*8975f5c5SAndroid Build Coastguard Worker 342*8975f5c5SAndroid Build Coastguard Worker if (is_ios) { 343*8975f5c5SAndroid Build Coastguard Worker xcode_extra_attributes = { 344*8975f5c5SAndroid Build Coastguard Worker SUPPORTS_MACCATALYST = "YES" 345*8975f5c5SAndroid Build Coastguard Worker } 346*8975f5c5SAndroid Build Coastguard Worker 347*8975f5c5SAndroid Build Coastguard Worker # Need to bundle the libraries inside the .app. 348*8975f5c5SAndroid Build Coastguard Worker deps += [ "$angle_root:angle" ] 349*8975f5c5SAndroid Build Coastguard Worker } 350*8975f5c5SAndroid Build Coastguard Worker } 351*8975f5c5SAndroid Build Coastguard Worker} 352*8975f5c5SAndroid Build Coastguard Worker 353*8975f5c5SAndroid Build Coastguard Workerif (angle_enable_cl_testing) { 354*8975f5c5SAndroid Build Coastguard Worker copy("opencl_icd") { 355*8975f5c5SAndroid Build Coastguard Worker sources = [ "$angle_root/src/tests/cl_support/ancle.icd" ] 356*8975f5c5SAndroid Build Coastguard Worker outputs = [ "$root_out_dir/$angle_data_dir/{{source_file_part}}" ] 357*8975f5c5SAndroid Build Coastguard Worker } 358*8975f5c5SAndroid Build Coastguard Worker 359*8975f5c5SAndroid Build Coastguard Worker template("angle_oclcts_test") { 360*8975f5c5SAndroid Build Coastguard Worker angle_test("angle_oclcts_${target_name}") { 361*8975f5c5SAndroid Build Coastguard Worker testonly = true 362*8975f5c5SAndroid Build Coastguard Worker sources = [ "$angle_root/src/tests/cl_support/angle_oclcts_gtest.cpp" ] 363*8975f5c5SAndroid Build Coastguard Worker 364*8975f5c5SAndroid Build Coastguard Worker deps = [ 365*8975f5c5SAndroid Build Coastguard Worker "$angle_root:angle_common", 366*8975f5c5SAndroid Build Coastguard Worker "$angle_root:cl_includes", 367*8975f5c5SAndroid Build Coastguard Worker "$angle_root/third_party/OpenCL-CTS/gn:test_common", 368*8975f5c5SAndroid Build Coastguard Worker "$angle_root/third_party/OpenCL-CTS/gn/${invoker.group}:${invoker.suite}", 369*8975f5c5SAndroid Build Coastguard Worker "$angle_root/third_party/OpenCL-ICD-Loader:opencl_icd_loader", 370*8975f5c5SAndroid Build Coastguard Worker "//third_party/googletest:gtest", 371*8975f5c5SAndroid Build Coastguard Worker ] 372*8975f5c5SAndroid Build Coastguard Worker defines = [ 373*8975f5c5SAndroid Build Coastguard Worker "CL_TARGET_OPENCL_VERSION=300", 374*8975f5c5SAndroid Build Coastguard Worker "ANGLE_CL_SUITE_NAME=\"${invoker.suite}\"", 375*8975f5c5SAndroid Build Coastguard Worker ] 376*8975f5c5SAndroid Build Coastguard Worker if (!is_android) { 377*8975f5c5SAndroid Build Coastguard Worker defines += [ "ANGLE_OPENCL_ICD_PATH=\"$angle_data_dir\"" ] 378*8975f5c5SAndroid Build Coastguard Worker } 379*8975f5c5SAndroid Build Coastguard Worker cflags = [ 380*8975f5c5SAndroid Build Coastguard Worker "-Wno-deprecated-declarations", 381*8975f5c5SAndroid Build Coastguard Worker "-Wno-#warnings", 382*8975f5c5SAndroid Build Coastguard Worker "-Wno-format", 383*8975f5c5SAndroid Build Coastguard Worker "-Wno-vla-cxx-extension", 384*8975f5c5SAndroid Build Coastguard Worker "-Wno-deprecated-volatile", 385*8975f5c5SAndroid Build Coastguard Worker "-Wno-c++11-narrowing", 386*8975f5c5SAndroid Build Coastguard Worker ] 387*8975f5c5SAndroid Build Coastguard Worker include_dirs = [ 388*8975f5c5SAndroid Build Coastguard Worker "$angle_root/third_party/OpenCL-CTS/src/test_common", 389*8975f5c5SAndroid Build Coastguard Worker "$angle_root/third_party/OpenCL-CTS/src/test_common/autotest", 390*8975f5c5SAndroid Build Coastguard Worker "$angle_root/third_party/OpenCL-CTS/src/test_common/harness", 391*8975f5c5SAndroid Build Coastguard Worker "$angle_root/third_party/OpenCL-CTS/src/test_common/miniz", 392*8975f5c5SAndroid Build Coastguard Worker "$angle_root/third_party/OpenCL-CTS/src/test_conformance/", 393*8975f5c5SAndroid Build Coastguard Worker "$angle_root/third_party/OpenCL-CTS/", 394*8975f5c5SAndroid Build Coastguard Worker "$angle_root/src/tests/", 395*8975f5c5SAndroid Build Coastguard Worker ] 396*8975f5c5SAndroid Build Coastguard Worker configs += [ "${angle_root}:libANGLE_config" ] 397*8975f5c5SAndroid Build Coastguard Worker 398*8975f5c5SAndroid Build Coastguard Worker deps += [ 399*8975f5c5SAndroid Build Coastguard Worker ":angle_common_test_utils_static", 400*8975f5c5SAndroid Build Coastguard Worker "$angle_root:angle_static", 401*8975f5c5SAndroid Build Coastguard Worker ] 402*8975f5c5SAndroid Build Coastguard Worker data = [ 403*8975f5c5SAndroid Build Coastguard Worker "$angle_root/src/tests/cl_support/openclcts_expectations.txt", 404*8975f5c5SAndroid Build Coastguard Worker "$angle_root/src/tests/cl_support/openclcts_mustpass.txt", 405*8975f5c5SAndroid Build Coastguard Worker ] 406*8975f5c5SAndroid Build Coastguard Worker 407*8975f5c5SAndroid Build Coastguard Worker data_deps += [ 408*8975f5c5SAndroid Build Coastguard Worker ":opencl_icd", 409*8975f5c5SAndroid Build Coastguard Worker "$angle_root:libEGL", 410*8975f5c5SAndroid Build Coastguard Worker "$angle_root:libGLESv2", 411*8975f5c5SAndroid Build Coastguard Worker "$angle_root/src/libOpenCL:angle_cl", 412*8975f5c5SAndroid Build Coastguard Worker ] 413*8975f5c5SAndroid Build Coastguard Worker } 414*8975f5c5SAndroid Build Coastguard Worker } 415*8975f5c5SAndroid Build Coastguard Worker 416*8975f5c5SAndroid Build Coastguard Worker oclcts_targets = [ 417*8975f5c5SAndroid Build Coastguard Worker "SVM svm", 418*8975f5c5SAndroid Build Coastguard Worker "allocations allocations", 419*8975f5c5SAndroid Build Coastguard Worker "api api", 420*8975f5c5SAndroid Build Coastguard Worker "atomics atomics", 421*8975f5c5SAndroid Build Coastguard Worker "basic basic", 422*8975f5c5SAndroid Build Coastguard Worker "buffers buffers", 423*8975f5c5SAndroid Build Coastguard Worker "c11_atomics c11_atomics", 424*8975f5c5SAndroid Build Coastguard Worker "commonfns commonfns", 425*8975f5c5SAndroid Build Coastguard Worker "compiler compiler", 426*8975f5c5SAndroid Build Coastguard Worker "computeinfo computeinfo", 427*8975f5c5SAndroid Build Coastguard Worker "contractions contractions", 428*8975f5c5SAndroid Build Coastguard Worker "conversions conversions", 429*8975f5c5SAndroid Build Coastguard Worker "device_execution device_execution", 430*8975f5c5SAndroid Build Coastguard Worker "device_partition device_partition", 431*8975f5c5SAndroid Build Coastguard Worker "device_timer device_timer", 432*8975f5c5SAndroid Build Coastguard Worker "events events", 433*8975f5c5SAndroid Build Coastguard Worker "extensions/cl_ext_cxx_for_opencl cl_ext_cxx_for_opencl", 434*8975f5c5SAndroid Build Coastguard Worker "extensions/cl_khr_command_buffer cl_khr_command_buffer", 435*8975f5c5SAndroid Build Coastguard Worker "extensions/cl_khr_semaphore cl_khr_semaphore", 436*8975f5c5SAndroid Build Coastguard Worker "generic_address_space generic_address_space", 437*8975f5c5SAndroid Build Coastguard Worker "geometrics geometrics", 438*8975f5c5SAndroid Build Coastguard Worker "half half", 439*8975f5c5SAndroid Build Coastguard Worker "images/clCopyImage cl_copy_images", 440*8975f5c5SAndroid Build Coastguard Worker "images/clFillImage cl_fill_images", 441*8975f5c5SAndroid Build Coastguard Worker "images/clGetInfo cl_get_info", 442*8975f5c5SAndroid Build Coastguard Worker "images/clReadWriteImage cl_read_write_images", 443*8975f5c5SAndroid Build Coastguard Worker "images/kernel_image_methods kernel_image_methods", 444*8975f5c5SAndroid Build Coastguard Worker "images/kernel_read_write image_streams", 445*8975f5c5SAndroid Build Coastguard Worker "images/samplerlessReads samplerless_reads", 446*8975f5c5SAndroid Build Coastguard Worker "integer_ops integer_ops", 447*8975f5c5SAndroid Build Coastguard Worker "math_brute_force bruteforce", 448*8975f5c5SAndroid Build Coastguard Worker "mem_host_flags mem_host_flags", 449*8975f5c5SAndroid Build Coastguard Worker "multiple_device_context multiples", 450*8975f5c5SAndroid Build Coastguard Worker "non_uniform_work_group non_uniform_work_group", 451*8975f5c5SAndroid Build Coastguard Worker "pipes pipes", 452*8975f5c5SAndroid Build Coastguard Worker "printf printf", 453*8975f5c5SAndroid Build Coastguard Worker "profiling profiling", 454*8975f5c5SAndroid Build Coastguard Worker "relationals relationals", 455*8975f5c5SAndroid Build Coastguard Worker "select select", 456*8975f5c5SAndroid Build Coastguard Worker "spir spir", 457*8975f5c5SAndroid Build Coastguard Worker "spirv_new spirv_new", 458*8975f5c5SAndroid Build Coastguard Worker 459*8975f5c5SAndroid Build Coastguard Worker # CTS build error, fixed in https://github.com/KhronosGroup/OpenCL-CTS/pull/1906 460*8975f5c5SAndroid Build Coastguard Worker #"subgroups subgroups", 461*8975f5c5SAndroid Build Coastguard Worker "thread_dimensions thread_dimensions", 462*8975f5c5SAndroid Build Coastguard Worker "vectors vectors", 463*8975f5c5SAndroid Build Coastguard Worker "workgroups workgroups", 464*8975f5c5SAndroid Build Coastguard Worker ] 465*8975f5c5SAndroid Build Coastguard Worker 466*8975f5c5SAndroid Build Coastguard Worker foreach(_group_and_suite_joined, oclcts_targets) { 467*8975f5c5SAndroid Build Coastguard Worker _group_and_suite = [] 468*8975f5c5SAndroid Build Coastguard Worker _group_and_suite = string_split(_group_and_suite_joined) 469*8975f5c5SAndroid Build Coastguard Worker _group = _group_and_suite[0] 470*8975f5c5SAndroid Build Coastguard Worker _suite = _group_and_suite[1] 471*8975f5c5SAndroid Build Coastguard Worker 472*8975f5c5SAndroid Build Coastguard Worker angle_oclcts_test(_suite) { 473*8975f5c5SAndroid Build Coastguard Worker group = _group 474*8975f5c5SAndroid Build Coastguard Worker suite = _suite 475*8975f5c5SAndroid Build Coastguard Worker } 476*8975f5c5SAndroid Build Coastguard Worker } 477*8975f5c5SAndroid Build Coastguard Worker 478*8975f5c5SAndroid Build Coastguard Worker group("angle_openclcts") { 479*8975f5c5SAndroid Build Coastguard Worker testonly = true 480*8975f5c5SAndroid Build Coastguard Worker deps = [] 481*8975f5c5SAndroid Build Coastguard Worker foreach(_group_and_suite_joined, oclcts_targets) { 482*8975f5c5SAndroid Build Coastguard Worker _group_and_suite = [] 483*8975f5c5SAndroid Build Coastguard Worker _group_and_suite = string_split(_group_and_suite_joined) 484*8975f5c5SAndroid Build Coastguard Worker _suite = _group_and_suite[1] 485*8975f5c5SAndroid Build Coastguard Worker 486*8975f5c5SAndroid Build Coastguard Worker deps += [ ":angle_oclcts_${_suite}" ] 487*8975f5c5SAndroid Build Coastguard Worker } 488*8975f5c5SAndroid Build Coastguard Worker } 489*8975f5c5SAndroid Build Coastguard Worker} 490*8975f5c5SAndroid Build Coastguard Worker 491*8975f5c5SAndroid Build Coastguard Workerif (is_win || is_linux || is_chromeos || is_android || is_fuchsia || is_apple) { 492*8975f5c5SAndroid Build Coastguard Worker import("angle_white_box_tests.gni") 493*8975f5c5SAndroid Build Coastguard Worker 494*8975f5c5SAndroid Build Coastguard Worker angle_test("angle_white_box_tests") { 495*8975f5c5SAndroid Build Coastguard Worker include_dirs = [ "." ] 496*8975f5c5SAndroid Build Coastguard Worker sources = angle_white_box_tests_sources + [ "angle_generic_tests_main.cpp" ] 497*8975f5c5SAndroid Build Coastguard Worker 498*8975f5c5SAndroid Build Coastguard Worker if (is_win && angle_enable_d3d11) { 499*8975f5c5SAndroid Build Coastguard Worker sources += angle_white_box_tests_win_sources 500*8975f5c5SAndroid Build Coastguard Worker } 501*8975f5c5SAndroid Build Coastguard Worker 502*8975f5c5SAndroid Build Coastguard Worker configs += [ "${angle_root}:libANGLE_config" ] 503*8975f5c5SAndroid Build Coastguard Worker 504*8975f5c5SAndroid Build Coastguard Worker deps = [ 505*8975f5c5SAndroid Build Coastguard Worker ":angle_common_test_utils_static", 506*8975f5c5SAndroid Build Coastguard Worker "$angle_root:angle_static", 507*8975f5c5SAndroid Build Coastguard Worker ] 508*8975f5c5SAndroid Build Coastguard Worker 509*8975f5c5SAndroid Build Coastguard Worker deps += [ "${angle_root}:angle_gl_enum_utils" ] 510*8975f5c5SAndroid Build Coastguard Worker 511*8975f5c5SAndroid Build Coastguard Worker if (angle_enable_vulkan) { 512*8975f5c5SAndroid Build Coastguard Worker sources += angle_white_box_tests_vulkan_sources 513*8975f5c5SAndroid Build Coastguard Worker deps += [ "$angle_root/src/common/vulkan:angle_vulkan_entry_points" ] 514*8975f5c5SAndroid Build Coastguard Worker } 515*8975f5c5SAndroid Build Coastguard Worker } 516*8975f5c5SAndroid Build Coastguard Worker} 517*8975f5c5SAndroid Build Coastguard Worker 518*8975f5c5SAndroid Build Coastguard Workerconfig("angle_maybe_has_histograms") { 519*8975f5c5SAndroid Build Coastguard Worker if (angle_has_histograms) { 520*8975f5c5SAndroid Build Coastguard Worker defines = [ "ANGLE_HAS_HISTOGRAMS=1" ] 521*8975f5c5SAndroid Build Coastguard Worker include_dirs = [ "$root_gen_dir" ] 522*8975f5c5SAndroid Build Coastguard Worker } else { 523*8975f5c5SAndroid Build Coastguard Worker defines = [ "ANGLE_HAS_HISTOGRAMS=0" ] 524*8975f5c5SAndroid Build Coastguard Worker } 525*8975f5c5SAndroid Build Coastguard Worker} 526*8975f5c5SAndroid Build Coastguard Worker 527*8975f5c5SAndroid Build Coastguard Workertemplate("angle_perftests_common") { 528*8975f5c5SAndroid Build Coastguard Worker assert(defined(invoker.test_utils)) 529*8975f5c5SAndroid Build Coastguard Worker 530*8975f5c5SAndroid Build Coastguard Worker angle_source_set(target_name) { 531*8975f5c5SAndroid Build Coastguard Worker testonly = true 532*8975f5c5SAndroid Build Coastguard Worker if (is_ios) { 533*8975f5c5SAndroid Build Coastguard Worker # shared libraries are hidden inside ios_framework_bundle, but we include headers from them 534*8975f5c5SAndroid Build Coastguard Worker check_includes = false 535*8975f5c5SAndroid Build Coastguard Worker } 536*8975f5c5SAndroid Build Coastguard Worker sources = [ 537*8975f5c5SAndroid Build Coastguard Worker "../common/base/anglebase/trace_event/trace_event.h", 538*8975f5c5SAndroid Build Coastguard Worker "perf_tests/ANGLEPerfTest.cpp", 539*8975f5c5SAndroid Build Coastguard Worker "perf_tests/ANGLEPerfTest.h", 540*8975f5c5SAndroid Build Coastguard Worker "perf_tests/ANGLEPerfTestArgs.cpp", 541*8975f5c5SAndroid Build Coastguard Worker "perf_tests/ANGLEPerfTestArgs.h", 542*8975f5c5SAndroid Build Coastguard Worker "perf_tests/DrawCallPerfParams.cpp", 543*8975f5c5SAndroid Build Coastguard Worker "perf_tests/DrawCallPerfParams.h", 544*8975f5c5SAndroid Build Coastguard Worker "perf_tests/third_party/perf/perf_result_reporter.cc", 545*8975f5c5SAndroid Build Coastguard Worker "perf_tests/third_party/perf/perf_result_reporter.h", 546*8975f5c5SAndroid Build Coastguard Worker "perf_tests/third_party/perf/perf_test.cc", 547*8975f5c5SAndroid Build Coastguard Worker "perf_tests/third_party/perf/perf_test.h", 548*8975f5c5SAndroid Build Coastguard Worker "test_utils/runner/HistogramWriter.h", 549*8975f5c5SAndroid Build Coastguard Worker "test_utils/runner/TestSuite.h", 550*8975f5c5SAndroid Build Coastguard Worker ] 551*8975f5c5SAndroid Build Coastguard Worker public_deps = [ 552*8975f5c5SAndroid Build Coastguard Worker "$angle_root:angle_gl_enum_utils", 553*8975f5c5SAndroid Build Coastguard Worker "$angle_root/src/tests:angle_test_expectations", 554*8975f5c5SAndroid Build Coastguard Worker "$angle_root/third_party/rapidjson:rapidjson", 555*8975f5c5SAndroid Build Coastguard Worker "${invoker.test_utils}", 556*8975f5c5SAndroid Build Coastguard Worker ] 557*8975f5c5SAndroid Build Coastguard Worker public_configs += [ 558*8975f5c5SAndroid Build Coastguard Worker ":angle_maybe_has_histograms", 559*8975f5c5SAndroid Build Coastguard Worker "$angle_root:libANGLE_config", 560*8975f5c5SAndroid Build Coastguard Worker ] 561*8975f5c5SAndroid Build Coastguard Worker } 562*8975f5c5SAndroid Build Coastguard Worker} 563*8975f5c5SAndroid Build Coastguard Worker 564*8975f5c5SAndroid Build Coastguard Workerangle_perftests_common("angle_perftests_shared") { 565*8975f5c5SAndroid Build Coastguard Worker test_utils = ":angle_common_test_utils_shared" 566*8975f5c5SAndroid Build Coastguard Worker} 567*8975f5c5SAndroid Build Coastguard Worker 568*8975f5c5SAndroid Build Coastguard Workerangle_perftests_common("angle_perftests_static") { 569*8975f5c5SAndroid Build Coastguard Worker test_utils = ":angle_common_test_utils_static" 570*8975f5c5SAndroid Build Coastguard Worker} 571*8975f5c5SAndroid Build Coastguard Worker 572*8975f5c5SAndroid Build Coastguard Workerif (is_win || is_linux || is_chromeos || is_android || is_apple) { 573*8975f5c5SAndroid Build Coastguard Worker import("angle_perftests.gni") 574*8975f5c5SAndroid Build Coastguard Worker 575*8975f5c5SAndroid Build Coastguard Worker # This test suite is for perf tests that use ANGLE's internals in some direct way. 576*8975f5c5SAndroid Build Coastguard Worker angle_test("angle_white_box_perftests") { 577*8975f5c5SAndroid Build Coastguard Worker include_dirs = [ "." ] 578*8975f5c5SAndroid Build Coastguard Worker sources = 579*8975f5c5SAndroid Build Coastguard Worker angle_white_box_perf_tests_sources + [ "angle_perftests_main.cpp" ] 580*8975f5c5SAndroid Build Coastguard Worker 581*8975f5c5SAndroid Build Coastguard Worker if (angle_enable_d3d11 || angle_enable_d3d9) { 582*8975f5c5SAndroid Build Coastguard Worker sources += [ "perf_tests/IndexDataManagerTest.cpp" ] 583*8975f5c5SAndroid Build Coastguard Worker } 584*8975f5c5SAndroid Build Coastguard Worker 585*8975f5c5SAndroid Build Coastguard Worker deps = [ 586*8975f5c5SAndroid Build Coastguard Worker ":angle_perftests_static", 587*8975f5c5SAndroid Build Coastguard Worker "$angle_root:angle_static", 588*8975f5c5SAndroid Build Coastguard Worker ] 589*8975f5c5SAndroid Build Coastguard Worker 590*8975f5c5SAndroid Build Coastguard Worker data = [ 591*8975f5c5SAndroid Build Coastguard Worker "$angle_root/scripts/process_angle_perf_results.py", 592*8975f5c5SAndroid Build Coastguard Worker "$angle_root/src/tests/py_utils/android_helper.py", 593*8975f5c5SAndroid Build Coastguard Worker "$angle_root/src/tests/py_utils/angle_metrics.py", 594*8975f5c5SAndroid Build Coastguard Worker "$angle_root/src/tests/py_utils/angle_path_util.py", 595*8975f5c5SAndroid Build Coastguard Worker "$angle_root/src/tests/run_perf_tests.py", 596*8975f5c5SAndroid Build Coastguard Worker ] 597*8975f5c5SAndroid Build Coastguard Worker data_deps = [ "//testing:run_perf_test" ] 598*8975f5c5SAndroid Build Coastguard Worker 599*8975f5c5SAndroid Build Coastguard Worker if (angle_enable_vulkan) { 600*8975f5c5SAndroid Build Coastguard Worker sources += angle_white_box_perf_tests_vulkan_sources 601*8975f5c5SAndroid Build Coastguard Worker deps += [ 602*8975f5c5SAndroid Build Coastguard Worker "$angle_glslang_dir:glslang_lib_sources", 603*8975f5c5SAndroid Build Coastguard Worker "$angle_root/src/common/vulkan:angle_vulkan_entry_points", 604*8975f5c5SAndroid Build Coastguard Worker ] 605*8975f5c5SAndroid Build Coastguard Worker } 606*8975f5c5SAndroid Build Coastguard Worker 607*8975f5c5SAndroid Build Coastguard Worker # These tests depend on vulkan_command_buffer_utils, which is 608*8975f5c5SAndroid Build Coastguard Worker # not yet compatible with mac and vulkan display/headless backend. 609*8975f5c5SAndroid Build Coastguard Worker if (angle_enable_vulkan && !angle_use_vulkan_display && !is_apple) { 610*8975f5c5SAndroid Build Coastguard Worker sources += angle_white_box_perf_tests_vulkan_command_buffer_sources 611*8975f5c5SAndroid Build Coastguard Worker } 612*8975f5c5SAndroid Build Coastguard Worker } 613*8975f5c5SAndroid Build Coastguard Worker} 614*8975f5c5SAndroid Build Coastguard Worker 615*8975f5c5SAndroid Build Coastguard Workerconfig("angle_enable_renderdoc") { 616*8975f5c5SAndroid Build Coastguard Worker if (angle_enable_renderdoc) { 617*8975f5c5SAndroid Build Coastguard Worker defines = [ "ANGLE_TEST_ENABLE_RENDERDOC_CAPTURE" ] 618*8975f5c5SAndroid Build Coastguard Worker } 619*8975f5c5SAndroid Build Coastguard Worker} 620*8975f5c5SAndroid Build Coastguard Worker 621*8975f5c5SAndroid Build Coastguard Workerif (build_angle_perftests) { 622*8975f5c5SAndroid Build Coastguard Worker import("angle_perftests.gni") 623*8975f5c5SAndroid Build Coastguard Worker 624*8975f5c5SAndroid Build Coastguard Worker # This test suite is designed to run against a generic GL implementation. 625*8975f5c5SAndroid Build Coastguard Worker angle_test("angle_perftests") { 626*8975f5c5SAndroid Build Coastguard Worker include_dirs = [ "." ] 627*8975f5c5SAndroid Build Coastguard Worker sources = angle_perf_tests_sources + [ "angle_perftests_main.cpp" ] 628*8975f5c5SAndroid Build Coastguard Worker 629*8975f5c5SAndroid Build Coastguard Worker deps = [ 630*8975f5c5SAndroid Build Coastguard Worker ":angle_perftests_shared", 631*8975f5c5SAndroid Build Coastguard Worker "$angle_spirv_tools_dir:spvtools_val", 632*8975f5c5SAndroid Build Coastguard Worker ] 633*8975f5c5SAndroid Build Coastguard Worker 634*8975f5c5SAndroid Build Coastguard Worker data = [ 635*8975f5c5SAndroid Build Coastguard Worker "$angle_root/scripts/process_angle_perf_results.py", 636*8975f5c5SAndroid Build Coastguard Worker "$angle_root/src/tests/py_utils/android_helper.py", 637*8975f5c5SAndroid Build Coastguard Worker "$angle_root/src/tests/py_utils/angle_metrics.py", 638*8975f5c5SAndroid Build Coastguard Worker "$angle_root/src/tests/py_utils/angle_path_util.py", 639*8975f5c5SAndroid Build Coastguard Worker "$angle_root/src/tests/run_perf_tests.py", 640*8975f5c5SAndroid Build Coastguard Worker ] 641*8975f5c5SAndroid Build Coastguard Worker 642*8975f5c5SAndroid Build Coastguard Worker data_deps = [ 643*8975f5c5SAndroid Build Coastguard Worker "${angle_root}:angle", 644*8975f5c5SAndroid Build Coastguard Worker "//testing:run_perf_test", 645*8975f5c5SAndroid Build Coastguard Worker ] 646*8975f5c5SAndroid Build Coastguard Worker 647*8975f5c5SAndroid Build Coastguard Worker if (angle_build_mesa) { 648*8975f5c5SAndroid Build Coastguard Worker data_deps += [ "$angle_root/third_party/mesa" ] 649*8975f5c5SAndroid Build Coastguard Worker } 650*8975f5c5SAndroid Build Coastguard Worker 651*8975f5c5SAndroid Build Coastguard Worker if (is_win || is_linux || is_chromeos) { 652*8975f5c5SAndroid Build Coastguard Worker data_deps += [ "${angle_root}/third_party/glmark2:glmark2_angle" ] 653*8975f5c5SAndroid Build Coastguard Worker } 654*8975f5c5SAndroid Build Coastguard Worker if (is_win && target_cpu != "arm64") { 655*8975f5c5SAndroid Build Coastguard Worker data_deps += [ "${angle_root}/third_party/glmark2:glmark2_wgl" ] 656*8975f5c5SAndroid Build Coastguard Worker } 657*8975f5c5SAndroid Build Coastguard Worker if (is_linux || is_chromeos) { 658*8975f5c5SAndroid Build Coastguard Worker data_deps += [ "${angle_root}/third_party/glmark2:glmark2_glx" ] 659*8975f5c5SAndroid Build Coastguard Worker } 660*8975f5c5SAndroid Build Coastguard Worker } 661*8975f5c5SAndroid Build Coastguard Worker} 662*8975f5c5SAndroid Build Coastguard Worker 663*8975f5c5SAndroid Build Coastguard Workerif (build_angle_trace_tests) { 664*8975f5c5SAndroid Build Coastguard Worker angle_test("angle_trace_tests") { 665*8975f5c5SAndroid Build Coastguard Worker # http://anglebug.com/42264541: Traces with long shaders are hitting string literal 666*8975f5c5SAndroid Build Coastguard Worker # limit in MSVC, so only compile them when using clang 667*8975f5c5SAndroid Build Coastguard Worker assert(is_clang, "angle trace tests require clang") 668*8975f5c5SAndroid Build Coastguard Worker 669*8975f5c5SAndroid Build Coastguard Worker if (is_ios) { 670*8975f5c5SAndroid Build Coastguard Worker # shared libraries are hidden inside ios_framework_bundle, but we include headers from them 671*8975f5c5SAndroid Build Coastguard Worker check_includes = false 672*8975f5c5SAndroid Build Coastguard Worker } 673*8975f5c5SAndroid Build Coastguard Worker 674*8975f5c5SAndroid Build Coastguard Worker sources = [ 675*8975f5c5SAndroid Build Coastguard Worker "angle_trace_tests_main.cpp", 676*8975f5c5SAndroid Build Coastguard Worker "perf_tests/TracePerfTest.cpp", 677*8975f5c5SAndroid Build Coastguard Worker ] 678*8975f5c5SAndroid Build Coastguard Worker 679*8975f5c5SAndroid Build Coastguard Worker deps = [ 680*8975f5c5SAndroid Build Coastguard Worker ":angle_perftests_shared", 681*8975f5c5SAndroid Build Coastguard Worker ":wrap_restricted_trace_gold_tests", 682*8975f5c5SAndroid Build Coastguard Worker ":wrap_restricted_trace_perf", 683*8975f5c5SAndroid Build Coastguard Worker "$angle_root:angle_compression", 684*8975f5c5SAndroid Build Coastguard Worker "$angle_root/util:angle_frame_capture_test_utils", 685*8975f5c5SAndroid Build Coastguard Worker "$angle_root/util:angle_png_utils", 686*8975f5c5SAndroid Build Coastguard Worker "restricted_traces:gen_trace_list_json", 687*8975f5c5SAndroid Build Coastguard Worker ] 688*8975f5c5SAndroid Build Coastguard Worker 689*8975f5c5SAndroid Build Coastguard Worker # If this flag is set, we want to build the trace libraries independent of the APK, i.e. not packaged. 690*8975f5c5SAndroid Build Coastguard Worker # We're doing this for size reasons - the APK is too large if you include all the traces. 691*8975f5c5SAndroid Build Coastguard Worker if (restricted_traces_outside_of_apk) { 692*8975f5c5SAndroid Build Coastguard Worker defines = [ "ANGLE_TRACE_EXTERNAL_BINARIES" ] 693*8975f5c5SAndroid Build Coastguard Worker deps += [ "$angle_root/util:angle_trace_loader" ] 694*8975f5c5SAndroid Build Coastguard Worker } else { 695*8975f5c5SAndroid Build Coastguard Worker deps += [ 696*8975f5c5SAndroid Build Coastguard Worker "$angle_root/util:angle_trace_interpreter", 697*8975f5c5SAndroid Build Coastguard Worker "restricted_traces:angle_restricted_traces", 698*8975f5c5SAndroid Build Coastguard Worker ] 699*8975f5c5SAndroid Build Coastguard Worker } 700*8975f5c5SAndroid Build Coastguard Worker 701*8975f5c5SAndroid Build Coastguard Worker data = [ "$angle_root/src/tests/py_utils/android_helper.py" ] 702*8975f5c5SAndroid Build Coastguard Worker 703*8975f5c5SAndroid Build Coastguard Worker if (is_android) { 704*8975f5c5SAndroid Build Coastguard Worker android_test_runner_script = 705*8975f5c5SAndroid Build Coastguard Worker "$angle_root/src/tests/angle_android_test_runner.py" 706*8975f5c5SAndroid Build Coastguard Worker data += [ "$android_test_runner_script" ] 707*8975f5c5SAndroid Build Coastguard Worker } 708*8975f5c5SAndroid Build Coastguard Worker 709*8975f5c5SAndroid Build Coastguard Worker data_deps = [ "${angle_root}:angle" ] 710*8975f5c5SAndroid Build Coastguard Worker 711*8975f5c5SAndroid Build Coastguard Worker if (is_clang) { 712*8975f5c5SAndroid Build Coastguard Worker # Allows us to edit traces and remove chunks of code without compile warnings. 713*8975f5c5SAndroid Build Coastguard Worker cflags_cc = [ "-Wno-unused-const-variable" ] 714*8975f5c5SAndroid Build Coastguard Worker } 715*8975f5c5SAndroid Build Coastguard Worker } 716*8975f5c5SAndroid Build Coastguard Worker 717*8975f5c5SAndroid Build Coastguard Worker group("angle_trace_perf_tests") { 718*8975f5c5SAndroid Build Coastguard Worker testonly = true 719*8975f5c5SAndroid Build Coastguard Worker 720*8975f5c5SAndroid Build Coastguard Worker data = [ 721*8975f5c5SAndroid Build Coastguard Worker "$angle_root/scripts/process_angle_perf_results.py", 722*8975f5c5SAndroid Build Coastguard Worker "$angle_root/src/tests/py_utils/angle_metrics.py", 723*8975f5c5SAndroid Build Coastguard Worker "$angle_root/src/tests/py_utils/angle_path_util.py", 724*8975f5c5SAndroid Build Coastguard Worker "$angle_root/src/tests/restricted_traces/restricted_trace_perf.py", 725*8975f5c5SAndroid Build Coastguard Worker "$angle_root/src/tests/run_perf_tests.py", 726*8975f5c5SAndroid Build Coastguard Worker ] 727*8975f5c5SAndroid Build Coastguard Worker 728*8975f5c5SAndroid Build Coastguard Worker data_deps = [ 729*8975f5c5SAndroid Build Coastguard Worker ":angle_trace_tests", 730*8975f5c5SAndroid Build Coastguard Worker "//testing:run_perf_test", 731*8975f5c5SAndroid Build Coastguard Worker ] 732*8975f5c5SAndroid Build Coastguard Worker 733*8975f5c5SAndroid Build Coastguard Worker if (restricted_traces_outside_of_apk) { 734*8975f5c5SAndroid Build Coastguard Worker deps = [ "restricted_traces:angle_restricted_traces__unpacked_libs" ] 735*8975f5c5SAndroid Build Coastguard Worker } 736*8975f5c5SAndroid Build Coastguard Worker } 737*8975f5c5SAndroid Build Coastguard Worker 738*8975f5c5SAndroid Build Coastguard Worker group("angle_trace_interpreter_tests") { 739*8975f5c5SAndroid Build Coastguard Worker testonly = true 740*8975f5c5SAndroid Build Coastguard Worker data = [ 741*8975f5c5SAndroid Build Coastguard Worker "restricted_traces/gen_restricted_traces.py", 742*8975f5c5SAndroid Build Coastguard Worker "restricted_traces/retrace_restricted_traces.py", 743*8975f5c5SAndroid Build Coastguard Worker ] 744*8975f5c5SAndroid Build Coastguard Worker data_deps = [ ":angle_trace_perf_tests" ] 745*8975f5c5SAndroid Build Coastguard Worker } 746*8975f5c5SAndroid Build Coastguard Worker 747*8975f5c5SAndroid Build Coastguard Worker group("angle_capture_tests") { 748*8975f5c5SAndroid Build Coastguard Worker testonly = true 749*8975f5c5SAndroid Build Coastguard Worker data = [ 750*8975f5c5SAndroid Build Coastguard Worker "capture_tests/capture_tests.py", 751*8975f5c5SAndroid Build Coastguard Worker "capture_tests/expected", 752*8975f5c5SAndroid Build Coastguard Worker ] 753*8975f5c5SAndroid Build Coastguard Worker if (is_android) { 754*8975f5c5SAndroid Build Coastguard Worker data += [ "$angle_root/src/tests/angle_android_test_runner.py" ] 755*8975f5c5SAndroid Build Coastguard Worker } 756*8975f5c5SAndroid Build Coastguard Worker data_deps = [ ":angle_end2end_tests" ] 757*8975f5c5SAndroid Build Coastguard Worker } 758*8975f5c5SAndroid Build Coastguard Worker 759*8975f5c5SAndroid Build Coastguard Worker action("wrap_restricted_trace_perf") { 760*8975f5c5SAndroid Build Coastguard Worker script = "//scripts/angle_test_wrapper.py" 761*8975f5c5SAndroid Build Coastguard Worker 762*8975f5c5SAndroid Build Coastguard Worker outputs = [ "$root_build_dir/restricted_trace_perf" ] 763*8975f5c5SAndroid Build Coastguard Worker args = [ 764*8975f5c5SAndroid Build Coastguard Worker rebase_path(outputs[0], root_build_dir), 765*8975f5c5SAndroid Build Coastguard Worker "src/tests/restricted_traces/restricted_trace_perf.py", 766*8975f5c5SAndroid Build Coastguard Worker ] 767*8975f5c5SAndroid Build Coastguard Worker } 768*8975f5c5SAndroid Build Coastguard Worker 769*8975f5c5SAndroid Build Coastguard Worker action("wrap_restricted_trace_gold_tests") { 770*8975f5c5SAndroid Build Coastguard Worker script = "//scripts/angle_test_wrapper.py" 771*8975f5c5SAndroid Build Coastguard Worker 772*8975f5c5SAndroid Build Coastguard Worker outputs = [ "$root_build_dir/restricted_trace_gold_tests" ] 773*8975f5c5SAndroid Build Coastguard Worker args = [ 774*8975f5c5SAndroid Build Coastguard Worker rebase_path(outputs[0], root_build_dir), 775*8975f5c5SAndroid Build Coastguard Worker "src/tests/restricted_traces/restricted_trace_gold_tests.py", 776*8975f5c5SAndroid Build Coastguard Worker ] 777*8975f5c5SAndroid Build Coastguard Worker } 778*8975f5c5SAndroid Build Coastguard Worker} 779*8975f5c5SAndroid Build Coastguard Worker 780*8975f5c5SAndroid Build Coastguard Worker###----------------------------------------------------- 781*8975f5c5SAndroid Build Coastguard Worker### ES 1 conformance tests 782*8975f5c5SAndroid Build Coastguard Worker###----------------------------------------------------- 783*8975f5c5SAndroid Build Coastguard Worker 784*8975f5c5SAndroid Build Coastguard Workerif (build_angle_gles1_conform_tests) { 785*8975f5c5SAndroid Build Coastguard Worker gles1_conform_root = "$angle_root/third_party/gles1_conform" 786*8975f5c5SAndroid Build Coastguard Worker 787*8975f5c5SAndroid Build Coastguard Worker config("angle_gles1_conform_support") { 788*8975f5c5SAndroid Build Coastguard Worker include_dirs = [ 789*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root", 790*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform", 791*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conformshell", 792*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/ctk", 793*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/fixed", 794*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/platform", 795*8975f5c5SAndroid Build Coastguard Worker ] 796*8975f5c5SAndroid Build Coastguard Worker 797*8975f5c5SAndroid Build Coastguard Worker defines = [ 798*8975f5c5SAndroid Build Coastguard Worker "COMMON", 799*8975f5c5SAndroid Build Coastguard Worker "CONFORM_ALTERNATE_MAIN", 800*8975f5c5SAndroid Build Coastguard Worker 801*8975f5c5SAndroid Build Coastguard Worker # NULLWS defines is only used in covegl/native.h, remove here. 802*8975f5c5SAndroid Build Coastguard Worker # if needed please add it in angle_test("angle_gles1_covegl_no_gtest") defines. 803*8975f5c5SAndroid Build Coastguard Worker #"NULLWS", 804*8975f5c5SAndroid Build Coastguard Worker ] 805*8975f5c5SAndroid Build Coastguard Worker 806*8975f5c5SAndroid Build Coastguard Worker # This is used by the tests to typedef uint32_t. For some reason only needed on mac. 807*8975f5c5SAndroid Build Coastguard Worker if (is_apple) { 808*8975f5c5SAndroid Build Coastguard Worker defines += [ "__linux" ] 809*8975f5c5SAndroid Build Coastguard Worker } 810*8975f5c5SAndroid Build Coastguard Worker 811*8975f5c5SAndroid Build Coastguard Worker cflags = [] 812*8975f5c5SAndroid Build Coastguard Worker if (is_clang) { 813*8975f5c5SAndroid Build Coastguard Worker # Remove when crbug.com/428099 is resolved. 814*8975f5c5SAndroid Build Coastguard Worker cflags += [ 815*8975f5c5SAndroid Build Coastguard Worker "-Wno-implicit-function-declaration", 816*8975f5c5SAndroid Build Coastguard Worker "-Wno-implicit-int-float-conversion", 817*8975f5c5SAndroid Build Coastguard Worker "-Wno-int-to-pointer-cast", 818*8975f5c5SAndroid Build Coastguard Worker "-Wno-self-assign", 819*8975f5c5SAndroid Build Coastguard Worker "-Wno-sign-compare", 820*8975f5c5SAndroid Build Coastguard Worker "-Wno-unreachable-code-break", 821*8975f5c5SAndroid Build Coastguard Worker "-Wno-unused-const-variable", 822*8975f5c5SAndroid Build Coastguard Worker "-Wno-unused-result", 823*8975f5c5SAndroid Build Coastguard Worker "-Wno-unused-variable", 824*8975f5c5SAndroid Build Coastguard Worker 825*8975f5c5SAndroid Build Coastguard Worker # Upstream tests do null pointer arithmetic, so disable those warnings. 826*8975f5c5SAndroid Build Coastguard Worker "-Wno-null-pointer-arithmetic", 827*8975f5c5SAndroid Build Coastguard Worker ] 828*8975f5c5SAndroid Build Coastguard Worker } else { 829*8975f5c5SAndroid Build Coastguard Worker cflags += [ "/wd4101" ] # unreferenced local variable 830*8975f5c5SAndroid Build Coastguard Worker } 831*8975f5c5SAndroid Build Coastguard Worker } 832*8975f5c5SAndroid Build Coastguard Worker 833*8975f5c5SAndroid Build Coastguard Worker # This source set is a bit special so we don't use angle_source_set. 834*8975f5c5SAndroid Build Coastguard Worker angle_gles1_conform_common_source = [ 835*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/ctk/ctk.h", 836*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/ctk/ctkn.c", 837*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/ctk/glext.c", 838*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/fixed/fixed.c", 839*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/fixed/float64.c", 840*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/fixed/int32.c", 841*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/fixed/int64.c", 842*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/platform/gl_fixed_point.h", 843*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/platform/gl_single_precision.h", 844*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/platform/math_fixed.h", 845*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/platform/math_float.h", 846*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/platform/platform.h", 847*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/platform/platform_gl.h", 848*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/platform/platform_random.h", 849*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/platform/platform_stdlib.h", 850*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/platform/platform_types.h", 851*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/platform/printf_fixed.h", 852*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/platform/printf_float.h", 853*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/platform/random.c", 854*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/platform/stdlib_ansi.h", 855*8975f5c5SAndroid Build Coastguard Worker ] 856*8975f5c5SAndroid Build Coastguard Worker 857*8975f5c5SAndroid Build Coastguard Worker source_set("angle_gles1_conformance_no_gtest") { 858*8975f5c5SAndroid Build Coastguard Worker configs += [ 859*8975f5c5SAndroid Build Coastguard Worker ":angle_gles1_conform_support", 860*8975f5c5SAndroid Build Coastguard Worker "$angle_root:internal_config", 861*8975f5c5SAndroid Build Coastguard Worker ] 862*8975f5c5SAndroid Build Coastguard Worker 863*8975f5c5SAndroid Build Coastguard Worker public_configs = [ 864*8975f5c5SAndroid Build Coastguard Worker "$angle_root/util:angle_util_config", 865*8975f5c5SAndroid Build Coastguard Worker "$angle_root:gl_prototypes", 866*8975f5c5SAndroid Build Coastguard Worker ] 867*8975f5c5SAndroid Build Coastguard Worker 868*8975f5c5SAndroid Build Coastguard Worker if (is_clang) { 869*8975f5c5SAndroid Build Coastguard Worker cflags_c = [ 870*8975f5c5SAndroid Build Coastguard Worker "-Wno-implicit-fallthrough", 871*8975f5c5SAndroid Build Coastguard Worker "-Wno-shadow", 872*8975f5c5SAndroid Build Coastguard Worker ] 873*8975f5c5SAndroid Build Coastguard Worker } 874*8975f5c5SAndroid Build Coastguard Worker 875*8975f5c5SAndroid Build Coastguard Worker testonly = true 876*8975f5c5SAndroid Build Coastguard Worker 877*8975f5c5SAndroid Build Coastguard Worker public_deps = [ 878*8975f5c5SAndroid Build Coastguard Worker "$angle_root:angle_static", 879*8975f5c5SAndroid Build Coastguard Worker "$angle_root/util:angle_util_static", 880*8975f5c5SAndroid Build Coastguard Worker ] 881*8975f5c5SAndroid Build Coastguard Worker 882*8975f5c5SAndroid Build Coastguard Worker sources = [ 883*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/apfunc.c", 884*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/appl.c", 885*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/bclear.c", 886*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/bcolor.c", 887*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/bcorner.c", 888*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/blend.c", 889*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/bufobj.c", 890*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/clip.c", 891*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/colramp.c", 892*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/copytex.c", 893*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/dither.c", 894*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/divzero.c", 895*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/drawtex.c", 896*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/fogexp.c", 897*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/foglin.c", 898*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/gets.c", 899*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/l_ac.c", 900*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/l_al.c", 901*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/l_am.c", 902*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/l_ap.c", 903*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/l_as.c", 904*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/l_dl.c", 905*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/l_dm.c", 906*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/l_dmn.c", 907*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/l_dmp.c", 908*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/l_em.c", 909*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/l_se.c", 910*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/l_sed.c", 911*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/l_sen.c", 912*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/l_sep.c", 913*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/l_sl.c", 914*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/l_sm.c", 915*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/l_sn.c", 916*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/l_sp.c", 917*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/lineaa.c", 918*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/linehv.c", 919*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/linerast.c", 920*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/logicop.c", 921*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/mask.c", 922*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/mget.c", 923*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/mipgen.c", 924*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/miplevels.c", 925*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/miplin.c", 926*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/mipsel.c", 927*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/mpalette.c", 928*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/mquery.c", 929*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/mstack.c", 930*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/multitex.c", 931*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/mustpass.c", 932*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/packpix.c", 933*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/pntaa.c", 934*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/pntrast.c", 935*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/pntsprt.c", 936*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/pntszary.c", 937*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/polycull.c", 938*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/readfmt.c", 939*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/rescalen.c", 940*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/scissor.c", 941*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/spclear.c", 942*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/spcorner.c", 943*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/spfunc.c", 944*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/spop.c", 945*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/tests.c", 946*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/texcombine.c", 947*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/texdecal.c", 948*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/texedge.c", 949*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/texpalet.c", 950*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/trirast.c", 951*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/tritile.c", 952*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/userclip.c", 953*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/vorder.c", 954*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/vpclamp.c", 955*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/xform.c", 956*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/xformmix.c", 957*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/xformn.c", 958*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/xformvp.c", 959*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/xformw.c", 960*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/zbclear.c", 961*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conform/zbfunc.c", 962*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conformshell/conform.h", 963*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conformshell/driver.c", 964*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conformshell/driver.h", 965*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conformshell/path.c", 966*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conformshell/path.h", 967*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conformshell/pathdata.c", 968*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conformshell/pathdata.h", 969*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conformshell/paths.c", 970*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conformshell/shell.c", 971*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conformshell/util.c", 972*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conformshell/util.h", 973*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conformshell/utilg.c", 974*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conformshell/utilg.h", 975*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conformshell/utilm.c", 976*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conformshell/utilm.h", 977*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conformshell/utilp.c", 978*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conformshell/utilp.h", 979*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conformshell/utilru.c", 980*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conformshell/utilru.h", 981*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conformshell/utils.c", 982*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conformshell/utils.h", 983*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conformshell/utilt.c", 984*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/conformshell/utilt.h", 985*8975f5c5SAndroid Build Coastguard Worker ] 986*8975f5c5SAndroid Build Coastguard Worker 987*8975f5c5SAndroid Build Coastguard Worker sources += angle_gles1_conform_common_source 988*8975f5c5SAndroid Build Coastguard Worker } 989*8975f5c5SAndroid Build Coastguard Worker 990*8975f5c5SAndroid Build Coastguard Worker angle_test("angle_gles1_conformance_tests") { 991*8975f5c5SAndroid Build Coastguard Worker deps = [ 992*8975f5c5SAndroid Build Coastguard Worker ":angle_common_test_utils_static", 993*8975f5c5SAndroid Build Coastguard Worker ":angle_gles1_conformance_no_gtest", 994*8975f5c5SAndroid Build Coastguard Worker ] 995*8975f5c5SAndroid Build Coastguard Worker 996*8975f5c5SAndroid Build Coastguard Worker include_dirs = [ "." ] 997*8975f5c5SAndroid Build Coastguard Worker 998*8975f5c5SAndroid Build Coastguard Worker sources = [ 999*8975f5c5SAndroid Build Coastguard Worker "angle_generic_tests_main.cpp", 1000*8975f5c5SAndroid Build Coastguard Worker "gles1_conformance_tests/ConformanceTests.cpp", 1001*8975f5c5SAndroid Build Coastguard Worker "test_utils/ANGLETest.cpp", 1002*8975f5c5SAndroid Build Coastguard Worker "test_utils/ANGLETest.h", 1003*8975f5c5SAndroid Build Coastguard Worker ] 1004*8975f5c5SAndroid Build Coastguard Worker 1005*8975f5c5SAndroid Build Coastguard Worker configs += [ 1006*8975f5c5SAndroid Build Coastguard Worker ":angle_gles1_conform_support", 1007*8975f5c5SAndroid Build Coastguard Worker "${angle_root}:libANGLE_config", 1008*8975f5c5SAndroid Build Coastguard Worker "${angle_root}:angle_backend_config", 1009*8975f5c5SAndroid Build Coastguard Worker ] 1010*8975f5c5SAndroid Build Coastguard Worker } 1011*8975f5c5SAndroid Build Coastguard Worker 1012*8975f5c5SAndroid Build Coastguard Worker if (!is_win && !is_apple) { 1013*8975f5c5SAndroid Build Coastguard Worker source_set("angle_gles1_covgl_no_gtest") { 1014*8975f5c5SAndroid Build Coastguard Worker configs += [ 1015*8975f5c5SAndroid Build Coastguard Worker ":angle_gles1_conform_support", 1016*8975f5c5SAndroid Build Coastguard Worker "$angle_root:internal_config", 1017*8975f5c5SAndroid Build Coastguard Worker ] 1018*8975f5c5SAndroid Build Coastguard Worker 1019*8975f5c5SAndroid Build Coastguard Worker public_configs = [ 1020*8975f5c5SAndroid Build Coastguard Worker "$angle_root/util:angle_util_config", 1021*8975f5c5SAndroid Build Coastguard Worker "$angle_root:gl_prototypes", 1022*8975f5c5SAndroid Build Coastguard Worker ] 1023*8975f5c5SAndroid Build Coastguard Worker 1024*8975f5c5SAndroid Build Coastguard Worker testonly = true 1025*8975f5c5SAndroid Build Coastguard Worker 1026*8975f5c5SAndroid Build Coastguard Worker public_deps = [ 1027*8975f5c5SAndroid Build Coastguard Worker "$angle_root:angle_static", 1028*8975f5c5SAndroid Build Coastguard Worker "$angle_root/util:angle_util_static", 1029*8975f5c5SAndroid Build Coastguard Worker ] 1030*8975f5c5SAndroid Build Coastguard Worker 1031*8975f5c5SAndroid Build Coastguard Worker sources = [ 1032*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/covgl/a.c", 1033*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/covgl/b.c", 1034*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/covgl/c.c", 1035*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/covgl/d.c", 1036*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/covgl/data.c", 1037*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/covgl/e.c", 1038*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/covgl/enum.c", 1039*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/covgl/f.c", 1040*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/covgl/g.c", 1041*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/covgl/h.c", 1042*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/covgl/i.c", 1043*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/covgl/l.c", 1044*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/covgl/m.c", 1045*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/covgl/n.c", 1046*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/covgl/o.c", 1047*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/covgl/p.c", 1048*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/covgl/q.c", 1049*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/covgl/r.c", 1050*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/covgl/s.c", 1051*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/covgl/shell.h", 1052*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/covgl/t.c", 1053*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/covgl/v.c", 1054*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/covgl/w.c", 1055*8975f5c5SAndroid Build Coastguard Worker ] 1056*8975f5c5SAndroid Build Coastguard Worker 1057*8975f5c5SAndroid Build Coastguard Worker sources += angle_gles1_conform_common_source 1058*8975f5c5SAndroid Build Coastguard Worker 1059*8975f5c5SAndroid Build Coastguard Worker if (is_clang) { 1060*8975f5c5SAndroid Build Coastguard Worker cflags_c = [ "-Wno-shadow" ] 1061*8975f5c5SAndroid Build Coastguard Worker } 1062*8975f5c5SAndroid Build Coastguard Worker defines = [ "ProbeEnum=ProbeEnumANGLE" ] 1063*8975f5c5SAndroid Build Coastguard Worker } 1064*8975f5c5SAndroid Build Coastguard Worker 1065*8975f5c5SAndroid Build Coastguard Worker angle_test("angle_gles1_covgl_tests") { 1066*8975f5c5SAndroid Build Coastguard Worker deps = [ 1067*8975f5c5SAndroid Build Coastguard Worker ":angle_common_test_utils_static", 1068*8975f5c5SAndroid Build Coastguard Worker ":angle_gles1_covgl_no_gtest", 1069*8975f5c5SAndroid Build Coastguard Worker ] 1070*8975f5c5SAndroid Build Coastguard Worker 1071*8975f5c5SAndroid Build Coastguard Worker include_dirs = [ "." ] 1072*8975f5c5SAndroid Build Coastguard Worker 1073*8975f5c5SAndroid Build Coastguard Worker sources = [ 1074*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/covgl/shell.c", 1075*8975f5c5SAndroid Build Coastguard Worker "angle_generic_tests_main.cpp", 1076*8975f5c5SAndroid Build Coastguard Worker "gles1_conformance_tests/CovglTests.cpp", 1077*8975f5c5SAndroid Build Coastguard Worker "test_utils/ANGLETest.cpp", 1078*8975f5c5SAndroid Build Coastguard Worker "test_utils/ANGLETest.h", 1079*8975f5c5SAndroid Build Coastguard Worker ] 1080*8975f5c5SAndroid Build Coastguard Worker 1081*8975f5c5SAndroid Build Coastguard Worker if (is_clang) { 1082*8975f5c5SAndroid Build Coastguard Worker cflags_c = [ "-Wno-shadow" ] 1083*8975f5c5SAndroid Build Coastguard Worker } 1084*8975f5c5SAndroid Build Coastguard Worker 1085*8975f5c5SAndroid Build Coastguard Worker configs += [ 1086*8975f5c5SAndroid Build Coastguard Worker ":angle_gles1_conform_support", 1087*8975f5c5SAndroid Build Coastguard Worker "${angle_root}:libANGLE_config", 1088*8975f5c5SAndroid Build Coastguard Worker "${angle_root}:angle_backend_config", 1089*8975f5c5SAndroid Build Coastguard Worker ] 1090*8975f5c5SAndroid Build Coastguard Worker } 1091*8975f5c5SAndroid Build Coastguard Worker } 1092*8975f5c5SAndroid Build Coastguard Worker source_set("angle_gles1_primtest_no_gtest") { 1093*8975f5c5SAndroid Build Coastguard Worker configs += [ 1094*8975f5c5SAndroid Build Coastguard Worker ":angle_gles1_conform_support", 1095*8975f5c5SAndroid Build Coastguard Worker "$angle_root:internal_config", 1096*8975f5c5SAndroid Build Coastguard Worker ] 1097*8975f5c5SAndroid Build Coastguard Worker 1098*8975f5c5SAndroid Build Coastguard Worker public_configs = [ 1099*8975f5c5SAndroid Build Coastguard Worker "$angle_root/util:angle_util_config", 1100*8975f5c5SAndroid Build Coastguard Worker "$angle_root:gl_prototypes", 1101*8975f5c5SAndroid Build Coastguard Worker ] 1102*8975f5c5SAndroid Build Coastguard Worker 1103*8975f5c5SAndroid Build Coastguard Worker testonly = true 1104*8975f5c5SAndroid Build Coastguard Worker 1105*8975f5c5SAndroid Build Coastguard Worker public_deps = [ 1106*8975f5c5SAndroid Build Coastguard Worker "$angle_root:angle_static", 1107*8975f5c5SAndroid Build Coastguard Worker "$angle_root/util:angle_util_static", 1108*8975f5c5SAndroid Build Coastguard Worker ] 1109*8975f5c5SAndroid Build Coastguard Worker 1110*8975f5c5SAndroid Build Coastguard Worker sources = [ 1111*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/primtest/alias.c", 1112*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/primtest/alpha.c", 1113*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/primtest/blend.c", 1114*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/primtest/depth.c", 1115*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/primtest/dither.c", 1116*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/primtest/driver.c", 1117*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/primtest/driver.h", 1118*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/primtest/fog.c", 1119*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/primtest/hint.c", 1120*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/primtest/light.c", 1121*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/primtest/logic.c", 1122*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/primtest/prim.c", 1123*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/primtest/scissor.c", 1124*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/primtest/shade.c", 1125*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/primtest/shell.c", 1126*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/primtest/shell.h", 1127*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/primtest/stencil.c", 1128*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/primtest/texture.c", 1129*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/primtest/tproto.h", 1130*8975f5c5SAndroid Build Coastguard Worker ] 1131*8975f5c5SAndroid Build Coastguard Worker 1132*8975f5c5SAndroid Build Coastguard Worker sources += angle_gles1_conform_common_source 1133*8975f5c5SAndroid Build Coastguard Worker 1134*8975f5c5SAndroid Build Coastguard Worker if (is_clang) { 1135*8975f5c5SAndroid Build Coastguard Worker cflags_c = [ "-Wno-shadow" ] 1136*8975f5c5SAndroid Build Coastguard Worker } 1137*8975f5c5SAndroid Build Coastguard Worker } 1138*8975f5c5SAndroid Build Coastguard Worker 1139*8975f5c5SAndroid Build Coastguard Worker angle_test("angle_gles1_primtest_tests") { 1140*8975f5c5SAndroid Build Coastguard Worker deps = [ 1141*8975f5c5SAndroid Build Coastguard Worker ":angle_common_test_utils_static", 1142*8975f5c5SAndroid Build Coastguard Worker ":angle_gles1_primtest_no_gtest", 1143*8975f5c5SAndroid Build Coastguard Worker ] 1144*8975f5c5SAndroid Build Coastguard Worker 1145*8975f5c5SAndroid Build Coastguard Worker include_dirs = [ "$gles1_conform_root/conform" ] 1146*8975f5c5SAndroid Build Coastguard Worker 1147*8975f5c5SAndroid Build Coastguard Worker sources = [ 1148*8975f5c5SAndroid Build Coastguard Worker "angle_generic_tests_main.cpp", 1149*8975f5c5SAndroid Build Coastguard Worker "gles1_conformance_tests/PrimtestTests.cpp", 1150*8975f5c5SAndroid Build Coastguard Worker "test_utils/ANGLETest.cpp", 1151*8975f5c5SAndroid Build Coastguard Worker "test_utils/ANGLETest.h", 1152*8975f5c5SAndroid Build Coastguard Worker ] 1153*8975f5c5SAndroid Build Coastguard Worker 1154*8975f5c5SAndroid Build Coastguard Worker configs += [ 1155*8975f5c5SAndroid Build Coastguard Worker ":angle_gles1_conform_support", 1156*8975f5c5SAndroid Build Coastguard Worker "${angle_root}:angle_backend_config", 1157*8975f5c5SAndroid Build Coastguard Worker ] 1158*8975f5c5SAndroid Build Coastguard Worker } 1159*8975f5c5SAndroid Build Coastguard Worker source_set("angle_gles1_covegl_no_gtest_source") { 1160*8975f5c5SAndroid Build Coastguard Worker configs += [ 1161*8975f5c5SAndroid Build Coastguard Worker ":angle_gles1_conform_support", 1162*8975f5c5SAndroid Build Coastguard Worker "$angle_root:internal_config", 1163*8975f5c5SAndroid Build Coastguard Worker ] 1164*8975f5c5SAndroid Build Coastguard Worker 1165*8975f5c5SAndroid Build Coastguard Worker public_configs = [ 1166*8975f5c5SAndroid Build Coastguard Worker "$angle_root/util:angle_util_config", 1167*8975f5c5SAndroid Build Coastguard Worker "$angle_root:gl_prototypes", 1168*8975f5c5SAndroid Build Coastguard Worker ] 1169*8975f5c5SAndroid Build Coastguard Worker 1170*8975f5c5SAndroid Build Coastguard Worker testonly = true 1171*8975f5c5SAndroid Build Coastguard Worker 1172*8975f5c5SAndroid Build Coastguard Worker public_deps = [ 1173*8975f5c5SAndroid Build Coastguard Worker "$angle_root:angle_static", 1174*8975f5c5SAndroid Build Coastguard Worker "$angle_root/util:angle_util_static", 1175*8975f5c5SAndroid Build Coastguard Worker ] 1176*8975f5c5SAndroid Build Coastguard Worker 1177*8975f5c5SAndroid Build Coastguard Worker sources = [ 1178*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/covegl/enum.c", 1179*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/covegl/native.h", 1180*8975f5c5SAndroid Build Coastguard Worker "$gles1_conform_root/conform/covegl/test.c", 1181*8975f5c5SAndroid Build Coastguard Worker ] 1182*8975f5c5SAndroid Build Coastguard Worker 1183*8975f5c5SAndroid Build Coastguard Worker sources += angle_gles1_conform_common_source 1184*8975f5c5SAndroid Build Coastguard Worker 1185*8975f5c5SAndroid Build Coastguard Worker if (is_clang) { 1186*8975f5c5SAndroid Build Coastguard Worker cflags_c = [ "-Wno-shadow" ] 1187*8975f5c5SAndroid Build Coastguard Worker } 1188*8975f5c5SAndroid Build Coastguard Worker 1189*8975f5c5SAndroid Build Coastguard Worker if (!is_win && !is_linux && !is_chromeos) { 1190*8975f5c5SAndroid Build Coastguard Worker defines = [ "NULLWS" ] 1191*8975f5c5SAndroid Build Coastguard Worker } 1192*8975f5c5SAndroid Build Coastguard Worker } 1193*8975f5c5SAndroid Build Coastguard Worker 1194*8975f5c5SAndroid Build Coastguard Worker angle_test("angle_gles1_covegl_no_gtest") { 1195*8975f5c5SAndroid Build Coastguard Worker deps = [ ":angle_gles1_covegl_no_gtest_source" ] 1196*8975f5c5SAndroid Build Coastguard Worker 1197*8975f5c5SAndroid Build Coastguard Worker include_dirs = [ "$gles1_conform_root" ] 1198*8975f5c5SAndroid Build Coastguard Worker 1199*8975f5c5SAndroid Build Coastguard Worker sources = [ "$gles1_conform_root/conform/covegl/shell.c" ] 1200*8975f5c5SAndroid Build Coastguard Worker 1201*8975f5c5SAndroid Build Coastguard Worker if (is_win) { 1202*8975f5c5SAndroid Build Coastguard Worker sources += [ "$gles1_conform_root/conform/covegl/native_w32.c" ] 1203*8975f5c5SAndroid Build Coastguard Worker } else if (is_linux || is_chromeos) { 1204*8975f5c5SAndroid Build Coastguard Worker sources += [ "$gles1_conform_root/conform/covegl/native.c" ] 1205*8975f5c5SAndroid Build Coastguard Worker } else { 1206*8975f5c5SAndroid Build Coastguard Worker sources += [ "$gles1_conform_root/conform/covegl/native_nws.c" ] 1207*8975f5c5SAndroid Build Coastguard Worker defines += [ "NULLWS" ] 1208*8975f5c5SAndroid Build Coastguard Worker } 1209*8975f5c5SAndroid Build Coastguard Worker 1210*8975f5c5SAndroid Build Coastguard Worker configs += [ "${angle_root}:angle_backend_config" ] 1211*8975f5c5SAndroid Build Coastguard Worker 1212*8975f5c5SAndroid Build Coastguard Worker defines += [ "COMMON" ] 1213*8975f5c5SAndroid Build Coastguard Worker 1214*8975f5c5SAndroid Build Coastguard Worker if (is_clang) { 1215*8975f5c5SAndroid Build Coastguard Worker cflags_c = [ "-Wno-shadow" ] 1216*8975f5c5SAndroid Build Coastguard Worker } 1217*8975f5c5SAndroid Build Coastguard Worker 1218*8975f5c5SAndroid Build Coastguard Worker if (is_win) { 1219*8975f5c5SAndroid Build Coastguard Worker if (is_clang) { 1220*8975f5c5SAndroid Build Coastguard Worker cflags = [ "-Wno-incompatible-pointer-types" ] 1221*8975f5c5SAndroid Build Coastguard Worker } else { 1222*8975f5c5SAndroid Build Coastguard Worker cflags = [ "/wd4133" ] # 'function': incompatible types 1223*8975f5c5SAndroid Build Coastguard Worker } 1224*8975f5c5SAndroid Build Coastguard Worker 1225*8975f5c5SAndroid Build Coastguard Worker suppressed_configs += [ 1226*8975f5c5SAndroid Build Coastguard Worker "//build/config/win:lean_and_mean", 1227*8975f5c5SAndroid Build Coastguard Worker "//build/config/win:nominmax", 1228*8975f5c5SAndroid Build Coastguard Worker "//build/config/win:unicode", 1229*8975f5c5SAndroid Build Coastguard Worker ] 1230*8975f5c5SAndroid Build Coastguard Worker } 1231*8975f5c5SAndroid Build Coastguard Worker } 1232*8975f5c5SAndroid Build Coastguard Worker} 1233*8975f5c5SAndroid Build Coastguard Worker 1234*8975f5c5SAndroid Build Coastguard Worker###----------------------------------------------------- 1235*8975f5c5SAndroid Build Coastguard Worker### dEQP tests 1236*8975f5c5SAndroid Build Coastguard Worker###----------------------------------------------------- 1237*8975f5c5SAndroid Build Coastguard Worker 1238*8975f5c5SAndroid Build Coastguard Workerif (build_angle_deqp_tests && !is_fuchsia) { 1239*8975f5c5SAndroid Build Coastguard Worker import("deqp_support/deqp.gni") 1240*8975f5c5SAndroid Build Coastguard Worker import("deqp_support/deqp_data_autogen.gni") 1241*8975f5c5SAndroid Build Coastguard Worker 1242*8975f5c5SAndroid Build Coastguard Worker config("angle_deqp_support") { 1243*8975f5c5SAndroid Build Coastguard Worker include_dirs = deqp_include_dirs 1244*8975f5c5SAndroid Build Coastguard Worker if (is_win && !is_clang) { 1245*8975f5c5SAndroid Build Coastguard Worker include_dirs += [ "$deqp_path/framework/platform/win32" ] 1246*8975f5c5SAndroid Build Coastguard Worker cflags = [ 1247*8975f5c5SAndroid Build Coastguard Worker "/EHsc", # dEQP requires exceptions 1248*8975f5c5SAndroid Build Coastguard Worker "/wd4091", # typedef ignored when no variable is declared 1249*8975f5c5SAndroid Build Coastguard Worker "/wd4100", 1250*8975f5c5SAndroid Build Coastguard Worker "/wd4101", # unreferenced local variable 1251*8975f5c5SAndroid Build Coastguard Worker "/wd4125", # decimal digit terminates octal escape sequence 1252*8975f5c5SAndroid Build Coastguard Worker "/wd4127", # conditional expression constant 1253*8975f5c5SAndroid Build Coastguard Worker "/wd4244", # possible loss of data 1254*8975f5c5SAndroid Build Coastguard Worker "/wd4245", # argument signed/unsigned mismatch 1255*8975f5c5SAndroid Build Coastguard Worker "/wd4297", # function assumed not to throw an exception but does 1256*8975f5c5SAndroid Build Coastguard Worker "/wd4302", # truncation 1257*8975f5c5SAndroid Build Coastguard Worker "/wd4311", # pointer truncation 1258*8975f5c5SAndroid Build Coastguard Worker "/wd4389", # signed/unsigned mismatch 1259*8975f5c5SAndroid Build Coastguard Worker "/wd4510", # default constructor could not be generated 1260*8975f5c5SAndroid Build Coastguard Worker "/wd4512", 1261*8975f5c5SAndroid Build Coastguard Worker "/wd4610", # cannot be instantiated 1262*8975f5c5SAndroid Build Coastguard Worker "/wd4611", # setjmp interaction non-portable 1263*8975f5c5SAndroid Build Coastguard Worker "/wd4701", # potentially uninit used 1264*8975f5c5SAndroid Build Coastguard Worker "/wd4702", # unreachable code 1265*8975f5c5SAndroid Build Coastguard Worker "/wd4706", # assignment within conditional expression 1266*8975f5c5SAndroid Build Coastguard Worker "/wd4834", # discarding return value of function with 'nodiscard' 1267*8975f5c5SAndroid Build Coastguard Worker # attribute 1268*8975f5c5SAndroid Build Coastguard Worker "/wd4838", # conversion requires a narrowing conversion 1269*8975f5c5SAndroid Build Coastguard Worker "/wd4996", # deprecated 1270*8975f5c5SAndroid Build Coastguard Worker ] 1271*8975f5c5SAndroid Build Coastguard Worker } 1272*8975f5c5SAndroid Build Coastguard Worker 1273*8975f5c5SAndroid Build Coastguard Worker defines = [ 1274*8975f5c5SAndroid Build Coastguard Worker "DEQP_SUPPORT_GLES31=1", 1275*8975f5c5SAndroid Build Coastguard Worker "DEQP_SUPPORT_GLES3=1", 1276*8975f5c5SAndroid Build Coastguard Worker "DEQP_SUPPORT_GLES2=1", 1277*8975f5c5SAndroid Build Coastguard Worker "DEQP_SUPPORT_EGL=1", 1278*8975f5c5SAndroid Build Coastguard Worker "DEQP_TARGET_NAME=\"angle\"", 1279*8975f5c5SAndroid Build Coastguard Worker "DEQP_GLES31_RUNTIME_LOAD=1", 1280*8975f5c5SAndroid Build Coastguard Worker "DEQP_GLES3_RUNTIME_LOAD=1", 1281*8975f5c5SAndroid Build Coastguard Worker "DEQP_GLES2_RUNTIME_LOAD=1", 1282*8975f5c5SAndroid Build Coastguard Worker "QP_SUPPORT_PNG=1", 1283*8975f5c5SAndroid Build Coastguard Worker "_HAS_EXCEPTIONS=1", 1284*8975f5c5SAndroid Build Coastguard Worker "_MBCS", 1285*8975f5c5SAndroid Build Coastguard Worker "ANGLE_DEQP_DATA_DIR=\"gen/vk_gl_cts_data/data\"", 1286*8975f5c5SAndroid Build Coastguard Worker ] 1287*8975f5c5SAndroid Build Coastguard Worker 1288*8975f5c5SAndroid Build Coastguard Worker if (is_android) { 1289*8975f5c5SAndroid Build Coastguard Worker include_dirs += [ "$deqp_path/framework/platform/android" ] 1290*8975f5c5SAndroid Build Coastguard Worker 1291*8975f5c5SAndroid Build Coastguard Worker _android_api = android64_ndk_api_level 1292*8975f5c5SAndroid Build Coastguard Worker if (!angle_64bit_current_cpu) { 1293*8975f5c5SAndroid Build Coastguard Worker _android_api = android32_ndk_api_level 1294*8975f5c5SAndroid Build Coastguard Worker } 1295*8975f5c5SAndroid Build Coastguard Worker 1296*8975f5c5SAndroid Build Coastguard Worker defines += [ "DE_ANDROID_API=" + "${_android_api}" ] 1297*8975f5c5SAndroid Build Coastguard Worker } 1298*8975f5c5SAndroid Build Coastguard Worker 1299*8975f5c5SAndroid Build Coastguard Worker if (is_clang) { 1300*8975f5c5SAndroid Build Coastguard Worker # TODO(jmadill): Remove this once we fix dEQP. 1301*8975f5c5SAndroid Build Coastguard Worker cflags_c = [ "-Wno-unused-local-typedef" ] 1302*8975f5c5SAndroid Build Coastguard Worker cflags_cc = [ 1303*8975f5c5SAndroid Build Coastguard Worker "-Wno-sizeof-array-div", # https://gitlab.khronos.org/Tracker/vk-gl-cts/issues/2127 1304*8975f5c5SAndroid Build Coastguard Worker "-Wno-string-conversion", # implicit conversion turns string literal 1305*8975f5c5SAndroid Build Coastguard Worker # into bool 1306*8975f5c5SAndroid Build Coastguard Worker "-Wno-unused-function", 1307*8975f5c5SAndroid Build Coastguard Worker "-Wno-unused-local-typedef", 1308*8975f5c5SAndroid Build Coastguard Worker "-Wno-unused-result", # ignoring return value of function declared with 1309*8975f5c5SAndroid Build Coastguard Worker # 'nodiscard' attribute 1310*8975f5c5SAndroid Build Coastguard Worker ] 1311*8975f5c5SAndroid Build Coastguard Worker if (!is_win) { 1312*8975f5c5SAndroid Build Coastguard Worker # Not supported by clang-cl 1313*8975f5c5SAndroid Build Coastguard Worker cflags_cc += [ 1314*8975f5c5SAndroid Build Coastguard Worker "-fwrapv", # Treat signed integer overflow as two's complement 1315*8975f5c5SAndroid Build Coastguard Worker # https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/37 1316*8975f5c5SAndroid Build Coastguard Worker # https://android.googlesource.com/platform/external/deqp/+/ae6c306e39080de59a8535cf1797b27951dcaa6c%5E%21/ 1317*8975f5c5SAndroid Build Coastguard Worker ] 1318*8975f5c5SAndroid Build Coastguard Worker } 1319*8975f5c5SAndroid Build Coastguard Worker } 1320*8975f5c5SAndroid Build Coastguard Worker 1321*8975f5c5SAndroid Build Coastguard Worker # Ask the system headers to expose all the regular function otherwise 1322*8975f5c5SAndroid Build Coastguard Worker # dEQP doesn't compile and produces warnings about implicitly defined 1323*8975f5c5SAndroid Build Coastguard Worker # functions. 1324*8975f5c5SAndroid Build Coastguard Worker if (is_linux || is_chromeos) { 1325*8975f5c5SAndroid Build Coastguard Worker # This has to be GNU_SOURCE as on Linux dEQP uses syscall() 1326*8975f5c5SAndroid Build Coastguard Worker defines += [ "_GNU_SOURCE" ] 1327*8975f5c5SAndroid Build Coastguard Worker } 1328*8975f5c5SAndroid Build Coastguard Worker if (is_android) { 1329*8975f5c5SAndroid Build Coastguard Worker # _XOPEN_SOURCE=600 is what is used in deqp/src/Android.mk 1330*8975f5c5SAndroid Build Coastguard Worker defines += [ "_XOPEN_SOURCE=600" ] 1331*8975f5c5SAndroid Build Coastguard Worker } else if (is_apple) { 1332*8975f5c5SAndroid Build Coastguard Worker # Work-around for https://github.com/llvm/llvm-project/issues/117630 1333*8975f5c5SAndroid Build Coastguard Worker defines += [ "_XOPEN_SOURCE=700" ] 1334*8975f5c5SAndroid Build Coastguard Worker } 1335*8975f5c5SAndroid Build Coastguard Worker } 1336*8975f5c5SAndroid Build Coastguard Worker 1337*8975f5c5SAndroid Build Coastguard Worker deqp_undefine_configs = [ 1338*8975f5c5SAndroid Build Coastguard Worker "//build/config/compiler:chromium_code", 1339*8975f5c5SAndroid Build Coastguard Worker "//build/config/compiler:no_exceptions", 1340*8975f5c5SAndroid Build Coastguard Worker "//build/config/compiler:no_rtti", 1341*8975f5c5SAndroid Build Coastguard Worker "${angle_root}:constructor_and_destructor_warnings", 1342*8975f5c5SAndroid Build Coastguard Worker "${angle_root}:extra_warnings", 1343*8975f5c5SAndroid Build Coastguard Worker ] 1344*8975f5c5SAndroid Build Coastguard Worker 1345*8975f5c5SAndroid Build Coastguard Worker if (is_win) { 1346*8975f5c5SAndroid Build Coastguard Worker deqp_undefine_configs += [ 1347*8975f5c5SAndroid Build Coastguard Worker "//build/config/win:lean_and_mean", 1348*8975f5c5SAndroid Build Coastguard Worker "//build/config/win:nominmax", 1349*8975f5c5SAndroid Build Coastguard Worker "//build/config/win:unicode", 1350*8975f5c5SAndroid Build Coastguard Worker ] 1351*8975f5c5SAndroid Build Coastguard Worker } 1352*8975f5c5SAndroid Build Coastguard Worker 1353*8975f5c5SAndroid Build Coastguard Worker set_defaults("angle_deqp_source_set") { 1354*8975f5c5SAndroid Build Coastguard Worker public_configs = [] 1355*8975f5c5SAndroid Build Coastguard Worker configs = angle_common_configs 1356*8975f5c5SAndroid Build Coastguard Worker cflags = [] 1357*8975f5c5SAndroid Build Coastguard Worker } 1358*8975f5c5SAndroid Build Coastguard Worker 1359*8975f5c5SAndroid Build Coastguard Worker template("angle_deqp_source_set") { 1360*8975f5c5SAndroid Build Coastguard Worker angle_source_set(target_name) { 1361*8975f5c5SAndroid Build Coastguard Worker testonly = true 1362*8975f5c5SAndroid Build Coastguard Worker forward_variables_from(invoker, "*") 1363*8975f5c5SAndroid Build Coastguard Worker suppressed_configs += deqp_undefine_configs 1364*8975f5c5SAndroid Build Coastguard Worker 1365*8975f5c5SAndroid Build Coastguard Worker if (is_clang) { 1366*8975f5c5SAndroid Build Coastguard Worker cflags += [ 1367*8975f5c5SAndroid Build Coastguard Worker # Suppress a spurious header warning. http://crbug.com/995046 1368*8975f5c5SAndroid Build Coastguard Worker "-Wno-nonportable-include-path", 1369*8975f5c5SAndroid Build Coastguard Worker ] 1370*8975f5c5SAndroid Build Coastguard Worker } 1371*8975f5c5SAndroid Build Coastguard Worker } 1372*8975f5c5SAndroid Build Coastguard Worker } 1373*8975f5c5SAndroid Build Coastguard Worker 1374*8975f5c5SAndroid Build Coastguard Worker config("angle_deqp_framework_debase_config") { 1375*8975f5c5SAndroid Build Coastguard Worker include_dirs = [ "$deqp_path/framework/delibs/debase" ] 1376*8975f5c5SAndroid Build Coastguard Worker } 1377*8975f5c5SAndroid Build Coastguard Worker 1378*8975f5c5SAndroid Build Coastguard Worker angle_deqp_source_set("angle_deqp_framework_debase") { 1379*8975f5c5SAndroid Build Coastguard Worker public_configs += [ ":angle_deqp_framework_debase_config" ] 1380*8975f5c5SAndroid Build Coastguard Worker sources = deqp_framework_debase_sources 1381*8975f5c5SAndroid Build Coastguard Worker } 1382*8975f5c5SAndroid Build Coastguard Worker 1383*8975f5c5SAndroid Build Coastguard Worker config("angle_deqp_framework_decpp_config") { 1384*8975f5c5SAndroid Build Coastguard Worker include_dirs = [ "$deqp_path/framework/delibs/decpp" ] 1385*8975f5c5SAndroid Build Coastguard Worker } 1386*8975f5c5SAndroid Build Coastguard Worker 1387*8975f5c5SAndroid Build Coastguard Worker angle_deqp_source_set("angle_deqp_framework_decpp") { 1388*8975f5c5SAndroid Build Coastguard Worker public_configs += [ 1389*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_support", 1390*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_framework_decpp_config", 1391*8975f5c5SAndroid Build Coastguard Worker "//build/config/compiler:exceptions", 1392*8975f5c5SAndroid Build Coastguard Worker "//build/config/compiler:no_chromium_code", 1393*8975f5c5SAndroid Build Coastguard Worker ] 1394*8975f5c5SAndroid Build Coastguard Worker if (is_clang) { 1395*8975f5c5SAndroid Build Coastguard Worker cflags_cc = [ 1396*8975f5c5SAndroid Build Coastguard Worker # Supresses self assign warnings in SharedPtr_selfTest 1397*8975f5c5SAndroid Build Coastguard Worker # Can be removed if dEQP or clang are fixed 1398*8975f5c5SAndroid Build Coastguard Worker "-Wno-self-assign", 1399*8975f5c5SAndroid Build Coastguard Worker ] 1400*8975f5c5SAndroid Build Coastguard Worker } 1401*8975f5c5SAndroid Build Coastguard Worker 1402*8975f5c5SAndroid Build Coastguard Worker public_deps = [ 1403*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_framework_debase", 1404*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_framework_delibs", 1405*8975f5c5SAndroid Build Coastguard Worker ] 1406*8975f5c5SAndroid Build Coastguard Worker sources = deqp_framework_decpp_sources 1407*8975f5c5SAndroid Build Coastguard Worker } 1408*8975f5c5SAndroid Build Coastguard Worker 1409*8975f5c5SAndroid Build Coastguard Worker config("angle_deqp_framework_xexml_config") { 1410*8975f5c5SAndroid Build Coastguard Worker include_dirs = [ "$deqp_path/framework/xexml" ] 1411*8975f5c5SAndroid Build Coastguard Worker } 1412*8975f5c5SAndroid Build Coastguard Worker 1413*8975f5c5SAndroid Build Coastguard Worker angle_deqp_source_set("angle_deqp_framework_xexml") { 1414*8975f5c5SAndroid Build Coastguard Worker public_configs += [ 1415*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_support", 1416*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_framework_decpp_config", 1417*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_framework_delibs_config", 1418*8975f5c5SAndroid Build Coastguard Worker "//build/config/compiler:exceptions", 1419*8975f5c5SAndroid Build Coastguard Worker "//build/config/compiler:no_chromium_code", 1420*8975f5c5SAndroid Build Coastguard Worker ] 1421*8975f5c5SAndroid Build Coastguard Worker 1422*8975f5c5SAndroid Build Coastguard Worker public_deps = [ 1423*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_framework_debase", 1424*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_framework_decpp", 1425*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_framework_delibs", 1426*8975f5c5SAndroid Build Coastguard Worker ] 1427*8975f5c5SAndroid Build Coastguard Worker sources = deqp_framework_xexml_sources 1428*8975f5c5SAndroid Build Coastguard Worker } 1429*8975f5c5SAndroid Build Coastguard Worker 1430*8975f5c5SAndroid Build Coastguard Worker config("angle_deqp_libtester_config") { 1431*8975f5c5SAndroid Build Coastguard Worker defines = [ "ANGLE_DEQP_LIBTESTER_IMPLEMENTATION" ] 1432*8975f5c5SAndroid Build Coastguard Worker 1433*8975f5c5SAndroid Build Coastguard Worker if (is_clang) { 1434*8975f5c5SAndroid Build Coastguard Worker # TODO(jmadill): Remove this once we fix dEQP. 1435*8975f5c5SAndroid Build Coastguard Worker cflags_cc = [ 1436*8975f5c5SAndroid Build Coastguard Worker "-Wno-delete-non-virtual-dtor", 1437*8975f5c5SAndroid Build Coastguard Worker "-Wno-deprecated", 1438*8975f5c5SAndroid Build Coastguard Worker 1439*8975f5c5SAndroid Build Coastguard Worker # Supresses self assign warning in setLumSat 1440*8975f5c5SAndroid Build Coastguard Worker # Can be removed if dEQP or clang are fixed 1441*8975f5c5SAndroid Build Coastguard Worker "-Wno-self-assign", 1442*8975f5c5SAndroid Build Coastguard Worker ] 1443*8975f5c5SAndroid Build Coastguard Worker } 1444*8975f5c5SAndroid Build Coastguard Worker } 1445*8975f5c5SAndroid Build Coastguard Worker 1446*8975f5c5SAndroid Build Coastguard Worker config("angle_deqp_framework_delibs_config") { 1447*8975f5c5SAndroid Build Coastguard Worker include_dirs = [ 1448*8975f5c5SAndroid Build Coastguard Worker "$deqp_path/framework/delibs/debase", 1449*8975f5c5SAndroid Build Coastguard Worker "$deqp_path/framework/delibs/depool", 1450*8975f5c5SAndroid Build Coastguard Worker "$deqp_path/framework/delibs/dethread", 1451*8975f5c5SAndroid Build Coastguard Worker "$deqp_path/framework/delibs/deutil", 1452*8975f5c5SAndroid Build Coastguard Worker "$deqp_path/framework/delibs/destream", 1453*8975f5c5SAndroid Build Coastguard Worker ] 1454*8975f5c5SAndroid Build Coastguard Worker 1455*8975f5c5SAndroid Build Coastguard Worker # https://github.com/KhronosGroup/VK-GL-CTS/commit/9f306457b48b3f8258ca44462003ef39b80a7515 1456*8975f5c5SAndroid Build Coastguard Worker if (is_clang) { 1457*8975f5c5SAndroid Build Coastguard Worker if (target_cpu == "arm") { 1458*8975f5c5SAndroid Build Coastguard Worker defines = [ "DE_FENV_ACCESS_ON=" ] 1459*8975f5c5SAndroid Build Coastguard Worker } else { 1460*8975f5c5SAndroid Build Coastguard Worker defines = [ "DE_FENV_ACCESS_ON=_Pragma(\"STDC FENV_ACCESS ON\")" ] 1461*8975f5c5SAndroid Build Coastguard Worker } 1462*8975f5c5SAndroid Build Coastguard Worker } else if (is_win) { 1463*8975f5c5SAndroid Build Coastguard Worker defines = [ "DE_FENV_ACCESS_ON=__pragma(fenv_access (on))" ] 1464*8975f5c5SAndroid Build Coastguard Worker } 1465*8975f5c5SAndroid Build Coastguard Worker } 1466*8975f5c5SAndroid Build Coastguard Worker 1467*8975f5c5SAndroid Build Coastguard Worker angle_deqp_source_set("angle_deqp_framework_delibs") { 1468*8975f5c5SAndroid Build Coastguard Worker sources = deqp_framework_delibs_sources 1469*8975f5c5SAndroid Build Coastguard Worker 1470*8975f5c5SAndroid Build Coastguard Worker if (is_win) { 1471*8975f5c5SAndroid Build Coastguard Worker sources += deqp_framework_delibs_sources_win 1472*8975f5c5SAndroid Build Coastguard Worker } 1473*8975f5c5SAndroid Build Coastguard Worker if (is_linux || is_chromeos || is_android || is_apple) { 1474*8975f5c5SAndroid Build Coastguard Worker sources += deqp_framework_delibs_sources_unix 1475*8975f5c5SAndroid Build Coastguard Worker } 1476*8975f5c5SAndroid Build Coastguard Worker 1477*8975f5c5SAndroid Build Coastguard Worker public_configs = [ 1478*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_framework_delibs_config", 1479*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_support", 1480*8975f5c5SAndroid Build Coastguard Worker ] 1481*8975f5c5SAndroid Build Coastguard Worker 1482*8975f5c5SAndroid Build Coastguard Worker public_deps = [ ":angle_deqp_framework_debase" ] 1483*8975f5c5SAndroid Build Coastguard Worker } 1484*8975f5c5SAndroid Build Coastguard Worker 1485*8975f5c5SAndroid Build Coastguard Worker config("angle_deqp_framework_common_config") { 1486*8975f5c5SAndroid Build Coastguard Worker include_dirs = [ 1487*8975f5c5SAndroid Build Coastguard Worker "$deqp_path/framework/common", 1488*8975f5c5SAndroid Build Coastguard Worker "$deqp_path/framework/randomshaders", 1489*8975f5c5SAndroid Build Coastguard Worker "$deqp_path/framework/referencerenderer", 1490*8975f5c5SAndroid Build Coastguard Worker ] 1491*8975f5c5SAndroid Build Coastguard Worker } 1492*8975f5c5SAndroid Build Coastguard Worker 1493*8975f5c5SAndroid Build Coastguard Worker angle_deqp_source_set("angle_deqp_framework_common") { 1494*8975f5c5SAndroid Build Coastguard Worker sources = deqp_framework_common_sources 1495*8975f5c5SAndroid Build Coastguard Worker public_configs = [ ":angle_deqp_framework_common_config" ] 1496*8975f5c5SAndroid Build Coastguard Worker public_deps = [ 1497*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_framework_decpp", 1498*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_framework_qphelper", 1499*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_framework_xexml", 1500*8975f5c5SAndroid Build Coastguard Worker ] 1501*8975f5c5SAndroid Build Coastguard Worker } 1502*8975f5c5SAndroid Build Coastguard Worker 1503*8975f5c5SAndroid Build Coastguard Worker config("angle_deqp_framework_opengl_config") { 1504*8975f5c5SAndroid Build Coastguard Worker include_dirs = [ 1505*8975f5c5SAndroid Build Coastguard Worker "$deqp_path/framework/egl/wrapper", 1506*8975f5c5SAndroid Build Coastguard Worker "$deqp_path/framework/opengl", 1507*8975f5c5SAndroid Build Coastguard Worker "$deqp_path/framework/opengl/simplereference", 1508*8975f5c5SAndroid Build Coastguard Worker "$deqp_path/framework/opengl/wrapper", 1509*8975f5c5SAndroid Build Coastguard Worker ] 1510*8975f5c5SAndroid Build Coastguard Worker } 1511*8975f5c5SAndroid Build Coastguard Worker 1512*8975f5c5SAndroid Build Coastguard Worker angle_deqp_source_set("angle_deqp_framework_opengl") { 1513*8975f5c5SAndroid Build Coastguard Worker sources = deqp_framework_opengl_sources 1514*8975f5c5SAndroid Build Coastguard Worker public_configs = [ ":angle_deqp_framework_opengl_config" ] 1515*8975f5c5SAndroid Build Coastguard Worker public_deps = [ ":angle_deqp_framework_common" ] 1516*8975f5c5SAndroid Build Coastguard Worker } 1517*8975f5c5SAndroid Build Coastguard Worker 1518*8975f5c5SAndroid Build Coastguard Worker config("angle_deqp_framework_egl_config") { 1519*8975f5c5SAndroid Build Coastguard Worker include_dirs = [ 1520*8975f5c5SAndroid Build Coastguard Worker "$deqp_path/framework/egl", 1521*8975f5c5SAndroid Build Coastguard Worker "$deqp_path/framework/egl/wrapper", 1522*8975f5c5SAndroid Build Coastguard Worker ] 1523*8975f5c5SAndroid Build Coastguard Worker } 1524*8975f5c5SAndroid Build Coastguard Worker 1525*8975f5c5SAndroid Build Coastguard Worker angle_deqp_source_set("angle_deqp_framework_egl") { 1526*8975f5c5SAndroid Build Coastguard Worker sources = deqp_framework_egl_sources 1527*8975f5c5SAndroid Build Coastguard Worker public_configs = [ ":angle_deqp_framework_egl_config" ] 1528*8975f5c5SAndroid Build Coastguard Worker public_deps = [ ":angle_deqp_framework_opengl" ] 1529*8975f5c5SAndroid Build Coastguard Worker } 1530*8975f5c5SAndroid Build Coastguard Worker 1531*8975f5c5SAndroid Build Coastguard Worker config("angle_deqp_framework_qphelper_config") { 1532*8975f5c5SAndroid Build Coastguard Worker include_dirs = [ "$deqp_path/framework/qphelper" ] 1533*8975f5c5SAndroid Build Coastguard Worker } 1534*8975f5c5SAndroid Build Coastguard Worker 1535*8975f5c5SAndroid Build Coastguard Worker angle_deqp_source_set("angle_deqp_framework_qphelper") { 1536*8975f5c5SAndroid Build Coastguard Worker sources = deqp_framework_qphelper_sources 1537*8975f5c5SAndroid Build Coastguard Worker public_deps = [ 1538*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_framework_delibs", 1539*8975f5c5SAndroid Build Coastguard Worker "${angle_libpng_dir}:libpng", 1540*8975f5c5SAndroid Build Coastguard Worker ] 1541*8975f5c5SAndroid Build Coastguard Worker public_configs = [ ":angle_deqp_framework_qphelper_config" ] 1542*8975f5c5SAndroid Build Coastguard Worker } 1543*8975f5c5SAndroid Build Coastguard Worker 1544*8975f5c5SAndroid Build Coastguard Worker config("angle_deqp_glshared_config") { 1545*8975f5c5SAndroid Build Coastguard Worker include_dirs = [ "$deqp_path/modules/glshared" ] 1546*8975f5c5SAndroid Build Coastguard Worker } 1547*8975f5c5SAndroid Build Coastguard Worker 1548*8975f5c5SAndroid Build Coastguard Worker angle_deqp_source_set("angle_deqp_glshared") { 1549*8975f5c5SAndroid Build Coastguard Worker sources = deqp_glshared_sources 1550*8975f5c5SAndroid Build Coastguard Worker public_deps = [ ":angle_deqp_framework_opengl" ] 1551*8975f5c5SAndroid Build Coastguard Worker public_configs = [ ":angle_deqp_glshared_config" ] 1552*8975f5c5SAndroid Build Coastguard Worker } 1553*8975f5c5SAndroid Build Coastguard Worker 1554*8975f5c5SAndroid Build Coastguard Worker angle_deqp_source_set("angle_deqp_framework_platform") { 1555*8975f5c5SAndroid Build Coastguard Worker if (is_ios) { 1556*8975f5c5SAndroid Build Coastguard Worker # shared libraries are hidden inside ios_framework_bundle, but we include headers from them 1557*8975f5c5SAndroid Build Coastguard Worker check_includes = false 1558*8975f5c5SAndroid Build Coastguard Worker } 1559*8975f5c5SAndroid Build Coastguard Worker sources = deqp_framework_platform_sources 1560*8975f5c5SAndroid Build Coastguard Worker libs = [] 1561*8975f5c5SAndroid Build Coastguard Worker if (is_win) { 1562*8975f5c5SAndroid Build Coastguard Worker sources += [ 1563*8975f5c5SAndroid Build Coastguard Worker "$deqp_path/framework/platform/win32/tcuWGL.cpp", 1564*8975f5c5SAndroid Build Coastguard Worker "$deqp_path/framework/platform/win32/tcuWGLContextFactory.cpp", 1565*8975f5c5SAndroid Build Coastguard Worker "$deqp_path/framework/platform/win32/tcuWin32EGLNativeDisplayFactory.cpp", 1566*8975f5c5SAndroid Build Coastguard Worker "$deqp_path/framework/platform/win32/tcuWin32Window.cpp", 1567*8975f5c5SAndroid Build Coastguard Worker ] 1568*8975f5c5SAndroid Build Coastguard Worker } 1569*8975f5c5SAndroid Build Coastguard Worker if (is_linux) { 1570*8975f5c5SAndroid Build Coastguard Worker sources += [ 1571*8975f5c5SAndroid Build Coastguard Worker "$deqp_path/framework/platform/lnx/X11/tcuLnxX11.cpp", 1572*8975f5c5SAndroid Build Coastguard Worker "$deqp_path/framework/platform/lnx/X11/tcuLnxX11.hpp", 1573*8975f5c5SAndroid Build Coastguard Worker "$deqp_path/framework/platform/lnx/X11/tcuLnxX11EglDisplayFactory.cpp", 1574*8975f5c5SAndroid Build Coastguard Worker "$deqp_path/framework/platform/lnx/X11/tcuLnxX11EglDisplayFactory.hpp", 1575*8975f5c5SAndroid Build Coastguard Worker "$deqp_path/framework/platform/lnx/tcuLnx.cpp", 1576*8975f5c5SAndroid Build Coastguard Worker "$deqp_path/framework/platform/lnx/tcuLnx.hpp", 1577*8975f5c5SAndroid Build Coastguard Worker "$deqp_path/framework/platform/lnx/tcuLnxEglPlatform.cpp", 1578*8975f5c5SAndroid Build Coastguard Worker "$deqp_path/framework/platform/lnx/tcuLnxEglPlatform.hpp", 1579*8975f5c5SAndroid Build Coastguard Worker ] 1580*8975f5c5SAndroid Build Coastguard Worker } 1581*8975f5c5SAndroid Build Coastguard Worker public_deps = [ 1582*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_framework_common", 1583*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_framework_egl", 1584*8975f5c5SAndroid Build Coastguard Worker ] 1585*8975f5c5SAndroid Build Coastguard Worker } 1586*8975f5c5SAndroid Build Coastguard Worker 1587*8975f5c5SAndroid Build Coastguard Worker angle_deqp_source_set("angle_deqp_libtester") { 1588*8975f5c5SAndroid Build Coastguard Worker if (is_ios) { 1589*8975f5c5SAndroid Build Coastguard Worker # shared libraries are hidden inside ios_framework_bundle, but we include headers from them 1590*8975f5c5SAndroid Build Coastguard Worker check_includes = false 1591*8975f5c5SAndroid Build Coastguard Worker } 1592*8975f5c5SAndroid Build Coastguard Worker public_deps = [ 1593*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_framework_platform", 1594*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_glshared", 1595*8975f5c5SAndroid Build Coastguard Worker "$angle_root:angle_common", 1596*8975f5c5SAndroid Build Coastguard Worker "$angle_root/util:angle_util", 1597*8975f5c5SAndroid Build Coastguard Worker ] 1598*8975f5c5SAndroid Build Coastguard Worker 1599*8975f5c5SAndroid Build Coastguard Worker data_deps = [ "${angle_root}:angle" ] 1600*8975f5c5SAndroid Build Coastguard Worker 1601*8975f5c5SAndroid Build Coastguard Worker configs += [ "${angle_root}:library_name_config" ] 1602*8975f5c5SAndroid Build Coastguard Worker public_configs += [ 1603*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_libtester_config", 1604*8975f5c5SAndroid Build Coastguard Worker "${angle_root}:libANGLE_config", 1605*8975f5c5SAndroid Build Coastguard Worker ] 1606*8975f5c5SAndroid Build Coastguard Worker sources = deqp_libtester_sources 1607*8975f5c5SAndroid Build Coastguard Worker if (is_android) { 1608*8975f5c5SAndroid Build Coastguard Worker libs = [ "log" ] 1609*8975f5c5SAndroid Build Coastguard Worker } 1610*8975f5c5SAndroid Build Coastguard Worker } 1611*8975f5c5SAndroid Build Coastguard Worker 1612*8975f5c5SAndroid Build Coastguard Worker set_defaults("angle_deqp_gtest") { 1613*8975f5c5SAndroid Build Coastguard Worker deps = [] 1614*8975f5c5SAndroid Build Coastguard Worker sources = [] 1615*8975f5c5SAndroid Build Coastguard Worker data = [] 1616*8975f5c5SAndroid Build Coastguard Worker data_deps = [] 1617*8975f5c5SAndroid Build Coastguard Worker } 1618*8975f5c5SAndroid Build Coastguard Worker 1619*8975f5c5SAndroid Build Coastguard Worker template("angle_deqp_gtest") { 1620*8975f5c5SAndroid Build Coastguard Worker _api = target_name 1621*8975f5c5SAndroid Build Coastguard Worker 1622*8975f5c5SAndroid Build Coastguard Worker config_name = "angle_deqp_${_api}_config" 1623*8975f5c5SAndroid Build Coastguard Worker config(config_name) { 1624*8975f5c5SAndroid Build Coastguard Worker defines = invoker.defines 1625*8975f5c5SAndroid Build Coastguard Worker } 1626*8975f5c5SAndroid Build Coastguard Worker 1627*8975f5c5SAndroid Build Coastguard Worker shared_library_name = "angle_deqp_lib${_api}" 1628*8975f5c5SAndroid Build Coastguard Worker angle_shared_library(shared_library_name) { 1629*8975f5c5SAndroid Build Coastguard Worker forward_variables_from(invoker, 1630*8975f5c5SAndroid Build Coastguard Worker [ 1631*8975f5c5SAndroid Build Coastguard Worker "sources", 1632*8975f5c5SAndroid Build Coastguard Worker "deps", 1633*8975f5c5SAndroid Build Coastguard Worker "data", 1634*8975f5c5SAndroid Build Coastguard Worker "data_deps", 1635*8975f5c5SAndroid Build Coastguard Worker ]) 1636*8975f5c5SAndroid Build Coastguard Worker 1637*8975f5c5SAndroid Build Coastguard Worker testonly = true 1638*8975f5c5SAndroid Build Coastguard Worker 1639*8975f5c5SAndroid Build Coastguard Worker deps += [ 1640*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_libtester", 1641*8975f5c5SAndroid Build Coastguard Worker "$angle_root/util:angle_test_utils", 1642*8975f5c5SAndroid Build Coastguard Worker "$angle_root/util:angle_util", 1643*8975f5c5SAndroid Build Coastguard Worker ] 1644*8975f5c5SAndroid Build Coastguard Worker 1645*8975f5c5SAndroid Build Coastguard Worker suppressed_configs += deqp_undefine_configs 1646*8975f5c5SAndroid Build Coastguard Worker public_configs += [ ":$config_name" ] 1647*8975f5c5SAndroid Build Coastguard Worker 1648*8975f5c5SAndroid Build Coastguard Worker sources += [ 1649*8975f5c5SAndroid Build Coastguard Worker "deqp_support/angle_deqp_libtester.h", 1650*8975f5c5SAndroid Build Coastguard Worker "deqp_support/angle_deqp_libtester_main.cpp", 1651*8975f5c5SAndroid Build Coastguard Worker "deqp_support/tcuANGLEPlatform.cpp", 1652*8975f5c5SAndroid Build Coastguard Worker "deqp_support/tcuANGLEPlatform.h", 1653*8975f5c5SAndroid Build Coastguard Worker ] 1654*8975f5c5SAndroid Build Coastguard Worker 1655*8975f5c5SAndroid Build Coastguard Worker if ((is_mac || is_ios) && !is_component_build) { 1656*8975f5c5SAndroid Build Coastguard Worker ldflags = [ 1657*8975f5c5SAndroid Build Coastguard Worker "-install_name", 1658*8975f5c5SAndroid Build Coastguard Worker "@rpath/lib${shared_library_name}.dylib", 1659*8975f5c5SAndroid Build Coastguard Worker ] 1660*8975f5c5SAndroid Build Coastguard Worker } 1661*8975f5c5SAndroid Build Coastguard Worker } 1662*8975f5c5SAndroid Build Coastguard Worker 1663*8975f5c5SAndroid Build Coastguard Worker angle_test("angle_deqp_${_api}_tests") { 1664*8975f5c5SAndroid Build Coastguard Worker deps = [ 1665*8975f5c5SAndroid Build Coastguard Worker ":${shared_library_name}", 1666*8975f5c5SAndroid Build Coastguard Worker "$angle_root:angle_common", 1667*8975f5c5SAndroid Build Coastguard Worker "$angle_root/util:angle_util", 1668*8975f5c5SAndroid Build Coastguard Worker ] 1669*8975f5c5SAndroid Build Coastguard Worker 1670*8975f5c5SAndroid Build Coastguard Worker # Must be included outside of the source set for the define 1671*8975f5c5SAndroid Build Coastguard Worker sources = [ 1672*8975f5c5SAndroid Build Coastguard Worker "angle_deqp_tests_main.cpp", 1673*8975f5c5SAndroid Build Coastguard Worker "deqp_support/angle_deqp_gtest.cpp", 1674*8975f5c5SAndroid Build Coastguard Worker ] 1675*8975f5c5SAndroid Build Coastguard Worker 1676*8975f5c5SAndroid Build Coastguard Worker expectations_file = "deqp_${_api}_test_expectations.txt" 1677*8975f5c5SAndroid Build Coastguard Worker if (defined(invoker.expectations_file)) { 1678*8975f5c5SAndroid Build Coastguard Worker expectations_file = invoker.expectations_file 1679*8975f5c5SAndroid Build Coastguard Worker } 1680*8975f5c5SAndroid Build Coastguard Worker data = [ 1681*8975f5c5SAndroid Build Coastguard Worker "deqp_support/${expectations_file}", 1682*8975f5c5SAndroid Build Coastguard Worker "${invoker.mustpass_dir}/${invoker.mustpass_name}", 1683*8975f5c5SAndroid Build Coastguard Worker ] 1684*8975f5c5SAndroid Build Coastguard Worker } 1685*8975f5c5SAndroid Build Coastguard Worker } 1686*8975f5c5SAndroid Build Coastguard Worker 1687*8975f5c5SAndroid Build Coastguard Worker _android_mustpass = "$deqp_path/android/cts/main" 1688*8975f5c5SAndroid Build Coastguard Worker _aosp_egl_mustpass = "$deqp_path/external/openglcts/data/gl_cts/data/mustpass/egl/aosp_mustpass/main" 1689*8975f5c5SAndroid Build Coastguard Worker _aosp_gles_mustpass = "$deqp_path/external/openglcts/data/gl_cts/data/mustpass/gles/aosp_mustpass/main" 1690*8975f5c5SAndroid Build Coastguard Worker _khronos_gl_mustpass = "$deqp_path/external/openglcts/data/gl_cts/data/mustpass/gl/khronos_mustpass/main" 1691*8975f5c5SAndroid Build Coastguard Worker _khronos_gles_mustpass = "$deqp_path/external/openglcts/data/gl_cts/data/mustpass/gles/khronos_mustpass/main" 1692*8975f5c5SAndroid Build Coastguard Worker _khronos_gles_noctx_mustpass = "$deqp_path/external/openglcts/data/gl_cts/data/mustpass/gles/khronos_mustpass_noctx/main" 1693*8975f5c5SAndroid Build Coastguard Worker _khronos_gles_single_mustpass = "$deqp_path/external/openglcts/data/gl_cts/data/mustpass/gles/khronos_mustpass_single/main" 1694*8975f5c5SAndroid Build Coastguard Worker 1695*8975f5c5SAndroid Build Coastguard Worker angle_deqp_source_set("angle_deqp_gles2_common") { 1696*8975f5c5SAndroid Build Coastguard Worker sources = deqp_gles2_sources 1697*8975f5c5SAndroid Build Coastguard Worker public_deps = [ 1698*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_framework_egl", 1699*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_glshared", 1700*8975f5c5SAndroid Build Coastguard Worker ] 1701*8975f5c5SAndroid Build Coastguard Worker } 1702*8975f5c5SAndroid Build Coastguard Worker 1703*8975f5c5SAndroid Build Coastguard Worker angle_deqp_source_set("angle_deqp_gles3_common") { 1704*8975f5c5SAndroid Build Coastguard Worker sources = deqp_gles3_sources 1705*8975f5c5SAndroid Build Coastguard Worker public_deps = [ 1706*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_framework_egl", 1707*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_glshared", 1708*8975f5c5SAndroid Build Coastguard Worker ] 1709*8975f5c5SAndroid Build Coastguard Worker } 1710*8975f5c5SAndroid Build Coastguard Worker 1711*8975f5c5SAndroid Build Coastguard Worker angle_deqp_source_set("angle_deqp_gles31_common") { 1712*8975f5c5SAndroid Build Coastguard Worker sources = deqp_gles31_sources 1713*8975f5c5SAndroid Build Coastguard Worker public_deps = [ 1714*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_framework_egl", 1715*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_glshared", 1716*8975f5c5SAndroid Build Coastguard Worker ] 1717*8975f5c5SAndroid Build Coastguard Worker } 1718*8975f5c5SAndroid Build Coastguard Worker 1719*8975f5c5SAndroid Build Coastguard Worker template("angle_deqp_core_gtest") { 1720*8975f5c5SAndroid Build Coastguard Worker _api = target_name 1721*8975f5c5SAndroid Build Coastguard Worker forward_variables_from(invoker, [ "mustpass_suffix" ]) 1722*8975f5c5SAndroid Build Coastguard Worker if (mustpass_suffix != "main") { 1723*8975f5c5SAndroid Build Coastguard Worker target_name = "${_api}_${mustpass_suffix}" 1724*8975f5c5SAndroid Build Coastguard Worker target_name = string_replace(target_name, "-", "_") 1725*8975f5c5SAndroid Build Coastguard Worker } 1726*8975f5c5SAndroid Build Coastguard Worker angle_deqp_gtest(target_name) { 1727*8975f5c5SAndroid Build Coastguard Worker forward_variables_from(invoker, "*") 1728*8975f5c5SAndroid Build Coastguard Worker 1729*8975f5c5SAndroid Build Coastguard Worker mustpass_name = "${_api}-${mustpass_suffix}.txt" 1730*8975f5c5SAndroid Build Coastguard Worker 1731*8975f5c5SAndroid Build Coastguard Worker deps += angle_deqp_data_copy_targets 1732*8975f5c5SAndroid Build Coastguard Worker 1733*8975f5c5SAndroid Build Coastguard Worker data = [] 1734*8975f5c5SAndroid Build Coastguard Worker if (_api == "gles2") { 1735*8975f5c5SAndroid Build Coastguard Worker data = angle_deqp_data_gles2 1736*8975f5c5SAndroid Build Coastguard Worker } else if (_api == "gles3") { 1737*8975f5c5SAndroid Build Coastguard Worker data = angle_deqp_data_gles3 1738*8975f5c5SAndroid Build Coastguard Worker } else if (_api == "gles31") { 1739*8975f5c5SAndroid Build Coastguard Worker data = angle_deqp_data_gles31 1740*8975f5c5SAndroid Build Coastguard Worker } else { 1741*8975f5c5SAndroid Build Coastguard Worker # Make sure we include something so that angle_deqp_libtester_main.cpp can find something. 1742*8975f5c5SAndroid Build Coastguard Worker data = [ "$root_gen_dir/vk_gl_cts_data/data/gles2/shaders/misc.test" ] 1743*8975f5c5SAndroid Build Coastguard Worker } 1744*8975f5c5SAndroid Build Coastguard Worker } 1745*8975f5c5SAndroid Build Coastguard Worker } 1746*8975f5c5SAndroid Build Coastguard Worker 1747*8975f5c5SAndroid Build Coastguard Worker angle_deqp_core_gtest("gles2") { 1748*8975f5c5SAndroid Build Coastguard Worker defines = [ "ANGLE_DEQP_GLES2_TESTS" ] 1749*8975f5c5SAndroid Build Coastguard Worker deps = [ ":angle_deqp_gles2_common" ] 1750*8975f5c5SAndroid Build Coastguard Worker mustpass_dir = _aosp_gles_mustpass 1751*8975f5c5SAndroid Build Coastguard Worker mustpass_suffix = "main" 1752*8975f5c5SAndroid Build Coastguard Worker } 1753*8975f5c5SAndroid Build Coastguard Worker 1754*8975f5c5SAndroid Build Coastguard Worker angle_deqp_core_gtest("gles3") { 1755*8975f5c5SAndroid Build Coastguard Worker defines = [ "ANGLE_DEQP_GLES3_TESTS" ] 1756*8975f5c5SAndroid Build Coastguard Worker deps = [ ":angle_deqp_gles3_common" ] 1757*8975f5c5SAndroid Build Coastguard Worker mustpass_dir = _aosp_gles_mustpass 1758*8975f5c5SAndroid Build Coastguard Worker mustpass_suffix = "main" 1759*8975f5c5SAndroid Build Coastguard Worker } 1760*8975f5c5SAndroid Build Coastguard Worker 1761*8975f5c5SAndroid Build Coastguard Worker angle_deqp_core_gtest("gles3") { 1762*8975f5c5SAndroid Build Coastguard Worker defines = [ "ANGLE_DEQP_GLES3_MULTISAMPLE_TESTS" ] 1763*8975f5c5SAndroid Build Coastguard Worker deps = [ ":angle_deqp_gles3_common" ] 1764*8975f5c5SAndroid Build Coastguard Worker mustpass_dir = _aosp_gles_mustpass 1765*8975f5c5SAndroid Build Coastguard Worker mustpass_suffix = "multisample" 1766*8975f5c5SAndroid Build Coastguard Worker } 1767*8975f5c5SAndroid Build Coastguard Worker 1768*8975f5c5SAndroid Build Coastguard Worker angle_deqp_core_gtest("gles31") { 1769*8975f5c5SAndroid Build Coastguard Worker defines = [ "ANGLE_DEQP_GLES31_TESTS" ] 1770*8975f5c5SAndroid Build Coastguard Worker deps = [ ":angle_deqp_gles31_common" ] 1771*8975f5c5SAndroid Build Coastguard Worker mustpass_dir = _aosp_gles_mustpass 1772*8975f5c5SAndroid Build Coastguard Worker mustpass_suffix = "main" 1773*8975f5c5SAndroid Build Coastguard Worker } 1774*8975f5c5SAndroid Build Coastguard Worker 1775*8975f5c5SAndroid Build Coastguard Worker angle_deqp_core_gtest("gles31") { 1776*8975f5c5SAndroid Build Coastguard Worker defines = [ "ANGLE_DEQP_GLES31_MULTISAMPLE_TESTS" ] 1777*8975f5c5SAndroid Build Coastguard Worker deps = [ ":angle_deqp_gles31_common" ] 1778*8975f5c5SAndroid Build Coastguard Worker mustpass_dir = _aosp_gles_mustpass 1779*8975f5c5SAndroid Build Coastguard Worker mustpass_suffix = "multisample" 1780*8975f5c5SAndroid Build Coastguard Worker } 1781*8975f5c5SAndroid Build Coastguard Worker 1782*8975f5c5SAndroid Build Coastguard Worker angle_deqp_core_gtest("egl") { 1783*8975f5c5SAndroid Build Coastguard Worker defines = [ "ANGLE_DEQP_EGL_TESTS" ] 1784*8975f5c5SAndroid Build Coastguard Worker sources = deqp_egl_sources 1785*8975f5c5SAndroid Build Coastguard Worker mustpass_dir = _aosp_egl_mustpass 1786*8975f5c5SAndroid Build Coastguard Worker mustpass_suffix = "main" 1787*8975f5c5SAndroid Build Coastguard Worker } 1788*8975f5c5SAndroid Build Coastguard Worker 1789*8975f5c5SAndroid Build Coastguard Worker if (is_android) { 1790*8975f5c5SAndroid Build Coastguard Worker angle_deqp_core_gtest("gles3") { 1791*8975f5c5SAndroid Build Coastguard Worker defines = [ "ANGLE_DEQP_GLES3_565_NO_DEPTH_NO_STENCIL_TESTS" ] 1792*8975f5c5SAndroid Build Coastguard Worker deps = [ ":angle_deqp_gles3_common" ] 1793*8975f5c5SAndroid Build Coastguard Worker mustpass_dir = _aosp_gles_mustpass 1794*8975f5c5SAndroid Build Coastguard Worker mustpass_suffix = "565-no-depth-no-stencil" 1795*8975f5c5SAndroid Build Coastguard Worker } 1796*8975f5c5SAndroid Build Coastguard Worker 1797*8975f5c5SAndroid Build Coastguard Worker angle_deqp_core_gtest("gles31") { 1798*8975f5c5SAndroid Build Coastguard Worker defines = [ "ANGLE_DEQP_GLES31_565_NO_DEPTH_NO_STENCIL_TESTS" ] 1799*8975f5c5SAndroid Build Coastguard Worker deps = [ ":angle_deqp_gles31_common" ] 1800*8975f5c5SAndroid Build Coastguard Worker mustpass_dir = _aosp_gles_mustpass 1801*8975f5c5SAndroid Build Coastguard Worker mustpass_suffix = "565-no-depth-no-stencil" 1802*8975f5c5SAndroid Build Coastguard Worker } 1803*8975f5c5SAndroid Build Coastguard Worker } 1804*8975f5c5SAndroid Build Coastguard Worker 1805*8975f5c5SAndroid Build Coastguard Worker # The CTS also includes a set of "KHR" tests that are separate from the main body of dEQP tests. 1806*8975f5c5SAndroid Build Coastguard Worker 1807*8975f5c5SAndroid Build Coastguard Worker config("angle_deqp_khr_common_config") { 1808*8975f5c5SAndroid Build Coastguard Worker include_dirs = [ 1809*8975f5c5SAndroid Build Coastguard Worker "$deqp_path/external/openglcts/modules/common", 1810*8975f5c5SAndroid Build Coastguard Worker "$deqp_path/external/openglcts/modules/common/subgroups", 1811*8975f5c5SAndroid Build Coastguard Worker "$deqp_path/external/openglcts/modules/gl", 1812*8975f5c5SAndroid Build Coastguard Worker "$deqp_path/external/openglcts/modules/gles2", 1813*8975f5c5SAndroid Build Coastguard Worker "$deqp_path/external/openglcts/modules/gles3", 1814*8975f5c5SAndroid Build Coastguard Worker "$deqp_path/external/openglcts/modules/gles31", 1815*8975f5c5SAndroid Build Coastguard Worker "$deqp_path/external/openglcts/modules/gles32", 1816*8975f5c5SAndroid Build Coastguard Worker "$deqp_path/external/openglcts/modules/glesext", 1817*8975f5c5SAndroid Build Coastguard Worker ] 1818*8975f5c5SAndroid Build Coastguard Worker if (is_clang) { 1819*8975f5c5SAndroid Build Coastguard Worker cflags = [ "-Wno-header-hygiene" ] # using namespace directive in global 1820*8975f5c5SAndroid Build Coastguard Worker # context in header 1821*8975f5c5SAndroid Build Coastguard Worker } 1822*8975f5c5SAndroid Build Coastguard Worker } 1823*8975f5c5SAndroid Build Coastguard Worker 1824*8975f5c5SAndroid Build Coastguard Worker angle_deqp_source_set("angle_deqp_khr_common") { 1825*8975f5c5SAndroid Build Coastguard Worker sources = deqp_khr_common_sources + deqp_khr_test_module_headers + 1826*8975f5c5SAndroid Build Coastguard Worker deqp_khr_gl_sources + deqp_khr_gles2_sources + 1827*8975f5c5SAndroid Build Coastguard Worker deqp_khr_gles3_sources + deqp_khr_gles31_sources + 1828*8975f5c5SAndroid Build Coastguard Worker deqp_khr_gles32_sources + deqp_khr_glesext_sources + 1829*8975f5c5SAndroid Build Coastguard Worker [ "deqp_support/glcTestPackageEntry_override.cpp" ] 1830*8975f5c5SAndroid Build Coastguard Worker public_deps = [ 1831*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_framework_platform", 1832*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_glshared", 1833*8975f5c5SAndroid Build Coastguard Worker "${angle_glslang_dir}:glslang_lib_sources", 1834*8975f5c5SAndroid Build Coastguard Worker "${angle_spirv_tools_dir}:spvtools_val", 1835*8975f5c5SAndroid Build Coastguard Worker ] 1836*8975f5c5SAndroid Build Coastguard Worker public_configs = [ ":angle_deqp_khr_common_config" ] 1837*8975f5c5SAndroid Build Coastguard Worker 1838*8975f5c5SAndroid Build Coastguard Worker # This is a bit of a hack so one test can capture memory limits. 1839*8975f5c5SAndroid Build Coastguard Worker include_dirs = [ "$deqp_path/external/vulkancts/framework/vulkan" ] 1840*8975f5c5SAndroid Build Coastguard Worker } 1841*8975f5c5SAndroid Build Coastguard Worker 1842*8975f5c5SAndroid Build Coastguard Worker template("angle_deqp_khr_gtest") { 1843*8975f5c5SAndroid Build Coastguard Worker angle_deqp_gtest(target_name) { 1844*8975f5c5SAndroid Build Coastguard Worker forward_variables_from(invoker, "*") 1845*8975f5c5SAndroid Build Coastguard Worker deps = [ ":angle_deqp_khr_common" ] 1846*8975f5c5SAndroid Build Coastguard Worker deps += angle_deqp_data_copy_targets 1847*8975f5c5SAndroid Build Coastguard Worker if (api == "gles2") { 1848*8975f5c5SAndroid Build Coastguard Worker # Make sure we include something so that angle_deqp_libtester_main.cpp can find something. 1849*8975f5c5SAndroid Build Coastguard Worker data = [ "$root_gen_dir/vk_gl_cts_data/data/gles2/shaders/misc.test" ] 1850*8975f5c5SAndroid Build Coastguard Worker mustpass_dir = _khronos_gles_mustpass 1851*8975f5c5SAndroid Build Coastguard Worker } else if (api == "gles3") { 1852*8975f5c5SAndroid Build Coastguard Worker data = angle_deqp_external_openglcts_data_gl_cts_data_gles3 1853*8975f5c5SAndroid Build Coastguard Worker mustpass_dir = _khronos_gles_mustpass 1854*8975f5c5SAndroid Build Coastguard Worker } else if (api == "gles31") { 1855*8975f5c5SAndroid Build Coastguard Worker data = angle_deqp_external_openglcts_data_gl_cts_data_gles31 1856*8975f5c5SAndroid Build Coastguard Worker mustpass_dir = _khronos_gles_mustpass 1857*8975f5c5SAndroid Build Coastguard Worker } else if (api == "gles32") { 1858*8975f5c5SAndroid Build Coastguard Worker data = angle_deqp_external_openglcts_data_gl_cts_data_gles32 1859*8975f5c5SAndroid Build Coastguard Worker mustpass_dir = _khronos_gles_mustpass 1860*8975f5c5SAndroid Build Coastguard Worker } else { 1861*8975f5c5SAndroid Build Coastguard Worker assert(false) 1862*8975f5c5SAndroid Build Coastguard Worker } 1863*8975f5c5SAndroid Build Coastguard Worker } 1864*8975f5c5SAndroid Build Coastguard Worker } 1865*8975f5c5SAndroid Build Coastguard Worker 1866*8975f5c5SAndroid Build Coastguard Worker angle_deqp_khr_gtest("khr_gles2") { 1867*8975f5c5SAndroid Build Coastguard Worker defines = [ "ANGLE_DEQP_KHR_GLES2_TESTS" ] 1868*8975f5c5SAndroid Build Coastguard Worker mustpass_name = "gles2-khr-main.txt" 1869*8975f5c5SAndroid Build Coastguard Worker api = "gles2" 1870*8975f5c5SAndroid Build Coastguard Worker } 1871*8975f5c5SAndroid Build Coastguard Worker 1872*8975f5c5SAndroid Build Coastguard Worker angle_deqp_khr_gtest("khr_gles3") { 1873*8975f5c5SAndroid Build Coastguard Worker defines = [ "ANGLE_DEQP_KHR_GLES3_TESTS" ] 1874*8975f5c5SAndroid Build Coastguard Worker mustpass_name = "gles3-khr-main.txt" 1875*8975f5c5SAndroid Build Coastguard Worker api = "gles3" 1876*8975f5c5SAndroid Build Coastguard Worker } 1877*8975f5c5SAndroid Build Coastguard Worker 1878*8975f5c5SAndroid Build Coastguard Worker angle_deqp_khr_gtest("khr_gles31") { 1879*8975f5c5SAndroid Build Coastguard Worker defines = [ "ANGLE_DEQP_KHR_GLES31_TESTS" ] 1880*8975f5c5SAndroid Build Coastguard Worker mustpass_name = "gles31-khr-main.txt" 1881*8975f5c5SAndroid Build Coastguard Worker api = "gles31" 1882*8975f5c5SAndroid Build Coastguard Worker } 1883*8975f5c5SAndroid Build Coastguard Worker 1884*8975f5c5SAndroid Build Coastguard Worker angle_deqp_khr_gtest("khr_gles32") { 1885*8975f5c5SAndroid Build Coastguard Worker defines = [ "ANGLE_DEQP_KHR_GLES32_TESTS" ] 1886*8975f5c5SAndroid Build Coastguard Worker mustpass_name = "gles32-khr-main.txt" 1887*8975f5c5SAndroid Build Coastguard Worker api = "gles32" 1888*8975f5c5SAndroid Build Coastguard Worker } 1889*8975f5c5SAndroid Build Coastguard Worker 1890*8975f5c5SAndroid Build Coastguard Worker template("angle_deqp_khr_noctx_gtest") { 1891*8975f5c5SAndroid Build Coastguard Worker angle_deqp_gtest(target_name) { 1892*8975f5c5SAndroid Build Coastguard Worker forward_variables_from(invoker, "*") 1893*8975f5c5SAndroid Build Coastguard Worker deps = [ ":angle_deqp_khr_common" ] 1894*8975f5c5SAndroid Build Coastguard Worker deps += angle_deqp_data_copy_targets 1895*8975f5c5SAndroid Build Coastguard Worker if (api == "gles2") { 1896*8975f5c5SAndroid Build Coastguard Worker data = [ "$root_gen_dir/vk_gl_cts_data/data/gles2/shaders/misc.test" ] 1897*8975f5c5SAndroid Build Coastguard Worker mustpass_dir = _khronos_gles_noctx_mustpass 1898*8975f5c5SAndroid Build Coastguard Worker } else if (api == "gles32") { 1899*8975f5c5SAndroid Build Coastguard Worker data = angle_deqp_external_openglcts_data_gl_cts_data_gles32 1900*8975f5c5SAndroid Build Coastguard Worker mustpass_dir = _khronos_gles_noctx_mustpass 1901*8975f5c5SAndroid Build Coastguard Worker } else { 1902*8975f5c5SAndroid Build Coastguard Worker assert(false) 1903*8975f5c5SAndroid Build Coastguard Worker } 1904*8975f5c5SAndroid Build Coastguard Worker } 1905*8975f5c5SAndroid Build Coastguard Worker } 1906*8975f5c5SAndroid Build Coastguard Worker 1907*8975f5c5SAndroid Build Coastguard Worker angle_deqp_khr_noctx_gtest("khr_noctx_gles2") { 1908*8975f5c5SAndroid Build Coastguard Worker defines = [ "ANGLE_DEQP_KHR_NOCTX_GLES2_TESTS" ] 1909*8975f5c5SAndroid Build Coastguard Worker mustpass_name = "gles2-khr-noctx-main.txt" 1910*8975f5c5SAndroid Build Coastguard Worker api = "gles2" 1911*8975f5c5SAndroid Build Coastguard Worker } 1912*8975f5c5SAndroid Build Coastguard Worker 1913*8975f5c5SAndroid Build Coastguard Worker angle_deqp_khr_noctx_gtest("khr_noctx_gles32") { 1914*8975f5c5SAndroid Build Coastguard Worker defines = [ "ANGLE_DEQP_KHR_NOCTX_GLES32_TESTS" ] 1915*8975f5c5SAndroid Build Coastguard Worker mustpass_name = "gles32-khr-noctx-main.txt" 1916*8975f5c5SAndroid Build Coastguard Worker api = "gles32" 1917*8975f5c5SAndroid Build Coastguard Worker } 1918*8975f5c5SAndroid Build Coastguard Worker 1919*8975f5c5SAndroid Build Coastguard Worker template("angle_deqp_khr_single_gtest") { 1920*8975f5c5SAndroid Build Coastguard Worker angle_deqp_gtest(target_name) { 1921*8975f5c5SAndroid Build Coastguard Worker forward_variables_from(invoker, "*") 1922*8975f5c5SAndroid Build Coastguard Worker deps = [ ":angle_deqp_khr_common" ] 1923*8975f5c5SAndroid Build Coastguard Worker deps += angle_deqp_data_copy_targets 1924*8975f5c5SAndroid Build Coastguard Worker if (api == "gles32") { 1925*8975f5c5SAndroid Build Coastguard Worker data = angle_deqp_external_openglcts_data_gl_cts_data_gles32 1926*8975f5c5SAndroid Build Coastguard Worker mustpass_dir = _khronos_gles_single_mustpass 1927*8975f5c5SAndroid Build Coastguard Worker } else { 1928*8975f5c5SAndroid Build Coastguard Worker assert(false) 1929*8975f5c5SAndroid Build Coastguard Worker } 1930*8975f5c5SAndroid Build Coastguard Worker } 1931*8975f5c5SAndroid Build Coastguard Worker } 1932*8975f5c5SAndroid Build Coastguard Worker 1933*8975f5c5SAndroid Build Coastguard Worker angle_deqp_khr_single_gtest("khr_single_gles32") { 1934*8975f5c5SAndroid Build Coastguard Worker defines = [ "ANGLE_DEQP_KHR_SINGLE_GLES32_TESTS" ] 1935*8975f5c5SAndroid Build Coastguard Worker mustpass_name = "gles32-khr-single.txt" 1936*8975f5c5SAndroid Build Coastguard Worker api = "gles32" 1937*8975f5c5SAndroid Build Coastguard Worker } 1938*8975f5c5SAndroid Build Coastguard Worker 1939*8975f5c5SAndroid Build Coastguard Worker template("angle_deqp_rotate_gtest") { 1940*8975f5c5SAndroid Build Coastguard Worker split_target = string_split(target_name, "_") 1941*8975f5c5SAndroid Build Coastguard Worker _api = split_target[0] 1942*8975f5c5SAndroid Build Coastguard Worker _rotate = split_target[1] 1943*8975f5c5SAndroid Build Coastguard Worker angle_deqp_gtest(target_name) { 1944*8975f5c5SAndroid Build Coastguard Worker forward_variables_from(invoker, "*") 1945*8975f5c5SAndroid Build Coastguard Worker 1946*8975f5c5SAndroid Build Coastguard Worker if (_rotate == "rotate90") { 1947*8975f5c5SAndroid Build Coastguard Worker mustpass_suffix = "rotate-landscape" 1948*8975f5c5SAndroid Build Coastguard Worker } else if (_rotate == "rotate180") { 1949*8975f5c5SAndroid Build Coastguard Worker mustpass_suffix = "rotate-reverse-portrait" 1950*8975f5c5SAndroid Build Coastguard Worker } else if (_rotate == "rotate270") { 1951*8975f5c5SAndroid Build Coastguard Worker mustpass_suffix = "rotate-reverse-landscape" 1952*8975f5c5SAndroid Build Coastguard Worker } else { 1953*8975f5c5SAndroid Build Coastguard Worker assert(false) 1954*8975f5c5SAndroid Build Coastguard Worker } 1955*8975f5c5SAndroid Build Coastguard Worker 1956*8975f5c5SAndroid Build Coastguard Worker mustpass_name = "${_api}-${mustpass_suffix}.txt" 1957*8975f5c5SAndroid Build Coastguard Worker 1958*8975f5c5SAndroid Build Coastguard Worker deps += angle_deqp_data_copy_targets 1959*8975f5c5SAndroid Build Coastguard Worker 1960*8975f5c5SAndroid Build Coastguard Worker data = [] 1961*8975f5c5SAndroid Build Coastguard Worker if (_api == "gles3") { 1962*8975f5c5SAndroid Build Coastguard Worker data = angle_deqp_data_gles3 1963*8975f5c5SAndroid Build Coastguard Worker } else if (_api == "gles31") { 1964*8975f5c5SAndroid Build Coastguard Worker data = angle_deqp_data_gles31 1965*8975f5c5SAndroid Build Coastguard Worker } else { 1966*8975f5c5SAndroid Build Coastguard Worker assert(false) 1967*8975f5c5SAndroid Build Coastguard Worker } 1968*8975f5c5SAndroid Build Coastguard Worker } 1969*8975f5c5SAndroid Build Coastguard Worker } 1970*8975f5c5SAndroid Build Coastguard Worker 1971*8975f5c5SAndroid Build Coastguard Worker angle_deqp_rotate_gtest("gles3_rotate90") { 1972*8975f5c5SAndroid Build Coastguard Worker defines = [ "ANGLE_DEQP_GLES3_ROTATE90_TESTS" ] 1973*8975f5c5SAndroid Build Coastguard Worker deps = [ ":angle_deqp_gles3_common" ] 1974*8975f5c5SAndroid Build Coastguard Worker mustpass_dir = _aosp_gles_mustpass 1975*8975f5c5SAndroid Build Coastguard Worker expectations_file = "deqp_gles3_rotate_test_expectations.txt" 1976*8975f5c5SAndroid Build Coastguard Worker } 1977*8975f5c5SAndroid Build Coastguard Worker 1978*8975f5c5SAndroid Build Coastguard Worker angle_deqp_rotate_gtest("gles3_rotate180") { 1979*8975f5c5SAndroid Build Coastguard Worker defines = [ "ANGLE_DEQP_GLES3_ROTATE180_TESTS" ] 1980*8975f5c5SAndroid Build Coastguard Worker deps = [ ":angle_deqp_gles3_common" ] 1981*8975f5c5SAndroid Build Coastguard Worker mustpass_dir = _aosp_gles_mustpass 1982*8975f5c5SAndroid Build Coastguard Worker expectations_file = "deqp_gles3_rotate_test_expectations.txt" 1983*8975f5c5SAndroid Build Coastguard Worker } 1984*8975f5c5SAndroid Build Coastguard Worker 1985*8975f5c5SAndroid Build Coastguard Worker angle_deqp_rotate_gtest("gles3_rotate270") { 1986*8975f5c5SAndroid Build Coastguard Worker defines = [ "ANGLE_DEQP_GLES3_ROTATE270_TESTS" ] 1987*8975f5c5SAndroid Build Coastguard Worker deps = [ ":angle_deqp_gles3_common" ] 1988*8975f5c5SAndroid Build Coastguard Worker mustpass_dir = _aosp_gles_mustpass 1989*8975f5c5SAndroid Build Coastguard Worker expectations_file = "deqp_gles3_rotate_test_expectations.txt" 1990*8975f5c5SAndroid Build Coastguard Worker } 1991*8975f5c5SAndroid Build Coastguard Worker 1992*8975f5c5SAndroid Build Coastguard Worker angle_deqp_rotate_gtest("gles31_rotate90") { 1993*8975f5c5SAndroid Build Coastguard Worker defines = [ "ANGLE_DEQP_GLES31_ROTATE90_TESTS" ] 1994*8975f5c5SAndroid Build Coastguard Worker deps = [ ":angle_deqp_gles31_common" ] 1995*8975f5c5SAndroid Build Coastguard Worker mustpass_dir = _aosp_gles_mustpass 1996*8975f5c5SAndroid Build Coastguard Worker expectations_file = "deqp_gles31_rotate_test_expectations.txt" 1997*8975f5c5SAndroid Build Coastguard Worker } 1998*8975f5c5SAndroid Build Coastguard Worker 1999*8975f5c5SAndroid Build Coastguard Worker angle_deqp_rotate_gtest("gles31_rotate180") { 2000*8975f5c5SAndroid Build Coastguard Worker defines = [ "ANGLE_DEQP_GLES31_ROTATE180_TESTS" ] 2001*8975f5c5SAndroid Build Coastguard Worker deps = [ ":angle_deqp_gles31_common" ] 2002*8975f5c5SAndroid Build Coastguard Worker mustpass_dir = _aosp_gles_mustpass 2003*8975f5c5SAndroid Build Coastguard Worker expectations_file = "deqp_gles31_rotate_test_expectations.txt" 2004*8975f5c5SAndroid Build Coastguard Worker } 2005*8975f5c5SAndroid Build Coastguard Worker 2006*8975f5c5SAndroid Build Coastguard Worker angle_deqp_rotate_gtest("gles31_rotate270") { 2007*8975f5c5SAndroid Build Coastguard Worker defines = [ "ANGLE_DEQP_GLES31_ROTATE270_TESTS" ] 2008*8975f5c5SAndroid Build Coastguard Worker deps = [ ":angle_deqp_gles31_common" ] 2009*8975f5c5SAndroid Build Coastguard Worker mustpass_dir = _aosp_gles_mustpass 2010*8975f5c5SAndroid Build Coastguard Worker expectations_file = "deqp_gles31_rotate_test_expectations.txt" 2011*8975f5c5SAndroid Build Coastguard Worker } 2012*8975f5c5SAndroid Build Coastguard Worker} 2013*8975f5c5SAndroid Build Coastguard Worker 2014*8975f5c5SAndroid Build Coastguard Workergroup("angle_tests") { 2015*8975f5c5SAndroid Build Coastguard Worker testonly = true 2016*8975f5c5SAndroid Build Coastguard Worker deps = [ 2017*8975f5c5SAndroid Build Coastguard Worker ":angle_end2end_tests", 2018*8975f5c5SAndroid Build Coastguard Worker ":angle_system_info_test", 2019*8975f5c5SAndroid Build Coastguard Worker ":angle_unittests", 2020*8975f5c5SAndroid Build Coastguard Worker ] 2021*8975f5c5SAndroid Build Coastguard Worker if (angle_enable_cl_testing) { 2022*8975f5c5SAndroid Build Coastguard Worker deps += [ ":angle_openclcts" ] 2023*8975f5c5SAndroid Build Coastguard Worker } 2024*8975f5c5SAndroid Build Coastguard Worker if (build_angle_perftests) { 2025*8975f5c5SAndroid Build Coastguard Worker deps += [ ":angle_perftests" ] 2026*8975f5c5SAndroid Build Coastguard Worker } 2027*8975f5c5SAndroid Build Coastguard Worker if (build_angle_trace_tests) { 2028*8975f5c5SAndroid Build Coastguard Worker deps += [ ":angle_trace_perf_tests" ] 2029*8975f5c5SAndroid Build Coastguard Worker deps += [ "capture_tests:angle_capture_tests_multi_frame_trace" ] 2030*8975f5c5SAndroid Build Coastguard Worker deps += [ "capture_tests:angle_capture_tests_active_textures_trace" ] 2031*8975f5c5SAndroid Build Coastguard Worker } 2032*8975f5c5SAndroid Build Coastguard Worker if (is_clang && angle_has_frame_capture) { 2033*8975f5c5SAndroid Build Coastguard Worker deps += [ "capture_replay_tests" ] 2034*8975f5c5SAndroid Build Coastguard Worker } 2035*8975f5c5SAndroid Build Coastguard Worker if (!is_fuchsia) { 2036*8975f5c5SAndroid Build Coastguard Worker deps += [ 2037*8975f5c5SAndroid Build Coastguard Worker ":angle_white_box_perftests", 2038*8975f5c5SAndroid Build Coastguard Worker ":angle_white_box_tests", 2039*8975f5c5SAndroid Build Coastguard Worker ] 2040*8975f5c5SAndroid Build Coastguard Worker } 2041*8975f5c5SAndroid Build Coastguard Worker if (build_angle_deqp_tests && !is_fuchsia) { 2042*8975f5c5SAndroid Build Coastguard Worker deps += [ 2043*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_egl_tests", 2044*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_gles2_tests", 2045*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_gles31_multisample_tests", 2046*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_gles31_rotate180_tests", 2047*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_gles31_rotate270_tests", 2048*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_gles31_rotate90_tests", 2049*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_gles31_tests", 2050*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_gles3_multisample_tests", 2051*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_gles3_rotate180_tests", 2052*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_gles3_rotate270_tests", 2053*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_gles3_rotate90_tests", 2054*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_gles3_tests", 2055*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_khr_gles2_tests", 2056*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_khr_gles31_tests", 2057*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_khr_gles32_tests", 2058*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_khr_gles3_tests", 2059*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_khr_noctx_gles2_tests", 2060*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_khr_noctx_gles32_tests", 2061*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_khr_single_gles32_tests", 2062*8975f5c5SAndroid Build Coastguard Worker ] 2063*8975f5c5SAndroid Build Coastguard Worker 2064*8975f5c5SAndroid Build Coastguard Worker if (is_android) { 2065*8975f5c5SAndroid Build Coastguard Worker deps += [ 2066*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_gles31_565_no_depth_no_stencil_tests", 2067*8975f5c5SAndroid Build Coastguard Worker ":angle_deqp_gles3_565_no_depth_no_stencil_tests", 2068*8975f5c5SAndroid Build Coastguard Worker ] 2069*8975f5c5SAndroid Build Coastguard Worker } 2070*8975f5c5SAndroid Build Coastguard Worker } 2071*8975f5c5SAndroid Build Coastguard Worker if (build_angle_gles1_conform_tests) { 2072*8975f5c5SAndroid Build Coastguard Worker deps += [ 2073*8975f5c5SAndroid Build Coastguard Worker ":angle_gles1_conformance_tests", 2074*8975f5c5SAndroid Build Coastguard Worker ":angle_gles1_covegl_no_gtest", 2075*8975f5c5SAndroid Build Coastguard Worker ":angle_gles1_primtest_tests", 2076*8975f5c5SAndroid Build Coastguard Worker ] 2077*8975f5c5SAndroid Build Coastguard Worker if (!is_win && !is_apple) { 2078*8975f5c5SAndroid Build Coastguard Worker deps += [ ":angle_gles1_covgl_tests" ] 2079*8975f5c5SAndroid Build Coastguard Worker } 2080*8975f5c5SAndroid Build Coastguard Worker } 2081*8975f5c5SAndroid Build Coastguard Worker} 2082