On Monday 26 January 2004 22:44, Lionel Ulmer wrote:
The only comment I have on the patch is that you are using the rectangle from the 'User_DirectDrawSurface_unlock_update' code. The big problem here is that for old DirectX versions (versions 1 to 3), the lock rectangle was not repeated in the Unlock call (it was only present in the Lock code).
Oh, I see.
So, basically, you will always force a full redraw for these old DirectX versions. So, the best would be to add the dirty rectangles in the Lock calls (if we are not in READONLY mode).
Then I would be drawing rectangles which are not ready for a redraw yet. Does UnLock release only last lock or all locks on these old DX versions?
PS: all these dirty region handling should be factorized as I did the same kind of hacks in the D3D code to speed up transfer between 2D and 3D buffers.
OK, I will look in there too.