Fence Sync patches
Keith Packard
keithp at keithp.com
Fri Dec 3 16:21:48 PST 2010
On Fri, 3 Dec 2010 15:42:30 -0800, James Jones <jajones at nvidia.com> wrote:
> -Our drivers are going to be non-compliant in regard to the implicitly
> synchronized behavior for the foreseeable future. It is truly a mountain of
> work to implement it with reasonable performance in our current
> architecture.
In any case, you've got me thinking about the problem now, so I'd like
to think about using the general X fencing capability. Instead of doing
XDamageSubtractAndTrigger (dpy, damage, repair, parts, finshedFence);
it seem like it would be cleaner to do two separate requests:
XDamageSubtract (dpy, damage, repair, parts);
XSyncTriggerFence (dpy, finishedFence);
This eliminates all questions about changing the damage implementation
and gets us back to a very simple question of what the Damage
specification should say. Less code too.
> We're slowly adapting to an architecture where it'd be easier, and we could
> fix it at that time, but I doubt I'll get time to before then. I can live
> with being no compliant. Apps have grudgingly accepted the quasi-defined
> behavior of texture-from-pixmap "loose binding" mode for years to get the
> performance benefits it offers.
We either change the damage spec to require fencing (which breaks
existing apps for all drivers), or we find a way to tell apps which
drivers need explicit fencing. I'd prefer the latter, and it seems like
this will require only minor changes which could be done post-'freeze'.
This could be as simple as a root window property that applications can
look for to see if the driver conforms to the 'normal' synchronized
behaviour or requires fencing.
--
keith.packard at intel.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg-devel/attachments/20101203/54655ed6/attachment-0001.pgp>
More information about the xorg-devel
mailing list