Commit Graph

893 Commits

Author SHA1 Message Date
dragonn 2b1e389495 move DynamicRenderElementMap and it's friends to elements.rs 2022-01-19 21:12:54 +01:00
dragonn 3ae387e991 DynamicRenderElementMap as a helper for iter on custom_elements 2022-01-19 17:35:30 +01:00
Mateusz 478fe62808
Move chain to upper chain in loop
Co-authored-by: Victoria Brekenfeld <4404502+Drakulix@users.noreply.github.com>
2022-01-19 16:49:15 +01:00
Mateusz d7dfe2e3b6
Move chain to upper chain in render loop
Co-authored-by: Victoria Brekenfeld <4404502+Drakulix@users.noreply.github.com>
2022-01-19 16:49:03 +01:00
dragonn b9ecc3c2d4 add layer definition to RenderElement 2022-01-18 22:15:47 +01:00
Victoria Brekenfeld 92d04ba8fe
Merge pull request #471 from Smithay/fix/revert_output_transform 2022-01-17 22:02:10 +01:00
Victoria Brekenfeld 21a78f9858 gles: Don't apply output transformations to buffer damage 2022-01-17 21:26:06 +01:00
Poly d5bfc6f613 desktop.space: Fix multioutput rendering 2022-01-17 20:33:56 +01:00
Victoria Brekenfeld 37693f31d9
Merge pull request #466 from Smithay/fix/damage_output_transform
Apply transformations correctly
2022-01-17 16:04:13 +01:00
Victoria Brekenfeld 3c7b84ff88
Merge pull request #464 from Smithay/fix/multi_overlap_damage
space: Handle multiple overlapping rects when merging damage
2022-01-17 14:19:22 +01:00
Victor Brekenfeld 439d5a7820 Consistently use buffer coordinates
- Moves `Transform` into utils::geometry
- Changes conversion from and into buffer-coordinates to take
  `Transform` arguments.
- `Renderer` take `Buffer`-space damage now
- buffer_transform is taken into account everywhere
2022-01-16 20:32:17 +01:00
Victor Brekenfeld f76311227b gles2: Apply output transformations for damage 2022-01-16 20:15:38 +01:00
Victoria Brekenfeld 050c648bff
Merge pull request #465 from Smithay/fix/first_id_increment 2022-01-16 17:00:50 +01:00
Victor Brekenfeld a53d64053f space: Handle multiple overlapping rects when merging damage 2022-01-16 16:41:10 +01:00
Victor Brekenfeld 34667b791a utils: correctly increment ids on first call 2022-01-16 16:40:40 +01:00
Victor Brekenfeld 8f73a1e4f8 desktop: Fix damage for removed popups 2022-01-16 16:39:37 +01:00
Victor Brekenfeld 5cbd4352b9 renderer: add `transform_rect` 2022-01-12 22:14:53 +01:00
Victor Brekenfeld fefb287fa8 gles2: Fixup texture filtering 2022-01-12 22:14:53 +01:00
Victor Brekenfeld bffae036f7 gles2: Expose transformation of a `Frame` 2022-01-12 22:14:53 +01:00
Victor Brekenfeld 74162a73b6 egl: Expose raw types for downstream integrations 2022-01-12 22:14:53 +01:00
Victor Brekenfeld 20d95c80c6 gles2: Expose `Gles2Frame`s projection matrix 2022-01-12 22:14:53 +01:00
Victor Brekenfeld f4811646be gles2: Expose underlying `EGLContext` 2022-01-12 22:14:53 +01:00
Victor Brekenfeld 6e1f6ab1f3 egl: Add `UserDataMap` to `EGLContext` 2022-01-10 19:31:31 +01:00
dragonn 6e0268f407 add function is_focused to KeyboardHandle 2022-01-09 10:58:13 +01:00
Christian Meissl 9f5bf25b6b clamp the damage rect to the destination rect
this fixes issues when the damage rect is greater
than the destination rect, like providing i32::Max as
the damage size
2022-01-07 19:48:43 +01:00
Victor Brekenfeld 75929919ba space: Clarify state reset on `map_output` 2022-01-07 19:48:43 +01:00
Victor Brekenfeld 14d10e4863 space: `output_under` may return multiple outputs 2022-01-07 19:48:43 +01:00
Victor Brekenfeld ccec794af7 desktop: `draw_layer` -> `draw_layer_surface` 2022-01-07 19:48:43 +01:00
Victor Brekenfeld a779e6b5c0 docs: Always referr to layer surfaces as such 2022-01-07 19:48:43 +01:00
Victoria Brekenfeld 75c84796f6
space: documentation fixes
Co-authored-by: Victor Berger <vberger@users.noreply.github.com>
2022-01-06 00:26:14 +01:00
Victor Brekenfeld fafbf300dc desktop: Add missing cfg directives 2022-01-05 21:44:58 +01:00
Victor Brekenfeld 58f20fb6c7 space: Make `RenderError` require Debug 2022-01-05 21:26:44 +01:00
Victor Brekenfeld 8059bdc5db desktop: docs 2022-01-05 20:48:07 +01:00
Victor Brekenfeld 8e34865acc space: Let downstream `RenderElements` hash `(&Space, &Output)` 2022-01-05 20:46:59 +01:00
Victor Brekenfeld a5f3c5c5d2 clippy fixes 2022-01-05 13:03:55 +01:00
Victor Brekenfeld d69d15630e space: make render error check more readable 2022-01-04 19:06:47 +01:00
Victor Brekenfeld 26e1576f87 space: make window activation optional 2022-01-04 19:06:47 +01:00
Victor Brekenfeld 537b34fe0b cleanup: imports 2022-01-04 19:06:47 +01:00
Victor Brekenfeld 3674daf083 utils: Add macro for global ids 2022-01-04 19:06:47 +01:00
Victor Brekenfeld 61b19e4198 renderer: fixup damage calculations for smaller buffer sizes 2022-01-04 18:06:00 +01:00
Victor Brekenfeld 5b6700c151 desktop: fix popup placement 2022-01-04 15:11:21 +01:00
Victor Brekenfeld 171456c7ba gbm: Support resetting buffers 2022-01-04 12:50:40 +01:00
Victor Brekenfeld 08ac5ba6d1 desktop: Make window damage public 2022-01-04 12:50:40 +01:00
Victor Brekenfeld ab21df1943 space: Return new damage on render 2022-01-04 12:50:40 +01:00
Victor Brekenfeld 7ae79fcba5 winit: Support damage-tracking 2022-01-04 12:50:40 +01:00
Victor Brekenfeld f423244864 egl: Optionally support buffer age and damage 2022-01-04 12:50:39 +01:00
Victor Brekenfeld 3530ac7335 egl: stop egl spamming nclassified messages 2022-01-04 12:50:39 +01:00
Victor Brekenfeld 359c060e0f space: apply transform for output_geometry 2022-01-04 12:50:39 +01:00
Victor Brekenfeld 64c535464a swapchain: Keep buffers on reset and wipe metadata
We make no guarantees about the buffer contents after a fresh allocation
in smithay anyway, so to avoid expensive recreation of a bunch of
resources, try to keep the buffers on reset and just wipe all its
metadata (most importantly the age).
2022-01-04 12:50:39 +01:00
Victor Brekenfeld 8536fa90a1 desktop: streamline custom elements logic 2022-01-04 12:50:39 +01:00