Commit Graph

151 Commits (e1378082c788b829a96775008e3ea36ce1e148b1)

Author SHA1 Message Date
Andri Yngvason c79eb98e68 output: Add callbacks for change notification 2020-07-19 13:56:10 +00:00
Andri Yngvason 14768ca6e3 pixels: Add function to convert from wl_shm format to fourcc 2020-07-16 18:09:18 +00:00
Andri Yngvason 184ed0a7ef Allow the user to adjust the FPS limit 2020-07-11 20:53:31 +00:00
Andri Yngvason 9d2e22b9bd pixels: Add copyright notice 2020-07-11 20:53:31 +00:00
Andri Yngvason 4c14c11de4 transform-util: Add copyright notice 2020-07-11 20:53:31 +00:00
Andri Yngvason 441079d2c5 util: Add copyright notice 2020-07-11 20:53:31 +00:00
Andri Yngvason b8df02838e pixman-renderer: Add copyright notice 2020-07-11 20:53:31 +00:00
Andri Yngvason ee3b6d74cf buffer: Add copyright notice 2020-07-11 20:53:31 +00:00
Andri Yngvason 7b6372ef49 damage-refinery: Add copyright notice 2020-07-11 20:53:31 +00:00
Andri Yngvason 2b522ee596 Remove frame-capture abstraction 2020-07-11 20:53:31 +00:00
Andri Yngvason b0ec79acf8 Move damage hints into buffer abstraction 2020-07-11 20:53:31 +00:00
Andri Yngvason 0615cd44c6 buffer: Add damage field 2020-07-11 20:53:31 +00:00
Andri Yngvason 0edaded063 Remove dead code 2020-07-11 20:53:30 +00:00
Andri Yngvason 3fc07f571d screencopy: Use linux-dmabuf if available 2020-07-11 20:52:01 +00:00
Andri Yngvason 4a21939b43 buffer: Use create_immed 2020-07-11 20:52:01 +00:00
Andri Yngvason 4fa019d31f buffer: Add DMA-BUFs 2020-07-11 20:52:01 +00:00
Andri Yngvason 480392e40c buffer: Add buffer type to interface 2020-07-11 20:52:01 +00:00
Andri Yngvason c515a29951 Create hash based damage checker 2020-07-11 20:52:01 +00:00
Andri Yngvason 6b1dc2e6c3 Add utilities for managing output transforms 2020-07-11 20:52:01 +00:00
Andri Yngvason 507b76dfbd Create pixman renderer 2020-07-11 20:52:01 +00:00
Andri Yngvason 29f1669d55 buffer: Leave pixman out of buffers 2020-07-11 20:52:01 +00:00
Andri Yngvason e65cae43c2 Extract pixel format conversion into own file 2020-07-11 20:52:01 +00:00
Andri Yngvason a6e1ba25ea Render using pixman 2020-07-11 20:52:00 +00:00
Andri Yngvason 4fb472f611 Create a buffer abstraction 2020-07-11 20:52:00 +00:00
Andri Yngvason 8eb6658162 Create a unit test for the damage checker 2020-05-10 12:21:10 +00:00
Andri Yngvason bacae1b515 Add some unit test macros 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 06a249897b dmabuf: Show a debug message when frames are held for too long. 2020-04-26 14:14:06 +00:00
Andri Yngvason 36f0480038 time-util return uint64_t from gettime_ms() 2020-04-26 13:37:37 +00:00
Andri Yngvason 1e53e5e45e timeutil: Add timespec conversion helpers 2020-04-26 13:32:08 +00:00
Andri Yngvason 9d6310cb14 dmabuf: Remove rate limiting 2020-04-26 10:39:58 +00:00
Andri Yngvason 2b6b863eb1 Add copyright notice to strlcpy.h 2020-04-12 13:09:57 +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
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
Andri Yngvason 7d3d2d2789 frame-capture: Add license clause 2019-10-10 22:57:53 +00:00
Andri Yngvason cc1f470c6e Integrate dmabuf capturing into frame-capture 2019-10-10 22:51:44 +00:00
Andri Yngvason ffda3c164c Create frame-capture backend framework 2019-10-10 22:32:54 +00:00
Andri Yngvason e037e74756 Implement screencopy damage 2019-10-10 21:40:22 +00:00
Andri Yngvason ddaea0ceab Add some code for rendering screencopy frames 2019-10-10 21:28:07 +00:00
Andri Yngvason 1132dd6a3c render: Add a function to render plain framebuffer 2019-10-09 22:37:46 +00:00
Andri Yngvason 8cc00dd5eb render: rename shader_program -> dmabuf_shader_program 2019-10-09 22:00:01 +00:00
Andri Yngvason 10367226f8 Fix indentation 2019-10-09 20:54:27 +00:00
Andri Yngvason 640b12184d Align dmabuf backend with screencopy backend 2019-10-09 19:12:16 +00:00
Andri Yngvason a7b4859611 Working on screencopy backend for comparison width export-dmabuf 2019-10-08 22:16:26 +00:00
Andri Yngvason a52e1040a0 Add license and copyright notice 2019-10-08 18:41:23 +00:00
Andri Yngvason 119ee0efef WiP: Implement frame capturing 2019-10-06 22:50:11 +00:00
Andri Yngvason eaae3ba2db Add more initialisation code 2019-10-06 22:12:29 +00:00
Andri Yngvason 33772e0b94 render: Fixup 2019-10-06 20:54:59 +00:00
Andri Yngvason a52ff52fcf render: Move logging and struct to headers 2019-10-06 18:50:47 +00:00
Andri Yngvason f4e9169b66 Add strlcpy 2019-10-06 18:49:57 +00:00
Andri Yngvason 89dbbc5fc9 render: Add header 2019-10-06 17:14:53 +00:00