| 440 | } |
| 441 | |
| 442 | void GpuTrace::EnqueueQueuePacket(uint64_t hContext, uint32_t sequenceId, uint32_t processId, uint64_t timestamp, bool isWaitPacket) |
| 443 | { |
| 444 | auto contextIter = mContexts.find(hContext); |
| 445 | if (contextIter != mContexts.end()) { |
| 446 | auto context = &contextIter->second; |
| 447 | |
| 448 | // Ensure that the process id is registered with this context, for |
| 449 | // cases where the context was created before the capture was started |
| 450 | // so we didn't see a Context_Start event. |
| 451 | if (context->mPacketTrace == nullptr) { |
| 452 | SetContextProcessId(context, processId); |
| 453 | } |
| 454 | |
| 455 | // Use queue packet duration as a proxy for dma duration for cases we |
| 456 | // don't get dma events for (HWS). |
| 457 | if (context->mIsHwQueue) { |
| 458 | EnqueueWork(context, sequenceId, timestamp, isWaitPacket); |
| 459 | } |
| 460 | } |
| 461 | } |
| 462 | |
| 463 | void GpuTrace::CompleteQueuePacket(uint64_t hContext, uint32_t sequenceId, uint64_t timestamp) |
| 464 | { |
no test coverage detected