Re: [PATCH 1/4] drm: add plane support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jul 25, 2011 at 3:18 AM, Joonyoung Shim <dofmind@xxxxxxxxx> wrote:
> 2011/7/22 Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx>:
>> On Thu, 21 Jul 2011 19:30:00 +0900
>> Joonyoung Shim <dofmind@xxxxxxxxx> wrote:
>>
>>> Hi,
>>>
>>> simple questions :)
>>>
>>> 2011/6/21 Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx>:
>>> > Planes are a bit like half-CRTCs.  They have a location and fb, but
>>> > don't drive outputs directly.  Add support for handling them to the core
>>> > KMS code.
>>> >
>>> > Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx>
>>> > ---
>>> >  drivers/gpu/drm/drm_crtc.c |  235 +++++++++++++++++++++++++++++++++++++++++++-
>>> >  drivers/gpu/drm/drm_drv.c  |    3 +
>>> >  include/drm/drm.h          |    3 +
>>> >  include/drm/drm_crtc.h     |   73 ++++++++++++++-
>>> >  include/drm/drm_mode.h     |   35 +++++++
>>> >  5 files changed, 346 insertions(+), 3 deletions(-)
>>> >
>>>
>>> snip
>>>
>>> > diff --git a/include/drm/drm_mode.h b/include/drm/drm_mode.h
>>> > index c4961ea..fa6d348 100644
>>> > --- a/include/drm/drm_mode.h
>>> > +++ b/include/drm/drm_mode.h
>>> > @@ -120,6 +120,41 @@ struct drm_mode_crtc {
>>> >        struct drm_mode_modeinfo mode;
>>> >  };
>>> >
>>> > +/* Planes blend with or override other bits on the CRTC */
>>> > +struct drm_mode_set_plane {
>>> > +       __u32 plane_id;
>>> > +       __u32 crtc_id;
>>> > +       __u32 fb_id; /* fb object contains surface format type */
>>> > +
>>> > +       /* Signed dest location allows it to be partially off screen */
>>> > +       __s32 crtc_x, crtc_y;
>>>
>>> Is this location offset from base(0, 0) of fb for plane, or from base
>>> of crtc(mode)?
>>
>> This is the offset on the crtc specifically (which could be displaying
>> a nonzero offset of a given fb).
>>
>
> Then if i want to use the specific area of a given fb for overlay, how
> can we know the offset on a given fb?
> In other words, can we use the specific offset from fb to origin(base
> pointer) of plane? or can we use each overlays from each specific
> offsets of one fb?

The x,y parameters give the position within the fb, the crtc_x,crtc_y
parameters give the position within the crtc (screen)..

So if you had full-screen video spanning two 1280x1024 displays, where
the video was 1080p.  Say the video was nearly but not completely
full-screen (say, 5 pixel border all around.. just to pick some #'s):

display one:
  plane:  x,y=0,0, crtc_x,crtc_y=5,5, crtc_w=1275, crtc_h=1014

display two:  (to right of display one)
  plane: x,y=960,0, crtc_x,crtc_y=0,5, crtc_w=1275, crtc_h=1014

(or at least that is my understanding..)

BR,
-R

> Thanks.
>
> --
> - Joonyoung Shim
> _______________________________________________
> dri-devel mailing list
> dri-devel@xxxxxxxxxxxxxxxxxxxxx
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
>
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/dri-devel



[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux