Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
GrBackendSemaphorePriv.h
Go to the documentation of this file.
1/*
2 * Copyright 2023 Google LLC
3 *
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
7
8#ifndef GrBackendSemaphorePriv_DEFINED
9#define GrBackendSemaphorePriv_DEFINED
10
13
14enum class GrBackendApi : unsigned int;
15
17public:
19
20#if defined(SK_DEBUG)
21 virtual GrBackendApi type() const = 0;
22#endif
23protected:
26
28
29private:
30 friend class GrBackendSemaphore;
31 virtual void copyTo(AnySemaphoreData&) const = 0;
32};
33
35public:
36 template <typename SemaphoreData>
38 const SemaphoreData& data) {
39 return GrBackendSemaphore(backend, data);
40 }
41
43 return sem.fSemaphoreData.get();
44 }
45};
46
47#endif
const char * backend
GrBackendApi
Definition GrTypes.h:95
Type::kYUV Type::kRGBA() int(0.7 *637)
virtual void copyTo(AnySemaphoreData &) const =0
GrBackendSemaphoreData(const GrBackendSemaphoreData &)=default
virtual ~GrBackendSemaphoreData()
GrBackendSemaphoreData()=default
static const GrBackendSemaphoreData * GetBackendData(const GrBackendSemaphore &sem)
static GrBackendSemaphore MakeGrBackendSemaphore(GrBackendApi backend, const SemaphoreData &data)
const Base * get() const