compositor: Add opaque rect shader feature
This lets us mark a rectangle in a texture and force the alpha to one
inside. This is useful for textures coming from X windows, where the X
window part is xRGB, that is 32 bit RGB with an undefined alpha channel
and the decorations are rendered with a well-defined alpha channel.
diff --git a/src/compositor.h b/src/compositor.h
index 2e66f22..e8edbb4 100644
--- a/src/compositor.h
+++ b/src/compositor.h
@@ -166,6 +166,7 @@
GLint saturation_uniform;
GLint color_uniform;
GLint texwidth_uniform;
+ GLint opaque_uniform;
};
struct weston_animation {
@@ -326,6 +327,7 @@
struct wl_list layer_link;
struct weston_shader *shader;
GLfloat color[4];
+ GLfloat opaque_rect[4];
uint32_t alpha;
uint32_t brightness;
uint32_t saturation;