Notes
- Max 8 views is generous. Most games use 1-2 (main + HUD overlay).
- The
submitcallback is where game code does per-view rendering. Shachi doesn’t own the scene graph — game code does. - PVR2 doesn’t support multiple render targets per scene. “Views” with different viewports all submit to the same scene. True render-to-texture requires a separate begin/finish cycle (future spec).
- VMU rendering is decoupled from PVR2. It’s a Maple bus operation.
Spec 6: Cooperative
Task System (shachi/task.h)
Problem
DC games need cooperative multitasking for disc streaming, AI
ticking, and scene loading without blocking the render loop. KOS has
full preemptive threads (kos/thread.h) and worker threads
(kos/worker_thread.h), but preemptive threading on SH-4 at
200MHz is expensive (context switch + cache flush). Games need lighter
cooperative tasks.