From d4d8d7c468c8ba45e302e163dd87b4e45426e1da Mon Sep 17 00:00:00 2001 From: Zack Rusin Date: Sat, 20 Oct 2007 16:55:23 -0400 Subject: Muchos fixos. gears kinda works. and cases don't crash. glorious --- src/mesa/pipe/llvm/instructions.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src/mesa/pipe/llvm/instructions.h') diff --git a/src/mesa/pipe/llvm/instructions.h b/src/mesa/pipe/llvm/instructions.h index dd1e76728a..bb71cc8520 100644 --- a/src/mesa/pipe/llvm/instructions.h +++ b/src/mesa/pipe/llvm/instructions.h @@ -7,12 +7,13 @@ namespace llvm { class VectorType; + class Function; } class Instructions { public: - Instructions(llvm::Module *mod, llvm::BasicBlock *block); + Instructions(llvm::Module *mod, llvm::Function *func, llvm::BasicBlock *block); llvm::Value *add(llvm::Value *in1, llvm::Value *in2); llvm::Value *dp3(llvm::Value *in1, llvm::Value *in2); @@ -33,6 +34,9 @@ public: llvm::Value *rcp(llvm::Value *in); llvm::Value *rsq(llvm::Value *in); llvm::Value *sub(llvm::Value *in1, llvm::Value *in2); + llvm::Value *swizzleWrite(llvm::Value *in, int mask); + + void printVector(llvm::Value *val); private: const char *name(const char *prefix); @@ -46,6 +50,7 @@ private: llvm::Value *z, llvm::Value *w=0); private: llvm::Module *m_mod; + llvm::Function *m_func; char m_name[32]; llvm::BasicBlock *m_block; int m_idx; @@ -57,6 +62,9 @@ private: llvm::Function *m_llvmPow; llvm::Function *m_llvmFloor; llvm::Function *m_llvmFlog; + llvm::Function *m_llvmLit; + + llvm::Constant *m_fmtPtr; }; #endif -- cgit v1.2.3