<div dir="ltr">Thanks for the review, Emil.  If we want to use swrast we'll probably need to implement a new swrast version of the image extension.  We can't reuse the functions from dri2.c, even for version 1 of the extension (createImageFromName, createImageFromRenderbuffer etc), since they require definitions from dri_driver.h (like struct winsys_handle). <div><br></div><div>However, we would like to get around the the constant re-implementation and code movement, and use kms_swrast if possible.  Can you outline some the challenges and possible solutions to using kms_swrast with platform_x11?  We could invest the time in making it work if it is achievable ...</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jun 28, 2017 at 8:24 AM, Emil Velikov <span dir="ltr"><<a href="mailto:emil.l.velikov@gmail.com" target="_blank">emil.l.velikov@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 9 June 2017 at 01:28, <a href="mailto:gurchetansingh@chromium.org">gurchetansingh@chromium.org</a><br>
<<a href="mailto:gurchetansingh@chromium.org">gurchetansingh@chromium.org</a>> wrote:<br>
</span><span class="">> From: Gurchetan Singh <<a href="mailto:gurchetansingh@google.com">gurchetansingh@google.com</a>><br>
><br>
> Otherwise, this extension is not visible to the EGL user<br>
> ---<br>
>  src/egl/drivers/dri2/egl_dri2.<wbr>c | 1 +<br>
>  1 file changed, 1 insertion(+)<br>
><br>
> diff --git a/src/egl/drivers/dri2/egl_<wbr>dri2.c b/src/egl/drivers/dri2/egl_<wbr>dri2.c<br>
> index 7175e827c9..9e845e99e3 100644<br>
> --- a/src/egl/drivers/dri2/egl_<wbr>dri2.c<br>
> +++ b/src/egl/drivers/dri2/egl_<wbr>dri2.c<br>
> @@ -429,6 +429,7 @@ static const struct dri2_extension_match swrast_driver_extensions[] = {<br>
><br>
>  static const struct dri2_extension_match swrast_core_extensions[] = {<br>
>     { __DRI_TEX_BUFFER, 2, offsetof(struct dri2_egl_display, tex_buffer) },<br>
> +   { __DRI_IMAGE, 1, offsetof(struct dri2_egl_display, image) },<br>
</span>Considering the entry points used, check the exact _DRI_IMAGE version<br>
needed (see dri_interface.h) and update accordingly.<br>
<br>
Also move the line to optional_core_extensions, since by using<br>
swrast_core_extensions you will fail to load older swrast_dri.so which<br>
are otherwise perfectly capable of working (albeit w/o said EGL<br>
extensions).<br>
<br>
Before you ask - yes, extension is present in dri2_core_extensions, so<br>
doing a second check is sub-optimal/strange.<br>
Do add a comment clearing any ambiguities.<br>
<br>
With that said - I'm back to addressing all the issues I've saw in libEGL ;-)<br>
<br>
Thanks<br>
<span class="HOEnZb"><font color="#888888">Emil<br>
</font></span></blockquote></div><br></div>