flyinghead / flycast

Flycast is a multiplatform Sega Dreamcast, Naomi, Naomi 2 and Atomiswave emulator
GNU General Public License v2.0
1.51k stars 176 forks source link

Sonic Adventure 2 - The rotating title logo textures are broken when using DX11 #1224

Closed kihato closed 1 year ago

kihato commented 1 year ago

Platform / OS / Hardware: Windows11 / i7-10700F / GTX 1660 SUPER

Github hash: 18f9b84

https://github.com/flyinghead/flycast/assets/14366233/e954b47a-2560-4346-b420-ba39c2357b36

This is related to #1207. The steps to reproduce are as follows.

This is a demo of Virtua Athlete 2000. This was the only time I was able to reproduce it and I was never able to reproduce it again. VA_6

flyinghead commented 1 year ago

Thanks for the detailed steps to reproduce! This is indeed the same issue as #1207 and the root cause is Flycast changing the host CPU rounding mode to match the guest SH4. This affects how dx11 shaders are compiled. So I avoid changing the rounding mode on the UI/render thread and set it to default before calling the renderer in single-threaded mode. Should be fixed in the next master build.

kihato commented 1 year ago

I noticed something about switching from per-strip to per-pixel when using DX11.

Virtua athlete 2000 may look like the image below when switching within the demo. (This is only a momentary flicker.) vlcsnap-2023-10-07-08h38m35s721

In Sonic Adventure 2, if you switch during a scene where stars are displayed across the screen, dots like the image below may appear on the boot logo. (I haven't seen this in any games other than SA2, and I also saw it when using flycast v1.3.) Swirl_2

In any case, there doesn't seem to be any particular problem, so I'll close this issue. Thanks for your quick response.