- Removed double buffered gpu cmdbuffer (might be added back later)
- Added a global gxCmdQueue which by default is configured to run
commands as they arrive (in the future it might be double buffered)
- Added C3D_FrameSync for explicitly waiting for "vblank"
- Repurposed C3D_FRAME_SYNCDRAW to perform C3D_FrameSync
- Added C3D_FrameSplit for splitting/submitting the gpu cmdlist in the
middle of a renderqueue frame
- C3D_RenderTargetSetClear is still supported, however it's unofficially
deprecated (it's performed after drawing/transferring instead of before
drawing, which is pretty counter-intuitive)
- C3D_RenderTargetSetOutput is explicitly NOT deprecated since it's
necessary to avoid screen tearing when transferring to the screen
framebuffers (this stems from a Nintendo design flaw where screen swap
processing is done immediately after GX transfers finish)
- The color buffer is mandatory, and it can either be a simple buffer
(whose allocation lifetime managed automatically by citro3d), or be
linked to a texture
- The depth buffer is optional, and it can only be a simple buffer
- Added C3D_RenderTargetCreateFromTex
- Clear bits in C3D_RenderTargetSetClear now work properly