Lines Matching refs:g
24 virtio_gpu_base_reset(VirtIOGPUBase *g) in virtio_gpu_base_reset() argument
28 g->enable = 0; in virtio_gpu_base_reset()
30 for (i = 0; i < g->conf.max_outputs; i++) { in virtio_gpu_base_reset()
31 g->scanout[i].resource_id = 0; in virtio_gpu_base_reset()
32 g->scanout[i].width = 0; in virtio_gpu_base_reset()
33 g->scanout[i].height = 0; in virtio_gpu_base_reset()
34 g->scanout[i].x = 0; in virtio_gpu_base_reset()
35 g->scanout[i].y = 0; in virtio_gpu_base_reset()
36 g->scanout[i].ds = NULL; in virtio_gpu_base_reset()
41 virtio_gpu_base_fill_display_info(VirtIOGPUBase *g, in virtio_gpu_base_fill_display_info() argument
46 for (i = 0; i < g->conf.max_outputs; i++) { in virtio_gpu_base_fill_display_info()
47 if (g->enabled_output_bitmask & (1 << i)) { in virtio_gpu_base_fill_display_info()
49 dpy_info->pmodes[i].r.width = cpu_to_le32(g->req_state[i].width); in virtio_gpu_base_fill_display_info()
50 dpy_info->pmodes[i].r.height = cpu_to_le32(g->req_state[i].height); in virtio_gpu_base_fill_display_info()
56 virtio_gpu_base_generate_edid(VirtIOGPUBase *g, int scanout, in virtio_gpu_base_generate_edid() argument
60 .width_mm = g->req_state[scanout].width_mm, in virtio_gpu_base_generate_edid()
61 .height_mm = g->req_state[scanout].height_mm, in virtio_gpu_base_generate_edid()
62 .prefx = g->req_state[scanout].width, in virtio_gpu_base_generate_edid()
63 .prefy = g->req_state[scanout].height, in virtio_gpu_base_generate_edid()
64 .refresh_rate = g->req_state[scanout].refresh_rate, in virtio_gpu_base_generate_edid()
83 static void virtio_gpu_notify_event(VirtIOGPUBase *g, uint32_t event_type) in virtio_gpu_notify_event() argument
85 g->virtio_config.events_read |= event_type; in virtio_gpu_notify_event()
86 virtio_notify_config(&g->parent_obj); in virtio_gpu_notify_event()
91 VirtIOGPUBase *g = opaque; in virtio_gpu_ui_info() local
93 if (idx >= g->conf.max_outputs) { in virtio_gpu_ui_info()
97 g->req_state[idx].x = info->xoff; in virtio_gpu_ui_info()
98 g->req_state[idx].y = info->yoff; in virtio_gpu_ui_info()
99 g->req_state[idx].refresh_rate = info->refresh_rate; in virtio_gpu_ui_info()
100 g->req_state[idx].width = info->width; in virtio_gpu_ui_info()
101 g->req_state[idx].height = info->height; in virtio_gpu_ui_info()
102 g->req_state[idx].width_mm = info->width_mm; in virtio_gpu_ui_info()
103 g->req_state[idx].height_mm = info->height_mm; in virtio_gpu_ui_info()
106 g->enabled_output_bitmask |= (1 << idx); in virtio_gpu_ui_info()
108 g->enabled_output_bitmask &= ~(1 << idx); in virtio_gpu_ui_info()
112 virtio_gpu_notify_event(g, VIRTIO_GPU_EVENT_DISPLAY); in virtio_gpu_ui_info()
119 VirtIOGPUBase *g = opaque; in virtio_gpu_gl_flushed() local
120 VirtIOGPUBaseClass *vgc = VIRTIO_GPU_BASE_GET_CLASS(g); in virtio_gpu_gl_flushed()
123 vgc->gl_flushed(g); in virtio_gpu_gl_flushed()
130 VirtIOGPUBase *g = opaque; in virtio_gpu_gl_block() local
133 g->renderer_blocked++; in virtio_gpu_gl_block()
135 g->renderer_blocked--; in virtio_gpu_gl_block()
137 assert(g->renderer_blocked >= 0); in virtio_gpu_gl_block()
139 if (!block && g->renderer_blocked == 0) { in virtio_gpu_gl_block()
140 virtio_gpu_gl_flushed(g); in virtio_gpu_gl_block()
147 VirtIOGPUBase *g = opaque; in virtio_gpu_get_flags() local
150 if (virtio_gpu_virgl_enabled(g->conf)) { in virtio_gpu_get_flags()
154 if (virtio_gpu_dmabuf_enabled(g->conf)) { in virtio_gpu_get_flags()
177 VirtIOGPUBase *g = VIRTIO_GPU_BASE(qdev); in virtio_gpu_base_device_realize() local
180 if (g->conf.max_outputs > VIRTIO_GPU_MAX_SCANOUTS) { in virtio_gpu_base_device_realize()
185 if (virtio_gpu_virgl_enabled(g->conf)) { in virtio_gpu_base_device_realize()
186 error_setg(&g->migration_blocker, "virgl is not yet migratable"); in virtio_gpu_base_device_realize()
187 if (migrate_add_blocker(&g->migration_blocker, errp) < 0) { in virtio_gpu_base_device_realize()
192 g->virtio_config.num_scanouts = cpu_to_le32(g->conf.max_outputs); in virtio_gpu_base_device_realize()
193 virtio_init(VIRTIO_DEVICE(g), VIRTIO_ID_GPU, in virtio_gpu_base_device_realize()
196 if (virtio_gpu_virgl_enabled(g->conf)) { in virtio_gpu_base_device_realize()
205 g->enabled_output_bitmask = 1; in virtio_gpu_base_device_realize()
207 g->req_state[0].width = g->conf.xres; in virtio_gpu_base_device_realize()
208 g->req_state[0].height = g->conf.yres; in virtio_gpu_base_device_realize()
210 g->hw_ops = &virtio_gpu_ops; in virtio_gpu_base_device_realize()
211 for (i = 0; i < g->conf.max_outputs; i++) { in virtio_gpu_base_device_realize()
212 g->scanout[i].con = in virtio_gpu_base_device_realize()
213 graphic_console_init(DEVICE(g), i, &virtio_gpu_ops, g); in virtio_gpu_base_device_realize()
223 VirtIOGPUBase *g = VIRTIO_GPU_BASE(vdev); in virtio_gpu_base_get_features() local
225 if (virtio_gpu_virgl_enabled(g->conf) || in virtio_gpu_base_get_features()
226 virtio_gpu_rutabaga_enabled(g->conf)) { in virtio_gpu_base_get_features()
229 if (virtio_gpu_edid_enabled(g->conf)) { in virtio_gpu_base_get_features()
232 if (virtio_gpu_blob_enabled(g->conf)) { in virtio_gpu_base_get_features()
235 if (virtio_gpu_context_init_enabled(g->conf)) { in virtio_gpu_base_get_features()
253 VirtIOGPUBase *g = VIRTIO_GPU_BASE(qdev); in virtio_gpu_base_device_unrealize() local
259 migrate_del_blocker(&g->migration_blocker); in virtio_gpu_base_device_unrealize()