https://bugs.winehq.org/show_bug.cgi?id=39057
--- Comment #15 from swswine@gmail.com --- Created attachment 52746 --> https://bugs.winehq.org/attachment.cgi?id=52746 Patch to implement index version support (using UBO, wine 1.7.55)
I updated the patch to use UBOs to transfer blend matrices, and now all 256 possible matrices are supported. The patch is for wine release 1.7.55.
Vertex blending without indices also use UBO with this patch. The patch is still not optimal in a sense that there are much of extra updates of the buffer with all the 256 matrices on any transform matrix change or view matrix change (and even for every shader which is redundant as UBO is common for all shaders). But this is in place only if vertex blending is actually requested by application. If not, UBO is not created (and '#extension GL_ARB_uniform_buffer_object' is not added), and glsl shader is even simplified a bit compared to current release version. So I hope this patch should not introduce any regression for the applications not using vertex blending.
Neater solution on matrix update is of course possible but requires getting deeper into glsl pipeline update logic.