- 22 Jun, 2019 1 commit
-
-
Ulrich Sibiller authored
commit 2aa935bc5cc1e2d5365a97b8c5bb3d33eb5fc758 Author: Tiago Vignatti <tiago.vignatti@nokia.com> Date: Fri Mar 25 22:10:55 2011 +0200 fb: fix memory leak in fbOverlayFinishScreenInit Signed-off-by:
Tiago Vignatti <tiago.vignatti@nokia.com> Reviewed-by:
Nicolas Peninguy <nico@lostgeeks.org> Reviewed-by:
Peter Hutterer <peter.hutterer@who-t.net>
-
- 19 Dec, 2018 2 commits
-
-
Ulrich Sibiller authored
Backport of this commit: commit a2880699e8f1f576e1a48ebf25e8982463323f84 Author: Keith Packard <keithp@keithp.com> Date: Tue Mar 25 08:21:16 2014 -0700 fb: fix fast-path blt detection The width parameter is used to disable the blit fast-path (memcpy) when source and destination rows overlap in memory. This check was added in [0]. Unfortunately, the calculation to determine if source and destination lines overlapped was incorrect: (1) it converts width from pixels to bytes, but width is actually in bits, not pixels. (2) it adds this byte offset to dst/srcLine, which implicitly converts the offset from bytes to sizeof(FbBits). Fix both of these by converting addresses to byte pointers and width to bytes and doing comparisons on the resulting byte address. For example: A 32-bpp 1366 pixel-wide row will have width = 1366 * 32 = 43712 bits bpp = 32 (bpp >> 3) = 4 width * (bpp >> 3) = 174848 FbBits (FbBits *)width => 699392 bytes So, "careful" was true if the destination line was within 699392 bytes, instead of just within its 1366 * 4 = 5464 byte row. This bug causes us to take the slow path for large non-overlapping rows that are "close" in memory. As a data point, XGetImage(1366x768) on my ARM chromebook was taking ~140 ms, but with this fixed, it now takes about 60 ms. XGetImage() -> exaGetImage() -> fbGetImage -> fbBlt() [0] commit e32cc0b4c85c78cd8743a6e1680dcc79054b57ce Author: Adam Jackson <ajax@redhat.com> Date: Thu Apr 21 16:37:11 2011 -0400 fb: Fix memcpy abuse The memcpy fast path implicitly assumes that the copy walks left-to-right. That's not something memcpy guarantees, and newer glibc on some processors will indeed break that assumption. Since we walk a line at a time, check the source and destination against the width of the blit to determine whether we can be sloppy enough to allow memcpy. (Having done this, we can remove the check for !reverse as well.) v3: Convert to byte units This first checks to make sure the blt is byte aligned, converts all of the data to byte units and then compares for byte address range overlap between source and dest. Signed-off-by:
Keith Packard <keithp@keithp.com> Reviewed-by:
Daniel Kurtz <djkurtz@chromium.org>
-
Ulrich Sibiller authored
Fixes ArcticaProject/nx-libs#750 Backport of this commit: commit e32cc0b4c85c78cd8743a6e1680dcc79054b57ce Author: Adam Jackson <ajax@redhat.com> Date: Thu Apr 21 16:37:11 2011 -0400 fb: Fix memcpy abuse The memcpy fast path implicitly assumes that the copy walks left-to-right. That's not something memcpy guarantees, and newer glibc on some processors will indeed break that assumption. Since we walk a line at a time, check the source and destination against the width of the blit to determine whether we can be sloppy enough to allow memcpy. (Having done this, we can remove the check for !reverse as well.) On an Intel Core i7-2630QM with an NVIDIA GeForce GTX 460M running in NoAccel, the broken code and various fixes for -copywinwin{10,100,500} gives (edited to fit in 80 columns): 1: Disable the fastpath entirely 2: Replace memcpy with memmove 3: This fix 4: The code before this fix 1 2 3 4 Operation ------ --------------- --------------- --------------- ------------ 258000 269000 ( 1.04) 544000 ( 2.11) 552000 ( 2.14) Copy 10x10 21300 23000 ( 1.08) 43700 ( 2.05) 47100 ( 2.21) Copy 100x100 960 962 ( 1.00) 1990 ( 2.09) 1990 ( 2.07) Copy 500x500 So it's a modest performance hit, but correctness demands it, and it's probably worth keeping the 2x speedup from having the fast path in the first place. Signed-off-by:
Adam Jackson <ajax@redhat.com> Signed-off-by:
Keith Packard <keithp@keithp.com>
-
- 05 Feb, 2018 1 commit
-
-
Ulrich Sibiller authored
Fixes ArcticaProject/nx-libs#640
-
- 19 Apr, 2017 1 commit
-
-
Mike Gabriel authored
-
- 10 Apr, 2017 3 commits
-
-
Aaron Plattner authored
Backported from X.org: commit f797c96845a3fab37cda6839ebecf9ac5401fd6e Author: Aaron Plattner <aplattner@nvidia.com> Date: Thu Nov 15 12:12:02 2007 -0800 Save pixmap allocation hints into the PixmapRec. Backported-to-NX-by:
Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
-
Aaron Plattner authored
Backported from X.org: commit f2e310132fbe1520c1b5f3da4faa2d2d47835e72 Author: Aaron Plattner <aplattner@nvidia.com> Date: Wed Oct 31 14:15:35 2007 -0700 Add CreatePixmap allocation hints. These hints allow an acceleration architecture to optimize allocation of certain types of pixmaps, such as pixmaps that will serve as backing pixmaps for redirected windows. Backported-to-NX-by:
Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
-
Dave Airlie authored
Extracted from X.org bulk commit: commit 1f0e8bd5eb1a5539689cfc4f5a6b86b530907ec5 Author: Dave Airlie <airlied@redhat.com> Date: Tue Jun 5 13:22:18 2012 +0100 api: rework the X server driver API to avoid global arrays. This is a squash merge containing all the API changes, as well as the video ABI bump. Its been squashed to make bisection easier. Full patch log below: [...] commit 06729dbbc804a20242e6499f446acb5d94023c3c Author: Dave Airlie <airlied@gmail.com> Date: Tue Apr 10 14:04:59 2012 +0100 xserver: remove index from CloseScreen (API/ABI breakage) This drops the index from the CloseScreen callback, its always been useless really, since the pScreen contains it. Reviewed-by:
Alan Coopersmith <alan.coopersmith@oracle.com> Acked-by:
Aaron Plattner <aplattner@nvidia.com> Reviewed-by:
Adam Jackson <ajax@redhat.com> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
- 10 Mar, 2017 1 commit
-
-
Ulrich Sibiller authored
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;
-
- 03 Mar, 2017 3 commits
-
-
Ulrich Sibiller authored
This is basically a backport of the following commits + replacing xalloc/xfree by malloc/free. Fixes ArcticaProject/nx-libs#358. commit 2761c103311a1160bc483fd0367d654733df8598 Author: Daniel Stone <daniel@fooishbar.org> Date: Mon Nov 5 14:03:26 2007 +0000 OS: Remove usage of alloca Replace with heap allocations. commit 5e363500c86042c394595e1a6633581eb8fcd1bb Author: Daniel Stone <daniel@fooishbar.org> Date: Mon Nov 5 14:38:28 2007 +0000 OS: Remove ALLOCATE_LOCAL from os.h Remove ALLOCATE_LOCAL_FALLBACK and DEALLOCATE_LOCAL_FALLBACK from os.h, and remove the include of Xalloca.h as well.
-
Ulrich Sibiller authored
This is basically a backport of the following commits + replacing xalloc/xfree by malloc/free. Fixes ArcticaProject/nx-libs#358. commit 2761c103311a1160bc483fd0367d654733df8598 Author: Daniel Stone <daniel@fooishbar.org> Date: Mon Nov 5 14:03:26 2007 +0000 OS: Remove usage of alloca Replace with heap allocations. commit 5e363500c86042c394595e1a6633581eb8fcd1bb Author: Daniel Stone <daniel@fooishbar.org> Date: Mon Nov 5 14:38:28 2007 +0000 OS: Remove ALLOCATE_LOCAL from os.h Remove ALLOCATE_LOCAL_FALLBACK and DEALLOCATE_LOCAL_FALLBACK from os.h, and remove the include of Xalloca.h as well.
-
Mike Gabriel authored
Fixes ArcticaProject/nx-libs#237.
-
- 01 Mar, 2017 1 commit
-
-
Mike Gabriel authored
Relates to ArcticaProject/nx-libs#275.
-
- 08 Feb, 2017 1 commit
-
-
Mike Gabriel authored
Relates to ArcticaProject/nx-libs#275.
-
- 04 Dec, 2016 1 commit
-
-
Eric Anholt authored
From c3d14036729fd186d4ec7ca1de603e1f2d174e2f Mon Sep 17 00:00:00 2001 From: Eric Anholt <anholt@freebsd.org> Date: Fri, 10 Feb 2006 22:00:30 +0000 Subject: Remove libcwrapper usage from xorg server modules. The libcwrapper is only of (marginal) use in the drivers, and that usage remains. Backported-to-NX-by:
Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Fixes ArcticaProject/nx-libs#246 (together with merge commit ecd335fa).
-
- 03 Nov, 2016 2 commits
-
-
Mike Gabriel authored
commit 78179ae827bb5d19abb1340084362bc51ad5c1e5 Author: Søren Sandmann Pedersen <sandmann@redhat.com> Date: Mon Jun 11 22:46:42 2007 -0400 Remove fbmmx.[ch] files Backported-to-NX-by:
Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Other than X.org, we don't yet introduce using pixman_* function calls in the nxagent Xserver's fb code. Fixes ArcticaProject/nx-libs#252.
-
Mike Gabriel authored
-
- 02 Nov, 2016 2 commits
-
-
Ulrich Sibiller authored
-
Ulrich Sibiller authored
We do not build loadable modules, so we do not need them anywhere. Also remove the extra files requires for module builds.
-
- 31 Oct, 2016 1 commit
-
-
Mike Gabriel authored
Fixes ArcticaProject/nx-libs#250.
-
- 30 Oct, 2016 1 commit
-
-
Adam Jackson authored
commit f31bd087e8a7f65cd588bd1d022bb18e72b2a60c Author: Adam Jackson <ajax@redhat.com> Date: Fri Jun 13 10:35:07 2008 -0400 Death to mfb. Anyone still interested in 1 or 4 bpp framebuffers, talk to fb. Backported-to-NX-by:
Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
-
- 20 Oct, 2016 1 commit
-
-
Benjamin Herrenschmidt authored
Remove useless line of code that contained a bug and triggered a gcc warning. This variable will be overriden before being used anyway. (Bugzilla #5595)
-
- 05 Jul, 2016 3 commits
-
-
Mike Gabriel authored
This has already been started while replacing copyright info in file headers and has now been completed with this commit.
-
Adam Jackson authored
"An experimental pseudocolor emulation layer. Not fully completed, currently only works for 16bpp." That was almost four years ago. It still doesn't work, only one driver even attempts to use it, it contains an ad-hoc implementation of damage, and should really be done up in Composite now anyway. Backport to nx-libs: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
-
Cyril Brulebois authored
There's no use for the values set through the various macro calls (fbGetDrawable and fbGetDrawablePixmap), so mark those variables as unused. The following warnings go away accordingly: | CC libfb_la-fb24_32.lo | fb24_32.c: In function 'fb24_32ReformatTile': | fb24_32.c:544:19: warning: variable 'newYoff' set but not used [-Wunused-but-set-variable] | fb24_32.c:544:10: warning: variable 'newXoff' set but not used [-Wunused-but-set-variable] | fb24_32.c:543:19: warning: variable 'oldYoff' set but not used [-Wunused-but-set-variable] | fb24_32.c:543:10: warning: variable 'oldXoff' set but not used [-Wunused-but-set-variable] | CC libfb_la-fbfill.lo | fbfill.c: In function 'fbFill': | fbfill.c:72:21: warning: variable 'stipYoff' set but not used [-Wunused-but-set-variable] | fbfill.c:72:11: warning: variable 'stipXoff' set but not used [-Wunused-but-set-variable] | fbfill.c:100:21: warning: variable 'stipYoff' set but not used [-Wunused-but-set-variable] | fbfill.c:100:11: warning: variable 'stipXoff' set but not used [-Wunused-but-set-variable] | fbfill.c:142:20: warning: variable 'tileYoff' set but not used [-Wunused-but-set-variable] | fbfill.c:142:10: warning: variable 'tileXoff' set but not used [-Wunused-but-set-variable] | CC libfb_la-fbgc.lo | fbgc.c: In function 'fbPadPixmap': | fbgc.c:92:19: warning: variable 'yOff' set but not used [-Wunused-but-set-variable] | fbgc.c:92:13: warning: variable 'xOff' set but not used [-Wunused-but-set-variable] | fbgc.c: In function 'fbCanEvenStipple': | fbgc.c:166:23: warning: variable 'stipYoff' set but not used [-Wunused-but-set-variable] | fbgc.c:166:13: warning: variable 'stipXoff' set but not used [-Wunused-but-set-variable] | CC libfb_la-fbpush.lo | fbpush.c: In function 'fbPushPixels': | fbpush.c:238:20: warning: variable 'stipYoff' set but not used [-Wunused-but-set-variable] | fbpush.c:238:10: warning: variable 'stipXoff' set but not used [-Wunused-but-set-variable] Reviewed-by:
Jeremy Huddleston <jeremyhu@apple.com> Signed-off-by:
Cyril Brulebois <kibi@debian.org> Backport to nx-libs: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
-
- 02 Jul, 2016 3 commits
-
-
Mike Gabriel authored
-
Mike Gabriel authored
-
Mike Gabriel authored
Fixes ArcticaProject/nx-libs#105
-
- 24 Jun, 2016 1 commit
-
-
Mike Gabriel authored
hw/nxagent/NX{glyphstr,picturestr}.h: Don't ship the complete header files in nxagent's code base. Rather replace structures we need modified only.
-
- 21 Jun, 2016 1 commit
-
-
Mike Gabriel authored
Backported from X.org: commit e7fae9ecc42ab5e73b89117722dbf4117d928f9a Author: Jamey Sharp <jamey@minilop.net> Date: Sat May 22 00:26:28 2010 -0700 Move each screen's root-window pointer into ScreenRec. Many references to the WindowTable array already had the corresponding screen pointer handy, which meant they usually looked like "WindowTable[pScreen->myNum]". Adding a field to ScreenRec instead of keeping this information in a parallel array simplifies those expressions, and eliminates a MAXSCREENS-sized array. Since dix uses this data, a screen private entry isn't appropriate. xf86-video-dummy currently uses WindowTable, so it needs to be updated to reflect this change. Signed-off-by:
Jamey Sharp <jamey@minilop.net> Reviewed-by:
Tiago Vignatti <tiago.vignatti@nokia.com> Tested-by: Tiago Vignatti <tiago.vignatti@nokia.com> (i686 GNU/Linux) Backport to nx-libs: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
-
- 02 May, 2016 3 commits
-
-
Mike Gabriel authored
This prepares the file to be moved from mi to dix. This patch was done mechanically with the included scripts 'fix-miregion' run over the entire X server and 'fix-miregion-private' run over include/regionstr.h and mi/miregion.c. v1: Keith Packard <keithp@keithp.com> v2: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> (backported to nx-libs)
-
Mike Gabriel authored
-
Mike Gabriel authored
This is a huge mechanical patch and a few small fixups required to finish the job. They were reviewed separately, but because the server does not build without both pieces, I've merged them together at this time. The mechanical changes were performed by running the included 'fix-region' script over the whole nx-X11/programs/Xserver tree: $ cd nx-X11/programs/Xserver && ( git ls-files | grep -v '^fix-' | xargs ./fix-region; ) And then, the white space errors in the resulting patch were fixed using the provided fix-patch-whitespace script. $ sh ./fix-patch-whitespace Thanks to Jamey Sharp for the mighty fine sed-generating sed script. v1: Keith Packard <keithp@keithp.com> (X.Org xserver commit: 2dc138922b7588515d5f2447e4b9dcdc0bef15e0) v2: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> (apply fix-region script to nx-libs)
-
- 28 Dec, 2015 2 commits
-
-
Mike Gabriel authored
In the process of building nxagent against more and more system-wide installed X.org libraries, we come to the limit of including structs from this (bundled nx-X11) and that (system-wide X.Org) library. This commit introduces a clear namespace separation of headers provided by nx-X11 and headers provided by X.Org. This approach is only temporary as we want to drop all nx-X11 bundled libraries from nx-libs. However, for a while we need to make this separation clear and also ship some reduced fake X.Org headers that avoid pulling in libX* and libNX_X* symbols at the same time. This patch has been tested on Debian jessie and unstable and requires no overall testing on various distros and distro versions, as we finally will drop all libNX_X* libraries and build against X.org's client libs. For now, this hack eases our development / cleanup process.
-
Keith Packard authored
This lets us stop using the 'pointer' typedef in Xdefs.h as 'pointer' is used throughout the X server for other things, and having duplicate names generates compiler warnings. Signed-off-by:
Keith Packard <keithp@keithp.com> Reviewed-by:
Eric Anholt <eric@anholt.net> Rebased against NX: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
-
- 22 Apr, 2015 1 commit
-
-
Mike Gabriel authored
library clean-up: Don't build and link libXfont.a anymore. Use system's libXfont shared library and link dynamically.
-
- 02 Feb, 2015 1 commit
-
-
Mike Gabriel authored
-
- 10 Oct, 2011 2 commits
-
-
Reinhard Tartler authored
Summary: Imported nx-X11-3.3.0-5.tar.gz Keywords: Imported nx-X11-3.3.0-5.tar.gz into Git repository
-
Reinhard Tartler authored
Summary: Imported nx-X11-3.1.0-1.tar.gz Keywords: Imported nx-X11-3.1.0-1.tar.gz into Git repository
-