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_interruptible.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_interruptible.c')
-rw-r--r-- | tests/kms_atomic_interruptible.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/tests/kms_atomic_interruptible.c b/tests/kms_atomic_interruptible.c index 4a2a57741..64a005597 100644 --- a/tests/kms_atomic_interruptible.c +++ b/tests/kms_atomic_interruptible.c @@ -158,8 +158,8 @@ static void run_plane_test(igt_display_t *display, enum pipe pipe, igt_output_t uint32_t count_props[3] = { 2, 1, 6 }; uint32_t props[] = { /* crtc: 2 props */ - plane->pipe->atomic_props_crtc[IGT_CRTC_MODE_ID], - plane->pipe->atomic_props_crtc[IGT_CRTC_ACTIVE], + plane->pipe->props[IGT_CRTC_MODE_ID], + plane->pipe->props[IGT_CRTC_ACTIVE], /* connector: 1 prop */ output->props[IGT_CONNECTOR_CRTC_ID], /* plane: remainder props */ @@ -255,6 +255,10 @@ static void run_plane_test(igt_display_t *display, enum pipe pipe, igt_output_t igt_waitchildren(); + /* The mode is unset by the forked helper, force a refresh here */ + if (test_type == test_legacy_modeset || test_type == test_atomic_modeset) + igt_pipe_refresh(display, pipe, true); + igt_plane_set_fb(plane, NULL); igt_plane_set_fb(primary, NULL); igt_output_set_pipe(output, PIPE_NONE); |