From 67475fcf347550bf85afe2b8e4150ea98a67e22a Mon Sep 17 00:00:00 2001 From: Swung0x48 Date: Tue, 28 Oct 2025 14:46:57 +0800 Subject: [PATCH] [Fix] (MG_Backend/DirectGLES): properly bind global UBO --- MobileGL/MG_Backend/DirectGLES/DirectGLES.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/MobileGL/MG_Backend/DirectGLES/DirectGLES.cpp b/MobileGL/MG_Backend/DirectGLES/DirectGLES.cpp index 587f6a61..ee78cbca 100644 --- a/MobileGL/MG_Backend/DirectGLES/DirectGLES.cpp +++ b/MobileGL/MG_Backend/DirectGLES/DirectGLES.cpp @@ -307,11 +307,13 @@ namespace MobileGL::MG_Backend::DirectGLES { currentProgram->MapUBO()); MG_External::GLES::glBindBuffer(GL_UNIFORM_BUFFER, 0); - Uint bindingPoint; - MG_External::GLES::glGetUniformBlockIndex(backendProgramIt->second->GetBackendProgramId(), + Uint blockIndex = MG_External::GLES::glGetUniformBlockIndex(backendProgramIt->second->GetBackendProgramId(), MG_Util::ShaderTranspiler::GLOBAL_UBO_NAME); - MG_External::GLES::glBindBufferBase(GL_UNIFORM_BUFFER, bindingPoint, + MG_External::GLES::glUniformBlockBinding( + backendProgramIt->second->GetBackendProgramId(), blockIndex, 0); + + MG_External::GLES::glBindBufferBase(GL_UNIFORM_BUFFER, 0, backendProgramIt->second->GetBackendGlobalUBOId()); // Sampler unit binding