diff options
author | Ethan Nicholas <ethannicholas@google.com> | 2017-02-09 13:57:14 -0500 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-02-09 20:26:39 +0000 |
commit | 84645e3c679581d191406b2d7ab93c3f6c5e3a63 (patch) | |
tree | 7f8bd7445db4dbffa52e16ae78bb488ba483e2ce /src/gpu/instanced/InstanceProcessor.cpp | |
parent | 99dbe7b2c4996c094a440f512e9f7eb9c2708884 (diff) |
re-land of skslc type constructor cleanups
BUG=skia:
Change-Id: I953be07e2389dd4a9e7dcce0ddfd7505b309bda1
Reviewed-on: https://skia-review.googlesource.com/8265
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Diffstat (limited to 'src/gpu/instanced/InstanceProcessor.cpp')
-rw-r--r-- | src/gpu/instanced/InstanceProcessor.cpp | 22 |
1 files changed, 18 insertions, 4 deletions
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(")"); } } |