https://bugs.winehq.org/show_bug.cgi?id=35993
--- Comment #15 from Matteo Bruni matteo.mystral@gmail.com --- (In reply to Aexander from comment #14)
Missing elements (buttons, etc.) happen on d3d9_device_DrawIndexedPrimitiveUP calls with a non-zero min_vertex_idx. Attached hack blindly applied surprisingly seems to work.
Nice catch! Actually that might be exactly how we want to fix this. The alternative is to still only copy vertex_count vertices (but starting from min_vertex_idx) and adjust the call to wined3d_device_set_base_vertex_index() instead. That has the problem that the adjusted base vertex becomes negative when min_vertex_idx * vertex_stride > vb_pos which seems "meh."
Notice also that there is identical code in d3d8 which needs the same fix.
Do you want to follow through on it? :)