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

Unified Diff: content/browser/gpu/browser_gpu_memory_buffer_manager.cc

Issue 2087673002: Remove CreateGpuMemoryBufferFromClientId and plumbing (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 4 years, 6 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
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() {}
« no previous file with comments | « content/browser/gpu/browser_gpu_memory_buffer_manager.h ('k') | content/child/child_gpu_memory_buffer_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698