diff options
Diffstat (limited to 'lib/ultralib/src/io/visetspecial.c')
| -rw-r--r-- | lib/ultralib/src/io/visetspecial.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/lib/ultralib/src/io/visetspecial.c b/lib/ultralib/src/io/visetspecial.c index 0a288e5..24b4367 100644 --- a/lib/ultralib/src/io/visetspecial.c +++ b/lib/ultralib/src/io/visetspecial.c @@ -1,7 +1,7 @@ #include "PR/os_internal.h" #include "PR/ultraerror.h" #include "PR/rcp.h" -#include "viint.h" +#include "PRinternal/viint.h" // TODO: this comes from a header #ident "$Revision: 1.17 $" @@ -15,6 +15,19 @@ #define OS_VI_SPECIAL_MAX OS_VI_DITHER_FILTER_OFF #endif +/** + * Configures VI "special features" to be applied on the next context swap. + * + * "Special features" refer to the mode bits in the Video Interface control register that enable effects such as gamma + * correction, gamma dither, dither filtering, anti-aliasing filtering and divot filtering. Configuring the same + * setting ON and OFF in the same call will result in OFF taking precedence. + * + * Any unrecognized bits will be ignored. Note that this is very intentional as in early revisions of retail N64 + * hardware setting bit 5 in the `features` field of OSViContext may cause physical damage to the console once it is + * fed to VI_CONTROL_REG on next context swap. + * + * @param func OS_VI_*_ON / OS_VI_*_OFF bits to enable or disable a setting. + */ void osViSetSpecialFeatures(u32 func) { register u32 saveMask; |
