Why use it
Template dispatch is resolved at compile time and normally adds no runtime indirection. The API maps closely to PSX GPU work, giving predictable ordering and low overhead.
PSYQO SDK
Function template · 1 overload
Reads a 32-bits value from a GTE register.
template <Register reg, Safety safety = Safe> static inline uint32_t readRaw()Reads a 32-bits value from a GTE register.
This overload takes no parameters.
Returns: uint32_t — uint32_t The value read from the register.
#include "psyqo/gte-registers.hh"
// Replace these template arguments with types or values accepted by the declaration:
// reg, safety
auto result = psyqo::GTE::readRaw<reg, safety>();Template dispatch is resolved at compile time and normally adds no runtime indirection. The API maps closely to PSX GPU work, giving predictable ordering and low overhead.
Every instantiated type must satisfy the header's compile-time requirements; extra instantiations can increase code size. Respect packet lifetime, ordering-table direction and per-frame GPU/VRAM budgets; submission is not a desktop immediate-mode draw call.
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