Skip to content

Add fallback GLES2 renderer#5902

Merged
chrisduerr merged 7 commits intoalacritty:masterfrom
kchibisov:gles2
Mar 2, 2022
Merged

Add fallback GLES2 renderer#5902
chrisduerr merged 7 commits intoalacritty:masterfrom
kchibisov:gles2

Conversation

@kchibisov
Copy link
Member

@kchibisov kchibisov commented Feb 21, 2022

This commit adds a fallback GLES2 renderer for platforms not supporting
OpenGL 3.3 providing ability to run alacritty on those. While its
performance is slightly slower than glsl3 version it's way faster than
software rendering with sofware emulated GL (e.g. llvmpipe), since
that's what alacritty used on platforms not supporting required OpenGL
version.

Fixes #128.

--
I've managed to run it on pi without any issues.

@kchibisov
Copy link
Member Author

Blocked on #5904

@kchibisov kchibisov force-pushed the gles2 branch 2 times, most recently from 2753824 to 6ac43df Compare February 22, 2022 09:16
README.md Outdated
### Requirements

- OpenGL 3.3 or higher
- OpenGL ES 2.0 or higher
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure how to adjust it, since I have a feeling that OpenGL 2.1 device without gles2 won't work, since shaders are gles2. Though it's a matter of adjusting syntax in shaders.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should be almost irrelevant at that point. But GLES2 support might suffice?

@kchibisov kchibisov mentioned this pull request Feb 22, 2022
8 tasks
@kchibisov kchibisov force-pushed the gles2 branch 2 times, most recently from 411c73a to 73df60f Compare February 22, 2022 11:01
@kchibisov kchibisov marked this pull request as ready for review February 22, 2022 11:03
@kchibisov
Copy link
Member Author

This is ready for review. The feature parity with glsl3 render was reached, fallback stratagy and shaders reuse were added.

@chrisduerr
Copy link
Member

@perfbot

@perfbot
Copy link

perfbot commented Feb 26, 2022

results

@chrisduerr
Copy link
Member

@perfbot

@perfbot
Copy link

perfbot commented Feb 26, 2022

results

Copy link
Member

@chrisduerr chrisduerr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll take a look at gles2.rs/gles3.rs and the gles2 shaders later, but the rest of the code looks pretty good already.

@chrisduerr
Copy link
Member

@perfbot

@perfbot
Copy link

perfbot commented Feb 26, 2022

results

@chrisduerr
Copy link
Member

@perfbot

@perfbot
Copy link

perfbot commented Feb 27, 2022

results

@kchibisov kchibisov requested a review from chrisduerr February 27, 2022 22:28
kchibisov and others added 2 commits February 28, 2022 11:32
This commit adds a fallback GLES2 renderer for platforms not supporting
OpenGL 3.3 providing ability to run Alacritty on those. While its
performance is slightly slower than glsl3 version it's way faster than
software rendering with software emulated GL (e.g. llvmpipe), since
that's what Alacritty used on platforms not supporting required OpenGL
version.

Fixes alacritty#128.
@kchibisov kchibisov requested a review from chrisduerr February 28, 2022 14:59
Copy link
Member

@chrisduerr chrisduerr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this might be good to go.

@kchibisov kchibisov requested a review from chrisduerr March 2, 2022 07:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

Support GPUs without OpenGL 3.3+ drivers

3 participants