Replace Shader,VertexShader,PixelShader with SpirvShader Also deletes tons of fixed-function-centric stuff that will never be used by the Vulkan backend. Very little of the SPIRV integration actually does anything interesting yet (we don't generate code) but this wires on the new shader representation. Bug: b/120799499 Change-Id: Ib76e2086113098aebd526a0da461689d4344e8c2 Reviewed-on: https://swiftshader-review.googlesource.com/c/23090 Tested-by: Chris Forbes <chrisforbes@google.com> Reviewed-by: Nicolas Capens <nicolascapens@google.com> Reviewed-by: Alexis Hétu <sugoi@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
diff --git a/src/Device/QuadRasterizer.cpp b/src/Device/QuadRasterizer.cpp index 90d560d..237c9e3 100644 --- a/src/Device/QuadRasterizer.cpp +++ b/src/Device/QuadRasterizer.cpp
@@ -28,7 +28,7 @@ extern int clusterCount; - QuadRasterizer::QuadRasterizer(const PixelProcessor::State &state, const PixelShader *pixelShader) : state(state), shader(pixelShader) + QuadRasterizer::QuadRasterizer(const PixelProcessor::State &state, SpirvShader const *spirvShader) : state(state), spirvShader{spirvShader} { } @@ -340,11 +340,11 @@ bool QuadRasterizer::interpolateZ() const { - return state.depthTestActive || (shader && shader->isVPosDeclared() && fullPixelPositionRegister); + return state.depthTestActive || (spirvShader && spirvShader->hasBuiltinInput(spv::BuiltInPosition)); } bool QuadRasterizer::interpolateW() const { - return state.perspective || (shader && shader->isVPosDeclared() && fullPixelPositionRegister); + return state.perspective || (spirvShader && spirvShader->hasBuiltinInput(spv::BuiltInPosition)); } }