| 122 | } |
| 123 | |
| 124 | void CopyContext::waitForFalcor(cudaStream_t stream) |
| 125 | { |
| 126 | if (mpDevice->getType() == Device::Type::D3D12) |
| 127 | { |
| 128 | mpLowLevelData->submitCommandBuffer(); |
| 129 | mpLowLevelData->getCudaSemaphore()->waitForFalcor(this, stream); |
| 130 | } |
| 131 | else |
| 132 | { |
| 133 | // In the past, we used to wait for all work on the command queue to be done. |
| 134 | // Since GFX with Vulkan doesn't support shared fences yet, we do the same here. |
| 135 | submit(true); |
| 136 | } |
| 137 | } |
| 138 | #endif |
| 139 | |
| 140 | CopyContext::ReadTextureTask::SharedPtr CopyContext::asyncReadTextureSubresource(const Texture* pTexture, uint32_t subresourceIndex) |