Files
wgpu/tests/in/resource-binding-map.wgsl
Arman Uguray 00be08e9f8 [msl-out] Replace per_stage_map with per_entry_point_map (#2237)
The existing `per_stage_map` field of MSL backend options specifies
resource binding maps that apply to all entry points of each stage type.
It is useful to have the ability to provide a separate binding index map
for each entry point, especially when the same shader module defines
multiple entry points of the same stage kind.

This patch replaces `per_stage_map` with a new `per_entry_point_map`
option where resources are keyed by the entry-point function name.
2023-02-22 18:15:39 +01:00

24 lines
704 B
WebGPU Shading Language

@group(0) @binding(0) var t1: texture_2d<f32>;
@group(0) @binding(1) var t2: texture_2d<f32>;
@group(0) @binding(2) var s1: sampler;
@group(0) @binding(3) var s2: sampler;
@group(0) @binding(4) var<uniform> uniformOne: vec2<f32>;
@group(1) @binding(0) var<uniform> uniformTwo: vec2<f32>;
@fragment
fn entry_point_one(@builtin(position) pos: vec4<f32>) -> @location(0) vec4<f32> {
return textureSample(t1, s1, pos.xy);
}
@fragment
fn entry_point_two() -> @location(0) vec4<f32> {
return textureSample(t1, s1, uniformOne);
}
@fragment
fn entry_point_three() -> @location(0) vec4<f32> {
return textureSample(t1, s1, uniformTwo + uniformOne) +
textureSample(t2, s2, uniformOne);
}