Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(206)

Unified Diff: gpu/command_buffer/tests/gl_gpu_memory_buffer_unittests.cc

Issue 20017005: gpu: Refactor GpuMemoryBuffer framework for multi-process support. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « gpu/command_buffer/service/in_process_command_buffer.cc ('k') | gpu/command_buffer/tests/gl_manager.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gpu/command_buffer/tests/gl_gpu_memory_buffer_unittests.cc
diff --git a/gpu/command_buffer/tests/gl_gpu_memory_buffer_unittests.cc b/gpu/command_buffer/tests/gl_gpu_memory_buffer_unittests.cc
index 9c9d5ab1f1b7319e95dc88f7cc7da7af122d9565..91fbc6ae87337a0be0db9f133de6d7b4ec9d4fff 100644
--- a/gpu/command_buffer/tests/gl_gpu_memory_buffer_unittests.cc
+++ b/gpu/command_buffer/tests/gl_gpu_memory_buffer_unittests.cc
@@ -11,6 +11,8 @@
#include "base/memory/ref_counted.h"
#include "base/process/process_handle.h"
#include "gpu/command_buffer/client/gles2_implementation.h"
+#include "gpu/command_buffer/client/gpu_memory_buffer_factory.h"
+#include "gpu/command_buffer/service/command_buffer_service.h"
#include "gpu/command_buffer/service/image_manager.h"
#include "gpu/command_buffer/tests/gl_manager.h"
#include "gpu/command_buffer/tests/gl_test_utils.h"
@@ -51,24 +53,16 @@ class MockGpuMemoryBuffer : public gfx::GpuMemoryBuffer {
DISALLOW_COPY_AND_ASSIGN(MockGpuMemoryBuffer);
};
-class MockImageFactory : public ImageFactory {
+class MockGpuMemoryBufferFactory : public GpuMemoryBufferFactory {
public:
- MockImageFactory(ImageManager* image_manager) {}
- virtual ~MockImageFactory() {}
-
- MOCK_METHOD4(CreateGpuMemoryBufferMock, gfx::GpuMemoryBuffer*(
- int width, int height, GLenum internalformat, unsigned* image_id));
- MOCK_METHOD1(DeleteGpuMemoryBuffer, void(unsigned));
- // Workaround for mocking methods that return scoped_ptrs
- virtual scoped_ptr<gfx::GpuMemoryBuffer> CreateGpuMemoryBuffer(
- int width, int height, GLenum internalformat,
- unsigned* image_id) OVERRIDE {
- return scoped_ptr<gfx::GpuMemoryBuffer>(CreateGpuMemoryBufferMock(
- width, height, internalformat, image_id));
- }
+ MockGpuMemoryBufferFactory() {}
+ virtual ~MockGpuMemoryBufferFactory() {}
+
+ MOCK_METHOD3(CreateGpuMemoryBuffer,
+ gfx::GpuMemoryBuffer*(size_t, size_t, unsigned));
private:
- DISALLOW_COPY_AND_ASSIGN(MockImageFactory);
+ DISALLOW_COPY_AND_ASSIGN(MockGpuMemoryBufferFactory);
};
class MockGpuMemoryBufferTest : public testing::Test {
@@ -76,10 +70,9 @@ class MockGpuMemoryBufferTest : public testing::Test {
virtual void SetUp() {
GLManager::Options options;
image_manager_ = new ImageManager;
- image_factory_.reset(
- new StrictMock<MockImageFactory>(image_manager_.get()));
+ gpu_memory_buffer_factory_.reset(new MockGpuMemoryBufferFactory);
options.image_manager = image_manager_.get();
- options.image_factory = image_factory_.get();
+ options.gpu_memory_buffer_factory = gpu_memory_buffer_factory_.get();
gl_.Initialize(options);
gl_.MakeCurrent();
@@ -108,8 +101,8 @@ class MockGpuMemoryBufferTest : public testing::Test {
gl_.Destroy();
}
- scoped_ptr<StrictMock<MockImageFactory> > image_factory_;
scoped_refptr<ImageManager> image_manager_;
+ scoped_ptr<MockGpuMemoryBufferFactory> gpu_memory_buffer_factory_;
GLManager gl_;
GLuint texture_ids_[2];
GLuint framebuffer_id_;
@@ -133,29 +126,21 @@ TEST_F(MockGpuMemoryBufferTest, Lifecycle) {
handle.type = gfx::SHARED_MEMORY_BUFFER;
handle.handle = duped_shared_memory_handle;
- const GLuint kImageId = 345u;
-
- EXPECT_CALL(*image_factory_.get(), CreateGpuMemoryBufferMock(
- kImageWidth, kImageHeight, GL_RGBA8_OES, _))
+ EXPECT_CALL(*gpu_memory_buffer_factory_.get(), CreateGpuMemoryBuffer(
+ kImageWidth, kImageHeight, GL_RGBA8_OES))
.Times(1)
- .WillOnce(DoAll(SetArgPointee<3>(kImageId), Return(gpu_memory_buffer)))
+ .WillOnce(Return(gpu_memory_buffer))
.RetiresOnSaturation();
-
- // Create the GLImage and insert it into the ImageManager, which
- // would be done within CreateGpuMemoryBufferMock if it weren't a mock.
- GLuint image_id = glCreateImageCHROMIUM(
- kImageWidth, kImageHeight, GL_RGBA8_OES);
- EXPECT_EQ(kImageId, image_id);
-
EXPECT_CALL(*gpu_memory_buffer, GetHandle())
+ .Times(1)
.WillOnce(Return(handle))
.RetiresOnSaturation();
- gfx::Size size(kImageWidth, kImageHeight);
- scoped_refptr<gfx::GLImage> gl_image(
- gfx::GLImage::CreateGLImageForGpuMemoryBuffer(
- gpu_memory_buffer->GetHandle(), size));
- image_manager_->AddImage(gl_image.get(), image_id);
+ // Create the image. This should add the image ID to the ImageManager.
+ GLuint image_id = glCreateImageCHROMIUM(
+ kImageWidth, kImageHeight, GL_RGBA8_OES);
+ EXPECT_NE(0u, image_id);
+ EXPECT_TRUE(image_manager_->LookupImage(image_id) != NULL);
EXPECT_CALL(*gpu_memory_buffer, IsMapped())
.WillOnce(Return(false))
@@ -217,11 +202,6 @@ TEST_F(MockGpuMemoryBufferTest, Lifecycle) {
EXPECT_CALL(*gpu_memory_buffer, Die())
.Times(1)
.RetiresOnSaturation();
-
- EXPECT_CALL(*image_factory_.get(), DeleteGpuMemoryBuffer(image_id))
- .Times(1)
- .RetiresOnSaturation();
-
glDestroyImageCHROMIUM(image_id);
}
« no previous file with comments | « gpu/command_buffer/service/in_process_command_buffer.cc ('k') | gpu/command_buffer/tests/gl_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698