Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
third_party
skia
src
gpu
ganesh
gl
GrGLFinishCallbacks.h
Go to the documentation of this file.
1
/*
2
* Copyright 2020 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 GrGLFinishCallbacks_DEFINED
9
#define GrGLFinishCallbacks_DEFINED
10
11
#include "
include/gpu/GrTypes.h
"
12
#include "
include/gpu/gl/GrGLTypes.h
"
13
14
#include <list>
15
16
class
GrGLGpu
;
17
18
/**
19
* Maintains a list of callbacks to be called when work on the GPU is complete.
20
*/
21
22
class
GrGLFinishCallbacks
{
23
public
:
24
GrGLFinishCallbacks
(
GrGLGpu
* gpu);
25
~GrGLFinishCallbacks
();
26
27
/**
28
* Call all the callbacks in the list. This will block until all work is done.
29
*
30
* @param doDelete delete the contained fence object.
31
*/
32
void
callAll
(
bool
doDelete);
33
34
/**
35
* Add a new callback to the list.
36
*
37
* @param finishedProc The function to call when GPU work is complete.
38
* @param finishedContext The context object to pass back to the callback.
39
*/
40
void
add
(
GrGpuFinishedProc
finishedProc,
GrGpuFinishedContext
finishedContext);
41
42
/**
43
* Check if any GPU work is complete, and call the associated callbacks.
44
* This call is non-blocking.
45
*/
46
void
check
();
47
48
/**
49
* Returns true if the callback list is empty.
50
*/
51
bool
empty
()
const
{
return
fCallbacks.empty(); }
52
53
private
:
54
struct
FinishCallback {
55
GrGpuFinishedProc
fCallback;
56
GrGpuFinishedContext
fContext
;
57
GrGLsync
fFence;
58
};
59
60
GrGLGpu
* fGpu;
61
std::list<FinishCallback> fCallbacks;
62
};
63
64
#endif
// GrGLFinishCallbacks
GrGLTypes.h
GrGLsync
struct __GLsync * GrGLsync
Definition
GrGLTypes.h:129
GrTypes.h
GrGpuFinishedContext
void * GrGpuFinishedContext
Definition
GrTypes.h:178
GrGpuFinishedProc
void(* GrGpuFinishedProc)(GrGpuFinishedContext finishedContext)
Definition
GrTypes.h:179
fContext
const Context & fContext
Definition
SkSLFindAndDeclareBuiltinVariables.cpp:120
GrGLFinishCallbacks
Definition
GrGLFinishCallbacks.h:22
GrGLFinishCallbacks::add
void add(GrGpuFinishedProc finishedProc, GrGpuFinishedContext finishedContext)
Definition
GrGLFinishCallbacks.cpp:17
GrGLFinishCallbacks::check
void check()
Definition
GrGLFinishCallbacks.cpp:27
GrGLFinishCallbacks::empty
bool empty() const
Definition
GrGLFinishCallbacks.h:51
GrGLFinishCallbacks::~GrGLFinishCallbacks
~GrGLFinishCallbacks()
Definition
GrGLFinishCallbacks.cpp:13
GrGLFinishCallbacks::callAll
void callAll(bool doDelete)
Definition
GrGLFinishCallbacks.cpp:41
GrGLGpu
Definition
GrGLGpu.h:89
Generated on Fri Apr 26 2024 06:17:00 for Flutter Engine by
1.9.8