llvmpipe: Silence Coverity incorrect sizeof expression defect.
[mesa.git] / src / gallium / drivers / llvmpipe / lp_state_fs.h
index 7d58c4936c7944580f7639c8eb74b7b34926e07e..306f5f9669ae8b1274196ae5611db8d62558c450 100644 (file)
@@ -69,22 +69,34 @@ struct lp_fragment_shader_variant_key
    struct lp_sampler_static_state sampler[PIPE_MAX_SAMPLERS];
 };
 
+
+/** doubly-linked list item */
 struct lp_fs_variant_list_item
 {
    struct lp_fragment_shader_variant *base;
    struct lp_fs_variant_list_item *next, *prev;
 };
 
+
 struct lp_fragment_shader_variant
 {
    struct lp_fragment_shader_variant_key key;
 
    boolean opaque;
 
+   struct gallivm_state *gallivm;
+
+   LLVMTypeRef jit_context_ptr_type;
+   LLVMTypeRef jit_thread_data_ptr_type;
+   LLVMTypeRef jit_linear_context_ptr_type;
+
    LLVMValueRef function[2];
 
    lp_jit_frag_func jit_function[2];
 
+   /* Total number of LLVM instructions generated */
+   unsigned nr_instrs;
+
    struct lp_fs_variant_list_item list_item_global, list_item_local;
    struct lp_fragment_shader *shader;
 
@@ -118,5 +130,9 @@ struct lp_fragment_shader
 void
 lp_debug_fs_variant(const struct lp_fragment_shader_variant *variant);
 
+void
+llvmpipe_remove_shader_variant(struct llvmpipe_context *lp,
+                               struct lp_fragment_shader_variant *variant);
+
 
 #endif /* LP_STATE_FS_H_ */