[PATCH] mfplat/buffer: Avoid two copies when locking a D3D9 buffer if possible.

Nikolay Sivov nsivov at codeweavers.com
Fri Feb 11 02:17:10 CST 2022


I don't think this works. It should be possible to LockRect() after 
buffer was locked, if you keep surface locked this won't work. I don't 
think we have tests for that, but that's what quick testing on Windows 
shows.

We could have a shortcut in MFCopyImage() first, to have a single copy 
call when strides match, instead of calling per row. Next step could be 
to have some SIMD variants, with non-temporal copy like docs suggest. No 
idea how much this improves performance, but for large enough copies 
it's meant to bypass cache at least, I think.



More information about the wine-devel mailing list