Flutter Engine
The Flutter Engine
third_party
skia
src
gpu
ganesh
GrRenderTaskCluster.h
Go to the documentation of this file.
1
/*
2
* Copyright 2021 Google Inc.
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 GrRenderTaskCluster_DEFINED
9
#define GrRenderTaskCluster_DEFINED
10
11
#include "
include/core/SkRefCnt.h
"
12
#include "
include/core/SkSpan.h
"
13
#include "
src/base/SkTInternalLList.h
"
14
15
class
GrRenderTask
;
16
17
// Take a topologically-sorted DAG and cluster the tasks together while maintaining the
18
// dependencies.
19
//
20
// If no clustering is possible the llist is populated with the nodes in the original order and
21
// false is returned.
22
// Otherwise, returns true and populates the provided llist as such:
23
// - Contains the same set of tasks as `input`.
24
// - Obeys the dependency rules in `input`.
25
// - Places tasks with the same target adjacent to each other.
26
// - Tasks with multiple targets act as reordering barriers for all their targets.
27
bool
GrClusterRenderTasks
(
SkSpan
<
const
sk_sp<GrRenderTask>
> input,
28
SkTInternalLList<GrRenderTask>
* llist);
29
30
#endif
GrClusterRenderTasks
bool GrClusterRenderTasks(SkSpan< const sk_sp< GrRenderTask > > input, SkTInternalLList< GrRenderTask > *llist)
Definition:
GrRenderTaskCluster.cpp:159
SkRefCnt.h
SkSpan.h
SkTInternalLList.h
GrRenderTask
Definition:
GrRenderTask.h:31
SkSpan
Definition:
SkSpan_impl.h:65
SkTInternalLList
Definition:
SkTInternalLList.h:29
sk_sp< GrRenderTask >
Generated on Sun Jun 23 2024 21:56:21 for Flutter Engine by
1.9.4