| 3411 | } |
| 3412 | |
| 3413 | void PMTraceConsumer::ApplyPresentFrameType( |
| 3414 | std::shared_ptr<PresentEvent> const& present) |
| 3415 | { |
| 3416 | DebugAssert(present->Displayed.empty()); |
| 3417 | |
| 3418 | auto ii = mPendingPresentFrameTypeEvents.find(present->ThreadId); |
| 3419 | if (ii != mPendingPresentFrameTypeEvents.end()) { |
| 3420 | present->FrameId = ii->second.FrameId; |
| 3421 | present->AppFrameId = ii->second.AppFrameId; |
| 3422 | present->Displayed.emplace_back(ii->second.FrameType, 0); |
| 3423 | present->WaitingForFrameId = true; |
| 3424 | mPendingPresentFrameTypeEvents.erase(ii); |
| 3425 | } |
| 3426 | } |
| 3427 | |
| 3428 | // TODO: consider separating process and present events, would reduce unneccessary mutex locking |
| 3429 | void PMTraceConsumer::SignalEventsReady() |