[PATCH v3 0/3] drm/amdgpu: Explicit sync for GEM VA operations
Friedrich Vock
friedrich.vock at gmx.de
Mon Aug 19 07:21:07 UTC 2024
In Vulkan, it is the application's responsibility to perform adequate
synchronization before a sparse unmap, replace or BO destroy operation.
This adds an option to AMDGPU_VA_OPs to disable redundant implicit sync
that happens on sparse unmap or replace operations.
This has seen a significant improvement in stutter in Forza Horizon 5
and Forza Horizon 4. (As games that had significant issues in sparse
binding related stutter).
Userspace changes for this new version can be found at [1][2], and a kernel
branch containing these patches can be found at [3].
[1] https://gitlab.freedesktop.org/pixelcluster/drm/-/commits/vm-explicit-sync
[2] https://gitlab.freedesktop.org/pixelcluster/mesa/-/commits/vm-explicit-sync
[3] https://gitlab.freedesktop.org/pixelcluster/linux/-/commits/amdgpu-vm-explicit-sync
v3 changes:
- Rebased onto current amd-staging-drm-next
- Added option to wait for drm_syncobjs instead of executing immediately
Tatsuyuki Ishi (3):
drm/amdgpu: Don't implicit sync PRT maps.
drm/amdgpu: Add optional explicit sync fences for GEM operations.
drm/amdgpu: Bump amdgpu driver version.
.../gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 2 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_csa.c | 2 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 3 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 76 ++++++++++++++++---
drivers/gpu/drm/amd/amdgpu/amdgpu_object.h | 23 +++++-
drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h | 6 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_umsch_mm.c | 2 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 68 +++++++++++------
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h | 30 ++++----
drivers/gpu/drm/amd/amdgpu/amdgpu_vm_cpu.c | 12 ++-
drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c | 2 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c | 9 +++
drivers/gpu/drm/amd/amdkfd/kfd_svm.c | 18 ++---
include/uapi/drm/amdgpu_drm.h | 7 ++
14 files changed, 194 insertions(+), 66 deletions(-)
--
2.46.0
More information about the dri-devel
mailing list