Q2 2020 Progress Report
#1

progress rep q2 2020

Written by lightningterror

GSdx Improvements


[Accuracy Enhancement] #3414, #3433 (HW/SW) Z-Buffer improvements. By lightningterror, refraction and KrossX, backport from Dobiestation.

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 Smile

Itadaki Street:

Itadaki-Street-before  Itadaki-Street-after

Rozen Maiden DuellWalzer:

Rozen Maiden DuellWalzer before resize Rozen Maiden DuellWalzer after

Tomb Raider Angel of Darkness:

Tomb Raider Angel of Darkness before Tomb Raider Angel of Darkness after

Alone in the Dark:

Alone in the Dark before Alone in the Dark after

[Accuracy Enhancement] #3436 (HW) Improved Texture shuffle detection. By lightningterror and kojin.

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:

Onimusha 3 before Onimusha 3 after

Devil May Cry 3:

DMC3 before DMC3 after

[Accuracy Enhancement] #3131 (HW) Invalidate Source with overlapping draw. By iMineLink.

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

Jak before Jak after

[Accuracy Enhancement] #3075 (HW) Extend Software Sprite Renderer to Dragonball Z Budokai Tenkaichi 2 and 3. By iMineLink.

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:

DBZBT2 before DBZBT2 after

Budokai Tenkaichi 3:

DBZBT3 before DBZBT3 after

[Accuracy Enhancement] #3027 (HW) Add dithering support. By KrossX.

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.

castlevania before castlevania after

 [Accuracy Enhancement] #3264 (HW) Color clip blending improvements. By lightningterror.

  • Enable non recursive blending when blending is set to None. Previously non recursive blending was enabled only when blending was set to Basic or higher, and now it will be active on None option as well as there are 0 drawbacks. It is faster so games will gain a couple of FPS when blending is disabled and it is also more accurate. A win - win situation.
  • (OpenGL) Always use accurate sw blending on Safe/Accurate Frame buffer masking instead of accumulation mode. Fixes shadows in Superman Shadows of Apokolips, see image comparison below.

Superman Shadows of Apokolips before Superman Shadows of Apokolips after

[Misc Enhancements] Other important GSdx changes:

  • #3247 (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. By lightningterror.
  • #3304 (HW) Custom Resolution 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. By lightningterror.
  • #3263 (HW/SW) Mirror RGBAQ to 0x11. Fixes Ridge Racer V shadows, see image comparison below. By kojin and PSI-Rockin, backport from Dobiestation.

Ridge Racer V before Ridge Racer V after

  • #3279 (HW/SW) Mask A+D addresses. Fixes network configuration wizard display issues on some games, see image comparison below. By refraction,  backport from Dobiestation.

network config before network config after

  • #3440 (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. By lightningterror.


Core Improvements


 [Accuracy Enhancement] #3311, #3400 IPU Improvements. By turtleli.

  • Adds dithering to the RGB32->RGB16 conversion (see images from Hisshou Pachinko PachiSlot Kouryaku Series Vol 10 - carefully Tongue).

Hisshou Pachinko PachiSlot Kouryaku Series Vol 10 before Hisshou Pachinko PachiSlot Kouryaku Series Vol 10 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).

klonoa 2 before klonoa 2 after

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

[Misc Enhancements] Other important Core changes:

  • #3386 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. By arcum42.
  • #3361 Allow reading of 8bit timers (and other hardware pages). Fixes Robin Hood (character not being able to move, enemies not spawning, missing UI elements). By refraction.
  • #3385 Fix situation where a VIF IRQ triggers and the game triggers a STOP causing the IRQ to never trigger. Fixes Nitro Bike (hanging). By refraction.
  • #3095 Make recLUT not hardcoded to 32 MB. 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. By water111.
  • #3324 Implemented memory mode check in COP0. This makes Next Generation Tennis 2003 (Roland Garros French Open 2003) and Spongebob Squarepants Battle for Bikini Bottom (PAL release) work. By prafullpcsx2 and refraction.

SPU2-X Improvements


  • #3244 XAudio 2.7 has been removed as it's no longer needed since Windows 7 is no longer supported. By MonJamp.
  • #3454 Rewrite the spu2-x dialog on Linux in wxwidgets. By arcum42.

GameDB Improvements


  • #3376 Performance patch fix for Primal and Ghosthunter. 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). By RazielZnot.
  •  Other GameDB additions or deletions have been done throughout the Q2 cycle as well.

Misc Improvements


  • #3357 Preliminary work on macOS support, it still needs a lot work but it's a great step moving forward. By tellowkrinkle.
  • #3477, #3423 Better DPI scaling support. Fixed some texts being cut off from the GUI on several plugins as well as the glitchy logo when using DPI scaling. By lightningterror and Ryudo300.
  • #3420 Switch over the null plugins dialog code to use wxWidgets instead of gtk on Linux. By arcum42.
  • 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!

[Image: newsig.jpg]
Reply

Sponsored links

#2
Thumbs Down 
(07-26-2020, 09:25 AM)Bositman Wrote: Windows 7 and Windows 8 support has been dropped in order to move forward.

i couldnt tell if this was worthy of its own thread (hell i completely forgot pcsx2 even had its own forum), but for posterity, are there any pcsx2 devs around who can provide an even remotely reasonable explanation for physically removing support for any windows version older than 10 and why this needs to be done in order to """move forward"""?? good GOD that is vague terminology.

if you simply decided to stop providing users with tech support for 8.1 and lower then i could maybe justify that, but gimping your entire ***** emulator so that it's completely incapable of running on anything older than 10? to me that's unexcusable.  i know that pcsx2 doesnt have a lot of manpower (and that shows in more ways than one), but what component physically requires the project to only support a *****, half-baked, broken version of windows that also happens to be a literal botnet? microsoft is still providing paid support for windows 7 and extended support for 8.1 until 2023, win7 in particular still has a notable (but steadily declining) usershare and the vast majority of programs still at least run on 7. even alphabet plans on supporting chromium on 7 until mid 2021. every other emulator i can name runs fine on 7 and even xp. what the hell makes pcsx2 any different?

now granted, while i was hammering away at my keyboard i was redirected to this topic on github, which tells me this is solely because of xaudio2 (which i am not familiar with) and that the team is not purposefully planning on entirely preventing people from running pcsx2 on 7 or 8.1, its just newer versions of the audio plugin that wont work. while im still not entirely sure why this is the case, this progress report doesnt explain why support for anything older than 10 is being dropped. instead it just served to confuse the hell out of me and im guessing everyone else who hasnt migrated to linux yet.

what a doozy.
Reply
#3
(07-26-2020, 01:23 PM)m3atspace Wrote: i couldnt tell if this was worthy of its own thread (hell i completely forgot pcsx2 even had its own forum), but for posterity, are there any pcsx2 devs around who can provide an even remotely reasonable explanation for physically removing support for any windows version older than 10 and why this needs to be done in order to """move forward"""?? good GOD that is vague terminology.

if you simply decided to stop providing users with tech support for 8.1 and lower then i could maybe justify that, but gimping your entire ***** emulator so that it's completely incapable of running on anything older than 10? to me that's unexcusable.  i know that pcsx2 doesnt have a lot of manpower (and that shows in more ways than one), but what component physically requires the project to only support a *****, half-baked, broken version of windows that also happens to be a literal botnet? microsoft is still providing paid support for windows 7 and extended support for 8.1 until 2023, win7 in particular still has a notable (but steadily declining) usershare and the vast majority of programs still at least run on 7. even alphabet plans on supporting chromium on 7 until mid 2021. every other emulator i can name runs fine on 7 and even xp. what the hell makes pcsx2 any different?

now granted, while i was hammering away at my keyboard i was redirected to this topic on github, which tells me this is solely because of xaudio2 (which i am not familiar with) and that the team is not purposefully planning on entirely preventing people from running pcsx2 on 7 or 8.1, its just newer versions of the audio plugin that wont work. while im still not entirely sure why this is the case, this progress report doesnt explain why support for anything older than 10 is being dropped. instead it just served to confuse the hell out of me and im guessing everyone else who hasnt migrated to linux yet.

what a doozy.

8.1 is still supported, just 8.0 is dropped. The reason for this was the removal of the DirectX SDK which is ancient now, we have opted to use the version which has been integrated in to the Windows SDK so we can consolidate external packages, as a downside for this it means older OS's (which are no longer supported by Microsoft) will no longer be able to use newer versions of the emulator. You're free to continue to use 1.6.0, that will continue to support Windows 7 and 8.0. Progress can't always be made while still maintaining support for OS's which are no longer supported by Microsoft.
[Image: ref-sig-anim.gif]

Reply
#4
Quote:#3244 XAudio 2.7 has been removed as it's no longer needed since Windows 7 is no longer supported. By MonJamp.


First off, let me just say that I greatly appreciate the efforts of the Development Team and what they have done for the people; providing an amazing emulator that has enhanced the experience of games from the past.

But I have to say; this really breaks my heart.  Out of all the emulators out there, I was hoping that this PS2 emulator would always stay in development on Windows 7. 

There is a long laundry list of reasons why people do not want Windows 10; even after 5 years of it's inception.  And believe me, I wish I could just use Win 10 and be okay with that.  But after my experience with 10, I saw how problematic that OS really is and I want no part of it.  If Microsoft can see the error in their ways and create a stable Windows 11, then maybe I'll go with that, but as it stands; Windows 7 will be my only Windows OS.

So, I don't know if the audio or the other technical aspects are really that big of an obstacle for your team; but if that's how it has to be, I will have no choice but to learn Linux, something that I never wanted to do.
Reply
#5
if you don't like windows 10, you can always upgrade to Windows 8.1
[Image: ref-sig-anim.gif]

Reply
#6
I mean, linux isn't exactly difficult. Just install something like mint, Ubuntu, or fedora and you're done.
Reply
#7
(07-29-2020, 09:43 PM)Tetra_Tower Wrote: But I have to say; this really breaks my heart.  Out of all the emulators out there, I was hoping that this PS2 emulator would always stay in development on Windows 7. 

There is a long laundry list of reasons why people do not want Windows 10; even after 5 years of it's inception.  And believe me, I wish I could just use Win 10 and be okay with that.  But after my experience with 10, I saw how problematic that OS really is and I want no part of it.  If Microsoft can see the error in their ways and create a stable Windows 11, then maybe I'll go with that, but as it stands; Windows 7 will be my only Windows OS.

So, I don't know if the audio or the other technical aspects are really that big of an obstacle for your team; but if that's how it has to be, I will have no choice but to learn Linux, something that I never wanted to do.


People can have as many reasons as they like to dislike W10 (I support their right to dislike it) but that really has nothing to do with us. Like for example, people liked DX9 but at some point it was time for it to go. I understand there is a cause, people want to protest MS and say "we don't like your new OS, we will use W7" but here is reality:
  • W7 isn't coming back
  • W11 isn't going to be a thing
  • We aren't a part of the cause against MS
  • MS doesn't care about your protest either way
It may be a hard pill to swallow but you have to learn to deal with it the best you can.
Hoping that software will continue to support W7 until MS give you something you deem an acceptable alternative is just wishful thinking.
[Image: HkgHT5k.gif]
もっとちゃんと言ってよ
忘れないようメモにしてよ



Reply
#8
(07-30-2020, 01:19 AM)refraction Wrote: if you don't like windows 10, you can always upgrade to Windows 8.1

I have installed every new Windows OS that has comes out since Windows ME.  I use the version with the least amount of problems, which is why I went back to Win 7.  The versions following suck bad, otherwise I would have stayed on them.
Reply
#9
(07-30-2020, 03:31 AM)Kojin Wrote: People can have as many reasons as they like to dislike W10 (I support their right to dislike it) but that really has nothing to do with us. Like for example, people liked DX9 but at some point it was time for it to go. I understand there is a cause, people want to protest MS and say "we don't like your new OS, we will use W7" but here is reality:
  • W7 isn't coming back
  • W11 isn't going to be a thing
  • We aren't a part of the cause against MS
  • MS doesn't care about your protest either way
It may be a hard pill to swallow but you have to learn to deal with it the best you can.
Hoping that software will continue to support W7 until MS give you something you deem an acceptable alternative is just wishful thinking.

I support your right to speak at random and have a negatively biased view; live your best life.

And I clearly mentioned Linux, so that has been covered.

Do you wake up angry or something?  You type like you're about to flip over a table.
Reply
#10
No, he's speaking honestly and truthfully. Windows 7 is EOL period. We chose to stop supporting it. You continuing to use it is your issue, not ours. You're more than welcome to not have the latest pcsx2 version and fixes.
Reply




Users browsing this thread: 1 Guest(s)