Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | List of all members
skgpu::graphite::VulkanQueueManager Class Referencefinal

#include <VulkanQueueManager.h>

Inheritance diagram for skgpu::graphite::VulkanQueueManager:
skgpu::graphite::QueueManager

Public Member Functions

 VulkanQueueManager (VkQueue queue, const SharedContext *)
 
 ~VulkanQueueManager () override
 
- Public Member Functions inherited from skgpu::graphite::QueueManager
virtual ~QueueManager ()
 
bool addRecording (const InsertRecordingInfo &, Context *)
 
bool addTask (Task *, Context *)
 
bool addFinishInfo (const InsertFinishInfo &, ResourceProvider *, SkSpan< const sk_sp< Buffer > > buffersToAsyncMap={})
 
bool submitToGpu ()
 
bool hasUnfinishedGpuWork ()
 
void checkForFinishedWork (SyncToCpu)
 
void returnCommandBuffer (std::unique_ptr< CommandBuffer >)
 
virtual void tick () const
 
void addUploadBufferManagerRefs (UploadBufferManager *)
 

Private Member Functions

std::unique_ptr< CommandBuffergetNewCommandBuffer (ResourceProvider *) override
 
OutstandingSubmission onSubmitToGpu () override
 

Additional Inherited Members

- Protected Types inherited from skgpu::graphite::QueueManager
using OutstandingSubmission = std::unique_ptr< GpuWorkSubmission >
 
- Protected Member Functions inherited from skgpu::graphite::QueueManager
 QueueManager (const SharedContext *sharedContext)
 
- Protected Attributes inherited from skgpu::graphite::QueueManager
const SharedContextfSharedContext
 
std::unique_ptr< CommandBufferfCurrentCommandBuffer
 

Detailed Description

Definition at line 19 of file VulkanQueueManager.h.

Constructor & Destructor Documentation

◆ VulkanQueueManager()

skgpu::graphite::VulkanQueueManager::VulkanQueueManager ( VkQueue  queue,
const SharedContext sharedContext 
)

Definition at line 17 of file VulkanQueueManager.cpp.

18 : QueueManager(sharedContext)
19 , fQueue(queue) {
20}
QueueManager(const SharedContext *sharedContext)

◆ ~VulkanQueueManager()

skgpu::graphite::VulkanQueueManager::~VulkanQueueManager ( )
inlineoverride

Definition at line 22 of file VulkanQueueManager.h.

22{}

Member Function Documentation

◆ getNewCommandBuffer()

std::unique_ptr< CommandBuffer > skgpu::graphite::VulkanQueueManager::getNewCommandBuffer ( ResourceProvider resourceProvider)
overrideprivatevirtual

Implements skgpu::graphite::QueueManager.

Definition at line 26 of file VulkanQueueManager.cpp.

27 {
28 VulkanResourceProvider* vkResourceProvider =
29 static_cast<VulkanResourceProvider*>(resourceProvider);
30
31 auto cmdBuffer = VulkanCommandBuffer::Make(this->vkSharedContext(), vkResourceProvider);
32 return cmdBuffer;
33}
static std::unique_ptr< VulkanCommandBuffer > Make(const VulkanSharedContext *, VulkanResourceProvider *)

◆ onSubmitToGpu()

QueueManager::OutstandingSubmission skgpu::graphite::VulkanQueueManager::onSubmitToGpu ( )
overrideprivatevirtual

Implements skgpu::graphite::QueueManager.

Definition at line 50 of file VulkanQueueManager.cpp.

50 {
52 VulkanCommandBuffer* vkCmdBuffer =
53 static_cast<VulkanCommandBuffer*>(fCurrentCommandBuffer.get());
54 if (!vkCmdBuffer->submit(fQueue)) {
55 fCurrentCommandBuffer->callFinishedProcs(/*success=*/false);
56 return nullptr;
57 }
58
59 std::unique_ptr<GpuWorkSubmission> submission(
60 new VulkanWorkSubmission(std::move(fCurrentCommandBuffer), this));
61 return submission;
62}
#define SkASSERT(cond)
Definition SkAssert.h:116
std::unique_ptr< CommandBuffer > fCurrentCommandBuffer

The documentation for this class was generated from the following files: