2014-12-20 21:34:19 +01:00
|
|
|
#pragma once
|
|
|
|
#include "types.h"
|
|
|
|
#include "buffers.h"
|
|
|
|
#define C3D_DEFAULT_CMDBUF_SIZE 0x40000
|
|
|
|
|
|
|
|
bool C3D_Init(size_t cmdBufSize);
|
|
|
|
void C3D_FlushAsync(void);
|
|
|
|
void C3D_Fini(void);
|
|
|
|
|
2015-06-27 19:17:50 +02:00
|
|
|
void C3D_BindProgram(shaderProgram_s* program);
|
|
|
|
|
2015-03-07 23:41:32 +01:00
|
|
|
void C3D_SetViewport(u32 x, u32 y, u32 w, u32 h);
|
|
|
|
void C3D_SetScissor(GPU_SCISSORMODE mode, u32 x, u32 y, u32 w, u32 h);
|
|
|
|
|
2015-09-07 14:47:20 +02:00
|
|
|
void C3D_DrawArrays(GPU_Primitive_t primitive, int first, int size);
|
|
|
|
void C3D_DrawElements(GPU_Primitive_t primitive, int count, int type, const void* indices);
|
2014-12-20 21:34:19 +01:00
|
|
|
|
|
|
|
static inline void C3D_FlushAwait(void)
|
|
|
|
{
|
|
|
|
gspWaitForP3D();
|
|
|
|
}
|
|
|
|
|
|
|
|
static inline void C3D_Flush(void)
|
|
|
|
{
|
|
|
|
C3D_FlushAsync();
|
|
|
|
C3D_FlushAwait();
|
|
|
|
}
|