aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/SkGpuDevice.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpu/SkGpuDevice.cpp')
-rw-r--r--src/gpu/SkGpuDevice.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/gpu/SkGpuDevice.cpp b/src/gpu/SkGpuDevice.cpp
index c3e495ae28..491e273216 100644
--- a/src/gpu/SkGpuDevice.cpp
+++ b/src/gpu/SkGpuDevice.cpp
@@ -411,7 +411,9 @@ SK_COMPILE_ASSERT(SkShader::kRadial_BitmapType == 2, shader_type_mismatch);
SK_COMPILE_ASSERT(SkShader::kSweep_BitmapType == 3, shader_type_mismatch);
SK_COMPILE_ASSERT(SkShader::kTwoPointRadial_BitmapType == 4,
shader_type_mismatch);
-SK_COMPILE_ASSERT(SkShader::kLast_BitmapType == 4, shader_type_mismatch);
+SK_COMPILE_ASSERT(SkShader::kTwoPointConical_BitmapType == 5,
+ shader_type_mismatch);
+SK_COMPILE_ASSERT(SkShader::kLast_BitmapType == 5, shader_type_mismatch);
namespace {
@@ -545,6 +547,13 @@ inline bool skPaint2GrPaintShader(SkGpuDevice* dev,
twoPointParams[2] < 0))->unref();
sampler->setFilter(GrSamplerState::kBilinear_Filter);
break;
+ case SkShader::kTwoPointConical_BitmapType:
+ sampler->setCustomStage(new
+ GrConical2Gradient(twoPointParams[0],
+ twoPointParams[1],
+ twoPointParams[2]))->unref();
+ sampler->setFilter(GrSamplerState::kBilinear_Filter);
+ break;
default:
if (skPaint.isFilterBitmap()) {
sampler->setFilter(GrSamplerState::kBilinear_Filter);