[Fix, Test] (MG_Impl, MG_State): GL entry points record errors instead of throwing through the C ABI - CopyTexImage superset rule, TEXTURE_BUFFER level queries, indexed cap toggles

This commit is contained in:
2026-08-11 02:24:41 -04:00
parent efa0345c36
commit 5c8a9c41d6
8 changed files with 363 additions and 21 deletions
+8 -1
View File
@@ -2809,7 +2809,14 @@ namespace MobileGL::MG_Backend::DirectGLES {
break;
}
default:
THROW_UNIMPL_EXCEPTION;
// TextureStorageType is {Mipmap, Buffer}, both handled above, so this is a
// backstop for a state object that grew a new storage kind. Skipping the upload
// renders wrong; throwing unwinds through the C GL ABI and kills the process.
MGLOG_I("DirectGLES texture sync: no upload path for storage type %d on texture %u; "
"skipping this sync",
static_cast<int>(stateTextureObject->GetStorageType()),
stateTextureObject->GetExternalIndex());
break;
}
DebugImpl::ErrorLopper::Loop([file = __FILE__, line = __LINE__, func = __func__](GLenum err) {