Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
third_party
skia
src
gpu
ganesh
GrDrawOpTest.cpp
Go to the documentation of this file.
1
/*
2
* Copyright 2015 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
#include "
src/gpu/ganesh/GrDrawOpTest.h
"
9
10
#include "
include/core/SkTypes.h
"
11
#include "
include/private/gpu/ganesh/GrContext_Base.h
"
12
#include "
src/base/SkRandom.h
"
13
#include "
src/gpu/ganesh/GrBaseContextPriv.h
"
14
#include "
src/gpu/ganesh/GrCaps.h
"
15
#include "
src/gpu/ganesh/GrUserStencilSettings.h
"
16
17
#if defined(GR_TEST_UTILS)
18
19
const
GrUserStencilSettings
* GrGetRandomStencil(
SkRandom
* random,
GrContext_Base
* context) {
20
if
(context->
priv
().
caps
()->
avoidStencilBuffers
()) {
21
return
&
GrUserStencilSettings::kUnused
;
22
}
23
static
constexpr
GrUserStencilSettings
kReads(
24
GrUserStencilSettings::StaticInit
<
25
0x8080,
26
GrUserStencilTest::kLess
,
27
0xffff,
28
GrUserStencilOp::kKeep
,
29
GrUserStencilOp::kKeep
,
30
0xffff>()
31
);
32
static
constexpr
GrUserStencilSettings
kWrites(
33
GrUserStencilSettings::StaticInit
<
34
0xffff,
35
GrUserStencilTest::kAlways
,
36
0xffff,
37
GrUserStencilOp::kReplace
,
38
GrUserStencilOp::kReplace
,
39
0xffff>()
40
);
41
static
constexpr
GrUserStencilSettings
kReadsAndWrites(
42
GrUserStencilSettings::StaticInit
<
43
0x8000,
44
GrUserStencilTest::kEqual
,
45
0x6000,
46
GrUserStencilOp::kIncWrap
,
47
GrUserStencilOp::kInvert
,
48
0x77ff>()
49
);
50
51
static
const
GrUserStencilSettings
* kStencilSettings[] = {
52
&
GrUserStencilSettings::kUnused
,
53
&kReads,
54
&kWrites,
55
&kReadsAndWrites,
56
};
57
return
kStencilSettings[random->
nextULessThan
(std::size(kStencilSettings))];
58
}
59
60
#endif
GrBaseContextPriv.h
GrCaps.h
GrContext_Base.h
GrDrawOpTest.h
GrUserStencilSettings.h
GrUserStencilOp::kReplace
@ kReplace
GrUserStencilOp::kInvert
@ kInvert
GrUserStencilOp::kIncWrap
@ kIncWrap
GrUserStencilOp::kKeep
@ kKeep
GrUserStencilTest::kEqual
@ kEqual
GrUserStencilTest::kAlways
@ kAlways
GrUserStencilTest::kLess
@ kLess
SkRandom.h
SkTypes.h
GrBaseContextPriv::caps
const GrCaps * caps() const
Definition
GrBaseContextPriv.h:28
GrCaps::avoidStencilBuffers
bool avoidStencilBuffers() const
Definition
GrCaps.h:139
GrContext_Base
Definition
GrContext_Base.h:28
GrContext_Base::priv
GrBaseContextPriv priv()
Definition
GrBaseContextPriv.h:52
SkRandom
Definition
SkRandom.h:27
SkRandom::nextULessThan
uint32_t nextULessThan(uint32_t count)
Definition
SkRandom.h:93
GrUserStencilSettings
Definition
GrUserStencilSettings.h:112
GrUserStencilSettings::StaticInit
static constexpr Init< Ref, Test, TestMask, PassOp, FailOp, WriteMask > StaticInit()
Definition
GrUserStencilSettings.h:130
GrUserStencilSettings::kUnused
static const GrUserStencilSettings & kUnused
Definition
GrUserStencilSettings.h:208
Generated on Fri Apr 26 2024 06:17:03 for Flutter Engine by
1.9.8