diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/gpu/vk/GrVkBackendContext.h | 7 | ||||
-rw-r--r-- | include/gpu/vk/GrVkInterface.h | 2 |
2 files changed, 9 insertions, 0 deletions
diff --git a/include/gpu/vk/GrVkBackendContext.h b/include/gpu/vk/GrVkBackendContext.h index fe018e494f..d8006df20e 100644 --- a/include/gpu/vk/GrVkBackendContext.h +++ b/include/gpu/vk/GrVkBackendContext.h @@ -30,6 +30,12 @@ enum GrVkFeatureFlags { kSampleRateShading_GrVkFeatureFlag = 0x0004, }; +using GrVkGetProc = std::function<PFN_vkVoidFunction( + const char*, // function name + VkInstance, // instance or VK_NULL_HANDLE + VkDevice // device or VK_NULL_HANDLE + )>; + // The BackendContext contains all of the base Vulkan objects needed by the GrVkGpu. The assumption // is that the client will set these up and pass them to the GrVkGpu constructor. The VkDevice // created must support at least one graphics queue, which is passed in as well. @@ -49,6 +55,7 @@ struct SK_API GrVkBackendContext { uint32_t fFeatures; sk_sp<const GrVkInterface> fInterface; sk_sp<GrVkMemoryAllocator> fMemoryAllocator; + GrVkGetProc fGetProc = nullptr; // This is deprecated and should be set to false. The client is responsible for managing the // lifetime of the VkInstance and VkDevice objects. diff --git a/include/gpu/vk/GrVkInterface.h b/include/gpu/vk/GrVkInterface.h index 05ce561829..978eeebbea 100644 --- a/include/gpu/vk/GrVkInterface.h +++ b/include/gpu/vk/GrVkInterface.h @@ -35,6 +35,8 @@ private: typedef SkRefCnt INHERITED; public: + // TODO: This matches the definition of GrVkGetProc in GrVkTypes. Once we switch clients to + // using that and make GrVkInterface private, we can remove this GetProc. using GetProc = std::function<PFN_vkVoidFunction( const char*, // function name VkInstance, // instance or VK_NULL_HANDLE |