aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/effects/GrDistanceFieldGeoProc.cpp
diff options
context:
space:
mode:
authorGravatar Robert Phillips <robertphillips@google.com>2017-08-25 13:40:47 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-08-25 18:01:17 +0000
commit964a3b05afabb9594aec2f3c1ba1440404ae91c7 (patch)
tree49b7959adf7097c3a1f2ef9877ad1a077a823112 /src/gpu/effects/GrDistanceFieldGeoProc.cpp
parentc1cfc0582ab938e3edac61b61c79d26fdca4c639 (diff)
Add explicit conversion from uint2 to float2 for Vulkan
Change-Id: I07a28c77f3c9b87d6713ae1d6b7e7d1285098aa8 Reviewed-on: https://skia-review.googlesource.com/38728 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Robert Phillips <robertphillips@google.com>
Diffstat (limited to 'src/gpu/effects/GrDistanceFieldGeoProc.cpp')
-rw-r--r--src/gpu/effects/GrDistanceFieldGeoProc.cpp18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/gpu/effects/GrDistanceFieldGeoProc.cpp b/src/gpu/effects/GrDistanceFieldGeoProc.cpp
index 87b47e44f9..3078786e1f 100644
--- a/src/gpu/effects/GrDistanceFieldGeoProc.cpp
+++ b/src/gpu/effects/GrDistanceFieldGeoProc.cpp
@@ -79,13 +79,15 @@ public:
// add varyings
GrGLSLVertToFrag uv(kVec2f_GrSLType);
varyingHandler->addVarying("TextureCoords", &uv, kHigh_GrSLPrecision);
- vertBuilder->codeAppendf("%s = %s * %s;", uv.vsOut(),
+ vertBuilder->codeAppendf("%s = float2(%s.x, %s.y) * %s;", uv.vsOut(),
+ dfTexEffect.inTextureCoords()->fName,
dfTexEffect.inTextureCoords()->fName,
atlasSizeInvName);
GrGLSLVertToFrag st(kVec2f_GrSLType);
varyingHandler->addVarying("IntTextureCoords", &st, kHigh_GrSLPrecision);
- vertBuilder->codeAppendf("%s = %s;", st.vsOut(),
+ vertBuilder->codeAppendf("%s = float2(%s.x, %s.y);", st.vsOut(),
+ dfTexEffect.inTextureCoords()->fName,
dfTexEffect.inTextureCoords()->fName);
bool isUniformScale = (dfTexEffect.getFlags() & kUniformScale_DistanceFieldEffectMask) ==
@@ -338,13 +340,15 @@ public:
GrGLSLVertToFrag uv(kVec2f_GrSLType);
varyingHandler->addVarying("TextureCoords", &uv, kHigh_GrSLPrecision);
- vertBuilder->codeAppendf("%s = %s * %s;", uv.vsOut(),
+ vertBuilder->codeAppendf("%s = float2(%s.x, %s.y) * %s;", uv.vsOut(),
+ dfTexEffect.inTextureCoords()->fName,
dfTexEffect.inTextureCoords()->fName,
atlasSizeInvName);
GrGLSLVertToFrag st(kVec2f_GrSLType);
varyingHandler->addVarying("IntTextureCoords", &st, kHigh_GrSLPrecision);
- vertBuilder->codeAppendf("%s = %s;", st.vsOut(),
+ vertBuilder->codeAppendf("%s = float2(%s.x, %s.y);", st.vsOut(),
+ dfTexEffect.inTextureCoords()->fName,
dfTexEffect.inTextureCoords()->fName);
// setup pass through color
@@ -609,13 +613,15 @@ public:
// set up varyings
GrGLSLVertToFrag uv(kVec2f_GrSLType);
varyingHandler->addVarying("TextureCoords", &uv, kHigh_GrSLPrecision);
- vertBuilder->codeAppendf("%s = %s * %s;", uv.vsOut(),
+ vertBuilder->codeAppendf("%s = float2(%s.x, %s.y) * %s;", uv.vsOut(),
+ dfTexEffect.inTextureCoords()->fName,
dfTexEffect.inTextureCoords()->fName,
atlasSizeInvName);
GrGLSLVertToFrag st(kVec2f_GrSLType);
varyingHandler->addVarying("IntTextureCoords", &st, kHigh_GrSLPrecision);
- vertBuilder->codeAppendf("%s = %s;", st.vsOut(),
+ vertBuilder->codeAppendf("%s = float2(%s.x, %s.y);", st.vsOut(),
+ dfTexEffect.inTextureCoords()->fName,
dfTexEffect.inTextureCoords()->fName);
GrGLSLVertToFrag delta(kFloat_GrSLType);