https://bugs.winehq.org/show_bug.cgi?id=46735
--- Comment #4 from Zebediah Figura z.figura12@gmail.com --- Created attachment 64086 --> https://bugs.winehq.org/attachment.cgi?id=64086 patch with more detailed traces
I've attached a log with +d3d9 provided by another user from The Sims 2, using a patch with more detailed tracing. Several things I can glean from the log:
* The values passed do not seem to match what we would expect if the parameters were the same as those to the d3d8 methods, so unfortunately Henri's guess seems to be in vain.
* The pattern of calls looks something like this:
validator = Direct3DShaderValidatorCreate9(); validator->stub1(validator, 0, ptr1, ptr2); for (i = 1; i < some_number; i++) { validator->stub2(validator, 0, i, some_ptr, some_len); some_ptr += some_len * sizeof(DWORD); } validator->stub3(); validator->Release(); device->CreateVertexShader(...);
Sometimes the third argument to stub2 is not i but 0 instead. Sometimes it is not a sequence of consecutive integers.
The only recognizable pointer is the pointer argument to stub2, which is sometimes close to the byte code of the vertex shader.