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

INVALID_KEY

#
const INVALID_KEY: u32 = 0xFFFFFFFFu

Bindings

sorting_pass_index

#
@group(3)
@binding(0)
var<uniform> sorting_pass_index: u32

sorting

#
@group(3)
@binding(1)
var<storage, read_write> sorting: SortingGlobal

status_counters

#
@group(3)
@binding(2)
var<storage, read_write> status_counters: array<array<atomic<u32>, #{RADIX_BASE}>>

draw_indirect

#
@group(3)
@binding(3)
var<storage, read_write> draw_indirect: DrawIndirect

input_entries

#
@group(3)
@binding(4)
var<storage, read_write> input_entries: array<Entry>

output_entries

#
@group(3)
@binding(5)
var<storage, read_write> output_entries: array<Entry>

Structures

SortingGlobal

#
struct SortingGlobal {
digit_histogram: array<array<atomic<u32>, #{RADIX_BASE}>, #{RADIX_DIGIT_PLACES}>,
assignment_counter: atomic<u32>,
digit_tile_head: array<atomic<u32>, #{RADIX_BASE}>,
}

Functions

radix_reset

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

radix_sort_a

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

radix_sort_b

#
@compute
Runs custom parallel code on the GPU, not limited to graphics
@workgroup_size(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 radix_sort_b (
@builtin(global_invocation_id)
gl_GlobalInvocationID: vec3<u32>
)

radix_sort_c

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