Bind groups are responsible for binding render resources (e.g. buffers, textures, samplers)
to a
TrackedRenderPass
.
This makes them accessible in the pipeline (shaders) as uniforms.
Describes a group of bindings and the resources to be bound.
Helper for constructing bindgroups.
An element of a
BindGroupDescriptor
, consisting of a bindable resource
and the slot to bind it to.
Describes a single binding inside a bind group.
Helper for constructing bind group layouts.
Error occurred when trying to async map a buffer.
Describes the segment of a buffer to bind.
Describes a
Buffer when allocating.
Different ways that you can use a buffer.
Describes the color state of a render pipeline.
Color write mask. Disabled color channels will not be written to.
Encodes a series of GPU operations.
In-progress recording of a compute pass.
Describes the attachments of a compute pass.
A
ComputePipeline
represents a compute pipeline and its single shader stage.
Describes a compute pipeline.
Describes the biasing setting for the depth target.
Describes the depth/stencil state in a render pipeline.
Argument buffer layout for draw_indexed_indirect commands.
Argument buffer layout for draw_indirect commands.
Stores data to be transferred to the GPU and made accessible to shaders as a dynamic storage buffer.
Stores data to be transferred to the GPU and made accessible to shaders as a dynamic uniform buffer.
A writer that can be used to directly write elements into the target buffer.
Extent of a texture related operation.
Describes the fragment process in a render pipeline.
View of a buffer which can be used to copy to/from a texture.
View of a texture which can be used to copy to/from a buffer/texture.
Layout of a texture in a buffer’s memory.
Subresource range within an image
Describes the multi-sampling state of a render pipeline.
Pair of load and store operations for an attachment aspect.
Origin of a copy to/from a texture.
Cache for render and compute pipelines.
Advanced options for use when a pipeline is compiled
Handle to a pipeline layout.
Describes the state of primitive assembly and rasterization in a render pipeline.
A range of push constant memory to pass to a shader stage.
A structure for storing raw bytes that have already been properly formatted
for use by the GPU.
Describes a compute pipeline.
Describes the fragment processing in a render pipeline.
Describes a render (graphics) pipeline.
Describes how the vertex buffer is interpreted.
Describes the vertex processing in a render pipeline.
Describes a depth/stencil attachment to a
RenderPass
.
Describes the attachments of a render pass.
A
RenderPipeline
represents a graphics pipeline and its stages (shaders), bindings and vertex buffers.
Describes a render (graphics) pipeline.
A Sampler defines how a pipeline will sample from a
TextureView
.
They define image filters (including anisotropy) and address (wrapping) modes, among other things.
A shader, as defined by its
ShaderSource
and
ShaderStage
This is an “unprocessed” shader. It can contain preprocessor directives.
Handle to a compiled shader module.
Describes the shader stages that a binding will be visible from.
Describes stencil state in a render pipeline.
State of the stencil operation (fixed-pipeline stage).
Stores data to be transferred to the GPU and made accessible to shaders as a storage buffer.
A GPU-accessible texture.
Different ways that you can use a texture.
Describes a
Texture
with its associated metadata required by a pipeline or
BindGroup
.
Stores data to be transferred to the GPU and made accessible to shaders as a uniform buffer.
Like a
BufferVec
, but only reserves space on the GPU for elements
instead of initializing them CPU-side.
a map containing OwnedBindingResource
s, keyed by the target binding index
Vertex inputs (attributes) to shaders.
Describes how the vertex buffer is interpreted.
Information about an adapter.
Features that are not guaranteed to be supported.
Represents the sets of limits an adapter/device supports.
How edges should be handled in texture addressing.
Resource that can be bound to a pipeline.
Specific type of a binding.
Alpha blend factor.
Alpha blend operation.
Specific type of a buffer binding.
Comparison function used for depth and stencil operations.
Face of a vertex.
Texel mixing mode when sampling between texels.
Vertex winding order which classifies the “front” face of a triangle.
Stores an array of elements to be transferred to the GPU and made accessible to shaders as a read-only array.
Format of indices used with pipeline.
Operation to perform to the output attachment at the start of a render pass.
Type of buffer mapping.
An owned binding resource of any type (ex: a
Buffer
,
TextureView
, etc).
This is used by types like
PreparedBindGroup
to hold a single list of all
render resources used by bindings.
A pipeline defining the data layout and shader logic for a specific GPU task.
Type of error returned by a
PipelineCache
when the creation of a GPU pipeline object failed.
Type of drawing mode for polygons
Primitive type the input mesh is composed of.
Specific type of a sampler binding.
A reference to a shader asset.
Source of a shader module.
Stage of the programmable pipeline.
Operation to perform on the stencil value.
Specific type of a sample in a texture binding.
Operation to perform to the output attachment at the end of a render pass.
Kind of data the texture holds.
Order in which TextureData is laid out in memory.
Dimensionality of a texture.
Underlying texture data format.
Specific type of a sample in a texture binding.
Dimensions of a particular texture view.
Whether a vertex buffer is indexed by vertex or by instance.