EXA composite ops don't report damage

Daniel Drake dsd at laptop.org
Mon May 13 07:40:04 PDT 2013


On Mon, May 13, 2013 at 3:15 AM, Michel Dänzer <michel at daenzer.net> wrote:
> The wrapping order is supposed to be the other way around, i.e. the
> Damage layer is supposed to call down to EXA. I suspect you may need to
> switch the order in which the driver initializes EXA vs. the Damage
> layer, or something along those lines.

Thanks! That fixes it.

The driver was calling miDCInitialize() (which initialises damage)
before exaDriverInit. And the last person to wrap a function is the
first one that gets called. Changing the order solves the bug in
question.

Looking at Geode and nouveau drivers I see that init order is quite
sensitive in other areas as well (various "Must be called before xyz"
comments in both cases). Is there a good place to document this EXA vs
Damage requirement? I'd like to prevent someone else from falling into
the same trap.

Daniel


More information about the xorg-devel mailing list