ReXGlue SDK
Loading...
Searching...
No Matches
register.h File Reference

Register layouts and the register file. More...

#include <cstdint>
#include <cstdlib>
#include <utility>
#include <bit>
#include <cstddef>
#include <cstring>
#include <algorithm>
#include <optional>
#include <rex/platform.h>
#include <rex/assert.h>
#include <rex/types.h>
#include <rex/xenos/format.h>
#include <rex/xenos/state.h>
#include <rex/xenos/fetch.h>
#include <rex/title.h>
#include <rex/xenos/register_table.inc>

Go to the source code of this file.

Classes

union  rex::xenos::reg::COHER_STATUS_HOST
union  rex::xenos::reg::WAIT_UNTIL
union  rex::xenos::reg::SQ_PROGRAM_CNTL
union  rex::xenos::reg::SQ_CONTEXT_MISC
union  rex::xenos::reg::SQ_INTERPOLATOR_CNTL
union  rex::xenos::reg::SQ_VS_CONST
union  rex::xenos::reg::SQ_PS_CONST
union  rex::xenos::reg::VGT_DMA_SIZE
union  rex::xenos::reg::VGT_DRAW_INITIATOR
union  rex::xenos::reg::VGT_MULTI_PRIM_IB_RESET_INDX
union  rex::xenos::reg::VGT_INDX_OFFSET
union  rex::xenos::reg::VGT_MIN_VTX_INDX
union  rex::xenos::reg::VGT_MAX_VTX_INDX
union  rex::xenos::reg::VGT_OUTPUT_PATH_CNTL
union  rex::xenos::reg::VGT_HOS_CNTL
union  rex::xenos::reg::PA_SU_POINT_MINMAX
union  rex::xenos::reg::PA_SU_POINT_SIZE
union  rex::xenos::reg::PA_SU_SC_MODE_CNTL
union  rex::xenos::reg::PA_SU_VTX_CNTL
union  rex::xenos::reg::PA_SC_MPASS_PS_CNTL
union  rex::xenos::reg::PA_SC_VIZ_QUERY
union  rex::xenos::reg::PA_CL_CLIP_CNTL
union  rex::xenos::reg::PA_CL_VTE_CNTL
union  rex::xenos::reg::PA_SC_SCREEN_SCISSOR_TL
union  rex::xenos::reg::PA_SC_SCREEN_SCISSOR_BR
union  rex::xenos::reg::PA_SC_WINDOW_OFFSET
union  rex::xenos::reg::PA_SC_WINDOW_SCISSOR_TL
union  rex::xenos::reg::PA_SC_WINDOW_SCISSOR_BR
union  rex::xenos::reg::RB_MODECONTROL
union  rex::xenos::reg::RB_SURFACE_INFO
union  rex::xenos::reg::RB_COLORCONTROL
union  rex::xenos::reg::RB_COLOR_INFO
union  rex::xenos::reg::RB_COLOR_MASK
union  rex::xenos::reg::RB_BLENDCONTROL
union  rex::xenos::reg::RB_DEPTHCONTROL
union  rex::xenos::reg::RB_STENCILREFMASK
union  rex::xenos::reg::RB_DEPTH_INFO
union  rex::xenos::reg::RB_COPY_CONTROL
union  rex::xenos::reg::RB_COPY_DEST_INFO
union  rex::xenos::reg::RB_COPY_DEST_PITCH
union  rex::xenos::reg::DC_LUT_RW_INDEX
union  rex::xenos::reg::DC_LUT_SEQ_COLOR
union  rex::xenos::reg::DC_LUT_PWL_DATA
union  rex::xenos::reg::DC_LUT_30_COLOR
struct  rex::xenos::RegisterInfo
class  rex::xenos::RegisterFile

Namespaces

namespace  rex
namespace  rex::xenos::reg

Macros

#define REXGPU_REGISTER(index, type, name)

Enumerations

enum class  Register : u16

Functions

std::optional< u32 > rex::xenos::ReadFixedRegister (u32 index, const VideoMode &mode)

Variables

constexpr u32 rex::xenos::kViewportLimit = 0x0FFF

Detailed Description

Register layouts and the register file.

Xenia : Xbox 360 Emulator Research Project *

Copyright 2025 Ben Vanik. All rights reserved. * Released under the BSD license - see LICENSE in the root for more details. *

Modified
Tom Clay, 2026 - Adapted for ReXGlue runtime
Remarks
Parts derived from Xenia (Ben Vanik, 2014).

Macro Definition Documentation

◆ REXGPU_REGISTER

#define REXGPU_REGISTER ( index,
type,
name )
Value:
name = (index),

Defines an enumerator of Register, once per register in the register table.

Parameters
indexDword register index.
typeValue type, unused here.
nameEnumerator name.

Function Documentation

◆ ReadFixedRegister()

std::optional< u32 > rex::xenos::ReadFixedRegister ( u32 index,
const VideoMode & mode )
inline

Returns the value a title reads from a register that reports the display mode or a fixed value, or empty when the register is not one of these.

Variable Documentation

◆ kViewportLimit

u32 rex::xenos::kViewportLimit = 0x0FFF
inlineconstexpr

Largest width or height the viewport size register reports.