• Home
  • Raw
  • Download

Lines Matching refs:output

50 drm_virtual_plane_create(struct drm_backend *b, struct drm_output *output)  in drm_virtual_plane_create()  argument
65 plane->formats[0].format = output->gbm_format; in drm_virtual_plane_create()
67 if ((output->gbm_bo_flags & GBM_BO_USE_LINEAR) && b->fb_modifiers) { in drm_virtual_plane_create()
108 drm_virtual_output_submit_frame(struct drm_output *output, in drm_virtual_output_submit_frame() argument
111 struct drm_backend *b = to_drm_backend(output->base.compositor); in drm_virtual_output_submit_frame()
122 ret = output->virtual_submit_frame(&output->base, fd, fb->strides[0], in drm_virtual_output_submit_frame()
138 struct drm_output *output = to_drm_output(output_base); in drm_virtual_output_repaint() local
139 struct drm_plane *scanout_plane = output->scanout_plane; in drm_virtual_output_repaint()
142 assert(output->virtual); in drm_virtual_output_repaint()
144 if (output->disable_pending || output->destroy_pending) in drm_virtual_output_repaint()
148 if (!gbm_surface_has_free_buffers(output->gbm_surface)) { in drm_virtual_output_repaint()
153 assert(!output->state_last); in drm_virtual_output_repaint()
158 state = drm_pending_state_get_output(pending_state, output); in drm_virtual_output_repaint()
160 state = drm_output_state_duplicate(output->state_cur, in drm_virtual_output_repaint()
169 if (drm_virtual_output_submit_frame(output, scanout_state->fb) < 0) in drm_virtual_output_repaint()
182 struct drm_output *output = to_drm_output(base); in drm_virtual_output_deinit() local
184 drm_output_fini_egl(output); in drm_virtual_output_deinit()
186 drm_virtual_plane_destroy(output->scanout_plane); in drm_virtual_output_deinit()
192 struct drm_output *output = to_drm_output(base); in drm_virtual_output_destroy() local
194 assert(output->virtual); in drm_virtual_output_destroy()
196 if (output->base.enabled) in drm_virtual_output_destroy()
197 drm_virtual_output_deinit(&output->base); in drm_virtual_output_destroy()
199 weston_output_release(&output->base); in drm_virtual_output_destroy()
201 drm_output_state_free(output->state_cur); in drm_virtual_output_destroy()
203 free(output); in drm_virtual_output_destroy()
209 struct drm_output *output = to_drm_output(output_base); in drm_virtual_output_enable() local
212 assert(output->virtual); in drm_virtual_output_enable()
219 if (!output->virtual_submit_frame) { in drm_virtual_output_enable()
224 output->scanout_plane = drm_virtual_plane_create(b, output); in drm_virtual_output_enable()
225 if (!output->scanout_plane) { in drm_virtual_output_enable()
227 output->base.name); in drm_virtual_output_enable()
231 if (drm_output_init_egl(output, b) < 0) { in drm_virtual_output_enable()
236 output->base.start_repaint_loop = drm_virtual_output_start_repaint_loop; in drm_virtual_output_enable()
237 output->base.repaint = drm_virtual_output_repaint; in drm_virtual_output_enable()
238 output->base.assign_planes = drm_assign_planes; in drm_virtual_output_enable()
239 output->base.set_dpms = NULL; in drm_virtual_output_enable()
240 output->base.switch_mode = NULL; in drm_virtual_output_enable()
241 output->base.gamma_size = 0; in drm_virtual_output_enable()
242 output->base.set_gamma = NULL; in drm_virtual_output_enable()
245 &output->scanout_plane->base, in drm_virtual_output_enable()
256 struct drm_output *output = to_drm_output(base); in drm_virtual_output_disable() local
258 assert(output->virtual); in drm_virtual_output_disable()
260 if (output->base.enabled) in drm_virtual_output_disable()
261 drm_virtual_output_deinit(&output->base); in drm_virtual_output_disable()
269 struct drm_output *output; in drm_virtual_output_create() local
271 output = zalloc(sizeof *output); in drm_virtual_output_create()
272 if (!output) in drm_virtual_output_create()
275 output->virtual = true; in drm_virtual_output_create()
276 output->gbm_bo_flags = GBM_BO_USE_LINEAR | GBM_BO_USE_RENDERING; in drm_virtual_output_create()
278 weston_output_init(&output->base, c, name); in drm_virtual_output_create()
280 output->base.enable = drm_virtual_output_enable; in drm_virtual_output_create()
281 output->base.destroy = drm_virtual_output_destroy; in drm_virtual_output_create()
282 output->base.disable = drm_virtual_output_disable; in drm_virtual_output_create()
283 output->base.attach_head = NULL; in drm_virtual_output_create()
285 output->state_cur = drm_output_state_alloc(output, NULL); in drm_virtual_output_create()
287 weston_compositor_add_pending_output(&output->base, c); in drm_virtual_output_create()
289 return &output->base; in drm_virtual_output_create()
296 struct drm_output *output = to_drm_output(base); in drm_virtual_output_set_gbm_format() local
299 if (parse_gbm_format(gbm_format, b->gbm_format, &output->gbm_format) == -1) in drm_virtual_output_set_gbm_format()
300 output->gbm_format = b->gbm_format; in drm_virtual_output_set_gbm_format()
302 return output->gbm_format; in drm_virtual_output_set_gbm_format()
309 struct drm_output *output = to_drm_output(output_base); in drm_virtual_output_set_submit_frame_cb() local
311 output->virtual_submit_frame = cb; in drm_virtual_output_set_submit_frame_cb()
331 struct drm_output *output = to_drm_output(output_base); in drm_virtual_output_finish_frame() local
334 wl_list_for_each(ps, &output->state_cur->plane_list, link) in drm_virtual_output_finish_frame()
337 drm_output_state_free(output->state_last); in drm_virtual_output_finish_frame()
338 output->state_last = NULL; in drm_virtual_output_finish_frame()
340 weston_output_finish_frame(&output->base, stamp, presented_flags); in drm_virtual_output_finish_frame()
344 if (output->recorder) in drm_virtual_output_finish_frame()
345 weston_output_schedule_repaint(&output->base); in drm_virtual_output_finish_frame()