mirror of
https://github.com/RetroPortingToolKit/psxrecomp
synced 2026-10-28 02:56:36 -04:00
b509e8ffa7
Replaces the legacy immediate-mode present quad with a modern-GL pipeline: SDL_GL_GetProcAddress loader for the GL 2.0+/3.0 entry points, a compiled vertex+fragment present program, and a fullscreen-triangle draw via an empty VAO. Verified: Tomba renders correctly via the shader path (log "GL present path = shader", GL 4.6 NVIDIA). On any loader/compile/link failure it degrades to the immediate-mode quad, so present never black-screens. Rasterization still delegates to software (vtable unchanged) — this isolates and validates the shader/VAO plumbing that the GPU rasterizer builds on next: VRAM as a GL texture + an FBO at internal resolution, primitive shaders. Avoids GLchar/GLsizeiptr (absent in MinGW GL 1.1 headers) by spelling loaded prototypes with char/ptrdiff_t (ABI-identical). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>