summaryrefslogtreecommitdiffstats
path: root/wgpu
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2020-08-27 19:35:24 +0200
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2020-08-27 19:35:24 +0200
commit7559e4fb30a282271717f700cb6e420cdf6123f0 (patch)
tree2c8e73f6ffb48eca490e86695b87d60b02a7fd38 /wgpu
parent8d605be4e3e0b678c7563708ea941d6188f45678 (diff)
downloadiced-7559e4fb30a282271717f700cb6e420cdf6123f0.tar.gz
iced-7559e4fb30a282271717f700cb6e420cdf6123f0.tar.bz2
iced-7559e4fb30a282271717f700cb6e420cdf6123f0.zip
Set offsets in buffer slices in `iced_wgpu`
Diffstat (limited to 'wgpu')
-rw-r--r--wgpu/src/triangle.rs21
1 files changed, 12 insertions, 9 deletions
diff --git a/wgpu/src/triangle.rs b/wgpu/src/triangle.rs
index a5789a61..6ae46cba 100644
--- a/wgpu/src/triangle.rs
+++ b/wgpu/src/triangle.rs
@@ -379,17 +379,20 @@ impl Pipeline {
&[(std::mem::size_of::<Uniforms>() * i) as u32],
);
- render_pass.set_index_buffer(self.index_buffer.raw.slice(..));
-
- render_pass
- .set_vertex_buffer(0, self.vertex_buffer.raw.slice(..));
+ render_pass.set_index_buffer(
+ self.index_buffer
+ .raw
+ .slice(index_offset * mem::size_of::<u32>() as u64..),
+ );
- render_pass.draw_indexed(
- index_offset as u32
- ..(index_offset as usize + indices) as u32,
- vertex_offset as i32,
- 0..1,
+ render_pass.set_vertex_buffer(
+ 0,
+ self.vertex_buffer.raw.slice(
+ vertex_offset * mem::size_of::<Vertex2D>() as u64..,
+ ),
);
+
+ render_pass.draw_indexed(0..indices as u32, 0, 0..1);
}
}