| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/ipc/client/gpu_memory_buffer_impl_shared_memory.h" | 5 #include "gpu/ipc/client/gpu_memory_buffer_impl_shared_memory.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 #include <utility> | 8 #include <utility> |
| 9 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 47 if (!shared_memory->CreateAndMapAnonymous(buffer_size)) | 47 if (!shared_memory->CreateAndMapAnonymous(buffer_size)) |
| 48 return nullptr; | 48 return nullptr; |
| 49 | 49 |
| 50 return base::WrapUnique(new GpuMemoryBufferImplSharedMemory( | 50 return base::WrapUnique(new GpuMemoryBufferImplSharedMemory( |
| 51 id, size, format, callback, std::move(shared_memory), 0, | 51 id, size, format, callback, std::move(shared_memory), 0, |
| 52 gfx::RowSizeForBufferFormat(size.width(), format, 0))); | 52 gfx::RowSizeForBufferFormat(size.width(), format, 0))); |
| 53 } | 53 } |
| 54 | 54 |
| 55 // static | 55 // static |
| 56 gfx::GpuMemoryBufferHandle | 56 gfx::GpuMemoryBufferHandle |
| 57 GpuMemoryBufferImplSharedMemory::AllocateGpuMemoryBuffer( | 57 GpuMemoryBufferImplSharedMemory::CreateGpuMemoryBuffer( |
| 58 gfx::GpuMemoryBufferId id, | 58 gfx::GpuMemoryBufferId id, |
| 59 const gfx::Size& size, | 59 const gfx::Size& size, |
| 60 gfx::BufferFormat format) { | 60 gfx::BufferFormat format) { |
| 61 size_t buffer_size = 0u; | 61 size_t buffer_size = 0u; |
| 62 if (!gfx::BufferSizeForBufferFormatChecked(size, format, &buffer_size)) | 62 if (!gfx::BufferSizeForBufferFormatChecked(size, format, &buffer_size)) |
| 63 return gfx::GpuMemoryBufferHandle(); | 63 return gfx::GpuMemoryBufferHandle(); |
| 64 | 64 |
| 65 base::SharedMemory shared_memory; | 65 base::SharedMemory shared_memory; |
| 66 if (!shared_memory.CreateAnonymous(buffer_size)) | 66 if (!shared_memory.CreateAnonymous(buffer_size)) |
| 67 return gfx::GpuMemoryBufferHandle(); | 67 return gfx::GpuMemoryBufferHandle(); |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 152 NOTREACHED(); | 152 NOTREACHED(); |
| 153 return false; | 153 return false; |
| 154 } | 154 } |
| 155 | 155 |
| 156 // static | 156 // static |
| 157 base::Closure GpuMemoryBufferImplSharedMemory::AllocateForTesting( | 157 base::Closure GpuMemoryBufferImplSharedMemory::AllocateForTesting( |
| 158 const gfx::Size& size, | 158 const gfx::Size& size, |
| 159 gfx::BufferFormat format, | 159 gfx::BufferFormat format, |
| 160 gfx::BufferUsage usage, | 160 gfx::BufferUsage usage, |
| 161 gfx::GpuMemoryBufferHandle* handle) { | 161 gfx::GpuMemoryBufferHandle* handle) { |
| 162 *handle = AllocateGpuMemoryBuffer(handle->id, size, format); | 162 *handle = CreateGpuMemoryBuffer(handle->id, size, format); |
| 163 return base::Bind(&base::DoNothing); | 163 return base::Bind(&base::DoNothing); |
| 164 } | 164 } |
| 165 | 165 |
| 166 bool GpuMemoryBufferImplSharedMemory::Map() { | 166 bool GpuMemoryBufferImplSharedMemory::Map() { |
| 167 DCHECK(!mapped_); | 167 DCHECK(!mapped_); |
| 168 | 168 |
| 169 // Map the buffer first time Map() is called then keep it mapped for the | 169 // Map the buffer first time Map() is called then keep it mapped for the |
| 170 // lifetime of the buffer. This avoids mapping the buffer unless necessary. | 170 // lifetime of the buffer. This avoids mapping the buffer unless necessary. |
| 171 if (!shared_memory_->memory()) { | 171 if (!shared_memory_->memory()) { |
| 172 DCHECK_EQ(static_cast<size_t>(stride_), | 172 DCHECK_EQ(static_cast<size_t>(stride_), |
| (...skipping 30 matching lines...) Expand all Loading... |
| 203 gfx::GpuMemoryBufferHandle handle; | 203 gfx::GpuMemoryBufferHandle handle; |
| 204 handle.type = gfx::SHARED_MEMORY_BUFFER; | 204 handle.type = gfx::SHARED_MEMORY_BUFFER; |
| 205 handle.id = id_; | 205 handle.id = id_; |
| 206 handle.offset = offset_; | 206 handle.offset = offset_; |
| 207 handle.stride = stride_; | 207 handle.stride = stride_; |
| 208 handle.handle = shared_memory_->handle(); | 208 handle.handle = shared_memory_->handle(); |
| 209 return handle; | 209 return handle; |
| 210 } | 210 } |
| 211 | 211 |
| 212 } // namespace gpu | 212 } // namespace gpu |
| OLD | NEW |