mirror of
https://github.com/gfx-rs/wgpu.git
synced 2026-04-22 03:02:01 -04:00
This allows users to skip creation of `BufferSlice` if they have no use for it, and brings `wgpu` closer to the WebGPU API without removing any Rust convenience. New functions: * `BufferSlice::slice()` * `Buffer::map_async()` * `Buffer::get_mapped_range()` * `Buffer::get_mapped_range_mut()` * `Buffer::get_mapped_range()`
33 lines
924 B
Rust
33 lines
924 B
Rust
//! Tests of [`wgpu::Buffer`] and related.
|
|
|
|
mod buffer_slice {
|
|
#[test]
|
|
fn reslice_success() {
|
|
let (device, _queue) = crate::request_noop_device();
|
|
|
|
let buffer = device.create_buffer(&wgpu::BufferDescriptor {
|
|
label: None,
|
|
size: 100,
|
|
usage: wgpu::BufferUsages::VERTEX,
|
|
mapped_at_creation: false,
|
|
});
|
|
|
|
assert_eq!(buffer.slice(10..90).slice(10..70), buffer.slice(20..80));
|
|
}
|
|
|
|
#[test]
|
|
#[should_panic = "slice offset 10 size 80 is out of range for buffer of size 80"]
|
|
fn reslice_out_of_bounds() {
|
|
let (device, _queue) = crate::request_noop_device();
|
|
|
|
let buffer = device.create_buffer(&wgpu::BufferDescriptor {
|
|
label: None,
|
|
size: 100,
|
|
usage: wgpu::BufferUsages::VERTEX,
|
|
mapped_at_creation: false,
|
|
});
|
|
|
|
buffer.slice(10..90).slice(10..90);
|
|
}
|
|
}
|