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

Unified Diff: gpu/ipc/service/image_transport_surface_overlay_mac.mm

Issue 2473973002: NOT for review (for discussion): Query IOSurfaceIsInUse in the browser process
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
« no previous file with comments | « gpu/ipc/common/gpu_command_buffer_traits.cc ('k') | ui/gfx/gpu_memory_buffer.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gpu/ipc/service/image_transport_surface_overlay_mac.mm
diff --git a/gpu/ipc/service/image_transport_surface_overlay_mac.mm b/gpu/ipc/service/image_transport_surface_overlay_mac.mm
index ef4b795dc883ae5c4da1776c97eab64da5f40a87..a66321305689ff91f8ffbef21fffbd992253f3d3 100644
--- a/gpu/ipc/service/image_transport_surface_overlay_mac.mm
+++ b/gpu/ipc/service/image_transport_surface_overlay_mac.mm
@@ -166,14 +166,16 @@ void IOSurfaceContextNoOp(scoped_refptr<ui::IOSurfaceContext>) {
for (auto& query : ca_layer_in_use_queries_) {
gpu::TextureInUseResponse response;
response.texture = query.texture;
- bool in_use = false;
+ response.in_use_valid = false;
gl::GLImageIOSurface* io_surface_image =
gl::GLImageIOSurface::FromGLImage(query.image.get());
- if (io_surface_image) {
- in_use = io_surface_image->CanCheckIOSurfaceIsInUse() &&
- IOSurfaceIsInUse(io_surface_image->io_surface());
+ if (query.needs_gpu_memory_buffer_handle && io_surface_image) {
+ response.in_use_valid = io_surface_image->CanCheckIOSurfaceIsInUse();
+ response.gpu_memory_buffer_handle.type =
+ gfx::GpuMemoryBufferType::IO_SURFACE_BUFFER;
+ response.gpu_memory_buffer_handle.mach_port.reset(
+ IOSurfaceCreateMachPort(io_surface_image->io_surface()));
}
- response.in_use = in_use;
params.in_use_responses.push_back(std::move(response));
}
ca_layer_in_use_queries_.clear();
« no previous file with comments | « gpu/ipc/common/gpu_command_buffer_traits.cc ('k') | ui/gfx/gpu_memory_buffer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698