Commit Graph

531 Commits (c302c209394ecd1a0642c21105d9da51ca6b6fb1)

Author SHA1 Message Date
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
Andri Yngvason b39655df15
Merge pull request #31 from myfreeweb/shmem
Fix keyboard shared memory, use memfd/SHM_ANON
2020-04-05 23:37:01 +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 06ea9db40e util: latency_report: Add sending fbs to report 2020-04-03 23:12:03 +00:00
Andri Yngvason 6c91b38205 Add script to run perf trace with USDT 2020-04-02 20:49:12 +00:00
Andri Yngvason b215df32a8 Create a script for processing trace data 2020-04-02 20:11:45 +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 e00c492a05 Add dtrace probe infrastructure 2020-04-02 00:33:19 +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 e381c89378 FAQ: Fix typo 2020-03-28 16:59:31 +00:00
Andri Yngvason 1384ab99d2 FAQ: Answer some questions 2020-03-28 16:58:13 +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 f0fa12425b shaders: damage: Flip vertically 2020-03-28 10:59:21 +00:00
Andri Yngvason 222d636bc7 shaders: Fix damage vertex shader 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 32fa2a3d29 README: Upgrade build instructions to include aml 2020-03-21 17:00:49 +00:00
Andri Yngvason 26cef852b6 Replace libuv with aml 2020-03-21 16:46:10 +00:00
Andri Yngvason cdccafa2b5 README: Add installation instructions for archlinux 2020-03-21 16:43:02 +00:00