lkml.org 
[lkml]   [2019]   [Apr]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 3/3] virtio-gpu api: VIRTIO_GPU_F_RESSOURCE_V2
> > +/* VIRTIO_GPU_CMD_RESOURCE_CREATE_V2 */
> > +struct virtio_gpu_cmd_resource_create_v2 {
> > + struct virtio_gpu_ctrl_hdr hdr;
> > + __le32 resource_id;
> > + __le32 format;
> > + __le32 width;
> > + __le32 height;
> > + /* 3d only */
> > + __le32 target;
> > + __le32 bind;
> > + __le32 depth;
> > + __le32 array_size;
> > + __le32 last_level;
> > + __le32 nr_samples;
> > + __le32 flags;
> > +};
>
>
> I assume this is always backed by some host side allocation, without any
> guest side pages associated with it?

No. It is not backed at all yet. Workflow would be like this:

(1) VIRTIO_GPU_CMD_RESOURCE_CREATE_V2
(2) VIRTIO_GPU_CMD_MEMORY_CREATE (see patch 2)
(3) VIRTIO_GPU_CMD_RESOURCE_MEMORY_ATTACH (see patch 2)

You could also create a larger pool with VIRTIO_GPU_CMD_MEMORY_CREATE,
then go attach multiple resources to it.

> If so, do we want the option for the guest allocate?

Allocation options are handled by VIRTIO_GPU_CMD_MEMORY_CREATE
(initially guest allocated only, i.e. what virtio-gpu supports today,
the plan is to add other allocation types later on).

> > +/* VIRTIO_GPU_RESP_OK_RESOURCE_INFO */
> > +struct virtio_gpu_resp_resource_info {
> > + struct virtio_gpu_ctrl_hdr hdr;
> > + __le32 stride[4];
> > + __le32 size[4];
> > +};
>
> offsets[4] needed too

That is in VIRTIO_GPU_CMD_RESOURCE_MEMORY_ATTACH ...

cheers,
Gerd

\
 
 \ /
  Last update: 2019-04-11 07:05    [W:0.115 / U:28.444 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site