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_s... 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;
Regards