Troubleshooting

Known Issues and Limitations

2024.1

  • Intel® GPA Framework has been released for Direct3D 12. Vulkan and Direct3D 11 support is released as Beta, and is subject to change.

  • Playback of a Vulkan deferred captured stream by the player and metrics collector tools are not supported. This will be addressed in a future release.

  • Performing a subcapture of any Vulkan stream by the subcapture tool is not supported. This will be addressed in a future release.

  • Repeat playback of streams from most Vulkan workloads (such as the Sascha Willems and Unreal examples) fail or crash when using the GPA player and metrics collector tools. This will be fixed in a future release.

  • When using the screenshot layer, if a large number of screenshots are requested in close frame-intervals (every or every other frame) it is suggested to use the async=false layer flag to prevent unusually high memory consumption and out of memory errors. This may result in a slight decrease in performance since screenshot cut and writing will be not run in async processes.

  • Frame 0 or the setup frame cannot currently be specified as a repeat frame in gpa-player’s range repeat functionality.

  • Subcapture functionality only supports Direct3D 12 at this time.

  • GPA CPP Generator does not support source-level generation of calls beyond the last frame delimiter in a stream.

  • User input for restore points and deferred stream capture may not be registered in certain applications. Please use time-interval restore points and capture layer parameters for deferred stream capture if user input fails.

  • When using the AMD* RX Vega card to capture a stream on a Hades Canyon machine the argument “–page-tracker-mode 2” must be added to any ./gpa-injector command in order to properly capture the stream. Note that this does not apply to the iGFX card.

  • At present, the Intel® GPA Framework contains only Release builds (no debug builds of libraries).

  • The capture layer supports only 64-bit applications. However, the injection mechanism will work with 32-bit processes for the purpose of allowing the capture of applications that require 32-bit launchers.

  • A modification of shaders in HLSL representation can cause the gpa-player to crash if the original shader representation was different from HLSL (Vulkan).

  • Support is not provided yet for collecting query-based metrics from Vulkan transfer queues. When used, they are ignored by the MetricsExtractor when the graphics API pipeline statistics based query managers are used, but are accepted by the Intel Hardware Metrics Discovery library query manager which may return metrics results. No validation of such results has occurred.

  • Crashes have been observered in some DXR/DXIL shader profiling scenarios, and the data obtained has had a zero duration.

  • Deferred capture/playback of Unreal 5.3 titles using raytracing may show visual corruption.

  • Link errors occur with use of the gpa-cpp-generator generated gpa-cpp/CMakeList.txt. To work around this limitation, replace '${GPA_FRAMEWORK_LIBS}' in that file with '${GPA_FRAMEWORK_LIBS} $ENV{INTEL_GPA_FRAMEWORK}/lib/*'.

  • Playback of titles using XeSS with PSO filtering disabled (by supplying --disable-pso-filtering argument to gpa-player) will produce black or corrupted final framebuffers.

  • The gpa-metrics-collector tool will write the wrong GPU identification details in the generated metadata file (*.metadata.txt) when the platform has multiple GPUs, the GPU to use is specified using the new vendor/device id options, and the associated GPU index is not 0 (the default GPU). This will be fixed in a future release.

2023.4

  • Intel® GPA Framework has been released for Vulkan and Direct3D 12. Direct3D 11 support is released as Beta, and is subject to change.

  • When using the screenshot layer, if a large number of screenshots are requested in close frame-intervals (every or every other frame) it is suggested to use the async=false layer flag to prevent unusually high memory consumption and out of memory errors. This may result in a slight decrease in performance since screenshot cut and writing will be not run in async processes.

  • Frame 0 or the setup frame cannot currently be specified as a repeat frame in gpa-player’s range repeat functionality.

  • Subcapture functionality only supports Direct3D 12 at this time.

  • GPA CPP Generator does not support source-level generation of calls beyond the last frame delimiter in a stream.

  • User input for restore points and deferred stream capture may not be registered in certain applications. Please use time-interval restore points and capture layer parameters for deferred stream capture if user input fails.

  • When using the AMD* RX Vega card to capture a stream on a Hades Canyon machine the argument “–page-tracker-mode 2” must be added to any ./gpa-injector command in order to properly capture the stream. Note that this does not apply to the iGFX card.

  • At present, the Intel® GPA Framework contains only Release builds (no debug builds of libraries).

  • The capture layer supports only 64-bit applications. However, the injection mechanism will work with 32-bit processes for the purpose of allowing the capture of applications that require 32-bit launchers.

  • A modification of shaders in HLSL representation can cause the gpa-player to crash if the original shader representation was different from HLSL (Vulkan).

  • Support is not provided yet for collecting query-based metrics from Vulkan transfer queues. When used, they are ignored by the MetricsExtractor when the graphics API pipeline statistics based query managers are used, but are accepted by the Intel Hardware Metrics Discovery library query manager which may return metrics results. No validation of such results has occurred.

  • Crashes have been observered in some DXR/DXIL shader profiling scenarios, and the data obtained has had a zero duration.

  • Deferred capture/playback of Unreal 5.3 titles is unsupported at this time, this will be supported in a future release.

  • Link errors occur with use of the gpa-cpp-generator generated gpa-cpp/CMakeList.txt. To work around this limitation, replace ‘${GPA_FRAMEWORK_LIBS}’ in that file with ‘${GPA_FRAMEWORK_LIBS} $ENV{INTEL_GPA_FRAMEWORK}/lib/*’.

  • On an Intel(r) Arc(tm) A310, A380 or A370M GPU, when collecting D3D12 pipeline statistics based metrics (which are identified by the metric group symbol "D3d12PipelineStatisticsAndTimestamp"), based on the workload used, a crash may occur due to a memory page fault in the graphics driver. To avoid this issue, use graphics driver version 31.0.101.4887 or later.

  • Playback of titles using XeSS with PSO filtering disabled (by supplying --disable-pso-filtering argument to gpa-player) will produce black or corrupted final framebuffers.

  • The gpa-metrics-collector tool will write the wrong GPU identification details in the generated metadata file (*.metadata.txt) when the platform has multiple GPUs, the GPU to use is specified using the new vendor/device id options, and the associated GPU index is not 0 (the default GPU). This will be fixed in a future release.

2023.3

  • Intel® GPA Framework has been released for Vulkan and Direct3D 12. Direct3D 11 support is released as Beta, and is subject to change.

  • When using the screenshot layer, if a large number of screenshots are requested in close frame-intervals (every or every other frame) it is suggested to use the async=false layer flag to prevent unusually high memory consumption and out of memory errors. This may result in a slight decrease in performance since screenshot cut and writing will be not run in async processes.

  • Frame 0 or the setup frame cannot currently be specified as a repeat frame in gpa-player’s range repeat functionality.

  • Subcapture functionality only supports Direct3D 12 at this time.

  • GPA CPP Generator does not support source-level generation of calls beyond the last frame delimiter in a stream.

  • User input for restore points and deferred stream capture may not be registered in certain applications. Please use time-interval restore points and capture layer parameters for deferred stream capture if user input fails.

  • When using the AMD* RX Vega card to capture a stream on a Hades Canyon machine the argument “–page-tracker-mode 2” must be added to any ./gpa-injector command in order to properly capture the stream. Note that this does not apply to the iGFX card.

  • At present, the Intel® GPA Framework contains only Release builds (no debug builds of libraries).

  • The capture layer supports only 64-bit applications. However, the injection mechanism will work with 32-bit processes for the purpose of allowing the capture of applications that require 32-bit launchers.

  • A modification of shaders in HLSL representation can cause the gpa-player to crash if the original shader representation was different from HLSL (Vulkan).

  • Support is not provided yet for collecting query-based metrics from Vulkan transfer queues. When used, they are ignored by the MetricsExtractor when the graphics API pipeline statistics based query managers are used, but are accepted by the Intel Hardware Metrics Discovery library query manager which may return metrics results. No validation of such results has occurred.

  • Crashes have been observered in some DXR/DXIL shader profiling scenarios, and the data obtained has had a zero duration.

  • Capture and Playback of Unreal 5.3 titles is unsupported at this time, this will be supported in a future release.

  • Link errors occur with use of the gpa-cpp-generator generated gpa-cpp/CMakeList.txt. To work around this limitation, replace ‘${GPA_FRAMEWORK_LIBS}’ in that file with ‘${GPA_FRAMEWORK_LIBS} $ENV{INTEL_GPA_FRAMEWORK}/lib/*’.

  • On an Intel(r) Arc(tm) A310, A380 or A370M GPU, when collecting D3D12 pipeline statistics based metrics (which are identified by the metric group symbol "D3d12PipelineStatisticsAndTimestamp"), based on the workload used, a crash may occur due to a memory page fault in the graphics driver. A fix is anticipated in a future graphics driver release.

2023.2

  • Intel® GPA Framework has been released for Vulkan and Direct3D 12. Direct3D 11 support is released as Beta, and is subject to change.

  • When using the screenshot layer, if a large number of screenshots are requested in close frame-intervals (every or every other frame) it is suggested to use the async=false layer flag to prevent unusually high memory consumption and out of memory errors. This may result in a slight decrease in performance since screenshot cut and writing will be not run in async processes.

  • Frame 0 or the setup frame cannot currently be specified as a repeat frame in gpa-player’s range repeat functionality.

  • Subcapture functionality only supports Direct3D 12 at this time.

  • GPA CPP Generator does not support source-level generation of calls beyond the last frame delimiter in a stream.

  • User input for keyframes and deferred stream capture may not be registered in certain applications. Please use time-interval keyframes and capture layer parameters for deferred stream capture.

  • When using the AMD* RX Vega card to capture a stream on a Hades Canyon machine the argument “–page-tracker-mode 2” must be added to any ./gpa-injector command in order to properly capture the stream. Note that this does not apply to the iGFX card.

  • At present, the Intel® GPA Framework contains only Release builds (no debug builds of libraries).

  • The capture layer supports only 64-bit applications. However, the injection mechanism will work with 32-bit processes for the purpose of allowing the capture of applications that require 32-bit launchers.

  • A modification of shaders in HLSL representation can cause the gpa-player to crash if the original shader representation was different from HLSL (Vulkan).

  • Support is not provided yet for collecting query-based metrics from Vulkan transfer queues. When used, they are ignored by the MetricsExtractor when the graphics API pipeline statistics based query managers are used, but are accepted by the Intel Hardware Metrics Discovery library query manager which may return metrics results. No validation of such results has occurred.

  • Crashes have been observered in some DXR/DXIL shader profiling scenarios, and the data obtained has had a zero duration.

  • When capturing/playing back Unreal 5.1 workloads using Nanite geometry, only "continuous" capture mode is currently supported ("deferred" and "subcapture" capture mode support is anticipated in a future release).

  • Link errors occur with use of the gpa-cpp-generator generated gpa-cpp/CMakeList.txt. To work around this limitation, replace ‘${GPA_FRAMEWORK_LIBS}’ in that file with ‘${GPA_FRAMEWORK_LIBS} $ENV{INTEL_GPA_FRAMEWORK}/lib/*’.

2023.1

  • Intel® GPA Framework has been released for Vulkan and Direct3D 12. Direct3D 11 support is released as Beta, and is subject to change.

  • When using the screenshot layer, if a large number of screenshots are requested in close frame-intervals (every or every other frame) it is suggested to use the async=false layer flag to prevent unusually high memory consumption and out of memory errors. This may result in a slight decrease in performance since screenshot cut and writing will be not run in async processes.

  • Frame 0 or the setup frame cannot currently be specified as a repeat frame in gpa-player’s range repeat functionality.

  • Subcapture functionality only supports Direct3D 12 at this time.

  • GPA CPP Generator does not support source-level generation of calls beyond the last frame delimiter in a stream.

  • User input for keyframes and deferred stream capture may not be registered in certain applications. Please use time-interval keyframes and capture layer parameters for deferred stream capture.

  • When using the AMD* RX Vega card to capture a stream on a Hades Canyon machine the argument “–page-tracker-mode 2” must be added to any ./gpa-injector command in order to properly capture the stream. Note that this does not apply to the iGFX card.

  • At present, the Intel® GPA Framework contains only Release builds (no debug builds of libraries).

  • The capture layer supports only 64-bit applications. However, the injection mechanism will work with 32-bit processes for the purpose of allowing the capture of applications that require 32-bit launchers.

  • A modification of shaders in HLSL representation can cause the gpa-player to crash if the original shader representation was different from HLSL (Vulkan).

  • Support is not provided yet for collecting query-based metrics from Vulkan transfer queues. When used, they are ignored by the MetricsExtractor when the graphics API pipeline statistics based query managers are used, but are accepted by the Intel Hardware Metrics Discovery library query manager which may return metrics results. No validation of such results has occurred.

  • Crashes have been observered in some DXR/DXIL shader profiling scenarios, and the data obtained has had a zero duration.

  • When capturing/playing back Unreal 5.1 workloads using Nanite geometry, only "continuous" capture mode, not "deferred" or "subcapture", are supported at this time (support for the others will appear in a future release).

  • Link errors occur with use of the gpa-cpp-generator generated gpa-cpp/CMakeList.txt. To work around this limitation, end users can replace ‘${GPA_FRAMEWORK_LIBS}’ in that file with ‘${GPA_FRAMEWORK_LIBS} $ENV{INTEL_GPA_FRAMEWORK}/lib/*’.

2022.4

  • When using the screenshot layer, if a large number of screenshots are requested in close frame-intervals (every or every other frame) it is suggested to use the async=false layer flag to prevent unusually high memory consumption and out of memory errors. This may result in a slight decrease in performance since screenshot cut and writing will be not run in async processes.

  • Frame 0 or the setup frame cannot currently be specified as a repeat frame in gpa-player’s range repeat functionality.

  • Subcapture functionality only supports Direct3D 12 at this time.

  • GPA CPP Generator does not support source-level generation of calls beyond the last frame delimiter in a stream.

  • User input for keyframes and deferred stream capture may not be registered in certain applications. Please use time-interval keyframes and capture layer parameters for deferred stream capture.

  • When using the AMD* RX Vega card to capture a stream on a Hades Canyon machine the argument “–page-tracker-mode 2” must be added to any ./gpa-injector command in order to properly capture the stream. Note that this does not apply to the iGFX card.

  • Intel® GPA Framework has been released for Vulkan and Direct3D 12, but Direct3D 11 support is released as Beta, and is subject to change.

  • At present, the Intel® GPA Framework contains only Release builds (no debug builds of libraries).

  • The capture layer supports only 64-bit applications. However, the injection mechanism will work with 32-bit processes for the purpose of allowing the capture of applications that require 32-bit launchers.

  • A modification of shaders in HLSL representation can cause the gpa-player to crash if the original shader representation was different from HLSL (Vulkan).

  • Support is not provided yet for collecting query-based metrics from Vulkan transfer queues. When used, they are ignored by the MetricsExtractor when the graphics API pipeline statistics based query managers are used, but are accepted by the Intel Hardware Metrics Discovery library query manager which may return metrics results. No validation of such results has occurred.

  • DXR/DXIL shader profiling data obtained always has a zero duration.

2022.3

  • Currently, subcapture ranges cannot include frame 0 and the last frame of a stream.

  • When using the screenshot layer, if a large number of screenshots are requested in close frame-intervals (every or every other frame) it is suggested to use the async=false layer flag to prevent unusually high memory connsumption and out of memory errors. This may result in a slight decrease in performance since screenshot cut and writing will be not run in async proccesses.

  • Frame 0 or the setup frame cannot currently be specified as a repeat frame in gpa-player's range repeat functionality.

  • Subcapture functionality only supports Direct3D 12 at this time.

  • GPA CPP Generator does not support source-level generation of calls beyond the last frame delimiter in a stream.

  • User input for keyframes and deferred stream capture may not be registered in certain applications. Please use time-interval keyframes and capture layer parameters for deferred stream capture.

  • When using the AMD* RX Vega card to capture a stream on a Hades Canyon machine the argument "--page-tracker-mode 2" must be added to any ./gpa-injector command in order to properly capture the stream. Note that this does not apply to the iGFX card.

  • Intel® GPA Framework has been released for Vulkan and Direct3D 12, but Direct3D 11 support is released as Beta (for example, there is no metrics collection support on non-Intel GPUs yet), and is subject to change.

  • At present, the Intel® GPA Framework contains only Release builds (no debug builds of libraries).

  • The capture layer supports only 64-bit applications. However, the injection mechanism will work with 32-bit processes for the purpose of allowing the capture of applications that require 32-bit launchers.

  • A modification of shaders in HLSL representation can cause the gpa-player to crash if the original shader representation was different from HLSL (Vulkan).

  • Support is not provided yet for collecting query-based metrics from Vulkan transfer queues. When used, they are ignored by the MetricsExtractor when the graphics API pipeline statistics based query managers are used, but are accepted by the Intel Hardware Metrics Discovery library query manager which may return metrics results. No validation of such results have occurred.

2022.2

  • When using the screenshot layer, if a large number of screenshots are requested in close frame-intervals (every or every other frame) it is suggested to use the async=false layer flag to prevent unusually high memory connsumption and out of memory errors. This may result in a slight decrease in performance since screenshot cut and writing will be not run in async proccesses.

  • Frame 0 or the setup frame cannot currently be specified as a repeat frame in gpa-player's range repeat functionality.

  • Subcapture functionality only supports Direct3D 12 at this time.

  • GPA CPP Generator does not support source-level generation of calls beyond the last frame delimiter in a stream.

  • User input for keyframes and deferred stream capture may not be registered in certain applications. Please use time-interval keyframes and capture layer parameters for deferred stream capture.

  • When using the AMD* RX Vega card to capture a stream on a Hades Canyon machine the argument "--page-tracker-mode 2" must be added to any ./gpa-injector command in order to properly capture the stream. Note that this does not apply to the iGFX card.

  • Intel® GPA Framework has been released for Vulkan and Direct3D 12, but Direct3D 11 support is released as Beta (for example, there is no metrics collection support on non-Intel GPUs yet), and is subject to change.

  • At present, the Intel® GPA Framework contains only Release builds (no debug builds of libraries).

  • The capture layer supports only 64-bit applications. However, the injection mechanism will work with 32-bit processes for the purpose of allowing the capture of applications that require 32-bit launchers.

  • A modification of shaders in HLSL representation can cause the gpa-player to crash if the original shader representation was different from HLSL (Vulkan).

  • Support is not provided yet for collecting query-based metrics from Vulkan transfer queues. When used, they are ignored by the MetricsExtractor when the graphics API pipeline statistics based query managers are used, but are accepted by the Intel Hardware Metrics Discovery library query manager which may return metrics results. No validation of such results have occurred.

2022.1

  • Subcapture functionality only supports D3D12 at this time.

  • GPA CPP Generator does not support source-level generation of calls beyond the last frame delimiter in a stream.

  • User input for keyframes and deferred stream capture may not be registered in certain applications. Please use time-interval keyframes and capture layer parameters for deferred stream capture.

  • When using the AMD* RX Vega card to capture a stream on a Hades Canyon machine the argument "--page-tracker-mode 2" must be added to any ./gpa-injector command in order to properly capture the stream. Note that this does not apply to the iGFX card.

  • Intel® GPA Framework has been released for Vulkan and D3D12, but D3D11 support is released as Beta (for example, there is no metrics collection support on non-Intel GPUs yet), and is subject to change.

  • At present, the Intel® GPA Framework contains only Release builds (no debug builds of libraries).

  • The capture layer supports only 64-bit applications. However, the injection mechanism will work with 32-bit processes for the purpose of allowing the capture of applications that require 32-bit launchers.

  • A modification of shaders in HLSL representation can cause the gpa-player to crash if the original shader representation was different from HLSL (Vulkan).

  • Support is not provided yet for collecting query-based metrics from Vulkan transfer queues. When used, they are ignored by the MetricsExtractor when the graphics API pipeline statistics based query managers are used, but are accepted by the Intel HW MD library query manager which may return metrics results. No validation of such results have occurred.

2021.4

  • GPA CPP Generator does not support source-level generation of calls beyond the last frame delimiter in a stream.

  • User input for keyframes and deferred stream capture may not be registered in certain applications. Please use time-interval keyframes and capture layer parameters for deferred stream capture.

  • When using the AMD* RX Vega card to capture a stream on a Hades Canyon machine the argument "--page-tracker-mode 2" must be added to any ./gpa-injector command in order to properly capture the stream. Note that this does not apply to the iGFX card.

  • Intel® GPA Framework has been released for Vulkan and D3D12, but D3D11 support is released in Beta, and subject to change.

  • At present, the Intel® GPA Framework contains only Release builds (no debug builds of libraries).

  • The capture layer supports only 64-bit applications. However, the injection mechanism will work with 32-bit processes for the purpose of allowing the capture of applications that require 32-bit launchers.

  • A modification of shaders in HLSL representation can cause the gpa-player to crash if the original shader representation was different from HLSL (Vulkan).

  • Support is not provided yet for collecting query-based metrics from Vulkan transfer queues. When used, they are ignored by the MetricsExtractor when the graphics API pipeline statistics based query managers are used, but are accepted by the Intel HW MD library query manager which may return metrics results. No validation of such results have occurred.

2021.2

  • User input for keyframes and deferred stream capture may not be registered in certain applications. Please use time-interval keyframes and capture layer parameters for deferred stream capture.

  • When using the AMD* RX Vega card to capture a stream on a Hades Canyon machine the argument "--page-tracker-mode 2" must be added to any ./gpa-injector command in order to properly capture the stream. Note that this does not apply to the iGFX card.

  • Intel® GPA Framework has been released for Vulkan and D3D12, but D3D11 support is released in Beta, and subject to change.

  • At present, the Intel® GPA Framework contains only Release builds (no debug builds of libraries).

  • The capture layer supports only 64-bit applications. However, the injection mechanism will work with 32-bit processes for the purpose of allowing the capture of applications that require 32-bit launchers.

  • A modification of shaders in HLSL representation can cause the gpa-player to crash if the original shader representation was different from HLSL (Vulkan).

  • Support is not provided yet for collecting query-based metrics from Vulkan transfer queues. When used, they are ignored by the MetricsExtractor when the graphics API pipeline statistics based query managers are used, but are accepted by the Intel HW MD library query manager which may return metrics results. No validation of such results have occurred.

2021.1

  • User input for keyframes and deferred stream capture may not be registered in certain applications. Please use time-interval keyframes and capture layer parameters for deferred stream capture.

  • When using the AMD* RX Vega card to capture a stream on a Hades Canyon machine the argument "--page-tracker-mode 2" must be added to any ./gpa-injector command in order to properly capture the stream. Note that this does not apply to the iGFX card.

  • Intel® GPA Framework has been released for Vulkan and D3D12, but D3D11 support is released in the Technical Preview form.

  • At present, the Intel® GPA Framework contains only Release builds (no debug builds of libraries).

  • The capture layer supports only 64-bit applications. However, the injection mechanism will work with 32-bit processes for the purpose of allowing the capture of applications that require 32-bit launchers.

  • A modification of shaders in HLSL representation can cause the gpa-player to crash if the original shader representation was different from HLSL (Vulkan).

  • Support is not provided yet for collecting query-based metrics from D3D12 copy queues and Vulkan transfer queues. When used, they are ignored by the MetricsExtractor when the graphics API pipeline statistics based query managers are used, but are accepted by the Intel HW MD library query manager which may return metrics results. No validation of such results have occurred.

2020.4

  • User input for keyframes and deferred stream capture may not be registered in certain applications. Please use time-interval keyframes and capture layer parameters for deferred stream capture.

  • When using the AMD* RX Vega card to capture a stream on a Hades Canyon machine the argument "--page-tracker-mode 2" must be added to any ./gpa-injector command in order to properly capture the stream. Note that this does not apply to the iGFX card.

  • Intel® GPA Framework has been released for Vulkan, but there is also functionality for other graphics APIs that has been exposed and can be utilized.

  • At present, the Intel® GPA Framework contains only Release builds (no debug builds of libraries).

  • The capture layer supports only 64-bit applications. However, the injection mechanism will work with 32-bit processes for the purpose of allowing the capture of applications that require 32-bit launchers.

  • A modification of shaders in HLSL representation can cause the gpa-player to crash if the original shader representation was different from HLSL (Vulkan).

  • Support for MetricsExtractor metrics collection from compute queues is preliminary using the D3D12 and Vulkan Pipeline Statistics and Timestamp Query Managers. There is no support provided for copy/transfer queues.

2019.2

  • Although the Intel® GPA Framework has been released in Vulkan Technical Preview form, there is partial functionality for other graphics APIs that has been exposed and can already be utilized.

  • Intel® GPA Framework C++ and Python interfaces are subject to change after technical preview.

  • At present, the Intel® GPA Framework contains only Release builds of the libraries.

  • The capture layer supports only 64 bit applications. The injection mechanism will work in 32 bit processes for the purpose of allowing capture on applications that require launchers still in 32 bit.

  • MetricsExtractor metrics collection from compute and copy queues are not supported for the D3D12 and Vulkan Pipeline Statistics and Timestamp Query Manager.