Fix lvalue output parameter assignment.

Output parameters can be any kind of lvalue, such as struct members or
array elements.

Change-Id: I4dce9dddfa95f58275fe3f6a4acf55532330a8f7
Reviewed-on: https://swiftshader-review.googlesource.com/5570
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/OpenGL/compiler/OutputASM.cpp b/src/OpenGL/compiler/OutputASM.cpp
index 9c467ab..e06efae 100644
--- a/src/OpenGL/compiler/OutputASM.cpp
+++ b/src/OpenGL/compiler/OutputASM.cpp
@@ -1223,7 +1223,7 @@
 						if(argument->getQualifier() == EvqOut ||
 						   argument->getQualifier() == EvqInOut)
 						{
-							copy(out, argument);
+							assignLvalue(out, argument);
 						}
 					}
 				}