summaryrefslogtreecommitdiff
path: root/src/mesa/pipe/llvm/storagesoa.h
diff options
context:
space:
mode:
authorZack Rusin <zack@tungstengraphics.com>2008-02-13 08:31:13 -0500
committerZack Rusin <zack@tungstengraphics.com>2008-02-13 08:33:16 -0500
commit7e51d2a9986231f4ca44a3643628645923e4d468 (patch)
treee06b54b3586eeebc491154099a89177cf01a4c32 /src/mesa/pipe/llvm/storagesoa.h
parentc107d572104890c83647ad611d303fe1fae70e8f (diff)
implement immediates and make them work
Diffstat (limited to 'src/mesa/pipe/llvm/storagesoa.h')
-rw-r--r--src/mesa/pipe/llvm/storagesoa.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/mesa/pipe/llvm/storagesoa.h b/src/mesa/pipe/llvm/storagesoa.h
index 43b23951de..2d07e836f4 100644
--- a/src/mesa/pipe/llvm/storagesoa.h
+++ b/src/mesa/pipe/llvm/storagesoa.h
@@ -38,6 +38,7 @@ namespace llvm {
class LoadInst;
class Value;
class VectorType;
+ class Module;
}
class StorageSoa
@@ -74,7 +75,9 @@ private:
int channel) const;
const char *name(const char *prefix) const;
llvm::ConstantInt *constantInt(int) const;
- llvm::Value *alignedArrayLoad(llvm::Value *val);
+ llvm::Value *alignedArrayLoad(llvm::Value *val);
+ llvm::Module *currentModule() const;
+ llvm::Value *createConstGlobalVector(float *vec);
private:
llvm::BasicBlock *m_block;
@@ -84,6 +87,8 @@ private:
llvm::Value *m_consts;
llvm::Value *m_temps;
+ std::map<int, std::vector<llvm::Value*> > m_immediates;
+
mutable std::map<int, llvm::ConstantInt*> m_constInts;
mutable char m_name[32];
mutable int m_idx;