[PATCH xserver] dix: Move {Change, Copy, Destroy}Clip from GCFuncs to Screen

Adam Jackson ajax at redhat.com
Thu Mar 2 23:35:35 UTC 2017

On Thu, 2017-03-02 at 13:20 -0800, Keith Packard wrote:
> > Adam Jackson <ajax at redhat.com> writes:
> > The "call down" convention would need to know to scan ahead to find
> > the next non-null fptr for the slot either way, but that's not really
> > different from the current model where some slots can be null at the
> > bottom.
> Hence my hack of filling in the pointers between the slots which are in
> use; you just call the one below 'your' entry.

That means you have to save "your" index for every slot though. Or rely
on fptr equality I suppose, but that's not really different since you
then have to write your own detangle code to find yourself in every
slot. If your layer index is constant (until someone tries to wrap
between you, which you can get notified of) then detangling yourself
means passing your index to a common routine that nulls your column of
the arrays for you.

> > So... seems plausible. Maybe try the experiment with GCOps first before
> > blowing up the whole Screen?
> Seems reasonable. The hard part to me seems to be coming up with a
> complete list of 'layers', or at least complete enough for a start. I
> don't want to have to reallocate these on the fly...

I mean, I did grep for '\<GCFuncs\>' for a reason. Eight is enough.

- ajax

More information about the xorg-devel mailing list