=head1 WebGPU::Direct::ChainedStruct

=head2 Attributes

=over

=item next (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item sType (L<WGPUSType|WebGPU::Direct::Constants/WGPUSType>)

=back

=head1 WebGPU::Direct::ChainedStructOut

=head2 Attributes

=over

=item next (L<WebGPU::Direct::ChainedStructOut|WebGPU::Direct::Types/WebGPU::Direct::ChainedStructOut>)

=item sType (L<WGPUSType|WebGPU::Direct::Constants/WGPUSType>)

=back

=head1 WebGPU::Direct::AdapterProperties

=head2 Attributes

=over

=item nextInChain (L<WebGPU::Direct::ChainedStructOut|WebGPU::Direct::Types/WebGPU::Direct::ChainedStructOut>)

=item vendorID (uint32_t)

=item vendorName (char)

=item architecture (char)

=item deviceID (uint32_t)

=item name (char)

=item driverDescription (char)

=item adapterType (L<WGPUAdapterType|WebGPU::Direct::Constants/WGPUAdapterType>)

=item backendType (L<WGPUBackendType|WebGPU::Direct::Constants/WGPUBackendType>)

=back

=head1 WebGPU::Direct::BindGroupEntry

=head2 Attributes

=over

=item nextInChain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item binding (uint32_t)

=item buffer (L<WebGPU::Direct::Buffer>)

=item offset (uint64_t)

=item size (uint64_t)

=item sampler (L<WebGPU::Direct::Sampler>)

=item textureView (L<WebGPU::Direct::TextureView>)

=back

=head1 WebGPU::Direct::BlendComponent

=head2 Attributes

=over

=item operation (L<WGPUBlendOperation|WebGPU::Direct::Constants/WGPUBlendOperation>)

=item srcFactor (L<WGPUBlendFactor|WebGPU::Direct::Constants/WGPUBlendFactor>)

=item dstFactor (L<WGPUBlendFactor|WebGPU::Direct::Constants/WGPUBlendFactor>)

=back

=head1 WebGPU::Direct::BufferBindingLayout

=head2 Attributes

=over

=item nextInChain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item type (L<WGPUBufferBindingType|WebGPU::Direct::Constants/WGPUBufferBindingType>)

=item hasDynamicOffset (WGPUBool)

=item minBindingSize (uint64_t)

=back

=head1 WebGPU::Direct::BufferDescriptor

=head2 Attributes

=over

=item nextInChain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item label (char)

=item usage (WGPUBufferUsageFlags)

=item size (uint64_t)

=item mappedAtCreation (WGPUBool)

=back

=head1 WebGPU::Direct::Color

=head2 Attributes

=over

=item r (double)

=item g (double)

=item b (double)

=item a (double)

=back

=head1 WebGPU::Direct::CommandBufferDescriptor

=head2 Attributes

=over

=item nextInChain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item label (char)

=back

=head1 WebGPU::Direct::CommandEncoderDescriptor

=head2 Attributes

=over

=item nextInChain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item label (char)

=back

=head1 WebGPU::Direct::CompilationMessage

=head2 Attributes

=over

=item nextInChain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item message (char)

=item type (L<WGPUCompilationMessageType|WebGPU::Direct::Constants/WGPUCompilationMessageType>)

=item lineNum (uint64_t)

=item linePos (uint64_t)

=item offset (uint64_t)

=item length (uint64_t)

=item utf16LinePos (uint64_t)

=item utf16Offset (uint64_t)

=item utf16Length (uint64_t)

=back

=head1 WebGPU::Direct::ComputePassTimestampWrites

=head2 Attributes

=over

=item querySet (L<WebGPU::Direct::QuerySet>)

=item beginningOfPassWriteIndex (uint32_t)

=item endOfPassWriteIndex (uint32_t)

=back

=head1 WebGPU::Direct::ConstantEntry

=head2 Attributes

=over

=item nextInChain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item key (char)

=item value (double)

=back

=head1 WebGPU::Direct::Extent3D

=head2 Attributes

=over

=item width (uint32_t)

=item height (uint32_t)

=item depthOrArrayLayers (uint32_t)

=back

=head1 WebGPU::Direct::InstanceDescriptor

=head2 Attributes

=over

=item nextInChain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=back

=head1 WebGPU::Direct::Limits

=head2 Attributes

=over

=item maxTextureDimension1D (uint32_t)

=item maxTextureDimension2D (uint32_t)

=item maxTextureDimension3D (uint32_t)

=item maxTextureArrayLayers (uint32_t)

=item maxBindGroups (uint32_t)

=item maxBindGroupsPlusVertexBuffers (uint32_t)

=item maxBindingsPerBindGroup (uint32_t)

=item maxDynamicUniformBuffersPerPipelineLayout (uint32_t)

=item maxDynamicStorageBuffersPerPipelineLayout (uint32_t)

=item maxSampledTexturesPerShaderStage (uint32_t)

=item maxSamplersPerShaderStage (uint32_t)

=item maxStorageBuffersPerShaderStage (uint32_t)

=item maxStorageTexturesPerShaderStage (uint32_t)

=item maxUniformBuffersPerShaderStage (uint32_t)

=item maxUniformBufferBindingSize (uint64_t)

=item maxStorageBufferBindingSize (uint64_t)

=item minUniformBufferOffsetAlignment (uint32_t)

=item minStorageBufferOffsetAlignment (uint32_t)

=item maxVertexBuffers (uint32_t)

=item maxBufferSize (uint64_t)

=item maxVertexAttributes (uint32_t)

=item maxVertexBufferArrayStride (uint32_t)

=item maxInterStageShaderComponents (uint32_t)

=item maxInterStageShaderVariables (uint32_t)

=item maxColorAttachments (uint32_t)

=item maxColorAttachmentBytesPerSample (uint32_t)

=item maxComputeWorkgroupStorageSize (uint32_t)

=item maxComputeInvocationsPerWorkgroup (uint32_t)

=item maxComputeWorkgroupSizeX (uint32_t)

=item maxComputeWorkgroupSizeY (uint32_t)

=item maxComputeWorkgroupSizeZ (uint32_t)

=item maxComputeWorkgroupsPerDimension (uint32_t)

=back

=head1 WebGPU::Direct::MultisampleState

=head2 Attributes

=over

=item nextInChain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item count (uint32_t)

=item mask (uint32_t)

=item alphaToCoverageEnabled (WGPUBool)

=back

=head1 WebGPU::Direct::Origin3D

=head2 Attributes

=over

=item x (uint32_t)

=item y (uint32_t)

=item z (uint32_t)

=back

=head1 WebGPU::Direct::PipelineLayoutDescriptor

=head2 Attributes

=over

=item nextInChain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item label (char)

=item bindGroupLayoutCount (size_t)

=item bindGroupLayouts (L<WebGPU::Direct::BindGroupLayout>)

=back

=head1 WebGPU::Direct::PrimitiveDepthClipControl

=head2 Attributes

=over

=item chain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item unclippedDepth (WGPUBool)

=back

=head1 WebGPU::Direct::PrimitiveState

=head2 Attributes

=over

=item nextInChain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item topology (L<WGPUPrimitiveTopology|WebGPU::Direct::Constants/WGPUPrimitiveTopology>)

=item stripIndexFormat (L<WGPUIndexFormat|WebGPU::Direct::Constants/WGPUIndexFormat>)

=item frontFace (L<WGPUFrontFace|WebGPU::Direct::Constants/WGPUFrontFace>)

=item cullMode (L<WGPUCullMode|WebGPU::Direct::Constants/WGPUCullMode>)

=back

=head1 WebGPU::Direct::QuerySetDescriptor

=head2 Attributes

=over

=item nextInChain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item label (char)

=item type (L<WGPUQueryType|WebGPU::Direct::Constants/WGPUQueryType>)

=item count (uint32_t)

=back

=head1 WebGPU::Direct::QueueDescriptor

=head2 Attributes

=over

=item nextInChain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item label (char)

=back

=head1 WebGPU::Direct::RenderBundleDescriptor

=head2 Attributes

=over

=item nextInChain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item label (char)

=back

=head1 WebGPU::Direct::RenderBundleEncoderDescriptor

=head2 Attributes

=over

=item nextInChain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item label (char)

=item colorFormatCount (size_t)

=item colorFormats (L<WGPUTextureFormat|WebGPU::Direct::Constants/WGPUTextureFormat>)

=item depthStencilFormat (L<WGPUTextureFormat|WebGPU::Direct::Constants/WGPUTextureFormat>)

=item sampleCount (uint32_t)

=item depthReadOnly (WGPUBool)

=item stencilReadOnly (WGPUBool)

=back

=head1 WebGPU::Direct::RenderPassDepthStencilAttachment

=head2 Attributes

=over

=item view (L<WebGPU::Direct::TextureView>)

=item depthLoadOp (L<WGPULoadOp|WebGPU::Direct::Constants/WGPULoadOp>)

=item depthStoreOp (L<WGPUStoreOp|WebGPU::Direct::Constants/WGPUStoreOp>)

=item depthClearValue (float)

=item depthReadOnly (WGPUBool)

=item stencilLoadOp (L<WGPULoadOp|WebGPU::Direct::Constants/WGPULoadOp>)

=item stencilStoreOp (L<WGPUStoreOp|WebGPU::Direct::Constants/WGPUStoreOp>)

=item stencilClearValue (uint32_t)

=item stencilReadOnly (WGPUBool)

=back

=head1 WebGPU::Direct::RenderPassDescriptorMaxDrawCount

=head2 Attributes

=over

=item chain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item maxDrawCount (uint64_t)

=back

=head1 WebGPU::Direct::RenderPassTimestampWrites

=head2 Attributes

=over

=item querySet (L<WebGPU::Direct::QuerySet>)

=item beginningOfPassWriteIndex (uint32_t)

=item endOfPassWriteIndex (uint32_t)

=back

=head1 WebGPU::Direct::RequestAdapterOptions

=head2 Attributes

=over

=item nextInChain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item compatibleSurface (L<WebGPU::Direct::Surface>)

=item powerPreference (L<WGPUPowerPreference|WebGPU::Direct::Constants/WGPUPowerPreference>)

=item backendType (L<WGPUBackendType|WebGPU::Direct::Constants/WGPUBackendType>)

=item forceFallbackAdapter (WGPUBool)

=back

=head1 WebGPU::Direct::SamplerBindingLayout

=head2 Attributes

=over

=item nextInChain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item type (L<WGPUSamplerBindingType|WebGPU::Direct::Constants/WGPUSamplerBindingType>)

=back

=head1 WebGPU::Direct::SamplerDescriptor

=head2 Attributes

=over

=item nextInChain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item label (char)

=item addressModeU (L<WGPUAddressMode|WebGPU::Direct::Constants/WGPUAddressMode>)

=item addressModeV (L<WGPUAddressMode|WebGPU::Direct::Constants/WGPUAddressMode>)

=item addressModeW (L<WGPUAddressMode|WebGPU::Direct::Constants/WGPUAddressMode>)

=item magFilter (L<WGPUFilterMode|WebGPU::Direct::Constants/WGPUFilterMode>)

=item minFilter (L<WGPUFilterMode|WebGPU::Direct::Constants/WGPUFilterMode>)

=item mipmapFilter (L<WGPUMipmapFilterMode|WebGPU::Direct::Constants/WGPUMipmapFilterMode>)

=item lodMinClamp (float)

=item lodMaxClamp (float)

=item compare (L<WGPUCompareFunction|WebGPU::Direct::Constants/WGPUCompareFunction>)

=item maxAnisotropy (uint16_t)

=back

=head1 WebGPU::Direct::ShaderModuleCompilationHint

=head2 Attributes

=over

=item nextInChain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item entryPoint (char)

=item layout (L<WebGPU::Direct::PipelineLayout>)

=back

=head1 WebGPU::Direct::ShaderModuleSPIRVDescriptor

=head2 Attributes

=over

=item chain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item codeSize (uint32_t)

=item code (uint32_t)

=back

=head1 WebGPU::Direct::ShaderModuleWGSLDescriptor

=head2 Attributes

=over

=item chain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item code (char)

=back

=head1 WebGPU::Direct::StencilFaceState

=head2 Attributes

=over

=item compare (L<WGPUCompareFunction|WebGPU::Direct::Constants/WGPUCompareFunction>)

=item failOp (L<WGPUStencilOperation|WebGPU::Direct::Constants/WGPUStencilOperation>)

=item depthFailOp (L<WGPUStencilOperation|WebGPU::Direct::Constants/WGPUStencilOperation>)

=item passOp (L<WGPUStencilOperation|WebGPU::Direct::Constants/WGPUStencilOperation>)

=back

=head1 WebGPU::Direct::StorageTextureBindingLayout

=head2 Attributes

=over

=item nextInChain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item access (L<WGPUStorageTextureAccess|WebGPU::Direct::Constants/WGPUStorageTextureAccess>)

=item format (L<WGPUTextureFormat|WebGPU::Direct::Constants/WGPUTextureFormat>)

=item viewDimension (L<WGPUTextureViewDimension|WebGPU::Direct::Constants/WGPUTextureViewDimension>)

=back

=head1 WebGPU::Direct::SurfaceCapabilities

=head2 Attributes

=over

=item nextInChain (L<WebGPU::Direct::ChainedStructOut|WebGPU::Direct::Types/WebGPU::Direct::ChainedStructOut>)

=item formatCount (size_t)

=item formats (L<WGPUTextureFormat|WebGPU::Direct::Constants/WGPUTextureFormat>)

=item presentModeCount (size_t)

=item presentModes (L<WGPUPresentMode|WebGPU::Direct::Constants/WGPUPresentMode>)

=item alphaModeCount (size_t)

=item alphaModes (L<WGPUCompositeAlphaMode|WebGPU::Direct::Constants/WGPUCompositeAlphaMode>)

=back

=head1 WebGPU::Direct::SurfaceConfiguration

=head2 Attributes

=over

=item nextInChain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item device (L<WebGPU::Direct::Device>)

=item format (L<WGPUTextureFormat|WebGPU::Direct::Constants/WGPUTextureFormat>)

=item usage (WGPUTextureUsageFlags)

=item viewFormatCount (size_t)

=item viewFormats (L<WGPUTextureFormat|WebGPU::Direct::Constants/WGPUTextureFormat>)

=item alphaMode (L<WGPUCompositeAlphaMode|WebGPU::Direct::Constants/WGPUCompositeAlphaMode>)

=item width (uint32_t)

=item height (uint32_t)

=item presentMode (L<WGPUPresentMode|WebGPU::Direct::Constants/WGPUPresentMode>)

=back

=head1 WebGPU::Direct::SurfaceDescriptor

=head2 Attributes

=over

=item nextInChain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item label (char)

=back

=head1 WebGPU::Direct::SurfaceDescriptorFromAndroidNativeWindow

=head2 Attributes

=over

=item chain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item window (void)

=back

=head1 WebGPU::Direct::SurfaceDescriptorFromCanvasHTMLSelector

=head2 Attributes

=over

=item chain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item selector (char)

=back

=head1 WebGPU::Direct::SurfaceDescriptorFromMetalLayer

=head2 Attributes

=over

=item chain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item layer (void)

=back

=head1 WebGPU::Direct::SurfaceDescriptorFromWaylandSurface

=head2 Attributes

=over

=item chain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item display (void)

=item surface (void)

=back

=head1 WebGPU::Direct::SurfaceDescriptorFromWindowsHWND

=head2 Attributes

=over

=item chain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item hinstance (void)

=item hwnd (void)

=back

=head1 WebGPU::Direct::SurfaceDescriptorFromXcbWindow

=head2 Attributes

=over

=item chain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item connection (void)

=item window (uint32_t)

=back

=head1 WebGPU::Direct::SurfaceDescriptorFromXlibWindow

=head2 Attributes

=over

=item chain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item display (void)

=item window (uint64_t)

=back

=head1 WebGPU::Direct::SurfaceTexture

=head2 Attributes

=over

=item texture (L<WebGPU::Direct::Texture>)

=item suboptimal (WGPUBool)

=item status (L<WGPUSurfaceGetCurrentTextureStatus|WebGPU::Direct::Constants/WGPUSurfaceGetCurrentTextureStatus>)

=back

=head1 WebGPU::Direct::TextureBindingLayout

=head2 Attributes

=over

=item nextInChain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item sampleType (L<WGPUTextureSampleType|WebGPU::Direct::Constants/WGPUTextureSampleType>)

=item viewDimension (L<WGPUTextureViewDimension|WebGPU::Direct::Constants/WGPUTextureViewDimension>)

=item multisampled (WGPUBool)

=back

=head1 WebGPU::Direct::TextureDataLayout

=head2 Attributes

=over

=item nextInChain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item offset (uint64_t)

=item bytesPerRow (uint32_t)

=item rowsPerImage (uint32_t)

=back

=head1 WebGPU::Direct::TextureViewDescriptor

=head2 Attributes

=over

=item nextInChain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item label (char)

=item format (L<WGPUTextureFormat|WebGPU::Direct::Constants/WGPUTextureFormat>)

=item dimension (L<WGPUTextureViewDimension|WebGPU::Direct::Constants/WGPUTextureViewDimension>)

=item baseMipLevel (uint32_t)

=item mipLevelCount (uint32_t)

=item baseArrayLayer (uint32_t)

=item arrayLayerCount (uint32_t)

=item aspect (L<WGPUTextureAspect|WebGPU::Direct::Constants/WGPUTextureAspect>)

=back

=head1 WebGPU::Direct::VertexAttribute

=head2 Attributes

=over

=item format (L<WGPUVertexFormat|WebGPU::Direct::Constants/WGPUVertexFormat>)

=item offset (uint64_t)

=item shaderLocation (uint32_t)

=back

=head1 WebGPU::Direct::BindGroupDescriptor

=head2 Attributes

=over

=item nextInChain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item label (char)

=item layout (L<WebGPU::Direct::BindGroupLayout>)

=item entryCount (size_t)

=item entries (L<WebGPU::Direct::BindGroupEntry|WebGPU::Direct::Types/WebGPU::Direct::BindGroupEntry>)

=back

=head1 WebGPU::Direct::BindGroupLayoutEntry

=head2 Attributes

=over

=item nextInChain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item binding (uint32_t)

=item visibility (WGPUShaderStageFlags)

=item buffer (L<WebGPU::Direct::BufferBindingLayout|WebGPU::Direct::Types/WebGPU::Direct::BufferBindingLayout>)

=item sampler (L<WebGPU::Direct::SamplerBindingLayout|WebGPU::Direct::Types/WebGPU::Direct::SamplerBindingLayout>)

=item texture (L<WebGPU::Direct::TextureBindingLayout|WebGPU::Direct::Types/WebGPU::Direct::TextureBindingLayout>)

=item storageTexture (L<WebGPU::Direct::StorageTextureBindingLayout|WebGPU::Direct::Types/WebGPU::Direct::StorageTextureBindingLayout>)

=back

=head1 WebGPU::Direct::BlendState

=head2 Attributes

=over

=item color (L<WebGPU::Direct::BlendComponent|WebGPU::Direct::Types/WebGPU::Direct::BlendComponent>)

=item alpha (L<WebGPU::Direct::BlendComponent|WebGPU::Direct::Types/WebGPU::Direct::BlendComponent>)

=back

=head1 WebGPU::Direct::CompilationInfo

=head2 Attributes

=over

=item nextInChain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item messageCount (size_t)

=item messages (L<WebGPU::Direct::CompilationMessage|WebGPU::Direct::Types/WebGPU::Direct::CompilationMessage>)

=back

=head1 WebGPU::Direct::ComputePassDescriptor

=head2 Attributes

=over

=item nextInChain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item label (char)

=item timestampWrites (L<WebGPU::Direct::ComputePassTimestampWrites|WebGPU::Direct::Types/WebGPU::Direct::ComputePassTimestampWrites>)

=back

=head1 WebGPU::Direct::DepthStencilState

=head2 Attributes

=over

=item nextInChain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item format (L<WGPUTextureFormat|WebGPU::Direct::Constants/WGPUTextureFormat>)

=item depthWriteEnabled (WGPUBool)

=item depthCompare (L<WGPUCompareFunction|WebGPU::Direct::Constants/WGPUCompareFunction>)

=item stencilFront (L<WebGPU::Direct::StencilFaceState|WebGPU::Direct::Types/WebGPU::Direct::StencilFaceState>)

=item stencilBack (L<WebGPU::Direct::StencilFaceState|WebGPU::Direct::Types/WebGPU::Direct::StencilFaceState>)

=item stencilReadMask (uint32_t)

=item stencilWriteMask (uint32_t)

=item depthBias (int32_t)

=item depthBiasSlopeScale (float)

=item depthBiasClamp (float)

=back

=head1 WebGPU::Direct::ImageCopyBuffer

=head2 Attributes

=over

=item nextInChain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item layout (L<WebGPU::Direct::TextureDataLayout|WebGPU::Direct::Types/WebGPU::Direct::TextureDataLayout>)

=item buffer (L<WebGPU::Direct::Buffer>)

=back

=head1 WebGPU::Direct::ImageCopyTexture

=head2 Attributes

=over

=item nextInChain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item texture (L<WebGPU::Direct::Texture>)

=item mipLevel (uint32_t)

=item origin (L<WebGPU::Direct::Origin3D|WebGPU::Direct::Types/WebGPU::Direct::Origin3D>)

=item aspect (L<WGPUTextureAspect|WebGPU::Direct::Constants/WGPUTextureAspect>)

=back

=head1 WebGPU::Direct::ProgrammableStageDescriptor

=head2 Attributes

=over

=item nextInChain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item module (L<WebGPU::Direct::ShaderModule>)

=item entryPoint (char)

=item constantCount (size_t)

=item constants (L<WebGPU::Direct::ConstantEntry|WebGPU::Direct::Types/WebGPU::Direct::ConstantEntry>)

=back

=head1 WebGPU::Direct::RenderPassColorAttachment

=head2 Attributes

=over

=item nextInChain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item view (L<WebGPU::Direct::TextureView>)

=item resolveTarget (L<WebGPU::Direct::TextureView>)

=item loadOp (L<WGPULoadOp|WebGPU::Direct::Constants/WGPULoadOp>)

=item storeOp (L<WGPUStoreOp|WebGPU::Direct::Constants/WGPUStoreOp>)

=item clearValue (L<WebGPU::Direct::Color|WebGPU::Direct::Types/WebGPU::Direct::Color>)

=back

=head1 WebGPU::Direct::RequiredLimits

=head2 Attributes

=over

=item nextInChain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item limits (L<WebGPU::Direct::Limits|WebGPU::Direct::Types/WebGPU::Direct::Limits>)

=back

=head1 WebGPU::Direct::ShaderModuleDescriptor

=head2 Attributes

=over

=item nextInChain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item label (char)

=item hintCount (size_t)

=item hints (L<WebGPU::Direct::ShaderModuleCompilationHint|WebGPU::Direct::Types/WebGPU::Direct::ShaderModuleCompilationHint>)

=back

=head1 WebGPU::Direct::SupportedLimits

=head2 Attributes

=over

=item nextInChain (L<WebGPU::Direct::ChainedStructOut|WebGPU::Direct::Types/WebGPU::Direct::ChainedStructOut>)

=item limits (L<WebGPU::Direct::Limits|WebGPU::Direct::Types/WebGPU::Direct::Limits>)

=back

=head1 WebGPU::Direct::TextureDescriptor

=head2 Attributes

=over

=item nextInChain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item label (char)

=item usage (WGPUTextureUsageFlags)

=item dimension (L<WGPUTextureDimension|WebGPU::Direct::Constants/WGPUTextureDimension>)

=item size (L<WebGPU::Direct::Extent3D|WebGPU::Direct::Types/WebGPU::Direct::Extent3D>)

=item format (L<WGPUTextureFormat|WebGPU::Direct::Constants/WGPUTextureFormat>)

=item mipLevelCount (uint32_t)

=item sampleCount (uint32_t)

=item viewFormatCount (size_t)

=item viewFormats (L<WGPUTextureFormat|WebGPU::Direct::Constants/WGPUTextureFormat>)

=back

=head1 WebGPU::Direct::VertexBufferLayout

=head2 Attributes

=over

=item arrayStride (uint64_t)

=item stepMode (L<WGPUVertexStepMode|WebGPU::Direct::Constants/WGPUVertexStepMode>)

=item attributeCount (size_t)

=item attributes (L<WebGPU::Direct::VertexAttribute|WebGPU::Direct::Types/WebGPU::Direct::VertexAttribute>)

=back

=head1 WebGPU::Direct::BindGroupLayoutDescriptor

=head2 Attributes

=over

=item nextInChain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item label (char)

=item entryCount (size_t)

=item entries (L<WebGPU::Direct::BindGroupLayoutEntry|WebGPU::Direct::Types/WebGPU::Direct::BindGroupLayoutEntry>)

=back

=head1 WebGPU::Direct::ColorTargetState

=head2 Attributes

=over

=item nextInChain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item format (L<WGPUTextureFormat|WebGPU::Direct::Constants/WGPUTextureFormat>)

=item blend (L<WebGPU::Direct::BlendState|WebGPU::Direct::Types/WebGPU::Direct::BlendState>)

=item writeMask (WGPUColorWriteMaskFlags)

=back

=head1 WebGPU::Direct::ComputePipelineDescriptor

=head2 Attributes

=over

=item nextInChain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item label (char)

=item layout (L<WebGPU::Direct::PipelineLayout>)

=item compute (L<WebGPU::Direct::ProgrammableStageDescriptor|WebGPU::Direct::Types/WebGPU::Direct::ProgrammableStageDescriptor>)

=back

=head1 WebGPU::Direct::DeviceDescriptor

=head2 Attributes

=over

=item nextInChain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item label (char)

=item requiredFeatureCount (size_t)

=item requiredFeatures (L<WGPUFeatureName|WebGPU::Direct::Constants/WGPUFeatureName>)

=item requiredLimits (L<WebGPU::Direct::RequiredLimits|WebGPU::Direct::Types/WebGPU::Direct::RequiredLimits>)

=item defaultQueue (L<WebGPU::Direct::QueueDescriptor|WebGPU::Direct::Types/WebGPU::Direct::QueueDescriptor>)

=item deviceLostCallback (void)

=item deviceLostUserdata (void)

=back

=head1 WebGPU::Direct::RenderPassDescriptor

=head2 Attributes

=over

=item nextInChain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item label (char)

=item colorAttachmentCount (size_t)

=item colorAttachments (L<WebGPU::Direct::RenderPassColorAttachment|WebGPU::Direct::Types/WebGPU::Direct::RenderPassColorAttachment>)

=item depthStencilAttachment (L<WebGPU::Direct::RenderPassDepthStencilAttachment|WebGPU::Direct::Types/WebGPU::Direct::RenderPassDepthStencilAttachment>)

=item occlusionQuerySet (L<WebGPU::Direct::QuerySet>)

=item timestampWrites (L<WebGPU::Direct::RenderPassTimestampWrites|WebGPU::Direct::Types/WebGPU::Direct::RenderPassTimestampWrites>)

=back

=head1 WebGPU::Direct::VertexState

=head2 Attributes

=over

=item nextInChain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item module (L<WebGPU::Direct::ShaderModule>)

=item entryPoint (char)

=item constantCount (size_t)

=item constants (L<WebGPU::Direct::ConstantEntry|WebGPU::Direct::Types/WebGPU::Direct::ConstantEntry>)

=item bufferCount (size_t)

=item buffers (L<WebGPU::Direct::VertexBufferLayout|WebGPU::Direct::Types/WebGPU::Direct::VertexBufferLayout>)

=back

=head1 WebGPU::Direct::FragmentState

=head2 Attributes

=over

=item nextInChain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item module (L<WebGPU::Direct::ShaderModule>)

=item entryPoint (char)

=item constantCount (size_t)

=item constants (L<WebGPU::Direct::ConstantEntry|WebGPU::Direct::Types/WebGPU::Direct::ConstantEntry>)

=item targetCount (size_t)

=item targets (L<WebGPU::Direct::ColorTargetState|WebGPU::Direct::Types/WebGPU::Direct::ColorTargetState>)

=back

=head1 WebGPU::Direct::RenderPipelineDescriptor

=head2 Attributes

=over

=item nextInChain (L<WebGPU::Direct::ChainedStruct|WebGPU::Direct::Types/WebGPU::Direct::ChainedStruct>)

=item label (char)

=item layout (L<WebGPU::Direct::PipelineLayout>)

=item vertex (L<WebGPU::Direct::VertexState|WebGPU::Direct::Types/WebGPU::Direct::VertexState>)

=item primitive (L<WebGPU::Direct::PrimitiveState|WebGPU::Direct::Types/WebGPU::Direct::PrimitiveState>)

=item depthStencil (L<WebGPU::Direct::DepthStencilState|WebGPU::Direct::Types/WebGPU::Direct::DepthStencilState>)

=item multisample (L<WebGPU::Direct::MultisampleState|WebGPU::Direct::Types/WebGPU::Direct::MultisampleState>)

=item fragment (L<WebGPU::Direct::FragmentState|WebGPU::Direct::Types/WebGPU::Direct::FragmentState>)

=back

