[PATCH 4/5] drm/i915: Add rotation support for the cursor plane (original) (raw)
Sagar Arun Kamble sagar.a.kamble at intel.com
Tue Feb 18 02:09:33 PST 2014
- Previous message: [PATCH 4/5] drm/i915: Add rotation support for the cursor plane
- Next message: [PATCH 5/5] drm/i915: Add full pipe rotation
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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 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/i915piperotation > > > Only cursor plane had impact. Need to debug this as well. > > > > That's expected. It doesn't actually call the setproperty 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 drmplane. Actually I am working on enabling larger cursor sizes now. Will share patch now.
- Previous message: [PATCH 4/5] drm/i915: Add rotation support for the cursor plane
- Next message: [PATCH 5/5] drm/i915: Add full pipe rotation
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]