28 lines
722 B
C
28 lines
722 B
C
#pragma once
|
|
#include "texture.h"
|
|
|
|
typedef struct
|
|
{
|
|
C3D_Tex colorBuf, depthBuf;
|
|
u32 clearColor, clearDepth;
|
|
int depthFmt;
|
|
} C3D_RenderBuf;
|
|
|
|
bool C3D_RenderBufInit(C3D_RenderBuf* rb, int width, int height, int colorFmt, int depthFmt);
|
|
void C3D_RenderBufClearAsync(C3D_RenderBuf* rb);
|
|
void C3D_RenderBufTransferAsync(C3D_RenderBuf* rb, u32* frameBuf, u32 flags);
|
|
void C3D_RenderBufBind(C3D_RenderBuf* rb);
|
|
void C3D_RenderBufDelete(C3D_RenderBuf* rb);
|
|
|
|
static inline void C3D_RenderBufClear(C3D_RenderBuf* rb)
|
|
{
|
|
C3D_RenderBufClearAsync(rb);
|
|
gspWaitForPSC0();
|
|
}
|
|
|
|
static inline void C3D_RenderBufTransfer(C3D_RenderBuf* rb, u32* frameBuf, u32 flags)
|
|
{
|
|
C3D_RenderBufTransferAsync(rb, frameBuf, flags);
|
|
gspWaitForPPF();
|
|
}
|