[PATCH 4/5] drm/i915: Add rotation support for the cursor plane
Sagar Arun Kamble
sagar.a.kamble at intel.com
Mon Feb 17 23:49:05 PST 2014
On Mon, 2014-02-17 at 19:51 +0200, Ville Syrjälä wrote:
> On Mon, Feb 17, 2014 at 10:53:50PM +0530, Sagar Arun Kamble wrote:
> > On Fri, 2014-02-14 at 13:39 +0200, Ville Syrjälä wrote:
> > > On Fri, Feb 14, 2014 at 04:31:17PM +0530, Sagar Arun Kamble wrote:
> > > > On Wed, 2014-02-12 at 23:15 +0200, ville.syrjala at linux.intel.com wrote:
> > > > > From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> > > > >
> > > > > The cursor plane also supports 180 degree rotation. Add a new
> > > > > "cursor-rotation" property on the crtc which controls this.
> > > > >
> > > > > Unlike sprites, the cursor has a fixed size, so if you have a small
> > > > > cursor image with the rest of the bo filled by transparent pixels,
> > > > > simply flipping the rotation property will cause the visible part
> > > > > of the cursor to shift. This is something to keep in mind when
> > > > > using cursor rotation.
> > > > By flipping you meant setting 180 degree rotation?
> > >
> > > Yes.
> > >
> > > > Don't we have to adjust the cursor base as well to the lower right
> > > > corner apart from setting the control bit?
> > >
> > > No, the hardware does that automagically. Hmm. Except on gen4
> > > apparently. Looks like I need to test on gen4, and fix it if it's
> > > really the case.
> > I tried on BYT system and 180 rotation on cursor plane is showing
> > garbage data in cursor plane. We might need to adjust the cursor base.
>
> Yeah it's the same on gen4. I already have a fixed patch, but didn't
> repost it yet.
>
> > Another thing, pipe rotation somehow did not work for me when I do this:
> > echo 0x4 > /sys/kernel/debug/dri/0/i915_pipe_rotation
> > Only cursor plane had impact. Need to debug this as well.
>
> That's expected. It doesn't actually call the set_property codepath,
> instead it just sets the value directly and excpects a subsequent
> modeset to do the actual work. It was anyway just a hack to try things
> out a bit, so I didn't implement it properly. But it should be trivial
> to make it work correctly, so I might as well do it...
Yeah. Tried doing modeset and it works perfectly.
For Cursor rotation we might need to add check for 32bpp cursors as
well.
>
More information about the dri-devel
mailing list