1 /* 2 * Copyright 2022 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_graphite_VulkanQueueManager_DEFINED 9 #define skgpu_graphite_VulkanQueueManager_DEFINED 10 11 #include "src/gpu/graphite/QueueManager.h" 12 13 #include "include/gpu/vk/VulkanTypes.h" 14 15 namespace skgpu::graphite { 16 17 class VulkanSharedContext; 18 19 class VulkanQueueManager final : public QueueManager { 20 public: 21 VulkanQueueManager(VkQueue queue, const SharedContext*); ~VulkanQueueManager()22 ~VulkanQueueManager() override {} 23 24 private: 25 const VulkanSharedContext* vkSharedContext() const; 26 27 std::unique_ptr<CommandBuffer> getNewCommandBuffer(ResourceProvider*, Protected) override; 28 OutstandingSubmission onSubmitToGpu() override; 29 30 #if defined(GPU_TEST_UTILS) 31 // TODO: Implement these startCapture()32 void startCapture() override {} stopCapture()33 void stopCapture() override {} 34 #endif 35 36 VkQueue fQueue; 37 }; 38 39 } // namespace skgpu::graphite 40 41 #endif // skgpu_graphite_VulkanQueueManager_DEFINED 42