Skip to content

Commit

Permalink
gx2: Add GX2AllocateTilingApertureEx and GX2FreeTilingAperture
Browse files Browse the repository at this point in the history
  • Loading branch information
GaryOderNichts committed Jun 8, 2024
1 parent 09e36bf commit 795b103
Show file tree
Hide file tree
Showing 2 changed files with 63 additions and 0 deletions.
62 changes: 62 additions & 0 deletions include/gx2/aperture.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
#pragma once
#include <wut.h>
#include "enum.h"
#include "surface.h"

/**
* \defgroup gx2_aperture Aperture
* \ingroup gx2
* @{
*/

#ifdef __cplusplus
extern "C" {
#endif

typedef uint32_t GX2ApertureHandle;

/**
* Allocates a tiling aperture.
* This function creates a linear and untiled buffer to read from and write to the surface.
* The total size of the buffer will be width * height * bpp.
*
* \param surface
* A pointer to the surface to create the tiling aperture for.
*
* \param level
* The level of the surface to create the tiling aperture for.
*
* \param depth
* The depth of the surface to create the tiling aperture for.
*
* \param endian
* The endian swap mode.
*
* \param outHandle
* A pointer to store the handle for the aperture.
*
* \param outAddress
* A pointer to store the address for the aperture.
*/
void
GX2AllocateTilingApertureEx(GX2Surface *surface,
uint32_t level,
uint32_t depth,
GX2EndianSwapMode endian,
GX2ApertureHandle *outHandle,
void **outAddress);

/**
* Frees an allocated tiling aperture.
*
* \param handle
* The handle of the tiling aperture which should be freed.
*/
void
GX2FreeTilingAperture(GX2ApertureHandle handle);

#ifdef __cplusplus
}
#endif

/** @} */
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@
#include <coreinit/userconfig.h>
#include <dmae/mem.h>
#include <dmae/sync.h>
#include <gx2/aperture.h>
#include <gx2/clear.h>
#include <gx2/context.h>
#include <gx2/debug.h>
Expand Down

0 comments on commit 795b103

Please sign in to comment.