CCPR: Merge triangle hull and edge shaders
Bug: skia:
Change-Id: I728454220781fa947fb6562c85c5c1ec54a83754
Reviewed-on: https://skia-review.googlesource.com/86420
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
diff --git a/src/gpu/ccpr/GrCCPRCubicShader.cpp b/src/gpu/ccpr/GrCCPRCubicShader.cpp
index 0d34d37..c9e546a 100644
--- a/src/gpu/ccpr/GrCCPRCubicShader.cpp
+++ b/src/gpu/ccpr/GrCCPRCubicShader.cpp
@@ -10,6 +10,8 @@
#include "glsl/GrGLSLFragmentShaderBuilder.h"
#include "glsl/GrGLSLVertexGeoBuilder.h"
+using Shader = GrCCPRCoverageProcessor::Shader;
+
void GrCCPRCubicShader::emitSetupCode(GrGLSLVertexGeoBuilder* s, const char* pts,
const char* repetitionID, const char* wind,
GeometryVars* vars) const {
@@ -73,10 +75,11 @@
this->onEmitSetupCode(s, pts, repetitionID, vars);
}
-GrCCPRCubicShader::WindHandling
-GrCCPRCubicShader::onEmitVaryings(GrGLSLVaryingHandler* varyingHandler, SkString* code,
- const char* position, const char* /*coverage*/,
- const char* /*wind*/) {
+Shader::WindHandling GrCCPRCubicShader::onEmitVaryings(GrGLSLVaryingHandler* varyingHandler,
+ SkString* code, const char* position,
+ const char* coverage, const char* /*wind*/) {
+ SkASSERT(!coverage);
+
varyingHandler->addVarying("klmd", &fKLMD);
code->appendf("float3 klm = float3(%s, 1) * %s;", position, fKLMMatrix.c_str());
code->appendf("float d = dot(float3(%s, 1), %s);", position, fEdgeDistanceEquation.c_str());