[prev in list] [next in list] [prev in thread] [next in thread] 

List:       dri-patches
Subject:    drm: Branch 'pageflip' - 2 commits
From:       jbarnes () kemper ! freedesktop ! org (Jesse Barnes)
Date:       2009-11-20 20:17:29
Message-ID: 20091120201729.E6C2710051 () kemper ! freedesktop ! org
[Download RAW message or body]

 configure.ac         |    2 +-
 libdrm/xf86drm.h     |    6 ++++++
 libdrm/xf86drmMode.c |   12 +++++++++++-
 shared-core/drm.h    |    1 +
 4 files changed, 19 insertions(+), 2 deletions(-)

New commits:
commit 3ebe7d1656cc9dbf7ac889bac227107acacc6f4a
Author: Jesse Barnes <jbarnes@virtuousgeek.org>
Date:   Fri Nov 20 12:16:56 2009 -0800

    libdrm: add support for page flip completion events

diff --git a/libdrm/xf86drm.h b/libdrm/xf86drm.h
index 2cb9c9e..d75ec4f 100644
--- a/libdrm/xf86drm.h
+++ b/libdrm/xf86drm.h
@@ -682,6 +682,12 @@ typedef struct _drmEventContext {
 			       unsigned int tv_usec,
 			       void *user_data);
 
+	void (*pageflip_handler)(int fd,
+				 unsigned int sequence,
+				 unsigned int tv_sec,
+				 unsigned int tv_usec,
+				 void *user_data);
+
 } drmEventContext, *drmEventContextPtr;
 
 extern int drmHandleEvent(int fd, drmEventContextPtr evctx);
diff --git a/libdrm/xf86drmMode.c b/libdrm/xf86drmMode.c
index 400ad49..7d318ea 100644
--- a/libdrm/xf86drmMode.c
+++ b/libdrm/xf86drmMode.c
@@ -700,7 +700,17 @@ int drmHandleEvent(int fd, drmEventContextPtr evctx)
 					      vblank->tv_usec,
 					      U642VOID (vblank->user_data));
 			break;
-			
+		case DRM_EVENT_FLIP_COMPLETE:
+			if (evctx->version < 1 ||
+			    evctx->pageflip_handler == NULL)
+				break;
+			vblank = (struct drm_event_vblank *) e;
+			evctx->pageflip_handler(fd,
+						vblank->sequence,
+						vblank->tv_sec,
+						vblank->tv_usec,
+						U642VOID (vblank->user_data));
+			break;
 		default:
 			break;
 		}
diff --git a/shared-core/drm.h b/shared-core/drm.h
index f820e45..c381874 100644
--- a/shared-core/drm.h
+++ b/shared-core/drm.h
@@ -828,6 +828,7 @@ struct drm_event {
 };
 
 #define DRM_EVENT_VBLANK 0x01
+#define DRM_EVENT_FLIP_COMPLETE 0x02
 
 struct drm_event_vblank {
 	struct drm_event base;
commit 8453af3d87a807887fbbc39f13231d4fee9387e7
Author: Jesse Barnes <jbarnes@jbarnes-desktop.localdomain>
Date:   Tue Nov 17 21:39:17 2009 +0000

    Bump libdrm version to 2.4.16 for page flipping

diff --git a/configure.ac b/configure.ac
index 410a359..d4106ae 100644
--- a/configure.ac
+++ b/configure.ac
@@ -19,7 +19,7 @@
 #  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 AC_PREREQ(2.60)
-AC_INIT([libdrm], 2.4.15, [dri-devel@lists.sourceforge.net], libdrm)
+AC_INIT([libdrm], 2.4.16, [dri-devel@lists.sourceforge.net], libdrm)
 AC_USE_SYSTEM_EXTENSIONS
 AC_CONFIG_SRCDIR([Makefile.am])
 AM_INIT_AUTOMAKE([dist-bzip2])

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
--
_______________________________________________
Dri-patches mailing list
Dri-patches@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-patches
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic