From 2f7243b5ebadb05df3d8d0eb8578a20a9909c8cb Mon Sep 17 00:00:00 2001 From: Peter Tissen Date: Sun, 19 Jan 2014 13:36:53 +0100 Subject: [PATCH] Don't truncate spline/bezier through mode Don't truncate the through mode bit in the vertex type during normalization. Normalization is used to convert different vertex types to a singular normalized one but the through-mode bit should be preserved. This only affects (fixes) spline and bezier draw commands. The only thing that was broken was games that drew splines/beziers with through-mode and have matricies that differ significantly from the identity (didn't load identity before drawing). This should not break anything and fix #5087 . --- GPU/GLES/Spline.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GPU/GLES/Spline.cpp b/GPU/GLES/Spline.cpp index 8ecd6c63a1..0e054173ff 100644 --- a/GPU/GLES/Spline.cpp +++ b/GPU/GLES/Spline.cpp @@ -124,7 +124,7 @@ u32 TransformDrawEngine::NormalizeVertices(u8 *outPtr, u8 *bufPtr, const u8 *inP } // Okay, there we are! Return the new type (but keep the index bits) - return GE_VTYPE_TC_FLOAT | GE_VTYPE_COL_8888 | GE_VTYPE_NRM_FLOAT | GE_VTYPE_POS_FLOAT | (vertType & GE_VTYPE_IDX_MASK); + return GE_VTYPE_TC_FLOAT | GE_VTYPE_COL_8888 | GE_VTYPE_NRM_FLOAT | GE_VTYPE_POS_FLOAT | (vertType & (GE_VTYPE_IDX_MASK | GE_VTYPE_THROUGH)); } u32 TransformDrawEngine::NormalizeVertices(u8 *outPtr, u8 *bufPtr, const u8 *inPtr, int lowerBound, int upperBound, u32 vertType) {