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 kGraphiteFragmentES2, 25 kGraphiteVertexES2, 26 kRuntimeColorFilter, // Runtime effect only suitable as SkColorFilter 27 kRuntimeShader, // " " " " " SkShader 28 kRuntimeBlender, // " " " " " SkBlender 29 kPrivateRuntimeColorFilter, // Runtime color filter with public restrictions lifted 30 kPrivateRuntimeShader, // Runtime shader " " " " 31 kPrivateRuntimeBlender, // Runtime blender " " " " 32 kMeshVertex, // Vertex portion of a custom mesh 33 kMeshFragment, // Fragment " " " " " 34 }; 35 36 } // namespace SkSL 37 38 #endif 39