8#ifndef GrPathTessellationShader_DEFINED
9#define GrPathTessellationShader_DEFINED
97 return isInverseFill ? &kTestAndResetStencilInverted : &kTestAndResetStencil;
GrGLSLUniformHandler::UniformHandle fTranslateUniform
void setData(const GrGLSLProgramDataManager &, const GrShaderCaps &, const GrGeometryProcessor &) override
static const char * kEvalRationalCubicFn
GrGLSLUniformHandler::UniformHandle fAffineMatrixUniform
virtual void emitVertexCode(const GrShaderCaps &, const GrPathTessellationShader &, GrGLSLVertexBuilder *, GrGLSLVaryingHandler *, GrGPArgs *)=0
void onEmitCode(EmitArgs &, GrGPArgs *) final
GrGLSLUniformHandler::UniformHandle fColorUniform
SkString fVaryingColorName
static const GrUserStencilSettings * StencilPathSettings(GrFillRule fillRule)
static GrPathTessellationShader * MakeSimpleTriangleShader(SkArenaAlloc *, const SkMatrix &viewMatrix, const SkPMColor4f &)
static const GrPipeline * MakeStencilOnlyPipeline(const ProgramArgs &, GrAAType, const GrAppliedHardClip &, GrPipeline::InputFlags=GrPipeline::InputFlags::kNone)
static constexpr size_t kMiddleOutVertexStride
GrPathTessellationShader(ClassID classID, GrPrimitiveType primitiveType, const SkMatrix &viewMatrix, const SkPMColor4f &color, PatchAttribs attribs)
const PatchAttribs fAttribs
static GrPathTessellationShader * Make(const GrShaderCaps &, SkArenaAlloc *, const SkMatrix &viewMatrix, const SkPMColor4f &, PatchAttribs)
static const GrUserStencilSettings * TestAndResetStencilSettings(bool isInverseFill=false)
GrPrimitiveType primitiveType() const
const SkPMColor4f & color() const
const SkMatrix & viewMatrix() const
static constexpr Init< Ref, Test, TestMask, PassOp, FailOp, WriteMask > StaticInit()
static constexpr InitSeparate< CWRef, CCWRef, CWTest, CCWTest, CWTestMask, CCWTestMask, CWPassOp, CCWPassOp, CWFailOp, CCWFailOp, CWWriteMask, CCWWriteMask > StaticInitSeparate()