[2/6] WineD3D: Add a function for initializing surface sysmem

Henri Verbeet hverbeet at gmail.com
Thu Dec 3 04:18:34 CST 2009

2009/12/3 Stefan Dösinger <stefandoesinger at gmx.at>:
> Am 02.12.2009 um 22:10 schrieb Henri Verbeet:
>> IWineD3DDeviceImpl_Reset() suffers from similar issues in general, so
>> maybe we just don't care, but if one of the updateSurfaceDesc() calls
>> fails you're left with inconsistent surface sizes.
> We don't care because by Microsoft's design Reset() leaves the device in a broken state if it fails, and all you can do with it is call Reset() again or destroy it.

>>> +    This->Flags |= SFLAG_INSYSMEM;
>> Why is this in surface_init_sysmem(), instead of a ModifyLocation()
>> call after the call to surface_init_sysmem()?
> My sense is that surface_init_sysmem should set it since it allocates and writes to the system memory copy. Probably surface_init_sysmem should call ModifyLocation itself to remove the other location flags.
That would work as well, my main point was that I don't like functions
other than ModifyLocation() touching the location flags.

More information about the wine-devel mailing list