nir: support lowering clipdist to arrays
[mesa.git] / src / compiler / glsl / builtin_functions.h
index ac1a8ccd1eb2a06aecbdd1abfddd236f6b1bd82b..ff3d4e9f436311878191a43f8a01100dbd282ccf 100644 (file)
 #ifndef BULITIN_FUNCTIONS_H
 #define BULITIN_FUNCTIONS_H
 
-extern void
-_mesa_glsl_initialize_builtin_functions();
+struct gl_shader;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void
+_mesa_glsl_builtin_functions_init_or_ref();
+
+void
+_mesa_glsl_builtin_functions_decref(void);
+
+#ifdef __cplusplus
+
+} /* extern "C" */
 
 extern ir_function_signature *
 _mesa_glsl_find_builtin_function(_mesa_glsl_parse_state *state,
                                  const char *name, exec_list *actual_parameters);
 
-extern ir_function *
-_mesa_glsl_find_builtin_function_by_name(const char *name);
+extern bool
+_mesa_glsl_has_builtin_function(_mesa_glsl_parse_state *state,
+                                const char *name);
 
 extern gl_shader *
 _mesa_glsl_get_builtin_function_shader(void);
@@ -40,9 +54,6 @@ _mesa_glsl_get_builtin_function_shader(void);
 extern ir_function_signature *
 _mesa_get_main_function_signature(glsl_symbol_table *symbols);
 
-extern void
-_mesa_glsl_release_builtin_functions(void);
-
 namespace generate_ir {
 
 ir_function_signature *
@@ -51,12 +62,23 @@ udiv64(void *mem_ctx, builtin_available_predicate avail);
 ir_function_signature *
 idiv64(void *mem_ctx, builtin_available_predicate avail);
 
+ir_function_signature *
+umod64(void *mem_ctx, builtin_available_predicate avail);
+
+ir_function_signature *
+imod64(void *mem_ctx, builtin_available_predicate avail);
+
 ir_function_signature *
 umul64(void *mem_ctx, builtin_available_predicate avail);
 
 ir_function_signature *
 sign64(void *mem_ctx, builtin_available_predicate avail);
 
+ir_function_signature *
+udivmod64(void *mem_ctx, builtin_available_predicate avail);
+
 }
 
+#endif /* __cplusplus */
+
 #endif /* BULITIN_FUNCTIONS_H */