On 09/30/2013 12:08 PM, Kenneth Graunke wrote: > On 09/30/2013 11:03 AM, Ian Romanick wrote: >> On 09/30/2013 03:08 AM, Chris Forbes wrote: >>> From: Maxence Le Dore <maxence.led...@gmail.com> >>> >>> V2 [Chris Forbes]: >>> - Add new pattern, fixup parameter reading. >>> >>> V3: Rebase onto new builtins machinery >>> >>> Reviewed-by: Kenneth Graunke <kenn...@whitecape.org> >>> --- >>> src/glsl/builtin_functions.cpp | 35 >>> +++++++++++++++++++++++++++++++++++ >>> src/glsl/glcpp/glcpp-parse.y | 3 +++ >>> src/glsl/glsl_parser_extras.cpp | 1 + >>> src/glsl/glsl_parser_extras.h | 2 ++ >>> src/glsl/ir.cpp | 2 +- >>> src/glsl/ir.h | 4 +++- >>> src/glsl/ir_clone.cpp | 1 + >>> src/glsl/ir_hv_accept.cpp | 1 + >>> src/glsl/ir_print_visitor.cpp | 3 ++- >>> src/glsl/ir_reader.cpp | 6 +++++- >>> src/glsl/ir_rvalue_visitor.cpp | 1 + >>> src/glsl/opt_tree_grafting.cpp | 1 + >>> src/glsl/standalone_scaffolding.cpp | 1 + >>> src/mesa/program/ir_to_mesa.cpp | 5 +++++ >>> 14 files changed, 62 insertions(+), 4 deletions(-) >>> >>> diff --git a/src/glsl/builtin_functions.cpp b/src/glsl/builtin_functions.cpp >>> index 72054e0..df735ef 100644 >>> --- a/src/glsl/builtin_functions.cpp >>> +++ b/src/glsl/builtin_functions.cpp >>> @@ -262,6 +262,13 @@ texture_query_lod(const _mesa_glsl_parse_state *state) >>> state->ARB_texture_query_lod_enable; >>> } >>> >>> +static bool >>> +texture_gather(const _mesa_glsl_parse_state *state) >>> +{ >>> + return state->is_version(400, 0) || >>> + state->ARB_texture_gather_enable; >>> +} >>> + >> >> This should be glsl_parser_state::has_texture_gather, like in Ken's >> f91475d... though it looks like some of the rest of this file could be >> modified to use that pattern. Hrm... > > Ian, > > These are accessed via function pointers (in ir_function_signature): > > /** > * A function that returns whether a built-in function is available in the > * current shading language (based on version, ES or desktop, and extensions). > */ > typedef bool (*builtin_available_predicate)(const _mesa_glsl_parse_state *); > > I don't believe that you can mix pointers to ordinary functions and pointers > to class methods. We could move /all/ of these predicates to be members of > _mesa_glsl_parse_state, and change the typedef, but...I don't think we get to > mix both styles. > > I would prefer to leave Chris's patch as is, and resolve this as a follow-up > series.
Yeah, I can get behind that. > --Ken _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev