diff --git a/pipelined/bevy_render2/src/render_phase/draw_state.rs b/pipelined/bevy_render2/src/render_phase/draw_state.rs index 7c964eadf04ab..b20830d488aba 100644 --- a/pipelined/bevy_render2/src/render_phase/draw_state.rs +++ b/pipelined/bevy_render2/src/render_phase/draw_state.rs @@ -182,6 +182,14 @@ impl<'a> TrackedRenderPass<'a> { .set_index_buffer(buffer_slice.id(), offset, index_format); } + pub fn draw(&mut self, vertices: Range, instances: Range) { + debug!( + "draw: {:?} {:?}", + vertices, instances + ); + self.pass.draw(vertices, instances); + } + pub fn draw_indexed(&mut self, indices: Range, base_vertex: i32, instances: Range) { debug!( "draw indexed: {:?} {} {:?}", diff --git a/pipelined/bevy_render2/src/render_resource/buffer_vec.rs b/pipelined/bevy_render2/src/render_resource/buffer_vec.rs index 9bd36bfb51778..274cfb225fda6 100644 --- a/pipelined/bevy_render2/src/render_resource/buffer_vec.rs +++ b/pipelined/bevy_render2/src/render_resource/buffer_vec.rs @@ -85,7 +85,8 @@ impl BufferVec { pub fn write_to_staging_buffer(&self, render_device: &RenderDevice) { if let Some(staging_buffer) = &self.staging_buffer { - let slice = staging_buffer.slice(..); + let end = (self.values.len() * self.item_size) as u64; + let slice = staging_buffer.slice(0..end); render_device.map_buffer(&slice, wgpu::MapMode::Write); { let mut data = slice.get_mapped_range_mut();