[Fix] (MG_Impl/GL): Correct GL_SHADING_LANGUAGE_VERSION in glGet.

This commit is contained in:
BZLZHH
2025-07-16 12:43:05 +08:00
parent b056e7be0a
commit 1ee6a1349c
2 changed files with 11 additions and 8 deletions
+3 -2
View File
@@ -43,8 +43,9 @@ namespace MobileGL {
case GL_SHADING_LANGUAGE_VERSION: case GL_SHADING_LANGUAGE_VERSION:
static String shadingLanguageVersion; static String shadingLanguageVersion;
if (shadingLanguageVersion.empty()) { if (shadingLanguageVersion.empty()) {
shadingLanguageVersion = std::format("{} MobileGL", shadingLanguageVersion = std::format("{} MobileGL",
MG_Config::RendererInfoPtr->RendererGLInfo.TargetGLSLVersion.toString().c_str()); MG_Config::RendererInfoPtr->RendererGLInfo.TargetGLSLVersion.toString(
{ true, false }).c_str());
} }
return (const GLubyte*)shadingLanguageVersion.c_str(); return (const GLubyte*)shadingLanguageVersion.c_str();
case GL_EXTENSIONS: case GL_EXTENSIONS:
+8 -6
View File
@@ -2,6 +2,7 @@
namespace MobileGL { namespace MobileGL {
using String = std::string; using String = std::string;
using StringStream = std::stringstream;
using Int8 = int8_t; using Int8 = int8_t;
using Uint8 = uint8_t; using Uint8 = uint8_t;
using Int16 = int16_t; using Int16 = int16_t;
@@ -17,6 +18,8 @@ namespace MobileGL {
using Double = double; using Double = double;
template <typename T> template <typename T>
using Vector = std::vector<T>; using Vector = std::vector<T>;
template <typename T, typename N>
using Pair = std::pair<T, N>;
template <typename T> template <typename T>
using SharedPtr = std::shared_ptr<T>; using SharedPtr = std::shared_ptr<T>;
template <typename T> template <typename T>
@@ -61,12 +64,11 @@ namespace MobileGL {
Int Patch; Int Patch;
Optional<String> Suffix; Optional<String> Suffix;
String toString() const { String toString(Pair<Bool, Bool> dots = { true, true }, Bool useSuffix = true) const {
String versionStr = std::format("{}.{}.{}", Major, Minor, Patch); StringStream result;
if (Suffix.has_value()) { result << Major << (dots.first ? "." : "") << Minor << (dots.second ? "." : "") << Patch <<
versionStr += std::format("{}", Suffix.value()); (useSuffix && Suffix.has_value() ? *Suffix : "");
} return result.str();
return versionStr;
} }
}; };