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 <[email protected]>: > 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 <[email protected]>: > >> 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 [email protected] https://lists.freedesktop.org/mailman/listinfo/dri-devel
