xserver: Branch 'master' - 8 commits
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Tue Jun 24 22:36:56 UTC 2025
Xext/geext.c | 11 +++++++++++
Xext/geext.h | 2 ++
Xext/meson.build | 1 +
damageext/damageext.c | 1 -
dix/colormap_priv.h | 3 ---
dix/events.c | 1 -
doc/Xserver-spec.xml | 6 +++++-
fb/fbcmap_mi.c | 4 ----
hw/xfree86/sdksyms.sh | 4 ++++
hw/xnest/Window.c | 2 ++
include/colormap.h | 7 +++++++
include/os.h | 3 +++
mi/mi.h | 6 ++++++
mi/mi_priv.h | 6 +-----
mi/micmap.h | 2 ++
mi/miscrinit.c | 1 +
os/WaitFor.c | 8 +++++++-
os/client_priv.h | 1 -
record/record.c | 1 -
19 files changed, 52 insertions(+), 18 deletions(-)
New commits:
commit 1bec46dda1388cac995b15ffc118e50e37389be5
Author: Aaron Plattner <aplattner at nvidia.com>
Date: Tue Jun 24 10:32:22 2025 -0700
Revert "os: unexport SetCriticalOutputPending()"
The NVIDIA driver uses this function.
This reverts commit d973c438104941758a80905e8fc6aaa76a43176d.
Signed-off-by: Aaron Plattner <aplattner at nvidia.com>
diff --git a/damageext/damageext.c b/damageext/damageext.c
index 47b7de9c1..c9b14b2ee 100644
--- a/damageext/damageext.c
+++ b/damageext/damageext.c
@@ -24,7 +24,6 @@
#include <dix-config.h>
#include "dix/dix_priv.h"
-#include "os/client_priv.h"
#include "damageextint.h"
#include "damagestr.h"
diff --git a/dix/events.c b/dix/events.c
index d14dfe489..2c99cd29e 100644
--- a/dix/events.c
+++ b/dix/events.c
@@ -124,7 +124,6 @@ Equipment Corporation.
#include "dix/input_priv.h"
#include "dix/eventconvert.h"
#include "dix/exevents_priv.h"
-#include "os/client_priv.h"
#include "os/fmt.h"
#include "xkb/xkbsrv_priv.h"
diff --git a/include/os.h b/include/os.h
index c28849de1..3f2bdfbc0 100644
--- a/include/os.h
+++ b/include/os.h
@@ -86,6 +86,8 @@ typedef struct _NewClientRec *NewClientPtr;
extern _X_EXPORT int ReadFdFromClient(ClientPtr client);
+extern _X_EXPORT void SetCriticalOutputPending(void);
+
extern _X_EXPORT int WriteToClient(ClientPtr /*who */ , int /*count */ ,
const void * /*buf */ );
diff --git a/os/client_priv.h b/os/client_priv.h
index c9c534e64..88da283da 100644
--- a/os/client_priv.h
+++ b/os/client_priv.h
@@ -53,7 +53,6 @@ void NotifyParentProcess(void);
void CreateWellKnownSockets(void);
void ResetWellKnownSockets(void);
void CloseWellKnownConnections(void);
-void SetCriticalOutputPending(void);
/* exported only for DRI module, but should not be used by external drivers */
_X_EXPORT void ResetCurrentRequest(struct _Client *client);
diff --git a/record/record.c b/record/record.c
index fd6d0fd43..e8004a85f 100644
--- a/record/record.c
+++ b/record/record.c
@@ -36,7 +36,6 @@ and Jim Haggerty of Metheus.
#include "dix/cursor_priv.h"
#include "dix/eventconvert.h"
-#include "os/client_priv.h"
#include "os/osdep.h"
#include "dixstruct.h"
commit c4470c3dcafd94abcc211488f95bf7cbc961f168
Author: Aaron Plattner <aplattner at nvidia.com>
Date: Tue Jun 24 10:28:02 2025 -0700
Revert "os: drop unused TimerCheck()"
The NVIDIA driver uses this function.
This reverts commit 1dc648b1b77033179db8bcaba304be5cc7631a43.
Signed-off-by: Aaron Plattner <aplattner at nvidia.com>
diff --git a/doc/Xserver-spec.xml b/doc/Xserver-spec.xml
index c2508def1..a4450dbdb 100644
--- a/doc/Xserver-spec.xml
+++ b/doc/Xserver-spec.xml
@@ -859,7 +859,7 @@ Similarly, the X server or an extension may need to wait for some timeout.
Early X releases implemented this functionality using block and wakeup handlers,
but this has been rewritten to use a general timer facilty, and the
internal screen saver facilities reimplemented to use Timers.
-These functions are TimerInit, TimerForce, TimerSet, TimerCancel,
+These functions are TimerInit, TimerForce, TimerSet, TimerCheck, TimerCancel,
and TimerFree, as defined in Xserver/include/os.h. A callback function will be called
when the timer fires, along with the current time, and a user provided argument.
<blockquote><programlisting>
@@ -892,6 +892,8 @@ for the timer entry.
Bool TimerForce(OsTimerPtr /* pTimer */)
+ void TimerCheck(void);
+
void TimerCancel(OsTimerPtr /* pTimer */)
void TimerFree(OsTimerPtr /* pTimer */)
@@ -902,6 +904,7 @@ TimerInit frees any existing timer entries. TimerForce forces a call to the time
callback function and returns true if the timer entry existed, else it returns false and
does not call the callback function. TimerCancel will cancel the specified timer.
TimerFree calls TimerCancel and frees the specified timer.
+Calling TimerCheck will force the server to see if any timer callbacks should be called.
</para>
</section>
</section>
@@ -5037,6 +5040,7 @@ mi and fb implementations.</para>
<row><entry><function>StoreColors</function></entry><entry><literal>ddx</literal></entry><entry><para>Screen</para></entry></row>
<row><entry><function>Subtract</function></entry><entry><literal>mi</literal></entry><entry><para>Screen</para></entry></row>
<row><entry><function>TimerCancel</function></entry><entry><literal>os</literal></entry><entry><para></para></entry></row>
+<row><entry><function>TimerCheck</function></entry><entry><literal>os</literal></entry><entry><para></para></entry></row>
<row><entry><function>TimerForce</function></entry><entry><literal>os</literal></entry><entry><para></para></entry></row>
<row><entry><function>TimerFree</function></entry><entry><literal>os</literal></entry><entry><para></para></entry></row>
<row><entry><function>TimerInit</function></entry><entry><literal>os</literal></entry><entry><para></para></entry></row>
diff --git a/include/os.h b/include/os.h
index 929769fb3..c28849de1 100644
--- a/include/os.h
+++ b/include/os.h
@@ -127,6 +127,7 @@ extern _X_EXPORT OsTimerPtr TimerSet(OsTimerPtr timer,
OsTimerCallback func,
void *arg);
+extern _X_EXPORT void TimerCheck(void);
extern _X_EXPORT void TimerCancel(OsTimerPtr /* pTimer */ );
extern _X_EXPORT void TimerFree(OsTimerPtr /* pTimer */ );
diff --git a/os/WaitFor.c b/os/WaitFor.c
index 973a3495d..a616850ab 100644
--- a/os/WaitFor.c
+++ b/os/WaitFor.c
@@ -48,7 +48,7 @@ SOFTWARE.
* OS Dependent input routines:
*
* WaitForSomething
- * TimerForce, TimerSet, TimerFree
+ * TimerForce, TimerSet, TimerCheck, TimerFree
*
*****************************************************************/
@@ -373,6 +373,12 @@ TimerFree(OsTimerPtr timer)
free(timer);
}
+void
+TimerCheck(void)
+{
+ DoTimers(GetTimeInMillis());
+}
+
void
TimerInit(void)
{
commit 3fb85ab0456f9f044ef6123742b80dde850c64ed
Author: Aaron Plattner <aplattner at nvidia.com>
Date: Tue Jun 24 10:41:29 2025 -0700
Revert "Xext: geext: drop unused GEInitEvent()"
The NVIDIA GLX extension module (libglxserver_nvidia.so) uses this
function.
This reverts commit 6fa340c5784736264467ba904f9005c75ec8d67e.
Signed-off-by: Aaron Plattner <aplattner at nvidia.com>
diff --git a/Xext/geext.c b/Xext/geext.c
index 3766ffdb3..a116e9d3c 100644
--- a/Xext/geext.c
+++ b/Xext/geext.c
@@ -210,3 +210,14 @@ GERegisterExtension(int extension,
/* extension opcodes are > 128, might as well save some space here */
GEExtensions[EXT_MASK(extension)].evswap = ev_swap;
}
+
+/* Sets type and extension field for a generic event. This is just an
+ * auxiliary function, extensions could do it manually too.
+ */
+void
+GEInitEvent(xGenericEvent *ev, int extension)
+{
+ ev->type = GenericEvent;
+ ev->extension = extension;
+ ev->length = 0;
+}
diff --git a/Xext/geext.h b/Xext/geext.h
index 836a10103..79984e659 100644
--- a/Xext/geext.h
+++ b/Xext/geext.h
@@ -38,4 +38,6 @@ extern _X_EXPORT void GERegisterExtension(int extension,
xGenericEvent
*to));
+extern _X_EXPORT void GEInitEvent(xGenericEvent *ev, int extension);
+
#endif /* _GEEXT_H_ */
commit d258c266260628ba16487f315705e05ccc58fd6e
Author: Aaron Plattner <aplattner at nvidia.com>
Date: Tue Jun 24 10:25:24 2025 -0700
Revert "panoramix: don't install panoramiX.h and panoramiXsrv.h"
The NVIDIA driver still supports GLX across physical screens in Xinerama
configurations, and uses the definitions in these headers to do that.
This reverts commit 3f469acb96a9e6dcd83d8538df316e915dd9353c.
Signed-off-by: Aaron Plattner <aplattner at nvidia.com>
diff --git a/Xext/meson.build b/Xext/meson.build
index 9913cc30e..457c7ef2c 100644
--- a/Xext/meson.build
+++ b/Xext/meson.build
@@ -44,6 +44,7 @@ endif
if build_xinerama
srcs_xext += ['panoramiX.c', 'panoramiXprocs.c', 'panoramiXSwap.c']
+ hdrs_xext += ['panoramiX.h', 'panoramiXsrv.h']
endif
if build_xsecurity
diff --git a/hw/xfree86/sdksyms.sh b/hw/xfree86/sdksyms.sh
index d45b72ac0..4747846f5 100755
--- a/hw/xfree86/sdksyms.sh
+++ b/hw/xfree86/sdksyms.sh
@@ -58,6 +58,10 @@ cat > sdksyms.c << EOF
#include "shmint.h"
#endif
#include "syncsdk.h"
+#ifdef XINERAMA
+# include "panoramiXsrv.h"
+# include "panoramiX.h"
+#endif
/* glx/Makefile.am */
#ifdef GLX
commit 3d05f2b8a87116e7541c371bdd2322b51d9ed82c
Author: Aaron Plattner <aplattner at nvidia.com>
Date: Tue Jun 24 10:47:31 2025 -0700
Revert "dix: unexport AllocColor()"
libwfb.so has a reference to this function:
$ nm -D ./build.debug/hw/xfree86/dixmods/libwfb.so | grep AllocColor
U AllocColor
This reverts commit b48e4a9cb71c0857d296956c420d50a1330c93e9.
Signed-off-by: Aaron Plattner <aplattner at nvidia.com>
diff --git a/dix/colormap_priv.h b/dix/colormap_priv.h
index 04a55b07a..266e44793 100644
--- a/dix/colormap_priv.h
+++ b/dix/colormap_priv.h
@@ -33,9 +33,6 @@ int TellGainedMap(WindowPtr pwin, void *value);
int CopyColormapAndFree(Colormap mid, ColormapPtr pSrc, int client);
-int AllocColor(ColormapPtr pmap, unsigned short *pred, unsigned short *pgreen,
- unsigned short *pblue, Pixel *pPix, int client );
-
void FakeAllocColor(ColormapPtr pmap, xColorItem *item);
void FakeFreeColor(ColormapPtr pmap, Pixel pixel);
diff --git a/fb/fbcmap_mi.c b/fb/fbcmap_mi.c
index d9447e095..df0fe98b5 100644
--- a/fb/fbcmap_mi.c
+++ b/fb/fbcmap_mi.c
@@ -30,9 +30,6 @@
#include <dix-config.h>
#include <X11/X.h>
-
-#include "dix/colormap_priv.h"
-
#include "fb.h"
#include "micmap.h"
diff --git a/include/colormap.h b/include/colormap.h
index 216a4c932..e8da083ab 100644
--- a/include/colormap.h
+++ b/include/colormap.h
@@ -55,6 +55,13 @@ SOFTWARE.
typedef CARD32 Pixel;
+extern _X_EXPORT int AllocColor(ColormapPtr /*pmap */ ,
+ unsigned short * /*pred */ ,
+ unsigned short * /*pgreen */ ,
+ unsigned short * /*pblue */ ,
+ Pixel * /*pPix */ ,
+ int /*client */ );
+
extern _X_EXPORT Bool ResizeVisualArray(ScreenPtr /* pScreen */ ,
int /* new_vis_count */ ,
DepthPtr /* depth */ );
commit 15ca09904a25bf8321542a0e553291db163375cd
Author: Aaron Plattner <aplattner at nvidia.com>
Date: Tue Jun 24 10:43:02 2025 -0700
Revert "mi: unexport miWindowExposures()"
libwfb.so has a reference to this function:
$ nm -D ./build.debug/hw/xfree86/dixmods/libwfb.so | grep miWindowExposures
U miWindowExposures
This reverts commit e424f49cdb04ad343c72aed2457ed9b543fa8aea.
Signed-off-by: Aaron Plattner <aplattner at nvidia.com>
diff --git a/hw/xnest/Window.c b/hw/xnest/Window.c
index d7e388568..d8a203a03 100644
--- a/hw/xnest/Window.c
+++ b/hw/xnest/Window.c
@@ -27,6 +27,8 @@ is" without express or implied warranty.
#include "scrnintstr.h"
#include "region.h"
+#include "mi.h"
+
#include "Xnest.h"
#include "Display.h"
diff --git a/mi/mi.h b/mi/mi.h
index 8883ba70e..3a65f4cb1 100644
--- a/mi/mi.h
+++ b/mi/mi.h
@@ -127,6 +127,9 @@ extern _X_EXPORT RegionPtr miHandleExposures(DrawablePtr /*pSrcDrawable */ ,
int /*dsty */
);
+extern _X_EXPORT void miWindowExposures(WindowPtr /*pWin */ ,
+ RegionPtr /*prgn */);
+
extern _X_EXPORT void miClearDrawable(DrawablePtr /*pDraw */ ,
GCPtr /*pGC */
);
diff --git a/mi/mi_priv.h b/mi/mi_priv.h
index 87aa1c3a1..a9360c9b3 100644
--- a/mi/mi_priv.h
+++ b/mi/mi_priv.h
@@ -47,7 +47,6 @@ typedef void (*mieqHandler) (int screen, InternalEvent *event,
void mieqSetHandler(int event, mieqHandler handler);
void miSendExposures(WindowPtr pWin, RegionPtr pRgn, int dx, int dy);
-void miWindowExposures(WindowPtr pWin, RegionPtr prgn);
void miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what);
diff --git a/mi/miscrinit.c b/mi/miscrinit.c
index cf67baab0..8165d0f38 100644
--- a/mi/miscrinit.c
+++ b/mi/miscrinit.c
@@ -34,6 +34,7 @@ from The Open Group.
#include "servermd.h"
#include "misc.h"
+#include "mi.h"
#include "scrnintstr.h"
#include "pixmapstr.h"
#include "dix.h"
commit 946ff9eac60e6d5b78c87a4c22736c2d52899bd3
Author: Aaron Plattner <aplattner at nvidia.com>
Date: Tue Jun 24 10:39:43 2025 -0700
Revert "mi: unexport miExpandDirectColors()"
libwfb.so has a reference to this function:
$ nm -D ./build.debug/hw/xfree86/dixmods/libwfb.so | grep miExpandDirectColors
U miExpandDirectColors
This reverts commit c3c538784a5a0399a5cf0ad98bc51613d55ea918.
Signed-off-by: Aaron Plattner <aplattner at nvidia.com>
diff --git a/fb/fbcmap_mi.c b/fb/fbcmap_mi.c
index 4fd96e6c0..d9447e095 100644
--- a/fb/fbcmap_mi.c
+++ b/fb/fbcmap_mi.c
@@ -32,7 +32,6 @@
#include <X11/X.h>
#include "dix/colormap_priv.h"
-#include "mi/mi_priv.h"
#include "fb.h"
#include "micmap.h"
diff --git a/mi/mi_priv.h b/mi/mi_priv.h
index 94644ccdc..87aa1c3a1 100644
--- a/mi/mi_priv.h
+++ b/mi/mi_priv.h
@@ -6,7 +6,6 @@
#define _XSERVER_MI_PRIV_H
#include <X11/Xdefs.h>
-#include <X11/Xproto.h>
#include <X11/Xprotostr.h>
#include "dix/screenint_priv.h"
@@ -74,6 +73,4 @@ void miMarkUnrealizedWindow(WindowPtr pChild, WindowPtr pWin, Bool fromConfigure
WindowPtr miSpriteTrace(SpritePtr pSprite, int x, int y);
WindowPtr miXYToWindow(ScreenPtr pScreen, SpritePtr pSprite, int x, int y);
-int miExpandDirectColors(ColormapPtr, int, xColorItem *, xColorItem *);
-
#endif /* _XSERVER_MI_PRIV_H */
diff --git a/mi/micmap.h b/mi/micmap.h
index eeb70c4ae..d8bf7e2c2 100644
--- a/mi/micmap.h
+++ b/mi/micmap.h
@@ -23,6 +23,8 @@ extern _X_EXPORT void miUninstallColormap(ColormapPtr pmap);
extern _X_EXPORT void miResolveColor(unsigned short *, unsigned short *,
unsigned short *, VisualPtr);
extern _X_EXPORT Bool miInitializeColormap(ColormapPtr);
+extern _X_EXPORT int miExpandDirectColors(ColormapPtr, int, xColorItem *,
+ xColorItem *);
extern _X_EXPORT Bool miCreateDefColormap(ScreenPtr);
extern _X_EXPORT void miClearVisualTypes(void);
extern _X_EXPORT Bool miSetVisualTypes(int, int, int, int);
commit d1ea5a60907073ff47cb92e2d0a958bcb569ab12
Author: Aaron Plattner <aplattner at nvidia.com>
Date: Tue Jun 24 10:51:19 2025 -0700
Revert "mi: unexport miCreateScreenResources()"
libwfb.so has a reference to this function:
$ nm -D build.debug/hw/xfree86/dixmods/libwfb.so | grep miCreateScreenResources
U miCreateScreenResources
This reverts commit d14ae53e1fa6386c3d6a8f57d12374b28a92c958.
Signed-off-by: Aaron Plattner <aplattner at nvidia.com>
diff --git a/mi/mi.h b/mi/mi.h
index 0adb915cd..8883ba70e 100644
--- a/mi/mi.h
+++ b/mi/mi.h
@@ -241,6 +241,9 @@ extern _X_EXPORT Bool miModifyPixmapHeader(PixmapPtr pPixmap,
void *pPixData
);
+extern _X_EXPORT Bool miCreateScreenResources(ScreenPtr /*pScreen */
+ );
+
extern _X_EXPORT Bool miScreenInit(ScreenPtr pScreen,
void *pbits,
int xsize,
diff --git a/mi/mi_priv.h b/mi/mi_priv.h
index 1264e03b1..94644ccdc 100644
--- a/mi/mi_priv.h
+++ b/mi/mi_priv.h
@@ -51,9 +51,9 @@ void miSendExposures(WindowPtr pWin, RegionPtr pRgn, int dx, int dy);
void miWindowExposures(WindowPtr pWin, RegionPtr prgn);
void miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what);
+
void miSourceValidate(DrawablePtr pDrawable, int x, int y, int w, int h,
unsigned int subWindowMode);
-Bool miCreateScreenResources(ScreenPtr pScreen);
int miShapedWindowIn(RegionPtr universe, RegionPtr bounding, BoxPtr rect,
int x, int y);
int miValidateTree(WindowPtr pParent, WindowPtr pChild, VTKind kind);
More information about the xorg-commit
mailing list