Skip to main content

Q2 2020 Progress Report

· 8 min read

GSdx Improvements

A huge boost in accuracy that we've accomplished was improving Z-Buffer emulation on both hardware and software renderers. What this means is that a lot of games received a boost in accuracy throughout the ps2 game library. Many text and HUD issues have been resolved. So far these are the games that we know of that show an improvement:

  • Itadaki Street 3 (text display),
  • Midnight Club 3 (text input),
  • Rozen Maiden DuellWalzer (text)
  • F1 2004 (starting lights),
  • Alone in the Dark (improper controller display),
  • Silent Hill 2 and 3 (textures not showing on different angles such as toilet),
  • Syphon Filter: The Omega Strain (weapon HUD),
  • Tomb Raider Angel of Darkness (book pictures).

For anyone interested what Z-Buffering is and it's technical aspects, there is a nice wiki page that you can read here .

Here are some eye candy image comparisons from some of the mentioned games

Itadaki Street:

Before
After

Rozen Maiden DuellWalzer:

Before
After

Tomb Raider Angel of Darkness:

Before
After

Alone in the Dark:

Before
After

To put it simply it improves the effect detection so that games can be properly rendered, plus we removed the CRC hacks that were in its place to skip the bad draw calls. So far we know of only two games that hit the code path such as Onimusha 3 and Devil May Cry 3, but we believe there are more that we don't know of.

Everybody loves image comparisons right?

Onimusha 3:

Before
After

Devil May Cry 3:

Before
After

Improve texture cache Source objects invalidation logic taking into account overlapping with current draw. Fixes eyes rendering for the Major in Jak 1.

Before
After

Previously we've discussed that we have a new feature called SWSpriteRenderer that we use to properly render the Jak character model in Jak games. Now we are extending the feature as well as improving the SWSpriteRenderer code itself to work on Budokai Tenkaichi 2 and 3 games. This improves rendering of Kaio-ken effect in Dragonball Z Budokai Tenkaichi 2, as well as improve character silhouette in Dragonball Z Budokai Tenkaichi 2 and 3 when a character is hidden from displaying from an obstacle (rock for example), as well as properly render character flashing on a charged attack.

So far only Jak and Budokai Tenkaichi 2 and 3 games use this feature. In the future we plan on finding more games that can benefit from this, further improve the feature and always enable it by default along with auto detection.

Budokai Tenkaichi 2:

Before
After

Budokai Tenkaichi 3:

Before
After

Dithering support has been added on all hardware renderers. Another great step in increasing accuracy which further matches or gets close to Software renderer. For more specifics about what dithering is you can check this link here . For those who wish to turn off dithering on the latest development builds they can do so with the Page Down key which is temporary or edit the GSdx ini file which is permanent. There are 3 levels. Off, Scaled and Unscaled. A lot of games use dithering so here is an example below from Castlevania.

Before
After
  • Enable non recursive blending when blending is set to None.Previously non recursive blending was enabled only when blending wasset to Basic or higher, and now it will be active on None option aswell as there are 0 drawbacks. It is faster so games will gain acouple of FPS when blending is disabled and it is also moreaccurate. A win - win situation.

  • (OpenGL) Always use accurate sw blending on Safe/Accurate Framebuffer masking instead of accumulation mode. Fixes shadows inSuperman Shadows of Apokolips, see image comparison below.

Before
After

Other important GSdx changes

(PSX/PS1 emu) PS1 emulator plugin support has been dropped/removed, as the code wasn't maintained at all and the feature was barely working. What does this mean? GSdx as a plugin can no longer be used on other ps1 emulators that support a plugin interface such as ePSXe. PS1 titles can still be played using PCSX2.

(HW) CustomResolution has been removed from the GUI. The option didn't work properly with many features such as Depth Emulation, Destination Alpha Test and many more, breaking accurate emulation in the process. For anyone still wishing to use Custom Resolution even though we strongly advise against it, they can modify the GSdx ini file.

(HW/SW) Mirror RGBAQ to 0x11. FixesRidge Racer V shadows, see image comparison below. Backported from Dobiestation.

Before
After

(HW/SW) Mask A+D addresses. Fixes network configuration wizard display issues on some games, see image comparison below. Backported from Dobiestation.

Before
After

(HW) Alpha Stencil hack has been now completely removed from the Direct3D10/11 renderer as well. As it was the case with OpenGL now DATE Accuracy renders the effects properly with little to no side effects, leaving Alpha Stencil completely useless. In 9 out of 10 cases Alpha Stencil used to break plenty of post processing effects which was an awful hack.


Core Improvements

  • Adds dithering to the RGB32->RGB16 conversion (see images from Hisshou Pachinko PachiSlot Kouryaku Series Vol 10 - carefully).
Before
After
  • Adds SSE2 implementation of RGB32->RGB16 conversion (speed on the opening FMV in Hisshou Pachinko PachiSlot Kouryaku Series Vol 10 goes from ~175% to ~275% with frame limiter disabled using GSdx software mode).

  • Implements VQ (see images from Klonoa 2).

Before
After
  • Removes GameDB patches for Klonoa 2, and revert workaround for Klonoa 2 crashes which are no longer needed.

Other Core changes

SuperVU legacy recompiler has been completely removed. In order to move forward and make things easier (for example adding 64bit support) we have decided to completely remove the legacy SuperVU recompiler

Allow reading of 8bit timers (and other hardware pages). Fixes Robin Hood (character not being able to move, enemies not spawning, missing UI elements)

Fixes Nitro Bike (hanging)

This change makes the EE recompiler not hardcoded to working with 32 MB of RAM.This may be helpful if anybody else in the future wants to emulate a PS2 dev kit with 128 MB of RAM

This makes Next Generation Tennis 2003 (Roland Garros French Open 2003) and Spongebob Squarepants Battle for Bikini Bottom (PAL release) work


SPU2-X Improvements

It's no longer needed since Windows 7 is no longer supported


GameDB Improvements

Fix for terrible performance in US versions of Primal (all the time) and Ghosthunter (when encountering Teddy Bear and in the moment of Gator-Man's rush attack, maybe a few other cases)

  • Other GameDB additions or deletions have been done throughout the Q2 cycle as well.

Misc Improvements

It still needs a lot work but it's a great step moving forward

Fixed some texts being cut off from the GUI on several plugins as well as the glitchy logo when using DPI scaling.

  • Windows 7 and Windows 8 support has been dropped in order to move forward.

  • There have been other improvements made such as more code cleanups, bug fixes and other improvements but we won't mention them since they aren't that big of a deal.


Future Plans

64 bit support is in progress and getting along nicely, more work on macOS support, more juicy new core accuracy improvements that will be mentioned in the next report, more code cleanups, refactoring, overhauling and so on.


And that's all from us, see you next time in our Q3 Report!