Lines Matching +full:- +full:- +full:disable +full:- +full:virglrenderer
2 * Virtio vhost-user GPU Device
4 * Copyright Red Hat, Inc. 2013-2018
9 * Marc-André Lureau <marcandre.lureau@redhat.com>
12 * See the COPYING file in the top-level directory.
16 #include <virglrenderer.h>
125 /* Not yet(?) defined in standard-headers, remove when possible */
182 cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_PARAMETER; in virgl_cmd_get_capset()
187 resp->hdr.type = VIRTIO_GPU_RESP_OK_CAPSET; in virgl_cmd_get_capset()
190 (void *)resp->capset_data); in virgl_cmd_get_capset()
191 vg_ctrl_response(g, cmd, &resp->hdr, sizeof(*resp) + max_size); in virgl_cmd_get_capset()
206 s = iov_to_buf(cmd->elem.out_sg, cmd->elem.out_num, in virgl_cmd_submit_3d()
210 cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_PARAMETER; in virgl_cmd_submit_3d()
291 cmd->error = VIRTIO_GPU_RESP_ERR_UNSPEC; in virgl_resource_attach_backing()
365 cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_SCANOUT_ID; in virgl_cmd_set_scanout()
378 cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_RESOURCE_ID; in virgl_cmd_set_scanout()
382 int fd = -1; in virgl_cmd_set_scanout()
385 cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_RESOURCE_ID; in virgl_cmd_set_scanout()
402 if (g->use_modifiers) { in virgl_cmd_set_scanout()
423 g_debug("disable scanout"); in virgl_cmd_set_scanout()
424 vg_send_msg(g, &msg, -1); in virgl_cmd_set_scanout()
426 g->scanout[ss.scanout_id].resource_id = ss.resource_id; in virgl_cmd_set_scanout()
444 if (g->scanout[i].resource_id != rf.resource_id) { in virgl_cmd_resource_flush()
456 vg_send_msg(g, &msg, -1); in virgl_cmd_resource_flush()
486 switch (cmd->cmd_hdr.type) { in vg_virgl_process_cmd()
547 g_debug("TODO handle ctrl %x\n", cmd->cmd_hdr.type); in vg_virgl_process_cmd()
548 cmd->error = VIRTIO_GPU_RESP_ERR_UNSPEC; in vg_virgl_process_cmd()
552 if (cmd->state != VG_CMD_STATE_NEW) { in vg_virgl_process_cmd()
556 if (cmd->error) { in vg_virgl_process_cmd()
558 cmd->cmd_hdr.type, cmd->error); in vg_virgl_process_cmd()
559 vg_ctrl_response_nodata(g, cmd, cmd->error); in vg_virgl_process_cmd()
563 if (!(cmd->cmd_hdr.flags & VIRTIO_GPU_FLAG_FENCE)) { in vg_virgl_process_cmd()
569 cmd->cmd_hdr.fence_id, cmd->cmd_hdr.type); in vg_virgl_process_cmd()
570 virgl_renderer_create_fence(cmd->cmd_hdr.fence_id, cmd->cmd_hdr.type); in vg_virgl_process_cmd()
579 QTAILQ_FOREACH_SAFE(cmd, &g->fenceq, next, tmp) { in virgl_write_fence()
584 if (cmd->cmd_hdr.fence_id > fence) { in virgl_write_fence()
587 g_debug("FENCE %" PRIu64, cmd->cmd_hdr.fence_id); in virgl_write_fence()
589 QTAILQ_REMOVE(&g->fenceq, cmd, next); in virgl_write_fence()
591 g->inflight--; in virgl_write_fence()
602 return g->drm_rnode_fd; in virgl_get_drm_fd()
628 if (g->drm_rnode_fd && virgl_cbs.version == 1) { in vg_virgl_init()
641 if (ret != -1) { in vg_virgl_init()
642 g->renderer_source = in vg_virgl_init()
643 vug_source_new(&g->dev, ret, G_IO_IN, vg_virgl_poll, g); in vg_virgl_init()