1// Copyright 2013 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "gpu/command_buffer/service/async_pixel_transfer_manager.h" 6 7#include "base/debug/trace_event.h" 8#include "gpu/command_buffer/service/async_pixel_transfer_manager_idle.h" 9#include "gpu/command_buffer/service/async_pixel_transfer_manager_stub.h" 10#include "ui/gl/gl_implementation.h" 11 12namespace gpu { 13 14AsyncPixelTransferManager* AsyncPixelTransferManager::Create( 15 gfx::GLContext* context) { 16 TRACE_EVENT0("gpu", "AsyncPixelTransferManager::Create"); 17 switch (gfx::GetGLImplementation()) { 18 case gfx::kGLImplementationOSMesaGL: 19 case gfx::kGLImplementationDesktopGL: 20 case gfx::kGLImplementationEGLGLES2: 21 return new AsyncPixelTransferManagerIdle; 22 case gfx::kGLImplementationMockGL: 23 return new AsyncPixelTransferManagerStub; 24 default: 25 NOTREACHED(); 26 return NULL; 27 } 28} 29 30} // namespace gpu 31