The GL contexts' CreateDrawContext made the thin3d presets and ContextReset made them again,
leaking the first set on every context reset. Only ContextReset makes them now.
The software renderer draws the same frame dumps on arm64 as on x86-64, so the frametests run
on the arm64 runner too. b.sh --aarch64 and setup-cross.sh aarch64 give a headless build to run
them under qemu locally.
LibretroGLCoreContext is the backend for RETRO_HW_CONTEXT_OPENGL_CORE,
so the frontend hands us a desktop GL Core profile context. But
CreateDrawContext() never told GLFeatures about it — useCoreContext
stayed at its default false and gl_extensions.IsCoreContext stayed
false, so the macOS Core-profile workaround at GLFeatures.cpp:532
(which force-enables ARB_framebuffer_object because Apple's Core
driver doesn't list it as an extension) never fired.
Every glBindFramebuffer(GL_FRAMEBUFFER, g_defaultFBO) in
GLQueueRunner::fbo_unbind then fell through both branches and silently
no-op'd, so the BackBuffer present pass rendered into nothing and
GL_INVALID_OPERATION accumulated. End result: black screen on macOS,
audio and game logic still working.
One-line fix: call SetGLCoreContext(true) before CheckGLExtensions().
* Rename LogType to Log
* Explicitly use the Log:: enum when logging. Allows for autocomplete when editing.
* Mac/ARM64 buildfix
* Do the same with the hle result log macros
* Rename the log names to mixed case while at it.
* iOS buildfix
* Qt buildfix attempt, ARM32 buildfix