diff --git a/src/gallium/winsys/virgl/drm/virgl_drm_winsys.c b/src/gallium/winsys/virgl/drm/virgl_drm_winsys.c index 6d995f2a7b4..6bb14d7271d 100644 --- a/src/gallium/winsys/virgl/drm/virgl_drm_winsys.c +++ b/src/gallium/winsys/virgl/drm/virgl_drm_winsys.c @@ -1220,16 +1220,16 @@ virgl_drm_winsys_create(int drmFD) if (drm_version < 0) return NULL; - qdws = CALLOC_STRUCT(virgl_drm_winsys); - if (!qdws) - return NULL; - if (params[param_context_init].value) { ret = virgl_init_context(drmFD); if (ret) return NULL; } + qdws = CALLOC_STRUCT(virgl_drm_winsys); + if (!qdws) + return NULL; + qdws->fd = drmFD; virgl_resource_cache_init(&qdws->cache, CACHE_TIMEOUT_USEC, virgl_drm_resource_cache_entry_is_busy,