Hi

Am 24.10.25 um 04:57 schrieb Dmitry Osipenko:
On 10/24/25 05:55, Dmitry Osipenko wrote:
On 10/23/25 09:22, Kasireddy, Vivek wrote:
Also, I think you might want to limit the plane sync to host mechanism to just 
guest
blobs only because based on what Dmitry said the vblank timer helps in 
virgl/venus/
native context use-cases. That is,
@@ -138,7 +140,7 @@ static int virtio_gpu_plane_atomic_check(struct drm_plane 
*plane,
         for (i = 0; i < new_plane_state->fb->format->num_planes; ++i) {
                 struct virtio_gpu_object *bo = 
gem_to_virtio_gpu_obj(new_plane_state->fb->obj[i]);

-               if (bo->host3d_blob || bo->guest_blob) {
+               if (bo->guest_blob && !vgdev->has_virgl_3d) {
Checking for obj->import_attach should be enough if it's only prime
sharing that doesn't work properly with vblank timer.

Please verify that only prime needs the workaround and send the updated
patch.
Don't forget to add clarifying comment to the code explaining the
workaround.

Sent out as "drm/virtgpu: Make vblank event dependent on the external sync".

Best regards
Thomas



--
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)


Reply via email to