From 2b50e52e4815f5dc2306ebfec6b15625ff864839 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)