Start building up code generation
- Introduce (perhaps poorly named) SpirvRoutine type for
routine-emit-time state (reactor objects).
- Add SpirvShader::emitEarly (intended for definitions that are needed
in shader preamble) and SpirvShader::emit (intended for general actual
code generation) passes.
- Wire up new passes to VertexProgram/VertexRoutine
Change-Id: Iac42eae7dc04adfd4163fd74ba407b613551d14e
Bug: b/120799499
Reviewed-on: https://swiftshader-review.googlesource.com/c/24375
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/VertexProgram.cpp b/src/Pipeline/VertexProgram.cpp
index fc75f13..1e0e162 100644
--- a/src/Pipeline/VertexProgram.cpp
+++ b/src/Pipeline/VertexProgram.cpp
@@ -64,7 +64,7 @@
// }
//}
- // Actually emit code here
+ spirvShader->emit(&routine);
if(currentLabel != -1)
{