diff options
Diffstat (limited to 'src/gpu/ccpr/GrCCPRCoverageProcessor.h')
-rw-r--r-- | src/gpu/ccpr/GrCCPRCoverageProcessor.h | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/gpu/ccpr/GrCCPRCoverageProcessor.h b/src/gpu/ccpr/GrCCPRCoverageProcessor.h index 3c4050a73b..75cc45b8eb 100644 --- a/src/gpu/ccpr/GrCCPRCoverageProcessor.h +++ b/src/gpu/ccpr/GrCCPRCoverageProcessor.h @@ -117,17 +117,11 @@ public: }; virtual GeometryType getGeometryType() const = 0; - virtual int getNumInputPoints() const = 0; // Returns the number of independent geometric segments to generate for the render pass // (number of wedges for a hull, number of edges, or number of corners.) virtual int getNumSegments() const = 0; - // Determines the winding direction of the primitive. The subclass must write a value of - // either -1, 0, or +1 to "outputWind" (e.g. "sign(area)"). Fractional values are not valid. - virtual void emitWind(GrGLSLShaderBuilder*, const char* pts, - const char* outputWind) const = 0; - union GeometryVars { struct { const char* fAlternatePoints; // floatNx2 (if left null, will use input points). @@ -223,6 +217,10 @@ private: // accidentally bleed into neighbor pixels. static constexpr float kAABloatRadius = 0.491111f; + int numInputPoints() const { + return RenderPassIsCubic(fRenderPass) ? 4 : 3; + } + static GrGLSLPrimitiveProcessor* CreateGSImpl(std::unique_ptr<Shader>); const RenderPass fRenderPass; |