diff options
Diffstat (limited to 'src/mesa/pipe/llvm/storagesoa.h')
-rw-r--r-- | src/mesa/pipe/llvm/storagesoa.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/mesa/pipe/llvm/storagesoa.h b/src/mesa/pipe/llvm/storagesoa.h index 551b0b9734..9d5609f539 100644 --- a/src/mesa/pipe/llvm/storagesoa.h +++ b/src/mesa/pipe/llvm/storagesoa.h @@ -29,6 +29,7 @@ #define STORAGESOA_H #include <vector> +#include <map> namespace llvm { class BasicBlock; @@ -65,7 +66,23 @@ public: int mask); void storeAddress(int idx, const std::vector<llvm::Value*> &val, int mask); +private: + llvm::Value *elementPointer(llvm::Value *ptr, int index, + int channel) const; + llvm::Value *element(llvm::Value *ptr, int index, + int channel) const; + const char *name(const char *prefix) const; + llvm::ConstantInt *constantInt(int) const; +private: + llvm::BasicBlock *m_block; + llvm::Value *m_input; + llvm::Value *m_output; + llvm::Value *m_consts; + + mutable std::map<int, llvm::ConstantInt*> m_constInts; + mutable char m_name[32]; + mutable int m_idx; }; #endif |