diff options
author | Ashutosh Dixit <ashutosh.dixit@intel.com> | 2021-10-03 21:20:02 -0700 |
---|---|---|
committer | Ashutosh Dixit <ashutosh.dixit@intel.com> | 2021-10-03 22:26:53 -0700 |
commit | 242d0848546dd6397c609042559ebcc0f7f41bf5 (patch) | |
tree | 015008ef12273c53bd076963b51cba40301884e6 /lib/i915 | |
parent | 1bf33aec92671a1cdf80f4fa84216845a31f73b2 (diff) |
lib: Partially revert 22643ce4014a
In 22643ce4014a ("Return allocated size in gem_create_in_memory_regions()
and friends") we modified __gem_create_in_memory_regions and
gem_create_in_memory_regions to return the allocated size for buffer
objects. However, this also unnecessarily complicates programming in the
majority of cases where the allocated size is not needed. For example in
several cases it requires tracking the requested and allocated sizes
separately, the size used must be strictly uint64_t etc.
In order to simplify things and provide greater flexibility, here we change
22643ce4014a to follow the same scheme followed in gem_create_ext (and in
gem_create) where __gem_create_ext returns the allocated size but
gem_create_ext doesn't. With this change, __gem_create_in_memory_regions
returns the allocated size for situations where it is needed but in the
majority of cases where the allocated size is not needed we can just use
gem_create_in_memory_regions for casual use as before.
v2: Store requested not allocated bo size in intel_buf->size (Zbigniew)
Reviewed-by: Zbigniew KempczyĆski <zbigniew.kempczynski@intel.com>
Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
Diffstat (limited to 'lib/i915')
-rw-r--r-- | lib/i915/intel_memory_region.c | 4 | ||||
-rw-r--r-- | lib/i915/intel_memory_region.h | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/lib/i915/intel_memory_region.c b/lib/i915/intel_memory_region.c index e59801a4..bc2f66db 100644 --- a/lib/i915/intel_memory_region.c +++ b/lib/i915/intel_memory_region.c @@ -202,12 +202,12 @@ int __gem_create_in_memory_region_list(int fd, uint32_t *handle, uint64_t *size, * @mem_regions: memory regions array (priority list) * @num_regions: @mem_regions length */ -uint32_t gem_create_in_memory_region_list(int fd, uint64_t *size, +uint32_t gem_create_in_memory_region_list(int fd, uint64_t size, struct drm_i915_gem_memory_class_instance *mem_regions, int num_regions) { uint32_t handle; - int ret = __gem_create_in_memory_region_list(fd, &handle, size, + int ret = __gem_create_in_memory_region_list(fd, &handle, &size, mem_regions, num_regions); igt_assert_eq(ret, 0); return handle; diff --git a/lib/i915/intel_memory_region.h b/lib/i915/intel_memory_region.h index bf75831c..024c76d3 100644 --- a/lib/i915/intel_memory_region.h +++ b/lib/i915/intel_memory_region.h @@ -68,7 +68,7 @@ int __gem_create_in_memory_region_list(int fd, uint32_t *handle, uint64_t *size, struct drm_i915_gem_memory_class_instance *mem_regions, int num_regions); -uint32_t gem_create_in_memory_region_list(int fd, uint64_t *size, +uint32_t gem_create_in_memory_region_list(int fd, uint64_t size, struct drm_i915_gem_memory_class_instance *mem_regions, int num_regions); |