Merge branch 'nir-spirv' into vulkan
[mesa.git] / src / mesa / drivers / dri / i965 / brw_gs.h
index 5f7c437b3112b607ddfc14ef5b536fb9847ffd3d..573bbdb16f8e34605f374e52099713afde105058 100644 (file)
@@ -27,6 +27,7 @@
 #include <stdbool.h>
 
 #include "brw_context.h"
+#include "brw_program.h"
 
 #ifdef __cplusplus
 extern "C" {
@@ -36,11 +37,33 @@ struct gl_context;
 struct gl_shader_program;
 struct gl_program;
 
+struct brw_gs_compile_output {
+   void *mem_ctx;
+   const void *program;
+   uint32_t program_size;
+   struct brw_gs_prog_data prog_data;
+};
+
+struct brw_gs_prog_key;
+
+bool
+brw_compile_gs_prog(struct brw_context *brw,
+                    struct gl_shader_program *prog,
+                    struct brw_geometry_program *gp,
+                    struct brw_gs_prog_key *key,
+                    struct brw_gs_compile_output *output);
+
 bool brw_gs_prog_data_compare(const void *a, const void *b);
 
 void
 brw_upload_gs_prog(struct brw_context *brw);
 
+bool
+brw_codegen_gs_prog(struct brw_context *brw,
+                    struct gl_shader_program *prog,
+                    struct brw_geometry_program *gp,
+                    struct brw_gs_prog_key *key);
+
 #ifdef __cplusplus
 } /* extern "C" */
 #endif