| Index: gpu/ipc/host/gpu_memory_buffer_support.cc | 
| diff --git a/gpu/ipc/host/gpu_memory_buffer_support.cc b/gpu/ipc/host/gpu_memory_buffer_support.cc | 
| index 66884870a1c0c4821ae04beaacb701b357fe76f2..ba6652426e89bd1e0e9178ab32628aff66ea6d55 100644 | 
| --- a/gpu/ipc/host/gpu_memory_buffer_support.cc | 
| +++ b/gpu/ipc/host/gpu_memory_buffer_support.cc | 
| @@ -35,7 +35,7 @@ bool AreNativeGpuMemoryBuffersEnabled() { | 
| GpuMemoryBufferConfigurationSet GetNativeGpuMemoryBufferConfigurations() { | 
| GpuMemoryBufferConfigurationSet configurations; | 
|  | 
| -#if defined(USE_OZONE) || defined(OS_MACOSX) | 
| +#if defined(USE_OZONE) || defined(OS_MACOSX) || defined(OS_WIN) | 
| if (AreNativeGpuMemoryBuffersEnabled()) { | 
| const gfx::BufferFormat kNativeFormats[] = { | 
| gfx::BufferFormat::R_8,       gfx::BufferFormat::RG_88, | 
| @@ -45,6 +45,7 @@ GpuMemoryBufferConfigurationSet GetNativeGpuMemoryBufferConfigurations() { | 
| gfx::BufferFormat::YVU_420,   gfx::BufferFormat::YUV_420_BIPLANAR}; | 
| const gfx::BufferUsage kNativeUsages[] = { | 
| gfx::BufferUsage::GPU_READ, gfx::BufferUsage::SCANOUT, | 
| +        gfx::BufferUsage::SCANOUT_ASYNC, | 
| gfx::BufferUsage::GPU_READ_CPU_READ_WRITE, | 
| gfx::BufferUsage::GPU_READ_CPU_READ_WRITE_PERSISTENT}; | 
| for (auto format : kNativeFormats) { | 
| @@ -68,6 +69,7 @@ GpuMemoryBufferConfigurationSet GetNativeGpuMemoryBufferConfigurations() { | 
| gfx::BufferFormat::YVU_420,   gfx::BufferFormat::YUV_420_BIPLANAR}; | 
| const gfx::BufferUsage kGPUReadWriteUsages[] = { | 
| gfx::BufferUsage::GPU_READ, gfx::BufferUsage::SCANOUT, | 
| +        gfx::BufferUsage::SCANOUT_ASYNC, | 
| gfx::BufferUsage::SCANOUT_CPU_READ_WRITE}; | 
| for (auto format : kGPUReadWriteFormats) { | 
| for (auto usage : kGPUReadWriteUsages) { | 
| @@ -83,7 +85,7 @@ GpuMemoryBufferConfigurationSet GetNativeGpuMemoryBufferConfigurations() { | 
|  | 
| uint32_t GetImageTextureTarget(gfx::BufferFormat format, | 
| gfx::BufferUsage usage) { | 
| -#if defined(USE_OZONE) || defined(OS_MACOSX) | 
| +#if defined(USE_OZONE) || defined(OS_MACOSX) || defined(OS_WIN) | 
| GpuMemoryBufferConfigurationSet native_configurations = | 
| GetNativeGpuMemoryBufferConfigurations(); | 
| if (native_configurations.find(std::make_pair(format, usage)) == | 
| @@ -99,6 +101,8 @@ uint32_t GetImageTextureTarget(gfx::BufferFormat format, | 
| case gfx::IO_SURFACE_BUFFER: | 
| // IOSurface backed images require GL_TEXTURE_RECTANGLE_ARB. | 
| return GL_TEXTURE_RECTANGLE_ARB; | 
| +    case gfx::DIRECT_COMPOSITION: | 
| +      return GL_TEXTURE_2D; | 
| case gfx::SHARED_MEMORY_BUFFER: | 
| case gfx::EMPTY_BUFFER: | 
| break; | 
|  |