| Index: content/common/gpu/gpu_command_buffer_stub.cc
|
| diff --git a/content/common/gpu/gpu_command_buffer_stub.cc b/content/common/gpu/gpu_command_buffer_stub.cc
|
| index 3795fa7acf1e09a2c7472093ce1e3d2967cee6c1..026184c96230cbf856d72d4f51360fb4999427e5 100644
|
| --- a/content/common/gpu/gpu_command_buffer_stub.cc
|
| +++ b/content/common/gpu/gpu_command_buffer_stub.cc
|
| @@ -14,6 +14,7 @@
|
| #include "content/common/gpu/gpu_channel.h"
|
| #include "content/common/gpu/gpu_channel_manager.h"
|
| #include "content/common/gpu/gpu_command_buffer_stub.h"
|
| +#include "content/common/gpu/gpu_memory_buffer_factory.h"
|
| #include "content/common/gpu/gpu_memory_manager.h"
|
| #include "content/common/gpu/gpu_memory_tracking.h"
|
| #include "content/common/gpu/gpu_messages.h"
|
| @@ -928,13 +929,19 @@ void GpuCommandBufferStub::OnSetClientHasMemoryAllocationChangedCallback(
|
|
|
| void GpuCommandBufferStub::OnRegisterGpuMemoryBuffer(
|
| int32 id,
|
| - gfx::GpuMemoryBufferHandle gpu_memory_buffer,
|
| + gfx::GpuMemoryBufferHandle handle,
|
| uint32 width,
|
| uint32 height,
|
| uint32 internalformat) {
|
| TRACE_EVENT0("gpu", "GpuCommandBufferStub::OnRegisterGpuMemoryBuffer");
|
| +
|
| + // Verify that renderer is not trying to use a buffer it doesn't own.
|
| + if (!GpuMemoryBufferFactory::RequestAccessToGpuMemoryBuffer(
|
| + handle, channel()->client_id())) {
|
| + LOG(ERROR) << "Access to GPU memory buffer by renderer denied.";
|
| + return;
|
| + }
|
| #if defined(OS_ANDROID)
|
| - // Verify that renderer is not trying to use a surface texture it doesn't own.
|
| if (gpu_memory_buffer.type == gfx::SURFACE_TEXTURE_BUFFER &&
|
| gpu_memory_buffer.surface_texture_id.secondary_id !=
|
| channel()->client_id()) {
|
| @@ -942,9 +949,10 @@ void GpuCommandBufferStub::OnRegisterGpuMemoryBuffer(
|
| return;
|
| }
|
| #endif
|
| +
|
| if (gpu_control_service_) {
|
| gpu_control_service_->RegisterGpuMemoryBuffer(
|
| - id, gpu_memory_buffer, width, height, internalformat);
|
| + id, handle, width, height, internalformat);
|
| }
|
| }
|
|
|
|
|