Advanced search tips: use spaces to require multiple terms (AND), | for alternatives (OR), wrap phrases in quotes (="a b"), =term for exact match, 'term to include, !term to exclude, ^term to match prefix, !^term to exclude prefix, .ext$ to match suffix, and !.ext$ to exclude suffix.

downsample_depth.wgsl

Bindings

mip_0

#

Shader defs requirments:

🟢 MESHLET_VISIBILITY_BUFFER_RASTER_PASS_OUTPUT

@group(0)
@binding(0)
var mip_0: texture_storage_2d<r64uint, read>

mip_0

#

Shader defs requirments:

šŸ”“ MESHLET_VISIBILITY_BUFFER_RASTER_PASS_OUTPUT, 🟢 MESHLET

@group(0)
@binding(0)
var mip_0: texture_storage_2d<r32uint, read>

mip_0

#

Shader defs requirments:

šŸ”“ MESHLET_VISIBILITY_BUFFER_RASTER_PASS_OUTPUT, šŸ”“ MESHLET, 🟢 MULTISAMPLE

@group(0)
@binding(0)
var mip_0: texture_depth_multisampled_2d

mip_0

#

Shader defs requirments:

šŸ”“ MESHLET_VISIBILITY_BUFFER_RASTER_PASS_OUTPUT, šŸ”“ MESHLET, šŸ”“ MULTISAMPLE

@group(0)
@binding(0)
var mip_0: texture_depth_2d

mip_1

#
@group(0)
@binding(1)
var mip_1: texture_storage_2d<r32float, write>

mip_2

#
@group(0)
@binding(2)
var mip_2: texture_storage_2d<r32float, write>

mip_3

#
@group(0)
@binding(3)
var mip_3: texture_storage_2d<r32float, write>

mip_4

#
@group(0)
@binding(4)
var mip_4: texture_storage_2d<r32float, write>

mip_5

#
@group(0)
@binding(5)
var mip_5: texture_storage_2d<r32float, write>

mip_6

#
@group(0)
@binding(6)
var mip_6: texture_storage_2d<r32float, read_write>

mip_7

#
@group(0)
@binding(7)
var mip_7: texture_storage_2d<r32float, write>

mip_8

#
@group(0)
@binding(8)
var mip_8: texture_storage_2d<r32float, write>

mip_9

#
@group(0)
@binding(9)
var mip_9: texture_storage_2d<r32float, write>

mip_10

#
@group(0)
@binding(10)
var mip_10: texture_storage_2d<r32float, write>

mip_11

#
@group(0)
@binding(11)
var mip_11: texture_storage_2d<r32float, write>

mip_12

#
@group(0)
@binding(12)
var mip_12: texture_storage_2d<r32float, write>

samplr

#
@group(0)
@binding(13)
var samplr: sampler

Structures

Constants

#
struct Constants {
max_mip_level: u32 ,
}

Functions

downsample_depth_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_depth_first (
@builtin(workgroup_id)
workgroup_id: vec3u
@builtin(local_invocation_index)
local_invocation_index: u32
)

downsample_depth_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_depth_second (
@builtin(local_invocation_index)
local_invocation_index: u32
)

downsample_mips_0_and_1

#
fn downsample_mips_0_and_1 (
workgroup_id: vec2u
local_invocation_index: u32
)

downsample_mips_2_to_5

#
fn downsample_mips_2_to_5 (
workgroup_id: vec2u
local_invocation_index: u32
)

downsample_mip_2

#
fn downsample_mip_2 (
workgroup_id: vec2u
local_invocation_index: u32
)

downsample_mip_3

#
fn downsample_mip_3 (
workgroup_id: vec2u
local_invocation_index: u32
)

downsample_mip_4

#
fn downsample_mip_4 (
workgroup_id: vec2u
local_invocation_index: u32
)

downsample_mip_5

#
fn downsample_mip_5 (
workgroup_id: vec2u
local_invocation_index: u32
)

downsample_mips_6_and_7

#
fn downsample_mips_6_and_7 ( )

downsample_mips_8_to_11

#
fn downsample_mips_8_to_11 (
local_invocation_index: u32
)

downsample_mip_8

#
fn downsample_mip_8 (
local_invocation_index: u32
)

downsample_mip_9

#
fn downsample_mip_9 (
local_invocation_index: u32
)

downsample_mip_10

#
fn downsample_mip_10 (
local_invocation_index: u32
)

downsample_mip_11

#
fn downsample_mip_11 (
local_invocation_index: u32
)

remap_for_wave_reduction

#
fn remap_for_wave_reduction ( ) -> vec2u

reduce_load_mip_0

#
fn reduce_load_mip_0 (
tex: vec2u
) -> f32

reduce_load_mip_6

#
fn reduce_load_mip_6 (
tex: vec2u
) -> f32

load_mip_0

#
fn load_mip_0 ( ) -> f32

reduce_4

#
fn reduce_4 (
v: vec4f
) -> f32