[Fix] (MG_Util/Converters): fix incorrectly converted GL_TEXTURE_SWIZZLE_* pnames

This commit is contained in:
2025-11-16 22:56:03 +08:00
parent 126239db24
commit 8182d9e402
3 changed files with 18 additions and 7 deletions
@@ -177,7 +177,7 @@ namespace MobileGL {
case GL_TEXTURE_SWIZZLE_G:
case GL_TEXTURE_SWIZZLE_B:
case GL_TEXTURE_SWIZZLE_A: {
auto swizzleParam = MG_Util::ConvertGLEnumToTextureSwizzleParam(pname);
auto swizzleParam = MG_Util::ConvertGLEnumPnameToTextureSwizzleParam(pname);
auto swizzleValue = MG_Util::ConvertGLEnumToTextureSwizzleParam(param);
textureObject->SetSwizzleParam(swizzleParam, swizzleValue);
break;
@@ -258,7 +258,7 @@ namespace MobileGL {
case GL_TEXTURE_SWIZZLE_G:
case GL_TEXTURE_SWIZZLE_B:
case GL_TEXTURE_SWIZZLE_A: {
auto swizzleParam = MG_Util::ConvertGLEnumToTextureSwizzleParam(pname);
auto swizzleParam = MG_Util::ConvertGLEnumPnameToTextureSwizzleParam(pname);
auto swizzleValue = MG_Util::ConvertGLEnumToTextureSwizzleParam(param);
textureObject->SetSwizzleParam(swizzleParam, swizzleValue);
break;
@@ -495,11 +495,6 @@ namespace MobileGL {
break;
case GL_TEXTURE_BASE_LEVEL:
case GL_TEXTURE_MAX_LEVEL:
case GL_TEXTURE_SWIZZLE_R:
case GL_TEXTURE_SWIZZLE_G:
case GL_TEXTURE_SWIZZLE_B:
case GL_TEXTURE_SWIZZLE_A:
case GL_TEXTURE_SWIZZLE_RGBA:
case GL_TEXTURE_BORDER_COLOR:
break; // TODO
case GL_TEXTURE_WRAP_S:
@@ -402,5 +402,20 @@ namespace MobileGL {
return TextureSwizzleParam::Unknown;
}
}
TextureSwizzleParam ConvertGLEnumPnameToTextureSwizzleParam(GLenum v) {
switch (v) {
case GL_TEXTURE_SWIZZLE_R:
return TextureSwizzleParam::Red;
case GL_TEXTURE_SWIZZLE_G:
return TextureSwizzleParam::Green;
case GL_TEXTURE_SWIZZLE_B:
return TextureSwizzleParam::Blue;
case GL_TEXTURE_SWIZZLE_A:
return TextureSwizzleParam::Alpha;
default:
return TextureSwizzleParam::Unknown;
}
}
} // namespace MG_Util
} // namespace MobileGL
@@ -15,5 +15,6 @@ namespace MobileGL {
SamplerCompareMode ConvertGLEnumToSamplerCompareMode(GLenum value);
SamplerCompareFunc ConvertGLEnumToSamplerCompareFunc(GLenum value);
TextureSwizzleParam ConvertGLEnumToTextureSwizzleParam(GLenum value);
TextureSwizzleParam ConvertGLEnumPnameToTextureSwizzleParam(GLenum value);
} // namespace MG_Util
} // namespace MobileGL