https://bugs.winehq.org/show_bug.cgi?id=39057
--- Comment #27 from swswine@gmail.com --- (In reply to Matteo Bruni from comment #24)
There is testbot.winehq.org but that's unfortunately not too helpful with d3d stuff since it only has the software-emulated WARP device (that's in the Win8 and Win10 VMs) which is in general not a good reference for Windows behavior.
I guess you can post your test here, on the wine-devel mailing list or on #winehackers and someone will hopefully run the test for you...
I have updated dlls/d3d9/tests/visual.c to support indexed vertex blending testing and to print MaxVertexBlendMatrices and MaxVertexBlendMatrixIndex caps. The test is performed for each relevant device creation flag: D3DCREATE_HARDWARE_VERTEXPROCESSING, D3DCREATE_SOFTWARE_VERTEXPROCESSING and D3DCREATE_MIXED_VERTEXPROCESSING. The test is run regardless the MaxVertexBlendMatrixIndex caps to see if indexed vertex blending is actually working or not even if caps suggests it should not. I am adding attachments with patch and with Windows .exe (compiled with 'make crosstest'). The patch also comments out all the other visual tests so it is quicker to run for its purpose. I hope someone can run it on some real Windows machines (not under virtual machines) and send me the full output.
Apart from this I studied MSDN docs for indexed vertex blending. It suggests that 256 matrices can always be used in case of software vertex processing, and implicitly suggests that it is up to hardware (driver) otherwise, and MaxVertexBlendMatrixIndex should be checked (see here, for instance: https://msdn.microsoft.com/en-us/library/windows/desktop/bb206316(v=vs.85).a... ; Determining Indexed Vertex Blending Support paragraph). Maybe I can just set MaxVertexBlendMatrixIndex to 255 regardless of vertex processing mode?