Wow. Excellent work! That is quite astonishing
The RTG driver would have to effectively blit the changes across to the framebuffer... However, your buffer isn't memory mapped so you'd have to render the whole frame unless you add appropriate calls to get to the right framebuffer location?