diff options
author | gman@chromium.org <gman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-18 18:43:40 +0000 |
---|---|---|
committer | gman@chromium.org <gman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-18 18:43:40 +0000 |
commit | 8fbedc0f80187f0244b952979ee32396d84d4823 (patch) | |
tree | a584f7ac105bf685b4a3e91d5930e718a3ab7aae /gpu/command_buffer/service/buffer_manager.cc | |
parent | edb22cfd39987c08be44997d9f2bc75f7721ce13 (diff) | |
download | chromium_src-8fbedc0f80187f0244b952979ee32396d84d4823.zip chromium_src-8fbedc0f80187f0244b952979ee32396d84d4823.tar.gz chromium_src-8fbedc0f80187f0244b952979ee32396d84d4823.tar.bz2 |
Adds support for GL_FIXED vertex attributes.
Similar to sharing VBOs for both index buffers and
vertex buffers this support is off by default but
is turned on in the OpenGL ES 2.0 conformance
tests (another CL)
We can decide how/if to expose it to Pepper later if
we want to claim Pepper is Open GL ES 2.0 conformant.
TEST=The GL_FIXED OpenGL ES 2.0 conformance tests passes
BUG=none
Review URL: http://codereview.chromium.org/5026003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66649 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gpu/command_buffer/service/buffer_manager.cc')
-rw-r--r-- | gpu/command_buffer/service/buffer_manager.cc | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/gpu/command_buffer/service/buffer_manager.cc b/gpu/command_buffer/service/buffer_manager.cc index 70c5ccb..07a9753 100644 --- a/gpu/command_buffer/service/buffer_manager.cc +++ b/gpu/command_buffer/service/buffer_manager.cc @@ -79,8 +79,7 @@ void BufferManager::BufferInfo::SetSize(GLsizeiptr size, bool shadow) { bool BufferManager::BufferInfo::SetRange( GLintptr offset, GLsizeiptr size, const GLvoid * data) { DCHECK(!IsDeleted()); - if (offset + size < offset || - offset + size > size_) { + if (offset + size < offset || offset + size > size_) { return false; } if (shadowed_) { @@ -90,6 +89,14 @@ bool BufferManager::BufferInfo::SetRange( return true; } +const void* BufferManager::BufferInfo::GetRange( + GLintptr offset, GLsizeiptr size) const { + if (!shadowed_ || (offset + size < offset || offset + size > size_)) { + return NULL; + } + return shadow_.get() + offset; +} + void BufferManager::BufferInfo::ClearCache() { range_set_.clear(); } |