@@ -2911,11 +2911,12 @@ void RendererCanvasRenderRD::_render_batch(RD::DrawListID p_draw_list, CanvasSha
2911
2911
2912
2912
const RID *uniform_set = rid_set_to_uniform_set.getptr (key);
2913
2913
if (uniform_set == nullptr ) {
2914
- state.batch_texture_uniforms .write [0 ] = RD::Uniform (RD::UNIFORM_TYPE_TEXTURE, 0 , p_batch->tex_info ->diffuse );
2915
- state.batch_texture_uniforms .write [1 ] = RD::Uniform (RD::UNIFORM_TYPE_TEXTURE, 1 , p_batch->tex_info ->normal );
2916
- state.batch_texture_uniforms .write [2 ] = RD::Uniform (RD::UNIFORM_TYPE_TEXTURE, 2 , p_batch->tex_info ->specular );
2917
- state.batch_texture_uniforms .write [3 ] = RD::Uniform (RD::UNIFORM_TYPE_SAMPLER, 3 , p_batch->tex_info ->sampler );
2918
- state.batch_texture_uniforms .write [4 ] = RD::Uniform (RD::UNIFORM_TYPE_STORAGE_BUFFER, 4 , state.canvas_instance_data_buffers [state.current_data_buffer_index ].instance_buffers [p_batch->instance_buffer_index ]);
2914
+ RD::Uniform *uniform_ptrw = state.batch_texture_uniforms .ptrw ();
2915
+ uniform_ptrw[0 ] = RD::Uniform (RD::UNIFORM_TYPE_TEXTURE, 0 , p_batch->tex_info ->diffuse );
2916
+ uniform_ptrw[1 ] = RD::Uniform (RD::UNIFORM_TYPE_TEXTURE, 1 , p_batch->tex_info ->normal );
2917
+ uniform_ptrw[2 ] = RD::Uniform (RD::UNIFORM_TYPE_TEXTURE, 2 , p_batch->tex_info ->specular );
2918
+ uniform_ptrw[3 ] = RD::Uniform (RD::UNIFORM_TYPE_SAMPLER, 3 , p_batch->tex_info ->sampler );
2919
+ uniform_ptrw[4 ] = RD::Uniform (RD::UNIFORM_TYPE_STORAGE_BUFFER, 4 , state.canvas_instance_data_buffers [state.current_data_buffer_index ].instance_buffers [p_batch->instance_buffer_index ]);
2919
2920
2920
2921
RID rid = RD::get_singleton ()->uniform_set_create (state.batch_texture_uniforms , shader.default_version_rd_shader , BATCH_UNIFORM_SET);
2921
2922
ERR_FAIL_COND_MSG (rid.is_null (), " Failed to create uniform set for batch." );
0 commit comments