Commit 845cb5e1 by Chris Forbes

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/+/27429Tested-by: 's avatarChris Forbes <chrisforbes@google.com> Presubmit-Ready: Chris Forbes <chrisforbes@google.com> Reviewed-by: 's avatarNicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
parent 64cf1399
......@@ -118,92 +118,6 @@ namespace sw
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
......
......@@ -158,23 +158,6 @@ namespace sw
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 @@ namespace sw
void setRoutineCacheSize(int routineCacheSize);
// Other semi-constants
Stencil stencil;
Stencil stencilCCW;
Factor factor;
private:
......
......@@ -328,8 +328,8 @@ namespace sw
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;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment