static void virgl_cmd_get_capset(VirtIOGPU *g,

                                 struct virtio_gpu_ctrl_command *cmd)

{

    struct virtio_gpu_get_capset gc;

    struct virtio_gpu_resp_capset *resp;

    uint32_t max_ver, max_size;

    VIRTIO_GPU_FILL_CMD(gc);



    virgl_renderer_get_cap_set(gc.capset_id, &max_ver,

                               &max_size);

    resp = g_malloc(sizeof(*resp) + max_size);



    resp->hdr.type = VIRTIO_GPU_RESP_OK_CAPSET;

    virgl_renderer_fill_caps(gc.capset_id,

                             gc.capset_version,

                             (void *)resp->capset_data);

    virtio_gpu_ctrl_response(g, cmd, &resp->hdr, sizeof(*resp) + max_size);

    g_free(resp);

}

static void virgl_cmd_get_capset(VirtIOGPU *g,

                                 struct virtio_gpu_ctrl_command *cmd)

{

    struct virtio_gpu_get_capset gc;

    struct virtio_gpu_resp_capset *resp;

    uint32_t max_ver, max_size;

    VIRTIO_GPU_FILL_CMD(gc);



    virgl_renderer_get_cap_set(gc.capset_id, &max_ver,

                               &max_size);

    resp = g_malloc(sizeof(*resp) + max_size);



    resp->hdr.type = VIRTIO_GPU_RESP_OK_CAPSET;

    virgl_renderer_fill_caps(gc.capset_id,

                             gc.capset_version,

                             (void *)resp->capset_data);

    virtio_gpu_ctrl_response(g, cmd, &resp->hdr, sizeof(*resp) + max_size);

    g_free(resp);

}

static void FUNC_0(VirtIOGPU *VAR_0,

                                 struct virtio_gpu_ctrl_command *VAR_1)

{

    struct virtio_gpu_get_capset VAR_2;

    struct virtio_gpu_resp_capset *VAR_3;

    uint32_t max_ver, max_size;

    VIRTIO_GPU_FILL_CMD(VAR_2);



    virgl_renderer_get_cap_set(VAR_2.capset_id, &max_ver,

                               &max_size);

    VAR_3 = g_malloc(sizeof(*VAR_3) + max_size);



    VAR_3->hdr.type = VIRTIO_GPU_RESP_OK_CAPSET;

    virgl_renderer_fill_caps(VAR_2.capset_id,

                             VAR_2.capset_version,

                             (void *)VAR_3->capset_data);

    virtio_gpu_ctrl_response(VAR_0, VAR_1, &VAR_3->hdr, sizeof(*VAR_3) + max_size);

    g_free(VAR_3);

}

static void FUNC_0(VirtIOGPU *VAR_0,
struct virtio_gpu_ctrl_command *VAR_1)
{ struct virtio_gpu_get_capset VAR_2; struct virtio_gpu_resp_capset *VAR_3; uint32_t max_ver, max_size; VIRTIO_GPU_FILL_CMD(VAR_2); virgl_renderer_get_cap_set(VAR_2.capset_id, &max_ver,
&max_size); VAR_3 = g_malloc(sizeof(*VAR_3) + max_size); VAR_3->hdr.type = VIRTIO_GPU_RESP_OK_CAPSET; virgl_renderer_fill_caps(VAR_2.capset_id,
VAR_2.capset_version,
(void *)VAR_3->capset_data); virtio_gpu_ctrl_response(VAR_0, VAR_1, &VAR_3->hdr, sizeof(*VAR_3) + max_size); g_free(VAR_3); }