blob: ecb697f33fc18b0b7e12d70f14f8e9a69c497818 [file]
load("@fbcode//target_determinator/macros:ci.bzl", "ci")
load("@fbsource//tools/build_defs:fb_xplat_cxx_binary.bzl", "fb_xplat_cxx_binary")
load("@fbsource//tools/build_defs:fb_xplat_cxx_test.bzl", "fb_xplat_cxx_test")
load("@fbsource//tools/build_defs:platform_defs.bzl", "ANDROID", "MACOSX", "CXX")
load(
"@fbsource//xplat/executorch/backends/vulkan:targets.bzl",
"get_labels",
"get_platforms",
"vulkan_spv_shader_lib",
)
def define_compute_api_test_targets():
for no_volk in [True, False]:
suffix = "_no_volk" if no_volk else ""
vulkan_spv_shader_lib(
name = "test_shader_lib{}".format(suffix),
spv_filegroups = {
":test_shaders": "glsl",
},
no_volk = no_volk,
)
fb_xplat_cxx_binary(
name = "vulkan_compute_api_test_bin{}".format(suffix),
srcs = [
"utils/test_utils.cpp",
"vulkan_compute_api_test.cpp",
],
headers = [
"utils/test_utils.h",
],
apple_sdks = MACOSX,
labels = get_labels(no_volk),
platforms = get_platforms(no_volk),
visibility = ["PUBLIC"],
deps = [
":test_shader_lib{}".format(suffix),
"//third-party/googletest:gtest_main",
"//xplat/executorch/backends/vulkan:vulkan_graph_runtime{}".format(suffix),
"//xplat/executorch/runtime/core/exec_aten:lib",
],
)
# no_volk variant does not work under the flagfile used for instrumentation tests,
# but it is also not necessary to test it as an instrumentation test. Therefore do
# not generate a no_volk variant for the instrumentation test.
fb_xplat_cxx_test(
name = "vulkan_compute_api_test{}".format(suffix),
srcs = [
"utils/test_utils.cpp",
"vulkan_compute_api_test.cpp",
],
headers = [
"utils/test_utils.h",
],
contacts = ["oncall+ai_infra_mobile_platform@xmail.facebook.com"],
fbandroid_additional_loaded_sonames = [
"test_shader_lib",
"vulkan_graph_runtime",
"vulkan_graph_runtime_shaderlib",
],
# Since this is an Android instrumentation test, only generate for ANDROID
platforms = [ANDROID],
use_instrumentation_test = True,
visibility = ["PUBLIC"],
deps = [
":test_shader_lib{}".format(suffix),
"//third-party/googletest:gtest_main",
"//xplat/executorch/backends/vulkan:vulkan_graph_runtime{}".format(suffix),
"//xplat/executorch/runtime/core/exec_aten:lib",
],
)