1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-17 14:11:06 +00:00

Optimize RenderForwardClustered::_setup_render_pass_uniform_set by reducing Vector allocations during push_back operations

This commit is contained in:
CrazyRoka
2024-07-14 22:13:57 +01:00
committed by Rémi Verschelde
parent 893bbdfde8
commit d9ef826c54
14 changed files with 53 additions and 36 deletions

View File

@@ -552,7 +552,9 @@ void SkyRD::Sky::free() {
RID SkyRD::Sky::get_textures(SkyTextureSetVersion p_version, RID p_default_shader_rd, Ref<RenderSceneBuffersRD> p_render_buffers) {
RendererRD::TextureStorage *texture_storage = RendererRD::TextureStorage::get_singleton();
Vector<RD::Uniform> uniforms;
thread_local LocalVector<RD::Uniform> uniforms;
uniforms.clear();
{
RD::Uniform u;
u.uniform_type = RD::UNIFORM_TYPE_TEXTURE;
@@ -873,7 +875,7 @@ void sky() {
uniforms.push_back(u);
}
uniforms.append_array(material_storage->samplers_rd_get_default().get_uniforms(SAMPLERS_BINDING_FIRST_INDEX));
material_storage->samplers_rd_get_default().append_uniforms(uniforms, SAMPLERS_BINDING_FIRST_INDEX);
sky_scene_state.uniform_set = RD::get_singleton()->uniform_set_create(uniforms, sky_shader.default_shader_rd, SKY_SET_UNIFORMS);
}