Flutter Engine
The Flutter Engine
GraphiteResourceKey.cpp
Go to the documentation of this file.
1/*
2 * Copyright 2022 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
9
10namespace skgpu::graphite {
11
13 static std::atomic<int32_t> nextType{ResourceKey::kInvalidDomain + 1};
14
15 int32_t type = nextType.fetch_add(1, std::memory_order_relaxed);
16 if (type > SkTo<int32_t>(UINT16_MAX)) {
17 SK_ABORT("Too many Graphite Resource Types");
18 }
19
20 return static_cast<ResourceType>(type);
21}
22
23} // namespace skgpu::graphite
24
#define SK_ABORT(message,...)
Definition: SkAssert.h:70
GLenum type
static const uint32_t kInvalidDomain
Definition: ResourceKey.h:95
uint32_t ResourceType