Debugging DirectX12 with Nsight Visual Studio Edition
SIG1534-Jeff-Kiel
SIG1534-Jeff-Kiel
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Debugging</strong> <strong>DirectX12</strong> <strong>with</strong><br />
<strong>Nsight</strong> <strong>Visual</strong> <strong>Studio</strong> <strong>Edition</strong><br />
Jeff Kiel, Manager, Graphics Developer Tools
GAMEWORKS Overview<br />
Agenda<br />
<strong>Nsight</strong> <strong>Visual</strong> <strong>Studio</strong> <strong>Edition</strong> 5.0 Features<br />
<strong>Debugging</strong> UE4 & DirectX 12 on <strong>Nsight</strong> VSE<br />
Thanks to our friends at<br />
2
NVIDIA Developer Tools<br />
BUILD. DEBUG. PROFILE.<br />
C/C++<br />
IDE INTEGRATION<br />
STANDALONE TOOLS<br />
HARDWARE SUPPORT<br />
CPU AND GPU DEBUGGING & PROFILING<br />
3
Pick a platform & API<br />
4
…now on Linux!<br />
5
NVIDIA® <strong>Nsight</strong> <strong>Visual</strong> <strong>Studio</strong> <strong>Edition</strong><br />
Accelerating <strong>Visual</strong> Computing Development<br />
• Supports DirectX 9/11/12, OpenGL<br />
• Debug and profile graphics workloads<br />
• Debug HLSL and GLSL shaders<br />
• Debug and profile CUDA kernels<br />
• Platform level profiling <strong>with</strong> system trace<br />
• All in <strong>Visual</strong> <strong>Studio</strong> 2010 - 2015<br />
6
NVIDIA® <strong>Nsight</strong> <strong>Visual</strong> <strong>Studio</strong> <strong>Edition</strong> 5.0<br />
Features<br />
• Support for Windows 10, <strong>Visual</strong> <strong>Studio</strong> 2015<br />
• Frame Debugger support for DirectX 12<br />
• Updated API Inspector<br />
• Heaps, Descriptor Heaps, and Root Parameters Views<br />
• Dynamic Shader Editing even when Shader <strong>Debugging</strong> not<br />
supported<br />
• Updated Resources View, side by side visualization<br />
7
NVIDIA® <strong>Nsight</strong> <strong>Visual</strong> <strong>Studio</strong> <strong>Edition</strong> 5.0<br />
Unreal Engine 4 – Infiltrator Demo using DirectX 12<br />
8
NVIDIA® <strong>Nsight</strong> <strong>Visual</strong> <strong>Studio</strong> <strong>Edition</strong> 5.0<br />
Unreal Engine 4 – Infiltrator Demo using DirectX 12<br />
Current Targets<br />
View<br />
Scrubber<br />
Events View<br />
API Inspector<br />
9
NVIDIA® <strong>Nsight</strong> <strong>Visual</strong> <strong>Studio</strong> <strong>Edition</strong> 5.0<br />
Unreal Engine 4 – Infiltrator Demo using DirectX 12<br />
Resources View<br />
Side By Side Display<br />
10
NVIDIA® <strong>Nsight</strong> <strong>Visual</strong> <strong>Studio</strong> <strong>Edition</strong> 5.0<br />
Unreal Engine 4 – Infiltrator Demo using DirectX 12<br />
Configurable Thread<br />
or Queue Centric<br />
Multi-thread/queue<br />
Sync Fences<br />
11
NVIDIA® <strong>Nsight</strong> <strong>Visual</strong> <strong>Studio</strong> <strong>Edition</strong> 5.0<br />
Unreal Engine 4 – Infiltrator Demo using DirectX 12<br />
Leads To Wait Call<br />
Fence Signaled<br />
12
NVIDIA® <strong>Nsight</strong> <strong>Visual</strong> <strong>Studio</strong> <strong>Edition</strong> 5.0<br />
Unreal Engine 4 – Infiltrator Demo using DirectX 12<br />
API Inspector Shows all<br />
Pipeline State Object<br />
Settings<br />
13
NVIDIA® <strong>Nsight</strong> <strong>Visual</strong> <strong>Studio</strong> <strong>Edition</strong> 5.0<br />
Unreal Engine 4 – Infiltrator Demo using DirectX 12<br />
<strong>Visual</strong>ize Descriptor<br />
Heaps<br />
Selection Displays Heap<br />
Type Specific <strong>Visual</strong>izer<br />
Hyperlinks To<br />
Appropriate Views<br />
14
NVIDIA® <strong>Nsight</strong> <strong>Visual</strong> <strong>Studio</strong> <strong>Edition</strong> 5.0<br />
Unreal Engine 4 – Infiltrator Demo using DirectX 12<br />
Selection Shows<br />
Parameter Settings<br />
List Root Parameters In<br />
Current Root Signature<br />
Warnings For Potentially<br />
Invalid Settings<br />
15
NVIDIA® <strong>Nsight</strong> <strong>Visual</strong> <strong>Studio</strong> <strong>Edition</strong> 5.0<br />
Unreal Engine 4 – Infiltrator Demo using DirectX 12<br />
In Place Memory Preview<br />
Select Heap Of Interest<br />
Shows All Resources In Heap,<br />
Hyperlink To Resources View<br />
<strong>Visual</strong>ize Heap<br />
Resource Overlap<br />
16
NVIDIA® <strong>Nsight</strong> <strong>Visual</strong> <strong>Studio</strong> <strong>Edition</strong> 5.0<br />
Unreal Engine 4 – Infiltrator Demo using DirectX 12<br />
Selection Displays<br />
Tile Coordinates<br />
Tiled Resource Viewer<br />
Shows Mip Pyramid<br />
17
NVIDIA® <strong>Nsight</strong> <strong>Visual</strong> <strong>Studio</strong> <strong>Edition</strong> 5.0<br />
Unreal Engine 4 – Infiltrator Demo using DirectX 12<br />
Load Actual Resources<br />
For Selection<br />
18
NVIDIA® <strong>Nsight</strong> <strong>Visual</strong> <strong>Studio</strong> <strong>Edition</strong> 5.0<br />
Roadmap<br />
• 5.0 RC1 Sept. 2015, Final Oct. 2015<br />
• 5.X RC1 Dec. 2015, Final Jan. 2016<br />
• Frame Profiler & Frame Timings support for DirectX 12<br />
• Dynamic Shader Editing for DirectX 12<br />
• Geometry View improvements<br />
• Scrubber View data flow mode<br />
19
Questions?<br />
https://developer.nvidia.com/nvidia-nsight-visual-studio-edition<br />
Send feedback to dev-support@nvidia.com