{
.driver_name = "virtio_gpu",
.create_screen = pipe_virgl_create_screen,
+ .driconf_xml = &virgl_driconf_xml,
},
{
.driver_name = "v3d",
{
struct pipe_screen *screen;
- screen = virgl_drm_screen_create(fd);
+ screen = virgl_drm_screen_create(fd, config);
return screen ? debug_screen_wrap(screen) : NULL;
}
+const char *virgl_driconf_xml =
+ #include "virgl/virgl_driinfo.h"
+ ;
+
#else
struct pipe_screen *
return NULL;
}
+const char *virgl_driconf_xml = NULL;
+
#endif
#ifdef GALLIUM_VC4
const char *iris_driconf_xml;
const char *radeonsi_driconf_xml;
const char *v3d_driconf_xml;
+const char *virgl_driconf_xml;
struct pipe_screen *
pipe_i915_create_screen(int fd, const struct pipe_screen_config *config);
if (screen == NULL && strcmp(driver, "virpipe") == 0) {
struct virgl_winsys *vws;
vws = virgl_vtest_winsys_wrap(winsys);
- screen = virgl_create_screen(vws);
+ screen = virgl_create_screen(vws, NULL);
}
#endif
if (screen == NULL && strcmp(driver, "virpipe") == 0) {
struct virgl_winsys *vws;
vws = virgl_vtest_winsys_wrap(winsys);
- screen = virgl_create_screen(vws);
+ screen = virgl_create_screen(vws, NULL);
}
#endif
struct pipe_screen;
struct virgl_winsys;
+struct pipe_screen_config;
struct pipe_screen *
-virgl_create_screen(struct virgl_winsys *vws);
+virgl_create_screen(struct virgl_winsys *vws, const struct pipe_screen_config *config);
#endif
}
struct pipe_screen *
-virgl_create_screen(struct virgl_winsys *vws)
+virgl_create_screen(struct virgl_winsys *vws, const struct pipe_screen_config *config)
{
struct virgl_screen *screen = CALLOC_STRUCT(virgl_screen);
struct pipe_screen;
-struct pipe_screen *virgl_drm_screen_create(int fd);
+struct pipe_screen *virgl_drm_screen_create(int fd, const struct pipe_screen_config *config);
#endif
}
struct pipe_screen *
-virgl_drm_screen_create(int fd)
+virgl_drm_screen_create(int fd, const struct pipe_screen_config *config)
{
struct pipe_screen *pscreen = NULL;
goto unlock;
}
- pscreen = virgl_create_screen(vws);
+ pscreen = virgl_create_screen(vws, config);
if (pscreen) {
util_hash_table_set(fd_tab, intptr_to_pointer(dup_fd), pscreen);