//------------------------------------------------------------------------------ // File: dxva2Trace.h // // Desc: DirectX Video Acceleration 2 header file for ETW data // // Copyright (c) 1999 - 2005, Microsoft Corporation. All rights reserved. //------------------------------------------------------------------------------ #ifndef __inc_dxva2Trace_h #define __inc_dxva2Trace_h #ifdef __cplusplus extern "C" { #endif DEFINE_GUID(DXVA2Trace_Control, 0xa0386e75,0xf70c,0x464c, 0xa9, 0xce, 0x33, 0xc4, 0x4e, 0x09, 0x16, 0x23); // ------------------------------------------------------------------------- // DXVA2 Video Decoder ETW definitions // // There are event for: // Device creation // Device destruction // // When the device is being used there are events for: // Begin frame // Begin execute // End execute // End frame // ------------------------------------------------------------------------- // typedef struct { #ifndef DXVA2Trace_PostProcessing EVENT_TRACE_HEADER wmiHeader; #endif ULONGLONG pObject; ULONGLONG pD3DDevice; GUID DeviceGuid; ULONG Width; ULONG Height; BOOL Enter; } DXVA2Trace_DecodeDevCreatedData; typedef struct { #ifndef DXVA2Trace_PostProcessing EVENT_TRACE_HEADER wmiHeader; #endif ULONGLONG pObject; BOOL Enter; } DXVA2Trace_DecodeDeviceData; typedef DXVA2Trace_DecodeDeviceData DXVA2Trace_DecodeDevDestroyedData; typedef DXVA2Trace_DecodeDeviceData DXVA2Trace_DecodeDevExecuteData; typedef DXVA2Trace_DecodeDeviceData DXVA2Trace_DecodeDevEndFrameData; typedef struct { #ifndef DXVA2Trace_PostProcessing EVENT_TRACE_HEADER wmiHeader; #endif ULONGLONG pObject; ULONGLONG pRenderTarget; BOOL Enter; } DXVA2Trace_DecodeDevBeginFrameData; typedef struct { #ifndef DXVA2Trace_PostProcessing EVENT_TRACE_HEADER wmiHeader; #endif ULONGLONG pObject; UINT BufferType; BOOL Enter; } DXVA2Trace_DecodeDevGetBufferData; DEFINE_GUID(DXVA2Trace_DecodeDevCreated, 0xb4de17a1,0xc5b2,0x44fe, 0x86, 0xd5, 0xd9, 0x7a, 0x64, 0x81, 0x14, 0xff); DEFINE_GUID(DXVA2Trace_DecodeDevDestroyed, 0x853ebdf2,0x4160,0x421d, 0x88, 0x93, 0x63, 0xdc, 0xea, 0x4f, 0x18, 0xbb); DEFINE_GUID(DXVA2Trace_DecodeDevBeginFrame, 0x9fd1acf6,0x44cb,0x4637, 0xbc, 0x62, 0x2c, 0x11, 0xa9, 0x60, 0x8f, 0x90); DEFINE_GUID(DXVA2Trace_DecodeDevExecute,0x850aeb4c,0xd19a,0x4609, 0xb3, 0xb4, 0xbc, 0xbf, 0x0e, 0x22, 0x12, 0x1e); DEFINE_GUID(DXVA2Trace_DecodeDevGetBuffer,0x57b128fb,0x72cb,0x4137, 0xa5, 0x75, 0xd9, 0x1f, 0xa3, 0x16, 0x08, 0x97); DEFINE_GUID(DXVA2Trace_DecodeDevEndFrame, 0x9fb3cb33,0x47dc,0x4899, 0x98, 0xc8, 0xc0, 0xc6, 0xcd, 0x7c, 0xd3, 0xcb); // ------------------------------------------------------------------------- // DXVA2 Video Processing ETW definitions // // There are event for: // Device creation // Device destruction // // When the device is being used there are events for: // Begin VideoProcessBlt // End VideoProcessBlt // ------------------------------------------------------------------------- // typedef struct { #ifndef DXVA2Trace_PostProcessing EVENT_TRACE_HEADER wmiHeader; #endif ULONGLONG pObject; ULONGLONG pD3DDevice; GUID DeviceGuid; ULONG RTFourCC; ULONG Width; ULONG Height; BOOL Enter; } DXVA2Trace_VideoProcessDevCreatedData; typedef struct { #ifndef DXVA2Trace_PostProcessing EVENT_TRACE_HEADER wmiHeader; #endif ULONGLONG pObject; BOOL Enter; } DXVA2Trace_VideoProcessDeviceData; typedef DXVA2Trace_VideoProcessDeviceData DXVA2Trace_VideoProcessDevDestroyedData; typedef DXVA2Trace_VideoProcessDeviceData DXVA2Trace_VideoProcessBltEndData; typedef struct { #ifndef DXVA2Trace_PostProcessing EVENT_TRACE_HEADER wmiHeader; #endif ULONGLONG pObject; ULONGLONG pRenderTarget; ULONGLONG TargetFrameTime; RECT TargetRect; BOOL Enter; } DXVA2TraceVideoProcessBltData; #define DXVA2TraceVideoProcessBltDataData DXVA2TraceVideoProcessBltData; DEFINE_GUID(DXVA2Trace_VideoProcessDevCreated, 0x895508c6,0x540d,0x4c87, 0x98, 0xf8, 0x8d, 0xcb, 0xf2, 0xda, 0xbb, 0x2a); DEFINE_GUID(DXVA2Trace_VideoProcessDevDestroyed, 0xf97f30b1,0xfb49,0x42c7, 0x8e, 0xe8, 0x88, 0xbd, 0xfa, 0x92, 0xd4, 0xe2); DEFINE_GUID(DXVA2Trace_VideoProcessBlt, 0x69089cc0,0x71ab,0x42d0, 0x95, 0x3a, 0x28, 0x87, 0xbf, 0x05, 0xa8, 0xaf); #ifdef __cplusplus } #endif #endif