[Feat] (MG_Backend/DirectGLES, GL_Impl/Getter): hardcode getter, sync some sampler parameters

This commit is contained in:
2025-10-29 16:39:03 +08:00
parent 683d8b35bf
commit b82c481605
4 changed files with 45 additions and 23 deletions
+18 -20
View File
@@ -5,7 +5,24 @@
namespace MobileGL {
namespace MG_Config {
RendererInfo* RendererInfoPtr = nullptr;
// TODO: tidy this mess up
RendererInfo* RendererInfoPtr =
#if MOBILEGL_BACKEND == MOBILEGL_BACKEND_DILIGENT
switch (MG_Config::Backend::Diligent::SpecificBackend) {
case MG_Backend::Diligent::SpecificBackendType::Vulkan:
MG_Config::RendererInfoPtr = &MG_Backend::Diligent::RendererInfoVulkan;
break;
case MG_Backend::Diligent::SpecificBackendType::Metal:
MG_Config::RendererInfoPtr = &MG_Backend::Diligent::RendererInfoMetal;
break;
default:
throw RuntimeError("Unsupported renderer type");
}
#elif MOBILEGL_BACKEND == MOBILEGL_BACKEND_TYPE_DIRECT_GLES
&MG_Backend::DirectGLES::RendererInfo;
#else
MG_Config::RendererInfoPtr = &RendererInfoUnknown;
#endif
}
namespace MG_Backend {
@@ -50,25 +67,6 @@ namespace MobileGL {
void Init() {
MGLOG_D("Initializing MobileGL Backend...");
#if MOBILEGL_BACKEND == MOBILEGL_BACKEND_DILIGENT
switch (MG_Config::Backend::Diligent::SpecificBackend) {
case MG_Backend::Diligent::SpecificBackendType::Vulkan:
RendererInfo = MG_Backend::Diligent::RendererInfoVulkan;
break;
case MG_Backend::Diligent::SpecificBackendType::Metal:
RendererInfo = MG_Backend::Diligent::RendererInfoMetal;
break;
default:
throw RuntimeError("Unsupported renderer type");
}
#elif MOBILEGL_BACKEND == MOBILEGL_BACKEND_TYPE_DIRECT_GLES
RendererInfo = MG_Backend::DirectGLES::RendererInfo;
#else
RendererInfo = RendererInfoUnknown;
#endif
MG_Config::RendererInfoPtr = &RendererInfo;
InitSpecificBackendLibs();
LogBackendInfo();
}