[igt-dev] [PATCH i-g-t] lib/igt_fb: on Xe driver take into account adlp with no extended block copy

Juha-Pekka Heikkila juhapekka.heikkila at gmail.com
Thu Oct 5 12:32:40 UTC 2023


On 5.10.2023 14.18, Zbigniew Kempczyński wrote:
> On Thu, Oct 05, 2023 at 11:39:54AM +0300, Juha-Pekka Heikkila wrote:
>> Hei Maarten,
>>
>> On 4.10.2023 19.41, Maarten Lankhorst wrote:
>>> Hey,
>>>
>>> Patch looks good, but right below HAS_FLATCCS is used instead.
>>>
>>> Could you fix that too for consistency?
>>
>> That is not cosmetic change, it will affect mtl behavior. Currently I don't
>> have access to machine which would match to what ci has so I cannot test
>> what will happen.
> 
> Looking at the code HAS_FLATCCS is not true for mtl so now we're
> not using extended block-copy command. Bspec said it should and
> BLT_CMD_EXTENDED property is set in intel_cmds_info.c. Do we
> have working blitcopy() for mtl now?
> 

I cannot remember why it was set like this, on early mtl boxes there was 
some reason. It has worked correctly ever since but probably should 
check if this can be switched to use extended blt as expected. I only 
have access to earlier stepping mtl which doesn't match to what ci has 
for gt part.

/Juha-Pekka

>>>
>>> With that amended,
>>>
>>> Reviewed-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
>>>
>>> Den 2023-10-04 kl. 15:47, skrev Juha-Pekka Heikkila:
>>>> With Xe add check to not use extended block copy if it is not available.
>>>>
>>>> Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila at gmail.com>
>>>> ---
>>>>    lib/igt_fb.c | 20 +++++++++++---------
>>>>    1 file changed, 11 insertions(+), 9 deletions(-)
>>>>
>>>> diff --git a/lib/igt_fb.c b/lib/igt_fb.c
>>>> index f0c0681ab..54a66eb6a 100644
>>>> --- a/lib/igt_fb.c
>>>> +++ b/lib/igt_fb.c
>>>> @@ -2920,17 +2920,19 @@ static void blitcopy(const struct igt_fb *dst_fb,
>>>>                blt_set_copy_object(&blt.src, src);
>>>>                blt_set_copy_object(&blt.dst, dst);
>>>> -            blt_set_object_ext(&ext.src,
>>>> -                       blt_compression_format(&blt, src_fb),
>>>> -                       src_fb->width, src_fb->height,
>>>> -                       SURFACE_TYPE_2D);
>>>> +            if (blt_uses_extended_block_copy(src_fb->fd)) {
>>>> +                blt_set_object_ext(&ext.src,
>>>> +                        blt_compression_format(&blt, src_fb),
>>>> +                        src_fb->width, src_fb->height,
>>>> +                        SURFACE_TYPE_2D);
>>>> -            blt_set_object_ext(&ext.dst,
>>>> -                       blt_compression_format(&blt, dst_fb),
>>>> -                       dst_fb->width, dst_fb->height,
>>>> -                       SURFACE_TYPE_2D);
>>>> +                blt_set_object_ext(&ext.dst,
>>>> +                        blt_compression_format(&blt, dst_fb),
>>>> +                        dst_fb->width, dst_fb->height,
>>>> +                        SURFACE_TYPE_2D);
>>>> -            pext = &ext;
>>>> +                pext = &ext;
>>>> +            }
>>>>                blt_set_batch(&blt.bb, xe_bb, bb_size, mem_region);
>>



More information about the igt-dev mailing list