Christian Authmann
ccc347d1f4
Save a few X11 server roundtrips by ignoring empty damage regions.
Logging revealed that a few empty damage regions are emitted on startup. Those don't need to be rendered to the Surface pixmap.
před 5 roky
Christian Authmann
82b04eb275
Prevent rendering uninitialized Pixmap contents on X11
The Pixmap is filled in as updates from the server arrive. Before the first full update, it would contain undefined contents, which would be rendered onto the ViewPort.
Clearing the Pixmap is only done on startup and when changing the server resolution, so it's not performance critical.
před 5 roky
Pierre Ossman
cc647dbd40
Fix rendering on big endian system
Our XRender code assumes a certain pixel layout which was not
guaranteed on big endian systems. The previous workaround only worked
for some cases, so fix this properly now.
před 5 roky
Jan Grulich
cf21a80076
Do not perform endianness check on Windows and Apple
před 5 roky
Jan Grulich
86cec815e4
Check endianness when constructing PlatformPixelBuffer()
před 5 roky
Pierre Ossman
d71508b94b
Be more restrictive with shared memory mode bits
Everyone else seems to get by with using 0600, so let's do the same.
před 7 roky
Pierre Ossman
fbbd48b35e
Avoid leaking shared memory via X server
It's not enough that we detach from the shared memory, we must also
tell the X server to do so for it to be freed properly.
před 7 roky
Pierre Ossman
403ac27d23
Abstract platform rendering to "surfaces"
This will allow us to render more things than just the framebuffer.
před 7 roky
Pierre Ossman
0f626ad79a
Do explict sync after XShmPutImage()
The complex logic waiting for events didn't result in any added
performance, so use the simpler approach.
před 7 roky
Pierre Ossman
c9dd3a4023
Throttle overlapping screen updates
We need to make sure the display server has finished reading our
previous update before we overwrite the buffer with the next update.
před 8 roky
Pierre Ossman
0b5a06b8ca
Protect PlatformPixelBuffer from simultaneous access
The damage tracking region needs to be protected from multiple
threads accessing it at once. The rest should be fine though.
před 8 roky
Pierre Ossman
0c9bd4b0ba
Use PixelBuffer objects as the interface for encoders and decoders
This avoid a lot of unnecessary middle men. This also pushes the
responsibility for pixel format conversion into the encoders and
decoders. The new bufferFromBuffer() is used for direct conversion,
rather than PixelTransformer/TransImageGetter.
před 10 roky
Pierre Ossman
2e5a106083
Get rid of getStride()
It was confusing and not properly used everywhere.
Callers should use the stride they get when they get
the buffer pointer.
před 10 roky
Pierre Ossman
ac13abe4ce
Create a proper interface base class for the viewport's framebuffer
This allows us to gracefully fall back to the FLTK code in case the
platform specific code cannot be used.
před 10 roky
Constantin Kaplinsky
a2adc8d4cf
Migrating to new directory structure adopted from the RealVNC's source tree. More changes will follow.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@589 3789f03b-4d11-0410-bbf8-ca57d06f2519
před 18 roky
Constantin Kaplinsky
de179d4ed7
The "rfb" library merged with VNC 4.1.1 code.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/branches/merge-with-vnc-4.1.1@522 3789f03b-4d11-0410-bbf8-ca57d06f2519
před 18 roky
Constantin Kaplinsky
47ed8d321c
Initial revision
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2 3789f03b-4d11-0410-bbf8-ca57d06f2519
před 20 roky