X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=helpers%2Fd3d11size.hpp;h=2ac53095c8861c948d8460d2efbddb51a3cf41ce;hb=8b095e5763690867bdc5e8ae204e0712a669b880;hp=f746d80a00b232f530767640ce7de7d3fc90fef4;hpb=00622a6e765a3a4fde8d0ba5cca63897647b2adf;p=apitrace diff --git a/helpers/d3d11size.hpp b/helpers/d3d11size.hpp index f746d80..2ac5309 100644 --- a/helpers/d3d11size.hpp +++ b/helpers/d3d11size.hpp @@ -169,22 +169,28 @@ _calcSubresourceSize(ID3D11Resource *pDstResource, UINT DstSubresource, const D3 return 0; } + if (pDstBox) { + Width = pDstBox->right - pDstBox->left; + Height = pDstBox->bottom - pDstBox->top; + Depth = pDstBox->back - pDstBox->front; + } + return _calcMipDataSize(MipLevel, Format, Width, Height, SrcRowPitch, Depth, SrcDepthPitch); } static inline void -_getMapInfo(ID3D11DeviceContext* pContext, ID3D11Resource * pResource, UINT Subresource, D3D11_MAP MapType, UINT MapFlags, D3D11_MAPPED_SUBRESOURCE * pMappedResource, - void * & pMappedData, size_t & MappedSize) { - pMappedData = 0; - MappedSize = 0; +_getMapDesc(ID3D11DeviceContext* pContext, ID3D11Resource * pResource, UINT Subresource, D3D11_MAP MapType, UINT MapFlags, D3D11_MAPPED_SUBRESOURCE * pMappedResource, + _MAP_DESC & MapDesc) { + MapDesc.pData = 0; + MapDesc.Size = 0; if (MapType == D3D11_MAP_READ) { return; } - pMappedData = pMappedResource->pData; - MappedSize = _calcSubresourceSize(pResource, Subresource, NULL, pMappedResource->RowPitch, pMappedResource->DepthPitch); + MapDesc.pData = pMappedResource->pData; + MapDesc.Size = _calcSubresourceSize(pResource, Subresource, NULL, pMappedResource->RowPitch, pMappedResource->DepthPitch); }