SpirvShader: Add EmitState

As we implement more complex control flow, we need to emit blocks with different active lane masks, and have finer control over block generation.

Bug: b/128527271
Change-Id: Ica51bbea196b87ab442b394f0915e9a2cd375ac0
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27770
Presubmit-Ready: Ben Clayton <bclayton@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Tested-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Chris Forbes <chrisforbes@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
diff --git a/src/Pipeline/VertexProgram.cpp b/src/Pipeline/VertexProgram.cpp
index b1ec6bf..71e48c4 100644
--- a/src/Pipeline/VertexProgram.cpp
+++ b/src/Pipeline/VertexProgram.cpp
@@ -74,7 +74,8 @@
 					As<Float4>(Int4(index) + Int4(0, 1, 2, 3));
 		}
 
-		spirvShader->emit(&routine);
+		auto activeLaneMask = SIMD::Int(0xFFFFFFFF); // TODO: Control this.
+		spirvShader->emit(&routine, activeLaneMask);
 
 		if(currentLabel != -1)
 		{