summaryrefslogtreecommitdiffstats
path: root/servers/rendering/renderer_rd/storage_rd
diff options
context:
space:
mode:
authorclayjohn <claynjohn@gmail.com>2023-06-29 13:24:40 -0700
committerclayjohn <claynjohn@gmail.com>2023-06-29 13:24:40 -0700
commit35ed7c770bd7616bdd43b32c1ea433d574452de5 (patch)
tree1426a60f90da47619302f2742cc26d6de281c9f7 /servers/rendering/renderer_rd/storage_rd
parent9d089fe6e501e4818fed1b0688631c4d65d1ba35 (diff)
downloadredot-engine-35ed7c770bd7616bdd43b32c1ea433d574452de5.tar.gz
Initialize particles instance buffer in case it is used before being updated
Diffstat (limited to 'servers/rendering/renderer_rd/storage_rd')
-rw-r--r--servers/rendering/renderer_rd/storage_rd/particles_storage.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/servers/rendering/renderer_rd/storage_rd/particles_storage.cpp b/servers/rendering/renderer_rd/storage_rd/particles_storage.cpp
index b36e027f07..1500c902c6 100644
--- a/servers/rendering/renderer_rd/storage_rd/particles_storage.cpp
+++ b/servers/rendering/renderer_rd/storage_rd/particles_storage.cpp
@@ -1288,7 +1288,10 @@ void ParticlesStorage::_particles_update_buffers(Particles *particles) {
particles->userdata_count = userdata_count;
- particles->particle_instance_buffer = RD::get_singleton()->storage_buffer_create(sizeof(float) * 4 * (xform_size + 1 + 1) * total_amount);
+ PackedByteArray data;
+ data.resize_zeroed(sizeof(float) * 4 * (xform_size + 1 + 1) * total_amount);
+
+ particles->particle_instance_buffer = RD::get_singleton()->storage_buffer_create(sizeof(float) * 4 * (xform_size + 1 + 1) * total_amount, data);
//needs to clear it
{