diff options
author | gman@chromium.org <gman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-06 13:06:50 +0000 |
---|---|---|
committer | gman@chromium.org <gman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-06 13:06:50 +0000 |
commit | 790aae08d87e585e3efe036f9e2e1fe7a5e501e4 (patch) | |
tree | 22d2be6f6f0813c8844e16c381ed4bf87bfc8666 /gpu/command_buffer/service/test_helper.h | |
parent | 80d88e55fda2fe9546bc1b0d135f3c989afb91f4 (diff) | |
download | chromium_src-790aae08d87e585e3efe036f9e2e1fe7a5e501e4.zip chromium_src-790aae08d87e585e3efe036f9e2e1fe7a5e501e4.tar.gz chromium_src-790aae08d87e585e3efe036f9e2e1fe7a5e501e4.tar.bz2 |
Use client side arrays for GL_STREAM_DRAW attributes
Certain GPU/drivers are slow when using constantly changing
vertex buffers. They also run out of memory as the pipeline
the buffers so while a buffer is in used being drawn to they
can't delete it immediately when you upload new data to the
buffer.
This is an attempt to work around that issue seemlessly by
using client side arrays for buffers marked as GL_STREAM_DRAW
BUG=178093
Review URL: https://chromiumcodereview.appspot.com/12494005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186416 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gpu/command_buffer/service/test_helper.h')
-rw-r--r-- | gpu/command_buffer/service/test_helper.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gpu/command_buffer/service/test_helper.h b/gpu/command_buffer/service/test_helper.h index 86354c6..a97cf74 100644 --- a/gpu/command_buffer/service/test_helper.h +++ b/gpu/command_buffer/service/test_helper.h @@ -11,6 +11,9 @@ namespace gpu { namespace gles2 { struct DisallowedFeatures; +class Buffer; +class BufferManager; +class MockGLES2Decoder; class TestHelper { public: @@ -86,6 +89,11 @@ class TestHelper { UniformInfo* uniforms, size_t num_uniforms, GLuint service_id); + static void DoBufferData( + ::gfx::MockGLInterface* gl, MockGLES2Decoder* decoder, + BufferManager* manager, Buffer* buffer, GLsizeiptr size, GLenum usage, + const GLvoid* data, GLenum error); + private: static void SetupTextureInitializationExpectations( ::gfx::MockGLInterface* gl, GLenum target); |