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

Side by Side Diff: gpu/command_buffer/service/transfer_buffer_manager.cc

Issue 11669010: Only define ERROR on windows builds (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: flip server Created 7 years, 12 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "gpu/command_buffer/service/transfer_buffer_manager.h" 5 #include "gpu/command_buffer/service/transfer_buffer_manager.h"
6 6
7 #include <limits> 7 #include <limits>
8 8
9 #include "base/process_util.h" 9 #include "base/process_util.h"
10 #include "base/debug/trace_event.h" 10 #include "base/debug/trace_event.h"
(...skipping 23 matching lines...) Expand all
34 34
35 bool TransferBufferManager::Initialize() { 35 bool TransferBufferManager::Initialize() {
36 return true; 36 return true;
37 } 37 }
38 38
39 bool TransferBufferManager::RegisterTransferBuffer( 39 bool TransferBufferManager::RegisterTransferBuffer(
40 int32 id, 40 int32 id,
41 base::SharedMemory* shared_memory, 41 base::SharedMemory* shared_memory,
42 size_t size) { 42 size_t size) {
43 if (id <= 0) { 43 if (id <= 0) {
44 DVLOG(ERROR) << "Cannot register transfer buffer with non-positive ID."; 44 DVLOG(0) << "Cannot register transfer buffer with non-positive ID.";
45 return false; 45 return false;
46 } 46 }
47 47
48 // Fail if the ID is in use. 48 // Fail if the ID is in use.
49 if (registered_buffers_.find(id) != registered_buffers_.end()) { 49 if (registered_buffers_.find(id) != registered_buffers_.end()) {
50 DVLOG(ERROR) << "Buffer ID already in use."; 50 DVLOG(0) << "Buffer ID already in use.";
51 return false; 51 return false;
52 } 52 }
53 53
54 // Duplicate the handle. 54 // Duplicate the handle.
55 base::SharedMemoryHandle duped_shared_memory_handle; 55 base::SharedMemoryHandle duped_shared_memory_handle;
56 if (!shared_memory->ShareToProcess(base::GetCurrentProcessHandle(), 56 if (!shared_memory->ShareToProcess(base::GetCurrentProcessHandle(),
57 &duped_shared_memory_handle)) { 57 &duped_shared_memory_handle)) {
58 DVLOG(ERROR) << "Failed to duplicate shared memory handle."; 58 DVLOG(0) << "Failed to duplicate shared memory handle.";
59 return false; 59 return false;
60 } 60 }
61 scoped_ptr<SharedMemory> duped_shared_memory( 61 scoped_ptr<SharedMemory> duped_shared_memory(
62 new SharedMemory(duped_shared_memory_handle, false)); 62 new SharedMemory(duped_shared_memory_handle, false));
63 63
64 // Map the shared memory into this process. This validates the size. 64 // Map the shared memory into this process. This validates the size.
65 if (!duped_shared_memory->Map(size)) { 65 if (!duped_shared_memory->Map(size)) {
66 DVLOG(ERROR) << "Failed to map shared memory."; 66 DVLOG(0) << "Failed to map shared memory.";
67 return false; 67 return false;
68 } 68 }
69 69
70 // If it could be mapped register the shared memory with the ID. 70 // If it could be mapped register the shared memory with the ID.
71 Buffer buffer; 71 Buffer buffer;
72 buffer.ptr = duped_shared_memory->memory(); 72 buffer.ptr = duped_shared_memory->memory();
73 buffer.size = size; 73 buffer.size = size;
74 buffer.shared_memory = duped_shared_memory.release(); 74 buffer.shared_memory = duped_shared_memory.release();
75 75
76 shared_memory_bytes_allocated_ += size; 76 shared_memory_bytes_allocated_ += size;
77 TRACE_COUNTER_ID1( 77 TRACE_COUNTER_ID1(
78 "gpu", "GpuTransferBufferMemory", this, shared_memory_bytes_allocated_); 78 "gpu", "GpuTransferBufferMemory", this, shared_memory_bytes_allocated_);
79 79
80 registered_buffers_[id] = buffer; 80 registered_buffers_[id] = buffer;
81 81
82 return true; 82 return true;
83 } 83 }
84 84
85 void TransferBufferManager::DestroyTransferBuffer(int32 id) { 85 void TransferBufferManager::DestroyTransferBuffer(int32 id) {
86 BufferMap::iterator it = registered_buffers_.find(id); 86 BufferMap::iterator it = registered_buffers_.find(id);
87 if (it == registered_buffers_.end()) { 87 if (it == registered_buffers_.end()) {
88 DVLOG(ERROR) << "Transfer buffer ID was not registered."; 88 DVLOG(0) << "Transfer buffer ID was not registered.";
89 return; 89 return;
90 } 90 }
91 91
92 DCHECK(shared_memory_bytes_allocated_ >= it->second.size); 92 DCHECK(shared_memory_bytes_allocated_ >= it->second.size);
93 shared_memory_bytes_allocated_ -= it->second.size; 93 shared_memory_bytes_allocated_ -= it->second.size;
94 TRACE_COUNTER_ID1( 94 TRACE_COUNTER_ID1(
95 "CommandBuffer", "SharedMemory", this, shared_memory_bytes_allocated_); 95 "CommandBuffer", "SharedMemory", this, shared_memory_bytes_allocated_);
96 96
97 delete it->second.shared_memory; 97 delete it->second.shared_memory;
98 registered_buffers_.erase(it); 98 registered_buffers_.erase(it);
99 } 99 }
100 100
101 Buffer TransferBufferManager::GetTransferBuffer(int32 id) { 101 Buffer TransferBufferManager::GetTransferBuffer(int32 id) {
102 if (id == 0) 102 if (id == 0)
103 return Buffer(); 103 return Buffer();
104 104
105 BufferMap::iterator it = registered_buffers_.find(id); 105 BufferMap::iterator it = registered_buffers_.find(id);
106 if (it == registered_buffers_.end()) 106 if (it == registered_buffers_.end())
107 return Buffer(); 107 return Buffer();
108 108
109 return it->second; 109 return it->second;
110 } 110 }
111 111
112 } // namespace gpu 112 } // namespace gpu
113 113
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698