https://bugs.winehq.org/show_bug.cgi?id=39057
--- Comment #12 from Matteo Bruni matteo.mystral@gmail.com --- I thought I had already commented here but apparently that's not the case :/
Not going into the details of the patch, the main issue here is that, on Windows, indexed vertex blending is only supported with software vertex processing - MaxVertexBlendMatrixIndex is 0 for hardware devices and 255 for software devices on all the boxes I tested. So this feature should be only exposed for software vertex processing but at the moment wined3d ignores that flag entirely. That should be fixed, in some measure, before implementing indexed vertex blending.
It's probably okay to think about implementing software VP and indexed vertex blending with GLSL. There's the issue you encountered with the large amount of uniforms needed. I think requiring and using uniform buffer objects for that is the way forward.