citro3d  1.2.0
Functions | Variables
renderqueue.c File Reference
#include "internal.h"
#include <c3d/base.h>
#include <c3d/renderqueue.h>
#include <stdlib.h>
Include dependency graph for renderqueue.c:

Functions

static void C3Di_RenderTargetDestroy (C3D_RenderTarget *target)
 
static bool framerateLimit (int id)
 
static void onVBlank0 (C3D_UNUSED void *unused)
 
static void onVBlank1 (C3D_UNUSED void *unused)
 
static void onQueueFinish (gxCmdQueue_s *queue)
 
void C3D_FrameSync (void)
 
u32 C3D_FrameCounter (int id)
 
static bool C3Di_WaitAndClearQueue (s64 timeout)
 
void C3Di_RenderQueueEnableVBlank (void)
 
void C3Di_RenderQueueDisableVBlank (void)
 
void C3Di_RenderQueueInit (void)
 
void C3Di_RenderQueueExit (void)
 
void C3Di_RenderQueueWaitDone (void)
 
float C3D_FrameRate (float fps)
 
bool C3D_FrameBegin (u8 flags)
 
bool C3D_FrameDrawOn (C3D_RenderTarget *target)
 
void C3D_FrameSplit (u8 flags)
 
void C3D_FrameEnd (u8 flags)
 
void C3D_FrameEndHook (void(*hook)(void *), void *param)
 
float C3D_GetDrawingTime (void)
 
float C3D_GetProcessingTime (void)
 
static C3D_RenderTarget * C3Di_RenderTargetNew (void)
 
static void C3Di_RenderTargetFinishInit (C3D_RenderTarget *target)
 
C3D_RenderTarget * C3D_RenderTargetCreate (int width, int height, GPU_COLORBUF colorFmt, C3D_DEPTHTYPE depthFmt)
 
C3D_RenderTarget * C3D_RenderTargetCreateFromTex (C3D_Tex *tex, GPU_TEXFACE face, int level, C3D_DEPTHTYPE depthFmt)
 
void C3D_RenderTargetDelete (C3D_RenderTarget *target)
 
void C3D_RenderTargetSetOutput (C3D_RenderTarget *target, gfxScreen_t screen, gfx3dSide_t side, u32 transferFlags)
 
static void C3Di_SafeDisplayTransfer (u32 *inadr, u32 indim, u32 *outadr, u32 outdim, u32 flags)
 
static void C3Di_SafeTextureCopy (u32 *inadr, u32 indim, u32 *outadr, u32 outdim, u32 size, u32 flags)
 
static void C3Di_SafeMemoryFill (u32 *buf0a, u32 buf0v, u32 *buf0e, u16 control0, u32 *buf1a, u32 buf1v, u32 *buf1e, u16 control1)
 
void C3D_SyncDisplayTransfer (u32 *inadr, u32 indim, u32 *outadr, u32 outdim, u32 flags)
 
void C3D_SyncTextureCopy (u32 *inadr, u32 indim, u32 *outadr, u32 outdim, u32 size, u32 flags)
 
void C3D_SyncMemoryFill (u32 *buf0a, u32 buf0v, u32 *buf0e, u16 control0, u32 *buf1a, u32 buf1v, u32 *buf1e, u16 control1)
 

Variables

static C3D_RenderTarget * firstTarget
 
static C3D_RenderTarget * lastTarget
 
static C3D_RenderTarget * linkedTarget [3]
 
static TickCounter gpuTime
 
static TickCounter cpuTime
 
static bool inFrame
 
static bool inSafeTransfer
 
static bool measureGpuTime
 
static bool needSwapTop
 
static bool needSwapBot
 
static bool isTopStereo
 
static float framerate = 60.0f
 
static float framerateCounter [2] = { 60.0f, 60.0f }
 
static u32 frameCounter [2]
 
static void(* frameEndCb )(void *)
 
static void * frameEndCbData
 

Function Documentation

◆ C3D_FrameBegin()

bool C3D_FrameBegin ( u8  flags)

◆ C3D_FrameCounter()

u32 C3D_FrameCounter ( int  id)

◆ C3D_FrameDrawOn()

bool C3D_FrameDrawOn ( C3D_RenderTarget *  target)

◆ C3D_FrameEnd()

void C3D_FrameEnd ( u8  flags)

◆ C3D_FrameEndHook()

void C3D_FrameEndHook ( void(*)(void *)  hook,
void *  param 
)

◆ C3D_FrameRate()

float C3D_FrameRate ( float  fps)

◆ C3D_FrameSplit()

void C3D_FrameSplit ( u8  flags)

◆ C3D_FrameSync()

void C3D_FrameSync ( void  )

◆ C3D_GetDrawingTime()

float C3D_GetDrawingTime ( void  )

◆ C3D_GetProcessingTime()

float C3D_GetProcessingTime ( void  )

◆ C3D_RenderTargetCreate()

C3D_RenderTarget* C3D_RenderTargetCreate ( int  width,
int  height,
GPU_COLORBUF  colorFmt,
C3D_DEPTHTYPE  depthFmt 
)

◆ C3D_RenderTargetCreateFromTex()

C3D_RenderTarget* C3D_RenderTargetCreateFromTex ( C3D_Tex tex,
GPU_TEXFACE  face,
int  level,
C3D_DEPTHTYPE  depthFmt 
)

◆ C3D_RenderTargetDelete()

void C3D_RenderTargetDelete ( C3D_RenderTarget *  target)

◆ C3D_RenderTargetSetOutput()

void C3D_RenderTargetSetOutput ( C3D_RenderTarget *  target,
gfxScreen_t  screen,
gfx3dSide_t  side,
u32  transferFlags 
)

◆ C3D_SyncDisplayTransfer()

void C3D_SyncDisplayTransfer ( u32 *  inadr,
u32  indim,
u32 *  outadr,
u32  outdim,
u32  flags 
)

◆ C3D_SyncMemoryFill()

void C3D_SyncMemoryFill ( u32 *  buf0a,
u32  buf0v,
u32 *  buf0e,
u16  control0,
u32 *  buf1a,
u32  buf1v,
u32 *  buf1e,
u16  control1 
)

◆ C3D_SyncTextureCopy()

void C3D_SyncTextureCopy ( u32 *  inadr,
u32  indim,
u32 *  outadr,
u32  outdim,
u32  size,
u32  flags 
)

◆ C3Di_RenderQueueDisableVBlank()

void C3Di_RenderQueueDisableVBlank ( void  )

◆ C3Di_RenderQueueEnableVBlank()

void C3Di_RenderQueueEnableVBlank ( void  )

◆ C3Di_RenderQueueExit()

void C3Di_RenderQueueExit ( void  )

◆ C3Di_RenderQueueInit()

void C3Di_RenderQueueInit ( void  )

◆ C3Di_RenderQueueWaitDone()

void C3Di_RenderQueueWaitDone ( void  )

◆ C3Di_RenderTargetDestroy()

void C3Di_RenderTargetDestroy ( C3D_RenderTarget *  target)
static

◆ C3Di_RenderTargetFinishInit()

static void C3Di_RenderTargetFinishInit ( C3D_RenderTarget *  target)
static

◆ C3Di_RenderTargetNew()

static C3D_RenderTarget* C3Di_RenderTargetNew ( void  )
static

◆ C3Di_SafeDisplayTransfer()

static void C3Di_SafeDisplayTransfer ( u32 *  inadr,
u32  indim,
u32 *  outadr,
u32  outdim,
u32  flags 
)
static

◆ C3Di_SafeMemoryFill()

static void C3Di_SafeMemoryFill ( u32 *  buf0a,
u32  buf0v,
u32 *  buf0e,
u16  control0,
u32 *  buf1a,
u32  buf1v,
u32 *  buf1e,
u16  control1 
)
static

◆ C3Di_SafeTextureCopy()

static void C3Di_SafeTextureCopy ( u32 *  inadr,
u32  indim,
u32 *  outadr,
u32  outdim,
u32  size,
u32  flags 
)
static

◆ C3Di_WaitAndClearQueue()

static bool C3Di_WaitAndClearQueue ( s64  timeout)
static

◆ framerateLimit()

static bool framerateLimit ( int  id)
static

◆ onQueueFinish()

static void onQueueFinish ( gxCmdQueue_s *  queue)
static

◆ onVBlank0()

static void onVBlank0 ( C3D_UNUSED void *  unused)
static

◆ onVBlank1()

static void onVBlank1 ( C3D_UNUSED void *  unused)
static

Variable Documentation

◆ cpuTime

TickCounter cpuTime
static

◆ firstTarget

C3D_RenderTarget* firstTarget
static

◆ frameCounter

u32 frameCounter[2]
static

◆ frameEndCb

void(* frameEndCb) (void *) ( void *  )
static

◆ frameEndCbData

void* frameEndCbData
static

◆ framerate

float framerate = 60.0f
static

◆ framerateCounter

float framerateCounter[2] = { 60.0f, 60.0f }
static

◆ gpuTime

TickCounter gpuTime
static

◆ inFrame

bool inFrame
static

◆ inSafeTransfer

bool inSafeTransfer
static

◆ isTopStereo

bool isTopStereo
static

◆ lastTarget

C3D_RenderTarget * lastTarget
static

◆ linkedTarget

C3D_RenderTarget* linkedTarget[3]
static

◆ measureGpuTime

bool measureGpuTime
static

◆ needSwapBot

bool needSwapBot
static

◆ needSwapTop

bool needSwapTop
static