[igt-dev] [PATCH i-g-t 1/2] lib/i915_blt: Remove create_mapping flag from blt_create_object
Karolina Stolarek
karolina.stolarek at intel.com
Mon Jan 30 08:10:10 UTC 2023
Hi Zbigniew,
Sorry for my late response, the email got stuck in my inbox.
On 26.01.2023 13:00, Zbigniew Kempczyński wrote:
> On Mon, Jan 23, 2023 at 11:52:42AM +0100, Karolina Stolarek wrote:
>> In the tests we have, we always set create_mapping flag to true, as we
>> wish to create memory mappings when creating blitter copy objects. As
>> this is the only use case, we can delete the flag and just create a
>> mapping.
>>
>> Cc: Zbigniew Kempczynski <zbigniew.kempczynski at intel.com>
>> Signed-off-by: Karolina Stolarek <karolina.stolarek at intel.com>
>> ---
>> lib/i915/i915_blt.c | 8 +++-----
>> lib/i915/i915_blt.h | 3 +--
>> tests/i915/gem_ccs.c | 14 +++++++-------
>> tests/i915/gem_exercise_blt.c | 12 ++++++------
>> 4 files changed, 17 insertions(+), 20 deletions(-)
>>
>> diff --git a/lib/i915/i915_blt.c b/lib/i915/i915_blt.c
>> index bbfb6ffc..3e64efeb 100644
>> --- a/lib/i915/i915_blt.c
>> +++ b/lib/i915/i915_blt.c
>> @@ -1219,8 +1219,7 @@ blt_create_object(int i915, uint32_t region,
>> uint32_t width, uint32_t height, uint32_t bpp, uint8_t mocs,
>> enum blt_tiling_type tiling,
>> enum blt_compression compression,
>> - enum blt_compression_type compression_type,
>> - bool create_mapping)
>> + enum blt_compression_type compression_type)
>
> In this case I would like to keep create_mapping flag. gem_ccs and
> gem_exercise_blt use this mapping but if you someone would like
> to reuse blt_create_object() without creation additional mapping
> lack of this argument enforces creating object in the test.
Hm, but in the majority of cases we'd like to create a new object. From
the API point of view, we could introduce another function to do it. The
list of parameters is already quite long here.
Thanks,
Karolina
>
> --
> Zbigniew
>
>> {
>> struct blt_copy_object *obj;
>> uint64_t size = width * height * bpp / 8;
>> @@ -1237,9 +1236,8 @@ blt_create_object(int i915, uint32_t region,
>> compression, compression_type);
>> blt_set_geom(obj, stride, 0, 0, width, height, 0, 0);
>>
>> - if (create_mapping)
>> - obj->ptr = gem_mmap__device_coherent(i915, handle, 0, size,
>> - PROT_READ | PROT_WRITE);
>> + obj->ptr = gem_mmap__device_coherent(i915, handle, 0, size,
>> + PROT_READ | PROT_WRITE);
>>
>> return obj;
>> }
>> diff --git a/lib/i915/i915_blt.h b/lib/i915/i915_blt.h
>> index 299dff8e..eaf4cc1f 100644
>> --- a/lib/i915/i915_blt.h
>> +++ b/lib/i915/i915_blt.h
>> @@ -218,8 +218,7 @@ blt_create_object(int i915, uint32_t region,
>> uint32_t width, uint32_t height, uint32_t bpp, uint8_t mocs,
>> enum blt_tiling_type tiling,
>> enum blt_compression compression,
>> - enum blt_compression_type compression_type,
>> - bool create_mapping);
>> + enum blt_compression_type compression_type);
>> void blt_destroy_object(int i915, struct blt_copy_object *obj);
>> void blt_set_object(struct blt_copy_object *obj,
>> uint32_t handle, uint64_t size, uint32_t region,
>> diff --git a/tests/i915/gem_ccs.c b/tests/i915/gem_ccs.c
>> index f629f664..b7a32673 100644
>> --- a/tests/i915/gem_ccs.c
>> +++ b/tests/i915/gem_ccs.c
>> @@ -361,11 +361,11 @@ static void block_copy(int i915,
>> pext = NULL;
>>
>> src = blt_create_object(i915, region1, width, height, bpp, uc_mocs,
>> - T_LINEAR, COMPRESSION_DISABLED, comp_type, true);
>> + T_LINEAR, COMPRESSION_DISABLED, comp_type);
>> mid = blt_create_object(i915, mid_region, width, height, bpp, uc_mocs,
>> - mid_tiling, mid_compression, comp_type, true);
>> + mid_tiling, mid_compression, comp_type);
>> dst = blt_create_object(i915, region1, width, height, bpp, uc_mocs,
>> - T_LINEAR, COMPRESSION_DISABLED, comp_type, true);
>> + T_LINEAR, COMPRESSION_DISABLED, comp_type);
>> igt_assert(src->size == dst->size);
>> PRINT_SURFACE_INFO("src", src);
>> PRINT_SURFACE_INFO("mid", mid);
>> @@ -477,13 +477,13 @@ static void block_multicopy(int i915,
>> pext3 = NULL;
>>
>> src = blt_create_object(i915, region1, width, height, bpp, uc_mocs,
>> - T_LINEAR, COMPRESSION_DISABLED, comp_type, true);
>> + T_LINEAR, COMPRESSION_DISABLED, comp_type);
>> mid = blt_create_object(i915, mid_region, width, height, bpp, uc_mocs,
>> - mid_tiling, mid_compression, comp_type, true);
>> + mid_tiling, mid_compression, comp_type);
>> dst = blt_create_object(i915, region1, width, height, bpp, uc_mocs,
>> - mid_tiling, COMPRESSION_DISABLED, comp_type, true);
>> + mid_tiling, COMPRESSION_DISABLED, comp_type);
>> final = blt_create_object(i915, region1, width, height, bpp, uc_mocs,
>> - T_LINEAR, COMPRESSION_DISABLED, comp_type, true);
>> + T_LINEAR, COMPRESSION_DISABLED, comp_type);
>> igt_assert(src->size == dst->size);
>> PRINT_SURFACE_INFO("src", src);
>> PRINT_SURFACE_INFO("mid", mid);
>> diff --git a/tests/i915/gem_exercise_blt.c b/tests/i915/gem_exercise_blt.c
>> index 02c54f85..b1123356 100644
>> --- a/tests/i915/gem_exercise_blt.c
>> +++ b/tests/i915/gem_exercise_blt.c
>> @@ -136,11 +136,11 @@ static void fast_copy_emit(int i915, const intel_ctx_t *ctx,
>> igt_assert(__gem_create_in_memory_regions(i915, &bb, &bb_size, region1) == 0);
>>
>> src = blt_create_object(i915, region1, width, height, bpp, 0,
>> - T_LINEAR, COMPRESSION_DISABLED, 0, true);
>> + T_LINEAR, COMPRESSION_DISABLED, 0);
>> mid = blt_create_object(i915, region2, width, height, bpp, 0,
>> - mid_tiling, COMPRESSION_DISABLED, 0, true);
>> + mid_tiling, COMPRESSION_DISABLED, 0);
>> dst = blt_create_object(i915, region1, width, height, bpp, 0,
>> - T_LINEAR, COMPRESSION_DISABLED, 0, true);
>> + T_LINEAR, COMPRESSION_DISABLED, 0);
>> igt_assert(src->size == dst->size);
>>
>> PRINT_SURFACE_INFO("src", src);
>> @@ -196,11 +196,11 @@ static void fast_copy(int i915, const intel_ctx_t *ctx,
>> igt_assert(__gem_create_in_memory_regions(i915, &bb, &bb_size, region1) == 0);
>>
>> src = blt_create_object(i915, region1, width, height, bpp, 0,
>> - T_LINEAR, COMPRESSION_DISABLED, 0, true);
>> + T_LINEAR, COMPRESSION_DISABLED, 0);
>> mid = blt_create_object(i915, region2, width, height, bpp, 0,
>> - mid_tiling, COMPRESSION_DISABLED, 0, true);
>> + mid_tiling, COMPRESSION_DISABLED, 0);
>> dst = blt_create_object(i915, region1, width, height, bpp, 0,
>> - T_LINEAR, COMPRESSION_DISABLED, 0, true);
>> + T_LINEAR, COMPRESSION_DISABLED, 0);
>> igt_assert(src->size == dst->size);
>>
>> blt_surface_fill_rect(i915, src, width, height);
>> --
>> 2.25.1
>>
More information about the igt-dev
mailing list