Add SwiftShader dump from Feb 6 2013
diff --git a/src/Shader/VertexProgram.hpp b/src/Shader/VertexProgram.hpp
index 7423e5b..902cf75 100644
--- a/src/Shader/VertexProgram.hpp
+++ b/src/Shader/VertexProgram.hpp
@@ -1,104 +1,104 @@
-// SwiftShader Software Renderer

-//

-// Copyright(c) 2005-2012 TransGaming Inc.

-//

-// All rights reserved. No part of this software may be copied, distributed, transmitted,

-// transcribed, stored in a retrieval system, translated into any human or computer

-// language by any means, or disclosed to third parties without the explicit written

-// agreement of TransGaming Inc. Without such an agreement, no rights or licenses, express

-// or implied, including but not limited to any patent rights, are granted to you.

-//

-

-#ifndef sw_VertexProgram_hpp

-#define sw_VertexProgram_hpp

-

-#include "VertexRoutine.hpp"

-#include "ShaderCore.hpp"

-

-#include "Stream.hpp"

-#include "Types.hpp"

-

-namespace sw

-{

-	struct Stream;

-	class VertexShader;

-	class SamplerCore;

-

-	class VertexProgram : public VertexRoutine, public ShaderCore

-	{

-	public:

-		VertexProgram(const VertexProcessor::State &state, const VertexShader *vertexShader);

-

-		virtual ~VertexProgram();

-

-	private:

-		typedef Shader::DestinationParameter Dst;

-		typedef Shader::SourceParameter Src;

-		typedef Shader::Control Control;

-		typedef Shader::Usage Usage;

-

-		void pipeline(Registers &r);

-		void program(Registers &r);

-		void passThrough(Registers &r);

-

-		Vector4f reg(Registers &r, const Src &src, int offset = 0);

-		Vector4f readConstant(Registers &r, const Src &src, int offset = 0);

-		Int relativeAddress(Registers &r, const Shader::Parameter &var);

-		Int4 enableMask(Registers &r, const Shader::Instruction *instruction);

-

-		void M3X2(Registers &r, Vector4f &dst, Vector4f &src0, Src &src1);

-		void M3X3(Registers &r, Vector4f &dst, Vector4f &src0, Src &src1);

-		void M3X4(Registers &r, Vector4f &dst, Vector4f &src0, Src &src1);

-		void M4X3(Registers &r, Vector4f &dst, Vector4f &src0, Src &src1);

-		void M4X4(Registers &r, Vector4f &dst, Vector4f &src0, Src &src1);

-		void BREAK(Registers &r);

-		void BREAKC(Registers &r, Vector4f &src0, Vector4f &src1, Control);

-		void BREAKP(Registers &r, const Src &predicateRegister);

-		void BREAK(Registers &r, Int4 &condition);

-		void CONTINUE(Registers &r);

-		void TEST();

-		void CALL(Registers &r, int labelIndex, int callSiteIndex);

-		void CALLNZ(Registers &r, int labelIndex, int callSiteIndex, const Src &src);

-		void CALLNZb(Registers &r, int labelIndex, int callSiteIndex, const Src &boolRegister);

-		void CALLNZp(Registers &r, int labelIndex, int callSiteIndex, const Src &predicateRegister);

-		void ELSE(Registers &r);

-		void ENDIF(Registers &r);

-		void ENDLOOP(Registers &r);

-		void ENDREP(Registers &r);

-		void ENDWHILE(Registers &r);

-		void IF(Registers &r, const Src &src);

-		void IFb(Registers &r, const Src &boolRegister);

-		void IFp(Registers &r, const Src &predicateRegister);

-		void IFC(Registers &r, Vector4f &src0, Vector4f &src1, Control);

-		void IF(Registers &r, Int4 &condition);

-		void LABEL(int labelIndex);

-		void LOOP(Registers &r, const Src &integerRegister);

-		void REP(Registers &r, const Src &integerRegister);

-		void WHILE(Registers &r, const Src &temporaryRegister);

-		void RET(Registers &r);

-		void LEAVE(Registers &r);

-		void TEXLDL(Registers &r, Vector4f &dst, Vector4f &src, const Src&);

-		void TEX(Registers &r, Vector4f &dst, Vector4f &src, const Src&);

-

-		void sampleTexture(Registers &r, Vector4f &c, const Src &s, Float4 &u, Float4 &v, Float4 &w, Float4 &q);

-

-		SamplerCore *sampler[4];

-

-		int ifDepth;

-		int loopRepDepth;

-		int breakDepth;

-		int currentLabel;

-		bool whileTest;

-

-		// FIXME: Get rid of llvm::

-		llvm::BasicBlock *ifFalseBlock[24 + 24];

-		llvm::BasicBlock *loopRepTestBlock[4];

-		llvm::BasicBlock *loopRepEndBlock[4];

-		llvm::BasicBlock *labelBlock[2048];

-		std::vector<llvm::BasicBlock*> callRetBlock[2048];

-		llvm::BasicBlock *returnBlock;

-		bool isConditionalIf[24 + 24];

-	};

-}

-

-#endif   // sw_VertexProgram_hpp

+// SwiftShader Software Renderer
+//
+// Copyright(c) 2005-2012 TransGaming Inc.
+//
+// All rights reserved. No part of this software may be copied, distributed, transmitted,
+// transcribed, stored in a retrieval system, translated into any human or computer
+// language by any means, or disclosed to third parties without the explicit written
+// agreement of TransGaming Inc. Without such an agreement, no rights or licenses, express
+// or implied, including but not limited to any patent rights, are granted to you.
+//
+
+#ifndef sw_VertexProgram_hpp
+#define sw_VertexProgram_hpp
+
+#include "VertexRoutine.hpp"
+#include "ShaderCore.hpp"
+
+#include "Stream.hpp"
+#include "Types.hpp"
+
+namespace sw
+{
+	struct Stream;
+	class VertexShader;
+	class SamplerCore;
+
+	class VertexProgram : public VertexRoutine, public ShaderCore
+	{
+	public:
+		VertexProgram(const VertexProcessor::State &state, const VertexShader *vertexShader);
+
+		virtual ~VertexProgram();
+
+	private:
+		typedef Shader::DestinationParameter Dst;
+		typedef Shader::SourceParameter Src;
+		typedef Shader::Control Control;
+		typedef Shader::Usage Usage;
+
+		void pipeline(Registers &r);
+		void program(Registers &r);
+		void passThrough(Registers &r);
+
+		Vector4f reg(Registers &r, const Src &src, int offset = 0);
+		Vector4f readConstant(Registers &r, const Src &src, int offset = 0);
+		Int relativeAddress(Registers &r, const Shader::Parameter &var);
+		Int4 enableMask(Registers &r, const Shader::Instruction *instruction);
+
+		void M3X2(Registers &r, Vector4f &dst, Vector4f &src0, Src &src1);
+		void M3X3(Registers &r, Vector4f &dst, Vector4f &src0, Src &src1);
+		void M3X4(Registers &r, Vector4f &dst, Vector4f &src0, Src &src1);
+		void M4X3(Registers &r, Vector4f &dst, Vector4f &src0, Src &src1);
+		void M4X4(Registers &r, Vector4f &dst, Vector4f &src0, Src &src1);
+		void BREAK(Registers &r);
+		void BREAKC(Registers &r, Vector4f &src0, Vector4f &src1, Control);
+		void BREAKP(Registers &r, const Src &predicateRegister);
+		void BREAK(Registers &r, Int4 &condition);
+		void CONTINUE(Registers &r);
+		void TEST();
+		void CALL(Registers &r, int labelIndex, int callSiteIndex);
+		void CALLNZ(Registers &r, int labelIndex, int callSiteIndex, const Src &src);
+		void CALLNZb(Registers &r, int labelIndex, int callSiteIndex, const Src &boolRegister);
+		void CALLNZp(Registers &r, int labelIndex, int callSiteIndex, const Src &predicateRegister);
+		void ELSE(Registers &r);
+		void ENDIF(Registers &r);
+		void ENDLOOP(Registers &r);
+		void ENDREP(Registers &r);
+		void ENDWHILE(Registers &r);
+		void IF(Registers &r, const Src &src);
+		void IFb(Registers &r, const Src &boolRegister);
+		void IFp(Registers &r, const Src &predicateRegister);
+		void IFC(Registers &r, Vector4f &src0, Vector4f &src1, Control);
+		void IF(Registers &r, Int4 &condition);
+		void LABEL(int labelIndex);
+		void LOOP(Registers &r, const Src &integerRegister);
+		void REP(Registers &r, const Src &integerRegister);
+		void WHILE(Registers &r, const Src &temporaryRegister);
+		void RET(Registers &r);
+		void LEAVE(Registers &r);
+		void TEXLDL(Registers &r, Vector4f &dst, Vector4f &src, const Src&);
+		void TEX(Registers &r, Vector4f &dst, Vector4f &src, const Src&);
+
+		void sampleTexture(Registers &r, Vector4f &c, const Src &s, Float4 &u, Float4 &v, Float4 &w, Float4 &q);
+
+		SamplerCore *sampler[4];
+
+		int ifDepth;
+		int loopRepDepth;
+		int breakDepth;
+		int currentLabel;
+		bool whileTest;
+
+		// FIXME: Get rid of llvm::
+		llvm::BasicBlock *ifFalseBlock[24 + 24];
+		llvm::BasicBlock *loopRepTestBlock[4];
+		llvm::BasicBlock *loopRepEndBlock[4];
+		llvm::BasicBlock *labelBlock[2048];
+		std::vector<llvm::BasicBlock*> callRetBlock[2048];
+		llvm::BasicBlock *returnBlock;
+		bool isConditionalIf[24 + 24];
+	};
+}
+
+#endif   // sw_VertexProgram_hpp