mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 07:43:54 -06:00
virtio-gpu-3d: add support for second capability set (v4)
Due to a kernel bug we can never increase the size of capability set 1, so introduce a new capability set in parallel, old userspace will continue to use the old set, new userspace will start using the new one when it detects a fixed kernel. v2: don't use a define from virglrenderer, just probe it. v3: fix compilation when virglrenderer disabled v4: fix style warning, just use ?: op instead. Signed-off-by: Dave Airlie <airlied@redhat.com> Message-id: 20180223023814.24459-1-airlied@gmail.com Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
0a773d55ac
commit
5643cc94ac
4 changed files with 23 additions and 2 deletions
|
@ -362,6 +362,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 == 1) {
|
||||
resp.capset_id = VIRTIO_GPU_CAPSET_VIRGL2;
|
||||
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;
|
||||
|
@ -635,4 +640,14 @@ int virtio_gpu_virgl_init(VirtIOGPU *g)
|
|||
return 0;
|
||||
}
|
||||
|
||||
int virtio_gpu_virgl_get_num_capsets(VirtIOGPU *g)
|
||||
{
|
||||
uint32_t capset2_max_ver, capset2_max_size;
|
||||
virgl_renderer_get_cap_set(VIRTIO_GPU_CAPSET_VIRGL2,
|
||||
&capset2_max_ver,
|
||||
&capset2_max_size);
|
||||
|
||||
return capset2_max_ver ? 2 : 1;
|
||||
}
|
||||
|
||||
#endif /* CONFIG_VIRGL */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue