aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/programs/Xserver/hw/nxagent/NXrender.c
Commit message (Collapse)AuthorAgeFilesLines
* nxagent: make all traps BooleansUlrich Sibiller2020-05-071-4/+4
| | | | and use True/False instead of 1/0
* Literals.h: always include in compilationUlrich Sibiller2020-05-071-2/+0
| | | | | | This change ensures Literals.h is always referenced during compilation, effectively hiding it from "unused file" detection we do occasionally to clean up the source code.
* NXrender.c: call upstream versions of (S)ProcRenderDispatchUlrich Sibiller2020-01-051-32/+27
|
* NXrender.c: modify code to match upstream as close as possibleUlrich Sibiller2020-01-051-1/+3
|
* NXrender.c: mark NX changesUlrich Sibiller2020-01-051-25/+96
|
* NXrender.c, render.c: fix memory handling bugsUlrich Sibiller2020-01-051-4/+19
|
* nxagent: simplify nxagentRenderRealizeCursorUlrich Sibiller2019-09-291-1/+1
| | | | also drop unused return code
* nxagent: avoid nested externsUlrich Sibiller2019-09-291-1/+2
|
* NXrender.c: fix possible memory leakUlrich Sibiller2019-09-291-0/+3
|
* nxagent: drop nxagentRenderTrapUlrich Sibiller2019-09-291-20/+0
| | | | | | | | | | nxagentRenderTrap is rather old. This flag is set when internal pixmap creation returns a pixmap with depth 0. Following that the RENDER extension is effectively disabled. However: there's no code that could create a pixmap with depth 0, so let's simplify our code by removing nxagentRenderTrap altogether. Fixes ArcticaProject/nx-libs#841
* NXrender: fix another memleakUlrich Sibiller2019-06-221-1/+5
|
* Use C99 designated initializers in various extension RepliesUlrich Sibiller2019-02-281-7/+8
| | | | | | | | | | | | | | commit cc5f09c86f7bea23b7546c3491b2c52ce8100a71 Author: Alan Coopersmith <alan.coopersmith@oracle.com> Date: Mon Jul 9 19:12:43 2012 -0700 Use C99 designated initializers in various extension Replies Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Keith Packard <keithp@keithp.com> Tested-by: Daniel Stone <daniel@fooishbar.org> Attributes ArcticaProject/nx-libs#382
* Revert "nxagent: rework Bool handling"Ulrich Sibiller2019-02-151-4/+4
| | | | | | | | | | | | This reverts commit 16cd2bbe1c4425e3fa557f9ca0723aa94a50b071. It turned out that I had missed some of the Booleans being actually tristate variables. I think I can fix this (they do not need to be tristate) but I revert this for now to get back to a working state (there are reports about non-working fullscreen mode and reconnect problems). Refers to ArcticaProject/nx-libs#772
* nxagent: rework Bool handlingUlrich Sibiller2019-02-111-4/+4
| | | | drop "== False", "== 0", "== True" and "== 0" for nxagentOptions and Traps
* misc: fix more regressions and whitespace weirdness introduced in ↵Mihai Moldovan2018-07-071-0/+2
| | | | 913fcf1a74426725f14380dd5b34286a21c37ab7.
* Fix some memory leaks.Mario Trangoni2018-07-031-0/+1
|
* Clearing comments from $XFree86$ (et al.) header lines.Mike Gabriel2017-04-191-2/+0
|
* Add CreatePixmap allocation hints.Aaron Plattner2017-04-101-1/+2
| | | | | | | | | | | | | | | | 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>
* replace (DE)ALLOCATE_LOCAL by malloc/freeUlrich Sibiller2017-03-031-6/+6
| | | | | | | | | | | | | | | | | | | | | | 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.
* misc nx-X11/programs/Xserver/{hw/nxagent,miext,render}/: move code around so ↵Mihai Moldovan2017-03-031-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | that we can drop nx-X11/programs/Xserver/render/miglyph.c (and by extension nx-X11/programs/Xserver/hw/nxagent/NXmiglyph.c.) This is essentially a bastardized cross/backport of these X.Org commits - based on our current architecture: commit 4b14c9a9cd2033d3839c4ba364d41ab4c4b198ab Author: Eric Anholt <eric@anholt.net> Date: Fri Oct 19 16:34:54 2007 -0700 Replace calls to Glyphs screen hook with CompositeGlyphs and remove dead code. Not all of the DDX/miext Glyphs hook implementations have been removed, but they should be. and commit 2251572062b2c25643671b8d5070de1c3f7ae976 Author: Aaron Plattner <aplattner@nvidia.com> Date: Fri Oct 26 15:13:50 2007 -0700 Restore the CompositeGlyphs -> ps->Glyphs -> miGlyphs callchain to allow acceleration architectures to wrap above miGlyphs. Conflicts: nx-X11/programs/Xserver/render/miglyph.c nx-X11/programs/Xserver/render/mipict.h nx-X11/programs/Xserver/render/picture.c
* Fix "uninitialised byte(s)" complaints from valgrindUlrich Sibiller2017-03-021-2/+1
|
* Naming change: Security*Access -> Dix*AccessMike Gabriel2017-02-201-24/+24
| | | | | | | | | | | | Backported from X.org: commit 6c46645cfc1afda8aeabfe0ed4d9342673b702f1 Author: Eamon Walsh <ewalsh@tycho.nsa.gov> Date: Thu Dec 14 14:45:42 2006 -0500 Naming change: Security*Access -> Dix*Access Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
* Per-file copyright notices: Update copyright information in file headers ↵Mike Gabriel2016-07-061-18/+25
| | | | that NoMachine placed there own copyright statement in.
* Remove unneccesary casts from WriteToClient callsAlan Coopersmith2016-07-051-2/+2
| | | | | | | | | | | | | | Casting return to (void) was used to tell lint that you intended to ignore the return value, so it didn't warn you about it. Casting the third argument to (char *) was used as the most generic pointer type in the days before compilers supported C89 (void *) (except for a couple places it's used for byte-sized pointer math). Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Keith Packard <keithp@keithp.com> Tested-by: Daniel Stone <daniel@fooishbar.org> Backport to nx-libs: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
* Use internal temp variable for swap macros. Make swaps/swapl type safe ↵Mike Gabriel2016-07-041-29/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (introducing wrong_size check at build time). While working on this changeset, various spots got discovered where swapl or swaps was used on a wrong type, where byte swapping calls had been forgotten or done on the wrong variable. This backport at least includes changes from the following X.org commits, listed in non-chronological order: commit 2c7c520cfe0df30f4bc3adba59d9c62582823bf8 Author: Matt Turner <mattst88@gmail.com> Date: Thu Aug 4 15:35:41 2011 -0400 Use internal temp variable for swap macros Also, fix whitespace, mainly around swaps(&rep.sequenceNumber) Reviewed-by: Peter Harris <pharris@opentext.com> Signed-off-by: Matt Turner <mattst88@gmail.com> commit 9edcae78c46286baff42e74bfe26f6ae4d00fe01 Author: Matt Turner <mattst88@gmail.com> Date: Wed Sep 21 17:14:16 2011 -0400 Use correct swap{l,s} (or none at all for CARD8) Swapping the wrong size was never caught because swap{l,s} are macros. It's clear in the case of Xext/xres.c, that the author believed client_major/minor to be CARD16 from looking at the code in the first hunk. v2: dmx.c fixes from Keith. Reviewed-by: Peter Harris <pharris@opentext.com> Signed-off-by: Matt Turner <mattst88@gmail.com> commit dab064fa5e0b1f5c67222562ad5367005832cba1 Author: Andrea Canciani <ranma42@gmail.com> Date: Tue Nov 2 20:10:32 2010 +0100 render: Fix byteswapping of gradient stops The function swapStops repeatedly swaps the color components as CARD16, but incorrectly steps over them as if they were CARD32. This causes half of the stops not to be swapped at all and some unrelated data be swapped instead. Signed-off-by: Andrea Canciani <ranma42@gmail.com> Reviewed-by: Soren Sandmann <sandmann@daimi.au.dk> Reviewed-by: Julien Cristau <jcristau@debian.org> Signed-off-by: Keith Packard <keithp@keithp.com> commit 54770c980cd2b91a8377f975a58ed69def5cfa42 Author: Matt Turner <mattst88@gmail.com> Date: Tue Aug 16 16:59:07 2011 -0400 Cast char* buffers to swap functions Reviewed-by: Peter Harris <pharris@opentext.com> Signed-off-by: Matt Turner <mattst88@gmail.com> commit 6844bd2e63490870bab3c469eec6030354ef2865 Author: Alan Coopersmith <alan.coopersmith@sun.com> Date: Wed Jan 9 19:52:00 2008 -0800 More Xv extension byte swapping fixes commit e46f6ddeccd082b2d507a1e8b57ea30e6b0a2c83 Author: Michel Dänzer <michel@tungstengraphics.com> Date: Wed Jan 16 14:24:22 2008 +0100 Yet another Xv extension byte swapping fix.
* nx-X11/programs/Xserver: Drop {X,x}alloc() macros, use malloc() instead.Mike Gabriel2016-07-021-8/+8
|
* nx-X11/programs/Xserver: Drop {X,x}free() macros, use free() instead.Mike Gabriel2016-07-021-19/+19
| | | | Fixes ArcticaProject/nx-libs#105
* hw/nxagent/NXrender.c: Shrink file, drop duplicate code that can identically ↵Mike Gabriel2016-06-251-2188/+38
| | | | | | be found in render/render.c. Fixes ArcticaProject/nx-libs#37
* hw/nxagent/NX{glyphstr,picturestr}.h: Don't ship the complete header files ↵Mike Gabriel2016-06-251-2/+2
| | | | in nxagent's code base. Rather replace structures we need modified only.
* Move each screen's root-window pointer into ScreenRec.Mike Gabriel2016-06-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* hw/nxagent/NXrender.c: Don't declare and assign the colors variable, if not ↵Mike Gabriel2016-05-021-2/+0
| | | | | | | | | | | | | used later on. Amends the following compiler warning: ``` NXrender.c: In function ‘swapStops’: NXrender.c:3036:13: warning: variable ‘colors’ set but not used [-Wunused-but-set-variable] CARD16 *colors; ^ ```
* Clear header file namespace separation (<X11/...> vs. <nx-X11/...>).Mike Gabriel2015-12-281-5/+5
| | | | | | | | | | | | | | | | | | | | 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.
* Replace 'pointer' type with 'void *'Keith Packard2015-12-281-15/+15
| | | | | | | | | | 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>
* Backport: xserver: Avoid sending uninitialized padding data over the networkPeter Åstrand2015-07-021-0/+2
| | | | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* render: unvalidated lengths in Render extn. swapped procs [CVE-2014-8100 2/2]pr/render-cve-fixesAlan Coopersmith2015-05-241-1/+16
| | | | | | | | | | | v2: backport to nx-libs 3.6.x (Mike DePaulo) v3: port to NXrender.c rather than render.c (Mike DePaulo) Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Conflicts: render/render.c
* render: check request size before reading it [CVE-2014-8100 1/2]Julien Cristau2015-05-241-1/+2
| | | | | | | | | | | | | | Otherwise we may be reading outside of the client request. v2: backport to nx-libs 3.6.x (Mike DePaulo) v3: port to NXrender.c rather than render.c (Mike DePaulo) Signed-off-by: Julien Cristau <jcristau@debian.org> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Conflicts: render/render.c
* NXAGENT_UPGRADE code cleanup:Mike Gabriel2015-04-161-48/+861
| | | | | | | | | | | NX agent contains/ed two build trees. An old one (probably pre-3.x.y) and a "newer" one. The "newer" code tree used to become enabled by setting NXUpgradeAgentServer in nx-X11/config/cf/host.def to YES. As building the NXUpgradeAgentServer has been the default for years now, we drop all code that does not get used at build time for NXUpgradeAgentServer == YES (i.e., the code that belongs to the pre-3.x.y phase of NX agent).
* Imported nxagent-3.5.0-2.tar.gznxagent/3.5.0-2Reinhard Tartler2011-10-101-1/+1
| | | | | | | | Summary: Imported nxagent-3.5.0-2.tar.gz Keywords: Imported nxagent-3.5.0-2.tar.gz into Git repository
* Imported nxagent-3.4.0-5.tar.gznxagent/3.4.0-5Reinhard Tartler2011-10-101-1/+1
| | | | | | | | Summary: Imported nxagent-3.4.0-5.tar.gz Keywords: Imported nxagent-3.4.0-5.tar.gz into Git repository
* Imported nxagent-3.4.0-3.tar.gznxagent/3.4.0-3Reinhard Tartler2011-10-101-1/+1
| | | | | | | | Summary: Imported nxagent-3.4.0-3.tar.gz Keywords: Imported nxagent-3.4.0-3.tar.gz into Git repository
* Imported nxagent-3.4.0-16.tar.gznxagent/3.4.0-16Reinhard Tartler2011-10-101-1/+1
| | | | | | | | Summary: Imported nxagent-3.4.0-16.tar.gz Keywords: Imported nxagent-3.4.0-16.tar.gz into Git repository
* Imported nxagent-3.4.0-11.tar.gznxagent/3.4.0-11Reinhard Tartler2011-10-101-2/+2
| | | | | | | | Summary: Imported nxagent-3.4.0-11.tar.gz Keywords: Imported nxagent-3.4.0-11.tar.gz into Git repository
* Imported nxagent-3.1.0-2.tar.gznxagent/3.1.0-2Reinhard Tartler2011-10-101-0/+3048
Summary: Imported nxagent-3.1.0-2.tar.gz Keywords: Imported nxagent-3.1.0-2.tar.gz into Git repository