On 03/15/2016 05:53 AM, Matteo Bruni wrote:
+ {sizeof(float), 4, PRES_VT_FLOAT } /* PRES_REGTAB_REG */ I think I had tested this in the past and it turned out temporaries are stored as doubles. I'll see if I can find something.
Oh, this looks very likely. I will check it somehow.
I feel like I might have already asked this, sorry if that's the case: do you really need this field? At least for what I can see at the moment you can do without since it's used only in d3dx_create_param_eval(), which is where you set the field, and in d3dx_param_eval_set_shader_constants(), where you don't really need it. Yes, I don't need it actually. I will get rid of it.
+ if (ninp_args != pres_op_info[i].ninp_args) + { + FIXME("Actual input args %u, expected %u, instruction %s.\n", ninp_args, + pres_op_info[i].ninp_args, pres_op_info[i].mnem); + return NULL; + } + ins->ninp_args = ninp_args; It shouldn't be necessary to store the number of arguments in the instruction structure at the moment, although maybe there is some variable-arguments opcode? None as far as I know so far, so currently no case when it is really needed. I will remove it.