HLSL Specifications

0033 - DXIL 1.9

StatusUnder Review
Author
Sponsor
  • Planned Version: SM 6.9

Introduction

Shader Model 6.9 introduces new features to HLSL which need representations in DXIL. This proposal provides an index of the new features:

Opacity Micromaps

Proposal 0024 - Opacity Micromaps (OMM)

This adds a new DXIL op, AllocateRayQuery2 and some new flags.

Shader Execution Reordering

Proposal 0027 - Shader Execution Reordering (SER)

This adds a new DXIL type, %dx.types.HitObject and 30 new DXIL ops.

DXIL Vectors

Proposal 0030 - DXIL Vectors

This enables native vectors, as supported by LLVM 3.7, in DXIL 1.9. A new rawBufferVectorLoad opcode is added that loads an entire vector. Elementwise intrinsics are extended to accept vector arguments.

The HLSL changes related to this feature can be found in Proposal 0026 - HLSL Long Vector Type.

16bit IsSpecialFloat

Proposal 0038 - 16bit IsSpecialFloat

The IsSpecialFloat DXIL Ops are used to implement operations, ‘isinf’, ‘isnan’, ‘isfinite’, and ‘isnormal’. Due to a bug (#7496), the IsSpecialFloat DXIL operations were never generated for 16-bit types. This bug is fixed for SM 6.9.