mirror of
https://github.com/X11Libre/xserver.git
synced 2026-03-24 10:14:52 +00:00
xfree86: compat: re-add TimeCheck() for proprietary nvidia driver
Yet another very internal function that the proprietary Nvidia driver is using for unknown reasons. Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
This commit is contained in:
committed by
Enrico Weigelt
parent
122d5b9130
commit
169f912b5b
@@ -6,6 +6,10 @@ srcs_xorg_compat = [
|
||||
'xf86Helper.c',
|
||||
]
|
||||
|
||||
if get_option('legacy_nvidia_340x')
|
||||
srcs_xorg_compat += 'timercheck.c'
|
||||
endif
|
||||
|
||||
xorg_compat = static_library('xorg_compat',
|
||||
srcs_xorg_compat,
|
||||
dependencies: common_dep,
|
||||
|
||||
23
hw/xfree86/compat/timercheck.c
Normal file
23
hw/xfree86/compat/timercheck.c
Normal file
@@ -0,0 +1,23 @@
|
||||
#include <dix-config.h>
|
||||
|
||||
#include <X11/Xfuncproto.h>
|
||||
|
||||
#include "os/osdep.h"
|
||||
|
||||
#include "xf86_compat.h"
|
||||
|
||||
/*
|
||||
* needed for NVidia proprietary driver 340.x versions
|
||||
* force the server to see if any timer callbacks should be called
|
||||
*
|
||||
* this function had been obsolete and removed long ago, but NVidia folks
|
||||
* still didn't do basic maintenance and fixed their driver
|
||||
*/
|
||||
|
||||
_X_EXPORT void TimerCheck(void);
|
||||
|
||||
void TimerCheck(void) {
|
||||
xf86NVidiaBugObsoleteFunc("TimerCheck()");
|
||||
|
||||
DoTimers(GetTimeInMillis());
|
||||
}
|
||||
@@ -148,6 +148,10 @@ option('devel-docs', type: 'combo', choices: ['true', 'false', 'auto'], value: '
|
||||
option('docs-pdf', type: 'combo', choices: ['true', 'false', 'auto'], value: 'auto',
|
||||
description: 'Whether to build PDF version of documentation. Setting is ignored if documentation is not built.')
|
||||
|
||||
# legacy nvidia driver quirks
|
||||
option('legacy_nvidia_340x', type: 'boolean', value: true,
|
||||
description: 'Extra entrypoints for old Nvidia 340x proprietary driver')
|
||||
|
||||
# testsuite fine tuning - some things might not run everywhere
|
||||
option('test_rendercheck_triangles', type: 'boolean', value: false,
|
||||
description: 'testsuite: run rendercheck triangles tests (might fail on Xephyr)')
|
||||
|
||||
@@ -105,7 +105,6 @@ struct _OsTimerRec {
|
||||
};
|
||||
|
||||
static void DoTimer(OsTimerPtr timer, CARD32 now);
|
||||
static void DoTimers(CARD32 now);
|
||||
static void CheckAllTimers(void);
|
||||
static volatile struct xorg_list timers;
|
||||
|
||||
@@ -276,8 +275,7 @@ DoTimer(OsTimerPtr timer, CARD32 now)
|
||||
TimerSet(timer, 0, newTime, timer->callback, timer->arg);
|
||||
}
|
||||
|
||||
static void
|
||||
DoTimers(CARD32 now)
|
||||
void DoTimers(CARD32 now)
|
||||
{
|
||||
OsTimerPtr timer;
|
||||
|
||||
|
||||
@@ -219,4 +219,7 @@ Ones(unsigned long mask)
|
||||
}
|
||||
#endif
|
||||
|
||||
/* run timers that are expired at timestamp `now` */
|
||||
void DoTimers(CARD32 now);
|
||||
|
||||
#endif /* _OSDEP_H_ */
|
||||
|
||||
Reference in New Issue
Block a user