| 425 | } |
| 426 | |
| 427 | bool CopyContext::bufferBarrier(const Buffer* pBuffer, Resource::State newState) |
| 428 | { |
| 429 | FALCOR_ASSERT(pBuffer); |
| 430 | if (pBuffer->getMemoryType() != MemoryType::DeviceLocal) |
| 431 | return false; |
| 432 | bool recorded = false; |
| 433 | if (pBuffer->getGlobalState() != newState) |
| 434 | { |
| 435 | auto resourceEncoder = getLowLevelData()->getResourceCommandEncoder(); |
| 436 | gfx::IBufferResource* bufferResource = pBuffer->getGfxBufferResource(); |
| 437 | resourceEncoder->bufferBarrier(1, &bufferResource, getGFXResourceState(pBuffer->getGlobalState()), getGFXResourceState(newState)); |
| 438 | pBuffer->setGlobalState(newState); |
| 439 | mCommandsPending = true; |
| 440 | recorded = true; |
| 441 | } |
| 442 | return recorded; |
| 443 | } |
| 444 | |
| 445 | void CopyContext::apiSubresourceBarrier( |
| 446 | const Texture* pTexture, |
no test coverage detected