#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 */