From 713c23bc426613274f3fbac3f5902ebe2b164ead Mon Sep 17 00:00:00 2001 From: Capucho Date: Sun, 6 Dec 2020 22:23:34 +0000 Subject: [PATCH] Grow the VertexState inputs in SetPipeline --- wgpu-core/src/command/render.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wgpu-core/src/command/render.rs b/wgpu-core/src/command/render.rs index dda113a112..e6d1c68ea7 100644 --- a/wgpu-core/src/command/render.rs +++ b/wgpu-core/src/command/render.rs @@ -1164,6 +1164,10 @@ impl Global { state.index.pipeline_format = pipeline.index_format; + let vertex_strides_len = pipeline.vertex_strides.len(); + while state.vertex.inputs.len() < vertex_strides_len { + state.vertex.inputs.push(VertexBufferState::EMPTY); + } // Update vertex buffer limits for (vbs, &(stride, rate)) in state.vertex.inputs.iter_mut().zip(&pipeline.vertex_strides) @@ -1171,7 +1175,6 @@ impl Global { vbs.stride = stride; vbs.rate = rate; } - let vertex_strides_len = pipeline.vertex_strides.len(); for vbs in state.vertex.inputs.iter_mut().skip(vertex_strides_len) { vbs.stride = 0; vbs.rate = InputStepMode::Vertex;