mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-05-29 00:21:34 +08:00
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().