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 skgpu_GraphiteTypes_DEFINED 9 #define skgpu_GraphiteTypes_DEFINED 10 11 #include "include/core/SkTypes.h" 12 #include "include/private/SkVx.h" 13 14 namespace skgpu { 15 16 /** 17 * Actually submit work to the GPU and track its completion 18 */ 19 enum class SyncToCpu : bool { 20 kYes = true, 21 kNo = false 22 }; 23 24 /** 25 * Possible 3D APIs that may be used by Graphite. 26 */ 27 enum class BackendApi : unsigned { 28 kMetal, 29 kMock, 30 }; 31 32 /** 33 * Is the texture mipmapped or not 34 */ 35 enum class Mipmapped: bool { 36 kNo = false, 37 kYes = true, 38 }; 39 40 /** 41 * Is the data protected on the GPU or not. 42 */ 43 enum class Protected : bool { 44 kNo = false, 45 kYes = true, 46 }; 47 48 } // namespace skgpu 49 50 #endif // skgpu_GraphiteTypes_DEFINED 51