Citro3d
Loading...
Searching...
No Matches
internal.h File Reference
#include <c3d/attribs.h>
#include <c3d/buffers.h>
#include <c3d/proctex.h>
#include <c3d/light.h>
#include <c3d/framebuffer.h>
#include <c3d/texenv.h>
#include <c3d/fog.h>

Go to the source code of this file.

Classes

struct  C3D_Effect
 
struct  C3D_Context
 

Macros

#define C3D_UNUSED   __attribute__((unused))
 
#define C3DiF_ProcTexLut(n)   BIT(20+(n))
 
#define C3DiF_Tex(n)   BIT(23+(n))
 
#define C3DiF_TexEnv(n)   BIT(26+(n))
 

Enumerations

enum  {
  C3DiF_Active = BIT(0) , C3DiF_DrawUsed = BIT(1) , C3DiF_AttrInfo = BIT(2) , C3DiF_BufInfo = BIT(3) ,
  C3DiF_Effect = BIT(4) , C3DiF_FrameBuf = BIT(5) , C3DiF_Viewport = BIT(6) , C3DiF_Scissor = BIT(7) ,
  C3DiF_Program = BIT(8) , C3DiF_TexEnvBuf = BIT(9) , C3DiF_LightEnv = BIT(10) , C3DiF_VshCode = BIT(11) ,
  C3DiF_GshCode = BIT(12) , C3DiF_TexStatus = BIT(14) , C3DiF_ProcTex = BIT(15) , C3DiF_ProcTexColorLut = BIT(16) ,
  C3DiF_FogLut = BIT(17) , C3DiF_Gas = BIT(18) , C3DiF_GasLut = BIT(19) , C3DiF_ProcTexLutAll = 7 << 20 ,
  C3DiF_TexAll = 7 << 23 , C3DiF_TexEnvAll = 0x3F << 26
}
 
enum  { C3DiG_BeginAcc = BIT(0) , C3DiG_AccStage = BIT(1) , C3DiG_SetAccMax = BIT(2) , C3DiG_RenderStage = BIT(3) }
 

Functions

void C3Di_UpdateContext (void)
 
void C3Di_AttrInfoBind (C3D_AttrInfo *info)
 
void C3Di_BufInfoBind (C3D_BufInfo *info)
 
void C3Di_FrameBufBind (C3D_FrameBuf *fb)
 
void C3Di_TexEnvBind (int id, C3D_TexEnv *env)
 
void C3Di_SetTex (int unit, C3D_Tex *tex)
 
void C3Di_EffectBind (C3D_Effect *effect)
 
void C3Di_GasUpdate (C3D_Context *ctx)
 
void C3Di_LightMtlBlend (C3D_Light *light)
 
void C3Di_DirtyUniforms (GPU_SHADER_TYPE type)
 
void C3Di_LoadShaderUniforms (shaderInstance_s *si)
 
void C3Di_ClearShaderUniforms (GPU_SHADER_TYPE type)
 
bool C3Di_SplitFrame (u32 **pBuf, u32 *pSize)
 
void C3Di_RenderQueueInit (void)
 
void C3Di_RenderQueueExit (void)
 
void C3Di_RenderQueueWaitDone (void)
 
void C3Di_RenderQueueEnableVBlank (void)
 
void C3Di_RenderQueueDisableVBlank (void)
 

Macro Definition Documentation

◆ C3D_UNUSED

#define C3D_UNUSED   __attribute__((unused))

Definition at line 10 of file internal.h.

◆ C3DiF_ProcTexLut

#define C3DiF_ProcTexLut (   n)    BIT(20+(n))

Definition at line 95 of file internal.h.

◆ C3DiF_Tex

#define C3DiF_Tex (   n)    BIT(23+(n))

Definition at line 97 of file internal.h.

◆ C3DiF_TexEnv

#define C3DiF_TexEnv (   n)    BIT(26+(n))

Definition at line 99 of file internal.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
C3DiF_Active 
C3DiF_DrawUsed 
C3DiF_AttrInfo 
C3DiF_BufInfo 
C3DiF_Effect 
C3DiF_FrameBuf 
C3DiF_Viewport 
C3DiF_Scissor 
C3DiF_Program 
C3DiF_TexEnvBuf 
C3DiF_LightEnv 
C3DiF_VshCode 
C3DiF_GshCode 
C3DiF_TexStatus 
C3DiF_ProcTex 
C3DiF_ProcTexColorLut 
C3DiF_FogLut 
C3DiF_Gas 
C3DiF_GasLut 
C3DiF_ProcTexLutAll 
C3DiF_TexAll 
C3DiF_TexEnvAll 

Definition at line 73 of file internal.h.

◆ anonymous enum

anonymous enum
Enumerator
C3DiG_BeginAcc 
C3DiG_AccStage 
C3DiG_SetAccMax 
C3DiG_RenderStage 

Definition at line 103 of file internal.h.

Function Documentation

◆ C3Di_AttrInfoBind()

void C3Di_AttrInfoBind ( C3D_AttrInfo *  info)

Definition at line 59 of file attribs.c.

◆ C3Di_BufInfoBind()

void C3Di_BufInfoBind ( C3D_BufInfo *  info)

Definition at line 49 of file buffers.c.

◆ C3Di_ClearShaderUniforms()

void C3Di_ClearShaderUniforms ( GPU_SHADER_TYPE  type)

Definition at line 129 of file uniforms.c.

◆ C3Di_DirtyUniforms()

void C3Di_DirtyUniforms ( GPU_SHADER_TYPE  type)

Definition at line 87 of file uniforms.c.

◆ C3Di_EffectBind()

void C3Di_EffectBind ( C3D_Effect effect)

Definition at line 90 of file effect.c.

◆ C3Di_FrameBufBind()

void C3Di_FrameBufBind ( C3D_FrameBuf *  fb)

Definition at line 49 of file framebuffer.c.

◆ C3Di_GasUpdate()

void C3Di_GasUpdate ( C3D_Context ctx)

Definition at line 153 of file gas.c.

◆ C3Di_LightMtlBlend()

void C3Di_LightMtlBlend ( C3D_Light *  light)

Definition at line 3 of file light.c.

◆ C3Di_LoadShaderUniforms()

void C3Di_LoadShaderUniforms ( shaderInstance_s *  si)

Definition at line 99 of file uniforms.c.

◆ C3Di_RenderQueueDisableVBlank()

void C3Di_RenderQueueDisableVBlank ( void  )

Definition at line 108 of file renderqueue.c.

◆ C3Di_RenderQueueEnableVBlank()

void C3Di_RenderQueueEnableVBlank ( void  )

Definition at line 102 of file renderqueue.c.

◆ C3Di_RenderQueueExit()

void C3Di_RenderQueueExit ( void  )

Definition at line 125 of file renderqueue.c.

◆ C3Di_RenderQueueInit()

void C3Di_RenderQueueInit ( void  )

Definition at line 114 of file renderqueue.c.

◆ C3Di_RenderQueueWaitDone()

void C3Di_RenderQueueWaitDone ( void  )

Definition at line 146 of file renderqueue.c.

◆ C3Di_SetTex()

void C3Di_SetTex ( int  unit,
C3D_Tex *  tex 
)

Definition at line 265 of file texture.c.

◆ C3Di_SplitFrame()

bool C3Di_SplitFrame ( u32 **  pBuf,
u32 *  pSize 
)

Definition at line 309 of file base.c.

◆ C3Di_TexEnvBind()

void C3Di_TexEnvBind ( int  id,
C3D_TexEnv *  env 
)

Definition at line 40 of file texenv.c.

◆ C3Di_UpdateContext()

void C3Di_UpdateContext ( void  )

Definition at line 158 of file base.c.