From eb7b1f4bced562788972aa30d0ddcacc88f56def Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kov=C3=A1cs=20Andr=C3=A1s?= Date: Mon, 30 Oct 2006 20:27:01 +0100 Subject: [PATCH] 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 abc9c5c5300..736edde950b 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* 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 0eb8847149e..86d9fc9d33d 100644 --- a/dlls/wined3d/glsl_shader.c +++ b/dlls/wined3d/glsl_shader.c @@ -1140,23 +1140,23 @@ void shader_glsl_mnxn(SHADER_OPCODE_ARG* 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 d7fcc964ff0..4dac214c518 100644 --- a/dlls/wined3d/vertexshader.c +++ b/dlls/wined3d/vertexshader.c @@ -473,7 +473,8 @@ static void vshader_texldl(WINED3DSHADERVECTOR* d) { } 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},