static struct pipe_screen *
create_screen(int fd)
{
   struct intel_winsys *iws;
   struct pipe_screen *screen;

   iws = intel_winsys_create_for_fd(fd);
   if (!iws)
      return NULL;

   screen = ilo_screen_create(iws);
   if (!screen)
      return NULL;

   screen = debug_screen_wrap(screen);

   return screen;
}
Example #2
0
VkResult intel_gpu_init_winsys(struct intel_gpu *gpu)
{
    int fd;

    assert(!gpu->winsys);

    fd = gpu_open_render_node(gpu);
    if (fd < 0)
        return VK_ERROR_INITIALIZATION_FAILED;

    gpu->winsys = intel_winsys_create_for_fd(gpu->handle.instance->icd, fd);
    if (!gpu->winsys) {
        intel_log(gpu, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0,
                VK_NULL_HANDLE, 0, 0, "failed to create GPU winsys");
        gpu_close_render_node(gpu);
        return VK_ERROR_INITIALIZATION_FAILED;
    }

    return VK_SUCCESS;
}
Example #3
0
static struct pipe_screen *
pipe_ilo_create_screen(int fd)
{
#if _EGL_PIPE_ILO
   struct intel_winsys *iws;
   struct pipe_screen *screen;

   iws = intel_winsys_create_for_fd(fd);
   if (!iws)
      return NULL;

   screen = ilo_screen_create(iws);
   if (!screen)
      return NULL;

   screen = debug_screen_wrap(screen);

   return screen;
#else
   return NULL;
#endif
}