[WINED3D 2/11] Fix SINCOS parameters

Ivan Gyurdiev ivg2 at cornell.edu
Wed May 17 01:22:42 CDT 2006


Max version of 0 will not match anything for the 3.0 case,
max version of -1 will match everything, which is what I was trying to say.

Please use this patch instead.
-------------- next part --------------
---

 dlls/wined3d/pixelshader.c  |    9 +++++++--
 dlls/wined3d/vertexshader.c |    9 +++++++--
 2 files changed, 14 insertions(+), 4 deletions(-)

6e0d46ccd9ecc47c672903c80059f4e30db0f294
diff --git a/dlls/wined3d/pixelshader.c b/dlls/wined3d/pixelshader.c
index 4a5e326..5bda1f1 100644
--- a/dlls/wined3d/pixelshader.c
+++ b/dlls/wined3d/pixelshader.c
@@ -533,10 +533,14 @@ void pshader_nrm(WINED3DSHADERVECTOR* d,
     FIXME(" : Stub\n");
 }
 
-void pshader_sincos(WINED3DSHADERVECTOR* d, WINED3DSHADERVECTOR* s0) {
+void pshader_sincos3(WINED3DSHADERVECTOR* d, WINED3DSHADERVECTOR* s0) {
     FIXME(" : Stub\n");
 }
 
+void pshader_sincos2(WINED3DSHADERVECTOR* d, WINED3DSHADERVECTOR* s0, WINED3DSHADERVECTOR* s1, WINED3DSHADERVECTOR* s2) {
+     FIXME(" : Stub\n");
+}
+
 void pshader_rep(WINED3DSHADERVECTOR* d) {
     FIXME(" : Stub\n");
 }
@@ -667,7 +671,8 @@ CONST SHADER_OPCODE IWineD3DPixelShaderI
 
     */
     {D3DSIO_NRM,      "nrm",      NULL,   2, pshader_nrm,     NULL, NULL, 0, 0},
-    {D3DSIO_SINCOS,   "sincos",   NULL,   2, pshader_sincos,  NULL, NULL, 0, 0},
+    {D3DSIO_SINCOS,   "sincos",   NULL,   4, pshader_sincos2, NULL, NULL, D3DPS_VERSION(2,0), D3DPS_VERSION(2,0)},
+    {D3DSIO_SINCOS,   "sincos",   NULL,   2, pshader_sincos3, NULL, NULL, D3DPS_VERSION(3,0), -1},
     /* TODO: dp2add can be made out of multiple instuctions */
     {D3DSIO_DP2ADD,   "dp2add",   GLNAME_REQUIRE_GLSL,  2, pshader_dp2add,  NULL, NULL, 0, 0},
 
diff --git a/dlls/wined3d/vertexshader.c b/dlls/wined3d/vertexshader.c
index f4a3b0b..9e7c38c 100644
--- a/dlls/wined3d/vertexshader.c
+++ b/dlls/wined3d/vertexshader.c
@@ -404,10 +404,14 @@ void vshader_nrm(WINED3DSHADERVECTOR* d,
     FIXME(" : Stub\n");
 }
 
-void vshader_sincos(WINED3DSHADERVECTOR* d, WINED3DSHADERVECTOR* s0) {
+void vshader_sincos3(WINED3DSHADERVECTOR* d, WINED3DSHADERVECTOR* s0) {
     FIXME(" : Stub\n");
 }
 
+void vshader_sincos2(WINED3DSHADERVECTOR* d, WINED3DSHADERVECTOR* s0, WINED3DSHADERVECTOR* s1, WINED3DSHADERVECTOR* s2) {
+     FIXME(" : Stub\n");
+}
+
 void vshader_rep(WINED3DSHADERVECTOR* d) {
     FIXME(" : Stub\n");
 }
@@ -524,7 +528,8 @@ CONST SHADER_OPCODE IWineD3DVertexShader
 
     */
     {D3DSIO_NRM,      "nrm",      NULL,   2, vshader_nrm,    NULL, NULL, 0, 0},
-    {D3DSIO_SINCOS,   "sincos",   NULL,   2, vshader_sincos, NULL, NULL, 0, 0},
+    {D3DSIO_SINCOS,   "sincos",   NULL,   4, vshader_sincos2, NULL, NULL, D3DVS_VERSION(2,0), D3DVS_VERSION(2,0)},
+    {D3DSIO_SINCOS,   "sincos",   NULL,   2, vshader_sincos3, NULL, NULL, D3DVS_VERSION(3,0), -1},
 
     /* Matrix */
     {D3DSIO_M4x4, "m4x4", "undefined", 3, vshader_m4x4, vshader_hw_mnxn, NULL, 0, 0},
-- 
1.3.1



More information about the wine-patches mailing list