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.

Bindings

sampler_linear_clamp

#
@group(0)
@binding(0)
var sampler_linear_clamp: sampler

constants

#
@group(0)
@binding(1)
var<uniform> constants: Constants

mip_0

#
Active when
COMBINE_BIND_GROUP
@group(0)
@binding(2)
var mip_0: texture_2d_array<f32>
Active when
FIRST_PASS
@group(0)
@binding(2)
var mip_0: texture_2d_array<f32>

mip_1

#
Active when
COMBINE_BIND_GROUP
@group(0)
@binding(3)
var mip_1: texture_storage_2d_array<rgba16float, write>
Active when
FIRST_PASS
@group(0)
@binding(3)
var mip_1: texture_storage_2d_array<rgba16float, write>

mip_2

#
Active when
COMBINE_BIND_GROUP
@group(0)
@binding(4)
var mip_2: texture_storage_2d_array<rgba16float, write>
Active when
FIRST_PASS
@group(0)
@binding(4)
var mip_2: texture_storage_2d_array<rgba16float, write>

mip_3

#
Active when
COMBINE_BIND_GROUP
@group(0)
@binding(5)
var mip_3: texture_storage_2d_array<rgba16float, write>
Active when
FIRST_PASS
@group(0)
@binding(5)
var mip_3: texture_storage_2d_array<rgba16float, write>

mip_4

#
Active when
COMBINE_BIND_GROUP
@group(0)
@binding(6)
var mip_4: texture_storage_2d_array<rgba16float, write>
Active when
FIRST_PASS
@group(0)
@binding(6)
var mip_4: texture_storage_2d_array<rgba16float, write>

mip_5

#
Active when
COMBINE_BIND_GROUP
@group(0)
@binding(7)
var mip_5: texture_storage_2d_array<rgba16float, write>
Active when
FIRST_PASS
@group(0)
@binding(7)
var mip_5: texture_storage_2d_array<rgba16float, write>

mip_6

#
Active when
COMBINE_BIND_GROUP
@group(0)
@binding(8)
var mip_6: texture_storage_2d_array<rgba16float, read_write>
Active when
FIRST_PASS
@group(0)
@binding(8)
var mip_6: texture_storage_2d_array<rgba16float, write>
Active when
SECOND_PASS
@group(0)
@binding(2)
var mip_6: texture_2d_array<f32>

mip_7

#
Active when
COMBINE_BIND_GROUP
@group(0)
@binding(9)
var mip_7: texture_storage_2d_array<rgba16float, write>
Active when
SECOND_PASS
@group(0)
@binding(3)
var mip_7: texture_storage_2d_array<rgba16float, write>

mip_8

#
Active when
COMBINE_BIND_GROUP
@group(0)
@binding(10)
var mip_8: texture_storage_2d_array<rgba16float, write>
Active when
SECOND_PASS
@group(0)
@binding(4)
var mip_8: texture_storage_2d_array<rgba16float, write>

mip_9

#
Active when
COMBINE_BIND_GROUP
@group(0)
@binding(11)
var mip_9: texture_storage_2d_array<rgba16float, write>
Active when
SECOND_PASS
@group(0)
@binding(5)
var mip_9: texture_storage_2d_array<rgba16float, write>

mip_10

#
Active when
COMBINE_BIND_GROUP
@group(0)
@binding(12)
var mip_10: texture_storage_2d_array<rgba16float, write>
Active when
SECOND_PASS
@group(0)
@binding(6)
var mip_10: texture_storage_2d_array<rgba16float, write>

mip_11

#
Active when
COMBINE_BIND_GROUP
@group(0)
@binding(13)
var mip_11: texture_storage_2d_array<rgba16float, write>
Active when
SECOND_PASS
@group(0)
@binding(7)
var mip_11: texture_storage_2d_array<rgba16float, write>

mip_12

#
Active when
COMBINE_BIND_GROUP
@group(0)
@binding(14)
var mip_12: texture_storage_2d_array<rgba16float, write>
Active when
SECOND_PASS
@group(0)
@binding(8)
var mip_12: texture_storage_2d_array<rgba16float, write>

Structures

Constants

#
struct Constants {
mips: u32,
inverse_input_size: vec2f,
}

Functions

downsample_first

#
@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 downsample_first (
@builtin(workgroup_id)
workgroup_id: vec3u,
@builtin(local_invocation_index)
local_invocation_index: u32
)

downsample_second

#
@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 downsample_second (
@builtin(workgroup_id)
workgroup_id: vec3u,
@builtin(local_invocation_index)
local_invocation_index: u32
)

spd_downsample_mips_0_1

#
fn spd_downsample_mips_0_1 (
x: u32,
y: u32,
workgroup_id: vec2u,
local_invocation_index: u32,
mips: u32,
slice: u32
)

spd_downsample_next_four

#
fn spd_downsample_next_four (
x: u32,
y: u32,
workgroup_id: vec2u,
local_invocation_index: u32,
base_mip: u32,
mips: u32,
slice: u32
)

spd_downsample_mip_2

#
fn spd_downsample_mip_2 (
x: u32,
y: u32,
workgroup_id: vec2u,
local_invocation_index: u32,
base_mip: u32,
slice: u32
)

spd_downsample_mip_3

#
fn spd_downsample_mip_3 (
x: u32,
y: u32,
workgroup_id: vec2u,
local_invocation_index: u32,
base_mip: u32,
slice: u32
)

spd_downsample_mip_4

#
fn spd_downsample_mip_4 (
x: u32,
y: u32,
workgroup_id: vec2u,
local_invocation_index: u32,
base_mip: u32,
slice: u32
)

spd_downsample_mip_5

#
fn spd_downsample_mip_5 (
x: u32,
y: u32,
workgroup_id: vec2u,
local_invocation_index: u32,
base_mip: u32,
slice: u32
)

spd_downsample_mips_6_7

#
fn spd_downsample_mips_6_7 (
x: u32,
y: u32,
mips: u32,
slice: u32
)

remap_for_wave_reduction

#
fn remap_for_wave_reduction (
a: u32
) -> vec2u

spd_reduce_load_source_image

#
fn spd_reduce_load_source_image (
uv: vec2u,
slice: u32
) -> vec4f

spd_store

#
fn spd_store (
pix: vec2u,
value: vec4f,
mip: u32,
slice: u32
)

spd_store_intermediate

#
fn spd_store_intermediate (
x: u32,
y: u32,
value: vec4f
)

spd_load_intermediate

#
fn spd_load_intermediate (
x: u32,
y: u32
) -> vec4f

spd_reduce_intermediate

#
fn spd_reduce_intermediate (
i0: vec2u,
i1: vec2u,
i2: vec2u,
i3: vec2u
) -> vec4f

spd_reduce_load_4

#
fn spd_reduce_load_4 (
i0: vec2u,
i1: vec2u,
i2: vec2u,
i3: vec2u,
slice: u32
) -> vec4f

spd_reduce_4

#
fn spd_reduce_4 (
v0: vec4f,
v1: vec4f,
v2: vec4f,
v3: vec4f
) -> vec4f

spd_reduce_quad

#
Active when
SUBGROUP_SUPPORT
fn spd_reduce_quad ( ) -> vec4f

srgb_from_linear

#
fn srgb_from_linear (
value: f32
) -> f32
Contents