Introduction[Intro]

Introduction[Intro]

The hlsl is the GPU programming language originally provided in conjunction with the dx runtime. Over many years its use has expanded to cover every major rendering API across all major development platforms.

hlsl draws heavy inspiration originally from isoC and later from isoCPP with additions specific to graphics and parallel computation programming. The language is also influenced to a lesser degree by other popular graphics and parallel programming languages.

hlsl has two reference implementations which this specification draws heavily from. The original reference implementation fxc has been in use since dx 9. The more recent reference implementation dxc has been the primary shader compiler since dx 12.

In writing this specification bias is leaned toward the language behavior of dxc rather than the behavior of fxc, although that can vary by context.

In very rare instances this spec will be aspirational, and may diverge from both reference implementation behaviors. This will only be done in instances where there is an intent to alter implementation behavior in the future. Since this document and the implementations are living sources, one or the other may be ahead in different regards at any point in time. The authors will see to provide editorial notes in such cases to clarify the intent of the specification and the state of the implementations.

This document is a working draft, and has not been adopted by the Ecma General Assembly. As such, this document is subject to change as the specification process continues.