mirror of
https://github.com/MobileGL-Dev/MobileGL
synced 2026-09-11 21:58:31 +09:00
[Improvement] (MG_Backend/DirectGLES): Remove unused code.
This commit is contained in:
@@ -382,70 +382,9 @@ namespace MobileGL::MG_Backend::DirectGLES {
|
|||||||
} // namespace FramebufferImpl
|
} // namespace FramebufferImpl
|
||||||
|
|
||||||
namespace PrgramImpl {
|
namespace PrgramImpl {
|
||||||
UnorderedMap<SharedPtr<MG_State::GLState::ShaderObject>, SharedPtr<BackendShaderObjectImpl>>
|
|
||||||
g_backendShaderObjects;
|
|
||||||
UnorderedMap<SharedPtr<MG_State::GLState::ProgramObject>, SharedPtr<BackendProgramObjectImpl>>
|
UnorderedMap<SharedPtr<MG_State::GLState::ProgramObject>, SharedPtr<BackendProgramObjectImpl>>
|
||||||
g_backendProgramObjects;
|
g_backendProgramObjects;
|
||||||
|
|
||||||
BackendShaderObjectImpl::BackendShaderObjectImpl() {
|
|
||||||
m_backendShaderId = MG_External::GLES::glCreateShader(GL_VERTEX_SHADER);
|
|
||||||
if (m_backendShaderId == 0) {
|
|
||||||
MGLOG_E("Failed to create shader object in backend.");
|
|
||||||
} else {
|
|
||||||
MGLOG_D("Created backend shader object with ID: %u", m_backendShaderId);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
BackendShaderObjectImpl::~BackendShaderObjectImpl() {
|
|
||||||
if (m_backendShaderId != 0) {
|
|
||||||
MGLOG_D("Deleting backend shader object with ID: %u", m_backendShaderId);
|
|
||||||
MG_External::GLES::glDeleteShader(m_backendShaderId);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void BackendShaderObjectImpl::SyncToBackend(SharedPtr<MG_State::GLState::ShaderObject>& stateShaderObject) {
|
|
||||||
if (!stateShaderObject) {
|
|
||||||
MGLOG_E("State shader object is null, skipping backend sync.");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!stateShaderObject->GetCompileStatus()) {
|
|
||||||
MGLOG_E("Shader object is not compiled, skipping backend sync. Shader: 0x%p", stateShaderObject.get());
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
MGLOG_D("Syncing shader to backend. State shader: 0x%p, Backend ID: %u, Stage: %s", stateShaderObject.get(),
|
|
||||||
m_backendShaderId,
|
|
||||||
MG_Util::ConvertGLEnumToString(
|
|
||||||
MG_State::GLState::ConvertGLShaderTypeByMGLShaderStage(stateShaderObject->GetShaderStage()))
|
|
||||||
.c_str());
|
|
||||||
|
|
||||||
auto shaderTShader = stateShaderObject->GetCompiledShader();
|
|
||||||
String source = ConvertTShaderToGLSL(shaderTShader, 320, true); // TODO: get real version
|
|
||||||
const char* sourceCStr = source.c_str();
|
|
||||||
|
|
||||||
MGLOG_D("Setting shader source for backend shader ID: %u", m_backendShaderId);
|
|
||||||
MG_External::GLES::glShaderSource(m_backendShaderId, 1, &sourceCStr, nullptr);
|
|
||||||
|
|
||||||
MGLOG_D("Compiling shader. Backend ID: %u", m_backendShaderId);
|
|
||||||
MG_External::GLES::glCompileShader(m_backendShaderId);
|
|
||||||
|
|
||||||
GLint compileStatus;
|
|
||||||
MG_External::GLES::glGetShaderiv(m_backendShaderId, GL_COMPILE_STATUS, &compileStatus);
|
|
||||||
if (compileStatus != GL_TRUE) {
|
|
||||||
GLint logLength;
|
|
||||||
MG_External::GLES::glGetShaderiv(m_backendShaderId, GL_INFO_LOG_LENGTH, &logLength);
|
|
||||||
Vector<GLchar> log(logLength);
|
|
||||||
MG_External::GLES::glGetShaderInfoLog(m_backendShaderId, logLength, nullptr, log.data());
|
|
||||||
MGLOG_E("Shader compilation failed for backend ID %u: %s", m_backendShaderId, log.data());
|
|
||||||
} else {
|
|
||||||
MGLOG_D("Shader compiled successfully. Backend ID: %u", m_backendShaderId);
|
|
||||||
}
|
|
||||||
|
|
||||||
m_isInitialized = true;
|
|
||||||
MGLOG_D("Shader sync completed. Backend ID: %u", m_backendShaderId);
|
|
||||||
}
|
|
||||||
|
|
||||||
BackendProgramObjectImpl::BackendProgramObjectImpl() {
|
BackendProgramObjectImpl::BackendProgramObjectImpl() {
|
||||||
m_backendProgramId = MG_External::GLES::glCreateProgram();
|
m_backendProgramId = MG_External::GLES::glCreateProgram();
|
||||||
if (m_backendProgramId == 0) {
|
if (m_backendProgramId == 0) {
|
||||||
|
|||||||
@@ -96,18 +96,6 @@ namespace MobileGL::MG_Backend::DirectGLES {
|
|||||||
} // namespace FramebufferImpl
|
} // namespace FramebufferImpl
|
||||||
|
|
||||||
namespace PrgramImpl {
|
namespace PrgramImpl {
|
||||||
class BackendShaderObjectImpl {
|
|
||||||
public:
|
|
||||||
BackendShaderObjectImpl();
|
|
||||||
~BackendShaderObjectImpl();
|
|
||||||
void SyncToBackend(SharedPtr<MG_State::GLState::ShaderObject>& stateShaderObject);
|
|
||||||
Uint GetBackendShaderId() const { return m_backendShaderId; }
|
|
||||||
|
|
||||||
private:
|
|
||||||
Uint m_backendShaderId = 0;
|
|
||||||
Bool m_isInitialized = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
class BackendProgramObjectImpl {
|
class BackendProgramObjectImpl {
|
||||||
public:
|
public:
|
||||||
BackendProgramObjectImpl();
|
BackendProgramObjectImpl();
|
||||||
@@ -123,8 +111,6 @@ namespace MobileGL::MG_Backend::DirectGLES {
|
|||||||
Bool m_isInitialized = false;
|
Bool m_isInitialized = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
extern UnorderedMap<SharedPtr<MG_State::GLState::ShaderObject>, SharedPtr<BackendShaderObjectImpl>>
|
|
||||||
g_backendShaderObjects;
|
|
||||||
extern UnorderedMap<SharedPtr<MG_State::GLState::ProgramObject>, SharedPtr<BackendProgramObjectImpl>>
|
extern UnorderedMap<SharedPtr<MG_State::GLState::ProgramObject>, SharedPtr<BackendProgramObjectImpl>>
|
||||||
g_backendProgramObjects;
|
g_backendProgramObjects;
|
||||||
} // namespace PrgramImpl
|
} // namespace PrgramImpl
|
||||||
|
|||||||
@@ -294,8 +294,6 @@ namespace MobileGL::MG_Backend::DirectGLES {
|
|||||||
} // namespace FramebufferImpl
|
} // namespace FramebufferImpl
|
||||||
|
|
||||||
namespace PrgramImpl {
|
namespace PrgramImpl {
|
||||||
String ConvertTShaderToGLSL(SharedPtr<glslang::TShader>& shaderTShader, Uint glslVersion, Bool isES) {}
|
|
||||||
|
|
||||||
String ProcessOutColorLocations(const String& glslCode) {
|
String ProcessOutColorLocations(const String& glslCode) {
|
||||||
const static std::regex pattern(R"(\n(out highp vec4 outColor)(\d+);)");
|
const static std::regex pattern(R"(\n(out highp vec4 outColor)(\d+);)");
|
||||||
const String replacement = "\nlayout(location=$2) $1$2;";
|
const String replacement = "\nlayout(location=$2) $1$2;";
|
||||||
|
|||||||
@@ -61,7 +61,6 @@ namespace MobileGL::MG_Backend::DirectGLES {
|
|||||||
} // namespace FramebufferImpl
|
} // namespace FramebufferImpl
|
||||||
|
|
||||||
namespace PrgramImpl {
|
namespace PrgramImpl {
|
||||||
String ConvertTShaderToGLSL(SharedPtr<glslang::TShader>& shaderTShader, Uint glslVersion, Bool isES);
|
|
||||||
String ProcessOutColorLocations(const String& glslCode);
|
String ProcessOutColorLocations(const String& glslCode);
|
||||||
String ForceSupporterOutput(const String& glslCode);
|
String ForceSupporterOutput(const String& glslCode);
|
||||||
String RemoveLayoutBinding(const String& glslCode);
|
String RemoveLayoutBinding(const String& glslCode);
|
||||||
|
|||||||
@@ -4,8 +4,10 @@
|
|||||||
namespace MobileGL {
|
namespace MobileGL {
|
||||||
namespace MG_Impl::GLImpl {
|
namespace MG_Impl::GLImpl {
|
||||||
/* @INSERTION_POINT:FUNCTION_DECLARATION@ */
|
/* @INSERTION_POINT:FUNCTION_DECLARATION@ */
|
||||||
void MultiDrawElements(GLenum mode, const GLsizei* count, GLenum type, const void* const* indices, GLsizei drawcount);
|
void MultiDrawElements(GLenum mode, const GLsizei* count, GLenum type, const void* const* indices,
|
||||||
void MultiDrawElementsBaseVertex(GLenum mode, const GLsizei* count, GLenum type, const void* const* indices, GLsizei drawcount, const GLint* basevertex);
|
GLsizei drawcount);
|
||||||
|
void MultiDrawElementsBaseVertex(GLenum mode, const GLsizei* count, GLenum type, const void* const* indices,
|
||||||
|
GLsizei drawcount, const GLint* basevertex);
|
||||||
void Clear(GLbitfield mask);
|
void Clear(GLbitfield mask);
|
||||||
void DrawElements(GLenum mode, GLsizei count, GLenum type, const void* indices);
|
void DrawElements(GLenum mode, GLsizei count, GLenum type, const void* indices);
|
||||||
} // namespace MG_Impl::GLImpl
|
} // namespace MG_Impl::GLImpl
|
||||||
|
|||||||
Regular → Executable
Reference in New Issue
Block a user