From ca11c2d64a46f602bc209a1314d222c914df5ceb Mon Sep 17 00:00:00 2001 From: riperiperi Date: Sun, 16 Oct 2022 23:25:40 +0100 Subject: [PATCH] Fix primitive count calculation for topology conversion (#3763) Luigi's Mansion 3 performs a non-index quads draw with 6 vertices. It's meant to ignore the last two, but the index pattern's primitive count calculation was rounding up. No idea why the game does this but this should fix random triangles in the map. --- Ryujinx.Graphics.Vulkan/IndexBufferPattern.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Ryujinx.Graphics.Vulkan/IndexBufferPattern.cs b/Ryujinx.Graphics.Vulkan/IndexBufferPattern.cs index 8439e79dbf..9077429316 100644 --- a/Ryujinx.Graphics.Vulkan/IndexBufferPattern.cs +++ b/Ryujinx.Graphics.Vulkan/IndexBufferPattern.cs @@ -38,7 +38,7 @@ namespace Ryujinx.Graphics.Vulkan public int GetPrimitiveCount(int vertexCount) { - return Math.Max(0, ((vertexCount - BaseIndex) + IndexStride - 1) / IndexStride); + return Math.Max(0, (vertexCount - BaseIndex) / IndexStride); } public int GetConvertedCount(int indexCount)