Skip to main content

easy_gpu/assets/
buffer.rs

1use wgpu::{BufferDescriptor, Device};
2use wgpu::util::{BufferInitDescriptor, DeviceExt};
3pub use wgpu::BufferUsages;
4
5pub struct Buffer{
6    pub(crate) buffer: wgpu::Buffer,
7}
8
9impl Buffer {
10    pub fn new(device: &Device,size: u64,usage: BufferUsages)->Self{
11        let buffer = device.create_buffer(&BufferDescriptor {
12            label: None,
13            size,
14            usage,
15            mapped_at_creation: false,
16        });
17        Self { buffer }
18    }
19    pub fn from_contents(device: &Device,contents: &[u8],usage: BufferUsages)->Self{
20        let buffer = device.create_buffer_init(&BufferInitDescriptor {
21            label: None,
22            contents,
23            usage,
24        });
25        Self { buffer }
26    }
27}