use v5.30;
package # Hide from PAUSE
WebGPU::Direct::XS
{
our $VERSION = '0.13';
require XSLoader;
XSLoader::load('WebGPU::Direct', $VERSION);
}
package # Hide from PAUSE
WebGPU::Direct::Opaque {
}
package
WebGPU::Direct {
sub CreateInstance { my $class = shift; WebGPU::Direct::XS::CreateInstance(@_); }
sub GetProcAddress { my $class = shift; WebGPU::Direct::XS::GetProcAddress(@_); }
our @export_all;
sub AdapterType () { 'WebGPU::Direct::AdapterType' }; push @export_all, 'AdapterType';
sub AddressMode () { 'WebGPU::Direct::AddressMode' }; push @export_all, 'AddressMode';
sub BackendType () { 'WebGPU::Direct::BackendType' }; push @export_all, 'BackendType';
sub BlendFactor () { 'WebGPU::Direct::BlendFactor' }; push @export_all, 'BlendFactor';
sub BlendOperation () { 'WebGPU::Direct::BlendOperation' }; push @export_all, 'BlendOperation';
sub BufferBindingType () { 'WebGPU::Direct::BufferBindingType' }; push @export_all, 'BufferBindingType';
sub BufferMapAsyncStatus () { 'WebGPU::Direct::BufferMapAsyncStatus' }; push @export_all, 'BufferMapAsyncStatus';
sub BufferMapState () { 'WebGPU::Direct::BufferMapState' }; push @export_all, 'BufferMapState';
sub BufferUsage () { 'WebGPU::Direct::BufferUsage' }; push @export_all, 'BufferUsage';
sub ColorWriteMask () { 'WebGPU::Direct::ColorWriteMask' }; push @export_all, 'ColorWriteMask';
sub CompareFunction () { 'WebGPU::Direct::CompareFunction' }; push @export_all, 'CompareFunction';
sub CompilationInfoRequestStatus () { 'WebGPU::Direct::CompilationInfoRequestStatus' }; push @export_all, 'CompilationInfoRequestStatus';
sub CompilationMessageType () { 'WebGPU::Direct::CompilationMessageType' }; push @export_all, 'CompilationMessageType';
sub CompositeAlphaMode () { 'WebGPU::Direct::CompositeAlphaMode' }; push @export_all, 'CompositeAlphaMode';
sub CreatePipelineAsyncStatus () { 'WebGPU::Direct::CreatePipelineAsyncStatus' }; push @export_all, 'CreatePipelineAsyncStatus';
sub CullMode () { 'WebGPU::Direct::CullMode' }; push @export_all, 'CullMode';
sub DeviceLostReason () { 'WebGPU::Direct::DeviceLostReason' }; push @export_all, 'DeviceLostReason';
sub ErrorFilter () { 'WebGPU::Direct::ErrorFilter' }; push @export_all, 'ErrorFilter';
sub ErrorType () { 'WebGPU::Direct::ErrorType' }; push @export_all, 'ErrorType';
sub FeatureName () { 'WebGPU::Direct::FeatureName' }; push @export_all, 'FeatureName';
sub FilterMode () { 'WebGPU::Direct::FilterMode' }; push @export_all, 'FilterMode';
sub FrontFace () { 'WebGPU::Direct::FrontFace' }; push @export_all, 'FrontFace';
sub IndexFormat () { 'WebGPU::Direct::IndexFormat' }; push @export_all, 'IndexFormat';
sub LoadOp () { 'WebGPU::Direct::LoadOp' }; push @export_all, 'LoadOp';
sub MapMode () { 'WebGPU::Direct::MapMode' }; push @export_all, 'MapMode';
sub MipmapFilterMode () { 'WebGPU::Direct::MipmapFilterMode' }; push @export_all, 'MipmapFilterMode';
sub PowerPreference () { 'WebGPU::Direct::PowerPreference' }; push @export_all, 'PowerPreference';
sub PresentMode () { 'WebGPU::Direct::PresentMode' }; push @export_all, 'PresentMode';
sub PrimitiveTopology () { 'WebGPU::Direct::PrimitiveTopology' }; push @export_all, 'PrimitiveTopology';
sub QueryType () { 'WebGPU::Direct::QueryType' }; push @export_all, 'QueryType';
sub QueueWorkDoneStatus () { 'WebGPU::Direct::QueueWorkDoneStatus' }; push @export_all, 'QueueWorkDoneStatus';
sub RequestAdapterStatus () { 'WebGPU::Direct::RequestAdapterStatus' }; push @export_all, 'RequestAdapterStatus';
sub RequestDeviceStatus () { 'WebGPU::Direct::RequestDeviceStatus' }; push @export_all, 'RequestDeviceStatus';
sub SType () { 'WebGPU::Direct::SType' }; push @export_all, 'SType';
sub SamplerBindingType () { 'WebGPU::Direct::SamplerBindingType' }; push @export_all, 'SamplerBindingType';
sub ShaderStage () { 'WebGPU::Direct::ShaderStage' }; push @export_all, 'ShaderStage';
sub StencilOperation () { 'WebGPU::Direct::StencilOperation' }; push @export_all, 'StencilOperation';
sub StorageTextureAccess () { 'WebGPU::Direct::StorageTextureAccess' }; push @export_all, 'StorageTextureAccess';
sub StoreOp () { 'WebGPU::Direct::StoreOp' }; push @export_all, 'StoreOp';
sub SurfaceGetCurrentTextureStatus () { 'WebGPU::Direct::SurfaceGetCurrentTextureStatus' }; push @export_all, 'SurfaceGetCurrentTextureStatus';
sub TextureAspect () { 'WebGPU::Direct::TextureAspect' }; push @export_all, 'TextureAspect';
sub TextureDimension () { 'WebGPU::Direct::TextureDimension' }; push @export_all, 'TextureDimension';
sub TextureFormat () { 'WebGPU::Direct::TextureFormat' }; push @export_all, 'TextureFormat';
sub TextureSampleType () { 'WebGPU::Direct::TextureSampleType' }; push @export_all, 'TextureSampleType';
sub TextureUsage () { 'WebGPU::Direct::TextureUsage' }; push @export_all, 'TextureUsage';
sub TextureViewDimension () { 'WebGPU::Direct::TextureViewDimension' }; push @export_all, 'TextureViewDimension';
sub VertexFormat () { 'WebGPU::Direct::VertexFormat' }; push @export_all, 'VertexFormat';
sub VertexStepMode () { 'WebGPU::Direct::VertexStepMode' }; push @export_all, 'VertexStepMode';
sub Adapter () { Carp::croak if @_>1; 'WebGPU::Direct::Adapter' }
sub AdapterProperties () { Carp::croak if @_>1; 'WebGPU::Direct::AdapterProperties' }
sub BindGroup () { Carp::croak if @_>1; 'WebGPU::Direct::BindGroup' }
sub BindGroupDescriptor () { Carp::croak if @_>1; 'WebGPU::Direct::BindGroupDescriptor' }
sub BindGroupEntry () { Carp::croak if @_>1; 'WebGPU::Direct::BindGroupEntry' }
sub BindGroupLayout () { Carp::croak if @_>1; 'WebGPU::Direct::BindGroupLayout' }
sub BindGroupLayoutDescriptor () { Carp::croak if @_>1; 'WebGPU::Direct::BindGroupLayoutDescriptor' }
sub BindGroupLayoutEntry () { Carp::croak if @_>1; 'WebGPU::Direct::BindGroupLayoutEntry' }
sub BlendComponent () { Carp::croak if @_>1; 'WebGPU::Direct::BlendComponent' }
sub BlendState () { Carp::croak if @_>1; 'WebGPU::Direct::BlendState' }
sub Buffer () { Carp::croak if @_>1; 'WebGPU::Direct::Buffer' }
sub BufferBindingLayout () { Carp::croak if @_>1; 'WebGPU::Direct::BufferBindingLayout' }
sub BufferDescriptor () { Carp::croak if @_>1; 'WebGPU::Direct::BufferDescriptor' }
sub BufferMapCallback () { Carp::croak if @_>1; 'WebGPU::Direct::BufferMapCallback' }
sub ChainedStruct () { Carp::croak if @_>1; 'WebGPU::Direct::ChainedStruct' }
sub ChainedStructOut () { Carp::croak if @_>1; 'WebGPU::Direct::ChainedStructOut' }
sub Color () { Carp::croak if @_>1; 'WebGPU::Direct::Color' }
sub ColorTargetState () { Carp::croak if @_>1; 'WebGPU::Direct::ColorTargetState' }
sub CommandBuffer () { Carp::croak if @_>1; 'WebGPU::Direct::CommandBuffer' }
sub CommandBufferDescriptor () { Carp::croak if @_>1; 'WebGPU::Direct::CommandBufferDescriptor' }
sub CommandEncoder () { Carp::croak if @_>1; 'WebGPU::Direct::CommandEncoder' }
sub CommandEncoderDescriptor () { Carp::croak if @_>1; 'WebGPU::Direct::CommandEncoderDescriptor' }
sub CompilationInfo () { Carp::croak if @_>1; 'WebGPU::Direct::CompilationInfo' }
sub CompilationInfoCallback () { Carp::croak if @_>1; 'WebGPU::Direct::CompilationInfoCallback' }
sub CompilationMessage () { Carp::croak if @_>1; 'WebGPU::Direct::CompilationMessage' }
sub ComputePassDescriptor () { Carp::croak if @_>1; 'WebGPU::Direct::ComputePassDescriptor' }
sub ComputePassEncoder () { Carp::croak if @_>1; 'WebGPU::Direct::ComputePassEncoder' }
sub ComputePassTimestampWrites () { Carp::croak if @_>1; 'WebGPU::Direct::ComputePassTimestampWrites' }
sub ComputePipeline () { Carp::croak if @_>1; 'WebGPU::Direct::ComputePipeline' }
sub ComputePipelineDescriptor () { Carp::croak if @_>1; 'WebGPU::Direct::ComputePipelineDescriptor' }
sub ConstantEntry () { Carp::croak if @_>1; 'WebGPU::Direct::ConstantEntry' }
sub CreateComputePipelineAsyncCallback () { Carp::croak if @_>1; 'WebGPU::Direct::CreateComputePipelineAsyncCallback' }
sub CreateRenderPipelineAsyncCallback () { Carp::croak if @_>1; 'WebGPU::Direct::CreateRenderPipelineAsyncCallback' }
sub DepthStencilState () { Carp::croak if @_>1; 'WebGPU::Direct::DepthStencilState' }
sub Device () { Carp::croak if @_>1; 'WebGPU::Direct::Device' }
sub DeviceDescriptor () { Carp::croak if @_>1; 'WebGPU::Direct::DeviceDescriptor' }
sub DeviceLostCallback () { Carp::croak if @_>1; 'WebGPU::Direct::DeviceLostCallback' }
sub ErrorCallback () { Carp::croak if @_>1; 'WebGPU::Direct::ErrorCallback' }
sub Extent3D () { Carp::croak if @_>1; 'WebGPU::Direct::Extent3D' }
sub FragmentState () { Carp::croak if @_>1; 'WebGPU::Direct::FragmentState' }
sub ImageCopyBuffer () { Carp::croak if @_>1; 'WebGPU::Direct::ImageCopyBuffer' }
sub ImageCopyTexture () { Carp::croak if @_>1; 'WebGPU::Direct::ImageCopyTexture' }
sub Instance () { Carp::croak if @_>1; 'WebGPU::Direct::Instance' }
sub InstanceDescriptor () { Carp::croak if @_>1; 'WebGPU::Direct::InstanceDescriptor' }
sub Limits () { Carp::croak if @_>1; 'WebGPU::Direct::Limits' }
sub MultisampleState () { Carp::croak if @_>1; 'WebGPU::Direct::MultisampleState' }
sub Origin3D () { Carp::croak if @_>1; 'WebGPU::Direct::Origin3D' }
sub PipelineLayout () { Carp::croak if @_>1; 'WebGPU::Direct::PipelineLayout' }
sub PipelineLayoutDescriptor () { Carp::croak if @_>1; 'WebGPU::Direct::PipelineLayoutDescriptor' }
sub PrimitiveDepthClipControl () { Carp::croak if @_>1; 'WebGPU::Direct::PrimitiveDepthClipControl' }
sub PrimitiveState () { Carp::croak if @_>1; 'WebGPU::Direct::PrimitiveState' }
sub Proc () { Carp::croak if @_>1; 'WebGPU::Direct::Proc' }
sub ProgrammableStageDescriptor () { Carp::croak if @_>1; 'WebGPU::Direct::ProgrammableStageDescriptor' }
sub QuerySet () { Carp::croak if @_>1; 'WebGPU::Direct::QuerySet' }
sub QuerySetDescriptor () { Carp::croak if @_>1; 'WebGPU::Direct::QuerySetDescriptor' }
sub Queue () { Carp::croak if @_>1; 'WebGPU::Direct::Queue' }
sub QueueDescriptor () { Carp::croak if @_>1; 'WebGPU::Direct::QueueDescriptor' }
sub QueueWorkDoneCallback () { Carp::croak if @_>1; 'WebGPU::Direct::QueueWorkDoneCallback' }
sub RenderBundle () { Carp::croak if @_>1; 'WebGPU::Direct::RenderBundle' }
sub RenderBundleDescriptor () { Carp::croak if @_>1; 'WebGPU::Direct::RenderBundleDescriptor' }
sub RenderBundleEncoder () { Carp::croak if @_>1; 'WebGPU::Direct::RenderBundleEncoder' }
sub RenderBundleEncoderDescriptor () { Carp::croak if @_>1; 'WebGPU::Direct::RenderBundleEncoderDescriptor' }
sub RenderPassColorAttachment () { Carp::croak if @_>1; 'WebGPU::Direct::RenderPassColorAttachment' }
sub RenderPassDepthStencilAttachment () { Carp::croak if @_>1; 'WebGPU::Direct::RenderPassDepthStencilAttachment' }
sub RenderPassDescriptor () { Carp::croak if @_>1; 'WebGPU::Direct::RenderPassDescriptor' }
sub RenderPassDescriptorMaxDrawCount () { Carp::croak if @_>1; 'WebGPU::Direct::RenderPassDescriptorMaxDrawCount' }
sub RenderPassEncoder () { Carp::croak if @_>1; 'WebGPU::Direct::RenderPassEncoder' }
sub RenderPassTimestampWrites () { Carp::croak if @_>1; 'WebGPU::Direct::RenderPassTimestampWrites' }
sub RenderPipeline () { Carp::croak if @_>1; 'WebGPU::Direct::RenderPipeline' }
sub RenderPipelineDescriptor () { Carp::croak if @_>1; 'WebGPU::Direct::RenderPipelineDescriptor' }
sub RequestAdapterCallback () { Carp::croak if @_>1; 'WebGPU::Direct::RequestAdapterCallback' }
sub RequestAdapterOptions () { Carp::croak if @_>1; 'WebGPU::Direct::RequestAdapterOptions' }
sub RequestDeviceCallback () { Carp::croak if @_>1; 'WebGPU::Direct::RequestDeviceCallback' }
sub RequiredLimits () { Carp::croak if @_>1; 'WebGPU::Direct::RequiredLimits' }
sub Sampler () { Carp::croak if @_>1; 'WebGPU::Direct::Sampler' }
sub SamplerBindingLayout () { Carp::croak if @_>1; 'WebGPU::Direct::SamplerBindingLayout' }
sub SamplerDescriptor () { Carp::croak if @_>1; 'WebGPU::Direct::SamplerDescriptor' }
sub ShaderModule () { Carp::croak if @_>1; 'WebGPU::Direct::ShaderModule' }
sub ShaderModuleCompilationHint () { Carp::croak if @_>1; 'WebGPU::Direct::ShaderModuleCompilationHint' }
sub ShaderModuleDescriptor () { Carp::croak if @_>1; 'WebGPU::Direct::ShaderModuleDescriptor' }
sub ShaderModuleSPIRVDescriptor () { Carp::croak if @_>1; 'WebGPU::Direct::ShaderModuleSPIRVDescriptor' }
sub ShaderModuleWGSLDescriptor () { Carp::croak if @_>1; 'WebGPU::Direct::ShaderModuleWGSLDescriptor' }
sub StencilFaceState () { Carp::croak if @_>1; 'WebGPU::Direct::StencilFaceState' }
sub StorageTextureBindingLayout () { Carp::croak if @_>1; 'WebGPU::Direct::StorageTextureBindingLayout' }
sub SupportedLimits () { Carp::croak if @_>1; 'WebGPU::Direct::SupportedLimits' }
sub Surface () { Carp::croak if @_>1; 'WebGPU::Direct::Surface' }
sub SurfaceCapabilities () { Carp::croak if @_>1; 'WebGPU::Direct::SurfaceCapabilities' }
sub SurfaceConfiguration () { Carp::croak if @_>1; 'WebGPU::Direct::SurfaceConfiguration' }
sub SurfaceDescriptor () { Carp::croak if @_>1; 'WebGPU::Direct::SurfaceDescriptor' }
sub SurfaceDescriptorFromAndroidNativeWindow () { Carp::croak if @_>1; 'WebGPU::Direct::SurfaceDescriptorFromAndroidNativeWindow' }
sub SurfaceDescriptorFromCanvasHTMLSelector () { Carp::croak if @_>1; 'WebGPU::Direct::SurfaceDescriptorFromCanvasHTMLSelector' }
sub SurfaceDescriptorFromMetalLayer () { Carp::croak if @_>1; 'WebGPU::Direct::SurfaceDescriptorFromMetalLayer' }
sub SurfaceDescriptorFromWaylandSurface () { Carp::croak if @_>1; 'WebGPU::Direct::SurfaceDescriptorFromWaylandSurface' }
sub SurfaceDescriptorFromWindowsHWND () { Carp::croak if @_>1; 'WebGPU::Direct::SurfaceDescriptorFromWindowsHWND' }
sub SurfaceDescriptorFromXcbWindow () { Carp::croak if @_>1; 'WebGPU::Direct::SurfaceDescriptorFromXcbWindow' }
sub SurfaceDescriptorFromXlibWindow () { Carp::croak if @_>1; 'WebGPU::Direct::SurfaceDescriptorFromXlibWindow' }
sub SurfaceTexture () { Carp::croak if @_>1; 'WebGPU::Direct::SurfaceTexture' }
sub Texture () { Carp::croak if @_>1; 'WebGPU::Direct::Texture' }
sub TextureBindingLayout () { Carp::croak if @_>1; 'WebGPU::Direct::TextureBindingLayout' }
sub TextureDataLayout () { Carp::croak if @_>1; 'WebGPU::Direct::TextureDataLayout' }
sub TextureDescriptor () { Carp::croak if @_>1; 'WebGPU::Direct::TextureDescriptor' }
sub TextureView () { Carp::croak if @_>1; 'WebGPU::Direct::TextureView' }
sub TextureViewDescriptor () { Carp::croak if @_>1; 'WebGPU::Direct::TextureViewDescriptor' }
sub VertexAttribute () { Carp::croak if @_>1; 'WebGPU::Direct::VertexAttribute' }
sub VertexBufferLayout () { Carp::croak if @_>1; 'WebGPU::Direct::VertexBufferLayout' }
sub VertexState () { Carp::croak if @_>1; 'WebGPU::Direct::VertexState' }
sub newAdapter { my $class = shift; return WebGPU::Direct::Adapter->new(@_); }
sub newAdapterProperties { my $class = shift; return WebGPU::Direct::AdapterProperties->new(@_); }
sub newBindGroup { my $class = shift; return WebGPU::Direct::BindGroup->new(@_); }
sub newBindGroupDescriptor { my $class = shift; return WebGPU::Direct::BindGroupDescriptor->new(@_); }
sub newBindGroupEntry { my $class = shift; return WebGPU::Direct::BindGroupEntry->new(@_); }
sub newBindGroupLayout { my $class = shift; return WebGPU::Direct::BindGroupLayout->new(@_); }
sub newBindGroupLayoutDescriptor { my $class = shift; return WebGPU::Direct::BindGroupLayoutDescriptor->new(@_); }
sub newBindGroupLayoutEntry { my $class = shift; return WebGPU::Direct::BindGroupLayoutEntry->new(@_); }
sub newBlendComponent { my $class = shift; return WebGPU::Direct::BlendComponent->new(@_); }
sub newBlendState { my $class = shift; return WebGPU::Direct::BlendState->new(@_); }
sub newBuffer { my $class = shift; return WebGPU::Direct::Buffer->new(@_); }
sub newBufferBindingLayout { my $class = shift; return WebGPU::Direct::BufferBindingLayout->new(@_); }
sub newBufferDescriptor { my $class = shift; return WebGPU::Direct::BufferDescriptor->new(@_); }
sub newBufferMapCallback { my $class = shift; return WebGPU::Direct::BufferMapCallback->new(@_); }
sub newChainedStruct { my $class = shift; return WebGPU::Direct::ChainedStruct->new(@_); }
sub newChainedStructOut { my $class = shift; return WebGPU::Direct::ChainedStructOut->new(@_); }
sub newColor { my $class = shift; return WebGPU::Direct::Color->new(@_); }
sub newColorTargetState { my $class = shift; return WebGPU::Direct::ColorTargetState->new(@_); }
sub newCommandBuffer { my $class = shift; return WebGPU::Direct::CommandBuffer->new(@_); }
sub newCommandBufferDescriptor { my $class = shift; return WebGPU::Direct::CommandBufferDescriptor->new(@_); }
sub newCommandEncoder { my $class = shift; return WebGPU::Direct::CommandEncoder->new(@_); }
sub newCommandEncoderDescriptor { my $class = shift; return WebGPU::Direct::CommandEncoderDescriptor->new(@_); }
sub newCompilationInfo { my $class = shift; return WebGPU::Direct::CompilationInfo->new(@_); }
sub newCompilationInfoCallback { my $class = shift; return WebGPU::Direct::CompilationInfoCallback->new(@_); }
sub newCompilationMessage { my $class = shift; return WebGPU::Direct::CompilationMessage->new(@_); }
sub newComputePassDescriptor { my $class = shift; return WebGPU::Direct::ComputePassDescriptor->new(@_); }
sub newComputePassEncoder { my $class = shift; return WebGPU::Direct::ComputePassEncoder->new(@_); }
sub newComputePassTimestampWrites { my $class = shift; return WebGPU::Direct::ComputePassTimestampWrites->new(@_); }
sub newComputePipeline { my $class = shift; return WebGPU::Direct::ComputePipeline->new(@_); }
sub newComputePipelineDescriptor { my $class = shift; return WebGPU::Direct::ComputePipelineDescriptor->new(@_); }
sub newConstantEntry { my $class = shift; return WebGPU::Direct::ConstantEntry->new(@_); }
sub newCreateComputePipelineAsyncCallback { my $class = shift; return WebGPU::Direct::CreateComputePipelineAsyncCallback->new(@_); }
sub newCreateRenderPipelineAsyncCallback { my $class = shift; return WebGPU::Direct::CreateRenderPipelineAsyncCallback->new(@_); }
sub newDepthStencilState { my $class = shift; return WebGPU::Direct::DepthStencilState->new(@_); }
sub newDevice { my $class = shift; return WebGPU::Direct::Device->new(@_); }
sub newDeviceDescriptor { my $class = shift; return WebGPU::Direct::DeviceDescriptor->new(@_); }
sub newDeviceLostCallback { my $class = shift; return WebGPU::Direct::DeviceLostCallback->new(@_); }
sub newErrorCallback { my $class = shift; return WebGPU::Direct::ErrorCallback->new(@_); }
sub newExtent3D { my $class = shift; return WebGPU::Direct::Extent3D->new(@_); }
sub newFragmentState { my $class = shift; return WebGPU::Direct::FragmentState->new(@_); }
sub newImageCopyBuffer { my $class = shift; return WebGPU::Direct::ImageCopyBuffer->new(@_); }
sub newImageCopyTexture { my $class = shift; return WebGPU::Direct::ImageCopyTexture->new(@_); }
sub newInstance { my $class = shift; return WebGPU::Direct::Instance->new(@_); }
sub newInstanceDescriptor { my $class = shift; return WebGPU::Direct::InstanceDescriptor->new(@_); }
sub newLimits { my $class = shift; return WebGPU::Direct::Limits->new(@_); }
sub newMultisampleState { my $class = shift; return WebGPU::Direct::MultisampleState->new(@_); }
sub newOrigin3D { my $class = shift; return WebGPU::Direct::Origin3D->new(@_); }
sub newPipelineLayout { my $class = shift; return WebGPU::Direct::PipelineLayout->new(@_); }
sub newPipelineLayoutDescriptor { my $class = shift; return WebGPU::Direct::PipelineLayoutDescriptor->new(@_); }
sub newPrimitiveDepthClipControl { my $class = shift; return WebGPU::Direct::PrimitiveDepthClipControl->new(@_); }
sub newPrimitiveState { my $class = shift; return WebGPU::Direct::PrimitiveState->new(@_); }
sub newProc { my $class = shift; return WebGPU::Direct::Proc->new(@_); }
sub newProgrammableStageDescriptor { my $class = shift; return WebGPU::Direct::ProgrammableStageDescriptor->new(@_); }
sub newQuerySet { my $class = shift; return WebGPU::Direct::QuerySet->new(@_); }
sub newQuerySetDescriptor { my $class = shift; return WebGPU::Direct::QuerySetDescriptor->new(@_); }
sub newQueue { my $class = shift; return WebGPU::Direct::Queue->new(@_); }
sub newQueueDescriptor { my $class = shift; return WebGPU::Direct::QueueDescriptor->new(@_); }
sub newQueueWorkDoneCallback { my $class = shift; return WebGPU::Direct::QueueWorkDoneCallback->new(@_); }
sub newRenderBundle { my $class = shift; return WebGPU::Direct::RenderBundle->new(@_); }
sub newRenderBundleDescriptor { my $class = shift; return WebGPU::Direct::RenderBundleDescriptor->new(@_); }
sub newRenderBundleEncoder { my $class = shift; return WebGPU::Direct::RenderBundleEncoder->new(@_); }
sub newRenderBundleEncoderDescriptor { my $class = shift; return WebGPU::Direct::RenderBundleEncoderDescriptor->new(@_); }
sub newRenderPassColorAttachment { my $class = shift; return WebGPU::Direct::RenderPassColorAttachment->new(@_); }
sub newRenderPassDepthStencilAttachment { my $class = shift; return WebGPU::Direct::RenderPassDepthStencilAttachment->new(@_); }
sub newRenderPassDescriptor { my $class = shift; return WebGPU::Direct::RenderPassDescriptor->new(@_); }
sub newRenderPassDescriptorMaxDrawCount { my $class = shift; return WebGPU::Direct::RenderPassDescriptorMaxDrawCount->new(@_); }
sub newRenderPassEncoder { my $class = shift; return WebGPU::Direct::RenderPassEncoder->new(@_); }
sub newRenderPassTimestampWrites { my $class = shift; return WebGPU::Direct::RenderPassTimestampWrites->new(@_); }
sub newRenderPipeline { my $class = shift; return WebGPU::Direct::RenderPipeline->new(@_); }
sub newRenderPipelineDescriptor { my $class = shift; return WebGPU::Direct::RenderPipelineDescriptor->new(@_); }
sub newRequestAdapterCallback { my $class = shift; return WebGPU::Direct::RequestAdapterCallback->new(@_); }
sub newRequestAdapterOptions { my $class = shift; return WebGPU::Direct::RequestAdapterOptions->new(@_); }
sub newRequestDeviceCallback { my $class = shift; return WebGPU::Direct::RequestDeviceCallback->new(@_); }
sub newRequiredLimits { my $class = shift; return WebGPU::Direct::RequiredLimits->new(@_); }
sub newSampler { my $class = shift; return WebGPU::Direct::Sampler->new(@_); }
sub newSamplerBindingLayout { my $class = shift; return WebGPU::Direct::SamplerBindingLayout->new(@_); }
sub newSamplerDescriptor { my $class = shift; return WebGPU::Direct::SamplerDescriptor->new(@_); }
sub newShaderModule { my $class = shift; return WebGPU::Direct::ShaderModule->new(@_); }
sub newShaderModuleCompilationHint { my $class = shift; return WebGPU::Direct::ShaderModuleCompilationHint->new(@_); }
sub newShaderModuleDescriptor { my $class = shift; return WebGPU::Direct::ShaderModuleDescriptor->new(@_); }
sub newShaderModuleSPIRVDescriptor { my $class = shift; return WebGPU::Direct::ShaderModuleSPIRVDescriptor->new(@_); }
sub newShaderModuleWGSLDescriptor { my $class = shift; return WebGPU::Direct::ShaderModuleWGSLDescriptor->new(@_); }
sub newStencilFaceState { my $class = shift; return WebGPU::Direct::StencilFaceState->new(@_); }
sub newStorageTextureBindingLayout { my $class = shift; return WebGPU::Direct::StorageTextureBindingLayout->new(@_); }
sub newSupportedLimits { my $class = shift; return WebGPU::Direct::SupportedLimits->new(@_); }
sub newSurface { my $class = shift; return WebGPU::Direct::Surface->new(@_); }
sub newSurfaceCapabilities { my $class = shift; return WebGPU::Direct::SurfaceCapabilities->new(@_); }
sub newSurfaceConfiguration { my $class = shift; return WebGPU::Direct::SurfaceConfiguration->new(@_); }
sub newSurfaceDescriptor { my $class = shift; return WebGPU::Direct::SurfaceDescriptor->new(@_); }
sub newSurfaceDescriptorFromAndroidNativeWindow { my $class = shift; return WebGPU::Direct::SurfaceDescriptorFromAndroidNativeWindow->new(@_); }
sub newSurfaceDescriptorFromCanvasHTMLSelector { my $class = shift; return WebGPU::Direct::SurfaceDescriptorFromCanvasHTMLSelector->new(@_); }
sub newSurfaceDescriptorFromMetalLayer { my $class = shift; return WebGPU::Direct::SurfaceDescriptorFromMetalLayer->new(@_); }
sub newSurfaceDescriptorFromWaylandSurface { my $class = shift; return WebGPU::Direct::SurfaceDescriptorFromWaylandSurface->new(@_); }
sub newSurfaceDescriptorFromWindowsHWND { my $class = shift; return WebGPU::Direct::SurfaceDescriptorFromWindowsHWND->new(@_); }
sub newSurfaceDescriptorFromXcbWindow { my $class = shift; return WebGPU::Direct::SurfaceDescriptorFromXcbWindow->new(@_); }
sub newSurfaceDescriptorFromXlibWindow { my $class = shift; return WebGPU::Direct::SurfaceDescriptorFromXlibWindow->new(@_); }
sub newSurfaceTexture { my $class = shift; return WebGPU::Direct::SurfaceTexture->new(@_); }
sub newTexture { my $class = shift; return WebGPU::Direct::Texture->new(@_); }
sub newTextureBindingLayout { my $class = shift; return WebGPU::Direct::TextureBindingLayout->new(@_); }
sub newTextureDataLayout { my $class = shift; return WebGPU::Direct::TextureDataLayout->new(@_); }
sub newTextureDescriptor { my $class = shift; return WebGPU::Direct::TextureDescriptor->new(@_); }
sub newTextureView { my $class = shift; return WebGPU::Direct::TextureView->new(@_); }
sub newTextureViewDescriptor { my $class = shift; return WebGPU::Direct::TextureViewDescriptor->new(@_); }
sub newVertexAttribute { my $class = shift; return WebGPU::Direct::VertexAttribute->new(@_); }
sub newVertexBufferLayout { my $class = shift; return WebGPU::Direct::VertexBufferLayout->new(@_); }
sub newVertexState { my $class = shift; return WebGPU::Direct::VertexState->new(@_); }
};
package
WebGPU::Direct::AdapterType {
__PACKAGE__->_add_enum('DiscreteGPU' => (0x00000000, 'WGPUAdapterType_DiscreteGPU'));
__PACKAGE__->_add_enum('IntegratedGPU' => (0x00000001, 'WGPUAdapterType_IntegratedGPU'));
__PACKAGE__->_add_enum('CPU' => (0x00000002, 'WGPUAdapterType_CPU'));
__PACKAGE__->_add_enum('Unknown' => (0x00000003, 'WGPUAdapterType_Unknown'));
WebGPU::Direct::AdapterType->_build_const_lut;
};
package
WebGPU::Direct::AddressMode {
__PACKAGE__->_add_enum('Repeat' => (0x00000000, 'WGPUAddressMode_Repeat'));
__PACKAGE__->_add_enum('MirrorRepeat' => (0x00000001, 'WGPUAddressMode_MirrorRepeat'));
__PACKAGE__->_add_enum('ClampToEdge' => (0x00000002, 'WGPUAddressMode_ClampToEdge'));
WebGPU::Direct::AddressMode->_build_const_lut;
};
package
WebGPU::Direct::BackendType {
__PACKAGE__->_add_enum('Undefined' => (0x00000000, 'WGPUBackendType_Undefined'));
__PACKAGE__->_add_enum('Null' => (0x00000001, 'WGPUBackendType_Null'));
__PACKAGE__->_add_enum('WebGPU' => (0x00000002, 'WGPUBackendType_WebGPU'));
__PACKAGE__->_add_enum('D3D11' => (0x00000003, 'WGPUBackendType_D3D11'));
__PACKAGE__->_add_enum('D3D12' => (0x00000004, 'WGPUBackendType_D3D12'));
__PACKAGE__->_add_enum('Metal' => (0x00000005, 'WGPUBackendType_Metal'));
__PACKAGE__->_add_enum('Vulkan' => (0x00000006, 'WGPUBackendType_Vulkan'));
__PACKAGE__->_add_enum('OpenGL' => (0x00000007, 'WGPUBackendType_OpenGL'));
__PACKAGE__->_add_enum('OpenGLES' => (0x00000008, 'WGPUBackendType_OpenGLES'));
WebGPU::Direct::BackendType->_build_const_lut;
};
package
WebGPU::Direct::BlendFactor {
__PACKAGE__->_add_enum('Zero' => (0x00000000, 'WGPUBlendFactor_Zero'));
__PACKAGE__->_add_enum('One' => (0x00000001, 'WGPUBlendFactor_One'));
__PACKAGE__->_add_enum('Src' => (0x00000002, 'WGPUBlendFactor_Src'));
__PACKAGE__->_add_enum('OneMinusSrc' => (0x00000003, 'WGPUBlendFactor_OneMinusSrc'));
__PACKAGE__->_add_enum('SrcAlpha' => (0x00000004, 'WGPUBlendFactor_SrcAlpha'));
__PACKAGE__->_add_enum('OneMinusSrcAlpha' => (0x00000005, 'WGPUBlendFactor_OneMinusSrcAlpha'));
__PACKAGE__->_add_enum('Dst' => (0x00000006, 'WGPUBlendFactor_Dst'));
__PACKAGE__->_add_enum('OneMinusDst' => (0x00000007, 'WGPUBlendFactor_OneMinusDst'));
__PACKAGE__->_add_enum('DstAlpha' => (0x00000008, 'WGPUBlendFactor_DstAlpha'));
__PACKAGE__->_add_enum('OneMinusDstAlpha' => (0x00000009, 'WGPUBlendFactor_OneMinusDstAlpha'));
__PACKAGE__->_add_enum('SrcAlphaSaturated' => (0x0000000A, 'WGPUBlendFactor_SrcAlphaSaturated'));
__PACKAGE__->_add_enum('Constant' => (0x0000000B, 'WGPUBlendFactor_Constant'));
__PACKAGE__->_add_enum('OneMinusConstant' => (0x0000000C, 'WGPUBlendFactor_OneMinusConstant'));
WebGPU::Direct::BlendFactor->_build_const_lut;
};
package
WebGPU::Direct::BlendOperation {
__PACKAGE__->_add_enum('Add' => (0x00000000, 'WGPUBlendOperation_Add'));
__PACKAGE__->_add_enum('Subtract' => (0x00000001, 'WGPUBlendOperation_Subtract'));
__PACKAGE__->_add_enum('ReverseSubtract' => (0x00000002, 'WGPUBlendOperation_ReverseSubtract'));
__PACKAGE__->_add_enum('Min' => (0x00000003, 'WGPUBlendOperation_Min'));
__PACKAGE__->_add_enum('Max' => (0x00000004, 'WGPUBlendOperation_Max'));
WebGPU::Direct::BlendOperation->_build_const_lut;
};
package
WebGPU::Direct::BufferBindingType {
__PACKAGE__->_add_enum('Undefined' => (0x00000000, 'WGPUBufferBindingType_Undefined'));
__PACKAGE__->_add_enum('Uniform' => (0x00000001, 'WGPUBufferBindingType_Uniform'));
__PACKAGE__->_add_enum('Storage' => (0x00000002, 'WGPUBufferBindingType_Storage'));
__PACKAGE__->_add_enum('ReadOnlyStorage' => (0x00000003, 'WGPUBufferBindingType_ReadOnlyStorage'));
WebGPU::Direct::BufferBindingType->_build_const_lut;
};
package
WebGPU::Direct::BufferMapAsyncStatus {
__PACKAGE__->_add_enum('Success' => (0x00000000, 'WGPUBufferMapAsyncStatus_Success'));
__PACKAGE__->_add_enum('ValidationError' => (0x00000001, 'WGPUBufferMapAsyncStatus_ValidationError'));
__PACKAGE__->_add_enum('Unknown' => (0x00000002, 'WGPUBufferMapAsyncStatus_Unknown'));
__PACKAGE__->_add_enum('DeviceLost' => (0x00000003, 'WGPUBufferMapAsyncStatus_DeviceLost'));
__PACKAGE__->_add_enum('DestroyedBeforeCallback' => (0x00000004, 'WGPUBufferMapAsyncStatus_DestroyedBeforeCallback'));
__PACKAGE__->_add_enum('UnmappedBeforeCallback' => (0x00000005, 'WGPUBufferMapAsyncStatus_UnmappedBeforeCallback'));
__PACKAGE__->_add_enum('MappingAlreadyPending' => (0x00000006, 'WGPUBufferMapAsyncStatus_MappingAlreadyPending'));
__PACKAGE__->_add_enum('OffsetOutOfRange' => (0x00000007, 'WGPUBufferMapAsyncStatus_OffsetOutOfRange'));
__PACKAGE__->_add_enum('SizeOutOfRange' => (0x00000008, 'WGPUBufferMapAsyncStatus_SizeOutOfRange'));
WebGPU::Direct::BufferMapAsyncStatus->_build_const_lut;
};
package
WebGPU::Direct::BufferMapState {
__PACKAGE__->_add_enum('Unmapped' => (0x00000000, 'WGPUBufferMapState_Unmapped'));
__PACKAGE__->_add_enum('Pending' => (0x00000001, 'WGPUBufferMapState_Pending'));
__PACKAGE__->_add_enum('Mapped' => (0x00000002, 'WGPUBufferMapState_Mapped'));
WebGPU::Direct::BufferMapState->_build_const_lut;
};
package
WebGPU::Direct::BufferUsage {
__PACKAGE__->_add_enum('None' => (0x00000000, 'WGPUBufferUsage_None'));
__PACKAGE__->_add_enum('MapRead' => (0x00000001, 'WGPUBufferUsage_MapRead'));
__PACKAGE__->_add_enum('MapWrite' => (0x00000002, 'WGPUBufferUsage_MapWrite'));
__PACKAGE__->_add_enum('CopySrc' => (0x00000004, 'WGPUBufferUsage_CopySrc'));
__PACKAGE__->_add_enum('CopyDst' => (0x00000008, 'WGPUBufferUsage_CopyDst'));
__PACKAGE__->_add_enum('Index' => (0x00000010, 'WGPUBufferUsage_Index'));
__PACKAGE__->_add_enum('Vertex' => (0x00000020, 'WGPUBufferUsage_Vertex'));
__PACKAGE__->_add_enum('Uniform' => (0x00000040, 'WGPUBufferUsage_Uniform'));
__PACKAGE__->_add_enum('Storage' => (0x00000080, 'WGPUBufferUsage_Storage'));
__PACKAGE__->_add_enum('Indirect' => (0x00000100, 'WGPUBufferUsage_Indirect'));
__PACKAGE__->_add_enum('QueryResolve' => (0x00000200, 'WGPUBufferUsage_QueryResolve'));
WebGPU::Direct::BufferUsage->_build_const_lut;
};
package
WebGPU::Direct::ColorWriteMask {
__PACKAGE__->_add_enum('None' => (0x00000000, 'WGPUColorWriteMask_None'));
__PACKAGE__->_add_enum('Red' => (0x00000001, 'WGPUColorWriteMask_Red'));
__PACKAGE__->_add_enum('Green' => (0x00000002, 'WGPUColorWriteMask_Green'));
__PACKAGE__->_add_enum('Blue' => (0x00000004, 'WGPUColorWriteMask_Blue'));
__PACKAGE__->_add_enum('Alpha' => (0x00000008, 'WGPUColorWriteMask_Alpha'));
__PACKAGE__->_add_enum('All' => (0x0000000F, 'WGPUColorWriteMask_All'));
WebGPU::Direct::ColorWriteMask->_build_const_lut;
};
package
WebGPU::Direct::CompareFunction {
__PACKAGE__->_add_enum('Undefined' => (0x00000000, 'WGPUCompareFunction_Undefined'));
__PACKAGE__->_add_enum('Never' => (0x00000001, 'WGPUCompareFunction_Never'));
__PACKAGE__->_add_enum('Less' => (0x00000002, 'WGPUCompareFunction_Less'));
__PACKAGE__->_add_enum('LessEqual' => (0x00000003, 'WGPUCompareFunction_LessEqual'));
__PACKAGE__->_add_enum('Greater' => (0x00000004, 'WGPUCompareFunction_Greater'));
__PACKAGE__->_add_enum('GreaterEqual' => (0x00000005, 'WGPUCompareFunction_GreaterEqual'));
__PACKAGE__->_add_enum('Equal' => (0x00000006, 'WGPUCompareFunction_Equal'));
__PACKAGE__->_add_enum('NotEqual' => (0x00000007, 'WGPUCompareFunction_NotEqual'));
__PACKAGE__->_add_enum('Always' => (0x00000008, 'WGPUCompareFunction_Always'));
WebGPU::Direct::CompareFunction->_build_const_lut;
};
package
WebGPU::Direct::CompilationInfoRequestStatus {
__PACKAGE__->_add_enum('Success' => (0x00000000, 'WGPUCompilationInfoRequestStatus_Success'));
__PACKAGE__->_add_enum('Error' => (0x00000001, 'WGPUCompilationInfoRequestStatus_Error'));
__PACKAGE__->_add_enum('DeviceLost' => (0x00000002, 'WGPUCompilationInfoRequestStatus_DeviceLost'));
__PACKAGE__->_add_enum('Unknown' => (0x00000003, 'WGPUCompilationInfoRequestStatus_Unknown'));
WebGPU::Direct::CompilationInfoRequestStatus->_build_const_lut;
};
package
WebGPU::Direct::CompilationMessageType {
__PACKAGE__->_add_enum('Error' => (0x00000000, 'WGPUCompilationMessageType_Error'));
__PACKAGE__->_add_enum('Warning' => (0x00000001, 'WGPUCompilationMessageType_Warning'));
__PACKAGE__->_add_enum('Info' => (0x00000002, 'WGPUCompilationMessageType_Info'));
WebGPU::Direct::CompilationMessageType->_build_const_lut;
};
package
WebGPU::Direct::CompositeAlphaMode {
__PACKAGE__->_add_enum('Auto' => (0x00000000, 'WGPUCompositeAlphaMode_Auto'));
__PACKAGE__->_add_enum('Opaque' => (0x00000001, 'WGPUCompositeAlphaMode_Opaque'));
__PACKAGE__->_add_enum('Premultiplied' => (0x00000002, 'WGPUCompositeAlphaMode_Premultiplied'));
__PACKAGE__->_add_enum('Unpremultiplied' => (0x00000003, 'WGPUCompositeAlphaMode_Unpremultiplied'));
__PACKAGE__->_add_enum('Inherit' => (0x00000004, 'WGPUCompositeAlphaMode_Inherit'));
WebGPU::Direct::CompositeAlphaMode->_build_const_lut;
};
package
WebGPU::Direct::CreatePipelineAsyncStatus {
__PACKAGE__->_add_enum('Success' => (0x00000000, 'WGPUCreatePipelineAsyncStatus_Success'));
__PACKAGE__->_add_enum('ValidationError' => (0x00000001, 'WGPUCreatePipelineAsyncStatus_ValidationError'));
__PACKAGE__->_add_enum('InternalError' => (0x00000002, 'WGPUCreatePipelineAsyncStatus_InternalError'));
__PACKAGE__->_add_enum('DeviceLost' => (0x00000003, 'WGPUCreatePipelineAsyncStatus_DeviceLost'));
__PACKAGE__->_add_enum('DeviceDestroyed' => (0x00000004, 'WGPUCreatePipelineAsyncStatus_DeviceDestroyed'));
__PACKAGE__->_add_enum('Unknown' => (0x00000005, 'WGPUCreatePipelineAsyncStatus_Unknown'));
WebGPU::Direct::CreatePipelineAsyncStatus->_build_const_lut;
};
package
WebGPU::Direct::CullMode {
__PACKAGE__->_add_enum('None' => (0x00000000, 'WGPUCullMode_None'));
__PACKAGE__->_add_enum('Front' => (0x00000001, 'WGPUCullMode_Front'));
__PACKAGE__->_add_enum('Back' => (0x00000002, 'WGPUCullMode_Back'));
WebGPU::Direct::CullMode->_build_const_lut;
};
package
WebGPU::Direct::DeviceLostReason {
__PACKAGE__->_add_enum('Undefined' => (0x00000000, 'WGPUDeviceLostReason_Undefined'));
__PACKAGE__->_add_enum('Destroyed' => (0x00000001, 'WGPUDeviceLostReason_Destroyed'));
WebGPU::Direct::DeviceLostReason->_build_const_lut;
};
package
WebGPU::Direct::ErrorFilter {
__PACKAGE__->_add_enum('Validation' => (0x00000000, 'WGPUErrorFilter_Validation'));
__PACKAGE__->_add_enum('OutOfMemory' => (0x00000001, 'WGPUErrorFilter_OutOfMemory'));
__PACKAGE__->_add_enum('Internal' => (0x00000002, 'WGPUErrorFilter_Internal'));
WebGPU::Direct::ErrorFilter->_build_const_lut;
};
package
WebGPU::Direct::ErrorType {
__PACKAGE__->_add_enum('NoError' => (0x00000000, 'WGPUErrorType_NoError'));
__PACKAGE__->_add_enum('Validation' => (0x00000001, 'WGPUErrorType_Validation'));
__PACKAGE__->_add_enum('OutOfMemory' => (0x00000002, 'WGPUErrorType_OutOfMemory'));
__PACKAGE__->_add_enum('Internal' => (0x00000003, 'WGPUErrorType_Internal'));
__PACKAGE__->_add_enum('Unknown' => (0x00000004, 'WGPUErrorType_Unknown'));
__PACKAGE__->_add_enum('DeviceLost' => (0x00000005, 'WGPUErrorType_DeviceLost'));
WebGPU::Direct::ErrorType->_build_const_lut;
};
package
WebGPU::Direct::FeatureName {
__PACKAGE__->_add_enum('Undefined' => (0x00000000, 'WGPUFeatureName_Undefined'));
__PACKAGE__->_add_enum('DepthClipControl' => (0x00000001, 'WGPUFeatureName_DepthClipControl'));
__PACKAGE__->_add_enum('Depth32FloatStencil8' => (0x00000002, 'WGPUFeatureName_Depth32FloatStencil8'));
__PACKAGE__->_add_enum('TimestampQuery' => (0x00000003, 'WGPUFeatureName_TimestampQuery'));
__PACKAGE__->_add_enum('TextureCompressionBC' => (0x00000004, 'WGPUFeatureName_TextureCompressionBC'));
__PACKAGE__->_add_enum('TextureCompressionETC2' => (0x00000005, 'WGPUFeatureName_TextureCompressionETC2'));
__PACKAGE__->_add_enum('TextureCompressionASTC' => (0x00000006, 'WGPUFeatureName_TextureCompressionASTC'));
__PACKAGE__->_add_enum('IndirectFirstInstance' => (0x00000007, 'WGPUFeatureName_IndirectFirstInstance'));
__PACKAGE__->_add_enum('ShaderF16' => (0x00000008, 'WGPUFeatureName_ShaderF16'));
__PACKAGE__->_add_enum('RG11B10UfloatRenderable' => (0x00000009, 'WGPUFeatureName_RG11B10UfloatRenderable'));
__PACKAGE__->_add_enum('BGRA8UnormStorage' => (0x0000000A, 'WGPUFeatureName_BGRA8UnormStorage'));
__PACKAGE__->_add_enum('Float32Filterable' => (0x0000000B, 'WGPUFeatureName_Float32Filterable'));
WebGPU::Direct::FeatureName->_build_const_lut;
};
package
WebGPU::Direct::FilterMode {
__PACKAGE__->_add_enum('Nearest' => (0x00000000, 'WGPUFilterMode_Nearest'));
__PACKAGE__->_add_enum('Linear' => (0x00000001, 'WGPUFilterMode_Linear'));
WebGPU::Direct::FilterMode->_build_const_lut;
};
package
WebGPU::Direct::FrontFace {
__PACKAGE__->_add_enum('CCW' => (0x00000000, 'WGPUFrontFace_CCW'));
__PACKAGE__->_add_enum('CW' => (0x00000001, 'WGPUFrontFace_CW'));
WebGPU::Direct::FrontFace->_build_const_lut;
};
package
WebGPU::Direct::IndexFormat {
__PACKAGE__->_add_enum('Undefined' => (0x00000000, 'WGPUIndexFormat_Undefined'));
__PACKAGE__->_add_enum('Uint16' => (0x00000001, 'WGPUIndexFormat_Uint16'));
__PACKAGE__->_add_enum('Uint32' => (0x00000002, 'WGPUIndexFormat_Uint32'));
WebGPU::Direct::IndexFormat->_build_const_lut;
};
package
WebGPU::Direct::LoadOp {
__PACKAGE__->_add_enum('Undefined' => (0x00000000, 'WGPULoadOp_Undefined'));
__PACKAGE__->_add_enum('Clear' => (0x00000001, 'WGPULoadOp_Clear'));
__PACKAGE__->_add_enum('Load' => (0x00000002, 'WGPULoadOp_Load'));
WebGPU::Direct::LoadOp->_build_const_lut;
};
package
WebGPU::Direct::MapMode {
__PACKAGE__->_add_enum('None' => (0x00000000, 'WGPUMapMode_None'));
__PACKAGE__->_add_enum('Read' => (0x00000001, 'WGPUMapMode_Read'));
__PACKAGE__->_add_enum('Write' => (0x00000002, 'WGPUMapMode_Write'));
WebGPU::Direct::MapMode->_build_const_lut;
};
package
WebGPU::Direct::MipmapFilterMode {
__PACKAGE__->_add_enum('Nearest' => (0x00000000, 'WGPUMipmapFilterMode_Nearest'));
__PACKAGE__->_add_enum('Linear' => (0x00000001, 'WGPUMipmapFilterMode_Linear'));
WebGPU::Direct::MipmapFilterMode->_build_const_lut;
};
package
WebGPU::Direct::PowerPreference {
__PACKAGE__->_add_enum('Undefined' => (0x00000000, 'WGPUPowerPreference_Undefined'));
__PACKAGE__->_add_enum('LowPower' => (0x00000001, 'WGPUPowerPreference_LowPower'));
__PACKAGE__->_add_enum('HighPerformance' => (0x00000002, 'WGPUPowerPreference_HighPerformance'));
WebGPU::Direct::PowerPreference->_build_const_lut;
};
package
WebGPU::Direct::PresentMode {
__PACKAGE__->_add_enum('Fifo' => (0x00000000, 'WGPUPresentMode_Fifo'));
__PACKAGE__->_add_enum('FifoRelaxed' => (0x00000001, 'WGPUPresentMode_FifoRelaxed'));
__PACKAGE__->_add_enum('Immediate' => (0x00000002, 'WGPUPresentMode_Immediate'));
__PACKAGE__->_add_enum('Mailbox' => (0x00000003, 'WGPUPresentMode_Mailbox'));
WebGPU::Direct::PresentMode->_build_const_lut;
};
package
WebGPU::Direct::PrimitiveTopology {
__PACKAGE__->_add_enum('PointList' => (0x00000000, 'WGPUPrimitiveTopology_PointList'));
__PACKAGE__->_add_enum('LineList' => (0x00000001, 'WGPUPrimitiveTopology_LineList'));
__PACKAGE__->_add_enum('LineStrip' => (0x00000002, 'WGPUPrimitiveTopology_LineStrip'));
__PACKAGE__->_add_enum('TriangleList' => (0x00000003, 'WGPUPrimitiveTopology_TriangleList'));
__PACKAGE__->_add_enum('TriangleStrip' => (0x00000004, 'WGPUPrimitiveTopology_TriangleStrip'));
WebGPU::Direct::PrimitiveTopology->_build_const_lut;
};
package
WebGPU::Direct::QueryType {
__PACKAGE__->_add_enum('Occlusion' => (0x00000000, 'WGPUQueryType_Occlusion'));
__PACKAGE__->_add_enum('Timestamp' => (0x00000001, 'WGPUQueryType_Timestamp'));
WebGPU::Direct::QueryType->_build_const_lut;
};
package
WebGPU::Direct::QueueWorkDoneStatus {
__PACKAGE__->_add_enum('Success' => (0x00000000, 'WGPUQueueWorkDoneStatus_Success'));
__PACKAGE__->_add_enum('Error' => (0x00000001, 'WGPUQueueWorkDoneStatus_Error'));
__PACKAGE__->_add_enum('Unknown' => (0x00000002, 'WGPUQueueWorkDoneStatus_Unknown'));
__PACKAGE__->_add_enum('DeviceLost' => (0x00000003, 'WGPUQueueWorkDoneStatus_DeviceLost'));
WebGPU::Direct::QueueWorkDoneStatus->_build_const_lut;
};
package
WebGPU::Direct::RequestAdapterStatus {
__PACKAGE__->_add_enum('Success' => (0x00000000, 'WGPURequestAdapterStatus_Success'));
__PACKAGE__->_add_enum('Unavailable' => (0x00000001, 'WGPURequestAdapterStatus_Unavailable'));
__PACKAGE__->_add_enum('Error' => (0x00000002, 'WGPURequestAdapterStatus_Error'));
__PACKAGE__->_add_enum('Unknown' => (0x00000003, 'WGPURequestAdapterStatus_Unknown'));
WebGPU::Direct::RequestAdapterStatus->_build_const_lut;
};
package
WebGPU::Direct::RequestDeviceStatus {
__PACKAGE__->_add_enum('Success' => (0x00000000, 'WGPURequestDeviceStatus_Success'));
__PACKAGE__->_add_enum('Error' => (0x00000001, 'WGPURequestDeviceStatus_Error'));
__PACKAGE__->_add_enum('Unknown' => (0x00000002, 'WGPURequestDeviceStatus_Unknown'));
WebGPU::Direct::RequestDeviceStatus->_build_const_lut;
};
package
WebGPU::Direct::SType {
__PACKAGE__->_add_enum('Invalid' => (0x00000000, 'WGPUSType_Invalid'));
__PACKAGE__->_add_enum('SurfaceDescriptorFromMetalLayer' => (0x00000001, 'WGPUSType_SurfaceDescriptorFromMetalLayer'));
__PACKAGE__->_add_enum('SurfaceDescriptorFromWindowsHWND' => (0x00000002, 'WGPUSType_SurfaceDescriptorFromWindowsHWND'));
__PACKAGE__->_add_enum('SurfaceDescriptorFromXlibWindow' => (0x00000003, 'WGPUSType_SurfaceDescriptorFromXlibWindow'));
__PACKAGE__->_add_enum('SurfaceDescriptorFromCanvasHTMLSelector' => (0x00000004, 'WGPUSType_SurfaceDescriptorFromCanvasHTMLSelector'));
__PACKAGE__->_add_enum('ShaderModuleSPIRVDescriptor' => (0x00000005, 'WGPUSType_ShaderModuleSPIRVDescriptor'));
__PACKAGE__->_add_enum('ShaderModuleWGSLDescriptor' => (0x00000006, 'WGPUSType_ShaderModuleWGSLDescriptor'));
__PACKAGE__->_add_enum('PrimitiveDepthClipControl' => (0x00000007, 'WGPUSType_PrimitiveDepthClipControl'));
__PACKAGE__->_add_enum('SurfaceDescriptorFromWaylandSurface' => (0x00000008, 'WGPUSType_SurfaceDescriptorFromWaylandSurface'));
__PACKAGE__->_add_enum('SurfaceDescriptorFromAndroidNativeWindow' => (0x00000009, 'WGPUSType_SurfaceDescriptorFromAndroidNativeWindow'));
__PACKAGE__->_add_enum('SurfaceDescriptorFromXcbWindow' => (0x0000000A, 'WGPUSType_SurfaceDescriptorFromXcbWindow'));
__PACKAGE__->_add_enum('RenderPassDescriptorMaxDrawCount' => (0x0000000F, 'WGPUSType_RenderPassDescriptorMaxDrawCount'));
WebGPU::Direct::SType->_build_const_lut;
};
package
WebGPU::Direct::SamplerBindingType {
__PACKAGE__->_add_enum('Undefined' => (0x00000000, 'WGPUSamplerBindingType_Undefined'));
__PACKAGE__->_add_enum('Filtering' => (0x00000001, 'WGPUSamplerBindingType_Filtering'));
__PACKAGE__->_add_enum('NonFiltering' => (0x00000002, 'WGPUSamplerBindingType_NonFiltering'));
__PACKAGE__->_add_enum('Comparison' => (0x00000003, 'WGPUSamplerBindingType_Comparison'));
WebGPU::Direct::SamplerBindingType->_build_const_lut;
};
package
WebGPU::Direct::ShaderStage {
__PACKAGE__->_add_enum('None' => (0x00000000, 'WGPUShaderStage_None'));
__PACKAGE__->_add_enum('Vertex' => (0x00000001, 'WGPUShaderStage_Vertex'));
__PACKAGE__->_add_enum('Fragment' => (0x00000002, 'WGPUShaderStage_Fragment'));
__PACKAGE__->_add_enum('Compute' => (0x00000004, 'WGPUShaderStage_Compute'));
WebGPU::Direct::ShaderStage->_build_const_lut;
};
package
WebGPU::Direct::StencilOperation {
__PACKAGE__->_add_enum('Keep' => (0x00000000, 'WGPUStencilOperation_Keep'));
__PACKAGE__->_add_enum('Zero' => (0x00000001, 'WGPUStencilOperation_Zero'));
__PACKAGE__->_add_enum('Replace' => (0x00000002, 'WGPUStencilOperation_Replace'));
__PACKAGE__->_add_enum('Invert' => (0x00000003, 'WGPUStencilOperation_Invert'));
__PACKAGE__->_add_enum('IncrementClamp' => (0x00000004, 'WGPUStencilOperation_IncrementClamp'));
__PACKAGE__->_add_enum('DecrementClamp' => (0x00000005, 'WGPUStencilOperation_DecrementClamp'));
__PACKAGE__->_add_enum('IncrementWrap' => (0x00000006, 'WGPUStencilOperation_IncrementWrap'));
__PACKAGE__->_add_enum('DecrementWrap' => (0x00000007, 'WGPUStencilOperation_DecrementWrap'));
WebGPU::Direct::StencilOperation->_build_const_lut;
};
package
WebGPU::Direct::StorageTextureAccess {
__PACKAGE__->_add_enum('Undefined' => (0x00000000, 'WGPUStorageTextureAccess_Undefined'));
__PACKAGE__->_add_enum('WriteOnly' => (0x00000001, 'WGPUStorageTextureAccess_WriteOnly'));
__PACKAGE__->_add_enum('ReadOnly' => (0x00000002, 'WGPUStorageTextureAccess_ReadOnly'));
__PACKAGE__->_add_enum('ReadWrite' => (0x00000003, 'WGPUStorageTextureAccess_ReadWrite'));
WebGPU::Direct::StorageTextureAccess->_build_const_lut;
};
package
WebGPU::Direct::StoreOp {
__PACKAGE__->_add_enum('Undefined' => (0x00000000, 'WGPUStoreOp_Undefined'));
__PACKAGE__->_add_enum('Store' => (0x00000001, 'WGPUStoreOp_Store'));
__PACKAGE__->_add_enum('Discard' => (0x00000002, 'WGPUStoreOp_Discard'));
WebGPU::Direct::StoreOp->_build_const_lut;
};
package
WebGPU::Direct::SurfaceGetCurrentTextureStatus {
__PACKAGE__->_add_enum('Success' => (0x00000000, 'WGPUSurfaceGetCurrentTextureStatus_Success'));
__PACKAGE__->_add_enum('Timeout' => (0x00000001, 'WGPUSurfaceGetCurrentTextureStatus_Timeout'));
__PACKAGE__->_add_enum('Outdated' => (0x00000002, 'WGPUSurfaceGetCurrentTextureStatus_Outdated'));
__PACKAGE__->_add_enum('Lost' => (0x00000003, 'WGPUSurfaceGetCurrentTextureStatus_Lost'));
__PACKAGE__->_add_enum('OutOfMemory' => (0x00000004, 'WGPUSurfaceGetCurrentTextureStatus_OutOfMemory'));
__PACKAGE__->_add_enum('DeviceLost' => (0x00000005, 'WGPUSurfaceGetCurrentTextureStatus_DeviceLost'));
WebGPU::Direct::SurfaceGetCurrentTextureStatus->_build_const_lut;
};
package
WebGPU::Direct::TextureAspect {
__PACKAGE__->_add_enum('All' => (0x00000000, 'WGPUTextureAspect_All'));
__PACKAGE__->_add_enum('StencilOnly' => (0x00000001, 'WGPUTextureAspect_StencilOnly'));
__PACKAGE__->_add_enum('DepthOnly' => (0x00000002, 'WGPUTextureAspect_DepthOnly'));
WebGPU::Direct::TextureAspect->_build_const_lut;
};
package
WebGPU::Direct::TextureDimension {
__PACKAGE__->_add_enum('_1D' => (0x00000000, 'WGPUTextureDimension_1D'));
__PACKAGE__->_add_enum('_2D' => (0x00000001, 'WGPUTextureDimension_2D'));
__PACKAGE__->_add_enum('_3D' => (0x00000002, 'WGPUTextureDimension_3D'));
WebGPU::Direct::TextureDimension->_build_const_lut;
};
package
WebGPU::Direct::TextureFormat {
__PACKAGE__->_add_enum('Undefined' => (0x00000000, 'WGPUTextureFormat_Undefined'));
__PACKAGE__->_add_enum('R8Unorm' => (0x00000001, 'WGPUTextureFormat_R8Unorm'));
__PACKAGE__->_add_enum('R8Snorm' => (0x00000002, 'WGPUTextureFormat_R8Snorm'));
__PACKAGE__->_add_enum('R8Uint' => (0x00000003, 'WGPUTextureFormat_R8Uint'));
__PACKAGE__->_add_enum('R8Sint' => (0x00000004, 'WGPUTextureFormat_R8Sint'));
__PACKAGE__->_add_enum('R16Uint' => (0x00000005, 'WGPUTextureFormat_R16Uint'));
__PACKAGE__->_add_enum('R16Sint' => (0x00000006, 'WGPUTextureFormat_R16Sint'));
__PACKAGE__->_add_enum('R16Float' => (0x00000007, 'WGPUTextureFormat_R16Float'));
__PACKAGE__->_add_enum('RG8Unorm' => (0x00000008, 'WGPUTextureFormat_RG8Unorm'));
__PACKAGE__->_add_enum('RG8Snorm' => (0x00000009, 'WGPUTextureFormat_RG8Snorm'));
__PACKAGE__->_add_enum('RG8Uint' => (0x0000000A, 'WGPUTextureFormat_RG8Uint'));
__PACKAGE__->_add_enum('RG8Sint' => (0x0000000B, 'WGPUTextureFormat_RG8Sint'));
__PACKAGE__->_add_enum('R32Float' => (0x0000000C, 'WGPUTextureFormat_R32Float'));
__PACKAGE__->_add_enum('R32Uint' => (0x0000000D, 'WGPUTextureFormat_R32Uint'));
__PACKAGE__->_add_enum('R32Sint' => (0x0000000E, 'WGPUTextureFormat_R32Sint'));
__PACKAGE__->_add_enum('RG16Uint' => (0x0000000F, 'WGPUTextureFormat_RG16Uint'));
__PACKAGE__->_add_enum('RG16Sint' => (0x00000010, 'WGPUTextureFormat_RG16Sint'));
__PACKAGE__->_add_enum('RG16Float' => (0x00000011, 'WGPUTextureFormat_RG16Float'));
__PACKAGE__->_add_enum('RGBA8Unorm' => (0x00000012, 'WGPUTextureFormat_RGBA8Unorm'));
__PACKAGE__->_add_enum('RGBA8UnormSrgb' => (0x00000013, 'WGPUTextureFormat_RGBA8UnormSrgb'));
__PACKAGE__->_add_enum('RGBA8Snorm' => (0x00000014, 'WGPUTextureFormat_RGBA8Snorm'));
__PACKAGE__->_add_enum('RGBA8Uint' => (0x00000015, 'WGPUTextureFormat_RGBA8Uint'));
__PACKAGE__->_add_enum('RGBA8Sint' => (0x00000016, 'WGPUTextureFormat_RGBA8Sint'));
__PACKAGE__->_add_enum('BGRA8Unorm' => (0x00000017, 'WGPUTextureFormat_BGRA8Unorm'));
__PACKAGE__->_add_enum('BGRA8UnormSrgb' => (0x00000018, 'WGPUTextureFormat_BGRA8UnormSrgb'));
__PACKAGE__->_add_enum('RGB10A2Uint' => (0x00000019, 'WGPUTextureFormat_RGB10A2Uint'));
__PACKAGE__->_add_enum('RGB10A2Unorm' => (0x0000001A, 'WGPUTextureFormat_RGB10A2Unorm'));
__PACKAGE__->_add_enum('RG11B10Ufloat' => (0x0000001B, 'WGPUTextureFormat_RG11B10Ufloat'));
__PACKAGE__->_add_enum('RGB9E5Ufloat' => (0x0000001C, 'WGPUTextureFormat_RGB9E5Ufloat'));
__PACKAGE__->_add_enum('RG32Float' => (0x0000001D, 'WGPUTextureFormat_RG32Float'));
__PACKAGE__->_add_enum('RG32Uint' => (0x0000001E, 'WGPUTextureFormat_RG32Uint'));
__PACKAGE__->_add_enum('RG32Sint' => (0x0000001F, 'WGPUTextureFormat_RG32Sint'));
__PACKAGE__->_add_enum('RGBA16Uint' => (0x00000020, 'WGPUTextureFormat_RGBA16Uint'));
__PACKAGE__->_add_enum('RGBA16Sint' => (0x00000021, 'WGPUTextureFormat_RGBA16Sint'));
__PACKAGE__->_add_enum('RGBA16Float' => (0x00000022, 'WGPUTextureFormat_RGBA16Float'));
__PACKAGE__->_add_enum('RGBA32Float' => (0x00000023, 'WGPUTextureFormat_RGBA32Float'));
__PACKAGE__->_add_enum('RGBA32Uint' => (0x00000024, 'WGPUTextureFormat_RGBA32Uint'));
__PACKAGE__->_add_enum('RGBA32Sint' => (0x00000025, 'WGPUTextureFormat_RGBA32Sint'));
__PACKAGE__->_add_enum('Stencil8' => (0x00000026, 'WGPUTextureFormat_Stencil8'));
__PACKAGE__->_add_enum('Depth16Unorm' => (0x00000027, 'WGPUTextureFormat_Depth16Unorm'));
__PACKAGE__->_add_enum('Depth24Plus' => (0x00000028, 'WGPUTextureFormat_Depth24Plus'));
__PACKAGE__->_add_enum('Depth24PlusStencil8' => (0x00000029, 'WGPUTextureFormat_Depth24PlusStencil8'));
__PACKAGE__->_add_enum('Depth32Float' => (0x0000002A, 'WGPUTextureFormat_Depth32Float'));
__PACKAGE__->_add_enum('Depth32FloatStencil8' => (0x0000002B, 'WGPUTextureFormat_Depth32FloatStencil8'));
__PACKAGE__->_add_enum('BC1RGBAUnorm' => (0x0000002C, 'WGPUTextureFormat_BC1RGBAUnorm'));
__PACKAGE__->_add_enum('BC1RGBAUnormSrgb' => (0x0000002D, 'WGPUTextureFormat_BC1RGBAUnormSrgb'));
__PACKAGE__->_add_enum('BC2RGBAUnorm' => (0x0000002E, 'WGPUTextureFormat_BC2RGBAUnorm'));
__PACKAGE__->_add_enum('BC2RGBAUnormSrgb' => (0x0000002F, 'WGPUTextureFormat_BC2RGBAUnormSrgb'));
__PACKAGE__->_add_enum('BC3RGBAUnorm' => (0x00000030, 'WGPUTextureFormat_BC3RGBAUnorm'));
__PACKAGE__->_add_enum('BC3RGBAUnormSrgb' => (0x00000031, 'WGPUTextureFormat_BC3RGBAUnormSrgb'));
__PACKAGE__->_add_enum('BC4RUnorm' => (0x00000032, 'WGPUTextureFormat_BC4RUnorm'));
__PACKAGE__->_add_enum('BC4RSnorm' => (0x00000033, 'WGPUTextureFormat_BC4RSnorm'));
__PACKAGE__->_add_enum('BC5RGUnorm' => (0x00000034, 'WGPUTextureFormat_BC5RGUnorm'));
__PACKAGE__->_add_enum('BC5RGSnorm' => (0x00000035, 'WGPUTextureFormat_BC5RGSnorm'));
__PACKAGE__->_add_enum('BC6HRGBUfloat' => (0x00000036, 'WGPUTextureFormat_BC6HRGBUfloat'));
__PACKAGE__->_add_enum('BC6HRGBFloat' => (0x00000037, 'WGPUTextureFormat_BC6HRGBFloat'));
__PACKAGE__->_add_enum('BC7RGBAUnorm' => (0x00000038, 'WGPUTextureFormat_BC7RGBAUnorm'));
__PACKAGE__->_add_enum('BC7RGBAUnormSrgb' => (0x00000039, 'WGPUTextureFormat_BC7RGBAUnormSrgb'));
__PACKAGE__->_add_enum('ETC2RGB8Unorm' => (0x0000003A, 'WGPUTextureFormat_ETC2RGB8Unorm'));
__PACKAGE__->_add_enum('ETC2RGB8UnormSrgb' => (0x0000003B, 'WGPUTextureFormat_ETC2RGB8UnormSrgb'));
__PACKAGE__->_add_enum('ETC2RGB8A1Unorm' => (0x0000003C, 'WGPUTextureFormat_ETC2RGB8A1Unorm'));
__PACKAGE__->_add_enum('ETC2RGB8A1UnormSrgb' => (0x0000003D, 'WGPUTextureFormat_ETC2RGB8A1UnormSrgb'));
__PACKAGE__->_add_enum('ETC2RGBA8Unorm' => (0x0000003E, 'WGPUTextureFormat_ETC2RGBA8Unorm'));
__PACKAGE__->_add_enum('ETC2RGBA8UnormSrgb' => (0x0000003F, 'WGPUTextureFormat_ETC2RGBA8UnormSrgb'));
__PACKAGE__->_add_enum('EACR11Unorm' => (0x00000040, 'WGPUTextureFormat_EACR11Unorm'));
__PACKAGE__->_add_enum('EACR11Snorm' => (0x00000041, 'WGPUTextureFormat_EACR11Snorm'));
__PACKAGE__->_add_enum('EACRG11Unorm' => (0x00000042, 'WGPUTextureFormat_EACRG11Unorm'));
__PACKAGE__->_add_enum('EACRG11Snorm' => (0x00000043, 'WGPUTextureFormat_EACRG11Snorm'));
__PACKAGE__->_add_enum('ASTC4x4Unorm' => (0x00000044, 'WGPUTextureFormat_ASTC4x4Unorm'));
__PACKAGE__->_add_enum('ASTC4x4UnormSrgb' => (0x00000045, 'WGPUTextureFormat_ASTC4x4UnormSrgb'));
__PACKAGE__->_add_enum('ASTC5x4Unorm' => (0x00000046, 'WGPUTextureFormat_ASTC5x4Unorm'));
__PACKAGE__->_add_enum('ASTC5x4UnormSrgb' => (0x00000047, 'WGPUTextureFormat_ASTC5x4UnormSrgb'));
__PACKAGE__->_add_enum('ASTC5x5Unorm' => (0x00000048, 'WGPUTextureFormat_ASTC5x5Unorm'));
__PACKAGE__->_add_enum('ASTC5x5UnormSrgb' => (0x00000049, 'WGPUTextureFormat_ASTC5x5UnormSrgb'));
__PACKAGE__->_add_enum('ASTC6x5Unorm' => (0x0000004A, 'WGPUTextureFormat_ASTC6x5Unorm'));
__PACKAGE__->_add_enum('ASTC6x5UnormSrgb' => (0x0000004B, 'WGPUTextureFormat_ASTC6x5UnormSrgb'));
__PACKAGE__->_add_enum('ASTC6x6Unorm' => (0x0000004C, 'WGPUTextureFormat_ASTC6x6Unorm'));
__PACKAGE__->_add_enum('ASTC6x6UnormSrgb' => (0x0000004D, 'WGPUTextureFormat_ASTC6x6UnormSrgb'));
__PACKAGE__->_add_enum('ASTC8x5Unorm' => (0x0000004E, 'WGPUTextureFormat_ASTC8x5Unorm'));
__PACKAGE__->_add_enum('ASTC8x5UnormSrgb' => (0x0000004F, 'WGPUTextureFormat_ASTC8x5UnormSrgb'));
__PACKAGE__->_add_enum('ASTC8x6Unorm' => (0x00000050, 'WGPUTextureFormat_ASTC8x6Unorm'));
__PACKAGE__->_add_enum('ASTC8x6UnormSrgb' => (0x00000051, 'WGPUTextureFormat_ASTC8x6UnormSrgb'));
__PACKAGE__->_add_enum('ASTC8x8Unorm' => (0x00000052, 'WGPUTextureFormat_ASTC8x8Unorm'));
__PACKAGE__->_add_enum('ASTC8x8UnormSrgb' => (0x00000053, 'WGPUTextureFormat_ASTC8x8UnormSrgb'));
__PACKAGE__->_add_enum('ASTC10x5Unorm' => (0x00000054, 'WGPUTextureFormat_ASTC10x5Unorm'));
__PACKAGE__->_add_enum('ASTC10x5UnormSrgb' => (0x00000055, 'WGPUTextureFormat_ASTC10x5UnormSrgb'));
__PACKAGE__->_add_enum('ASTC10x6Unorm' => (0x00000056, 'WGPUTextureFormat_ASTC10x6Unorm'));
__PACKAGE__->_add_enum('ASTC10x6UnormSrgb' => (0x00000057, 'WGPUTextureFormat_ASTC10x6UnormSrgb'));
__PACKAGE__->_add_enum('ASTC10x8Unorm' => (0x00000058, 'WGPUTextureFormat_ASTC10x8Unorm'));
__PACKAGE__->_add_enum('ASTC10x8UnormSrgb' => (0x00000059, 'WGPUTextureFormat_ASTC10x8UnormSrgb'));
__PACKAGE__->_add_enum('ASTC10x10Unorm' => (0x0000005A, 'WGPUTextureFormat_ASTC10x10Unorm'));
__PACKAGE__->_add_enum('ASTC10x10UnormSrgb' => (0x0000005B, 'WGPUTextureFormat_ASTC10x10UnormSrgb'));
__PACKAGE__->_add_enum('ASTC12x10Unorm' => (0x0000005C, 'WGPUTextureFormat_ASTC12x10Unorm'));
__PACKAGE__->_add_enum('ASTC12x10UnormSrgb' => (0x0000005D, 'WGPUTextureFormat_ASTC12x10UnormSrgb'));
__PACKAGE__->_add_enum('ASTC12x12Unorm' => (0x0000005E, 'WGPUTextureFormat_ASTC12x12Unorm'));
__PACKAGE__->_add_enum('ASTC12x12UnormSrgb' => (0x0000005F, 'WGPUTextureFormat_ASTC12x12UnormSrgb'));
WebGPU::Direct::TextureFormat->_build_const_lut;
};
package
WebGPU::Direct::TextureSampleType {
__PACKAGE__->_add_enum('Undefined' => (0x00000000, 'WGPUTextureSampleType_Undefined'));
__PACKAGE__->_add_enum('Float' => (0x00000001, 'WGPUTextureSampleType_Float'));
__PACKAGE__->_add_enum('UnfilterableFloat' => (0x00000002, 'WGPUTextureSampleType_UnfilterableFloat'));
__PACKAGE__->_add_enum('Depth' => (0x00000003, 'WGPUTextureSampleType_Depth'));
__PACKAGE__->_add_enum('Sint' => (0x00000004, 'WGPUTextureSampleType_Sint'));
__PACKAGE__->_add_enum('Uint' => (0x00000005, 'WGPUTextureSampleType_Uint'));
WebGPU::Direct::TextureSampleType->_build_const_lut;
};
package
WebGPU::Direct::TextureUsage {
__PACKAGE__->_add_enum('None' => (0x00000000, 'WGPUTextureUsage_None'));
__PACKAGE__->_add_enum('CopySrc' => (0x00000001, 'WGPUTextureUsage_CopySrc'));
__PACKAGE__->_add_enum('CopyDst' => (0x00000002, 'WGPUTextureUsage_CopyDst'));
__PACKAGE__->_add_enum('TextureBinding' => (0x00000004, 'WGPUTextureUsage_TextureBinding'));
__PACKAGE__->_add_enum('StorageBinding' => (0x00000008, 'WGPUTextureUsage_StorageBinding'));
__PACKAGE__->_add_enum('RenderAttachment' => (0x00000010, 'WGPUTextureUsage_RenderAttachment'));
WebGPU::Direct::TextureUsage->_build_const_lut;
};
package
WebGPU::Direct::TextureViewDimension {
__PACKAGE__->_add_enum('Undefined' => (0x00000000, 'WGPUTextureViewDimension_Undefined'));
__PACKAGE__->_add_enum('_1D' => (0x00000001, 'WGPUTextureViewDimension_1D'));
__PACKAGE__->_add_enum('_2D' => (0x00000002, 'WGPUTextureViewDimension_2D'));
__PACKAGE__->_add_enum('_2DArray' => (0x00000003, 'WGPUTextureViewDimension_2DArray'));
__PACKAGE__->_add_enum('Cube' => (0x00000004, 'WGPUTextureViewDimension_Cube'));
__PACKAGE__->_add_enum('CubeArray' => (0x00000005, 'WGPUTextureViewDimension_CubeArray'));
__PACKAGE__->_add_enum('_3D' => (0x00000006, 'WGPUTextureViewDimension_3D'));
WebGPU::Direct::TextureViewDimension->_build_const_lut;
};
package
WebGPU::Direct::VertexFormat {
__PACKAGE__->_add_enum('Undefined' => (0x00000000, 'WGPUVertexFormat_Undefined'));
__PACKAGE__->_add_enum('Uint8x2' => (0x00000001, 'WGPUVertexFormat_Uint8x2'));
__PACKAGE__->_add_enum('Uint8x4' => (0x00000002, 'WGPUVertexFormat_Uint8x4'));
__PACKAGE__->_add_enum('Sint8x2' => (0x00000003, 'WGPUVertexFormat_Sint8x2'));
__PACKAGE__->_add_enum('Sint8x4' => (0x00000004, 'WGPUVertexFormat_Sint8x4'));
__PACKAGE__->_add_enum('Unorm8x2' => (0x00000005, 'WGPUVertexFormat_Unorm8x2'));
__PACKAGE__->_add_enum('Unorm8x4' => (0x00000006, 'WGPUVertexFormat_Unorm8x4'));
__PACKAGE__->_add_enum('Snorm8x2' => (0x00000007, 'WGPUVertexFormat_Snorm8x2'));
__PACKAGE__->_add_enum('Snorm8x4' => (0x00000008, 'WGPUVertexFormat_Snorm8x4'));
__PACKAGE__->_add_enum('Uint16x2' => (0x00000009, 'WGPUVertexFormat_Uint16x2'));
__PACKAGE__->_add_enum('Uint16x4' => (0x0000000A, 'WGPUVertexFormat_Uint16x4'));
__PACKAGE__->_add_enum('Sint16x2' => (0x0000000B, 'WGPUVertexFormat_Sint16x2'));
__PACKAGE__->_add_enum('Sint16x4' => (0x0000000C, 'WGPUVertexFormat_Sint16x4'));
__PACKAGE__->_add_enum('Unorm16x2' => (0x0000000D, 'WGPUVertexFormat_Unorm16x2'));
__PACKAGE__->_add_enum('Unorm16x4' => (0x0000000E, 'WGPUVertexFormat_Unorm16x4'));
__PACKAGE__->_add_enum('Snorm16x2' => (0x0000000F, 'WGPUVertexFormat_Snorm16x2'));
__PACKAGE__->_add_enum('Snorm16x4' => (0x00000010, 'WGPUVertexFormat_Snorm16x4'));
__PACKAGE__->_add_enum('Float16x2' => (0x00000011, 'WGPUVertexFormat_Float16x2'));
__PACKAGE__->_add_enum('Float16x4' => (0x00000012, 'WGPUVertexFormat_Float16x4'));
__PACKAGE__->_add_enum('Float32' => (0x00000013, 'WGPUVertexFormat_Float32'));
__PACKAGE__->_add_enum('Float32x2' => (0x00000014, 'WGPUVertexFormat_Float32x2'));
__PACKAGE__->_add_enum('Float32x3' => (0x00000015, 'WGPUVertexFormat_Float32x3'));
__PACKAGE__->_add_enum('Float32x4' => (0x00000016, 'WGPUVertexFormat_Float32x4'));
__PACKAGE__->_add_enum('Uint32' => (0x00000017, 'WGPUVertexFormat_Uint32'));
__PACKAGE__->_add_enum('Uint32x2' => (0x00000018, 'WGPUVertexFormat_Uint32x2'));
__PACKAGE__->_add_enum('Uint32x3' => (0x00000019, 'WGPUVertexFormat_Uint32x3'));
__PACKAGE__->_add_enum('Uint32x4' => (0x0000001A, 'WGPUVertexFormat_Uint32x4'));
__PACKAGE__->_add_enum('Sint32' => (0x0000001B, 'WGPUVertexFormat_Sint32'));
__PACKAGE__->_add_enum('Sint32x2' => (0x0000001C, 'WGPUVertexFormat_Sint32x2'));
__PACKAGE__->_add_enum('Sint32x3' => (0x0000001D, 'WGPUVertexFormat_Sint32x3'));
__PACKAGE__->_add_enum('Sint32x4' => (0x0000001E, 'WGPUVertexFormat_Sint32x4'));
WebGPU::Direct::VertexFormat->_build_const_lut;
};
package
WebGPU::Direct::VertexStepMode {
__PACKAGE__->_add_enum('Vertex' => (0x00000000, 'WGPUVertexStepMode_Vertex'));
__PACKAGE__->_add_enum('Instance' => (0x00000001, 'WGPUVertexStepMode_Instance'));
__PACKAGE__->_add_enum('VertexBufferNotUsed' => (0x00000002, 'WGPUVertexStepMode_VertexBufferNotUsed'));
WebGPU::Direct::VertexStepMode->_build_const_lut;
};
package
WebGPU::Direct::Adapter {
push @WebGPU::Direct::Adapter::ISA, "WebGPU::Direct::Opaque";
sub new {
my $class = __PACKAGE__;
die "Cannot call new on abstract class $class";
}
sub DESTROY
{
$_[0]->Release;
}
}
package
WebGPU::Direct::BindGroup {
push @WebGPU::Direct::BindGroup::ISA, "WebGPU::Direct::Opaque";
sub new {
my $class = __PACKAGE__;
die "Cannot call new on abstract class $class";
}
sub DESTROY
{
$_[0]->Release;
}
}
package
WebGPU::Direct::BindGroupLayout {
push @WebGPU::Direct::BindGroupLayout::ISA, "WebGPU::Direct::Opaque";
sub new {
my $class = __PACKAGE__;
die "Cannot call new on abstract class $class";
}
sub DESTROY
{
$_[0]->Release;
}
}
package
WebGPU::Direct::Buffer {
push @WebGPU::Direct::Buffer::ISA, "WebGPU::Direct::Opaque";
sub new {
my $class = __PACKAGE__;
die "Cannot call new on abstract class $class";
}
sub DESTROY
{
$_[0]->Release;
}
}
package
WebGPU::Direct::CommandBuffer {
push @WebGPU::Direct::CommandBuffer::ISA, "WebGPU::Direct::Opaque";
sub new {
my $class = __PACKAGE__;
die "Cannot call new on abstract class $class";
}
sub DESTROY
{
$_[0]->Release;
}
}
package
WebGPU::Direct::CommandEncoder {
push @WebGPU::Direct::CommandEncoder::ISA, "WebGPU::Direct::Opaque";
sub new {
my $class = __PACKAGE__;
die "Cannot call new on abstract class $class";
}
sub DESTROY
{
$_[0]->Release;
}
}
package
WebGPU::Direct::ComputePassEncoder {
push @WebGPU::Direct::ComputePassEncoder::ISA, "WebGPU::Direct::Opaque";
sub new {
my $class = __PACKAGE__;
die "Cannot call new on abstract class $class";
}
sub DESTROY
{
$_[0]->Release;
}
}
package
WebGPU::Direct::ComputePipeline {
push @WebGPU::Direct::ComputePipeline::ISA, "WebGPU::Direct::Opaque";
sub new {
my $class = __PACKAGE__;
die "Cannot call new on abstract class $class";
}
sub DESTROY
{
$_[0]->Release;
}
}
package
WebGPU::Direct::Device {
push @WebGPU::Direct::Device::ISA, "WebGPU::Direct::Opaque";
sub new {
my $class = __PACKAGE__;
die "Cannot call new on abstract class $class";
}
sub DESTROY
{
$_[0]->Release;
}
}
package
WebGPU::Direct::Instance {
push @WebGPU::Direct::Instance::ISA, "WebGPU::Direct::Opaque";
sub new {
my $class = __PACKAGE__;
die "Cannot call new on abstract class $class";
}
sub DESTROY
{
$_[0]->Release;
}
}
package
WebGPU::Direct::PipelineLayout {
push @WebGPU::Direct::PipelineLayout::ISA, "WebGPU::Direct::Opaque";
sub new {
my $class = __PACKAGE__;
die "Cannot call new on abstract class $class";
}
sub DESTROY
{
$_[0]->Release;
}
}
package
WebGPU::Direct::QuerySet {
push @WebGPU::Direct::QuerySet::ISA, "WebGPU::Direct::Opaque";
sub new {
my $class = __PACKAGE__;
die "Cannot call new on abstract class $class";
}
sub DESTROY
{
$_[0]->Release;
}
}
package
WebGPU::Direct::Queue {
push @WebGPU::Direct::Queue::ISA, "WebGPU::Direct::Opaque";
sub new {
my $class = __PACKAGE__;
die "Cannot call new on abstract class $class";
}
sub DESTROY
{
$_[0]->Release;
}
}
package
WebGPU::Direct::RenderBundle {
push @WebGPU::Direct::RenderBundle::ISA, "WebGPU::Direct::Opaque";
sub new {
my $class = __PACKAGE__;
die "Cannot call new on abstract class $class";
}
sub DESTROY
{
$_[0]->Release;
}
}
package
WebGPU::Direct::RenderBundleEncoder {
push @WebGPU::Direct::RenderBundleEncoder::ISA, "WebGPU::Direct::Opaque";
sub new {
my $class = __PACKAGE__;
die "Cannot call new on abstract class $class";
}
sub DESTROY
{
$_[0]->Release;
}
}
package
WebGPU::Direct::RenderPassEncoder {
push @WebGPU::Direct::RenderPassEncoder::ISA, "WebGPU::Direct::Opaque";
sub new {
my $class = __PACKAGE__;
die "Cannot call new on abstract class $class";
}
sub DESTROY
{
$_[0]->Release;
}
}
package
WebGPU::Direct::RenderPipeline {
push @WebGPU::Direct::RenderPipeline::ISA, "WebGPU::Direct::Opaque";
sub new {
my $class = __PACKAGE__;
die "Cannot call new on abstract class $class";
}
sub DESTROY
{
$_[0]->Release;
}
}
package
WebGPU::Direct::Sampler {
push @WebGPU::Direct::Sampler::ISA, "WebGPU::Direct::Opaque";
sub new {
my $class = __PACKAGE__;
die "Cannot call new on abstract class $class";
}
sub DESTROY
{
$_[0]->Release;
}
}
package
WebGPU::Direct::ShaderModule {
push @WebGPU::Direct::ShaderModule::ISA, "WebGPU::Direct::Opaque";
sub new {
my $class = __PACKAGE__;
die "Cannot call new on abstract class $class";
}
sub DESTROY
{
$_[0]->Release;
}
}
package
WebGPU::Direct::Surface {
push @WebGPU::Direct::Surface::ISA, "WebGPU::Direct::Opaque";
sub new {
my $class = __PACKAGE__;
die "Cannot call new on abstract class $class";
}
sub DESTROY
{
$_[0]->Release;
}
}
package
WebGPU::Direct::Texture {
push @WebGPU::Direct::Texture::ISA, "WebGPU::Direct::Opaque";
sub new {
my $class = __PACKAGE__;
die "Cannot call new on abstract class $class";
}
sub DESTROY
{
$_[0]->Release;
}
}
package
WebGPU::Direct::TextureView {
push @WebGPU::Direct::TextureView::ISA, "WebGPU::Direct::Opaque";
sub new {
my $class = __PACKAGE__;
die "Cannot call new on abstract class $class";
}
sub DESTROY
{
$_[0]->Release;
}
}
package
WebGPU::Direct::ChainedStruct {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::ChainedStruct\n"
if !$class->isa("WebGPU::Direct::ChainedStruct");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::ChainedStructOut {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::ChainedStructOut\n"
if !$class->isa("WebGPU::Direct::ChainedStructOut");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::AdapterProperties {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::AdapterProperties\n"
if !$class->isa("WebGPU::Direct::AdapterProperties");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::BindGroupEntry {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::BindGroupEntry\n"
if !$class->isa("WebGPU::Direct::BindGroupEntry");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::BlendComponent {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::BlendComponent\n"
if !$class->isa("WebGPU::Direct::BlendComponent");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::BufferBindingLayout {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::BufferBindingLayout\n"
if !$class->isa("WebGPU::Direct::BufferBindingLayout");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::BufferDescriptor {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::BufferDescriptor\n"
if !$class->isa("WebGPU::Direct::BufferDescriptor");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::Color {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::Color\n"
if !$class->isa("WebGPU::Direct::Color");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::CommandBufferDescriptor {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::CommandBufferDescriptor\n"
if !$class->isa("WebGPU::Direct::CommandBufferDescriptor");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::CommandEncoderDescriptor {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::CommandEncoderDescriptor\n"
if !$class->isa("WebGPU::Direct::CommandEncoderDescriptor");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::CompilationMessage {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::CompilationMessage\n"
if !$class->isa("WebGPU::Direct::CompilationMessage");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::ComputePassTimestampWrites {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::ComputePassTimestampWrites\n"
if !$class->isa("WebGPU::Direct::ComputePassTimestampWrites");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::ConstantEntry {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::ConstantEntry\n"
if !$class->isa("WebGPU::Direct::ConstantEntry");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::Extent3D {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::Extent3D\n"
if !$class->isa("WebGPU::Direct::Extent3D");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::InstanceDescriptor {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::InstanceDescriptor\n"
if !$class->isa("WebGPU::Direct::InstanceDescriptor");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::Limits {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::Limits\n"
if !$class->isa("WebGPU::Direct::Limits");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::MultisampleState {
my $default = {
'alphaToCoverageEnabled' => 0,
'count' => 1,
'mask' => 4294967295,
};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::MultisampleState\n"
if !$class->isa("WebGPU::Direct::MultisampleState");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::Origin3D {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::Origin3D\n"
if !$class->isa("WebGPU::Direct::Origin3D");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::PipelineLayoutDescriptor {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::PipelineLayoutDescriptor\n"
if !$class->isa("WebGPU::Direct::PipelineLayoutDescriptor");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::PrimitiveDepthClipControl {
push @WebGPU::Direct::PrimitiveDepthClipControl::ISA, "WebGPU::Direct::ChainedStruct";
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::PrimitiveDepthClipControl\n"
if !$class->isa("WebGPU::Direct::PrimitiveDepthClipControl");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::PrimitiveState {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::PrimitiveState\n"
if !$class->isa("WebGPU::Direct::PrimitiveState");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::QuerySetDescriptor {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::QuerySetDescriptor\n"
if !$class->isa("WebGPU::Direct::QuerySetDescriptor");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::QueueDescriptor {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::QueueDescriptor\n"
if !$class->isa("WebGPU::Direct::QueueDescriptor");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::RenderBundleDescriptor {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::RenderBundleDescriptor\n"
if !$class->isa("WebGPU::Direct::RenderBundleDescriptor");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::RenderBundleEncoderDescriptor {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::RenderBundleEncoderDescriptor\n"
if !$class->isa("WebGPU::Direct::RenderBundleEncoderDescriptor");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::RenderPassDepthStencilAttachment {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::RenderPassDepthStencilAttachment\n"
if !$class->isa("WebGPU::Direct::RenderPassDepthStencilAttachment");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::RenderPassDescriptorMaxDrawCount {
push @WebGPU::Direct::RenderPassDescriptorMaxDrawCount::ISA, "WebGPU::Direct::ChainedStruct";
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::RenderPassDescriptorMaxDrawCount\n"
if !$class->isa("WebGPU::Direct::RenderPassDescriptorMaxDrawCount");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::RenderPassTimestampWrites {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::RenderPassTimestampWrites\n"
if !$class->isa("WebGPU::Direct::RenderPassTimestampWrites");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::RequestAdapterOptions {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::RequestAdapterOptions\n"
if !$class->isa("WebGPU::Direct::RequestAdapterOptions");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::SamplerBindingLayout {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::SamplerBindingLayout\n"
if !$class->isa("WebGPU::Direct::SamplerBindingLayout");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::SamplerDescriptor {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::SamplerDescriptor\n"
if !$class->isa("WebGPU::Direct::SamplerDescriptor");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::ShaderModuleCompilationHint {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::ShaderModuleCompilationHint\n"
if !$class->isa("WebGPU::Direct::ShaderModuleCompilationHint");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::ShaderModuleSPIRVDescriptor {
push @WebGPU::Direct::ShaderModuleSPIRVDescriptor::ISA, "WebGPU::Direct::ChainedStruct";
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::ShaderModuleSPIRVDescriptor\n"
if !$class->isa("WebGPU::Direct::ShaderModuleSPIRVDescriptor");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::ShaderModuleWGSLDescriptor {
push @WebGPU::Direct::ShaderModuleWGSLDescriptor::ISA, "WebGPU::Direct::ChainedStruct";
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::ShaderModuleWGSLDescriptor\n"
if !$class->isa("WebGPU::Direct::ShaderModuleWGSLDescriptor");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::StencilFaceState {
my $default = {
'compare' => WebGPU::Direct::CompareFunction->Always,
'depthFailOp' => WebGPU::Direct::StencilOperation->Keep,
'failOp' => WebGPU::Direct::StencilOperation->Keep,
'passOp' => WebGPU::Direct::StencilOperation->Keep,
};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::StencilFaceState\n"
if !$class->isa("WebGPU::Direct::StencilFaceState");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::StorageTextureBindingLayout {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::StorageTextureBindingLayout\n"
if !$class->isa("WebGPU::Direct::StorageTextureBindingLayout");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::SurfaceCapabilities {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::SurfaceCapabilities\n"
if !$class->isa("WebGPU::Direct::SurfaceCapabilities");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::SurfaceConfiguration {
my $default = {
'alphaMode' => WebGPU::Direct::CompositeAlphaMode->Auto,
'usage' => WebGPU::Direct::TextureUsage->RenderAttachment,
};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::SurfaceConfiguration\n"
if !$class->isa("WebGPU::Direct::SurfaceConfiguration");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::SurfaceDescriptor {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::SurfaceDescriptor\n"
if !$class->isa("WebGPU::Direct::SurfaceDescriptor");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::SurfaceDescriptorFromAndroidNativeWindow {
push @WebGPU::Direct::SurfaceDescriptorFromAndroidNativeWindow::ISA, "WebGPU::Direct::ChainedStruct";
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::SurfaceDescriptorFromAndroidNativeWindow\n"
if !$class->isa("WebGPU::Direct::SurfaceDescriptorFromAndroidNativeWindow");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::SurfaceDescriptorFromCanvasHTMLSelector {
push @WebGPU::Direct::SurfaceDescriptorFromCanvasHTMLSelector::ISA, "WebGPU::Direct::ChainedStruct";
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::SurfaceDescriptorFromCanvasHTMLSelector\n"
if !$class->isa("WebGPU::Direct::SurfaceDescriptorFromCanvasHTMLSelector");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::SurfaceDescriptorFromMetalLayer {
push @WebGPU::Direct::SurfaceDescriptorFromMetalLayer::ISA, "WebGPU::Direct::ChainedStruct";
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::SurfaceDescriptorFromMetalLayer\n"
if !$class->isa("WebGPU::Direct::SurfaceDescriptorFromMetalLayer");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::SurfaceDescriptorFromWaylandSurface {
push @WebGPU::Direct::SurfaceDescriptorFromWaylandSurface::ISA, "WebGPU::Direct::ChainedStruct";
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::SurfaceDescriptorFromWaylandSurface\n"
if !$class->isa("WebGPU::Direct::SurfaceDescriptorFromWaylandSurface");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::SurfaceDescriptorFromWindowsHWND {
push @WebGPU::Direct::SurfaceDescriptorFromWindowsHWND::ISA, "WebGPU::Direct::ChainedStruct";
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::SurfaceDescriptorFromWindowsHWND\n"
if !$class->isa("WebGPU::Direct::SurfaceDescriptorFromWindowsHWND");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::SurfaceDescriptorFromXcbWindow {
push @WebGPU::Direct::SurfaceDescriptorFromXcbWindow::ISA, "WebGPU::Direct::ChainedStruct";
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::SurfaceDescriptorFromXcbWindow\n"
if !$class->isa("WebGPU::Direct::SurfaceDescriptorFromXcbWindow");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::SurfaceDescriptorFromXlibWindow {
push @WebGPU::Direct::SurfaceDescriptorFromXlibWindow::ISA, "WebGPU::Direct::ChainedStruct";
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::SurfaceDescriptorFromXlibWindow\n"
if !$class->isa("WebGPU::Direct::SurfaceDescriptorFromXlibWindow");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::SurfaceTexture {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::SurfaceTexture\n"
if !$class->isa("WebGPU::Direct::SurfaceTexture");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::TextureBindingLayout {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::TextureBindingLayout\n"
if !$class->isa("WebGPU::Direct::TextureBindingLayout");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::TextureDataLayout {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::TextureDataLayout\n"
if !$class->isa("WebGPU::Direct::TextureDataLayout");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::TextureViewDescriptor {
my $default = {
'aspect' => WebGPU::Direct::TextureAspect->All,
'baseArrayLayer' => 0,
'baseMipLevel' => 0,
};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::TextureViewDescriptor\n"
if !$class->isa("WebGPU::Direct::TextureViewDescriptor");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::VertexAttribute {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::VertexAttribute\n"
if !$class->isa("WebGPU::Direct::VertexAttribute");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::BindGroupDescriptor {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::BindGroupDescriptor\n"
if !$class->isa("WebGPU::Direct::BindGroupDescriptor");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::BindGroupLayoutEntry {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::BindGroupLayoutEntry\n"
if !$class->isa("WebGPU::Direct::BindGroupLayoutEntry");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::BlendState {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::BlendState\n"
if !$class->isa("WebGPU::Direct::BlendState");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::CompilationInfo {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::CompilationInfo\n"
if !$class->isa("WebGPU::Direct::CompilationInfo");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::ComputePassDescriptor {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::ComputePassDescriptor\n"
if !$class->isa("WebGPU::Direct::ComputePassDescriptor");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::DepthStencilState {
my $default = {
'depthBias' => 0,
'depthBiasClamp' => 0,
'depthBiasSlopeScale' => 0,
'stencilReadMask' => 4294967295,
'stencilWriteMask' => 4294967295,
};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::DepthStencilState\n"
if !$class->isa("WebGPU::Direct::DepthStencilState");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::ImageCopyBuffer {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::ImageCopyBuffer\n"
if !$class->isa("WebGPU::Direct::ImageCopyBuffer");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::ImageCopyTexture {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::ImageCopyTexture\n"
if !$class->isa("WebGPU::Direct::ImageCopyTexture");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::ProgrammableStageDescriptor {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::ProgrammableStageDescriptor\n"
if !$class->isa("WebGPU::Direct::ProgrammableStageDescriptor");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::RenderPassColorAttachment {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::RenderPassColorAttachment\n"
if !$class->isa("WebGPU::Direct::RenderPassColorAttachment");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::RequiredLimits {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::RequiredLimits\n"
if !$class->isa("WebGPU::Direct::RequiredLimits");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::ShaderModuleDescriptor {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::ShaderModuleDescriptor\n"
if !$class->isa("WebGPU::Direct::ShaderModuleDescriptor");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::SupportedLimits {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::SupportedLimits\n"
if !$class->isa("WebGPU::Direct::SupportedLimits");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::TextureDescriptor {
my $default = {
'dimension' => WebGPU::Direct::TextureDimension->_2D,
'mipLevelCount' => 1,
'sampleCount' => 1,
'size' => {
'depthOrArrayLayers' => 1,
'height' => 1,
},
};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::TextureDescriptor\n"
if !$class->isa("WebGPU::Direct::TextureDescriptor");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::VertexBufferLayout {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::VertexBufferLayout\n"
if !$class->isa("WebGPU::Direct::VertexBufferLayout");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::BindGroupLayoutDescriptor {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::BindGroupLayoutDescriptor\n"
if !$class->isa("WebGPU::Direct::BindGroupLayoutDescriptor");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::ColorTargetState {
my $default = {
'blend' => undef,
'writeMask' => WebGPU::Direct::ColorWriteMask->All,
};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::ColorTargetState\n"
if !$class->isa("WebGPU::Direct::ColorTargetState");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::ComputePipelineDescriptor {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::ComputePipelineDescriptor\n"
if !$class->isa("WebGPU::Direct::ComputePipelineDescriptor");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::DeviceDescriptor {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::DeviceDescriptor\n"
if !$class->isa("WebGPU::Direct::DeviceDescriptor");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::RenderPassDescriptor {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::RenderPassDescriptor\n"
if !$class->isa("WebGPU::Direct::RenderPassDescriptor");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::VertexState {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::VertexState\n"
if !$class->isa("WebGPU::Direct::VertexState");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::FragmentState {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::FragmentState\n"
if !$class->isa("WebGPU::Direct::FragmentState");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
package
WebGPU::Direct::RenderPipelineDescriptor {
my $default = {};
sub new {
my $class = shift;
die "$class does not inherit from WebGPU::Direct::RenderPipelineDescriptor\n"
if !$class->isa("WebGPU::Direct::RenderPipelineDescriptor");
$class = ref($class) ? ref($class) : $class;
my $result = { %$default, ref( $_[0] ) eq ref {} ? %{$_[0]} : @_ };
$result = $class->BUILDARGS($result)
if $class->can('BUILDARGS');
$result = bless( $result, $class );
$result->pack;
return $result;
}
}
1;