On Tue, 2014-02-18 at 11:23 +0200, Ville Syrjälä wrote:
On Tue, Feb 18, 2014 at 01:19:05PM +0530, Sagar Arun Kamble wrote:
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@linux.intel.com wrote: > From: Ville Syrjälä ville.syrjala@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.
We don't support anything else at the moment. And I don't think there's much point in adding support for any legacy cursor formats. The one thing we want to do is add support for larger cursor sizes. But I think that can wait until we expose the cursor as a drm_plane.
Actually I am working on enabling larger cursor sizes now. Will share patch now.