Simon Ser
42db49c6fe
Guess zpos from plane type
...
Many drivers don't expose the zpos plane property. We can guess it from the
plane type though: primary, overlay, cursor. Except some drivers expose
underlays too: underlays, primary, overlay, cursor. Underlay planes don't have a
special type, they are just marked as overlays. To detect them, check whether
their plane ID is less than the primary plane ID.
References: https://github.com/emersion/libhwc/issues/3
2019-09-08 18:33:09 +03:00
Simon Ser
d90d7bdc36
Check plane is compatible with CRTC
...
This allows us to rule out some potential solutions.
Closes: https://github.com/emersion/libhwc/issues/2
2019-09-08 17:41:25 +03:00
Simon Ser
66bedbc854
Reset best allocation to NULL
...
Without this, if no allocation has been found, garbage will be read from
alloc.best.
2019-09-08 17:39:55 +03:00
Simon Ser
b3eb0e323c
Basic brute-force plane allocation
...
This is the very first complete allocator. There are many things that can be
improved, but at least it works.
Closes: https://github.com/emersion/libhwc/issues/8
2019-09-08 16:32:38 +03:00
Simon Ser
165d013b80
Change planes to be a linked list instead of an array
...
We'll need this anyway when we allow users to choose which planes to give us.
Let's not start building algorithms on top of arrays.
2019-09-08 15:26:50 +03:00
Simon Ser
14848bb802
Iterate over layers in example
2019-08-23 19:49:56 +03:00
Simon Ser
c3f546328e
Add basic docs
2019-08-23 19:37:53 +03:00
Simon Ser
7bea0c7bf7
Better hwc_display_apply error handling
2019-08-23 19:27:13 +03:00
Simon Ser
1ca4a03224
Disable all planes before building the mapping
2019-08-23 19:20:05 +03:00
Simon Ser
c5601aef5d
Add another layer to the example
2019-08-23 18:59:44 +03:00
Simon Ser
559bd2bf3a
Don't pick a busy plane in layer_choose_plane
2019-08-23 18:59:20 +03:00
Simon Ser
9a6237026a
Reset all mappings in hwc_display_apply
2019-08-23 18:56:44 +03:00
Simon Ser
6d5221370e
Disable unused planes
2019-08-23 18:48:13 +03:00
Simon Ser
00f85c4eca
Add missing static qualifiers
2019-08-23 18:20:42 +03:00
Simon Ser
4bce10a7a5
Add LICENSE
2019-08-21 23:13:35 +03:00
Simon Ser
d70b45b36d
Add README
2019-08-21 23:12:11 +03:00
Simon Ser
9fe471dd6b
Initial experiments
2019-08-21 23:07:37 +03:00