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

Method resourceBarrier

Source/Falcor/Core/API/CopyContext.cpp:151–179  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

149}
150
151bool CopyContext::resourceBarrier(const Resource* pResource, Resource::State newState, const ResourceViewInfo* pViewInfo)
152{
153 const Texture* pTexture = dynamic_cast<const Texture*>(pResource);
154 if (pTexture)
155 {
156 bool globalBarrier = pTexture->isStateGlobal();
157 if (pViewInfo)
158 {
159 globalBarrier = globalBarrier && pViewInfo->firstArraySlice == 0;
160 globalBarrier = globalBarrier && pViewInfo->mostDetailedMip == 0;
161 globalBarrier = globalBarrier && pViewInfo->mipCount == pTexture->getMipCount();
162 globalBarrier = globalBarrier && pViewInfo->arraySize == pTexture->getArraySize();
163 }
164
165 if (globalBarrier)
166 {
167 return textureBarrier(pTexture, newState);
168 }
169 else
170 {
171 return subresourceBarriers(pTexture, newState, pViewInfo);
172 }
173 }
174 else
175 {
176 const Buffer* pBuffer = dynamic_cast<const Buffer*>(pResource);
177 return bufferBarrier(pBuffer, newState);
178 }
179}
180
181bool CopyContext::subresourceBarriers(const Texture* pTexture, Resource::State newState, const ResourceViewInfo* pViewInfo)
182{

Callers 9

dispatchMethod · 0.80
evaluateDLSSMethod · 0.80
initGeomDescMethod · 0.80
buildBlasMethod · 0.80
renderFrameMethod · 0.80
frameMethod · 0.80
createMethod · 0.80
prepareResourceMethod · 0.80

Calls

no outgoing calls

Tested by 1

frameMethod · 0.64