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;