<div dir="ltr"><div>Hi, <br></div>Still trying the patch. Meanwhile I found two more things here:<br><div><div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-06-15 13:49 GMT+02:00 Giovanni Campagna <span dir="ltr"><<a href="mailto:scampa.giovanni@gmail.com" target="_blank">scampa.giovanni@gmail.com</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">From: Giovanni Campagna <<a href="mailto:gcampagna@src.gnome.org">gcampagna@src.gnome.org</a>><br>
[..]<br>
static int<br>
+dri_screen_create_swrast(struct gbm_dri_device *dri)<br>
+{<br>
+ int ret = 0;<br>
+<br>
+ dri->base.driver_name = "swrast";<br>
+<br>
+ ret = dri_load_driver(dri); </blockquote><div><br></div><div>The driver_name is later freed with free, so to avoid abort strdup should be necessary.<br> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
+ if (ret) {<br>
+ fprintf(stderr, "failed to load swrast driver\n");<br>
+ return ret;<br>
+ }<br>
+<br>
+ dri->extensions = gbm_dri_screen_extensions;<br>
+<br>
+ if (dri->swrast == NULL)<br>
+ return -1;<br>
+<br>
+ if (dri->swrast->base.version >= 4) {<br>
+ dri->screen = dri->swrast->createNewScreen2(0, dri->extensions,<br>
+ dri->driver_extensions,<br>
+ &dri->driver_configs, dri);<br>
+ } else {<br>
+ dri->screen = dri->swrast->createNewScreen(0, dri->extensions,<br>
+ &dri->driver_configs, dri);<br>
+ }<br></blockquote><div><br></div><div>Is there any reason for not binding the gbm_dri_core_extensions here?<br></div><div>If there isnt I think you could easily combine that function with dri_screen_create_dri2. <br>
</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
+<br>
+ dri->lookup_image = NULL;<br>
+ dri->lookup_user_data = NULL;<br>
+<br>
+ return 0;<br>
+}<br>
[...]<span class="HOEnZb"><font color="#888888"><br>
</font></span></blockquote></div><br><br></div></div></div></div>