[Optimize] (MG_Backend/DirectGLES): use texture target instead of upload target

This commit is contained in:
2026-01-05 09:30:16 +08:00
parent 4233a6031a
commit 141eeb4e87
+6 -10
View File
@@ -386,15 +386,11 @@ namespace MobileGL::MG_Backend::DirectGLES {
errorLopper.Clear(); errorLopper.Clear();
MG_External::GLES::glBindBuffer(GL_PIXEL_UNPACK_BUFFER, 0); MG_External::GLES::glBindBuffer(GL_PIXEL_UNPACK_BUFFER, 0);
auto textureTarget = stateTextureObject->GetTarget();
// TODO: handle more texture types // TODO: handle more texture types
switch (uploadTarget) { switch (textureTarget) {
case TextureUploadTarget::Texture2D: case TextureTarget::Texture2D:
case TextureUploadTarget::CubeMapPositiveX: case TextureTarget::TextureCubeMap:
case TextureUploadTarget::CubeMapNegativeX:
case TextureUploadTarget::CubeMapPositiveY:
case TextureUploadTarget::CubeMapNegativeY:
case TextureUploadTarget::CubeMapPositiveZ:
case TextureUploadTarget::CubeMapNegativeZ:
{ {
MG_External::GLES::glTexImage2D(glUploadTarget, static_cast<GLint>(level), glInternalFormat, MG_External::GLES::glTexImage2D(glUploadTarget, static_cast<GLint>(level), glInternalFormat,
static_cast<GLsizei>(levelTexelSize.x()), static_cast<GLsizei>(levelTexelSize.x()),
@@ -402,7 +398,7 @@ namespace MobileGL::MG_Backend::DirectGLES {
glType, pData); glType, pData);
break; break;
} }
case TextureUploadTarget::Texture3D: { case TextureTarget::Texture3D: {
MG_External::GLES::glTexImage3D(glUploadTarget, static_cast<GLint>(level), glInternalFormat, MG_External::GLES::glTexImage3D(glUploadTarget, static_cast<GLint>(level), glInternalFormat,
static_cast<GLsizei>(levelTexelSize.x()), static_cast<GLsizei>(levelTexelSize.x()),
static_cast<GLsizei>(levelTexelSize.y()), static_cast<GLsizei>(levelTexelSize.y()),
@@ -412,7 +408,7 @@ namespace MobileGL::MG_Backend::DirectGLES {
break; break;
} }
default: { default: {
MGLOG_E("Unhandled texture upload target %s", MG_Util::ConvertTextureUploadTargetToString(uploadTarget).c_str()); MGLOG_E("Unhandled texture target %s", MG_Util::ConvertTextureTargetToString(textureTarget).c_str());
} }
} }
MGLOG_D("Regenerated mipmap level %d for texture with ID: %u", level, m_backendTextureId); MGLOG_D("Regenerated mipmap level %d for texture with ID: %u", level, m_backendTextureId);