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;