| Minutes of the: | 10th meeting of Ecma TC57 |
|---|---|
| held in: | Teleconference |
| on: | 21 July 2026 |
| Chairs: | Chris Bieneman (Microsoft), Farzon Lotfi (Microsoft) |
| Attendees: | Damyan Pepper (Microsoft), Keith Stockdale (Microsoft), Chris Bieneman (Microsoft), Daniel Brown (AMD), Ashley Coleman (Microsoft), Alexander Johnston (AMD), Mark Herdeg (AMD), Gregory Roth (Nvidia), Farzon Lotfi (Microsoft), Kaitlin Peng (Microsoft), Timothy Corringham (AMD), Justin Bogner (Microsoft), Finn Plummer (Microsoft), Deric Cheung (Microsoft), Joshua Batista (Microsoft) |
| Secretary: | Aki Rose Braun (Ecma International) |
1 Welcome, opening and meeting logistics
Chris Bieneman, chair of TC57, began the teleconference and welcomed attendees. Attendees were reminded of the committee’s code of conduct, Ecma’s IPR policy, and TC57’s royalty-free patent policy extension. All attendees were informed that the meeting was recorded and transcribed by Zoom for the purpose of note-taking, and directed to review the video recording and legal disclaimer if they were not familiar.
2 Approval of the minutes of previous meetings
There were no minutes to approve.
3 Review of the agenda
The meeting’s agenda pull request was proposed and approved at the start of the meeting.
- Roadmap View
- Draft Status
- Chair Elections
- Editorial Meetings
- Guide for PR reviewers
- Normative language changes (Checking for consensus only)
- New Proposals:
- New Proposal - Ternary operator behavior
- New Proposal - User-defined conversions
- Stage Advancements
- 0002 - Conforming Literals to Completed
- 0008 - Numeric Constants to Refinement
- 0009 - hlsl namespace to Refinement
- 0012 - Loop Unroll Factor to Refinement
- For 2026-08-04
- Normative Language changes [Basic.Lookup]
- Stage advancements
- Committee Policy Questions from @pow2clk
- How do we decide what gets included in the HLSL spec at this point?
- How does the committee want to handle removals? - 202x Removals
- We have a growing list of removals, this is unlikely to be complete for a while. I’d like to avoid introducing specification language for things we want to remove, so how do we decide on this and ratify it?
- Are we comfortable with sparse language for behavior changes on top of unwritten language?
- Context: const member functions
- Const correctness
4 Editors’ report
4.1 Editors meeting
A regular cadence of editors’ meetings has begun. These meetings will cover editorial strategy and will not be minuted or involve normative or technical decisions. Contact any editor for more information.
4.2 Guide for PR reviewers
There is an open pull request to provide guidance for PR reviewers. In a turn for the meta, it, too, requires reviewers and delegates are asked to set aside some time to confirm the content is clear and well aligned with the committee’s process and goals.
5 Proposals
5.1 New proposals
5.1.1 Ternary operator behavior
This proposal addresses recent behaviour changes to the values returned by a ternary operator, and is seeking consideration to explore the problem space.
It was accepted as a new proposal.
5.1.2 User-defined conversions
Until recently, the DXC implementation of HLSL allowed for user-defined conversion functions, which did not work as a user may expect. This proposal is intended to accomplish user-defined conversions that do work as a user may expect and is seeking consideration to explore the problem space.
It was accepted as a new proposal.
5.2 Stage advancements
- 0002 - Conforming Literals to Completed
- 0008 - Numeric Constants to Refinement
- 0009 - hlsl namespace to Refinement
- 0012 - Loop Unroll Factor to Refinement
These proposals were presented individually and each reached consensus to advance to the requested stages.
6 Discussions
6.1 Normative consensus PRs
6.1.1 Resources.TypedBuffer
For committee attention: removal of “non-normative” code blocks
This PR reached consensus to be merged. Gregory Roth (Nvidia) had some remaining concerns, but they were non-blocking and he has created a GitHub issue to track.
6.1.2 Lexical conventions
All three of these PRs reached consensus and were merged by the chair.
6.2 Standardising conflicts between established implementations
Due to the fact that HLSL has multiple implementations but has never had a standard, much of the work that’s being done right now is informed by user documentation, blog posts, and known behaviour of existing implementations. In the circumstance where these conflict, what is the committee policy on choosing a behaviour to implement, and is there a strategy for acknowledging the conflict?
Going forward delegates who are aware of these conflicts will attempt to make a purely informational note on the PR indicating the decision for future readers and researchers to understand why a choice was made. It will not be a requirement, but rather an attempt at taking advantage of the breadth and depth of the knowledge of the delegates.
6.3 Removals
There is an increaing amount of removals planned for 202x, what will be the plan for communicating those removals?
The committee has settled on utilising the prorposal process to introduce language within Annex B and encouraging a community group to consider if more thorough user documentation is worth pursuing.
6.4 Sparse langauge for behaviour changes
Context: const member functions
Are we comfortable with sparse language for behavior changes on top of unwritten language? The presented pull request is a representative example of future proposals and spec text—there is a fragment of an otherwise unwritten clause (“Partial Text for:”) to be integrated into that clause at a later date.
6.5 Const correctness
See hlsl-tc57/tc57#137.
This issue will be iterated on and addressed again at a future meeting.
7 Any other business
Delegates are requested to review all items from the agenda which are identified as being for 2026-08-04 before the next meeting.
8 Next meetings
The next meeting will be held on Tuesday, 04 August. Meetings are held via Zoom call every other week at 09:00 PDT (11:00 CDT, 18:00 CEST). Meeting times during seasonal time changes will be set using US Pacific (America/Los_Angeles) time.
8.1 Past and Future Agendas
Agendas are viewable in GitHub and remain available in perpetuity.
9 Conclusion
The chair wrapped up the meeting and the call concluded.