On 2 November 2012 14:11, Ian Romanick <span dir="ltr"><<a href="mailto:idr@freedesktop.org" target="_blank">idr@freedesktop.org</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 11/01/2012 03:19 PM, Paul Berry wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
When the XML lists one or more GL api functions as aliases for another<br>
GL function, the mesa function that implements the functionality is<br>
usually named after the canonical version of the function (the one<br>
that is the target of the aliases).  For example, FogCoordd is listed<br>
as an alias of FogCoorddEXT, and the Mesa function implementing the<br>
functionality is called loopback_FogCoorddEXT.<br>
<br>
However, there are exceptions.  For example, Enablei is listed as an<br>
alias of EnableIndexedEXT, but the Mesa function implementing the<br>
functionality is called _mesa_EnableIndexed.<br>
<br>
To account for these anomalies, this patch annotates the XML with<br>
"mesa_name" attributes, which describe how to adjust the function name<br>
to find the corresponding Mesa function.<br>
<br>
For example:<br>
<br>
   <function name="EnableIndexedEXT" mesa_name="-EXT">...</<u></u>function><br>
   <function name="IsProgramNV" mesa_name="-NV+ARB">...</<u></u>function><br>
<br>
means that EnableIndexedEXT is implemented by a Mesa function called<br>
_mesa_EnableIndexed, and IsProgramNV is implemented by a Mesa function<br>
called _mesa_IsProgramARB.<br>
</blockquote>
<br>
Oh yuck!  Why not just fix the names of the Mesa functions?  That seems much better than carrying the work-around in the code generator forever.<br></blockquote><div><br>The reason I shied away from this approach is that there are a lot of functions to fix (146 of them by my count), and I was worried it would take a very long time to rename all references to them.<br>
<br>But I didn't actually try it.  I'll try spending a few hours on it and see how far I get.<br></div></div>