Preview Agility SDK 1.706.3-preview: SM 6.7, Enhanced Barriers and more

Bill Kristiansen

In addition to support for Shader Model 6.7, this preview Agility SDK contains improved support for Enhanced Barriers and some smaller features 

For more on the public release of Shader Model 6.7, please see our 1.606.3 announcement. With the addition of preview Enhanced Barriers and Relaxed Format Casting support, raw gathers will achieve their full utility by allowing casting of a wide range of formats to unsigned integer views to grant direct access to the elements using raw gathers. For more details please see here.

When using this developer preview agility SDK, set D3D12SDKVersion to D3D12_PREVIEW_SDK_VERSION. 

Go here to download 1.706.3-preview. 

Enhanced Barriers Preview 2 

The enhanced barriers API is pretty much unchanged since 1.700.10-preview. However, there have been vast improvements in debug validation and a handful of important bug fixes in the legacy barrier translation. Here are a few highlights: 

  • GPU-Based Validation (GBV) supports enhanced barriers. 
  • GBV is significantly faster when using enhanced barrier validation. More than half of the legacy GBV shader patching relates to promotion and decay, which doesn’t exist using enhanced barriers. 
  • On devices supporting enhanced barriers, GBV errors are always reported using enhanced barrier layout, even if the app does not use enhanced barriers. Legacy GBV can be forced on using ID3D12Debug6::ForceLegacyBarrierValidation. However, this prevents any validation of resources that do use enhance barrier layouts. 
  • Improved inter-op validation mixing enhanced barriers with legacy barriers. 
  • Adds ID3D12DebugCommandList3::AssertTextureLayout and ID3D12DebugCommandQueue1::AssertResourceAccess methods. 
  • Fixes bugs translating legacy ResourceBarrier APIs to enhanced barriers at the driver level, particularly in cases where multiple read-bits are set. 
  • Access bits are no longer validated as a ‘state’ of a resource. The only stateful barrier attribute is Layout. Access validation is limited to compatibility with texture layout and resource create-time constraints. 

New Minor Features 

More features have been added in this preview that continue our push for ease of use and alignment with other graphics APIs. 

Independent Front/Back Stencil Refs and Masks 

Check for support by calling CheckFeatureSupport with a pointer to a D3D12_FEATURE_DATA_D3D12_OPTIONS14. When IndependentFrontAndBackStencilRefMaskSupported is true, front and back stencils in D3D12 can be specified with both separate stencil mask and separate reference values.  

Front and back masks can be set independently with D3D12_DEPTH_STENCILOP_DESC1 in D3D12_DEPTH_STENCIL_DESC2, which can be used with CreatePipelineState. CD3DX12_DEPTH_STENCIL_DESC2 along with CD3DX12_PIPELINE_STATE_STREAM3 are available in the D3DX12 helpers to set up the pipeline stream desc. 

Front and back reference values can be set independently with OMSetFrontAndBackStencilRef in ID3D12GraphicsCommandList8. 

Triangle fan  

Check for support by calling CheckFeatureSupport with a pointer to a D3D12_FEATURE_DATA_D3D12_OPTIONS15. When TriangleFanSupported is true, D3D_PRIMITIVE_TOPOLOGY_TRIANGLEFAN is valid to specify as the primitive topology. These behave in the expected way, as they did in D3D9. 

Driver support 

Once you’ve downloaded 1.706.3-preview, you can find drivers as follows: 


AMD Radeon Software Adrenalin Driver Version on all currently supported AMD Radeon GPUs, including the latest RDNA GPU line, available now:  


Developers interested in working with the latest Public and Preview Agility SDKs on NVIDIA hardware should reach out to their NVIDIA representative for more details. 


A preview driver for Intel® Arc™ Graphics Family (DG2) cards is available at:  

Support for additional Intel® graphic cards will be available in future driver updates.


Discussion is closed.

Feedback usabilla icon