diff options
| author | allusive-dev <[email protected]> | 2023-11-04 08:14:28 +1100 |
|---|---|---|
| committer | allusive-dev <[email protected]> | 2023-11-04 08:14:28 +1100 |
| commit | d270894f08bc79177cbb4a20ab681881203510b2 (patch) | |
| tree | 2be7ce54762db17713d637829ffc3bd1a1b4b3fa /src/backend/gl/shaders.c | |
| parent | update 1.2.7 (diff) | |
| download | compfy-1.2.9.tar.xz compfy-1.2.9.zip | |
Fixes for #18 and #231.2.9
Diffstat (limited to 'src/backend/gl/shaders.c')
| -rw-r--r-- | src/backend/gl/shaders.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/backend/gl/shaders.c b/src/backend/gl/shaders.c index 4a18e62..7cee752 100644 --- a/src/backend/gl/shaders.c +++ b/src/backend/gl/shaders.c @@ -88,6 +88,7 @@ const char win_shader_glsl[] = GLSL(330, uniform bool invert_color; in vec2 texcoord; uniform sampler2D tex; + uniform vec2 effective_size; uniform sampler2D brightness; uniform float max_brightness; // Signed distance field for rectangle center at (0, 0), with size of @@ -121,7 +122,7 @@ const char win_shader_glsl[] = GLSL(330, // Using mix() to avoid a branch here. vec4 rim_color = mix(c, border_color, clamp(border_width, 0.0f, 1.0f)); - vec2 outer_size = vec2(textureSize(tex, 0)); + vec2 outer_size = effective_size; vec2 inner_size = outer_size - vec2(corner_radius) * 2.0f; float rect_distance = rectangle_sdf(texcoord - outer_size / 2.0f, inner_size / 2.0f) - corner_radius; @@ -148,7 +149,8 @@ const char win_shader_default[] = GLSL(330, uniform sampler2D tex; vec4 default_post_processing(vec4 c); vec4 window_shader() { - vec4 c = texelFetch(tex, ivec2(texcoord), 0); + vec2 texsize = textureSize(tex, 0); + vec4 c = texture2D(tex, texcoord / texsize, 0); return default_post_processing(c); } ); |