| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Backported X.org commits:
commit b380f3ac51f40ffefcde7d3db5c4c149f274246d
Author: Michel Dänzer <michel.daenzer@amd.com>
Date: Tue Aug 2 17:53:01 2016 +0900
dix: Pass ClientPtr to FlushCallback
This change has two effects:
1. Only calls FlushCallbacks when we're actually flushing data to a
client. The unnecessary FlushCallback calls could cause significant
performance degradation with compositing, which is significantly
reduced even without any driver changes.
2. By passing the ClientPtr to FlushCallbacks, drivers can completely
eliminate unnecessary flushing of GPU commands by keeping track of
whether we're flushing any XDamageNotify events to the client for
which the corresponding rendering commands haven't been flushed to
the GPU yet.
Reviewed-by: Adam Jackson <ajax@redha.com>
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
commit c65f610e12f9df168d5639534ed3c2bd40afffc8
Author: Kristian Høgsberg <krh@bitplanet.net>
Date: Thu Jul 29 18:52:35 2010 -0400
Always call the flush callback chain when we flush client buffers
We were missing the callback in a couple of places. Drivers may use
the flush callback to submit batched up rendering before events (for
example, damage events) are sent out, to ensure that the rendering
has been queued when the client receives the event.
Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Found in X.org commit:
commit d5bf6f95f31037bd49b11348b500c3c13b7e0c99
Author: Keith Packard <keithp@keithp.com>
Date: Thu Oct 4 14:42:37 2012 -0700
Fix FlushClient to write extraBuf when provided (regression fix)
In commit:
commit 092c57ab173c8b71056f6feb3b9d04d063a46579
Author: Adam Jackson <ajax@redhat.com>
Date: Fri Jun 17 14:03:01 2011 -0400
os: Hide the Connection{In,Out}put implementation details
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Adam Jackson <ajax@redhat.com>
the check for an empty output buffer was moved from one calling
location into the FlushClient implementation itself. However, this
neglected the possibility that additional data, in the form of
'extraBuf' would be passed to FlushClient from other code paths. If the
output buffer happened to be empty at that time, the extra data would
never be written to the client.
This is fixed by checking the total data to be written, which includes
both pending and extra data, instead of just the pending data.
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Backported from X.org:
commit 9bf46610a9d20962854016032de4567974e87957
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date: Fri Jun 21 22:58:31 2013 +0100
os: Immediately queue initial WriteToClient
If we immediately put the WriteToClient() buffer into the socket's write
queue, not only do we benefit from sending the response back to client
earlier, but we also avoid the overhead of copying the data into our own
staging buffer and causing extra work in the next select(). The write is
effectively free as typically we may only send one reply per client per
select() call, so the cost of the FlushClient() is the same.
shmget10: 26400 -> 110000
getimage10: 25000 -> 108000
shmget500: 3160 -> 13500
getimage500: 1000 -> 1010
The knock-on effect is that on a mostly idle composited desktop, the CPU
overhead is dominated by the memmove in WriteToClient, which is in turn
eliminated by this patch.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Completing the below X.org commit:
commit a3a40291330bad10401fe2bcdbc097ce742b026a
Author: Keith Packard <keithp@keithp.com>
Date: Mon Sep 21 07:16:16 2015 +0100
os/xdmcp: Remove dead 'restart' code
The X server used to wait for the user to hit a key or move the mouse
before restarting the session after a keepalive failure. This,
presumably, was to avoid having the X server continuously spew XDMCP
protocol on the network while the XDM server was dead.
Switching into this state was removed from the server some time before
XFree86 4.3.99.16, so the remaining bits of code have been dead for
over a decade, and no-one ever noticed.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
|
|
|
|
|
|
| |
CapsLock and NumLock will only be taken into account for keystrokes
that explicitly require them. This is implemented for convenience and
fixes ArcticaProject/nx-libs#397
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Backported from X.org:
commit ce6546337487c052b5dd3c04d3d8d4b09d691c3d
Author: Keith Packard <keithp@keithp.com>
Date: Tue May 31 09:38:17 2016 -0700
os: Initialize NotifyFds earlier in startup
If the server calls AbortServer during the first-time initialization
(which can happen if you start the server on an already using
DISPLAY), then the dbus code will shut down and call the notify fd
interface. If the notify fd list hasn't been initialized, the server
will crash.
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
AddEnabledDevices/RemoveEnabledDevices
Backported from X.org:
commit be5a513fee6cbf29ef7570e57eb0436d70fbd88c
Author: Keith Packard <keithp@keithp.com>
Date: Mon Dec 7 15:12:14 2015 -0800
Remove AddEnabledDevice and AddGeneralSocket APIs
All uses of these interfaces should instead be using the NotifyFd API
instead.
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
commit 4020aacd1fc5b9c63369f011aeb9120af9c55218
Author: Keith Packard <keithp@keithp.com>
Date: Wed Nov 11 22:02:03 2015 -0800
os: Implement support for NotifyFd X_NOTIFY_WRITE
This adds the ability to be notified when a file descriptor is
available for writing.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
WaitForSomething to mieqProcessInputEvents.
Backported from X.org:
commit 3b5b7ef5c2ab1d196806f6359e0972fd78d204dd
Author: Fredrik Höglund <fredrik@kde.org>
Date: Wed Jan 3 21:05:35 2007 +0100
Move the code for resetting the DPMS mode in response to input events,
from WaitForSomething to mieqProcessInputEvents.
mieqProcessInputEvents already handles resetting the screen saver.
Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Inspired by X.org commit:
commit 55c2e1a3aa587c58a74066724e11e30b3df267b8
Author: Keith Packard <keithp@keithp.com>
Date: Mon Dec 7 15:11:33 2015 -0800
xnest: Use SetNotifyFd to receive events
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Backported from X.org:
commit 0c41b7af4ab0c8d22b88f201293f59524d1e7317
Author: Keith Packard <keithp@keithp.com>
Date: Wed Nov 11 22:02:02 2015 -0800
os: Add NotifyFd interfaces
This provides a callback-based interface to monitor file
descriptors beyond the usual client and device interfaces.
Modules within the server using file descriptors for reading and/or
writing can call
Bool SetNotifyFd(int fd, NotifyFdProcPtr notify_fd, int mask, void *data);
mask can be any combination of X_NOTIFY_READ and X_NOTIFY_WRITE.
When 'fd' becomes readable or writable, the notify_fd function will be
called with the 'fd', the ready conditions and 'data' values as arguments,
When the module no longer needs to monitor the fd, it will call
void RemoveNotifyFd(int fd);
RemoveNotifyFd may be called from the notify function.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Backported from X.org:
commit db1089eafc1c5371fa0030202de588d2e2b4f8e5
Author: Keith Packard <keithp@keithp.com>
Date: Mon Sep 21 07:16:17 2015 +0100
os/xdmcp: Just send XDMCP keepalive packets once every three minutes
There was a complicated scheme to increase the time between keepalives
from 3 minutes up to as much as 24 hours in an attempt to reduce
network traffic from idle X terminals. X terminals receiving X
traffic, or receiving user input would use the 3 minute value; X
terminals without any network traffic would use a longer value.
However, this was actually broken -- any activity in the X server,
either client requests or user input, would end up resetting the
keepalive timeout, so a user mashing on the keyboard would never
discover that the XDMCP master had disappeared and have the session
terminated, which was precisely the design goal of the XDMCP keepalive
mechanism.
Instead of attempting to fix this, accept the cost of a pair of XDMCP
packets once every three minutes and just perform keepalives
regularly.
This will also make reworking the block and wakeup handler APIs to
eliminate select masks easier.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
|
| |
|
|
|
|
| |
Default is ctrl-alt-k
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Do not use map before calling parse_keystroke_file() since it will malloc map.
|
|
|
|
|
| |
Correctly use constant for unused structs instead of implicitly
setting it through calloc().
|
|
|
|
| |
Unclear why they have been merged at all.
|
|
|
|
|
|
| |
Code could not distinguish between ctrl-alt-shift and ctrl-alt.
Fixes ArcticaProject/nx-libs#395
|
| |
|
| |
|
|
|
|
|
| |
Both use the same keystroke 'f' (with different modifiers) for a very
similar function.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
We have defined them, so use them!
|
| |
|
| |
|
|
|
|
| |
for better readability
|
| |
|
| |
|
| |
|
|
|
|
| |
code cleanup
|
| |
|
|
|
|
|
|
| |
xf86bigfont.c: In function ‘ProcXF86BigfontQueryFont’:
xf86bigfont.c:724:9: warning: ‘pDesc’ may be used uninitialized in this function [-Wmaybe-uninitialized]
if (!pDesc) free(pCI);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
cursor.c: In function ‘TestForCursorName’:
cursor.c:649:30: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
return (pCursor->name == (Atom) closure);
^
cursor.c: In function ‘ProcXFixesChangeCursorByName’:
cursor.c:665:45: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
ReplaceCursor (pSource, TestForCursorName, (void *) name);
^
Backport of
commit 019ad5acd20e34dc2aa3b89cc426138db5164c48
Author: Eamon Walsh <ewalsh@tycho.nsa.gov>
Date: Tue Feb 5 15:44:41 2008 -0500
XFixes: squash a pointer/integer size mismatch warning.
|
|
|
|
|
|
|
|
|
|
|
| |
cursor.c: In function ‘ProcXFixesGetCursorName’:
cursor.c:399:6: warning: assignment discards ‘const’ qualifier from pointer target type [enabled by default]
str = NameForAtom (pCursor->name);
^
cursor.c: In function ‘ProcXFixesGetCursorImageAndName’:
cursor.c:453:10: warning: assignment discards ‘const’ qualifier from pointer target type [enabled by default]
name = pCursor->name ? NameForAtom (pCursor->name) : "";
^
|
|
|
|
|
|
|
|
|
| |
Fixes
filter.c: In function ‘SetPicturePictFilter’:
filter.c:363:5: warning: ‘return’ with no value, in function returning non-void [enabled by default]
return ;
^
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
record.c: In function ‘RecordAReply’:
record.c:714:7: warning: passing argument 4 of ‘RecordAProtocolElement’ discards ‘const’ qualifier from pointer target type [enabled by default]
pri->replyData, pri->dataLenBytes, /* continuation */ -1);
^
record.c:286:1: note: expected ‘void *’ but argument is of type ‘const void *’
RecordAProtocolElement(RecordContextPtr pContext, ClientPtr pClient,
^
record.c:724:10: warning: passing argument 4 of ‘RecordAProtocolElement’ discards ‘const’ qualifier from pointer target type [enabled by default]
pri->replyData, pri->dataLenBytes, pri->bytesRemaining);
^
record.c:286:1: note: expected ‘void *’ but argument is of type ‘const void *’
RecordAProtocolElement(RecordContextPtr pContext, ClientPtr pClient,
^
record.c:746:5: warning: passing argument 4 of ‘RecordAProtocolElement’ discards ‘const’ qualifier from pointer target type [enabled by default]
pri->dataLenBytes, pri->bytesRemaining);
^
record.c:286:1: note: expected ‘void *’ but argument is of type ‘const void *’
RecordAProtocolElement(RecordContextPtr pContext, ClientPtr pClient,
^
|
|
|
|
|
|
| |
fbtrap.c: In function ‘fbRasterizeTrapezoid’:
fbtrap.c:113:12: warning: variable ‘x_off_fixed’ set but not used [-Wunused-but-set-variable]
xFixed x_off_fixed;
|
|
|
|
|
|
| |
devices.c: In function ‘_AddInputDevice’:
devices.c:120:22: warning: assignment from incompatible pointer type [enabled by default]
dev->devPrivates = dev->unwrapProc = NULL;
|
| |
|
| |
|
| |
|
| |
|