Keith Packard [Sun, 17 Nov 2013 07:35:21 +0000 (23:35 -0800)]
xkb: Make XkbWriteCountedString take a const char * input parameter
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Keith Packard [Sun, 17 Nov 2013 07:34:59 +0000 (23:34 -0800)]
os: xstrtokenize takes and returns const char * now
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Keith Packard [Sun, 17 Nov 2013 07:33:59 +0000 (23:33 -0800)]
xfree86/vbe: Make VBEValidateModes take const char **
mode names are now const
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Keith Packard [Sun, 17 Nov 2013 07:33:18 +0000 (23:33 -0800)]
xfree86/shadowfb: GCFuncs and GCOps are now const
Change GC private to match and fix resulting warnings
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Keith Packard [Sun, 17 Nov 2013 07:32:40 +0000 (23:32 -0800)]
xfree86/parser: make strings in xf86MatchGroup const
and fix resulting warnings
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Keith Packard [Sun, 17 Nov 2013 07:31:55 +0000 (23:31 -0800)]
xfree86/int10: mark printk as _X_ATTRIBUTE_PRINTF
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Keith Packard [Sun, 17 Nov 2013 07:31:06 +0000 (23:31 -0800)]
xfree86/fbdevhw: Fix warnings
Unused fPtr variable. Deal with string constants.
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Keith Packard [Sun, 17 Nov 2013 07:30:29 +0000 (23:30 -0800)]
xfree86/exa: xf86GetOptValString returns const char * now
fix exaDDXDriverInit to match.
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Keith Packard [Sun, 17 Nov 2013 07:29:30 +0000 (23:29 -0800)]
xfree86/dri: Mark DRIDrvMsg and dri_drm_debug_print _X_ATTRIBUTE_PRINTF
And fix resulting warnings.
v2: (Adam Jackson) Cast handles through uintptr_t to avoid size change warnings
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Keith Packard [Sun, 17 Nov 2013 07:28:48 +0000 (23:28 -0800)]
xfree86/common: handle string constants in xf86Xinput configuration
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Keith Packard [Sun, 17 Nov 2013 07:28:16 +0000 (23:28 -0800)]
xfree86/common: Const GC funcs and ops in xf86VAarbiter
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Keith Packard [Sun, 17 Nov 2013 07:26:19 +0000 (23:26 -0800)]
xfree86/config: Kludge around const strings
defaultFontPath is now a const char * so that it can be initialized
from a string constant. This patch kludges around that by inserting
suitable casts to eliminate warnings. Fixing this 'correctly' would
involve inserting some new variables and conditionals to use them.
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Keith Packard [Sun, 17 Nov 2013 07:25:50 +0000 (23:25 -0800)]
config/udev: handle const strings
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Keith Packard [Sun, 17 Nov 2013 07:24:03 +0000 (23:24 -0800)]
composite: Remove unused pScreen variables
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Keith Packard [Fri, 15 Nov 2013 14:02:05 +0000 (06:02 -0800)]
test: Warning cleanup
const char in test/xfree86.c. Cast values to (intmax_t) for %ju format
in test/signal-logging.c.
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Keith Packard [Fri, 15 Nov 2013 14:00:44 +0000 (06:00 -0800)]
xi: More warning cleanup for input
Lots more const char stuff.
Remove duplicate defs of CoreKeyboardProc and CorePointerProc from
test/xi2/protocol-common.c
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Keith Packard [Fri, 15 Nov 2013 13:55:38 +0000 (05:55 -0800)]
Xext: Clean up warnings in hashtable code
Make keys const void *
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Keith Packard [Fri, 15 Nov 2013 13:41:54 +0000 (05:41 -0800)]
exa: Clean up warnings
Declare GC ops/funcs as const.
Use 'typeof' in the 'swap' macro to capture the right type.
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Keith Packard [Fri, 15 Nov 2013 13:28:47 +0000 (05:28 -0800)]
xkb: Clean up warnings
Add const to lots of strings.
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Keith Packard [Fri, 15 Nov 2013 13:19:24 +0000 (05:19 -0800)]
os: Clean up warnings
Just const char stuff.
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Keith Packard [Fri, 15 Nov 2013 13:05:44 +0000 (22:05 +0900)]
Xext: Clean up warnings
GC funcs and ops are const.
Remove unused variables.
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Keith Packard [Fri, 15 Nov 2013 13:02:58 +0000 (22:02 +0900)]
damage: Clean up warnings
GC funcs and ops are const now, so all wrappers need to declare them
as such.
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Keith Packard [Fri, 15 Nov 2013 13:00:29 +0000 (22:00 +0900)]
Clean up warnings in mi.
A coupel of unused variables, and some debug code with mis-matching
printf format and variable types.
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Keith Packard [Fri, 15 Nov 2013 12:57:05 +0000 (21:57 +0900)]
Clean up warnings in DIX
As usual, mostly const char changes. However, filter_device_events had
a potentially uninitialized value, 'raw', which I added a bunch of
checks for. I suspect most of those are 'can't happen', but it's hard
to see that inside the function.
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Keith Packard [Fri, 15 Nov 2013 09:07:54 +0000 (18:07 +0900)]
hw/xfree86: More const declarations for strings
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Keith Packard [Fri, 15 Nov 2013 09:06:37 +0000 (18:06 +0900)]
Just remove dpms functsion from xf86.h
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Keith Packard [Fri, 15 Nov 2013 08:55:15 +0000 (17:55 +0900)]
Bunch of DMX warning fixes
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Keith Packard [Fri, 15 Nov 2013 08:43:46 +0000 (17:43 +0900)]
More warning fixes in hw/xfree86
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Keith Packard [Fri, 15 Nov 2013 08:36:26 +0000 (17:36 +0900)]
xfree86 warning reduction
This gets the easy warnings, mostly constant string problems.
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Keith Packard [Sun, 17 Nov 2013 07:44:51 +0000 (23:44 -0800)]
Xext: _X_EXPORT DPMSSet and DPMSSupported
These are needed by drivers, and it's better to export them from here
rather than redefining them in hw/xfree86 and exporting them from there.
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Keith Packard [Sun, 17 Nov 2013 07:43:49 +0000 (23:43 -0800)]
include: Make xkbrules structures all const char *
This lets them be initialized with string constants
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Keith Packard [Fri, 15 Nov 2013 07:56:15 +0000 (16:56 +0900)]
xfree86/common: Warning fixes. Mostly const string handling.
Also removes DPMS functiosn from Xext/dpmsproc.h
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Keith Packard [Fri, 15 Nov 2013 07:24:15 +0000 (16:24 +0900)]
hw/xfree86: Lots of constant string support
Make lots of string pointers 'const char' so that we can use constant
strings with them without eliciting warnings.
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Keith Packard [Fri, 15 Nov 2013 04:40:30 +0000 (13:40 +0900)]
hw/xfree86: Make strings in DriverRec and ScrnInfoRec const
This avoids compiler warnings when initializing with string constants.
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Keith Packard [Thu, 9 Jan 2014 03:10:11 +0000 (11:10 +0800)]
Bump release to 1.15.99.900
The merge window for 1.16 is open
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Fri, 27 Dec 2013 17:50:55 +0000 (09:50 -0800)]
Bump version to 1.15.0
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Thu, 12 Dec 2013 23:48:08 +0000 (15:48 -0800)]
present: Set complete notify mode to Skip as needed
Skipped present pixmap calls were not setting the mode to
PresentCompleteModeSkip for skipped operations.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Thu, 12 Dec 2013 22:52:35 +0000 (14:52 -0800)]
present: Don't abandon presents which are already queued for flip
Presents which are not marked 'queued' and are in the window present
list are waiting for the flip event; discarding those won't work very
well (it'll end up trashing displayed content for the next frame), so
skip over those when looking for duplicate frame presents
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Thu, 12 Dec 2013 22:17:40 +0000 (14:17 -0800)]
present: Handle PresentOptionAsync for copy mode
Check for Async flag and execute immediately if set, otherwise wait
for the next appropriate vblank before copying.
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Thu, 19 Dec 2013 22:31:07 +0000 (14:31 -0800)]
Bump version to 1.14.99.905 (1.15 RC5)
Another week, another RC. This should be the last before 1.15 final
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Thu, 19 Dec 2013 22:14:59 +0000 (14:14 -0800)]
Merge remote-tracking branch 'whot/for-keith'
Keith Packard [Mon, 16 Dec 2013 17:27:57 +0000 (09:27 -0800)]
Merge remote-tracking branch 'jeremyhu/master'
Adam Jackson [Thu, 12 Dec 2013 15:57:40 +0000 (10:57 -0500)]
configure: Fix a typo near dri3/shmfence detection
" is not the mate of ].
Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Fri, 13 Dec 2013 20:07:48 +0000 (15:07 -0500)]
glx: Add null pointer protection to __glGetProcAddress
This can't happen when GLX is the backing window system, but can
elsewhere. We may as well protect against it at a high level.
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Fri, 13 Dec 2013 16:39:16 +0000 (11:39 -0500)]
present: Don't use the major/minor version from the protocol headers
We want to advertise the version we implement, not the version the
protocol headers happen to describe.
Reviewed-by: Jasper St. Pierre <<jstpierre@mecheye.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Fri, 13 Dec 2013 16:36:38 +0000 (11:36 -0500)]
dri3: Don't use the major/minor version from the protocol headers
We want to advertise the version we implement, not the version the
protocol headers happen to describe.
Reviewed-by: Jasper St. Pierre <<jstpierre@mecheye.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Fri, 13 Dec 2013 16:28:59 +0000 (11:28 -0500)]
dri3: Guard against buggy clients
There's nothing to stop a client from sending these requests to screens
without DRI3 support, and if they do, we'll crash. Let's not do that.
Reviewed-by: Jasper St. Pierre <<jstpierre@mecheye.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Jeremy Huddleston Sequoia [Fri, 13 Dec 2013 09:39:44 +0000 (01:39 -0800)]
configure.ac: Add PRESENT_LIB to XQUARTZ_LIBS
Undefined symbols for architecture x86_64:
"_present_extension_init", referenced from:
_staticExtensions in libXquartz.a(miinitext.o)
"_present_register_complete_notify", referenced from:
___glXregisterPresentCompleteNotify in libglx.a(glxcmds.o)
Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
Jeremy Huddleston Sequoia [Sat, 7 Dec 2013 09:36:33 +0000 (01:36 -0800)]
XQuartz: Use asl_log_descriptor to log stdout/stderr of child processes
Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
Jeremy Huddleston Sequoia [Sat, 7 Dec 2013 09:14:37 +0000 (01:14 -0800)]
darwin: Don't leave stdin/stdout closed
<rdar://problem/
15609419>
Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
Peter Hutterer [Tue, 3 Dec 2013 00:14:51 +0000 (10:14 +1000)]
dix: fix check for grab type
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 2 Dec 2013 22:36:45 +0000 (08:36 +1000)]
Xi: ungrab device when releasing a passive grab without ButtonReleaseMask (#71878)
If an touch triggers an async button grab and that grab does not have the
ButtonReleaseMask set, the TouchEnd is never delivered, deliveries is 0 and
the grab is never deactivated.
If the grab is pointer async and keyboard sync, the keyboard events are stuck
in EnqueueEvent until some other pointer event terminates the grab.
Change this to check for the number of listeners. If we're about to deliver a
TouchEnd to a passive pointer grab, the number of listeners is already 1 -
pointer grabs always accept so other listeners were removed.
X.Org Bug 71878 <http://bugs.freedesktop.org/show_bug.cgi?id=71878>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Ben Gamari [Fri, 22 Nov 2013 02:24:20 +0000 (21:24 -0500)]
Xi: Don't ActivateEarlyAccept POINTER_REGULAR listeners
Bug #71878 describes a bug resulting in the server ceasing to respond to
keyboard input after a touch event. The problem might be the following:
DeliverTouchBeginEvent tries to deliver an event to a listener of type
LISTENER_POINTER_REGULAR, taking the following if branch,
if (listener->type == LISTENER_POINTER_REGULAR ||
listener->type == LISTENER_POINTER_GRAB) {
rc = DeliverTouchEmulatedEvent(dev, ti, ev, listener, client, win,
grab, xi2mask);
if (rc == Success) {
listener->state = LISTENER_IS_OWNER;
/* async grabs cannot replay, so automatically accept this touch */
if (dev->deviceGrab.grab &&
dev->deviceGrab.fromPassiveGrab &&
dev->deviceGrab.grab->pointerMode == GrabModeAsync)
ActivateEarlyAccept(dev, ti);
}
goto out;
}
DeliverTouchEmulatedEvent succeeds. The deviceGrab meets all
three of the conditions of the inner if, enters
ActivateEarlyAccept which then fails due to,
BUG_RETURN(ti->listeners[0].type != LISTENER_GRAB &&
ti->listeners[0].type != LISTENER_POINTER_GRAB);
That is, despite listener->type == LISTENER_POINTER_REGULAR. With my
non-existent knowledge of XINPUT, it seems like the solution here
might be to only ActivateEarlyAccept when listener->type ==
LISTENER_POINTER_GRAB.
Signed-off-by: Ben Gamari <bgamari.foss@gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Keith Packard [Tue, 10 Dec 2013 19:27:47 +0000 (11:27 -0800)]
present: recursively set window pixmaps on flip
Newly created windows inherit the pixmap of their parent, similarly,
reparenting a tree inherits the pixmap of the destination tree.
Making present preserve the invariant that unredirected windows always
have the same pixmap as their parent ensures that the above cases work
correctly.
v2: name the recursive function to 'set_tree_pixmap' instead of 'set_window_pixmap'
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Keith Packard [Tue, 10 Dec 2013 18:29:11 +0000 (10:29 -0800)]
Bump version to 1.14.99.904 (1.15 RC4)
Signed-off-by: Keith Packard <keithp@keithp.com>
Jon TURNEY [Thu, 27 Sep 2012 17:59:45 +0000 (18:59 +0100)]
hw/xwin/glx: Rewrite WGL wrappers after Xserver conversion to direct GL dispatch
v1: Rewrite by Marc Haesen of the WGL wrapper function generation script to use
Khronos group XML.
v2: Remove -dispatchheader option, since dispatch.h doesn't exist anymore, use
the private glapi interface to construct the GL dispatch table for the native
WGL thunks.
v3:
Rewrite to generate shims for the OpenGL 1.2.1 (GL 1.2 + GL_ARB_imaging
+GL_ARB_multitexture + GL_ARB_texture_compression(?)) functions the server links
directly with rather than libGL.
These shims dispatch to either the mesa GL DLL, or a thunking DLL containing
cdecl-to-stcall wrapper functions for the native GL DLL.
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Jon TURNEY [Fri, 6 Dec 2013 14:00:21 +0000 (14:00 +0000)]
glx: Consistently use ARB-suffixed names for ARB_multitexture functions
At the moment we have a mix of ARB and non-ARB suffixed forms for ARB_multitexture functions
e.g. glMultiTexCoord1fvARB and glMultiTexCoord1dv
Consistently use the ARB-suffixed form, assuming that is present in all libGL
which provide the OpenGL 1.2.1 ABI we expect to be able to directly link with.
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Jon TURNEY [Sun, 1 Dec 2013 22:25:46 +0000 (22:25 +0000)]
ephyr: Fix compilation when ./configure'd with --enable-debug
/jhbuild/checkout/xorg/xserver/hw/kdrive/ephyr/ephyr.c: In function ‘ephyrProcessMouseMotion’:
/jhbuild/checkout/xorg/xserver/hw/kdrive/ephyr/ephyr.c:946:188: error: ‘ephyrCurScreen’ undeclared (first use in this function)
/jhbuild/checkout/xorg/xserver/hw/kdrive/ephyr/ephyr.c: In function ‘ephyrProcessButtonPress’:
/jhbuild/checkout/xorg/xserver/hw/kdrive/ephyr/ephyr.c:980:186: error: ‘ephyrCurScreen’ undeclared (first use in this function)
/jhbuild/checkout/xorg/xserver/hw/kdrive/ephyr/ephyr.c: In function ‘ephyrProcessButtonRelease’:
/jhbuild/checkout/xorg/xserver/hw/kdrive/ephyr/ephyr.c:1007:186: error: ‘ephyrCurScreen’ undeclared (first use in this function)
Fix ephyr compilation when ./configure'd with --enable-debug after commit
46cf6bf5692ef751ec9d17ae2292565d4b13f14b, some instances of ephyrCurScreen were
not converted to screen->pScreen->myNum.
v2: Don't use a trivial local variable which will be unused when ./configure'd
with --disable-debug
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Jon TURNEY [Fri, 29 Nov 2013 14:29:20 +0000 (14:29 +0000)]
configure.ac: Link XWin with present extension if we are building with it enabled
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Tue, 3 Dec 2013 18:45:43 +0000 (13:45 -0500)]
xquartz/glx: Convert to non-glapi dispatch
CGL doesn't have anything like glXGetProcAddress, and the old code just
called down to dlsym in any case. It's a little mind-warping since
dlopening a framework actually loads multiple dylibs, but that's just
how OSX rolls.
Signed-off-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
Adam Jackson [Tue, 3 Dec 2013 20:03:13 +0000 (15:03 -0500)]
drisw: Wire up GetProcAddress
Signed-off-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
Adam Jackson [Tue, 3 Dec 2013 20:02:57 +0000 (15:02 -0500)]
dri2: wire up GetProcAddress
Signed-off-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
Adam Jackson [Tue, 3 Dec 2013 20:01:44 +0000 (15:01 -0500)]
glx: Untangle the prototypes around the GetProcAddress thunk
Signed-off-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
Reviewed-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Adam Jackson [Tue, 3 Dec 2013 18:11:52 +0000 (13:11 -0500)]
glx: Remove function stubs
Now that we're calling non-1.2 ABI things by function pointer this is no
longer needed.
Signed-off-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
Reviewed-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Adam Jackson [Tue, 3 Dec 2013 18:11:09 +0000 (13:11 -0500)]
glx: Convert non-generated function pointer thunking
Same concept as the generated code conversion.
Signed-off-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Adam Jackson [Tue, 3 Dec 2013 17:40:24 +0000 (12:40 -0500)]
glx: Convert generated code function pointer thunking
We're meant not to call these by name due to ABI. Rather than try to
generate a bunch of little stub functions that do the lookup, just
inline it all directly into the calling function.
This does not cache results. That's fine, this is not a performance
path, and if we're atop WGL then we effectively have to do this every
time anyway because wglGetProcAddress results are context-dependent.
Signed-off-by: Adam Jackson <ajax@redhat.com>
Jon TURNEY <jon.turney@dronecode.org.uk>
Keith Packard [Tue, 10 Dec 2013 15:09:17 +0000 (07:09 -0800)]
Depend on latest glproto (1.4.17)
Signed-off-by: Keith Packard <keithp@keithp.com>
Adam Jackson [Mon, 9 Dec 2013 18:16:01 +0000 (13:16 -0500)]
damageext: Die if we can't create the Xinerama resource type
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Mon, 16 Sep 2013 19:17:26 +0000 (15:17 -0400)]
damageext: Xineramify (v7)
v7: Don't bother making resources for the backing listeners. [keithp]
This is now slightly unlike how other resources are xineramified. We
create N+1 internal damage listeners, one that's a real resource and
reflects the protocol view, and then one per backend screen where the
report function piles onto the protocol view. The internal listeners
are not stored in the resource database directly, they just hang off the
xinerama resource. We don't wrap Subtract at the dispatch level, but we
do extend it for the Xinerama case to clip to the root window geometry.
As a result of the N+1 design here, the damage reports we generate are
not quite minimal. However they are indistinguishable from sequential
rendering events happening before the client hears damage, and we don't
need to add a post-dispatch callback just for this one extension.
Add is probably (still) somewhat broken since it will only hit screen 0,
but Add really only exists for DRI1's sake, and DRI1 disables itself
with Xinerama enabled anyway. In the absence of a use case, I'm leaving
it unwrapped under Xinerama; if someone wants to define how it ought to
work, be my guest.
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Mon, 4 Nov 2013 22:49:34 +0000 (17:49 -0500)]
fixes: Fix PanoramiXSetWindowShapeRegion for root windows (v2)
Root windows in Xinerama are in the coordinate space of their root window
pixmap, not in protocol space.
v2: Only translate for root windows, sice the window shape is
drawable-relative.
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Mon, 4 Nov 2013 22:49:33 +0000 (17:49 -0500)]
fixes: Fix PanoramiXSetPictureClipRegion for root windows (v2)
Root windows in Xinerama are in the coordinate space of their root
window pixmap, not in protocol space. This fixes 'xcompmgr -n' when
Xinerama is active.
v2: Only translate for root windows, since the clip origin is
drawable-relative.
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Thu, 7 Nov 2013 18:59:30 +0000 (13:59 -0500)]
composite: Fix COW creation for Xinerama (v2)
Say you have two 800x600 screens left/right of each other. A window
that's 200x200 at +700+0 in protocol coordinate space will appear to be
at -100+0 in the coordinate space of the right hand screen. Put another
way: windows are in the coordinate space of their root window pixmap.
We weren't doing this translation for the COW, so when rendering came in
to it you'd see the top-left chunk of the COW on all screens. Cool
effect and all, but wrong.
v2: Only translate when Xinerama is active [keithp]
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Tue, 29 Oct 2013 14:44:07 +0000 (10:44 -0400)]
xinerama: Export the screen region
damageext wants this so it can intersect subtract requests against the
root window geometry.
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Fri, 15 Nov 2013 20:13:31 +0000 (15:13 -0500)]
xfree86: Prefer fbdev to vesa
On UEFI machines you'd prefer fbdev to grab efifb instead of vesa trying
to initialize and failing in a way we can't unwind from. On BIOS
machines this is harmless: either there is an fbdev driver and it'll
probably be more capable, or there's not and vesa will kick in anyway.
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Tue, 5 Nov 2013 15:12:28 +0000 (10:12 -0500)]
composite: Don't double-redirect if someone asks for backing store twice
v2: Belt-and-suspenders the unredirection path [vsyrjala]
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Tue, 5 Nov 2013 15:08:17 +0000 (10:08 -0500)]
composite: Automatically enable backing store support on the screen
... unless you explicitly disabled it with -bs on the command line, or
with the corresponding thing in xorg.conf.
v2: Drop a bogus hunk from compChangeWindowAttributes [vsyrjala]
v3: s/TRUE/WhenMapped/ [jcristau]
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Tue, 5 Nov 2013 14:58:17 +0000 (09:58 -0500)]
bs: Set the screen's bs support level to WhenMapped
Since we're using RedirectAutomatic to do this, we don't actually
preserve contents when unmapped.
v2: Don't say WhenMapped if Composite didn't initialize [vsyrjala]
Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Tue, 5 Nov 2013 15:20:04 +0000 (10:20 -0500)]
smartsched: Tweak the default scheduler intervals
A default timeslice of 20ms means a pathological client can ruin up to
two frames per scheduler tick. And a fifth of a second is just insane.
Pick two different numbers out of the hat. A 5ms slice means you can
probably keep up with two or three abusive clients, and letting it burst
to 15ms should give you about all the timeslice you need for a
fullscreen game (that's doing server-side rendering for some reason).
If you're running on a system with a 10ms granularity on SIGALRM, then
this effectively changes the intervals to 10ms and 30ms. Which is still
better, just not as better.
I suspect this is about as good as we can do without actually going
preemptive, which is an entire other nightmare.
Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Fri, 8 Nov 2013 14:22:37 +0000 (09:22 -0500)]
dri3: Disable when Xinerama is active
Pretty sure this can't work.
Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Fri, 8 Nov 2013 14:20:29 +0000 (09:20 -0500)]
dri2: Disable when Xinerama is active
Would only work on ScreenRec 0, which means it's broken.
Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Adam Jackson [Fri, 8 Nov 2013 14:06:59 +0000 (09:06 -0500)]
present: Disable when Xinerama is active
Among much else Present depends on RANDR types, and RANDR isn't properly
Xinerama-aware yet anyway.
Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Adam Jackson <ajax@redhat.com>
Eric Anholt [Fri, 15 Nov 2013 01:40:47 +0000 (17:40 -0800)]
glx: Fix incorrect use of dri_interface.h version defines in driver probing.
If we extend __DRI_CORE or __DRI_SWRAST in dri_interface.h to allow a
new version, it shouldn't make old server code retroactively require
the new version from swrast drivers.
Notably, new Mesa defines __DRI_SWRAST version 4, but we still want to
be able to probe version 1 drivers, since we don't use any features
beyond version 1 of the struct.
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Eric Anholt [Fri, 15 Nov 2013 01:40:46 +0000 (17:40 -0800)]
glx: Fix incorrect use of dri_interface.h version defines in extensions.
Those defines are so you can compile-time check "do I have a
dri_interface.h that defines this new field of the struct?" You don't
want the server to claim it implements the new struct just because you
installed a new copy of Mesa.
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Jon TURNEY [Fri, 29 Nov 2013 12:26:43 +0000 (12:26 +0000)]
configure.ac: Fixup for "Require libpciaccess for int10"
On 16/11/2013 01:00, Connor Behan wrote:
> A --disable-pciaccess build will fail with an int10 module other than
> stub.
>
> Signed-off-by: Connor Behan <connor.behan-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
> ---
> configure.ac | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/configure.ac b/configure.ac
> index 5e621e0..a843770 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -1822,6 +1822,9 @@ if test "x$XORG" = xyes; then
> if test "x$CONFIG_UDEV_KMS" = xyes; then
> AC_MSG_ERROR([Platform device enumeration requires libpciaccess])
> fi
> + if test "x$INT10" != xstub; then
> + AC_MSG_ERROR([Cannot build int10 without libpciaccess])
> + fi
> fi
> AC_MSG_RESULT([$PCI])
>
This causes my build to fail where --disable-int10-module --disable-pciaccess
is the default (as INT10 still has the default value 'x86emu')
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
Tested-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Tue, 26 Nov 2013 20:18:12 +0000 (12:18 -0800)]
present: Report damage when flipping
Limit damage to the 'update' region.
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Keith Packard [Tue, 26 Nov 2013 20:10:48 +0000 (12:10 -0800)]
present: Also set the root window pixmap when flipping
This makes sure that things like software cursors continue to work
while the screen is flipped.
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Keith Packard [Tue, 26 Nov 2013 20:06:57 +0000 (12:06 -0800)]
present: Clear target_crtc if driver lacks Present support
If the driver doesn't have the necessary hooks for Present, then the
target_crtc needs to be set to NULL to make sure the extension uses
the present_fake code.
Signed-off-by: Keith Packard <keithp@keithp.com>
Tested-by: Fredrik Höglund <fredrik@kde.org>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Keith Packard [Fri, 22 Nov 2013 06:48:31 +0000 (22:48 -0800)]
present: Send GLX_BufferSwapComplete events from present extension
This allows GL to support the GLX_INTEL_swap_event extension.
v2: Return GLX_BLIT_COMPLETE_INTEL for unknown swap types
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Keith Packard [Tue, 26 Nov 2013 07:06:08 +0000 (23:06 -0800)]
present: Set window pixmap to flipped pixmap
This makes other drawing to the window appear on the screen.
Note that no child windows can be affected because only full-screen
windows are eligible for flipping, and so we only need to set pixmap
for the window itself.
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Keith Packard [Tue, 26 Nov 2013 07:10:17 +0000 (23:10 -0800)]
present: Leave vblank on window list until flip complete
If the window is destroyed, then we've got cleanup work to do, even if
the vblank has already been executed -- we need to clear the window
pointer so that we don't try to deliver events to it.
Leaving it on the window list meant that when walking that list, we
need to know whether the vblank is waiting to be executed or waiting
for the flip to complete, so a new 'queued' flag was added to the
vblank to distinguish between the two states.
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Keith Packard [Tue, 26 Nov 2013 11:07:55 +0000 (03:07 -0800)]
present: Add a debug output line when skipping a pending present
When an application provides two pixmaps for the same MSC, the
previous one is skipped. This just dumps out some information at that point
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Keith Packard [Fri, 22 Nov 2013 06:45:18 +0000 (22:45 -0800)]
miext/sync: Handle libxshmfence API change
libxshmfence had an unfortunate 'int32_t' type for the mapped fence.
That changed to exposing a 'struct shmfence' instead, which is nice
and opaque and offers fine type checking across the API.
This patch requires the newer version of the library and uses
the new interface type.
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Keith Packard [Fri, 22 Nov 2013 06:12:34 +0000 (22:12 -0800)]
miext: Move SyncShm FDs out of the way of clients
Applications may end up allocating a bunch of shmfence objects, each
of which uses a file descriptor, which must be kept open lest some
other client ask for a copy of it later on.
Lacking an API that can turn a memory mapping back into a file
descriptor, about the best we can do is push the file descriptors out
of the way of other X clients so that we don't run out of the ability
to accept new connections.
This uses fcntl F_GETFD to push the FD up above MAXCLIENTS.
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Keith Packard [Wed, 13 Nov 2013 05:16:33 +0000 (14:16 +0900)]
Xext: Use SHMDIR and O_TMPFILE when creating mapping files
ShmCreateSegment asks for a file descriptor for a memory mapped file
created by the X server. This patch uses O_TMPFILE where available,
and also uses the SHMDIR directory to store the files, both for the
O_TMPFILE and mkstemp cases.
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Keith Packard [Wed, 13 Nov 2013 03:17:10 +0000 (12:17 +0900)]
Select directory for MIT-SHM temp files at configure time
By default, this looks through a list of directories to find one which
exists, but can be overridden with --with-shared-memory-dir=PATH
This patch doesn't actually do anything with this directory, just
makes it available in the configuration
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Alan Coopersmith [Tue, 26 Nov 2013 06:19:34 +0000 (22:19 -0800)]
Xdmx: Initialize DMX extension even if not built with GLX support
dmxAddExtensions takes an argument to determine if it should just
initialize the DMX extension, or both DMX & GLX, but if GLX wasn't
compiled in, the entire call was #ifdef'ed out, leaving the DMX
extension unavailable.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Keith Packard <keithp@keithp.com>
Connor Behan [Sat, 16 Nov 2013 01:00:40 +0000 (17:00 -0800)]
configure.ac: Require libpciaccess for int10
A --disable-pciaccess build will fail with an int10 module other than
stub.
Signed-off-by: Connor Behan <connor.behan@gmail.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
Connor Behan [Sat, 16 Nov 2013 01:00:20 +0000 (17:00 -0800)]
configure.ac: Require libpciaccess for platform bus support
There is currently no reason to build with --enable-config-udev-kms and
--disable-pciaccess but anyone who tries this should know that the build
will fail.
Signed-off-by: Connor Behan <connor.behan@gmail.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
Connor Behan [Sat, 16 Nov 2013 01:00:00 +0000 (17:00 -0800)]
configure.ac: Add whitespace near PCI configuration
Signed-off-by: Connor Behan <connor.behan@gmail.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
Keith Packard [Sun, 24 Nov 2013 06:22:37 +0000 (22:22 -0800)]
Bump release to 1.14.99.903 (1.15 RC3)
Signed-off-by: Keith Packard <keithp@keithp.com>