swung0x48
241ed377b4
[Fix] (macOS): harden Cocoa context setup and isolate embedded glslang
2026-07-28 11:54:50 -04:00
swung0x48
d076c29146
[Fix] (DirectVulkan): bound the vertex-input and sampler caches and sweep undeleted GL syncs - both caches age out entries idle >1024 frame boundaries (animated LOD bias no longer mints a VkSampler per float value, buffer/VAO churn no longer grows the vertex-input map for the whole session), and library teardown drains the live-sync registry exactly as glDeleteSync would since GL requires syncs to die with their context
2026-07-27 22:16:16 -04:00
swung0x48
b8a8a660e1
[Refactor] (Lifecycle): own MobileGL's lifecycle from the EGL layer instead of ELF static ctor/dtor - the first EGL/WGL entry point lazily initializes via a thread-safe, re-init-capable EnsureInitialized (AutoInit is gone), the last eglTerminate with no initialized display and nothing current tears the whole library down deterministically inside the EGL lifecycle, and the global singletons move to leak-at-exit heap storage so process exit runs no backend destructors at all (AutoDestroy and the Windows DllMain abandon hook are gone); fixes the exit-time SIGABRT from undefined static-destruction order - the DirectGLES buffer-pool mutex abort on Android clean exits, and the pre-existing macOS QueryTest/ProgramTest 'Subprocess aborted' gtest failures now pass (ctest 411/411)
2026-07-26 10:59:14 -04:00
swung0x48
7ab83861ca
[Fix] (DirectVulkan): suspend presentation while the window is zero-area - a minimized window's out-of-date swapchain used to keep Present submitting on a signaled fence and presenting never-acquired images (adversarial review); also drop logging from the process-detach abandon path
2026-07-26 07:59:40 -04:00
swung0x48
c4254c4bbd
[Feat] (WGL): add Windows host layer - drop-in opengl32.dll with WGL over EGLImpl, Win32 window backend plumbing for both backends, ANGLE loader path, and leak-at-exit process teardown
2026-07-26 06:46:29 -04:00
swung0x48 and Claude Fable 5
7d31a6fcd7
[Refactor] (MG_Config): centralize env-var and driver-feature reads
...
MG_Config::FeaturesTable snapshots every MOBILEGL_* toggle once in
ConfigLoader::Init with a single truthy rule (non-empty, not '0', not
'false' case-insensitively), replacing 13 scattered std::getenv sites
that used four different parsing conventions. Renderer-derived bits
(IsAngleRenderer/IsAngleLlvmpipeRenderer/AvoidSamplerMipmapMinFilter)
move into GLESCapabilities, set once in FillInGLESCapabilities, so hot
paths (glMemoryBarrier ANGLE flush, sampler min-filter sync) stop doing
per-call string scans. MOBILEGL_PRESENT_DUMP_CALL/_CURRENT_CALL stay
live getenv (the retrace harness mutates them at runtime) and
MOBILEGL_LOG_FILE_PATH stays in Log.cpp (log init precedes config
init); both are documented in Config.h. Known semantic unification:
MOBILEGL_DISABLE_SUBGROUP previously required exactly 'true' and
MOBILEGL_PRESENT_STATS exactly '1'; both now follow the shared rule
(CI's 0/1 values parse identically). Also bumps CoreVersion to 26.07.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-07-10 01:08:06 +00:00
swung0x48
f121aeb57f
[Feat] (MG_Impl): add macOS CGL and NSOpenGL frontends
2026-06-28 20:33:14 +08:00
swung0x48
44c3ea7844
[Feat] (trace-replay): add Minecraft in-world fixture
2026-06-17 00:05:09 +08:00
BZLZHH
727939af5b
[Fix] (MG_Impl, MG_State, MG_Backend, MG_Util): Do source audit by Codex.
2026-06-09 15:34:19 +08:00
BZLZHH
15e24cda78
[Perf|Improvement] (All): Improve performance & optimize code.
2026-02-23 16:00:38 +08:00
BZLZHH
d22d2d64f2
[Feat|Fix] (MG_State/EGLState|MG_Backend|MG_Impl/EGLImpl): Initial implemention of EGL API.
2026-02-22 18:22:21 +08:00
BZLZHH
9e90d9508b
[Feat] (Core): Add env config loader and refactor initialization entrypoints.
2026-02-21 22:08:55 +08:00
BZLZHH
8413874e82
[Feat|Refactor] (MG_Backend|MG_Impl): Implement BackendObject, replacing previous methods.
2026-02-18 10:36:56 +08:00
BZLZHH
20fbfc2956
[Chore] (LICENSE): Switch project license to LGPLv3.
2026-01-18 09:33:33 +08:00
BZLZHH
e4f027e13b
[Fix] (MG_Util): Skip GLES initializing if the libs do not exist.
2026-01-01 11:32:12 +08:00
BZLZHH
876195de80
Revert "[Fix] (...): Skip external libraries loading for MG_Test and MG_Bench."
...
This reverts commit da0e326534 .
2026-01-01 10:49:01 +08:00
BZLZHH
e298e5be51
Revert "[Chore] (...): Cmake option MOBILEGL_FORCE_SKIP_EXTERNAL_LIB_LOADING."
...
This reverts commit 0b262d4f3a .
2026-01-01 10:48:49 +08:00
BZLZHH
0b262d4f3a
[Chore] (...): Cmake option MOBILEGL_FORCE_SKIP_EXTERNAL_LIB_LOADING.
2026-01-01 01:48:30 +08:00
BZLZHH
da0e326534
[Fix] (...): Skip external libraries loading for MG_Test and MG_Bench.
2026-01-01 01:33:11 +08:00
BZLZHH
3714e275ab
[Chore] (All): Update copyright year in source code files.
2026-01-01 00:42:06 +08:00
BZLZHH
ee4dc70336
[Fix] (...): Avoid some weird crashes.
2026-01-01 00:41:23 +08:00
BZLZHH
e7d9da42dc
[Chore] (All): Adjust copyright declaration.
2025-12-31 21:49:54 +08:00
BZLZHH
8ed8efe347
[Chore] (All): Add standardized source file header and update script.
2025-12-31 15:45:34 +08:00
BZLZHH
bd1056f9c9
[Feat|Fix] (...): Add/Fix lots of stuff, being able not to crash in MC.
2025-10-06 16:08:35 +08:00
BZLZHH
e37dedb72d
[Feat] (...): Basic ability to load GLES/EGL.
2025-10-06 11:47:27 +08:00
BZLZHH
93ca669929
[Refactor] (All): Restructure include system.
2025-08-09 23:10:34 +08:00
swung0x48
1d40f89dfe
[Feat] (MG_Util/Compiler): shader compiler WIP 2
2025-07-16 17:25:49 +08:00
BZLZHH
9194e1c97f
[Feat] (All): Continue building the basic structure.
2025-07-12 20:29:20 +08:00
BZLZHH
b76c23429f
[Feat] (All): Implement init, log and other related components.
2025-07-11 18:09:45 +08:00