diff --git a/libctru/include/3ds/gpu/enums.h b/libctru/include/3ds/gpu/enums.h index e9b0bdb..9bd0db7 100644 --- a/libctru/include/3ds/gpu/enums.h +++ b/libctru/include/3ds/gpu/enums.h @@ -184,6 +184,18 @@ typedef enum GPU_EARLYDEPTH_LESS = 3, ///< Pass if less than. } GPU_EARLYDEPTHFUNC; +/// Gas depth functions. +typedef enum +{ + GPU_GAS_NEVER = 0, ///< Never pass (0). + GPU_GAS_ALWAYS = 1, ///< Always pass (1). + GPU_GAS_GREATER = 2, ///< Pass if greater than (1-X). + GPU_GAS_LESS = 3, ///< Pass if less than (X). +} GPU_GASDEPTHFUNC; + +/// Converts \ref GPU_TESTFUNC into \ref GPU_GASDEPTHFUNC. +#define GPU_MAKEGASDEPTHFUNC(n) (GPU_GASDEPTHFUNC)((0xAF02>>((int)(n)<<1))&3) + /// Scissor test modes. typedef enum { diff --git a/libctru/include/3ds/gpu/registers.h b/libctru/include/3ds/gpu/registers.h index 4aed7f6..e9443ce 100644 --- a/libctru/include/3ds/gpu/registers.h +++ b/libctru/include/3ds/gpu/registers.h @@ -311,7 +311,7 @@ #define GPUREG_GAS_LIGHT_Z_COLOR 0x0122 ///< Unknown. #define GPUREG_GAS_LUT_INDEX 0x0123 ///< Unknown. #define GPUREG_GAS_LUT_DATA 0x0124 ///< Unknown. -#define GPUREG_0125 0x0125 ///< Unknown. +#define GPUREG_GAS_ACCMAX_FEEDBACK 0x0125 ///< Unknown. #define GPUREG_GAS_DELTAZ_DEPTH 0x0126 ///< Unknown. #define GPUREG_0127 0x0127 ///< Unknown. #define GPUREG_0128 0x0128 ///< Unknown.