tgsi/ureg: make the dst register match the src indirection
[mesa.git] / src / gallium / auxiliary / draw / draw_gs.h
index e62b34a17948a878134cfb90dfb756cd65f47c24..46d2d614f06996adcc7a8df698aac44ccbf7e0cf 100644 (file)
@@ -68,6 +68,7 @@ struct draw_geometry_shader {
    unsigned position_output;
 
    unsigned max_output_vertices;
+   unsigned primitive_boundary;
    unsigned input_primitive;
    unsigned output_primitive;
 
@@ -95,6 +96,7 @@ struct draw_geometry_shader {
    int **llvm_prim_lengths;
    int *llvm_emitted_primitives;
    int *llvm_emitted_vertices;
+   int *llvm_prim_ids;
 #endif
 
    void (*fetch_inputs)(struct draw_geometry_shader *shader,
@@ -112,6 +114,8 @@ struct draw_geometry_shader {
                    unsigned input_primitives);
 };
 
+void draw_geometry_shader_new_instance(struct draw_geometry_shader *gs);
+
 /*
  * Returns the number of vertices emitted.
  * The vertex shader can emit any number of vertices as long as it's
@@ -132,7 +136,9 @@ void draw_geometry_shader_prepare(struct draw_geometry_shader *shader,
 int draw_gs_max_output_vertices(struct draw_geometry_shader *shader,
                                 unsigned pipe_prim);
 
+#ifdef HAVE_LLVM
 void draw_gs_set_current_variant(struct draw_geometry_shader *shader,
                                  struct draw_gs_llvm_variant *variant);
+#endif
 
 #endif