From 7a6e37818a6854ec4d74f80ce5053e04b7ae75ba Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 8 Jan 2007 13:41:20 -0800 Subject: Documentation and copyright updates for 1.1 protocol (and other fixes). --- AUTHORS | 1 + COPYING | 1 + INSTALL | 2 +- NEWS | 2 ++ README | 10 +++++----- damageproto.h | 1 + protocol | 32 +++++++++++++++++++++++++++----- 7 files changed, 38 insertions(+), 11 deletions(-) diff --git a/AUTHORS b/AUTHORS index 8e18f9b..78b329f 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1 +1,2 @@ Keith Packard, HP +Eric Anholt, Intel diff --git a/COPYING b/COPYING index 830e297..a44e065 100644 --- a/COPYING +++ b/COPYING @@ -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 diff --git a/INSTALL b/INSTALL index b94098a..05868b6 100644 --- a/INSTALL +++ b/INSTALL @@ -1,4 +1,4 @@ -Render is built with the traditional configure script: +Damage is built with the traditional configure script: $ ./configure --prefix=/usr/X11R6 diff --git a/NEWS b/NEWS index e69de29..25efe0b 100644 --- a/NEWS +++ b/NEWS @@ -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 diff --git a/README b/README index 9968c6b..6f1ad4b 100644 --- a/README +++ b/README @@ -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 diff --git a/protocol b/protocol index 7d59e16..58e255b 100644 --- a/protocol +++ b/protocol @@ -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). -- cgit v1.2.1