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

#include <GrD3DCommandList.h>

Inheritance diagram for GrD3DCopyCommandList:
GrD3DCommandList

Static Public Member Functions

static std::unique_ptr< GrD3DCopyCommandListMake (GrD3DGpu *gpu)
 

Additional Inherited Members

- Public Types inherited from GrD3DCommandList
enum class  SubmitResult { kNoWork , kSuccess , kFailure }
 
- Public Member Functions inherited from GrD3DCommandList
virtual ~GrD3DCommandList ()
 
SubmitResult submit (ID3D12CommandQueue *queue)
 
bool close ()
 
void reset ()
 
void resourceBarrier (sk_sp< GrManagedResource > managedResource, int numBarriers, const D3D12_RESOURCE_TRANSITION_BARRIER *barriers)
 
void uavBarrier (sk_sp< GrManagedResource > managedResource, ID3D12Resource *uavResource)
 
void aliasingBarrier (sk_sp< GrManagedResource > beforeManagedResource, ID3D12Resource *beforeResource, sk_sp< GrManagedResource > afterManagedResource, ID3D12Resource *afterResource)
 
void copyBufferToTexture (ID3D12Resource *srcBuffer, const GrD3DTextureResource *dstTexture, uint32_t subresourceCount, D3D12_PLACED_SUBRESOURCE_FOOTPRINT *bufferFootprints, int left, int top)
 
void copyTextureRegionToTexture (sk_sp< GrManagedResource > dst, const D3D12_TEXTURE_COPY_LOCATION *dstLocation, UINT dstX, UINT dstY, sk_sp< GrManagedResource > src, const D3D12_TEXTURE_COPY_LOCATION *srcLocation, const D3D12_BOX *srcBox)
 
void copyTextureRegionToBuffer (sk_sp< const GrBuffer > dst, const D3D12_TEXTURE_COPY_LOCATION *dstLocation, UINT dstX, UINT dstY, sk_sp< GrManagedResource > src, const D3D12_TEXTURE_COPY_LOCATION *srcLocation, const D3D12_BOX *srcBox)
 
void copyTextureToTexture (const GrD3DTexture *dst, const GrD3DTexture *src, UINT subresourceIndex=-1)
 
void copyBufferToBuffer (sk_sp< GrD3DBuffer > dstBuffer, uint64_t dstOffset, ID3D12Resource *srcBuffer, uint64_t srcOffset, uint64_t numBytes)
 
void addGrBuffer (sk_sp< const GrBuffer > buffer)
 
void addRecycledResource (sk_sp< GrRecycledResource > resource)
 
void releaseResources ()
 
bool hasWork () const
 
void addFinishedCallback (sk_sp< skgpu::RefCntedCallback > callback)
 
- Protected Types inherited from GrD3DCommandList
template<typename T >
using TrackedResourceArray = skia_private::STArray< kInitialTrackedResourcesCount, T >
 
- Protected Member Functions inherited from GrD3DCommandList
 GrD3DCommandList (gr_cp< ID3D12CommandAllocator > allocator, gr_cp< ID3D12GraphicsCommandList > commandList)
 
void addResource (sk_sp< GrManagedResource > resource)
 
void addingWork ()
 
virtual void onReset ()
 
void submitResourceBarriers ()
 
 SkDEBUGCODE (bool fIsActive=true;) bool fHasWork
 
- Protected Attributes inherited from GrD3DCommandList
gr_cp< ID3D12GraphicsCommandList > fCommandList
 
TrackedResourceArray< sk_sp< GrManagedResource > > fTrackedResources
 
TrackedResourceArray< sk_sp< GrRecycledResource > > fTrackedRecycledResources
 
TrackedResourceArray< sk_sp< const GrBuffer > > fTrackedGpuBuffers
 

Detailed Description

Definition at line 238 of file GrD3DCommandList.h.

Member Function Documentation

◆ Make()

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

Definition at line 598 of file GrD3DCommandList.cpp.

598 {
599 ID3D12Device* device = gpu->device();
601 GR_D3D_CALL_ERRCHECK(device->CreateCommandAllocator(D3D12_COMMAND_LIST_TYPE_DIRECT,
602 IID_PPV_ARGS(&allocator)));
603
605 GR_D3D_CALL_ERRCHECK(device->CreateCommandList(0, D3D12_COMMAND_LIST_TYPE_COPY, allocator.get(),
606 nullptr, IID_PPV_ARGS(&commandList)));
607 auto grCL = new GrD3DCopyCommandList(std::move(allocator), std::move(commandList));
608 return std::unique_ptr<GrD3DCopyCommandList>(grCL);
609}
#define GR_D3D_CALL_ERRCHECK(X)
Definition: GrD3DUtil.h:18
ID3D12Device * device() const
Definition: GrD3DGpu.h:43
T * get() const
Definition: GrD3DTypes.h:108
VkDevice device
Definition: main.cc:53

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