From 77aa26661dace8f342c63d52a49d0cd881acf726 Mon Sep 17 00:00:00 2001 From: Swung0x48 Date: Thu, 29 Jan 2026 16:48:01 +0800 Subject: [PATCH] [Feat] (MG_Util/BackendLoaders/OpenGL, MG_Impl/Getter): retrieve real `GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT` from backend --- MobileGL/MG_Impl/GLImpl/Getter/GL_Getter.cpp | 7 ++++++- MobileGL/MG_Util/BackendLoaders/OpenGL/Loader.cpp | 4 ++++ MobileGL/MG_Util/BackendLoaders/OpenGL/Loader.h | 2 ++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/MobileGL/MG_Impl/GLImpl/Getter/GL_Getter.cpp b/MobileGL/MG_Impl/GLImpl/Getter/GL_Getter.cpp index c27ca8b8..b23b8e66 100644 --- a/MobileGL/MG_Impl/GLImpl/Getter/GL_Getter.cpp +++ b/MobileGL/MG_Impl/GLImpl/Getter/GL_Getter.cpp @@ -18,6 +18,7 @@ #include #if MOBILEGL_BACKEND == MOBILEGL_BACKEND_TYPE_DIRECT_GLES #include +#include "MG_Util/BackendLoaders/OpenGL/Loader.h" #endif namespace MobileGL { @@ -817,7 +818,11 @@ namespace MobileGL { *params = 0; // TODO break; case GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT: - *params = 256; // TODO: get real value from backend +#if MOBILEGL_BACKEND == MOBILEGL_BACKEND_TYPE_DIRECT_GLES + *params = MG_External::GLES::g_glesCaps.uniformBufferOffsetAlignment; // TODO: get real value from backend +#else + *params = 256; +#endif break; case GL_UNIFORM_BUFFER_SIZE: *params = 0; // TODO diff --git a/MobileGL/MG_Util/BackendLoaders/OpenGL/Loader.cpp b/MobileGL/MG_Util/BackendLoaders/OpenGL/Loader.cpp index 8866acec..2a3be359 100644 --- a/MobileGL/MG_Util/BackendLoaders/OpenGL/Loader.cpp +++ b/MobileGL/MG_Util/BackendLoaders/OpenGL/Loader.cpp @@ -529,6 +529,10 @@ namespace MobileGL { } } } + + MGLOG_I("OpenGL ES capabilities:"); + MG_External::GLES::glGetIntegerv(GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT, &MG_External::GLES::g_glesCaps.uniformBufferOffsetAlignment); + MGLOG_I(" GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT: %d", MG_External::GLES::g_glesCaps.uniformBufferOffsetAlignment); } void InitGLES() { diff --git a/MobileGL/MG_Util/BackendLoaders/OpenGL/Loader.h b/MobileGL/MG_Util/BackendLoaders/OpenGL/Loader.h index 1676641f..2f7b49f0 100644 --- a/MobileGL/MG_Util/BackendLoaders/OpenGL/Loader.h +++ b/MobileGL/MG_Util/BackendLoaders/OpenGL/Loader.h @@ -576,6 +576,8 @@ namespace MobileGL { Version version; Bool hasPersistentMapping; Bool hasNorm16Texture; + + Int uniformBufferOffsetAlignment; }; } // namespace Caps