<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">2014-07-02 18:48 GMT+02:00 Emil Velikov <span dir="ltr"><<a href="mailto:emil.l.velikov@gmail.com" target="_blank">emil.l.velikov@gmail.com</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="">On 02/07/14 13:11, Andreas Pokorny wrote:<br>
> Hi,<br>
> Still trying the patch. Meanwhile I found two more things here:<br>
><br></div><div class="">
> [...]<br></div><div class="">
><br>
> The driver_name is later freed with free, so to avoid abort strdup should<br>
> be necessary.<br>
><br>
</div>The free snuck in shortly before Giovanni sent out the last revision. It is on<br>
my todo list, as I rebase the patches next week.<br>
<div></div></blockquote><div><br></div><div>Good. There was another case with "kms_swrast" in the other patch.<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div> </div></blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="">
><br>
>> +   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,<br>
>> dri);<br>
>> +   } else {<br>
>> +      dri->screen = dri->swrast->createNewScreen(0, dri->extensions,<br>
>> +                                                 &dri->driver_configs,<br>
>> dri);<br>
>> +   }<br>
>><br>
><br>
> Is there any reason for not binding the gbm_dri_core_extensions here?<br>
> If there isnt I think you could easily combine that function with<br>
> dri_screen_create_dri2.<br>
><br>
</div>gbm_dri_core_extensions seems to be missing in here. If you're thinking about<br>
gbm_dri_device_extensions, then things go a bit different. Those extensions<br>
are present for hw backed drivers only, thus it would make little sense to try<br>
and bind them in here.<br>
<br>
A minor split in dri_load_driver() to handle only the required one will come<br>
with the rebase.<br><div class="HOEnZb"><div class="h5">
<br></div></div></blockquote><div><br></div><div>I think am mostly interested in __DRI_IMAGE extension. This part of the code is still confusing for me. <br></div><div><br></div><div>regards<br>Andreas<br></div></div><br>
</div></div>