aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/SkGr.cpp
diff options
context:
space:
mode:
authorGravatar Florin Malita <fmalita@chromium.org>2017-05-25 10:38:07 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-05-25 14:59:07 +0000
commit4aed13889bd9085337e0d4c20df28686687b833b (patch)
treec48dfc9dd6b64b34849d9fe76b7e790ac1c3d6cd /src/gpu/SkGr.cpp
parent555ea8e994cede6508a6d8fb6c16f99331b2ed37 (diff)
Reland of SkShaderBase
Introduce a private base class (SkShaderBase), to hide implementation details from the public interface (SkShader). Change-Id: Ib1d76cde880bd51868b97408710f8bb38128e536 Reviewed-on: https://skia-review.googlesource.com/17925 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
Diffstat (limited to 'src/gpu/SkGr.cpp')
-rw-r--r--src/gpu/SkGr.cpp19
1 files changed, 9 insertions, 10 deletions
diff --git a/src/gpu/SkGr.cpp b/src/gpu/SkGr.cpp
index 81fde3579d..fd9be57359 100644
--- a/src/gpu/SkGr.cpp
+++ b/src/gpu/SkGr.cpp
@@ -30,6 +30,7 @@
#include "SkPM4fPriv.h"
#include "SkPixelRef.h"
#include "SkResourceCache.h"
+#include "SkShaderBase.h"
#include "SkTemplates.h"
#include "effects/GrBicubicEffect.h"
#include "effects/GrConstColorProcessor.h"
@@ -424,10 +425,10 @@ static inline bool skpaint_to_grpaint_impl(GrContext* context,
if (!primColorMode || blend_requires_shader(*primColorMode)) {
if (shaderProcessor) {
shaderFP = *shaderProcessor;
- } else if (const SkShader* shader = skPaint.getShader()) {
- shaderFP = shader->asFragmentProcessor(SkShader::AsFPArgs(context, &viewM, nullptr,
- skPaint.getFilterQuality(),
- rtc->getColorSpace()));
+ } else if (const auto* shader = as_SB(skPaint.getShader())) {
+ shaderFP = shader->asFragmentProcessor(
+ SkShaderBase::AsFPArgs(context, &viewM, nullptr, skPaint.getFilterQuality(),
+ rtc->getColorSpace()));
if (!shaderFP) {
return false;
}
@@ -599,12 +600,10 @@ bool SkPaintToGrPaintWithTexture(GrContext* context,
GrPaint* grPaint) {
sk_sp<GrFragmentProcessor> shaderFP;
if (textureIsAlphaOnly) {
- if (const SkShader* shader = paint.getShader()) {
- shaderFP = shader->asFragmentProcessor(SkShader::AsFPArgs(context,
- &viewM,
- nullptr,
- paint.getFilterQuality(),
- rtc->getColorSpace()));
+ if (const auto* shader = as_SB(paint.getShader())) {
+ shaderFP = shader->asFragmentProcessor(
+ SkShaderBase::AsFPArgs(context, &viewM, nullptr, paint.getFilterQuality(),
+ rtc->getColorSpace()));
if (!shaderFP) {
return false;
}