XaiJu
xenia_project
xenia_project

patreon


Total Framebuffer Rewrite

After 4 months of intense work, we're finally releasing the completely new implementation of the GPU render target cache, designed to massively improve the performance of Xenia on the GPU β€” compared to both the previous non-ROV implementation as well as our custom ROV-based pixel processing path! πŸ¦”πŸš€πŸŒš

This new architecture is removing a huge fraction of emulation overhead caused by copying data between PC framebuffers by more precisely detecting when the memory that'd be backing them on the real console is actually being used by multiple framebuffers β€” and when copying needs to happen, it's performing it in a much more optimal way.

In addition, Xenia's now supports not only 2x2, but also 3x3 resolution scaling β€” allowing games to be played in up to 4K rendering resolution (if you have a very powerful video card such as the Nvidia GeForce RTX 3080, of course), and resolution scaling is now supported on both ROV and non-ROV pixel processing implementations! The configuration option for it has been renamed from d3d12_resolution_scale to draw_resolution_scale as we're moving towards a common high-level emulation architecture for both Direct3D 12 and, in the future, Vulkan.

The non-ROV path has now been made the default because of higher performance in most cases. It still has various inherently unfixable accuracy issues, but now we have more workarounds for certain cases β€” in addition to the depth_float24_conversion option added a few months ago, now Xenia has a gamma_render_target_as_srgb configuration option to handle cases when blending needs to be performed in gamma space β€” such as the impact decals in Halo 3 that normally have a bright square around them.

The option for toggling the render target emulation paths is now named render_target_path_d3d12 β€” to go back to the ROV path, you can set its value to rov.

You can read more about the update β€” as well a MASSIVE write-up of the recent 3 years in Xenia's GPU emulation, including all the challenges we've faced and all the smallest details of our solutions β€” in our new https://xenia.jp/ blog post, "Leaving No Pixel Behind: New Render Target Cache, 3x3 Resolution Scaling & Three Years in Xenia’s GPU Emulation".

The latest build can be downloaded on Xenia's website.

Comments

Is the problem with Goldeneye for AMD solely a AMD driver fault\problem? Question for devs is Goldeneye's problem solely because of AMD drivers? a admin in the past told me it became broken when blindless resources was implemented. Was that when blindless resources was implemented in Xenia or in AMD drivers?

xenia_master_FOR-DEVS-ONLY pasword


More Creators