From 51afbdd4904e9d59ea5b9d58b393c980865a3825 Mon Sep 17 00:00:00 2001 From: xebra Date: Tue, 16 Dec 2014 22:27:45 +0900 Subject: [PATCH] [spline/bezier]Fix the remains of differences between dx9 and opengl. --- GPU/Directx9/GPU_DX9.cpp | 4 ++-- GPU/Directx9/SplineDX9.cpp | 4 ++-- GPU/Directx9/TransformPipelineDX9.cpp | 2 +- GPU/Directx9/TransformPipelineDX9.h | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/GPU/Directx9/GPU_DX9.cpp b/GPU/Directx9/GPU_DX9.cpp index c6d908cda..c276adf58 100644 --- a/GPU/Directx9/GPU_DX9.cpp +++ b/GPU/Directx9/GPU_DX9.cpp @@ -799,7 +799,7 @@ void DIRECTX9_GPU::Execute_Bezier(u32 op, u32 diff) { indices = Memory::GetPointerUnchecked(gstate_c.indexAddr); } - if (gstate.getPatchPrimitiveType() != GE_PATCHPRIM_TRIANGLES) { + if (gstate.getPatchPrimitiveType() == GE_PATCHPRIM_UNKNOWN) { ERROR_LOG_REPORT(G3D, "Unsupported patch primitive %x", gstate.getPatchPrimitiveType()); return; } @@ -840,7 +840,7 @@ void DIRECTX9_GPU::Execute_Spline(u32 op, u32 diff) { indices = Memory::GetPointerUnchecked(gstate_c.indexAddr); } - if (gstate.getPatchPrimitiveType() != GE_PATCHPRIM_TRIANGLES) { + if (gstate.getPatchPrimitiveType() == GE_PATCHPRIM_UNKNOWN) { ERROR_LOG_REPORT(G3D, "Unsupported patch primitive %x", gstate.getPatchPrimitiveType()); return; } diff --git a/GPU/Directx9/SplineDX9.cpp b/GPU/Directx9/SplineDX9.cpp index 8a86b586e..d78d98f73 100644 --- a/GPU/Directx9/SplineDX9.cpp +++ b/GPU/Directx9/SplineDX9.cpp @@ -67,7 +67,7 @@ void TransformDrawEngineDX9::SubmitSpline(const void *control_points, const void points[idx] = simplified_control_points + idx; } - u8 *decoded2 = decoded + 65536 * 36; + u8 *decoded2 = decoded + 65536 * 18; int count = 0; u8 *dest = decoded2; @@ -154,7 +154,7 @@ void TransformDrawEngineDX9::SubmitBezier(const void *control_points, const void } } - u8 *decoded2 = decoded + 65536 * 36; + u8 *decoded2 = decoded + 65536 * 18; int count = 0; u8 *dest = decoded2; diff --git a/GPU/Directx9/TransformPipelineDX9.cpp b/GPU/Directx9/TransformPipelineDX9.cpp index cc58f2a0f..f51e60581 100644 --- a/GPU/Directx9/TransformPipelineDX9.cpp +++ b/GPU/Directx9/TransformPipelineDX9.cpp @@ -77,7 +77,7 @@ enum { TRANSFORMED_VERTEX_BUFFER_SIZE = VERTEX_BUFFER_MAX * sizeof(TransformedVertex) }; -#define QUAD_INDICES_MAX 32768 +#define QUAD_INDICES_MAX 65536 #define VERTEXCACHE_DECIMATION_INTERVAL 17 diff --git a/GPU/Directx9/TransformPipelineDX9.h b/GPU/Directx9/TransformPipelineDX9.h index cfc2d3386..47f1133de 100644 --- a/GPU/Directx9/TransformPipelineDX9.h +++ b/GPU/Directx9/TransformPipelineDX9.h @@ -205,7 +205,7 @@ private: u32 vertType; u8 indexType; s8 prim; - u16 vertexCount; + u32 vertexCount; u16 indexLowerBound; u16 indexUpperBound; };