1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- /*
- * Copyright 2019 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
- #include "include/private/GrContext_Base.h"
- #include "src/gpu/GrBaseContextPriv.h"
- #include "src/gpu/GrCaps.h"
- #include "src/gpu/GrSkSLFPFactoryCache.h"
- static int32_t next_id() {
- static std::atomic<int32_t> nextID{1};
- int32_t id;
- do {
- id = nextID++;
- } while (id == SK_InvalidGenID);
- return id;
- }
- GrContext_Base::GrContext_Base(GrBackendApi backend,
- const GrContextOptions& options,
- uint32_t contextID)
- : fBackend(backend)
- , fOptions(options)
- , fContextID(SK_InvalidGenID == contextID ? next_id() : contextID) {
- }
- GrContext_Base::~GrContext_Base() { }
- bool GrContext_Base::init(sk_sp<const GrCaps> caps, sk_sp<GrSkSLFPFactoryCache> FPFactoryCache) {
- SkASSERT(caps && FPFactoryCache);
- fCaps = caps;
- fFPFactoryCache = FPFactoryCache;
- return true;
- }
- const GrCaps* GrContext_Base::caps() const { return fCaps.get(); }
- sk_sp<const GrCaps> GrContext_Base::refCaps() const { return fCaps; }
- sk_sp<GrSkSLFPFactoryCache> GrContext_Base::fpFactoryCache() { return fFPFactoryCache; }
- ///////////////////////////////////////////////////////////////////////////////////////////////////
- sk_sp<const GrCaps> GrBaseContextPriv::refCaps() const {
- return fContext->refCaps();
- }
- sk_sp<GrSkSLFPFactoryCache> GrBaseContextPriv::fpFactoryCache() {
- return fContext->fpFactoryCache();
- }
|