Do initial integration of spirv code generation with FS

Very incomplete, but let's at least call the right things

Bug: b/124177079
Change-Id: I0592460f4be3327bdb8290a16739c5c7dfca19be
Reviewed-on: https://swiftshader-review.googlesource.com/c/24589
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Tested-by: Chris Forbes <chrisforbes@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
diff --git a/src/Pipeline/PixelProgram.cpp b/src/Pipeline/PixelProgram.cpp
index 6282d52..34e0311 100644
--- a/src/Pipeline/PixelProgram.cpp
+++ b/src/Pipeline/PixelProgram.cpp
@@ -41,7 +41,7 @@
 			}
 		}
 
-		// TODO: Emit code for the actual shader here.
+		spirvShader->emit(&routine);
 
 		for(int i = 0; i < RENDERTARGETS; i++)
 		{
diff --git a/src/Pipeline/PixelRoutine.cpp b/src/Pipeline/PixelRoutine.cpp
index 2c47be4..722bd33 100644
--- a/src/Pipeline/PixelRoutine.cpp
+++ b/src/Pipeline/PixelRoutine.cpp
@@ -42,6 +42,8 @@
 				v[i].w = Float4(0.0f);
 			}
 		}
+
+		spirvShader->emitEarly(&routine);
 	}
 
 	PixelRoutine::~PixelRoutine()
diff --git a/src/Pipeline/PixelRoutine.hpp b/src/Pipeline/PixelRoutine.hpp
index 744dfbe..979f539 100644
--- a/src/Pipeline/PixelRoutine.hpp
+++ b/src/Pipeline/PixelRoutine.hpp
@@ -35,6 +35,7 @@
 		Float4 rhw;  // Reciprocal w
 
 		RegisterArray<MAX_FRAGMENT_INPUTS> v;   // Varying registers
+		SpirvRoutine routine;
 
 		// Depth output
 		Float4 oDepth;