alacritty::renderer::text::gles2Constant TEXT_SHADER_F
source const TEXT_SHADER_F: &str = "varying mediump vec2 TexCoords;\nvarying mediump vec3 fg;\nvarying highp float colored;\nvarying mediump vec4 bg;\n\nuniform highp int renderingPass;\nuniform sampler2D mask;\n\n#define COLORED 1\n\nmediump float max_rgb(mediump vec3 mask) {\n return max(max(mask.r, mask.g), mask.b);\n}\n\nvoid render_text() {\n mediump vec4 mask = texture2D(mask, TexCoords);\n mediump float m_rgb = max_rgb(mask.rgb);\n\n if (renderingPass == 1) {\n gl_FragColor = vec4(mask.rgb, m_rgb);\n } else if (renderingPass == 2) {\n gl_FragColor = bg * (vec4(m_rgb) - vec4(mask.rgb, m_rgb));\n } else {\n gl_FragColor = vec4(fg, 1.) * vec4(mask.rgb, m_rgb);\n }\n}\n\n// Render colored bitmaps.\nvoid render_bitmap() {\n if (renderingPass == 2) {\n discard;\n }\n mediump vec4 mask = texture2D(mask, TexCoords);\n if (renderingPass == 1) {\n gl_FragColor = mask.aaaa;\n } else {\n gl_FragColor = mask;\n }\n}\n\nvoid main() {\n // Handle background pass drawing before anything else.\n if (renderingPass == 0) {\n if (bg.a == 0.0) {\n discard;\n }\n\n gl_FragColor = vec4(bg.rgb * bg.a, bg.a);\n return;\n }\n\n if (int(colored) == COLORED) {\n render_bitmap();\n } else {\n render_text();\n }\n}\n";