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

Unified Diff: services/ui/ws/mus_gpu_memory_buffer_manager.h

Issue 2503113002: mus: Get GpuMemoryBuffer from gpu process when possible. (Closed)
Patch Set: . Created 4 years, 1 month 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: services/ui/ws/mus_gpu_memory_buffer_manager.h
diff --git a/services/ui/ws/mus_gpu_memory_buffer_manager.h b/services/ui/ws/mus_gpu_memory_buffer_manager.h
index a40a7438d1335deb2e84ae31e4629dc0f4df1b12..d098bb1b1fd6e27bab3cca48ba12111fd73f9295 100644
--- a/services/ui/ws/mus_gpu_memory_buffer_manager.h
+++ b/services/ui/ws/mus_gpu_memory_buffer_manager.h
@@ -27,6 +27,18 @@ class MusGpuMemoryBufferManager : public gpu::GpuMemoryBufferManager {
int client_id);
~MusGpuMemoryBufferManager() override;
+ void DestroyGpuMemoryBuffer(gfx::GpuMemoryBufferId id,
+ int client_id,
+ const gpu::SyncToken& sync_token);
+
+ gfx::GpuMemoryBufferHandle AllocateGpuMemoryBufferHandle(
reveman 2016/11/22 08:18:56 Hm, I'm not a fan of a Handle suffix. It's allocat
+ gfx::GpuMemoryBufferId id,
+ int client_id,
+ const gfx::Size& size,
+ gfx::BufferFormat format,
+ gfx::BufferUsage usage,
+ gpu::SurfaceHandle surface_handle);
+
// Overridden from gpu::GpuMemoryBufferManager:
std::unique_ptr<gfx::GpuMemoryBuffer> AllocateGpuMemoryBuffer(
const gfx::Size& size,
@@ -43,13 +55,14 @@ class MusGpuMemoryBufferManager : public gpu::GpuMemoryBufferManager {
private:
DISALLOW_COPY_AND_ASSIGN(MusGpuMemoryBufferManager);
- void DestroyGpuMemoryBuffer(gfx::GpuMemoryBufferId id,
- int client_id,
- bool is_native,
- const gpu::SyncToken& sync_token);
-
mojom::GpuServiceInternal* gpu_service_;
const int client_id_;
+
+ using NativeBuffers =
+ std::unordered_set<gfx::GpuMemoryBufferId,
+ BASE_HASH_NAMESPACE::hash<gfx::GpuMemoryBufferId>>;
+ std::unordered_map<int, NativeBuffers> native_buffers_;
reveman 2016/11/22 08:18:56 what is this used for? It seems to keep track of w
sadrul 2016/11/22 18:45:41 This is somewhat equivalent to BrowserGpuMemoryMan
reveman 2016/11/22 23:25:04 That's only needed for for Mac because IOSurface s
sadrul 2016/11/24 02:02:41 Ok. If I understand correctly, you are suggesting
sadrul 2016/11/24 03:34:04 It looks like ozone may be doing something as well
reveman 2016/11/30 17:32:45 Yes, I forgot that we unfortunately have a workaro
+
base::WeakPtrFactory<MusGpuMemoryBufferManager> weak_factory_;
};

Powered by Google App Engine
This is Rietveld 408576698