From cf00f971675fdafccf72c8a3235a14081d8a1a8d Mon Sep 17 00:00:00 2001 From: James Benton Date: Sun, 9 Oct 2016 20:58:15 +0100 Subject: [PATCH] gx2r: Add gx2r surface functions. --- include/gx2r/surface.h | 53 ++++++++++++++++++++++++++++++++++++++++++ rpl/libgx2/exports.h | 8 +++++++ 2 files changed, 61 insertions(+) create mode 100644 include/gx2r/surface.h diff --git a/include/gx2r/surface.h b/include/gx2r/surface.h new file mode 100644 index 00000000..a4753e73 --- /dev/null +++ b/include/gx2r/surface.h @@ -0,0 +1,53 @@ +#pragma once +#include +#include "resource.h" + +/** + * \defgroup gx2r_surface Surface + * \ingroup gx2r + * @{ + */ + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct GX2Surface GX2Surface; + +bool +GX2RCreateSurface(GX2Surface *surface, + GX2RResourceFlags flags); + +bool +GX2RCreateSurfaceUserMemory(GX2Surface *surface, + uint8_t *image, + uint8_t *mipmap, + GX2RResourceFlags flags); + +void +GX2RDestroySurfaceEx(GX2Surface *surface, + GX2RResourceFlags flags); + +BOOL +GX2RIsGX2RSurface(GX2RResourceFlags flags); + +void +GX2RInvalidateSurface(GX2Surface *surface, + int32_t level, + GX2RResourceFlags flags); + +void * +GX2RLockSurfaceEx(GX2Surface *surface, + int32_t level, + GX2RResourceFlags flags); + +void +GX2RUnlockSurfaceEx(GX2Surface *surface, + int32_t level, + GX2RResourceFlags flags); + +#ifdef __cplusplus +} +#endif + +/** @} */ diff --git a/rpl/libgx2/exports.h b/rpl/libgx2/exports.h index 61ee1225..28ff482b 100644 --- a/rpl/libgx2/exports.h +++ b/rpl/libgx2/exports.h @@ -229,3 +229,11 @@ EXPORT(GX2RInvalidateMemory); EXPORT(GX2RIsUserMemory); EXPORT(GX2RSetAllocator); +// gx2r/surface.h +EXPORT(GX2RCreateSurface); +EXPORT(GX2RCreateSurfaceUserMemory); +EXPORT(GX2RDestroySurfaceEx); +EXPORT(GX2RIsGX2RSurface); +EXPORT(GX2RInvalidateSurface); +EXPORT(GX2RLockSurfaceEx); +EXPORT(GX2RUnlockSurfaceEx);