https://bugs.winehq.org/show_bug.cgi?id=6955
Matteo Bruni matteo.mystral@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |matteo.mystral@gmail.com
--- Comment #171 from Matteo Bruni matteo.mystral@gmail.com --- (In reply to Józef Kucia from comment #165)
Created attachment 51756 [details] Implement vertex blending in glsl-vertex-pipe
This patch adds support for vertex blending in glsl_vertex_pipe. Please test.
Great stuff Józef and welcome back ;)
The patch looks very good to me. Except for the gl_info->limits.blends hack I only have pretty generic style complaints (e.g. an unnecessary newline before get_projection_matrix(), an opening brace on the same line as the 'if', statements on the same line as the braceless 'if').
About the blend matrices count, the proper fix is probably to add a field to d3d_info and populate it from the vertex caps in wined3d_adapter_init_gl_caps() (and also update glsl_vertex_pipe_vp_get_caps() to advertise 4 blend matrices). You'll then need to replace a few uses of gl_info->limits.blends in wined3d with the d3d_info value. At a quick look only wined3d_cs_exec_set_transform() and prune_invalid_states() need that treatment.
I guess a test would be nice to have too.
After you clean the patch up just send it to wine-patches. BTW thanks for working on this, I was thinking about commenting on this bug that now all the infrastructure to properly fix the bug is there but I don't plan to implement this, it looks like you were faster :)