Added support for HALF_FLOAT vertex attributes.
TRAC #22703
Signed-off-by: Jamie Madill
Signed-off-by: Shannon Woods
Author: Geoff Lang
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2091 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/libGLESv2/libGLESv2.cpp b/src/libGLESv2/libGLESv2.cpp
index d0ff00d..451d72c 100644
--- a/src/libGLESv2/libGLESv2.cpp
+++ b/src/libGLESv2/libGLESv2.cpp
@@ -6768,6 +6768,8 @@
return gl::error(GL_INVALID_VALUE);
}
+ gl::Context *context = gl::getNonLostContext();
+
switch (type)
{
case GL_BYTE:
@@ -6777,6 +6779,17 @@
case GL_FIXED:
case GL_FLOAT:
break;
+
+ case GL_HALF_FLOAT:
+ if (context && context->getClientVersion() < 3)
+ {
+ return gl::error(GL_INVALID_ENUM);
+ }
+ else
+ {
+ break;
+ }
+
default:
return gl::error(GL_INVALID_ENUM);
}
@@ -6786,8 +6799,6 @@
return gl::error(GL_INVALID_VALUE);
}
- gl::Context *context = gl::getNonLostContext();
-
if (context)
{
context->setVertexAttribState(index, context->getArrayBuffer(), size, type, (normalized == GL_TRUE), stride, ptr);