File tree 1 file changed +4
-4
lines changed
crates/bevy_render/src/render_resource
1 file changed +4
-4
lines changed Original file line number Diff line number Diff line change @@ -8,15 +8,15 @@ use crate::renderer::{RenderDevice, RenderQueue};
8
8
9
9
use super :: Buffer ;
10
10
11
- pub struct StorageVec < T : AsStd430 > {
11
+ pub struct StorageVec < T : AsStd430 + Default > {
12
12
values : Vec < T > ,
13
13
scratch : Vec < u8 > ,
14
14
storage_buffer : Option < Buffer > ,
15
15
capacity : usize ,
16
16
item_size : usize ,
17
17
}
18
18
19
- impl < T : AsStd430 > Default for StorageVec < T > {
19
+ impl < T : AsStd430 + Default > Default for StorageVec < T > {
20
20
fn default ( ) -> Self {
21
21
Self {
22
22
values : Vec :: new ( ) ,
@@ -30,7 +30,7 @@ impl<T: AsStd430> Default for StorageVec<T> {
30
30
}
31
31
}
32
32
33
- impl < T : AsStd430 > StorageVec < T > {
33
+ impl < T : AsStd430 + Default > StorageVec < T > {
34
34
#[ inline]
35
35
pub fn storage_buffer ( & self ) -> Option < & Buffer > {
36
36
self . storage_buffer . as_ref ( )
@@ -89,7 +89,7 @@ impl<T: AsStd430> StorageVec<T> {
89
89
90
90
pub fn write_buffer ( & mut self , device : & RenderDevice , queue : & RenderQueue ) {
91
91
if self . values . is_empty ( ) {
92
- return ;
92
+ self . values . push ( T :: default ( ) ) ;
93
93
}
94
94
self . reserve ( self . values . len ( ) , device) ;
95
95
if let Some ( storage_buffer) = & self . storage_buffer {
You can’t perform that action at this time.
0 commit comments