On Fri, Mar 18, 2011 at 5:58 PM, Ilija Hadzic <ihadzic@xxxxxxxxxxxxxxxxxxxxxx> wrote: > > Hi Alex, > > Below is a patch against the master branch of libdrm that adds support for > waits for vblank events on CRTCs that are greater than 1 (and thus cannot be > represented using current primary/secondary flags interface). The patch adds > a new DRM_CAP so that the application can check whether the new vblank > interface is supported and also adds the new DRM_VBLANK mask and shift value > so that the application can construct vblank_wait ioctls that refer to crtc >> 1 > > The issue was discussed on the dri-devel list in these two threads > > http://lists.freedesktop.org/archives/dri-devel/2011-March/009009.html > http://lists.freedesktop.org/archives/dri-devel/2011-March/009025.html > > Regards, > > Ilija > > Reviewed-by: Mario Kleiner <mario.kleiner at tuebingen.mpg.de> > Acked-by: Mario Kleiner <mario.kleiner at tuebingen.mpg.de> Reviewed-by: Alex Deucher <alexdeucher@xxxxxxxxx> Tested-by: Alex Deucher <alexdeucher@xxxxxxxxx> > > > diff --git a/include/drm/drm.h b/include/drm/drm.h > index 416673a..10afaf1 100644 > --- a/include/drm/drm.h > +++ b/include/drm/drm.h > @@ -755,6 +755,7 @@ struct drm_event_vblank { > }; > > #define DRM_CAP_DUMB_BUFFER 0x1 > +#define DRM_CAP_HIGH_CRTC 0x2 > > /* typedef area */ > typedef struct drm_clip_rect drm_clip_rect_t; > diff --git a/xf86drm.h b/xf86drm.h > index bf0d5df..e2bea06 100644 > --- a/xf86drm.h > +++ b/xf86drm.h > @@ -302,6 +302,8 @@ typedef enum { > DRM_VBLANK_SECONDARY = 0x20000000, /**< Secondary display controller */ > DRM_VBLANK_SIGNAL = 0x40000000 /* Send signal instead of blocking */ > } drmVBlankSeqType; > +#define DRM_VBLANK_HIGH_CRTC_SHIFT 16 > +#define DRM_VBLANK_HIGH_CRTC_MASK 0x001F0000 > > typedef struct _drmVBlankReq { > drmVBlankSeqType type; > _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel