Fix stencil state plumbing

Bug: b/128715612
Test: dEQP-VK.pipeline.stencil.format.*
Change-Id: I4789c0ff77c43e91fc7cbd7e2aceab0b1ba9cdb3
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/27429
Tested-by: Chris Forbes <chrisforbes@google.com>
Presubmit-Ready: Chris Forbes <chrisforbes@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
diff --git a/src/Device/PixelProcessor.cpp b/src/Device/PixelProcessor.cpp
index c55dd5d..da40dbe 100644
--- a/src/Device/PixelProcessor.cpp
+++ b/src/Device/PixelProcessor.cpp
@@ -118,92 +118,6 @@
 		context->setColorWriteMask(index, rgbaMask);
 	}
 
-	void PixelProcessor::setStencilEnable(bool stencilEnable)
-	{
-		context->stencilEnable = stencilEnable;
-	}
-
-	void PixelProcessor::setStencilCompare(VkCompareOp stencilCompareMode)
-	{
-		context->stencilCompareMode = stencilCompareMode;
-	}
-
-	void PixelProcessor::setStencilReference(int stencilReference)
-	{
-		context->stencilReference = stencilReference;
-		stencil.set(stencilReference, context->stencilMask, context->stencilWriteMask);
-	}
-
-	void PixelProcessor::setStencilReferenceCCW(int stencilReferenceCCW)
-	{
-		context->stencilReferenceCCW = stencilReferenceCCW;
-		stencilCCW.set(stencilReferenceCCW, context->stencilMaskCCW, context->stencilWriteMaskCCW);
-	}
-
-	void PixelProcessor::setStencilMask(int stencilMask)
-	{
-		context->stencilMask = stencilMask;
-		stencil.set(context->stencilReference, stencilMask, context->stencilWriteMask);
-	}
-
-	void PixelProcessor::setStencilMaskCCW(int stencilMaskCCW)
-	{
-		context->stencilMaskCCW = stencilMaskCCW;
-		stencilCCW.set(context->stencilReferenceCCW, stencilMaskCCW, context->stencilWriteMaskCCW);
-	}
-
-	void PixelProcessor::setStencilFailOperation(VkStencilOp stencilFailOperation)
-	{
-		context->stencilFailOperation = stencilFailOperation;
-	}
-
-	void PixelProcessor::setStencilPassOperation(VkStencilOp stencilPassOperation)
-	{
-		context->stencilPassOperation = stencilPassOperation;
-	}
-
-	void PixelProcessor::setStencilZFailOperation(VkStencilOp stencilZFailOperation)
-	{
-		context->stencilZFailOperation = stencilZFailOperation;
-	}
-
-	void PixelProcessor::setStencilWriteMask(int stencilWriteMask)
-	{
-		context->stencilWriteMask = stencilWriteMask;
-		stencil.set(context->stencilReference, context->stencilMask, stencilWriteMask);
-	}
-
-	void PixelProcessor::setStencilWriteMaskCCW(int stencilWriteMaskCCW)
-	{
-		context->stencilWriteMaskCCW = stencilWriteMaskCCW;
-		stencilCCW.set(context->stencilReferenceCCW, context->stencilMaskCCW, stencilWriteMaskCCW);
-	}
-
-	void PixelProcessor::setTwoSidedStencil(bool enable)
-	{
-		context->twoSidedStencil = enable;
-	}
-
-	void PixelProcessor::setStencilCompareCCW(VkCompareOp stencilCompareMode)
-	{
-		context->stencilCompareModeCCW = stencilCompareMode;
-	}
-
-	void PixelProcessor::setStencilFailOperationCCW(VkStencilOp stencilFailOperation)
-	{
-		context->stencilFailOperationCCW = stencilFailOperation;
-	}
-
-	void PixelProcessor::setStencilPassOperationCCW(VkStencilOp stencilPassOperation)
-	{
-		context->stencilPassOperationCCW = stencilPassOperation;
-	}
-
-	void PixelProcessor::setStencilZFailOperationCCW(VkStencilOp stencilZFailOperation)
-	{
-		context->stencilZFailOperationCCW = stencilZFailOperation;
-	}
-
 	void PixelProcessor::setBlendConstant(const Color<float> &blendConstant)
 	{
 		// FIXME: Compact into generic function   // FIXME: Clamp
diff --git a/src/Device/PixelProcessor.hpp b/src/Device/PixelProcessor.hpp
index 3c4dcce..2d4437a 100644
--- a/src/Device/PixelProcessor.hpp
+++ b/src/Device/PixelProcessor.hpp
@@ -158,23 +158,6 @@
 		void setColorLogicOpEnabled(bool colorLogicOpEnabled);
 		void setLogicalOperation(VkLogicOp logicalOperation);
 
-		void setStencilEnable(bool stencilEnable);
-		void setStencilCompare(VkCompareOp stencilCompareMode);
-		void setStencilReference(int stencilReference);
-		void setStencilMask(int stencilMask);
-		void setStencilFailOperation(VkStencilOp stencilFailOperation);
-		void setStencilPassOperation(VkStencilOp stencilPassOperation);
-		void setStencilZFailOperation(VkStencilOp stencilZFailOperation);
-		void setStencilWriteMask(int stencilWriteMask);
-		void setTwoSidedStencil(bool enable);
-		void setStencilCompareCCW(VkCompareOp stencilCompareMode);
-		void setStencilReferenceCCW(int stencilReference);
-		void setStencilMaskCCW(int stencilMask);
-		void setStencilFailOperationCCW(VkStencilOp stencilFailOperation);
-		void setStencilPassOperationCCW(VkStencilOp stencilPassOperation);
-		void setStencilZFailOperationCCW(VkStencilOp stencilZFailOperation);
-		void setStencilWriteMaskCCW(int stencilWriteMask);
-
 		void setBlendConstant(const Color<float> &blendConstant);
 
 		void setAlphaBlendEnable(bool alphaBlendEnable);
@@ -197,8 +180,6 @@
 		void setRoutineCacheSize(int routineCacheSize);
 
 		// Other semi-constants
-		Stencil stencil;
-		Stencil stencilCCW;
 		Factor factor;
 
 	private:
diff --git a/src/Device/Renderer.cpp b/src/Device/Renderer.cpp
index d803e61..7a08703 100644
--- a/src/Device/Renderer.cpp
+++ b/src/Device/Renderer.cpp
@@ -328,8 +328,8 @@
 
 		if(pixelState.stencilActive)
 		{
-			data->stencil[0] = stencil;
-			data->stencil[1] = stencilCCW;
+			data->stencil[0].set(context->stencilReference, context->stencilMask, context->stencilWriteMask);
+			data->stencil[1].set(context->stencilReferenceCCW, context->stencilMaskCCW, context->stencilWriteMaskCCW);
 		}
 
 		data->lineWidth = context->lineWidth;