From 84645e3c679581d191406b2d7ab93c3f6c5e3a63 Mon Sep 17 00:00:00 2001 From: Ethan Nicholas Date: Thu, 9 Feb 2017 13:57:14 -0500 Subject: re-land of skslc type constructor cleanups BUG=skia: Change-Id: I953be07e2389dd4a9e7dcce0ddfd7505b309bda1 Reviewed-on: https://skia-review.googlesource.com/8265 Reviewed-by: Ethan Nicholas Commit-Queue: Ethan Nicholas --- src/gpu/instanced/InstanceProcessor.cpp | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) (limited to 'src/gpu/instanced/InstanceProcessor.cpp') diff --git a/src/gpu/instanced/InstanceProcessor.cpp b/src/gpu/instanced/InstanceProcessor.cpp index 8626eb92d4..2ac5b8e8c8 100644 --- a/src/gpu/instanced/InstanceProcessor.cpp +++ b/src/gpu/instanced/InstanceProcessor.cpp @@ -115,12 +115,26 @@ public: void fetchNextParam(GrSLType type = kVec4f_GrSLType) const { SkASSERT(fParamsBuffer.isValid()); - if (type != kVec4f_GrSLType) { - fVertexBuilder->codeAppendf("%s(", GrGLSLTypeString(type)); + switch (type) { + case kVec2f_GrSLType: // fall through + case kVec3f_GrSLType: // fall through + case kVec4f_GrSLType: + break; + default: + fVertexBuilder->codeAppendf("%s(", GrGLSLTypeString(type)); } fVertexBuilder->appendTexelFetch(fParamsBuffer, "paramsIdx++"); - if (type != kVec4f_GrSLType) { - fVertexBuilder->codeAppend(")"); + switch (type) { + case kVec2f_GrSLType: + fVertexBuilder->codeAppend(".xy"); + break; + case kVec3f_GrSLType: + fVertexBuilder->codeAppend(".xyz"); + break; + case kVec4f_GrSLType: + break; + default: + fVertexBuilder->codeAppend(")"); } } -- cgit v1.2.3