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