1 /* 2 * Copyright 2023 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 GrVkContextThreadSafeProxy_DEFINED 9 #define GrVkContextThreadSafeProxy_DEFINED 10 11 #include "include/core/SkRefCnt.h" 12 #include "include/gpu/ganesh/GrContextThreadSafeProxy.h" 13 14 class GrCaps; 15 struct GrContextOptions; 16 17 namespace skgpu { 18 enum class Mipmapped : bool; 19 enum class Protected : bool; 20 } // namespace skgpu 21 22 class GrVkContextThreadSafeProxy : public GrContextThreadSafeProxy { 23 public: 24 GrVkContextThreadSafeProxy(const GrContextOptions&); 25 26 bool isValidCharacterizationForVulkan(sk_sp<const GrCaps>, 27 bool isTextureable, 28 skgpu::Mipmapped isMipmapped, 29 skgpu::Protected isProtected, 30 bool vkRTSupportsInputAttachment, 31 bool forVulkanSecondaryCommandBuffer) override; 32 }; 33 34 #endif 35