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

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

Issue 331723003: gpu: Remove Create/DeleteImage IPC by adding an X11_PIXMAP_BUFFER GpuMemoryBuffer type. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 5 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/texture_manager_unittest.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_unittest.cc
diff --git a/gpu/command_buffer/tests/gl_gpu_memory_buffer_unittest.cc b/gpu/command_buffer/tests/gl_gpu_memory_buffer_unittest.cc
index ad8b5d0c7c8c8441350af087a43a28020478ea38..c73cc3dc85f207e006ee53654423b78e04d60d93 100644
--- a/gpu/command_buffer/tests/gl_gpu_memory_buffer_unittest.cc
+++ b/gpu/command_buffer/tests/gl_gpu_memory_buffer_unittest.cc
@@ -11,7 +11,6 @@
#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"
@@ -35,46 +34,10 @@ static const int kImageWidth = 32;
static const int kImageHeight = 32;
static const int kImageBytesPerPixel = 4;
-class MockGpuMemoryBuffer : public gfx::GpuMemoryBuffer {
- public:
- MockGpuMemoryBuffer(int width, int height) {}
- virtual ~MockGpuMemoryBuffer() {
- Die();
- }
-
- MOCK_METHOD0(Map, void*());
- MOCK_METHOD0(Unmap, void());
- MOCK_CONST_METHOD0(IsMapped, bool());
- MOCK_CONST_METHOD0(GetStride, uint32());
- MOCK_CONST_METHOD0(GetHandle, gfx::GpuMemoryBufferHandle());
- MOCK_METHOD0(Die, void());
-
- private:
- DISALLOW_COPY_AND_ASSIGN(MockGpuMemoryBuffer);
-};
-
-class MockGpuMemoryBufferFactory : public GpuMemoryBufferFactory {
- public:
- MockGpuMemoryBufferFactory() {}
- virtual ~MockGpuMemoryBufferFactory() {}
-
- MOCK_METHOD4(CreateGpuMemoryBuffer,
- gfx::GpuMemoryBuffer*(size_t, size_t, unsigned, unsigned));
-
- private:
- DISALLOW_COPY_AND_ASSIGN(MockGpuMemoryBufferFactory);
-};
-
-class MockGpuMemoryBufferTest : public testing::Test {
+class GpuMemoryBufferTest : public testing::Test {
protected:
virtual void SetUp() {
- GLManager::Options options;
- image_manager_ = new ImageManager;
- gpu_memory_buffer_factory_.reset(new MockGpuMemoryBufferFactory);
- options.image_manager = image_manager_.get();
- options.gpu_memory_buffer_factory = gpu_memory_buffer_factory_.get();
-
- gl_.Initialize(options);
+ gl_.Initialize(GLManager::Options());
gl_.MakeCurrent();
glGenTextures(2, texture_ids_);
@@ -101,60 +64,22 @@ class MockGpuMemoryBufferTest : public testing::Test {
gl_.Destroy();
}
- scoped_refptr<ImageManager> image_manager_;
- scoped_ptr<MockGpuMemoryBufferFactory> gpu_memory_buffer_factory_;
GLManager gl_;
GLuint texture_ids_[2];
GLuint framebuffer_id_;
};
// An end to end test that tests the whole GpuMemoryBuffer lifecycle.
-TEST_F(MockGpuMemoryBufferTest, Lifecycle) {
- size_t bytes = kImageWidth * kImageHeight * kImageBytesPerPixel;
+TEST_F(GpuMemoryBufferTest, Lifecycle) {
uint8 pixels[1 * 4] = { 255u, 0u, 0u, 255u };
- // Buffer is owned and freed by GpuMemoryBufferTracker.
- StrictMock<MockGpuMemoryBuffer>* gpu_memory_buffer =
- new StrictMock<MockGpuMemoryBuffer>(kImageWidth, kImageHeight);
- base::SharedMemory shared_memory;
- shared_memory.CreateAnonymous(bytes);
-
- base::SharedMemoryHandle duped_shared_memory_handle;
- shared_memory.ShareToProcess(base::GetCurrentProcessHandle(),
- &duped_shared_memory_handle);
- gfx::GpuMemoryBufferHandle handle;
- handle.type = gfx::SHARED_MEMORY_BUFFER;
- handle.handle = duped_shared_memory_handle;
-
- EXPECT_CALL(
- *gpu_memory_buffer_factory_.get(),
- CreateGpuMemoryBuffer(
- kImageWidth, kImageHeight, GL_RGBA8_OES, GL_IMAGE_MAP_CHROMIUM))
- .Times(1)
- .WillOnce(Return(gpu_memory_buffer))
- .RetiresOnSaturation();
- EXPECT_CALL(*gpu_memory_buffer, GetHandle())
- .Times(1)
- .WillOnce(Return(handle))
- .RetiresOnSaturation();
-
// Create the image. This should add the image ID to the ImageManager.
GLuint image_id = glCreateImageCHROMIUM(
kImageWidth, kImageHeight, GL_RGBA8_OES, GL_IMAGE_MAP_CHROMIUM);
EXPECT_NE(0u, image_id);
- EXPECT_TRUE(image_manager_->LookupImage(image_id) != NULL);
+ EXPECT_TRUE(gl_.decoder()->GetImageManager()->LookupImage(image_id) != NULL);
- EXPECT_CALL(*gpu_memory_buffer, IsMapped())
- .WillOnce(Return(false))
- .RetiresOnSaturation();
-
- shared_memory.Map(bytes);
- EXPECT_TRUE(shared_memory.memory());
-
- EXPECT_CALL(*gpu_memory_buffer, Map())
- .Times(1)
- .WillOnce(Return(shared_memory.memory()))
- .RetiresOnSaturation();
+ // Map image for writing.
uint8* mapped_buffer = static_cast<uint8*>(glMapImageCHROMIUM(image_id));
ASSERT_TRUE(mapped_buffer != NULL);
@@ -169,14 +94,7 @@ TEST_F(MockGpuMemoryBufferTest, Lifecycle) {
}
}
- EXPECT_CALL(*gpu_memory_buffer, IsMapped())
- .WillOnce(Return(true))
- .RetiresOnSaturation();
-
// Unmap the image.
- EXPECT_CALL(*gpu_memory_buffer, Unmap())
- .Times(1)
- .RetiresOnSaturation();
glUnmapImageCHROMIUM(image_id);
// Bind the texture and the image.
@@ -200,9 +118,6 @@ TEST_F(MockGpuMemoryBufferTest, Lifecycle) {
glReleaseTexImage2DCHROMIUM(GL_TEXTURE_2D, image_id);
// Destroy the image.
- EXPECT_CALL(*gpu_memory_buffer, Die())
- .Times(1)
- .RetiresOnSaturation();
glDestroyImageCHROMIUM(image_id);
}
« no previous file with comments | « gpu/command_buffer/service/texture_manager_unittest.cc ('k') | gpu/command_buffer/tests/gl_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698