summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/llvm/storagesoa.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/pipe/llvm/storagesoa.h')
-rw-r--r--src/mesa/pipe/llvm/storagesoa.h14
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;