Mirek wrote:
Ok, i just found why is it not working with this patch, and why is it
working without this patch. It is based on position of definition MOVA
in vertexshader.c, if MOVA is on "after patch" position it is not
working, but if i move line "
{WINED3DSIO_MOVA, "mova",  NULL, 1, 2, vshader_mova, vshader_hw_map2gl,
shader_glsl_mov, WINED3DVS_VERSION(2,0), -1}," to position of definition
before patch, evrything is working.
...
that's because Jason seems to have introduced order requirements on the table that weren't previously there. The mnxn implementation will attempt to access the table as an array, which will break once MOVA is moved before DP3:

glsl_shader.c: tmpArg.opcode = &IWineD3DVertexShaderImpl_shader_ins[WINED3DSIO_DP4]; glsl_shader.c: tmpArg.opcode = &IWineD3DVertexShaderImpl_shader_ins[WINED3DSIO_DP3];

The instruction table currently does not support this, and it only happens to work for the first few instructions [ which the MOVA change breaks ].



Reply via email to