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

#include <MtlQueueManager.h>

Inheritance diagram for skgpu::graphite::MtlQueueManager:
skgpu::graphite::QueueManager

Public Member Functions

 MtlQueueManager (sk_cfp< id< MTLCommandQueue > > queue, const SharedContext *)
 
 ~MtlQueueManager () 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 20 of file MtlQueueManager.h.

Constructor & Destructor Documentation

◆ MtlQueueManager()

skgpu::graphite::MtlQueueManager::MtlQueueManager ( sk_cfp< id< MTLCommandQueue > >  queue,
const SharedContext sharedContext 
)

Definition at line 17 of file MtlQueueManager.mm.

19 : QueueManager(sharedContext)
20 , fQueue(std::move(queue))
21{
22}
QueueManager(const SharedContext *sharedContext)

◆ ~MtlQueueManager()

skgpu::graphite::MtlQueueManager::~MtlQueueManager ( )
inlineoverride

Definition at line 23 of file MtlQueueManager.h.

23{}

Member Function Documentation

◆ getNewCommandBuffer()

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

Implements skgpu::graphite::QueueManager.

Definition at line 28 of file MtlQueueManager.mm.

29 {
30 MtlResourceProvider* mtlResourceProvider = static_cast<MtlResourceProvider*>(resourceProvider);
31 auto cmdBuffer = MtlCommandBuffer::Make(fQueue.get(),
32 this->mtlSharedContext(),
33 mtlResourceProvider);
34 return cmdBuffer;
35}
static std::unique_ptr< MtlCommandBuffer > Make(id< MTLCommandQueue >, const MtlSharedContext *, MtlResourceProvider *)

◆ onSubmitToGpu()

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

Implements skgpu::graphite::QueueManager.

Definition at line 52 of file MtlQueueManager.mm.

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

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