1package(default_visibility = ["//visibility:public"]) 2 3licenses(["notice"]) 4 5exports_files(["LICENSE"]) 6 7VULKAN_HDRS = [ 8 "include/vulkan/vk_platform.h", 9 "include/vulkan/vk_sdk_platform.h", 10 "include/vulkan/vulkan.h", 11 "include/vulkan/vulkan_core.h", 12] 13 14VULKAN_TEXTUAL_HDRS = [ 15 "include/vulkan/vulkan_android.h", 16 "include/vulkan/vulkan_fuchsia.h", 17 "include/vulkan/vulkan_ggp.h", 18 "include/vulkan/vulkan_ios.h", 19 "include/vulkan/vulkan_macos.h", 20 "include/vulkan/vulkan_metal.h", 21 "include/vulkan/vulkan_vi.h", 22 "include/vulkan/vulkan_wayland.h", 23 "include/vulkan/vulkan_win32.h", 24 "include/vulkan/vulkan_xcb.h", 25 "include/vulkan/vulkan_xlib.h", 26 "include/vulkan/vulkan_xlib_xrandr.h", 27] 28 29# The main vulkan public headers for applications. This excludes headers 30# designed for ICDs and layers. 31cc_library( 32 name = "vulkan_headers", 33 hdrs = VULKAN_HDRS, 34 includes = ["include"], 35 textual_hdrs = VULKAN_TEXTUAL_HDRS, 36) 37 38# Like :vulkan_headers but defining VK_NO_PROTOTYPES to disable the 39# inclusion of C function prototypes. Useful if dynamically loading 40# all symbols via dlopen/etc. 41cc_library( 42 name = "vulkan_headers_no_prototypes", 43 hdrs = VULKAN_HDRS, 44 defines = ["VK_NO_PROTOTYPES"], 45 includes = ["include"], 46 textual_hdrs = VULKAN_TEXTUAL_HDRS, 47) 48 49# Provides a C++-ish interface to Vulkan. A rational set of defines are also 50# set and transitively applied to any callers, as well as providing the 51# necessary storage as the set of defines leaves symbols undefined otherwise. 52cc_library( 53 name = "vulkan_hpp", 54 srcs = 55 select({ 56 "@org_tensorflow//tensorflow:macos": [], 57 "@org_tensorflow//tensorflow:ios": [], 58 "//conditions:default": ["tensorflow/vulkan_hpp_dispatch_loader_dynamic.cc"], 59 }), 60 hdrs = ["include/vulkan/vulkan.hpp"], 61 defines = [ 62 "VULKAN_HPP_ASSERT=", 63 "VULKAN_HPP_DISABLE_IMPLICIT_RESULT_VALUE_CAST", 64 "VULKAN_HPP_NO_EXCEPTIONS", 65 "VULKAN_HPP_TYPESAFE_CONVERSION", 66 "VULKAN_HPP_TYPESAFE_EXPLICIT", 67 ] + select({ 68 "@org_tensorflow//tensorflow:macos": [], 69 "@org_tensorflow//tensorflow:ios": [], 70 "//conditions:default": ["VULKAN_HPP_DISPATCH_LOADER_DYNAMIC"], 71 }), 72 includes = ["include"], 73 deps = [":vulkan_headers"], 74) 75