| /* | |
| * 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; | |
| } | |
| } |