libretro / flycast

Flycast is a multiplatform Sega Dreamcast emulator. NOTE: No longer actively developed, use upstream repo for libretro from now on - https://github.com/flyinghead/flycast
http://reicast.com
GNU General Public License v2.0
155 stars 77 forks source link

Sonic Shuffle - GL Rendering Issue #1028

Closed WhicheverComa closed 3 years ago

WhicheverComa commented 3 years ago

Currently trying to setup Sonic Shuffle emulation for friends, but struggling to get Retroarch to work with me.

The main issue stems from Sonic Shuffle's gameplay system requiring VMU screen emulation to be enabled, as player's cards are viewed through these means. However, support for VMU screen display only works with GL renderers. Below are images of what the game looks like with each Alpha Sorting setting and renderer. Vulkan displays the game perfectly while GL destroys several textures from what I assume is layering issues. I've seen several videos of Shuffle working on retroarch with the VMUs enabled, but I'm struggling to find a configuration that fixes these issues.

Video of Sonic Shuffle working on retroarch, VMUs enabled: https://www.youtube.com/watch?v=l-r8Why_ujA&t=416s

GL with Per-Triangle/Per-Pixel image

GL with Per-Strip image

Vulkan with Per-Pixel (Desired outcome) image

If there are any easy solutions to this problem or if there is a build of libretro flycast that features VMU screen support with Vulkan, lmk. Thank you in advance!

Note: Everything is running on Windows 10!

bslenul commented 3 years ago

flycast_libretro.dll.zip

This version works fine with Sonic Shuffle, no glitch with GL on that screen with "Per-Pixel", and VMU was still working with Vulkan (it is the version I mentionned in #953), so you should be fine in both cases!

WhicheverComa commented 3 years ago

This worked like a charm!!!!!!! Thank you so much!

bslenul commented 3 years ago

Update: both issues have been fixed! The GL bug was a compilation issue which caused the "per-pixel" option to not work, and the VMU with Vulkan was fixed few days ago (016095e8c84364eac8200e000fc4e4932ec6d21c), latest version from the core updater should now work properly! And the issue can be closed I guess :)