BufferBindingType

Type Alias BufferBindingType 

Source
pub type BufferBindingType = BufferBindingType;
Expand description

Buffer binding types.

Aliased Type§

pub enum BufferBindingType {
    Uniform,
    Storage {
        read_only: bool,
    },
}

Variants§

§

Uniform

A buffer for uniform values.

Example WGSL syntax:

struct Globals {
    a_uniform: vec2<f32>,
    another_uniform: vec2<f32>,
}
@group(0) @binding(0)
var<uniform> globals: Globals;

Example GLSL syntax:

layout(std140, binding = 0)
uniform Globals {
    vec2 aUniform;
    vec2 anotherUniform;
};
§

Storage

A storage buffer.

Example WGSL syntax:

@group(0) @binding(0)
var<storage, read_write> my_element: array<vec4<f32>>;

Example GLSL syntax:

layout (set=0, binding=0) buffer myStorageBuffer {
    vec4 myElement[];
};

Fields

§read_only: bool

If true, the buffer can only be read in the shader, and it:

  • may or may not be annotated with read (WGSL).
  • must be annotated with readonly (GLSL).

Example WGSL syntax:

@group(0) @binding(0)
var<storage, read> my_element: array<vec4<f32>>;

Example GLSL syntax:

layout (set=0, binding=0) readonly buffer myStorageBuffer {
    vec4 myElement[];
};