DirectX Developer Blog

DirectX 12 Lights Up NVIDIA’s Maxwell Launch

Our mission in the DirectX team is to provide the best graphics API in the world and have it work on as many graphics cards as possible.  To do this, we work very closely with game developers and graphics hardware vendors. So,

DirectX 12 – High Performance and High Power Savings

You probably know that DirectX 12 is designed for performance.
What you may not know is that the same design decisions that make DirectX 12 so performant also make it incredibly power efficient.  This allows you to play all of your favorite games on portable devices without having an uncomfortably hot device on your lap or as much of a need to carry around a cumbersome power adapter.

DirectX 12 Developer Videos

DirectX 12 developer session recordings now available!
Missed us at GDC and BUILD? Check out the DirectX 12 developer session recordings below to learn more about the API or just watch some cool demos!
 
DirectX: Evolving Microsoft’s Graphics Platform
In this session, Anuj Gosalia,

DirectX 12

What’s the big deal?
DirectX 12 introduces the next version of Direct3D, the graphics API at the heart of DirectX.  Direct3D is one of the most critical pieces of a game or game engine, and we’ve redesigned it to be faster and more efficient than ever before. 

DirectX

DirectX 12 and Fortnite

On Monday, Epic Games announced that DirectX 12 support is coming to Fortnite. And today, the wait is over: anyone updating to the v11.20 patch has the option to try out Fortnite’s beta DX12 path!
What does this all mean? Let’s see if we can help!

CPU- and GPU-boundedness

We wrote this article to explain two key terms: CPU-bound and GPU-bound. There’s some misinformation about this terms, and we’re hoping this article can help fix this problem.
Even though applications run on the CPU, many modern-day applications require a lot of GPU support.

Coming to DirectX 12: D3D9On12 and D3D11On12 Resource Interop APIs

D3D is introducing D3D9on12 with resource interop APIs and adding similar resource interop APIs to D3D11on12.  With this new support, callers can now retrieve the underlying D3D12 resource from the D3D11 or D3D9 resource object even when the resource was created with D3D11 or D3D9 API.   

Coming to DirectX 12: More control over memory allocation

In the next update to Windows, D3D12 will be adding two new flags to the D3D12_HEAP_FLAG enumeration. These new flags are “impermanent” properties, which don’t affect the resulting memory itself, but rather the way in which it’s allocated. This gives app developers more control and flexibility.

Coming to DirectX 12— Mesh Shaders and Amplification Shaders: Reinventing the Geometry Pipeline  

D3D12 is adding two new shader stages: the Mesh Shader and the Amplification Shader. These additions will streamline the rendering pipeline, while simultaneously boosting flexibility and efficiency.  In this new and improved pre-rasterization pipeline, Mesh and Amplification Shaders will optionally replace the section of the pipeline consisting of the Input Assembler as well as Vertex,

DirectX Raytracing (DXR) Tier 1.1

An overview of features in DXR Tier 1.1.

Coming to DirectX 12— Sampler Feedback: some useful once-hidden data, unlocked

Why Feedback: A Streaming Scenario
Suppose you are shading a complicated 3D scene. The camera moves swiftly throughout the scene, causing some objects to be moved into different levels of detail. Since you need to aggressively optimize for memory, you bind resources to cope with the demand for different LODs.

Dev Preview of New DirectX 12 Features

In this blog post, we will preview a suite of new DirectX 12 features, including DirectX Raytracing tier 1.1, Mesh Shader, and Sampler Feedback. All these features are currently available in Windows 10 Insider Preview Builds (20H1).

A Look Inside D3D12 Resource State Barriers

Many D3D12 developers have become accustomed to managing resource state transitions and read/write hazards themselves using the ResourceBarrier API. Prior to D3D12, such details were handled internally by the driver.  However, D3D12 command lists cannot provide the same deterministic state tracking as D3D10 and D3D11 device contexts. 

DRED v1.2 supports PIX marker and event strings in Auto-Breadcrumbs

In Windows 10 1903, DRED 1.1 provided D3D12 developers with the ability to diagnose device removed events using GPU page fault data and automatic breadcrumbs. As a result, TDR debugging pain has been greatly reduced.  Hooray!  Unfortunately, developers still struggle to pinpoint which specific GPU workloads triggered the error.