As of now CopyRects() succeeds in d8vk if invoked with depth stencil surfaces.
Upstream dxvk will soon add several validations on StretchRect() calls in combination with depth stencils, which could interfere with its use on our end in CopyRects(), however the good news is that the d3d8 documentation states that:
This method cannot be applied to surfaces whose formats are classified as depth stencil formats.
I have written a test, and it looks like WineD3D does indeed respect it, so we should as well, if only to avoid unnecessary d3d9 calls that are bound to fail in the future anyway.
As of now
CopyRects()
succeeds in d8vk if invoked with depth stencil surfaces.Upstream dxvk will soon add several validations on StretchRect() calls in combination with depth stencils, which could interfere with its use on our end in
CopyRects()
, however the good news is that the d3d8 documentation states that:I have written a test, and it looks like WineD3D does indeed respect it, so we should as well, if only to avoid unnecessary d3d9 calls that are bound to fail in the future anyway.
Edit: Native Nvidia also does this validation.