On 28 February 2012 12:19, Stefan Dösinger stefan@codeweavers.com wrote:
This is for bug 30019.
Out ddraw.dll forwards DDLOCK_DISCARDCONTENTS and DDLOCK_NOOVERWRITE to wined3d, but wined3d ignores those flags because we never set WINED3DUSAGE_DYNAMIC. D3d7 docs refer to D3DVBCAPS_WRITEONLY as the flag to set when creating a buffer, so translate it to DYNAMIC | WRITEONLY.
An argument could be made that we should set the DYNAMIC flag on all d3d7 buffers, but until I see a game that needs it I prefer to keep non-D3DVBCAPS_WRITEONLY buffers regular buffers.
I don't see why WRITEONLY should imply DYNAMIC. Setting it for all ddraw buffers may make sense, but even then I'd like to hear a somewhat more convincing argument that now is the right time to change this.