diff --git a/src/glx/dri2_glx.c b/src/glx/dri2_glx.c index 79ca02ebf9a..81314c0feea 100644 --- a/src/glx/dri2_glx.c +++ b/src/glx/dri2_glx.c @@ -979,6 +979,9 @@ dri2BindExtensions(struct dri2_screen *psc, struct glx_display * priv, if (psc->rendererQuery) __glXEnableDirectExtension(&psc->base, "GLX_MESA_query_renderer"); + + if (psc->interop) + __glXEnableDirectExtension(&psc->base, "GLX_MESA_gl_interop"); } static char * diff --git a/src/glx/dri3_glx.c b/src/glx/dri3_glx.c index 22065896c96..a1c9fb56696 100644 --- a/src/glx/dri3_glx.c +++ b/src/glx/dri3_glx.c @@ -755,6 +755,9 @@ dri3_bind_extensions(struct dri3_screen *psc, struct glx_display * priv, if (psc->rendererQuery) __glXEnableDirectExtension(&psc->base, "GLX_MESA_query_renderer"); + + if (psc->interop) + __glXEnableDirectExtension(&psc->base, "GLX_MESA_gl_interop"); } static char * diff --git a/src/glx/glxextensions.c b/src/glx/glxextensions.c index b731042cde7..7c443fcb96c 100644 --- a/src/glx/glxextensions.c +++ b/src/glx/glxextensions.c @@ -105,6 +105,7 @@ static const struct extension_info known_glx_extensions[] = { { GLX(ATI_pixel_format_float), N, N }, { GLX(INTEL_swap_event), N, N }, { GLX(MESA_copy_sub_buffer), N, N }, + { GLX(MESA_gl_interop), N, Y }, { GLX(MESA_query_renderer), N, Y }, { GLX(MESA_swap_control), N, Y }, { GLX(NV_float_buffer), N, N }, diff --git a/src/glx/glxextensions.h b/src/glx/glxextensions.h index 23c6fd1efae..ebd5def3985 100644 --- a/src/glx/glxextensions.h +++ b/src/glx/glxextensions.h @@ -60,6 +60,7 @@ enum ATI_pixel_format_float_bit, INTEL_swap_event_bit, MESA_copy_sub_buffer_bit, + MESA_gl_interop_bit, MESA_query_renderer_bit, MESA_swap_control_bit, MESA_swap_frame_usage_bit,