| 571 | } |
| 572 | |
| 573 | void Texture::getSubresourceBlob(uint32_t subresource, void* pData, size_t size) const |
| 574 | { |
| 575 | FALCOR_CHECK(subresource < getSubresourceCount(), "'subresource' ({}) is out of range ({})", subresource, getSubresourceCount()); |
| 576 | SubresourceLayout layout = getSubresourceLayout(subresource); |
| 577 | FALCOR_CHECK( |
| 578 | size == layout.getTotalByteSize(), "'size' ({}) does not match the subresource size ({})", size, layout.getTotalByteSize() |
| 579 | ); |
| 580 | |
| 581 | auto data = mpDevice->getRenderContext()->readTextureSubresource(this, subresource); |
| 582 | FALCOR_ASSERT(data.size() == size); |
| 583 | std::memcpy(pData, data.data(), data.size()); |
| 584 | } |
| 585 | |
| 586 | void Texture::captureToFile( |
| 587 | uint32_t mipLevel, |
no test coverage detected