From a7a2e5a368ae91f902cd16cb199d37b1864faa5f 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 8439e79db..907742931 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)