Lines Matching refs:screen
51 struct tegra_screen *screen = to_tegra_screen(pscreen);
53 screen->gpu->destroy(screen->gpu);
78 struct tegra_screen *screen = to_tegra_screen(pscreen);
80 return screen->gpu->get_param(screen->gpu, param);
86 struct tegra_screen *screen = to_tegra_screen(pscreen);
88 return screen->gpu->get_paramf(screen->gpu, param);
95 struct tegra_screen *screen = to_tegra_screen(pscreen);
97 return screen->gpu->get_shader_param(screen->gpu, shader, param);
106 struct tegra_screen *screen = to_tegra_screen(pscreen);
108 return screen->gpu->get_video_param(screen->gpu, profile, entrypoint,
118 struct tegra_screen *screen = to_tegra_screen(pscreen);
120 return screen->gpu->get_compute_param(screen->gpu, ir_type, param,
127 struct tegra_screen *screen = to_tegra_screen(pscreen);
129 return screen->gpu->get_timestamp(screen->gpu);
140 struct tegra_screen *screen = to_tegra_screen(pscreen);
142 return screen->gpu->is_format_supported(screen->gpu, format, target,
153 struct tegra_screen *screen = to_tegra_screen(pscreen);
155 return screen->gpu->is_video_format_supported(screen->gpu, format, profile,
163 struct tegra_screen *screen = to_tegra_screen(pscreen);
165 return screen->gpu->can_create_resource(screen->gpu, template);
168 static int tegra_screen_import_resource(struct tegra_screen *screen,
179 status = screen->gpu->resource_get_handle(screen->gpu, NULL, resource->gpu,
195 err = drmPrimeFDToHandle(screen->fd, fd, &resource->handle);
208 struct tegra_screen *screen = to_tegra_screen(pscreen);
231 resource->gpu = screen->gpu->resource_create_with_modifiers(screen->gpu,
239 err = tegra_screen_import_resource(screen, resource);
246 resource->base.screen = &screen->base;
255 screen->gpu->resource_destroy(screen->gpu, resource->gpu);
267 struct tegra_screen *screen = to_tegra_screen(pscreen);
270 resource = screen->gpu->resource_create_front(screen->gpu, template,
273 resource->screen = pscreen;
284 struct tegra_screen *screen = to_tegra_screen(pscreen);
291 resource->gpu = screen->gpu->resource_from_handle(screen->gpu, template,
300 resource->base.screen = &screen->base;
311 struct tegra_screen *screen = to_tegra_screen(pscreen);
314 resource = screen->gpu->resource_from_user_memory(screen->gpu, template,
317 resource->screen = pscreen;
331 struct tegra_screen *screen = to_tegra_screen(pscreen);
345 ret = screen->gpu->resource_get_handle(screen->gpu,
374 struct tegra_screen *screen = to_tegra_screen(pscreen);
377 screen->gpu->flush_frontbuffer(screen->gpu,
388 struct tegra_screen *screen = to_tegra_screen(pscreen);
390 screen->gpu->fence_reference(screen->gpu, ptr, fence);
400 struct tegra_screen *screen = to_tegra_screen(pscreen);
402 return screen->gpu->fence_finish(screen->gpu,
411 struct tegra_screen *screen = to_tegra_screen(pscreen);
413 return screen->gpu->fence_get_fd(screen->gpu, fence);
421 struct tegra_screen *screen = to_tegra_screen(pscreen);
423 return screen->gpu->get_driver_query_info(screen->gpu, index, info);
431 struct tegra_screen *screen = to_tegra_screen(pscreen);
433 return screen->gpu->get_driver_query_group_info(screen->gpu, index, info);
440 struct tegra_screen *screen = to_tegra_screen(pscreen);
442 screen->gpu->query_memory_info(screen->gpu, info);
450 struct tegra_screen *screen = to_tegra_screen(pscreen);
453 if (screen->gpu->get_compiler_options)
454 options = screen->gpu->get_compiler_options(screen->gpu, ir, shader);
462 struct tegra_screen *screen = to_tegra_screen(pscreen);
464 return screen->gpu->get_disk_shader_cache(screen->gpu);
473 struct tegra_screen *screen = to_tegra_screen(pscreen);
492 resource->gpu = screen->gpu->resource_create_with_modifiers(screen->gpu,
499 err = tegra_screen_import_resource(screen, resource);
505 resource->base.screen = &screen->base;
510 screen->gpu->resource_destroy(screen->gpu, resource->gpu);
522 struct tegra_screen *screen = to_tegra_screen(pscreen);
524 screen->gpu->query_dmabuf_modifiers(screen->gpu, format, max, modifiers,
534 struct tegra_screen *screen = to_tegra_screen(pscreen);
536 return screen->gpu->is_dmabuf_modifier_supported(screen->gpu, modifier,
545 struct tegra_screen *screen = to_tegra_screen(pscreen);
547 return screen->gpu->get_dmabuf_modifier_planes ?
548 screen->gpu->get_dmabuf_modifier_planes(screen->gpu, modifier, format) :
557 struct tegra_screen *screen = to_tegra_screen(pscreen);
559 return screen->gpu->memobj_create_from_handle(screen->gpu, handle,
566 struct tegra_screen *screen;
568 screen = calloc(1, sizeof(*screen));
569 if (!screen)
572 screen->fd = fd;
574 screen->gpu_fd = loader_open_render_node("nouveau");
575 if (screen->gpu_fd < 0) {
579 free(screen);
583 screen->gpu = nouveau_drm_screen_create(screen->gpu_fd);
584 if (!screen->gpu) {
585 fprintf(stderr, "failed to create GPU screen\n");
586 close(screen->gpu_fd);
587 free(screen);
591 screen->base.destroy = tegra_screen_destroy;
592 screen->base.get_name = tegra_screen_get_name;
593 screen->base.get_vendor = tegra_screen_get_vendor;
594 screen->base.get_device_vendor = tegra_screen_get_device_vendor;
595 screen->base.get_param = tegra_screen_get_param;
596 screen->base.get_paramf = tegra_screen_get_paramf;
597 screen->base.get_shader_param = tegra_screen_get_shader_param;
598 screen->base.get_video_param = tegra_screen_get_video_param;
599 screen->base.get_compute_param = tegra_screen_get_compute_param;
600 screen->base.get_timestamp = tegra_screen_get_timestamp;
601 screen->base.context_create = tegra_screen_context_create;
602 screen->base.is_format_supported = tegra_screen_is_format_supported;
603 screen->base.is_video_format_supported = tegra_screen_is_video_format_supported;
606 if (screen->gpu->can_create_resource)
607 screen->base.can_create_resource = tegra_screen_can_create_resource;
609 screen->base.resource_create = tegra_screen_resource_create;
610 screen->base.resource_create_front = tegra_screen_resource_create_front;
611 screen->base.resource_from_handle = tegra_screen_resource_from_handle;
612 screen->base.resource_from_user_memory = tegra_screen_resource_from_user_memory;
613 screen->base.resource_get_handle = tegra_screen_resource_get_handle;
614 screen->base.resource_destroy = tegra_screen_resource_destroy;
616 screen->base.flush_frontbuffer = tegra_screen_flush_frontbuffer;
617 screen->base.fence_reference = tegra_screen_fence_reference;
618 screen->base.fence_finish = tegra_screen_fence_finish;
619 screen->base.fence_get_fd = tegra_screen_fence_get_fd;
621 screen->base.get_driver_query_info = tegra_screen_get_driver_query_info;
622 screen->base.get_driver_query_group_info = tegra_screen_get_driver_query_group_info;
623 screen->base.query_memory_info = tegra_screen_query_memory_info;
625 screen->base.get_compiler_options = tegra_screen_get_compiler_options;
626 screen->base.get_disk_shader_cache = tegra_screen_get_disk_shader_cache;
628 screen->base.resource_create_with_modifiers = tegra_screen_resource_create_with_modifiers;
629 screen->base.query_dmabuf_modifiers = tegra_screen_query_dmabuf_modifiers;
630 screen->base.is_dmabuf_modifier_supported = tegra_screen_is_dmabuf_modifier_supported;
631 screen->base.get_dmabuf_modifier_planes = tegra_screen_get_dmabuf_modifier_planes;
632 screen->base.memobj_create_from_handle = tegra_screen_memobj_create_from_handle;
634 return &screen->base;