@@ -211,7 +211,7 @@ class RenderForwardMobile : public RendererSceneRenderRD {
211211 uint32_t flags;
212212 uint32_t instance_uniforms_ofs; // Base offset in global buffer for instance variables.
213213 uint32_t gi_offset; // GI information when using lightmapping (VCT or lightmap index).
214- uint32_t layer_mask = 1 ;
214+ uint32_t layer_mask;
215215 float lightmap_uv_scale[4 ]; // Doubles as uv_offset when needed.
216216 uint32_t reflection_probes[2 ]; // Packed reflection probes.
217217 uint32_t omni_lights[2 ]; // Packed omni lights.
@@ -222,6 +222,9 @@ class RenderForwardMobile : public RendererSceneRenderRD {
222222 float uv_scale[4 ];
223223 };
224224
225+ static_assert (std::is_trivially_destructible_v<InstanceData>);
226+ static_assert (std::is_trivially_constructible_v<InstanceData>);
227+
225228 RID instance_buffer[RENDER_LIST_MAX];
226229 uint32_t instance_buffer_size[RENDER_LIST_MAX] = { 0 , 0 , 0 };
227230 LocalVector<InstanceData> instance_data[RENDER_LIST_MAX];
@@ -327,6 +330,9 @@ class RenderForwardMobile : public RendererSceneRenderRD {
327330 uint32_t reserved : 23 ;
328331 };
329332
333+ static_assert (std::is_trivially_destructible_v<RenderElementInfo>);
334+ static_assert (std::is_trivially_constructible_v<RenderElementInfo>);
335+
330336 template <PassMode p_pass_mode>
331337 _FORCE_INLINE_ void _render_list_template (RenderingDevice::DrawListID p_draw_list, RenderingDevice::FramebufferFormatID p_framebuffer_Format, RenderListParameters *p_params, uint32_t p_from_element, uint32_t p_to_element);
332338 void _render_list (RenderingDevice::DrawListID p_draw_list, RenderingDevice::FramebufferFormatID p_framebuffer_Format, RenderListParameters *p_params, uint32_t p_from_element, uint32_t p_to_element);
0 commit comments