diff options
Diffstat (limited to 'ovr_sdk_win_23.0.0/LibOVRKernel/Src/Tracing/LibOVREvents.h')
-rw-r--r-- | ovr_sdk_win_23.0.0/LibOVRKernel/Src/Tracing/LibOVREvents.h | 3327 |
1 files changed, 3327 insertions, 0 deletions
diff --git a/ovr_sdk_win_23.0.0/LibOVRKernel/Src/Tracing/LibOVREvents.h b/ovr_sdk_win_23.0.0/LibOVRKernel/Src/Tracing/LibOVREvents.h new file mode 100644 index 0000000..c14aaee --- /dev/null +++ b/ovr_sdk_win_23.0.0/LibOVRKernel/Src/Tracing/LibOVREvents.h @@ -0,0 +1,3327 @@ +//**********************************************************************` +//* This is an include file generated by Message Compiler. *` +//* *` +//* Copyright (c) Microsoft Corporation. All Rights Reserved. *` +//**********************************************************************` +#pragma once +#include <evntrace.h> +#include <wmistr.h> +#include "evntprov.h" +// +// Initial Defs +// +#if !defined(ETW_INLINE) +#define ETW_INLINE DECLSPEC_NOINLINE __inline +#endif + +#if defined(__cplusplus) +extern "C" { +#endif + +// +// Allow disabling of code generation +// +#ifndef MCGEN_DISABLE_PROVIDER_CODE_GENERATION +#if !defined(McGenDebug) +#define McGenDebug(a, b) +#endif + +#if !defined(MCGEN_TRACE_CONTEXT_DEF) +#define MCGEN_TRACE_CONTEXT_DEF +typedef struct _MCGEN_TRACE_CONTEXT { + TRACEHANDLE RegistrationHandle; + TRACEHANDLE Logger; + ULONGLONG MatchAnyKeyword; + ULONGLONG MatchAllKeyword; + ULONG Flags; + ULONG IsEnabled; + UCHAR Level; + UCHAR Reserve; + USHORT EnableBitsCount; + PULONG EnableBitMask; + const ULONGLONG* EnableKeyWords; + const UCHAR* EnableLevel; +} MCGEN_TRACE_CONTEXT, *PMCGEN_TRACE_CONTEXT; +#endif + +#if !defined(MCGEN_LEVEL_KEYWORD_ENABLED_DEF) +#define MCGEN_LEVEL_KEYWORD_ENABLED_DEF +FORCEINLINE +BOOLEAN +McGenLevelKeywordEnabled( + _In_ PMCGEN_TRACE_CONTEXT EnableInfo, + _In_ UCHAR Level, + _In_ ULONGLONG Keyword) { + // + // Check if the event Level is lower than the level at which + // the channel is enabled. + // If the event Level is 0 or the channel is enabled at level 0, + // all levels are enabled. + // + + if ((Level <= EnableInfo->Level) || // This also covers the case of Level == 0. + (EnableInfo->Level == 0)) { + // + // Check if Keyword is enabled + // + + if ((Keyword == (ULONGLONG)0) || + ((Keyword & EnableInfo->MatchAnyKeyword) && + ((Keyword & EnableInfo->MatchAllKeyword) == EnableInfo->MatchAllKeyword))) { + return TRUE; + } + } + + return FALSE; +} +#endif + +#if !defined(MCGEN_EVENT_ENABLED_DEF) +#define MCGEN_EVENT_ENABLED_DEF +FORCEINLINE +BOOLEAN +McGenEventEnabled(_In_ PMCGEN_TRACE_CONTEXT EnableInfo, _In_ PCEVENT_DESCRIPTOR EventDescriptor) { + return McGenLevelKeywordEnabled(EnableInfo, EventDescriptor->Level, EventDescriptor->Keyword); +} +#endif + +// +// EnableCheckMacro +// +#ifndef MCGEN_ENABLE_CHECK +#define MCGEN_ENABLE_CHECK(Context, Descriptor) \ + (Context.IsEnabled && McGenEventEnabled(&Context, &Descriptor)) +#endif + +#if !defined(MCGEN_CONTROL_CALLBACK) +#define MCGEN_CONTROL_CALLBACK + +DECLSPEC_NOINLINE __inline VOID __stdcall McGenControlCallbackV2( + _In_ LPCGUID SourceId, + _In_ ULONG ControlCode, + _In_ UCHAR Level, + _In_ ULONGLONG MatchAnyKeyword, + _In_ ULONGLONG MatchAllKeyword, + _In_opt_ PEVENT_FILTER_DESCRIPTOR FilterData, + _Inout_opt_ PVOID CallbackContext) +/*++ + +Routine Description: + + This is the notification callback for Windows Vista and later. + +Arguments: + + SourceId - The GUID that identifies the session that enabled the provider. + + ControlCode - The parameter indicates whether the provider + is being enabled or disabled. + + Level - The level at which the event is enabled. + + MatchAnyKeyword - The bitmask of keywords that the provider uses to + determine the category of events that it writes. + + MatchAllKeyword - This bitmask additionally restricts the category + of events that the provider writes. + + FilterData - The provider-defined data. + + CallbackContext - The context of the callback that is defined when the provider + called EtwRegister to register itself. + +Remarks: + + ETW calls this function to notify provider of enable/disable + +--*/ +{ + PMCGEN_TRACE_CONTEXT Ctx = (PMCGEN_TRACE_CONTEXT)CallbackContext; + ULONG Ix; +#ifndef MCGEN_PRIVATE_ENABLE_CALLBACK_V2 + UNREFERENCED_PARAMETER(SourceId); + UNREFERENCED_PARAMETER(FilterData); +#endif + + if (Ctx == NULL) { + return; + } + + switch (ControlCode) { + case EVENT_CONTROL_CODE_ENABLE_PROVIDER: + Ctx->Level = Level; + Ctx->MatchAnyKeyword = MatchAnyKeyword; + Ctx->MatchAllKeyword = MatchAllKeyword; + Ctx->IsEnabled = EVENT_CONTROL_CODE_ENABLE_PROVIDER; + + for (Ix = 0; Ix < Ctx->EnableBitsCount; Ix += 1) { + if (McGenLevelKeywordEnabled(Ctx, Ctx->EnableLevel[Ix], Ctx->EnableKeyWords[Ix]) != FALSE) { + Ctx->EnableBitMask[Ix >> 5] |= (1 << (Ix % 32)); + } else { + Ctx->EnableBitMask[Ix >> 5] &= ~(1 << (Ix % 32)); + } + } + break; + + case EVENT_CONTROL_CODE_DISABLE_PROVIDER: + Ctx->IsEnabled = EVENT_CONTROL_CODE_DISABLE_PROVIDER; + Ctx->Level = 0; + Ctx->MatchAnyKeyword = 0; + Ctx->MatchAllKeyword = 0; + if (Ctx->EnableBitsCount > 0) { + RtlZeroMemory(Ctx->EnableBitMask, (((Ctx->EnableBitsCount - 1) / 32) + 1) * sizeof(ULONG)); + } + break; + + default: + break; + } + +#ifdef MCGEN_PRIVATE_ENABLE_CALLBACK_V2 + // + // Call user defined callback + // + MCGEN_PRIVATE_ENABLE_CALLBACK_V2( + SourceId, ControlCode, Level, MatchAnyKeyword, MatchAllKeyword, FilterData, CallbackContext); +#endif + + return; +} + +#endif +#endif // MCGEN_DISABLE_PROVIDER_CODE_GENERATION +//+ +// Provider OVR-SDK-LibOVR Event Count 61 +//+ +EXTERN_C __declspec(selectany) const GUID + LibOVRProvider = {0x553787fc, 0xd3d7, 0x4f5e, {0xac, 0xb2, 0x15, 0x97, 0xc7, 0x20, 0x9b, 0x3c}}; + +// +// Channel +// +#define DEBUG_CHANNEL 0x10 +#define ANALYTIC_CHANNEL 0x11 +#define ERROR_CHANNEL 0x12 + +// +// Opcodes +// +#define FN_CALL 0xa +#define FN_RETURN 0xb +#define FN_WAYPOINT 0xc +#define DIS_BEGIN 0xd +#define DIS_WAITGPU 0xe +#define DIS_PRESENT 0xf +#define DIS_END 0x10 +#define HMD_DESC 0x11 +#define CAM_RECEIVE 0x12 +#define CAM_REQUEST 0x13 + +// +// Tasks +// +#define FN_TRACE 0x1 +#define DIS_TRACE 0x2 +#define HMD_TRACE 0x3 +#define CAMERA_TRACE 0x4 +#define LOG_TRACE 0x5 +#define SUBMITFRAME_TRACE 0x6 +#define PHASESYNC_TRACE 0x7 +#define SENSOR_TRACE 0x8 +#define VIRTUALDISPLAY_TRACE 0x9 +#define COMPOSITOR_RUNLOOP_TRACE 0xa +#define NOTIFICATION_TRACE 0xb + +// +// Event Descriptors +// +EXTERN_C __declspec(selectany) const + EVENT_DESCRIPTOR Call = {0x0, 0x0, 0x11, 0x4, 0xa, 0x1, 0x4000000000000000}; +#define Call_value 0x0 +EXTERN_C __declspec(selectany) const + EVENT_DESCRIPTOR Return = {0x1, 0x0, 0x11, 0x4, 0xb, 0x1, 0x4000000000000000}; +#define Return_value 0x1 +EXTERN_C __declspec(selectany) const + EVENT_DESCRIPTOR Waypoint = {0x2, 0x0, 0x10, 0x4, 0xc, 0x1, 0x8000000000000000}; +#define Waypoint_value 0x2 +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + DistortionBegin = {0x4, 0x0, 0x11, 0x4, 0xd, 0x2, 0x4000000000000000}; +#define DistortionBegin_value 0x4 +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + DistortionWaitGPU = {0x5, 0x0, 0x11, 0x4, 0xe, 0x2, 0x4000000000000000}; +#define DistortionWaitGPU_value 0x5 +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + DistortionPresent = {0x6, 0x0, 0x11, 0x4, 0xf, 0x2, 0x4000000000000000}; +#define DistortionPresent_value 0x6 +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + DistortionEnd = {0x7, 0x0, 0x11, 0x4, 0x10, 0x2, 0x4000000000000000}; +#define DistortionEnd_value 0x7 +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + HmdDesc_v0 = {0x8, 0x0, 0x11, 0x4, 0x11, 0x3, 0x4000000000000000}; +#define HmdDesc_v0_value 0x8 +EXTERN_C __declspec(selectany) const + EVENT_DESCRIPTOR HmdDesc = {0x8, 0x1, 0x11, 0x4, 0x11, 0x3, 0x4000000000000000}; +#define HmdDesc_value 0x8 +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + CameraFrameReceived_v0 = {0x9, 0x0, 0x11, 0x4, 0x12, 0x4, 0x4000000000000000}; +#define CameraFrameReceived_v0_value 0x9 +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + CameraFrameReceived = {0x9, 0x1, 0x11, 0x4, 0x12, 0x4, 0x4000000000000000}; +#define CameraFrameReceived_value 0x9 +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + CameraBeginProcessing_v0 = {0xa, 0x0, 0x11, 0x4, 0xd, 0x4, 0x4000000000000000}; +#define CameraBeginProcessing_v0_value 0xa +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + CameraBeginProcessing = {0xa, 0x1, 0x11, 0x4, 0xd, 0x4, 0x4000000000000000}; +#define CameraBeginProcessing_value 0xa +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + CameraFrameRequest = {0xb, 0x0, 0x11, 0x4, 0x13, 0x4, 0x4000000000000000}; +#define CameraFrameRequest_value 0xb +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + CameraEndProcessing_v0 = {0xc, 0x0, 0x11, 0x4, 0x10, 0x4, 0x4000000000000000}; +#define CameraEndProcessing_v0_value 0xc +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + CameraEndProcessing = {0xc, 0x1, 0x11, 0x4, 0x10, 0x4, 0x4000000000000000}; +#define CameraEndProcessing_value 0xc +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + CameraSkippedFrames_v0 = {0xd, 0x0, 0x11, 0x4, 0xc, 0x4, 0x4000000000000000}; +#define CameraSkippedFrames_v0_value 0xd +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + CameraSkippedFrames = {0xd, 0x1, 0x11, 0x4, 0xc, 0x4, 0x4000000000000000}; +#define CameraSkippedFrames_value 0xd +EXTERN_C __declspec(selectany) const + EVENT_DESCRIPTOR JSONChunk = {0xe, 0x0, 0x11, 0x4, 0xc, 0x3, 0x4000000000000000}; +#define JSONChunk_value 0xe +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + LogDebugMessage = {0xf, 0x0, 0x10, 0x5, 0xc, 0x5, 0x8000000000000000}; +#define LogDebugMessage_value 0xf +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + LogInfoMessage = {0x10, 0x0, 0x11, 0x4, 0xc, 0x5, 0x4000000000000000}; +#define LogInfoMessage_value 0x10 +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + LogErrorMessage = {0x11, 0x0, 0x12, 0x2, 0xc, 0x5, 0x2000000000000000}; +#define LogErrorMessage_value 0x11 +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + HmdTrackingState = {0x12, 0x0, 0x11, 0x4, 0xc, 0x3, 0x4000000000000000}; +#define HmdTrackingState_value 0x12 +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + CameraBlobs_v0 = {0x13, 0x0, 0x11, 0x4, 0xc, 0x4, 0x4000000000000000}; +#define CameraBlobs_v0_value 0x13 +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + CameraBlobs = {0x13, 0x1, 0x11, 0x4, 0xc, 0x4, 0x4000000000000000}; +#define CameraBlobs_value 0x13 +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + PoseLatchCPUWrite = {0x1e, 0x0, 0x11, 0x4, 0xd, 0x2, 0x4000000000000000}; +#define PoseLatchCPUWrite_value 0x1e +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + PoseLatchGPULatchReadback = {0x1f, 0x0, 0x11, 0x4, 0x10, 0x2, 0x4000000000000000}; +#define PoseLatchGPULatchReadback_value 0x1f +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + QueueAheadDelayBegin = {0x20, 0x0, 0x11, 0x4, 0xd, 0x6, 0x4000000000000000}; +#define QueueAheadDelayBegin_value 0x20 +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + QueueAheadDelayEnd = {0x21, 0x0, 0x11, 0x4, 0x10, 0x6, 0x4000000000000000}; +#define QueueAheadDelayEnd_value 0x21 +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + HmdDisplay = {0x22, 0x0, 0x11, 0x4, 0x11, 0x3, 0x4000000000000000}; +#define HmdDisplay_value 0x22 +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + PhaseSyncBegin = {0x23, 0x0, 0x11, 0x4, 0xd, 0x7, 0x4000000000000000}; +#define PhaseSyncBegin_value 0x23 +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + PhaseSyncEnd = {0x24, 0x0, 0x11, 0x4, 0x10, 0x7, 0x4000000000000000}; +#define PhaseSyncEnd_value 0x24 +EXTERN_C __declspec(selectany) const + EVENT_DESCRIPTOR VSync = {0x25, 0x0, 0x11, 0x4, 0xf, 0x2, 0x4000000000000000}; +#define VSync_value 0x25 +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + AppCompositorFocus = {0x26, 0x0, 0x11, 0x4, 0xc, 0x5, 0x4000000000000000}; +#define AppCompositorFocus_value 0x26 +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + AppConnect = {0x27, 0x0, 0x11, 0x4, 0xc, 0x5, 0x4000000000000000}; +#define AppConnect_value 0x27 +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + AppDisconnect = {0x28, 0x0, 0x11, 0x4, 0xc, 0x5, 0x4000000000000000}; +#define AppDisconnect_value 0x28 +EXTERN_C __declspec(selectany) const + EVENT_DESCRIPTOR AppNoOp = {0x29, 0x0, 0x11, 0x4, 0xc, 0x5, 0x4000000000000000}; +#define AppNoOp_value 0x29 +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + PosePrediction = {0x2a, 0x0, 0x11, 0x4, 0xd, 0x8, 0x4000000000000000}; +#define PosePrediction_value 0x2a +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + LatencyTiming = {0x2b, 0x0, 0x11, 0x4, 0xc, 0x5, 0x4000000000000000}; +#define LatencyTiming_value 0x2b +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + EndFrameAppTiming = {0x2c, 0x0, 0x11, 0x4, 0xc, 0x5, 0x4000000000000000}; +#define EndFrameAppTiming_value 0x2c +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + HardwareInfo = {0x2d, 0x0, 0x11, 0x4, 0xc, 0x3, 0x4000000000000000}; +#define HardwareInfo_value 0x2d +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + VirtualDisplayPacketTrace = {0x2e, 0x0, 0x11, 0x4, 0xc, 0x9, 0x4000000000000000}; +#define VirtualDisplayPacketTrace_value 0x2e +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + ClientFrameMissed = {0x2f, 0x0, 0x11, 0x4, 0xc, 0x9, 0x4000000000000000}; +#define ClientFrameMissed_value 0x2f +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + CompositionBegin = {0x30, 0x0, 0x11, 0x4, 0xd, 0xa, 0x4000000000000000}; +#define CompositionBegin_value 0x30 +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + CompositionEnd = {0x31, 0x0, 0x11, 0x4, 0x10, 0xa, 0x4000000000000000}; +#define CompositionEnd_value 0x31 +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + RenderPacketTrace = {0x32, 0x0, 0x11, 0x4, 0xc, 0x9, 0x4000000000000000}; +#define RenderPacketTrace_value 0x32 +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + EndFrameOrigAppTiming = {0x33, 0x0, 0x11, 0x4, 0xd, 0x5, 0x4000000000000000}; +#define EndFrameOrigAppTiming_value 0x33 +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + DistortionEndToEndTiming = {0x34, 0x0, 0x11, 0x0, 0xa, 0xa, 0x4000000000000000}; +#define DistortionEndToEndTiming_value 0x34 +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + CompositionEndSpinWait = {0x35, 0x0, 0x11, 0x4, 0x10, 0xa, 0x4000000000000000}; +#define CompositionEndSpinWait_value 0x35 +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + CompositionFlushingToGPU = {0x36, 0x0, 0x11, 0x4, 0xc, 0xa, 0x4000000000000000}; +#define CompositionFlushingToGPU_value 0x36 +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + PhaseSyncGPUCompleted = {0x37, 0x0, 0x11, 0x4, 0xc, 0x7, 0x4000000000000000}; +#define PhaseSyncGPUCompleted_value 0x37 +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + CompositionMissedCompositorFrame = {0x38, 0x0, 0x11, 0x4, 0xc, 0xa, 0x4000000000000000}; +#define CompositionMissedCompositorFrame_value 0x38 +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + CompositionGPUStartTime = {0x39, 0x0, 0x11, 0x4, 0xc, 0xa, 0x4000000000000000}; +#define CompositionGPUStartTime_value 0x39 +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + NotificationBegin = {0x3a, 0x0, 0x11, 0x4, 0xc, 0xb, 0x4000000000000000}; +#define NotificationBegin_value 0x3a +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + NotificationEnd = {0x3b, 0x0, 0x11, 0x4, 0xc, 0xb, 0x4000000000000000}; +#define NotificationEnd_value 0x3b +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + NotificationCompSubmit = {0x3c, 0x0, 0x11, 0x4, 0xc, 0xb, 0x4000000000000000}; +#define NotificationCompSubmit_value 0x3c +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + MotionEstimationCostStats = {0x3d, 0x0, 0x11, 0x4, 0xc, 0xa, 0x4000000000000000}; +#define MotionEstimationCostStats_value 0x3d +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + PhaseSyncWaitToBeginFrame = {0x3e, 0x0, 0x11, 0x4, 0xc, 0x7, 0x4000000000000000}; +#define PhaseSyncWaitToBeginFrame_value 0x3e +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + PhaseSyncBeginFrame = {0x3f, 0x0, 0x11, 0x4, 0xc, 0x7, 0x4000000000000000}; +#define PhaseSyncBeginFrame_value 0x3f +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + PhaseSyncEndFrame = {0x40, 0x0, 0x11, 0x4, 0xc, 0x7, 0x4000000000000000}; +#define PhaseSyncEndFrame_value 0x40 +EXTERN_C __declspec(selectany) const EVENT_DESCRIPTOR + PhaseSyncCompleteFrame = {0x41, 0x0, 0x11, 0x4, 0xc, 0x7, 0x4000000000000000}; +#define PhaseSyncCompleteFrame_value 0x41 + +// +// Note on Generate Code from Manifest for Windows Vista and above +// +// Structures : are handled as a size and pointer pairs. The macro for the event will have an extra +// parameter for the size in bytes of the structure. Make sure that your structures have no extra +// padding. +// +// Strings: There are several cases that can be described in the manifest. For array of variable +// length strings, the generated code will take the count of characters for the whole array as an +// input parameter. +// +// SID No support for array of SIDs, the macro will take a pointer to the SID and use appropriate +// GetLengthSid function to get the length. +// + +// +// Allow disabling of code generation +// +#ifndef MCGEN_DISABLE_PROVIDER_CODE_GENERATION + +// +// Globals +// + +// +// Event Enablement Bits +// + +EXTERN_C __declspec(selectany) DECLSPEC_CACHEALIGN ULONG OVR_SDK_LibOVREnableBits[1]; +EXTERN_C __declspec(selectany) const ULONGLONG OVR_SDK_LibOVRKeywords[5] = {0x4000000000000000, + 0x8000000000000000, + 0x8000000000000000, + 0x2000000000000000, + 0x4000000000000000}; +EXTERN_C __declspec(selectany) const UCHAR OVR_SDK_LibOVRLevels[5] = {4, 4, 5, 2, 0}; +EXTERN_C __declspec(selectany) MCGEN_TRACE_CONTEXT LibOVRProvider_Context = { + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 5, + OVR_SDK_LibOVREnableBits, + OVR_SDK_LibOVRKeywords, + OVR_SDK_LibOVRLevels}; + +EXTERN_C __declspec(selectany) REGHANDLE OVR_SDK_LibOVRHandle = (REGHANDLE)0; + +#if !defined(McGenEventRegisterUnregister) +#define McGenEventRegisterUnregister +#pragma warning(push) +#pragma warning(disable : 6103) +DECLSPEC_NOINLINE __inline ULONG __stdcall McGenEventRegister( + _In_ LPCGUID ProviderId, + _In_opt_ PENABLECALLBACK EnableCallback, + _In_opt_ PVOID CallbackContext, + _Inout_ PREGHANDLE RegHandle) +/*++ + +Routine Description: + + This function registers the provider with ETW USER mode. + +Arguments: + ProviderId - Provider ID to be register with ETW. + + EnableCallback - Callback to be used. + + CallbackContext - Context for this provider. + + RegHandle - Pointer to registration handle. + +Remarks: + + If the handle != NULL will return ERROR_SUCCESS + +--*/ +{ + ULONG Error; + + if (*RegHandle) { + // + // already registered + // + return ERROR_SUCCESS; + } + + Error = EventRegister(ProviderId, EnableCallback, CallbackContext, RegHandle); + + return Error; +} +#pragma warning(pop) + +DECLSPEC_NOINLINE __inline ULONG __stdcall McGenEventUnregister(_Inout_ PREGHANDLE RegHandle) +/*++ + +Routine Description: + + Unregister from ETW USER mode + +Arguments: + RegHandle this is the pointer to the provider context +Remarks: + If provider has not been registered, RegHandle == NULL, + return ERROR_SUCCESS +--*/ +{ + ULONG Error; + + if (!(*RegHandle)) { + // + // Provider has not registerd + // + return ERROR_SUCCESS; + } + + Error = EventUnregister(*RegHandle); + *RegHandle = (REGHANDLE)0; + + return Error; +} +#endif +// +// Register with ETW Vista + +// +#ifndef EventRegisterOVR_SDK_LibOVR +#define EventRegisterOVR_SDK_LibOVR() \ + McGenEventRegister( \ + &LibOVRProvider, McGenControlCallbackV2, &LibOVRProvider_Context, &OVR_SDK_LibOVRHandle) +#endif + +// +// UnRegister with ETW +// +#ifndef EventUnregisterOVR_SDK_LibOVR +#define EventUnregisterOVR_SDK_LibOVR() McGenEventUnregister(&OVR_SDK_LibOVRHandle) +#endif + +// +// Enablement check macro for Call +// + +#define EventEnabledCall() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for Call +// +#define EventWriteCall(Name, Line, FrameID) \ + EventEnabledCall() ? Template_zdq(OVR_SDK_LibOVRHandle, &Call, Name, Line, FrameID) \ + : ERROR_SUCCESS + +// +// Enablement check macro for Return +// + +#define EventEnabledReturn() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for Return +// +#define EventWriteReturn(Name, Line, FrameID) \ + EventEnabledReturn() ? Template_zdq(OVR_SDK_LibOVRHandle, &Return, Name, Line, FrameID) \ + : ERROR_SUCCESS + +// +// Enablement check macro for Waypoint +// + +#define EventEnabledWaypoint() ((OVR_SDK_LibOVREnableBits[0] & 0x00000002) != 0) + +// +// Event Macro for Waypoint +// +#define EventWriteWaypoint(Name, Line, FrameID) \ + EventEnabledWaypoint() ? Template_zdq(OVR_SDK_LibOVRHandle, &Waypoint, Name, Line, FrameID) \ + : ERROR_SUCCESS + +// +// Enablement check macro for DistortionBegin +// + +#define EventEnabledDistortionBegin() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for DistortionBegin +// +#define EventWriteDistortionBegin(VidPnTargetId, FrameID) \ + EventEnabledDistortionBegin() \ + ? Template_qq(OVR_SDK_LibOVRHandle, &DistortionBegin, VidPnTargetId, FrameID) \ + : ERROR_SUCCESS + +// +// Enablement check macro for DistortionWaitGPU +// + +#define EventEnabledDistortionWaitGPU() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for DistortionWaitGPU +// +#define EventWriteDistortionWaitGPU(VidPnTargetId, FrameID) \ + EventEnabledDistortionWaitGPU() \ + ? Template_qq(OVR_SDK_LibOVRHandle, &DistortionWaitGPU, VidPnTargetId, FrameID) \ + : ERROR_SUCCESS + +// +// Enablement check macro for DistortionPresent +// + +#define EventEnabledDistortionPresent() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for DistortionPresent +// +#define EventWriteDistortionPresent(VidPnTargetId, FrameID) \ + EventEnabledDistortionPresent() \ + ? Template_qq(OVR_SDK_LibOVRHandle, &DistortionPresent, VidPnTargetId, FrameID) \ + : ERROR_SUCCESS + +// +// Enablement check macro for DistortionEnd +// + +#define EventEnabledDistortionEnd() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for DistortionEnd +// +#define EventWriteDistortionEnd(VidPnTargetId, FrameID) \ + EventEnabledDistortionEnd() \ + ? Template_qq(OVR_SDK_LibOVRHandle, &DistortionEnd, VidPnTargetId, FrameID) \ + : ERROR_SUCCESS + +// +// Enablement check macro for HmdDesc_v0 +// + +#define EventEnabledHmdDesc_v0() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for HmdDesc_v0 +// +#define EventWriteHmdDesc_v0( \ + Type, \ + VendorId, \ + ProductId, \ + SerialNumber, \ + FirmwareMajor, \ + FirmwareMinor, \ + HmdCaps, \ + TrackingCaps, \ + DistortionCaps, \ + ResolutionWidth, \ + ResolutionHeight) \ + EventEnabledHmdDesc_v0() ? Template_qlls24llqqqdd( \ + OVR_SDK_LibOVRHandle, \ + &HmdDesc_v0, \ + Type, \ + VendorId, \ + ProductId, \ + SerialNumber, \ + FirmwareMajor, \ + FirmwareMinor, \ + HmdCaps, \ + TrackingCaps, \ + DistortionCaps, \ + ResolutionWidth, \ + ResolutionHeight) \ + : ERROR_SUCCESS + +// +// Enablement check macro for HmdDesc +// + +#define EventEnabledHmdDesc() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for HmdDesc +// +#define EventWriteHmdDesc( \ + Type, \ + VendorId, \ + ProductId, \ + SerialNumber, \ + FirmwareMajor, \ + FirmwareMinor, \ + HmdCaps, \ + TrackingCaps, \ + ResolutionWidth, \ + ResolutionHeight) \ + EventEnabledHmdDesc() ? Template_qlls24llqqdd( \ + OVR_SDK_LibOVRHandle, \ + &HmdDesc, \ + Type, \ + VendorId, \ + ProductId, \ + SerialNumber, \ + FirmwareMajor, \ + FirmwareMinor, \ + HmdCaps, \ + TrackingCaps, \ + ResolutionWidth, \ + ResolutionHeight) \ + : ERROR_SUCCESS + +// +// Enablement check macro for CameraFrameReceived_v0 +// + +#define EventEnabledCameraFrameReceived_v0() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for CameraFrameReceived_v0 +// +#define EventWriteCameraFrameReceived_v0( \ + FrameRate, FrameNumber, ArrivalTimeSeconds, CaptureTime, LostFrames) \ + EventEnabledCameraFrameReceived_v0() ? Template_fqggq( \ + OVR_SDK_LibOVRHandle, \ + &CameraFrameReceived_v0, \ + FrameRate, \ + FrameNumber, \ + ArrivalTimeSeconds, \ + CaptureTime, \ + LostFrames) \ + : ERROR_SUCCESS + +// +// Enablement check macro for CameraFrameReceived +// + +#define EventEnabledCameraFrameReceived() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for CameraFrameReceived +// +#define EventWriteCameraFrameReceived( \ + Camera, FrameNumber, HmdFrameNumber, ArrivalTime, CaptureTime) \ + EventEnabledCameraFrameReceived() ? Template_qddgg( \ + OVR_SDK_LibOVRHandle, \ + &CameraFrameReceived, \ + Camera, \ + FrameNumber, \ + HmdFrameNumber, \ + ArrivalTime, \ + CaptureTime) \ + : ERROR_SUCCESS + +// +// Enablement check macro for CameraBeginProcessing_v0 +// + +#define EventEnabledCameraBeginProcessing_v0() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for CameraBeginProcessing_v0 +// +#define EventWriteCameraBeginProcessing_v0( \ + FrameRate, FrameNumber, ArrivalTimeSeconds, CaptureTime, LostFrames) \ + EventEnabledCameraBeginProcessing_v0() ? Template_fqggq( \ + OVR_SDK_LibOVRHandle, \ + &CameraBeginProcessing_v0, \ + FrameRate, \ + FrameNumber, \ + ArrivalTimeSeconds, \ + CaptureTime, \ + LostFrames) \ + : ERROR_SUCCESS + +// +// Enablement check macro for CameraBeginProcessing +// + +#define EventEnabledCameraBeginProcessing() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for CameraBeginProcessing +// +#define EventWriteCameraBeginProcessing( \ + Camera, FrameNumber, HmdFrameNumber, ArrivalTime, CaptureTime) \ + EventEnabledCameraBeginProcessing() ? Template_qddgg( \ + OVR_SDK_LibOVRHandle, \ + &CameraBeginProcessing, \ + Camera, \ + FrameNumber, \ + HmdFrameNumber, \ + ArrivalTime, \ + CaptureTime) \ + : ERROR_SUCCESS + +// +// Enablement check macro for CameraFrameRequest +// + +#define EventEnabledCameraFrameRequest() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for CameraFrameRequest +// +#define EventWriteCameraFrameRequest(RequestNumber, FrameCounter, LastFrameNumber) \ + EventEnabledCameraFrameRequest() ? Template_xxq( \ + OVR_SDK_LibOVRHandle, \ + &CameraFrameRequest, \ + RequestNumber, \ + FrameCounter, \ + LastFrameNumber) \ + : ERROR_SUCCESS + +// +// Enablement check macro for CameraEndProcessing_v0 +// + +#define EventEnabledCameraEndProcessing_v0() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for CameraEndProcessing_v0 +// +#define EventWriteCameraEndProcessing_v0( \ + FrameRate, FrameNumber, ArrivalTimeSeconds, CaptureTime, LostFrames) \ + EventEnabledCameraEndProcessing_v0() ? Template_fqggq( \ + OVR_SDK_LibOVRHandle, \ + &CameraEndProcessing_v0, \ + FrameRate, \ + FrameNumber, \ + ArrivalTimeSeconds, \ + CaptureTime, \ + LostFrames) \ + : ERROR_SUCCESS + +// +// Enablement check macro for CameraEndProcessing +// + +#define EventEnabledCameraEndProcessing() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for CameraEndProcessing +// +#define EventWriteCameraEndProcessing( \ + Camera, FrameNumber, HmdFrameNumber, ArrivalTime, CaptureTime) \ + EventEnabledCameraEndProcessing() ? Template_qddgg( \ + OVR_SDK_LibOVRHandle, \ + &CameraEndProcessing, \ + Camera, \ + FrameNumber, \ + HmdFrameNumber, \ + ArrivalTime, \ + CaptureTime) \ + : ERROR_SUCCESS + +// +// Enablement check macro for CameraSkippedFrames_v0 +// + +#define EventEnabledCameraSkippedFrames_v0() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for CameraSkippedFrames_v0 +// +#define EventWriteCameraSkippedFrames_v0(RequestNumber, FrameCounter, LastFrameNumber) \ + EventEnabledCameraSkippedFrames_v0() ? Template_xxq( \ + OVR_SDK_LibOVRHandle, \ + &CameraSkippedFrames_v0, \ + RequestNumber, \ + FrameCounter, \ + LastFrameNumber) \ + : ERROR_SUCCESS + +// +// Enablement check macro for CameraSkippedFrames +// + +#define EventEnabledCameraSkippedFrames() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for CameraSkippedFrames +// +#define EventWriteCameraSkippedFrames(Camera, LastFrameNumber) \ + EventEnabledCameraSkippedFrames() \ + ? Template_qq(OVR_SDK_LibOVRHandle, &CameraSkippedFrames, Camera, LastFrameNumber) \ + : ERROR_SUCCESS + +// +// Enablement check macro for JSONChunk +// + +#define EventEnabledJSONChunk() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for JSONChunk +// +#define EventWriteJSONChunk( \ + Name, TotalChunks, ChunkSequence, TotalSize, ChunkSize, ChunkOffset, Chunk) \ + EventEnabledJSONChunk() ? Template_zqqqqqb( \ + OVR_SDK_LibOVRHandle, \ + &JSONChunk, \ + Name, \ + TotalChunks, \ + ChunkSequence, \ + TotalSize, \ + ChunkSize, \ + ChunkOffset, \ + Chunk) \ + : ERROR_SUCCESS + +// +// Enablement check macro for LogDebugMessage +// + +#define EventEnabledLogDebugMessage() ((OVR_SDK_LibOVREnableBits[0] & 0x00000004) != 0) + +// +// Event Macro for LogDebugMessage +// +#define EventWriteLogDebugMessage(Message) \ + EventEnabledLogDebugMessage() ? Template_s(OVR_SDK_LibOVRHandle, &LogDebugMessage, Message) \ + : ERROR_SUCCESS + +// +// Enablement check macro for LogInfoMessage +// + +#define EventEnabledLogInfoMessage() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for LogInfoMessage +// +#define EventWriteLogInfoMessage(Message) \ + EventEnabledLogInfoMessage() ? Template_s(OVR_SDK_LibOVRHandle, &LogInfoMessage, Message) \ + : ERROR_SUCCESS + +// +// Enablement check macro for LogErrorMessage +// + +#define EventEnabledLogErrorMessage() ((OVR_SDK_LibOVREnableBits[0] & 0x00000008) != 0) + +// +// Event Macro for LogErrorMessage +// +#define EventWriteLogErrorMessage(Message) \ + EventEnabledLogErrorMessage() ? Template_s(OVR_SDK_LibOVRHandle, &LogErrorMessage, Message) \ + : ERROR_SUCCESS + +// +// Enablement check macro for HmdTrackingState +// + +#define EventEnabledHmdTrackingState() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for HmdTrackingState +// +#define EventWriteHmdTrackingState( \ + TimeInSeconds, \ + HeadPoseQuat, \ + HeadPoseTranslation, \ + HeadAngularVelocity, \ + HeadLinearVelocity, \ + CameraPoseQuat, \ + CameraPoseTranslation, \ + StatusFlags) \ + EventEnabledHmdTrackingState() ? Template_gF4F3F3F3F4F3q( \ + OVR_SDK_LibOVRHandle, \ + &HmdTrackingState, \ + TimeInSeconds, \ + HeadPoseQuat, \ + HeadPoseTranslation, \ + HeadAngularVelocity, \ + HeadLinearVelocity, \ + CameraPoseQuat, \ + CameraPoseTranslation, \ + StatusFlags) \ + : ERROR_SUCCESS + +// +// Enablement check macro for CameraBlobs_v0 +// + +#define EventEnabledCameraBlobs_v0() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for CameraBlobs_v0 +// +#define EventWriteCameraBlobs_v0(BlobCount, PositionX, PositionY, Size) \ + EventEnabledCameraBlobs_v0() \ + ? Template_qGR0GR0DR0( \ + OVR_SDK_LibOVRHandle, &CameraBlobs_v0, BlobCount, PositionX, PositionY, Size) \ + : ERROR_SUCCESS + +// +// Enablement check macro for CameraBlobs +// + +#define EventEnabledCameraBlobs() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for CameraBlobs +// +#define EventWriteCameraBlobs( \ + Camera, FrameNumber, ArrivalTime, Width, Height, BlobCount, PositionX, PositionY, Size) \ + EventEnabledCameraBlobs() ? Template_qdgddqGR5GR5DR5( \ + OVR_SDK_LibOVRHandle, \ + &CameraBlobs, \ + Camera, \ + FrameNumber, \ + ArrivalTime, \ + Width, \ + Height, \ + BlobCount, \ + PositionX, \ + PositionY, \ + Size) \ + : ERROR_SUCCESS + +// +// Enablement check macro for PoseLatchCPUWrite +// + +#define EventEnabledPoseLatchCPUWrite() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for PoseLatchCPUWrite +// +#define EventWritePoseLatchCPUWrite( \ + Sequence, \ + Layer, \ + MotionSensorTime, \ + PredictedScanlineFirst, \ + PredictedScanlineLast, \ + TimeToScanlineFirst, \ + TimeToScanlineLast, \ + StartPosition, \ + EndPosition, \ + StartQuat, \ + EndQuat) \ + EventEnabledPoseLatchCPUWrite() ? Template_qdfffffF3F3F4F4( \ + OVR_SDK_LibOVRHandle, \ + &PoseLatchCPUWrite, \ + Sequence, \ + Layer, \ + MotionSensorTime, \ + PredictedScanlineFirst, \ + PredictedScanlineLast, \ + TimeToScanlineFirst, \ + TimeToScanlineLast, \ + StartPosition, \ + EndPosition, \ + StartQuat, \ + EndQuat) \ + : ERROR_SUCCESS + +// +// Enablement check macro for PoseLatchGPULatchReadback +// + +#define EventEnabledPoseLatchGPULatchReadback() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for PoseLatchGPULatchReadback +// +#define EventWritePoseLatchGPULatchReadback( \ + Sequence, \ + Layer, \ + MotionSensorTime, \ + PredictedScanlineFirst, \ + PredictedScanlineLast, \ + TimeToScanlineFirst, \ + TimeToScanlineLast) \ + EventEnabledPoseLatchGPULatchReadback() ? Template_qdfffff( \ + OVR_SDK_LibOVRHandle, \ + &PoseLatchGPULatchReadback, \ + Sequence, \ + Layer, \ + MotionSensorTime, \ + PredictedScanlineFirst, \ + PredictedScanlineLast, \ + TimeToScanlineFirst, \ + TimeToScanlineLast) \ + : ERROR_SUCCESS + +// +// Enablement check macro for QueueAheadDelayBegin +// + +#define EventEnabledQueueAheadDelayBegin() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for QueueAheadDelayBegin +// +#define EventWriteQueueAheadDelayBegin(QueueAheadSeconds) \ + EventEnabledQueueAheadDelayBegin() \ + ? Template_f(OVR_SDK_LibOVRHandle, &QueueAheadDelayBegin, QueueAheadSeconds) \ + : ERROR_SUCCESS + +// +// Enablement check macro for QueueAheadDelayEnd +// + +#define EventEnabledQueueAheadDelayEnd() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for QueueAheadDelayEnd +// +#define EventWriteQueueAheadDelayEnd(QueueAheadSeconds) \ + EventEnabledQueueAheadDelayEnd() \ + ? Template_f(OVR_SDK_LibOVRHandle, &QueueAheadDelayEnd, QueueAheadSeconds) \ + : ERROR_SUCCESS + +// +// Enablement check macro for HmdDisplay +// + +#define EventEnabledHmdDisplay() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for HmdDisplay +// +#define EventWriteHmdDisplay( \ + Extended, \ + DeviceTypeGuess, \ + EdidVendorId, \ + EdidModelNumber, \ + DisplayID, \ + ModelName, \ + EdidSerialNumber, \ + LogicalResolutionInPixels_w, \ + LogicalResolutionInPixels_h, \ + NativeResolutionInPixels_w, \ + NativeResolutionInPixels_h, \ + DesktopDisplayOffset_x, \ + DesktopDisplayOffset_y, \ + DeviceNumber, \ + Rotation, \ + ApplicationExclusive) \ + EventEnabledHmdDisplay() ? Template_tqhhsssddddddxqt( \ + OVR_SDK_LibOVRHandle, \ + &HmdDisplay, \ + Extended, \ + DeviceTypeGuess, \ + EdidVendorId, \ + EdidModelNumber, \ + DisplayID, \ + ModelName, \ + EdidSerialNumber, \ + LogicalResolutionInPixels_w, \ + LogicalResolutionInPixels_h, \ + NativeResolutionInPixels_w, \ + NativeResolutionInPixels_h, \ + DesktopDisplayOffset_x, \ + DesktopDisplayOffset_y, \ + DeviceNumber, \ + Rotation, \ + ApplicationExclusive) \ + : ERROR_SUCCESS + +// +// Enablement check macro for PhaseSyncBegin +// + +#define EventEnabledPhaseSyncBegin() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for PhaseSyncBegin +// +#define EventWritePhaseSyncBegin( \ + LastCompositeTime, \ + LastVSyncTime, \ + FrameIntervalMS, \ + SemaphoreMS, \ + SleepMS, \ + SpinMS, \ + PhaseSyncMS, \ + BeginFrameTime, \ + TargetCompletionTime, \ + TargetCompositeTime, \ + TargetVSyncTime) \ + EventEnabledPhaseSyncBegin() ? Template_ggfffffgggg( \ + OVR_SDK_LibOVRHandle, \ + &PhaseSyncBegin, \ + LastCompositeTime, \ + LastVSyncTime, \ + FrameIntervalMS, \ + SemaphoreMS, \ + SleepMS, \ + SpinMS, \ + PhaseSyncMS, \ + BeginFrameTime, \ + TargetCompletionTime, \ + TargetCompositeTime, \ + TargetVSyncTime) \ + : ERROR_SUCCESS + +// +// Enablement check macro for PhaseSyncEnd +// + +#define EventEnabledPhaseSyncEnd() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for PhaseSyncEnd +// +#define EventWritePhaseSyncEnd( \ + BeginFrameTime, \ + EndFrameTime, \ + CompletionTime, \ + CompositeTime, \ + VSyncTime, \ + FrameTimeMS, \ + FrameTimeCpuMS, \ + FrameTimeVarianceMS, \ + QueueAhead, \ + FramesMissed, \ + AvgFrameTimeMS, \ + AvgFrameTimeCpuMS, \ + AvgFrameTimeVarianceMS, \ + AvgQueueAhead, \ + SyncFrameTimeMS, \ + SyncQueueAhead, \ + SyncFramesMissed, \ + PhaseSyncMS) \ + EventEnabledPhaseSyncEnd() ? Template_gggggffffqffffffqf( \ + OVR_SDK_LibOVRHandle, \ + &PhaseSyncEnd, \ + BeginFrameTime, \ + EndFrameTime, \ + CompletionTime, \ + CompositeTime, \ + VSyncTime, \ + FrameTimeMS, \ + FrameTimeCpuMS, \ + FrameTimeVarianceMS, \ + QueueAhead, \ + FramesMissed, \ + AvgFrameTimeMS, \ + AvgFrameTimeCpuMS, \ + AvgFrameTimeVarianceMS, \ + AvgQueueAhead, \ + SyncFrameTimeMS, \ + SyncQueueAhead, \ + SyncFramesMissed, \ + PhaseSyncMS) \ + : ERROR_SUCCESS + +// +// Enablement check macro for VSync +// + +#define EventEnabledVSync() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for VSync +// +#define EventWriteVSync(Time, FrameIndex, TwGpuEndTime) \ + EventEnabledVSync() ? Template_gqg(OVR_SDK_LibOVRHandle, &VSync, Time, FrameIndex, TwGpuEndTime) \ + : ERROR_SUCCESS + +// +// Enablement check macro for AppCompositorFocus +// + +#define EventEnabledAppCompositorFocus() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for AppCompositorFocus +// +#define EventWriteAppCompositorFocus(ProcessID) \ + EventEnabledAppCompositorFocus() \ + ? Template_x(OVR_SDK_LibOVRHandle, &AppCompositorFocus, ProcessID) \ + : ERROR_SUCCESS + +// +// Enablement check macro for AppConnect +// + +#define EventEnabledAppConnect() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for AppConnect +// +#define EventWriteAppConnect(ProcessID) \ + EventEnabledAppConnect() ? Template_x(OVR_SDK_LibOVRHandle, &AppConnect, ProcessID) \ + : ERROR_SUCCESS + +// +// Enablement check macro for AppDisconnect +// + +#define EventEnabledAppDisconnect() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for AppDisconnect +// +#define EventWriteAppDisconnect(ProcessID) \ + EventEnabledAppDisconnect() ? Template_x(OVR_SDK_LibOVRHandle, &AppDisconnect, ProcessID) \ + : ERROR_SUCCESS + +// +// Enablement check macro for AppNoOp +// + +#define EventEnabledAppNoOp() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for AppNoOp +// +#define EventWriteAppNoOp(ProcessID) \ + EventEnabledAppNoOp() ? Template_x(OVR_SDK_LibOVRHandle, &AppNoOp, ProcessID) : ERROR_SUCCESS + +// +// Enablement check macro for PosePrediction +// + +#define EventEnabledPosePrediction() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for PosePrediction +// +#define EventWritePosePrediction( \ + OriginalPosition, \ + OriginalOrientation, \ + PredictedPosition, \ + PredictedOrientation, \ + PredictionTimeDeltaSeconds, \ + TimeInSeconds, \ + id) \ + EventEnabledPosePrediction() ? Template_G3G4G3G4ggs( \ + OVR_SDK_LibOVRHandle, \ + &PosePrediction, \ + OriginalPosition, \ + OriginalOrientation, \ + PredictedPosition, \ + PredictedOrientation, \ + PredictionTimeDeltaSeconds, \ + TimeInSeconds, \ + id) \ + : ERROR_SUCCESS + +// +// Enablement check macro for LatencyTiming +// + +#define EventEnabledLatencyTiming() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for LatencyTiming +// +#define EventWriteLatencyTiming( \ + RenderCpuBegin, \ + RenderCpuEnd, \ + RenderImu, \ + TimewarpCpu, \ + TimewarpLatched, \ + TimewarpGpuEnd, \ + PostPresent, \ + ErrorRender, \ + ErrorTimewarp) \ + EventEnabledLatencyTiming() ? Template_ggggggggg( \ + OVR_SDK_LibOVRHandle, \ + &LatencyTiming, \ + RenderCpuBegin, \ + RenderCpuEnd, \ + RenderImu, \ + TimewarpCpu, \ + TimewarpLatched, \ + TimewarpGpuEnd, \ + PostPresent, \ + ErrorRender, \ + ErrorTimewarp) \ + : ERROR_SUCCESS + +// +// Enablement check macro for EndFrameAppTiming +// + +#define EventEnabledEndFrameAppTiming() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for EndFrameAppTiming +// +#define EventWriteEndFrameAppTiming( \ + FrameIndex, \ + RenderImuTime, \ + ScanoutStartTime, \ + GpuRenderDuration, \ + BeginRenderingTime, \ + EndRenderingTime, \ + QueueAheadSeconds, \ + RenderCount) \ + EventEnabledEndFrameAppTiming() ? Template_qggggggd( \ + OVR_SDK_LibOVRHandle, \ + &EndFrameAppTiming, \ + FrameIndex, \ + RenderImuTime, \ + ScanoutStartTime, \ + GpuRenderDuration, \ + BeginRenderingTime, \ + EndRenderingTime, \ + QueueAheadSeconds, \ + RenderCount) \ + : ERROR_SUCCESS + +// +// Enablement check macro for HardwareInfo +// + +#define EventEnabledHardwareInfo() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for HardwareInfo +// +#define EventWriteHardwareInfo( \ + RequestedBits, \ + CollectedBits, \ + ImuTemp, \ + StmTemp, \ + NrfTemp, \ + VBusVoltage, \ + IAD, \ + Proximity, \ + PanelOnTime, \ + UseRolling, \ + HighBrightness, \ + DP, \ + SelfRefresh, \ + Persistence, \ + LightingOffset, \ + PixelSettle, \ + TotalRows) \ + EventEnabledHardwareInfo() ? Template_qqhhhhhhqtttthhhh( \ + OVR_SDK_LibOVRHandle, \ + &HardwareInfo, \ + RequestedBits, \ + CollectedBits, \ + ImuTemp, \ + StmTemp, \ + NrfTemp, \ + VBusVoltage, \ + IAD, \ + Proximity, \ + PanelOnTime, \ + UseRolling, \ + HighBrightness, \ + DP, \ + SelfRefresh, \ + Persistence, \ + LightingOffset, \ + PixelSettle, \ + TotalRows) \ + : ERROR_SUCCESS + +// +// Enablement check macro for VirtualDisplayPacketTrace +// + +#define EventEnabledVirtualDisplayPacketTrace() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for VirtualDisplayPacketTrace +// +#define EventWriteVirtualDisplayPacketTrace( \ + PacketType, Stage, SubmittingProcessID, ActiveProcessID) \ + EventEnabledVirtualDisplayPacketTrace() ? Template_xdxx( \ + OVR_SDK_LibOVRHandle, \ + &VirtualDisplayPacketTrace, \ + PacketType, \ + Stage, \ + SubmittingProcessID, \ + ActiveProcessID) \ + : ERROR_SUCCESS + +// +// Enablement check macro for ClientFrameMissed +// + +#define EventEnabledClientFrameMissed() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for ClientFrameMissed +// +#define EventWriteClientFrameMissed(FrameIndex, ProcessID) \ + EventEnabledClientFrameMissed() \ + ? Template_xx(OVR_SDK_LibOVRHandle, &ClientFrameMissed, FrameIndex, ProcessID) \ + : ERROR_SUCCESS + +// +// Enablement check macro for CompositionBegin +// + +#define EventEnabledCompositionBegin() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for CompositionBegin +// +#define EventWriteCompositionBegin(ExpectedCPUStartTimeInSeconds, ActualCPUStartTimeInSeconds) \ + EventEnabledCompositionBegin() ? Template_gg( \ + OVR_SDK_LibOVRHandle, \ + &CompositionBegin, \ + ExpectedCPUStartTimeInSeconds, \ + ActualCPUStartTimeInSeconds) \ + : ERROR_SUCCESS + +// +// Enablement check macro for CompositionEnd +// + +#define EventEnabledCompositionEnd() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for CompositionEnd +// +#define EventWriteCompositionEnd() \ + EventEnabledCompositionEnd() ? TemplateEventDescriptor(OVR_SDK_LibOVRHandle, &CompositionEnd) \ + : ERROR_SUCCESS + +// +// Enablement check macro for RenderPacketTrace +// + +#define EventEnabledRenderPacketTrace() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for RenderPacketTrace +// +#define EventWriteRenderPacketTrace(Stage, ClientPID) \ + EventEnabledRenderPacketTrace() \ + ? Template_qx(OVR_SDK_LibOVRHandle, &RenderPacketTrace, Stage, ClientPID) \ + : ERROR_SUCCESS + +// +// Enablement check macro for EndFrameOrigAppTiming +// + +#define EventEnabledEndFrameOrigAppTiming() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for EndFrameOrigAppTiming +// +#define EventWriteEndFrameOrigAppTiming( \ + FrameIndex, \ + RenderImuTime, \ + ScanoutStartTime, \ + GpuRenderDuration, \ + BeginRenderingTime, \ + EndRenderingTime, \ + QueueAheadSeconds, \ + RenderCount) \ + EventEnabledEndFrameOrigAppTiming() ? Template_qggggggd( \ + OVR_SDK_LibOVRHandle, \ + &EndFrameOrigAppTiming, \ + FrameIndex, \ + RenderImuTime, \ + ScanoutStartTime, \ + GpuRenderDuration, \ + BeginRenderingTime, \ + EndRenderingTime, \ + QueueAheadSeconds, \ + RenderCount) \ + : ERROR_SUCCESS + +// +// Enablement check macro for DistortionEndToEndTiming +// + +#define EventEnabledDistortionEndToEndTiming() ((OVR_SDK_LibOVREnableBits[0] & 0x00000010) != 0) + +// +// Event Macro for DistortionEndToEndTiming +// +#define EventWriteDistortionEndToEndTiming(ElapsedMs) \ + EventEnabledDistortionEndToEndTiming() \ + ? Template_g(OVR_SDK_LibOVRHandle, &DistortionEndToEndTiming, ElapsedMs) \ + : ERROR_SUCCESS + +// +// Enablement check macro for CompositionEndSpinWait +// + +#define EventEnabledCompositionEndSpinWait() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for CompositionEndSpinWait +// +#define EventWriteCompositionEndSpinWait() \ + EventEnabledCompositionEndSpinWait() \ + ? TemplateEventDescriptor(OVR_SDK_LibOVRHandle, &CompositionEndSpinWait) \ + : ERROR_SUCCESS + +// +// Enablement check macro for CompositionFlushingToGPU +// + +#define EventEnabledCompositionFlushingToGPU() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for CompositionFlushingToGPU +// +#define EventWriteCompositionFlushingToGPU() \ + EventEnabledCompositionFlushingToGPU() \ + ? TemplateEventDescriptor(OVR_SDK_LibOVRHandle, &CompositionFlushingToGPU) \ + : ERROR_SUCCESS + +// +// Enablement check macro for PhaseSyncGPUCompleted +// + +#define EventEnabledPhaseSyncGPUCompleted() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for PhaseSyncGPUCompleted +// +#define EventWritePhaseSyncGPUCompleted(AppGPUEndTimeSeconds) \ + EventEnabledPhaseSyncGPUCompleted() \ + ? Template_g(OVR_SDK_LibOVRHandle, &PhaseSyncGPUCompleted, AppGPUEndTimeSeconds) \ + : ERROR_SUCCESS + +// +// Enablement check macro for CompositionMissedCompositorFrame +// + +#define EventEnabledCompositionMissedCompositorFrame() \ + ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for CompositionMissedCompositorFrame +// +#define EventWriteCompositionMissedCompositorFrame() \ + EventEnabledCompositionMissedCompositorFrame() \ + ? TemplateEventDescriptor(OVR_SDK_LibOVRHandle, &CompositionMissedCompositorFrame) \ + : ERROR_SUCCESS + +// +// Enablement check macro for CompositionGPUStartTime +// + +#define EventEnabledCompositionGPUStartTime() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for CompositionGPUStartTime +// +#define EventWriteCompositionGPUStartTime(DistortionBeginTimeInSeconds) \ + EventEnabledCompositionGPUStartTime() \ + ? Template_g(OVR_SDK_LibOVRHandle, &CompositionGPUStartTime, DistortionBeginTimeInSeconds) \ + : ERROR_SUCCESS + +// +// Enablement check macro for NotificationBegin +// + +#define EventEnabledNotificationBegin() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for NotificationBegin +// +#define EventWriteNotificationBegin( \ + AppFrameIndex, \ + CpuBeginToGpuEndSeconds, \ + CompositeTimeSeconds, \ + VSyncTimeSeconds, \ + CompositeDeltaSeconds, \ + VSyncDeltaSeconds) \ + EventEnabledNotificationBegin() ? Template_xggggg( \ + OVR_SDK_LibOVRHandle, \ + &NotificationBegin, \ + AppFrameIndex, \ + CpuBeginToGpuEndSeconds, \ + CompositeTimeSeconds, \ + VSyncTimeSeconds, \ + CompositeDeltaSeconds, \ + VSyncDeltaSeconds) \ + : ERROR_SUCCESS + +// +// Enablement check macro for NotificationEnd +// + +#define EventEnabledNotificationEnd() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for NotificationEnd +// +#define EventWriteNotificationEnd( \ + AppFrameIndex, CpuBeginToGpuEndSeconds, CpuBeginSeconds, GpuEndSeconds, SleepTimeMilliseconds) \ + EventEnabledNotificationEnd() ? Template_xgggq( \ + OVR_SDK_LibOVRHandle, \ + &NotificationEnd, \ + AppFrameIndex, \ + CpuBeginToGpuEndSeconds, \ + CpuBeginSeconds, \ + GpuEndSeconds, \ + SleepTimeMilliseconds) \ + : ERROR_SUCCESS + +// +// Enablement check macro for NotificationCompSubmit +// + +#define EventEnabledNotificationCompSubmit() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for NotificationCompSubmit +// +#define EventWriteNotificationCompSubmit(ShouldBeVisible, DisabledLayer, FrameIndex) \ + EventEnabledNotificationCompSubmit() ? Template_ttx( \ + OVR_SDK_LibOVRHandle, \ + &NotificationCompSubmit, \ + ShouldBeVisible, \ + DisabledLayer, \ + FrameIndex) \ + : ERROR_SUCCESS + +// +// Enablement check macro for MotionEstimationCostStats +// + +#define EventEnabledMotionEstimationCostStats() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for MotionEstimationCostStats +// +#define EventWriteMotionEstimationCostStats(Count, Average, Log2Histogram) \ + EventEnabledMotionEstimationCostStats() \ + ? Template_qqQ33( \ + OVR_SDK_LibOVRHandle, &MotionEstimationCostStats, Count, Average, Log2Histogram) \ + : ERROR_SUCCESS + +// +// Enablement check macro for PhaseSyncWaitToBeginFrame +// + +#define EventEnabledPhaseSyncWaitToBeginFrame() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for PhaseSyncWaitToBeginFrame +// +#define EventWritePhaseSyncWaitToBeginFrame( \ + Frame, \ + BeginWaitTime, \ + SemaphoreMS, \ + SleepMS, \ + SpinMS, \ + EndWaitTime, \ + TargetCompletionTime, \ + TargetCompositeTime, \ + TargetVSyncTime) \ + EventEnabledPhaseSyncWaitToBeginFrame() ? Template_xgfffgggg( \ + OVR_SDK_LibOVRHandle, \ + &PhaseSyncWaitToBeginFrame, \ + Frame, \ + BeginWaitTime, \ + SemaphoreMS, \ + SleepMS, \ + SpinMS, \ + EndWaitTime, \ + TargetCompletionTime, \ + TargetCompositeTime, \ + TargetVSyncTime) \ + : ERROR_SUCCESS + +// +// Enablement check macro for PhaseSyncBeginFrame +// + +#define EventEnabledPhaseSyncBeginFrame() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for PhaseSyncBeginFrame +// +#define EventWritePhaseSyncBeginFrame(Frame, BeginFrameTime) \ + EventEnabledPhaseSyncBeginFrame() \ + ? Template_xg(OVR_SDK_LibOVRHandle, &PhaseSyncBeginFrame, Frame, BeginFrameTime) \ + : ERROR_SUCCESS + +// +// Enablement check macro for PhaseSyncEndFrame +// + +#define EventEnabledPhaseSyncEndFrame() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for PhaseSyncEndFrame +// +#define EventWritePhaseSyncEndFrame(Frame, EndFrameTime) \ + EventEnabledPhaseSyncEndFrame() \ + ? Template_xg(OVR_SDK_LibOVRHandle, &PhaseSyncEndFrame, Frame, EndFrameTime) \ + : ERROR_SUCCESS + +// +// Enablement check macro for PhaseSyncCompleteFrame +// + +#define EventEnabledPhaseSyncCompleteFrame() ((OVR_SDK_LibOVREnableBits[0] & 0x00000001) != 0) + +// +// Event Macro for PhaseSyncCompleteFrame +// +#define EventWritePhaseSyncCompleteFrame( \ + Frame, \ + CompletionTime, \ + CompositeTime, \ + VSyncTime, \ + FrameTimeMS, \ + AvgFrameTimeMS, \ + FrameTimeCpuMS, \ + AvgFrameTimeCpuMS, \ + FrameTimeGpuMS, \ + AvgFrameTimeGpuMS, \ + FrameVarianceMS, \ + AvgFrameVarianceMS, \ + QueueAheadMS, \ + AvgQueueAheadMS, \ + AdaptiveGpuPerformanceScale, \ + AvgAdaptiveGpuPerformanceScale, \ + PhaseSyncDelayMS) \ + EventEnabledPhaseSyncCompleteFrame() ? Template_xgggfffffffffffff( \ + OVR_SDK_LibOVRHandle, \ + &PhaseSyncCompleteFrame, \ + Frame, \ + CompletionTime, \ + CompositeTime, \ + VSyncTime, \ + FrameTimeMS, \ + AvgFrameTimeMS, \ + FrameTimeCpuMS, \ + AvgFrameTimeCpuMS, \ + FrameTimeGpuMS, \ + AvgFrameTimeGpuMS, \ + FrameVarianceMS, \ + AvgFrameVarianceMS, \ + QueueAheadMS, \ + AvgQueueAheadMS, \ + AdaptiveGpuPerformanceScale, \ + AvgAdaptiveGpuPerformanceScale, \ + PhaseSyncDelayMS) \ + : ERROR_SUCCESS + +#endif // MCGEN_DISABLE_PROVIDER_CODE_GENERATION + +// +// Allow Diasabling of code generation +// +#ifndef MCGEN_DISABLE_PROVIDER_CODE_GENERATION + +// +// Template Functions +// +// +// Template from manifest : FunctionWaypoint +// +#ifndef Template_zdq_def +#define Template_zdq_def +ETW_INLINE +ULONG +Template_zdq( + _In_ REGHANDLE RegHandle, + _In_ PCEVENT_DESCRIPTOR Descriptor, + _In_opt_ PCWSTR _Arg0, + _In_ const signed int _Arg1, + _In_ const unsigned int _Arg2) { +#define ARGUMENT_COUNT_zdq 3 + + EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_zdq]; + + EventDataDescCreate( + &EventData[0], + (_Arg0 != NULL) ? _Arg0 : L"NULL", + (_Arg0 != NULL) ? (ULONG)((wcslen(_Arg0) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL")); + + EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const signed int)); + + EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned int)); + + return EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_zdq, EventData); +} +#endif + +// +// Template from manifest : Distortion +// +#ifndef Template_qq_def +#define Template_qq_def +ETW_INLINE +ULONG +Template_qq( + _In_ REGHANDLE RegHandle, + _In_ PCEVENT_DESCRIPTOR Descriptor, + _In_ const unsigned int _Arg0, + _In_ const unsigned int _Arg1) { +#define ARGUMENT_COUNT_qq 2 + + EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_qq]; + + EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned int)); + + EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const unsigned int)); + + return EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_qq, EventData); +} +#endif + +// +// Template from manifest : HmdDesc_v0 +// +#ifndef Template_qlls24llqqqdd_def +#define Template_qlls24llqqqdd_def +ETW_INLINE +ULONG +Template_qlls24llqqqdd( + _In_ REGHANDLE RegHandle, + _In_ PCEVENT_DESCRIPTOR Descriptor, + _In_ const unsigned int _Arg0, + _In_ const signed short _Arg1, + _In_ const signed short _Arg2, + _In_reads_(24) LPCCH _Arg3, + _In_ const signed short _Arg4, + _In_ const signed short _Arg5, + _In_ const unsigned int _Arg6, + _In_ const unsigned int _Arg7, + _In_ const unsigned int _Arg8, + _In_ const signed int _Arg9, + _In_ const signed int _Arg10) { +#define ARGUMENT_COUNT_qlls24llqqqdd 11 + + EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_qlls24llqqqdd]; + + EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned int)); + + EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const signed short)); + + EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const signed short)); + + EventDataDescCreate(&EventData[3], _Arg3, (ULONG)(sizeof(CHAR) * 24)); + + EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const signed short)); + + EventDataDescCreate(&EventData[5], &_Arg5, sizeof(const signed short)); + + EventDataDescCreate(&EventData[6], &_Arg6, sizeof(const unsigned int)); + + EventDataDescCreate(&EventData[7], &_Arg7, sizeof(const unsigned int)); + + EventDataDescCreate(&EventData[8], &_Arg8, sizeof(const unsigned int)); + + EventDataDescCreate(&EventData[9], &_Arg9, sizeof(const signed int)); + + EventDataDescCreate(&EventData[10], &_Arg10, sizeof(const signed int)); + + return EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_qlls24llqqqdd, EventData); +} +#endif + +// +// Template from manifest : HmdDesc +// +#ifndef Template_qlls24llqqdd_def +#define Template_qlls24llqqdd_def +ETW_INLINE +ULONG +Template_qlls24llqqdd( + _In_ REGHANDLE RegHandle, + _In_ PCEVENT_DESCRIPTOR Descriptor, + _In_ const unsigned int _Arg0, + _In_ const signed short _Arg1, + _In_ const signed short _Arg2, + _In_reads_(24) LPCCH _Arg3, + _In_ const signed short _Arg4, + _In_ const signed short _Arg5, + _In_ const unsigned int _Arg6, + _In_ const unsigned int _Arg7, + _In_ const signed int _Arg8, + _In_ const signed int _Arg9) { +#define ARGUMENT_COUNT_qlls24llqqdd 10 + + EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_qlls24llqqdd]; + + EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned int)); + + EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const signed short)); + + EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const signed short)); + + EventDataDescCreate(&EventData[3], _Arg3, (ULONG)(sizeof(CHAR) * 24)); + + EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const signed short)); + + EventDataDescCreate(&EventData[5], &_Arg5, sizeof(const signed short)); + + EventDataDescCreate(&EventData[6], &_Arg6, sizeof(const unsigned int)); + + EventDataDescCreate(&EventData[7], &_Arg7, sizeof(const unsigned int)); + + EventDataDescCreate(&EventData[8], &_Arg8, sizeof(const signed int)); + + EventDataDescCreate(&EventData[9], &_Arg9, sizeof(const signed int)); + + return EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_qlls24llqqdd, EventData); +} +#endif + +// +// Template from manifest : CameraFrameData_v0 +// +#ifndef Template_fqggq_def +#define Template_fqggq_def +ETW_INLINE +ULONG +Template_fqggq( + _In_ REGHANDLE RegHandle, + _In_ PCEVENT_DESCRIPTOR Descriptor, + _In_ const float _Arg0, + _In_ const unsigned int _Arg1, + _In_ const double _Arg2, + _In_ const double _Arg3, + _In_ const unsigned int _Arg4) { +#define ARGUMENT_COUNT_fqggq 5 + + EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_fqggq]; + + EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const float)); + + EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const unsigned int)); + + EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const double)); + + EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const double)); + + EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const unsigned int)); + + return EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_fqggq, EventData); +} +#endif + +// +// Template from manifest : CameraFrameData +// +#ifndef Template_qddgg_def +#define Template_qddgg_def +ETW_INLINE +ULONG +Template_qddgg( + _In_ REGHANDLE RegHandle, + _In_ PCEVENT_DESCRIPTOR Descriptor, + _In_ const unsigned int _Arg0, + _In_ const signed int _Arg1, + _In_ const signed int _Arg2, + _In_ const double _Arg3, + _In_ const double _Arg4) { +#define ARGUMENT_COUNT_qddgg 5 + + EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_qddgg]; + + EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned int)); + + EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const signed int)); + + EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const signed int)); + + EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const double)); + + EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const double)); + + return EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_qddgg, EventData); +} +#endif + +// +// Template from manifest : CameraFrameRequest +// +#ifndef Template_xxq_def +#define Template_xxq_def +ETW_INLINE +ULONG +Template_xxq( + _In_ REGHANDLE RegHandle, + _In_ PCEVENT_DESCRIPTOR Descriptor, + _In_ unsigned __int64 _Arg0, + _In_ unsigned __int64 _Arg1, + _In_ const unsigned int _Arg2) { +#define ARGUMENT_COUNT_xxq 3 + + EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_xxq]; + + EventDataDescCreate(&EventData[0], &_Arg0, sizeof(unsigned __int64)); + + EventDataDescCreate(&EventData[1], &_Arg1, sizeof(unsigned __int64)); + + EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned int)); + + return EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_xxq, EventData); +} +#endif + +// +// Template from manifest : JSONChunk +// +#ifndef Template_zqqqqqb_def +#define Template_zqqqqqb_def +ETW_INLINE +ULONG +Template_zqqqqqb( + _In_ REGHANDLE RegHandle, + _In_ PCEVENT_DESCRIPTOR Descriptor, + _In_opt_ PCWSTR _Arg0, + _In_ const unsigned int _Arg1, + _In_ const unsigned int _Arg2, + _In_ const unsigned int _Arg3, + _In_ const unsigned int _Arg4, + _In_ const unsigned int _Arg5, + _In_reads_(_Arg4) const BYTE* _Arg6) { +#define ARGUMENT_COUNT_zqqqqqb 7 + + EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_zqqqqqb]; + + EventDataDescCreate( + &EventData[0], + (_Arg0 != NULL) ? _Arg0 : L"NULL", + (_Arg0 != NULL) ? (ULONG)((wcslen(_Arg0) + 1) * sizeof(WCHAR)) : (ULONG)sizeof(L"NULL")); + + EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const unsigned int)); + + EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned int)); + + EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned int)); + + EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const unsigned int)); + + EventDataDescCreate(&EventData[5], &_Arg5, sizeof(const unsigned int)); + + EventDataDescCreate(&EventData[6], _Arg6, (ULONG)sizeof(char) * _Arg4); + + return EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_zqqqqqb, EventData); +} +#endif + +// +// Template from manifest : Log +// +#ifndef Template_s_def +#define Template_s_def +ETW_INLINE +ULONG +Template_s(_In_ REGHANDLE RegHandle, _In_ PCEVENT_DESCRIPTOR Descriptor, _In_opt_ LPCSTR _Arg0) { +#define ARGUMENT_COUNT_s 1 + + EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_s]; + + EventDataDescCreate( + &EventData[0], + (_Arg0 != NULL) ? _Arg0 : "NULL", + (_Arg0 != NULL) ? (ULONG)((strlen(_Arg0) + 1) * sizeof(CHAR)) : (ULONG)sizeof("NULL")); + + return EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_s, EventData); +} +#endif + +// +// Template from manifest : HmdTrackingState +// +#ifndef Template_gF4F3F3F3F4F3q_def +#define Template_gF4F3F3F3F4F3q_def +ETW_INLINE +ULONG +Template_gF4F3F3F3F4F3q( + _In_ REGHANDLE RegHandle, + _In_ PCEVENT_DESCRIPTOR Descriptor, + _In_ const double _Arg0, + _In_reads_(4) const float* _Arg1, + _In_reads_(3) const float* _Arg2, + _In_reads_(3) const float* _Arg3, + _In_reads_(3) const float* _Arg4, + _In_reads_(4) const float* _Arg5, + _In_reads_(3) const float* _Arg6, + _In_ const unsigned int _Arg7) { +#define ARGUMENT_COUNT_gF4F3F3F3F4F3q 8 + + EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_gF4F3F3F3F4F3q]; + + EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const double)); + + EventDataDescCreate(&EventData[1], _Arg1, sizeof(const float) * 4); + + EventDataDescCreate(&EventData[2], _Arg2, sizeof(const float) * 3); + + EventDataDescCreate(&EventData[3], _Arg3, sizeof(const float) * 3); + + EventDataDescCreate(&EventData[4], _Arg4, sizeof(const float) * 3); + + EventDataDescCreate(&EventData[5], _Arg5, sizeof(const float) * 4); + + EventDataDescCreate(&EventData[6], _Arg6, sizeof(const float) * 3); + + EventDataDescCreate(&EventData[7], &_Arg7, sizeof(const unsigned int)); + + return EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_gF4F3F3F3F4F3q, EventData); +} +#endif + +// +// Template from manifest : CameraBlobs_v0 +// +#ifndef Template_qGR0GR0DR0_def +#define Template_qGR0GR0DR0_def +ETW_INLINE +ULONG +Template_qGR0GR0DR0( + _In_ REGHANDLE RegHandle, + _In_ PCEVENT_DESCRIPTOR Descriptor, + _In_ const unsigned int _Arg0, + _In_reads_(_Arg0) const double* _Arg1, + _In_reads_(_Arg0) const double* _Arg2, + _In_reads_(_Arg0) const signed int* _Arg3) { +#define ARGUMENT_COUNT_qGR0GR0DR0 4 + + EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_qGR0GR0DR0]; + + EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned int)); + + EventDataDescCreate(&EventData[1], _Arg1, sizeof(const double) * _Arg0); + + EventDataDescCreate(&EventData[2], _Arg2, sizeof(const double) * _Arg0); + + EventDataDescCreate(&EventData[3], _Arg3, sizeof(const signed int) * _Arg0); + + return EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_qGR0GR0DR0, EventData); +} +#endif + +// +// Template from manifest : CameraBlobs +// +#ifndef Template_qdgddqGR5GR5DR5_def +#define Template_qdgddqGR5GR5DR5_def +ETW_INLINE +ULONG +Template_qdgddqGR5GR5DR5( + _In_ REGHANDLE RegHandle, + _In_ PCEVENT_DESCRIPTOR Descriptor, + _In_ const unsigned int _Arg0, + _In_ const signed int _Arg1, + _In_ const double _Arg2, + _In_ const signed int _Arg3, + _In_ const signed int _Arg4, + _In_ const unsigned int _Arg5, + _In_reads_(_Arg5) const double* _Arg6, + _In_reads_(_Arg5) const double* _Arg7, + _In_reads_(_Arg5) const signed int* _Arg8) { +#define ARGUMENT_COUNT_qdgddqGR5GR5DR5 9 + + EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_qdgddqGR5GR5DR5]; + + EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned int)); + + EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const signed int)); + + EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const double)); + + EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const signed int)); + + EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const signed int)); + + EventDataDescCreate(&EventData[5], &_Arg5, sizeof(const unsigned int)); + + EventDataDescCreate(&EventData[6], _Arg6, sizeof(const double) * _Arg5); + + EventDataDescCreate(&EventData[7], _Arg7, sizeof(const double) * _Arg5); + + EventDataDescCreate(&EventData[8], _Arg8, sizeof(const signed int) * _Arg5); + + return EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_qdgddqGR5GR5DR5, EventData); +} +#endif + +// +// Template from manifest : PoseLLCPUWrite +// +#ifndef Template_qdfffffF3F3F4F4_def +#define Template_qdfffffF3F3F4F4_def +ETW_INLINE +ULONG +Template_qdfffffF3F3F4F4( + _In_ REGHANDLE RegHandle, + _In_ PCEVENT_DESCRIPTOR Descriptor, + _In_ const unsigned int _Arg0, + _In_ const signed int _Arg1, + _In_ const float _Arg2, + _In_ const float _Arg3, + _In_ const float _Arg4, + _In_ const float _Arg5, + _In_ const float _Arg6, + _In_reads_(3) const float* _Arg7, + _In_reads_(3) const float* _Arg8, + _In_reads_(4) const float* _Arg9, + _In_reads_(4) const float* _Arg10) { +#define ARGUMENT_COUNT_qdfffffF3F3F4F4 11 + + EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_qdfffffF3F3F4F4]; + + EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned int)); + + EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const signed int)); + + EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const float)); + + EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const float)); + + EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const float)); + + EventDataDescCreate(&EventData[5], &_Arg5, sizeof(const float)); + + EventDataDescCreate(&EventData[6], &_Arg6, sizeof(const float)); + + EventDataDescCreate(&EventData[7], _Arg7, sizeof(const float) * 3); + + EventDataDescCreate(&EventData[8], _Arg8, sizeof(const float) * 3); + + EventDataDescCreate(&EventData[9], _Arg9, sizeof(const float) * 4); + + EventDataDescCreate(&EventData[10], _Arg10, sizeof(const float) * 4); + + return EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_qdfffffF3F3F4F4, EventData); +} +#endif + +// +// Template from manifest : PoseLLGPUReadback +// +#ifndef Template_qdfffff_def +#define Template_qdfffff_def +ETW_INLINE +ULONG +Template_qdfffff( + _In_ REGHANDLE RegHandle, + _In_ PCEVENT_DESCRIPTOR Descriptor, + _In_ const unsigned int _Arg0, + _In_ const signed int _Arg1, + _In_ const float _Arg2, + _In_ const float _Arg3, + _In_ const float _Arg4, + _In_ const float _Arg5, + _In_ const float _Arg6) { +#define ARGUMENT_COUNT_qdfffff 7 + + EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_qdfffff]; + + EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned int)); + + EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const signed int)); + + EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const float)); + + EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const float)); + + EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const float)); + + EventDataDescCreate(&EventData[5], &_Arg5, sizeof(const float)); + + EventDataDescCreate(&EventData[6], &_Arg6, sizeof(const float)); + + return EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_qdfffff, EventData); +} +#endif + +// +// Template from manifest : QueueAhead +// +#ifndef Template_f_def +#define Template_f_def +ETW_INLINE +ULONG +Template_f(_In_ REGHANDLE RegHandle, _In_ PCEVENT_DESCRIPTOR Descriptor, _In_ const float _Arg0) { +#define ARGUMENT_COUNT_f 1 + + EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_f]; + + EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const float)); + + return EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_f, EventData); +} +#endif + +// +// Template from manifest : HmdDisplay +// +#ifndef Template_tqhhsssddddddxqt_def +#define Template_tqhhsssddddddxqt_def +ETW_INLINE +ULONG +Template_tqhhsssddddddxqt( + _In_ REGHANDLE RegHandle, + _In_ PCEVENT_DESCRIPTOR Descriptor, + _In_ const BOOL _Arg0, + _In_ const unsigned int _Arg1, + _In_ const unsigned short _Arg2, + _In_ const unsigned short _Arg3, + _In_opt_ LPCSTR _Arg4, + _In_opt_ LPCSTR _Arg5, + _In_opt_ LPCSTR _Arg6, + _In_ const signed int _Arg7, + _In_ const signed int _Arg8, + _In_ const signed int _Arg9, + _In_ const signed int _Arg10, + _In_ const signed int _Arg11, + _In_ const signed int _Arg12, + _In_ unsigned __int64 _Arg13, + _In_ const unsigned int _Arg14, + _In_ const BOOL _Arg15) { +#define ARGUMENT_COUNT_tqhhsssddddddxqt 16 + + EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_tqhhsssddddddxqt]; + + EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const BOOL)); + + EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const unsigned int)); + + EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned short)); + + EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned short)); + + EventDataDescCreate( + &EventData[4], + (_Arg4 != NULL) ? _Arg4 : "NULL", + (_Arg4 != NULL) ? (ULONG)((strlen(_Arg4) + 1) * sizeof(CHAR)) : (ULONG)sizeof("NULL")); + + EventDataDescCreate( + &EventData[5], + (_Arg5 != NULL) ? _Arg5 : "NULL", + (_Arg5 != NULL) ? (ULONG)((strlen(_Arg5) + 1) * sizeof(CHAR)) : (ULONG)sizeof("NULL")); + + EventDataDescCreate( + &EventData[6], + (_Arg6 != NULL) ? _Arg6 : "NULL", + (_Arg6 != NULL) ? (ULONG)((strlen(_Arg6) + 1) * sizeof(CHAR)) : (ULONG)sizeof("NULL")); + + EventDataDescCreate(&EventData[7], &_Arg7, sizeof(const signed int)); + + EventDataDescCreate(&EventData[8], &_Arg8, sizeof(const signed int)); + + EventDataDescCreate(&EventData[9], &_Arg9, sizeof(const signed int)); + + EventDataDescCreate(&EventData[10], &_Arg10, sizeof(const signed int)); + + EventDataDescCreate(&EventData[11], &_Arg11, sizeof(const signed int)); + + EventDataDescCreate(&EventData[12], &_Arg12, sizeof(const signed int)); + + EventDataDescCreate(&EventData[13], &_Arg13, sizeof(unsigned __int64)); + + EventDataDescCreate(&EventData[14], &_Arg14, sizeof(const unsigned int)); + + EventDataDescCreate(&EventData[15], &_Arg15, sizeof(const BOOL)); + + return EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_tqhhsssddddddxqt, EventData); +} +#endif + +// +// Template from manifest : PhaseSyncBegin +// +#ifndef Template_ggfffffgggg_def +#define Template_ggfffffgggg_def +ETW_INLINE +ULONG +Template_ggfffffgggg( + _In_ REGHANDLE RegHandle, + _In_ PCEVENT_DESCRIPTOR Descriptor, + _In_ const double _Arg0, + _In_ const double _Arg1, + _In_ const float _Arg2, + _In_ const float _Arg3, + _In_ const float _Arg4, + _In_ const float _Arg5, + _In_ const float _Arg6, + _In_ const double _Arg7, + _In_ const double _Arg8, + _In_ const double _Arg9, + _In_ const double _Arg10) { +#define ARGUMENT_COUNT_ggfffffgggg 11 + + EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_ggfffffgggg]; + + EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const double)); + + EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const double)); + + EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const float)); + + EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const float)); + + EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const float)); + + EventDataDescCreate(&EventData[5], &_Arg5, sizeof(const float)); + + EventDataDescCreate(&EventData[6], &_Arg6, sizeof(const float)); + + EventDataDescCreate(&EventData[7], &_Arg7, sizeof(const double)); + + EventDataDescCreate(&EventData[8], &_Arg8, sizeof(const double)); + + EventDataDescCreate(&EventData[9], &_Arg9, sizeof(const double)); + + EventDataDescCreate(&EventData[10], &_Arg10, sizeof(const double)); + + return EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_ggfffffgggg, EventData); +} +#endif + +// +// Template from manifest : PhaseSyncEnd +// +#ifndef Template_gggggffffqffffffqf_def +#define Template_gggggffffqffffffqf_def +ETW_INLINE +ULONG +Template_gggggffffqffffffqf( + _In_ REGHANDLE RegHandle, + _In_ PCEVENT_DESCRIPTOR Descriptor, + _In_ const double _Arg0, + _In_ const double _Arg1, + _In_ const double _Arg2, + _In_ const double _Arg3, + _In_ const double _Arg4, + _In_ const float _Arg5, + _In_ const float _Arg6, + _In_ const float _Arg7, + _In_ const float _Arg8, + _In_ const unsigned int _Arg9, + _In_ const float _Arg10, + _In_ const float _Arg11, + _In_ const float _Arg12, + _In_ const float _Arg13, + _In_ const float _Arg14, + _In_ const float _Arg15, + _In_ const unsigned int _Arg16, + _In_ const float _Arg17) { +#define ARGUMENT_COUNT_gggggffffqffffffqf 18 + + EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_gggggffffqffffffqf]; + + EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const double)); + + EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const double)); + + EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const double)); + + EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const double)); + + EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const double)); + + EventDataDescCreate(&EventData[5], &_Arg5, sizeof(const float)); + + EventDataDescCreate(&EventData[6], &_Arg6, sizeof(const float)); + + EventDataDescCreate(&EventData[7], &_Arg7, sizeof(const float)); + + EventDataDescCreate(&EventData[8], &_Arg8, sizeof(const float)); + + EventDataDescCreate(&EventData[9], &_Arg9, sizeof(const unsigned int)); + + EventDataDescCreate(&EventData[10], &_Arg10, sizeof(const float)); + + EventDataDescCreate(&EventData[11], &_Arg11, sizeof(const float)); + + EventDataDescCreate(&EventData[12], &_Arg12, sizeof(const float)); + + EventDataDescCreate(&EventData[13], &_Arg13, sizeof(const float)); + + EventDataDescCreate(&EventData[14], &_Arg14, sizeof(const float)); + + EventDataDescCreate(&EventData[15], &_Arg15, sizeof(const float)); + + EventDataDescCreate(&EventData[16], &_Arg16, sizeof(const unsigned int)); + + EventDataDescCreate(&EventData[17], &_Arg17, sizeof(const float)); + + return EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_gggggffffqffffffqf, EventData); +} +#endif + +// +// Template from manifest : RecordedVSync +// +#ifndef Template_gqg_def +#define Template_gqg_def +ETW_INLINE +ULONG +Template_gqg( + _In_ REGHANDLE RegHandle, + _In_ PCEVENT_DESCRIPTOR Descriptor, + _In_ const double _Arg0, + _In_ const unsigned int _Arg1, + _In_ const double _Arg2) { +#define ARGUMENT_COUNT_gqg 3 + + EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_gqg]; + + EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const double)); + + EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const unsigned int)); + + EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const double)); + + return EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_gqg, EventData); +} +#endif + +// +// Template from manifest : AppEvent +// +#ifndef Template_x_def +#define Template_x_def +ETW_INLINE +ULONG +Template_x( + _In_ REGHANDLE RegHandle, + _In_ PCEVENT_DESCRIPTOR Descriptor, + _In_ unsigned __int64 _Arg0) { +#define ARGUMENT_COUNT_x 1 + + EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_x]; + + EventDataDescCreate(&EventData[0], &_Arg0, sizeof(unsigned __int64)); + + return EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_x, EventData); +} +#endif + +// +// Template from manifest : PosePrediction +// +#ifndef Template_G3G4G3G4ggs_def +#define Template_G3G4G3G4ggs_def +ETW_INLINE +ULONG +Template_G3G4G3G4ggs( + _In_ REGHANDLE RegHandle, + _In_ PCEVENT_DESCRIPTOR Descriptor, + _In_reads_(3) const double* _Arg0, + _In_reads_(4) const double* _Arg1, + _In_reads_(3) const double* _Arg2, + _In_reads_(4) const double* _Arg3, + _In_ const double _Arg4, + _In_ const double _Arg5, + _In_opt_ LPCSTR _Arg6) { +#define ARGUMENT_COUNT_G3G4G3G4ggs 7 + + EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_G3G4G3G4ggs]; + + EventDataDescCreate(&EventData[0], _Arg0, sizeof(const double) * 3); + + EventDataDescCreate(&EventData[1], _Arg1, sizeof(const double) * 4); + + EventDataDescCreate(&EventData[2], _Arg2, sizeof(const double) * 3); + + EventDataDescCreate(&EventData[3], _Arg3, sizeof(const double) * 4); + + EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const double)); + + EventDataDescCreate(&EventData[5], &_Arg5, sizeof(const double)); + + EventDataDescCreate( + &EventData[6], + (_Arg6 != NULL) ? _Arg6 : "NULL", + (_Arg6 != NULL) ? (ULONG)((strlen(_Arg6) + 1) * sizeof(CHAR)) : (ULONG)sizeof("NULL")); + + return EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_G3G4G3G4ggs, EventData); +} +#endif + +// +// Template from manifest : LatencyTiming +// +#ifndef Template_ggggggggg_def +#define Template_ggggggggg_def +ETW_INLINE +ULONG +Template_ggggggggg( + _In_ REGHANDLE RegHandle, + _In_ PCEVENT_DESCRIPTOR Descriptor, + _In_ const double _Arg0, + _In_ const double _Arg1, + _In_ const double _Arg2, + _In_ const double _Arg3, + _In_ const double _Arg4, + _In_ const double _Arg5, + _In_ const double _Arg6, + _In_ const double _Arg7, + _In_ const double _Arg8) { +#define ARGUMENT_COUNT_ggggggggg 9 + + EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_ggggggggg]; + + EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const double)); + + EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const double)); + + EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const double)); + + EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const double)); + + EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const double)); + + EventDataDescCreate(&EventData[5], &_Arg5, sizeof(const double)); + + EventDataDescCreate(&EventData[6], &_Arg6, sizeof(const double)); + + EventDataDescCreate(&EventData[7], &_Arg7, sizeof(const double)); + + EventDataDescCreate(&EventData[8], &_Arg8, sizeof(const double)); + + return EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_ggggggggg, EventData); +} +#endif + +// +// Template from manifest : EndFrameAppTiming +// +#ifndef Template_qggggggd_def +#define Template_qggggggd_def +ETW_INLINE +ULONG +Template_qggggggd( + _In_ REGHANDLE RegHandle, + _In_ PCEVENT_DESCRIPTOR Descriptor, + _In_ const unsigned int _Arg0, + _In_ const double _Arg1, + _In_ const double _Arg2, + _In_ const double _Arg3, + _In_ const double _Arg4, + _In_ const double _Arg5, + _In_ const double _Arg6, + _In_ const signed int _Arg7) { +#define ARGUMENT_COUNT_qggggggd 8 + + EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_qggggggd]; + + EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned int)); + + EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const double)); + + EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const double)); + + EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const double)); + + EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const double)); + + EventDataDescCreate(&EventData[5], &_Arg5, sizeof(const double)); + + EventDataDescCreate(&EventData[6], &_Arg6, sizeof(const double)); + + EventDataDescCreate(&EventData[7], &_Arg7, sizeof(const signed int)); + + return EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_qggggggd, EventData); +} +#endif + +// +// Template from manifest : HardwareInfoTemplate +// +#ifndef Template_qqhhhhhhqtttthhhh_def +#define Template_qqhhhhhhqtttthhhh_def +ETW_INLINE +ULONG +Template_qqhhhhhhqtttthhhh( + _In_ REGHANDLE RegHandle, + _In_ PCEVENT_DESCRIPTOR Descriptor, + _In_ const unsigned int _Arg0, + _In_ const unsigned int _Arg1, + _In_ const unsigned short _Arg2, + _In_ const unsigned short _Arg3, + _In_ const unsigned short _Arg4, + _In_ const unsigned short _Arg5, + _In_ const unsigned short _Arg6, + _In_ const unsigned short _Arg7, + _In_ const unsigned int _Arg8, + _In_ const BOOL _Arg9, + _In_ const BOOL _Arg10, + _In_ const BOOL _Arg11, + _In_ const BOOL _Arg12, + _In_ const unsigned short _Arg13, + _In_ const unsigned short _Arg14, + _In_ const unsigned short _Arg15, + _In_ const unsigned short _Arg16) { +#define ARGUMENT_COUNT_qqhhhhhhqtttthhhh 17 + + EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_qqhhhhhhqtttthhhh]; + + EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned int)); + + EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const unsigned int)); + + EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const unsigned short)); + + EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const unsigned short)); + + EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const unsigned short)); + + EventDataDescCreate(&EventData[5], &_Arg5, sizeof(const unsigned short)); + + EventDataDescCreate(&EventData[6], &_Arg6, sizeof(const unsigned short)); + + EventDataDescCreate(&EventData[7], &_Arg7, sizeof(const unsigned short)); + + EventDataDescCreate(&EventData[8], &_Arg8, sizeof(const unsigned int)); + + EventDataDescCreate(&EventData[9], &_Arg9, sizeof(const BOOL)); + + EventDataDescCreate(&EventData[10], &_Arg10, sizeof(const BOOL)); + + EventDataDescCreate(&EventData[11], &_Arg11, sizeof(const BOOL)); + + EventDataDescCreate(&EventData[12], &_Arg12, sizeof(const BOOL)); + + EventDataDescCreate(&EventData[13], &_Arg13, sizeof(const unsigned short)); + + EventDataDescCreate(&EventData[14], &_Arg14, sizeof(const unsigned short)); + + EventDataDescCreate(&EventData[15], &_Arg15, sizeof(const unsigned short)); + + EventDataDescCreate(&EventData[16], &_Arg16, sizeof(const unsigned short)); + + return EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_qqhhhhhhqtttthhhh, EventData); +} +#endif + +// +// Template from manifest : VirtualDisplayPacketTemplate +// +#ifndef Template_xdxx_def +#define Template_xdxx_def +ETW_INLINE +ULONG +Template_xdxx( + _In_ REGHANDLE RegHandle, + _In_ PCEVENT_DESCRIPTOR Descriptor, + _In_ unsigned __int64 _Arg0, + _In_ const signed int _Arg1, + _In_ unsigned __int64 _Arg2, + _In_ unsigned __int64 _Arg3) { +#define ARGUMENT_COUNT_xdxx 4 + + EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_xdxx]; + + EventDataDescCreate(&EventData[0], &_Arg0, sizeof(unsigned __int64)); + + EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const signed int)); + + EventDataDescCreate(&EventData[2], &_Arg2, sizeof(unsigned __int64)); + + EventDataDescCreate(&EventData[3], &_Arg3, sizeof(unsigned __int64)); + + return EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_xdxx, EventData); +} +#endif + +// +// Template from manifest : ClientMissedFrame +// +#ifndef Template_xx_def +#define Template_xx_def +ETW_INLINE +ULONG +Template_xx( + _In_ REGHANDLE RegHandle, + _In_ PCEVENT_DESCRIPTOR Descriptor, + _In_ unsigned __int64 _Arg0, + _In_ unsigned __int64 _Arg1) { +#define ARGUMENT_COUNT_xx 2 + + EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_xx]; + + EventDataDescCreate(&EventData[0], &_Arg0, sizeof(unsigned __int64)); + + EventDataDescCreate(&EventData[1], &_Arg1, sizeof(unsigned __int64)); + + return EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_xx, EventData); +} +#endif + +// +// Template from manifest : CompositionBegin +// +#ifndef Template_gg_def +#define Template_gg_def +ETW_INLINE +ULONG +Template_gg( + _In_ REGHANDLE RegHandle, + _In_ PCEVENT_DESCRIPTOR Descriptor, + _In_ const double _Arg0, + _In_ const double _Arg1) { +#define ARGUMENT_COUNT_gg 2 + + EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_gg]; + + EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const double)); + + EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const double)); + + return EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_gg, EventData); +} +#endif + +// +// Template from manifest : (null) +// +#ifndef TemplateEventDescriptor_def +#define TemplateEventDescriptor_def + +ETW_INLINE +ULONG +TemplateEventDescriptor(_In_ REGHANDLE RegHandle, _In_ PCEVENT_DESCRIPTOR Descriptor) { + return EventWrite(RegHandle, Descriptor, 0, NULL); +} +#endif + +// +// Template from manifest : RenderPacketTemplate +// +#ifndef Template_qx_def +#define Template_qx_def +ETW_INLINE +ULONG +Template_qx( + _In_ REGHANDLE RegHandle, + _In_ PCEVENT_DESCRIPTOR Descriptor, + _In_ const unsigned int _Arg0, + _In_ unsigned __int64 _Arg1) { +#define ARGUMENT_COUNT_qx 2 + + EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_qx]; + + EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned int)); + + EventDataDescCreate(&EventData[1], &_Arg1, sizeof(unsigned __int64)); + + return EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_qx, EventData); +} +#endif + +// +// Template from manifest : DistortionEndToEndTiming +// +#ifndef Template_g_def +#define Template_g_def +ETW_INLINE +ULONG +Template_g(_In_ REGHANDLE RegHandle, _In_ PCEVENT_DESCRIPTOR Descriptor, _In_ const double _Arg0) { +#define ARGUMENT_COUNT_g 1 + + EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_g]; + + EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const double)); + + return EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_g, EventData); +} +#endif + +// +// Template from manifest : NotificationBegin +// +#ifndef Template_xggggg_def +#define Template_xggggg_def +ETW_INLINE +ULONG +Template_xggggg( + _In_ REGHANDLE RegHandle, + _In_ PCEVENT_DESCRIPTOR Descriptor, + _In_ unsigned __int64 _Arg0, + _In_ const double _Arg1, + _In_ const double _Arg2, + _In_ const double _Arg3, + _In_ const double _Arg4, + _In_ const double _Arg5) { +#define ARGUMENT_COUNT_xggggg 6 + + EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_xggggg]; + + EventDataDescCreate(&EventData[0], &_Arg0, sizeof(unsigned __int64)); + + EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const double)); + + EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const double)); + + EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const double)); + + EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const double)); + + EventDataDescCreate(&EventData[5], &_Arg5, sizeof(const double)); + + return EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_xggggg, EventData); +} +#endif + +// +// Template from manifest : NotificationEnd +// +#ifndef Template_xgggq_def +#define Template_xgggq_def +ETW_INLINE +ULONG +Template_xgggq( + _In_ REGHANDLE RegHandle, + _In_ PCEVENT_DESCRIPTOR Descriptor, + _In_ unsigned __int64 _Arg0, + _In_ const double _Arg1, + _In_ const double _Arg2, + _In_ const double _Arg3, + _In_ const unsigned int _Arg4) { +#define ARGUMENT_COUNT_xgggq 5 + + EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_xgggq]; + + EventDataDescCreate(&EventData[0], &_Arg0, sizeof(unsigned __int64)); + + EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const double)); + + EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const double)); + + EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const double)); + + EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const unsigned int)); + + return EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_xgggq, EventData); +} +#endif + +// +// Template from manifest : NotificationCompSubmit +// +#ifndef Template_ttx_def +#define Template_ttx_def +ETW_INLINE +ULONG +Template_ttx( + _In_ REGHANDLE RegHandle, + _In_ PCEVENT_DESCRIPTOR Descriptor, + _In_ const BOOL _Arg0, + _In_ const BOOL _Arg1, + _In_ unsigned __int64 _Arg2) { +#define ARGUMENT_COUNT_ttx 3 + + EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_ttx]; + + EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const BOOL)); + + EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const BOOL)); + + EventDataDescCreate(&EventData[2], &_Arg2, sizeof(unsigned __int64)); + + return EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_ttx, EventData); +} +#endif + +// +// Template from manifest : MotionEstimationCostStats +// +#ifndef Template_qqQ33_def +#define Template_qqQ33_def +ETW_INLINE +ULONG +Template_qqQ33( + _In_ REGHANDLE RegHandle, + _In_ PCEVENT_DESCRIPTOR Descriptor, + _In_ const unsigned int _Arg0, + _In_ const unsigned int _Arg1, + _In_reads_(33) const unsigned int* _Arg2) { +#define ARGUMENT_COUNT_qqQ33 3 + + EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_qqQ33]; + + EventDataDescCreate(&EventData[0], &_Arg0, sizeof(const unsigned int)); + + EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const unsigned int)); + + EventDataDescCreate(&EventData[2], _Arg2, sizeof(const unsigned int) * 33); + + return EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_qqQ33, EventData); +} +#endif + +// +// Template from manifest : PhaseSyncWaitToBeginFrame +// +#ifndef Template_xgfffgggg_def +#define Template_xgfffgggg_def +ETW_INLINE +ULONG +Template_xgfffgggg( + _In_ REGHANDLE RegHandle, + _In_ PCEVENT_DESCRIPTOR Descriptor, + _In_ unsigned __int64 _Arg0, + _In_ const double _Arg1, + _In_ const float _Arg2, + _In_ const float _Arg3, + _In_ const float _Arg4, + _In_ const double _Arg5, + _In_ const double _Arg6, + _In_ const double _Arg7, + _In_ const double _Arg8) { +#define ARGUMENT_COUNT_xgfffgggg 9 + + EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_xgfffgggg]; + + EventDataDescCreate(&EventData[0], &_Arg0, sizeof(unsigned __int64)); + + EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const double)); + + EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const float)); + + EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const float)); + + EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const float)); + + EventDataDescCreate(&EventData[5], &_Arg5, sizeof(const double)); + + EventDataDescCreate(&EventData[6], &_Arg6, sizeof(const double)); + + EventDataDescCreate(&EventData[7], &_Arg7, sizeof(const double)); + + EventDataDescCreate(&EventData[8], &_Arg8, sizeof(const double)); + + return EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_xgfffgggg, EventData); +} +#endif + +// +// Template from manifest : PhaseSyncBeginFrame +// +#ifndef Template_xg_def +#define Template_xg_def +ETW_INLINE +ULONG +Template_xg( + _In_ REGHANDLE RegHandle, + _In_ PCEVENT_DESCRIPTOR Descriptor, + _In_ unsigned __int64 _Arg0, + _In_ const double _Arg1) { +#define ARGUMENT_COUNT_xg 2 + + EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_xg]; + + EventDataDescCreate(&EventData[0], &_Arg0, sizeof(unsigned __int64)); + + EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const double)); + + return EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_xg, EventData); +} +#endif + +// +// Template from manifest : PhaseSyncCompleteFrame +// +#ifndef Template_xgggfffffffffffff_def +#define Template_xgggfffffffffffff_def +ETW_INLINE +ULONG +Template_xgggfffffffffffff( + _In_ REGHANDLE RegHandle, + _In_ PCEVENT_DESCRIPTOR Descriptor, + _In_ unsigned __int64 _Arg0, + _In_ const double _Arg1, + _In_ const double _Arg2, + _In_ const double _Arg3, + _In_ const float _Arg4, + _In_ const float _Arg5, + _In_ const float _Arg6, + _In_ const float _Arg7, + _In_ const float _Arg8, + _In_ const float _Arg9, + _In_ const float _Arg10, + _In_ const float _Arg11, + _In_ const float _Arg12, + _In_ const float _Arg13, + _In_ const float _Arg14, + _In_ const float _Arg15, + _In_ const float _Arg16) { +#define ARGUMENT_COUNT_xgggfffffffffffff 17 + + EVENT_DATA_DESCRIPTOR EventData[ARGUMENT_COUNT_xgggfffffffffffff]; + + EventDataDescCreate(&EventData[0], &_Arg0, sizeof(unsigned __int64)); + + EventDataDescCreate(&EventData[1], &_Arg1, sizeof(const double)); + + EventDataDescCreate(&EventData[2], &_Arg2, sizeof(const double)); + + EventDataDescCreate(&EventData[3], &_Arg3, sizeof(const double)); + + EventDataDescCreate(&EventData[4], &_Arg4, sizeof(const float)); + + EventDataDescCreate(&EventData[5], &_Arg5, sizeof(const float)); + + EventDataDescCreate(&EventData[6], &_Arg6, sizeof(const float)); + + EventDataDescCreate(&EventData[7], &_Arg7, sizeof(const float)); + + EventDataDescCreate(&EventData[8], &_Arg8, sizeof(const float)); + + EventDataDescCreate(&EventData[9], &_Arg9, sizeof(const float)); + + EventDataDescCreate(&EventData[10], &_Arg10, sizeof(const float)); + + EventDataDescCreate(&EventData[11], &_Arg11, sizeof(const float)); + + EventDataDescCreate(&EventData[12], &_Arg12, sizeof(const float)); + + EventDataDescCreate(&EventData[13], &_Arg13, sizeof(const float)); + + EventDataDescCreate(&EventData[14], &_Arg14, sizeof(const float)); + + EventDataDescCreate(&EventData[15], &_Arg15, sizeof(const float)); + + EventDataDescCreate(&EventData[16], &_Arg16, sizeof(const float)); + + return EventWrite(RegHandle, Descriptor, ARGUMENT_COUNT_xgggfffffffffffff, EventData); +} +#endif + +#endif // MCGEN_DISABLE_PROVIDER_CODE_GENERATION + +#if defined(__cplusplus) +}; +#endif + +#define MSG_OVR_SDK_LibOVR_opcode_FN_CALL_message 0x3000000AL +#define MSG_OVR_SDK_LibOVR_opcode_FN_RETURN_message 0x3000000BL +#define MSG_OVR_SDK_LibOVR_opcode_FN_WAYPOINT_message 0x3000000CL +#define MSG_OVR_SDK_LibOVR_opcode_DIS_BEGIN_message 0x3000000DL +#define MSG_OVR_SDK_LibOVR_opcode_DIS_WAITGPU_message 0x3000000EL +#define MSG_OVR_SDK_LibOVR_opcode_DIS_PRESENT_message 0x3000000FL +#define MSG_OVR_SDK_LibOVR_opcode_DIS_END_message 0x30000010L +#define MSG_OVR_SDK_LibOVR_opcode_HMD_DESC_message 0x30000011L +#define MSG_OVR_SDK_LibOVR_opcode_CAM_RECEIVE_message 0x30000012L +#define MSG_OVR_SDK_LibOVR_opcode_CAM_REQUEST_message 0x30000013L +#define MSG_level_LogAlways 0x50000000L +#define MSG_level_Error 0x50000002L +#define MSG_level_Informational 0x50000004L +#define MSG_level_Verbose 0x50000005L +#define MSG_OVR_SDK_LibOVR_task_FN_TRACE_message 0x70000001L +#define MSG_OVR_SDK_LibOVR_task_DIS_TRACE_message 0x70000002L +#define MSG_OVR_SDK_LibOVR_task_HMD_TRACE_message 0x70000003L +#define MSG_OVR_SDK_LibOVR_task_CAMERA_TRACE_message 0x70000004L +#define MSG_OVR_SDK_LibOVR_task_LOG_TRACE_message 0x70000005L +#define MSG_OVR_SDK_LibOVR_task_SUBMITFRAME_TRACE_message 0x70000006L +#define MSG_OVR_SDK_LibOVR_task_PHASESYNC_TRACE_message 0x70000007L +#define MSG_OVR_SDK_LibOVR_task_SENSOR_TRACE_message 0x70000008L +#define MSG_OVR_SDK_LibOVR_task_VIRTUALDISPLAY_TRACE_message 0x70000009L +#define MSG_OVR_SDK_LibOVR_task_Compositor_RunLoop_message 0x7000000AL +#define MSG_OVR_SDK_LibOVR_task_NOTIFICATION_TRACE_message 0x7000000BL +#define MSG_OVR_SDK_LibOVR_event_0_message 0xB0000000L +#define MSG_OVR_SDK_LibOVR_event_1_message 0xB0000001L +#define MSG_OVR_SDK_LibOVR_event_2_message 0xB0000002L +#define MSG_OVR_SDK_LibOVR_event_4_message 0xB0000004L +#define MSG_OVR_SDK_LibOVR_event_5_message 0xB0000005L +#define MSG_OVR_SDK_LibOVR_event_6_message 0xB0000006L +#define MSG_OVR_SDK_LibOVR_event_7_message 0xB0000007L +#define MSG_OVR_SDK_LibOVR_event_8_message 0xB0000008L +#define MSG_OVR_SDK_LibOVR_event_9_message 0xB0000009L +#define MSG_OVR_SDK_LibOVR_event_10_message 0xB000000AL +#define MSG_OVR_SDK_LibOVR_event_11_message 0xB000000BL +#define MSG_OVR_SDK_LibOVR_event_12_message 0xB000000CL +#define MSG_OVR_SDK_LibOVR_event_13_message 0xB000000DL +#define MSG_OVR_SDK_LibOVR_event_14_message 0xB000000EL +#define MSG_OVR_SDK_LibOVR_event_15_message 0xB000000FL +#define MSG_OVR_SDK_LibOVR_event_16_message 0xB0000010L +#define MSG_OVR_SDK_LibOVR_event_17_message 0xB0000011L +#define MSG_OVR_SDK_LibOVR_event_18_message 0xB0000012L +#define MSG_OVR_SDK_LibOVR_event_19_message 0xB0000013L +#define MSG_OVR_SDK_LibOVR_event_30_message 0xB000001EL +#define MSG_OVR_SDK_LibOVR_event_31_message 0xB000001FL +#define MSG_OVR_SDK_LibOVR_event_32_message 0xB0000020L +#define MSG_OVR_SDK_LibOVR_event_33_message 0xB0000021L +#define MSG_OVR_SDK_LibOVR_event_34_message 0xB0000022L +#define MSG_OVR_SDK_LibOVR_event_35_message 0xB0000023L +#define MSG_OVR_SDK_LibOVR_event_36_message 0xB0000024L +#define MSG_OVR_SDK_LibOVR_event_37_message 0xB0000025L +#define MSG_OVR_SDK_LibOVR_event_38_message 0xB0000026L +#define MSG_OVR_SDK_LibOVR_event_39_message 0xB0000027L +#define MSG_OVR_SDK_LibOVR_event_40_message 0xB0000028L +#define MSG_OVR_SDK_LibOVR_event_41_message 0xB0000029L +#define MSG_OVR_SDK_LibOVR_event_42_message 0xB000002AL +#define MSG_OVR_SDK_LibOVR_event_43_message 0xB000002BL +#define MSG_OVR_SDK_LibOVR_event_44_message 0xB000002CL +#define MSG_OVR_SDK_LibOVR_event_45_message 0xB000002DL +#define MSG_OVR_SDK_LibOVR_event_46_message 0xB000002EL +#define MSG_OVR_SDK_LibOVR_event_47_message 0xB000002FL +#define MSG_OVR_SDK_LibOVR_event_48_message 0xB0000030L +#define MSG_OVR_SDK_LibOVR_event_49_message 0xB0000031L +#define MSG_OVR_SDK_LibOVR_event_50_message 0xB0000032L +#define MSG_OVR_SDK_LibOVR_event_51_message 0xB0000033L +#define MSG_OVR_SDK_LibOVR_event_52_message 0xB0000034L +#define MSG_OVR_SDK_LibOVR_event_53_message 0xB0000035L +#define MSG_OVR_SDK_LibOVR_event_54_message 0xB0000036L +#define MSG_OVR_SDK_LibOVR_event_55_message 0xB0000037L +#define MSG_OVR_SDK_LibOVR_event_56_message 0xB0000038L +#define MSG_OVR_SDK_LibOVR_event_57_message 0xB0000039L +#define MSG_OVR_SDK_LibOVR_event_58_message 0xB000003AL +#define MSG_OVR_SDK_LibOVR_event_59_message 0xB000003BL +#define MSG_OVR_SDK_LibOVR_event_60_message 0xB000003CL +#define MSG_OVR_SDK_LibOVR_event_61_message 0xB000003DL +#define MSG_OVR_SDK_LibOVR_event_63_message 0xB000003EL +#define MSG_OVR_SDK_LibOVR_event_64_message 0xB000003FL +#define MSG_OVR_SDK_LibOVR_event_65_message 0xB0000040L +#define MSG_OVR_SDK_LibOVR_event_66_message 0xB0000041L |