|
@@ -211,7 +211,7 @@ private:
|
|
|
uint32_t flags;
|
|
|
uint32_t instance_uniforms_ofs; // Base offset in global buffer for instance variables.
|
|
|
uint32_t gi_offset; // GI information when using lightmapping (VCT or lightmap index).
|
|
|
- uint32_t layer_mask = 1;
|
|
|
+ uint32_t layer_mask;
|
|
|
float lightmap_uv_scale[4]; // Doubles as uv_offset when needed.
|
|
|
uint32_t reflection_probes[2]; // Packed reflection probes.
|
|
|
uint32_t omni_lights[2]; // Packed omni lights.
|
|
@@ -222,6 +222,9 @@ private:
|
|
|
float uv_scale[4];
|
|
|
};
|
|
|
|
|
|
+ static_assert(std::is_trivially_destructible_v<InstanceData>);
|
|
|
+ static_assert(std::is_trivially_constructible_v<InstanceData>);
|
|
|
+
|
|
|
RID instance_buffer[RENDER_LIST_MAX];
|
|
|
uint32_t instance_buffer_size[RENDER_LIST_MAX] = { 0, 0, 0 };
|
|
|
LocalVector<InstanceData> instance_data[RENDER_LIST_MAX];
|
|
@@ -327,6 +330,9 @@ private:
|
|
|
uint32_t reserved : 23;
|
|
|
};
|
|
|
|
|
|
+ static_assert(std::is_trivially_destructible_v<RenderElementInfo>);
|
|
|
+ static_assert(std::is_trivially_constructible_v<RenderElementInfo>);
|
|
|
+
|
|
|
template <PassMode p_pass_mode>
|
|
|
_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);
|
|
|
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);
|