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>
diff --git a/src/gpu/instanced/InstanceProcessor.cpp b/src/gpu/instanced/InstanceProcessor.cpp
index 8626eb9..2ac5b8e 100644
--- a/src/gpu/instanced/InstanceProcessor.cpp
+++ b/src/gpu/instanced/InstanceProcessor.cpp
@@ -115,12 +115,26 @@
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(")");
}
}