GraphicsSystem: Properly support register file reads/writes, and fill in some unknown registers

This commit is contained in:
Dr. Chat
2017-06-11 13:00:31 -05:00
parent 6ab4bac542
commit 9dc740dcc0
2 changed files with 43 additions and 30 deletions

View File

@@ -18,6 +18,8 @@
XE_GPU_REGISTER(0x01DD, kDword, SCRATCH_ADDR)
XE_GPU_REGISTER(0x01DC, kDword, SCRATCH_UMSK)
XE_GPU_REGISTER(0x045E, kDword, CALLBACK_ACK)
XE_GPU_REGISTER(0x0578, kDword, SCRATCH_REG0) // interrupt sync
XE_GPU_REGISTER(0x0579, kDword, SCRATCH_REG1) // present interval
XE_GPU_REGISTER(0x057A, kDword, SCRATCH_REG2)
@@ -48,6 +50,7 @@ XE_GPU_REGISTER(0x0C85, kDword, PA_CL_ENHANCE)
XE_GPU_REGISTER(0x0E42, kDword, UNKNOWN_0E42)
XE_GPU_REGISTER(0x0F01, kDword, RB_BC_CONTROL)
XE_GPU_REGISTER(0x0F02, kDword, RB_EDRAM_INFO)
// D1*, LUT, and AVIVO registers taken from libxenon and https://www.x.org/docs/AMD/old/RRG-216M56-03oOEM.pdf
XE_GPU_REGISTER(0x1838, kDword, D1MODE_MASTER_UPDATE_LOCK)
@@ -62,6 +65,7 @@ XE_GPU_REGISTER(0x1925, kDword, DC_LUT_30_COLOR)
XE_GPU_REGISTER(0x1927, kDword, DC_LUT_WRITE_EN_MASK)
XE_GPU_REGISTER(0x1930, kDword, DC_LUTA_CONTROL)
XE_GPU_REGISTER(0x1961, kDword, AVIVO_D1MODE_VIEWPORT_SIZE)
XE_GPU_REGISTER(0x1964, kDword, AVIVO_D1SCL_SCALER_ENABLE)
XE_GPU_REGISTER(0x1973, kDword, AVIVO_D1SCL_UPDATE)
@@ -119,7 +123,7 @@ XE_GPU_REGISTER(0x21F9, kDword, VGT_EVENT_INITIATOR)
XE_GPU_REGISTER(0x2200, kDword, RB_DEPTHCONTROL)
XE_GPU_REGISTER(0x2201, kDword, RB_BLENDCONTROL_0)
XE_GPU_REGISTER(0x2202, kDword, RB_COLORCONTROL)
XE_GPU_REGISTER(0x2203, kDword, RB_TILECONTROL)
XE_GPU_REGISTER(0x2203, kDword, RB_HIZCONTROL)
XE_GPU_REGISTER(0x2204, kDword, PA_CL_CLIP_CNTL)
XE_GPU_REGISTER(0x2205, kDword, PA_SU_SC_MODE_CNTL)
XE_GPU_REGISTER(0x2206, kDword, PA_CL_VTE_CNTL)
@@ -2507,9 +2511,9 @@ XE_GPU_REGISTER(0x4925, kDword, SHADER_CONSTANT_LOOP_29)
XE_GPU_REGISTER(0x4926, kDword, SHADER_CONSTANT_LOOP_30)
XE_GPU_REGISTER(0x4927, kDword, SHADER_CONSTANT_LOOP_31)
XE_GPU_REGISTER(0x5000, kDword, UNKNOWN_5000)
XE_GPU_REGISTER(0x5001, kDword, UNKNOWN_5001)
XE_GPU_REGISTER(0x5002, kDword, UNKNOWN_5002)
XE_GPU_REGISTER(0x5000, kDword, SHADER_CONSTANT_FLUSH_FETCH_0)
XE_GPU_REGISTER(0x5001, kDword, SHADER_CONSTANT_FLUSH_FETCH_1)
XE_GPU_REGISTER(0x5002, kDword, SHADER_CONSTANT_FLUSH_FETCH_2)
// Ignored because I have no clue what these are.
// XE_GPU_REGISTER(0x8D00, kDword, UNKNOWN_8D00)