Sometimes userspace wants a true overlay that is never clipped. In such cases, we need to disable the destination colorkey. However, it is currently unconditionally enabled in the overlay with no means of disabling. So rectify that by always default to on, and extending the UPDATE_ATTR ioctl to support explicit disabling of the colorkey. This is contrast to the spite code which requires explicit enabling of either the destination or source colorkey. Handling source colorkey is still todo for the overlay. (Of course it may be worth migrating overlay to sprite before then.)
Showing the changes to include/uapi (1 of 2 files). Show all
Unified · Split
| @@ -996,6 +996,7 @@ struct drm_intel_overlay_put_image { · 995 unmodified lines | ||
| 996 | 996 | /* flags */ |
| 997 | 997 | #define I915_OVERLAY_UPDATE_ATTRS (1<<0) |
| 998 | 998 | #define I915_OVERLAY_UPDATE_GAMMA (1<<1) |
| 999 | +#define I915_OVERLAY_DISABLE_DEST_COLORKEY (1<<2) | |
| 999 | 1000 | struct drm_intel_overlay_attrs { |
| 1000 | 1001 | __u32 flags; |
| 1001 | 1002 | __u32 color_key; |