• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2021 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 SkSLProgramKind_DEFINED
9 #define SkSLProgramKind_DEFINED
10 
11 #include <cinttypes>
12 
13 namespace SkSL {
14 
15 /**
16  * SkSL supports several different program kinds.
17  */
18 enum class ProgramKind : int8_t {
19     kFragment,
20     kVertex,
21     kCompute,
22     kGraphiteFragment,
23     kGraphiteVertex,
24     kRuntimeColorFilter,        // Runtime effect only suitable as SkColorFilter
25     kRuntimeShader,             //   "       "     "      "     "  SkShader
26     kRuntimeBlender,            //   "       "     "      "     "  SkBlender
27     kPrivateRuntimeColorFilter, // Runtime color filter with public restrictions lifted
28     kPrivateRuntimeShader,      // Runtime shader        "     "         "         "
29     kPrivateRuntimeBlender,     // Runtime blender       "     "         "         "
30     kMeshVertex,                // Vertex   portion of a custom mesh
31     kMeshFragment,              // Fragment  "      "  "   "     "
32     kGeneric,
33 };
34 
35 } // namespace SkSL
36 
37 #endif
38