From 221d703d68877c6d2101d7ea346184985caa0d54 Mon Sep 17 00:00:00 2001 From: jonahwilliams Date: Tue, 10 Dec 2024 08:03:58 -0800 Subject: [PATCH] [Impeller] set ubo block binding once. --- impeller/renderer/backend/gles/buffer_bindings_gles.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/impeller/renderer/backend/gles/buffer_bindings_gles.cc b/impeller/renderer/backend/gles/buffer_bindings_gles.cc index 3f10bc9b5d4ea..4191a939ae025 100644 --- a/impeller/renderer/backend/gles/buffer_bindings_gles.cc +++ b/impeller/renderer/backend/gles/buffer_bindings_gles.cc @@ -126,6 +126,8 @@ bool BufferBindingsGLES::ReadUniformsBindingsV3(const ProcTableGLES& gl, gl.GetActiveUniformBlockName(program, i, name_length, &length, name.data()); GLuint block_index = gl.GetUniformBlockIndex(program, name.data()); + gl.UniformBlockBinding(program_handle_, block_index, i); + ubo_locations_[std::string{name.data(), static_cast(length)}] = std::make_pair(block_index, i); } @@ -336,8 +338,6 @@ bool BufferBindingsGLES::BindUniformBufferV3( return BindUniformBufferV2(gl, buffer, metadata, device_buffer_gles); } const auto& [block_index, binding_point] = it->second; - gl.UniformBlockBinding(program_handle_, block_index, binding_point); - if (!device_buffer_gles.BindAndUploadDataIfNecessary( DeviceBufferGLES::BindingType::kUniformBuffer)) { return false;