From 54e3dfa2e76af401751b676e6fa150499734e9e6 Mon Sep 17 00:00:00 2001 From: "dmaclach@chromium.org" Date: Wed, 27 Oct 2010 18:16:06 +0000 Subject: Fix up SharedMemory implementation so that it is more equivalent on Windows vs Posix and enforces exclusive creates. Clean up some naming to make it clearer what size you are getting by changing max_size to created_size. BUG=NONE TEST=BUILD Review URL: http://codereview.chromium.org/4034006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64097 0039d316-1c4b-4281-b951-d872f2087c98 --- gpu/command_buffer/service/command_buffer_service.cc | 13 ++++++------- gpu/command_buffer/service/gpu_processor_unittest.cc | 3 +-- 2 files changed, 7 insertions(+), 9 deletions(-) (limited to 'gpu') diff --git a/gpu/command_buffer/service/command_buffer_service.cc b/gpu/command_buffer/service/command_buffer_service.cc index 330e774..fd443f2 100644 --- a/gpu/command_buffer/service/command_buffer_service.cc +++ b/gpu/command_buffer/service/command_buffer_service.cc @@ -43,9 +43,8 @@ bool CommandBufferService::Initialize(int32 size) { num_entries_ = size / sizeof(CommandBufferEntry); ring_buffer_.reset(new SharedMemory); - if (ring_buffer_->Create(std::string(), false, false, size)) { - if (ring_buffer_->Map(size)) - return true; + if (ring_buffer_->CreateAndMapAnonymous(size)) { + return true; } num_entries_ = 0; @@ -61,7 +60,7 @@ Buffer CommandBufferService::GetRingBuffer() { Buffer buffer; if (ring_buffer_.get()) { buffer.ptr = ring_buffer_->memory(); - buffer.size = ring_buffer_->max_size(); + buffer.size = ring_buffer_->created_size(); buffer.shared_memory = ring_buffer_.get(); } return buffer; @@ -100,7 +99,7 @@ void CommandBufferService::SetGetOffset(int32 get_offset) { int32 CommandBufferService::CreateTransferBuffer(size_t size) { linked_ptr buffer(new SharedMemory); - if (!buffer->Create(std::string(), false, false, size)) + if (!buffer->CreateAnonymous(size)) return -1; if (unused_registered_object_elements_.empty()) { @@ -153,13 +152,13 @@ Buffer CommandBufferService::GetTransferBuffer(int32 handle) { return Buffer(); if (!shared_memory->memory()) { - if (!shared_memory->Map(shared_memory->max_size())) + if (!shared_memory->Map(shared_memory->created_size())) return Buffer(); } Buffer buffer; buffer.ptr = shared_memory->memory(); - buffer.size = shared_memory->max_size(); + buffer.size = shared_memory->created_size(); buffer.shared_memory = shared_memory; return buffer; } diff --git a/gpu/command_buffer/service/gpu_processor_unittest.cc b/gpu/command_buffer/service/gpu_processor_unittest.cc index ffba24e..ce91210 100644 --- a/gpu/command_buffer/service/gpu_processor_unittest.cc +++ b/gpu/command_buffer/service/gpu_processor_unittest.cc @@ -29,8 +29,7 @@ class GPUProcessorTest : public testing::Test { protected: virtual void SetUp() { shared_memory_.reset(new ::base::SharedMemory); - shared_memory_->Create(std::string(), false, false, kRingBufferSize); - shared_memory_->Map(kRingBufferSize); + shared_memory_->CreateAndMapAnonymous(kRingBufferSize); buffer_ = static_cast(shared_memory_->memory()); shared_memory_buffer_.ptr = buffer_; shared_memory_buffer_.size = kRingBufferSize; -- cgit v1.1