Otherwise, this extension is not visible to the EGL users who use the swrast driver.
This will allow the swrast driver to use eglCreateImageKHR, provided the target is EGL_GL_TEXTURE_2D_KHR or EGL_GL_RENDERBUFFER_KHR. Note we still have to implement the create from render buffer path. v2: add it to optional_core_extensions instead of swrast_core_extensions, so it's not a requirement (Emil) v3: Merge egl/dri2 changes together, also add support for platform_wayland (Emil) --- src/egl/drivers/dri2/egl_dri2.c | 1 + src/egl/drivers/dri2/platform_wayland.c | 3 ++- src/egl/drivers/dri2/platform_x11.c | 3 ++- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c index a197e0456f..31a984fab9 100644 --- a/src/egl/drivers/dri2/egl_dri2.c +++ b/src/egl/drivers/dri2/egl_dri2.c @@ -435,6 +435,7 @@ static const struct dri2_extension_match optional_core_extensions[] = { { __DRI2_FENCE, 1, offsetof(struct dri2_egl_display, fence) }, { __DRI2_RENDERER_QUERY, 1, offsetof(struct dri2_egl_display, rendererQuery) }, { __DRI2_INTEROP, 1, offsetof(struct dri2_egl_display, interop) }, + { __DRI_IMAGE, 1, offsetof(struct dri2_egl_display, image) }, { NULL, 0, 0 } }; diff --git a/src/egl/drivers/dri2/platform_wayland.c b/src/egl/drivers/dri2/platform_wayland.c index 73966b7c50..a11eaedefd 100644 --- a/src/egl/drivers/dri2/platform_wayland.c +++ b/src/egl/drivers/dri2/platform_wayland.c @@ -1883,7 +1883,7 @@ static const struct dri2_egl_display_vtbl dri2_wl_swrast_display_vtbl = { .create_pixmap_surface = dri2_wl_create_pixmap_surface, .create_pbuffer_surface = dri2_fallback_create_pbuffer_surface, .destroy_surface = dri2_wl_destroy_surface, - .create_image = dri2_fallback_create_image_khr, + .create_image = dri2_create_image_khr, .swap_buffers = dri2_wl_swrast_swap_buffers, .swap_buffers_with_damage = dri2_fallback_swap_buffers_with_damage, .swap_buffers_region = dri2_fallback_swap_buffers_region, @@ -1906,6 +1906,7 @@ static const __DRIswrastLoaderExtension swrast_loader_extension = { static const __DRIextension *swrast_loader_extensions[] = { &swrast_loader_extension.base, + &image_lookup_extension.base, NULL, }; diff --git a/src/egl/drivers/dri2/platform_x11.c b/src/egl/drivers/dri2/platform_x11.c index 35c62a4975..07ef610f0d 100644 --- a/src/egl/drivers/dri2/platform_x11.c +++ b/src/egl/drivers/dri2/platform_x11.c @@ -1126,7 +1126,7 @@ static const struct dri2_egl_display_vtbl dri2_x11_swrast_display_vtbl = { .create_pixmap_surface = dri2_x11_create_pixmap_surface, .create_pbuffer_surface = dri2_x11_create_pbuffer_surface, .destroy_surface = dri2_x11_destroy_surface, - .create_image = dri2_fallback_create_image_khr, + .create_image = dri2_create_image_khr, .swap_interval = dri2_fallback_swap_interval, .swap_buffers = dri2_x11_swap_buffers, .set_damage_region = dri2_fallback_set_damage_region, @@ -1171,6 +1171,7 @@ static const __DRIswrastLoaderExtension swrast_loader_extension = { static const __DRIextension *swrast_loader_extensions[] = { &swrast_loader_extension.base, + &image_lookup_extension.base, NULL, }; -- 2.14.0.rc1.383.gd1ce394fe2-goog _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev