diff options
| author | Léo Lam <leo@leolam.fr> | 2021-04-07 01:46:21 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-04-07 01:46:21 +0200 |
| commit | f18743ab8976d8361da82ddef3c406426d8d2a66 (patch) | |
| tree | 03369063cd7e5c5ed7dec15432f46b2628e509a4 /Source/Core/VideoCommon/XFStructs.cpp | |
| parent | c1617460a182f5ea8579e5604a999dcf0734c2ce (diff) | |
| parent | f32b771f7ad81b2e128a4265f797eddba2e99427 (diff) | |
Merge pull request #9576 from Pokechu22/invalid-gfx-reg-quirk
Add game quirks for unknown BP/CP/XF commands
Diffstat (limited to 'Source/Core/VideoCommon/XFStructs.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/XFStructs.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/Source/Core/VideoCommon/XFStructs.cpp b/Source/Core/VideoCommon/XFStructs.cpp index 741680b826..9ceaf2edc1 100644 --- a/Source/Core/VideoCommon/XFStructs.cpp +++ b/Source/Core/VideoCommon/XFStructs.cpp @@ -9,6 +9,7 @@ #include "Common/Logging/Log.h" #include "Common/Swap.h" +#include "Core/DolphinAnalytics.h" #include "Core/HW/Memmap.h" #include "VideoCommon/CPMemory.h" @@ -182,6 +183,7 @@ static void XFRegWritten(int transferSize, u32 baseAddress, DataReader src) case 0x104d: case 0x104e: case 0x104f: + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::USES_UNKNOWN_XF_COMMAND); DEBUG_LOG_FMT(VIDEO, "Possible Normal Mtx XF reg?: {:x}={:x}", address, newValue); break; @@ -192,8 +194,8 @@ static void XFRegWritten(int transferSize, u32 baseAddress, DataReader src) case 0x1017: default: - if (newValue != 0) // Ignore writes of zero. - WARN_LOG_FMT(VIDEO, "Unknown XF Reg: {:x}={:x}", address, newValue); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::USES_UNKNOWN_XF_COMMAND); + WARN_LOG_FMT(VIDEO, "Unknown XF Reg: {:x}={:x}", address, newValue); break; } @@ -211,6 +213,7 @@ void LoadXFReg(u32 transferSize, u32 baseAddress, DataReader src) if (baseAddress + transferSize > XFMEM_REGISTERS_END) { WARN_LOG_FMT(VIDEO, "XF load exceeds address space: {:x} {} bytes", baseAddress, transferSize); + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::USES_UNKNOWN_XF_COMMAND); if (baseAddress >= XFMEM_REGISTERS_END) transferSize = 0; |
