radeonsi: Fix draws using user index buffer.
[mesa.git] / src / gallium / drivers / llvmpipe / lp_state_setup.h
index 2b080fbc32110cd93b56abd75b7fb7a0360a6958..e0abe467a6d860b638ad3e9b4610fe08c48e2801 100644 (file)
@@ -15,11 +15,20 @@ struct lp_setup_variant_list_item
 
 
 struct lp_setup_variant_key {   
+   unsigned size:16;
    unsigned num_inputs:8;
+   int color_slot:8;
+
+   int bcolor_slot:8;
+   int spec_slot:8;
+   int bspec_slot:8;
    unsigned flatshade_first:1;
    unsigned pixel_center_half:1;
-   unsigned pad:7;
-   unsigned size:16;
+   unsigned twoside:1;
+   unsigned pad:5;
+
+   float units;
+   float scale;      
    struct lp_shader_input inputs[PIPE_MAX_SHADER_INPUTS];
 };
 
@@ -30,8 +39,7 @@ typedef void (*lp_jit_setup_triangle)( const float (*v0)[4],
                                       boolean front_facing,
                                       float (*a0)[4],
                                       float (*dadx)[4],
-                                      float (*dady)[4],
-                                      const struct lp_setup_variant_key *key );
+                                      float (*dady)[4] );
 
 
 
@@ -47,6 +55,8 @@ struct lp_setup_variant {
    
    struct lp_setup_variant_list_item list_item_global;
 
+   struct gallivm_state *gallivm;
+
    /* XXX: this is a pointer to the LLVM IR.  Once jit_function is
     * generated, we never need to use the IR again - need to find a
     * way to release this data without destroying the generated
@@ -61,15 +71,6 @@ struct lp_setup_variant {
    unsigned no;
 };
 
-void lp_setup_tri_fallback( const float (*v0)[4],
-                           const float (*v1)[4],
-                           const float (*v2)[4],
-                           boolean front_facing,
-                           float (*a0)[4],
-                           float (*dadx)[4],
-                           float (*dady)[4],
-                           const struct lp_setup_variant_key *key );
-
 void lp_delete_setup_variants(struct llvmpipe_context *lp);
 
 void