gallivm,draw,llvmpipe: Support wider native registers.
[mesa.git] / src / gallium / drivers / llvmpipe / lp_state_setup.h
index b0c81baa75f62f9ee61af18a5e35b5c6f49ed934..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];
 };
 
@@ -46,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
@@ -60,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