On 11/02/2012 05:13 PM, Ian Romanick wrote:
On 11/02/2012 03:01 PM, Paul Berry wrote:
On 2 November 2012 14:11, Ian Romanick <[email protected]
<mailto:[email protected]>> wrote:
On 11/01/2012 03:19 PM, Paul Berry wrote:
When the XML lists one or more GL api functions as aliases for
another
GL function, the mesa function that implements the
functionality is
usually named after the canonical version of the function (the
one
that is the target of the aliases). For example, FogCoordd is
listed
as an alias of FogCoorddEXT, and the Mesa function
implementing the
functionality is called loopback_FogCoorddEXT.
However, there are exceptions. For example, Enablei is listed
as an
alias of EnableIndexedEXT, but the Mesa function implementing the
functionality is called _mesa_EnableIndexed.
To account for these anomalies, this patch annotates the XML with
"mesa_name" attributes, which describe how to adjust the
function name
to find the corresponding Mesa function.
For example:
<function name="EnableIndexedEXT"
mesa_name="-EXT">...</__function>
<function name="IsProgramNV"
mesa_name="-NV+ARB">...</__function>
means that EnableIndexedEXT is implemented by a Mesa function
called
_mesa_EnableIndexed, and IsProgramNV is implemented by a Mesa
function
called _mesa_IsProgramARB.
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.
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.
That many? Ugh. Is it possible to switch the aliasing order? For the
IsProgram case, IsProgramNV would alias IsProgramARB (instead of the
other way around). Is that better or worse?
But I didn't actually try it. I'll try spending a few hours on it and
see how far I get.
FWIW, I would like to see Mesa use the core names. IsProgramNV is
particularly odd because we don't support the extension it came
from...the name IsProgramARB makes a lot more sense.
Doing it now could make sense...having the name-replacer stuff in the
XML and code generation does seem ugly. But yeah, 146 functions is
quite a lot, so I'll defer to your judgment.
--Ken
_______________________________________________
mesa-dev mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-dev