Nugget
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages Concepts
Enumerations | Functions
psyqo::GTE::Kernels Namespace Reference

The GTE math kernels. More...

Enumerations

enum  SF : unsigned { Unshifted , Shifted }
 
enum  LM : unsigned { Unlimited , Limited }
 
enum class  MX : unsigned { RT , LL , LC }
 
enum class  MV : unsigned { V0 , V1 , V2 , IR }
 
enum class  TV : unsigned { TR , BK , FC , Zero }
 

Functions

template<MX mx, MV v, TV cv = TV::Zero, SF sf = Shifted, LM lm = Unlimited>
void mvmva ()
 

Detailed Description

The GTE math kernels.

This namespace contains all of the PS1 GTE math kernels. They are not necessarily meant to be used directly, but they are still exposed publicly as they may be useful to some. Their usage is delicate, as the compiler will not be able to understand the interlocking nature of the GTE, and thus will not be able to add the necessary hazard stalls. This means that the programmer must be careful to add the necessary stalls themselves.

Enumeration Type Documentation

◆ LM

enum psyqo::GTE::Kernels::LM : unsigned
Enumerator
Unlimited 
Limited 

◆ MV

enum class psyqo::GTE::Kernels::MV : unsigned
strong
Enumerator
V0 
V1 
V2 
IR 

◆ MX

enum class psyqo::GTE::Kernels::MX : unsigned
strong
Enumerator
RT 
LL 
LC 

◆ SF

enum psyqo::GTE::Kernels::SF : unsigned
Enumerator
Unshifted 
Shifted 

◆ TV

enum class psyqo::GTE::Kernels::TV : unsigned
strong
Enumerator
TR 
BK 
FC 
Zero 

Function Documentation

◆ mvmva()

template<MX mx, MV v, TV cv = TV::Zero, SF sf = Shifted, LM lm = Unlimited>
void psyqo::GTE::Kernels::mvmva ( )