• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2019 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 SkVMBuilders_DEFINED
9 #define SkVMBuilders_DEFINED
10 
11 #include "src/core/SkVM.h"
12 
13 // SkVM builders used by both SkVMBench.cpp and SkVMTest.cpp.
14 
15 struct SrcoverBuilder_F32 : public skvm::Builder {
16     enum class Fmt { A8, G8, RGBA_8888 };
17     SrcoverBuilder_F32(Fmt srcFmt = Fmt::RGBA_8888,
18                        Fmt dstFmt = Fmt::RGBA_8888);
19 };
20 
21 struct SrcoverBuilder_I32_Naive : public skvm::Builder {
22     SrcoverBuilder_I32_Naive();  // 8888 over 8888
23 };
24 
25 struct SrcoverBuilder_I32 : public skvm::Builder {
26     SrcoverBuilder_I32();  // 8888 over 8888
27 };
28 
29 struct SrcoverBuilder_I32_SWAR : public skvm::Builder {
30     SrcoverBuilder_I32_SWAR();  // 8888 over 8888
31 };
32 
33 #endif//SkVMBuilders_DEFINED
34