Move loop register usage to relative addressing.

Bug 22652760

Change-Id: I50c6935bac91f586953b0dd2abd0d2a859468ee1
Reviewed-on: https://swiftshader-review.googlesource.com/4579
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
diff --git a/src/Shader/PixelProgram.cpp b/src/Shader/PixelProgram.cpp
index 12a99c8..9fec0b3 100644
--- a/src/Shader/PixelProgram.cpp
+++ b/src/Shader/PixelProgram.cpp
@@ -754,12 +754,6 @@
 				{
 					reg = v[i];
 				}
-				else if(src.rel.type == Shader::PARAMETER_LOOP)
-				{
-					Int aL = this->aL[loopDepth];
-
-					reg = v[i + aL];
-				}
 				else
 				{
 					Int a = relativeAddress(src);
@@ -947,6 +941,10 @@
 
 			return Extract(c, 0) * var.rel.scale;
 		}
+		else if(var.rel.type == Shader::PARAMETER_LOOP)
+		{
+			return aL[loopDepth];
+		}
 		else ASSERT(false);
 
 		return 0;