radeonsi: get tgsi_shader_info only once before compilation
[mesa.git] / src / gallium / auxiliary / indices / u_indices.h
index abf5a3037d1f5b9aecd1e0867850ee1288fc83b8..54cd9441abce4e066652eef36f1bf98841e44dd8 100644 (file)
@@ -16,7 +16,7 @@
  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.  IN NO EVENT SHALL
- * TUNGSTEN GRAPHICS AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM,
+ * VMWARE AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM,
  * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
  * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
  * USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define PV_LAST       1
 #define PV_COUNT      2
 
+/**
+ * Index translator function (for glDrawElements() case)
+ *
+ * \param in     the input index buffer
+ * \param start  the index of the first vertex (pipe_draw_info::start)
+ * \param nr     the number of vertices (pipe_draw_info::count)
+ * \param out    output buffer big enough or nr vertices (of
+ *    @out_index_size bytes each)
+ */
 typedef void (*u_translate_func)( const void *in,
+                                  unsigned start,
                                   unsigned nr,
                                   void *out );
 
-typedef void (*u_generate_func)( unsigned nr,
+/**
+ * Index generator function (for glDrawArrays() case)
+ *
+ * \param start  the index of the first vertex (pipe_draw_info::start)
+ * \param nr     the number of vertices (pipe_draw_info::count)
+ * \param out    output buffer big enough or nr vertices (of
+ *    @out_index_size bytes each)
+ */
+typedef void (*u_generate_func)( unsigned start,
+                                 unsigned nr,
                                  void *out );
 
 
@@ -80,4 +99,27 @@ int u_index_generator( unsigned hw_mask,
                        u_generate_func *out_generate );
 
 
+void u_unfilled_init( void );
+
+int u_unfilled_translator( unsigned prim,
+                           unsigned in_index_size,
+                           unsigned nr,
+                           unsigned unfilled_mode,
+                           unsigned *out_prim,
+                           unsigned *out_index_size,
+                           unsigned *out_nr,
+                           u_translate_func *out_translate );
+
+int u_unfilled_generator( unsigned prim,
+                          unsigned start,
+                          unsigned nr,
+                          unsigned unfilled_mode,
+                          unsigned *out_prim,
+                          unsigned *out_index_size,
+                          unsigned *out_nr,
+                          u_generate_func *out_generate );
+
+
+
+
 #endif