From 964a3b05afabb9594aec2f3c1ba1440404ae91c7 Mon Sep 17 00:00:00 2001 From: Robert Phillips Date: Fri, 25 Aug 2017 13:40:47 -0400 Subject: Add explicit conversion from uint2 to float2 for Vulkan Change-Id: I07a28c77f3c9b87d6713ae1d6b7e7d1285098aa8 Reviewed-on: https://skia-review.googlesource.com/38728 Reviewed-by: Greg Daniel Commit-Queue: Robert Phillips --- src/gpu/effects/GrDistanceFieldGeoProc.cpp | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'src/gpu/effects/GrDistanceFieldGeoProc.cpp') 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); -- cgit v1.2.3