2016-03-29 1:39 GMT+02:00 Paul Gofman gofmanp@gmail.com:
I intentionally added this TRACE with output pointer as otherwise I
cannot find init trace related to particular preshader. E. g., if I have some weirdness or error message when param_eval is used much later (among a hundred of other param evals), I want to find the log records where this preshader was created which has disassembly and binary blob. Without this TRACE I have no sure way to match the used preshader with its parsing trace. So unless you are strictly opposed to this TRACE I would keep it to make future bug hunting easier.
I'm okay with printing the pointer or similar info but that kind of trace is pretty ugly. You could trace the pointer when you allocate the struct, or together with the struct state pointer / the state parameter in the caller. I guess you can also leave the trace there, if it says something like:
TRACE("Created parameter evaluator %p.\n", *peval_out);
BTW, notice that you are never checking the return value from d3dx_create_param_eval(). You should either do that or remove the return value from the function altogether.