Reviewer | None |
---|---|
Submitted | Aug. 24, 2022, 3:08 p.m. |
Last Updated | Oct. 28, 2022, 12:37 p.m. |
Revision | 4 |
Root msg-id(s): |
20220824150834.427572-1-contact@emersion.fr 20220830172851.269402-1-contact@emersion.fr 20220929184307.258331-1-contact@emersion.fr 20220929184307.258331-1-contact@emersion.fr |
This series adds support for DRM_MODE_PAGE_FLIP_ASYNC for atomic commits, aka. "immediate flip" (which might result in tearing). The feature was only available via the legacy uAPI, however for gaming use-cases it may be desirable to enable it via the atomic uAPI too. - v1: https://patchwork.freedesktop.org/series/107683/ - User-space patch: https://github.com/Plagman/gamescope/pull/595 - IGT patch: https://patchwork.freedesktop.org/series/107681/ Main changes in v2: add docs, fail atomic commit if async flip isn't possible. Tested on an AMD Picasso iGPU. Simon Ser (6): amd/display: only accept async flips for fast updates drm: document DRM_MODE_PAGE_FLIP_ASYNC drm: introduce drm_mode_config.atomic_async_page_flip_not_supported drm: allow DRM_MODE_PAGE_FLIP_ASYNC for atomic commits drm: introduce DRM_CAP_ATOMIC_ASYNC_PAGE_FLIP amd/display: indicate support for atomic async page-flips on DC .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 8 ++++++ .../amd/display/amdgpu_dm/amdgpu_dm_crtc.c | 10 +++++++ drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c | 1 + drivers/gpu/drm/drm_atomic_uapi.c | 28 +++++++++++++++++-- drivers/gpu/drm/drm_ioctl.c | 5 ++++ drivers/gpu/drm/i915/display/intel_display.c | 1 + drivers/gpu/drm/nouveau/nouveau_display.c | 1 + drivers/gpu/drm/vc4/vc4_kms.c | 1 + include/drm/drm_mode_config.h | 11 ++++++++ include/uapi/drm/drm.h | 10 ++++++- include/uapi/drm/drm_mode.h | 11 ++++++++ 11 files changed, 83 insertions(+), 4 deletions(-)
This series adds support for DRM_MODE_PAGE_FLIP_ASYNC for atomic commits, aka. "immediate flip" (which might result in tearing). The feature was only available via the legacy uAPI, however for gaming use-cases it may be desirable to enable it via the atomic uAPI too. - Patchwork: https://patchwork.freedesktop.org/series/107683/ - User-space patch: https://github.com/Plagman/gamescope/pull/595 - IGT patch: https://patchwork.freedesktop.org/series/107681/ Main changes in v2: add docs, fail atomic commit if async flip isn't possible. Changes in v3: add a note in the documentation about Intel hardware, add R-b tags. Tested on an AMD Picasso iGPU (Simon) and an AMD Vangogh GPU (André). Simon Ser (6): drm: document DRM_MODE_PAGE_FLIP_ASYNC amd/display: only accept async flips for fast updates drm: introduce drm_mode_config.atomic_async_page_flip_not_supported drm: allow DRM_MODE_PAGE_FLIP_ASYNC for atomic commits drm: introduce DRM_CAP_ATOMIC_ASYNC_PAGE_FLIP amd/display: indicate support for atomic async page-flips on DC .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 8 ++++++ .../amd/display/amdgpu_dm/amdgpu_dm_crtc.c | 10 +++++++ drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c | 1 + drivers/gpu/drm/drm_atomic_uapi.c | 28 +++++++++++++++++-- drivers/gpu/drm/drm_ioctl.c | 5 ++++ drivers/gpu/drm/i915/display/intel_display.c | 1 + drivers/gpu/drm/nouveau/nouveau_display.c | 1 + drivers/gpu/drm/vc4/vc4_kms.c | 1 + include/drm/drm_mode_config.h | 11 ++++++++ include/uapi/drm/drm.h | 10 ++++++- include/uapi/drm/drm_mode.h | 16 +++++++++++ 11 files changed, 88 insertions(+), 4 deletions(-)
This series adds support for DRM_MODE_PAGE_FLIP_ASYNC for atomic commits, aka. "immediate flip" (which might result in tearing). The feature was only available via the legacy uAPI, however for gaming use-cases it may be desirable to enable it via the atomic uAPI too. - Patchwork: https://patchwork.freedesktop.org/series/107683/ - User-space patch: https://github.com/Plagman/gamescope/pull/595 - IGT patch: https://patchwork.freedesktop.org/series/107681/ Main changes in v2: add docs, fail atomic commit if async flip isn't possible. Changes in v3: add a note in the documentation about Intel hardware, add R-b tags. Tested on an AMD Picasso iGPU (Simon) and an AMD Vangogh GPU (André). Simon Ser (6): drm: document DRM_MODE_PAGE_FLIP_ASYNC amd/display: only accept async flips for fast updates drm: introduce drm_mode_config.atomic_async_page_flip_not_supported drm: allow DRM_MODE_PAGE_FLIP_ASYNC for atomic commits drm: introduce DRM_CAP_ATOMIC_ASYNC_PAGE_FLIP amd/display: indicate support for atomic async page-flips on DC .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 8 ++++++ .../amd/display/amdgpu_dm/amdgpu_dm_crtc.c | 10 +++++++ drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c | 1 + drivers/gpu/drm/drm_atomic_uapi.c | 28 +++++++++++++++++-- drivers/gpu/drm/drm_ioctl.c | 5 ++++ drivers/gpu/drm/i915/display/intel_display.c | 1 + drivers/gpu/drm/nouveau/nouveau_display.c | 1 + drivers/gpu/drm/vc4/vc4_kms.c | 1 + include/drm/drm_mode_config.h | 11 ++++++++ include/uapi/drm/drm.h | 10 ++++++- include/uapi/drm/drm_mode.h | 16 +++++++++++ 11 files changed, 88 insertions(+), 4 deletions(-)
# | Name | Submitter | State | TC | A | F | R | T |
---|---|---|---|---|---|---|---|---|
[1/4] drm: introduce drm_mode_config.atomic_async_page_flip_not_supported | Simon Ser | Superseded | 0 | |||||
[2/4] drm: allow DRM_MODE_PAGE_FLIP_ASYNC for atomic commits | Simon Ser | Superseded | 0 | |||||
[3/4] drm: introduce DRM_CAP_ATOMIC_ASYNC_PAGE_FLIP | Simon Ser | Superseded | 9 | |||||
[4/4] amd/display: indicate support for atomic async page-flips on DCN | Simon Ser | Superseded | 8 | |||||
# | Name | Submitter | State | TC | A | F | R | T |
---|---|---|---|---|---|---|---|---|
[v2,1/6] amd/display: only accept async flips for fast updates | Simon Ser | Superseded | 0 | |||||
[v2,2/6] drm: document DRM_MODE_PAGE_FLIP_ASYNC | Simon Ser | Superseded | 0 | |||||
[v2,3/6] drm: introduce drm_mode_config.atomic_async_page_flip_not_supported | Simon Ser | Superseded | 0 | |||||
[v2,4/6] drm: allow DRM_MODE_PAGE_FLIP_ASYNC for atomic commits | Simon Ser | Superseded | 3 | |||||
[v2,5/6] drm: introduce DRM_CAP_ATOMIC_ASYNC_PAGE_FLIP | Simon Ser | Superseded | 0 | |||||
[v2,6/6] amd/display: indicate support for atomic async page-flips on DC | Simon Ser | Superseded | 0 | |||||
# | Name | Submitter | State | TC | A | F | R | T |
---|---|---|---|---|---|---|---|---|
[v3,1/6] drm: document DRM_MODE_PAGE_FLIP_ASYNC | Simon Ser | Accepted | 0 | 2 | ||||
[v3,2/6] amd/display: only accept async flips for fast updates | Simon Ser | Accepted | 0 | 2 | ||||
[v3,3/6] drm: introduce drm_mode_config.atomic_async_page_flip_not_supported | Simon Ser | Superseded | 3 | 2 | ||||
[v3,4/6] drm: allow DRM_MODE_PAGE_FLIP_ASYNC for atomic commits | Simon Ser | Superseded | 0 | 2 | ||||
[v3,5/6] drm: introduce DRM_CAP_ATOMIC_ASYNC_PAGE_FLIP | Simon Ser | Superseded | 0 | 2 | ||||
[v3,6/6] amd/display: indicate support for atomic async page-flips on DC | Simon Ser | Superseded | 0 | 2 | ||||
# | Name | Submitter | State | TC | A | F | R | T |
---|---|---|---|---|---|---|---|---|
[v3,0/6] Add support for atomic async page-flips | André Almeida | New | 0 | |||||
[v3,2/6] amd/display: only accept async flips for fast updates | Simon Ser | Accepted | 0 | 2 | ||||
[v3,3/6] drm: introduce drm_mode_config.atomic_async_page_flip_not_supported | Simon Ser | Superseded | 3 | 2 | ||||
[v3,4/6] drm: allow DRM_MODE_PAGE_FLIP_ASYNC for atomic commits | Simon Ser | Superseded | 0 | 2 | ||||
[v3,5/6] drm: introduce DRM_CAP_ATOMIC_ASYNC_PAGE_FLIP | Simon Ser | Superseded | 0 | 2 | ||||
[v3,6/6] amd/display: indicate support for atomic async page-flips on DC | Simon Ser | Superseded | 0 | 2 | ||||