Gfx VI API Matrix - wowjinxy/libPorpoise GitHub Wiki
Gfx - VI API Matrix
Function-by-function tracking list for libPorpoise VI coverage.
Legend:
- Status:
Untriaged/Implemented/Partial/Stub/Missing/Removed - Check the box when status + notes are verified against behavior and tests.
Video API
-
VIInit- Status: Implemented - Notes:src/vi/VI.cinitializes SDL/GL VI state and retrace alarm; API + behavior reviewed againstreference/man/gfx/vi/VIInit.html. -
VIConfigure- Status: Implemented - Notes: Queues mode/XFB/pan defaults into shadow state and applies viaVIFlushon next field; mode format/scan extracted fromviTVmode. -
VIConfigurePan- Status: Partial - Notes: Pan parameters are tracked/latch throughVIFlushtiming, but PC presenter does not yet apply pan crop/offset in output blit. -
VISetBlack- Status: Implemented - Notes: Black toggle is shadowed and takes effect only afterVIFlush+ retrace, matching manual timing. -
VIFlush- Status: Implemented - Notes: Latches pending VI state (VIConfigure*,VISetNextFrameBuffer,VISetBlack) for application at next retrace as documented. -
VIWaitForRetrace- Status: Implemented - Notes: Blocks until retrace counter advances; pumps window events while waiting. -
VISetNextFrameBuffer- Status: Implemented - Notes: Framebuffer switch now follows documented sequencing (VISetNextFrameBuffer->VIFlush-> next retrace). -
VIGetRetraceCount- Status: Implemented - Notes: Returns retrace count incremented by retrace emulator alarm. -
VIGetNextField- Status: Implemented - Notes: Returns toggled field (VI_FIELD_ABOVE/VI_FIELD_BELOW) each retrace. -
VIPadFrameBufferWidth- Status: Implemented - Notes: Macro ininclude/dolphin/vi.hpads width to 16-pixel boundary per docs. -
VIGetTvFormat- Status: Implemented - Notes: Returns active TV format derived from currentviTVmode(VIConfigure/__VIInit). -
VISetPreRetraceCallback- Status: Implemented - Notes: Callback hook works; current header/API returns previous callback pointer even though man page text showsvoid. -
VISetPostRetraceCallback- Status: Implemented - Notes: Callback hook works; current header/API returns previous callback pointer even though man page text showsvoid.
Removed Functions
-
VIConfigureXFrameBuffer- Status: Removed - Notes: Official VI man page states this API was merged intoVIConfigure; no standalone symbol expected. -
VIConfigureTVScreen- Status: Removed - Notes: Official VI man page states this API was merged intoVIConfigure; no standalone symbol expected.