From 67e4b8299620db2e2f33795621b23e9827604bb1 Mon Sep 17 00:00:00 2001 From: Zack Rusin Date: Fri, 26 Oct 2007 14:52:10 -0400 Subject: Get basic function calls working in the shaders. --- src/mesa/pipe/llvm/storage.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/mesa/pipe/llvm/storage.h') diff --git a/src/mesa/pipe/llvm/storage.h b/src/mesa/pipe/llvm/storage.h index ebdfcdefd60..b8d6eb06049 100644 --- a/src/mesa/pipe/llvm/storage.h +++ b/src/mesa/pipe/llvm/storage.h @@ -35,6 +35,7 @@ #include #include +#include #include namespace llvm { @@ -53,6 +54,10 @@ public: llvm::Value *out, llvm::Value *in, llvm::Value *consts); + llvm::Value *inputPtr() const; + llvm::Value *outputPtr() const; + llvm::Value *constPtr() const; + void setCurrentBlock(llvm::BasicBlock *block); llvm::ConstantInt *constantInt(int); @@ -76,6 +81,10 @@ public: int numConsts() const; + void pushArguments(llvm::Value *out, llvm::Value *in, + llvm::Value *constPtr); + void popArguments(); + private: llvm::Value *maskWrite(llvm::Value *src, int mask, llvm::Value *templ); const char *name(const char *prefix); @@ -106,6 +115,13 @@ private: int m_numConsts; std::map m_destWriteMap; + + struct Args { + llvm::Value *out; + llvm::Value *in; + llvm::Value *cst; + }; + std::stack m_argStack; }; #endif -- cgit v1.2.3