From 39d439fc48ef44d0a28113a10cb796cd8989f944 Mon Sep 17 00:00:00 2001 From: magumagu Date: Thu, 8 May 2014 16:53:18 -0700 Subject: Opcode decoding: handle missing opcodes 0x88 etc. Hardware testing shows that they do the same thing as the 0x80 family of opcodes: they draw quads. --- Source/Core/VideoBackends/Software/SetupUnit.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'Source/Core/VideoBackends/Software/SetupUnit.cpp') diff --git a/Source/Core/VideoBackends/Software/SetupUnit.cpp b/Source/Core/VideoBackends/Software/SetupUnit.cpp index 560e1d4863..da62490c50 100644 --- a/Source/Core/VideoBackends/Software/SetupUnit.cpp +++ b/Source/Core/VideoBackends/Software/SetupUnit.cpp @@ -25,6 +25,7 @@ void SetupUnit::SetupVertex() switch (m_PrimType) { case GX_DRAW_QUADS: + case GX_DRAW_QUADS_2: SetupQuad(); break; case GX_DRAW_TRIANGLES: -- cgit v1.2.3 From 9b82d720705c8e6fd34c336a92dde5a8b10471b9 Mon Sep 17 00:00:00 2001 From: magumagu Date: Sat, 17 May 2014 11:55:32 -0700 Subject: Video backends: warn on usage of GL_DRAW_QUADS_2. It's not normally used, so if it shows up, it could indicate a CPU emulation bug. --- Source/Core/VideoBackends/Software/SetupUnit.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'Source/Core/VideoBackends/Software/SetupUnit.cpp') diff --git a/Source/Core/VideoBackends/Software/SetupUnit.cpp b/Source/Core/VideoBackends/Software/SetupUnit.cpp index da62490c50..171350db60 100644 --- a/Source/Core/VideoBackends/Software/SetupUnit.cpp +++ b/Source/Core/VideoBackends/Software/SetupUnit.cpp @@ -25,7 +25,10 @@ void SetupUnit::SetupVertex() switch (m_PrimType) { case GX_DRAW_QUADS: + SetupQuad(); + break; case GX_DRAW_QUADS_2: + WARN_LOG(VIDEO, "Non-standard primitive drawing command GL_DRAW_QUADS_2"); SetupQuad(); break; case GX_DRAW_TRIANGLES: -- cgit v1.2.3