Commit 84d0e223 by Nicolas Capens Committed by Nicolas Capens

Implement GL_OES_vertex_half_float.

This enables using half-float vertex data for OpenGL ES 2.0. Note that GL_HALF_FLOAT_OES does not have the same value as GL_HALF_FLOAT. Change-Id: I0a7a55b7904fe797cdbb86627c8d0a1cc07d2d0a Reviewed-on: https://swiftshader-review.googlesource.com/1500Reviewed-by: 's avatarAlexis Hétu <sugoi@google.com> Reviewed-by: 's avatarNicolas Capens <nicolascapens@google.com> Tested-by: 's avatarNicolas Capens <nicolascapens@google.com>
parent 8aa07683
...@@ -4314,6 +4314,7 @@ const GLubyte *Context::getExtensions(GLuint index, GLuint *numExt) const ...@@ -4314,6 +4314,7 @@ const GLubyte *Context::getExtensions(GLuint index, GLuint *numExt) const
"GL_OES_texture_half_float_linear", "GL_OES_texture_half_float_linear",
"GL_OES_texture_npot", "GL_OES_texture_npot",
"GL_OES_texture_3D", "GL_OES_texture_3D",
"GL_OES_vertex_half_float",
"GL_EXT_blend_minmax", "GL_EXT_blend_minmax",
"GL_EXT_color_buffer_half_float", "GL_EXT_color_buffer_half_float",
"GL_EXT_draw_buffers", "GL_EXT_draw_buffers",
......
...@@ -193,6 +193,7 @@ GLenum VertexDataManager::prepareVertexData(GLint start, GLsizei count, Translat ...@@ -193,6 +193,7 @@ GLenum VertexDataManager::prepareVertexData(GLint start, GLsizei count, Translat
case GL_FIXED: translated[i].type = sw::STREAMTYPE_FIXED; break; case GL_FIXED: translated[i].type = sw::STREAMTYPE_FIXED; break;
case GL_FLOAT: translated[i].type = sw::STREAMTYPE_FLOAT; break; case GL_FLOAT: translated[i].type = sw::STREAMTYPE_FLOAT; break;
case GL_HALF_FLOAT: translated[i].type = sw::STREAMTYPE_HALF; break; case GL_HALF_FLOAT: translated[i].type = sw::STREAMTYPE_HALF; break;
case GL_HALF_FLOAT_OES: translated[i].type = sw::STREAMTYPE_HALF; break;
case GL_INT_2_10_10_10_REV: translated[i].type = sw::STREAMTYPE_2_10_10_10_INT; break; case GL_INT_2_10_10_10_REV: translated[i].type = sw::STREAMTYPE_2_10_10_10_INT; break;
case GL_UNSIGNED_INT_2_10_10_10_REV: translated[i].type = sw::STREAMTYPE_2_10_10_10_UINT; break; case GL_UNSIGNED_INT_2_10_10_10_REV: translated[i].type = sw::STREAMTYPE_2_10_10_10_UINT; break;
default: UNREACHABLE(attrib.mType); translated[i].type = sw::STREAMTYPE_FLOAT; break; default: UNREACHABLE(attrib.mType); translated[i].type = sw::STREAMTYPE_FLOAT; break;
......
...@@ -6146,6 +6146,7 @@ void VertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normal ...@@ -6146,6 +6146,7 @@ void VertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean normal
case GL_UNSIGNED_SHORT: case GL_UNSIGNED_SHORT:
case GL_FIXED: case GL_FIXED:
case GL_FLOAT: case GL_FLOAT:
case GL_HALF_FLOAT_OES: // GL_OES_vertex_half_float
break; break;
case GL_INT_2_10_10_10_REV: case GL_INT_2_10_10_10_REV:
case GL_UNSIGNED_INT_2_10_10_10_REV: case GL_UNSIGNED_INT_2_10_10_10_REV:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment