• v0.6.0 464be47c71

    archiver-bot released this 2026-09-28 20:57:50 -05:00 | 47 commits to main since this release

    Fast compute dispatches. glDispatchCompute used to run synchronously, costing about 1.1 ms of CPU per dispatch. It is now queued in the driver's batched command stream, with no CPU wait, and costs about 15-35 us.

    • CPU cache flushes: a resource is flushed only if the CPU wrote it since it was last flushed. Results a dispatch writes are invalidated at the next CPU access instead of after every dispatch.
    • Batched execution: dispatches go into the deferred batch. On the GPU, each dispatch waits for earlier draws and later draws wait for it, so glMemoryBarrier keeps its ordering. A barrier no longer submits the batch while only queued dispatches are pending.
    • Program cache: compiled compute programs are cached per shader. Command memory for each dispatch is pooled and reused once its batch retires.
    • Synchronous fallback: dispatches with private/scratch memory, writes to persistently mapped buffers and indirect-argument readback still run synchronously. They benefit from the flush changes.

    Measured on a PS5 with a local build of the same source (the OpenGL 4.6 showcase at 4K, with its 11-pass bloom as compute):

    CPU ms/frame 0.5.0 0.6.0
    compute bloom, 11 dispatches 12.6 0.17
    frame rate 48 FPS 120 FPS

    The ps5-opengl-showcase zip is the OpenGL 4.6 showcase demo app (PPSA99005), built against this SDK. Extract it and upload its PPSA99005 folder to /data/homebrew/.

    This is an experimental OpenGL 4.6 Core / GLSL 4.60 SDK, built by CI from tag v0.6.0. Host tests, compiler tests, the capability audit and relocated Make/pkg-config/CMake consumer checks passed. These CI-built binaries have NOT themselves been run on a PS5. Hardware results belong to the local build noted above.

    Downloads