Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
SlugFromBuffer.cpp
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
13
14#include <atomic>
15#include <cstdint>
16
17// This file contains Slug methods that need to be defined on CPU and GPU builds, even though
18// Slugs aren't fully implemented in the CPU backend (yet?)
19
20namespace sktext::gpu {
21
23 auto procs = buffer.getDeserialProcs();
24 if (procs.fSlugProc) {
25 return procs.fSlugProc(buffer, procs.fSlugCtx);
26 }
27 SkDEBUGFAIL("Should have set serial procs");
28 return nullptr;
29}
30
31uint32_t Slug::NextUniqueID() {
32 static std::atomic<uint32_t> nextUnique = 1;
33 return nextUnique++;
34}
35
36} // namespace sktext::gpu
#define SkDEBUGFAIL(message)
Definition SkAssert.h:118
static sk_sp< Slug > MakeFromBuffer(SkReadBuffer &buffer)
static const uint8_t buffer[]