1 /* 2 * Copyright 2021 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 SkSLGLSL_DEFINED 9 #define SkSLGLSL_DEFINED 10 11 namespace SkSL { 12 13 // Limited set of GLSL versions we build shaders for. Caller should round 14 // down the GLSL version to one of these enums. 15 enum class GLSLGeneration { 16 /** 17 * Desktop GLSL 1.10 and ES2 shading language (based on desktop GLSL 1.20) 18 */ 19 k110, 20 k100es = k110, 21 /** 22 * Desktop GLSL 1.30 23 */ 24 k130, 25 /** 26 * Desktop GLSL 1.40 27 */ 28 k140, 29 /** 30 * Desktop GLSL 1.50 31 */ 32 k150, 33 /** 34 * Desktop GLSL 3.30, and ES GLSL 3.00 35 */ 36 k330, 37 k300es = k330, 38 /** 39 * Desktop GLSL 4.00 40 */ 41 k400, 42 /** 43 * Desktop GLSL 4.20 44 */ 45 k420, 46 /** 47 * ES GLSL 3.10 only TODO Make GLSLCap objects to make this more granular 48 */ 49 k310es, 50 /** 51 * ES GLSL 3.20 52 */ 53 k320es, 54 }; 55 56 } // namespace SkSL 57 58 #endif 59