Allow the application to implicitly create buffers by binding them at indexed binding points, without previously calling GenBuffers or BufferData.
TRAC #22958
Signed-off-by: Geoff Lang
Signed-off-by: Shannon Woods
Author: Jamie Madill
git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2298 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/libGLESv2/libGLESv2.cpp b/src/libGLESv2/libGLESv2.cpp
index a76dca8..8e3f4a5 100644
--- a/src/libGLESv2/libGLESv2.cpp
+++ b/src/libGLESv2/libGLESv2.cpp
@@ -8670,14 +8670,7 @@
return gl::error(GL_INVALID_ENUM);
}
- gl::Buffer *bufferObject = context->getBuffer(buffer);
- if (!bufferObject)
- {
- // Buffer index must not have been valid
- return gl::error(GL_INVALID_VALUE);
- }
-
- if (size <= 0 || static_cast<unsigned int>(offset + size) > bufferObject->size())
+ if (buffer != 0 && size <= 0)
{
return gl::error(GL_INVALID_VALUE);
}
@@ -8748,13 +8741,6 @@
return gl::error(GL_INVALID_ENUM);
}
- gl::Buffer *bufferObject = context->getBuffer(buffer);
- if (!bufferObject)
- {
- // Buffer index must not have been valid
- return gl::error(GL_INVALID_VALUE);
- }
-
switch (target)
{
case GL_TRANSFORM_FEEDBACK_BUFFER: