From 9f6a5660e8f138053ba03dc5f9b6bdf7950c3263 Mon Sep 17 00:00:00 2001 From: Subv Date: Thu, 5 Jul 2018 13:01:31 -0500 Subject: GPU: Allow using the old NV04 values for the depth test function. These seem to be just a valid as the GL token values. Thanks @ReinUsesLisp This restores graphical output to Disgaea 5 --- src/video_core/engines/maxwell_3d.h | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) (limited to 'src/video_core/engines') diff --git a/src/video_core/engines/maxwell_3d.h b/src/video_core/engines/maxwell_3d.h index cc1f90de6..5a7cf0107 100644 --- a/src/video_core/engines/maxwell_3d.h +++ b/src/video_core/engines/maxwell_3d.h @@ -281,14 +281,26 @@ public: }; enum class ComparisonOp : u32 { - Never = 0, - Less = 1, - Equal = 2, - LessEqual = 3, - Greater = 4, - NotEqual = 5, - GreaterEqual = 6, - Always = 7, + // These values are used by Nouveau and most games, they correspond to the OpenGL token + // values for these operations. + Never = 0x200, + Less = 0x201, + Equal = 0x202, + LessEqual = 0x203, + Greater = 0x204, + NotEqual = 0x205, + GreaterEqual = 0x206, + Always = 0x207, + + // These values are used by some games, they seem to be NV04 values. + NeverOld = 1, + LessOld = 2, + EqualOld = 3, + LessEqualOld = 4, + GreaterOld = 5, + NotEqualOld = 6, + GreaterEqualOld = 7, + AlwaysOld = 8, }; struct Cull { @@ -482,7 +494,7 @@ public: u32 d3d_cull_mode; - BitField<0, 3, ComparisonOp> depth_test_func; + ComparisonOp depth_test_func; INSERT_PADDING_WORDS(0xB); -- cgit v1.2.3