https://bugs.winehq.org/show_bug.cgi?id=45747
Bug ID: 45747 Summary: GPU-GPU depth stencil blit is slow (FF XIV) Product: Wine Version: unspecified Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: enhancement Priority: P2 Component: directx-d3d Assignee: wine-bugs@winehq.org Reporter: awesie@gmail.com Distribution: ---
When running FFXIV in D3D11 mode, it is horrendously slow because it does several UpdateSubresource calls to a depth-stencil texture from another texture. Right now, texture2d_blt will pass this on to a raw_blitter_blit as WINED3D_BLIT_OP_DEPTH_BLIT, which will ignore it and continue passing it on until it ends up at the CPU blitter.
I believe a simple fix is to update the conditional in raw_blitter_blit to allow op == WINED3D_BLIT_OP_DEPTH_BLIT. I don't see an obvious reason why a depth-stencil blit should be special from the perspective of glCopyImageSubData. On my system, this significantly improved fps (though still not quite to matching FFXIV D3D9).