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_Caps_DEFINED 9 #define skgpu_Caps_DEFINED 10 11 #include "experimental/graphite/src/ResourceTypes.h" 12 #include "include/core/SkImageInfo.h" 13 #include "include/core/SkRefCnt.h" 14 15 namespace skgpu { 16 17 class TextureInfo; 18 19 class Caps : public SkRefCnt { 20 public: ~Caps()21 ~Caps() override {} 22 23 virtual TextureInfo getDefaultSampledTextureInfo(SkColorType, 24 uint32_t levelCount, 25 Protected, 26 Renderable) const = 0; 27 28 virtual TextureInfo getDefaultMSAATextureInfo(SkColorType, 29 uint32_t sampleCount, 30 Protected) const = 0; 31 32 virtual TextureInfo getDefaultDepthStencilTextureInfo(DepthStencilType, 33 uint32_t sampleCount, 34 Protected) const = 0; 35 36 protected: 37 Caps(); 38 39 private: 40 }; 41 42 } // namespace skgpu 43 44 #endif // skgpu_Caps_DEFINED 45