• Login
  • Register
  • Dolphin Forums
  • Home
  • FAQ
  • Download
  • Wiki
  • Code


Dolphin, the GameCube and Wii emulator - Forums › Dolphin Emulator Discussion and Support › Development Discussion v
« Previous 1 ... 45 46 47 48 49 ... 114 Next »

Development Thread
 Testers wanted - tev_fixes
View New Posts | View Today's Posts

Pages (3): 1 2 3 Next »
Thread Rating:
  • 1 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Thread Modes
Green Notice (Development Thread) Testers wanted - tev_fixes
03-03-2013, 03:55 AM (This post was last modified: 03-03-2013, 09:15 AM by neobrain.)
#1
neobrain Offline
"Wow, I made my code 1000x faster! That means I can make it 2048x slower now!"
**********
Developers (Some Administrators and Super Moderators)
Posts: 3,209
Threads: 50
Joined: Jun 2009
Bug 
Hi everyone,
Those who follow development progress regularly already know how much work and trouble has went into this branch - but it should be close to ready now.
tl;dr: Skip the next four paragraphs if you don't care about the background and just want to test the damn thing.

As a quick introduction, TEV stands for Texture EnVironment and is basically the fixed function equivalent of pixel shaders on the GC's/Wii's GPU (Flipper/Hollywood). It's highly customizable in what it does and thus, next to EFB copies, the heart of Flipper's graphics processing capabilities. Most games use TEV only in a very basic way, often making only use of one processing stage (TEV supports up to 16 of those). The most graphically taxing games make full use of the TEV feature set, so it's crucial for Dolphin to have a solid TEV emulation in place. While almost every TEV features is being emulated in Dolphin these days, accuracy turned out to be anything but good because of sloppy programming.

Maybe some of you remember the good old days when Mario's eyes didn't show up in Super Mario Galaxy (cf. this hilarious screenshot). This is a nice example of what can go wrong when you don't have accurate TEV emulation. The source of this problem is that while Flipper stores certain immediate results as 8 bit integer values, Dolphin emulates them with 32 bit floating point values. Issues arise in the alpha test, when the immediate value is expected to be equal to the reference value; but since our immediate value doesn't have the correct amount of bits the alpha test always fails for mario's eyes, and so they don't show up at all in the screenshot.

Instead of realizing that the existing code was flawed, hacks were introduced to workaround this kind of issue. In the particular example instead of properly emulating the precision of intermediate values, the alpha testing code was hacked to accept small values around the actual reference value. While "fixing" the issue in Super Mario Galaxy, the magic values used in the hack were unpredictable and sometimes broke other games so it was adjusted numerous times, effectively without improving emulation quality at all. Many people already now my hate against any sort of hacks in emulation code, and this situation once again proves my point.

Similar situations existed in the TEV code, so late 2012 I started working on the tev_fixes branch. At first I only targeted emulating precision of immediate values correctly. However, with that change a large number of games showed graphical issues, so while I was perfectly sure that my change was the more accurate emulation I hesitated committing it to master. Turned out I had to remove a vast majority of the TEV hacks in our code to make the broken games work again. On the plus side, this should fix a lot of issues. Issues possibly affected by this branch include, but aren't limited to:
  • Issue 2098
  • Issue 3313
  • Issue 4364

Anyway, getting to the point: I'd like to ask everyone to test this branch for remaining issues in any games. I'm sure there's still a few rough edges, but without any proper reports I can't debug them. So when you find an issue, make sure to a) post a fifo log showing the issue (2 frames should be good enough usually) b) post your hardware specs. If you like, one or two performance comparisons would be appreciated, too (make sure to compare against the proper master revision, i.e. 3.5-514. Test with a high IR to make the results more clear).
Builds are available here: 32 bit 64 bit

Thanks in advance to all testers!
My blog
Me on Twitter
My wishlist on Amazon.de
Find
Reply
03-04-2013, 04:24 PM (This post was last modified: 03-04-2013, 04:37 PM by JMC47.)
#2
JMC47 Offline
Content Producer
*******
Content Creators (Moderators)
Posts: 6,531
Threads: 29
Joined: Feb 2013
Since no one else is doing this, I figured I would check out a few games while I had some time.

I tested this in several games, and didn't notice any big problems. I did some testing in a few games to help out. Games were using DX9 with EFB2Ram Enabled, HLE audio, and everything else at default. 1x IR, no AA, etc. I have a Core i5 760 @ 3.8 GHz and a GTX 470. I used 3.5-514 of master and the 64 bit version of Tev Fixes. Will test with higher IR later on when looking for more graphical differences, I was just meaning to do performance testing for right now.

Mario Galaxy

Mario's Eyes in game are not drawn again in DX9 - http://i.imgur.com/ehSzfjL.jpg
DX11 and OpenGL are unaffected.
fifolog: http://www.mediafire.com/download.php?y66nqeszod7vaaa
(May want to up IR to see his eyes better, stupid camera was very uncooperative)
Castle Shot FPS

Tev Fixes: 70 fps
Master : 71 fps

New Super Mario Bros Wii

Game seems fine.

Birthday Cake Scene

Tev Fixes: 62 fps
Master : 98 fps

Mario Super Sluggers

Game's Per Pixel Depth issue and broken gate shadow in Luigi's Mansion stage are still broken. Didn't find a consistent spot to do an FPS check.

Seems to take a huge hit out of New Super Mario Bros Wii, and I'm not exactly sure why. I'll do more testing in the future; I'll check out Wind Waker once I find a save and see if the pink highlights are fixed. I should add I tested a bunch of issues in the Mario Baseball games and none were resolved by the branch, as well a broken minigame in Mario Party 7. Just figured I'd say that for other people who are going to test through issues. (issues 6013, 6009, 4684)
Find
Reply
03-04-2013, 08:17 PM
#3
neobrain Offline
"Wow, I made my code 1000x faster! That means I can make it 2048x slower now!"
**********
Developers (Some Administrators and Super Moderators)
Posts: 3,209
Threads: 50
Joined: Jun 2009
Thanks for the feedback!
I guess Mario's eyes work fine in d3d9 in master?

As a quick note, IR generally shouldn't matter, so it shouldn't be necessary to retest everything with different IR.

About the performance issues, tev_fixes increases pixel shader workload quite a bit. If that's really the issue here, the performance difference should become even greater for higher IRs.
My blog
Me on Twitter
My wishlist on Amazon.de
Find
Reply
03-04-2013, 09:16 PM (This post was last modified: 03-04-2013, 09:27 PM by dEnigma.)
#4
dEnigma Offline
Member
***
Posts: 138
Threads: 1
Joined: Sep 2011
I did a little testing with Zelda the Wind Waker and while the pink water issue is fixed there are a number of new issues, but only with DirectX9:

1. Bombs and bomb flowers are invisible:

http://i.imgur.com/WqmjMoz.png
http://i.imgur.com/2XgCRpS.png

Fifo log: https://dl.dropbox.com/u/35446621/bombs.rar

2. Characters have no eyes (except for link):

http://i.imgur.com/wb48nE0.png

Fifo log: https://dl.dropbox.com/u/35446621/eyes.rar

3. Trees are weird:

http://i.imgur.com/HIXBKPw.png

Fifo log: https://dl.dropbox.com/u/35446621/trees.rar


I didn't have time to do any performance testing and I only played for about 10 minutes with each backend in both master and Tev_fixes. Will do more extensive testing later.

Specs:
GPU: Nvidia GT 630m
CPU: i3 2350m

EDIT: I also had an issue with Link's shield hovering in front of him while running in both DirectX9 and 11 but I couldn't reproduce it after I restarted the emulator.
[Image: postcountwe8.jpg]
---------------------------------------------------------------------------------------
[Image: 2350461.png]
Find
Reply
03-04-2013, 11:03 PM
#5
neobrain Offline
"Wow, I made my code 1000x faster! That means I can make it 2048x slower now!"
**********
Developers (Some Administrators and Super Moderators)
Posts: 3,209
Threads: 50
Joined: Jun 2009
Thanks guys, that should give me a starting point for further testing.

@ everyone: Should be good enough for now, no need to report any other regressions Smile
My blog
Me on Twitter
My wishlist on Amazon.de
Find
Reply
03-05-2013, 08:12 AM (This post was last modified: 03-05-2013, 08:12 AM by degasus.)
#6
degasus Offline
Developer
**********
Developers (Some Administrators and Super Moderators)
Posts: 1,827
Threads: 10
Joined: May 2012
I've done a very quick performance test. All on OGL/Linux with my NVS 5400M, Xenoblade Chronicles ingame with 4xIR:

tev_fixes-533: 8 fps
master-514: 14 fps
master-549: 18 fps (disabled per pixel depth again)
master-549+: 11 fps (depth + tev)

glsl-742: 16 fps
glsl-742+: 20 fps (with master-549 patch)

So there is a major (-40%) performance issue in this branch.
Sorry, I wasn't able to test tev merged with glsl...
Find
Reply
03-05-2013, 11:31 AM (This post was last modified: 03-05-2013, 11:35 AM by LordVador.)
#7
LordVador Offline
Christmas Vader
*******
Posts: 8,852
Threads: 1,908
Joined: Mar 2011
Cel Damage isn't fixed for me (issue 4364). Some textures remain black.
And the game is still unplayable due to the "falling through the floor issue" of course.

Open Season is now playable. The game was totally unplayable before due to a major graphical issue. Seems to be fixed
[color=#ff0000][color=#006600]i5 3570K @ 4.5GHz/GTX 660 Ti/RAM 4GB/Win7 x64[/color][/color]
Find
Reply
03-05-2013, 05:03 PM (This post was last modified: 03-05-2013, 05:04 PM by MayImilae.)
#8
MayImilae Online
Ambassador of Niche Platform Support
**********
Administrators
Posts: 4,443
Threads: 116
Joined: Mar 2011
Open Season is working in master since 3.5-420 because of an INI change. Did you remove that to check?

http://wiki.dolphin-emu.org/index.php?title=Open_Season
[Image: RPvlSEt.png]
Windows 10 x64 | Core i9-9900k | NVIDIA GeForce RTX 3090 EVGA FTW3 Ultra| 32GB DDR4-3000 | Asus Xonar Essence STX on Logitech Z-2300 | Logitech G903 Hero
MacBook Pro 14in | M1 Max (32 GPU Cores) | macOS 12 | 64GB LPDDR5 6400
Find
Reply
03-05-2013, 11:05 PM (This post was last modified: 03-05-2013, 11:06 PM by LordVador.)
#9
LordVador Offline
Christmas Vader
*******
Posts: 8,852
Threads: 1,908
Joined: Mar 2011
My god! You're right. I Hadn't tried this game for a long Smile .

Btw I used MMU instead of MMU Speed Hack (as indicated in .ini file) with 3.0 and even older builds and it worked fine too. So the game has been working for ages and not only since 3.5-420 Tongue
[color=#ff0000][color=#006600]i5 3570K @ 4.5GHz/GTX 660 Ti/RAM 4GB/Win7 x64[/color][/color]
Find
Reply
03-06-2013, 12:50 AM
#10
MayImilae Online
Ambassador of Niche Platform Support
**********
Administrators
Posts: 4,443
Threads: 116
Joined: Mar 2011
Thanks for trying it, added it to the wiki.
[Image: RPvlSEt.png]
Windows 10 x64 | Core i9-9900k | NVIDIA GeForce RTX 3090 EVGA FTW3 Ultra| 32GB DDR4-3000 | Asus Xonar Essence STX on Logitech Z-2300 | Logitech G903 Hero
MacBook Pro 14in | M1 Max (32 GPU Cores) | macOS 12 | 64GB LPDDR5 6400
Find
Reply
« Next Oldest | Next Newest »
Pages (3): 1 2 3 Next »


  • View a Printable Version
  • Subscribe to this thread
Forum Jump:


Users browsing this thread: 1 Guest(s)



Powered By MyBB | Theme by Fragma

Linear Mode
Threaded Mode