iris: Don't enable smooth points when point sprites are enabled
[mesa.git] / src / gallium / auxiliary / gallivm / lp_bld_pack.h
index d58da4f01b365f93ac47945dbbe7f7800bfd4baf..3e07716dfe380a2233f600c9619cce26b11c3bcd 100644 (file)
 
 struct lp_type;
 
+LLVMValueRef
+lp_build_interleave2_half(struct gallivm_state *gallivm,
+                     struct lp_type type,
+                     LLVMValueRef a,
+                     LLVMValueRef b,
+                     unsigned lo_hi);
 
 LLVMValueRef
 lp_build_interleave2(struct gallivm_state *gallivm,
@@ -52,6 +58,11 @@ lp_build_interleave2(struct gallivm_state *gallivm,
                      LLVMValueRef b,
                      unsigned lo_hi);
 
+LLVMValueRef
+lp_build_uninterleave1(struct gallivm_state *gallivm,
+                       unsigned num_elems,
+                       LLVMValueRef a,
+                       unsigned lo_hi);
 
 void
 lp_build_unpack2(struct gallivm_state *gallivm,
@@ -62,6 +73,14 @@ lp_build_unpack2(struct gallivm_state *gallivm,
                  LLVMValueRef *dst_hi);
 
 
+void
+lp_build_unpack2_native(struct gallivm_state *gallivm,
+                        struct lp_type src_type,
+                        struct lp_type dst_type,
+                        LLVMValueRef src,
+                        LLVMValueRef *dst_lo,
+                        LLVMValueRef *dst_hi);
+
 void
 lp_build_unpack(struct gallivm_state *gallivm,
                 struct lp_type src_type,
@@ -69,6 +88,26 @@ lp_build_unpack(struct gallivm_state *gallivm,
                 LLVMValueRef src,
                 LLVMValueRef *dst, unsigned num_dsts);
 
+LLVMValueRef
+lp_build_extract_range(struct gallivm_state *gallivm,
+                       LLVMValueRef src,
+                       unsigned start,
+                       unsigned size);
+
+LLVMValueRef
+lp_build_concat(struct gallivm_state *gallivm,
+                LLVMValueRef src[],
+                struct lp_type src_type,
+                unsigned num_vectors);
+
+int
+lp_build_concat_n(struct gallivm_state *gallivm,
+                  struct lp_type src_type,
+                  LLVMValueRef *src,
+                  unsigned num_srcs,
+                  LLVMValueRef *dst,
+                  unsigned num_dsts);
+
 
 LLVMValueRef
 lp_build_packs2(struct gallivm_state *gallivm,
@@ -86,6 +125,14 @@ lp_build_pack2(struct gallivm_state *gallivm,
                LLVMValueRef hi);
 
 
+LLVMValueRef
+lp_build_pack2_native(struct gallivm_state *gallivm,
+                      struct lp_type src_type,
+                      struct lp_type dst_type,
+                      LLVMValueRef lo,
+                      LLVMValueRef hi);
+
+
 LLVMValueRef
 lp_build_pack(struct gallivm_state *gallivm,
               struct lp_type src_type,
@@ -102,4 +149,9 @@ lp_build_resize(struct gallivm_state *gallivm,
                 LLVMValueRef *dst, unsigned num_dsts);
 
 
+LLVMValueRef
+lp_build_pad_vector(struct gallivm_state *gallivm,
+                    LLVMValueRef src,
+                    unsigned dst_length);
+
 #endif /* !LP_BLD_PACK_H */