diff options
Diffstat (limited to 'src/glx/drisw_glx.c')
-rw-r--r-- | src/glx/drisw_glx.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/glx/drisw_glx.c b/src/glx/drisw_glx.c index a7d08434877..cb1d650b5c1 100644 --- a/src/glx/drisw_glx.c +++ b/src/glx/drisw_glx.c @@ -680,9 +680,16 @@ driswCreateScreen(int screen, struct glx_display *priv) goto handle_error; } - psc->driScreen = - psc->swrast->createNewScreen(screen, loader_extensions, - &driver_configs, psc); + if (psc->swrast->base.version >= 4) { + psc->driScreen = + psc->swrast->createNewScreen2(screen, loader_extensions, + extensions, + &driver_configs, psc); + } else { + psc->driScreen = + psc->swrast->createNewScreen(screen, loader_extensions, + &driver_configs, psc); + } if (psc->driScreen == NULL) { ErrorMessageF("failed to create dri screen\n"); goto handle_error; |