http://bugs.winehq.org/show_bug.cgi?id=9775
--- Comment #17 from Alexander Dorofeyev alexd4@inbox.lv 2008-06-14 17:53:02 --- Hmm. Are you aware you can build test executables for Windows under Linux? For ddraw and d3d tests at least it works great. If Wine's configure detects presence of mingw, then say "cd dlls/d3d8/tests; make crosstest" gives you a nice individual dll test executable (d3d8_crosstest.exe).
"The Direct3D9 documentation incorrectly states that CreateImageSurface returns a surface object with D3DPOOL_SCRATCH configuration."
Maybe I'm missing something, but this reasoning seems a bit suspect. Do you know for sure that D3D9 docs really are wrong, or maybe there just is a differences between d3d8 and d3d9 in this thing? It would be ideal to add a similar test for d3d9. Then you can change pool parameter in d3d8 and submit the patch with this stuff. Since it's simple, clear and tested and fixes a bug it should be accepted. Nice research :).
Oh, one note about the test though, in case of test failures it's best to print all relevant values, not just state what is implied by failure anyway. E.g. if you test surf_desc.Pool == D3DPOOL_SYSTEMMEM, then it's best to print something like "surf_desc.Pool was %u instead of D3DPOOL_SYSTEMMEM" or "unexpected memory pool: %u". It's recommended in test writing docs IIRC, and it makes debugging test failures (if they happen) easier to debug.