Emulator Issues #12735


Spyro A Hero's Tail Bloom not fully fixed by TEM cache

Added by khg8m3r about 2 years ago. Updated about 1 year ago.

% Done:


Operating system:
Issue type:
Relates to usability:
Relates to performance:
Relates to maintainability:
Regression start:
Fixed in:


Game Name?

Spyro A Hero's Tail

Game ID? (right click the game in the game list, Properties, Info tab)


MD5 Hash? (right click the game in the game list, Properties, Verify tab, Verify Integrity button)


What's the problem? Describe what went wrong.

The underwater fog/bloom, while still broken as per issue #9277, has some more issues after 5.0-15294 pull request 8350

This is a known regression by the devs on the pull request 8350 about the black bar underwater. If you turn off "Store EFB Copies to Texture Only" then the issue goes away. Turn off "Defer EFB Copies to RAM" first to prevent issues changing EFB2TEX <-> EFB2RAM.


However the lighting/bloom above water still has issues, if you turn off the "Store EFB Copies to Texture Only" the lighting/bloom problem is still broken on the fairy and other weird light sources (underwater glowing coral and certain background lights).

Also, setting the texture cache to "Fast" or "Medium" breaks the lighting even if "Store EFB Copies to Texture Only" is enabled. It only works properly if set to "Safe"

Renders correctly in Software Backend? The fog effect above ground looks more pixelated, but the lighting looks correct.

What steps will reproduce the problem?

Change settings to disable "Store EFB Copies to Texture Only" to Disabled, or set Texture Cache Accuracy to anything besides "Safe"
Load the game
See the light/bloom not correct on the fairy and skylight

Dive into the water to see the light/bloom not correct on the coral
Navigate around the black bar issue underwater (disable fog for easier navigation)

Is the issue present in the latest development version? For future reference, please also write down the version number of the latest development version.

Yes - 5.0-15476 still has the issue

Is the issue present in the latest stable version?

N/A due to other issue with Spyro and TEM

If the issue isn't present in the latest stable version, which is the first broken version? (You can find the first broken version by bisecting. Windows users can use the tool and anyone who is building Dolphin on their own can use git bisect.)

5.0-15294 - black bar issue introduced
5.0-15289 - No black bar present, but has lighting issue
5.0-4703 - Lighting issue goes as far back as previous TEM fix
5.0-4700 - Had broken TEM, so it had no underwater bloom issue, but broken lighting/bloom in a different way (coral lighting works with Accuracy set to "Fast" but not "Safe")

If your issue is a graphical issue, please attach screenshots and record a three frame fifolog of the issue if possible. Screenshots showing what it is supposed to look like from either console or older builds of Dolphin will help too. For more information on how to use the fifoplayer, please check here:

see attachments

What are your PC specifications? (CPU, GPU, Operating System, more)
Intel i5-6600
Nvidia GTX 1080 Ti
Windows 10 20H2

Is there anything else that can help developers narrow down the issue? (e.g. logs, screenshots,
configuration files, savefiles, savestates)

Save file attached


spyro_underwater_fog_issue_worse_small.dff (4.51 MB) spyro_underwater_fog_issue_worse_small.dff Underwater fifolog khg8m3r, 11/14/2021 09:18 PM
7D-G5SE-G5SE.gci (160 KB) 7D-G5SE-G5SE.gci Save File khg8m3r, 11/14/2021 09:21 PM (935 KB) Above water bloom issue fifolog khg8m3r, 11/14/2021 09:47 PM
broken_lighting_fog_enabled_efb2ram.png (767 KB) broken_lighting_fog_enabled_efb2ram.png khg8m3r, 11/14/2021 11:14 PM
correct_lighting_fog_enabled_efb2tex.png (748 KB) correct_lighting_fog_enabled_efb2tex.png khg8m3r, 11/14/2021 11:14 PM
underwater_broken_lighting_fog_disabled_efb2ram.png (895 KB) underwater_broken_lighting_fog_disabled_efb2ram.png khg8m3r, 11/14/2021 11:14 PM
underwater_correct_lighting_fog_disabled_efb2tex.png (917 KB) underwater_correct_lighting_fog_disabled_efb2tex.png khg8m3r, 11/14/2021 11:14 PM
underwater_broken_lighting_fog_enabled_efb2ram.png (500 KB) underwater_broken_lighting_fog_enabled_efb2ram.png khg8m3r, 11/14/2021 11:14 PM
underwater_correct_lighting_fog_enabled_efb2tex.png (114 KB) underwater_correct_lighting_fog_enabled_efb2tex.png khg8m3r, 11/14/2021 11:14 PM
efb2vram_disabled_broken_lighting_broken_fog_color_banding.png (1.5 MB) efb2vram_disabled_broken_lighting_broken_fog_color_banding.png khg8m3r, 11/15/2021 12:30 AM
pr-10204_efb2vram_disabled__broken_lighting_correct_fog_color_banding.png (1.36 MB) pr-10204_efb2vram_disabled__broken_lighting_correct_fog_color_banding.png khg8m3r, 11/15/2021 12:30 AM
G5SE7D_2022-09-03_00-33-00.png (1.99 MB) G5SE7D_2022-09-03_00-33-00.png lasers, 09/03/2022 11:34 AM
G5SE7D_2022-09-03_06-31-28.png (1.28 MB) G5SE7D_2022-09-03_06-31-28.png lasers, 09/03/2022 11:34 AM
Actions #1

Updated by khg8m3r about 2 years ago

Black bar issues partially solved in efb2tex mode by
Lighting still broken when using efb2ram, but solves the underwater fog issue

Actions #2

Updated by JMC4789 about 2 years ago

This is probably issues with Dolphin's EFB2Tex path more than anything.

Actions #3

Updated by khg8m3r about 2 years ago

Well the efb2tex path has correct lighting but the broken underwater fog (and black bar), where efb2ram has no black bar but broken lighting and broken underwater fog.
The PR fixes the efb2ram underwater fog issue but the lighting is still broken, and the efb2tex branch has a partially solved black bar issue and still underwater fog.

Actions #4

Updated by JMC4789 about 2 years ago

Then it's probably more texture cache issues. Have you tried disabling EFB2VRAM in advanced?

Updated by khg8m3r about 2 years ago

It's behaving just like if efb2tex was disabled (running in efb2ram mode) but with color banding issues for both the latest master and the PR-10204 build.
The PR-10204 build also has two horizontal lines running through the screen.

Actions #6

Updated by JMC4789 about 2 years ago

Color banding is probably just from force 24-bit or something. I don't think that's a bug.

Actions #7

Updated by khg8m3r about 2 years ago

Yes, it does look like when force 24-bit is disabled (running in 18-bit mode) for efb2tex and efb2ram, but more splotchy? I'm not sure what is more correct for this game, as it wasn't meant to run at such high resolutions, and I can't tell in software render mode in this area if it's supposed to look like that.

Actions #8

Updated by JMC4789 about 2 years ago

Likely a few of the issues have to do with texture cache stuff, as Dolphin's Texture Cache is used as a way to "emulate" TMEM.

Getting this game to be perfect may require us to actually emulate TMEM properly. As long as it is playable for now, I don't think these regressions should count as a blocker for any potential release.

Actions #9

Updated by Miksel12 about 2 years ago

Some things I noticed were that EFB with VRAM disabled gives horizontal lines, the same lines can be seen when disabling 'disable copy filter'. EFB to RAM (and texture) gives the same result as EFB to texture with medium and fast hashing except for the black bar which is now partially correct due to 5.0-15484. EFB to texture seems similair to the software renderer but I don't have the game so I don't know what is correct.

Actions #10

Updated by phire about 2 years ago

Horizontal lines are an unrelated regression from PR #10204. Spyro splits the rendering of its bloom up into horizontal slices so that they can fit inside a 640x80 pixel region of the EFB. Apparently dolphin doesn't do the correct thing when apply copy filter coefficients to the first and/or last line of these copies.

But for most of the frame, it's now more correct. There is more blur that wasn't being applied before, and some brightness adjustment.

I'm actually not sure which bloom is right. The one you get with efb2tex, or the one you get with "Disable EFB VRAM Copies". I suspect it's the latter.

Actions #11

Updated by phire about 2 years ago

The horizontal lines regression should be fixed with PR #10222


Also available in: Atom PDF