Commit Graph

68 Commits (6e521a07a0bea4a32529b457fa87eedb948a597e)

Author SHA1 Message Date
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 e00c492a05 Add dtrace probe infrastructure 2020-04-02 00:33:19 +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 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 26cef852b6 Replace libuv with aml 2020-03-21 16:46:10 +00:00
Andri Yngvason 8ff7128714 output: Add coordinate transformations 2020-03-07 14:13:59 +00:00
Andri Yngvason 9642e086d8 render: Set glViewport based on output transform 2020-03-05 22:05:14 +00:00
Andri Yngvason e01f75bfbd output: Add functions to get transformed geometry 2020-03-05 22:05:14 +00:00
Andri Yngvason 35ffc2dac7 output: Add transform 2020-03-05 22:05:14 +00:00
Andri Yngvason a3d4189a0b render: Add output transforms 2020-03-05 22:05:14 +00:00
Andri Yngvason a327a2f6dd render: Add 2D projections 2020-03-05 18:46:27 +00:00
Andri Yngvason 1bf618a098 render: Fetch uniform locations in one place 2020-03-05 18:20:54 +00:00
Andri Yngvason 6b3b448405 render: Move shader_program into shader struct 2020-03-05 18:14:50 +00:00
Andri Yngvason e5512114f8 render: Only compile the shader that is being used 2020-02-11 21:55:05 +00:00
Andri Yngvason e6b1ca8044 keyboard: Assign state to keys rather than symbols
The keys are pressed and released, not the symbols. This fixes tracking
of the state of a key through modifier changes. E.g. A capital 'A' may
be received from the client while the shift key is pressed, but if the
shift key is released before the 'a' key, the 'a' symbol is generated.
2020-01-25 13:19:08 +00:00
Andri Yngvason ec7fee42c5 Create an integer set data structure 2020-01-25 13:17:24 +00:00
Andri Yngvason a1ee09386a pointer: Add output position to absolute coordinates
This fixes mouse issues when there are multiple outputs
2020-01-24 21:14:29 +00:00
Andri Yngvason 7eaece7c0a Restructure input initialisation 2020-01-24 20:56:47 +00:00
Andri Yngvason d0bee5c651 output: Add function to find display by name 2020-01-24 20:18:37 +00:00
Andri Yngvason df936b9dac Add xdg_output_v1 for more output info 2020-01-24 20:08:57 +00:00
Andri Yngvason c1210f1426 Create a simple config loader 2020-01-18 17:58:40 +00:00
Andri Yngvason 9eb851cf92 screencopy: Adjust rate limiting based on capturing delay 2020-01-14 20:40:57 +00:00
Andri Yngvason 38d7b9cf4d screencopy: Simplify rate limiting 2020-01-14 20:12:58 +00:00
Andri Yngvason 017edc6ae1 Handle seat removal 2020-01-14 19:18:33 +00:00
Andri Yngvason 3735efe3d4 time-util: Add #pragma once and copyright notice 2020-01-14 19:02:02 +00:00
Andri Yngvason ffce795c6f dmabuf: Limit frame rate to 20 FPS 2020-01-04 15:05:15 +00:00
Andri Yngvason a6f979e93a Add seat selection 2019-12-31 14:01:22 +00:00
Andri Yngvason 2b00400b8a Add option to select keyboard layout 2019-12-30 10:15:12 +00:00
Andri Yngvason e82e3a92b5 screencopy: Add rate limiting
The smoothing filter allows for short bursts of higher frame rate in
order to reduce latency.
2019-12-29 11:47:33 +00:00
Andri Yngvason c794ca3822 smooth: Use integers rather than floats to store tme 2019-12-29 10:36:08 +00:00
Andri Yngvason baad0ecd68 Extract time functions into own module 2019-12-29 10:06:25 +00:00
Andri Yngvason 61657c97ba Add an exponential smoothing filter 2019-12-29 10:02:31 +00:00
Andri Yngvason 09772ddf5b Clean up some resources 2019-12-27 14:41:54 +00:00
Andri Yngvason b2bbc9ac0b Implement keyboard backend 2019-12-25 11:05:05 +00:00
Andri Yngvason 82bdbb82c0 Add virtual pointer backend 2019-12-22 21:42:10 +00:00
Andri Yngvason 25187cbfb2 Add option for output selection 2019-10-13 12:58:56 +00:00
Andri Yngvason ba3dc617f4 output: Add missing copyright statement 2019-10-13 12:48:12 +00:00
Andri Yngvason 59fa4cfeaa Move output handling into its own source file 2019-10-13 12:47:02 +00:00