i965: Move load_interpolated_input/barycentric_* intrinsics to the top.
[mesa.git] / src / mesa / state_tracker / st_nir.h
index 1192981bda7e12548b1980b76b3a3d80c525af67..523a274bb130a9685dd80f94041b24d6dcbaedb6 100644 (file)
 #ifndef ST_NIR_H
 #define ST_NIR_H
 
-typedef struct nir_shader nir_shader;
+#include "st_context.h"
+#include "compiler/shader_enums.h"
 
-void st_nir_lower_builtin(nir_shader *shader);
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct nir_shader;
+
+void st_nir_lower_builtin(struct nir_shader *shader);
+struct nir_shader * st_glsl_to_nir(struct st_context *st, struct gl_program *prog,
+                                   struct gl_shader_program *shader_program,
+                                   gl_shader_stage stage);
+
+void st_finalize_nir(struct st_context *st, struct gl_program *prog, struct nir_shader *nir);
+
+struct gl_program *
+st_nir_get_mesa_program(struct gl_context *ctx,
+                        struct gl_shader_program *shader_program,
+                        struct gl_linked_shader *shader);
+
+#ifdef __cplusplus
+}
+#endif
 
 #endif /* ST_NIR_H */