MCPcopy Create free account
hub / github.com/carbonengine/trinity / GetRequiredIntermediateSize

Function GetRequiredIntermediateSize

trinityal/dx12/Utilities.cpp:1511–1525  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1509}
1510
1511UINT64 GetRequiredIntermediateSize(
1512 _In_ ID3D12Resource* pDestinationResource,
1513 _In_range_( 0, D3D12_REQ_SUBRESOURCES ) UINT FirstSubresource,
1514 _In_range_( 0, D3D12_REQ_SUBRESOURCES - FirstSubresource ) UINT NumSubresources )
1515{
1516 auto Desc = pDestinationResource->GetDesc();
1517 UINT64 RequiredSize = 0;
1518
1519 ID3D12Device* pDevice = nullptr;
1520 pDestinationResource->GetDevice( __uuidof( ID3D12Device ), reinterpret_cast<void**>( &pDevice ) );
1521 pDevice->GetCopyableFootprints( &Desc, FirstSubresource, NumSubresources, 0, nullptr, nullptr, nullptr, &RequiredSize );
1522 pDevice->Release();
1523
1524 return RequiredSize;
1525}
1526
1527D3D12_RESOURCE_DESC BufferDesc( uint64_t size, D3D12_RESOURCE_FLAGS flags )
1528{

Callers 2

CreateMethod · 0.85
MapForReadingMethod · 0.85

Calls 2

GetDeviceMethod · 0.80
ReleaseMethod · 0.80

Tested by

no test coverage detected