| # 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", | 
 |   ] | 
 | } |