12.02.2016 Views

Debugging DirectX12 with Nsight Visual Studio Edition

SIG1534-Jeff-Kiel

SIG1534-Jeff-Kiel

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!