PCSX2 / pcsx2

PCSX2 - The Playstation 2 Emulator
https://pcsx2.net
GNU General Public License v3.0
11.52k stars 1.6k forks source link

Meta: AMD Issues/Workarounds #1552

Closed mirh closed 3 years ago

mirh commented 8 years ago

Follows #1508 and hrydgard/ppsspp#8698 Gs dump is here.

Bissected up to either 16c2baa0df2d7859619d51d3995b78f057a8e965 or 29c97a9bf21a985e1524e0b428ff97aa678adcc4 Happens in Ace Combat 5 after "press start" screen only after Blending Unit Accuracy has been set to none in OGL hw.

I'd just complain over at AMD but I'd like to get a more straightforward testcase for them. Wouldn't be bad if somebody added "Upstream | External" label

List of AMD issues:

Links to AMD forum issue threads: https://community.amd.com/message/2748362 https://community.amd.com/message/2756964

Possible BSOD Citra Workaround Merged from issue #2362 As Gregory requested so we don't forget about it.

Currently Citra added a workaround for the amdfail driver that fixes the crashing caused by SSO. The commit is located here https://github.com/citra-emu/citra/pull/3499/commits/0cf6793622b01f3941fbc77fe04c3b68476004ca

Reddit post: https://www.reddit.com/r/emulation/comments/88vva4/citra_on_twitter_new_update_to_the_hardware/

Idea would be for this to be checked out and maybe implemented.

Some useful info

You unbind everything so you pay extra invalidation What we need to do is Create a pipeline by shader combination So you only bind once stage to a pipeline And then we bind and rebind pipeline But I'm not sure it will fix the crash Potentially citra workaround might not work on ours side.

FlatOutPS2 commented 7 years ago

They did immediately respond to the new issue: https://community.amd.com/thread/205702

I assume they'll release a fix for this relatively soon, but they'll probably reintroduce the BSOD, so this issue should stay open for now. :p

gregory38 commented 7 years ago

Could someone add a link to the previous community report with the previous testcase in BSOD thread ? In case the AMD's guy try to debug it again from scratch.

I assume they'll release a fix for this relatively soon

Yes 5 months instead of 6 ;)

lightningterror commented 7 years ago

https://community.amd.com/message/2716352#comment-2716352

gregory38 commented 7 years ago

Sorry. My sentence wasn't clear.

Post this link in https://community.amd.com/thread/205702 (in case AMD engineer 1 isn't fully aware of what did the AMD engineer 2)

mirh commented 7 years ago

Also known as Abbott and Costello.

gregory38 commented 7 years ago

And I'm sure there are nice guys.

In the meantime, we can edit again the informative GSdx message https://github.com/PCSX2/pcsx2/blob/master/plugins/GSdx/GLLoader.cpp#L360

And I guess, we can blacklist all 2016/2017 drivers...

@mirh do you have any news on the SSO perf improvements ? Could you PM them to have an unofficial build so we can check their fixes (SSO perf, SSO blending, SSO kernel crashes). If we could avoid to wait 6 months to discover yet another epic failure.

FlatOutPS2 commented 7 years ago

In the meantime, we can edit again the informative GSdx message

Let's wait a few days, maybe they'll notice the issue quickly and will again release the fix in the coming months. :p

lightningterror commented 7 years ago

And then they introduce another bug which breaks something else and wait another 6 months.

2020 a working driver maybe ?

gregory38 commented 7 years ago

Situation used to be much worst. Trust me it was a nightmare to port Dx code on a broken gl driver. I got bug/crash since the day 1. Back then, it was faster to add SSO on the free driver rather than to wait a working driver. Current status is nearly working driver ;) I'm glad we have the free driver on Linux.

mirh commented 7 years ago

Enable it on Linux

I know nothing about AMDGPU-PRO similitudes with windows driver to be honest.

Reword "AMD has a fix for the issue that will be released in the coming months"

I'd reword like "Listen folks, AMD gl driver situation.. is complicated. A fix is expected in coming months. Till then don't say we hadn't told you to just use crappy but-not-so-crappy D3D 😉 "

And I guess, we can blacklist all 2016/2017 drivers...

I'm not sure it's up to a program to have to care of BSOD in drivers.. Said this -I should damn study- I revised whatever I found out in #1508 And TL;DR we have:

Moreover, performance sucks everywhere (and iirc if it wasn't for 448fee76c1cd761c82aa3535cff460d9f55fa11f it would suck even more) So.. I dunno, I have my mind quite confused atm. We should go back to the drawing boards of "cases to handle" in the first place.

Moreover, I still have a glimmer of hope for legacy cards with a hacked half-assed kind-of-whatever driver from guru3D, but this is another story for the future.

2020 a working driver maybe ?

Exactly when MS will drop W7 and I'm 100% sure I'd already be hand in hand with tux! OT EDIT: I wonder if by then firefox will have hardware acceleration by default!

gregory38 commented 7 years ago
I know nothing about AMDGPU-PRO similitudes with windows driver to be honest.

Easy, the proprietary driver is the same mess as windows. Maybe without the BSOD. So we need to add a warning for Linux users (if any is still using this driver, poor guy). Mesa is fine. If we find a bug, I can open an issue / post a patch and it will be released soon (1-2 months).

Don't bother, I will disable SSO for all 2016/2017 AMD drivers. The best case is a working driver in end of year.

gregory38 commented 7 years ago

Could someone ask Dwitczak if he managed to reproduce the SSO + dual blending issue. Just to be sure, he got the 2 testcases.

gregory38 commented 7 years ago

I don't see any news on AMD threads. Could anyone bump both threads to have news.

mirh commented 7 years ago

After having reported even another bug.. I'm pretty disheartened tbh... In other news, really, why are we blacklisting drivers that -for-as-much-we-are-involved- works? You could put everything before July (if not May) on legacy_fglrx_buggy, and the remainder [working] drivers under fglrx_buggy_driver, with only blending locked or something, at most. Or otherwise just mention in a note to be careful. EDIT: ok, thinking better the point is: someday AMD will even fix the driver, and I don't want to waste time on something volatile

gregory38 commented 7 years ago
After having reported even another bug.. I'm pretty disheartened tbh...

I won't blame you.

The gain of SSO is rather small if not null. There will be performance gain when AMD release their driver optimization, if they release it one day. Biggest gain will be to drop dedicated code for AMD.

mirh commented 7 years ago

Biggest gain will be to drop dedicated code for AMD.

Dedicated as in.. These bugs workarounds? That will never happen 😛 . We'll always have to detect older driver, should noobs (or people legitimately and unknowingly actually condemned to stick with a particular release) come to our door.

gregory38 commented 7 years ago

Please let's me dream in peace ;) Back then the VLIW legacy driver wasn't a thing.

mirh commented 7 years ago

Speaking of which.. I just tried the latest mightiest hackiest driver mankind managed to cook for that (which I think I had mentioned somewhere).. And unfortunately it's still not enough to pass intact ps2 boot screen.

So.. RIP my hopes, and your feelings. EDIT: or perhaps I could try to check since ~10.10 (when SSO was first spotted) if there ever was a fixed release

gregory38 commented 7 years ago

I'm not sure I blacklisted enough 2017 version. I guess I could extend to the full year and likely till 2020 :(

mirh commented 7 years ago

It still was a 2016 driver. Just ~June instead of February (it takes time for people to find and repack them though :s) Unfortunately it's still based on the same older "pre-May" branch without partial fix.

Lithium64 commented 7 years ago

Developers of AMD's proprietary drivers frequent the phoronix forum daily, you could get in touch with them there, chatting directly with them could be that the fixes are delivered faster.

mirh commented 7 years ago

Airlie, Arceri, Bridgman, Deucher, Olšák have really nothing to do with proprietary drivers, let alone Windows. Sure, perhaps we may ping them to ping somebody else.. But I think by now gregory must have complained enough on #mesa.

gregory38 commented 7 years ago

I didn't complain on mesa channel. Just said that got difficulty with AMD-PRO, but it is like saying "fire can burn". Honestly, if they decided to recreate a driver from scratch, it wasn't to be bothered with the crappy driver.

AMD will do faster release if you release an AAA games. Otherwise they really don't care.

lightningterror commented 7 years ago

17.3.1 no change.

lightningterror commented 7 years ago

17.3.2 no change.

lightningterror commented 7 years ago

17.3.3 no change.

MrCK1 commented 7 years ago

Minor version bumps are unlikely to have the fix included.

mirh commented 7 years ago

Minor version bumps are unlikely to have the fix included.

Monthly release versioning has nothing to do with actual driver build branch

avih commented 7 years ago

Monthly release versioning has nothing to do with actual driver build branch

Do we have any info at all on actual "driver build branch" and when it's updated?

Lithium64 commented 7 years ago

Anyone tested 17.4.1? Driver branch is up from 16.60 to 17.10

lightningterror commented 7 years ago

17.4.1 no change.

gregory38 commented 7 years ago

I don't want to kill the mood but the normal process is 1/ AMD said they fix the bug 2/ You wait 6 months (they want to be sure that you're waiting the fix) 3/ Try the new released build and :sob:

So far we have reach step 0. And I'm not even sure someone at AMD is working on it.

FlatOutPS2 commented 7 years ago

We're actually at step 0/ AMD knows about the issue.

We've yet to receive a public message stating they'll fix it.

gregory38 commented 7 years ago
We're actually at step 0/ AMD knows about the issue.

You read my mind, it was a typo ;)

IMHO, the best way to get a fix is to implement my initial testcase in the Khronos's conformance test suite (CTS). AMD won't be able to advertise GL4.4/4.5 support for their future submission until they fix their driver.

lightningterror commented 7 years ago

Can we still hope for a working driver? The issues have been reported for a long time now. There is also lack of communication , they don't even bother letting people know what's happening , all I see is silence on the threads. Now we are waiting months just for any response.

gregory38 commented 7 years ago
Can we still hope for a working driver?

Yes you can still hope. Personally I took a fast track solution. I just got an Nvidia GPU :) That being said the free driver is becoming quite interesting on Linux.

There is also lack of communication

A lack, let's be honest there is no communication at all. They aren't fair play. Maybe people can try to reach them on Facebook/Twitter/Reddit (other social network that I'm not aware).

Lithium64 commented 7 years ago

I posted the bug on AMD subreddit, please help with upvotes and comments https://www.reddit.com/r/Amd/comments/63n9m4/amd_please_fix_this_bug/

lightningterror commented 7 years ago

You forgot https://community.amd.com/thread/205702

But I highly doubt it will change anything.

Nucleoprotein commented 7 years ago

Hym, PPSSPP crashes for me again when using 17.4.1 but GS dump test does not - strange.

Lithium64 commented 7 years ago

@lightningterror I updated the post with this info

mirh commented 7 years ago

A less desperately bait-y title perhaps wouldn't have hurt.

lightningterror commented 7 years ago

17.4.2 no change.

Guess it was a good idea to blacklist all of 2017 drivers.

gregory38 commented 7 years ago

The good idea would have been to blacklist driver up to 2020 ;) Actually, I think you blacklisted all drivers.

Squall-Leonhart commented 7 years ago

Doubt AMD can fix it, they have no real software engineers left and the source inherited from ATI is a cluster fuck.

gregory38 commented 7 years ago

Please don't say that. Let's remain respectful.

Could someone open yet another new thread in game community to ask them politely 1/ if they aware of both issues 2/ if someone is looking into them, and even better is working to find a fix :)

Squall-Leonhart commented 7 years ago

That was being respectful.

Being aware and being capable of fixing it are two very different things, AMD don't have much talent left in the engineering department, which is why they remake their 'pretty' UI every other year.

They need to rewrite their OpenGL client driver from scratch, and that's assuming this is even a fixable issue given AMD hardware has history of not supporting the functionality that their ICD exposes properly.

gregory38 commented 7 years ago

Ok. You still make claim based on nothing ;) Unfortunately people (aka users) are more interested of a nicer GUI than a better OpenGL support.

I don't think it won't be too complicated to fix. However it requires at least a single engineer to look at the issue carefully. Well maybe 2 engineers actually. Because it seems there is a bad interaction between the kernel driver and the upper GL layer.

avih commented 7 years ago

However it requires at least a single engineer to look at the issue carefully. Well maybe 2 engineers actually. Because it seems there is a bad interaction between the kernel driver and the upper GL layer.

Three. Because there could be bad interaction between the kernel engineer and the upper GL layer engineer!

Squall-Leonhart commented 7 years ago

https://community.amd.com/thread/210605

i make a claim based on amd having consistent issues :p

gregory38 commented 7 years ago

Oh interesting. Of course, it is the same bug as OpenGL. So they might release a fix around July/August :)

However a question remain will the future driver BSOD again ? It would be nice if someone reminds them the 2 others test cases to avoid a bad surprise this summer