| /* |
| * Copyright 2021 Google LLC |
| * |
| * Use of this source code is governed by a BSD-style license that can be |
| * found in the LICENSE file. |
| */ |
| |
| #include "src/gpu/graphite/SharedContext.h" |
| |
| #include "include/gpu/graphite/BackendTexture.h" |
| #include "include/gpu/graphite/TextureInfo.h" |
| #include "src/gpu/graphite/Caps.h" |
| #include "src/gpu/graphite/CommandBuffer.h" |
| #include "src/gpu/graphite/GpuWorkSubmission.h" |
| #include "src/gpu/graphite/RendererProvider.h" |
| #include "src/gpu/graphite/ResourceProvider.h" |
| |
| namespace skgpu::graphite { |
| |
| SharedContext::SharedContext(std::unique_ptr<const Caps> caps, BackendApi backend) |
| : fCaps(std::move(caps)) |
| , fBackend(backend) |
| , fProtected(Protected::kNo) |
| , fGlobalCache() |
| , fShaderDictionary() {} |
| |
| SharedContext::~SharedContext() { |
| // TODO: add disconnect? |
| |
| // TODO: destroyResources instead? |
| } |
| |
| void SharedContext::setRendererProvider(std::unique_ptr<RendererProvider> rendererProvider) { |
| // Should only be called once and be non-null |
| SkASSERT(rendererProvider && !fRendererProvider); |
| fRendererProvider = std::move(rendererProvider); |
| } |
| |
| } // namespace skgpu::graphite |