Emulator Issues #951
OGL: MSAA shows black screen in Tales of Symphonia world map (ResolveAndGetFakeZTarget ?)
What steps will reproduce the problem?
1. Play Tales of symphonia with MSAA on (any value)
2. Reach the world map
What is the expected output? What do you see instead?
Black screen. Screen is correct with MSAA off.
What version of the product are you using? On what operating system?
Please provide any additional information below.
The game calls Renderer::ResolveAndGetFakeZTarget on the world map and not
anywhere else and that function has MSAA-specific code.
#1 Updated by sl1nk3.s about 11 years ago
if i remember correctly, inserting a return in Renderer::SetZBufferRender() when
using MSAA 'fixes' most of the black screen issues, however, the EFB frame is still
not working correctly that way...
That's unfortunately a known issue, the MSAA path is just not working correctly yet :(
#2 Updated by sh200x about 11 years ago
I can confirm that this is not just an issue with Tales. While tales may choke when it calls the FakeZTarget
function, there seems to be a broader issue here with how the AA is layered. I have been trying to look into
the whole 'black screen AA' issue this week as there is so much forum clutter related to people getting black
screens. It would be amazing to not have that problem with unnecessary posts related to this issue.
There seems to be a definite issue with the way AA interacts with the EFB frame. (Also appears to be a small
memory leak in there I have been trying to track down.) But regardless, adding AA seems to trip up the EFB
frame into reporting incorrect values that sometimes default to 000000.
Interesting enough, this reminds me of an issue I had several years ago while porting a pc FPS to linux and
mac. The super-sampling FSAA would work just fine, but changing to Multi-sampling would result in several
pieces in our render pipe turning black. SS worked because of how it applied its rendering to the entire
frame, MS choked because it was polygon-edge specific.
I'll take a closer look at the MS path and see if I can help.