xserver: Branch 'master' - 3 commits

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Feb 7 14:56:47 UTC 2025


 hw/xfree86/common/xf86Module.h |    4 ++++
 hw/xfree86/loader/loader.c     |   30 ++++++++++++++++++++++++++++++
 2 files changed, 34 insertions(+)

New commits:
commit 4f2c6c98b7d178c97ac716d298d3369a5b8b2a55
Author: Enrico Weigelt, metux IT consult <info at metux.net>
Date:   Fri Feb 7 14:25:19 2025 +0100

    xfree86: mark LoaderShouldIgnoreABI() and LoaderGetABIVersion() deprecated
    
    These functions are only used by the proprietary NVidia drivers,
    so keeping them only for backwards compat. Nobody else should ever
    really need them.
    
    Signed-off-by: Enrico Weigelt, metux IT consult <info at metux.net>
    Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1773>

diff --git a/hw/xfree86/common/xf86Module.h b/hw/xfree86/common/xf86Module.h
index d5962e833..307713cf8 100644
--- a/hw/xfree86/common/xf86Module.h
+++ b/hw/xfree86/common/xf86Module.h
@@ -154,8 +154,10 @@ extern _X_EXPORT void *LoadSubModule(void *, const char *, const char **,
 extern _X_EXPORT void *LoaderSymbol(const char *);
 extern _X_EXPORT void *LoaderSymbolFromModule(void *, const char *);
 extern _X_EXPORT void LoaderErrorMsg(const char *, const char *, int, int);
-extern _X_EXPORT Bool LoaderShouldIgnoreABI(void);
-extern _X_EXPORT int LoaderGetABIVersion(const char *abiclass);
+
+/* deprecated, only kept for backwards compat w/ proprietary NVidia driver */
+extern _X_EXPORT Bool LoaderShouldIgnoreABI(void) _X_DEPRECATED;
+extern _X_EXPORT int LoaderGetABIVersion(const char *abiclass) _X_DEPRECATED;
 
 typedef void *(*ModuleSetupProc) (void *, void *, int *, int *);
 typedef void (*ModuleTearDownProc) (void *);
commit 13a16de3104265bd9085c68aa682bc981eeeb527
Author: Enrico Weigelt, metux IT consult <info at metux.net>
Date:   Fri Feb 7 14:17:18 2025 +0100

    Revert "xfree86: loader: drop unused LoaderShouldIgnoreABI()"
    
    This reverts commit d8c47a3db65e37f5afb1876a621b135c186cfd6f.
    
    Proprietary NVidia driver needs it.
    
    Signed-off-by: Enrico Weigelt, metux IT consult <info at metux.net>
    Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1773>

diff --git a/hw/xfree86/common/xf86Module.h b/hw/xfree86/common/xf86Module.h
index e06ea21c0..d5962e833 100644
--- a/hw/xfree86/common/xf86Module.h
+++ b/hw/xfree86/common/xf86Module.h
@@ -154,6 +154,7 @@ extern _X_EXPORT void *LoadSubModule(void *, const char *, const char **,
 extern _X_EXPORT void *LoaderSymbol(const char *);
 extern _X_EXPORT void *LoaderSymbolFromModule(void *, const char *);
 extern _X_EXPORT void LoaderErrorMsg(const char *, const char *, int, int);
+extern _X_EXPORT Bool LoaderShouldIgnoreABI(void);
 extern _X_EXPORT int LoaderGetABIVersion(const char *abiclass);
 
 typedef void *(*ModuleSetupProc) (void *, void *, int *, int *);
diff --git a/hw/xfree86/loader/loader.c b/hw/xfree86/loader/loader.c
index 5ba41813c..5af7a54f3 100644
--- a/hw/xfree86/loader/loader.c
+++ b/hw/xfree86/loader/loader.c
@@ -154,6 +154,12 @@ LoaderSetOptions(unsigned long opts)
     LoaderOptions |= opts;
 }
 
+Bool
+LoaderShouldIgnoreABI(void)
+{
+    return (LoaderOptions & LDR_OPT_ABI_MISMATCH_NONFATAL) != 0;
+}
+
 int
 LoaderGetABIVersion(const char *abiclass)
 {
commit ea118d3897211b8b247fd1e9984c8e8939f31044
Author: Enrico Weigelt, metux IT consult <info at metux.net>
Date:   Fri Feb 7 14:16:22 2025 +0100

    Revert "xfree86: loader: drop unused LoaderGetABIVersion()"
    
    This reverts commit f3887956ecb33018c36fe9880e533045385570bd.
    
    Proprietary NVidia drivers still needs it.
    
    Signed-off-by: Enrico Weigelt, metux IT consult <info at metux.net>
    Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1773>

diff --git a/hw/xfree86/common/xf86Module.h b/hw/xfree86/common/xf86Module.h
index 6c25c4bd1..e06ea21c0 100644
--- a/hw/xfree86/common/xf86Module.h
+++ b/hw/xfree86/common/xf86Module.h
@@ -154,6 +154,7 @@ extern _X_EXPORT void *LoadSubModule(void *, const char *, const char **,
 extern _X_EXPORT void *LoaderSymbol(const char *);
 extern _X_EXPORT void *LoaderSymbolFromModule(void *, const char *);
 extern _X_EXPORT void LoaderErrorMsg(const char *, const char *, int, int);
+extern _X_EXPORT int LoaderGetABIVersion(const char *abiclass);
 
 typedef void *(*ModuleSetupProc) (void *, void *, int *, int *);
 typedef void (*ModuleTearDownProc) (void *);
diff --git a/hw/xfree86/loader/loader.c b/hw/xfree86/loader/loader.c
index 61fe04060..5ba41813c 100644
--- a/hw/xfree86/loader/loader.c
+++ b/hw/xfree86/loader/loader.c
@@ -153,3 +153,27 @@ LoaderSetOptions(unsigned long opts)
 {
     LoaderOptions |= opts;
 }
+
+int
+LoaderGetABIVersion(const char *abiclass)
+{
+    struct {
+        const char *name;
+        int version;
+    } classes[] = {
+        {ABI_CLASS_ANSIC, LoaderVersionInfo.ansicVersion},
+        {ABI_CLASS_VIDEODRV, LoaderVersionInfo.videodrvVersion},
+        {ABI_CLASS_XINPUT, LoaderVersionInfo.xinputVersion},
+        {ABI_CLASS_EXTENSION, LoaderVersionInfo.extensionVersion},
+        {NULL, 0}
+    };
+    int i;
+
+    for (i = 0; classes[i].name; i++) {
+        if (!strcmp(classes[i].name, abiclass)) {
+            return classes[i].version;
+        }
+    }
+
+    return 0;
+}


More information about the xorg-commit mailing list