On 23.08.2012 22:58, Rico Schüller wrote:
On 23.08.2012 15:43, Józef Kucia wrote:
I would prefer you to clean it up submit it. I hope it gets committed
this time.

Ok, I'll try to clean them and send them. I will do it the safe way and
compare each handle with all handles we have. If it is slow, we could
easily move by using the highest bit for comparison against the
D3DXHANDLE. We just have to take care that an easy switch is possible.

Thanks for the input.
Rico

Patches are in git now. The normal way should work fine. The following things should be considered (but I have no patches for these):

1. The cross calling (table1, variable_from_table2).
2. We may avoid the desc copy, because the variables may be set often and so the copy time will make some speed difference in set_*_array and GetSamplerIndex. Example for GetSamplerIndex:

res = ID3DXConstantTable_GetConstantDesc(iface,constant,&desc,&count);
if (FAILED(res)) return (UINT)-1;
if (desc.RegisterSet != D3DXRS_SAMPLER)

to something like:

struct ctab_constant *c = get_valid_constant(This, constant);
if (c->desc.RegisterSet != D3DXRS_SAMPLER)

3. The wine_todo should be fixed in the test. Is there a way to disable them to show up, when running e.g. "wine d3dx9_36_test.exe.so shader"? It's a bit annoying when you search for your own failing tests. Well I could comment out the tests, but that's also not a very fine solution.

Cheers
Rico


Reply via email to