summaryrefslogtreecommitdiffstats
path: root/common
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix regression caused by r4841. That patch assumed that JPEG encoding ↵DRC2012-02-133-45/+47
| | | | | | always uses the raw buffer, which is not true. If pixel translation is necessary, then JPEG images will sometimes be encoded from the translated (intermediate) buffer instead. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4852 3789f03b-4d11-0410-bbf8-ca57d06f2519
* The Tight encoder uses the pixel buffer as a scratch pad, which doesn'tPierre Ossman2012-01-305-56/+64
| | | | | | | | | work so well with the new optimisation to feed it the raw frame buffer. Reorganise and clean up the code to handle this, and make the raw frame buffer pointer const so that we might avoid such bugs in the future. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4841 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Be more liberal with const in places where write access isn't needed.Pierre Ossman2012-01-305-11/+11
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4840 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Fix a race condition where we might get updates thrown at us right after aPierre Ossman2012-01-233-1/+36
| | | | | | | | framebuffer switch, but before we've been given the pointer to the new framebuffer. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4839 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Our FLTK patches modified FLTK's autotools-based build system so that ↵DRC2012-01-173-0/+42
| | | | | | HAVE_XFIXES and HAVE_XCURSOR were defined in FLTK's config.h, but those changes never made it into the CMake-based build system used by the in-tree version of FLTK. Further, our build system was allowing silent failures whenever Xft, Xinerama, Xcursor, or Xfixes were not present on the build system. Now, the lack of these libraries is treated as a fatal error, since these libraries are critical for TigerVNC functionality. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4834 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Changing the deferred update timer to 10 ms caused a large performance ↵DRC2011-12-221-1/+1
| | | | | | regression on video/3D apps, and until we can quantify the benefits of a larger DUT value, it was decided that it should be changed back to 1 ms for the 1.2 release. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4825 3789f03b-4d11-0410-bbf8-ca57d06f2519
* We need to explicitly trigger a framebuffer update for server side renderedPierre Ossman2011-12-211-1/+3
| | | | | | | | cursors. Previously this happened to work anyway because we had a lot of triggers for updates. After the cleanup, we need to be more explicit. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4824 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Updated patch from upstream.Pierre Ossman2011-11-251-7/+3
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4818 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Fix bad FLTK window resize handling on OS X.Pierre Ossman2011-11-211-0/+6
| | | | | | | http://www.fltk.org/str.php?L2775 git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4813 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Increase the default compression level to cater to a broader range of usersPierre Ossman2011-11-202-2/+3
| | | | | | | | (bandwidth is often the limiting factor, rather than CPU). Further increases give little returns, so 2 is currently deemed the best tradeoff. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4811 3789f03b-4d11-0410-bbf8-ca57d06f2519
* The block size for the comparing update tracker was inefficently low. RaisingPierre Ossman2011-11-201-1/+1
| | | | | | | | it from 16 to 64 pixels significantly reduces the CPU overhead in many cases, without sacrificing much in what it detects. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4810 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Make the comparing update tracker a bit more flexible. It can now be in anPierre Ossman2011-11-208-21/+91
| | | | | | | | | "auto" state where it will be enabled until we deem that the client is better of without it (currently triggered by explicitly stating a low compression level). git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4809 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Cork the connection around updates to better use the congestion windowPierre Ossman2011-11-151-3/+11
| | | | | | | as we might send out multiple small packets git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4804 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Server implementation of continuous updates, including advanced flow control.Pierre Ossman2011-11-152-10/+292
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4803 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Add method to query how long since we last wrote something to a fd.Pierre Ossman2011-11-152-0/+17
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4802 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Basic infrastructure for continuous updates.Pierre Ossman2011-11-1421-1/+102
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4801 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Implement proper support for fences in the server.Pierre Ossman2011-11-142-1/+63
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4799 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Basic infrastructure to support fences.Pierre Ossman2011-11-1424-12/+223
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4798 3789f03b-4d11-0410-bbf8-ca57d06f2519
* The CopyRect encoding is very efficient so it is wasteful to check thosePierre Ossman2011-11-101-3/+1
| | | | | | | | | areas here. It also makes the CUT counter-productive in some cases as it tends to expand small changes to BLOCK_SIZE (16 pixels) because of the copy regions. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4788 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Fix issue uncovered with valgrindDRC2011-11-091-1/+1
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4787 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Use the correct matching free operation. Patch by Matthieu Lochegnies.Pierre Ossman2011-11-091-1/+1
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4786 3789f03b-4d11-0410-bbf8-ca57d06f2519
* The source data here is RGB triplets, not "pixels".Pierre Ossman2011-11-081-3/+1
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4785 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Reimplement the deferred update handling, this time in a more robust andPierre Ossman2011-11-084-25/+100
| | | | | | | well-behaved manner. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4784 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Add helper to easily determine how much time has passed since some previousPierre Ossman2011-11-082-0/+21
| | | | | | | event. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4783 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Cork the outgoing TCP stream while we still have messages to process. ThisPierre Ossman2011-11-081-0/+8
| | | | | | | allows more efficent use of the congestion window as we will send fewer packets. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4782 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Expose Linux' cork functionality which allows us to aggregate TCP data in aPierre Ossman2011-11-082-0/+12
| | | | | | | controlled manner. Unfortunately there is no equivalent for Windows. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4781 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Avoid some unnecessary processing when server side cursor isn't used (whichPierre Ossman2011-11-081-2/+4
| | | | | | | is the common case). git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4780 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Clean up the interface for VNCSConnectionST. Entry points are more apparentPierre Ossman2011-11-076-90/+102
| | | | | | | and the data flow is now more strictly aimed towards this connection class. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4771 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Add fast paths for RGB to 16-bit and 8-bit true color conversionDRC2011-11-041-0/+22
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4764 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Further optimizations (avoiding single-byte copies and InStream processing ↵DRC2011-11-042-53/+40
| | | | | | overhead) git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4763 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Since fillRect() operates directly on the framebuffer, optimize it and ↵DRC2011-11-033-63/+68
| | | | | | remove the separate version in TightDecoder. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4762 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Remove unneeded EXTRA_ARGS definitionDRC2011-11-031-1/+0
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4761 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Need to include os/print.h, because Windows doesn't have snprintf()DRC2011-11-031-0/+1
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4760 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Move JPEG decoding into a standalone class (these should have been checked ↵DRC2011-11-032-0/+293
| | | | | | in with r4757. Oops.) git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4758 3789f03b-4d11-0410-bbf8-ca57d06f2519
* If the client and server are using identical pixel formats, then perform ↵DRC2011-11-037-240/+232
| | | | | | Tight decoding directly into the viewer's back buffer, rather than going through the slow fillRect/imageRect routines. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4757 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Put arguments in a more consistent order based on data flow, in order to ↵DRC2011-11-032-38/+41
| | | | | | improve readability git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4756 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Fix compiler warnings uncovered with -WallDRC2011-11-033-4/+2
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4755 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Rename and document TransImageGetter::getPixelsRW() to make it more obviousPierre Ossman2011-11-033-4/+8
| | | | | | | that it bypasses the normal conversion logic. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4754 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Fix compiler warnings uncovered with -WallDRC2011-11-034-4/+3
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4752 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Don't try to push out another update if the socket is already full. ThisPierre Ossman2011-10-252-3/+41
| | | | | | | avoids stalling the entire server because of one slow client. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4737 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Make sure RFB timers are actually respected by the server implementations.Pierre Ossman2011-10-251-0/+3
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4736 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Make socket writes non-blockable. This allows the system to more quicklyPierre Ossman2011-10-252-11/+75
| | | | | | | | return back to the Xorg main loop, meaning that things will be more responsive in the presence of slow VNC clients. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4735 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Another attempt at solving the compression level change problems. We were stillPierre Ossman2011-10-182-63/+75
| | | | | | | not detecting the correct approach properly, and hence still getting crashes. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4731 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Enable WinVNC build with MinGW and MinGW64DRC2011-10-124-0/+218
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4723 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Re-commit MSVC build fixes, which were forcibly removed by 4675. Please (a) ↵DRC2011-10-042-3/+8
| | | | | | bring these upstream so they don't get deleted again, and (b) always check the build with MSVC prior to committing modifications to any libraries that affect that build. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4689 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Fixed the formatting of a few Cendio copyright lines, so that it isPeter Åstrand2011-09-283-3/+3
| | | | | | | | consistent with the rest of the code. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4677 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Updated bundled fltk with latest set of patches forHenrik Andersson2011-09-168-77/+270
| | | | | | | | following fltk str: 2660, 2636, 2599, 2641... git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4675 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Internalise the libjpeg stuff into the JpegCompressor class as the libjpegPierre Ossman2011-09-072-64/+77
| | | | | | | headers are a bit conflict prone. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4669 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Remove unused variablesDRC2011-08-241-1/+0
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4655 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Move setting of PIC code to a central locationDRC2011-08-237-48/+13
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4648 3789f03b-4d11-0410-bbf8-ca57d06f2519