Skip to content
This repository has been archived by the owner on Oct 25, 2021. It is now read-only.

Fast access to basic properties #1

Open
emersion opened this issue Aug 29, 2019 · 1 comment · May be fixed by #64
Open

Fast access to basic properties #1

emersion opened this issue Aug 29, 2019 · 1 comment · May be fixed by #64
Labels
enhancement New feature or request
Milestone

Comments

@emersion
Copy link
Owner

emersion commented Aug 29, 2019

Have a list of basic properties and provide fast access to them. These are:

  • CRTC_ID
  • FB_ID
  • CRTC_X, CRTC_Y, CRTC_W, CRTC_H
  • zpos
@emersion emersion added the enhancement New feature or request label Aug 29, 2019
emersion added a commit that referenced this issue Oct 11, 2019
This allows fast access to properties the library cares about. Not very useful
yet, but will prove more useful in the future.

Closes: #1
@emersion emersion added this to the MVP milestone Oct 12, 2019
emersion added a commit that referenced this issue Oct 19, 2019
This allows fast access to properties the library cares about. Not very useful
yet, but will prove more useful in the future.

Closes: #1
@emersion
Copy link
Owner Author

emersion commented Nov 24, 2019

Some work for this has been done in the basic-props branch. Not yet merged because this doesn't appear to be a bottleneck (string comparisons and list traversals for property lookup seem fast enough for now from a perf report). Maybe I'll merge this anyway because we'll want to fix it eventually.

emersion added a commit that referenced this issue Dec 19, 2019
This would previously result in a crash:

    ==169727==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000028 (pc 0x7f3e0c4d7dc7 bp 0x7ffc97f8aff0 sp 0x7ffc97f8afc0 T0)
    ==169727==The signal is caused by a READ memory access.
    ==169727==Hint: address points to the zero page.
        #0 0x7f3e0c4d7dc6 in layer_update_priority ../subprojects/libliftoff/layer.c:152
        #1 0x7f3e0c4d3a4c in update_layers_priority ../subprojects/libliftoff/alloc.c:573
        #2 0x7f3e0c4d3d7f in liftoff_output_apply ../subprojects/libliftoff/alloc.c:590
        …
emersion added a commit that referenced this issue Sep 30, 2021
This is a set of well-known KMS standard properties, either used
by libliftoff itself or commonly used by compositors. Adding
special cases for these allows us to access them without having
to iterate over a list.

This roughly improves performance by ~50% when leaving out the
atomic test-only commits.

Closes: #1
@emersion emersion linked a pull request Sep 30, 2021 that will close this issue
1 task
emersion added a commit that referenced this issue Sep 30, 2021
This is a set of well-known KMS standard properties, either used
by libliftoff itself or commonly used by compositors. Adding
special cases for these allows us to access them without having
to iterate over a list.

This roughly improves performance by ~50% when leaving out the
atomic test-only commits.

Closes: #1
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant