aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/render/shaders/Border.hpp
diff options
context:
space:
mode:
authorvaxerski <[email protected]>2023-08-06 20:46:00 +0200
committervaxerski <[email protected]>2023-08-06 20:46:00 +0200
commit6e53c47e68c1d15032b755270568eb5485f2c684 (patch)
treea7e8bb2c022294a07afec27ab663eff146d15a06 /src/render/shaders/Border.hpp
parent6c10c384813890ed137f73ee79452cbe8c6f1dca (diff)
downloadHyprland-6e53c47e68c1d15032b755270568eb5485f2c684.tar.gz
Hyprland-6e53c47e68c1d15032b755270568eb5485f2c684.zip
renderer: fix missing premultiplication for border multisampling
Diffstat (limited to 'src/render/shaders/Border.hpp')
-rw-r--r--src/render/shaders/Border.hpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/render/shaders/Border.hpp b/src/render/shaders/Border.hpp
index 4e5bfd97..d881dc5b 100644
--- a/src/render/shaders/Border.hpp
+++ b/src/render/shaders/Border.hpp
@@ -54,6 +54,7 @@ void main() {
highp vec2 pixCoord = vec2(gl_FragCoord);
highp vec2 originalPixCoord = v_texcoord;
originalPixCoord *= fullSizeUntransformed;
+ float additionalAlpha = 1.0;
vec4 pixColor = vec4(1.0, 1.0, 1.0, 1.0);
@@ -86,7 +87,7 @@ void main() {
distances /= 4.0;
- pixColor[3] *= distances;
+ additionalAlpha *= distances;
} else if (dist > radius || dist < radius - thick)
discard;
@@ -113,6 +114,6 @@ void main() {
pixColor = getColorForCoord(v_texcoord);
- gl_FragColor = pixColor * alpha;
+ gl_FragColor = pixColor * alpha * additionalAlpha;
}
)#";