Hi,
- msg->vram.user_ctx = msg->vram.vram_gpa = vram_pp;
- msg->vram.is_vram_gpa_specified = 1;
- synthvid_send(hdev, msg);
That suggests it is possible to define multiple framebuffers in vram, then pageflip by setting vram.vram_gpa. If that is the case I'm wondering whenever vram helpers are a better fit maybe? You don't have to blit each and every display update then.
Thanks for the review. Unfortunately only the first vmbus message take effect and subsequent calls are ignored. I originally implemented using vram helpers but I figured out calling this vmbus message again won't change the vram location.
/me notices there also is user_ctx. What is this?
I think that needs a very big comment. Maybe even enforce that with a "vram_gpa_set" boolean in the device structure, and complain if we try to do that twice.
Also I guess congrats to microsoft for defining things like that :-/
I would be kind of surprised if the virtual device doesn't support pageflips. Maybe setting vram_gpa just isn't the correct way to do it. Is there a specification available?
There are a number of microsoft folks in Cc: Anyone willing to comment?
thanks, Gerd
PS: And, yes, in case pageflips really don't work going with shmem helpers + blits is reasonable.