Remove needless unique_ptr wrapping from inputs/outputs

Bug: b/124534397
Change-Id: Icfe0d83b0e8df648c90ba7f250924ad28dd06b55
Reviewed-on: https://swiftshader-review.googlesource.com/c/25108
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Chris Forbes <chrisforbes@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
diff --git a/src/Pipeline/PixelRoutine.cpp b/src/Pipeline/PixelRoutine.cpp
index fd40455..e4452fc 100644
--- a/src/Pipeline/PixelRoutine.cpp
+++ b/src/Pipeline/PixelRoutine.cpp
@@ -38,7 +38,7 @@
 		{
 			for (int i = 0; i < MAX_INTERFACE_COMPONENTS; i++)
 			{
-				(*routine.inputs)[i] = Float4(0.0f);
+				routine.inputs[i] = Float4(0.0f);
 			}
 		}
 	}
@@ -148,14 +148,14 @@
 				{
 					if (input.Centroid)
 					{
-						(*routine.inputs)[interpolant] =
+						routine.inputs[interpolant] =
 								interpolateCentroid(XXXX, YYYY, rhwCentroid,
 													primitive + OFFSET(Primitive, V[interpolant]),
 													input.Flat, state.perspective);
 					}
 					else
 					{
-						(*routine.inputs)[interpolant] =
+						routine.inputs[interpolant] =
 								interpolate(xxxx, Dv[interpolant], rhw,
 											primitive + OFFSET(Primitive, V[interpolant]),
 											input.Flat, state.perspective, false);
diff --git a/src/Pipeline/SpirvShader.cpp b/src/Pipeline/SpirvShader.cpp
index 4cb7c4c..f3fa5c9 100644
--- a/src/Pipeline/SpirvShader.cpp
+++ b/src/Pipeline/SpirvShader.cpp
@@ -676,7 +676,7 @@
 					VisitInterface(resultId,
 								   [&](Decorations const &d, AttribType type) {
 									   auto scalarSlot = d.Location << 2 | d.Component;
-									   dst[offset++] = (*routine->inputs)[scalarSlot];
+									   dst[offset++] = routine->inputs[scalarSlot];
 								   });
 				}
 				break;
diff --git a/src/Pipeline/SpirvShader.hpp b/src/Pipeline/SpirvShader.hpp
index 9fe4745..067f2a2 100644
--- a/src/Pipeline/SpirvShader.hpp
+++ b/src/Pipeline/SpirvShader.hpp
@@ -82,8 +82,8 @@
 
 		std::unordered_map<uint32_t, Intermediate> intermediates;
 
-		std::unique_ptr<Value> const inputs = std::unique_ptr<Value>(new Value(MAX_INTERFACE_COMPONENTS));
-		std::unique_ptr<Value> const outputs = std::unique_ptr<Value>(new Value(MAX_INTERFACE_COMPONENTS));
+		Value inputs = Value{MAX_INTERFACE_COMPONENTS};
+		Value outputs = Value{MAX_INTERFACE_COMPONENTS};
 
 		void createLvalue(uint32_t id, uint32_t size)
 		{
diff --git a/src/Pipeline/VertexRoutine.cpp b/src/Pipeline/VertexRoutine.cpp
index 6990c89..6254566 100644
--- a/src/Pipeline/VertexRoutine.cpp
+++ b/src/Pipeline/VertexRoutine.cpp
@@ -92,10 +92,10 @@
 				UInt stride = *Pointer<UInt>(data + OFFSET(DrawData, stride) + sizeof(unsigned int) * i);
 
 				auto value = readStream(input, stride, state.input[i], index);
-				(*routine.inputs)[i] = value.x;
-				(*routine.inputs)[i+1] = value.y;
-				(*routine.inputs)[i+2] = value.z;
-				(*routine.inputs)[i+3] = value.w;
+				routine.inputs[i] = value.x;
+				routine.inputs[i+1] = value.y;
+				routine.inputs[i+2] = value.z;
+				routine.inputs[i+3] = value.w;
 			}
 		}
 	}
@@ -615,10 +615,10 @@
 				spirvShader->outputs[i+2].Type != SpirvShader::ATTRIBTYPE_UNUSED ||
 				spirvShader->outputs[i+3].Type != SpirvShader::ATTRIBTYPE_UNUSED)
 			{
-				v.x = (*routine.outputs)[i];
-				v.y = (*routine.outputs)[i+1];
-				v.z = (*routine.outputs)[i+2];
-				v.w = (*routine.outputs)[i+3];
+				v.x = routine.outputs[i];
+				v.y = routine.outputs[i+1];
+				v.z = routine.outputs[i+2];
+				v.w = routine.outputs[i+3];
 
 				transpose4x4(v.x, v.y, v.z, v.w);