[PATCH] Revert "Set DamageSetReportAfterOp to true for the damage extension" (#30260)

Aaron Plattner aplattner at nvidia.com
Sun Oct 17 09:58:50 PDT 2010


This change does not solve the problem it claims to solve because it
makes two assumptions about the driver that are not always true:

1. that it sends rendering requests to the GPU immediately, which can
   kill performance on some GPUs, and
2. that the GPU processes all requests from multiple clients in order,
   which is false for some GPUs.

All a Damage event tells you is that your next X request will be
procesed after the damage has landed, not that the damage has already
landed or even that the rendering commands that cause the damage have
been submitted to the GPU.

In addition to the above, this commit also broke the Compiz
"Wallpaper" plugin.

This reverts commit 8d7b7a0d71e0b89321b3341b781bc8845386def6.
---
Fixing this correctly requires spec changes, which is the purpose of James
Jones's damage sync stuff.  If you're reading this, you should go review
that now.  :)

 damageext/damageext.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/damageext/damageext.c b/damageext/damageext.c
index b4bb478..f5265dd 100644
--- a/damageext/damageext.c
+++ b/damageext/damageext.c
@@ -217,7 +217,6 @@ ProcDamageCreate (ClientPtr client)
     if (!AddResource (stuff->damage, DamageExtType, (pointer) pDamageExt))
 	return BadAlloc;
 
-    DamageSetReportAfterOp (pDamageExt->pDamage, TRUE);
     DamageRegister (pDamageExt->pDrawable, pDamageExt->pDamage);
 
     if (pDrawable->type == DRAWABLE_WINDOW)
-- 
1.7.0.4



More information about the xorg-devel mailing list