summaryrefslogtreecommitdiff
path: root/render/fx_renderer/fx_renderer.c
diff options
context:
space:
mode:
Diffstat (limited to 'render/fx_renderer/fx_renderer.c')
-rw-r--r--render/fx_renderer/fx_renderer.c38
1 files changed, 38 insertions, 0 deletions
diff --git a/render/fx_renderer/fx_renderer.c b/render/fx_renderer/fx_renderer.c
index d2ab366..9c22868 100644
--- a/render/fx_renderer/fx_renderer.c
+++ b/render/fx_renderer/fx_renderer.c
@@ -639,6 +639,38 @@ static bool link_shaders(struct fx_renderer *renderer) {
goto error;
}
+ // quad fragment shader with gradients
+ if (!link_quad_grad_program(&renderer->shaders.quad_grad, 16)) {
+ wlr_log(WLR_ERROR, "Could not link quad shader");
+ goto error;
+ }
+
+ // rounded quad fragment shaders
+ if (!link_quad_grad_round_program(&renderer->shaders.quad_grad_round, SHADER_SOURCE_QUAD_ROUND, 16)) {
+ wlr_log(WLR_ERROR, "Could not link quad shader");
+ goto error;
+ }
+ // rounded quad fragment shaders
+ if (!link_quad_grad_round_program(&renderer->shaders.quad_grad_round_tl, SHADER_SOURCE_QUAD_ROUND_TOP_LEFT, 2)) {
+ wlr_log(WLR_ERROR, "Could not link quad shader");
+ goto error;
+ }
+ // rounded quad fragment shaders
+ if (!link_quad_grad_round_program(&renderer->shaders.quad_grad_round_tr, SHADER_SOURCE_QUAD_ROUND_TOP_RIGHT, 16)) {
+ wlr_log(WLR_ERROR, "Could not link quad shader");
+ goto error;
+ }
+ // rounded quad fragment shaders
+ if (!link_quad_grad_round_program(&renderer->shaders.quad_grad_round_bl, SHADER_SOURCE_QUAD_ROUND_BOTTOM_LEFT, 16)) {
+ wlr_log(WLR_ERROR, "Could not link quad shader");
+ goto error;
+ }
+ // rounded quad fragment shaders
+ if (!link_quad_grad_round_program(&renderer->shaders.quad_grad_round_br, SHADER_SOURCE_QUAD_ROUND_BOTTOM_RIGHT, 16)) {
+ wlr_log(WLR_ERROR, "Could not link quad shader");
+ goto error;
+ }
+
// rounded quad fragment shaders
if (!link_quad_round_program(&renderer->shaders.quad_round, SHADER_SOURCE_QUAD_ROUND)) {
wlr_log(WLR_ERROR, "Could not link quad shader");
@@ -685,6 +717,12 @@ static bool link_shaders(struct fx_renderer *renderer) {
goto error;
}
+ // border corner shader with gradients
+ if (!link_rounded_grad_border_corner_program(&renderer->shaders.rounded_grad_border_corner, 2)) {
+ wlr_log(WLR_ERROR, "Could not link quad shader");
+ goto error;
+ }
+
// box shadow shader
if (!link_box_shadow_program(&renderer->shaders.box_shadow)) {
wlr_log(WLR_ERROR, "Could not link box shadow shader");