Repository navigation
Fix full Cubism startup on macOS OpenGL core contexts - #99
Open
KevinGuo1007 wants to merge 197 commits into
Open
KevinGuo1007 wants to merge 197 commits into
KevinGuo1007 wants to merge 197 commits into
Conversation
docs:update README-zh_cn.md
3 tasks done
vladelaina
force-pushed
the
main
branch
2 times, most recently
from
October 5, 2026 14:26
6669996 to
1517cf3
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
📝 What's changed?
Addresses #39. A full Cubism build of source baseline
666999650f8afb405fa34dbf1ee0b98cd7145117crashes during the standard model's texture-loading stage on macOS arm64. Initialize and validate GLEW after the context becomes current, then adapt the pinned renderer to the existing macOS OpenGL 4.1 core context.current macOS OpenGL context:
The repair keeps the SDK versions, graphics version, built-in models, public API and settings format unchanged. Generated SDK adaptations leave the installed SDK untouched. Two real-application CLI regressions check startup and the complete model/settings flow; a smoke-only selection fallback allows fresh built-in-only storage to exercise settings model changes.
Evidence
-11) atmodel-load:texture-loading:standard. LLDB observes a valid current context and empty framebuffer entries; calling onlyglewInit()fills those entries and removes the original crash. Successive real red runs expose missing shader resources, GLSL 1.20 incompatibility and client-array use in the core context.After: the final startup verifier still rejects the preserved original binary (
-11, 0.718 s), and passes the repaired Debug binary (0, 2.524 s, 78/78 visible exact-standard frames, zero recorded GL errors) and Release binary (0, 2.104 s, 79/79 visible frames). A controlled missing-glBindFramebufferdebugger fault returns a named platform error, rolls the runtime count back to zero and exits cleanly with status 1.With the licensed pinned Cubism Native 5-r.5 SDK/GLEW 2.2.0 layout available, run serially on a graphical Mac with no other BongoCat instance (
CUBISM_SDKpoints to that SDK):Output directories must be new. Repeat the build with Release and startup with
--model=keyboardand--model=gamepadusing separate output directories. Inspect captured model frames and the native settings UI; pixel counts alone do not establish texture correctness. The missing-entry negative path currently needs LLDB fault injection. Ordinary PR CI uses the diagnostic backend when the licensed SDK is absent and cannot prove this Cubism path.Merge Danger
Door: Two-way
Revert the patch to restore previous behavior; no data migration or dependency upgrade is involved.
Blast Radius: Rendering
The new core-profile adapter and shader/resource staging are macOS-specific. Required-entry validation also runs on existing Windows/Linux GLEW paths, and frame diagnostics are shared. Remaining risk is unexecuted Windows/Intel Mac runtime coverage and SDK-sensitive generated-source anchors; the anchors fail configuration if the expected pinned source changes.