Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(818)

Unified Diff: src/gpu/glsl/GrGLSLFragmentShaderBuilder.cpp

Issue 2114993002: GrFP can express distance vector field req., program builder declares variable for it (Closed) Base URL: https://skia.googlesource.com/skia@dvonbeck-bevel-api-change
Patch Set: rebase Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/gpu/glsl/GrGLSLFragmentShaderBuilder.cpp
diff --git a/src/gpu/glsl/GrGLSLFragmentShaderBuilder.cpp b/src/gpu/glsl/GrGLSLFragmentShaderBuilder.cpp
index 5d1ba511b74b5809f5a2e787b44a994b1a2eacb8..0ebd3188e37a5d7864d8c02c998f05d9c5cdd9f5 100644
--- a/src/gpu/glsl/GrGLSLFragmentShaderBuilder.cpp
+++ b/src/gpu/glsl/GrGLSLFragmentShaderBuilder.cpp
@@ -189,6 +189,20 @@ const char* GrGLSLFragmentShaderBuilder::fragmentPosition() {
}
}
+bool GrGLSLFragmentShaderBuilder::hasDistanceVectorOutput() const {
+ return !fDistanceVectorOutput.isEmpty();
+}
+
+void GrGLSLFragmentShaderBuilder::enableDistanceVector(const SkString& name) {
+ SkASSERT(!this->hasDistanceVectorOutput());
+ fDistanceVectorOutput = name;
+}
+
+const char* GrGLSLFragmentShaderBuilder::distanceVectorName() const {
+ SkASSERT(this->hasDistanceVectorOutput());
+ return fDistanceVectorOutput.c_str();
+}
+
void GrGLSLFragmentShaderBuilder::appendOffsetToSample(const char* sampleIdx, Coordinates coords) {
SkASSERT(fProgramBuilder->header().fSamplePatternKey);
SkDEBUGCODE(fUsedProcessorFeatures |= GrProcessor::kSampleLocations_RequiredFeature);

Powered by Google App Engine
This is Rietveld 408576698