-
-
Notifications
You must be signed in to change notification settings - Fork 21.5k
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
Improve GLES3 scene renderer compatibility with older devices #81650
Conversation
Seems fine if it helps, but how about all uses of
|
They seem fine, |
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.
Looks straightforward.
Thanks! |
Addresses the issue mentioned in #78888 (comment) and also on RocketChat where Shoozza mentioned that replacing the
uint(8)
with simply8
helped with their NVIDIA GFX card (the actualy value of8
will be generated dynamically, I just chose that as example). This probably doesn't fix the actual issue causing #78888 (although it might, I have seen stranger things), but it should help some older devices to work with our OpenGL Compatibility renderer.It looks like some older ATI and NVDIA drivers and shader compilers don't consider
uint(8)
a constant expression, so let's go with8u
instead as the shader code using this constant also uses uints. NVIDIA shader compiler is notoriously lax with type conversion and using8
(signed int) does also work here on most NVIDIA devices (including mine), but it would fail on many other devices.