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


Dolphin, the GameCube and Wii emulator - Forums › Dolphin Site › dolphin-emu.org articles v
1 2 3 Next »

To the Screen with Hybrid XFB
View New Posts | View Today's Posts

Pages (8): 1 2 3 4 5 ... 8 Next »
Jump to page 
Thread Rating:
  • 1 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Thread Modes
To the Screen with Hybrid XFB
11-19-2017, 02:24 PM
#1
MayImilae Offline
Chronically Distracted
**********
Administrators
Posts: 4,568
Threads: 119
Joined: Mar 2011
[Image: hybridxfbheadermini.jpg]



A new article has been published on the Dolphin blog - To the Screen with Hybrid XFB

Feel free to discuss the article on this thread.


And we thought Ubershaders was a monster, WHEW! This is our biggest article yet! If you want to know lots about how Dolphin works, you'll love this one!

-
Find
Reply
11-19-2017, 04:25 PM
#2
Nintonito Offline
Posting Freak
*****
Posts: 951
Threads: 81
Joined: Jan 2014
Loved the article. Great work as always. However I do have one lingering question that is driving me nuts. The article never explains exactly how Dolphin gets around the native resolution limit with direct XFB modification. You describe the hash setup and swap, but how did you guys work the magic to make the emulated XFB region arbitrary resolution? Or does the resolution become native only when the hash fails and the “real” XFB in emulated memory is used?
Find
Reply
11-19-2017, 04:37 PM
#3
addestroyer Offline
Junior Member
**
Posts: 41
Threads: 4
Joined: Nov 2017
I think this is one of the most interesting articles I've read in a long time (since Ubershaders?). I've only started following Dolphin really closely in the past few months/weeks, so when I saw the mention of "a big feature that wasn't going to be done on time," in the last progress report, I got really interested and started digging in the pull requests to try to satisfy my curiosity. It's really awesome to finally get the details, and I love how you explain each bit, from the original consoles and the old emulation, all the way through how Hybrid XFB works and what all it fixes! Last I saw, there was still some discussion of frame-dumping being slow, will that affect normal emulation speed at all?
Find
Reply
11-19-2017, 04:38 PM
#4
MayImilae Offline
Chronically Distracted
**********
Administrators
Posts: 4,568
Threads: 119
Joined: Mar 2011
Nintonito Wrote:The article never explains exactly how Dolphin gets around the native resolution limit with direct XFB modification.

Well, if you mean CPU modifications to the XFB region, well, any time the CPU has modified the frame it will be 1x native. They take place in main memory (where we can only have 1x native copies), and Dolphin detects the change and switches to them.

Nintonito Wrote:Or does the resolution become native only when the hash fails and the “real” XFB in emulated memory is used?

Yep!
[Image: RPvlSEt.png]
AMD Threadripper Pro 5975WX PBO+200 | Asrock WRX80 Creator | NVIDIA GeForce RTX 4090 FE | 64GB DDR4-3600 Octo-Channel | Windows 11 22H2
MacBook Pro 14in | M1 Max (32 GPU Cores) | 64GB LPDDR5 6400 | macOS 12
Find
Reply
11-19-2017, 04:42 PM
#5
addestroyer Offline
Junior Member
**
Posts: 41
Threads: 4
Joined: Nov 2017
When the CPU does perform modifications, does that mean the entire frame gets replaced with the native resolution image? Or do only the modified sections get bumped back to native?
Find
Reply
11-19-2017, 04:52 PM (This post was last modified: 11-19-2017, 05:08 PM by MayImilae.)
#6
MayImilae Offline
Chronically Distracted
**********
Administrators
Posts: 4,568
Threads: 119
Joined: Mar 2011
The entire frame. That's why Mario Strikers loading screen in Store XFB to Texture Only is almost all magenta from a partial CPU modification. See the Partial XFB section for details!

Things like Brawl classic mode are reading the old frame data, so it's not actually a CPU modification. That's why only part of the screen is magenta - its the part of the frame that it places the old frame data it read into.
[Image: RPvlSEt.png]
AMD Threadripper Pro 5975WX PBO+200 | Asrock WRX80 Creator | NVIDIA GeForce RTX 4090 FE | 64GB DDR4-3600 Octo-Channel | Windows 11 22H2
MacBook Pro 14in | M1 Max (32 GPU Cores) | 64GB LPDDR5 6400 | macOS 12
Find
Reply
11-19-2017, 06:17 PM
#7
JosJuice Offline
Developer
**********
Developers (Some Administrators and Super Moderators)
Posts: 8,837
Threads: 7
Joined: Oct 2014
(11-19-2017, 04:37 PM)addestroyer Wrote: Last I saw, there was still some discussion of frame-dumping being slow, will that affect normal emulation speed at all?

No, only frame dumping.
Find
Reply
11-19-2017, 06:49 PM (This post was last modified: 11-19-2017, 07:03 PM by Admentus.)
#8
Admentus Offline
Nothing but perfection for gaming
*******
Posts: 1,967
Threads: 25
Joined: May 2015
WOOOOOOT! It is finally here! Dolphin did it! Onwards to infinity!

Great article through. I am looking forward to the next big feature. That is, if there are any big features left to add... I mean, we already have Vulkan, Ubershaders and now even Hybrid XFB. What could be possibly left to add from here on.
Super Mario 64 - Super Smash Bros. 64 - Mario Kart 64 - Zelda 64 - Star Fox 64 - Patreon - Discord
Find
Reply
11-19-2017, 07:26 PM (This post was last modified: 11-19-2017, 07:26 PM by Kurausukun.)
#9
Kurausukun Offline
Zeitgenössischer Wurst
*******
Posts: 1,034
Threads: 62
Joined: Mar 2014
Why exactly is frame dumping slower now, and is it being worked on? That's kind of important.

EDIT: Also hooray for this finally being released, whoops.
Find
Reply
11-19-2017, 07:43 PM (This post was last modified: 11-19-2017, 07:44 PM by degasus.)
#10
degasus Offline
Developer
**********
Developers (Some Administrators and Super Moderators)
Posts: 1,827
Threads: 10
Joined: May 2012
(11-19-2017, 07:26 PM)Kurausukun Wrote: Why exactly is frame dumping slower now, and is it being worked on? That's kind of important.

https://github.com/dolphin-emu/dolphin/pull/6193

We just didn't want to delay the hybrid XFB pull request longer...
Find
Reply
« Next Oldest | Next Newest »
Pages (8): 1 2 3 4 5 ... 8 Next »
Jump to page 


  • 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