| // crbug.com/tint/959 |
| // Test that we automatically remap resource numbers into a flat namespace for |
| // MSL. Use some high binding numbers to also test that the remapped numbers are |
| // densely packed starting at 0. |
| |
| struct S { |
| a : f32; |
| }; |
| |
| @group(0) @binding(0) var<storage> b0 : S; |
| @group(1) @binding(0) var<storage> b1 : S; |
| @group(2) @binding(0) var<storage> b2 : S; |
| @group(3) @binding(0) var<storage> b3 : S; |
| @group(4) @binding(0) var<storage> b4 : S; |
| @group(5) @binding(0) var<storage> b5 : S; |
| @group(6) @binding(0) var<storage> b6 : S; |
| @group(7) @binding(0) var<storage> b7 : S; |
| @group(9) @binding(1) var<uniform> b8 : S; |
| @group(8) @binding(1) var<uniform> b9 : S; |
| @group(10) @binding(1) var<uniform> b10 : S; |
| @group(11) @binding(1) var<uniform> b11 : S; |
| @group(12) @binding(1) var<uniform> b12 : S; |
| @group(13) @binding(1) var<uniform> b13 : S; |
| @group(14) @binding(1) var<uniform> b14 : S; |
| @group(15) @binding(1) var<uniform> b15 : S; |
| |
| @group(0) @binding(1) var t0 : texture_2d<f32>; |
| @group(1) @binding(1) var t1 : texture_2d<f32>; |
| @group(2) @binding(1) var t2 : texture_2d<f32>; |
| @group(3) @binding(1) var t3 : texture_2d<f32>; |
| @group(4) @binding(1) var t4 : texture_2d<f32>; |
| @group(5) @binding(1) var t5 : texture_2d<f32>; |
| @group(6) @binding(1) var t6 : texture_2d<f32>; |
| @group(7) @binding(1) var t7 : texture_2d<f32>; |
| @group(8) @binding(200) var t8 : texture_depth_2d; |
| @group(9) @binding(200) var t9 : texture_depth_2d; |
| @group(10) @binding(200) var t10 : texture_depth_2d; |
| @group(11) @binding(200) var t11 : texture_depth_2d; |
| @group(12) @binding(200) var t12 : texture_depth_2d; |
| @group(13) @binding(200) var t13 : texture_depth_2d; |
| @group(14) @binding(200) var t14 : texture_depth_2d; |
| @group(15) @binding(200) var t15 : texture_depth_2d; |
| |
| @group(0) @binding(200) var s0 : sampler; |
| @group(1) @binding(200) var s1 : sampler; |
| @group(2) @binding(200) var s2 : sampler; |
| @group(3) @binding(200) var s3 : sampler; |
| @group(4) @binding(200) var s4 : sampler; |
| @group(5) @binding(200) var s5 : sampler; |
| @group(6) @binding(200) var s6 : sampler; |
| @group(7) @binding(200) var s7 : sampler; |
| @group(8) @binding(300) var s8 : sampler_comparison; |
| @group(9) @binding(300) var s9 : sampler_comparison; |
| @group(10) @binding(300) var s10 : sampler_comparison; |
| @group(11) @binding(300) var s11 : sampler_comparison; |
| @group(12) @binding(300) var s12 : sampler_comparison; |
| @group(13) @binding(300) var s13 : sampler_comparison; |
| @group(14) @binding(300) var s14 : sampler_comparison; |
| @group(15) @binding(300) var s15 : sampler_comparison; |
| |
| @stage(fragment) |
| fn main() { |
| _ = b0; |
| _ = b1; |
| _ = b2; |
| _ = b3; |
| _ = b4; |
| _ = b5; |
| _ = b6; |
| _ = b7; |
| _ = b8; |
| _ = b9; |
| _ = b10; |
| _ = b11; |
| _ = b12; |
| _ = b13; |
| _ = b14; |
| _ = b15; |
| |
| _ = t0; |
| _ = t1; |
| _ = t2; |
| _ = t3; |
| _ = t4; |
| _ = t5; |
| _ = t6; |
| _ = t7; |
| _ = t8; |
| _ = t9; |
| _ = t10; |
| _ = t11; |
| _ = t12; |
| _ = t13; |
| _ = t14; |
| _ = t15; |
| |
| _ = s0; |
| _ = s1; |
| _ = s2; |
| _ = s3; |
| _ = s4; |
| _ = s5; |
| _ = s6; |
| _ = s7; |
| _ = s8; |
| _ = s9; |
| _ = s10; |
| _ = s11; |
| _ = s12; |
| _ = s13; |
| _ = s14; |
| _ = s15; |
| } |