Search across packages, versions, files, declarations, and comments. Use multiple terms to narrow results (AND), and add @vertex, @fragment, or @compute to filter by shader stage.

Constants

WORKGROUP_SIZE

#
const WORKGROUP_SIZE: u32 = 256u

Bindings

allocate_uniforms_metadata

#
@group(0)
@binding(0)
var<uniform> allocate_uniforms_metadata: UniformAllocationMetadata

bin_metadata

#
@group(0)
@binding(1)
var<storage> bin_metadata: array<BinMetadata>

indirect_parameters_metadata

#
@group(0)
@binding(2)
var<storage, read_write> indirect_parameters_metadata: array<IndirectParametersMetadata>

fan_buffer

#
@group(0)
@binding(3)
var<storage, read_write> fan_buffer: array<u32>

Structures

UniformAllocationMetadata

#

Information needed to allocate MeshUniforms.

struct UniformAllocationMetadata {
batch_set_index: u32 ,
bin_count: u32 ,
first_indirect_parameters_index: u32 ,
first_output_mesh_uniform_index: u32 ,
pad: array<vec4<f32>, 15u> ,
}

Functions

allocate_local_scan

#
@compute
Runs custom parallel code on the GPU, not limited to graphics
@workgroup_size(256, 1, 1)
Defines the size of a thread group. One to three numbers: width (x), height (y), and depth (z). Missing values default to 1
fn allocate_local_scan (
@builtin(local_invocation_id)
local_id: vec3<u32>
, 
@builtin(workgroup_id)
group_id: vec3<u32>
, 
@builtin(global_invocation_id)
global_id: vec3<u32>
)

allocate_global_scan

#
@compute
Runs custom parallel code on the GPU, not limited to graphics
@workgroup_size(256, 1, 1)
Defines the size of a thread group. One to three numbers: width (x), height (y), and depth (z). Missing values default to 1
fn allocate_global_scan (
@builtin(local_invocation_id)
local_id: vec3<u32>
)

allocate_fan

#
@compute
Runs custom parallel code on the GPU, not limited to graphics
@workgroup_size(256, 1, 1)
Defines the size of a thread group. One to three numbers: width (x), height (y), and depth (z). Missing values default to 1
fn allocate_fan (
@builtin(workgroup_id)
group_id: vec3<u32>
, 
@builtin(global_invocation_id)
global_id: vec3<u32>
)

hillis_steele_scan

#
fn hillis_steele_scan (
local_id: u32
)

div_ceil

#

Divides unsigned integer a by b, rounding up.

fn div_ceil (
a: u32
, 
b: u32
) -> u32
Contents