Dolphin, the GameCube and Wii emulator - Forums

Full Version: Feature Request: HDR support!
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5
Windows 10 now fully supports HDR on an OS level in a recent update, the HDR switch in the OS display setting automatically changes output to HDR. Before, at least for my PC, it used to require a separate app to make the switch such as an HDR game or MPC-HC playing an HDR video file and then everything else would look wonky. Now the whole desktop and most apps like File Explorer and Chrome, display correctly in HDR mode! The Dolphin qt GUI displays just fine in HDR mode but the current result of running a game in Dolphin 5.0-7197 with HDR mode on just seems to break Windows out of the system wide HDR mode without changing the HDR tag and causes graphical issues until HDR is switched off and on again in the OS settings.

Is anyone else interested in seeing HDR support for Dolphin? How difficult would this be to implement? Could HDR conversion be implemented as a filter on finished SDR frames or would it have to be built into the renderer to be viable?
Indeed, but be careful, I think one thing is GUI/Main HDR support, another is in-game HDR support, these things probably don't mix.

I remember the HDR in-game talk long time ago, It was said that apart from ofcourse core support, custom shaders would be needed, similarly to how custom textures work. Which would also let the public to write a custom shader which would be one part needed to support HDR, something like that, but most likely all the custom textures would need to be repackaged if not rebuilt too.

Custom shaders thing may probably be useful for many other things such as improving graphics in general, or performance boost in some areas, but don't take my word for it.
HDR is a very non-trivial thing to properly support in an emulator of a console that never supported HDR output in the first place.
About the GUI, in terms of Qt, wouldn't that come from upstream anyway and it would just be working once it's updated? If I understood the thread correctly, something's not working right with the GUI when enabling HDR mode in latest Win10?
The SDR>HDR tone mapping issues of Windows 10 is really something for Windows to fix. As an SDR only application (as helios said, the GC/Wii do not do HDR whatsoever), HDR tonemapping is not our responsibility.
(05-07-2018, 06:59 AM)Renazor Wrote: [ -> ]About the GUI, in terms of Qt, wouldn't that come from upstream anyway and it would just be working once it's updated? If I understood the thread correctly, something's not working right with the GUI when enabling HDR mode in latest Win10?

The GUI looks totally fine in HDR mode.  I'm specifically referring to rendering games in HDR, sorry I should've made that more clear.
(05-07-2018, 08:44 AM)MayImilae Wrote: [ -> ]The SDR>HDR tone mapping issues of Windows 10 is really something for Windows to fix. As an SDR only application (as helios said, the GC/Wii do not do HDR whatsoever), HDR tonemapping is not our responsibility.
I don't think so, I think Windows already fixed the color issues system wide but they've left SDR to HDR tone mapping to be done on a per app basis.  It wouldn't make sense for them to mess with Dolphin's opengl render window.  MPC-HC with MadVR does SDR to HDR tone mapping in app already.  Youtube in Chrome can play HDR videos but doesn't seem to tone map SDR videos to HDR on the fly like MPC-HC does.
On systems with floating-point render targets (i.e. the GPU does lighting calculations in floating point and saves the result as floating point) it's fairly easy to add HDR support after the fact, as you can just change how the floating point numbers are converted to integers. The Wii and GameCube, however, do a huge amount of their graphics work in integer format, so it's likely that the final render result will be a number corresponding to exactly to the integer the screen wants, making it hard/impossible to change the conversion after the fact.
(05-07-2018, 11:54 AM)AnyOldName3 Wrote: [ -> ]On systems with floating-point render targets (i.e. the GPU does lighting calculations in floating point and saves the result as floating point) it's fairly easy to add HDR support after the fact, as you can just change how the floating point numbers are converted to integers. The Wii and GameCube, however, do a huge amount of their graphics work in integer format, so it's likely that the final render result will be a number corresponding to exactly to the integer the screen wants, making it hard/impossible to change the conversion after the fact.

So it would come down to hacking a few select games? Question is, would it be legal enough to ship with dolphin.
I'm pretty sure AnyOldName was quite wrong with that. If a game renders in HDR, like a 360 or PS3 or newer game, you could in theory hack through to access the already existing HDR lighting data. It wouldn't be that easy, as it's tuned to display in SDR so just about everything would break and you'd have to fix that and that's basically impossible without the game's source code, but with an extreme stretch, it's possible.

But the GameCube and Wii don't support HDR rendering in any capacity. There is no HDR source to dig out. The best Dolphin could do would be an add on filter. And well, we already have bad bloom! :3
Pages: 1 2 3 4 5