aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/ccpr/GrCCPRCoverageProcessor.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpu/ccpr/GrCCPRCoverageProcessor.h')
-rw-r--r--src/gpu/ccpr/GrCCPRCoverageProcessor.h10
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;