Home | History | Annotate | Download | only in service
      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 
     12 namespace gpu {
     13 
     14 AsyncPixelTransferManager* 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