My Project
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules
gpu.c File Reference
#include <stdlib.h>
#include <string.h>
#include <3ds.h>

Go to the source code of this file.

Functions

void GPU_Init (Handle *gsphandle)
 
void GPUCMD_SetBuffer (u32 *adr, u32 size, u32 offset)
 
void GPUCMD_SetBufferOffset (u32 offset)
 
void GPUCMD_GetBuffer (u32 **adr, u32 *size, u32 *offset)
 
void GPUCMD_AddRawCommands (u32 *cmd, u32 size)
 
void GPUCMD_Run (u32 *gxbuf)
 
void GPUCMD_FlushAndRun (u32 *gxbuf)
 
void GPUCMD_Add (u32 cmd, u32 *param, u32 paramlength)
 
void GPUCMD_AddSingleParam (u32 cmd, u32 param)
 
void GPUCMD_Finalize ()
 
void GPU_Reset (u32 *gxbuf, u32 *gpuBuf, u32 gpuBufSize)
 
void GPU_SetUniform (u32 startreg, u32 *data, u32 numreg)
 
u32 f32tof24 (float f)
 
u32 computeInvValue (u32 val)
 
void GPU_SetViewport (u32 *depthBuffer, u32 *colorBuffer, u32 x, u32 y, u32 w, u32 h)
 
void GPU_SetScissorTest (GPU_SCISSORMODE mode, u32 x, u32 y, u32 w, u32 h)
 
void GPU_DepthRange (float nearVal, float farVal)
 
void GPU_SetAlphaTest (bool enable, GPU_TESTFUNC function, u8 ref)
 
void GPU_SetStencilTest (bool enable, GPU_TESTFUNC function, u8 ref, u8 mask, u8 replace)
 
void GPU_SetStencilOp (GPU_STENCILOP sfail, GPU_STENCILOP dfail, GPU_STENCILOP pass)
 
void GPU_SetDepthTestAndWriteMask (bool enable, GPU_TESTFUNC function, GPU_WRITEMASK writemask)
 
void GPU_SetAlphaBlending (GPU_BLENDEQUATION colorEquation, GPU_BLENDEQUATION alphaEquation, GPU_BLENDFACTOR colorSrc, GPU_BLENDFACTOR colorDst, GPU_BLENDFACTOR alphaSrc, GPU_BLENDFACTOR alphaDst)
 
void GPU_SetColorLogicOp (GPU_LOGICOP op)
 
void GPU_SetBlendingColor (u8 r, u8 g, u8 b, u8 a)
 
void GPU_SetTextureEnable (GPU_TEXUNIT units)
 
void GPU_SetTexture (GPU_TEXUNIT unit, u32 *data, u16 width, u16 height, u32 param, GPU_TEXCOLOR colorType)
 
void GPU_SetAttributeBuffers (u8 totalAttributes, u32 *baseAddress, u64 attributeFormats, u16 attributeMask, u64 attributePermutation, u8 numBuffers, u32 bufferOffsets[], u64 bufferPermutations[], u8 bufferNumAttributes[])
 
void GPU_SetAttributeBuffersAddress (u32 *baseAddress)
 
void GPU_SetFaceCulling (GPU_CULLMODE mode)
 
void GPU_SetTexEnv (u8 id, u16 rgbSources, u16 alphaSources, u16 rgbOperands, u16 alphaOperands, GPU_COMBINEFUNC rgbCombine, GPU_COMBINEFUNC alphaCombine, u32 constantColor)
 
void GPU_DrawArray (GPU_Primitive_t primitive, u32 n)
 
void GPU_DrawElements (GPU_Primitive_t primitive, u32 *indexArray, u32 n)
 
void GPU_FinishDrawing ()
 

Variables

u32gpuCmdBuf
 
u32 gpuCmdBufSize
 
u32 gpuCmdBufOffset
 
u32 __linear_heap_size
 
u32__linear_heap
 
u32 gpuResetSequence []
 
u32 gpuResetSequenceLength
 
const u8 GPU_FORMATSIZE [4] ={1,1,2,4}
 
const u8 GPU_TEVID [] ={0xC0,0xC8,0xD0,0xD8,0xF0,0xF8}
 

Function Documentation

u32 computeInvValue ( u32  val)

Definition at line 246 of file gpu.c.

u32 f32tof24 ( float  f)

Definition at line 234 of file gpu.c.

void GPU_DepthRange ( float  nearVal,
float  farVal 
)

Definition at line 322 of file gpu.c.

void GPU_DrawArray ( GPU_Primitive_t  primitive,
u32  n 
)

Definition at line 467 of file gpu.c.

void GPU_DrawElements ( GPU_Primitive_t  primitive,
u32 indexArray,
u32  n 
)

Definition at line 489 of file gpu.c.

void GPU_FinishDrawing ( )

Definition at line 510 of file gpu.c.

void GPU_Init ( Handle gsphandle)

Definition at line 13 of file gpu.c.

void GPU_Reset ( u32 gxbuf,
u32 gpuBuf,
u32  gpuBufSize 
)

Definition at line 104 of file gpu.c.

void GPU_SetAlphaBlending ( GPU_BLENDEQUATION  colorEquation,
GPU_BLENDEQUATION  alphaEquation,
GPU_BLENDFACTOR  colorSrc,
GPU_BLENDFACTOR  colorDst,
GPU_BLENDFACTOR  alphaSrc,
GPU_BLENDFACTOR  alphaDst 
)

Definition at line 349 of file gpu.c.

void GPU_SetAlphaTest ( bool  enable,
GPU_TESTFUNC  function,
u8  ref 
)

Definition at line 329 of file gpu.c.

void GPU_SetAttributeBuffers ( u8  totalAttributes,
u32 baseAddress,
u64  attributeFormats,
u16  attributeMask,
u64  attributePermutation,
u8  numBuffers,
u32  bufferOffsets[],
u64  bufferPermutations[],
u8  bufferNumAttributes[] 
)

Definition at line 403 of file gpu.c.

void GPU_SetAttributeBuffersAddress ( u32 baseAddress)

Definition at line 440 of file gpu.c.

void GPU_SetBlendingColor ( u8  r,
u8  g,
u8  b,
u8  a 
)

Definition at line 363 of file gpu.c.

void GPU_SetColorLogicOp ( GPU_LOGICOP  op)

Definition at line 357 of file gpu.c.

void GPU_SetDepthTestAndWriteMask ( bool  enable,
GPU_TESTFUNC  function,
GPU_WRITEMASK  writemask 
)

Definition at line 344 of file gpu.c.

void GPU_SetFaceCulling ( GPU_CULLMODE  mode)

Definition at line 445 of file gpu.c.

void GPU_SetScissorTest ( GPU_SCISSORMODE  mode,
u32  x,
u32  y,
u32  w,
u32  h 
)

Definition at line 312 of file gpu.c.

void GPU_SetStencilOp ( GPU_STENCILOP  sfail,
GPU_STENCILOP  dfail,
GPU_STENCILOP  pass 
)

Definition at line 339 of file gpu.c.

void GPU_SetStencilTest ( bool  enable,
GPU_TESTFUNC  function,
u8  ref,
u8  mask,
u8  replace 
)

Definition at line 334 of file gpu.c.

void GPU_SetTexEnv ( u8  id,
u16  rgbSources,
u16  alphaSources,
u16  rgbOperands,
u16  alphaOperands,
GPU_COMBINEFUNC  rgbCombine,
GPU_COMBINEFUNC  alphaCombine,
u32  constantColor 
)

Definition at line 452 of file gpu.c.

void GPU_SetTexture ( GPU_TEXUNIT  unit,
u32 data,
u16  width,
u16  height,
u32  param,
GPU_TEXCOLOR  colorType 
)

Definition at line 374 of file gpu.c.

void GPU_SetTextureEnable ( GPU_TEXUNIT  units)

Definition at line 368 of file gpu.c.

void GPU_SetUniform ( u32  startreg,
u32 data,
u32  numreg 
)

Definition at line 225 of file gpu.c.

void GPU_SetViewport ( u32 depthBuffer,
u32 colorBuffer,
u32  x,
u32  y,
u32  w,
u32  h 
)

Definition at line 270 of file gpu.c.

void GPUCMD_Add ( u32  cmd,
u32 param,
u32  paramlength 
)

Definition at line 63 of file gpu.c.

void GPUCMD_AddRawCommands ( u32 cmd,
u32  size 
)

Definition at line 39 of file gpu.c.

void GPUCMD_AddSingleParam ( u32  cmd,
u32  param 
)

Definition at line 88 of file gpu.c.

void GPUCMD_Finalize ( )

Definition at line 93 of file gpu.c.

void GPUCMD_FlushAndRun ( u32 gxbuf)

Definition at line 56 of file gpu.c.

void GPUCMD_GetBuffer ( u32 **  adr,
u32 size,
u32 offset 
)

Definition at line 32 of file gpu.c.

void GPUCMD_Run ( u32 gxbuf)

Definition at line 47 of file gpu.c.

void GPUCMD_SetBuffer ( u32 adr,
u32  size,
u32  offset 
)

Definition at line 20 of file gpu.c.

void GPUCMD_SetBufferOffset ( u32  offset)

Definition at line 27 of file gpu.c.

Variable Documentation

u32* __linear_heap

Definition at line 9 of file initSystem.c.

u32 __linear_heap_size
const u8 GPU_FORMATSIZE[4] ={1,1,2,4}

Definition at line 401 of file gpu.c.

const u8 GPU_TEVID[] ={0xC0,0xC8,0xD0,0xD8,0xF0,0xF8}

Definition at line 450 of file gpu.c.

u32* gpuCmdBuf

Definition at line 9 of file gpu.c.

u32 gpuCmdBufOffset

Definition at line 11 of file gpu.c.

u32 gpuCmdBufSize

Definition at line 10 of file gpu.c.

u32 gpuResetSequence[]

Definition at line 3 of file gpuResetSequence.c.

u32 gpuResetSequenceLength

Definition at line 172 of file gpuResetSequence.c.