[WINED3D 2/11] Fix SINCOS parameters
Ivan Gyurdiev
ivg2 at cornell.edu
Wed May 17 00:57:06 CDT 2006
SINCOS has 4 parameters in shaders 2.0.
It has 2 parameters in shaders 3.0
It's undefined in shaders 1.0.
[ this still leaves shaders 2.x, but I'm still not sure
what's the version code for those... but it has 4 parameters
on 2.x, so the current entry for sincos would be wrong there too ]
-------------- 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), 0},
/* 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), 0},
/* 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