So.. you may or may not know PCSX2, the ps2 emulator.
While developing it, I kind of hit a snag with AMD and just AMD OpenGL driver.
Aside of performance issues (half of direct3D, while other vendors are 100% on par), I get garbled graphics every time I enable this extension.
At first I thought it could be a problem with my code, but after writing a testcase (attached) it must definitively be something within driver.
Please, notice how you get a yellow frame. If you test this on an intel, nvidia or even amd card with open source drivers under linux, it's green.
It seems second index color of shader isn't properly outputed.
Perhaps it's optimized away in a separate program? If I try a monolithic build everything looks just fine.
I can confirm this happens with every driver (15.12 too) on both Windows 7 and 10, and a HD5770 and HD7750.
And this somewhat suggests me it's a problem affecting *every* card and OS.
EDIT: attached right source file
Solved! Go to Solution.
Hello mirh, I'm glad to bring some update for you: we had fixed a significant problem for dual-source blending and the fix will be included in the release soon.
Driver crash (TDR/BSOD) on OpenGL programs using dual-source blending
Now we can run GSDumpGUI successfully as follows using OpenGL api.
Full SSO:
Partial SSO:
We're looking into this - it looks like a problem with the interaction of dual-source blending and separate shader programs, and not separate shader objects per se. I'll keep you posted.
The issue has been resolved and the fix will be part of a future driver release. In the meantime, if you use dual-source blending, don't use separate shader objects.
Thank you!
Any chance even VLIW cards owners could enjoy this fix?
When we will get the fix? we want to play with OpenGL...
And thank you for all the work you do.
When this fix will be released ?
Hi,
Is this fix available on current latest driver (Crimson Edition 16.3.2) ?
PCSX2 developer said it is AMD Driver issue gsdx-ogl: move the mandatory extension into mandatory section · PCSX2/pcsx2@b9e8384 · GitHub
Regards
Is not, is not even in 16.4.1 Hotfix.Anteru said that it was resolved and it will be released in future driver release but it was about 3 months ago and it's not released yet.
and that is the problem... there was a new release.. but they forgot to put this fix..
can you release it at the next hotfix? it will be a good point
It missed the driver release in March (the one with Vulkan, etc. - which was already in lock-down when the fix was written.) It's scheduled for a future release. Keep in mind any public release goes through a lot of testing and QA! In the meantime, please use the workaround (i.e. don't use separate shader objects.)
There's a new driver out since a week. Is it out now?
We need to wait Anteru to be back on Monday to know what happen.
Only in which Monday it will be 😜
Crimson 16.5.1 Hotfix out but no fix
The fix is released as part of the 16.7.3 drivers.
Hey AMD, please release this fix. It's killing our community....
Is it so hard to know or tell when or whether the fix will ever release ?
Fix is released in the 16.7.3 driver. Sorry that this took so long!
Could this be fixed again?
Possibly without side-effects.
Still a problem with latest 17.7.2
Still broken and, just because I had nothing better to do, bissected between driver 9.012.0.0000 and 12.100.0.0000 (which could seem a lot, but in fact are just 13.1 and 13.2)
Raised this internally which is all I can do to help, I'm afraid.
*whistle*
I can also confirm that this applies to AMDGPU-PRO linux driver too (in addition to the late fglrx then).
And also still to the majestic new Adrenalin driver.
18.2.3 still affected.
REMINDER we are still broken since a forgetful time
Hello mirh, we're sorry to have kept you waiting for long time. We've already had a internal fix developed. Will let you know when this fix will be included in the public release. Thanks.
Thank you.
I'll assume without incurring in Driver crash (TDR/BSOD) on OpenGL programs using dual-source blending this time?
Actually, we're developing the fix for dual-source blending issue this time. Anyway, I can double-confirm all the issues you care on my box and give you the result immediately, if you can share your tests applications besides the one you attached in this thread. Apologies again for waiting such a long time.
For the test app you attached at the beginning, it works now, see the picture below. For the 2nd problem reproduced by your GSDumpGUI, we're working on this right now. Will give you back when we have progress. Thanks.
18.10.1 still broken
Apologies. We have a long testing cycle for the driver release, so the fix has not been included in 18.10.1 yet. It will be in the next driver release, thanks for you patience.
More, mirh, if you can provide me the minimal source code/binary to reproduce the issue reported in Driver crash (TDR/BSOD) on OpenGL programs using dual-source blending, it'll be very helpful to further debugging this problem efficiently, which can save efforts to clone code/build/understand the application @ GitHub - PCSX2/pcsx2: PCSX2 - The Playstation 2 Emulator.
Unfortunately I don't have such neat thing for that.
On the other hand you shouldn't need to compile the whole thing. Just the GSdx plugin should be enough.
The "concerning" file for blending should be this then pcsx2/GSDeviceOGL.cpp at master · PCSX2/pcsx2 · GitHub
Hello mirh, I'm glad to bring some update for you: we had fixed a significant problem for dual-source blending and the fix will be included in the release soon.
Driver crash (TDR/BSOD) on OpenGL programs using dual-source blending
Now we can run GSDumpGUI successfully as follows using OpenGL api.
Full SSO:
Partial SSO:
Fix landed in 18.10.2.
Thank you really.
Wouldn't hurt if you rolled up your sleeves and studied in deep the performance issues now.