ReXGlue SDK
Loading...
Searching...
No Matches
rex::xenos::RegisterFile Class Reference

Public Member Functions

template<typename T>
T Get (u32 reg) const
template<typename T>
T Get (Register reg) const
template<typename T>
T Get () const
xenos::VertexFetch GetVertexFetch (u32 index) const
xenos::TextureFetch GetTextureFetch (u32 index) const
xenos::MemExportStream GetMemExportStream (u32 float_constant_index) const
const u32 & operator[] (u32 reg) const
u32 & operator[] (u32 reg)
const u32 & operator[] (Register reg) const
u32 & operator[] (Register reg)

Static Public Member Functions

static const RegisterInfo * GetRegisterInfo (u32 index)

Public Attributes

u32 values [kRegisterCount] {}

Static Public Attributes

static constexpr size_t kRegisterCount = 0x5003

Member Function Documentation

◆ Get() [1/3]

template<typename T>
T rex::xenos::RegisterFile::Get ( ) const
inline

Reads the register that a register layout declares as its own.

Template Parameters
TRegister layout declaring kRegisterIndex.
Returns
The register bits as T.

◆ Get() [2/3]

template<typename T>
T rex::xenos::RegisterFile::Get ( Register reg) const
inline

Reinterprets a register value as a register layout or other 32 bit type.

Template Parameters
TType with the size of a register.
Returns
The register bits as T.

◆ Get() [3/3]

template<typename T>
T rex::xenos::RegisterFile::Get ( u32 reg) const
inline

Reinterprets a register value as a register layout or other 32 bit type.

Template Parameters
TType with the size of a register.
Parameters
regDword register index.
Returns
The register bits as T.

◆ GetMemExportStream()

xenos::MemExportStream rex::xenos::RegisterFile::GetMemExportStream ( u32 float_constant_index) const
inline

Reads a memory export stream constant from a float shader constant.

Parameters
float_constant_indexFloat constant index, below 512.
Returns
Copy of the memory export stream constant.

◆ GetRegisterInfo()

const RegisterInfo * rex::xenos::RegisterFile::GetRegisterInfo ( u32 index)
static

Looks up a register in the register table.

Parameters
indexDword register index.
Returns
Name and type of the register, or null when the index is not in the table.

◆ GetTextureFetch()

xenos::TextureFetch rex::xenos::RegisterFile::GetTextureFetch ( u32 index) const
inline

Reads a texture fetch constant from the shader fetch constant registers.

Parameters
indexFetch constant slot, below 32.
Returns
Copy of the texture fetch constant.

◆ GetVertexFetch()

xenos::VertexFetch rex::xenos::RegisterFile::GetVertexFetch ( u32 index) const
inline

Reads a vertex fetch constant from the shader fetch constant registers.

Parameters
indexFetch constant slot, below 96.
Returns
Copy of the vertex fetch constant.

◆ operator[]() [1/4]

u32 & rex::xenos::RegisterFile::operator[] ( Register reg)
inline

Returns a register value by dword register index or by register.

◆ operator[]() [2/4]

const u32 & rex::xenos::RegisterFile::operator[] ( Register reg) const
inline

Returns a register value by dword register index or by register.

◆ operator[]() [3/4]

u32 & rex::xenos::RegisterFile::operator[] ( u32 reg)
inline

Returns a register value by dword register index or by register.

◆ operator[]() [4/4]

const u32 & rex::xenos::RegisterFile::operator[] ( u32 reg) const
inline

Returns a register value by dword register index or by register.

Member Data Documentation

◆ kRegisterCount

size_t rex::xenos::RegisterFile::kRegisterCount = 0x5003
staticconstexpr

Number of dword registers, 1 past the highest register index.


The documentation for this class was generated from the following file: