From 2b0847c7aaf95b6b10f062dfff601032b2430a9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= Date: Wed, 8 Aug 2007 10:07:03 -0400 Subject: [PATCH] Implement damage reporting for AIGLX. --- GL/glx/glxdri.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/GL/glx/glxdri.c b/GL/glx/glxdri.c index 6389ad97c..ae743113b 100644 --- a/GL/glx/glxdri.c +++ b/GL/glx/glxdri.c @@ -784,6 +784,22 @@ getUST(int64_t *ust) } } +static void __glXReportDamage(__DRIdrawable *driDraw, + int x, int y, + drm_clip_rect_t *rects, int num_rects, + GLboolean front_buffer) +{ + __GLXDRIdrawable *drawable = + containerOf(driDraw, __GLXDRIdrawable, driDrawable); + DrawablePtr pDraw = drawable->base.pDraw; + RegionRec region; + + REGION_INIT(pDraw->pScreen, ®ion, (BoxPtr) rects, num_rects); + REGION_TRANSLATE(pScreen, ®ion, pDraw->x, pDraw->y); + DamageDamageRegion(pDraw, ®ion); + REGION_UNINIT(pDraw->pScreen, ®ion); +} + /* Table of functions that we export to the driver. */ static const __DRIinterfaceMethods interface_methods = { _gl_context_modes_create, @@ -793,6 +809,8 @@ static const __DRIinterfaceMethods interface_methods = { getUST, NULL, /* glXGetMscRateOML, */ + + __glXReportDamage, }; static const char dri_driver_path[] = DRI_DRIVER_PATH;