Monthly Report for 2026-09
Note: The progress bar is an extremely wild guess, which will get more accurate over time as we gain confidence estimating and tracking our pace.
Status changes
- 0003 - Simplified Overload Resolution: Refinement → Accepted
- 0005 - Refined cbuffer Contexts: Refinement → Accepted
- 0006 - Restricted Unbounded Arrays: Refinement → Accepted
- 0009 - HLSL Namespace: Refinement → Accepted
- 0010 - Modern C++ Features: Under Consideration → Refinement
- 0013 - Named Casts: Refinement → Accepted
- 0015 - const-qualified Non-static Member Functions: Refinement → Accepted
- 0016 - Non-member Operator Overloading: Refinement → Accepted
- 0018 - User-defined Conversion Functions: Refinement → Accepted
- 0019 - Size type: Under Consideration → Refinement
Normative Updates
- [0006] Fix missing language about inferring array bound (#209)
- [Math.ConversionFunctions] Fix incorrect escaping (#208)
- [0018] Integrate approved language (#206)
- [Lex] Add Lex.Literal.Char (#199)
- [Lex] Introduce Lex.Literal.Vector (#198)
- [0003][0016] Integrate approved spec language (#201)
- [0015] Integrate approved spec lanauge (#204)
- [Math.Conversions] Add Math Conversion Functions (#179)
- [0009] Integrate approved spec language (#184)
- [0006] Integrate approved spec language (#183)
- [0005] Integrate approved spec language (#182)
Proposal Status
0001 - HLSL 202x and 202y
State: Refinement
| DXC | Clang | |
|---|---|---|
| 202x | In Progress | In Progress |
| 202y | Not Planned | In Progress |
0002 - Conforming Literals
State: Completed
| DXC | Clang | |
|---|---|---|
| C/C++ Literal Lexing | Complete | Complete |
| fixed size suffixes (C++23) | Complete | Complete |
0003 - Simplified Overload Resolution
State: Accepted
| DXC | Clang | |
|---|---|---|
| C++-aligned best match | Not Planned | Complete |
| C++-aligned candidate selection | Not Planned | Complete |
0004 - 202x Feature Removals
State: Accepted
| DXC | Clang | |
|---|---|---|
| Effects Syntax | Complete - microsoft/DirectXShaderCompiler#8480 | Complete |
Remove interface keyword | In Progress - microsoft/DirectXShaderCompiler#8481 | Complete |
Remove uniform keyword | Complete - microsoft/DirectXShaderCompiler#8482 | Complete |
Remove shared keyword | Complete - microsoft/DirectXShaderCompiler#8482 | Complete |
| Error on cbuffer initializer | In Progress - microsoft/DirectXShaderCompiler#8483 | llvm/llvm-project#200021 |
0005 - Refined cbuffer Contexts
State: Accepted
| DXC | Clang | |
|---|---|---|
Disallow namespace in cbuffer | Complete - microsoft/DirectXShaderCompiler#8484 | Complete |
0006 - Restricted Unbounded Arrays
State: Accepted
| DXC | Clang | |
|---|---|---|
| Restricting unbound array declarations | Not Started | Not Started |
0007 - Formalized Memory and Execution Model
State: Under Consideration
No implementation status available
0008 - Numeric Constants
State: Refinement
| DXC | Clang | |
|---|---|---|
| hlsl::numeric_limits | Not Started | Not Started |
0009 - HLSL Namespace
State: Accepted
| DXC | Clang | |
|---|---|---|
hlsl namespace | In Progress - microsoft/DirectXShaderCompiler#8918 | In Progress |
0010 - Modern C++ Features
State: Refinement
| DXC | Clang | |
|---|---|---|
C++11 template closing >> | Complete | Complete |
| variadic templates | Complete - microsoft/DirectXShaderCompiler#8905 | Complete |
| variable templates | Not Started - microsoft/DirectXShaderCompiler#8906 | Not Started |
auto keyword | Complete | Complete |
| decltype | In Progress - microsoft/DirectXShaderCompiler#8907 | Complete |
| Return type deduction for normal functions | Complete - microsoft/DirectXShaderCompiler#8903 | Not Started |
| constexpr | In Progress - microsoft/DirectXShaderCompiler#8909 | Complete |
| static_assert | Complete - microsoft/DirectXShaderCompiler#8910 | Complete |
0011 - Strict Initializer Lists
State: Under Consideration
| DXC | Clang | |
|---|---|---|
| C/C++ Initializers | Not Planned | Not Started |
0012 - HLSL Loop Unroll Factor
State: Refinement
| DXC | Clang | |
|---|---|---|
| [unroll] doesn’t truncate | Complete - microsoft/DirectXShaderCompiler#7219 | Complete |
0013 - Named Casts
State: Accepted
No implementation status available
0014 - groupshared Arguments
State: Refinement
| DXC | Clang | |
|---|---|---|
groupshared arguments | Complete | Complete |
0015 - const-qualified Non-static Member Functions
State: Accepted
| DXC | Clang | |
|---|---|---|
const member functions | Complete | Complete |
0016 - Non-member Operator Overloading
State: Accepted
| DXC | Clang | |
|---|---|---|
| non-member operator overloading | Not Started - microsoft/DirectXShaderCompiler#8924 | Complete |
0017 - HLSL Ternary Operator Behavior
State: Under Consideration
No implementation status available
0018 - User-defined Conversion Functions
State: Accepted
| DXC | Clang | |
|---|---|---|
| user-defined conversions | In Progress - microsoft/DirectXShaderCompiler#8925 | Complete |
0019 - Size type
State: Refinement
No implementation status available