| 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)", |
| 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)", |
| 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)", |
| 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)", |
| tools = [":dawn_json_generator"], |
| ) |
| |
| genrule( |
| name = "generate_utils", |
| srcs = [ |
| "dawn.json", |
| "dawn_wire.json", |
| "generator/templates/BSD_LICENSE", |
| "generator/templates/dawn/native/CacheKey.cpp", |
| "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_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/CacheKey_autogen.cpp", |
| "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_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)", |
| 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)", |
| 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", |
| 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/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/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/CacheKey.cpp", |
| "src/dawn/native/CacheKey.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.h", |
| "src/dawn/native/PassResourceUsage.cpp", |
| "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/ShaderModule.cpp", |
| "src/dawn/native/ShaderModule.h", |
| "src/dawn/native/StagingBuffer.cpp", |
| "src/dawn/native/StagingBuffer.h", |
| "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/VertexFormat.cpp", |
| "src/dawn/native/VertexFormat.h", |
| "src/dawn/native/dawn_platform.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/CacheKey_autogen.cpp", |
| "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/webgpu_absl_format_autogen.cpp", |
| "src/dawn/native/webgpu_absl_format_autogen.h", |
| "src/dawn/native/dawn_platform_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/CacheKeyVk.cpp", |
| "src/dawn/native/vulkan/CacheKeyVk.h", |
| "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/StagingBufferVk.cpp", |
| "src/dawn/native/vulkan/StagingBufferVk.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.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 = [ |
| # From dawn/src/tint/BUILD.gn:libtint_core_all_src |
| "src/tint/ast/access.cc", |
| "src/tint/ast/access.h", |
| "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_statement.cc", |
| "src/tint/ast/break_statement.h", |
| "src/tint/ast/builtin.cc", |
| "src/tint/ast/builtin.h", |
| "src/tint/ast/builtin_attribute.cc", |
| "src/tint/ast/builtin_attribute.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/const.cc", |
| "src/tint/ast/const.h", |
| "src/tint/ast/compound_assignment_statement.cc", |
| "src/tint/ast/compound_assignment_statement.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/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/fallthrough_statement.cc", |
| "src/tint/ast/fallthrough_statement.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/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/increment_decrement_statement.cc", |
| "src/tint/ast/increment_decrement_statement.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/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/storage_class.cc", |
| "src/tint/ast/storage_class.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/variable.cc", |
| "src/tint/ast/variable.h", |
| "src/tint/ast/var.cc", |
| "src/tint/ast/var.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.h", |
| "src/tint/number.cc", |
| "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/resolver/const_eval.h", |
| "src/tint/resolver/const_eval.cc", |
| "src/tint/resolver/ctor_conv_intrinsic.cc", |
| "src/tint/resolver/ctor_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/resolver_constants.cc", |
| "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_spirv_block_attribute.cc", |
| "src/tint/transform/add_spirv_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/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/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/fold_trivial_single_use_lets.cc", |
| "src/tint/transform/fold_trivial_single_use_lets.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/loop_to_for_loop.cc", |
| "src/tint/transform/loop_to_for_loop.h", |
| "src/tint/transform/manager.cc", |
| "src/tint/transform/manager.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/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/transform.cc", |
| "src/tint/transform/transform.h", |
| "src/tint/transform/unshadow.cc", |
| "src/tint/transform/unshadow.h", |
| "src/tint/transform/unwind_discard_functions.cc", |
| "src/tint/transform/unwind_discard_functions.h", |
| "src/tint/transform/utils/hoist_to_decl_before.cc", |
| "src/tint/transform/utils/hoist_to_decl_before.h", |
| "src/tint/transform/utils/get_insertion_point.cc", |
| "src/tint/transform/utils/get_insertion_point.h", |
| "src/tint/transform/var_for_dynamic_index.cc", |
| "src/tint/transform/var_for_dynamic_index.h", |
| "src/tint/transform/vectorize_scalar_matrix_constructors.cc", |
| "src/tint/transform/vectorize_scalar_matrix_constructors.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/block_allocator.h", |
| "src/tint/utils/concat.h", |
| "src/tint/utils/compiler_macros.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/hash.h", |
| "src/tint/utils/map.h", |
| "src/tint/utils/math.h", |
| "src/tint/utils/reverse.h", |
| "src/tint/utils/result.h", |
| "src/tint/utils/scoped_assignment.h", |
| "src/tint/utils/string.h", |
| "src/tint/utils/to_const_ptr_vec.h", |
| "src/tint/utils/transform.h", |
| "src/tint/utils/unique_allocator.h", |
| "src/tint/utils/unique_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/float_to_string.cc", |
| "src/tint/writer/flatten_bindings.cc", |
| "src/tint/writer/flatten_bindings.h", |
| "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/abstract_float.cc", |
| "src/tint/sem/abstract_float.h", |
| "src/tint/sem/abstract_int.cc", |
| "src/tint/sem/abstract_int.h", |
| "src/tint/sem/abstract_numeric.cc", |
| "src/tint/sem/abstract_numeric.h", |
| "src/tint/sem/array.cc", |
| "src/tint/sem/array.h", |
| "src/tint/sem/atomic.cc", |
| "src/tint/sem/atomic.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/bool.cc", |
| "src/tint/sem/bool.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/constant.cc", |
| "src/tint/sem/constant.h", |
| "src/tint/sem/depth_multisampled_texture.cc", |
| "src/tint/sem/depth_multisampled_texture.h", |
| "src/tint/sem/depth_texture.cc", |
| "src/tint/sem/depth_texture.h", |
| "src/tint/sem/expression.cc", |
| "src/tint/sem/expression.h", |
| "src/tint/sem/external_texture.cc", |
| "src/tint/sem/external_texture.h", |
| "src/tint/sem/f16.cc", |
| "src/tint/sem/f16.h", |
| "src/tint/sem/f32.cc", |
| "src/tint/sem/f32.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/i32.cc", |
| "src/tint/sem/i32.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/loop_statement.cc", |
| "src/tint/sem/loop_statement.h", |
| "src/tint/sem/materialize.cc", |
| "src/tint/sem/materialize.h", |
| "src/tint/sem/matrix.cc", |
| "src/tint/sem/matrix.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/multisampled_texture.cc", |
| "src/tint/sem/multisampled_texture.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/pointer.cc", |
| "src/tint/sem/pointer.h", |
| "src/tint/sem/reference.cc", |
| "src/tint/sem/reference.h", |
| "src/tint/sem/sampled_texture.cc", |
| "src/tint/sem/sampled_texture.h", |
| "src/tint/sem/sampler_texture_pair.h", |
| "src/tint/sem/sampler.cc", |
| "src/tint/sem/sampler.h", |
| "src/tint/sem/statement.cc", |
| "src/tint/sem/statement.h", |
| "src/tint/sem/storage_texture.cc", |
| "src/tint/sem/storage_texture.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/texture.cc", |
| "src/tint/sem/texture.h", |
| "src/tint/sem/type.cc", |
| "src/tint/sem/type.h", |
| "src/tint/sem/type_constructor.cc", |
| "src/tint/sem/type_constructor.h", |
| "src/tint/sem/type_conversion.cc", |
| "src/tint/sem/type_conversion.h", |
| "src/tint/sem/type_manager.cc", |
| "src/tint/sem/type_manager.h", |
| "src/tint/sem/type_mappings.h", |
| "src/tint/sem/u32.cc", |
| "src/tint/sem/u32.h", |
| "src/tint/sem/variable.cc", |
| "src/tint/sem/variable.h", |
| "src/tint/sem/vector.cc", |
| "src/tint/sem/vector.h", |
| "src/tint/sem/void.cc", |
| "src/tint/sem/void.h", |
| "src/tint/sem/while_statement.cc", |
| "src/tint/sem/while_statement.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", |
| ], |
| ) |