/src/skia/include/private/base/SkMacros.h
Line | Count | Source (jump to first uncovered line) |
1 | | /* |
2 | | * Copyright 2018 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 | | #ifndef SkMacros_DEFINED |
8 | | #define SkMacros_DEFINED |
9 | | |
10 | | #include "include/private/base/SkTo.h" // IWYU pragma: keep |
11 | | |
12 | | /* |
13 | | * Usage: SK_MACRO_CONCAT(a, b) to construct the symbol ab |
14 | | * |
15 | | * SK_MACRO_CONCAT_IMPL_PRIV just exists to make this work. Do not use directly |
16 | | * |
17 | | */ |
18 | 212k | #define SK_MACRO_CONCAT(X, Y) SK_MACRO_CONCAT_IMPL_PRIV(X, Y) |
19 | 212k | #define SK_MACRO_CONCAT_IMPL_PRIV(X, Y) X ## Y |
20 | | |
21 | | /* |
22 | | * Usage: SK_MACRO_APPEND_LINE(foo) to make foo123, where 123 is the current |
23 | | * line number. Easy way to construct |
24 | | * unique names for local functions or |
25 | | * variables. |
26 | | */ |
27 | 212k | #define SK_MACRO_APPEND_LINE(name) SK_MACRO_CONCAT(name, __LINE__) |
28 | | |
29 | | #define SK_MACRO_APPEND_COUNTER(name) SK_MACRO_CONCAT(name, __COUNTER__) |
30 | | |
31 | | //////////////////////////////////////////////////////////////////////////////// |
32 | | |
33 | | // Can be used to bracket data types that must be dense/packed, e.g. hash keys. |
34 | | #if defined(__clang__) // This should work on GCC too, but GCC diagnostic pop didn't seem to work! |
35 | | #define SK_BEGIN_REQUIRE_DENSE _Pragma("GCC diagnostic push") \ |
36 | | _Pragma("GCC diagnostic error \"-Wpadded\"") |
37 | | #define SK_END_REQUIRE_DENSE _Pragma("GCC diagnostic pop") |
38 | | #else |
39 | | #define SK_BEGIN_REQUIRE_DENSE |
40 | | #define SK_END_REQUIRE_DENSE |
41 | | #endif |
42 | | |
43 | | #if defined(__clang__) && defined(__has_feature) |
44 | | // Some compilers have a preprocessor that does not appear to do short-circuit |
45 | | // evaluation as expected |
46 | | #if __has_feature(leak_sanitizer) || __has_feature(address_sanitizer) |
47 | | // Chrome had issues if we tried to include lsan_interface.h ourselves. |
48 | | // https://github.com/llvm/llvm-project/blob/10a35632d55bb05004fe3d0c2d4432bb74897ee7/compiler-rt/include/sanitizer/lsan_interface.h#L26 |
49 | | extern "C" { |
50 | | void __lsan_ignore_object(const void *p); |
51 | | } |
52 | | #define SK_INTENTIONALLY_LEAKED(X) __lsan_ignore_object(X) |
53 | | #else |
54 | | #define SK_INTENTIONALLY_LEAKED(X) ((void)0) |
55 | | #endif |
56 | | #else |
57 | | #define SK_INTENTIONALLY_LEAKED(X) ((void)0) |
58 | | #endif |
59 | | |
60 | 1.59G | #define SK_INIT_TO_AVOID_WARNING = 0 |
61 | | |
62 | | //////////////////////////////////////////////////////////////////////////////// |
63 | | |
64 | | /** |
65 | | * Defines overloaded bitwise operators to make it easier to use an enum as a |
66 | | * bitfield. |
67 | | */ |
68 | | #define SK_MAKE_BITFIELD_OPS(X) \ |
69 | 402k | inline X operator ~(X a) { \ |
70 | 402k | using U = std::underlying_type_t<X>; \ |
71 | 402k | return (X) (~static_cast<U>(a)); \ |
72 | 402k | } \ Unexecuted instantiation: operator~(GrShaderFlags) Unexecuted instantiation: operator~(SkBlockAllocator::ReserveFlags) operator~(GrFragmentProcessor::OptimizationFlags) Line | Count | Source | 69 | 402k | inline X operator ~(X a) { \ | 70 | 402k | using U = std::underlying_type_t<X>; \ | 71 | 402k | return (X) (~static_cast<U>(a)); \ | 72 | 402k | } \ |
Unexecuted instantiation: operator~(SkScalerContextFlags) Unexecuted instantiation: operator~(GrVkRenderPass::AttachmentFlags) Unexecuted instantiation: skgpu::operator~(skgpu::BlendFormula::Properties) |
73 | 407k | inline X operator |(X a, X b) { \ |
74 | 407k | using U = std::underlying_type_t<X>; \ |
75 | 407k | return (X) (static_cast<U>(a) | static_cast<U>(b)); \ |
76 | 407k | } \ Unexecuted instantiation: operator|(GrShaderFlags, GrShaderFlags) Unexecuted instantiation: operator|(SkBlockAllocator::ReserveFlags, SkBlockAllocator::ReserveFlags) operator|(GrFragmentProcessor::OptimizationFlags, GrFragmentProcessor::OptimizationFlags) Line | Count | Source | 73 | 407k | inline X operator |(X a, X b) { \ | 74 | 407k | using U = std::underlying_type_t<X>; \ | 75 | 407k | return (X) (static_cast<U>(a) | static_cast<U>(b)); \ | 76 | 407k | } \ |
Unexecuted instantiation: operator|(SkScalerContextFlags, SkScalerContextFlags) Unexecuted instantiation: operator|(GrVkRenderPass::AttachmentFlags, GrVkRenderPass::AttachmentFlags) Unexecuted instantiation: skgpu::operator|(skgpu::BlendFormula::Properties, skgpu::BlendFormula::Properties) |
77 | 174k | inline X& operator |=(X& a, X b) { \ |
78 | 174k | return (a = a | b); \ |
79 | 174k | } \ Unexecuted instantiation: operator|=(GrShaderFlags&, GrShaderFlags) Unexecuted instantiation: operator|=(SkBlockAllocator::ReserveFlags&, SkBlockAllocator::ReserveFlags) operator|=(GrFragmentProcessor::OptimizationFlags&, GrFragmentProcessor::OptimizationFlags) Line | Count | Source | 77 | 174k | inline X& operator |=(X& a, X b) { \ | 78 | 174k | return (a = a | b); \ | 79 | 174k | } \ |
Unexecuted instantiation: operator|=(SkScalerContextFlags&, SkScalerContextFlags) Unexecuted instantiation: operator|=(GrVkRenderPass::AttachmentFlags&, GrVkRenderPass::AttachmentFlags) Unexecuted instantiation: skgpu::operator|=(skgpu::BlendFormula::Properties&, skgpu::BlendFormula::Properties) |
80 | 1.46M | inline X operator &(X a, X b) { \ |
81 | 1.46M | using U = std::underlying_type_t<X>; \ |
82 | 1.46M | return (X) (static_cast<U>(a) & static_cast<U>(b)); \ |
83 | 1.46M | } \ Unexecuted instantiation: operator&(GrShaderFlags, GrShaderFlags) Unexecuted instantiation: operator&(SkBlockAllocator::ReserveFlags, SkBlockAllocator::ReserveFlags) operator&(GrFragmentProcessor::OptimizationFlags, GrFragmentProcessor::OptimizationFlags) Line | Count | Source | 80 | 158k | inline X operator &(X a, X b) { \ | 81 | 158k | using U = std::underlying_type_t<X>; \ | 82 | 158k | return (X) (static_cast<U>(a) & static_cast<U>(b)); \ | 83 | 158k | } \ |
operator&(SkScalerContextFlags, SkScalerContextFlags) Line | Count | Source | 80 | 223k | inline X operator &(X a, X b) { \ | 81 | 223k | using U = std::underlying_type_t<X>; \ | 82 | 223k | return (X) (static_cast<U>(a) & static_cast<U>(b)); \ | 83 | 223k | } \ |
Unexecuted instantiation: operator&(GrVkRenderPass::AttachmentFlags, GrVkRenderPass::AttachmentFlags) skgpu::operator&(skgpu::BlendFormula::Properties, skgpu::BlendFormula::Properties) Line | Count | Source | 80 | 1.07M | inline X operator &(X a, X b) { \ | 81 | 1.07M | using U = std::underlying_type_t<X>; \ | 82 | 1.07M | return (X) (static_cast<U>(a) & static_cast<U>(b)); \ | 83 | 1.07M | } \ |
|
84 | 0 | inline X& operator &=(X& a, X b) { \ |
85 | 0 | return (a = a & b); \ |
86 | 0 | } Unexecuted instantiation: operator&=(GrShaderFlags&, GrShaderFlags) Unexecuted instantiation: operator&=(SkBlockAllocator::ReserveFlags&, SkBlockAllocator::ReserveFlags) Unexecuted instantiation: operator&=(GrFragmentProcessor::OptimizationFlags&, GrFragmentProcessor::OptimizationFlags) Unexecuted instantiation: operator&=(SkScalerContextFlags&, SkScalerContextFlags) Unexecuted instantiation: operator&=(GrVkRenderPass::AttachmentFlags&, GrVkRenderPass::AttachmentFlags) Unexecuted instantiation: skgpu::operator&=(skgpu::BlendFormula::Properties&, skgpu::BlendFormula::Properties) |
87 | | |
88 | | #define SK_DECL_BITFIELD_OPS_FRIENDS(X) \ |
89 | | friend X operator ~(X a); \ |
90 | | friend X operator |(X a, X b); \ |
91 | | friend X& operator |=(X& a, X b); \ |
92 | | \ |
93 | | friend X operator &(X a, X b); \ |
94 | | friend X& operator &=(X& a, X b); |
95 | | |
96 | | /** |
97 | | * Wraps a C++11 enum that we use as a bitfield, and enables a limited amount of |
98 | | * masking with type safety. Instantiated with the ~ operator. |
99 | | */ |
100 | | template<typename TFlags> class SkTFlagsMask { |
101 | | public: |
102 | | constexpr explicit SkTFlagsMask(TFlags value) : SkTFlagsMask(static_cast<int>(value)) {} |
103 | 132k | constexpr explicit SkTFlagsMask(int value) : fValue(value) {} Unexecuted instantiation: SkTFlagsMask<GpuPathRenderers>::SkTFlagsMask(int) Unexecuted instantiation: SkTFlagsMask<GrSurfaceProxy::ResolveFlags>::SkTFlagsMask(int) SkTFlagsMask<GrQuadAAFlags>::SkTFlagsMask(int) Line | Count | Source | 103 | 132k | constexpr explicit SkTFlagsMask(int value) : fValue(value) {} |
Unexecuted instantiation: FillRRectOp.cpp:SkTFlagsMask<skgpu::ganesh::FillRRectOp::(anonymous namespace)::FillRRectOpImpl::ProcessorFlags>::SkTFlagsMask(int) Unexecuted instantiation: SkTFlagsMask<skgpu::tess::PatchAttribs>::SkTFlagsMask(int) |
104 | 132k | constexpr int value() const { return fValue; } SkTFlagsMask<GrQuadAAFlags>::value() const Line | Count | Source | 104 | 132k | constexpr int value() const { return fValue; } |
Unexecuted instantiation: SkTFlagsMask<GrInternalSurfaceFlags>::value() const Unexecuted instantiation: SkTFlagsMask<GpuPathRenderers>::value() const Unexecuted instantiation: SkTFlagsMask<GrDstSampleFlags>::value() const Unexecuted instantiation: SkTFlagsMask<GrSurfaceProxy::ResolveFlags>::value() const Unexecuted instantiation: SkTFlagsMask<GrCaps::ProgramDescOverrideFlags>::value() const Unexecuted instantiation: SkTFlagsMask<GrXferBarrierFlags>::value() const Unexecuted instantiation: SkTFlagsMask<GrXPFactory::AnalysisProperties>::value() const Unexecuted instantiation: SkTFlagsMask<skgpu::ganesh::Device::DeviceFlags>::value() const Unexecuted instantiation: SkTFlagsMask<sk_gpu_test::GrContextFactory::ContextOverrides>::value() const Unexecuted instantiation: SkTFlagsMask<skgpu::tess::PatchAttribs>::value() const Unexecuted instantiation: SkTFlagsMask<GrVkRenderPass::SelfDependencyFlags>::value() const Unexecuted instantiation: SkTFlagsMask<GrPipeline::InputFlags>::value() const Unexecuted instantiation: SkTFlagsMask<GrPipeline::Flags>::value() const Unexecuted instantiation: SkTFlagsMask<GrDrawOp::FixedFunctionFlags>::value() const Unexecuted instantiation: SkTFlagsMask<GrSimpleMeshDrawOpHelper::InputFlags>::value() const Unexecuted instantiation: SkTFlagsMask<GrGLSLFPFragmentBuilder::ScopeFlags>::value() const Unexecuted instantiation: SkTFlagsMask<GrAttachment::UsageFlags>::value() const Unexecuted instantiation: SkTFlagsMask<GrSkSLFP::OptFlags>::value() const Unexecuted instantiation: SkTFlagsMask<skgpu::ganesh::ClearOp::Buffer>::value() const Unexecuted instantiation: AAHairLinePathRenderer.cpp:SkTFlagsMask<(anonymous namespace)::AAHairlineOp::Program>::value() const Unexecuted instantiation: SkTFlagsMask<GrModulateAtlasCoverageEffect::Flags>::value() const Unexecuted instantiation: SkTFlagsMask<skgpu::ganesh::AtlasInstancedHelper::ShaderFlags>::value() const Unexecuted instantiation: SkTFlagsMask<skgpu::ganesh::FillPathFlags>::value() const Unexecuted instantiation: FillRRectOp.cpp:SkTFlagsMask<skgpu::ganesh::FillRRectOp::(anonymous namespace)::FillRRectOpImpl::ProcessorFlags>::value() const |
105 | | private: |
106 | | const int fValue; |
107 | | }; |
108 | | |
109 | | /** |
110 | | * Defines bitwise operators that make it possible to use an enum class as a |
111 | | * basic bitfield. |
112 | | */ |
113 | | #define SK_MAKE_BITFIELD_CLASS_OPS(X) \ |
114 | 132k | [[maybe_unused]] constexpr SkTFlagsMask<X> operator~(X a) { \ |
115 | 132k | return SkTFlagsMask<X>(~static_cast<int>(a)); \ |
116 | 132k | } \ Line | Count | Source | 114 | 132k | [[maybe_unused]] constexpr SkTFlagsMask<X> operator~(X a) { \ | 115 | 132k | return SkTFlagsMask<X>(~static_cast<int>(a)); \ | 116 | 132k | } \ |
Unexecuted instantiation: operator~(GrInternalSurfaceFlags) Unexecuted instantiation: operator~(GpuPathRenderers) Unexecuted instantiation: operator~(GrDstSampleFlags) Unexecuted instantiation: operator~(GrSurfaceProxy::ResolveFlags) Unexecuted instantiation: operator~(GrCaps::ProgramDescOverrideFlags) Unexecuted instantiation: operator~(GrXferBarrierFlags) Unexecuted instantiation: operator~(GrXPFactory::AnalysisProperties) Unexecuted instantiation: skgpu::ganesh::operator~(skgpu::ganesh::Device::DeviceFlags) Unexecuted instantiation: operator~(sk_gpu_test::GrContextFactory::ContextOverrides) Unexecuted instantiation: skgpu::tess::operator~(skgpu::tess::PatchAttribs) Unexecuted instantiation: operator~(GrVkRenderPass::SelfDependencyFlags) Unexecuted instantiation: operator~(GrPipeline::InputFlags) Unexecuted instantiation: operator~(GrPipeline::Flags) Unexecuted instantiation: operator~(GrDrawOp::FixedFunctionFlags) Unexecuted instantiation: operator~(GrSimpleMeshDrawOpHelper::InputFlags) Unexecuted instantiation: operator~(GrGLSLFPFragmentBuilder::ScopeFlags) Unexecuted instantiation: operator~(GrAttachment::UsageFlags) Unexecuted instantiation: operator~(GrSkSLFP::OptFlags) Unexecuted instantiation: skgpu::ganesh::operator~(skgpu::ganesh::ClearOp::Buffer) Unexecuted instantiation: AAHairLinePathRenderer.cpp:(anonymous namespace)::operator~((anonymous namespace)::AAHairlineOp::Program) Unexecuted instantiation: operator~(GrModulateAtlasCoverageEffect::Flags) Unexecuted instantiation: skgpu::ganesh::operator~(skgpu::ganesh::AtlasInstancedHelper::ShaderFlags) Unexecuted instantiation: skgpu::ganesh::operator~(skgpu::ganesh::FillPathFlags) Unexecuted instantiation: FillRRectOp.cpp:skgpu::ganesh::FillRRectOp::(anonymous namespace)::operator~(skgpu::ganesh::FillRRectOp::(anonymous namespace)::FillRRectOpImpl::ProcessorFlags) |
117 | 1.35M | [[maybe_unused]] constexpr X operator|(X a, X b) { \ |
118 | 1.35M | return static_cast<X>(static_cast<int>(a) | static_cast<int>(b)); \ |
119 | 1.35M | } \ operator|(GrQuadAAFlags, GrQuadAAFlags) Line | Count | Source | 117 | 290k | [[maybe_unused]] constexpr X operator|(X a, X b) { \ | 118 | 290k | return static_cast<X>(static_cast<int>(a) | static_cast<int>(b)); \ | 119 | 290k | } \ |
operator|(GrInternalSurfaceFlags, GrInternalSurfaceFlags) Line | Count | Source | 117 | 160k | [[maybe_unused]] constexpr X operator|(X a, X b) { \ | 118 | 160k | return static_cast<X>(static_cast<int>(a) | static_cast<int>(b)); \ | 119 | 160k | } \ |
Unexecuted instantiation: operator|(GpuPathRenderers, GpuPathRenderers) Unexecuted instantiation: operator|(GrDstSampleFlags, GrDstSampleFlags) Unexecuted instantiation: operator|(GrSurfaceProxy::ResolveFlags, GrSurfaceProxy::ResolveFlags) Unexecuted instantiation: operator|(GrCaps::ProgramDescOverrideFlags, GrCaps::ProgramDescOverrideFlags) operator|(GrXferBarrierFlags, GrXferBarrierFlags) Line | Count | Source | 117 | 22.8k | [[maybe_unused]] constexpr X operator|(X a, X b) { \ | 118 | 22.8k | return static_cast<X>(static_cast<int>(a) | static_cast<int>(b)); \ | 119 | 22.8k | } \ |
operator|(GrXPFactory::AnalysisProperties, GrXPFactory::AnalysisProperties) Line | Count | Source | 117 | 620k | [[maybe_unused]] constexpr X operator|(X a, X b) { \ | 118 | 620k | return static_cast<X>(static_cast<int>(a) | static_cast<int>(b)); \ | 119 | 620k | } \ |
skgpu::ganesh::operator|(skgpu::ganesh::Device::DeviceFlags, skgpu::ganesh::Device::DeviceFlags) Line | Count | Source | 117 | 8.52k | [[maybe_unused]] constexpr X operator|(X a, X b) { \ | 118 | 8.52k | return static_cast<X>(static_cast<int>(a) | static_cast<int>(b)); \ | 119 | 8.52k | } \ |
Unexecuted instantiation: operator|(sk_gpu_test::GrContextFactory::ContextOverrides, sk_gpu_test::GrContextFactory::ContextOverrides) Unexecuted instantiation: skgpu::tess::operator|(skgpu::tess::PatchAttribs, skgpu::tess::PatchAttribs) Unexecuted instantiation: operator|(GrVkRenderPass::SelfDependencyFlags, GrVkRenderPass::SelfDependencyFlags) Unexecuted instantiation: operator|(GrPipeline::InputFlags, GrPipeline::InputFlags) operator|(GrPipeline::Flags, GrPipeline::Flags) Line | Count | Source | 117 | 171k | [[maybe_unused]] constexpr X operator|(X a, X b) { \ | 118 | 171k | return static_cast<X>(static_cast<int>(a) | static_cast<int>(b)); \ | 119 | 171k | } \ |
operator|(GrDrawOp::FixedFunctionFlags, GrDrawOp::FixedFunctionFlags) Line | Count | Source | 117 | 28.5k | [[maybe_unused]] constexpr X operator|(X a, X b) { \ | 118 | 28.5k | return static_cast<X>(static_cast<int>(a) | static_cast<int>(b)); \ | 119 | 28.5k | } \ |
operator|(GrSimpleMeshDrawOpHelper::InputFlags, GrSimpleMeshDrawOpHelper::InputFlags) Line | Count | Source | 117 | 9 | [[maybe_unused]] constexpr X operator|(X a, X b) { \ | 118 | 9 | return static_cast<X>(static_cast<int>(a) | static_cast<int>(b)); \ | 119 | 9 | } \ |
Unexecuted instantiation: operator|(GrGLSLFPFragmentBuilder::ScopeFlags, GrGLSLFPFragmentBuilder::ScopeFlags) Unexecuted instantiation: operator|(GrAttachment::UsageFlags, GrAttachment::UsageFlags) operator|(GrSkSLFP::OptFlags, GrSkSLFP::OptFlags) Line | Count | Source | 117 | 41.6k | [[maybe_unused]] constexpr X operator|(X a, X b) { \ | 118 | 41.6k | return static_cast<X>(static_cast<int>(a) | static_cast<int>(b)); \ | 119 | 41.6k | } \ |
Unexecuted instantiation: skgpu::ganesh::operator|(skgpu::ganesh::ClearOp::Buffer, skgpu::ganesh::ClearOp::Buffer) AAHairLinePathRenderer.cpp:(anonymous namespace)::operator|((anonymous namespace)::AAHairlineOp::Program, (anonymous namespace)::AAHairlineOp::Program) Line | Count | Source | 117 | 6.90k | [[maybe_unused]] constexpr X operator|(X a, X b) { \ | 118 | 6.90k | return static_cast<X>(static_cast<int>(a) | static_cast<int>(b)); \ | 119 | 6.90k | } \ |
Unexecuted instantiation: operator|(GrModulateAtlasCoverageEffect::Flags, GrModulateAtlasCoverageEffect::Flags) Unexecuted instantiation: skgpu::ganesh::operator|(skgpu::ganesh::AtlasInstancedHelper::ShaderFlags, skgpu::ganesh::AtlasInstancedHelper::ShaderFlags) Unexecuted instantiation: skgpu::ganesh::operator|(skgpu::ganesh::FillPathFlags, skgpu::ganesh::FillPathFlags) Unexecuted instantiation: FillRRectOp.cpp:skgpu::ganesh::FillRRectOp::(anonymous namespace)::operator|(skgpu::ganesh::FillRRectOp::(anonymous namespace)::FillRRectOpImpl::ProcessorFlags, skgpu::ganesh::FillRRectOp::(anonymous namespace)::FillRRectOpImpl::ProcessorFlags) |
120 | 1.06M | [[maybe_unused]] inline X& operator|=(X& a, X b) { \ |
121 | 1.06M | return (a = a | b); \ |
122 | 1.06M | } \ operator|=(GrQuadAAFlags&, GrQuadAAFlags) Line | Count | Source | 120 | 290k | [[maybe_unused]] inline X& operator|=(X& a, X b) { \ | 121 | 290k | return (a = a | b); \ | 122 | 290k | } \ |
Unexecuted instantiation: operator|=(GrInternalSurfaceFlags&, GrInternalSurfaceFlags) Unexecuted instantiation: operator|=(GpuPathRenderers&, GpuPathRenderers) Unexecuted instantiation: operator|=(GrDstSampleFlags&, GrDstSampleFlags) Unexecuted instantiation: operator|=(GrSurfaceProxy::ResolveFlags&, GrSurfaceProxy::ResolveFlags) Unexecuted instantiation: operator|=(GrCaps::ProgramDescOverrideFlags&, GrCaps::ProgramDescOverrideFlags) operator|=(GrXferBarrierFlags&, GrXferBarrierFlags) Line | Count | Source | 120 | 22.8k | [[maybe_unused]] inline X& operator|=(X& a, X b) { \ | 121 | 22.8k | return (a = a | b); \ | 122 | 22.8k | } \ |
operator|=(GrXPFactory::AnalysisProperties&, GrXPFactory::AnalysisProperties) Line | Count | Source | 120 | 538k | [[maybe_unused]] inline X& operator|=(X& a, X b) { \ | 121 | 538k | return (a = a | b); \ | 122 | 538k | } \ |
skgpu::ganesh::operator|=(skgpu::ganesh::Device::DeviceFlags&, skgpu::ganesh::Device::DeviceFlags) Line | Count | Source | 120 | 8.52k | [[maybe_unused]] inline X& operator|=(X& a, X b) { \ | 121 | 8.52k | return (a = a | b); \ | 122 | 8.52k | } \ |
Unexecuted instantiation: operator|=(sk_gpu_test::GrContextFactory::ContextOverrides&, sk_gpu_test::GrContextFactory::ContextOverrides) Unexecuted instantiation: skgpu::tess::operator|=(skgpu::tess::PatchAttribs&, skgpu::tess::PatchAttribs) Unexecuted instantiation: operator|=(GrVkRenderPass::SelfDependencyFlags&, GrVkRenderPass::SelfDependencyFlags) Unexecuted instantiation: operator|=(GrPipeline::InputFlags&, GrPipeline::InputFlags) operator|=(GrPipeline::Flags&, GrPipeline::Flags) Line | Count | Source | 120 | 171k | [[maybe_unused]] inline X& operator|=(X& a, X b) { \ | 121 | 171k | return (a = a | b); \ | 122 | 171k | } \ |
operator|=(GrDrawOp::FixedFunctionFlags&, GrDrawOp::FixedFunctionFlags) Line | Count | Source | 120 | 28.5k | [[maybe_unused]] inline X& operator|=(X& a, X b) { \ | 121 | 28.5k | return (a = a | b); \ | 122 | 28.5k | } \ |
operator|=(GrSimpleMeshDrawOpHelper::InputFlags&, GrSimpleMeshDrawOpHelper::InputFlags) Line | Count | Source | 120 | 9 | [[maybe_unused]] inline X& operator|=(X& a, X b) { \ | 121 | 9 | return (a = a | b); \ | 122 | 9 | } \ |
Unexecuted instantiation: operator|=(GrGLSLFPFragmentBuilder::ScopeFlags&, GrGLSLFPFragmentBuilder::ScopeFlags) Unexecuted instantiation: operator|=(GrAttachment::UsageFlags&, GrAttachment::UsageFlags) operator|=(GrSkSLFP::OptFlags&, GrSkSLFP::OptFlags) Line | Count | Source | 120 | 3 | [[maybe_unused]] inline X& operator|=(X& a, X b) { \ | 121 | 3 | return (a = a | b); \ | 122 | 3 | } \ |
Unexecuted instantiation: skgpu::ganesh::operator|=(skgpu::ganesh::ClearOp::Buffer&, skgpu::ganesh::ClearOp::Buffer) AAHairLinePathRenderer.cpp:(anonymous namespace)::operator|=((anonymous namespace)::AAHairlineOp::Program&, (anonymous namespace)::AAHairlineOp::Program) Line | Count | Source | 120 | 6.90k | [[maybe_unused]] inline X& operator|=(X& a, X b) { \ | 121 | 6.90k | return (a = a | b); \ | 122 | 6.90k | } \ |
Unexecuted instantiation: operator|=(GrModulateAtlasCoverageEffect::Flags&, GrModulateAtlasCoverageEffect::Flags) Unexecuted instantiation: skgpu::ganesh::operator|=(skgpu::ganesh::AtlasInstancedHelper::ShaderFlags&, skgpu::ganesh::AtlasInstancedHelper::ShaderFlags) Unexecuted instantiation: skgpu::ganesh::operator|=(skgpu::ganesh::FillPathFlags&, skgpu::ganesh::FillPathFlags) Unexecuted instantiation: FillRRectOp.cpp:skgpu::ganesh::FillRRectOp::(anonymous namespace)::operator|=(skgpu::ganesh::FillRRectOp::(anonymous namespace)::FillRRectOpImpl::ProcessorFlags&, skgpu::ganesh::FillRRectOp::(anonymous namespace)::FillRRectOpImpl::ProcessorFlags) |
123 | 5.84M | [[maybe_unused]] constexpr bool operator&(X a, X b) { \ |
124 | 5.84M | return SkToBool(static_cast<int>(a) & static_cast<int>(b)); \ |
125 | 5.84M | } \ operator&(GrQuadAAFlags, GrQuadAAFlags) Line | Count | Source | 123 | 78.1k | [[maybe_unused]] constexpr bool operator&(X a, X b) { \ | 124 | 78.1k | return SkToBool(static_cast<int>(a) & static_cast<int>(b)); \ | 125 | 78.1k | } \ |
operator&(GrInternalSurfaceFlags, GrInternalSurfaceFlags) Line | Count | Source | 123 | 2.02M | [[maybe_unused]] constexpr bool operator&(X a, X b) { \ | 124 | 2.02M | return SkToBool(static_cast<int>(a) & static_cast<int>(b)); \ | 125 | 2.02M | } \ |
operator&(GpuPathRenderers, GpuPathRenderers) Line | Count | Source | 123 | 14.8k | [[maybe_unused]] constexpr bool operator&(X a, X b) { \ | 124 | 14.8k | return SkToBool(static_cast<int>(a) & static_cast<int>(b)); \ | 125 | 14.8k | } \ |
operator&(GrDstSampleFlags, GrDstSampleFlags) Line | Count | Source | 123 | 375k | [[maybe_unused]] constexpr bool operator&(X a, X b) { \ | 124 | 375k | return SkToBool(static_cast<int>(a) & static_cast<int>(b)); \ | 125 | 375k | } \ |
Unexecuted instantiation: operator&(GrSurfaceProxy::ResolveFlags, GrSurfaceProxy::ResolveFlags) Unexecuted instantiation: operator&(GrCaps::ProgramDescOverrideFlags, GrCaps::ProgramDescOverrideFlags) Unexecuted instantiation: operator&(GrXferBarrierFlags, GrXferBarrierFlags) operator&(GrXPFactory::AnalysisProperties, GrXPFactory::AnalysisProperties) Line | Count | Source | 123 | 2.28M | [[maybe_unused]] constexpr bool operator&(X a, X b) { \ | 124 | 2.28M | return SkToBool(static_cast<int>(a) & static_cast<int>(b)); \ | 125 | 2.28M | } \ |
skgpu::ganesh::operator&(skgpu::ganesh::Device::DeviceFlags, skgpu::ganesh::Device::DeviceFlags) Line | Count | Source | 123 | 129k | [[maybe_unused]] constexpr bool operator&(X a, X b) { \ | 124 | 129k | return SkToBool(static_cast<int>(a) & static_cast<int>(b)); \ | 125 | 129k | } \ |
operator&(sk_gpu_test::GrContextFactory::ContextOverrides, sk_gpu_test::GrContextFactory::ContextOverrides) Line | Count | Source | 123 | 8.65k | [[maybe_unused]] constexpr bool operator&(X a, X b) { \ | 124 | 8.65k | return SkToBool(static_cast<int>(a) & static_cast<int>(b)); \ | 125 | 8.65k | } \ |
Unexecuted instantiation: skgpu::tess::operator&(skgpu::tess::PatchAttribs, skgpu::tess::PatchAttribs) Unexecuted instantiation: operator&(GrVkRenderPass::SelfDependencyFlags, GrVkRenderPass::SelfDependencyFlags) Unexecuted instantiation: operator&(GrPipeline::InputFlags, GrPipeline::InputFlags) operator&(GrPipeline::Flags, GrPipeline::Flags) Line | Count | Source | 123 | 227k | [[maybe_unused]] constexpr bool operator&(X a, X b) { \ | 124 | 227k | return SkToBool(static_cast<int>(a) & static_cast<int>(b)); \ | 125 | 227k | } \ |
operator&(GrDrawOp::FixedFunctionFlags, GrDrawOp::FixedFunctionFlags) Line | Count | Source | 123 | 666k | [[maybe_unused]] constexpr bool operator&(X a, X b) { \ | 124 | 666k | return SkToBool(static_cast<int>(a) & static_cast<int>(b)); \ | 125 | 666k | } \ |
operator&(GrSimpleMeshDrawOpHelper::InputFlags, GrSimpleMeshDrawOpHelper::InputFlags) Line | Count | Source | 123 | 10 | [[maybe_unused]] constexpr bool operator&(X a, X b) { \ | 124 | 10 | return SkToBool(static_cast<int>(a) & static_cast<int>(b)); \ | 125 | 10 | } \ |
Unexecuted instantiation: operator&(GrGLSLFPFragmentBuilder::ScopeFlags, GrGLSLFPFragmentBuilder::ScopeFlags) operator&(GrAttachment::UsageFlags, GrAttachment::UsageFlags) Line | Count | Source | 123 | 1.01k | [[maybe_unused]] constexpr bool operator&(X a, X b) { \ | 124 | 1.01k | return SkToBool(static_cast<int>(a) & static_cast<int>(b)); \ | 125 | 1.01k | } \ |
Unexecuted instantiation: operator&(GrSkSLFP::OptFlags, GrSkSLFP::OptFlags) skgpu::ganesh::operator&(skgpu::ganesh::ClearOp::Buffer, skgpu::ganesh::ClearOp::Buffer) Line | Count | Source | 123 | 9.79k | [[maybe_unused]] constexpr bool operator&(X a, X b) { \ | 124 | 9.79k | return SkToBool(static_cast<int>(a) & static_cast<int>(b)); \ | 125 | 9.79k | } \ |
AAHairLinePathRenderer.cpp:(anonymous namespace)::operator&((anonymous namespace)::AAHairlineOp::Program, (anonymous namespace)::AAHairlineOp::Program) Line | Count | Source | 123 | 20.3k | [[maybe_unused]] constexpr bool operator&(X a, X b) { \ | 124 | 20.3k | return SkToBool(static_cast<int>(a) & static_cast<int>(b)); \ | 125 | 20.3k | } \ |
Unexecuted instantiation: operator&(GrModulateAtlasCoverageEffect::Flags, GrModulateAtlasCoverageEffect::Flags) Unexecuted instantiation: skgpu::ganesh::operator&(skgpu::ganesh::AtlasInstancedHelper::ShaderFlags, skgpu::ganesh::AtlasInstancedHelper::ShaderFlags) Unexecuted instantiation: skgpu::ganesh::operator&(skgpu::ganesh::FillPathFlags, skgpu::ganesh::FillPathFlags) Unexecuted instantiation: FillRRectOp.cpp:skgpu::ganesh::FillRRectOp::(anonymous namespace)::operator&(skgpu::ganesh::FillRRectOp::(anonymous namespace)::FillRRectOpImpl::ProcessorFlags, skgpu::ganesh::FillRRectOp::(anonymous namespace)::FillRRectOpImpl::ProcessorFlags) |
126 | 0 | [[maybe_unused]] constexpr SkTFlagsMask<X> operator|(SkTFlagsMask<X> a, SkTFlagsMask<X> b) { \ |
127 | 0 | return SkTFlagsMask<X>(a.value() | b.value()); \ |
128 | 0 | } \ Unexecuted instantiation: operator|(SkTFlagsMask<GrQuadAAFlags>, SkTFlagsMask<GrQuadAAFlags>) Unexecuted instantiation: operator|(SkTFlagsMask<GrInternalSurfaceFlags>, SkTFlagsMask<GrInternalSurfaceFlags>) Unexecuted instantiation: operator|(SkTFlagsMask<GpuPathRenderers>, SkTFlagsMask<GpuPathRenderers>) Unexecuted instantiation: operator|(SkTFlagsMask<GrDstSampleFlags>, SkTFlagsMask<GrDstSampleFlags>) Unexecuted instantiation: operator|(SkTFlagsMask<GrSurfaceProxy::ResolveFlags>, SkTFlagsMask<GrSurfaceProxy::ResolveFlags>) Unexecuted instantiation: operator|(SkTFlagsMask<GrCaps::ProgramDescOverrideFlags>, SkTFlagsMask<GrCaps::ProgramDescOverrideFlags>) Unexecuted instantiation: operator|(SkTFlagsMask<GrXferBarrierFlags>, SkTFlagsMask<GrXferBarrierFlags>) Unexecuted instantiation: operator|(SkTFlagsMask<GrXPFactory::AnalysisProperties>, SkTFlagsMask<GrXPFactory::AnalysisProperties>) Unexecuted instantiation: skgpu::ganesh::operator|(SkTFlagsMask<skgpu::ganesh::Device::DeviceFlags>, SkTFlagsMask<skgpu::ganesh::Device::DeviceFlags>) Unexecuted instantiation: operator|(SkTFlagsMask<sk_gpu_test::GrContextFactory::ContextOverrides>, SkTFlagsMask<sk_gpu_test::GrContextFactory::ContextOverrides>) Unexecuted instantiation: skgpu::tess::operator|(SkTFlagsMask<skgpu::tess::PatchAttribs>, SkTFlagsMask<skgpu::tess::PatchAttribs>) Unexecuted instantiation: operator|(SkTFlagsMask<GrVkRenderPass::SelfDependencyFlags>, SkTFlagsMask<GrVkRenderPass::SelfDependencyFlags>) Unexecuted instantiation: operator|(SkTFlagsMask<GrPipeline::InputFlags>, SkTFlagsMask<GrPipeline::InputFlags>) Unexecuted instantiation: operator|(SkTFlagsMask<GrPipeline::Flags>, SkTFlagsMask<GrPipeline::Flags>) Unexecuted instantiation: operator|(SkTFlagsMask<GrDrawOp::FixedFunctionFlags>, SkTFlagsMask<GrDrawOp::FixedFunctionFlags>) Unexecuted instantiation: operator|(SkTFlagsMask<GrSimpleMeshDrawOpHelper::InputFlags>, SkTFlagsMask<GrSimpleMeshDrawOpHelper::InputFlags>) Unexecuted instantiation: operator|(SkTFlagsMask<GrGLSLFPFragmentBuilder::ScopeFlags>, SkTFlagsMask<GrGLSLFPFragmentBuilder::ScopeFlags>) Unexecuted instantiation: operator|(SkTFlagsMask<GrAttachment::UsageFlags>, SkTFlagsMask<GrAttachment::UsageFlags>) Unexecuted instantiation: operator|(SkTFlagsMask<GrSkSLFP::OptFlags>, SkTFlagsMask<GrSkSLFP::OptFlags>) Unexecuted instantiation: skgpu::ganesh::operator|(SkTFlagsMask<skgpu::ganesh::ClearOp::Buffer>, SkTFlagsMask<skgpu::ganesh::ClearOp::Buffer>) Unexecuted instantiation: AAHairLinePathRenderer.cpp:(anonymous namespace)::operator|(SkTFlagsMask<(anonymous namespace)::AAHairlineOp::Program>, SkTFlagsMask<(anonymous namespace)::AAHairlineOp::Program>) Unexecuted instantiation: operator|(SkTFlagsMask<GrModulateAtlasCoverageEffect::Flags>, SkTFlagsMask<GrModulateAtlasCoverageEffect::Flags>) Unexecuted instantiation: skgpu::ganesh::operator|(SkTFlagsMask<skgpu::ganesh::AtlasInstancedHelper::ShaderFlags>, SkTFlagsMask<skgpu::ganesh::AtlasInstancedHelper::ShaderFlags>) Unexecuted instantiation: skgpu::ganesh::operator|(SkTFlagsMask<skgpu::ganesh::FillPathFlags>, SkTFlagsMask<skgpu::ganesh::FillPathFlags>) Unexecuted instantiation: FillRRectOp.cpp:skgpu::ganesh::FillRRectOp::(anonymous namespace)::operator|(SkTFlagsMask<skgpu::ganesh::FillRRectOp::(anonymous namespace)::FillRRectOpImpl::ProcessorFlags>, SkTFlagsMask<skgpu::ganesh::FillRRectOp::(anonymous namespace)::FillRRectOpImpl::ProcessorFlags>) |
129 | 0 | [[maybe_unused]] constexpr SkTFlagsMask<X> operator|(SkTFlagsMask<X> a, X b) { \ |
130 | 0 | return SkTFlagsMask<X>(a.value() | static_cast<int>(b)); \ |
131 | 0 | } \ Unexecuted instantiation: operator|(SkTFlagsMask<GrQuadAAFlags>, GrQuadAAFlags) Unexecuted instantiation: operator|(SkTFlagsMask<GrInternalSurfaceFlags>, GrInternalSurfaceFlags) Unexecuted instantiation: operator|(SkTFlagsMask<GpuPathRenderers>, GpuPathRenderers) Unexecuted instantiation: operator|(SkTFlagsMask<GrDstSampleFlags>, GrDstSampleFlags) Unexecuted instantiation: operator|(SkTFlagsMask<GrSurfaceProxy::ResolveFlags>, GrSurfaceProxy::ResolveFlags) Unexecuted instantiation: operator|(SkTFlagsMask<GrCaps::ProgramDescOverrideFlags>, GrCaps::ProgramDescOverrideFlags) Unexecuted instantiation: operator|(SkTFlagsMask<GrXferBarrierFlags>, GrXferBarrierFlags) Unexecuted instantiation: operator|(SkTFlagsMask<GrXPFactory::AnalysisProperties>, GrXPFactory::AnalysisProperties) Unexecuted instantiation: skgpu::ganesh::operator|(SkTFlagsMask<skgpu::ganesh::Device::DeviceFlags>, skgpu::ganesh::Device::DeviceFlags) Unexecuted instantiation: operator|(SkTFlagsMask<sk_gpu_test::GrContextFactory::ContextOverrides>, sk_gpu_test::GrContextFactory::ContextOverrides) Unexecuted instantiation: skgpu::tess::operator|(SkTFlagsMask<skgpu::tess::PatchAttribs>, skgpu::tess::PatchAttribs) Unexecuted instantiation: operator|(SkTFlagsMask<GrVkRenderPass::SelfDependencyFlags>, GrVkRenderPass::SelfDependencyFlags) Unexecuted instantiation: operator|(SkTFlagsMask<GrPipeline::InputFlags>, GrPipeline::InputFlags) Unexecuted instantiation: operator|(SkTFlagsMask<GrPipeline::Flags>, GrPipeline::Flags) Unexecuted instantiation: operator|(SkTFlagsMask<GrDrawOp::FixedFunctionFlags>, GrDrawOp::FixedFunctionFlags) Unexecuted instantiation: operator|(SkTFlagsMask<GrSimpleMeshDrawOpHelper::InputFlags>, GrSimpleMeshDrawOpHelper::InputFlags) Unexecuted instantiation: operator|(SkTFlagsMask<GrGLSLFPFragmentBuilder::ScopeFlags>, GrGLSLFPFragmentBuilder::ScopeFlags) Unexecuted instantiation: operator|(SkTFlagsMask<GrAttachment::UsageFlags>, GrAttachment::UsageFlags) Unexecuted instantiation: operator|(SkTFlagsMask<GrSkSLFP::OptFlags>, GrSkSLFP::OptFlags) Unexecuted instantiation: skgpu::ganesh::operator|(SkTFlagsMask<skgpu::ganesh::ClearOp::Buffer>, skgpu::ganesh::ClearOp::Buffer) Unexecuted instantiation: AAHairLinePathRenderer.cpp:(anonymous namespace)::operator|(SkTFlagsMask<(anonymous namespace)::AAHairlineOp::Program>, (anonymous namespace)::AAHairlineOp::Program) Unexecuted instantiation: operator|(SkTFlagsMask<GrModulateAtlasCoverageEffect::Flags>, GrModulateAtlasCoverageEffect::Flags) Unexecuted instantiation: skgpu::ganesh::operator|(SkTFlagsMask<skgpu::ganesh::AtlasInstancedHelper::ShaderFlags>, skgpu::ganesh::AtlasInstancedHelper::ShaderFlags) Unexecuted instantiation: skgpu::ganesh::operator|(SkTFlagsMask<skgpu::ganesh::FillPathFlags>, skgpu::ganesh::FillPathFlags) Unexecuted instantiation: FillRRectOp.cpp:skgpu::ganesh::FillRRectOp::(anonymous namespace)::operator|(SkTFlagsMask<skgpu::ganesh::FillRRectOp::(anonymous namespace)::FillRRectOpImpl::ProcessorFlags>, skgpu::ganesh::FillRRectOp::(anonymous namespace)::FillRRectOpImpl::ProcessorFlags) |
132 | 0 | [[maybe_unused]] constexpr SkTFlagsMask<X> operator|(X a, SkTFlagsMask<X> b) { \ |
133 | 0 | return SkTFlagsMask<X>(static_cast<int>(a) | b.value()); \ |
134 | 0 | } \ Unexecuted instantiation: operator|(GrQuadAAFlags, SkTFlagsMask<GrQuadAAFlags>) Unexecuted instantiation: operator|(GrInternalSurfaceFlags, SkTFlagsMask<GrInternalSurfaceFlags>) Unexecuted instantiation: operator|(GpuPathRenderers, SkTFlagsMask<GpuPathRenderers>) Unexecuted instantiation: operator|(GrDstSampleFlags, SkTFlagsMask<GrDstSampleFlags>) Unexecuted instantiation: operator|(GrSurfaceProxy::ResolveFlags, SkTFlagsMask<GrSurfaceProxy::ResolveFlags>) Unexecuted instantiation: operator|(GrCaps::ProgramDescOverrideFlags, SkTFlagsMask<GrCaps::ProgramDescOverrideFlags>) Unexecuted instantiation: operator|(GrXferBarrierFlags, SkTFlagsMask<GrXferBarrierFlags>) Unexecuted instantiation: operator|(GrXPFactory::AnalysisProperties, SkTFlagsMask<GrXPFactory::AnalysisProperties>) Unexecuted instantiation: skgpu::ganesh::operator|(skgpu::ganesh::Device::DeviceFlags, SkTFlagsMask<skgpu::ganesh::Device::DeviceFlags>) Unexecuted instantiation: operator|(sk_gpu_test::GrContextFactory::ContextOverrides, SkTFlagsMask<sk_gpu_test::GrContextFactory::ContextOverrides>) Unexecuted instantiation: skgpu::tess::operator|(skgpu::tess::PatchAttribs, SkTFlagsMask<skgpu::tess::PatchAttribs>) Unexecuted instantiation: operator|(GrVkRenderPass::SelfDependencyFlags, SkTFlagsMask<GrVkRenderPass::SelfDependencyFlags>) Unexecuted instantiation: operator|(GrPipeline::InputFlags, SkTFlagsMask<GrPipeline::InputFlags>) Unexecuted instantiation: operator|(GrPipeline::Flags, SkTFlagsMask<GrPipeline::Flags>) Unexecuted instantiation: operator|(GrDrawOp::FixedFunctionFlags, SkTFlagsMask<GrDrawOp::FixedFunctionFlags>) Unexecuted instantiation: operator|(GrSimpleMeshDrawOpHelper::InputFlags, SkTFlagsMask<GrSimpleMeshDrawOpHelper::InputFlags>) Unexecuted instantiation: operator|(GrGLSLFPFragmentBuilder::ScopeFlags, SkTFlagsMask<GrGLSLFPFragmentBuilder::ScopeFlags>) Unexecuted instantiation: operator|(GrAttachment::UsageFlags, SkTFlagsMask<GrAttachment::UsageFlags>) Unexecuted instantiation: operator|(GrSkSLFP::OptFlags, SkTFlagsMask<GrSkSLFP::OptFlags>) Unexecuted instantiation: skgpu::ganesh::operator|(skgpu::ganesh::ClearOp::Buffer, SkTFlagsMask<skgpu::ganesh::ClearOp::Buffer>) Unexecuted instantiation: AAHairLinePathRenderer.cpp:(anonymous namespace)::operator|((anonymous namespace)::AAHairlineOp::Program, SkTFlagsMask<(anonymous namespace)::AAHairlineOp::Program>) Unexecuted instantiation: operator|(GrModulateAtlasCoverageEffect::Flags, SkTFlagsMask<GrModulateAtlasCoverageEffect::Flags>) Unexecuted instantiation: skgpu::ganesh::operator|(skgpu::ganesh::AtlasInstancedHelper::ShaderFlags, SkTFlagsMask<skgpu::ganesh::AtlasInstancedHelper::ShaderFlags>) Unexecuted instantiation: skgpu::ganesh::operator|(skgpu::ganesh::FillPathFlags, SkTFlagsMask<skgpu::ganesh::FillPathFlags>) Unexecuted instantiation: FillRRectOp.cpp:skgpu::ganesh::FillRRectOp::(anonymous namespace)::operator|(skgpu::ganesh::FillRRectOp::(anonymous namespace)::FillRRectOpImpl::ProcessorFlags, SkTFlagsMask<skgpu::ganesh::FillRRectOp::(anonymous namespace)::FillRRectOpImpl::ProcessorFlags>) |
135 | 0 | [[maybe_unused]] constexpr X operator&(SkTFlagsMask<X> a, SkTFlagsMask<X> b) { \ |
136 | 0 | return static_cast<X>(a.value() & b.value()); \ |
137 | 0 | } \ Unexecuted instantiation: operator&(SkTFlagsMask<GrQuadAAFlags>, SkTFlagsMask<GrQuadAAFlags>) Unexecuted instantiation: operator&(SkTFlagsMask<GrInternalSurfaceFlags>, SkTFlagsMask<GrInternalSurfaceFlags>) Unexecuted instantiation: operator&(SkTFlagsMask<GpuPathRenderers>, SkTFlagsMask<GpuPathRenderers>) Unexecuted instantiation: operator&(SkTFlagsMask<GrDstSampleFlags>, SkTFlagsMask<GrDstSampleFlags>) Unexecuted instantiation: operator&(SkTFlagsMask<GrSurfaceProxy::ResolveFlags>, SkTFlagsMask<GrSurfaceProxy::ResolveFlags>) Unexecuted instantiation: operator&(SkTFlagsMask<GrCaps::ProgramDescOverrideFlags>, SkTFlagsMask<GrCaps::ProgramDescOverrideFlags>) Unexecuted instantiation: operator&(SkTFlagsMask<GrXferBarrierFlags>, SkTFlagsMask<GrXferBarrierFlags>) Unexecuted instantiation: operator&(SkTFlagsMask<GrXPFactory::AnalysisProperties>, SkTFlagsMask<GrXPFactory::AnalysisProperties>) Unexecuted instantiation: skgpu::ganesh::operator&(SkTFlagsMask<skgpu::ganesh::Device::DeviceFlags>, SkTFlagsMask<skgpu::ganesh::Device::DeviceFlags>) Unexecuted instantiation: operator&(SkTFlagsMask<sk_gpu_test::GrContextFactory::ContextOverrides>, SkTFlagsMask<sk_gpu_test::GrContextFactory::ContextOverrides>) Unexecuted instantiation: skgpu::tess::operator&(SkTFlagsMask<skgpu::tess::PatchAttribs>, SkTFlagsMask<skgpu::tess::PatchAttribs>) Unexecuted instantiation: operator&(SkTFlagsMask<GrVkRenderPass::SelfDependencyFlags>, SkTFlagsMask<GrVkRenderPass::SelfDependencyFlags>) Unexecuted instantiation: operator&(SkTFlagsMask<GrPipeline::InputFlags>, SkTFlagsMask<GrPipeline::InputFlags>) Unexecuted instantiation: operator&(SkTFlagsMask<GrPipeline::Flags>, SkTFlagsMask<GrPipeline::Flags>) Unexecuted instantiation: operator&(SkTFlagsMask<GrDrawOp::FixedFunctionFlags>, SkTFlagsMask<GrDrawOp::FixedFunctionFlags>) Unexecuted instantiation: operator&(SkTFlagsMask<GrSimpleMeshDrawOpHelper::InputFlags>, SkTFlagsMask<GrSimpleMeshDrawOpHelper::InputFlags>) Unexecuted instantiation: operator&(SkTFlagsMask<GrGLSLFPFragmentBuilder::ScopeFlags>, SkTFlagsMask<GrGLSLFPFragmentBuilder::ScopeFlags>) Unexecuted instantiation: operator&(SkTFlagsMask<GrAttachment::UsageFlags>, SkTFlagsMask<GrAttachment::UsageFlags>) Unexecuted instantiation: operator&(SkTFlagsMask<GrSkSLFP::OptFlags>, SkTFlagsMask<GrSkSLFP::OptFlags>) Unexecuted instantiation: skgpu::ganesh::operator&(SkTFlagsMask<skgpu::ganesh::ClearOp::Buffer>, SkTFlagsMask<skgpu::ganesh::ClearOp::Buffer>) Unexecuted instantiation: AAHairLinePathRenderer.cpp:(anonymous namespace)::operator&(SkTFlagsMask<(anonymous namespace)::AAHairlineOp::Program>, SkTFlagsMask<(anonymous namespace)::AAHairlineOp::Program>) Unexecuted instantiation: operator&(SkTFlagsMask<GrModulateAtlasCoverageEffect::Flags>, SkTFlagsMask<GrModulateAtlasCoverageEffect::Flags>) Unexecuted instantiation: skgpu::ganesh::operator&(SkTFlagsMask<skgpu::ganesh::AtlasInstancedHelper::ShaderFlags>, SkTFlagsMask<skgpu::ganesh::AtlasInstancedHelper::ShaderFlags>) Unexecuted instantiation: skgpu::ganesh::operator&(SkTFlagsMask<skgpu::ganesh::FillPathFlags>, SkTFlagsMask<skgpu::ganesh::FillPathFlags>) Unexecuted instantiation: FillRRectOp.cpp:skgpu::ganesh::FillRRectOp::(anonymous namespace)::operator&(SkTFlagsMask<skgpu::ganesh::FillRRectOp::(anonymous namespace)::FillRRectOpImpl::ProcessorFlags>, SkTFlagsMask<skgpu::ganesh::FillRRectOp::(anonymous namespace)::FillRRectOpImpl::ProcessorFlags>) |
138 | 0 | [[maybe_unused]] constexpr X operator&(SkTFlagsMask<X> a, X b) { \ |
139 | 0 | return static_cast<X>(a.value() & static_cast<int>(b)); \ |
140 | 0 | } \ Unexecuted instantiation: operator&(SkTFlagsMask<GrQuadAAFlags>, GrQuadAAFlags) Unexecuted instantiation: operator&(SkTFlagsMask<GrInternalSurfaceFlags>, GrInternalSurfaceFlags) Unexecuted instantiation: operator&(SkTFlagsMask<GpuPathRenderers>, GpuPathRenderers) Unexecuted instantiation: operator&(SkTFlagsMask<GrDstSampleFlags>, GrDstSampleFlags) Unexecuted instantiation: operator&(SkTFlagsMask<GrSurfaceProxy::ResolveFlags>, GrSurfaceProxy::ResolveFlags) Unexecuted instantiation: operator&(SkTFlagsMask<GrCaps::ProgramDescOverrideFlags>, GrCaps::ProgramDescOverrideFlags) Unexecuted instantiation: operator&(SkTFlagsMask<GrXferBarrierFlags>, GrXferBarrierFlags) Unexecuted instantiation: operator&(SkTFlagsMask<GrXPFactory::AnalysisProperties>, GrXPFactory::AnalysisProperties) Unexecuted instantiation: skgpu::ganesh::operator&(SkTFlagsMask<skgpu::ganesh::Device::DeviceFlags>, skgpu::ganesh::Device::DeviceFlags) Unexecuted instantiation: operator&(SkTFlagsMask<sk_gpu_test::GrContextFactory::ContextOverrides>, sk_gpu_test::GrContextFactory::ContextOverrides) Unexecuted instantiation: skgpu::tess::operator&(SkTFlagsMask<skgpu::tess::PatchAttribs>, skgpu::tess::PatchAttribs) Unexecuted instantiation: operator&(SkTFlagsMask<GrVkRenderPass::SelfDependencyFlags>, GrVkRenderPass::SelfDependencyFlags) Unexecuted instantiation: operator&(SkTFlagsMask<GrPipeline::InputFlags>, GrPipeline::InputFlags) Unexecuted instantiation: operator&(SkTFlagsMask<GrPipeline::Flags>, GrPipeline::Flags) Unexecuted instantiation: operator&(SkTFlagsMask<GrDrawOp::FixedFunctionFlags>, GrDrawOp::FixedFunctionFlags) Unexecuted instantiation: operator&(SkTFlagsMask<GrSimpleMeshDrawOpHelper::InputFlags>, GrSimpleMeshDrawOpHelper::InputFlags) Unexecuted instantiation: operator&(SkTFlagsMask<GrGLSLFPFragmentBuilder::ScopeFlags>, GrGLSLFPFragmentBuilder::ScopeFlags) Unexecuted instantiation: operator&(SkTFlagsMask<GrAttachment::UsageFlags>, GrAttachment::UsageFlags) Unexecuted instantiation: operator&(SkTFlagsMask<GrSkSLFP::OptFlags>, GrSkSLFP::OptFlags) Unexecuted instantiation: skgpu::ganesh::operator&(SkTFlagsMask<skgpu::ganesh::ClearOp::Buffer>, skgpu::ganesh::ClearOp::Buffer) Unexecuted instantiation: AAHairLinePathRenderer.cpp:(anonymous namespace)::operator&(SkTFlagsMask<(anonymous namespace)::AAHairlineOp::Program>, (anonymous namespace)::AAHairlineOp::Program) Unexecuted instantiation: operator&(SkTFlagsMask<GrModulateAtlasCoverageEffect::Flags>, GrModulateAtlasCoverageEffect::Flags) Unexecuted instantiation: skgpu::ganesh::operator&(SkTFlagsMask<skgpu::ganesh::AtlasInstancedHelper::ShaderFlags>, skgpu::ganesh::AtlasInstancedHelper::ShaderFlags) Unexecuted instantiation: skgpu::ganesh::operator&(SkTFlagsMask<skgpu::ganesh::FillPathFlags>, skgpu::ganesh::FillPathFlags) Unexecuted instantiation: FillRRectOp.cpp:skgpu::ganesh::FillRRectOp::(anonymous namespace)::operator&(SkTFlagsMask<skgpu::ganesh::FillRRectOp::(anonymous namespace)::FillRRectOpImpl::ProcessorFlags>, skgpu::ganesh::FillRRectOp::(anonymous namespace)::FillRRectOpImpl::ProcessorFlags) |
141 | 132k | [[maybe_unused]] constexpr X operator&(X a, SkTFlagsMask<X> b) { \ |
142 | 132k | return static_cast<X>(static_cast<int>(a) & b.value()); \ |
143 | 132k | } \ operator&(GrQuadAAFlags, SkTFlagsMask<GrQuadAAFlags>) Line | Count | Source | 141 | 132k | [[maybe_unused]] constexpr X operator&(X a, SkTFlagsMask<X> b) { \ | 142 | 132k | return static_cast<X>(static_cast<int>(a) & b.value()); \ | 143 | 132k | } \ |
Unexecuted instantiation: operator&(GrInternalSurfaceFlags, SkTFlagsMask<GrInternalSurfaceFlags>) Unexecuted instantiation: operator&(GpuPathRenderers, SkTFlagsMask<GpuPathRenderers>) Unexecuted instantiation: operator&(GrDstSampleFlags, SkTFlagsMask<GrDstSampleFlags>) Unexecuted instantiation: operator&(GrSurfaceProxy::ResolveFlags, SkTFlagsMask<GrSurfaceProxy::ResolveFlags>) Unexecuted instantiation: operator&(GrCaps::ProgramDescOverrideFlags, SkTFlagsMask<GrCaps::ProgramDescOverrideFlags>) Unexecuted instantiation: operator&(GrXferBarrierFlags, SkTFlagsMask<GrXferBarrierFlags>) Unexecuted instantiation: operator&(GrXPFactory::AnalysisProperties, SkTFlagsMask<GrXPFactory::AnalysisProperties>) Unexecuted instantiation: skgpu::ganesh::operator&(skgpu::ganesh::Device::DeviceFlags, SkTFlagsMask<skgpu::ganesh::Device::DeviceFlags>) Unexecuted instantiation: operator&(sk_gpu_test::GrContextFactory::ContextOverrides, SkTFlagsMask<sk_gpu_test::GrContextFactory::ContextOverrides>) Unexecuted instantiation: skgpu::tess::operator&(skgpu::tess::PatchAttribs, SkTFlagsMask<skgpu::tess::PatchAttribs>) Unexecuted instantiation: operator&(GrVkRenderPass::SelfDependencyFlags, SkTFlagsMask<GrVkRenderPass::SelfDependencyFlags>) Unexecuted instantiation: operator&(GrPipeline::InputFlags, SkTFlagsMask<GrPipeline::InputFlags>) Unexecuted instantiation: operator&(GrPipeline::Flags, SkTFlagsMask<GrPipeline::Flags>) Unexecuted instantiation: operator&(GrDrawOp::FixedFunctionFlags, SkTFlagsMask<GrDrawOp::FixedFunctionFlags>) Unexecuted instantiation: operator&(GrSimpleMeshDrawOpHelper::InputFlags, SkTFlagsMask<GrSimpleMeshDrawOpHelper::InputFlags>) Unexecuted instantiation: operator&(GrGLSLFPFragmentBuilder::ScopeFlags, SkTFlagsMask<GrGLSLFPFragmentBuilder::ScopeFlags>) Unexecuted instantiation: operator&(GrAttachment::UsageFlags, SkTFlagsMask<GrAttachment::UsageFlags>) Unexecuted instantiation: operator&(GrSkSLFP::OptFlags, SkTFlagsMask<GrSkSLFP::OptFlags>) Unexecuted instantiation: skgpu::ganesh::operator&(skgpu::ganesh::ClearOp::Buffer, SkTFlagsMask<skgpu::ganesh::ClearOp::Buffer>) Unexecuted instantiation: AAHairLinePathRenderer.cpp:(anonymous namespace)::operator&((anonymous namespace)::AAHairlineOp::Program, SkTFlagsMask<(anonymous namespace)::AAHairlineOp::Program>) Unexecuted instantiation: operator&(GrModulateAtlasCoverageEffect::Flags, SkTFlagsMask<GrModulateAtlasCoverageEffect::Flags>) Unexecuted instantiation: skgpu::ganesh::operator&(skgpu::ganesh::AtlasInstancedHelper::ShaderFlags, SkTFlagsMask<skgpu::ganesh::AtlasInstancedHelper::ShaderFlags>) Unexecuted instantiation: skgpu::ganesh::operator&(skgpu::ganesh::FillPathFlags, SkTFlagsMask<skgpu::ganesh::FillPathFlags>) Unexecuted instantiation: FillRRectOp.cpp:skgpu::ganesh::FillRRectOp::(anonymous namespace)::operator&(skgpu::ganesh::FillRRectOp::(anonymous namespace)::FillRRectOpImpl::ProcessorFlags, SkTFlagsMask<skgpu::ganesh::FillRRectOp::(anonymous namespace)::FillRRectOpImpl::ProcessorFlags>) |
144 | 132k | [[maybe_unused]] inline X& operator&=(X& a, SkTFlagsMask<X> b) { \ |
145 | 132k | return (a = a & b); \ |
146 | 132k | } \ operator&=(GrQuadAAFlags&, SkTFlagsMask<GrQuadAAFlags>) Line | Count | Source | 144 | 132k | [[maybe_unused]] inline X& operator&=(X& a, SkTFlagsMask<X> b) { \ | 145 | 132k | return (a = a & b); \ | 146 | 132k | } \ |
Unexecuted instantiation: operator&=(GrInternalSurfaceFlags&, SkTFlagsMask<GrInternalSurfaceFlags>) Unexecuted instantiation: operator&=(GpuPathRenderers&, SkTFlagsMask<GpuPathRenderers>) Unexecuted instantiation: operator&=(GrDstSampleFlags&, SkTFlagsMask<GrDstSampleFlags>) Unexecuted instantiation: operator&=(GrSurfaceProxy::ResolveFlags&, SkTFlagsMask<GrSurfaceProxy::ResolveFlags>) Unexecuted instantiation: operator&=(GrCaps::ProgramDescOverrideFlags&, SkTFlagsMask<GrCaps::ProgramDescOverrideFlags>) Unexecuted instantiation: operator&=(GrXferBarrierFlags&, SkTFlagsMask<GrXferBarrierFlags>) Unexecuted instantiation: operator&=(GrXPFactory::AnalysisProperties&, SkTFlagsMask<GrXPFactory::AnalysisProperties>) Unexecuted instantiation: skgpu::ganesh::operator&=(skgpu::ganesh::Device::DeviceFlags&, SkTFlagsMask<skgpu::ganesh::Device::DeviceFlags>) Unexecuted instantiation: operator&=(sk_gpu_test::GrContextFactory::ContextOverrides&, SkTFlagsMask<sk_gpu_test::GrContextFactory::ContextOverrides>) Unexecuted instantiation: skgpu::tess::operator&=(skgpu::tess::PatchAttribs&, SkTFlagsMask<skgpu::tess::PatchAttribs>) Unexecuted instantiation: operator&=(GrVkRenderPass::SelfDependencyFlags&, SkTFlagsMask<GrVkRenderPass::SelfDependencyFlags>) Unexecuted instantiation: operator&=(GrPipeline::InputFlags&, SkTFlagsMask<GrPipeline::InputFlags>) Unexecuted instantiation: operator&=(GrPipeline::Flags&, SkTFlagsMask<GrPipeline::Flags>) Unexecuted instantiation: operator&=(GrDrawOp::FixedFunctionFlags&, SkTFlagsMask<GrDrawOp::FixedFunctionFlags>) Unexecuted instantiation: operator&=(GrSimpleMeshDrawOpHelper::InputFlags&, SkTFlagsMask<GrSimpleMeshDrawOpHelper::InputFlags>) Unexecuted instantiation: operator&=(GrGLSLFPFragmentBuilder::ScopeFlags&, SkTFlagsMask<GrGLSLFPFragmentBuilder::ScopeFlags>) Unexecuted instantiation: operator&=(GrAttachment::UsageFlags&, SkTFlagsMask<GrAttachment::UsageFlags>) Unexecuted instantiation: operator&=(GrSkSLFP::OptFlags&, SkTFlagsMask<GrSkSLFP::OptFlags>) Unexecuted instantiation: skgpu::ganesh::operator&=(skgpu::ganesh::ClearOp::Buffer&, SkTFlagsMask<skgpu::ganesh::ClearOp::Buffer>) Unexecuted instantiation: AAHairLinePathRenderer.cpp:(anonymous namespace)::operator&=((anonymous namespace)::AAHairlineOp::Program&, SkTFlagsMask<(anonymous namespace)::AAHairlineOp::Program>) Unexecuted instantiation: operator&=(GrModulateAtlasCoverageEffect::Flags&, SkTFlagsMask<GrModulateAtlasCoverageEffect::Flags>) Unexecuted instantiation: skgpu::ganesh::operator&=(skgpu::ganesh::AtlasInstancedHelper::ShaderFlags&, SkTFlagsMask<skgpu::ganesh::AtlasInstancedHelper::ShaderFlags>) Unexecuted instantiation: skgpu::ganesh::operator&=(skgpu::ganesh::FillPathFlags&, SkTFlagsMask<skgpu::ganesh::FillPathFlags>) Unexecuted instantiation: FillRRectOp.cpp:skgpu::ganesh::FillRRectOp::(anonymous namespace)::operator&=(skgpu::ganesh::FillRRectOp::(anonymous namespace)::FillRRectOpImpl::ProcessorFlags&, SkTFlagsMask<skgpu::ganesh::FillRRectOp::(anonymous namespace)::FillRRectOpImpl::ProcessorFlags>) |
147 | | |
148 | | #define SK_DECL_BITFIELD_CLASS_OPS_FRIENDS(X) \ |
149 | | friend constexpr SkTFlagsMask<X> operator ~(X); \ |
150 | | friend constexpr X operator |(X, X); \ |
151 | | friend X& operator |=(X&, X); \ |
152 | | friend constexpr bool operator &(X, X); \ |
153 | | friend constexpr SkTFlagsMask<X> operator|(SkTFlagsMask<X>, SkTFlagsMask<X>); \ |
154 | | friend constexpr SkTFlagsMask<X> operator|(SkTFlagsMask<X>, X); \ |
155 | | friend constexpr SkTFlagsMask<X> operator|(X, SkTFlagsMask<X>); \ |
156 | | friend constexpr X operator&(SkTFlagsMask<X>, SkTFlagsMask<X>); \ |
157 | | friend constexpr X operator&(SkTFlagsMask<X>, X); \ |
158 | | friend constexpr X operator&(X, SkTFlagsMask<X>); \ |
159 | | friend X& operator &=(X&, SkTFlagsMask<X>) |
160 | | |
161 | | #endif // SkMacros_DEFINED |