
Though inefficient, by asking for a pool far larger than anything it can ever possibly fill, Dolphin never has to worry about managing the pool. Dolphin however takes the simple route, and just asks for a pool of 100,000 descriptor sets. Most programs implement this with a "growth strategy" where they ask for a small pool of a few thousand sets, then enlarge the pool as required. Instead, the program needs to create a descriptor pool with a specified maximum number of sets, and then the pool itself allocates the descriptor sets. However, a program cannot create descriptor sets.
Hell architect cheats driver#
In Vulkan, descriptor sets are used to tell the graphics driver what resources (textures, buffers, etc) to make available for shaders to use. The end of their bisecting was a change that contained a number of optimizations for Vulkan Descriptor Pools. We are a tiny volunteer team, we cannot be expected to debug another project! However TellowKrinkle went above and beyond and, using their Metal knowledge, worked with our testers to isolate the regression in MoltenVK. This was a regression in MoltenVK itself. We traced it to 5.0-15474 - a MoltenVK version update. Now with some solid reproducible cases, we went to work bisecting to isolate this nasty performance regression. It varied substantially depending on the test (hence the difficulty isolating this), but in some scenarios MoltenVK was performing up to 45% worse than before! Something had gone wrong.Ĭomparing our native Metal results to our old MoltenVK results, Metal is still better, but by only a little bit. The MoltenVK results we were getting, as recorded in the graph above, were far lower than the previous times we've shown these tests. When we ran our new Metal graphics backend and MoltenVK through the tests above for this very Progress Report, it finally hit us. But the new Metal backend was functioning correctly and we weren't going to argue with improved performance, so we cautiously continued forward. Based on our prior experience and general industry knowledge, MoltenVK is an excellent translation layer - a native Metal implementation should only be a little faster. Our native Metal backend was performing too much better. Our macOS users were extremely excited by these improvements! In GPU heavy titles, such as the GPU focused Skyloft and Elyia tests, the difference was enormous! However, something felt off. The above graph is not current, please keep reading. Having conquered Metal on PCSX2, they turned their attention to Dolphin and decided to try their hand at a native Metal backend. Enter TellowKrinkle the architect of PCSX2's macOS port and Metal Graphics Backend. This proved to be a very successful compromise, and it may very well have saved our macOS support.īut, in theory, a native Metal backend would be faster than MoltenVK. As a translation layer between Vulkan and Metal, MoltenVK allowed us to support Metal through our Vulkan graphics backend, with little effort on our end. However, in the midst of that struggle an alternative arrived - MoltenVK.

Unfortunately, due to Dolphin's quirks and unfamiliarity with the Metal API, the effort stalled out.
Hell architect cheats update#
Notable Changes ¶ 5.0-16965 - macOS: Add Metal Backend by TellowKrinkle and 5.0-17206 - MoltenVK: Update to v1.1.11 by OatmealDome ¶Įarly on in Metal's life, Stenzek experimented with adding a Metal Graphics Backend to Dolphin.

Hell architect cheats mods#
We also have a wide variety of emulation fixes, more graphics mods added, and the long awaited SD card "folder" feature!Īll of that and it's our job to write about it. If you're looking for an easier way to setup a wide variety of controllers, a new SDL2 controller backend has been added for all OSes, and even brings native motion control support without the use of a DSU server to non-Linux operating systems. They also brought their graphics expertise to improve things for everyone, greatly reducing the remaining causes of shader based delays/stuttering when using Ubershaders. macOS users in general will be able to rejoice with the addition of a brand new Metal backend brought to us by veteran developer TellowKrinkle.

albeit a bit delayed.Īs such, we've got a huge smattering of changes to go over and many smaller ones that we couldn't quite fit in. Still, the show must go on, and we're here. While sometimes the question is what do we put into the Progress Report, during the summer months it's usually how much can we fit into the Progress Report? This summer's congestion was then compounded by us blog staff having a few things we've been planning coming into fruition. The Summer tends to consistently be one of the busiest times for Dolphin's development.
