Flutter Engine
The Flutter Engine
Public Member Functions | Static Public Member Functions | List of all members
GrD3DSemaphore Class Reference

#include <GrD3DSemaphore.h>

Inheritance diagram for GrD3DSemaphore:
GrSemaphore

Public Member Functions

 ~GrD3DSemaphore () override
 
ID3D12Fence * fence () const
 
uint64_t value () const
 
GrBackendSemaphore backendSemaphore () const override
 
- Public Member Functions inherited from GrSemaphore
virtual ~GrSemaphore ()
 
virtual GrBackendSemaphore backendSemaphore () const =0
 

Static Public Member Functions

static std::unique_ptr< GrD3DSemaphoreMake (GrD3DGpu *gpu)
 
static std::unique_ptr< GrD3DSemaphoreMakeWrapped (const GrD3DFenceInfo &)
 

Detailed Description

Definition at line 18 of file GrD3DSemaphore.h.

Constructor & Destructor Documentation

◆ ~GrD3DSemaphore()

GrD3DSemaphore::~GrD3DSemaphore ( )
inlineoverride

Definition at line 24 of file GrD3DSemaphore.h.

24{}

Member Function Documentation

◆ backendSemaphore()

GrBackendSemaphore GrD3DSemaphore::backendSemaphore ( ) const
overridevirtual

Implements GrSemaphore.

Definition at line 27 of file GrD3DSemaphore.cpp.

27 {
29 backendSemaphore.initDirect3D(fFenceInfo);
30 return backendSemaphore;
31}
GrBackendSemaphore backendSemaphore() const override

◆ fence()

ID3D12Fence * GrD3DSemaphore::fence ( ) const
inline

Definition at line 26 of file GrD3DSemaphore.h.

26{ return fFenceInfo.fFence.get(); }
T * get() const
Definition: GrD3DTypes.h:108
gr_cp< ID3D12Fence > fFence
Definition: GrD3DTypes.h:235

◆ Make()

std::unique_ptr< GrD3DSemaphore > GrD3DSemaphore::Make ( GrD3DGpu gpu)
static

Definition at line 13 of file GrD3DSemaphore.cpp.

13 {
14 GrD3DFenceInfo fenceInfo;
15 gpu->device()->CreateFence(0, D3D12_FENCE_FLAG_NONE, IID_PPV_ARGS(&fenceInfo.fFence));
16 fenceInfo.fValue = 1;
17
18 return std::unique_ptr<GrD3DSemaphore>(new GrD3DSemaphore(fenceInfo));
19}
ID3D12Device * device() const
Definition: GrD3DGpu.h:43
uint64_t fValue
Definition: GrD3DTypes.h:236

◆ MakeWrapped()

std::unique_ptr< GrD3DSemaphore > GrD3DSemaphore::MakeWrapped ( const GrD3DFenceInfo fenceInfo)
static

Definition at line 21 of file GrD3DSemaphore.cpp.

21 {
22 return std::unique_ptr<GrD3DSemaphore>(new GrD3DSemaphore(fenceInfo));
23}

◆ value()

uint64_t GrD3DSemaphore::value ( ) const
inline

Definition at line 27 of file GrD3DSemaphore.h.

27{ return fFenceInfo.fValue; }

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