Remove Arc around Buffer in example (#7097)

Now that `Buffer` is clonable, `Arc` is not required anymore. Reflect
that in examples.
This commit is contained in:
Alphyr 2025-02-10 15:51:39 +01:00 committed by GitHub
parent 43eb6c99b0
commit 6696c79ed0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,4 +1,4 @@
use std::{f32::consts, iter, ops::Range, sync::Arc}; use std::{f32::consts, iter, ops::Range};
use bytemuck::{Pod, Zeroable}; use bytemuck::{Pod, Zeroable};
use wgpu::util::{align_to, DeviceExt}; use wgpu::util::{align_to, DeviceExt};
@ -80,8 +80,8 @@ struct Entity {
mx_world: glam::Mat4, mx_world: glam::Mat4,
rotation_speed: f32, rotation_speed: f32,
color: wgpu::Color, color: wgpu::Color,
vertex_buf: Arc<wgpu::Buffer>, vertex_buf: wgpu::Buffer,
index_buf: Arc<wgpu::Buffer>, index_buf: wgpu::Buffer,
index_format: wgpu::IndexFormat, index_format: wgpu::IndexFormat,
index_count: usize, index_count: usize,
uniform_offset: wgpu::DynamicOffset, uniform_offset: wgpu::DynamicOffset,
@ -221,21 +221,17 @@ impl crate::framework::Example for Example {
// Create the vertex and index buffers // Create the vertex and index buffers
let vertex_size = size_of::<Vertex>(); let vertex_size = size_of::<Vertex>();
let (cube_vertex_data, cube_index_data) = create_cube(); let (cube_vertex_data, cube_index_data) = create_cube();
let cube_vertex_buf = Arc::new(device.create_buffer_init( let cube_vertex_buf = device.create_buffer_init(&wgpu::util::BufferInitDescriptor {
&wgpu::util::BufferInitDescriptor {
label: Some("Cubes Vertex Buffer"), label: Some("Cubes Vertex Buffer"),
contents: bytemuck::cast_slice(&cube_vertex_data), contents: bytemuck::cast_slice(&cube_vertex_data),
usage: wgpu::BufferUsages::VERTEX, usage: wgpu::BufferUsages::VERTEX,
}, });
));
let cube_index_buf = Arc::new(device.create_buffer_init( let cube_index_buf = device.create_buffer_init(&wgpu::util::BufferInitDescriptor {
&wgpu::util::BufferInitDescriptor {
label: Some("Cubes Index Buffer"), label: Some("Cubes Index Buffer"),
contents: bytemuck::cast_slice(&cube_index_data), contents: bytemuck::cast_slice(&cube_index_data),
usage: wgpu::BufferUsages::INDEX, usage: wgpu::BufferUsages::INDEX,
}, });
));
let (plane_vertex_data, plane_index_data) = create_plane(7); let (plane_vertex_data, plane_index_data) = create_plane(7);
let plane_vertex_buf = device.create_buffer_init(&wgpu::util::BufferInitDescriptor { let plane_vertex_buf = device.create_buffer_init(&wgpu::util::BufferInitDescriptor {
@ -306,8 +302,8 @@ impl crate::framework::Example for Example {
mx_world: glam::Mat4::IDENTITY, mx_world: glam::Mat4::IDENTITY,
rotation_speed: 0.0, rotation_speed: 0.0,
color: wgpu::Color::WHITE, color: wgpu::Color::WHITE,
vertex_buf: Arc::new(plane_vertex_buf), vertex_buf: plane_vertex_buf,
index_buf: Arc::new(plane_index_buf), index_buf: plane_index_buf,
index_format, index_format,
index_count: plane_index_data.len(), index_count: plane_index_data.len(),
uniform_offset: 0, uniform_offset: 0,
@ -327,8 +323,8 @@ impl crate::framework::Example for Example {
mx_world, mx_world,
rotation_speed: cube.rotation, rotation_speed: cube.rotation,
color: wgpu::Color::GREEN, color: wgpu::Color::GREEN,
vertex_buf: Arc::clone(&cube_vertex_buf), vertex_buf: cube_vertex_buf.clone(),
index_buf: Arc::clone(&cube_index_buf), index_buf: cube_index_buf.clone(),
index_format, index_format,
index_count: cube_index_data.len(), index_count: cube_index_data.len(),
uniform_offset: ((i + 1) * uniform_alignment as usize) as _, uniform_offset: ((i + 1) * uniform_alignment as usize) as _,