From ef3273674be9e37b8f32f99c1fa14a760636ae12 Mon Sep 17 00:00:00 2001 From: Swung0x48 Date: Thu, 2 Jul 2026 17:15:19 +0800 Subject: [PATCH] [Fix] (MG_Impl/GLImpl): validate create texture targets [skip ci] --- .../MG_Impl/GLImpl/Texture/GL_Texture.cpp | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/MobileGL/MG_Impl/GLImpl/Texture/GL_Texture.cpp b/MobileGL/MG_Impl/GLImpl/Texture/GL_Texture.cpp index 2e4d7aa3..80e934d9 100644 --- a/MobileGL/MG_Impl/GLImpl/Texture/GL_Texture.cpp +++ b/MobileGL/MG_Impl/GLImpl/Texture/GL_Texture.cpp @@ -2518,6 +2518,26 @@ namespace MobileGL::MG_Impl::GLImpl { return; } + switch (target) { + case GL_TEXTURE_1D: + case GL_TEXTURE_2D: + case GL_TEXTURE_3D: + case GL_TEXTURE_1D_ARRAY: + case GL_TEXTURE_2D_ARRAY: + case GL_TEXTURE_RECTANGLE: + case GL_TEXTURE_CUBE_MAP: + case GL_TEXTURE_CUBE_MAP_ARRAY: + case GL_TEXTURE_BUFFER: + case GL_TEXTURE_2D_MULTISAMPLE: + case GL_TEXTURE_2D_MULTISAMPLE_ARRAY: + break; + default: + MG_State::pGLContext->RecordError( + ErrorCode::InvalidEnum, + MakeUnique("MG_Impl/GLImpl", __func__, "Invalid texture target.")); + return; + } + TextureTarget textureTarget = MG_Util::ConvertGLEnumToTextureTarget(target); if (!TextureImpl::ValidateTextureTarget(textureTarget)) return;