https://bugs.winehq.org/show_bug.cgi?id=8051
--- Comment #128 from Stefan Dösinger stefan@codeweavers.com --- (In reply to swswine from comment #127)
At the first place ProcessVertecies does not understand VertexDeclaration output buffer specification, while sims2 wants to use them and output buffer has zero FVF code.
Does it use a shader too, or just a vertex declaration?
I know it may sound very weird, but can't shader support in ProcessVertices be done in a shorter way by just using application shader function in fixed function GLSL pipeline in a way similar to how the normal application shaders (without ProcessVertices) are used?
It's possible, but has its own set of issues. E.g. what do you do if the game calls ProcessVertices two times with two different shaders (shader constants) and the same output buffer, and then draws the entire buffer with one draw call? What happens if one of the input buffers goes away or is modified between ProcessVertices and DrawPrimitive? The shader state, and in particular vertex shader constants and potential vertex textures, is pretty huge. Managing this gets complex fast...
It's probably easier to hook into https://www.opengl.org/wiki/Transform_Feedback instead.