Specify CPU (buffer) and GPU (shader) types explicitly in Attribute
The CPU type is still specified using GrVertexAttribType.
The GPU type is specified directly using GrSLType.
kHalfX_GrVertexAttribType now really means half-float buffer
data, rather than float. (Caveat: The GL enum is only correct
with ES3/GL3 - ES2+extension needs a different value. Sigh.)
Bug: skia:
Change-Id: Ife101db68a5d4ea1ddc2f6c60fbec0c66d725c16
Reviewed-on: https://skia-review.googlesource.com/154628
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
diff --git a/src/gpu/ccpr/GrCCStroker.cpp b/src/gpu/ccpr/GrCCStroker.cpp
index 919e0f7..98f8cef 100644
--- a/src/gpu/ccpr/GrCCStroker.cpp
+++ b/src/gpu/ccpr/GrCCStroker.cpp
@@ -87,8 +87,8 @@
void getGLSLProcessorKey(const GrShaderCaps&, GrProcessorKeyBuilder*) const override {}
static constexpr Attribute kInstanceAttribs[2] = {
- {"endpts", kFloat4_GrVertexAttribType},
- {"stroke_radius", kFloat_GrVertexAttribType}
+ {"endpts", kFloat4_GrVertexAttribType, kFloat4_GrSLType},
+ {"stroke_radius", kFloat_GrVertexAttribType, kFloat_GrSLType}
};
const Attribute& onInstanceAttribute(int i) const override { return kInstanceAttribs[i]; }
@@ -186,9 +186,9 @@
void getGLSLProcessorKey(const GrShaderCaps&, GrProcessorKeyBuilder*) const override {}
static constexpr Attribute kInstanceAttribs[3] = {
- {"X", kFloat4_GrVertexAttribType},
- {"Y", kFloat4_GrVertexAttribType},
- {"stroke_info", kFloat2_GrVertexAttribType}
+ {"X", kFloat4_GrVertexAttribType, kFloat4_GrSLType},
+ {"Y", kFloat4_GrVertexAttribType, kFloat4_GrSLType},
+ {"stroke_info", kFloat2_GrVertexAttribType, kFloat2_GrSLType}
};
const Attribute& onInstanceAttribute(int i) const override { return kInstanceAttribs[i]; }