iris: Use set PAT extension on BO creation for MTL
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: José Roberto de Souza <jose.souza@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22878>
This commit is contained in:
@@ -41,7 +41,9 @@ i915_gem_create(struct iris_bufmgr *bufmgr,
|
||||
uint16_t regions_count, uint64_t size,
|
||||
enum iris_heap heap_flags, unsigned alloc_flags)
|
||||
{
|
||||
if (unlikely(!iris_bufmgr_get_device_info(bufmgr)->mem.use_class_instance)) {
|
||||
const struct intel_device_info *devinfo =
|
||||
iris_bufmgr_get_device_info(bufmgr);
|
||||
if (unlikely(!devinfo->mem.use_class_instance)) {
|
||||
struct drm_i915_gem_create create_legacy = { .size = size };
|
||||
|
||||
assert(regions_count == 1 &&
|
||||
@@ -77,7 +79,7 @@ i915_gem_create(struct iris_bufmgr *bufmgr,
|
||||
&ext_regions.base);
|
||||
|
||||
if (iris_bufmgr_vram_size(bufmgr) > 0 &&
|
||||
!intel_vram_all_mappable(iris_bufmgr_get_device_info(bufmgr)) &&
|
||||
!intel_vram_all_mappable(devinfo) &&
|
||||
heap_flags == IRIS_HEAP_DEVICE_LOCAL_PREFERRED)
|
||||
create.flags |= I915_GEM_CREATE_EXT_FLAG_NEEDS_CPU_ACCESS;
|
||||
|
||||
@@ -91,6 +93,16 @@ i915_gem_create(struct iris_bufmgr *bufmgr,
|
||||
&protected_param.base);
|
||||
}
|
||||
|
||||
/* Set PAT param */
|
||||
struct drm_i915_gem_create_ext_set_pat set_pat_param = { 0 };
|
||||
if (devinfo->has_set_pat_uapi) {
|
||||
set_pat_param.pat_index =
|
||||
iris_pat_index_for_bo_flags(devinfo, alloc_flags);
|
||||
intel_gem_add_ext(&create.extensions,
|
||||
I915_GEM_CREATE_EXT_SET_PAT,
|
||||
&set_pat_param.base);
|
||||
}
|
||||
|
||||
if (intel_ioctl(iris_bufmgr_get_fd(bufmgr), DRM_IOCTL_I915_GEM_CREATE_EXT,
|
||||
&create))
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user