diff options
author | dvonbeck <dvonbeck@google.com> | 2016-08-01 11:01:56 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-08-01 11:01:56 -0700 |
commit | 9b03e7b29d963ea333a66dc5353e94f6391eb899 (patch) | |
tree | 8d888df5a95d0859e7748d53ad580d9e0bc1d2cf /src/gpu/GrPrimitiveProcessor.h | |
parent | 6be452c80072b5ce4011126a27471ceaec72cfcb (diff) |
GrFP can express distance vector field req., program builder declares variable for it
This update allows fragment processors to require a field of vectors to the nearest edge. This requirement propagates:
- from child FPs to their parent
- from parent FPs to the GrPaint
- from GrPaint through the PipelineBuilder into GrPipeline
- acessed from GrPipeline by GrGLSLProgramBuilder
GrGLSL generates a variable for the distance vector and passes it down to the GeometryProcessor->emitCode() method.
This CL's base is the CL for adding the BevelNormalSource API: https://codereview.chromium.org/2080993002
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2114993002
Committed: https://skia.googlesource.com/skia/+/4ef6dfa7089c092c67b0d5ec34e89c1e319af196
Review-Url: https://codereview.chromium.org/2114993002
Diffstat (limited to 'src/gpu/GrPrimitiveProcessor.h')
-rw-r--r-- | src/gpu/GrPrimitiveProcessor.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gpu/GrPrimitiveProcessor.h b/src/gpu/GrPrimitiveProcessor.h index 0d5280fbd3..d27a6f31c7 100644 --- a/src/gpu/GrPrimitiveProcessor.h +++ b/src/gpu/GrPrimitiveProcessor.h @@ -221,6 +221,10 @@ public: return 0.0; } + /* Sub-class should override and return true if this primitive processor implements the distance + * vector field, a field of vectors to the nearest point in the edge of the shape. */ + virtual bool implementsDistanceVector() const { return false; } + protected: GrPrimitiveProcessor() : fVertexStride(0) {} |