summaryrefslogtreecommitdiff
path: root/servers
diff options
context:
space:
mode:
authorclayjohn <claynjohn@gmail.com>2022-09-22 20:36:01 -0700
committerclayjohn <claynjohn@gmail.com>2022-09-22 20:36:01 -0700
commitaac8d5c4065a358347586d33df58ac6885de4e4f (patch)
treefdfab1df0d714841196b1121014e2fa4a9a1727e /servers
parent62792eeb9fac4f44272f59f95ec8eb3abc0432a7 (diff)
Properly initialize motion vectors offset when motion vectors are disabled.
This fixes an uninitialized memory bug that caused particles to fail in non-LTO builds
Diffstat (limited to 'servers')
-rw-r--r--servers/rendering/renderer_rd/forward_clustered/render_forward_clustered.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/servers/rendering/renderer_rd/forward_clustered/render_forward_clustered.cpp b/servers/rendering/renderer_rd/forward_clustered/render_forward_clustered.cpp
index 63fd10886d..35953a7120 100644
--- a/servers/rendering/renderer_rd/forward_clustered/render_forward_clustered.cpp
+++ b/servers/rendering/renderer_rd/forward_clustered/render_forward_clustered.cpp
@@ -479,6 +479,9 @@ void RenderForwardClustered::_render_list_template(RenderingDevice::DrawListID p
if ((surf->owner->base_flags & (INSTANCE_DATA_FLAG_MULTIMESH | INSTANCE_DATA_FLAG_PARTICLES)) == INSTANCE_DATA_FLAG_MULTIMESH) {
mesh_storage->_multimesh_get_motion_vectors_offsets(surf->owner->data->base, push_constant.multimesh_motion_vectors_current_offset, push_constant.multimesh_motion_vectors_previous_offset);
+ } else {
+ push_constant.multimesh_motion_vectors_current_offset = 0;
+ push_constant.multimesh_motion_vectors_previous_offset = 0;
}
RD::get_singleton()->draw_list_set_push_constant(draw_list, &push_constant, sizeof(SceneState::PushConstant));