-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GS/OpenGL: Use EGL 1.5 platform interface #10827
Conversation
823a94c
to
d07f901
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nvidia linux works
I don't know if this helps, but I ran this PR on my laptop which is running Manjaro and has an Intel iGPU. The device description reads 'Alder Lake-P GT2 [Iris Xe Graphics]'. I just booted into the BIOS with OpenGL, so this was a pretty shallow test. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also ran on my GTX 1070 with latest drivers, and there was no issue getting in-game, switching to OpenGL, and playing around for a few minutes. |
On my Intel Xe laptop (tested latest commit), Ratchet's doing just fine walking in and out of his house on OpenGL, so all good on my end. |
Description of Changes
Instead of crossing our fingers and hoping that the driver can work out the correct EGL platform/backend, we can use the platform extension to explicitly ask for a platform that matches the window we're creating it for.
EGL 1.5 has been a thing for over a decade, although Mesa at least doesn't implement it fully. But they do implement the platform extension, hopefully everyone else does too...
Rationale behind Changes
Stops a potential crash due to selecting the wrong EGL platform? Does this actually happen?
Apparently some users were getting a crash in
eglGetDisplay()
...Suggested Testing Steps
Make sure Intel, AMD and NVIDIA OpenGL still works on Linux.