diff options
-rw-r--r-- | AUTHORS | 1 | ||||
-rw-r--r-- | COPYING | 1 | ||||
-rw-r--r-- | INSTALL | 2 | ||||
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | README | 10 | ||||
-rw-r--r-- | damageproto.h | 1 | ||||
-rw-r--r-- | protocol | 32 |
7 files changed, 38 insertions, 11 deletions
@@ -1 +1,2 @@ Keith Packard, HP +Eric Anholt, Intel @@ -1,6 +1,7 @@ $Id: COPYING,v 1.1 2003-10-24 06:16:46 keithp Exp $ Copyright © 2001,2003 Keith Packard +Copyright © 2007 Eric Anholt Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that @@ -1,4 +1,4 @@ -Render is built with the traditional configure script: +Damage is built with the traditional configure script: $ ./configure --prefix=/usr/X11R6 @@ -0,0 +1,2 @@ +2004-01-05: Version 1.0 released. +2007-01-08: Version 1.1 released, adding the DamagePost request.
\ No newline at end of file @@ -1,9 +1,9 @@ - RandR - X RandR Extension - Version 1.0 - 2002-10-4 + Damage + X Damage Extension + Version 1.1 + 2007-01-08 -This package contains header files and documentation for the X RandR +This package contains header files and documentation for the X Damage extension. Library and server implementations are separate. Keith Packard diff --git a/damageproto.h b/damageproto.h index 23e1155..c70d270 100644 --- a/damageproto.h +++ b/damageproto.h @@ -2,6 +2,7 @@ * $Id: damageproto.h,v 1.1 2003-10-24 06:16:46 keithp Exp $ * * Copyright © 2003 Keith Packard + * Copyright © 2007 Eric Anholt * * Permission to use, copy, modify, distribute, and sell this software and its * documentation for any purpose is hereby granted without fee, provided that @@ -1,11 +1,15 @@ The DAMAGE Extension - Protocol Version 0.0 + Protocol Version 1.1 Document Revision 1 - 2003-11-03 + 2007-01-08 Keith Packard keithp@keithp.com + Eric Anholt + eric@anholt.net + Open Source Technology Center + Intel Corporation 1. Introduction Monitoring the regions affected by rendering has wide-spread use, from @@ -63,10 +67,23 @@ within the bounds of the window. In a system with a single frame buffer holding all windows, this means that damage will accumulate for all rendering operations that lie within the visible part of the window. -The precise reason for this architecture will be made clear in the XSPLITTREE -extension which will provide multiple pixel storage areas for the screen +The precise reason for this architecture is to enable the Composite +extension which provides multiple pixel storage areas for the screen contents. +3.1 Additions in the 1.1 version of the protocol + +Damage is automatically computed by the X Server for X rendering operations, +but direct rendering extensions have allowed clients to perform rendering +outside of the control of the X Server. The 1.1 version of the protocol +added a request to allow direct rendering clients to report damage to a +drawable. Some direct rendering clients, due to architectural limitations, +always perform rendering to the root window, even in when it should be +performed to the backing pixmap in the Composite case. To provide +less-incorrect rendering in this cases, the direct rendering client should +translate its damage region to screen coordinates and report the damage against +the root window rather than the drawable. + 4. Data types The "Damage" object holds any accumulated damage region and reflects the @@ -196,4 +213,9 @@ DamagePost Reports damage of the region within the given drawable. This may be used by direct rendering clients to report damage that the server would - otherwise be unaware of. + otherwise be unaware of. The damage region is relative to the origin + of the drawable. + + Damage posted in this way will appear in DamageNotify events as normal, + and also in server internal damage tracking (for shadow framebuffer + updates, pixmap damage, and other uses). |