summaryrefslogtreecommitdiff
path: root/include/render/fx_renderer/shaders.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/render/fx_renderer/shaders.h')
-rw-r--r--include/render/fx_renderer/shaders.h41
1 files changed, 40 insertions, 1 deletions
diff --git a/include/render/fx_renderer/shaders.h b/include/render/fx_renderer/shaders.h
index 226dd36..94aa029 100644
--- a/include/render/fx_renderer/shaders.h
+++ b/include/render/fx_renderer/shaders.h
@@ -20,6 +20,14 @@ enum fx_tex_shader_source {
SHADER_SOURCE_TEXTURE_EXTERNAL = 3,
};
+enum fx_rounded_quad_shader_source {
+ SHADER_SOURCE_QUAD_ROUND = 1,
+ SHADER_SOURCE_QUAD_ROUND_TOP_LEFT = 2,
+ SHADER_SOURCE_QUAD_ROUND_TOP_RIGHT = 3,
+ SHADER_SOURCE_QUAD_ROUND_BOTTOM_RIGHT = 4,
+ SHADER_SOURCE_QUAD_ROUND_BOTTOM_LEFT = 5,
+};
+
struct quad_shader {
GLuint program;
GLint proj;
@@ -29,6 +37,18 @@ struct quad_shader {
bool link_quad_program(struct quad_shader *shader);
+struct quad_round_shader {
+ GLuint program;
+ GLint proj;
+ GLint color;
+ GLint pos_attrib;
+ GLint size;
+ GLint position;
+ GLint radius;
+};
+
+bool link_quad_round_program(struct quad_round_shader *shader, enum fx_rounded_quad_shader_source source);
+
struct tex_shader {
GLuint program;
GLint proj;
@@ -39,16 +59,35 @@ struct tex_shader {
GLint size;
GLint position;
GLint radius;
+ GLint has_titlebar;
GLint discard_transparent;
+ GLint dim;
+ GLint dim_color;
};
bool link_tex_program(struct tex_shader *shader, enum fx_tex_shader_source source);
-struct stencil_mask_shader {
+struct rounded_border_corner_shader {
GLuint program;
GLint proj;
GLint color;
GLint pos_attrib;
+ GLint is_top_left;
+ GLint is_top_right;
+ GLint is_bottom_left;
+ GLint is_bottom_right;
+ GLint position;
+ GLint radius;
+ GLint half_size;
+ GLint half_thickness;
+};
+
+bool link_rounded_border_corner_program(struct rounded_border_corner_shader *shader);
+
+struct stencil_mask_shader {
+ GLuint program;
+ GLint proj;
+ GLint pos_attrib;
GLint half_size;
GLint position;
GLint radius;