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/gl/GrGLVertexArray.cpp b/src/gpu/gl/GrGLVertexArray.cpp
index deca17d..2f65ed5 100644
--- a/src/gpu/gl/GrGLVertexArray.cpp
+++ b/src/gpu/gl/GrGLVertexArray.cpp
@@ -28,13 +28,13 @@
case kFloat4_GrVertexAttribType:
return {false, 4, GR_GL_FLOAT};
case kHalf_GrVertexAttribType:
- return {false, 1, GR_GL_FLOAT};
+ return {false, 1, GR_GL_HALF_FLOAT};
case kHalf2_GrVertexAttribType:
- return {false, 2, GR_GL_FLOAT};
+ return {false, 2, GR_GL_HALF_FLOAT};
case kHalf3_GrVertexAttribType:
- return {false, 3, GR_GL_FLOAT};
+ return {false, 3, GR_GL_HALF_FLOAT};
case kHalf4_GrVertexAttribType:
- return {false, 4, GR_GL_FLOAT};
+ return {false, 4, GR_GL_HALF_FLOAT};
case kInt2_GrVertexAttribType:
return {false, 2, GR_GL_INT};
case kInt3_GrVertexAttribType: