summaryrefslogtreecommitdiffstats
path: root/gpu/command_buffer/service/test_helper.h
diff options
context:
space:
mode:
authorgman@chromium.org <gman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-06 13:06:50 +0000
committergman@chromium.org <gman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-06 13:06:50 +0000
commit790aae08d87e585e3efe036f9e2e1fe7a5e501e4 (patch)
tree22d2be6f6f0813c8844e16c381ed4bf87bfc8666 /gpu/command_buffer/service/test_helper.h
parent80d88e55fda2fe9546bc1b0d135f3c989afb91f4 (diff)
downloadchromium_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.h8
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);