Andri Yngvason
03114c80e2
Create a buffer abstraction
2020-06-20 20:58:14 +00:00
Andri Yngvason
4f1bca55c3
Exit when main selected seat/output goes away
2020-06-12 23:15:22 +00:00
Andri Yngvason
041ac60ef6
renderer: Add more error messages
2020-06-10 22:09:22 +00:00
Andri Yngvason
ff882b7774
keyboard: Ignore shift level on modifiers
2020-05-26 22:19:48 +00:00
Andri Yngvason
ff1223e4f9
keyboard: Fix comparison of signed and unsigned value
2020-05-18 20:38:48 +00:00
Andri Yngvason
9b48290d09
Improve error handling in wayland dispatch
2020-05-10 12:21:10 +00:00
Andri Yngvason
151e916752
renderer: Set GL_PACK_ALIGNMENT to 1
...
Otherwise row stride will multiple of 4, even for damage data.
2020-05-10 12:21:10 +00:00
Andri Yngvason
0761a5b818
damage: Fix uninitialised value
2020-05-10 12:21:10 +00:00
Andri Yngvason
4f5933c07f
dmabuf: Limit rate to 30 FPS
2020-05-03 19:58:50 +00:00
Andri Yngvason
f5453ffe1e
keyboard: Relax matching criteria on shift level
...
Clients behave differently when it comes to sending release events for keys,
so it's hard to rely on any one kind of behaviour.
2020-05-01 17:34:22 +00:00
Andri Yngvason
405268fc58
keyboard: Log keyboard symbol lookup errors
2020-05-01 17:19:14 +00:00
Andri Yngvason
6e889211db
renderer: Run glFinish() before glReadPixels()
2020-04-26 14:15:57 +00:00
Andri Yngvason
8cc8c198d2
renderer: Run glFinish() after rendering dmabuf frame
2020-04-26 14:14:06 +00:00
Andri Yngvason
06a249897b
dmabuf: Show a debug message when frames are held for too long.
2020-04-26 14:14:06 +00:00
Andri Yngvason
04569b01f2
dmabuf: Add dtrace probes
2020-04-26 11:24:29 +00:00
Andri Yngvason
9d6310cb14
dmabuf: Remove rate limiting
2020-04-26 10:39:58 +00:00
Andri Yngvason
6becbacbe5
Align with NeatVNC interface changes
2020-04-12 21:46:48 +00:00
Andri Yngvason
1fc664a014
Remove call to nvnc_set_dimensions()
2020-04-12 16:14:18 +00:00
Andri Yngvason
f9deca5c9c
shm: Add copyright notice
...
Putting a proper license on this to appease package maintainers.
2020-04-12 13:08:42 +00:00
Greg V
3f62295214
keyboard: rename keymap_len to keymap_size
2020-04-09 15:39:09 +03:00
Greg V
fa49aca45a
keyboard: check that write finished writing everything
...
(Use loop to write until the end)
2020-04-09 15:38:13 +03:00
Greg V
ccc582cd58
keyboard: allocate shm with *actually* correct size
...
strlen returns "the number of characters that precede the terminating NUL".
We do need to send the \0 byte, since xkbcommon on the receiving end
*is* expecting a C string. And e.g. wlroots does strlen+1.
2020-04-09 15:37:18 +03:00
Andri Yngvason
14d62d0029
Fix transformations
...
This fixes #29
2020-04-09 11:50:48 +00:00
Andri Yngvason
58a181ccbc
Redesign update/rendering loop
...
Every change to the framebuffer is now copied into a single buffer
inside a single callback. This simplifies things a lot, and might even
perform better.
2020-04-07 23:37:31 +00:00
Greg V
d610076614
shm: support memfd and SHM_ANON
2020-04-06 02:07:25 +03:00
Greg V
720b127dee
keyboard: allocate shm with correct size
...
This was working on Linux because shm_open there returns a regular file,
but this is required on FreeBSD where shm_open returns a memory-backed fd.
2020-04-06 00:26:22 +03:00
Andri Yngvason
be401b5e4a
Report error when binding to address fails
...
This fixes #21
2020-04-04 22:38:23 +00:00
Andri Yngvason
6e521a07a0
Merge frames rather than dropping them when encoder is too slow
2020-04-04 21:03:49 +00:00
Andri Yngvason
238c196e6b
Capture a new frame immediately when a client requests a whole frame
2020-04-04 15:01:38 +00:00
Andri Yngvason
ee4917f200
Make sure that frames being written to are not in use by the encoder
2020-04-04 13:14:07 +00:00
Andri Yngvason
8ce312e9eb
renderer: Add dtrace probes
2020-04-02 00:55:18 +00:00
Andri Yngvason
075680994e
screencopy: Add dtrace probes
2020-04-02 00:34:00 +00:00
Andri Yngvason
dc7adf8f3b
renderer: Use ATTR_INDEX_ constants for glEnableVertex*
2020-03-29 14:05:33 +00:00
Andri Yngvason
e85f219aff
Make sure damage buffer is properly aligned
2020-03-29 13:09:28 +00:00
Andri Yngvason
b14a0b854b
Rotate NeatVNC framebuffers rather than allocating new ones
2020-03-28 19:23:03 +00:00
Andri Yngvason
2bb17c8215
Blit the whole frame when a new client connects
2020-03-28 15:20:59 +00:00
Andri Yngvason
e7586e8753
Only copy the damaged region from GPU
2020-03-28 15:05:04 +00:00
Andri Yngvason
1ebd9a7647
damage: Respect frame boundaries
2020-03-28 14:34:12 +00:00
Andri Yngvason
b6ca7aff8c
Join process_frame() and update_vnc()
2020-03-28 14:09:29 +00:00
Andri Yngvason
bfbc81bf04
Use GPU damage checker
2020-03-28 13:07:33 +00:00
Andri Yngvason
52c18ffe23
damage: Add asynchronous damage checking
2020-03-28 13:05:59 +00:00
Andri Yngvason
7f5431d922
Move rendering calls into frame-capture
2020-03-28 11:44:40 +00:00
Andri Yngvason
c91816f247
Implement damage buffer conversion
2020-03-28 10:59:21 +00:00
Andri Yngvason
b0a6b6bd2a
renderer: Swap FPOs rather than textures
2020-03-28 10:59:21 +00:00
Andri Yngvason
ae90348ece
renderer: Save previous rendered frame rather than previous imported frame
...
We can't keep dmabufs very long.
2020-03-26 21:43:35 +00:00
Andri Yngvason
b5f1ff0898
renderer: Render to texture
2020-03-26 18:49:37 +00:00
Andri Yngvason
7e709c23e9
renderer: Add damage renderer
2020-03-25 23:21:11 +00:00
Andri Yngvason
6536cbd56f
renderer: Add damage shaders
2020-03-25 23:21:11 +00:00
Andri Yngvason
557f0f365b
renderer: Set up texture bindings on render()
2020-03-25 21:27:57 +00:00
Andri Yngvason
a8fd0d6765
renderer: Show error when linking shaders fails
2020-03-25 21:07:36 +00:00