diff --git a/src/glx/drisw_glx.c b/src/glx/drisw_glx.c index 4376cea9607..da4f17e8f0d 100644 --- a/src/glx/drisw_glx.c +++ b/src/glx/drisw_glx.c @@ -787,9 +787,6 @@ driswBindExtensions(struct drisw_screen *psc) __glXEnableDirectExtension(&psc->base, "GLX_EXT_create_context_es2_profile"); - if (!(psc->base.display->driver & (GLX_DRIVER_ZINK_INFER | GLX_DRIVER_ZINK_YES))) - __glXEnableDirectExtension(&psc->base, "GLX_MESA_copy_sub_buffer"); - if (dri_get_screen_param(psc->driScreen, PIPE_CAP_DEVICE_RESET_STATUS_QUERY)) __glXEnableDirectExtension(&psc->base, "GLX_ARB_create_context_robustness"); @@ -798,13 +795,15 @@ driswBindExtensions(struct drisw_screen *psc) __glXEnableDirectExtension(&psc->base, "GLX_ARB_context_flush_control"); __glXEnableDirectExtension(&psc->base, "GLX_MESA_query_renderer"); - if (psc->kopper) { + if (psc->base.display->driver == GLX_DRIVER_ZINK_YES) { __glXEnableDirectExtension(&psc->base, "GLX_EXT_buffer_age"); __glXEnableDirectExtension(&psc->base, "GLX_EXT_swap_control"); __glXEnableDirectExtension(&psc->base, "GLX_SGI_swap_control"); __glXEnableDirectExtension(&psc->base, "GLX_MESA_swap_control"); // This needs to check whether RELAXED is available // __glXEnableDirectExtension(&psc->base, "GLX_EXT_swap_control_tear"); + } else { + __glXEnableDirectExtension(&psc->base, "GLX_MESA_copy_sub_buffer"); } __glXEnableDirectExtension(&psc->base, "GLX_MESA_gl_interop"); }