AlpyneDreams / d8vk

Direct3D 8 to Vulkan translation for DXVK! Merged into dxvk: https://github.com/doitsujin/dxvk
zlib License
486 stars 6 forks source link

[d3d8] Handle DEFAULT->MANAGED in CopyRects #184

Closed WinterSnowfall closed 2 days ago

WinterSnowfall commented 10 months ago

Arguably not ideal, but having some way of handling it is better than derping out and doing nothing. We can always implement a GPU copy later on to optimize peformance, but for now handling MANAGED as we do SYSTEMMEM seems to do the trick and fixes #66 (which has bugged me for quite some time).

Without PR ![Broken](https://github.com/AlpyneDreams/d8vk/assets/6306593/4669f65f-2bff-458a-8de8-101b1eb88726)
With PR ![Fixed](https://github.com/AlpyneDreams/d8vk/assets/6306593/28f16810-c3d8-4613-af33-a6c4220d31cf)

DEFAULT->MANAGED doesn't seem to be a very hot path, but there are games out there that will hit it occasionally.

WinterSnowfall commented 10 months ago

I've also taken the liberty to make CopyRects logging more verbose on unhandled cases, since we ideally would want to see these sort of problems in the logs that people send us.