20
Jeff Kiel, Manager, Graphics Developer Tools Debugging DirectX12 with Nsight™ Visual Studio Edition

Debugging DirectX12 with Nsight™ Visual Studio Edition · 2015. 8. 20. · NVIDIA® Nsight™ Visual Studio Edition 5.0 • Support for Windows 10, Visual Studio 2015 • Frame

  • Upload
    others

  • View
    12

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Debugging DirectX12 with Nsight™ Visual Studio Edition · 2015. 8. 20. · NVIDIA® Nsight™ Visual Studio Edition 5.0 • Support for Windows 10, Visual Studio 2015 • Frame

Jeff Kiel, Manager, Graphics Developer Tools

Debugging DirectX12 with Nsight™ Visual Studio Edition

Page 2: Debugging DirectX12 with Nsight™ Visual Studio Edition · 2015. 8. 20. · NVIDIA® Nsight™ Visual Studio Edition 5.0 • Support for Windows 10, Visual Studio 2015 • Frame

2

Agenda

GAMEWORKS Overview

Nsight Visual Studio Edition 5.0 Features

Debugging UE4 & DirectX 12 on Nsight VSE

Thanks to our friends at

Page 3: Debugging DirectX12 with Nsight™ Visual Studio Edition · 2015. 8. 20. · NVIDIA® Nsight™ Visual Studio Edition 5.0 • Support for Windows 10, Visual Studio 2015 • Frame

3

NVIDIA Developer Tools

HARDWARE SUPPORT

CPU AND GPU DEBUGGING & PROFILING

BUILD. DEBUG. PROFILE.

STANDALONE TOOLS IDE INTEGRATION

C/C++

Page 4: Debugging DirectX12 with Nsight™ Visual Studio Edition · 2015. 8. 20. · NVIDIA® Nsight™ Visual Studio Edition 5.0 • Support for Windows 10, Visual Studio 2015 • Frame

4

Pick a platform & API

Page 5: Debugging DirectX12 with Nsight™ Visual Studio Edition · 2015. 8. 20. · NVIDIA® Nsight™ Visual Studio Edition 5.0 • Support for Windows 10, Visual Studio 2015 • Frame

5

…now on Linux!

Page 6: Debugging DirectX12 with Nsight™ Visual Studio Edition · 2015. 8. 20. · NVIDIA® Nsight™ Visual Studio Edition 5.0 • Support for Windows 10, Visual Studio 2015 • Frame

6

• Supports DirectX 9/11/12, OpenGL

• Debug and profile graphics workloads

• Debug HLSL and GLSL shaders

• Debug and profile CUDA kernels

• Platform level profiling with system trace

• All in Visual Studio 2010 - 2015

NVIDIA® Nsight™ Visual Studio Edition Accelerating Visual Computing Development

Page 7: Debugging DirectX12 with Nsight™ Visual Studio Edition · 2015. 8. 20. · NVIDIA® Nsight™ Visual Studio Edition 5.0 • Support for Windows 10, Visual Studio 2015 • Frame

7

NVIDIA® Nsight™ Visual Studio Edition 5.0

• Support for Windows 10, Visual Studio 2015

• Frame Debugger support for DirectX 12

• Updated API Inspector

• Heaps, Descriptor Heaps, and Root Parameters Views

• Dynamic Shader Editing even when Shader Debugging not supported

• Updated Resources View, side by side visualization

Features

Page 8: Debugging DirectX12 with Nsight™ Visual Studio Edition · 2015. 8. 20. · NVIDIA® Nsight™ Visual Studio Edition 5.0 • Support for Windows 10, Visual Studio 2015 • Frame

8

NVIDIA® Nsight™ Visual Studio Edition 5.0 Unreal Engine 4 – Infiltrator Demo using DirectX 12

Page 9: Debugging DirectX12 with Nsight™ Visual Studio Edition · 2015. 8. 20. · NVIDIA® Nsight™ Visual Studio Edition 5.0 • Support for Windows 10, Visual Studio 2015 • Frame

9

NVIDIA® Nsight™ Visual Studio Edition 5.0 Unreal Engine 4 – Infiltrator Demo using DirectX 12

Scrubber

Current Targets

View

API Inspector Events View

Page 10: Debugging DirectX12 with Nsight™ Visual Studio Edition · 2015. 8. 20. · NVIDIA® Nsight™ Visual Studio Edition 5.0 • Support for Windows 10, Visual Studio 2015 • Frame

10

NVIDIA® Nsight™ Visual Studio Edition 5.0 Unreal Engine 4 – Infiltrator Demo using DirectX 12

Resources View

Side By Side Display

Page 11: Debugging DirectX12 with Nsight™ Visual Studio Edition · 2015. 8. 20. · NVIDIA® Nsight™ Visual Studio Edition 5.0 • Support for Windows 10, Visual Studio 2015 • Frame

11

NVIDIA® Nsight™ Visual Studio Edition 5.0 Unreal Engine 4 – Infiltrator Demo using DirectX 12

Configurable Thread

or Queue Centric

Multi-thread/queue Sync Fences

Page 12: Debugging DirectX12 with Nsight™ Visual Studio Edition · 2015. 8. 20. · NVIDIA® Nsight™ Visual Studio Edition 5.0 • Support for Windows 10, Visual Studio 2015 • Frame

12

NVIDIA® Nsight™ Visual Studio Edition 5.0 Unreal Engine 4 – Infiltrator Demo using DirectX 12

Fence Signaled

Leads To Wait Call

Page 13: Debugging DirectX12 with Nsight™ Visual Studio Edition · 2015. 8. 20. · NVIDIA® Nsight™ Visual Studio Edition 5.0 • Support for Windows 10, Visual Studio 2015 • Frame

13

NVIDIA® Nsight™ Visual Studio Edition 5.0 Unreal Engine 4 – Infiltrator Demo using DirectX 12

API Inspector Shows all

Pipeline State Object

Settings

Page 14: Debugging DirectX12 with Nsight™ Visual Studio Edition · 2015. 8. 20. · NVIDIA® Nsight™ Visual Studio Edition 5.0 • Support for Windows 10, Visual Studio 2015 • Frame

14

NVIDIA® Nsight™ Visual Studio Edition 5.0 Unreal Engine 4 – Infiltrator Demo using DirectX 12

Visualize Descriptor

Heaps

Selection Displays Heap

Type Specific Visualizer

Hyperlinks To

Appropriate Views

Page 15: Debugging DirectX12 with Nsight™ Visual Studio Edition · 2015. 8. 20. · NVIDIA® Nsight™ Visual Studio Edition 5.0 • Support for Windows 10, Visual Studio 2015 • Frame

15

NVIDIA® Nsight™ Visual Studio Edition 5.0 Unreal Engine 4 – Infiltrator Demo using DirectX 12

List Root Parameters In

Current Root Signature

Selection Shows

Parameter Settings

Warnings For Potentially

Invalid Settings

Page 16: Debugging DirectX12 with Nsight™ Visual Studio Edition · 2015. 8. 20. · NVIDIA® Nsight™ Visual Studio Edition 5.0 • Support for Windows 10, Visual Studio 2015 • Frame

16

NVIDIA® Nsight™ Visual Studio Edition 5.0 Unreal Engine 4 – Infiltrator Demo using DirectX 12

Select Heap Of Interest

Shows All Resources In Heap,

Hyperlink To Resources View

In Place Memory Preview

Visualize Heap

Resource Overlap

Page 17: Debugging DirectX12 with Nsight™ Visual Studio Edition · 2015. 8. 20. · NVIDIA® Nsight™ Visual Studio Edition 5.0 • Support for Windows 10, Visual Studio 2015 • Frame

17

NVIDIA® Nsight™ Visual Studio Edition 5.0 Unreal Engine 4 – Infiltrator Demo using DirectX 12

Tiled Resource Viewer

Shows Mip Pyramid

Selection Displays

Tile Coordinates

Page 18: Debugging DirectX12 with Nsight™ Visual Studio Edition · 2015. 8. 20. · NVIDIA® Nsight™ Visual Studio Edition 5.0 • Support for Windows 10, Visual Studio 2015 • Frame

18

NVIDIA® Nsight™ Visual Studio Edition 5.0 Unreal Engine 4 – Infiltrator Demo using DirectX 12

Load Actual Resources

For Selection

Page 19: Debugging DirectX12 with Nsight™ Visual Studio Edition · 2015. 8. 20. · NVIDIA® Nsight™ Visual Studio Edition 5.0 • Support for Windows 10, Visual Studio 2015 • Frame

19

• 5.0 RC1 Sept. 2015, Final Oct. 2015

• 5.X RC1 Dec. 2015, Final Jan. 2016

• Frame Profiler & Frame Timings support for DirectX 12

• Dynamic Shader Editing for DirectX 12

• Geometry View improvements

• Scrubber View data flow mode

NVIDIA® Nsight™ Visual Studio Edition 5.0 Roadmap