treewide: preemptively revert !1714 where it affects ABI compatibility

this adds dummy pointers in place of removed fields in some structs, only for
SDK headers, to preserve ABI
some of these fix segfaults for nvidia driver, some are preemptive

Signed-off-by: dasha_uwu <dasha@linuxping.win>
This commit is contained in:
dasha_uwu 2025-06-13 04:49:59 +05:00 committed by Enrico Weigelt
parent 1489474583
commit a776156b54
6 changed files with 13 additions and 0 deletions

View File

@ -173,6 +173,9 @@ typedef struct {
int version, revision; int version, revision;
int nAdaptors; int nAdaptors;
XvAdaptorPtr pAdaptors; XvAdaptorPtr pAdaptors;
void *_dummy1; // required in place of a removed field for ABI compatibility
void *_dummy2; // required in place of a removed field for ABI compatibility
void *_dummy3; // required in place of a removed field for ABI compatibility
} XvScreenRec, *XvScreenPtr; } XvScreenRec, *XvScreenPtr;
extern _X_EXPORT int XvScreenInit(ScreenPtr); extern _X_EXPORT int XvScreenInit(ScreenPtr);

View File

@ -86,6 +86,7 @@ typedef struct _DRIScreenPrivRec {
DrawablePtr fullscreen; /* pointer to fullscreen drawable */ DrawablePtr fullscreen; /* pointer to fullscreen drawable */
drm_clip_rect_t fullscreen_rect; /* fake rect for fullscreen mode */ drm_clip_rect_t fullscreen_rect; /* fake rect for fullscreen mode */
DRIWrappedFuncsRec wrap; DRIWrappedFuncsRec wrap;
void *_dummy1; // required in place of a removed field for ABI compatibility
DrawablePtr DRIDrawables[SAREA_MAX_DRAWABLES]; DrawablePtr DRIDrawables[SAREA_MAX_DRAWABLES];
DRIContextPrivPtr dummyCtxPriv; /* Pointer to dummy context */ DRIContextPrivPtr dummyCtxPriv; /* Pointer to dummy context */
Bool createDummyCtx; Bool createDummyCtx;

View File

@ -799,6 +799,8 @@ typedef struct _xf86CrtcConfig {
CreateScreenResourcesProcPtr CreateScreenResources; CreateScreenResourcesProcPtr CreateScreenResources;
void *_dummy1; // required in place of a removed field for ABI compatibility
/* Cursor information */ /* Cursor information */
xf86CursorInfoPtr cursor_info; xf86CursorInfoPtr cursor_info;
CursorPtr cursor; CursorPtr cursor;

View File

@ -61,8 +61,11 @@ typedef struct _damageScrPriv {
DamagePtr pScreenDamage; DamagePtr pScreenDamage;
CopyWindowProcPtr CopyWindow; CopyWindowProcPtr CopyWindow;
void *_dummy1; // required in place of a removed field for ABI compatibility
CreateGCProcPtr CreateGC; CreateGCProcPtr CreateGC;
void *_dummy2; // required in place of a removed field for ABI compatibility
SetWindowPixmapProcPtr SetWindowPixmap; SetWindowPixmapProcPtr SetWindowPixmap;
void *_dummy3; // required in place of a removed field for ABI compatibility
CompositeProcPtr Composite; CompositeProcPtr Composite;
GlyphsProcPtr Glyphs; GlyphsProcPtr Glyphs;
AddTrapsProcPtr AddTraps; AddTrapsProcPtr AddTraps;

View File

@ -53,6 +53,7 @@ typedef struct _shadowBuf {
/* screen wrappers */ /* screen wrappers */
GetImageProcPtr GetImage; GetImageProcPtr GetImage;
void *_dummy1; // required in place of a removed field for ABI compatibility
ScreenBlockHandlerProcPtr BlockHandler; ScreenBlockHandlerProcPtr BlockHandler;
} shadowBufRec; } shadowBufRec;

View File

@ -294,6 +294,9 @@ typedef struct _PictureScreen {
GlyphsProcPtr Glyphs; /* unused */ GlyphsProcPtr Glyphs; /* unused */
CompositeRectsProcPtr CompositeRects; CompositeRectsProcPtr CompositeRects;
void *_dummy1; // required in place of a removed field for ABI compatibility
void *_dummy2; // required in place of a removed field for ABI compatibility
StoreColorsProcPtr StoreColors; StoreColorsProcPtr StoreColors;
InitIndexedProcPtr InitIndexed; InitIndexedProcPtr InitIndexed;