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

Reply via email to