Flutter Engine
The Flutter Engine
third_party
skia
src
gpu
graphite
task
RenderPassTask.h
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
8
#ifndef skgpu_graphite_task_RenderPassTask_DEFINED
9
#define skgpu_graphite_task_RenderPassTask_DEFINED
10
11
#include "
src/gpu/graphite/CommandBuffer.h
"
12
#include "
src/gpu/graphite/RenderPassDesc.h
"
13
#include "
src/gpu/graphite/task/Task.h
"
14
15
namespace
skgpu::graphite
{
16
17
class
DrawPass;
18
19
/**
20
* RenderPassTask handles preparing and recording DrawLists into a single render pass within a
21
* command buffer. If the backend supports subpasses, and the DrawLists/surfaces are compatible, a
22
* RenderPassTask can execute multiple DrawLists across different surfaces as subpasses nested
23
* within a single render pass. If there is no such support, a RenderPassTask is one-to-one with a
24
* "render pass" to specific surface.
25
*/
26
class
RenderPassTask
final :
public
Task
{
27
public
:
28
using
DrawPassList
=
skia_private::STArray<1, std::unique_ptr<DrawPass>
>;
29
30
static
sk_sp<RenderPassTask>
Make
(
DrawPassList
,
31
const
RenderPassDesc
&,
32
sk_sp<TextureProxy>
target
);
33
34
~RenderPassTask
()
override
;
35
36
Status
prepareResources
(
ResourceProvider
*,
37
ScratchResourceManager
*,
38
const
RuntimeEffectDictionary
*)
override
;
39
40
Status
addCommands
(
Context
*,
CommandBuffer
*,
ReplayTargetData
)
override
;
41
42
private
:
43
RenderPassTask
(
DrawPassList
,
const
RenderPassDesc
&,
sk_sp<TextureProxy>
target
);
44
45
DrawPassList
fDrawPasses;
46
RenderPassDesc
fRenderPassDesc;
47
sk_sp<TextureProxy>
fTarget;
48
};
49
50
}
// namespace skgpu::graphite
51
52
#endif
// skgpu_graphite_task_RenderPassTask_DEFINED
CommandBuffer.h
RenderPassDesc.h
Task.h
sk_sp
Definition:
SkRefCnt.h:220
skgpu::graphite::CommandBuffer
Definition:
CommandBuffer.h:38
skgpu::graphite::Context
Definition:
Context.h:43
skgpu::graphite::RenderPassTask
Definition:
RenderPassTask.h:26
skgpu::graphite::RenderPassTask::~RenderPassTask
~RenderPassTask() override
skgpu::graphite::RenderPassTask::Make
static sk_sp< RenderPassTask > Make(DrawPassList, const RenderPassDesc &, sk_sp< TextureProxy > target)
Definition:
RenderPassTask.cpp:22
skgpu::graphite::RenderPassTask::addCommands
Status addCommands(Context *, CommandBuffer *, ReplayTargetData) override
Definition:
RenderPassTask.cpp:79
skgpu::graphite::RenderPassTask::prepareResources
Status prepareResources(ResourceProvider *, ScratchResourceManager *, const RuntimeEffectDictionary *) override
Definition:
RenderPassTask.cpp:52
skgpu::graphite::ResourceProvider
Definition:
ResourceProvider.h:50
skgpu::graphite::RuntimeEffectDictionary
Definition:
RuntimeEffectDictionary.h:22
skgpu::graphite::ScratchResourceManager
Definition:
ScratchResourceManager.h:75
skgpu::graphite::Task
Definition:
Task.h:23
skgpu::graphite::Task::Status
Status
Definition:
Task.h:31
skia_private::STArray< 1, std::unique_ptr< DrawPass > >
target
uint32_t * target
Definition:
fl_texture_registrar_test.cc:40
skgpu::graphite
Definition:
BoundsManagerBench.cpp:27
skgpu::graphite::RenderPassDesc
Definition:
RenderPassDesc.h:31
skgpu::graphite::Task::ReplayTargetData
Definition:
Task.h:26
Generated on Sun Jun 23 2024 21:56:28 for Flutter Engine by
1.9.4