On Tue, Sep 19, 2023 at 05:02:36PM +0800, Marc-André Lureau wrote:
> Hi
>
> On Fri, Sep 15, 2023 at 3:14 PM Huang Rui <ray.huang@amd.com> wrote:
> >
> > From: Antonio Caggiano <antonio.caggiano@collabora.com>
> >
> > Add support for the Venus capset, which enables Vulkan support through
> > the Venus Vulkan driver for virtio-gpu.
> >
> > Signed-off-by: Antonio Caggiano <antonio.caggiano@collabora.com>
> > Signed-off-by: Huang Rui <ray.huang@amd.com>
> > ---
> >
> > V4 -> V5:
> > - Send kernel patch to define VIRTIO_GPU_CAPSET_VENUS and will use
> > another patch to sync up linux headers. (Akihiko)
> > - https://lore.kernel.org/lkml/20230915105918.3763061-1-ray.huang@amd.com/
>
> Ok but in the meantime, you should have that header update patch in
> the series too, otherwise we can't compile it :)
>
In fact, it's in my repo. :-)
I am waiting for it to be merged into kernel mainline and then update the
commit id.
https://gitlab.freedesktop.org/rui/qemu-xen/-/commit/4ae9d078f9242890769c98162caf32f95df42529
I will include it in next series.
Thanks,
Ray
> thanks
>
> >
> > hw/display/virtio-gpu-virgl.c | 21 +++++++++++++++++----
> > 1 file changed, 17 insertions(+), 4 deletions(-)
> >
> > diff --git a/hw/display/virtio-gpu-virgl.c b/hw/display/virtio-gpu-virgl.c
> > index 8a017dbeb4..7f95490e90 100644
> > --- a/hw/display/virtio-gpu-virgl.c
> > +++ b/hw/display/virtio-gpu-virgl.c
> > @@ -437,6 +437,11 @@ static void virgl_cmd_get_capset_info(VirtIOGPU *g,
> > virgl_renderer_get_cap_set(resp.capset_id,
> > &resp.capset_max_version,
> > &resp.capset_max_size);
> > + } else if (info.capset_index == 2) {
> > + resp.capset_id = VIRTIO_GPU_CAPSET_VENUS;
> > + virgl_renderer_get_cap_set(resp.capset_id,
> > + &resp.capset_max_version,
> > + &resp.capset_max_size);
> > } else {
> > resp.capset_max_version = 0;
> > resp.capset_max_size = 0;
> > @@ -901,10 +906,18 @@ int virtio_gpu_virgl_init(VirtIOGPU *g)
> >
> > int virtio_gpu_virgl_get_num_capsets(VirtIOGPU *g)
> > {
> > - uint32_t capset2_max_ver, capset2_max_size;
> > + uint32_t capset2_max_ver, capset2_max_size, num_capsets;
> > + num_capsets = 1;
> > +
> > virgl_renderer_get_cap_set(VIRTIO_GPU_CAPSET_VIRGL2,
> > - &capset2_max_ver,
> > - &capset2_max_size);
> > + &capset2_max_ver,
> > + &capset2_max_size);
> > + num_capsets += capset2_max_ver ? 1 : 0;
> > +
> > + virgl_renderer_get_cap_set(VIRTIO_GPU_CAPSET_VENUS,
> > + &capset2_max_ver,
> > + &capset2_max_size);
> > + num_capsets += capset2_max_size ? 1 : 0;
> >
> > - return capset2_max_ver ? 2 : 1;
> > + return num_capsets;
> > }
> > --
> > 2.34.1
> >
> >
>
>
> --
> Marc-André Lureau