citro3d/include/c3d/renderbuffer.h
2017-02-09 19:45:33 +01:00

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();
}