const __DRIconfig **
dri_init_screen_helper(struct dri_screen *screen,
- struct drm_create_screen_arg *arg,
+ struct pipe_screen *pscreen,
unsigned pixel_bits)
{
- screen->pipe_screen = screen->api->create_screen(screen->api, screen->fd, arg);
+ screen->pipe_screen = pscreen;
if (!screen->pipe_screen) {
debug_printf("%s: failed to create pipe_screen\n", __FUNCTION__);
return NULL;
const __DRIconfig **
dri_init_screen_helper(struct dri_screen *screen,
- struct drm_create_screen_arg *arg,
+ struct pipe_screen *pscreen,
unsigned pixel_bits);
void
dri1_init_screen(__DRIscreen * sPriv)
{
const __DRIconfig **configs;
+ struct pipe_screen *pscreen;
struct dri_screen *screen;
struct dri1_create_screen_arg arg;
* using.
*/
- configs = dri_init_screen_helper(screen, &arg.base, sPriv->fbBPP);
+ pscreen = screen->api->create_screen(screen->api, screen->fd, &arg.base);
+ /* dri_init_screen_helper checks pscreen for us */
+
+ configs = dri_init_screen_helper(screen, pscreen, sPriv->fbBPP);
if (!configs)
goto fail;
{
const __DRIconfig **configs;
struct dri_screen *screen;
- struct drm_create_screen_arg arg;
+ struct pipe_screen *pscreen;
screen = CALLOC_STRUCT(dri_screen);
if (!screen)
sPriv->private = (void *)screen;
sPriv->extensions = dri_screen_extensions;
- arg.mode = DRM_CREATE_NORMAL;
+ pscreen = screen->api->create_screen(screen->api, screen->fd, NULL);
+ /* dri_init_screen_helper checks pscreen for us */
- configs = dri_init_screen_helper(screen, &arg, 32);
+ configs = dri_init_screen_helper(screen, pscreen, 32);
if (!configs)
goto fail;
{
const __DRIconfig **configs;
struct dri_screen *screen;
+ struct pipe_screen *pscreen;
struct drisw_create_screen_arg arg;
screen = CALLOC_STRUCT(dri_screen);
if (!screen)
return NULL;
- screen->api = drm_api_create();
+ screen->api = NULL; /* not needed */
screen->sPriv = sPriv;
screen->fd = -1;
arg.base.mode = DRM_CREATE_DRISW;
arg.lf = &drisw_lf;
- configs = dri_init_screen_helper(screen, &arg.base, 32);
+ pscreen = screen->api->create_screen(screen->api, screen->fd, &arg.base);
+ /* dri_init_screen_helper checks pscreen for us */
+
+ configs = dri_init_screen_helper(screen, pscreen, 32);
if (!configs)
goto fail;