Back home 🏡 WGSL Spec Bevy WGSL Functions

downsample_depth.wgsl

Bindings

Name Group Binding index Binding type Type Shader Def
mip_0 # 0 0 <storage, read> array<u64> 🟢 MESHLET_VISIBILITY_BUFFER_RASTER_PASS_OUTPUT
mip_0 # 0 0 <storage, read> array<u32> 🔴 MESHLET_VISIBILITY_BUFFER_RASTER_PASS_OUTPUT
mip_1 # 0 1 texture_storage_2d<r32float, write>
mip_2 # 0 2 texture_storage_2d<r32float, write>
mip_3 # 0 3 texture_storage_2d<r32float, write>
mip_4 # 0 4 texture_storage_2d<r32float, write>
mip_5 # 0 5 texture_storage_2d<r32float, write>
mip_6 # 0 6 texture_storage_2d<r32float, read_write>
mip_7 # 0 7 texture_storage_2d<r32float, write>
mip_8 # 0 8 texture_storage_2d<r32float, write>
mip_9 # 0 9 texture_storage_2d<r32float, write>
mip_10 # 0 10 texture_storage_2d<r32float, write>
mip_11 # 0 11 texture_storage_2d<r32float, write>
mip_12 # 0 12 texture_storage_2d<r32float, write>
samplr # 0 13 sampler

Structures

Constants

#
Name Type
max_mip_level u32
view_width u32

Functions

downsample_depth_first

#
@compute
fn downsample_depth_first(num_workgroups: vec3u, workgroup_id: vec3u, local_invocation_index: u32)
Parameter Type
num_workgroups vec3u
workgroup_id vec3u
local_invocation_index u32

downsample_depth_second

#
@compute
fn downsample_depth_second(local_invocation_index: u32)
Parameter Type
local_invocation_index u32

downsample_mips_0_and_1

#
fn downsample_mips_0_and_1(x: u32, y: u32, workgroup_id: vec2u, local_invocation_index: u32)
Parameter Type
x u32
y u32
workgroup_id vec2u
local_invocation_index u32

downsample_mips_2_to_5

#
fn downsample_mips_2_to_5(x: u32, y: u32, workgroup_id: vec2u, local_invocation_index: u32)
Parameter Type
x u32
y u32
workgroup_id vec2u
local_invocation_index u32

downsample_mip_2

#
fn downsample_mip_2(x: u32, y: u32, workgroup_id: vec2u, local_invocation_index: u32)
Parameter Type
x u32
y u32
workgroup_id vec2u
local_invocation_index u32

downsample_mip_3

#
fn downsample_mip_3(x: u32, y: u32, workgroup_id: vec2u, local_invocation_index: u32)
Parameter Type
x u32
y u32
workgroup_id vec2u
local_invocation_index u32

downsample_mip_4

#
fn downsample_mip_4(x: u32, y: u32, workgroup_id: vec2u, local_invocation_index: u32)
Parameter Type
x u32
y u32
workgroup_id vec2u
local_invocation_index u32

downsample_mip_5

#
fn downsample_mip_5(workgroup_id: vec2u, local_invocation_index: u32)
Parameter Type
workgroup_id vec2u
local_invocation_index u32

downsample_mips_6_and_7

#
fn downsample_mips_6_and_7(x: u32, y: u32)
Parameter Type
x u32
y u32

downsample_mips_8_to_11

#
fn downsample_mips_8_to_11(x: u32, y: u32, local_invocation_index: u32)
Parameter Type
x u32
y u32
local_invocation_index u32

downsample_mip_8

#
fn downsample_mip_8(x: u32, y: u32, local_invocation_index: u32)
Parameter Type
x u32
y u32
local_invocation_index u32

downsample_mip_9

#
fn downsample_mip_9(x: u32, y: u32, local_invocation_index: u32)
Parameter Type
x u32
y u32
local_invocation_index u32

downsample_mip_10

#
fn downsample_mip_10(x: u32, y: u32, local_invocation_index: u32)
Parameter Type
x u32
y u32
local_invocation_index u32

downsample_mip_11

#
fn downsample_mip_11(local_invocation_index: u32)
Parameter Type
local_invocation_index u32

remap_for_wave_reduction

#
fn remap_for_wave_reduction(a: u32) -> vec2u
Parameter Type
a u32
Returns: vec2u

reduce_load_mip_0

#
fn reduce_load_mip_0(tex: vec2u) -> f32
Parameter Type
tex vec2u
Returns: f32

reduce_load_mip_6

#
fn reduce_load_mip_6(tex: vec2u) -> f32
Parameter Type
tex vec2u
Returns: f32

load_mip_0

#
fn load_mip_0(x: u32, y: u32) -> f32
Parameter Type
x u32
y u32
Returns: f32

reduce_4

#
fn reduce_4(v: vec4f) -> f32
Parameter Type
v vec4f
Returns: f32