blob: 07bda7e44e8a83d21b1b7d35b9e195475796f5a2 [file] [log] [blame]
load("@rules_python//python:defs.bzl", "py_binary")
load("@py_deps//:requirements.bzl", "requirement")
# This file will be copied into //third_party/externals/dawn via the new_local_repository
# rule in WORKSPACE.bazel, so all files should be relative to that path.
# We define this here because the emscripten toolchain calls the cpu wasm, whereas the
# bazelbuild/platforms call it wasm32. https://github.com/emscripten-core/emsdk/issues/919
config_setting(
name = "cpu_wasm",
values = {
"cpu": "wasm",
},
)
py_binary(
name = "dawn_json_generator",
srcs = [
"generator/dawn_json_generator.py",
"generator/generator_lib.py",
],
deps = [
requirement("jinja2"),
# jinja2 has a dep on MarkupSafe. Declaring MarkupSafe here is not necessary, but it makes
# the link easier to find than searching the Bazel cache for generated deps.
requirement("MarkupSafe"),
],
)
genrule(
name = "generate_webgpu_cpp",
srcs = [
"generator/templates/api_cpp.h",
"generator/templates/api_cpp_print.h",
"generator/templates/BSD_LICENSE",
"dawn.json",
"dawn_wire.json",
],
outs = [
"include/dawn/webgpu_cpp.h",
"include/dawn/webgpu_cpp_print.h",
],
cmd = "$(location :dawn_json_generator) " +
"--dawn-json $(location dawn.json) " +
"--wire-json $(location dawn_wire.json) " +
"--template-dir $$(dirname $(location generator/templates/api_cpp.h)) " +
"--targets cpp_headers " +
"--output-dir $(RULEDIR)",
exec_tools = [":dawn_json_generator"],
)
genrule(
name = "generate_webgpu",
srcs = [
"generator/templates/api.h",
"generator/templates/dawn_proc_table.h",
"generator/templates/BSD_LICENSE",
"dawn.json",
"dawn_wire.json",
],
outs = [
"include/dawn/webgpu.h",
"include/dawn/dawn_proc_table.h",
],
cmd = "$(location :dawn_json_generator) " +
"--dawn-json $(location dawn.json) " +
"--wire-json $(location dawn_wire.json) " +
"--template-dir $$(dirname $(location generator/templates/api.h)) " +
"--targets headers " +
"--output-dir $(RULEDIR)",
exec_tools = [":dawn_json_generator"],
)
genrule(
name = "generate_proc",
srcs = [
"dawn.json",
"dawn_wire.json",
"generator/templates/BSD_LICENSE",
"generator/templates/dawn_proc.c",
"generator/templates/dawn_thread_dispatch_proc.cpp",
],
outs = [
"src/dawn/dawn_proc.c",
"src/dawn/dawn_thread_dispatch_proc.cpp",
],
cmd = "$(location :dawn_json_generator) " +
"--dawn-json $(location dawn.json) " +
"--wire-json $(location dawn_wire.json) " +
"--template-dir $$(dirname $(location generator/templates/BSD_LICENSE)) " +
"--targets proc " +
"--output-dir $(RULEDIR)",
exec_tools = [":dawn_json_generator"],
)
genrule(
name = "generate_dawn_cpp",
srcs = [
"dawn.json",
"dawn_wire.json",
"generator/templates/BSD_LICENSE",
"generator/templates/api_cpp.cpp",
],
outs = [
"src/dawn/webgpu_cpp.cpp",
],
cmd = "$(location :dawn_json_generator) " +
"--dawn-json $(location dawn.json) " +
"--wire-json $(location dawn_wire.json) " +
"--template-dir $$(dirname $(location generator/templates/BSD_LICENSE)) " +
"--targets cpp " +
"--output-dir $(RULEDIR)",
exec_tools = [":dawn_json_generator"],
)
genrule(
name = "generate_utils",
srcs = [
"dawn.json",
"dawn_wire.json",
"generator/templates/BSD_LICENSE",
"generator/templates/dawn/native/ChainUtils.cpp",
"generator/templates/dawn/native/ChainUtils.h",
"generator/templates/dawn/native/ObjectType.cpp",
"generator/templates/dawn/native/ObjectType.h",
"generator/templates/dawn/native/ProcTable.cpp",
"generator/templates/dawn/native/ValidationUtils.cpp",
"generator/templates/dawn/native/ValidationUtils.h",
"generator/templates/dawn/native/api_StreamImpl.cpp",
"generator/templates/dawn/native/api_absl_format.cpp",
"generator/templates/dawn/native/api_absl_format.h",
"generator/templates/dawn/native/api_structs.cpp",
"generator/templates/dawn/native/api_structs.h",
"generator/templates/dawn/native/dawn_platform.h",
],
outs = [
"src/dawn/native/ChainUtils_autogen.cpp",
"src/dawn/native/ChainUtils_autogen.h",
"src/dawn/native/ObjectType_autogen.cpp",
"src/dawn/native/ObjectType_autogen.h",
"src/dawn/native/ProcTable.cpp",
"src/dawn/native/ValidationUtils_autogen.cpp",
"src/dawn/native/ValidationUtils_autogen.h",
"src/dawn/native/dawn_platform_autogen.h",
"src/dawn/native/webgpu_StreamImpl_autogen.cpp",
"src/dawn/native/webgpu_absl_format_autogen.cpp",
"src/dawn/native/webgpu_absl_format_autogen.h",
"src/dawn/native/wgpu_structs_autogen.cpp",
"src/dawn/native/wgpu_structs_autogen.h",
],
cmd = "$(location :dawn_json_generator) " +
"--dawn-json $(location dawn.json) " +
"--wire-json $(location dawn_wire.json) " +
"--template-dir $$(dirname $(location generator/templates/BSD_LICENSE)) " +
"--targets native_utils " +
"--output-dir $(RULEDIR)",
exec_tools = [":dawn_json_generator"],
)
py_binary(
name = "dawn_gpu_info_generator",
srcs = [
"generator/dawn_gpu_info_generator.py",
"generator/generator_lib.py",
],
deps = [
requirement("jinja2"),
# jinja2 has a dep on MarkupSafe. Declaring MarkupSafe here is not necessary, but it makes
# the link easier to find than searching the Bazel cache for generated deps.
requirement("MarkupSafe"),
],
)
genrule(
name = "generate_gpuinfo",
srcs = [
"src/dawn/gpu_info.json",
"generator/templates/BSD_LICENSE",
"generator/templates/dawn/common/GPUInfo.h",
"generator/templates/dawn/common/GPUInfo.cpp",
],
outs = [
"src/dawn/common/GPUInfo_autogen.h",
"src/dawn/common/GPUInfo_autogen.cpp",
],
cmd = "$(location :dawn_gpu_info_generator) " +
"--gpu-info-json $(location src/dawn/gpu_info.json) " +
"--template-dir $$(dirname $(location generator/templates/BSD_LICENSE)) " +
"--output-dir $(RULEDIR)",
exec_tools = [":dawn_gpu_info_generator"],
)
py_binary(
name = "dawn_version_generator",
srcs = [
"generator/dawn_version_generator.py",
"generator/generator_lib.py",
],
deps = [
requirement("jinja2"),
# jinja2 has a dep on MarkupSafe. Declaring MarkupSafe here is not necessary, but it makes
# the link easier to find than searching the Bazel cache for generated deps.
requirement("MarkupSafe"),
],
)
# This currently has a blank version, which "disables caching" according to
# https://dawn.googlesource.com/dawn/+/bd30d9e594226e96c07ec3cd46dbdc68928aef41/generator/dawn_version_generator.py#39
# We don't anticipate that being a real issue. Should we need to make this work,
# the easiest way is to use cat to read in .git/HEAD and specify that directly
# to the dawn_version_generator script (which needs a patch to accept that argument.
genrule(
name = "generate_version",
srcs = [
"generator/templates/BSD_LICENSE",
"generator/templates/dawn/common/Version.h",
],
outs = [
"src/dawn/common/Version_autogen.h",
],
cmd = "$(location :dawn_version_generator) " +
"--template-dir $$(dirname $(location generator/templates/BSD_LICENSE)) " +
"--dawn-dir $$(dirname $(location generator/templates/BSD_LICENSE)) " +
"--output-dir $(RULEDIR) 2> /dev/null",
exec_tools = [":dawn_version_generator"],
)
DAWN_HDRS = [
"include/dawn/EnumClassBitmasks.h",
"include/dawn/dawn_proc.h",
"include/dawn/dawn_thread_dispatch_proc.h",
"include/dawn/dawn_wsi.h",
"include/dawn/native/D3D12Backend.h",
"include/dawn/native/DawnNative.h",
"include/dawn/native/MetalBackend.h",
"include/dawn/native/NullBackend.h",
"include/dawn/native/OpenGLBackend.h",
"include/dawn/native/VulkanBackend.h",
"include/dawn/native/dawn_native_export.h",
"include/dawn/platform/DawnPlatform.h",
"include/dawn/platform/dawn_platform_export.h",
"include/dawn/wire/Wire.h",
"include/dawn/wire/WireClient.h",
"include/dawn/wire/WireServer.h",
"include/dawn/wire/dawn_wire_export.h",
"include/webgpu/webgpu.h",
"include/webgpu/webgpu_cpp.h",
]
DAWN_SRCS = [
# Generated files
"include/dawn/webgpu.h",
"include/dawn/webgpu_cpp.h",
"include/dawn/dawn_proc_table.h",
# From dawn/src/dawn/native/BUILD.gn:sources
"src/dawn/native/DawnNative.cpp",
"src/dawn/native/Adapter.cpp",
"src/dawn/native/Adapter.h",
"src/dawn/native/ApplyClearColorValueWithDrawHelper.cpp",
"src/dawn/native/ApplyClearColorValueWithDrawHelper.h",
"src/dawn/native/AsyncTask.cpp",
"src/dawn/native/AsyncTask.h",
"src/dawn/native/AttachmentState.cpp",
"src/dawn/native/AttachmentState.h",
"src/dawn/native/BackendConnection.cpp",
"src/dawn/native/BackendConnection.h",
"src/dawn/native/BindGroup.cpp",
"src/dawn/native/BindGroup.h",
"src/dawn/native/BindGroupLayout.cpp",
"src/dawn/native/BindGroupLayout.h",
"src/dawn/native/BindGroupTracker.h",
"src/dawn/native/BindingInfo.cpp",
"src/dawn/native/BindingInfo.h",
"src/dawn/native/Blob.cpp",
"src/dawn/native/Blob.h",
"src/dawn/native/BlobCache.cpp",
"src/dawn/native/BlobCache.h",
"src/dawn/native/BuddyAllocator.cpp",
"src/dawn/native/BuddyAllocator.h",
"src/dawn/native/BuddyMemoryAllocator.cpp",
"src/dawn/native/BuddyMemoryAllocator.h",
"src/dawn/native/Buffer.cpp",
"src/dawn/native/Buffer.h",
"src/dawn/native/CacheKey.cpp",
"src/dawn/native/CacheKey.h",
"src/dawn/native/CacheRequest.cpp",
"src/dawn/native/CacheRequest.h",
"src/dawn/native/CacheResult.h",
"src/dawn/native/CachedObject.cpp",
"src/dawn/native/CachedObject.h",
"src/dawn/native/CallbackTaskManager.cpp",
"src/dawn/native/CallbackTaskManager.h",
"src/dawn/native/CommandAllocator.cpp",
"src/dawn/native/CommandAllocator.h",
"src/dawn/native/CommandBuffer.cpp",
"src/dawn/native/CommandBuffer.h",
"src/dawn/native/CommandBufferStateTracker.cpp",
"src/dawn/native/CommandBufferStateTracker.h",
"src/dawn/native/CommandEncoder.cpp",
"src/dawn/native/CommandEncoder.h",
"src/dawn/native/CommandValidation.cpp",
"src/dawn/native/CommandValidation.h",
"src/dawn/native/Commands.cpp",
"src/dawn/native/Commands.h",
"src/dawn/native/CompilationMessages.cpp",
"src/dawn/native/CompilationMessages.h",
"src/dawn/native/ComputePassEncoder.cpp",
"src/dawn/native/ComputePassEncoder.h",
"src/dawn/native/ComputePipeline.cpp",
"src/dawn/native/ComputePipeline.h",
"src/dawn/native/CopyTextureForBrowserHelper.cpp",
"src/dawn/native/CopyTextureForBrowserHelper.h",
"src/dawn/native/CreatePipelineAsyncTask.cpp",
"src/dawn/native/CreatePipelineAsyncTask.h",
"src/dawn/native/Device.cpp",
"src/dawn/native/Device.h",
"src/dawn/native/DynamicUploader.cpp",
"src/dawn/native/DynamicUploader.h",
"src/dawn/native/EncodingContext.cpp",
"src/dawn/native/EncodingContext.h",
"src/dawn/native/EnumClassBitmasks.h",
"src/dawn/native/EnumMaskIterator.h",
"src/dawn/native/Error.cpp",
"src/dawn/native/Error.h",
"src/dawn/native/ErrorData.cpp",
"src/dawn/native/ErrorData.h",
"src/dawn/native/ErrorInjector.cpp",
"src/dawn/native/ErrorInjector.h",
"src/dawn/native/ErrorScope.cpp",
"src/dawn/native/ErrorScope.h",
"src/dawn/native/ExternalTexture.cpp",
"src/dawn/native/ExternalTexture.h",
"src/dawn/native/Features.cpp",
"src/dawn/native/Features.h",
"src/dawn/native/Format.cpp",
"src/dawn/native/Format.h",
"src/dawn/native/Forward.h",
"src/dawn/native/IndirectDrawMetadata.cpp",
"src/dawn/native/IndirectDrawMetadata.h",
"src/dawn/native/IndirectDrawValidationEncoder.cpp",
"src/dawn/native/IndirectDrawValidationEncoder.h",
"src/dawn/native/Instance.cpp",
"src/dawn/native/Instance.h",
"src/dawn/native/IntegerTypes.h",
"src/dawn/native/InternalPipelineStore.cpp",
"src/dawn/native/InternalPipelineStore.h",
"src/dawn/native/Limits.cpp",
"src/dawn/native/Limits.h",
"src/dawn/native/ObjectBase.cpp",
"src/dawn/native/ObjectBase.h",
"src/dawn/native/ObjectContentHasher.cpp",
"src/dawn/native/ObjectContentHasher.h",
"src/dawn/native/PassResourceUsage.cpp",
"src/dawn/native/PassResourceUsage.h",
"src/dawn/native/PassResourceUsageTracker.cpp",
"src/dawn/native/PassResourceUsageTracker.h",
"src/dawn/native/PerStage.cpp",
"src/dawn/native/PerStage.h",
"src/dawn/native/Pipeline.cpp",
"src/dawn/native/Pipeline.h",
"src/dawn/native/PipelineCache.cpp",
"src/dawn/native/PipelineCache.h",
"src/dawn/native/PipelineLayout.cpp",
"src/dawn/native/PipelineLayout.h",
"src/dawn/native/PooledResourceMemoryAllocator.cpp",
"src/dawn/native/PooledResourceMemoryAllocator.h",
"src/dawn/native/ProgrammableEncoder.cpp",
"src/dawn/native/ProgrammableEncoder.h",
"src/dawn/native/QueryHelper.cpp",
"src/dawn/native/QueryHelper.h",
"src/dawn/native/QuerySet.cpp",
"src/dawn/native/QuerySet.h",
"src/dawn/native/Queue.cpp",
"src/dawn/native/Queue.h",
"src/dawn/native/RefCountedWithExternalCount.cpp",
"src/dawn/native/RefCountedWithExternalCount.h",
"src/dawn/native/RenderBundle.cpp",
"src/dawn/native/RenderBundle.h",
"src/dawn/native/RenderBundleEncoder.cpp",
"src/dawn/native/RenderBundleEncoder.h",
"src/dawn/native/RenderEncoderBase.cpp",
"src/dawn/native/RenderEncoderBase.h",
"src/dawn/native/RenderPassEncoder.cpp",
"src/dawn/native/RenderPassEncoder.h",
"src/dawn/native/RenderPipeline.cpp",
"src/dawn/native/RenderPipeline.h",
"src/dawn/native/ResourceHeap.h",
"src/dawn/native/ResourceHeapAllocator.h",
"src/dawn/native/ResourceMemoryAllocation.cpp",
"src/dawn/native/ResourceMemoryAllocation.h",
"src/dawn/native/RingBufferAllocator.cpp",
"src/dawn/native/RingBufferAllocator.h",
"src/dawn/native/Sampler.cpp",
"src/dawn/native/Sampler.h",
"src/dawn/native/ScratchBuffer.cpp",
"src/dawn/native/ScratchBuffer.h",
"src/dawn/native/Serializable.h",
"src/dawn/native/ShaderModule.cpp",
"src/dawn/native/ShaderModule.h",
"src/dawn/native/StreamImplTint.cpp",
"src/dawn/native/Subresource.cpp",
"src/dawn/native/Subresource.h",
"src/dawn/native/SubresourceStorage.h",
"src/dawn/native/Surface.cpp",
"src/dawn/native/Surface.h",
"src/dawn/native/SwapChain.cpp",
"src/dawn/native/SwapChain.h",
"src/dawn/native/Texture.cpp",
"src/dawn/native/Texture.h",
"src/dawn/native/TintUtils.cpp",
"src/dawn/native/TintUtils.h",
"src/dawn/native/ToBackend.h",
"src/dawn/native/Toggles.cpp",
"src/dawn/native/Toggles.h",
"src/dawn/native/UsageValidationMode.h",
"src/dawn/native/VertexFormat.cpp",
"src/dawn/native/VertexFormat.h",
"src/dawn/native/VisitableMembers.h",
"src/dawn/native/dawn_platform.h",
"src/dawn/native/stream/BlobSource.cpp",
"src/dawn/native/stream/BlobSource.h",
"src/dawn/native/stream/ByteVectorSink.cpp",
"src/dawn/native/stream/ByteVectorSink.h",
"src/dawn/native/stream/Sink.h",
"src/dawn/native/stream/Source.h",
"src/dawn/native/stream/Stream.cpp",
"src/dawn/native/stream/Stream.h",
"src/dawn/native/utils/WGPUHelpers.cpp",
"src/dawn/native/utils/WGPUHelpers.h",
"src/dawn/native/webgpu_absl_format.cpp",
"src/dawn/native/webgpu_absl_format.h",
# From dawn/src/dawn/native/BUILD.gn:utils_gen
"src/dawn/native/ChainUtils_autogen.cpp",
"src/dawn/native/ChainUtils_autogen.h",
"src/dawn/native/ObjectType_autogen.cpp",
"src/dawn/native/ObjectType_autogen.h",
"src/dawn/native/ProcTable.cpp",
"src/dawn/native/ValidationUtils_autogen.cpp",
"src/dawn/native/ValidationUtils_autogen.h",
"src/dawn/native/dawn_platform_autogen.h",
"src/dawn/native/webgpu_StreamImpl_autogen.cpp",
"src/dawn/native/webgpu_absl_format_autogen.cpp",
"src/dawn/native/webgpu_absl_format_autogen.h",
"src/dawn/native/wgpu_structs_autogen.cpp",
"src/dawn/native/wgpu_structs_autogen.h",
# From dawn/src/dawn/common/BUILD.gn:common
"src/dawn/common/Alloc.h",
"src/dawn/common/Assert.cpp",
"src/dawn/common/Assert.h",
"src/dawn/common/BitSetIterator.h",
"src/dawn/common/Compiler.h",
"src/dawn/common/ConcurrentCache.h",
"src/dawn/common/Constants.h",
"src/dawn/common/CoreFoundationRef.h",
"src/dawn/common/DynamicLib.cpp",
"src/dawn/common/DynamicLib.h",
"src/dawn/common/GPUInfo.cpp",
"src/dawn/common/GPUInfo.h",
"src/dawn/common/GPUInfo_autogen.cpp",
"src/dawn/common/GPUInfo_autogen.h",
"src/dawn/common/HashUtils.h",
"src/dawn/common/IOKitRef.h",
"src/dawn/common/LinkedList.h",
"src/dawn/common/Log.cpp",
"src/dawn/common/Log.h",
"src/dawn/common/Math.cpp",
"src/dawn/common/Math.h",
"src/dawn/common/NSRef.h",
"src/dawn/common/NonCopyable.h",
"src/dawn/common/Numeric.h",
"src/dawn/common/PlacementAllocated.h",
"src/dawn/common/Platform.h",
"src/dawn/common/Preprocessor.h",
"src/dawn/common/RefBase.h",
"src/dawn/common/RefCounted.cpp",
"src/dawn/common/RefCounted.h",
"src/dawn/common/Result.cpp",
"src/dawn/common/Result.h",
"src/dawn/common/SerialMap.h",
"src/dawn/common/SerialQueue.h",
"src/dawn/common/SerialStorage.h",
"src/dawn/common/SlabAllocator.cpp",
"src/dawn/common/SlabAllocator.h",
"src/dawn/common/StackContainer.h",
"src/dawn/common/SwapChainUtils.h",
"src/dawn/common/SystemUtils.cpp",
"src/dawn/common/SystemUtils.h",
"src/dawn/common/TypeTraits.h",
"src/dawn/common/TypedInteger.h",
"src/dawn/common/UnderlyingType.h",
"src/dawn/common/Version_autogen.h",
"src/dawn/common/ityp_array.h",
"src/dawn/common/ityp_bitset.h",
"src/dawn/common/ityp_span.h",
"src/dawn/common/ityp_stack_vec.h",
"src/dawn/common/ityp_vector.h",
"src/dawn/common/vulkan_platform.h",
"src/dawn/common/xlib_with_undefs.h",
# From dawn/src/dawn/platform/BUILD.gn:platform
"include/dawn/platform/DawnPlatform.h",
"include/dawn/platform/dawn_platform_export.h",
"src/dawn/platform/DawnPlatform.cpp",
"src/dawn/platform/WorkerThread.cpp",
"src/dawn/platform/WorkerThread.h",
"src/dawn/platform/tracing/EventTracer.cpp",
"src/dawn/platform/tracing/EventTracer.h",
"src/dawn/platform/tracing/TraceEvent.h",
]
DAWN_VULKAN_SRCS = [
# From dawn/src/dawn/native/BUILD.gn:sources (dawn_enable_vulkan)
"src/dawn/native/SpirvValidation.cpp",
"src/dawn/native/SpirvValidation.h",
"src/dawn/native/vulkan/AdapterVk.cpp",
"src/dawn/native/vulkan/AdapterVk.h",
"src/dawn/native/vulkan/BackendVk.cpp",
"src/dawn/native/vulkan/BackendVk.h",
"src/dawn/native/vulkan/BindGroupLayoutVk.cpp",
"src/dawn/native/vulkan/BindGroupLayoutVk.h",
"src/dawn/native/vulkan/BindGroupVk.cpp",
"src/dawn/native/vulkan/BindGroupVk.h",
"src/dawn/native/vulkan/BufferVk.cpp",
"src/dawn/native/vulkan/BufferVk.h",
"src/dawn/native/vulkan/StreamImplVk.cpp",
"src/dawn/native/vulkan/CommandBufferVk.cpp",
"src/dawn/native/vulkan/CommandBufferVk.h",
"src/dawn/native/vulkan/CommandRecordingContext.h",
"src/dawn/native/vulkan/ComputePipelineVk.cpp",
"src/dawn/native/vulkan/ComputePipelineVk.h",
"src/dawn/native/vulkan/DescriptorSetAllocation.h",
"src/dawn/native/vulkan/DescriptorSetAllocator.cpp",
"src/dawn/native/vulkan/DescriptorSetAllocator.h",
"src/dawn/native/vulkan/DeviceVk.cpp",
"src/dawn/native/vulkan/DeviceVk.h",
"src/dawn/native/vulkan/ExternalHandle.h",
"src/dawn/native/vulkan/FencedDeleter.cpp",
"src/dawn/native/vulkan/FencedDeleter.h",
"src/dawn/native/vulkan/Forward.h",
"src/dawn/native/vulkan/NativeSwapChainImplVk.cpp",
"src/dawn/native/vulkan/NativeSwapChainImplVk.h",
"src/dawn/native/vulkan/PipelineCacheVk.cpp",
"src/dawn/native/vulkan/PipelineCacheVk.h",
"src/dawn/native/vulkan/PipelineLayoutVk.cpp",
"src/dawn/native/vulkan/PipelineLayoutVk.h",
"src/dawn/native/vulkan/QuerySetVk.cpp",
"src/dawn/native/vulkan/QuerySetVk.h",
"src/dawn/native/vulkan/QueueVk.cpp",
"src/dawn/native/vulkan/QueueVk.h",
"src/dawn/native/vulkan/RenderPassCache.cpp",
"src/dawn/native/vulkan/RenderPassCache.h",
"src/dawn/native/vulkan/RenderPipelineVk.cpp",
"src/dawn/native/vulkan/RenderPipelineVk.h",
"src/dawn/native/vulkan/ResourceHeapVk.cpp",
"src/dawn/native/vulkan/ResourceHeapVk.h",
"src/dawn/native/vulkan/ResourceMemoryAllocatorVk.cpp",
"src/dawn/native/vulkan/ResourceMemoryAllocatorVk.h",
"src/dawn/native/vulkan/SamplerVk.cpp",
"src/dawn/native/vulkan/SamplerVk.h",
"src/dawn/native/vulkan/ShaderModuleVk.cpp",
"src/dawn/native/vulkan/ShaderModuleVk.h",
"src/dawn/native/vulkan/SwapChainVk.cpp",
"src/dawn/native/vulkan/SwapChainVk.h",
"src/dawn/native/vulkan/TextureVk.cpp",
"src/dawn/native/vulkan/TextureVk.h",
"src/dawn/native/vulkan/UtilsVulkan.cpp",
"src/dawn/native/vulkan/UtilsVulkan.h",
"src/dawn/native/vulkan/VulkanBackend.cpp",
"src/dawn/native/vulkan/VulkanError.cpp",
"src/dawn/native/vulkan/VulkanError.h",
"src/dawn/native/vulkan/VulkanExtensions.cpp",
"src/dawn/native/vulkan/VulkanExtensions.h",
"src/dawn/native/vulkan/VulkanFunctions.cpp",
"src/dawn/native/vulkan/VulkanFunctions.h",
"src/dawn/native/vulkan/VulkanInfo.cpp",
"src/dawn/native/vulkan/VulkanInfo.h",
"src/dawn/native/vulkan/external_memory/MemoryService.cpp",
"src/dawn/native/vulkan/external_memory/MemoryService.h",
"src/dawn/native/vulkan/external_semaphore/SemaphoreService.h",
]
DAWN_VULKAN_LINUX_SRCS = [
# From dawn/src/dawn/native/BUILD.gn:sources (dawn_enable_vulkan && is_linux)
"src/dawn/native/vulkan/external_memory/MemoryServiceOpaqueFD.cpp",
"src/dawn/native/vulkan/external_semaphore/SemaphoreServiceFD.cpp",
]
DAWN_VULKAN_DEFINES = [
# From dawn/src/dawn/common/BUILD.gn:internal_config
"DAWN_ENABLE_BACKEND_VULKAN",
]
cc_library(
name = "dawn_native",
srcs = DAWN_SRCS + DAWN_VULKAN_SRCS + DAWN_VULKAN_LINUX_SRCS,
hdrs = DAWN_HDRS,
copts = [
# List this as a copt, so as not to propagate it to dependents
# Skia has its own vulkan headers and we do not want these to
# interfere/override those.
"-Iexternal/vulkan_headers/include",
],
defines = DAWN_VULKAN_DEFINES,
includes = [
"include",
"src",
],
visibility = ["//visibility:private"], # only used by :dawn
deps = [
# Dawn specifically depends on dawn/src/tint:libtint
":tint",
"@abseil_cpp//absl/strings:str_format",
"@vulkan_headers",
"@vulkan_tools",
],
)
cc_library(
name = "dawn_cpp",
srcs = [
# From dawn/src/dawn/BUILD.gn#cpp
"include/dawn/webgpu.h",
"include/dawn/EnumClassBitmasks.h",
"include/dawn/webgpu_cpp.h",
"src/dawn/webgpu_cpp.cpp",
],
includes = [
"include",
],
visibility = ["//visibility:private"], # only used by :dawn
)
cc_library(
name = "dawn_proc",
srcs = [
# From dawn/src/dawn/BUILD.gn#proc
"include/dawn/webgpu.h",
"include/dawn/dawn_proc.h",
"include/dawn/dawn_thread_dispatch_proc.h",
"include/dawn/dawn_proc_table.h",
"src/dawn/dawn_proc.c",
"src/dawn/dawn_thread_dispatch_proc.cpp",
],
includes = [
"include",
],
visibility = ["//visibility:private"], # only used by :dawn
)
cc_library(
name = "dawn",
visibility = ["//visibility:public"],
deps = [
":dawn_cpp",
":dawn_native",
":dawn_proc",
],
)
TINT_HDRS = [
"include/tint/tint.h",
]
TINT_SRCS = [
"include/tint/override_id.h",
# From dawn/src/tint/BUILD.gn:libtint_core_all_src
"src/tint/ast/alias.cc",
"src/tint/ast/alias.h",
"src/tint/ast/array.cc",
"src/tint/ast/array.h",
"src/tint/ast/assignment_statement.cc",
"src/tint/ast/assignment_statement.h",
"src/tint/ast/ast_type.cc",
"src/tint/ast/atomic.cc",
"src/tint/ast/atomic.h",
"src/tint/ast/attribute.cc",
"src/tint/ast/attribute.h",
"src/tint/ast/binary_expression.cc",
"src/tint/ast/binary_expression.h",
"src/tint/ast/binding_attribute.cc",
"src/tint/ast/binding_attribute.h",
"src/tint/ast/bitcast_expression.cc",
"src/tint/ast/bitcast_expression.h",
"src/tint/ast/block_statement.cc",
"src/tint/ast/block_statement.h",
"src/tint/ast/bool.cc",
"src/tint/ast/bool.h",
"src/tint/ast/bool_literal_expression.cc",
"src/tint/ast/bool_literal_expression.h",
"src/tint/ast/break_if_statement.cc",
"src/tint/ast/break_if_statement.h",
"src/tint/ast/break_statement.cc",
"src/tint/ast/break_statement.h",
"src/tint/ast/builtin_attribute.cc",
"src/tint/ast/builtin_attribute.h",
"src/tint/ast/builtin_value.cc",
"src/tint/ast/builtin_value.h",
"src/tint/ast/call_expression.cc",
"src/tint/ast/call_expression.h",
"src/tint/ast/call_statement.cc",
"src/tint/ast/call_statement.h",
"src/tint/ast/case_statement.cc",
"src/tint/ast/case_statement.h",
"src/tint/ast/case_selector.cc",
"src/tint/ast/case_selector.h",
"src/tint/ast/compound_assignment_statement.cc",
"src/tint/ast/compound_assignment_statement.h",
"src/tint/ast/const.cc",
"src/tint/ast/const.h",
"src/tint/ast/continue_statement.cc",
"src/tint/ast/continue_statement.h",
"src/tint/ast/depth_multisampled_texture.cc",
"src/tint/ast/depth_multisampled_texture.h",
"src/tint/ast/depth_texture.cc",
"src/tint/ast/depth_texture.h",
"src/tint/ast/diagnostic_control.cc",
"src/tint/ast/diagnostic_control.h",
"src/tint/ast/disable_validation_attribute.cc",
"src/tint/ast/disable_validation_attribute.h",
"src/tint/ast/discard_statement.cc",
"src/tint/ast/discard_statement.h",
"src/tint/ast/enable.cc",
"src/tint/ast/enable.h",
"src/tint/ast/expression.cc",
"src/tint/ast/expression.h",
"src/tint/ast/extension.cc",
"src/tint/ast/extension.h",
"src/tint/ast/external_texture.cc",
"src/tint/ast/external_texture.h",
"src/tint/ast/f16.cc",
"src/tint/ast/f16.h",
"src/tint/ast/f32.cc",
"src/tint/ast/f32.h",
"src/tint/ast/float_literal_expression.cc",
"src/tint/ast/float_literal_expression.h",
"src/tint/ast/for_loop_statement.cc",
"src/tint/ast/for_loop_statement.h",
"src/tint/ast/function.cc",
"src/tint/ast/function.h",
"src/tint/ast/group_attribute.cc",
"src/tint/ast/group_attribute.h",
"src/tint/ast/i32.cc",
"src/tint/ast/i32.h",
"src/tint/ast/id_attribute.cc",
"src/tint/ast/id_attribute.h",
"src/tint/ast/identifier_expression.cc",
"src/tint/ast/identifier_expression.h",
"src/tint/ast/if_statement.cc",
"src/tint/ast/if_statement.h",
"src/tint/ast/increment_decrement_statement.cc",
"src/tint/ast/increment_decrement_statement.h",
"src/tint/ast/index_accessor_expression.cc",
"src/tint/ast/index_accessor_expression.h",
"src/tint/ast/int_literal_expression.cc",
"src/tint/ast/int_literal_expression.h",
"src/tint/ast/internal_attribute.cc",
"src/tint/ast/internal_attribute.h",
"src/tint/ast/interpolate_attribute.cc",
"src/tint/ast/interpolate_attribute.h",
"src/tint/ast/invariant_attribute.cc",
"src/tint/ast/invariant_attribute.h",
"src/tint/ast/let.cc",
"src/tint/ast/let.h",
"src/tint/ast/literal_expression.cc",
"src/tint/ast/literal_expression.h",
"src/tint/ast/location_attribute.cc",
"src/tint/ast/location_attribute.h",
"src/tint/ast/loop_statement.cc",
"src/tint/ast/loop_statement.h",
"src/tint/ast/matrix.cc",
"src/tint/ast/matrix.h",
"src/tint/ast/member_accessor_expression.cc",
"src/tint/ast/member_accessor_expression.h",
"src/tint/ast/module.cc",
"src/tint/ast/module.h",
"src/tint/ast/multisampled_texture.cc",
"src/tint/ast/multisampled_texture.h",
"src/tint/ast/node.cc",
"src/tint/ast/node.h",
"src/tint/ast/node_id.h",
"src/tint/ast/override.cc",
"src/tint/ast/override.h",
"src/tint/ast/parameter.cc",
"src/tint/ast/parameter.h",
"src/tint/ast/phony_expression.cc",
"src/tint/ast/phony_expression.h",
"src/tint/ast/pipeline_stage.cc",
"src/tint/ast/pipeline_stage.h",
"src/tint/ast/pointer.cc",
"src/tint/ast/pointer.h",
"src/tint/ast/return_statement.cc",
"src/tint/ast/return_statement.h",
"src/tint/ast/sampled_texture.cc",
"src/tint/ast/sampled_texture.h",
"src/tint/ast/sampler.cc",
"src/tint/ast/sampler.h",
"src/tint/ast/stage_attribute.cc",
"src/tint/ast/stage_attribute.h",
"src/tint/ast/statement.cc",
"src/tint/ast/statement.h",
"src/tint/ast/const_assert.cc",
"src/tint/ast/const_assert.h",
"src/tint/ast/storage_texture.cc",
"src/tint/ast/storage_texture.h",
"src/tint/ast/stride_attribute.cc",
"src/tint/ast/stride_attribute.h",
"src/tint/ast/struct.cc",
"src/tint/ast/struct.h",
"src/tint/ast/struct_member.cc",
"src/tint/ast/struct_member.h",
"src/tint/ast/struct_member_align_attribute.cc",
"src/tint/ast/struct_member_align_attribute.h",
"src/tint/ast/struct_member_offset_attribute.cc",
"src/tint/ast/struct_member_offset_attribute.h",
"src/tint/ast/struct_member_size_attribute.cc",
"src/tint/ast/struct_member_size_attribute.h",
"src/tint/ast/switch_statement.cc",
"src/tint/ast/switch_statement.h",
"src/tint/ast/texture.cc",
"src/tint/ast/texture.h",
"src/tint/ast/traverse_expressions.h",
"src/tint/ast/type.h",
"src/tint/ast/type_decl.cc",
"src/tint/ast/type_decl.h",
"src/tint/ast/type_name.cc",
"src/tint/ast/type_name.h",
"src/tint/ast/u32.cc",
"src/tint/ast/u32.h",
"src/tint/ast/unary_op.cc",
"src/tint/ast/unary_op.h",
"src/tint/ast/unary_op_expression.cc",
"src/tint/ast/unary_op_expression.h",
"src/tint/ast/var.cc",
"src/tint/ast/var.h",
"src/tint/ast/variable.cc",
"src/tint/ast/variable.h",
"src/tint/ast/variable_decl_statement.cc",
"src/tint/ast/variable_decl_statement.h",
"src/tint/ast/vector.cc",
"src/tint/ast/vector.h",
"src/tint/ast/void.cc",
"src/tint/ast/void.h",
"src/tint/ast/while_statement.cc",
"src/tint/ast/while_statement.h",
"src/tint/ast/workgroup_attribute.cc",
"src/tint/ast/workgroup_attribute.h",
"src/tint/castable.cc",
"src/tint/castable.h",
"src/tint/clone_context.cc",
"src/tint/clone_context.h",
"src/tint/debug.cc",
"src/tint/debug.h",
"src/tint/demangler.cc",
"src/tint/demangler.h",
"src/tint/diagnostic/diagnostic.cc",
"src/tint/diagnostic/diagnostic.h",
"src/tint/diagnostic/formatter.cc",
"src/tint/diagnostic/formatter.h",
"src/tint/diagnostic/printer.cc",
"src/tint/diagnostic/printer.h",
"src/tint/inspector/entry_point.cc",
"src/tint/inspector/entry_point.h",
"src/tint/inspector/inspector.cc",
"src/tint/inspector/inspector.h",
"src/tint/inspector/resource_binding.cc",
"src/tint/inspector/resource_binding.h",
"src/tint/inspector/scalar.cc",
"src/tint/inspector/scalar.h",
"src/tint/number.cc",
"src/tint/number.h",
"src/tint/program.cc",
"src/tint/program.h",
"src/tint/program_builder.cc",
"src/tint/program_builder.h",
"src/tint/program_id.cc",
"src/tint/program_id.h",
"src/tint/reader/reader.cc",
"src/tint/reader/reader.h",
"src/tint/reflection.h",
"src/tint/resolver/const_eval.cc",
"src/tint/resolver/const_eval.h",
"src/tint/resolver/init_conv_intrinsic.cc",
"src/tint/resolver/init_conv_intrinsic.h",
"src/tint/resolver/dependency_graph.cc",
"src/tint/resolver/dependency_graph.h",
"src/tint/resolver/intrinsic_table.cc",
"src/tint/resolver/intrinsic_table.h",
"src/tint/resolver/intrinsic_table.inl",
"src/tint/resolver/resolver.cc",
"src/tint/resolver/resolver.h",
"src/tint/resolver/sem_helper.cc",
"src/tint/resolver/sem_helper.h",
"src/tint/resolver/uniformity.cc",
"src/tint/resolver/uniformity.h",
"src/tint/resolver/validator.cc",
"src/tint/resolver/validator.h",
"src/tint/scope_stack.h",
"src/tint/source.cc",
"src/tint/source.h",
"src/tint/symbol.cc",
"src/tint/symbol.h",
"src/tint/symbol_table.cc",
"src/tint/symbol_table.h",
"src/tint/text/unicode.cc",
"src/tint/text/unicode.h",
"src/tint/traits.h",
"src/tint/transform/add_empty_entry_point.cc",
"src/tint/transform/add_empty_entry_point.h",
"src/tint/transform/add_block_attribute.cc",
"src/tint/transform/add_block_attribute.h",
"src/tint/transform/array_length_from_uniform.cc",
"src/tint/transform/array_length_from_uniform.h",
"src/tint/transform/binding_remapper.cc",
"src/tint/transform/binding_remapper.h",
"src/tint/transform/builtin_polyfill.cc",
"src/tint/transform/builtin_polyfill.h",
"src/tint/transform/calculate_array_length.cc",
"src/tint/transform/calculate_array_length.h",
"src/tint/transform/canonicalize_entry_point_io.cc",
"src/tint/transform/canonicalize_entry_point_io.h",
"src/tint/transform/clamp_frag_depth.cc",
"src/tint/transform/clamp_frag_depth.h",
"src/tint/transform/combine_samplers.cc",
"src/tint/transform/combine_samplers.h",
"src/tint/transform/decompose_memory_access.cc",
"src/tint/transform/decompose_memory_access.h",
"src/tint/transform/decompose_strided_array.cc",
"src/tint/transform/decompose_strided_array.h",
"src/tint/transform/decompose_strided_matrix.cc",
"src/tint/transform/decompose_strided_matrix.h",
"src/tint/transform/demote_to_helper.cc",
"src/tint/transform/demote_to_helper.h",
"src/tint/transform/direct_variable_access.cc",
"src/tint/transform/direct_variable_access.h",
"src/tint/transform/disable_uniformity_analysis.cc",
"src/tint/transform/disable_uniformity_analysis.h",
"src/tint/transform/expand_compound_assignment.cc",
"src/tint/transform/expand_compound_assignment.h",
"src/tint/transform/first_index_offset.cc",
"src/tint/transform/first_index_offset.h",
"src/tint/transform/for_loop_to_loop.cc",
"src/tint/transform/for_loop_to_loop.h",
"src/tint/transform/localize_struct_array_assignment.cc",
"src/tint/transform/localize_struct_array_assignment.h",
"src/tint/transform/manager.cc",
"src/tint/transform/manager.h",
"src/tint/transform/merge_return.cc",
"src/tint/transform/merge_return.h",
"src/tint/transform/module_scope_var_to_entry_point_param.cc",
"src/tint/transform/module_scope_var_to_entry_point_param.h",
"src/tint/transform/multiplanar_external_texture.cc",
"src/tint/transform/multiplanar_external_texture.h",
"src/tint/transform/num_workgroups_from_uniform.cc",
"src/tint/transform/num_workgroups_from_uniform.h",
"src/tint/transform/preserve_padding.cc",
"src/tint/transform/preserve_padding.h",
"src/tint/transform/promote_initializers_to_let.cc",
"src/tint/transform/promote_initializers_to_let.h",
"src/tint/transform/promote_side_effects_to_decl.cc",
"src/tint/transform/promote_side_effects_to_decl.h",
"src/tint/transform/remove_phonies.cc",
"src/tint/transform/remove_phonies.h",
"src/tint/transform/remove_unreachable_statements.cc",
"src/tint/transform/remove_unreachable_statements.h",
"src/tint/transform/renamer.cc",
"src/tint/transform/renamer.h",
"src/tint/transform/robustness.cc",
"src/tint/transform/robustness.h",
"src/tint/transform/simplify_pointers.cc",
"src/tint/transform/simplify_pointers.h",
"src/tint/transform/single_entry_point.cc",
"src/tint/transform/single_entry_point.h",
"src/tint/transform/spirv_atomic.cc",
"src/tint/transform/spirv_atomic.h",
"src/tint/transform/std140.cc",
"src/tint/transform/std140.h",
"src/tint/transform/substitute_override.cc",
"src/tint/transform/substitute_override.h",
"src/tint/transform/transform.cc",
"src/tint/transform/transform.h",
"src/tint/transform/unshadow.cc",
"src/tint/transform/unshadow.h",
"src/tint/transform/utils/get_insertion_point.cc",
"src/tint/transform/utils/get_insertion_point.h",
"src/tint/transform/utils/hoist_to_decl_before.cc",
"src/tint/transform/utils/hoist_to_decl_before.h",
"src/tint/transform/var_for_dynamic_index.cc",
"src/tint/transform/var_for_dynamic_index.h",
"src/tint/transform/vectorize_matrix_conversions.cc",
"src/tint/transform/vectorize_matrix_conversions.h",
"src/tint/transform/vectorize_scalar_matrix_initializers.cc",
"src/tint/transform/vectorize_scalar_matrix_initializers.h",
"src/tint/transform/vertex_pulling.cc",
"src/tint/transform/vertex_pulling.h",
"src/tint/transform/while_to_loop.cc",
"src/tint/transform/while_to_loop.h",
"src/tint/transform/zero_init_workgroup_memory.cc",
"src/tint/transform/zero_init_workgroup_memory.h",
"src/tint/utils/bitcast.h",
"src/tint/utils/bitset.h",
"src/tint/utils/block_allocator.h",
"src/tint/utils/compiler_macros.h",
"src/tint/utils/concat.h",
"src/tint/utils/crc32.h",
"src/tint/utils/debugger.cc",
"src/tint/utils/debugger.h",
"src/tint/utils/defer.h",
"src/tint/utils/enum_set.h",
"src/tint/utils/foreach_macro.h",
"src/tint/utils/hash.h",
"src/tint/utils/hashmap.h",
"src/tint/utils/hashmap_base.h",
"src/tint/utils/hashset.h",
"src/tint/utils/map.h",
"src/tint/utils/math.h",
"src/tint/utils/result.h",
"src/tint/utils/reverse.h",
"src/tint/utils/scoped_assignment.h",
"src/tint/utils/string.cc",
"src/tint/utils/string.h",
"src/tint/utils/transform.h",
"src/tint/utils/unique_allocator.h",
"src/tint/utils/unique_vector.h",
"src/tint/utils/vector.h",
"src/tint/writer/append_vector.cc",
"src/tint/writer/append_vector.h",
"src/tint/writer/array_length_from_uniform_options.cc",
"src/tint/writer/array_length_from_uniform_options.h",
"src/tint/writer/check_supported_extensions.cc",
"src/tint/writer/check_supported_extensions.h",
"src/tint/writer/flatten_bindings.cc",
"src/tint/writer/flatten_bindings.h",
"src/tint/writer/float_to_string.cc",
"src/tint/writer/float_to_string.h",
"src/tint/writer/generate_external_texture_bindings.cc",
"src/tint/writer/generate_external_texture_bindings.h",
"src/tint/writer/text.cc",
"src/tint/writer/text.h",
"src/tint/writer/text_generator.cc",
"src/tint/writer/text_generator.h",
"src/tint/writer/writer.cc",
"src/tint/writer/writer.h",
# From dawn/src/tint/BUILD.gn:libtint_sem_src
"src/tint/sem/array_count.cc",
"src/tint/sem/array_count.h",
"src/tint/sem/behavior.cc",
"src/tint/sem/behavior.h",
"src/tint/sem/binding_point.h",
"src/tint/sem/block_statement.cc",
"src/tint/sem/block_statement.h",
"src/tint/sem/break_if_statement.cc",
"src/tint/sem/break_if_statement.h",
"src/tint/sem/builtin.cc",
"src/tint/sem/builtin.h",
"src/tint/sem/builtin_type.cc",
"src/tint/sem/builtin_type.h",
"src/tint/sem/call.cc",
"src/tint/sem/call.h",
"src/tint/sem/call_target.cc",
"src/tint/sem/call_target.h",
"src/tint/sem/evaluation_stage.h",
"src/tint/sem/expression.cc",
"src/tint/sem/expression.h",
"src/tint/sem/for_loop_statement.cc",
"src/tint/sem/for_loop_statement.h",
"src/tint/sem/function.cc",
"src/tint/sem/function.h",
"src/tint/sem/if_statement.cc",
"src/tint/sem/if_statement.h",
"src/tint/sem/index_accessor_expression.cc",
"src/tint/sem/index_accessor_expression.h",
"src/tint/sem/info.cc",
"src/tint/sem/info.h",
"src/tint/sem/load.cc",
"src/tint/sem/load.h",
"src/tint/sem/loop_statement.cc",
"src/tint/sem/loop_statement.h",
"src/tint/sem/materialize.cc",
"src/tint/sem/materialize.h",
"src/tint/sem/member_accessor_expression.cc",
"src/tint/sem/member_accessor_expression.h",
"src/tint/sem/module.cc",
"src/tint/sem/module.h",
"src/tint/sem/node.cc",
"src/tint/sem/node.h",
"src/tint/sem/parameter_usage.cc",
"src/tint/sem/parameter_usage.h",
"src/tint/sem/pipeline_stage_set.h",
"src/tint/sem/sampler_texture_pair.h",
"src/tint/sem/statement.cc",
"src/tint/sem/statement.h",
"src/tint/sem/struct.cc",
"src/tint/sem/struct.h",
"src/tint/sem/switch_statement.cc",
"src/tint/sem/switch_statement.h",
"src/tint/sem/type_conversion.cc",
"src/tint/sem/type_conversion.h",
"src/tint/sem/type_initializer.cc",
"src/tint/sem/type_initializer.h",
"src/tint/sem/type_mappings.h",
"src/tint/sem/variable.cc",
"src/tint/sem/variable.h",
"src/tint/sem/while_statement.cc",
"src/tint/sem/while_statement.h",
# From dawn/src/tint/BUILD.gn:libtint_type_src
"src/tint/type/abstract_float.cc",
"src/tint/type/abstract_float.h",
"src/tint/type/abstract_int.cc",
"src/tint/type/abstract_int.h",
"src/tint/type/abstract_numeric.cc",
"src/tint/type/abstract_numeric.h",
"src/tint/type/access.cc",
"src/tint/type/access.h",
"src/tint/type/address_space.cc",
"src/tint/type/address_space.h",
"src/tint/type/array.cc",
"src/tint/type/array.h",
"src/tint/type/array_count.cc",
"src/tint/type/array_count.h",
"src/tint/type/atomic.cc",
"src/tint/type/atomic.h",
"src/tint/type/bool.cc",
"src/tint/type/bool.h",
"src/tint/type/clone_context.h",
"src/tint/type/depth_multisampled_texture.cc",
"src/tint/type/depth_multisampled_texture.h",
"src/tint/type/depth_texture.cc",
"src/tint/type/depth_texture.h",
"src/tint/type/external_texture.cc",
"src/tint/type/external_texture.h",
"src/tint/type/f16.cc",
"src/tint/type/f16.h",
"src/tint/type/f32.cc",
"src/tint/type/f32.h",
"src/tint/type/i32.cc",
"src/tint/type/i32.h",
"src/tint/type/manager.cc",
"src/tint/type/manager.h",
"src/tint/type/matrix.cc",
"src/tint/type/matrix.h",
"src/tint/type/multisampled_texture.cc",
"src/tint/type/multisampled_texture.h",
"src/tint/type/node.cc",
"src/tint/type/node.h",
"src/tint/type/pointer.cc",
"src/tint/type/pointer.h",
"src/tint/type/reference.cc",
"src/tint/type/reference.h",
"src/tint/type/sampled_texture.cc",
"src/tint/type/sampled_texture.h",
"src/tint/type/sampler.cc",
"src/tint/type/sampler.h",
"src/tint/type/sampler_kind.cc",
"src/tint/type/sampler_kind.h",
"src/tint/type/short_name.cc",
"src/tint/type/short_name.h",
"src/tint/type/storage_texture.cc",
"src/tint/type/storage_texture.h",
"src/tint/type/struct.cc",
"src/tint/type/struct.h",
"src/tint/type/texel_format.cc",
"src/tint/type/texel_format.h",
"src/tint/type/texture.cc",
"src/tint/type/texture.h",
"src/tint/type/texture_dimension.cc",
"src/tint/type/texture_dimension.h",
"src/tint/type/type.cc",
"src/tint/type/type.h",
"src/tint/type/u32.cc",
"src/tint/type/u32.h",
"src/tint/type/unique_node.cc",
"src/tint/type/unique_node.h",
"src/tint/type/vector.cc",
"src/tint/type/vector.h",
"src/tint/type/void.cc",
"src/tint/type/void.h",
# From dawn/src/tint/BUILD.gn:libtint_constant_src
"src/tint/constant/clone_context.h",
"src/tint/constant/composite.cc",
"src/tint/constant/composite.h",
"src/tint/constant/node.cc",
"src/tint/constant/node.h",
"src/tint/constant/scalar.cc",
"src/tint/constant/scalar.h",
"src/tint/constant/splat.cc",
"src/tint/constant/splat.h",
"src/tint/constant/value.cc",
"src/tint/constant/value.h",
# Dawn sets the following tint GN variables
# tint_build_spv_reader = true
# tint_build_spv_writer = true
# tint_build_wgsl_reader = true
# tint_build_wgsl_writer = true
# From dawn/src/tint/BUILD.gn:libtint_spv_reader_src
"src/tint/reader/spirv/construct.cc",
"src/tint/reader/spirv/construct.h",
"src/tint/reader/spirv/entry_point_info.cc",
"src/tint/reader/spirv/entry_point_info.h",
"src/tint/reader/spirv/enum_converter.cc",
"src/tint/reader/spirv/enum_converter.h",
"src/tint/reader/spirv/fail_stream.h",
"src/tint/reader/spirv/function.cc",
"src/tint/reader/spirv/function.h",
"src/tint/reader/spirv/namer.cc",
"src/tint/reader/spirv/namer.h",
"src/tint/reader/spirv/parser.cc",
"src/tint/reader/spirv/parser.h",
"src/tint/reader/spirv/parser_impl.cc",
"src/tint/reader/spirv/parser_impl.h",
"src/tint/reader/spirv/parser_type.cc",
"src/tint/reader/spirv/parser_type.h",
"src/tint/reader/spirv/usage.cc",
"src/tint/reader/spirv/usage.h",
# From dawn/src/tint/BUILD.gn:libtint_spv_writer_src
"src/tint/writer/spirv/binary_writer.cc",
"src/tint/writer/spirv/binary_writer.h",
"src/tint/writer/spirv/builder.cc",
"src/tint/writer/spirv/builder.h",
"src/tint/writer/spirv/function.cc",
"src/tint/writer/spirv/function.h",
"src/tint/writer/spirv/generator.cc",
"src/tint/writer/spirv/generator.h",
"src/tint/writer/spirv/generator_impl.cc",
"src/tint/writer/spirv/generator_impl.h",
"src/tint/writer/spirv/instruction.cc",
"src/tint/writer/spirv/instruction.h",
"src/tint/writer/spirv/operand.cc",
"src/tint/writer/spirv/operand.h",
"src/tint/writer/spirv/scalar_constant.h",
# From dawn/src/tint/BUILD.gn:libtint_wgsl_reader_src
"src/tint/reader/wgsl/lexer.cc",
"src/tint/reader/wgsl/lexer.h",
"src/tint/reader/wgsl/parser.cc",
"src/tint/reader/wgsl/parser.h",
"src/tint/reader/wgsl/parser_impl.cc",
"src/tint/reader/wgsl/parser_impl.h",
"src/tint/reader/wgsl/parser_impl_detail.h",
"src/tint/reader/wgsl/token.cc",
"src/tint/reader/wgsl/token.h",
# From dawn/src/tint/BUILD.gn:libtint_wgsl_writer_src
"src/tint/writer/wgsl/generator.cc",
"src/tint/writer/wgsl/generator.h",
"src/tint/writer/wgsl/generator_impl.cc",
"src/tint/writer/wgsl/generator_impl.h",
]
cc_library(
name = "tint",
srcs = TINT_SRCS,
hdrs = TINT_HDRS,
defines = [
# From From dawn/src/tint/BUILD.gn:tint_public_config, using the options
# set by Skia in //build_overrides/tint.gni
"TINT_BUILD_SPV_READER=1",
"TINT_BUILD_SPV_WRITER=1",
"TINT_BUILD_WGSL_READER=1",
"TINT_BUILD_WGSL_WRITER=1",
],
includes = [
"",
"include",
],
visibility = ["//visibility:public"],
deps = [
# Tint specifically depends on spirv-tools/BUILD.gn:spirv_opt
"@spirv_tools//:spirv_tools_opt",
# Tint requires "include/spirv/unified1/spirv.hpp11", which is provided
# by this rule
"@spirv_headers//:spirv_cpp11_headers",
# Tint requires "include/spirv/unified1/spirv.h", which is provided by
# this rule
"@spirv_headers//:spirv_c_headers",
],
)