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