On 05/19/2017 05:07 PM, Ilia Mirkin wrote:
> On Fri, May 19, 2017 at 7:29 PM, Ian Romanick <i...@freedesktop.org> wrote:
>> I missed that glsl_parser_extras.cpp has its own implementation of the
>> has_XXX_foo() functions that take the API and version as explicit
>> parameters.  Your patch predates that change.  There's room for some
>> modest savings there too.
> 
> The main thing about those functions is that they have to be
> out-of-line, as they're invoked via function pointer. Each one can be
> cut down a little using your approach of statically looking at the cap
> restrictions, but I don't think inlining can work. [I added that code
> to (a) add "permission" checks to enable extensions in glsl and (b)
> remove the duplication of adding #defines for all the ext names.]

Right.  I think there's two approaches to try.  The least intrusive is
to try some of these tricks in the existing functions.  The more
intrusive would be to generate the data into the table and modify
_mesa_glsl_extension::compatible_with_state to use the data instead of
calling the function.

I'm leaning towards the latter, but I haven't decided how I'd want to
generate the data.  The method used by other users of
main/extensions_table.h won't work because we only want a subset of
extensions.  Hmm...

>   -ilia

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to