}
struct pipe_screen *
-pipe_loader_create_screen(struct pipe_loader_device *dev,
- struct pipe_screen_config *config)
+pipe_loader_create_screen(struct pipe_loader_device *dev)
{
+ struct pipe_screen_config config;
+
pipe_loader_load_options(dev);
- config->options = &dev->option_cache;
+ config.options = &dev->option_cache;
- return dev->ops->create_screen(dev, config);
+ return dev->ops->create_screen(dev, &config);
}
struct util_dl_library *
* Create a pipe_screen for the specified device.
*
* \param dev Device the screen will be created for.
- * \param config Configuration options. The lifetime of this structure and its
- * elements may be limited to the duration of this call.
*/
struct pipe_screen *
-pipe_loader_create_screen(struct pipe_loader_device *dev,
- struct pipe_screen_config *config);
+pipe_loader_create_screen(struct pipe_loader_device *dev);
/**
* Query the configuration parameters for the specified device.
goto free_authenticate;
if (pipe_loader_drm_probe_fd(&scrn->base.dev, fd))
- scrn->base.pscreen = pipe_loader_create_screen(scrn->base.dev, NULL);
+ scrn->base.pscreen = pipe_loader_create_screen(scrn->base.dev);
if (!scrn->base.pscreen)
goto release_pipe;
free(geom_reply);
if (pipe_loader_drm_probe_fd(&scrn->base.dev, fd))
- scrn->base.pscreen = pipe_loader_create_screen(scrn->base.dev, NULL);
+ scrn->base.pscreen = pipe_loader_create_screen(scrn->base.dev);
if (!scrn->base.pscreen)
goto release_pipe;
goto free_screen;
if (pipe_loader_drm_probe_fd(&vscreen->dev, new_fd))
- vscreen->pscreen = pipe_loader_create_screen(vscreen->dev, NULL);
+ vscreen->pscreen = pipe_loader_create_screen(vscreen->dev);
if (!vscreen->pscreen)
goto release_pipe;
device::device(clover::platform &platform, pipe_loader_device *ldev) :
platform(platform), ldev(ldev) {
- pipe = pipe_loader_create_screen(ldev, NULL);
+ pipe = pipe_loader_create_screen(ldev);
if (!pipe || !pipe->get_param(pipe, PIPE_CAP_COMPUTE)) {
if (pipe)
pipe->destroy(pipe);
if (pipe_loader_drm_probe_fd(&screen->dev, fd)) {
- struct pipe_screen_config config = {};
-
dri_init_options(screen);
- pscreen = pipe_loader_create_screen(screen->dev, &config);
+ pscreen = pipe_loader_create_screen(screen->dev);
}
if (!pscreen)
if (screen->fd < 0 || (fd = fcntl(screen->fd, F_DUPFD_CLOEXEC, 3)) < 0)
goto free_screen;
- struct pipe_screen_config config = {};
-
dri_init_options(screen);
if (pipe_loader_sw_probe_kms(&screen->dev, fd))
- pscreen = pipe_loader_create_screen(screen->dev, &config);
+ pscreen = pipe_loader_create_screen(screen->dev);
if (!pscreen)
goto release_pipe;
sPriv->extensions = drisw_screen_extensions;
if (pipe_loader_sw_probe_dri(&screen->dev, &drisw_lf)) {
- struct pipe_screen_config config;
dri_init_options(screen);
- pscreen = pipe_loader_create_screen(screen->dev, &config);
+ pscreen = pipe_loader_create_screen(screen->dev);
}
if (!pscreen)
goto out_no_fd;
if (pipe_loader_drm_probe_fd(&xa->dev, fd))
- xa->screen = pipe_loader_create_screen(xa->dev, NULL);
+ xa->screen = pipe_loader_create_screen(xa->dev);
if (!xa->screen)
goto out_no_screen;
return D3DERR_DRIVERINTERNALERROR;
}
- ctx->base.hal = pipe_loader_create_screen(ctx->dev, NULL);
+ ctx->base.hal = pipe_loader_create_screen(ctx->dev);
if (!ctx->base.hal) {
ERR("Unable to load requested driver.\n");
drm_destroy(&ctx->base);
/* wrap it to create a software screen that can share resources */
if (pipe_loader_sw_probe_wrapped(&ctx->swdev, ctx->base.hal))
- ctx->base.ref = pipe_loader_create_screen(ctx->swdev, NULL);
+ ctx->base.ref = pipe_loader_create_screen(ctx->swdev);
if (!ctx->base.ref) {
ERR("Couldn't wrap drm screen to swrast screen. Software devices "
ret = pipe_loader_probe(&ctx->dev, 1);
assert(ret);
- ctx->screen = pipe_loader_create_screen(ctx->dev, NULL);
+ ctx->screen = pipe_loader_create_screen(ctx->dev);
assert(ctx->screen);
ctx->pipe = ctx->screen->context_create(ctx->screen, NULL, 0);
assert(ret);
/* init a pipe screen */
- p->screen = pipe_loader_create_screen(p->dev, NULL);
+ p->screen = pipe_loader_create_screen(p->dev);
assert(p->screen);
/* create the pipe driver context and cso context */
assert(ret);
/* init a pipe screen */
- p->screen = pipe_loader_create_screen(p->dev, NULL);
+ p->screen = pipe_loader_create_screen(p->dev);
assert(p->screen);
/* create the pipe driver context and cso context */