On 03/29/2016 04:25 PM, Matteo Bruni wrote:
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);
This is almost exactly what I am suggesting in the next e-mail I've just sent.
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.
I removed all the return value checks from creating param evaluator to let the program continue and not to fail effect creation, exactly as it did without preshaders before. I have nothing to do with the return value at the creation right now. At the same time, having such a function with parsing and a lot of possible errors without return value would seem very strange. Maybe we could keep the return value in case we will need this in future? E. g. we may want to decide to fail shaders creation on preshader parsing failure.