Failed to compile with latest headers (xorg-server-devel 1.20.11)
Compile just fails due to header incompatiblity:
$ make -j12
make all-recursive
make[1]: Entering directory '/home/adam/xf86-video-opentegra'
Making all in src
make[2]: Entering directory '/home/adam/xf86-video-opentegra/src'
CC drmmode_display.lo
CC driver.lo
driver.c: In function 'TegraCreateScreenResources':
driver.c:551:45: error: implicit declaration of function 'shadowUpdatePackedWeak'; did you mean 'shadowUpdatePacked'? [-Werror=implicit-function-declaration]
551 | if (!shadowAdd(pScreen, rootPixmap, shadowUpdatePackedWeak(),
| ^~~~~~~~~~~~~~~~~~~~~~
| shadowUpdatePacked
driver.c:551:45: warning: nested extern declaration of 'shadowUpdatePackedWeak' [-Wnested-externs]
driver.c:551:45: warning: passing argument 3 of 'shadowAdd' makes pointer from integer without a cast [-Wint-conversion]
551 | if (!shadowAdd(pScreen, rootPixmap, shadowUpdatePackedWeak(),
| ^~~~~~~~~~~~~~~~~~~~~~~~
| |
| int
In file included from driver.c:54:
/usr/include/xorg/shadow.h:78:28: note: expected 'ShadowUpdateProc' {aka 'void (*)(struct _Screen *, struct _shadowBuf *)'} but argument is of type 'int'
78 | ShadowUpdateProc update,
| ~~~~~~~~~~~~~~~~~^~~~~~
driver.c: In function 'TegraBlockHandler':
driver.c:610:5: error: too many arguments to function 'pScreen->BlockHandler'
610 | pScreen->BlockHandler(BLOCKHANDLER_ARGS);
| ^~~~~~~
driver.c:611:27: warning: assignment to 'ScreenBlockHandlerProcPtr' {aka 'void (*)(struct _Screen *, void *)'} from incompatible pointer type 'void (*)(struct _Screen *, void *, void *)' [-Wincompatible-pointer-types]
611 | pScreen->BlockHandler = TegraBlockHandler;
| ^
driver.c: In function 'TegraScreenInit':
driver.c:722:27: warning: assignment to 'ScreenBlockHandlerProcPtr' {aka 'void (*)(struct _Screen *, void *)'} from incompatible pointer type 'void (*)(struct _Screen *, void *, void *)' [-Wincompatible-pointer-types]
722 | pScreen->BlockHandler = TegraBlockHandler;
| ^
drmmode_display.c: In function 'drmmode_output_create_resources':
drmmode_display.c:713:19: warning: declaration of 'range' shadows a global declaration [-Wshadow]
713 | INT32 range[2], value = p->value;
| ^~~~~
In file included from drmmode_display.c:36:
/usr/include/xorg/xf86str.h:110:3: note: shadowed declaration is here
110 | } range;
| ^~~~~
cc1: some warnings being treated as errors
make[2]: *** [Makefile:497: driver.lo] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/home/adam/xf86-video-opentegra/src'
make[1]: *** [Makefile:532: all-recursive] Error 1
make[1]: Leaving directory '/home/adam/xf86-video-opentegra'
make: *** [Makefile:443: all] Error 2
The involved header is from xorg-server-devel 1.20.11.