@@ -175,6 +175,11 @@ pub struct Limits {
175175 /// Maximum value for `VertexBufferLayout::array_stride` when creating a `RenderPipeline`.
176176 /// Defaults to 2048. Higher is "better".
177177 pub max_vertex_buffer_array_stride : u32 ,
178+ /// Maximum value for the number of input or output variables for inter-stage communication
179+ /// (like vertex outputs or fragment inputs) `@location(…)`s (in WGSL parlance)
180+ /// when creating a `RenderPipeline`.
181+ /// Defaults to 16. Higher is "better".
182+ pub max_inter_stage_shader_variables : u32 ,
178183 /// Required `BufferBindingType::Uniform` alignment for `BufferBinding::offset`
179184 /// when creating a `BindGroup`, or for `set_bind_group` `dynamicOffsets`.
180185 /// Defaults to 256. Lower is "better".
@@ -305,6 +310,7 @@ impl Limits {
305310 /// max_buffer_size: 256 << 20, // (256 MiB)
306311 /// max_vertex_attributes: 16,
307312 /// max_vertex_buffer_array_stride: 2048,
313+ /// max_inter_stage_shader_variables: 16,
308314 /// min_uniform_buffer_offset_alignment: 256,
309315 /// min_storage_buffer_offset_alignment: 256,
310316 /// max_inter_stage_shader_components: 60,
@@ -358,6 +364,7 @@ impl Limits {
358364 max_buffer_size : 256 << 20 , // (256 MiB)
359365 max_vertex_attributes : 16 ,
360366 max_vertex_buffer_array_stride : 2048 ,
367+ max_inter_stage_shader_variables : 16 ,
361368 min_uniform_buffer_offset_alignment : 256 ,
362369 min_storage_buffer_offset_alignment : 256 ,
363370 max_inter_stage_shader_components : 60 ,
@@ -417,6 +424,7 @@ impl Limits {
417424 /// min_subgroup_size: 0,
418425 /// max_subgroup_size: 0,
419426 /// max_immediate_size: 0,
427+ /// max_inter_stage_shader_variables: 16, // TODO: accurate?
420428 /// min_uniform_buffer_offset_alignment: 256,
421429 /// min_storage_buffer_offset_alignment: 256,
422430 /// max_inter_stage_shader_components: 60,
@@ -494,6 +502,7 @@ impl Limits {
494502 /// min_subgroup_size: 0,
495503 /// max_subgroup_size: 0,
496504 /// max_immediate_size: 0,
505+ /// max_inter_stage_shader_variables: 16, // TODO: accurate?
497506 /// min_uniform_buffer_offset_alignment: 256,
498507 /// min_storage_buffer_offset_alignment: 256,
499508 /// max_inter_stage_shader_components: 31,
0 commit comments