Module: Mesa Branch: main Commit: 463bf134115909d11dc1d9dd440f59fcea93bb7e URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=463bf134115909d11dc1d9dd440f59fcea93bb7e
Author: Jordan Justen <[email protected]> Date: Mon Apr 3 12:51:22 2023 -0400 anv: Use set PAT extension on BO creation for MTL Reworks: * Drop local pat_index var (suggested by José) Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: José Roberto de Souza <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22878> --- src/intel/vulkan/i915/anv_kmd_backend.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/intel/vulkan/i915/anv_kmd_backend.c b/src/intel/vulkan/i915/anv_kmd_backend.c index 3c7222f2f87..231844b4da0 100644 --- a/src/intel/vulkan/i915/anv_kmd_backend.c +++ b/src/intel/vulkan/i915/anv_kmd_backend.c @@ -75,6 +75,20 @@ i915_gem_create(struct anv_device *device, .flags = flags, }; + struct drm_i915_gem_create_ext_set_pat set_pat_param = { 0 }; + if (device->info->has_set_pat_uapi) { + /* Set PAT param */ + if (alloc_flags & (ANV_BO_ALLOC_SNOOPED)) + set_pat_param.pat_index = device->info->pat.coherent; + else if (alloc_flags & (ANV_BO_ALLOC_EXTERNAL | ANV_BO_ALLOC_SCANOUT)) + set_pat_param.pat_index = device->info->pat.scanout; + else + set_pat_param.pat_index = device->info->pat.writeback; + intel_gem_add_ext(&gem_create.extensions, + I915_GEM_CREATE_EXT_SET_PAT, + &set_pat_param.base); + } + if (intel_ioctl(device->fd, DRM_IOCTL_I915_GEM_CREATE_EXT, &gem_create)) return 0;
