On Sat, 19 Mar 2011, Alex Deucher wrote:
> On Fri, Mar 18, 2011 at 5:58 PM, Ilija Hadzic > <ihadzic at research.bell-labs.com> 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 at gmail.com> > Tested-by: Alex Deucher <alexdeucher at gmail.com> > Signed-off-by: Ilija Hadzic <ihadzic at research.bell-labs.com> >> >> >> 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; >> >