From 1aa10b579a017257e74d4c26d2aab36944c55949 Mon Sep 17 00:00:00 2001 From: degasus Date: Wed, 10 Apr 2013 12:45:44 +0200 Subject: [PATCH] fix triangle_fan size calculation wasn't updated for the new primitive restart implementation --- Source/Core/VideoCommon/Src/IndexGenerator.cpp | 4 ++-- Source/Core/VideoCommon/Src/VertexManagerBase.cpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Source/Core/VideoCommon/Src/IndexGenerator.cpp b/Source/Core/VideoCommon/Src/IndexGenerator.cpp index 5f95f30884..28c62193c2 100644 --- a/Source/Core/VideoCommon/Src/IndexGenerator.cpp +++ b/Source/Core/VideoCommon/Src/IndexGenerator.cpp @@ -191,8 +191,8 @@ template void IndexGenerator::AddFan(u32 numVerts) * or as strip: 1203, 5647 * * Warning: - * A simple triangle have to be rendered for three vertices. - * SMS do this for sun rays + * A simple triangle has to be rendered for three vertices. + * ZWW do this for sun rays */ template void IndexGenerator::AddQuads(u32 numVerts) { diff --git a/Source/Core/VideoCommon/Src/VertexManagerBase.cpp b/Source/Core/VideoCommon/Src/VertexManagerBase.cpp index d85548bf1f..567621964f 100644 --- a/Source/Core/VideoCommon/Src/VertexManagerBase.cpp +++ b/Source/Core/VideoCommon/Src/VertexManagerBase.cpp @@ -85,7 +85,7 @@ u32 VertexManager::GetRemainingIndices(int primitive) case GX_DRAW_TRIANGLE_STRIP: return (MAXIBUFFERSIZE - IndexGenerator::GetTriangleindexLen()) / 1 - 1; case GX_DRAW_TRIANGLE_FAN: - return (MAXIBUFFERSIZE - IndexGenerator::GetTriangleindexLen()) / 4 + 2; + return (MAXIBUFFERSIZE - IndexGenerator::GetTriangleindexLen()) / 6 * 4 + 1; case GX_DRAW_LINES: return (MAXIBUFFERSIZE - IndexGenerator::GetLineindexLen());