[Feat] (MG_State, MG_Util, MG_Impl/GLImpl, MG_Backend/DirectGLES): desktop-GL single-channel client formats GL_GREEN/GL_BLUE/GL_ALPHA and _INTEGER variants - validate and readback via wide-RGBA channel extraction (GL CTS packed_pixels rgba8_format_green/blue read with them), unpack GREEN/BLUE(_INTEGER) TexImage uploads into the named channel with 0/1 defaults per table 3.3; GL_ALPHA keeps the legacy Red upload mapping (R8 storage + 000R swizzle), its readback corrected at the backend to source channel 3

This commit is contained in:
2026-07-16 06:47:33 -04:00
parent bae222227a
commit 1cefb9780b
12 changed files with 220 additions and 2 deletions
@@ -67,6 +67,18 @@ namespace MobileGL {
return GL_RGBA_INTEGER;
case TextureInputFormat::BGRAInteger:
return GL_BGRA_INTEGER;
case TextureInputFormat::Green:
return GL_GREEN;
case TextureInputFormat::Blue:
return GL_BLUE;
case TextureInputFormat::Alpha:
return GL_ALPHA;
case TextureInputFormat::GreenInteger:
return GL_GREEN_INTEGER;
case TextureInputFormat::BlueInteger:
return GL_BLUE_INTEGER;
case TextureInputFormat::AlphaInteger:
return GL_ALPHA_INTEGER;
case TextureInputFormat::StencilIndex:
return GL_STENCIL_INDEX;
case TextureInputFormat::DepthComponent: