[virglrenderer-devel] multiprocess model and GL

Gerd Hoffmann kraxel at redhat.com
Wed Jan 22 14:51:19 UTC 2020


  Hi,

> So we need to handle vk and gl resources in different ways, or figure
> something which works for both.

Saw your update @ freedesktop gitlab meanwhile.

So, yes, allocating an resource id first should work.  Started new
branch, with just the blob API patch for now:
  https://gitlab.freedesktop.org/virgl/drm-misc-next/commits/kraxel/memory-v3

New DRM_IOCTL_VIRTGPU_RESOURCE_INIT_BLOB ioctl:  Basically allocates
IDs (resource id, bo handle).  Also passes size.

Actually creating the resource should happen via execbuffer (gl/vk) or
via DRM_IOCTL_VIRTGPU_RESOURCE_ALLOC_BLOB (dumb buffer).

Right now the ioctls and structs have the bare minimum, I suspect we'll
need some more fields added.  So the question is:  What info can get
passed to the host via execbuffer?  I guess pretty much anything needed
for object creation?  How should the kernel get that metadata (the ones
it needs for mapping etc)?  Expect guest userspace pass that to the
kernel?  Or better ask the host?

cheers,
  Gerd



More information about the virglrenderer-devel mailing list