| Index: content/browser/gpu/browser_gpu_memory_buffer_manager.cc
|
| diff --git a/content/browser/gpu/browser_gpu_memory_buffer_manager.cc b/content/browser/gpu/browser_gpu_memory_buffer_manager.cc
|
| index b249d56ddec7df040e244369f9513ff52ea5142a..258992cf63d9ba9817a2639be4e9e44431609280 100644
|
| --- a/content/browser/gpu/browser_gpu_memory_buffer_manager.cc
|
| +++ b/content/browser/gpu/browser_gpu_memory_buffer_manager.cc
|
| @@ -127,10 +127,6 @@ GpuMemoryBufferConfigurationSet GetNativeGpuMemoryBufferConfigurations() {
|
| return configurations;
|
| }
|
|
|
| -void DestroyGpuMemoryBuffer(const gpu::SyncToken& sync_token) {
|
| - // No additional state needs to be cleaned up.
|
| -}
|
| -
|
| BrowserGpuMemoryBufferManager* g_gpu_memory_buffer_manager = nullptr;
|
|
|
| } // namespace
|
| @@ -175,21 +171,6 @@ struct BrowserGpuMemoryBufferManager::CreateGpuMemoryBufferFromHandleRequest
|
| gfx::GpuMemoryBufferHandle handle;
|
| };
|
|
|
| -struct BrowserGpuMemoryBufferManager::CreateGpuMemoryBufferFromClientIdRequest
|
| - : public CreateGpuMemoryBufferRequest {
|
| - CreateGpuMemoryBufferFromClientIdRequest(
|
| - int client_id,
|
| - const gfx::GpuMemoryBufferId& gpu_memory_buffer_id)
|
| - : CreateGpuMemoryBufferRequest(gfx::Size(),
|
| - gfx::BufferFormat::RGBA_8888,
|
| - gfx::BufferUsage::GPU_READ,
|
| - client_id,
|
| - gpu::kNullSurfaceHandle),
|
| - gpu_memory_buffer_id(gpu_memory_buffer_id) {}
|
| - ~CreateGpuMemoryBufferFromClientIdRequest() {}
|
| - gfx::GpuMemoryBufferId gpu_memory_buffer_id;
|
| -};
|
| -
|
| BrowserGpuMemoryBufferManager::BrowserGpuMemoryBufferManager(
|
| int gpu_client_id,
|
| uint64_t gpu_client_tracing_id)
|
| @@ -334,30 +315,6 @@ void BrowserGpuMemoryBufferManager::AllocateGpuMemoryBufferForChildProcess(
|
| id, size, format, child_process_handle));
|
| }
|
|
|
| -std::unique_ptr<gfx::GpuMemoryBuffer>
|
| -BrowserGpuMemoryBufferManager::CreateGpuMemoryBufferFromClientId(
|
| - int client_id,
|
| - const gfx::GpuMemoryBufferId& gpu_memory_buffer_id) {
|
| - DCHECK(!BrowserThread::CurrentlyOn(BrowserThread::IO));
|
| -
|
| - CreateGpuMemoryBufferFromClientIdRequest request(client_id,
|
| - gpu_memory_buffer_id);
|
| - BrowserThread::PostTask(
|
| - BrowserThread::IO, FROM_HERE,
|
| - base::Bind(&BrowserGpuMemoryBufferManager::
|
| - HandleCreateGpuMemoryBufferFromClientIdOnIO,
|
| - base::Unretained(this), // Safe as we wait for result below.
|
| - base::Unretained(&request)));
|
| -
|
| - // We're blocking the UI thread, which is generally undesirable.
|
| - TRACE_EVENT0(
|
| - "browser",
|
| - "BrowserGpuMemoryBufferManager::CreateGpuMemoryBufferFromClientId");
|
| - base::ThreadRestrictions::ScopedAllowWait allow_wait;
|
| - request.event.Wait();
|
| - return std::move(request.result);
|
| -}
|
| -
|
| gfx::GpuMemoryBuffer*
|
| BrowserGpuMemoryBufferManager::GpuMemoryBufferFromClientBuffer(
|
| ClientBuffer buffer) {
|
| @@ -580,37 +537,6 @@ void BrowserGpuMemoryBufferManager::HandleCreateGpuMemoryBufferFromHandleOnIO(
|
| request->event.Signal();
|
| }
|
|
|
| -void BrowserGpuMemoryBufferManager::HandleCreateGpuMemoryBufferFromClientIdOnIO(
|
| - CreateGpuMemoryBufferFromClientIdRequest* request) {
|
| - DCHECK_CURRENTLY_ON(BrowserThread::IO);
|
| -
|
| - // This must be robust to renderer processes specifying invalid ids or the
|
| - // client being removed.
|
| - ClientMap::iterator client_it = clients_.find(request->client_id);
|
| - if (client_it == clients_.end()) {
|
| - LOG(ERROR) << "CreateGpuMemoryBufferFromClientId: invalid client.";
|
| - request->event.Signal();
|
| - return;
|
| - }
|
| - BufferMap& buffers = client_it->second;
|
| - BufferMap::iterator buffer_it = buffers.find(request->gpu_memory_buffer_id);
|
| - if (buffer_it == buffers.end()) {
|
| - LOG(ERROR) << "CreateGpuMemoryBufferFromClientId: invalid id.";
|
| - request->event.Signal();
|
| - return;
|
| - }
|
| -
|
| - // Create a copy of the buffer to provide to the caller.
|
| - if (buffer_it->second.buffer) {
|
| - request->result = gpu::GpuMemoryBufferImpl::CreateFromHandle(
|
| - buffer_it->second.buffer->GetHandle(),
|
| - buffer_it->second.size, buffer_it->second.format,
|
| - buffer_it->second.usage, base::Bind(DestroyGpuMemoryBuffer));
|
| - }
|
| -
|
| - request->event.Signal();
|
| -}
|
| -
|
| void BrowserGpuMemoryBufferManager::HandleGpuMemoryBufferCreatedOnIO(
|
| CreateGpuMemoryBufferRequest* request,
|
| const gfx::GpuMemoryBufferHandle& handle) {
|
| @@ -644,8 +570,6 @@ void BrowserGpuMemoryBufferManager::CreateGpuMemoryBufferOnIO(
|
| bool reused_gpu_process,
|
| const CreateCallback& callback) {
|
| DCHECK_CURRENTLY_ON(BrowserThread::IO);
|
| - TRACE_EVENT0("browser",
|
| - "BrowserGpuMemoryBufferManager::CreateGpuMemoryBufferOnIO");
|
|
|
| GpuProcessHost* host = GpuProcessHost::FromID(gpu_host_id_);
|
| if (!host) {
|
| @@ -703,8 +627,6 @@ void BrowserGpuMemoryBufferManager::GpuMemoryBufferCreatedOnIO(
|
| const CreateCallback& callback,
|
| const gfx::GpuMemoryBufferHandle& handle) {
|
| DCHECK_CURRENTLY_ON(BrowserThread::IO);
|
| - TRACE_EVENT0("browser",
|
| - "BrowserGpuMemoryBufferManager::GpuMemoryBufferCreatedOnIO");
|
|
|
| ClientMap::iterator client_it = clients_.find(client_id);
|
|
|
| @@ -728,21 +650,6 @@ void BrowserGpuMemoryBufferManager::GpuMemoryBufferCreatedOnIO(
|
| // If the handle isn't valid, that means that the GPU process crashed or is
|
| // misbehaving.
|
| bool valid_handle = !handle.is_null() && handle.id == id;
|
| -
|
| - // Open a copy of the buffer in the browser process for future use.
|
| - std::unique_ptr<gpu::GpuMemoryBufferImpl> buffer;
|
| - if (valid_handle) {
|
| - // TODO(ccameron): Enable this for all buffer types.
|
| - // https://crbug.com/614791
|
| - if (handle.type == gfx::IO_SURFACE_BUFFER) {
|
| - buffer = gpu::GpuMemoryBufferImpl::CreateFromHandle(
|
| - handle, buffer_it->second.size, buffer_it->second.format,
|
| - buffer_it->second.usage, base::Bind(DestroyGpuMemoryBuffer));
|
| - if (!buffer)
|
| - valid_handle = false;
|
| - }
|
| - }
|
| -
|
| if (!valid_handle) {
|
| // If we failed after re-using the GPU process, it may have died in the
|
| // mean time. Retry to have a chance to create a fresh GPU process.
|
| @@ -773,7 +680,6 @@ void BrowserGpuMemoryBufferManager::GpuMemoryBufferCreatedOnIO(
|
| // client is removed.
|
| buffer_it->second.type = handle.type;
|
| buffer_it->second.gpu_host_id = gpu_host_id;
|
| - buffer_it->second.buffer = std::move(buffer);
|
|
|
| callback.Run(handle);
|
| }
|
| @@ -834,13 +740,8 @@ BrowserGpuMemoryBufferManager::BufferInfo::BufferInfo(
|
| usage(usage),
|
| gpu_host_id(gpu_host_id) {}
|
|
|
| -BrowserGpuMemoryBufferManager::BufferInfo::BufferInfo(BufferInfo&& other)
|
| - : size(other.size),
|
| - type(other.type),
|
| - format(other.format),
|
| - usage(other.usage),
|
| - gpu_host_id(other.gpu_host_id),
|
| - buffer(std::move(other.buffer)) {}
|
| +BrowserGpuMemoryBufferManager::BufferInfo::BufferInfo(const BufferInfo& other) =
|
| + default;
|
|
|
| BrowserGpuMemoryBufferManager::BufferInfo::~BufferInfo() {}
|
|
|
|
|