2009/11/12 Michel Dänzer <[email protected]>:
> On Thu, 2009-11-12 at 20:30 +0100, Maarten Maathuis wrote:
>> 2009/11/12 Michel Dänzer <[email protected]>:
>> > On Sat, 2009-11-07 at 13:32 +0100, Maarten Maathuis wrote:
>> >> - Fix the system that is required for it to actually work.
>> >> - The comment near the new macros explains the problem that existed 
>> >> before.
>> >
>> > I'm not sure it really explains why we need two levels of wrapping.
>>
>> The 2nd level is needed is because you want to do something more than
>> usual wrapping.
>> The DestroyPixmap example is a nice one. If i use single wrapping i
>> loose fbDestroyPixmap which is unacceptable, because the chain has to
>> be like this: 
>> exaDestroyPixmapWithFinish->damageDestroyPixmap->exaDestroyPixmap->(w)fbDestroyPixmap,
>> with single wrapping this would be
>> exaDestroyPixmapWithFinish->damageDestroyPixmap->exaDestroyPixmap->exaDestroyPixmapWithFinish,
>> which is a loop.
>
> exaDestroyPixmapWithFinish->damageDestroyPixmap looks like a layering
> violation. Could that be at least part of the problem in the first
> place?
>

It's an extra layer yes, if that is considered unacceptable, then this
leaves only the 2nd option.

>
> --
> Earthling Michel Dänzer           |                http://www.vmware.com
> Libre software enthusiast         |          Debian, X and DRI developer
>
_______________________________________________
xorg-devel mailing list
[email protected]
http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to