These changes are focused on glamor_xv major improvements.
First of all, Xv currently calls glamor_xv_free_port_data at the end of every putimage. This leads to shader recompilation for every frame, which is a huge performance loss. With this patch, glamor_xv_free_port_data is called only if width, height or format is changed for xv port. Also, the shader is moved to port instead of being global to xv.
Also this changes added UYVY support into XVideo for Glamor (with help of shader), and also support of RGBA32 and RGB565 formats (with generic RGB shader).
Based on !404, but with changes.
Reviewed-by: Adam Jackson <firstname.lastname@example.org>
Acked-by: Olivier Fourdan <email@example.com>