blob: 3ed0f2e0ad3f9a835f131e910f8a826b6c5ef563 [file] [log] [blame]
# Copyright 2024 The Dawn & Tint Authors
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice, this
# list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# 3. Neither the name of the copyright holder nor the names of its
# contributors may be used to endorse or promote products derived from
# this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
import("../../scripts/dawn_overrides_with_defaults.gni")
import("${dawn_root}/generator/dawn_generator.gni")
dawn_json_generator("jni_gen") {
target = "jni"
outputs = [
"cpp/JNIClasses.cpp",
"cpp/JNIClasses.h",
"cpp/methods.cpp",
"cpp/structures.cpp",
"cpp/structures.h",
]
}
dawn_json_generator("kotlin_gen") {
target = "kotlin"
outputs = [
"java/androidx/webgpu/Adapter.kt",
"java/androidx/webgpu/AdapterInfo.kt",
"java/androidx/webgpu/AdapterType.kt",
"java/androidx/webgpu/AddressMode.kt",
"java/androidx/webgpu/AsyncHelpers.kt",
"java/androidx/webgpu/BackendType.kt",
"java/androidx/webgpu/BindGroup.kt",
"java/androidx/webgpu/BindGroupDescriptor.kt",
"java/androidx/webgpu/BindGroupEntry.kt",
"java/androidx/webgpu/BindGroupLayout.kt",
"java/androidx/webgpu/BindGroupLayoutDescriptor.kt",
"java/androidx/webgpu/BindGroupLayoutEntry.kt",
"java/androidx/webgpu/BlendComponent.kt",
"java/androidx/webgpu/BlendFactor.kt",
"java/androidx/webgpu/BlendOperation.kt",
"java/androidx/webgpu/BlendState.kt",
"java/androidx/webgpu/Buffer.kt",
"java/androidx/webgpu/BufferBindingLayout.kt",
"java/androidx/webgpu/BufferBindingType.kt",
"java/androidx/webgpu/BufferDescriptor.kt",
"java/androidx/webgpu/BufferMapCallback.kt",
"java/androidx/webgpu/BufferMapCallbackInfo.kt",
"java/androidx/webgpu/BufferMapState.kt",
"java/androidx/webgpu/BufferUsage.kt",
"java/androidx/webgpu/CallbackMode.kt",
"java/androidx/webgpu/Color.kt",
"java/androidx/webgpu/ColorTargetState.kt",
"java/androidx/webgpu/ColorWriteMask.kt",
"java/androidx/webgpu/CommandBuffer.kt",
"java/androidx/webgpu/CommandBufferDescriptor.kt",
"java/androidx/webgpu/CommandEncoder.kt",
"java/androidx/webgpu/CommandEncoderDescriptor.kt",
"java/androidx/webgpu/CompareFunction.kt",
"java/androidx/webgpu/CompilationInfo.kt",
"java/androidx/webgpu/CompilationInfoCallback.kt",
"java/androidx/webgpu/CompilationInfoCallbackInfo.kt",
"java/androidx/webgpu/CompilationInfoRequestStatus.kt",
"java/androidx/webgpu/CompilationMessage.kt",
"java/androidx/webgpu/CompilationMessageType.kt",
"java/androidx/webgpu/CompositeAlphaMode.kt",
"java/androidx/webgpu/ComputePassDescriptor.kt",
"java/androidx/webgpu/ComputePassEncoder.kt",
"java/androidx/webgpu/ComputePipeline.kt",
"java/androidx/webgpu/ComputePipelineDescriptor.kt",
"java/androidx/webgpu/ComputeState.kt",
"java/androidx/webgpu/ConstantEntry.kt",
"java/androidx/webgpu/Constants.kt",
"java/androidx/webgpu/CreateComputePipelineAsyncCallback.kt",
"java/androidx/webgpu/CreateComputePipelineAsyncCallbackInfo.kt",
"java/androidx/webgpu/CreatePipelineAsyncStatus.kt",
"java/androidx/webgpu/CreateRenderPipelineAsyncCallback.kt",
"java/androidx/webgpu/CreateRenderPipelineAsyncCallbackInfo.kt",
"java/androidx/webgpu/CullMode.kt",
"java/androidx/webgpu/DepthStencilState.kt",
"java/androidx/webgpu/Device.kt",
"java/androidx/webgpu/DeviceDescriptor.kt",
"java/androidx/webgpu/DeviceLostCallback.kt",
"java/androidx/webgpu/DeviceLostCallbackInfo.kt",
"java/androidx/webgpu/DeviceLostReason.kt",
"java/androidx/webgpu/ErrorFilter.kt",
"java/androidx/webgpu/ErrorType.kt",
"java/androidx/webgpu/Extent3D.kt",
"java/androidx/webgpu/FeatureLevel.kt",
"java/androidx/webgpu/FeatureName.kt",
"java/androidx/webgpu/FilterMode.kt",
"java/androidx/webgpu/FragmentState.kt",
"java/androidx/webgpu/FrontFace.kt",
"java/androidx/webgpu/Functions.kt",
"java/androidx/webgpu/Future.kt",
"java/androidx/webgpu/FutureWaitInfo.kt",
"java/androidx/webgpu/IndexFormat.kt",
"java/androidx/webgpu/Instance.kt",
"java/androidx/webgpu/InstanceDescriptor.kt",
"java/androidx/webgpu/InstanceFeatureName.kt",
"java/androidx/webgpu/InstanceLimits.kt",
"java/androidx/webgpu/Limits.kt",
"java/androidx/webgpu/LoadOp.kt",
"java/androidx/webgpu/MapAsyncStatus.kt",
"java/androidx/webgpu/MapMode.kt",
"java/androidx/webgpu/MipmapFilterMode.kt",
"java/androidx/webgpu/MultisampleState.kt",
"java/androidx/webgpu/OptionalBool.kt",
"java/androidx/webgpu/Origin3D.kt",
"java/androidx/webgpu/PassTimestampWrites.kt",
"java/androidx/webgpu/PipelineLayout.kt",
"java/androidx/webgpu/PipelineLayoutDescriptor.kt",
"java/androidx/webgpu/PopErrorScopeCallback.kt",
"java/androidx/webgpu/PopErrorScopeCallbackInfo.kt",
"java/androidx/webgpu/PopErrorScopeStatus.kt",
"java/androidx/webgpu/PowerPreference.kt",
"java/androidx/webgpu/PredefinedColorSpace.kt",
"java/androidx/webgpu/PresentMode.kt",
"java/androidx/webgpu/PrimitiveState.kt",
"java/androidx/webgpu/PrimitiveTopology.kt",
"java/androidx/webgpu/Proc.kt",
"java/androidx/webgpu/QuerySet.kt",
"java/androidx/webgpu/QuerySetDescriptor.kt",
"java/androidx/webgpu/QueryType.kt",
"java/androidx/webgpu/Queue.kt",
"java/androidx/webgpu/QueueDescriptor.kt",
"java/androidx/webgpu/QueueWorkDoneCallback.kt",
"java/androidx/webgpu/QueueWorkDoneCallbackInfo.kt",
"java/androidx/webgpu/QueueWorkDoneStatus.kt",
"java/androidx/webgpu/RenderBundle.kt",
"java/androidx/webgpu/RenderBundleDescriptor.kt",
"java/androidx/webgpu/RenderBundleEncoder.kt",
"java/androidx/webgpu/RenderBundleEncoderDescriptor.kt",
"java/androidx/webgpu/RenderPassColorAttachment.kt",
"java/androidx/webgpu/RenderPassDepthStencilAttachment.kt",
"java/androidx/webgpu/RenderPassDescriptor.kt",
"java/androidx/webgpu/RenderPassEncoder.kt",
"java/androidx/webgpu/RenderPassMaxDrawCount.kt",
"java/androidx/webgpu/RenderPipeline.kt",
"java/androidx/webgpu/RenderPipelineDescriptor.kt",
"java/androidx/webgpu/RequestAdapterCallback.kt",
"java/androidx/webgpu/RequestAdapterCallbackInfo.kt",
"java/androidx/webgpu/RequestAdapterOptions.kt",
"java/androidx/webgpu/RequestAdapterStatus.kt",
"java/androidx/webgpu/RequestAdapterWebXROptions.kt",
"java/androidx/webgpu/RequestDeviceCallback.kt",
"java/androidx/webgpu/RequestDeviceCallbackInfo.kt",
"java/androidx/webgpu/RequestDeviceStatus.kt",
"java/androidx/webgpu/SType.kt",
"java/androidx/webgpu/Sampler.kt",
"java/androidx/webgpu/SamplerBindingLayout.kt",
"java/androidx/webgpu/SamplerBindingType.kt",
"java/androidx/webgpu/SamplerDescriptor.kt",
"java/androidx/webgpu/ShaderModule.kt",
"java/androidx/webgpu/ShaderModuleDescriptor.kt",
"java/androidx/webgpu/ShaderSourceSPIRV.kt",
"java/androidx/webgpu/ShaderSourceWGSL.kt",
"java/androidx/webgpu/ShaderStage.kt",
"java/androidx/webgpu/Status.kt",
"java/androidx/webgpu/StencilFaceState.kt",
"java/androidx/webgpu/StencilOperation.kt",
"java/androidx/webgpu/StorageTextureAccess.kt",
"java/androidx/webgpu/StorageTextureBindingLayout.kt",
"java/androidx/webgpu/StoreOp.kt",
"java/androidx/webgpu/SupportedFeatures.kt",
"java/androidx/webgpu/SupportedInstanceFeatures.kt",
"java/androidx/webgpu/SupportedWGSLLanguageFeatures.kt",
"java/androidx/webgpu/Surface.kt",
"java/androidx/webgpu/SurfaceCapabilities.kt",
"java/androidx/webgpu/SurfaceColorManagement.kt",
"java/androidx/webgpu/SurfaceConfiguration.kt",
"java/androidx/webgpu/SurfaceDescriptor.kt",
"java/androidx/webgpu/SurfaceGetCurrentTextureStatus.kt",
"java/androidx/webgpu/SurfaceSourceAndroidNativeWindow.kt",
"java/androidx/webgpu/SurfaceTexture.kt",
"java/androidx/webgpu/Texture.kt",
"java/androidx/webgpu/TexelCopyBufferInfo.kt",
"java/androidx/webgpu/TexelCopyBufferLayout.kt",
"java/androidx/webgpu/TexelCopyTextureInfo.kt",
"java/androidx/webgpu/TextureAspect.kt",
"java/androidx/webgpu/TextureBindingLayout.kt",
"java/androidx/webgpu/TextureDescriptor.kt",
"java/androidx/webgpu/TextureDimension.kt",
"java/androidx/webgpu/TextureFormat.kt",
"java/androidx/webgpu/TextureSampleType.kt",
"java/androidx/webgpu/TextureUsage.kt",
"java/androidx/webgpu/TextureView.kt",
"java/androidx/webgpu/TextureViewDescriptor.kt",
"java/androidx/webgpu/TextureViewDimension.kt",
"java/androidx/webgpu/ToneMappingMode.kt",
"java/androidx/webgpu/UncapturedErrorCallback.kt",
"java/androidx/webgpu/UncapturedErrorCallbackInfo.kt",
"java/androidx/webgpu/VertexAttribute.kt",
"java/androidx/webgpu/VertexBufferLayout.kt",
"java/androidx/webgpu/VertexFormat.kt",
"java/androidx/webgpu/VertexState.kt",
"java/androidx/webgpu/VertexStepMode.kt",
"java/androidx/webgpu/WGSLLanguageFeatureName.kt",
"java/androidx/webgpu/WaitStatus.kt",
]
}
group("android") {
deps = [
":jni_gen",
":kotlin_gen",
]
}