On Wed, Sep 3, 2014 at 6:00 PM, Rob Clark <robdclark@xxxxxxxxx> wrote: > so, I am not quite sure that would work.. (and maybe this is an extra > thing to think about for atomic). > > The problem is that hw has no hw cursor. So cursor is implemented > using plane. But thanks to retarded userspace that rapidly > enables/disables cursor in some cases, we really need plane updates to > be async. The way it currently works is userspace thread updates > plane state as rapidly as it wants. When worker eventually gets to > run, it takes the most current state, possibly skipping 1000's of > enable/disable that happened in the mean time. > > But for that to work, at least the way the driver is structured > currently, the worker needs to synchronize against userspace somehow. We could cancel the async worker before the update. But that still leaves the problem that in general this needs full driver support to work, and we can't really assume that. I guess we need to make a special hack for the cursor emulation code to make sure this keeps working: Cursor updates would only update the sw state and then rearm a fully async cursor update work item, except when the cursor size changed since the driver might reject that. I need to think more about this. -Daniel -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel