Make vertex registers members of routine classes.

Bug 22652760

Change-Id: I698ce910ee4302178d7235fa316aaa2b268e71a8
Reviewed-on: https://swiftshader-review.googlesource.com/4560
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
diff --git a/src/Shader/VertexRoutine.hpp b/src/Shader/VertexRoutine.hpp
index 3eec924..1861d10 100644
--- a/src/Shader/VertexRoutine.hpp
+++ b/src/Shader/VertexRoutine.hpp
@@ -41,59 +41,14 @@
 		void generate();
 
 	protected:
-		struct Registers
-		{
-			Registers(const VertexShader *shader) :
-				v(shader && shader->dynamicallyIndexedInput),
-				r(shader && shader->dynamicallyIndexedTemporaries),
-				o(shader && shader->dynamicallyIndexedOutput)
-			{
-				loopDepth = -1;
-				enableStack[0] = Int4(0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF);
+		Pointer<Byte> constants;
 
-				if(shader && shader->containsBreakInstruction())
-				{
-					enableBreak = Int4(0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF);
-				}
+		Int clipFlags;
 
-				if(shader && shader->containsContinueInstruction())
-				{
-					enableContinue = Int4(0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF);
-				}
-			}
-
-			Pointer<Byte> data;
-			Pointer<Byte> constants;
-
-			Int clipFlags;
-
-			RegisterArray<16> v;
-			RegisterArray<4096> r;
-			RegisterArray<12> o;
-			Vector4f a0;
-			Array<Int, 4> aL;
-			Vector4f p0;
-
-			Array<Int, 4> increment;
-			Array<Int, 4> iteration;
-
-			Int loopDepth;
-			Int stackIndex;   // FIXME: Inc/decrement callStack
-			Array<UInt, 16> callStack;
-
-			Int enableIndex;
-			Array<Int4, 1 + 24> enableStack;
-			Int4 enableBreak;
-			Int4 enableContinue;
-			Int4 enableLeave;
-
-			Int instanceID;
-		};
-
-		Registers r;
+		RegisterArray<16> v;   // Varying registers
+		RegisterArray<12> o;   // Output registers
 
 		const VertexProcessor::State &state;
-		const VertexShader *const shader;
 
 	private:
 		virtual void pipeline() = 0;