Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
GrBufferUpdateRenderTask.h
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
8#ifndef GrBufferUpdateRenderTask_DEFINED
9#define GrBufferUpdateRenderTask_DEFINED
10
12
13class GrGpuBuffer;
14
16public:
17 static sk_sp<GrRenderTask> Make(sk_sp<SkData> src, sk_sp<GrGpuBuffer> dst, size_t dstOffset);
18
20
21private:
23
24 bool onIsUsed(GrSurfaceProxy* proxy) const override { return false; }
25 void gatherProxyIntervals(GrResourceAllocator*) const override {} // no proxies
26 ExpectedOutcome onMakeClosed(GrRecordingContext*, SkIRect* targetUpdateBounds) override {
27 return ExpectedOutcome::kTargetUnchanged; // no target
28 }
29 bool onExecute(GrOpFlushState*) override;
30
31#if defined(GR_TEST_UTILS)
32 const char* name() const final { return "BufferUpdate"; }
33#endif
34#ifdef SK_DEBUG
35 void visitProxies_debugOnly(const GrVisitProxyFunc&) const override {}
36#endif
37
38 sk_sp<SkData> fSrc;
40 size_t fDstOffset;
41};
42
43#endif
std::function< void(GrSurfaceProxy *, skgpu::Mipmapped)> GrVisitProxyFunc
ExpectedOutcome onMakeClosed(GrRecordingContext *, SkIRect *targetUpdateBounds) override
~GrBufferUpdateRenderTask() override
static sk_sp< GrRenderTask > Make(sk_sp< SkData > src, sk_sp< GrGpuBuffer > dst, size_t dstOffset)
bool onIsUsed(GrSurfaceProxy *proxy) const override
void gatherProxyIntervals(GrResourceAllocator *) const override
bool onExecute(GrOpFlushState *) override
const char * name
Definition fuchsia.cc:50