/* * Copyright 2011 Google Inc. * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #include "GrGpuFactory.h" #include "gl/GrGLGpu.h" #include "mock/GrMockGpu.h" #ifdef SK_VULKAN #include "vk/GrVkGpu.h" #endif sk_sp<GrGpu> GrGpu::Make(GrBackend backend, GrBackendContext backendContext, const GrContextOptions& options, GrContext* context) { switch (backend) { case kOpenGL_GrBackend: return GrGLGpu::Make(backendContext, options, context); #ifdef SK_VULKAN case kVulkan_GrBackend: return GrVkGpu::Make(backendContext, options, context); #endif case kMock_GrBackend: return GrMockGpu::Make(backendContext, options, context); default: return nullptr; } }