17 bool ownsColor, ownsDepth;
101 #if defined(__GNUC__) && !defined(__cplusplus)
119 #define C3D_DEPTHTYPE_OK(_x) ((_x).__i >= 0)
120 #define C3D_DEPTHTYPE_VAL(_x) ((_x).__e)
Process render target framebuffer.
void C3D_FrameBufClear(C3D_FrameBuf *fb, C3D_ClearBits clearBits, u32 clearColor, u32 clearDepth)
Sets the clear bits and color for a framebuffer.
C3D_ClearBits
Flags for C3D_FrameBufClear.
Definition: framebuffer.h:23
__attribute__((warn_unused_result)) rbtree_node_t *rbtree_insert(rbtree_t *tree
void C3D_FrameEndHook(void(*hook)(void *), void *param)
Executes callback upon C3D_FrameEnd().
static void C3D_RenderTargetDetachOutput(C3D_RenderTarget *target)
Detaches render target from screen output.
Definition: renderqueue.h:163
bool C3D_FrameDrawOn(C3D_RenderTarget *target)
Specifies render target to draw frame to.
C3D_RenderTarget * C3D_RenderTargetCreateFromTex(C3D_Tex *tex, GPU_TEXFACE face, int level, C3D_DEPTHTYPE depthFmt)
Constructs render target for texture.
void C3D_FrameSplit(u8 flags)
Splits and submits the GPU cmdlist in the middle of a renderqueue frame.
void C3D_SyncTextureCopy(u32 *inadr, u32 indim, u32 *outadr, u32 outdim, u32 size, u32 flags)
Synchronizes and initiates a texture copy. Synchronizes and initiates a GX_TextureCopy().
void C3D_FrameSync(void)
Performs framerate limiting. Waits for the required amount of vblanks specified by C3D_FrameRate().
float C3D_GetProcessingTime(void)
Gets time elapsed between last C3D_FrameBegin() and C3D_FrameEnd().
float C3D_GetDrawingTime(void)
Gets time spent by the GPU during last render.
u32 C3D_FrameCounter(int id)
Returns total number of frames drawn.
static void C3D_RenderTargetClear(C3D_RenderTarget *target, C3D_ClearBits clearBits, u32 clearColor, u32 clearDepth)
Clears framebuffer of target.
Definition: renderqueue.h:175
bool C3D_FrameBegin(u8 flags)
Begins drawing frame.
void C3D_SyncMemoryFill(u32 *buf0a, u32 buf0v, u32 *buf0e, u16 control0, u32 *buf1a, u32 buf1v, u32 *buf1e, u16 control1)
Synchronizes and fills the memory of two buffers with the given values. Synchronizes and initiates a ...
C3D_RenderTarget * C3D_RenderTargetCreate(int width, int height, GPU_COLORBUF colorFmt, C3D_DEPTHTYPE depthFmt)
Creates a new render target.
float C3D_FrameRate(float fps)
Specifies framerate cap. Specifies target framerate for C3D_FrameSync().
void C3D_RenderTargetSetOutput(C3D_RenderTarget *target, gfxScreen_t screen, gfx3dSide_t side, u32 transferFlags)
Sets render target output to screen.
@ C3D_FRAME_SYNCDRAW
Perform C3D_FrameSync() before checking the GPU status.
Definition: renderqueue.h:28
@ C3D_FRAME_NONBLOCK
Return false instead of waiting if the GPU is busy.
Definition: renderqueue.h:29
void C3D_SyncDisplayTransfer(u32 *inadr, u32 indim, u32 *outadr, u32 outdim, u32 flags)
Synchronizes and initiates a display transfer. Synchronizes and initiates a GX_DisplayTransfer().
void C3D_RenderTargetDelete(C3D_RenderTarget *target)
Deletes render target.
void C3D_FrameEnd(u8 flags)
Ends drawing frame.
Definition: framebuffer.h:9
Definition: renderqueue.h:12
Texture data.
Definition: texture.h:16
Definition: renderqueue.h:109