Commit graph

85 commits

Author SHA1 Message Date
Drew DeVault
27c13d621d Merge pull request #88 from 4e554c4c/alloc_crashing
Prevent alloc errors from crashing
2017-08-15 12:21:58 -04:00
Drew DeVault
f60b53c6e3 Change how surface matricies are calculated 2017-08-15 08:52:30 -04:00
Tony Crisci
d5f98dbf61 refactor getting surface size into a function 2017-08-15 08:22:22 -04:00
Tony Crisci
2bf2dbb2bd formatting fixup 2017-08-15 07:41:25 -04:00
Tony Crisci
5b1ce84350 implement buffer transform 2017-08-15 07:36:51 -04:00
Tony Crisci
84c6dbd58d remove unused dimension from buffer calculations 2017-08-15 07:36:51 -04:00
Tony Crisci
e46ec57b43 implement surface sizing 2017-08-15 07:36:51 -04:00
Tony Crisci
b49650b555 initialize buffer damage before conversion 2017-08-15 07:36:50 -04:00
Tony Crisci
d87c58416b clip surface damage to surface size 2017-08-15 07:36:50 -04:00
Tony Crisci
72a33b736f implement texture get buffer size 2017-08-15 07:36:50 -04:00
Tony Crisci
f0f190bfa5 implement buffer scale
Keep track of the scale of the buffer set by surface.set_buffer_scale.

Calculate the height and width of the texture from the buffer depending on the
scale when it is attached.

Use buffer damage to determine the damage of the buffer when flushing damage.

Convert surface damage to buffer damage and union to the surface buffer_damage
prior to flushing damage.
2017-08-15 07:36:50 -04:00
Tony Crisci
e22e443717 fix formatting in surface_damage 2017-08-15 07:36:50 -04:00
Tony Crisci
0b3d56384f implement surface_damage_buffer 2017-08-15 07:36:17 -04:00
nyorain
7d0bf9a1a7 Simplify tablet pad destruction 2017-08-15 12:16:23 +02:00
Calvin Lee
5cc7342606 Prevent alloc errors from crashing
Resolves #76
2017-08-15 08:04:57 +02:00
nyorain
aa20634309 Simplify input device destruction code 2017-08-14 18:23:20 +02:00
nyorain
f998bb8299 Fix style issues 2017-08-14 17:09:56 +02:00
Dominique Martinet
4bbf718e7d impl->destroy cleanup:
- remove trivial destroy() function
 - make sure we check impl and impl->destroy before calling
 - always call free if not implemented
2017-08-14 16:22:31 +02:00
Dominique Martinet
ba20d5b3ca Refactor out wlr_touch_state 2017-08-14 16:22:31 +02:00
Dominique Martinet
bd67849c03 Refactor out wlr_tablet_tool_state 2017-08-14 16:22:31 +02:00
Dominique Martinet
a289940bff Refactor out wlr_tablet_pad_state 2017-08-14 16:22:31 +02:00
Dominique Martinet
53e7bebd23 Refactor out wlr_pointer_state 2017-08-14 16:22:31 +02:00
Dominique Martinet
0a3246ad97 Refactor out wlr_keyboard_state 2017-08-14 16:22:31 +02:00
Dominique Martinet
e6ad67911b Refactor out wlr_input_device_state 2017-08-14 16:22:31 +02:00
Dominique Martinet
db77530a35 Fix output destory: impl->destroy must be called last + obvious double-free 2017-08-14 15:05:45 +02:00
Drew DeVault
2facf1df65 Fix software cursors 2017-08-14 08:43:17 -04:00
Drew DeVault
0de5eed048 Fix double free on wlr_outputs 2017-08-14 08:37:44 -04:00
Drew DeVault
41e735242d Remove wlr_output_state, update backends 2017-08-13 11:38:03 -04:00
Drew DeVault
d4b4bfb8bc Fix #64 2017-08-13 08:26:32 -04:00
Dominique Martinet
0354aaeff2 Complete a few destroy functions
This adds missing free calls for:
 - drm outputs
 - libinput backend in general
 - final udev free
 - output mode state
2017-08-11 19:17:03 +02:00
Drew DeVault
62d8b252c0 Refactor meson and move xdg-shell into wlroots 2017-08-11 09:37:09 -04:00
Drew DeVault
6569c2b626 Merge pull request #53 from nyorain/drm_buffer
Implement drm (egl) buffer attaching
2017-08-10 22:20:21 -04:00
Drew DeVault
c24351681f Refactor EGL handling 2017-08-10 22:15:37 -04:00
Scott Anderson
5465621d0a Update rotation matrix correctly. Fixes #60. 2017-08-11 09:29:28 +12:00
Drew DeVault
7095274a9e Merge branch 'master' into drm_buffer 2017-08-10 13:19:39 -04:00
Tony Crisci
73adb49f15 release buffer on surface flush when no damage 2017-08-10 11:12:33 -04:00
Drew DeVault
888986b038 Remove excess logging 2017-08-10 08:36:45 -04:00
Drew DeVault
7da43ff8b0 Implement wlr_surface_flush_damage 2017-08-10 08:26:16 -04:00
nyorain
31d78ff497 Fix wlr_surface destruction bug 2017-08-10 12:42:35 +02:00
Tony Crisci
14654ecb77 implement compositor create region
Complete the implementation of wlr_region_create and put it in the compositor.
2017-08-10 05:59:43 -04:00
nyorain
67369173aa Implement drm (egl) buffer attaching 2017-08-10 10:59:58 +02:00
Drew DeVault
750d0ad458 Flesh out wlr_surface state lifecycle a bit
Sprinked some TODOs around for future work
2017-08-09 23:34:50 -04:00
Drew DeVault
4de930542f Implement partial texture uploads 2017-08-09 22:17:40 -04:00
Drew DeVault
4dfc6460f3 Style fixes 2017-08-09 17:52:02 -04:00
Tony Crisci
8306f46dfb implement surface frame
The surface frame callback lets a window know when it is a good time to show the
next frame if it is animating. In particular, this callback is used by
weston-simple-shm to throttle drawing.
2017-08-09 17:31:38 -04:00
Tony Crisci
87fe13a9fa release shm buffer after uploading 2017-08-09 17:31:38 -04:00
nyorain
fb58307a50 Fix surface destruction 2017-08-09 17:27:12 +02:00
nyorain
cf9ee6ce3f Move wlr_surface into wlr 2017-08-09 17:27:12 +02:00
nyorain
1bea754521 Implement wlr_region using pixman 2017-08-09 17:05:55 +02:00
nyorain
e167f41fde Rename wlr_surface -> wlr_texture; attach -> upload 2017-08-08 18:25:16 +02:00