[PATCH] Vertex Shader Fix for modes > 4

Chris Ahrendt Celticht32 at aol.com
Sun Aug 24 19:09:28 CDT 2008


---
 dlls/wined3d/drawprim.c |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/dlls/wined3d/drawprim.c b/dlls/wined3d/drawprim.c
index 3be34d3..1792a99 100644
--- a/dlls/wined3d/drawprim.c
+++ b/dlls/wined3d/drawprim.c
@@ -451,6 +451,18 @@ static void drawStridedSlow(IWineD3DDevice *iface, WineDirect3DVertexStridedData
 
                     /* The coords to supply depend completely on the fvf / vertex shader */
                     switch (coordsToUse) {
+                    case 16:
+                    case 15:
+                    case 14:
+                    case 13:
+                    case 12:
+                    case 11:
+                    case 10:
+                    case 9:
+                    case 8:
+                    case 7:
+                    case 6:
+                    case 5:
                     case 4: q = ptrToCoords[3]; /* drop through */
                     case 3: r = ptrToCoords[2]; /* drop through */
                     case 2: t = ptrToCoords[1]; /* drop through */
-- 
@@ -469,6 +469,7 @@ static void drawStridedSlow(IWineD3DDevice *iface, WineDirect3DVertexStridedData
                     case 1: s = ptrToCoords[0];
                     }
 
+                    if (coordsToUse > 4) coordsToUse = 4;
                     switch (coordsToUse) {   /* Supply the provided texture coords */
                     case WINED3DTTFF_COUNT1:
                         VTRACE(("tex:%d, s=%f\n", textureNo, s));
-- 
1.5.5.1


--------------010901020404010203040806--



More information about the wine-patches mailing list