MCPcopy Create free account
hub / github.com/NVIDIAGameWorks/Falcor / resolveSubresource

Method resolveSubresource

Source/Falcor/Core/API/RenderContext.cpp:545–573  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

543}
544
545void RenderContext::resolveSubresource(const ref<Texture>& pSrc, uint32_t srcSubresource, const ref<Texture>& pDst, uint32_t dstSubresource)
546{
547 // TODO it would be better to just use barriers on the subresources.
548 resourceBarrier(pSrc.get(), Resource::State::ResolveSource);
549 resourceBarrier(pDst.get(), Resource::State::ResolveDest);
550
551 auto resourceEncoder = getLowLevelData()->getResourceCommandEncoder();
552 gfx::SubresourceRange srcRange = {};
553 srcRange.baseArrayLayer = pSrc->getSubresourceArraySlice(srcSubresource);
554 srcRange.layerCount = 1;
555 srcRange.mipLevel = pSrc->getSubresourceMipLevel(srcSubresource);
556 srcRange.mipLevelCount = 1;
557
558 gfx::SubresourceRange dstRange = {};
559 dstRange.baseArrayLayer = pDst->getSubresourceArraySlice(dstSubresource);
560 dstRange.layerCount = 1;
561 dstRange.mipLevel = pDst->getSubresourceMipLevel(dstSubresource);
562 dstRange.mipLevelCount = 1;
563
564 resourceEncoder->resolveResource(
565 pSrc->getGfxTextureResource(),
566 gfx::ResourceState::ResolveSource,
567 srcRange,
568 pDst->getGfxTextureResource(),
569 gfx::ResourceState::ResolveDestination,
570 dstRange
571 );
572 mCommandsPending = true;
573}
574
575void RenderContext::resolveResource(const ref<Texture>& pSrc, const ref<Texture>& pDst)
576{

Callers

nothing calls this directly

Calls 4

getLowLevelDataFunction · 0.85
resolveResourceMethod · 0.80
getMethod · 0.45

Tested by

no test coverage detected