=head1 WebGPU::Direct::StringView

=over

=item * Attributes

=over

=item * data (String (char *))

=item * length (Integer (size_t))

=back

=back

=head1 WebGPU::Direct::ChainedStruct

=over

=item * Attributes

=over

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

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

=back

=back

=head1 WebGPU::Direct::ChainedStructOut

=over

=item * Attributes

=over

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

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

=back

=back

=head1 WebGPU::Direct::BufferMapCallbackInfo

=over

=item * Attributes

=over

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

=item * mode (L<WebGPU::Direct::CallbackMode|WebGPU::Direct::Constants/WebGPU::Direct::CallbackMode>)

=item * callback (WebGPU::Direct::BufferMapCallback (Code reference))

=item * userdata (Scalar (void *))

=back

=back

=head1 WebGPU::Direct::CompilationInfoCallbackInfo

=over

=item * Attributes

=over

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

=item * mode (L<WebGPU::Direct::CallbackMode|WebGPU::Direct::Constants/WebGPU::Direct::CallbackMode>)

=item * callback (WebGPU::Direct::CompilationInfoCallback (Code reference))

=item * userdata (Scalar (void *))

=back

=back

=head1 WebGPU::Direct::CreateComputePipelineAsyncCallbackInfo

=over

=item * Attributes

=over

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

=item * mode (L<WebGPU::Direct::CallbackMode|WebGPU::Direct::Constants/WebGPU::Direct::CallbackMode>)

=item * callback (WebGPU::Direct::CreateComputePipelineAsyncCallback (Code reference))

=item * userdata (Scalar (void *))

=back

=back

=head1 WebGPU::Direct::CreateRenderPipelineAsyncCallbackInfo

=over

=item * Attributes

=over

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

=item * mode (L<WebGPU::Direct::CallbackMode|WebGPU::Direct::Constants/WebGPU::Direct::CallbackMode>)

=item * callback (WebGPU::Direct::CreateRenderPipelineAsyncCallback (Code reference))

=item * userdata (Scalar (void *))

=back

=back

=head1 WebGPU::Direct::DeviceLostCallbackInfo

=over

=item * Attributes

=over

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

=item * mode (L<WebGPU::Direct::CallbackMode|WebGPU::Direct::Constants/WebGPU::Direct::CallbackMode>)

=item * callback (WebGPU::Direct::DeviceLostCallback (Code reference))

=item * userdata (Scalar (void *))

=back

=back

=head1 WebGPU::Direct::PopErrorScopeCallbackInfo

=over

=item * Attributes

=over

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

=item * mode (L<WebGPU::Direct::CallbackMode|WebGPU::Direct::Constants/WebGPU::Direct::CallbackMode>)

=item * callback (WebGPU::Direct::PopErrorScopeCallback (Code reference))

=item * userdata (Scalar (void *))

=back

=back

=head1 WebGPU::Direct::QueueWorkDoneCallbackInfo

=over

=item * Attributes

=over

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

=item * mode (L<WebGPU::Direct::CallbackMode|WebGPU::Direct::Constants/WebGPU::Direct::CallbackMode>)

=item * callback (WebGPU::Direct::QueueWorkDoneCallback (Code reference))

=item * userdata (Scalar (void *))

=back

=back

=head1 WebGPU::Direct::RequestAdapterCallbackInfo

=over

=item * Attributes

=over

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

=item * mode (L<WebGPU::Direct::CallbackMode|WebGPU::Direct::Constants/WebGPU::Direct::CallbackMode>)

=item * callback (WebGPU::Direct::RequestAdapterCallback (Code reference))

=item * userdata (Scalar (void *))

=back

=back

=head1 WebGPU::Direct::RequestDeviceCallbackInfo

=over

=item * Attributes

=over

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

=item * mode (L<WebGPU::Direct::CallbackMode|WebGPU::Direct::Constants/WebGPU::Direct::CallbackMode>)

=item * callback (WebGPU::Direct::RequestDeviceCallback (Code reference))

=item * userdata (Scalar (void *))

=back

=back

=head1 WebGPU::Direct::UncapturedErrorCallbackInfo

=over

=item * Attributes

=over

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

=item * callback (WebGPU::Direct::UncapturedErrorCallback (Code reference))

=item * userdata (Scalar (void *))

=back

=back

=head1 WebGPU::Direct::AdapterInfo

=over

=item * Attributes

=over

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

=item * vendor (L<WebGPU::Direct::StringView|WebGPU::Direct::Types/WebGPU::Direct::StringView>)

=item * architecture (L<WebGPU::Direct::StringView|WebGPU::Direct::Types/WebGPU::Direct::StringView>)

=item * device (L<WebGPU::Direct::StringView|WebGPU::Direct::Types/WebGPU::Direct::StringView>)

=item * description (L<WebGPU::Direct::StringView|WebGPU::Direct::Types/WebGPU::Direct::StringView>)

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

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

=item * vendorID (Unsigned 32bit (uint32_t))

=item * deviceID (Unsigned 32bit (uint32_t))

=back

=back

=head1 WebGPU::Direct::BindGroupEntry

=over

=item * Attributes

=over

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

=item * binding (Unsigned 32bit (uint32_t))

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

=item * offset (Unsigned 64bit (uint64_t))

=item * size (Unsigned 64bit (uint64_t))

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

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

=back

=back

=head1 WebGPU::Direct::BlendComponent

=over

=item * Attributes

=over

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

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

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

=back

=back

=head1 WebGPU::Direct::BufferBindingLayout

=over

=item * Attributes

=over

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

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

=item * hasDynamicOffset (Boolean (WGPUBool))

=item * minBindingSize (Unsigned 64bit (uint64_t))

=back

=back

=head1 WebGPU::Direct::BufferDescriptor

=over

=item * Attributes

=over

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

=item * label (L<WebGPU::Direct::StringView|WebGPU::Direct::Types/WebGPU::Direct::StringView>)

=item * usage (L<WebGPU::Direct::BufferUsage|WebGPU::Direct::Constants/WebGPU::Direct::BufferUsage>)

=item * size (Unsigned 64bit (uint64_t))

=item * mappedAtCreation (Boolean (WGPUBool))

=back

=back

=head1 WebGPU::Direct::Color

=over

=item * Attributes

=over

=item * r (Double (double))

=item * g (Double (double))

=item * b (Double (double))

=item * a (Double (double))

=back

=back

=head1 WebGPU::Direct::CommandBufferDescriptor

=over

=item * Attributes

=over

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

=item * label (L<WebGPU::Direct::StringView|WebGPU::Direct::Types/WebGPU::Direct::StringView>)

=back

=back

=head1 WebGPU::Direct::CommandEncoderDescriptor

=over

=item * Attributes

=over

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

=item * label (L<WebGPU::Direct::StringView|WebGPU::Direct::Types/WebGPU::Direct::StringView>)

=back

=back

=head1 WebGPU::Direct::CompilationMessage

=over

=item * Attributes

=over

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

=item * message (L<WebGPU::Direct::StringView|WebGPU::Direct::Types/WebGPU::Direct::StringView>)

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

=item * lineNum (Unsigned 64bit (uint64_t))

=item * linePos (Unsigned 64bit (uint64_t))

=item * offset (Unsigned 64bit (uint64_t))

=item * length (Unsigned 64bit (uint64_t))

=back

=back

=head1 WebGPU::Direct::ComputePassTimestampWrites

=over

=item * Attributes

=over

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

=item * beginningOfPassWriteIndex (Unsigned 32bit (uint32_t))

=item * endOfPassWriteIndex (Unsigned 32bit (uint32_t))

=back

=back

=head1 WebGPU::Direct::ConstantEntry

=over

=item * Attributes

=over

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

=item * key (L<WebGPU::Direct::StringView|WebGPU::Direct::Types/WebGPU::Direct::StringView>)

=item * value (Double (double))

=back

=back

=head1 WebGPU::Direct::Extent3D

=over

=item * Attributes

=over

=item * width (Unsigned 32bit (uint32_t))

=item * height (Unsigned 32bit (uint32_t))

=item * depthOrArrayLayers (Unsigned 32bit (uint32_t))

=back

=back

=head1 WebGPU::Direct::Future

=over

=item * Attributes

=over

=item * id (Unsigned 64bit (uint64_t))

=back

=back

=head1 WebGPU::Direct::InstanceCapabilities

=over

=item * Attributes

=over

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

=item * timedWaitAnyEnable (Boolean (WGPUBool))

=item * timedWaitAnyMaxCount (Integer (size_t))

=back

=back

=head1 WebGPU::Direct::Limits

=over

=item * Attributes

=over

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

=item * maxTextureDimension1D (Unsigned 32bit (uint32_t))

=item * maxTextureDimension2D (Unsigned 32bit (uint32_t))

=item * maxTextureDimension3D (Unsigned 32bit (uint32_t))

=item * maxTextureArrayLayers (Unsigned 32bit (uint32_t))

=item * maxBindGroups (Unsigned 32bit (uint32_t))

=item * maxBindGroupsPlusVertexBuffers (Unsigned 32bit (uint32_t))

=item * maxBindingsPerBindGroup (Unsigned 32bit (uint32_t))

=item * maxDynamicUniformBuffersPerPipelineLayout (Unsigned 32bit (uint32_t))

=item * maxDynamicStorageBuffersPerPipelineLayout (Unsigned 32bit (uint32_t))

=item * maxSampledTexturesPerShaderStage (Unsigned 32bit (uint32_t))

=item * maxSamplersPerShaderStage (Unsigned 32bit (uint32_t))

=item * maxStorageBuffersPerShaderStage (Unsigned 32bit (uint32_t))

=item * maxStorageTexturesPerShaderStage (Unsigned 32bit (uint32_t))

=item * maxUniformBuffersPerShaderStage (Unsigned 32bit (uint32_t))

=item * maxUniformBufferBindingSize (Unsigned 64bit (uint64_t))

=item * maxStorageBufferBindingSize (Unsigned 64bit (uint64_t))

=item * minUniformBufferOffsetAlignment (Unsigned 32bit (uint32_t))

=item * minStorageBufferOffsetAlignment (Unsigned 32bit (uint32_t))

=item * maxVertexBuffers (Unsigned 32bit (uint32_t))

=item * maxBufferSize (Unsigned 64bit (uint64_t))

=item * maxVertexAttributes (Unsigned 32bit (uint32_t))

=item * maxVertexBufferArrayStride (Unsigned 32bit (uint32_t))

=item * maxInterStageShaderVariables (Unsigned 32bit (uint32_t))

=item * maxColorAttachments (Unsigned 32bit (uint32_t))

=item * maxColorAttachmentBytesPerSample (Unsigned 32bit (uint32_t))

=item * maxComputeWorkgroupStorageSize (Unsigned 32bit (uint32_t))

=item * maxComputeInvocationsPerWorkgroup (Unsigned 32bit (uint32_t))

=item * maxComputeWorkgroupSizeX (Unsigned 32bit (uint32_t))

=item * maxComputeWorkgroupSizeY (Unsigned 32bit (uint32_t))

=item * maxComputeWorkgroupSizeZ (Unsigned 32bit (uint32_t))

=item * maxComputeWorkgroupsPerDimension (Unsigned 32bit (uint32_t))

=back

=back

=head1 WebGPU::Direct::MultisampleState

=over

=item * Attributes

=over

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

=item * count (Unsigned 32bit (uint32_t))

=item * mask (Unsigned 32bit (uint32_t))

=item * alphaToCoverageEnabled (Boolean (WGPUBool))

=back

=back

=head1 WebGPU::Direct::Origin3D

=over

=item * Attributes

=over

=item * x (Unsigned 32bit (uint32_t))

=item * y (Unsigned 32bit (uint32_t))

=item * z (Unsigned 32bit (uint32_t))

=back

=back

=head1 WebGPU::Direct::PipelineLayoutDescriptor

=over

=item * Attributes

=over

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

=item * label (L<WebGPU::Direct::StringView|WebGPU::Direct::Types/WebGPU::Direct::StringView>)

=item * bindGroupLayoutCount (Integer (size_t))

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

=back

=back

=head1 WebGPU::Direct::PrimitiveState

=over

=item * Attributes

=over

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

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

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

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

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

=item * unclippedDepth (Boolean (WGPUBool))

=back

=back

=head1 WebGPU::Direct::QuerySetDescriptor

=over

=item * Attributes

=over

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

=item * label (L<WebGPU::Direct::StringView|WebGPU::Direct::Types/WebGPU::Direct::StringView>)

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

=item * count (Unsigned 32bit (uint32_t))

=back

=back

=head1 WebGPU::Direct::QueueDescriptor

=over

=item * Attributes

=over

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

=item * label (L<WebGPU::Direct::StringView|WebGPU::Direct::Types/WebGPU::Direct::StringView>)

=back

=back

=head1 WebGPU::Direct::RenderBundleDescriptor

=over

=item * Attributes

=over

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

=item * label (L<WebGPU::Direct::StringView|WebGPU::Direct::Types/WebGPU::Direct::StringView>)

=back

=back

=head1 WebGPU::Direct::RenderBundleEncoderDescriptor

=over

=item * Attributes

=over

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

=item * label (L<WebGPU::Direct::StringView|WebGPU::Direct::Types/WebGPU::Direct::StringView>)

=item * colorFormatCount (Integer (size_t))

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

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

=item * sampleCount (Unsigned 32bit (uint32_t))

=item * depthReadOnly (Boolean (WGPUBool))

=item * stencilReadOnly (Boolean (WGPUBool))

=back

=back

=head1 WebGPU::Direct::RenderPassDepthStencilAttachment

=over

=item * Attributes

=over

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

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

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

=item * depthClearValue (Float (float))

=item * depthReadOnly (Boolean (WGPUBool))

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

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

=item * stencilClearValue (Unsigned 32bit (uint32_t))

=item * stencilReadOnly (Boolean (WGPUBool))

=back

=back

=head1 WebGPU::Direct::RenderPassMaxDrawCount

=over

=item * Attributes

=over

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

=item * maxDrawCount (Unsigned 64bit (uint64_t))

=back

=back

=head1 WebGPU::Direct::RenderPassTimestampWrites

=over

=item * Attributes

=over

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

=item * beginningOfPassWriteIndex (Unsigned 32bit (uint32_t))

=item * endOfPassWriteIndex (Unsigned 32bit (uint32_t))

=back

=back

=head1 WebGPU::Direct::RequestAdapterOptions

=over

=item * Attributes

=over

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

=item * featureLevel (L<WebGPU::Direct::FeatureLevel|WebGPU::Direct::Constants/WebGPU::Direct::FeatureLevel>)

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

=item * forceFallbackAdapter (Boolean (WGPUBool))

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

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

=back

=back

=head1 WebGPU::Direct::SamplerBindingLayout

=over

=item * Attributes

=over

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

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

=back

=back

=head1 WebGPU::Direct::SamplerDescriptor

=over

=item * Attributes

=over

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

=item * label (L<WebGPU::Direct::StringView|WebGPU::Direct::Types/WebGPU::Direct::StringView>)

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

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

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

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

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

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

=item * lodMinClamp (Float (float))

=item * lodMaxClamp (Float (float))

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

=item * maxAnisotropy (Unsigned 16bit (uint16_t))

=back

=back

=head1 WebGPU::Direct::ShaderModuleDescriptor

=over

=item * Attributes

=over

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

=item * label (L<WebGPU::Direct::StringView|WebGPU::Direct::Types/WebGPU::Direct::StringView>)

=back

=back

=head1 WebGPU::Direct::ShaderSourceSPIRV

=over

=item * Attributes

=over

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

=item * codeSize (Unsigned 32bit (uint32_t))

=item * code (Unsigned 32bit (uint32_t))

=back

=back

=head1 WebGPU::Direct::ShaderSourceWGSL

=over

=item * Attributes

=over

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

=item * code (L<WebGPU::Direct::StringView|WebGPU::Direct::Types/WebGPU::Direct::StringView>)

=back

=back

=head1 WebGPU::Direct::StencilFaceState

=over

=item * Attributes

=over

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

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

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

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

=back

=back

=head1 WebGPU::Direct::StorageTextureBindingLayout

=over

=item * Attributes

=over

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

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

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

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

=back

=back

=head1 WebGPU::Direct::SupportedFeatures

=over

=item * Attributes

=over

=item * featureCount (Integer (size_t))

=item * features (L<WebGPU::Direct::FeatureName|WebGPU::Direct::Constants/WebGPU::Direct::FeatureName>)

=back

=back

=head1 WebGPU::Direct::SupportedWGSLLanguageFeatures

=over

=item * Attributes

=over

=item * featureCount (Integer (size_t))

=item * features (L<WebGPU::Direct::WGSLLanguageFeatureName|WebGPU::Direct::Constants/WebGPU::Direct::WGSLLanguageFeatureName>)

=back

=back

=head1 WebGPU::Direct::SurfaceCapabilities

=over

=item * Attributes

=over

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

=item * usages (L<WebGPU::Direct::TextureUsage|WebGPU::Direct::Constants/WebGPU::Direct::TextureUsage>)

=item * formatCount (Integer (size_t))

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

=item * presentModeCount (Integer (size_t))

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

=item * alphaModeCount (Integer (size_t))

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

=back

=back

=head1 WebGPU::Direct::SurfaceConfiguration

=over

=item * Attributes

=over

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

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

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

=item * usage (L<WebGPU::Direct::TextureUsage|WebGPU::Direct::Constants/WebGPU::Direct::TextureUsage>)

=item * width (Unsigned 32bit (uint32_t))

=item * height (Unsigned 32bit (uint32_t))

=item * viewFormatCount (Integer (size_t))

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

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

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

=back

=back

=head1 WebGPU::Direct::SurfaceDescriptor

=over

=item * Attributes

=over

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

=item * label (L<WebGPU::Direct::StringView|WebGPU::Direct::Types/WebGPU::Direct::StringView>)

=back

=back

=head1 WebGPU::Direct::SurfaceSourceAndroidNativeWindow

=over

=item * Attributes

=over

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

=item * window (Scalar (void *))

=back

=back

=head1 WebGPU::Direct::SurfaceSourceMetalLayer

=over

=item * Attributes

=over

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

=item * layer (Scalar (void *))

=back

=back

=head1 WebGPU::Direct::SurfaceSourceWaylandSurface

=over

=item * Attributes

=over

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

=item * display (Scalar (void *))

=item * surface (Scalar (void *))

=back

=back

=head1 WebGPU::Direct::SurfaceSourceWindowsHWND

=over

=item * Attributes

=over

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

=item * hinstance (Scalar (void *))

=item * hwnd (Scalar (void *))

=back

=back

=head1 WebGPU::Direct::SurfaceSourceXCBWindow

=over

=item * Attributes

=over

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

=item * connection (Scalar (void *))

=item * window (Unsigned 32bit (uint32_t))

=back

=back

=head1 WebGPU::Direct::SurfaceSourceXlibWindow

=over

=item * Attributes

=over

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

=item * display (Scalar (void *))

=item * window (Unsigned 64bit (uint64_t))

=back

=back

=head1 WebGPU::Direct::SurfaceTexture

=over

=item * Attributes

=over

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

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

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

=back

=back

=head1 WebGPU::Direct::TexelCopyBufferLayout

=over

=item * Attributes

=over

=item * offset (Unsigned 64bit (uint64_t))

=item * bytesPerRow (Unsigned 32bit (uint32_t))

=item * rowsPerImage (Unsigned 32bit (uint32_t))

=back

=back

=head1 WebGPU::Direct::TextureBindingLayout

=over

=item * Attributes

=over

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

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

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

=item * multisampled (Boolean (WGPUBool))

=back

=back

=head1 WebGPU::Direct::TextureViewDescriptor

=over

=item * Attributes

=over

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

=item * label (L<WebGPU::Direct::StringView|WebGPU::Direct::Types/WebGPU::Direct::StringView>)

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

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

=item * baseMipLevel (Unsigned 32bit (uint32_t))

=item * mipLevelCount (Unsigned 32bit (uint32_t))

=item * baseArrayLayer (Unsigned 32bit (uint32_t))

=item * arrayLayerCount (Unsigned 32bit (uint32_t))

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

=item * usage (L<WebGPU::Direct::TextureUsage|WebGPU::Direct::Constants/WebGPU::Direct::TextureUsage>)

=back

=back

=head1 WebGPU::Direct::VertexAttribute

=over

=item * Attributes

=over

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

=item * offset (Unsigned 64bit (uint64_t))

=item * shaderLocation (Unsigned 32bit (uint32_t))

=back

=back

=head1 WebGPU::Direct::BindGroupDescriptor

=over

=item * Attributes

=over

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

=item * label (L<WebGPU::Direct::StringView|WebGPU::Direct::Types/WebGPU::Direct::StringView>)

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

=item * entryCount (Integer (size_t))

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

=back

=back

=head1 WebGPU::Direct::BindGroupLayoutEntry

=over

=item * Attributes

=over

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

=item * binding (Unsigned 32bit (uint32_t))

=item * visibility (L<WebGPU::Direct::ShaderStage|WebGPU::Direct::Constants/WebGPU::Direct::ShaderStage>)

=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

=back

=head1 WebGPU::Direct::BlendState

=over

=item * 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

=back

=head1 WebGPU::Direct::CompilationInfo

=over

=item * Attributes

=over

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

=item * messageCount (Integer (size_t))

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

=back

=back

=head1 WebGPU::Direct::ComputePassDescriptor

=over

=item * Attributes

=over

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

=item * label (L<WebGPU::Direct::StringView|WebGPU::Direct::Types/WebGPU::Direct::StringView>)

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

=back

=back

=head1 WebGPU::Direct::DepthStencilState

=over

=item * Attributes

=over

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

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

=item * depthWriteEnabled (L<WebGPU::Direct::OptionalBool|WebGPU::Direct::Constants/WebGPU::Direct::OptionalBool>)

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

=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 (Unsigned 32bit (uint32_t))

=item * stencilWriteMask (Unsigned 32bit (uint32_t))

=item * depthBias (Signed 32bit (int32_t))

=item * depthBiasSlopeScale (Float (float))

=item * depthBiasClamp (Float (float))

=back

=back

=head1 WebGPU::Direct::DeviceDescriptor

=over

=item * Attributes

=over

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

=item * label (L<WebGPU::Direct::StringView|WebGPU::Direct::Types/WebGPU::Direct::StringView>)

=item * requiredFeatureCount (Integer (size_t))

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

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

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

=item * deviceLostCallbackInfo (L<WebGPU::Direct::DeviceLostCallbackInfo|WebGPU::Direct::Types/WebGPU::Direct::DeviceLostCallbackInfo>)

=item * uncapturedErrorCallbackInfo (L<WebGPU::Direct::UncapturedErrorCallbackInfo|WebGPU::Direct::Types/WebGPU::Direct::UncapturedErrorCallbackInfo>)

=back

=back

=head1 WebGPU::Direct::FutureWaitInfo

=over

=item * Attributes

=over

=item * future (L<WebGPU::Direct::Future|WebGPU::Direct::Types/WebGPU::Direct::Future>)

=item * completed (Boolean (WGPUBool))

=back

=back

=head1 WebGPU::Direct::InstanceDescriptor

=over

=item * Attributes

=over

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

=item * features (L<WebGPU::Direct::InstanceCapabilities|WebGPU::Direct::Types/WebGPU::Direct::InstanceCapabilities>)

=back

=back

=head1 WebGPU::Direct::ProgrammableStageDescriptor

=over

=item * Attributes

=over

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

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

=item * entryPoint (L<WebGPU::Direct::StringView|WebGPU::Direct::Types/WebGPU::Direct::StringView>)

=item * constantCount (Integer (size_t))

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

=back

=back

=head1 WebGPU::Direct::RenderPassColorAttachment

=over

=item * Attributes

=over

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

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

=item * depthSlice (Unsigned 32bit (uint32_t))

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

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

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

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

=back

=back

=head1 WebGPU::Direct::TexelCopyBufferInfo

=over

=item * Attributes

=over

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

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

=back

=back

=head1 WebGPU::Direct::TexelCopyTextureInfo

=over

=item * Attributes

=over

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

=item * mipLevel (Unsigned 32bit (uint32_t))

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

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

=back

=back

=head1 WebGPU::Direct::TextureDescriptor

=over

=item * Attributes

=over

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

=item * label (L<WebGPU::Direct::StringView|WebGPU::Direct::Types/WebGPU::Direct::StringView>)

=item * usage (L<WebGPU::Direct::TextureUsage|WebGPU::Direct::Constants/WebGPU::Direct::TextureUsage>)

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

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

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

=item * mipLevelCount (Unsigned 32bit (uint32_t))

=item * sampleCount (Unsigned 32bit (uint32_t))

=item * viewFormatCount (Integer (size_t))

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

=back

=back

=head1 WebGPU::Direct::VertexBufferLayout

=over

=item * Attributes

=over

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

=item * arrayStride (Unsigned 64bit (uint64_t))

=item * attributeCount (Integer (size_t))

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

=back

=back

=head1 WebGPU::Direct::BindGroupLayoutDescriptor

=over

=item * Attributes

=over

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

=item * label (L<WebGPU::Direct::StringView|WebGPU::Direct::Types/WebGPU::Direct::StringView>)

=item * entryCount (Integer (size_t))

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

=back

=back

=head1 WebGPU::Direct::ColorTargetState

=over

=item * Attributes

=over

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

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

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

=item * writeMask (L<WebGPU::Direct::ColorWriteMask|WebGPU::Direct::Constants/WebGPU::Direct::ColorWriteMask>)

=back

=back

=head1 WebGPU::Direct::ComputePipelineDescriptor

=over

=item * Attributes

=over

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

=item * label (L<WebGPU::Direct::StringView|WebGPU::Direct::Types/WebGPU::Direct::StringView>)

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

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

=back

=back

=head1 WebGPU::Direct::RenderPassDescriptor

=over

=item * Attributes

=over

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

=item * label (L<WebGPU::Direct::StringView|WebGPU::Direct::Types/WebGPU::Direct::StringView>)

=item * colorAttachmentCount (Integer (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

=back

=head1 WebGPU::Direct::VertexState

=over

=item * Attributes

=over

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

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

=item * entryPoint (L<WebGPU::Direct::StringView|WebGPU::Direct::Types/WebGPU::Direct::StringView>)

=item * constantCount (Integer (size_t))

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

=item * bufferCount (Integer (size_t))

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

=back

=back

=head1 WebGPU::Direct::FragmentState

=over

=item * Attributes

=over

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

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

=item * entryPoint (L<WebGPU::Direct::StringView|WebGPU::Direct::Types/WebGPU::Direct::StringView>)

=item * constantCount (Integer (size_t))

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

=item * targetCount (Integer (size_t))

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

=back

=back

=head1 WebGPU::Direct::RenderPipelineDescriptor

=over

=item * Attributes

=over

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

=item * label (L<WebGPU::Direct::StringView|WebGPU::Direct::Types/WebGPU::Direct::StringView>)

=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

=back

