summaryrefslogtreecommitdiff
path: root/shaders/prebuilt/overlay.frag.glsl
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-14 13:55:41 -0300
committerGabriel Schneider <[email protected]>2026-09-15 17:24:42 -0300
commit95681ff7017b8a9e4c8f9fa6a7371d1233432f2f (patch)
tree34787d6bb62944cc778624685387db7376ccf71b /shaders/prebuilt/overlay.frag.glsl
parent682e237df7e8b22f820d14a4adee58e6e2f84268 (diff)
downloadpardes-95681ff7017b8a9e4c8f9fa6a7371d1233432f2f.tar.gz
pardes-95681ff7017b8a9e4c8f9fa6a7371d1233432f2f.zip
9p: use cloud9 protocol sessions and transports
Diffstat (limited to 'shaders/prebuilt/overlay.frag.glsl')
-rw-r--r--shaders/prebuilt/overlay.frag.glsl10
1 files changed, 9 insertions, 1 deletions
diff --git a/shaders/prebuilt/overlay.frag.glsl b/shaders/prebuilt/overlay.frag.glsl
index 86c0188b..b5ac8d5a 100644
--- a/shaders/prebuilt/overlay.frag.glsl
+++ b/shaders/prebuilt/overlay.frag.glsl
@@ -1,9 +1,17 @@
#version 450
+layout(std140, set = 3, binding = 0) uniform UiUniforms {
+ float background_opacity;
+} u_ui;
+
layout(location = 0) in vec4 v_color;
layout(location = 0) out vec4 o_col;
void main() {
- o_col = v_color;
+ // Preserve shape coverage for destination subtraction. The pipeline uses
+ // the matching opacity blend constant for source alpha, so graphics laid
+ // over a background with the same opacity do not accumulate opaque seams.
+ // Text/cursor draw groups bind opacity 1 instead.
+ o_col = vec4(v_color.rgb * clamp(u_ui.background_opacity, 0.0, 1.0), v_color.a);
}