Re: Problem with VIV_FE_DRAW_2D_HEADER_DATA_COUNT

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Lucas,

Here you can find the test I used (actually pretty the same as your) : https://github.com/julbouln/test_omap5_drm/blob/master/test_viv2d.c#L472
And my fix that make it works : https://github.com/julbouln/etnaviv_x15/blob/master/etnaviv_cmd_parser.c#L182 (sorry it is kernel 4.9)

As a side question, did you ever managed to get multi source working by any chance ? I tried without success.

Regards

2018-06-04 12:32 GMT+02:00 Julien Boulnois <jboulnois@xxxxxxxxx>:
Hi Lucas,

Not yet, I was looking the possibility of using it when I found this limitation.

Regards

2018-06-04 11:19 GMT+02:00 Lucas Stach <l.stach@xxxxxxxxxxxxxx>:
Hi Julien,

Am Freitag, den 01.06.2018, 09:00 +0200 schrieb Julien Boulnois:
> Hi Lucas,
>
> I think I found an issue in etnaviv kernel driver regarding
> VIV_FE_DRAW_2D_HEADER_DATA_COUNT
>
> In your old test
> https://github.com/etnaviv/etna_viv/blob/master/attic/test2d/bitblt2d
> _from_stream.c you append streamed data at the end of draw command
> buffer, but driver gives an error :
> etnaviv_cmd_validate_one: op 21 not permitted at offset 50
>
> After looking closer, I think that FE_OPCODE_DRAW_2D check in
> etnaviv_cmd_parser.c#etnaviv_cmd_validate_one should take account of
> these extra data :
>
> case FE_OPCODE_DRAW_2D:
>             n = EXTRACT(cmd, VIV_FE_DRAW_2D_HEADER_COUNT) * 2 +
> EXTRACT(cmd, VIV_FE_DRAW_2D_HEADER_DATA_COUNT);
>             if (n == 0)
>                 n = 256;
>             len = 2 + n;
>             break;

Yes, the kernel command parser is a bit too conservative here. Are you
using the streamed data feature in your driver?

Regards,
Lucas



--
Julien Boulnois



--
Julien Boulnois
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel

[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux