diff --git a/include/gx2r/displaylist.h b/include/gx2r/displaylist.h new file mode 100644 index 00000000..6dde781b --- /dev/null +++ b/include/gx2r/displaylist.h @@ -0,0 +1,37 @@ +#pragma once +#include +#include "resource.h" + +/** + * \defgroup gx2r_displaylist Display List + * \ingroup gx2r + * @{ + */ + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct GX2RBuffer GX2RBuffer; + +void +GX2RBeginDisplayListEx(GX2RBuffer *displayList, + uint32_t unknown, + GX2RResourceFlags flags); + +uint32_t +GX2REndDisplayList(GX2RBuffer *displayList); + +void +GX2RCallDisplayList(GX2RBuffer *displayList, + uint32_t size); + +void +GX2RDirectCallDisplayList(GX2RBuffer *displayList, + uint32_t size); + +#ifdef __cplusplus +} +#endif + +/** @} */ diff --git a/rpl/libgx2/exports.h b/rpl/libgx2/exports.h index 660b866b..21a6b822 100644 --- a/rpl/libgx2/exports.h +++ b/rpl/libgx2/exports.h @@ -214,3 +214,9 @@ EXPORT(GX2RSetVertexUniformBlock); EXPORT(GX2RSetPixelUniformBlock); EXPORT(GX2RSetGeometryUniformBlock); +// gx2r/displaylist.h +EXPORT(GX2RBeginDisplayListEx); +EXPORT(GX2REndDisplayList); +EXPORT(GX2RCallDisplayList); +EXPORT(GX2RDirectCallDisplayList); +