Commit Graph

140 Commits (6e889211db1ef5d62210e585fcae5edf966290b4)

Author SHA1 Message Date
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
Andri Yngvason 996729f9bb renderer: Show error message when shader compilation failse 2020-03-25 20:44:54 +00:00
Andri Yngvason 13216fa507 renderer: Add u_tex1 to shaders 2020-03-25 20:26:15 +00:00
Andri Yngvason 49c584f80d renderer: Move shader setup into render() 2020-03-24 22:57:02 +00:00
Andri Yngvason 4da96d0dc1 renderer: Split buffer import and rendering 2020-03-24 22:48:13 +00:00
Andri Yngvason 9d058c85ce Renderer: Keep last texture 2020-03-24 22:07:49 +00:00
Andri Yngvason b39e7535ee renderer: Use FBO instead of pbuffer
This is in preperation for damage checking on the GPU
2020-03-24 19:17:23 +00:00
Andri Yngvason a12ce12ba6 Exit when compositor goes away 2020-03-22 20:29:13 +00:00
Andri Yngvason 26cef852b6 Replace libuv with aml 2020-03-21 16:46:10 +00:00
Andri Yngvason 7ea17d04aa Apply output transformation to pointer coordinates 2020-03-07 14:19:02 +00:00
Andri Yngvason e8279e57f5 Apply output transform to damage hint coordinates 2020-03-07 14:15:09 +00:00
Andri Yngvason 8ff7128714 output: Add coordinate transformations 2020-03-07 14:13:59 +00:00