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