glsl compat: Convert to highest GLSL version accepted by the target driver #1797
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
With many more apps using GLES 3.1+, we're now hitting the case where GLSL 330 is not sufficient. Unfortunately GLSL 420+ is not supported on mac (which has been stranded at 410), so forcing output to anything above 410 will completely break mac.
The only sensible option here is to give up with the GLSL compat and either use a ref-rast, a 3rd party library to convert to metal, or require on-device replay. All of these options are substantial work, so for now generate code at the highest supported shader level for the given host device driver. This means shaders using GLSL 420+ features should now work on decent Windows / Linux drivers, but will continue) to fail on mac.