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

mip_0

#
@if(MESHLET_VISIBILITY_BUFFER_RASTER_PASS_OUTPUT)
@group(0)
@binding(0)
var mip_0: texture_storage_2d<r64uint, read>
@elif(MESHLET)
@group(0)
@binding(0)
var mip_0: texture_storage_2d<r32uint, read>
@elif(MULTISAMPLE)
@group(0)
@binding(0)
var mip_0: texture_depth_multisampled_2d
@else()
@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 (
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
)

downsample_mip_2

#
fn downsample_mip_2 (
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
)

downsample_mip_4

#
fn downsample_mip_4 (
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
)

downsample_mips_6_and_7

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

downsample_mips_8_to_11

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

downsample_mip_8

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

downsample_mip_9

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

downsample_mip_10

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

downsample_mip_11

#
fn downsample_mip_11 (
local_invocation_index: u32
)

remap_for_wave_reduction

#
fn remap_for_wave_reduction (
a: u32
) -> 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

#

See the comments in ViewDepthPyramid::downsample_depth for more information.

fn load_mip_0 (
x: u32
, 
y: u32
) -> f32

load_mip_0_meshlet

#
fn load_mip_0_meshlet (
st: vec2<f32>
, 
shift: u32
) -> vec4<f32>

load_mip_0_single_sample

#
fn load_mip_0_single_sample (
st: vec2<f32>
, 
sample: i32
) -> f32

reduce_4

#
fn reduce_4 (
v: vec4f
) -> f32

next_power_of_two

#

If x is itself a power of two, this still returns the next power of two. This is different from Rust’s next_power_of_two function.

fn next_power_of_two (
x: u32
) -> u32
Contents