[Intel-gfx] [PATCH] igt/kms_addfb_basic: New subtest to check for fb modifier and tiling mode mismatch

Tvrtko Ursulin tvrtko.ursulin at linux.intel.com
Fri Oct 9 01:34:25 PDT 2015



On 08/10/15 09:55, Tvrtko Ursulin wrote:
> On 07/10/15 22:07, Vivek Kasireddy wrote:
>>
>> Hi Tvrtko,
>>
>> On Wed, 7 Oct 2015 15:07:30 +0100
>> Tvrtko Ursulin <tvrtko.ursulin at linux.intel.com> wrote:
>>
>>>
>>> Hi,
>>>
>>> On 07/10/15 03:35, Vivek Kasireddy wrote:
>>>> This new subtest will validate a Y-tiled object's tiling mode
>>>> against its associated fb modifier.
>>>>
>>>> Cc: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
>>>> Signed-off-by: Vivek Kasireddy <vivek.kasireddy at intel.com>
>>>> ---
>>>>    tests/kms_addfb_basic.c | 9 +++++++++
>>>>    1 file changed, 9 insertions(+)
>>>>
>>>> diff --git a/tests/kms_addfb_basic.c b/tests/kms_addfb_basic.c
>>>> index d466e4d..7ca1add 100644
>>>> --- a/tests/kms_addfb_basic.c
>>>> +++ b/tests/kms_addfb_basic.c
>>>> @@ -373,6 +373,15 @@ static void addfb25_ytile(int fd, int gen)
>>>>            f.handles[0] = gem_bo;
>>>>        }
>>>>
>>>> +    igt_subtest("addfb25-Y-tiled-X-modifier-mismatch") {
>>>> +        igt_require(gen >= 9);
>>>> +        igt_require_fb_modifiers(fd);
>>>> +        gem_set_tiling(fd, gem_bo, I915_TILING_Y, 1024*4);
>>>> +
>>>> +        f.modifier[0] = LOCAL_I915_FORMAT_MOD_X_TILED;
>>>> +        igt_assert(drmIoctl(fd,
>>>> LOCAL_DRM_IOCTL_MODE_ADDFB2, &f) < 0 && errno == EINVAL);
>>>> +    }
>>>> +
>>>>        igt_subtest("addfb25-Y-tiled") {
>>>>            igt_require_fb_modifiers(fd);
>>>>
>>>
>>> Wasn't the original WARN triggered by Y tiled object and Y fb
>>> modifier?
>>
>> Creating a new fb using a Y-tiled object and Y/X fb modifier will not
>> trigger the original WARN. It'll be triggered only if the fb is going
>> to be pinned -- and flipped. I am not sure how to get that WARN to be
>> triggered with the existing suite of igt tests.
>
> Ah yes, you would need to attempt display it, not even necessarily flip
> it. I am sure there are tests which do that. :) I know from recent
> activity kms_rotation_crc for example creates a Y tiled FB and displays
> it. So maybe borrow some code to start with from there.

Even better, kms_flip_tiling does the majority of what is needed here 
already. Just drop in a subtest which will do set_tiling and that should 
be good.

Regards,

Tvrtko




More information about the Intel-gfx mailing list