Am 13.03.19 um 18:33 schrieb Michel Dänzer:
[SNIP]
> Copy how? Using a GPU engine? CPU maybe? Though I suppose that won't work if the buffer isn't CPU accesible :/
Well we do have a debug path for accessing invisible memory with the CPU.
E.g. three registers: DATA and auto increment OFFSET_LO/HI. So you can just read/write DATA over and over again if you want to access some memory.
Right. I assume that'll be very slow, but I guess it could do when the memory isn't directly CPU accessible.
Just made a quick test and reading 33423360 bytes (4096x2040x4) using that interfaces takes about 13 seconds.
IIRC we don't use the auto increment optimization yet, so that can probably be improved by a factor of 3 or more.
I'd assume only writes are needed, no reads.
I've played around with that for a moment and with a bit of optimization I can actually get about 20 MB/s write performance out of the debugging interface.
This way overwriting a 4K framebuffer would take less than 2 seconds using this.
It's not ideal, but I think for a panic screen perfectly reasonable.
Christian.