https://bugs.winehq.org/show_bug.cgi?id=39080
--- Comment #15 from Paul Gofman gofmanp@gmail.com --- Created attachment 63342 --> https://bugs.winehq.org/attachment.cgi?id=63342 wined3d: Return stream frequency of 1 if it was not set.
I tested full game (purchased 'Gold Edition' from GoG.com). The game is using the value returned by GetStreamSourceFreq() to restore the frequency after it has used its specific one, like this: --- 0009:trace:d3d9:d3d9_device_GetStreamSourceFreq iface 0x409d408, stream_idx 0, freq 0x32efe8. 0009:trace:d3d:wined3d_device_get_stream_source_freq device 0x418b420, stream_idx 0, divider 0x32efe8. 0009:trace:d3d:wined3d_device_get_stream_source_freq Returning 0. 0009:trace:d3d9:d3d9_device_SetStreamSourceFreq iface 0x409d408, stream_idx 0, freq 1073741833. 0009:trace:d3d:wined3d_device_set_stream_source_freq device 0x418b420, stream_idx 0, divider 0x40000009. 0009:trace:d3d9:d3d9_device_GetStreamSourceFreq iface 0x409d408, stream_idx 1, freq 0x32efdc. 0009:trace:d3d:wined3d_device_get_stream_source_freq device 0x418b420, stream_idx 1, divider 0x32efdc. 0009:trace:d3d:wined3d_device_get_stream_source_freq Returning 0. 0009:trace:d3d9:d3d9_device_SetStreamSourceFreq iface 0x409d408, stream_idx 1, freq 2147483649. 0009:trace:d3d:wined3d_device_set_stream_source_freq device 0x418b420, stream_idx 1, divider 0x80000001. 0009:trace:d3d9:d3d9_device_SetStreamSourceFreq iface 0x409d408, stream_idx 0, freq 0. 0009:trace:d3d:wined3d_device_set_stream_source_freq device 0x418b420, stream_idx 0, divider 0. 0009:warn:d3d:wined3d_device_set_stream_source_freq Divider is 0, returning D3DERR_INVALIDCALL. 0009:trace:d3d9:d3d9_device_SetStreamSourceFreq iface 0x409d408, stream_idx 1, freq 0. 0009:trace:d3d:wined3d_device_set_stream_source_freq device 0x418b420, stream_idx 1, divider 0. 0009:warn:d3d:wined3d_device_set_stream_source_freq Divider is 0, returning D3DERR_INVALIDCALL. ---
So the the device has a leftover frequency for consequent drawing. Attached patch fixes the issue for me.