diff options
| author | Tillmann Karras <tilkax@gmail.com> | 2021-08-15 04:36:08 +0100 |
|---|---|---|
| committer | Tillmann Karras <tilkax@gmail.com> | 2021-08-15 04:41:49 +0100 |
| commit | f9d2d42a4c44459d391d5e48060f6b0aa303c5e9 (patch) | |
| tree | 0ce619a9e06862d81e3fe8203b3fe18f1e1d585e /Source/Core/VideoCommon/XFStructs.cpp | |
| parent | fd8a818a93427c5aab34931edaf548e33e8f9fc8 (diff) | |
VideoCommon: report games that set bits in XFMEM_CLIPDISABLE
The SDK only exposes the lowest bit. The Nintendo Channel intro is currently
broken because we don't implement this (see issue 12562).
Diffstat (limited to 'Source/Core/VideoCommon/XFStructs.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/XFStructs.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/Source/Core/VideoCommon/XFStructs.cpp b/Source/Core/VideoCommon/XFStructs.cpp index ce763ada69..ebf9e8efab 100644 --- a/Source/Core/VideoCommon/XFStructs.cpp +++ b/Source/Core/VideoCommon/XFStructs.cpp @@ -48,10 +48,16 @@ static void XFRegWritten(int transferSize, u32 baseAddress, DataReader src) break; case XFMEM_CLIPDISABLE: - // if (data & 1) {} // disable clipping detection - // if (data & 2) {} // disable trivial rejection - // if (data & 4) {} // disable cpoly clipping acceleration + { + ClipDisable setting{.hex = newValue}; + if (setting.disable_clipping_detection) + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::SETS_XF_CLIPDISABLE_BIT_0); + if (setting.disable_trivial_rejection) + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::SETS_XF_CLIPDISABLE_BIT_1); + if (setting.disable_cpoly_clipping_acceleration) + DolphinAnalytics::Instance().ReportGameQuirk(GameQuirk::SETS_XF_CLIPDISABLE_BIT_2); break; + } case XFMEM_VTXSPECS: //__GXXfVtxSpecs, wrote 0004 break; |
