The February 2016 release of the Xbox One XDK from Microsoft contains the following new features, tools, and documentation. For features that shipped in a previous release of the Xbox One XDK, see the What’s New document for that release, available from Features Introduced in Previous Releases.
Sections:
The most recent release notes for and updates to the Xbox One XDK can always be found on Xbox One XDK Software Downloads on the Xbox Game Developer site. For access, log in with your ID and password on https://developer.microsoft.com/en-us/games/xbox/partner/index; at the top of the page, point to Development and click Downloads.
You can check with your account manager for the latest information about upcoming Xbox One XDK releases.
The February 2016 Xbox One XDK contains the latest tools and libraries for Xbox One.
The Xbox One Developer Roadmap on XGD has been updated with the latest projections of developer-facing feature work. The roadmap is intended to help developers plan their implementation schedules around upcoming feature and tooling efforts for the Xbox One console and related services.
Local Crash Dump Support
Starting with the February 2016 Xbox One XDK, you can collect crash dumps on your local development kit instead of sending them to Watson. These crash dumps are written to your title’s scratch drive. You can configure your title to collect the following types of local crash dumps using Developer Home on the Console (Dev Home), Xbox One Manager, or the Configuration (xbconfig.exe) tool:
Direct3D 12.x improvements
The following improvements and optimizations have been made to Direct3D 12.x in the Xbox One XDK:
Shader compiler improvements
Several HLSL bugs around root signatures have been fixed.
XHIT improvements
The following improvements have been made to the Xbox Hang Investigation Tool (XHIT):
GPU instruction debugging (Preview)
The Debug tab in PIX now displays GPU instruction debugging. The Shader Debugger view now has a Debug Mode setting that toggles between HLSL/DXBC and GPU instructions when debugging shaders. Because debugging GPU instructions requires you to debug multiple threads in one or more waves, the new Invocations view allows you to select a specific thread in a wave. The Shader Debugger view supports both the Autos and Watch views. GPU instruction debugging is currently available for pixel shaders, vertex shaders, and compute shaders.
Note This is a new feature in the Xbox One XDK. Please submit feedback for this feature by clicking the Feedback button on the PIX title bar.
Dynamic Indexing for Shader Model 5.1 (Preview)
PIX now supports dynamic indexing for Shader Model 5.1. The relevant descriptor tables are displayed in the Pipeline view. When analysis is running, the indexed resources are displayed as well. Dynamic indexing is disabled by default—to use this feature, enable it in the Settings menu.
Note This is a new feature in the Xbox One XDK. Please submit feedback for this feature by clicking the Feedback button on the PIX title bar.
Improved capture performance
Data capture from the title has been optimized to significantly reduce the time needed to perform GPU captures.
Improved query performance
Several internal workflows for querying information during GPU analysis have been optimized. Response times for common operations such as timing retrieval have been reduced by a factor of 10.
Shader PDB collection
When you capture data or open a file, PIX now prompts you to locate shader PDBs if necessary. If PDBs are available, PIX will embed them in the capture.
Important Although you can use PIX without shader PDBs, some features will be limited or unavailable. This is because shader PDBs are essential for several key operations in PIX such as shader debugging and shader edit and continue.
New wireframe and culled pixels visualization
The wireframe visualization for render targets has been replaced by an improved version. The new visualization shows the wireframe for the rendered geometry, as well as the pixels that were rendered and culled. Rendered pixels are displayed in green; culled pixels are displayed in red.
New File Info view with file overview data and warnings
The new File Info view for GPU captures provides an at-a-glance overview of the file. This view shows common capture properties and a thumbnail of the final render target. It also displays a list of high-level warnings about issues that could affect the title’s performance. The thumbnail feature is currently available only for Direct3D 12.x captures. Capture properties and warnings are available for both D3D11.x and D3D12.x captures.
Resource history for shaders
PIX now provides resource history for shaders, which allows you to see exactly where a given shader has been used. The resource history view is accessible from the Pipeline view. To inspect resource history for a shader, select the desired shader and then click the Show Resource History button.
Multiple Shader Instruction Trace improvements
The Shader Instruction Trace view now displays stalls. Instructions in the view are now color-coded for easier reference. In addition, the table view has been enhanced to show the corresponding HLSL for instructions.
Configurable timeline lanes
Timeline lanes are now easier to read, movable, and collapsible. This allows you to configure the timeline to meet your specific needs. PIX saves your timeline configuration and applies it to all captures of the same type.
D3D12.x barrier details
ResourceBarrier details in the Event Details view now contain an Actions field that shows the operations the driver performs in response to resource barrier transitions.
ESRAM map improvements
The tooltip for resources in the ESRAM Map pane of the Timeline view now includes resource names. Additionally, you can now open a pinned view of a resource by right-clicking it in the ESRAM map (similar to functionality in the Pipeline view).
Default analysis console
You can now specify a default analysis development kit from the Select Development Kit option. You can specify different default kits for capture and analysis.
Non-blocking start/stop of GPU analysis
Starting and stopping analysis are no longer blocking operations. This allows you to continue to inspect static data or customize PIX while analysis is starting or stopping.
New frame error counters
The following counters have been added to the live Console view to highlight various high-level display issues:
Callgraph captures now include a timeline
A new timeline visualization has been added for callgraph captures. This visualization makes it easy for you to see a breakdown of the time spent in each function of the callgraph for all threads in the capture. The timeline also provides context switch information (including callstacks).
Timing captures now have a thread-centric view
Timing captures now include an option to view the profiling data based on threads rather than based on cores. The thread-centric view displays one swim lane for each thread.
New readying thread visualization in timing captures
Timing captures now include a visualization that makes it easier for you to determine when and why a particular thread became ready to be scheduled. A line is now drawn from the readying thread to the thread that is available for scheduling; this line shows the point in time and the event that corresponds to the callstack of the readying thread.
New thread lifetime visualization
The timelines in timing and callgraph captures now make it easier for you to see when a thread is running, when it is waiting, when it switches cores, and so on. An additional line that shows which thread was running at any point in time is drawn above the swim lane for each core.
Open Source and Open In VS commands are now available from additional places in the PIX UI
The ability to open the source file for a particular function (either in Microsoft Visual Studio or in another editor) is now available in several more places in the PIX UI. The Open Source and Open in VS commands are now available whenever the Callstack view is shown in timing captures, memory captures, and file I/O captures, as well as on the Summary tab for those captures.