Make sure the swizzling vector is being recreated for each function. This makes
authorZack Rusin <zack@tungstengraphics.com>
Fri, 26 Oct 2007 23:53:53 +0000 (19:53 -0400)
committerKeith Whitwell <keith@tungstengraphics.com>
Mon, 29 Oct 2007 16:14:10 +0000 (16:14 +0000)
GLSL bricks work.

src/mesa/pipe/llvm/storage.cpp
src/mesa/pipe/llvm/storage.h

index 7300cdfef0638a3bf702c0822bf48d6ceeba7152..dca8b399585bd9710a23de31a7a51efbc57b38d7 100644 (file)
@@ -383,6 +383,7 @@ void Storage::pushTemps()
       }
       ++i;
    }
+   m_extSwizzleVec = 0;
 }
 
 void Storage::popTemps()
index eeadaa0506a98b77088c4d036725844b014ff909..ac3e4d5af9700b1042713a6cc87c1886353151b4 100644 (file)
@@ -106,11 +106,6 @@ private:
    llvm::VectorType *m_floatVecType;
    llvm::VectorType *m_intVecType;
 
-   llvm::Value      *m_undefFloatVec;
-   llvm::Value      *m_undefIntVec;
-
-   llvm::Value      *m_extSwizzleVec;
-
    char        m_name[32];
    int         m_idx;
 
@@ -118,6 +113,10 @@ private:
 
    std::map<int, bool > m_destWriteMap;
 
+   llvm::Value      *m_undefFloatVec;
+   llvm::Value      *m_undefIntVec;
+   llvm::Value      *m_extSwizzleVec;
+
    struct Args {
       llvm::Value *out;
       llvm::Value *in;