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 Yes, the kernel command parser is a bit too conservative here. Are you
>
> 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;
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