Ensure persistent 2D buffers are large enough. Grows with doubling strategy.
(&mut self, vb_bytes: usize, ib_bytes: usize)
| 12253 | |
| 12254 | /// Ensure persistent 2D buffers are large enough. Grows with doubling strategy. |
| 12255 | fn ensure_buffer_capacity_2d(&mut self, vb_bytes: usize, ib_bytes: usize) { |
| 12256 | if vb_bytes > self.persistent_vb_2d_capacity { |
| 12257 | let new_cap = vb_bytes.next_power_of_two(); |
| 12258 | self.persistent_vb_2d = self.device.create_buffer(&wgpu::BufferDescriptor { |
| 12259 | label: Some("persistent_vb_2d"), |
| 12260 | size: new_cap as u64, |
| 12261 | usage: wgpu::BufferUsages::VERTEX | wgpu::BufferUsages::COPY_DST, |
| 12262 | mapped_at_creation: false, |
| 12263 | }); |
| 12264 | self.persistent_vb_2d_capacity = new_cap; |
| 12265 | } |
| 12266 | if ib_bytes > self.persistent_ib_2d_capacity { |
| 12267 | let new_cap = ib_bytes.next_power_of_two(); |
| 12268 | self.persistent_ib_2d = self.device.create_buffer(&wgpu::BufferDescriptor { |
| 12269 | label: Some("persistent_ib_2d"), |
| 12270 | size: new_cap as u64, |
| 12271 | usage: wgpu::BufferUsages::INDEX | wgpu::BufferUsages::COPY_DST, |
| 12272 | mapped_at_creation: false, |
| 12273 | }); |
| 12274 | self.persistent_ib_2d_capacity = new_cap; |
| 12275 | } |
| 12276 | } |
| 12277 | |
| 12278 | // ============================================================ |
| 12279 | // Cached model GPU buffers |
no outgoing calls
no test coverage detected