[Improvement] (MG_Backend): Separate Initialize and InitCapabilities.

This commit is contained in:
BZLZHH
2026-02-20 15:26:46 +08:00
parent e34f3d915c
commit 60f06d1b8d
6 changed files with 20 additions and 109 deletions
+1 -1
View File
@@ -10,7 +10,6 @@
#include <Includes.h>
namespace MobileGL {
enum class BackendType {
DirectGLES,
BackendTypeCount,
@@ -91,6 +90,7 @@ namespace MobileGL {
virtual ~BackendObject() = default;
virtual void Initialize() = 0;
virtual void InitCapabilities() = 0;
virtual void InitWindowSurface() = 0;
void SetWindowHandle(const WindowHandle& handle);
@@ -38,8 +38,15 @@ namespace MobileGL::MG_Backend::DirectGLES {
DirectGLES::SetEGLFuncsTable(m_EGLFunctions);
DirectGLES::SetGLESFuncsTable(m_GLESFunctions);
}
if (!MG_Util::BackendLoader::FillInGLESCapabilities(m_GLESCapabilities, m_GLESFunctions, m_EGLFunctions)) {
void BackendObject_DirectGLES::InitCapabilities() {
if (!m_initialized) {
MGLOG_E("DirectGLES backend not initialized");
return;
}
if (!MG_Util::BackendLoader::FillInGLESCapabilities(m_GLESCapabilities, m_GLESFunctions)) {
MGLOG_E("Failed to fill in GLES capabilities for DirectGLES backend");
return;
}
@@ -15,7 +15,9 @@ namespace MobileGL::MG_Backend::DirectGLES {
class BackendObject_DirectGLES : public BackendObject {
public:
~BackendObject_DirectGLES() override;
void Initialize() override;
void InitCapabilities() override;
void InitWindowSurface() override;
const RendererInfo& GetRendererInfo() const override;