blob: ca4825302ea83c4f46c120af0775da8b59edbad1 [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/AdapterType.kt",
"java/androidx/webgpu/AddressMode.kt",
"java/androidx/webgpu/BackendType.kt",
"java/androidx/webgpu/BlendFactor.kt",
"java/androidx/webgpu/BlendOperation.kt",
"java/androidx/webgpu/BufferBindingType.kt",
"java/androidx/webgpu/BufferMapState.kt",
"java/androidx/webgpu/BufferUsage.kt",
"java/androidx/webgpu/CallbackMode.kt",
"java/androidx/webgpu/ColorWriteMask.kt",
"java/androidx/webgpu/CompareFunction.kt",
"java/androidx/webgpu/CompilationInfoRequestStatus.kt",
"java/androidx/webgpu/CompilationMessageType.kt",
"java/androidx/webgpu/ComponentSwizzle.kt",
"java/androidx/webgpu/CompositeAlphaMode.kt",
"java/androidx/webgpu/Constants.kt",
"java/androidx/webgpu/CreatePipelineAsyncStatus.kt",
"java/androidx/webgpu/CullMode.kt",
"java/androidx/webgpu/DeviceLostCallback.kt",
"java/androidx/webgpu/DeviceLostReason.kt",
"java/androidx/webgpu/ErrorFilter.kt",
"java/androidx/webgpu/ErrorType.kt",
"java/androidx/webgpu/Exceptions.kt",
"java/androidx/webgpu/FeatureLevel.kt",
"java/androidx/webgpu/FeatureName.kt",
"java/androidx/webgpu/FilterMode.kt",
"java/androidx/webgpu/FrontFace.kt",
"java/androidx/webgpu/Functions.kt",
"java/androidx/webgpu/GPUAdapter.kt",
"java/androidx/webgpu/GPUAdapterInfo.kt",
"java/androidx/webgpu/GPUBindGroup.kt",
"java/androidx/webgpu/GPUBindGroupDescriptor.kt",
"java/androidx/webgpu/GPUBindGroupEntry.kt",
"java/androidx/webgpu/GPUBindGroupLayout.kt",
"java/androidx/webgpu/GPUBindGroupLayoutDescriptor.kt",
"java/androidx/webgpu/GPUBindGroupLayoutEntry.kt",
"java/androidx/webgpu/GPUBlendComponent.kt",
"java/androidx/webgpu/GPUBlendState.kt",
"java/androidx/webgpu/GPUBuffer.kt",
"java/androidx/webgpu/GPUBufferBindingLayout.kt",
"java/androidx/webgpu/GPUBufferDescriptor.kt",
"java/androidx/webgpu/GPUColor.kt",
"java/androidx/webgpu/GPUColorTargetState.kt",
"java/androidx/webgpu/GPUCommandBuffer.kt",
"java/androidx/webgpu/GPUCommandBufferDescriptor.kt",
"java/androidx/webgpu/GPUCommandEncoder.kt",
"java/androidx/webgpu/GPUCommandEncoderDescriptor.kt",
"java/androidx/webgpu/GPUCompilationInfo.kt",
"java/androidx/webgpu/GPUCompilationMessage.kt",
"java/androidx/webgpu/GPUComputePassDescriptor.kt",
"java/androidx/webgpu/GPUComputePassEncoder.kt",
"java/androidx/webgpu/GPUComputePipeline.kt",
"java/androidx/webgpu/GPUComputePipelineDescriptor.kt",
"java/androidx/webgpu/GPUComputeState.kt",
"java/androidx/webgpu/GPUConstantEntry.kt",
"java/androidx/webgpu/GPUDepthStencilState.kt",
"java/androidx/webgpu/GPUDevice.kt",
"java/androidx/webgpu/GPUDeviceDescriptor.kt",
"java/androidx/webgpu/GPUExtent3D.kt",
"java/androidx/webgpu/GPUFragmentState.kt",
"java/androidx/webgpu/GPUInstance.kt",
"java/androidx/webgpu/GPUInstanceDescriptor.kt",
"java/androidx/webgpu/GPUInstanceLimits.kt",
"java/androidx/webgpu/GPULimits.kt",
"java/androidx/webgpu/GPUMultisampleState.kt",
"java/androidx/webgpu/GPUOrigin3D.kt",
"java/androidx/webgpu/GPUPassTimestampWrites.kt",
"java/androidx/webgpu/GPUPipelineLayout.kt",
"java/androidx/webgpu/GPUPipelineLayoutDescriptor.kt",
"java/androidx/webgpu/GPUPrimitiveState.kt",
"java/androidx/webgpu/GPUQuerySet.kt",
"java/androidx/webgpu/GPUQuerySetDescriptor.kt",
"java/androidx/webgpu/GPUQueue.kt",
"java/androidx/webgpu/GPUQueueDescriptor.kt",
"java/androidx/webgpu/GPURenderBundle.kt",
"java/androidx/webgpu/GPURenderBundleDescriptor.kt",
"java/androidx/webgpu/GPURenderBundleEncoder.kt",
"java/androidx/webgpu/GPURenderBundleEncoderDescriptor.kt",
"java/androidx/webgpu/GPURenderPassColorAttachment.kt",
"java/androidx/webgpu/GPURenderPassDepthStencilAttachment.kt",
"java/androidx/webgpu/GPURenderPassDescriptor.kt",
"java/androidx/webgpu/GPURenderPassEncoder.kt",
"java/androidx/webgpu/GPURenderPassMaxDrawCount.kt",
"java/androidx/webgpu/GPURenderPipeline.kt",
"java/androidx/webgpu/GPURenderPipelineDescriptor.kt",
"java/androidx/webgpu/GPURequestAdapterOptions.kt",
"java/androidx/webgpu/GPURequestAdapterWebXROptions.kt",
"java/androidx/webgpu/GPURequestCallback.kt",
"java/androidx/webgpu/GPUSampler.kt",
"java/androidx/webgpu/GPUSamplerBindingLayout.kt",
"java/androidx/webgpu/GPUSamplerDescriptor.kt",
"java/androidx/webgpu/GPUShaderModule.kt",
"java/androidx/webgpu/GPUShaderModuleDescriptor.kt",
"java/androidx/webgpu/GPUShaderSourceSPIRV.kt",
"java/androidx/webgpu/GPUShaderSourceWGSL.kt",
"java/androidx/webgpu/GPUStencilFaceState.kt",
"java/androidx/webgpu/GPUStorageTextureBindingLayout.kt",
"java/androidx/webgpu/GPUSupportedFeatures.kt",
"java/androidx/webgpu/GPUSupportedInstanceFeatures.kt",
"java/androidx/webgpu/GPUSupportedWGSLLanguageFeatures.kt",
"java/androidx/webgpu/GPUSurface.kt",
"java/androidx/webgpu/GPUSurfaceCapabilities.kt",
"java/androidx/webgpu/GPUSurfaceColorManagement.kt",
"java/androidx/webgpu/GPUSurfaceConfiguration.kt",
"java/androidx/webgpu/GPUSurfaceDescriptor.kt",
"java/androidx/webgpu/GPUSurfaceSourceAndroidNativeWindow.kt",
"java/androidx/webgpu/GPUSurfaceTexture.kt",
"java/androidx/webgpu/GPUTexelCopyBufferInfo.kt",
"java/androidx/webgpu/GPUTexelCopyBufferLayout.kt",
"java/androidx/webgpu/GPUTexelCopyTextureInfo.kt",
"java/androidx/webgpu/GPUTexture.kt",
"java/androidx/webgpu/GPUTextureBindingLayout.kt",
"java/androidx/webgpu/GPUTextureComponentSwizzle.kt",
"java/androidx/webgpu/GPUTextureComponentSwizzleDescriptor.kt",
"java/androidx/webgpu/GPUTextureDescriptor.kt",
"java/androidx/webgpu/GPUTextureView.kt",
"java/androidx/webgpu/GPUTextureViewDescriptor.kt",
"java/androidx/webgpu/GPUVertexAttribute.kt",
"java/androidx/webgpu/GPUVertexBufferLayout.kt",
"java/androidx/webgpu/GPUVertexState.kt",
"java/androidx/webgpu/IndexFormat.kt",
"java/androidx/webgpu/InstanceFeatureName.kt",
"java/androidx/webgpu/LoadOp.kt",
"java/androidx/webgpu/MapAsyncStatus.kt",
"java/androidx/webgpu/MapMode.kt",
"java/androidx/webgpu/MipmapFilterMode.kt",
"java/androidx/webgpu/OptionalBool.kt",
"java/androidx/webgpu/PopErrorScopeStatus.kt",
"java/androidx/webgpu/PowerPreference.kt",
"java/androidx/webgpu/PredefinedColorSpace.kt",
"java/androidx/webgpu/PresentMode.kt",
"java/androidx/webgpu/PrimitiveTopology.kt",
"java/androidx/webgpu/Proc.kt",
"java/androidx/webgpu/QueryType.kt",
"java/androidx/webgpu/QueueWorkDoneStatus.kt",
"java/androidx/webgpu/RequestAdapterStatus.kt",
"java/androidx/webgpu/RequestDeviceStatus.kt",
"java/androidx/webgpu/SType.kt",
"java/androidx/webgpu/SamplerBindingType.kt",
"java/androidx/webgpu/ShaderStage.kt",
"java/androidx/webgpu/Status.kt",
"java/androidx/webgpu/StencilOperation.kt",
"java/androidx/webgpu/StorageTextureAccess.kt",
"java/androidx/webgpu/StoreOp.kt",
"java/androidx/webgpu/SurfaceGetCurrentTextureStatus.kt",
"java/androidx/webgpu/TextureAspect.kt",
"java/androidx/webgpu/TextureDimension.kt",
"java/androidx/webgpu/TextureFormat.kt",
"java/androidx/webgpu/TextureSampleType.kt",
"java/androidx/webgpu/TextureUsage.kt",
"java/androidx/webgpu/TextureViewDimension.kt",
"java/androidx/webgpu/ToneMappingMode.kt",
"java/androidx/webgpu/UncapturedErrorCallback.kt",
"java/androidx/webgpu/VertexFormat.kt",
"java/androidx/webgpu/VertexStepMode.kt",
"java/androidx/webgpu/WGSLLanguageFeatureName.kt",
]
}
group("android") {
deps = [
":jni_gen",
":kotlin_gen",
]
}