Ivan Gyurdiev : wined3d: Use ARB[f|v]p1.0 for ps2/ps3/vs3.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Apr 18 05:13:48 CDT 2006


Module: wine
Branch: refs/heads/master
Commit: 3dddaae795336f4c4bf1a0fe26315f31f45cb145
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=3dddaae795336f4c4bf1a0fe26315f31f45cb145

Author: Ivan Gyurdiev <ivg2 at cornell.edu>
Date:   Sat Apr 15 13:31:21 2006 -0400

wined3d: Use ARB[f|v]p1.0 for ps2/ps3/vs3.

---

 dlls/wined3d/pixelshader.c  |    7 +++----
 dlls/wined3d/vertexshader.c |   15 +++++----------
 2 files changed, 8 insertions(+), 14 deletions(-)

diff --git a/dlls/wined3d/pixelshader.c b/dlls/wined3d/pixelshader.c
index ef6aa35..c7c9884 100644
--- a/dlls/wined3d/pixelshader.c
+++ b/dlls/wined3d/pixelshader.c
@@ -1019,24 +1019,23 @@ inline static VOID IWineD3DPixelShaderIm
                 case 13:
                 case 14: numTemps=12;
                         numConstants=8;
-                        strcpy(tmpLine, "!!ARBfp1.0\n");
                         break;
                 case 20: numTemps=12;
                         numConstants=8;
-                        strcpy(tmpLine, "!!ARBfp2.0\n");
                         FIXME("No work done yet to support ps2.0 in hw\n");
                         break;
                 case 30: numTemps=32;
                         numConstants=8;
-                        strcpy(tmpLine, "!!ARBfp3.0\n");
                         FIXME("No work done yet to support ps3.0 in hw\n");
                         break;
                 default:
                         numTemps=12;
                         numConstants=8;
-                        strcpy(tmpLine, "!!ARBfp1.0\n");
                         FIXME("Unrecognized pixel shader version!\n");
                 }
+
+                /* FIXME: if jumps are used, use GLSL, else use ARB_fragment_program */
+                strcpy(tmpLine, "!!ARBfp1.0\n");
                 addline(&lineNum, pgmStr, &pgmLength, tmpLine);
 
                 /* TODO: find out how many registers are really needed */
diff --git a/dlls/wined3d/vertexshader.c b/dlls/wined3d/vertexshader.c
index 0a8f97f..0912077 100644
--- a/dlls/wined3d/vertexshader.c
+++ b/dlls/wined3d/vertexshader.c
@@ -1411,38 +1411,33 @@ inline static VOID IWineD3DVertexShaderI
         case 10:
         case 11: numTemps=12;
                  numConstants=96;/* min(GL_LIMITS(constants),96) */
-                 strcpy(tmpLine, "!!ARBvp1.0\n");
-                 TRACE("GL HW (%u) : %s", pgmLength, tmpLine); /* Don't add \n to this line as already in tmpLine */
                  break;
         /* FIXME: if there are no calls or loops then use ARBvp1 otherwise use GLSL instead
            TODO: see if there are any operations in vs2/3 that aren't supported by ARBvp
             TODO: only map the maximum possible number of constants supported by openGL and not the maximum required by d3d (even better only map the used constants)*/
         case 20: numTemps=12; /* min(GL_LIMITS(temps),12) */
                  numConstants=96; /* min(GL_LIMITS(constants),256) */
-                 strcpy(tmpLine, "!!ARBvp1.0\n");
                  FIXME("No work done yet to support vs2.0 in hw\n");
-                 TRACE("GL HW (%u) : %s", pgmLength, tmpLine); /* Don't add \n to this line as already in tmpLine */
                  break;
         case 21: numTemps=12; /* min(GL_LIMITS(temps),12) */
                  numConstants=96; /* min(GL_LIMITS(constants),256) */
-                 strcpy(tmpLine, "!!ARBvp1.0\n");
                  FIXME("No work done yet to support vs2.1 in hw\n");
-                 TRACE("GL HW (%u) : %s", pgmLength, tmpLine); /* Don't add \n to this line as already in tmpLine */
                  break;
         case 30: numTemps=32; /* min(GL_LIMITS(temps),32) */
                  numConstants=96;/* min(GL_LIMITS(constants),256) */
-                 strcpy(tmpLine, "!!ARBvp3.0\n");
                  FIXME("No work done yet to support vs3.0 in hw\n");
-                 TRACE("GL HW (%u) : %s", pgmLength, tmpLine); /* Don't add \n to this line as already in tmpLine */
                  break;
         default:
                  numTemps=12;/* min(GL_LIMITS(temps),12) */
                  numConstants=96;/* min(GL_LIMITS(constants),96) */
-                 strcpy(tmpLine, "!!ARBvp1.0\n");
                  FIXME("Unrecognized vertex shader version %d!\n", version);
         }
-        PNSTRCAT(pgmStr, tmpLine);
 
+
+        /* FIXME: if jumps are used, use GLSL, else use ARB_vertex_program */
+        strcpy(tmpLine, "!!ARBvp1.0\n");
+        TRACE("GL HW (%u) : %s", pgmLength, tmpLine); /* Don't add \n to this line as already in tmpLine */
+        PNSTRCAT(pgmStr, tmpLine);
         ++lineNum;
 
         /* This should be a bitmap so that only temp registers that are used are declared. */




More information about the wine-cvs mailing list