[PATCH] Drawprim framework to support the 16 vertex shader modes

Chris Ahrendt celticht32 at aol.com
Wed Sep 3 23:10:04 CDT 2008


---
 dlls/wined3d/drawprim.c |   21 +++++++++++++++++----
 1 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/dlls/wined3d/drawprim.c b/dlls/wined3d/drawprim.c
index 3be34d3..efcd647 100644
--- a/dlls/wined3d/drawprim.c
+++ b/dlls/wined3d/drawprim.c
@@ -451,12 +451,25 @@ static void drawStridedSlow(IWineD3DDevice *iface, WineDirect3DVertexStridedData
 
                     /* The coords to supply depend completely on the fvf / vertex shader */
                     switch (coordsToUse) {
-                    case 4: q = ptrToCoords[3]; /* drop through */
-                    case 3: r = ptrToCoords[2]; /* drop through */
-                    case 2: t = ptrToCoords[1]; /* drop through */
-                    case 1: s = ptrToCoords[0];
+                    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 */
+                    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


--------------000206010901050705030509--



More information about the wine-patches mailing list