diff options
author | Maarten Lankhorst <maarten.lankhorst@linux.intel.com> | 2017-09-21 16:07:48 +0200 |
---|---|---|
committer | Maarten Lankhorst <maarten.lankhorst@linux.intel.com> | 2017-10-20 11:18:30 +0200 |
commit | 66fb466eb5ea5aa0c728ae15244ae08ede2b3b58 (patch) | |
tree | 6fd4aa6440eec7ec1dd4866a44163afa1e261782 /tests/kms_atomic_transition.c | |
parent | 5e42c6232dab3a7bb96963aec5a9f90e169df20c (diff) |
lib/igt_kms: Rework pipe properties to be more atomic, v7.
In the future I want to allow tests to commit more properties,
but for this to work I have to fix all properties to work better
with atomic commit. Instead of special casing each
property make a bitmask for all property changed flags, and try to
commit all properties.
This has been the most involved one, since legacy pipe commit still
handles a lot of the properties differently from the rest.
Changes since v1:
- Dump all changed properties on commit.
- Fix bug in igt_pipe_refresh().
Changes since v2:
- Set pipe ACTIVE property changed flag on init.
Changes since v3:
- Add a missing igt_pipe_refresh() to kms_atomic_interruptible.
Changes since v4:
- Perform error handling when setting custom crtc properties.
Changes since v5:
- Only attempt to commit changes properties.
Changes since v6:
- Clear OUT_FENCE_PTR on succesful commit.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Mika Kahola <mika.kahola@intel.com>
Diffstat (limited to 'tests/kms_atomic_transition.c')
-rw-r--r-- | tests/kms_atomic_transition.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/tests/kms_atomic_transition.c b/tests/kms_atomic_transition.c index 2ae75f2d..7ddb65ce 100644 --- a/tests/kms_atomic_transition.c +++ b/tests/kms_atomic_transition.c @@ -633,7 +633,7 @@ static unsigned set_combinations(igt_display_t *display, unsigned mask, struct i drmModeModeInfo *mode = NULL; if (!(mask & (1 << pipe))) { - if (display->pipes[pipe].mode_blob) { + if (igt_pipe_is_prop_changed(display, pipe, IGT_CRTC_ACTIVE)) { event_mask |= 1 << pipe; igt_plane_set_fb(plane, NULL); } |