Kovács András : wined3d: Fix introduced regression in shader_glsl_mnxn and vshader_hw_mnxn.
Alexandre Julliard
julliard at wine.codeweavers.com
Tue Oct 31 05:43:07 CST 2006
Module: wine
Branch: master
Commit: eb7b1f4bced562788972aa30d0ddcacc88f56def
URL: http://source.winehq.org/git/wine.git/?a=commit;h=eb7b1f4bced562788972aa30d0ddcacc88f56def
Author: Kovács András <andras at csevego.net>
Date: Mon Oct 30 20:27:01 2006 +0100
wined3d: Fix introduced regression in shader_glsl_mnxn and vshader_hw_mnxn.
---
dlls/wined3d/arb_program_shader.c | 10 +++++-----
dlls/wined3d/glsl_shader.c | 10 +++++-----
dlls/wined3d/vertexshader.c | 3 ++-
3 files changed, 12 insertions(+), 11 deletions(-)
diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c
index abc9c5c..736edde 100644
--- a/dlls/wined3d/arb_program_shader.c
+++ b/dlls/wined3d/arb_program_shader.c
@@ -854,23 +854,23 @@ void vshader_hw_mnxn(SHADER_OPCODE_ARG*
switch(arg->opcode->opcode) {
case WINED3DSIO_M4x4:
nComponents = 4;
- tmpArg.opcode = &IWineD3DVertexShaderImpl_shader_ins[WINED3DSIO_DP4];
+ tmpArg.opcode = shader_get_opcode(arg->shader, WINED3DSIO_DP4);
break;
case WINED3DSIO_M4x3:
nComponents = 3;
- tmpArg.opcode = &IWineD3DVertexShaderImpl_shader_ins[WINED3DSIO_DP4];
+ tmpArg.opcode = shader_get_opcode(arg->shader, WINED3DSIO_DP4);
break;
case WINED3DSIO_M3x4:
nComponents = 4;
- tmpArg.opcode = &IWineD3DVertexShaderImpl_shader_ins[WINED3DSIO_DP3];
+ tmpArg.opcode = shader_get_opcode(arg->shader, WINED3DSIO_DP3);
break;
case WINED3DSIO_M3x3:
nComponents = 3;
- tmpArg.opcode = &IWineD3DVertexShaderImpl_shader_ins[WINED3DSIO_DP3];
+ tmpArg.opcode = shader_get_opcode(arg->shader, WINED3DSIO_DP3);
break;
case WINED3DSIO_M3x2:
nComponents = 2;
- tmpArg.opcode = &IWineD3DVertexShaderImpl_shader_ins[WINED3DSIO_DP3];
+ tmpArg.opcode = shader_get_opcode(arg->shader, WINED3DSIO_DP3);
break;
default:
break;
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
index 0eb8847..86d9fc9 100644
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -1140,23 +1140,23 @@ void shader_glsl_mnxn(SHADER_OPCODE_ARG*
switch(arg->opcode->opcode) {
case WINED3DSIO_M4x4:
nComponents = 4;
- tmpArg.opcode = &IWineD3DVertexShaderImpl_shader_ins[WINED3DSIO_DP4];
+ tmpArg.opcode = shader_get_opcode(arg->shader, WINED3DSIO_DP4);
break;
case WINED3DSIO_M4x3:
nComponents = 3;
- tmpArg.opcode = &IWineD3DVertexShaderImpl_shader_ins[WINED3DSIO_DP4];
+ tmpArg.opcode = shader_get_opcode(arg->shader, WINED3DSIO_DP4);
break;
case WINED3DSIO_M3x4:
nComponents = 4;
- tmpArg.opcode = &IWineD3DVertexShaderImpl_shader_ins[WINED3DSIO_DP3];
+ tmpArg.opcode = shader_get_opcode(arg->shader, WINED3DSIO_DP3);
break;
case WINED3DSIO_M3x3:
nComponents = 3;
- tmpArg.opcode = &IWineD3DVertexShaderImpl_shader_ins[WINED3DSIO_DP3];
+ tmpArg.opcode = shader_get_opcode(arg->shader, WINED3DSIO_DP3);
break;
case WINED3DSIO_M3x2:
nComponents = 2;
- tmpArg.opcode = &IWineD3DVertexShaderImpl_shader_ins[WINED3DSIO_DP3];
+ tmpArg.opcode = shader_get_opcode(arg->shader, WINED3DSIO_DP3);
break;
default:
break;
diff --git a/dlls/wined3d/vertexshader.c b/dlls/wined3d/vertexshader.c
index d7fcc96..4dac214 100644
--- a/dlls/wined3d/vertexshader.c
+++ b/dlls/wined3d/vertexshader.c
@@ -473,7 +473,8 @@ static void vshader_texldl(WINED3DSHADER
}
CONST SHADER_OPCODE IWineD3DVertexShaderImpl_shader_ins[] = {
-
+ /* This table is not order or position dependent. */
+
/* Arithmetic */
{WINED3DSIO_NOP, "nop", "NOP", 0, 0, vshader_nop, vshader_hw_map2gl, NULL, 0, 0},
{WINED3DSIO_MOV, "mov", "MOV", 1, 2, vshader_mov, vshader_hw_map2gl, shader_glsl_mov, 0, 0},
More information about the wine-cvs
mailing list