Monthly Report for 2026-07
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.
New proposals during the month
- 0014 -
groupsharedArguments (Under Consideration) — Chris Bieneman, Sarah Spall - 0015 - const-qualified Non-static Member Functions (Under Consideration) — Chris Bieneman
- 0016 - Non-member Operator Overloading (Under Consideration) — Chris Bieneman
- 0017 - HLSL Ternary Operator Behavior (Under Consideration) — Joshua Batista
- 0018 - User-defined Conversion Functions (Under Consideration) — Chris Bieneman
Status changes
- 0002 - Conforming Literals: Accepted → Completed
- 0008 - Numeric Constants: Under Consideration → Refinement
- 0009 - HLSL Namespace: Under Consideration → Refinement
- 0012 - HLSL Loop Unroll Factor: Under Consideration → Refinement
Normative Updates
- [Lex.Operators] Add lexing rules for operators (#135)
- [Lex.Keywords] Add Keywords subclause (#133)
- [Lex.Ident] Add Identifiers subclause (#119)
- [Resources] Add Library introduction and first part of resources (#65)
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: Refinement
| DXC | Clang | |
|---|---|---|
| C++-aligned best match | Not Planned | Complete |
| C++-aligned candidate selection | Not Planned | Complete |
0004 - 202x Feature Removals
State: Refinement
| DXC | Clang | |
|---|---|---|
| Effects Syntax | microsoft/DirectXShaderCompiler#8480 | Completed |
Remove interface keyword | microsoft/DirectXShaderCompiler#8481 | Completed |
Remove uniform keyword | microsoft/DirectXShaderCompiler#8482 | Completed |
| Error on cbuffer initializer | microsoft/DirectXShaderCompiler#8483 | llvm/llvm-project#200021 |
0005 - Refined cbuffer Contexts
State: Refinement
| DXC | Clang | |
|---|---|---|
Disallow namespace in cbuffer | microsoft/DirectXShaderCompiler#8484 | Completed |
0006 - Restricted Unbounded Arrays
State: Refinement
| 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: Refinement
| DXC | Clang | |
|---|---|---|
hlsl namespace | In Progress (prototype implementation) | In Progress |
0010 - Modern C++ Features
State: Under Consideration
| DXC | Clang | |
|---|---|---|
auto keyword | Complete | Complete |
C++11 template closing >> | Complete | Complete |
| decltype | Not Started | Complete |
| constexpr | Prototype | Complete |
| scoped enum | Partial | Complete |
| static_assert | Prototype | Complete |
| nested namespace | Not Started | Complete |
| variadic templates | Not Started | 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 | Not Started | Complete |
0014 - groupshared Arguments
State: Under Consideration
| DXC | Clang | |
|---|---|---|
groupshared arguments | Complete | Complete |
0015 - const-qualified Non-static Member Functions
State: Under Consideration
| DXC | Clang | |
|---|---|---|
const member functions | Prototype implementation | Complete |
0016 - Non-member Operator Overloading
State: Under Consideration
| DXC | Clang | |
|---|---|---|
const member functions | Prototype implementation | Complete |
0017 - HLSL Ternary Operator Behavior
State: Under Consideration
No implementation status available
0018 - User-defined Conversion Functions
State: Under Consideration
| DXC | Clang | |
|---|---|---|
| user-defined conversions | Prototype implementation | Complete |