summaryrefslogtreecommitdiffstats
path: root/dxsdk/Include/PixPlugin.h
diff options
context:
space:
mode:
Diffstat (limited to 'dxsdk/Include/PixPlugin.h')
-rw-r--r--dxsdk/Include/PixPlugin.h115
1 files changed, 115 insertions, 0 deletions
diff --git a/dxsdk/Include/PixPlugin.h b/dxsdk/Include/PixPlugin.h
new file mode 100644
index 00000000..4825cd3a
--- /dev/null
+++ b/dxsdk/Include/PixPlugin.h
@@ -0,0 +1,115 @@
+//==================================================================================================
+// PIXPlugin.h
+//
+// Microsoft PIX Plugin Header
+//
+// Copyright (c) Microsoft Corporation, All rights reserved
+//==================================================================================================
+
+#pragma once
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+
+//==================================================================================================
+// PIX_PLUGIN_SYSTEM_VERSION - Indicates version of the plugin interface the plugin is built with.
+//==================================================================================================
+#define PIX_PLUGIN_SYSTEM_VERSION 0x101
+
+
+//==================================================================================================
+// PIXCOUNTERID - A unique identifier for each PIX plugin counter.
+//==================================================================================================
+typedef int PIXCOUNTERID;
+
+
+//==================================================================================================
+// PIXCOUNTERDATATYPE - Indicates what type of data the counter produces.
+//==================================================================================================
+enum PIXCOUNTERDATATYPE
+{
+ PCDT_RESERVED,
+ PCDT_FLOAT,
+ PCDT_INT,
+ PCDT_INT64,
+ PCDT_STRING,
+};
+
+
+//==================================================================================================
+// PIXPLUGININFO - This structure is filled out by PIXGetPluginInfo and passed back to PIX.
+//==================================================================================================
+struct PIXPLUGININFO
+{
+ // Filled in by caller:
+ HINSTANCE hinst;
+
+ // Filled in by PIXGetPluginInfo:
+ WCHAR* pstrPluginName; // Name of plugin
+ int iPluginVersion; // Version of this particular plugin
+ int iPluginSystemVersion; // Version of PIX's plugin system this plugin was designed for
+};
+
+
+//==================================================================================================
+// PIXCOUNTERINFO - This structure is filled out by PIXGetCounterInfo and passed back to PIX
+// to allow PIX to determine information about the counters in the plugin.
+//==================================================================================================
+struct PIXCOUNTERINFO
+{
+ PIXCOUNTERID counterID; // Used to uniquely ID this counter
+ WCHAR* pstrName; // String name of the counter
+ PIXCOUNTERDATATYPE pcdtDataType; // Data type returned by this counter
+};
+
+
+//==================================================================================================
+// PIXGetPluginInfo - This returns basic information about this plugin to PIX.
+//==================================================================================================
+BOOL WINAPI PIXGetPluginInfo( PIXPLUGININFO* pPIXPluginInfo );
+
+
+//==================================================================================================
+// PIXGetCounterInfo - This returns an array of PIXCOUNTERINFO structs to PIX.
+// These PIXCOUNTERINFOs allow PIX to enumerate the counters contained
+// in this plugin.
+//==================================================================================================
+BOOL WINAPI PIXGetCounterInfo( DWORD* pdwReturnCounters, PIXCOUNTERINFO** ppCounterInfoList );
+
+
+//==================================================================================================
+// PIXGetCounterDesc - This is called by PIX to request a description of the indicated counter.
+//==================================================================================================
+BOOL WINAPI PIXGetCounterDesc( PIXCOUNTERID id, WCHAR** ppstrCounterDesc );
+
+
+//==================================================================================================
+// PIXBeginExperiment - This called by PIX once per counter when instrumentation starts.
+//==================================================================================================
+BOOL WINAPI PIXBeginExperiment( PIXCOUNTERID id, const WCHAR* pstrApplication );
+
+
+//==================================================================================================
+// PIXEndFrame - This is called by PIX once per counter at the end of each frame to gather the
+// counter value for that frame.
+//==================================================================================================
+BOOL WINAPI PIXEndFrame( PIXCOUNTERID id, UINT iFrame, DWORD* pdwReturnBytes, BYTE** ppReturnData );
+
+
+//==================================================================================================
+// PIXEndExperiment - This is called by PIX once per counter when instrumentation ends.
+//==================================================================================================
+BOOL WINAPI PIXEndExperiment( PIXCOUNTERID id );
+
+
+#ifdef __cplusplus
+};
+#endif
+
+//==================================================================================================
+// eof: PIXPlugin.h
+//==================================================================================================
+