| 1467 | } |
| 1468 | |
| 1469 | void PMTraceConsumer::HandleWin7DxgkQueuePacket(EVENT_RECORD* pEventRecord) |
| 1470 | { |
| 1471 | using namespace Microsoft_Windows_DxgKrnl::Win7; |
| 1472 | |
| 1473 | if (pEventRecord->EventHeader.EventDescriptor.Opcode == EVENT_TRACE_TYPE_START) { |
| 1474 | auto pSubmitEvent = reinterpret_cast<DXGKETW_QUEUESUBMITEVENT*>(pEventRecord->UserData); |
| 1475 | HandleDxgkQueueSubmit( |
| 1476 | pEventRecord->EventHeader, |
| 1477 | pSubmitEvent->hContext, |
| 1478 | pSubmitEvent->SubmitSequence, |
| 1479 | pSubmitEvent->PacketType, |
| 1480 | pSubmitEvent->bPresent != 0, |
| 1481 | true); |
| 1482 | } else if (pEventRecord->EventHeader.EventDescriptor.Opcode == EVENT_TRACE_TYPE_STOP) { |
| 1483 | auto pCompleteEvent = reinterpret_cast<DXGKETW_QUEUECOMPLETEEVENT*>(pEventRecord->UserData); |
| 1484 | HandleDxgkQueueComplete( |
| 1485 | pEventRecord->EventHeader.TimeStamp.QuadPart, |
| 1486 | pCompleteEvent->hContext, |
| 1487 | pCompleteEvent->SubmitSequence); |
| 1488 | } |
| 1489 | } |
| 1490 | |
| 1491 | void PMTraceConsumer::HandleWin7DxgkVSyncDPC(EVENT_RECORD* pEventRecord) |
| 1492 | { |
no outgoing calls
no test coverage detected