Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[d3d8] Validate depth stencil format use with CopyRects #207

Merged
merged 1 commit into from
Jul 7, 2024

Conversation

WinterSnowfall
Copy link

@WinterSnowfall WinterSnowfall commented Mar 7, 2024

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.

Edit: Native Nvidia also does this validation.

@WinterSnowfall WinterSnowfall force-pushed the d8vk-crdsf branch 2 times, most recently from b8180aa to 0a37972 Compare July 7, 2024 10:17
@AlpyneDreams AlpyneDreams merged commit 58e986b into AlpyneDreams:main Jul 7, 2024
4 checks passed
@WinterSnowfall WinterSnowfall deleted the d8vk-crdsf branch July 7, 2024 11:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants