diff options
Diffstat (limited to 'src/mesa/pipe/llvm/storagesoa.h')
-rw-r--r-- | src/mesa/pipe/llvm/storagesoa.h | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/src/mesa/pipe/llvm/storagesoa.h b/src/mesa/pipe/llvm/storagesoa.h index 9443234c82..8880bf5ec6 100644 --- a/src/mesa/pipe/llvm/storagesoa.h +++ b/src/mesa/pipe/llvm/storagesoa.h @@ -49,7 +49,8 @@ public: Output, Temp, Const, - Immediate + Immediate, + Address }; public: StorageSoa(llvm::BasicBlock *block, @@ -58,20 +59,17 @@ public: llvm::Value *consts, llvm::Value *temps); + std::vector<llvm::Value*> argument(Argument type, int idx, int swizzle, llvm::Value *indIdx =0); + void store(Argument type, int idx, const std::vector<llvm::Value*> &val, + int mask); + void addImmediate(float *vec); llvm::Value * addrElement(int idx) const; llvm::Value *extractIndex(llvm::Value *vec); - - void storeOutput(int dstIdx, const std::vector<llvm::Value*> &val, - int mask); - void storeTemp(int idx, const std::vector<llvm::Value*> &val, - 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; |