Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
GrBufferTransferRenderTask.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
13
15 size_t srcOffset,
17 size_t dstOffset,
18 size_t size) {
19 return sk_sp<GrRenderTask>(new GrBufferTransferRenderTask(std::move(src),
20 srcOffset,
21 std::move(dst),
22 dstOffset,
23 size));
24}
25
26GrBufferTransferRenderTask::GrBufferTransferRenderTask(sk_sp<GrGpuBuffer> src,
27 size_t srcOffset,
29 size_t dstOffset,
30 size_t size)
31 : fSrc(std::move(src))
32 , fDst(std::move(dst))
33 , fSrcOffset(srcOffset)
34 , fDstOffset(dstOffset)
35 , fSize(size) {
37}
38
40
42 return flushState->gpu()->transferFromBufferToBuffer(fSrc,
43 fSrcOffset,
44 fDst,
45 fDstOffset,
46 fSize);
47}
bool onExecute(GrOpFlushState *) override
~GrBufferTransferRenderTask() override
static sk_sp< GrRenderTask > Make(sk_sp< GrGpuBuffer > src, size_t srcOffset, sk_sp< GrGpuBuffer > dst, size_t dstOffset, size_t size)
bool transferFromBufferToBuffer(sk_sp< GrGpuBuffer > src, size_t srcOffset, sk_sp< GrGpuBuffer > dst, size_t dstOffset, size_t size)
Definition GrGpu.cpp:511
void setFlag(uint32_t flag)
@ kBlocksReordering_Flag
No task can be reordered with respect to this task.
Definition ref_ptr.h:256