wined3d: Fix introduced regression in shader_glsl_mnxn and vshader_hw_mnxn.

This commit is contained in:
Kovács András 2006-10-30 20:27:01 +01:00 committed by Alexandre Julliard
parent 74a09f90ca
commit eb7b1f4bce
3 changed files with 12 additions and 11 deletions

View File

@ -854,23 +854,23 @@ void vshader_hw_mnxn(SHADER_OPCODE_ARG* arg) {
switch(arg->opcode->opcode) { switch(arg->opcode->opcode) {
case WINED3DSIO_M4x4: case WINED3DSIO_M4x4:
nComponents = 4; nComponents = 4;
tmpArg.opcode = &IWineD3DVertexShaderImpl_shader_ins[WINED3DSIO_DP4]; tmpArg.opcode = shader_get_opcode(arg->shader, WINED3DSIO_DP4);
break; break;
case WINED3DSIO_M4x3: case WINED3DSIO_M4x3:
nComponents = 3; nComponents = 3;
tmpArg.opcode = &IWineD3DVertexShaderImpl_shader_ins[WINED3DSIO_DP4]; tmpArg.opcode = shader_get_opcode(arg->shader, WINED3DSIO_DP4);
break; break;
case WINED3DSIO_M3x4: case WINED3DSIO_M3x4:
nComponents = 4; nComponents = 4;
tmpArg.opcode = &IWineD3DVertexShaderImpl_shader_ins[WINED3DSIO_DP3]; tmpArg.opcode = shader_get_opcode(arg->shader, WINED3DSIO_DP3);
break; break;
case WINED3DSIO_M3x3: case WINED3DSIO_M3x3:
nComponents = 3; nComponents = 3;
tmpArg.opcode = &IWineD3DVertexShaderImpl_shader_ins[WINED3DSIO_DP3]; tmpArg.opcode = shader_get_opcode(arg->shader, WINED3DSIO_DP3);
break; break;
case WINED3DSIO_M3x2: case WINED3DSIO_M3x2:
nComponents = 2; nComponents = 2;
tmpArg.opcode = &IWineD3DVertexShaderImpl_shader_ins[WINED3DSIO_DP3]; tmpArg.opcode = shader_get_opcode(arg->shader, WINED3DSIO_DP3);
break; break;
default: default:
break; break;

View File

@ -1140,23 +1140,23 @@ void shader_glsl_mnxn(SHADER_OPCODE_ARG* arg) {
switch(arg->opcode->opcode) { switch(arg->opcode->opcode) {
case WINED3DSIO_M4x4: case WINED3DSIO_M4x4:
nComponents = 4; nComponents = 4;
tmpArg.opcode = &IWineD3DVertexShaderImpl_shader_ins[WINED3DSIO_DP4]; tmpArg.opcode = shader_get_opcode(arg->shader, WINED3DSIO_DP4);
break; break;
case WINED3DSIO_M4x3: case WINED3DSIO_M4x3:
nComponents = 3; nComponents = 3;
tmpArg.opcode = &IWineD3DVertexShaderImpl_shader_ins[WINED3DSIO_DP4]; tmpArg.opcode = shader_get_opcode(arg->shader, WINED3DSIO_DP4);
break; break;
case WINED3DSIO_M3x4: case WINED3DSIO_M3x4:
nComponents = 4; nComponents = 4;
tmpArg.opcode = &IWineD3DVertexShaderImpl_shader_ins[WINED3DSIO_DP3]; tmpArg.opcode = shader_get_opcode(arg->shader, WINED3DSIO_DP3);
break; break;
case WINED3DSIO_M3x3: case WINED3DSIO_M3x3:
nComponents = 3; nComponents = 3;
tmpArg.opcode = &IWineD3DVertexShaderImpl_shader_ins[WINED3DSIO_DP3]; tmpArg.opcode = shader_get_opcode(arg->shader, WINED3DSIO_DP3);
break; break;
case WINED3DSIO_M3x2: case WINED3DSIO_M3x2:
nComponents = 2; nComponents = 2;
tmpArg.opcode = &IWineD3DVertexShaderImpl_shader_ins[WINED3DSIO_DP3]; tmpArg.opcode = shader_get_opcode(arg->shader, WINED3DSIO_DP3);
break; break;
default: default:
break; break;

View File

@ -473,7 +473,8 @@ static void vshader_texldl(WINED3DSHADERVECTOR* d) {
} }
CONST SHADER_OPCODE IWineD3DVertexShaderImpl_shader_ins[] = { CONST SHADER_OPCODE IWineD3DVertexShaderImpl_shader_ins[] = {
/* This table is not order or position dependent. */
/* Arithmetic */ /* Arithmetic */
{WINED3DSIO_NOP, "nop", "NOP", 0, 0, vshader_nop, vshader_hw_map2gl, NULL, 0, 0}, {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}, {WINED3DSIO_MOV, "mov", "MOV", 1, 2, vshader_mov, vshader_hw_map2gl, shader_glsl_mov, 0, 0},