Why use it
Template dispatch is resolved at compile time and normally adds no runtime indirection.
PSYQO SDK
Function template · 1 overload
Waits for a specific status to be set in a register.
template <typename T> static void waitForStatus(T mask, T expected, const volatile T* value)Waits for a specific status to be set in a register.
| Parameter | Type | Meaning |
|---|---|---|
mask | T | The mask to apply to the register. |
expected | T | The expected value of the register after applying the mask. |
value | const volatile T * | The address of the register to wait for. |
Returns: Nothing (void).
#include "psyqo/kernel.hh"
// Replace these template arguments with types or values accepted by the declaration:
// T
// Assume these named values have been initialized with valid data:
// T mask
// T expected
// const volatile T * value
psyqo::Kernel::waitForStatus<T>(mask, expected, value);Template dispatch is resolved at compile time and normally adds no runtime indirection.
Every instantiated type must satisfy the header's compile-time requirements; extra instantiations can increase code size. Pointer/reference arguments are borrowed unless the source contract says otherwise; keep them valid for the complete operation and never assume null is accepted.
Declared in https://github.com/pcsx-redux/nugget/blob/6186b131aacc5853a9161fb076ed34ffe504552d/psyqo/kernel.hh:118
adler32Computes the adler32 checksum of a buffer.Functionadler32_bytesComputes the adler32 checksum of a buffer, only reading bytes.Functionadler32_wordsComputes the adler32 checksum of a buffer, optimized for words.Functionavsz3AVSZ3 - Average of three Z values (for Triangles) zsf3 * (sz0 + sz1 + sz2) -> otz 5 cyclesFunctionavsz4AVSZ4 - Average of four Z values (for Quads) zsf4 * (sz0 + sz1 + sz2 + sz4) -> otz 6 cyclesFunctionbtoiPerforms `btoi` as part of the msf module.FunctionclearClear a GTE register.Function templatecubicCubic Bezier curve helper function.FunctiondDivPerforms `d div` as part of the fixed point module.FunctioniDivPerforms `i div` as part of the fixed point module.Functionoperator""_fpUser-defined literal for constructing a 20.12 fixed point number.FunctionprintIntPerforms `print int` as part of the fixed point module.Function