Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Texture.cpp
Go to the documentation of this file.
1/*
2 * Copyright 2021 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
16
17namespace skgpu::graphite {
18
19
20Texture::Texture(const SharedContext* sharedContext,
21 SkISize dimensions,
22 const TextureInfo& info,
23 sk_sp<MutableTextureState> mutableState,
24 Ownership ownership,
25 skgpu::Budgeted budgeted)
26 : Resource(sharedContext,
27 ownership,
28 budgeted,
29 ComputeSize(dimensions, info),
30 /*label=*/"Texture")
31 , fDimensions(dimensions)
32 , fInfo(info)
33 , fMutableState(std::move(mutableState)) {}
34
36
38 fReleaseCallback = std::move(releaseCallback);
39}
40
42 if (fReleaseCallback) {
43 // Depending on the ref count of fReleaseCallback this may or may not actually trigger
44 // the ReleaseProc to be called.
45 fReleaseCallback.reset();
46 }
47}
48
49MutableTextureState* Texture::mutableState() const { return fMutableState.get(); }
50
52 const char* dumpName) const {
53 SkString dimensionsStr;
54 dimensionsStr.printf("(%dx%d)", fDimensions.width(), fDimensions.height());
55 traceMemoryDump->dumpStringValue(dumpName, "dimensions", dimensionsStr.c_str());
56 traceMemoryDump->dumpStringValue(dumpName, "textureInfo", fInfo.toString().c_str());
57}
58
59} // namespace skgpu::graphite
static void info(const char *fmt,...) SK_PRINTF_LIKE(1
Definition DM.cpp:213
void printf(const char format[],...) SK_PRINTF_LIKE(2
Definition SkString.cpp:534
const char * c_str() const
Definition SkString.h:133
virtual void dumpStringValue(const char *, const char *, const char *)
void onDumpMemoryStatistics(SkTraceMemoryDump *traceMemoryDump, const char *dumpName) const override
Definition Texture.cpp:51
void invokeReleaseProc() override
Definition Texture.cpp:41
Texture(const SharedContext *, SkISize dimensions, const TextureInfo &info, sk_sp< MutableTextureState > mutableState, Ownership, skgpu::Budgeted)
Definition Texture.cpp:20
MutableTextureState * mutableState() const
Definition Texture.cpp:49
void setReleaseCallback(sk_sp< RefCntedCallback >)
Definition Texture.cpp:37
size_t ComputeSize(SkISize dimensions, const TextureInfo &info)
Budgeted
Definition GpuTypes.h:35
Definition ref_ptr.h:256
constexpr int32_t width() const
Definition SkSize.h:36
constexpr int32_t height() const
Definition SkSize.h:37